我正在为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网站上的英文版中。那么,是否有可能以其他方式显示法国日期?
答案 0 :(得分:1)
日期和本地化,是每个多语言开发人员的皮塔饼。 FormatI18N应使用strftime()返回格式化字符串,具体取决于当前的语言环境。如果您尚未在服务器上安装语言环境(fr_FR),它将无法运行。或者如果您使用例如fr_FR @ utf-8 ...我必须在 mysite / _config.php 的网站上包含这个setlocale才能让它正常工作:
setlocale(LC_TIME, "de_AT.utf8");
稍后在Page_controller :: init()中覆盖它。 (这是一个可翻译的网站,流利的为您自动完成)
请检查您机器上安装的区域设置。