私は、開発時にローカライゼーションに関して単一の問題はありませんでしたが、セットアッププロジェクトでアプリケーションをパッケージ化し、インストールされたバージョンから実行した後、他の文化に負荷をかける力。ここで私は、Visual Studioからアプリケーションを実行するとき、私は途中で動作するコードの唯一のこの部分を使用しWPFアプリケーションのローカリゼーションはセットアップ後に奇妙な動作をします
if (Properties.Settings.Default["ApplicationCulture"] != null)
{
string culture = Settings.Default["ApplicationCulture"].ToString();
if (!String.IsNullOrEmpty(culture))
{
try
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);
Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);
}
catch (Exception ex)
{
Log.Error("App --> OnStartup --> Culture Exception", ex);
throw;
}
}
}
else
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("tr-TR");
}
FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(
XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
場合でもApp.xaml.csで私のコードがある
Thread.CurrentThread.CurrentUICulture = new CultureInfo("tr-TR");
それでもアプリケーションは英語で起動しますインストールされたバージョンから実行すると、
私はセットアッププロジェクトのアプリケーションの場所にリソースファイルを追加しましたが、運がまだありません。
私が間違って何をやっている、すべてに感謝を
*「英語モード」*とは何ですか?すべてのコントロールが 'en-US'カルチャを使用しているのですか?私はバインディングに関する問題に直面していることを思い出しています(コンバーターが正しく動作するように文化を具体的に設定する必要があるため)。いずれにしても、質問には何が起きるのか、何が起こるべきかに関する詳細は不足しています。 – Sinatr
設定を読み込む代わりにハードコードの文化はどうですか? –