0

im программирование приложения с использованием форм xamarin И я хочу, чтобы он поддерживал 3 языка английский freinch и арабский Как я могу это сделать ??
Я могу это сделать, но только на том языке, на котором установлено приложение, например, если эмулятор использует арабский язык, приложение отобразит арабский язык, как я могу заставить пользователя выбрать язык, который он хочет, как кнопку или что-то может кто-нибудь помогите мне, пожалуйстаXamarin формирует многоязычное приложение

Я хочу, чтобы это как изменение времени выполнения в языках как Facebook у добираются, чтобы выбрать язык на странице авторизации и не забочусь о языке устройства

заранее спасибо

+0

https://developer.xamarin.com/guides/xamarin-forms/advanced/localization / – SushiHangover

ответ

1

Я думаю, вы можете взглянуть на этот образец формы Xamarin. Использует файлы RESX.

TodoLocalized

В вашем коде, вы можете создать палитру с описанием языка. Например

List<string> _language = new List<string>(); 
    List<string> _languageDescription = new List<string>(); 

    // Strings used to identify RESX 
    _language.Add ("it"); 
    _language.Add ("en"); 

    // Strings visualized in picker 
    _languageDescription.Add (AppResources.Italian); 
    _languageDescription.Add (AppResources.English); 

    // Fill the picker with _languageDescription values 
    Picker _pickerLanguage = new Picker(); 
    _pickerLanguage.Items.Clear(); 
    foreach (string language in _languageDescription) 
     _pickerLanguage.Items.Add (language); 

    // When I select a language, I change the AppResource.Culture value 
    _pickerLanguage.SelectedIndexChanged += async (object sender, EventArgs e) => { 
      if(_pickerLanguage.SelectedIndex >= 0){ 

       // Search the "_language" value that has the same index of selected _languageDescription value 
       string myLanguage = _language [_languageDescription.FindIndex (o => o == _pickerLanguage.Items [_pickerLanguage.SelectedIndex])]; 

       // Modify the culture 
       AppResources.Culture = new CultureInfo (myLanguage); 

      } 
     }; 

Теперь вы должны обновить страницу, чтобы увидеть строки с новым языком

Надежда эта помощь