【发布时间】:2012-07-09 15:37:15
【问题描述】:
我正在尝试为多种语言本地化托管 C++ .NET DLL。这些表单很简单,因为它们的操作方式与其他语言一样,并且可以创建多个 .resx 文件。
除了以传统 C++ 方式使用 .RC 字符串表外,我找不到任何在托管 C++ 中本地化嵌入字符串的示例。有什么方法可以使用 .resx 资源文件来方便与 Zeta 等资源编辑器一起使用?
【问题讨论】:
标签: .net localization c++-cli
我正在尝试为多种语言本地化托管 C++ .NET DLL。这些表单很简单,因为它们的操作方式与其他语言一样,并且可以创建多个 .resx 文件。
除了以传统 C++ 方式使用 .RC 字符串表外,我找不到任何在托管 C++ 中本地化嵌入字符串的示例。有什么方法可以使用 .resx 资源文件来方便与 Zeta 等资源编辑器一起使用?
【问题讨论】:
标签: .net localization c++-cli
在托管 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 来本地化您的应用程序:
【讨论】: