我開發了大約300個應用程序,我希望提供獨立於操作系統的多語言功能。我編寫了一個即時翻譯器,但是這對於包含很多組件的應用程序來說太慢了。你會建議我做什麼?什麼技術將國際化(至少多語言)現有的Delphi應用程序的最小努力?
回答
我聽說TsiLang components都不錯,但你看就地解決......
我用GNU gettext for Delphi這不正是你想要的東西,它加載的翻譯從文本文件和替換組件中的文本。它甚至還有一個pas/dfm掃描儀來自動生成英文翻譯文件。
也可以自動更改您的pascal源代碼,以便將靜態字符串替換爲gettext過程。如果我沒有弄錯,它只是增加一個下劃線作爲它的功能,如下所示。
ShowMessage('Hello'); // before
ShowMessage(_('Hello')); // after
我必須說自從我上次使用這種方法以來已經有2年了。
有一件事情仍然存在問題,Delphi組件不是啓用Unicode(D2009修復了這個問題),所以當你不改變組件時,你仍然對其他語言的支持有限。
我們使用的是TsiLang,對此非常滿意。
其中一個最好的觀點是,您可以用字典預先翻譯項目(您從現有翻譯中填寫)。
謝謝你 - 明天我會爲你投票,因爲我一天缺貨。 :) – 2008-10-24 13:51:59
一個很好的免費解決方案是GNU gettext for Delphi。它有一些在TsiLang中沒有的功能 - 例如,你可以將知識放在如何計算事物(不同結局的一,二,四,一百,二,許多......)到翻譯文件中,不得不教導每個程序知道這個東西。
德爾福部分的許可證非常寬容,但我不確定包含的GNU內容會影響您的應用程序。
獲取Multilizer。它是用Delphi編寫的,它可以像Delphi一樣處理Delphi程序,對VCL有特殊的支持。您甚至可以輕鬆地爲每種語言重做屏幕。使用Multilizer,您可以使用不同的技術來翻譯和運行程序。
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類似。
這就是我打算嘗試第一次,當我想要國際化我的產品。
但是,對我而言,最簡單的部分就是翻譯該程序。最難的部分是翻譯幫助文件。
我會說GNU gettext for Delphi結合TMS Unicode Component Pack(以前在TntWare下免費)來獲得組件中的Unicode支持。
一起工作,或有翻譯人員,在gettext文件我建議看免費的跨平臺Poedit可編輯.po文件的工作。
只要提及cxLocalizer如果您擁有DexExpress組件。
- 1. 如何國際化Delphi應用程序
- 2. Spring4國際化多語言
- 3. iOS應用程序未使用基本國際化語言
- 4. Android Studio - 國際化應用程序/支持foriegn語言
- 5. 什麼是移動應用程序的最佳遠程技術?
- 6. 現有JavaScript應用程序的國際化和本地化
- 7. 國際化語言切換?
- 8. express.js中的多語言web應用程序的良好國際化模塊是什麼?
- 9. 力國際化的語言環境是da_DK Grails的2.X
- 10. C語言中的高階函數作爲語法糖用最少的努力
- 11. 這種情況下最適合的語言/技術是什麼?
- 12. 國際化目的的語言代碼標準是什麼?
- 13. 什麼mem緩存實現將花費最少的努力構建
- 14. iPhone應用程序的國際化
- 15. Django應用程序的國際化
- 16. Flex/Flash應用程序的國際化
- 17. ASP.NET應用程序的國際化
- 18. 獨立應用程序的國際化
- 19. VB 6應用程序的國際化
- 20. 國際化的web應用程序javascript
- 21. Erlang國際化的Web應用程序?
- 22. 「智能」安裝程序的技術術語是什麼?
- 23. 擴展C#語言,多少努力/收益?
- 24. 停止C#語言的國際化
- 25. 本地語言的java國際化
- 26. 國際化的語言環境
- 27. 有線應用程序的技術是什麼?
- 28. 國際化Java Swing桌面應用程序的最佳做法是什麼?
- 29. ExtJS - 多國語言與國際文本
- 30. rcp國際化,改變語言,用config.ini
聽起來不錯 - 我會檢查出來。 – 2008-10-24 14:21:02