3

ここには大規模な MFC アプリケーションがいくつかありますが、それらを他の形式に変換することは問題外です。私たちは他の市場にも拡大しており、アプリを他の言語や文化で動作させたいと考えています.

これまでのところ、Visual C++ バージョン 6 をどうするかについての言及を時折見つけましたが、MFC の新しいバージョンには追加の関連機能があるとの言及が 1 つあります。MSDN を検索すると、アプリを Unicode に変換する方法が表示されます。これは既に行っています。MSDN では、言語が Unicode になったら言語を多言語化する方法については何も見つかりませんでした。Google を使用した古いものはいくつかあり、VC++6 を使用した国際化に関する本は 1 冊しかありませんでした。(現在、XP および Vista で Visual Studio 2008 を使用しています。)

私は自分の Google-fu の強さについて主張するつもりはありません。

VC++6 のメソッドを使用するのは合理的ですか、それとも新しい機能を使用する必要がありますか?

それ以降に機能を使用する必要がある場合、それらへの参照はどこにありますか?

ロケールの設定、すべての文字列のリソースへの変換、異なる言語でのリソースの複製以外に注意すべきことはありますか?

私は .NET の国際化についてもっと多くのことを見つけることができますが、私は .NET の経験がありません。VC++ と MFC に適用できるものは何ですか?

編集: Unicode 文字列を文字列テーブル リソースに入れようとして、問題が発生しました。(私が知る限り、Unicode 文字列は、L"0x0034" 形式で、テキスト エディターを使用して .rc ファイルに入力する必要があります。これを行うリソース エディターの方法は見つかりませんでした。) それに関するヒントはありますか? VC++ と MFC を使用して VS2008 で使用できる他のリソースはありますか?

編集: Microsoft フォーラムの誰かが、問題のある .rc ファイルをメモ帳で開き、Unicode で保存することを提案しました。残念ながら、文字列テーブルは日本語で動作しているように見えますが、これはダイアログを修正していないようです。

4

4 に答える 4

3

アプリケーションを国際化するには、単に「文字列」を翻訳するだけではありません。

さまざまなテキストの長さと言語の向き (ヘブライ語、中国語、アラビア語など) を考慮して、ほとんどの UI を更新する必要があります。

一部の画像は、異なる文化に合わせて変更する必要があります (残念ながら、その例はありません)。比喩が異なるか、色が現地の仕様に適合していません。

appTranslatorのようなツールを使用して、表面的なローカリゼーション (UI の再フォーマット) を行い、文字列の専門的な技術翻訳者を使用しています。

于 2009-02-18T17:09:28.880 に答える
2

リソースのみの dll を作成することもできます

詳細については、「MFC アプリケーションのローカライズされたリソース DLL を作成する方法」を参照してください。

于 2009-02-18T16:02:16.683 に答える
1

次の方法を使用して、アプリケーションを国際化できます。

アプリケーションを Unicode に変換した後 (既に行っています)、すべての文字列を String テーブルからロードする必要があります。

  1. 言語ごとに、文字列テーブルを変更してコンパイルする必要があります

  2. もう 1 つの方法は、ローカライズされた形式のすべての文字列を含む XML ファイルを維持することです。言語に応じて xml と文字列を読み込みます。

于 2009-02-18T15:46:53.663 に答える
0

これは、文字列テーブルから文字列を取得するための非常に「コーディング効率の高い」方法を説明している私の CodeProject 記事です (翻訳可能なテキストに必要): http://www.codeproject.com/KB/string/stringtable.aspx

アプリが適切な UI 言語を選択するのに役立つ別のクラスを次に示します。また、言語選択メニューの作成にも役立ちます: http://www.codeproject.com/KB/locale/LanguageMenu.aspx

最後になりましたが、appTranslator は、アプリの UI の翻訳、前回のバージョン以降にリソースに加えられた変更の検出、翻訳された exe またはリソース DLL の作成などを支援するツールです: http://www.apptranslator.com

(注: 私は appTranslator の作成者です。)

于 2009-02-22T16:25:18.017 に答える