我正在尝试将托管 C++ .NET DLL 本地化为多种语言。这些表单非常简单,因为它们的操作就像其他语言一样并创建多个 .resx 文件。
除了以传统 C++ 方式使用 .RC 字符串表之外,我找不到任何在托管 C++ 中本地化嵌入字符串的示例。有没有办法使用 .resx 资源文件来方便与 Zeta 等资源编辑器一起使用等等?
最佳答案
使用托管 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"));
您可以稍后将错误消息本地化为法语,例如,通过创建另一个名为 MyMessages.fr.resx 的程序集资源文件。
关于.net - C++/CLI .NET 可以使用资源 .resx 文件进行本地化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11398407/