Xamarin Forms Binding IE Многочисленная локализация - PullRequest
0 голосов
/ 21 мая 2018

У меня есть приложение, которое я нахожусь в процессе локализации.Я использую https://github.com/jamesmontemagno/LocalizationSample в качестве руководства.В приложении есть список языков, позволяющих пользователю переключаться в любой момент.

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

Мой вопрос таков:Каков наилучший подход к локализации неисчислимых?Должен ли я использовать список ключей и переводить их по мере необходимости или иметь несколько списков для каждого языка?

Я думаю что-то вроде следующего:

  • в логике перевода,проверьте ключи, относящиеся к спискам
  • , если это список, прокрутите каждый элемент и переведите его

Другая идея состояла в том, чтобы создать словарь для каждого языка поддержки и переведенного списка.Ключом будет код языка, например, 'en-gb', и тогда, когда язык изменится, я смогу вернуться к тому, что перечислено в словаре.

У кого-нибудь есть предложения о том, как лучше всего его реализовать?

1 Ответ

0 голосов
/ 22 мая 2018

Полагаю, вы хотите перевести IEnumerable<string> ...

Как вы заполняете свои списки?Если вы используете файлы resx (например, AppResources.resx, AppResources.en.resx), это должно быть сделано автоматически.

В вашей ViewModel инициализируйте ваш список следующим образом:

...
MyValues = new List<string>();
mMyValues.Add( AppResources.MyEnumValue1 );
mMyValues.Add( AppResources.MyEnumValue2 );
...

==> Вызов 'AppResources.MyEnumValue2' даст вам текущее значение культуры для ключа 'MyenumValue2' ...

Так что я думаю, что нет никаких проблем?

...