Ik heb onderstaande script.
Met dit script geeft in de laatste datum weer als update op mijn site.
Ik draai mijn site in het Engels, Nederlands en Duits.

<?php
$last_sat = strtotime("last Saturday");

$resultdate = date('d-F-Y',$last_sat);



echo ($resultdate);
?>

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?
Dat zou moeten kunnen met [php]setlocale[/php]. Daarmee kan je de regionale settings bepalen voor het script. Dus de namen van maanden, maar ook bijvoorbeeld welk decimale scheidingsteken etc.
Maar dan moet je wel [php]strftime()[/php] gebruiken.
Beste,

Dit is de code ervoor:
<?php setlocale(LC_ALL, 'nl_NL'); ?>


Als je overal een config file included, kan je deze in je config plaatsen.
Volgens mij heeft strftime() niet de functie last saturday.
Deze is juist voor mij handig. Ik wil dat de datum elke zaterdag wijzigt.

mijn code is nu zo:
<?php
$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.
<?php
str_replace(array('June', 'July', '...'), array('Juni', 'Juli', '...'), $resultdate);
?>
Bedankt voor jullie (snelle) antwoorden:

Dit is hem geworden en hij werkt precies zoals ik het wil.

<?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);

?>

Dit topic kan dicht.
Topic dicht doen we niet aan, gewoon lekker open laten.

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?

Reageren