Delphi Run-time是否有任何翻译记忆库/存储库/词汇表?

时间:2011-09-13 19:58:44

标签: delphi localization translation

我需要为本地化准备Delphi 2007应用程序。现在,大约80%需要翻译的内容实际上是Delphi运行时库。我无法想象每个开发人员本地化他/她的软件需要一遍又一遍地重新翻译这些东西。

所以,我正在寻找可以获得Delphi 2007运行时“翻译记忆”/“词汇表”的地方,无论是免费还是赚钱。我对繁体中文特别感兴趣。

4 个答案:

答案 0 :(得分:4)

查看 GNU Gettext for Delphi and C++ Builder

此工具可以将exe中定义的所有resourcestring转换为任意语言。因此,它可以将Delphi RTL使用的resourcestring翻译成任何语言。

AFAIK有多种pre-made translations可供选择,适用于多种语言(超过官方法语/德语/日语/英语版本)。

更新:对于UI部分,我对the i18n features of our mORMot framework使用了GetText的一些想法。这将使用纯文本文件进行翻译,而不是.po或其他专有系统,并且更具特定于Delphi(例如,解析dfm内容)。这是专门用于我们的框架(例如它使用其RTTI类),但如果你想编写自己的单元,它可能是一个良好的开端,与GetText或Delphi IDE相比有一些增强。

答案 1 :(得分:2)

德尔福本身并没有翻译成中文...但我同意,有些公司/翻译公司肯定已经做过了。

有关信息,在Delphi现有语言(法语,德语和日语)中,有些子文件夹中包含翻译的特定文件,例如:... \ RAD Studio \ 8.0 \ source \ vcl \ fr,.. 。\ RAD Studio \ 9.0 \ source \ rtl \ common \ de,...

例如,法语 Vcl.Consts.pas 的开头:

{*******************************************************}
{                                                       }
{            Delphi Visual Component Library            }
{                                                       }
{ Copyright(c) 1995-2011 Embarcadero Technologies, Inc. }
{                                                       }
{*******************************************************}

unit Vcl.Consts;

interface

resourcestring
  SOpenFileTitle = 'Ouvrir';
  SCantWriteResourceStreamError = 'Impossible d'#39'écrire dans un flux en lecture seule';
  SDuplicateReference = 'WriteObject appelé deux fois pour la même instance';
  SClassMismatch = 'La ressource %s est d'#39'une classe incorrecte';
  SInvalidTabIndex = 'Index d'#39'onglet hors limites';
  SInvalidTabPosition = 'Position d'#39'onglet incompatible avec le style d'#39'onglet en cours';
  SInvalidTabStyle = 'Style d'#39'onglet incompatible avec la position d'#39'onglet en cours';
  SInvalidBitmap = 'Image de bitmap non valide';
  SInvalidIcon = 'Image d'#39'icône non valide';
  SInvalidMetafile = 'MetaFichier incorrect';
  SInvalidPixelFormat = 'Format de pixel non valide';
  SInvalidImage = 'Image non valide';
  SBitmapEmpty = 'Bitmap vide';

答案 2 :(得分:1)

很久以前,IIRC是Delphi 5,Borland为自己的本地化工具发布translation repository file支持一些语言(但不是中文)。它仍然可以工作,可以作为添加更多翻译的基础,这是一个好主意,但在Delphi中很多好主意很快就被遗忘了。恕我直言,我不会浪费时间提供本地化的IDE版本,我会使用这些资源为RTL / VCL提供“翻译库”,这将更有用。

答案 3 :(得分:0)

据我所知,这不存在......要么免费支付。您只有vcl.consts单元的法语/德语/日语版本。对于您需要翻译的所有内容,您需要自己完成。