1

次のように、多言語 (グローバリゼーション) をサポートする 1 つの WPF-MVVM アプリケーションを開発しています。

  1. 1 つのリソース マネージャーを次のように作成しました。

    ResourceManager rm = new System.Resources.ResourceManager("MultiLang.string", 
                                              Assembly.GetExecutingAssembly());
    
  2. 次のように、string.fr.resx、string.en.resx などの 2 つの resx ファイルを作成しました。

    string.fr.resx で、1 つの属性を次のように作成しました。

    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 に答える