マネージ C++ .NET DLL を複数の言語にローカライズしようとしています。フォームは他の言語と同じように動作し、複数の .resx ファイルを作成するため、非常に簡単です。
従来の C++ の方法で .RC 文字列テーブルを使用する以外に、マネージ C++ に埋め込まれた文字列をローカライズする例を見つけることができません。Zetaなどのリソース エディタでの使用を容易にするために .resx リソース ファイルを使用する方法はありますか?
マネージ C++ .NET DLL を複数の言語にローカライズしようとしています。フォームは他の言語と同じように動作し、複数の .resx ファイルを作成するため、非常に簡単です。
従来の C++ の方法で .RC 文字列テーブルを使用する以外に、マネージ C++ に埋め込まれた文字列をローカライズする例を見つけることができません。Zetaなどのリソース エディタでの使用を容易にするために .resx リソース ファイルを使用する方法はありますか?
アプリケーションのすべてのエラー メッセージを含む別のリソース ファイルをマネージ 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 という名前の別のアセンブリ リソース ファイルを作成することで、後でエラー メッセージをフランス語にローカライズできます。
実際に *.resx を使用して、アプリケーションをローカライズできます。