2017-05-15 3 views
-1

私は、開発時にローカライゼーションに関して単一の問題はありませんでしたが、セットアッププロジェクトでアプリケーションをパッケージ化し、インストールされたバージョンから実行した後、他の文化に負荷をかける力。ここで私は、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"); 

それでもアプリケーションは英語で起動しますインストールされたバージョンから実行すると、

私はセットアッププロジェクトのアプリケーションの場所にリソースファイルを追加しましたが、運がまだありません。

私が間違って何をやっている、すべてに感謝を

+0

*「英語モード」*とは何ですか?すべてのコントロールが 'en-US'カルチャを使用しているのですか?私はバインディングに関する問題に直面していることを思い出しています(コンバーターが正しく動作するように文化を具体的に設定する必要があるため)。いずれにしても、質問には何が起きるのか、何が起こるべきかに関する詳細は不足しています。 – Sinatr

+0

設定を読み込む代わりにハードコードの文化はどうですか? –

答えて

0

を助ける私は、私はファイルとしてリソースファイルを追加したセットアップパッケージで 、私が間違っていたものを見つけ が、必要とされるものは、代わりにファイルとしてリソースファイルを追加するのです プロジェクト出力としてリソースファイルを追加する必要があります(衛星アセンブリを生成する)

関連する問題