1

我正在开发一个 WPF-MVVM 应用程序来支持多语言(全球化),如下所示:

  1. 我创建了一个资源管理器:

    ResourceManager rm = new System.Resources.ResourceManager("MultiLang.string", 
                                              Assembly.GetExecutingAssembly());
    
  2. 我创建了两个 resx 文件,例如 string.fr.resx、string.en.resx,如下所示:

    在 string.fr.resx 中,我创建了一个属性:

    Name:User_PhoneNo_Label
    Value:Num\u00e9ro de t\u00e9l\u00e9phone
    
  3. 现在例如,如果用户从列表中选择法语,我正在尝试显示 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 等代码。

  4. 法语中 User_PhoneNo_Label 的值应显示为“Numéro de téléphone”,但现在将显示为“Num\u00e9ro de t\u00e9l\u00e9phone”。

请让我知道这个问题的解决方案。

4

1 回答 1

1

只需将要显示的文本作为资源字符串的值。

于 2012-09-21T07:10:36.807 回答