Я могу прекрасно перевести отдельный месяц или день, используя мои .po
файлы:
echo __('December'); //becomes diciembre
echo __('Thursday'); //becomes jueves
//...etc
Но когда я использую формат даты следующим образом:
echo __(date("j F, Y")); //becomes 20 December 2012
Это не перевод - я предполагаю, потому что у меня есть переводы для каждого месяца и дня в отдельных строках.
Обычно я бы просто сделал что-то вроде этого:
__(date('j')) . ' ' . __(date('F')) . ' ' . __(date('Y'));
Но в CMS администратору разрешено изменять дату в любом формате. Итак, это может быть "j F, Y", или "Y-m-d", или... что-то еще.
Я подумал, может быть, я мог бы сделать помощник или что-то в этом роде, которое разбивает дату на части и возвращает каждую часть в виде __()
, но это кажется излишним. Есть простой способ сделать это?
Я устанавливаю свою локаль в AppController:
setlocale(LC_ALL, $currentLanguage['locale']);
Configure::write('Config.language', $currentLanguage['code2']);
__()
вокруг каждой буквы? - person nIcO   schedule 21.12.2012$currentLanguage['locale']
? - person mark   schedule 21.12.2012