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

时间:2012-07-09 15:37:15

标签: .net localization c++-cli

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

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

2 个答案:

答案 0 :(得分: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"));

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

答案 1 :(得分:0)

您实际上可以使用* .resx来本地化您的应用程序:

.NET Localization, Part 1: Resource Managers

.NET Localization, Part 2: Creating Satellite Assemblies