2017-03-05 5 views
0

ローカライズされたWPFアプリケーションがあります。デフォルトのResource.resxファイルが使用されていません

ControlPanel - >リージョン - >形式からヒンディー語(インド)にフォーマットを設定すると、WPFアプリケーションの起動時にWPFアプリケーションの次のコード行がCultureInfo.CurrentCulture(hi-IN)代わりにen-USを使用します。

Application.Current.MainWindow = new MainWindow(); 
Application.Current.MainWindow.Show(); 

このため、My WPF ApplicationはResources.resxファイルからの挨拶メッセージを使用していません。代わりに、Resources.en.resxのメッセージを使用しています。

CultureInfo.CurrentCultureで適切な値を取得しています。

上記のコード行が適切な値を選んでいない理由は何ですか?

+1

臨時のクレームには特別な証拠が必要ですが、私は何も見ません。 .NETがCurrentCultureとCurrentUICultureを区別するように、オペレーティングシステムも同様です。したがって、システムのロケールは変更できますが、表示言語は変更されている可能性があります。あるいは、変更を有効にするためにlogout + loginを忘れたかもしれません。 superuser.comで正しく設定するためのヘルプが必要です –

答えて

1

ControlPanel-> Region-> Formatats設定は.resxファイルには適用されません。デフォルトの言語を指定するのはControlPanel-> Region-> Languageです。

What is the difference between CurrentCulture and CurrentUICulture properties of CultureInfo in .NET?

また、あなたのAppクラス(App.xaml.cs)で、リソースのデフォルトの言語を指定することができます。

public partial class App : Application 
{ 
    protected override void OnStartup(StartupEventArgs e) 
    { 
     base.OnStartup(e); 

     Resources.Culture = System.Threading.Thread.CurrentThread.CurrentCulture; 
    } 
} 

詳細については、以下のリンクを参照してください:https://social.msdn.microsoft.com/Forums/vstudio/en-US/6bfb8d13-3a86-4c10-a632-bb20c99d0535/localization-in-wpf-using-resx-files-for-different-languages?forum=wpf

関連する問題