C++/CLI .NET可以使用资源.resx文件进行本地化吗?

Mik*_*ike 3 .net localization c++-cli

我正在尝试本地化多种语言的托管C++ .NET DLL.表单很简单,因为它们像其他语言一样运行并创建多个.resx文件.

除了以传统的C++方式使用.RC字符串表之外,我找不到在托管C++中本地化嵌入字符串的任何示例.有没有办法使用.resx资源文件来方便与Zeta等资源编辑器一起使用?

Mik*_*ike 8

在托管C++中创建一个单独的资源文件,其中包含应用程序的所有错误消息.为此,右键单击解决方案资源管理器中的托管C++项目和"程序集资源文件"(.resx)类型的"添加/新项".例如,将其命名为MyMessages.resx.

在那里添加字符串,例如名为"Error"的消息.

在您的代码中,您可以按如下方式检索字符串,假设您的根命名空间名称是"MyApp".

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

MessageBox::Show(rm->GetString(L"Error"));
Run Code Online (Sandbox Code Playgroud)

您可以稍后使用法语本地化您的错误消息,例如,通过创建名为MyMessages.fr.resx的另一个程序集资源文件.