2008-10-24 37 views

回答

4

我聽說TsiLang components都不錯,但你看就地解決......

我用GNU gettext for Delphi這不正是你想要的東西,它加載的翻譯從文本文件和替換組件中的文本。它甚至還有一個pas/dfm掃描儀來自動生成英文翻譯文件。

也可以自動更改您的pascal源代碼,以便將靜態字符串替換爲gettext過程。如果我沒有弄錯,它只是增加一個下劃線作爲它的功能,如下所示。

ShowMessage('Hello'); // before 
ShowMessage(_('Hello')); // after 

我必須說自從我上次使用這種方法以來已經有2年了。

有一件事情仍然存在問題,Delphi組件不是啓用Unicode(D2009修復了這個問題),所以當你不改變組件時,你仍然對其他語言的支持有限。

+0

聽起來不錯 - 我會檢查出來。 – 2008-10-24 14:21:02

5

我們使用的是TsiLang,對此非常滿意。

其中一個最好的觀點是,您可以用字典預先翻譯項目(您從現有翻譯中填寫)。

+0

謝謝你 - 明天我會爲你投票,因爲我一天缺貨。 :) – 2008-10-24 13:51:59

3

一個很好的免費解決方案是GNU gettext for Delphi。它有一些在TsiLang中沒有的功能 - 例如,你可以將知識放在如何計算事物(不同結局的一,二,四,一百,二,許多......)到翻譯文件中,不得不教導每個程序知道這個東西。

德爾福部分的許可證非常寬容,但我不確定包含的GNU內容會影響您的應用程序。

1

獲取Multilizer。它是用Delphi編寫的,它可以像Delphi一樣處理Delphi程序,對VCL有特殊的支持。您甚至可以輕鬆地爲每種語言重做屏幕。使用Multilizer,您可以使用不同的技術來翻譯和運行程序。

1

Delphi 2009增加了一個集成翻譯環境/外部翻譯管理器 ITE和ETM現在可用於Delphi和C++ Builder。

在CodeGear的文章:What's New in Delphi and C++Builder 2009,他們的狀態:

集成翻譯環境 (ITE)是 簡化您的本地化項目,IDE的一部分。 ITE可以從現有項目創建新的本地化項目 。 ITE並不 自動翻譯文本,但 提供了一個對話框列出需要本地化的所有文本 和其中輸入相應的 翻譯文本的字段 。一旦輸入了 翻譯文本並構建了 本地化項目,則可以將另一個 語言設置爲活動狀態並在 中顯示本地化文本的表單;您不必 切換區域設置並重新啓動系統。 這允許您執行 本地化,而不需要 本地化系統。

外部翻譯管理器(ETM) 是一個獨立的應用程序,與DFM文件和文本字符串在 源代碼工作 。儘管ETM不支持 允許您創建新的本地化 項目,但它確實提供了一個對話框 列出了本地化文本和 翻譯文本,與ITE類似。

這就是我打算嘗試第一次,當我想要國際化我的產品。

但是,對我而言,最簡單的部分就是翻譯該程序。最難的部分是翻譯幫助文件。