微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Silverstripe 3.3:如何在模板中翻译日期月份变量?

在我的页面上,我有一个日期变量.我想用locale(在我的例子中是立陶宛语)翻译缩短的月份名称.

我在langed / lang / lt_LT.yml中设置了翻译:

Month:
    Jan: 'Sau'
    Feb: 'Vas'
    Mar: 'Kov'
    Apr: 'Bal'
    ...

当我放入时,在我的模板中

$Date.Format(M d)

无论现场如何,它都会以英语显示月份和日期(例如“4月18日”,在这种情况下我需要“Bal 18”).

我试图将Month的变量放入.ss模板的翻译引号:

<%t Month.$Date.Format('M') %>

但它不起作用.它抛出一个错误

“[用户错误]未捕获SstemplateParseException:在第16行的模板中解析错误.错误是:格式错误的开放块标记t.也许您曾尝试使用运算符?”

任何人都可以向我解释我是怎么做错的?

解决方法:

您可以使用$Date.FormatI18N(‘%b’),它使用strftime(),而这又需要您在服务器上安装的语言环境进行翻译.如果不是,您只需获得英语(或认)语言环境.

有关扩展的信息,请参阅this gist获取控制器中的当前区域设置.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐