2013-02-25 65 views
0

我开始设计一个应用程序,我希望它从一开始就支持多种语言,以避免稍后更改大量代码以启用多种语言。寻找一种方法来翻译应用程序

我早该消息是在一个结构所以我有翻译的字符串,其将被集成到应用程序本身的几个头文件的C程序编写的,因此增加一个新的语言,我必须重新编译。

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

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

这将是一个Windows应用程序,如果这是相关的问题。截至目前,我还没有决定使用图形工具包,但可能会使用默认的Windows产品,而不使用跨平台的产品(如wxWidgets,Qt,GTK +,...)。但是,如果一个人能够提供显着的优势,它就不会成为现实。

+0

这取决于您要使用的GUI工具包。从字面上看,它们都具有国际化和本地化的支持。指定工具包,你会得到一个答案。 – pmr 2013-02-25 12:17:49

+0

噢,我看到了,我想我将使用Windows提供的本地GUI,而不使用任何跨平台工具包,但它不是一成不变的。 – 2013-02-25 12:28:39

回答

1

不要发明自己的系统。国际化(i18n)和本地化(l10n)几乎总是覆盖在一些现有的图书馆中。

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

+3

他似乎在做C/C++而不是.NET – 2013-02-25 12:16:56

+0

有许多库可供选择,但选择一个并使其运行起来有时比编写基本字典系统困难。 – ReturningTarzan 2013-02-25 12:18:56

+0

@claptrap [.NET](http://en.wikipedia.org/wiki/.NET_Framework)是一个框架,而不是一种语言。您可以从多种语言访问.NET,C++等等。 – 2013-02-25 12:19:12

相关问题