次のように、多言語 (グローバリゼーション) をサポートする 1 つの WPF-MVVM アプリケーションを開発しています。
1 つのリソース マネージャーを次のように作成しました。
ResourceManager rm = new System.Resources.ResourceManager("MultiLang.string", Assembly.GetExecutingAssembly());
次のように、string.fr.resx、string.en.resx などの 2 つの resx ファイルを作成しました。
string.fr.resx で、1 つの属性を次のように作成しました。
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」と表示されるようになりました。
この問題の解決策を教えてください。