1

有没有一种方法可以轻松地覆盖t()整个 Concrete5 设置页面/仪表板中函数生成的单词或短语的翻译,而无需更改核心文件?

例如,如果多个核心文件使用此代码:

<?= t('Empty Auto-Nav Block.') ?>

我可以以某种方式覆盖它并指定我自己的翻译而不产生另一个完整的语言文件吗?

4

1 回答 1

1

这似乎并不容易。

Concrete 5.7 使用Zend Translate,SO 上的其他人询问了有关为此创建覆盖的问题(请参阅覆盖 gettext .mo 文件)。

如果您只需要覆盖默认美国语言中的几个单词,您可以:

  1. 使用诸如POEditor.com之类的工具创建自定义 MO 文件,仅包括您要覆盖的单词/术语
  2. .mo将文件保存到/application/languages/[LANGUAGE-CODE]/LC_MESSAGES/
  3. 通过C5 Dashboard > Settings > Basics > Languages启用您的新语言文件

但是,如果您需要覆盖其他语言的单词,您可能必须创建自己的自定义 PO/MO 文件,其中包含整个字典。您可能可以从Github 上的官方 c5 翻译存储库中导入一个现有的。

这似乎是 Zend Translate 库的主要限制。

于 2016-01-29T02:30:53.333 回答