1

テスト目的で、ダミー アプリケーションをローカライズして、ニーズに最適なものを確認しようとしています。

WPF Localization Extensionを試してみたかった.

だから私:

  1. まったく新しい WPF アプリケーションを作成し、メイン ウィンドウを作成しました。

  2. ナゲットによる WPF ローカリゼーション拡張機能への参照を追加しました。

  3. 名前付きの1つのresxLocalization.resxと1つのresxを作成しましたLocalization.fr.resx

  4. 「WelcomeText」キーのテキストを両方の resx に追加しました。

  5. メイン ウィンドウでは、次のように入力します。

    xmlns:lex="http://wpflocalizeextension.codeplex.com"
    lex:LocalizeDictionary.DesignCulture="en"
    lex:ResxLocalizationProvider.DefaultAssembly="LocalizedApplication"
    lex:ResxLocalizationProvider.DefaultDictionary="Localization"
    

    ウィンドウ宣言で

  6. TextBlockグリッド内に 1 つ追加しました。<TextBlock Text="{lex:Loc WelcomeText}" />

アプリケーションを実行すると、テキストが英語で表示されます。

ここで、App.cs コンストラクターに次を追加します。

    public App():base()
    {
        Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr");
        Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture;
        CultureInfo.DefaultThreadCurrentCulture = Thread.CurrentThread.CurrentUICulture;
        CultureInfo.DefaultThreadCurrentUICulture = Thread.CurrentThread.CurrentUICulture;
    }

FR でアプリケーションをテストします。再構築して再起動しましたが、まだ英語でメッセージが表示されます。

だから最初に:私は何を間違えましたか?次に: 実行時に現在のカルチャを変更するにはどうすればよいですか?

4

1 に答える 1

3

実際、私はちょうど答えを見つけたと思います。

CurrentCulture を使用していないようで、次のように設定する必要があります。

LocalizeDictionary.Instance.Culture = new CultureInfo("fr");

問題が発生して申し訳ありません

于 2015-08-26T09:30:29.183 に答える