2017-02-21 3 views
1

Я работаю над приложением, в котором я должен предоставить поддержку нескольких языков при нажатии кнопки. Возможно ли иметь эту функциональность?Локализация в Xamarin Android C#

Просьба предложить как?

+0

на андроид можно использовать @android: строка/значения – Radinator

ответ

0

Вот пример щелчка на кнопке, который меняется на английский. Вы делаете это с другими языками одинаково:

_btnen= FindViewById<Button>(Resource.Id.btnEN); 
     _btnen.Click += delegate 
     { 
      //string _sprache = "EN"; 
      Java.Util.Locale.Default = new Locale("en", "GB"); 
      Resources.Configuration.Locale = Java.Util.Locale.Default; 
      Resources.UpdateConfiguration(Resources.Configuration, Resources.DisplayMetrics); 
      Finish(); 
      Intent intent = new Intent(this, this.Class); 
      StartActivity(intent); 
     }; 
+0

Я использую подобный код, но его не меняя язык с английского на китайский –

+0

, вы добавили строковые ресурсы для своего языка в папку ресурсов приложений? – user1230268

0

Получил решение, этот код действительно работает для меня !!

Android.Content.Res.Configuration conf = this.Resources.Configuration;

если (conf.Locale.Language == "ан")

{

  var languageIso = language; 

    var locale = new Java.Util.Locale(languageIso);// languageIso is locale string 

      Java.Util.Locale.Default = locale; 

     var config = new Android.Content.Res.Configuration { Locale = locale }; 

    this.Activity.Resources.UpdateConfiguration(config this.Activity.Resources.DisplayMetrics); 

      //SetContentView(Resource.Layout.MainActivity); 

      this.Activity.Recreate(); 


     } 
Смежные вопросы