【发布时间】:2012-12-08 08:02:03
【问题描述】:
我可以使用我的 .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']);
【问题讨论】:
-
你不能解析管理员输入的格式字符串并在每个字母周围添加
__()函数吗? -
$currentLanguage['locale']的值是多少?
标签: cakephp date translate cakephp-2.3