我正在开发一个 WPF-MVVM 应用程序来支持多语言(全球化),如下所示:
我创建了一个资源管理器:
ResourceManager rm = new System.Resources.ResourceManager("MultiLang.string", Assembly.GetExecutingAssembly());
我创建了两个 resx 文件,例如 string.fr.resx、string.en.resx,如下所示:
在 string.fr.resx 中,我创建了一个属性:
Name:User_PhoneNo_Label Value:Num\u00e9ro de t\u00e9l\u00e9phone
现在例如,如果用户从列表中选择法语,我正在尝试显示 User_PhoneNo_Label 的值,如下所示:
Thread.CurrentThread.CurrentUICulture = new CultureInfo(sLangCode); Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(sLangCode); User_PhoneNo_Label = rm.GetString("User_PhoneNo_Label");
这里的 sLangCode 是基于用户选择的 fr 或 en 等代码。
法语中 User_PhoneNo_Label 的值应显示为“Numéro de téléphone”,但现在将显示为“Num\u00e9ro de t\u00e9l\u00e9phone”。
请让我知道这个问题的解决方案。