如何翻译(国际化,本地化)应用程序?

Tre*_*res 7 delphi localization internationalization

我需要在delphi上翻译一个应用程序.现在俄语界面中的所有字符串.快速查找的工具有哪些,为字符串常量分配所有的句子?

人们如何翻译大型应用?

Ari*_*The 8

GetText应该能够做到,在http://dxgettext.po.dk/documentation/how-to搜索"extract"


如果您只需要在源代码中翻译GUI和可能的resourcestring,并且不需要Pascal源代码中的内联字符串常量进行翻译,那么您可以尝试使用Delphi内置方法.然而论坛说ITE是错误的.但至少那是德尔福官方的方式.

要使用ITM手动准备翻译来源,如http://www.gunsmoker.ru/2010/06/delphi-ite-integrated-translation.html上的源表所示.


我记得我为JediVCL团队传输了Polaris文本 - 所以他们做了一些提取.但我认为他们只是将所有字符>#127提取到一个文本文件中 - 没有结构,有常量和注释,所有这些都在一起.尽管如此,还是有一些组件,但我怀疑它可以按照你需要的方式使用:http://wiki.delphi-jedi.org/wiki/JVCL_Help : TJvTranslator


还有商业工具.但我不知道他们的功能是否可以帮助您完成初始提取和翻译任务.当你需要保存翻译成多种语言的大型应用程序时,它们可能会有很大的帮助,但是当你需要进行一次性转换时则不然.但也许我错了,如果你愿意,请查看他们的试用版.通过评论,这些套房被认为是最好的商业套房:


Kry*_*ich 5

首先,我建议将所有可本地化的字符串常量移动到其单元文件中的资源字符串部分.即

raise Exception.Create('Error: ???-?? ????? ?? ??? (in Russian language)');
Run Code Online (Sandbox Code Playgroud)

将被转换为

resourcestring
  rsSomeErrorMessage = 'Error: ???-?? ????? ?? ??? (in Russian language)';
...
raise Exception.Create(rsSomeErrorMessage);
Run Code Online (Sandbox Code Playgroud)

有关Resource Strings的更多信息.

使用相应的Delphi IDE重构命令或第三方实用程序(如ModelMaker Tools)可以加速此过程.

然后,您可以使用任何可用的本地化程序来翻译甚至国际化您的程序.我推荐我的Delphi定位器 - 它是免费的.