Zend_Translate:不是字符串,而是基于ID的翻译 - 或者如何处理原始字符串中的更改

时间:2012-05-10 14:46:14

标签: php zend-framework translation zend-translate

据我所知,Zend_Translate使用字符串作为翻译文件的键。这意味着如果我更改原始字符串(例如修复一些拼写错误),此字符串的所有翻译都将丢失。

有没有办法自动更新这些翻译?我的想法是在原始字符串发生变化时将这些翻译标记为“TODO”。

为实现这一目标,我想我必须使用基于ID的翻译系统而不是基于字符串的翻译系统。每个字符串都有一个唯一的ID。

我知道基于字符串的翻译系统的优点是相同的字符串不必翻译两次。在我的应用程序中这是一个非常罕见的用例,因此两次翻译相等的字符串绝对没问题。

我想过自己实现这个,但我不知道如何以良好的表现来实现它。

对此有何建议? Zend_Translate可以处理原始字符串中的更改吗?是否有其他翻译系统可以处理这个用例?

1 个答案:

答案 0 :(得分:0)

无法自动处理。至少不容易。 (可以通过代码分析,代码生成等来完成)。我们使用“存根”进行翻译 - $this->translate('please-register') // Please register.工作正常,但为开发人员添加了更多工作 - 他们甚至需要为母语创建翻译文件。 :)