2009-08-13 58 views
8

Delphi是否以任何方式支持國際化?Delphi和i18n

我已經看到,我可以爲一個項目添加不同的語言,但似乎創建了dfm文件的多個實例。我的語言是否因此在運行時無法更改?

你如何處理國際化(如果你這樣做)?有沒有最佳做法?

+1

一些答案引到這一問題的資源,可能對你有用: http://stackoverflow.com/questions/1019822/process-for-localization-of-delphi-2009-app-by-volunteer-translators – Argalatyr 2009-08-13 23:39:19

回答

1

我曾經嘗試過運行時語言的改變。它工作得很好,但我需要自己編寫大量代碼(並繞過dfm文件)。問題是,這很麻煩,你幾乎不需要這個。

更好的選擇(在我看來)是創建一個基本語言版本,並使用其他語言的翻譯工具。我們使用可執行文件和DLL工作的third party translator。它會替換資源中的字符串並創建新的二進制文件。

此工具的一大優點是它顯示已翻譯的對話框(僅適用於標準的Windows組件),因此如果標籤太大,您會得到直接反饋。

+0

謝謝。有關翻譯工具的任何建議? – jpfollenius 2009-08-13 13:53:52

+0

我添加了一個鏈接。這不是免費的,但我們對此非常滿意。 – 2009-08-13 13:57:02

0

我以前一直在使用SiComponents。它們允許您獨立於可執行文件更改所有文本。您可以在可執行文件中嵌入不同的語言(不推薦)或從文件加載它們。還有一位編輯支持翻譯。他們非常好,穩定和快速。

在Delphi 2006下的工具,選項,翻譯工具選項中,您可以配置翻譯工具,尤其是翻譯庫。它可以在View,Translation Manager下找到。所有經過翻譯的字符串都將重新存放字符串,並且可以存儲在特定於語言的dll中。搜索翻譯經理的幫助將爲您指出正確的方向。

5

Delphi附帶一些工具來執行此操作。

這裏是2005年德爾福tutorial,和尼克霍奇斯的video顯示了2009年德爾福

-1

的較新版本的斷我第二次使用TsiLang部件的建議(www.sicomponents.com)。我只是用它們從英文版升級到英文版+中文版,可以在運行時進行選擇,並且發現這個過程比我期待的要容易得多。最終的結果並不完美,但肯定足以與之合作。

1

的AMD則有dxgettext:

http://dxgettext.po.dk/

傳統的用來改變語言運行時沒有重啓的工具之一。

需要注意的是用Delphi/unicode的與此包代碼更改金額卻減少(一個不再更改任何資源字符串使用)