SilverStripe如何在模板中翻译日期功能?

时间:2015-09-08 21:27:16

标签: date multilingual silverstripe fluent

我正在为SilverStripe 3.1使用Fluent模块多语言支持,并且没有将Date函数用于模板的文档。

文件fluent.yml具有以下配置:

 ---
 Name: myfluentconfig
 After: '#fluentconfig'
 ---
 Fluent:
   default_locale: fr_CA
   locales:
     - en_CA
     - fr_CA
   aliases:
     en_CA: en
     fr_CA: fr
 ---
 Name: myfluenti18nconfig
 After: '#fluenti18nconfig'
 ---
 i18n:
   default_locale: fr_CA

我还删除了mysite / _config.php:

 // i18n::set_locale('fr_FR');

这在我的网站上很棒。但是如何以正确的语言显示日期?如果我的模板中的Date变量是$ date,我可以添加$ date.month来显示整月。但实际上,它只出现在fr_CA网站上的英文版中。那么,是否有可能以其他方式显示法国日期?

1 个答案:

答案 0 :(得分:1)

日期和本地化,是每个多语言开发人员的皮塔饼。 FormatI18N应使用strftime()返回格式化字符串,具体取决于当前的语言环境。如果您尚未在服务器上安装语言环境(fr_FR),它将无法运行。或者如果您使用例如fr_FR @ utf-8 ...我必须在 mysite / _config.php 的网站上包含这个setlocale才能让它正常工作:

setlocale(LC_TIME, "de_AT.utf8");

稍后在Page_controller :: init()中覆盖它。 (这是一个可翻译的网站,流利的为您自动完成)

请检查您机器上安装的区域设置。