2013-02-25 102 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

相關問題