2011-03-28 268 views
3

我不知道用什麼辦法,以國際化的鄉親MSWin資源(對話/菜單/串)已爲通常包括在本地C++/WTL MSWin通過資源編譯器應用程序窗口中的項目發現有用嗎?國際化與

我有一些經驗,儘管大約2005年,與「傳統」的方式來處理這些事情,粗略地講:重複的資源文件並翻譯成另一種語言,對話和所有。我的經驗是,這有點痛苦。希望對積極經驗的反饋以及如何實現這些積極的經驗。

我也有與GNU gettext的,這似乎是做一個顯著做得更好分離譯者的關注開發商的關注一些經驗。不幸的是,我認爲在Windows環境中使用GNU gettext意味着放棄內置於Visual Studio中的有用工具來生成應用程序菜單和對話框等。關於如何克服這些問題的任何建議將不勝感激。我有

一個具體關注的是,MSWin沒有/使用任何佈局管理器(即我所知道的)。這意味着將對話框翻譯爲另一種語言可能需要對對話框進行尺寸更改以適應由於翻譯而導致的文本空間需求的任何增加或減少。

上的做法任何其他建議也將不勝感激。

回答

1

Windows本身不具有任何佈局管理器,但一些與Windows使用的用戶界面庫做。僅舉一個明顯的例子,Qt使得i18n比直接使用Win32 API更簡單。它有管理網格佈局,流佈局等。它也有類直接支持翻譯,包括QTranslator類,它將翻譯翻譯文件,直接支持不同文本表示之間的轉換等。

+0

Qt看起來有一個比本機窗口更好的i18n模型。但是,我真的想避免重寫:( – msandiford 2011-03-28 06:14:10