我正在开发一个 Zend Framework 2 应用程序,但翻译有问题。实际上在视图脚本中可以使用视图助手Translate
。由于我在 Poedit ( ) 中将“翻译”定义为源关键字,[Poedit menu] -> Catalogue -> Properties... -> Source keywords
因此该工具会识别字符串并将其添加到翻译列表中。
但是在其他地方也有一些字符串,我不能使用/a 视图助手,例如在表单类或导航中。这应该如何管理?
一些想法:
创建一个包含此类字符串列表的文件。示例:我们创建文件
navigation.i18n
等forms.i18n
(或仅一个文件),在我们添加到列表的通用 Poedit 语法中定义我们需要的所有字符串Source keywords
(例如,使用translate
:translate('my label foo'), translate('my label bar')
等),最后添加i18n
为源路径([Poedit menu] -> Catalogue -> Properties... -> Source paths
)。我们还可以使用已经定义为“源路径”的扩展。一个类,它提供一个(静态)方法
translate(...)
而没有任何功能。示例:而不是'label' => 'foo'
我们使用'label' => \MyNamespace\Util\Translator::translate('foo')
我认为,第二种方法更干净,我更喜欢。我不需要写两次我的钥匙串并记住已经翻译/更新的内容。但也许有更好的想法?