我正在开发一个需要翻译成30种语言的软件项目.这意味着更改任何字符串会导致成本相对较高.此外,翻译不会在一夜之间发生,因为翻译包需要由不同的翻译人员来处理,因此这可能需要一段时间.
添加新功能在某种程度上是麻烦的.我们可以在实际编写UI代码之前考虑所需的所有字符串,但有时我们还需要添加新字符串,因为修复了错误或者因为疏忽.
所以问题是,你如何管理所有这些过程?有关如何减轻软件项目中翻译影响的任何提示?如何统治字符串,而不是让字符串统治你?
编辑:我们正在使用Java,并且所有字符串都使用资源包进行国际化,因此问题不在于国际化本身,而在于字符串的管理.
我不确定你正在进行国际化的平台.我之前已经找到了一个答案来解决应用程序的最佳方法.请参阅全球化asp.net应用程序需要了解的内容?
也就是说 - 管理翻译本身很难.问题是你将在多个页面中使用相同的文本.但是,您的框架可能不支持仅在一个文件中包含该文本(例如,asp.net中的资源文件,鼓励您为每种语言使用一个资源文件).
我们发现处理事物的方式是拥有一个中央数据库存储库.我们创建了一个小型.net应用程序,用于将资源文件中的翻译导入该数据库,并将该数据库的翻译导出到资源文件.因此,构建过程中还有一个额外的步骤来构建资源文件.
您将要遇到的另一个问题是将翻译传递给您的翻译供应商并返回.有几种方法可以解决这个问题 - 看看您的翻译供应商是否愿意接受XML文件并返回格式正确的XML文件.这确实是最好的方法之一,因为它允许您自动导入和导出翻译文件.如果您的供应商允许,另一种方法是创建一个网站,允许他们编辑翻译.
最后,对于需要重复和手动工作的任何其他过程,您的翻译答案将是相同的.自动化,自动化,自动化.自动化您可以做的每一件事.在这种情况下,复制和粘贴不是您的朋友.
Pootle是一个webapp,允许通过Web管理翻译过程.