имя каталога ресурсов для языкового варианта?

При использовании пользовательской локали в android имена каталогов будут, например,

res/drawable-en-rUS
res/values-fr-rCA

, где -r указывает регион (страну), в которой говорят на этом языке.

А что насчет того, когда также указывает региональный вариант? Мой клиент попросил, чтобы мы поддерживали английский, китайский и три (3) варианта японского языка. (*)

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

locale = new Locale(lang, country);
Locale.setDefault(locale);
config.locale = locale;
mContext.getResources().updateConfiguration(config,mContext.getResources().getDisplayMetrics());

и использую каталоги ресурсов с таким названием:

/res/drawable-en
/res/drawable-cx
/res/drawable-ja
/res/drawable-ja-rHI
/res/drawable-ja-rFU

Хотя этот работает ; две нижние записи - это хаки. Я использую вымышленные названия стран в качестве регионов, когда мне действительно нужно, чтобы они были чем-то вроде

/res/drawable-ja-rJP-vHI
/res/drawable-ja-rJP-vFU

, чтобы указать вариант в Японии.

Есть еще один конструктор Locale () , а именно

] Locale (язык строки, страна строки, вариант строки);

Если я использую это как

locale = new Locale ("ja", "JP", "hi");

Как указать каталоги ресурсов, включая язык, регион и вариант ?

Лучший ресурс, который я нашел на Предоставление альтернативных ресурсов приложения , не показывает, как это сделать.

( *) они запросили следующие варианты на японском языке:

  • только хирагана
  • хирагана с фуриганой над кандзи
  • нормальный с кандзи + хирагана

5
задан Community 23 May 2017 в 12:15
поделиться