3

現在のカルチャ情報をフランス語の「fr」に動的に切り替えるカスタムメソッドを呼び出しています

このように、しかしそのメソッドを呼び出した後、私のAndroidアプリはまだ「en」であるデフォルトのカルチャを使用していますが、デバッグモードではカルチャは問題ないようです。私のフォルダは大丈夫です。私は両方を持っており、文字列値が構成されています。フォルダー: resource/values/strings.xml、resource/values-fr/strings.xml。

コンテンツビューなどをリロードする必要がありますか? ここで何が恋しいですか?

    private void SetLocal(string lang) 
    {
        System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(lang);
        System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(lang);
    }
4

3 に答える 3

4

この質問に答えるのが少し遅いことはわかっていますが、解決策を見つけました!! これを試してみてください:

 string cultureName = "fr-FR";
        var locale = new Java.Util.Locale(cultureName);
        Java.Util.Locale.Default = locale;

        var config = new Android.Content.Res.Configuration { Locale = locale };
        BaseContext.Resources.UpdateConfiguration(config, BaseContext.Resources.DisplayMetrics);  
于 2015-02-05T16:25:30.447 に答える
1

今はテストできませんが、これを試してください:

        Resources.Configuration.Locale = new Locale(lang);
        Resources.UpdateConfiguration(Resources.Configuration, Resources.DisplayMetrics);
于 2013-10-08T15:19:10.057 に答える