【问题标题】:Update Locale with i18n shell使用 i18n shell 更新语言环境
【发布时间】:2019-05-23 10:02:06
【问题描述】:

阅读docs 我能够提取我的应用程序的所有字符串:

bin/cake i18n extract

Locale/default.pot 文件现在包含要翻译的消息。 一段时间后我需要再做一次,因为我会添加一些其他表单。

我没有找到一种方法来更新已经存在的 po(t) 文件添加新字符串,删除不再使用的,但保留现有的。

在大型应用程序中,手动“合并”翻译很痛苦。

是否有与extract 命令一起使用的选项来执行此操作?

【问题讨论】:

    标签: cakephp internationalization


    【解决方案1】:

    没有这样的命令,不,i18n shell 纯粹是为了将消息提取到翻译模板文件中,没有合并/更新。

    必须使用外部工具来完成合并/更新,例如 Poedit,它为 gettext tools 提供了 GUI。使用这样的工具从您的.pot 模板文件中创建.po(和.mo)文件,然后在您的应用程序代码中进行更改后,通过i18n shell 重新提取.pot 模板文件,并使用外部工具的merging/updating functionality 用于从新的.pot 模板文件更新您现有的.po 文件。

    gettext 的合并功能会给您带来不错的结果,请注意合并后的 fuzzyobsolete 条目,它们可能需要一些额外的手动工作,但大多数情况下通常会自动运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-18
      • 1970-01-01
      • 2018-01-03
      • 1970-01-01
      • 2015-08-03
      • 2019-01-13
      相关资源
      最近更新 更多