我已经在我工作的许多项目中成功使用了GNU Gettext,但在我最近的工作中,我突然发现自己被迫使用了一个非常尴尬的本地化系统。
当前系统将翻译存储在数据库中,并添加新的翻译如下:
print translate('foo');
translations.sql
文件。(current revision nr + 1).sql
所有这些过程都是完全手动的,即使您需要修复一个小错字,也必须重复几乎所有这些过程。不支持复数形式。整个翻译数据库非常混乱,因为翻译几乎从未被删除 - 仅添加和更新。
我已经尝试了几个参数来说服其他开发人员(尤其是一个特定的开发人员):
但人们仍然不相信。我可能做错了什么?
发布此问题几个月后,我们现在终于过渡到Gettext了。当我们需要支持两种以上的语言时,我们当前系统的缺点对于那些抵制它的人来说更加明显。
答案 0 :(得分:6)
你做错了是告诉他们如何解决他们心中不存在的问题。
你需要让他们看到它实际上是一个需要解决的问题。
修改强>
很高兴看到你最终到达那里,第二个语言似乎让他们承认了房间里的大象!
答案 1 :(得分:2)
我可以看到几个选项:
答案 2 :(得分:2)
一些问题可能是:
缺乏对Gettext的认识。如果开发人员不了解库,他们就不会使用它。
与GPL不兼容的许可。可能存在法律原因导致无法使用它。
看不需要重写。如果开发人员对当前系统足够满意,那么他们可能认为没有移动到Gettext的优势。