【发布时间】:2015-07-20 12:21:06
【问题描述】:
我经常遇到需要针对 Orchard CMS 中的特定租户和主题更改来自各个模块或核心功能的特定字符串的措辞的情况。
例如,我可能有一个客户更喜欢让购物车结帐按钮说“立即结帐”,而不是“去结帐”,后者是包含在购物模块视图中的字符串。
我可以简单地覆盖主题中的 razor 视图并更改字符串,但是视图通常非常复杂,并且仅更改一个字符串就覆盖视图并不合适。
我尝试过的另一种方法是在我的主题中定义一个 po 翻译文件来覆盖模块中的字符串。这是有效的,因为模块中的字符串是使用 T() 语法定义的。但是,我注意到,一旦我为主题中的字符串定义了覆盖,此覆盖就会影响所有租户,而不仅仅是启用此主题的一个租户。我倾向于认为模块/主题中的翻译应该被未启用的租户忽略。
所以我想知道这种情况下最好的方法是什么?
如果租户忽略未启用的主题中的 po 文件,则本地化/po 文件方法会很好,但话又说回来,如果核心中有一个模块或功能允许您指定字符串覆盖,那就太好了通过管理界面。我想这更像是一个“改写”任务而不是“翻译”任务。
【问题讨论】:
标签: orchardcms