【发布时间】:2016-04-18 08:57:19
【问题描述】:
在我的页面上,我有一个日期变量。我希望按语言环境(在我的例子中是立陶宛语)翻译它的缩写月份名称。
我已经在 langed/lang/lt_LT.yml 中设置了翻译:
Month:
Jan: 'Sau'
Feb: 'Vas'
Mar: 'Kov'
Apr: 'Bal'
...
当我放入时在我的模板中
$Date.Format(M d)
无论语言环境如何,它总是用英文给出月份和日期(例如“Apr 18”,在这种情况下我需要“Bal 18”)。
我尝试将 Month 的变量放入 .ss 模板的翻译引号中:
<%t Month.$Date.Format('M') %>
但它不起作用。它抛出一个错误:
“[User Error] Uncaught SSTemplateParseException: Parse error in template on line 16. Error was: Malformed opening block tag t. 也许你尝试过使用操作符?”
谁能给我解释一下我做错了什么?
【问题讨论】:
-
您在_config 中设置了什么?这有帮助吗?
i18n::set_locale('lt_LT');在模板中$Date.FormatI18N('%d b%') -
哦,我忘了说...该页面是可翻译的。我需要它的英语和立陶宛语版本以及它们各自的翻译。
-
您使用什么模块进行翻译? @munomono 为您提供了获取日期国际格式的正确方法。
-
我使用了 localdate 模块
-
@PavelŠliachtovič 如果按照我的建议不起作用,请检查您的服务器上的语言环境
locale -a并在需要时安装。
标签: php translation silverstripe