我有一个cakephp 2.9多语言应用程序和使用.po文件来翻译像__('example')这样的字符串。到目前为止一直很好,但我已经尝试了一段时间来翻译这个日期:
星期五,2018年8月31日,16:03
至:
星期五,2018年8月31日,16:03
这是我的代码:
setlocale("LC_ALL", "es_ES.UTF-8");
App::uses('CakeTime', 'Utility');
echo CakeTime::nice();
我已经从本地化的repo(https://github.com/cakephp/localized)下载了西班牙语文件,并将它们放入app \ Locale \ spa \ LC_TIME中,并且日期仍以英语显示。
有人能帮我吗?也许这是错误的方法?
好吧,在我发布问题以实现我尝试过的所有方法都没问题之后没有花很长时间,直接使用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
它就像一个魅力,但我非常喜欢一个表格,其中所有这些语言代码都被解释,所以我们可以使用正确的语法,而不是猜测,就像我做的那样。