maanden vertalen naar Nederlands
Met dit script geeft in de laatste datum weer als update op mijn site.
Ik draai mijn site in het Engels, Nederlands en Duits.
Code (php)
Alleen de F komt nu met een engelse waarde terug. Ik wil deze graag automatisch vertalen naar de juiste maand in de juiste taal.
Voorbeeld: June moet juni worden voor het Nederlands.
Kunnen jullie mij hiermee op weg helpen?
setlocale. Daarmee kan je de regionale settings bepalen voor het script. Dus de namen van maanden, maar ook bijvoorbeeld welk decimale scheidingsteken etc.
Dat zou moeten kunnen met strftime() gebruiken.
Maar dan moet je wel Dit is de code ervoor:
Als je overal een config file included, kan je deze in je config plaatsen.
Deze is juist voor mij handig. Ik wil dat de datum elke zaterdag wijzigt.
mijn code is nu zo:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$last_sat = strtotime("last Saturday");
$resultdate = date('d-F-Y',$last_sat);
//echo ($resultdate);
$changemonth = str_replace("June", "juni", $resultdate);
echo ($changemonth);
?>
$last_sat = strtotime("last Saturday");
$resultdate = date('d-F-Y',$last_sat);
//echo ($resultdate);
$changemonth = str_replace("June", "juni", $resultdate);
echo ($changemonth);
?>
maar op deze manier kan ik alleen maar 1 woord vervangen terwijl de maanden wijzigen. Ik moet iets doen met variabele maar ik weet niet hoe dit aan te pakken.
graag hulp.
Code (php)
1
2
3
2
3
<?php
str_replace(array('June', 'July', '...'), array('Juni', 'Juli', '...'), $resultdate);
?>
str_replace(array('June', 'July', '...'), array('Juni', 'Juli', '...'), $resultdate);
?>
Dit is hem geworden en hij werkt precies zoals ik het wil.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$last_update = strtotime("last Saturday");
$ResultUpdate = date('d F Y',$last_update);
$ChangeLanguage = str_replace(array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', '...'), array('januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december', '...'), $ResultUpdate);
echo ($ChangeLanguage);
?>
$last_update = strtotime("last Saturday");
$ResultUpdate = date('d F Y',$last_update);
$ChangeLanguage = str_replace(array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', '...'), array('januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december', '...'), $ResultUpdate);
echo ($ChangeLanguage);
?>
Dit topic kan dicht.
En die ... was alleen om aan te geven dat je die array natuurlijk zo groot mogelijk kunt maken, die moet je niet zelf gebruiken.
Tevens was mijn oplossing niet de beste oplossing, hierboven worden veel betere oplossingen gegeven.
De date functie werkt niet goed in combinatie met locales op windows systemen dus dan kun je beter strftime gebruiken.
Ger van Steenderen op 01/07/2012 15:22:16:
De date functie werkt niet goed in combinatie met locales op windows systemen dus dan kun je beter strftime gebruiken.
Dat heeft er toch niks mee te maken? Als je niet via Windows werkt is er toch geen probleem?
Dan ga je ervan uit dat je zelf altijd de keuze hebt. Voorkomen is beter dan genezen toch?