使用现有Delphi应用程序(至少是多语言)国际化的最小努力是什么技术?

时间:2008-10-24 13:36:45

标签: delphi localization multilingual capability

我开发了大约300个应用程序,我想提供独立于操作系统的多语言功能。我已经编写了一个即时翻译器,但在具有许多组件的应用程序中这个速度太慢了。你有什么建议我做的?

7 个答案:

答案 0 :(得分:5)

我们正在使用TsiLang并对此非常满意。

最好的一点是,您可以使用字典(从现有翻译中填写)预翻译项目。

答案 1 :(得分:4)

我听说TsiLang components很好,但是你正在寻找一个现场解决方案......

我使用GNU gettext for Delphi完全符合您的要求,它会从文本文件加载翻译并替换组件中的文本。它甚至还有一个pas / dfm扫描仪来自动生成英文翻译文件。

也可以自动更改pascal源代码,以便在静态字符串中注入gettext过程。如果我没弄错的话,只需在其中添加一个下划线作为函数,如下所示。

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

我必须说我上次使用这种方法已有2年了。

有一件事仍然存在问题,Delphi组件未启用unicode(D2009修复此问题),因此当您不更改组件时,您仍将对其他语言提供有限的支持。

答案 2 :(得分:3)

一个好的免费解决方案是GNU gettext for Delphi。它具有TsiLang中不存在的一些功能 - 例如,您可以将有关如何计算事物(一,二,四,一,二,多......的不同结局)的知识放入翻译文件中,这样您就可以我必须教每个程序知道这些东西。

Delphi部分的许可证非常宽松,但我不确定所包含的GNU内容会对您的应用程序产生多大影响。

答案 3 :(得分:1)

获取Multilizer。它是在Delphi中制作的,它可以处理特殊支持VCL的Delphi程序。您甚至可以轻松地为每种语言重做屏幕。使用Multilizer,您可以使用不同的技术来翻译和运行您的程序。

答案 4 :(得分: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。

这是我计划在我想要将我的产品国际化时首先尝试的。

然而,对我而言,简单的部分是翻译程序。困难的部分是翻译帮助文件。

答案 5 :(得分:1)

我会说GNU gettext for DelphiTMS Unicode Component Pack(以前在TntWare下免费)结合使用,可以在组件中获得unicode支持。

要使用翻译器,或者让翻译人员使用,我建议您查看可以编辑.po文件的免费跨平台Poedit的gettext文件。

答案 6 :(得分:1)

如果您拥有DevExpress组件,请提及cxLocalizer