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获取控制器中的当前区域设置.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...