gpt4 book ai didi

cakephp - 在 CakePHP 中翻译月-日组合

转载 作者:行者123 更新时间:2023-12-02 22:19:23 25 4
gpt4 key购买 nike

我可以使用我的 .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']);

最佳答案

原来 CakePHP 有一个 TimeHelper i18nFormat function :

$time = time();
$timestring = $this->Time->format('Y-m-d H:i:s', $time);
$this->Time->i18nFormat($timestring, "%A %e %B %Y");

创建一个文件“LC_TIME”(无扩展名)并将其放入您的 /Locale/ara/ 文件夹(或将“ara”替换为您想要的任何 3 字符语言代码)

复制CakePHP's time_test LC_TIME file的内容并将其放入您的(当然然后保存)。

然后将其内容更改为您想要的任何语言(我相信该示例是西类牙语)。

就是这样!

注意事项:

有关 LC_TIME 文件的更多详细信息:http://pic.dhe.ibm.com/infocenter/aix/v6r1/index.jsp?topic=%2Fcom.ibm.aix.files%2Fdoc%2Faixfiles%2FLC_TIME.htm

关于cakephp - 在 CakePHP 中翻译月-日组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13978297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com