在C#和Java项目之间共享翻译(字符串资源)的本地化策略

时间:2011-12-08 23:00:44

标签: localization internationalization

在C#和Java中开发了不同的项目。

一些C#项目是为其他C#和Java项目提供API的平台。

最好在企业层面最大限度地减少和简化l10n策略。

我正在考虑使用某种常见的xml,从中可以生成我们为C#开发选择的格式的C#资源字符串(后端和ASP.Net前端)以及Java的特定字符串资源项目

这个想法是让每个项目都能够为所有项目提供一组基本字符串,以及每个项目添加额外字符串资源的能力。

目标是标准化将提供给翻译人员的格式,并确保字符串不会在项目中重复。

还有一个问题是关于项目之间新/已删除和更新条目的同步。

你以前遇到过这样的挑战吗?您选择了哪种l10n和i18n策略?

3 个答案:

答案 0 :(得分:1)

如果可能,我会尝试使用gettext格式,否则可以使用任何语言轻松加载.properties文件。

答案 1 :(得分:1)

如果您想在多个计算平台之间共享本地化文本,那么没有比使用数据库支持的捆绑包更好的解决方案了。 XLIFF是旨在与各方共享本地化相关资源的开放标准。

XLIFF格式旨在:

  • 将可本地化的文本与格式分开。
  • 启用多个工具来处理源字符串并添加有关字符串的数据。
  • 存储有助于支持本地化过程的信息。

查找支持此格式的一些商业和开源工具in the wiki here

答案 2 :(得分:1)

为了国际化应用程序,我实现了Message Compiler,它创建了资源包文件和常量定义,作为来自单个源文件的密钥的Java枚举或静态最终字符串。因此,常量可以在Java源代码中使用,这比使用普通字符串更安全。消息编译器不仅可以用于Java。它还为Objective-C或Swift创建资源文件和常量,并可以扩展到其他编程环境。因此,您可以为C#添加输出处理器。