Выбор столбца в зависимости от языка пользователя - PullRequest
0 голосов
/ 25 мая 2020

Существует класс категорий продуктов с несколькими названиями на разных языках. Как выбрать, привязать и отобразить соответствующее имя для текущего языка в списке? Категория класса:

public int CategoryId {get; set; } 
public string CategoryNameUS {get; set; } 
public string CategoryNameDE {get; set; } 
public string CategoryNameES {get; set; }   
public string CategoryNameCN {get; set; }

et c

Ответы [ 2 ]

0 голосов
/ 26 мая 2020

Создайте словарный ресурс со всеми языками и свяжите его с продуктом по коду (например). Программный поиск названия продукта в соответствии с конфигурацией пользователя.

Вы можете использовать эту ссылку: https://xamgirl.com/handle-multilingual-in-xamarin-forms-without-any-plugin/

Установите текущий язык и региональные параметры. >

Thread.CurrentThread.CurrentUICulture = CultureInfo.InstalledUICulture;

И реализовать что-то вроде этого.

>

public int CategoryId {get; set; } 

public string CategoryName 
{ 
   get { return resources.GetText($"Category{CategoryId}");} 
} 

Замечания: в последнем обновлении Visual Studio были некоторые проблемы с чтением файлов, но есть обходной путь для решения этой ошибки.

Здесь: https://github.com/xamarin/xamarin-android/issues/4664#issuecomment -632986668

0 голосов
/ 25 мая 2020

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

public class Class Category 
{

  public int CategoryId { get; set; } 

  public string CategoryName 
  {
    get {
      // add logic here to return the named based on language selection
    }
  }

  public string CategoryNameUS { get; set; }

  ...

}
...