我有一个Cakephp 2.9多语言应用程序,并使用.po文件来翻译__('example')之类的字符串。到目前为止还算不错,但是我已经尝试了一段时间,以翻译以下日期:
2018年8月31日,星期五,16:03
收件人:
Vie,Ago 31 2018,16:03
这是我的代码:
setlocale("LC_ALL", "es_ES.UTF-8");
App::uses('CakeTime', 'Utility');
echo CakeTime::nice();
我已经从本地化存储库(https://github.com/cakephp/localized)下载了西班牙语文件,并将它们放入app \ Locale \ spa \ LC_TIME中,但日期仍以英文显示。
有人可以帮助我吗?也许这是错误的方法?
答案 0 :(得分:0)
好吧,我发布问题后不久就意识到我尝试过的所有方法都可以,直接使用caketime或strftime,问题出在setlocale上:
更改了此内容
setlocale("LC_ALL", "es_ES.UTF-8");
对此:
setlocale(LC_TIME, 'es_ES.utf8','esp');
所以我的两个结果是:
echo ucfirst(strftime('%A '.$number_of_the_day.' %B %Y'));
//Viernes 31 agosto 2018
echo __('Today is ').CakeTime::nice();
//Hoy es vie, ago 31st 2018, 16:29
它的工作原理很吸引人,但是我非常喜欢一个表,其中解释了所有这些语言代码,因此我们可以像我一样对每个语法使用正确的语法而不必猜测。