3

マネージ C++ .NET DLL を複数の言語にローカライズしようとしています。フォームは他の言語と同じように動作し、複数の .resx ファイルを作成するため、非常に簡単です。

従来の C++ の方法で .RC 文字列テーブルを使用する以外に、マネージ C++ に埋め込まれた文字列をローカライズする例を見つけることができません。Zetaなどのリソース エディタでの使用を容易にするために .resx リソース ファイルを使用する方法はありますか?

4

2 に答える 2

8

アプリケーションのすべてのエラー メッセージを含む別のリソース ファイルをマネージ C++ で作成します。これを行うには、ソリューション エクスプローラーでマネージ C++ プロジェクトを右クリックし、[アセンブリ リソース ファイル (.resx)] タイプの [追加] または [新しい項目] をクリックします。たとえば、MyMessages.resx という名前を付けます。

「エラー」という名前のメッセージなど、そこに文字列を追加します。

コードでは、ルート名前空間名が「MyApp」であると仮定して、次のように文字列を取得できます。

Resources::ResourceManager^ rm = gcnew Resources::ResourceManager(L"MyApp.MyMessages", this->GetType()->Assembly);

MessageBox::Show(rm->GetString(L"Error"));

たとえば、MyMessages.fr.resx という名前の別のアセンブリ リソース ファイルを作成することで、後でエラー メッセージをフランス語にローカライズできます。

于 2012-07-09T17:40:15.887 に答える
0

実際に *.resx を使用して、アプリケーションをローカライズできます。

.NET ローカリゼーション、パート 1: リソース マネージャー

.NET ローカリゼーション、パート 2: サテライト アセンブリの作成

于 2012-07-09T16:54:38.020 に答える