J'ai cette partie de la fonction qui me donne le nom des mois en anglais. Comment puis-je les traduire dans ma langue (le serbe)?
$month_name = date('F', mktime(0, 0, 0, $i));
Vous devriez utiliser setlocale()
:
setlocale(LC_TIME, 'fr_FR');
$month_name = date('F', mktime(0, 0, 0, $i));
Dans ce cas, il serait réglé en français. Pour votre cas, cela devrait être l’un des suivants:
sr_BA
- Serbe (Monténégro) sr_CS
- Serbe (Serbie)sr_ME
- Serbe (Serbie et Monténégro)Vous devez utiliser setlocale()
et strftime()
:
setlocale(LC_TIME, 'sr_CS');
$month_name = strftime('%B', mktime(0, 0, 0, $i));
Il est judicieux de passer l'encodage lors de la définition des paramètres régionaux:
<?php
date_default_timezone_set('Europe/Belgrade');
setlocale(LC_TIME, array('sr_CS.UTF-8', 'sr.UTF-8'));
Voici un exemple avec IntlDateFormatter
$format = new IntlDateFormatter('sr_CS', IntlDateFormatter::NONE,
IntlDateFormatter::NONE, NULL, NULL, "MMM");
$monthName = datefmt_format($format, mktime(0, 0, 0, $i));