2009-08-13 13 views
8

Delphiは国際化を何らかの形でサポートしていますか?Delphiとi18n

私はプロジェクトに異なる言語を追加することができますが、それはdfmファイルの複数のインスタンスを作成するようです。したがって、実行時に言語を変更することはできません。

どのように国際化対応していますか?ベストプラクティスはありますか?

+1

この質問への回答で引用資源のいくつかはあなたに役に立つことがあります。 http://stackoverflow.com/questions/1019822/process-for-localization-of-delphi-2009-app-by-volunteer-translators – Argalatyr

答えて

1

私はかつて言語のランタイム変更を実験しました。それは素晴らしい仕事でしたが、私は多くのコードを書く必要がありました(そしてdfmファイルを迂回する)。問題は、それは面倒です、そして、あなたはこれをほとんど必要としないことです。

私の意見では、基本言語のバージョンを作成し、他の言語の翻訳ツールを使用することをお勧めします。実行可能ファイルとdllで動作するthird party translatorを使用します。これは、リソース内の文字列を置き換え、新しいバイナリファイルを作成します。

このツールの大きな利点は、翻訳されたダイアログ(標準のWindowsコンポーネントのみ)が表示され、ラベルが大きすぎる場合に直接フィードバックを得ることです。

+0

ありがとうございます。トランスレータツールに関する推奨事項はありますか? – jpfollenius

+0

リンクを追加しました。それは無料ではありませんが、私たちはそれに非常に満足しています。 –

0

私は前にSiComponentsを使用しています。実行可能ファイルからすべてのテキストを個別に変更することができます。実行可能ファイル(推奨されていない)にさまざまな言語を埋め込むか、ファイルから読み込むことができます。翻訳をサポートするエディタもあります。彼らはとても良い、安定した、そして速いです。

ツール、オプション、翻訳ツールのオプションで、翻訳ツール、特に翻訳リポジトリを設定することができます。 View、Translation Managerの下にあります。すべての翻訳された文字列は、再ソース文字列であり、言語固有のdllに格納することができます。 Translation Managerのヘルプを検索すると、正しい方向に向かいます。

5

デルファイには、これを行うためのいくつかのツールが付属しています。ここで

は、Delphi 2005 tutorialで、デルファイ2009

-1

のためのより新しいバージョンを披露ニック・ホッジスのvideo I二TsiLangコンポーネントを使用するための勧告(www.sicomponents.com)。私はちょうど実行時に選択可能な英語から英語と英語の中国語にアップグレードするためにそれらを使用して、私が予想していたよりかなり簡単にプロセスが見つかりました。最終的な結果は完璧ではありませんが、確かにうまくいっています。

http://dxgettext.po.dk/

再起動せずに言語ランタイムを変更するために使用されるツールの伝統的な1:

1

AMDは、その後dxgettextがあります。デルファイ/ Unicodeを使用したこのパッケージでコードの変更の量が減少していることを

は注意(1がもはやresourcestringの使用を変更することがあります)