0

我开始设计一个应用程序,我希望它从一开始就支持多种语言,以避免以后必须更改大量代码以启用多种语言。

我很早就编写了一个 C 应用程序,其中消息在一个结构中,所以我有几个带有翻译字符串的头文件,这些文件将被集成到应用程序本身中,所以要添加一种新语言,我必须重新编译。

我想要的是能够拥有一个本地化系统,允许我翻译应用程序并轻松添加新语言,而无需重新编译应用程序。理想情况下,使用一种非常直接的方式来翻译和测试翻译(例如编辑文本文件并在应用程序中查看结果),而不必依赖 3rd 方工具进行翻译。

我正在考虑为它编写自己的系统,例如可能基于 XML 用于包含翻译的文件,但我想知道是否有人有这方面的经验,并会推荐一个轻量级的库来提供我想要的(即使翻译不像编辑文本文件那么直接)。我强调轻量级是因为我认为应用程序本身的重量不会超过几兆字节。

如果与此事相关,它将是一个 Windows 应用程序。到目前为止,我还没有决定我使用的图形工具包,但我可能会使用默认的 Windows 提供而不使用跨平台的工具包(如 wxWidgets、Qt、GTK+ ......)。但这并不是一成不变的,如果有一个提供显着优势,它会考虑它。

4

2 回答 2

2

我不确定轻量级有多轻,但是qt 对国际化有很好的支持

然后您可以使用QtLinguist来简单地翻译您的文本。

于 2013-02-25T12:07:32.850 回答
1

不要发明自己的系统。国际化(i18n)和本地化(l10n)几乎总是包含在一些现有的库中。

如果您为 Windows 开发,此链接Globalizing and Localizing .NET Framework Applications可能会很有用。

于 2013-02-25T12:15:09.523 回答