我是一个拥有20多名开发人员的团队的成员。每个开发人员在一个单独的模块上工作(接近10个模块)。在每个模块中,我们可能至少有50个 CRUD 表单,这意味着我们目前有近500个 添加按钮、 保存按钮、 编辑按钮等。
然而,因为我们想要使我们的应用程序全球化,所以我们需要能够在我们的应用程序中翻译文本。例如,在任何地方,对于法语用户来说,单词 加都应该变成 加快速度。
到目前为止,我们所做的是,对于 UI 或表示层中的每个视图,我们都有一个关键字/值对转换的字典。然后,在呈现视图时,我们使用这个字典翻译所需的文本和字符串。然而,通过这种方法,我们已经在500个字典中拥有了接近500个 加。这意味着我们违反了 DRY 的原则。
另一方面,如果我们将常见的字符串集中起来,比如将 加放在一个地方,并要求开发人员在任何地方都使用它,我们就会遇到这样的问题: 不确定一个字符串是否已经在集中的字典中定义好了。
另一个选择可能是没有翻译字典,使用在线翻译服务,如谷歌翻译,必应翻译等。
我们遇到的另一个问题是,一些开发人员在按时交付项目的压力下不能记住 翻译钥匙。例如,对于添加按钮的文本,一个开发人员使用了 加,而另一个开发人员使用了 新的,等等。
对于应用程序的字符串资源的全球化和本地化,什么是最佳实践或最著名的方法?