我开始设计一个应用程序,我希望它从一开始就支持多种语言,以避免以后更改大量代码以启用多种语言。
我早期写过一个C应用程序,消息在 struct 中,所以我有几个带有翻译字符串的头文件,这些文件将被集成到应用程序本身,所以要添加我必须重新编译的新语言。
我希望能够拥有一个本地化系统,允许我轻松翻译应用程序并添加新语言,而无需重新编译应用程序。理想情况下,使用非常简单的方式翻译和测试翻译(例如编辑文本文件并在应用程序中查看结果),而无需依赖第三方工具进行翻译。
我正在考虑为它编写我自己的系统,例如,可能基于XML来包含翻译的文件,但是我想知道是否有人有这方面的经验并且会推荐一个轻量级库来提供我喜欢的(即使翻译不像编辑文本文件那么直接)。我强调轻量级,因为我认为应用程序本身的重量不会超过几兆字节。
这将是一个Windows应用程序,如果这与此事有关。到目前为止,我还没有决定使用我使用的图形工具包,但可能我会使用默认的Windows产品而不使用跨平台的产品(如wxWidgets,Qt,GTK +,...)。但如果一个人提出它所考虑的显着优势,那就不是一成不变的了。
答案 0 :(得分:2)
我不确定它有多轻量级,但是qt has a good support for internationalization。
然后,您可以使用QtLinguist简单地翻译文字。
答案 1 :(得分:1)
不要发明自己的系统。国际化(i18n)和本地化(l10n)几乎总是涵盖在一些现有的库中。
如果您针对Windows开发,则此链接Globalizing and Localizing .NET Framework Applications可能会很有用。