У процесі впровадження традиційної та спрощеної китайської підтримки в моєму додатку для Android я заплутався у тому, як це має працювати.
Так от читання документації , а також деякі дискусії , як це і цього я клав спрощеним китайців в
- значення-ж
- значення-zh-rCN
- значення-ж-рСГ
і традиційні китайські в
- значення-zh-rTW
- значення-ж-рХК
Це все працює нормально, але якось не має сенсу для мене (вибачте, якщо я недостатньо розумію китайське спрощене та традиційне використання).
З того, що я зрозумів, перевіряючи діалогове вікно налаштування мови в емуляторі, а також на корінному телефоні, користувач може змінити мову на спрощену китайську або традиційну китайську.
Тепер ось питання. Як система знає, де взяти спрощений або традиційний китайський strings.xml. Чи є в цьому певне припущення, яке говорить, якщо я повинен відображати спрощений китайський, отримати його з values-zh і отримати традиційний з values-zh-rTW?
Але що, якщо користувач знаходиться в Гонконгі і налаштує свій пристрій на відображення спрощеної китайської мови? Або що, якщо емігрант десь у світі налаштовує свій пристрій на традиційну китайську мову, але його регіон, наприклад, США чи Каліфорнія?
Що я повинен зробити, щоб дозволити моїм користувачам встановлювати свою локаль і відображати мою програму з правильною мовою?
Оновлення:
З подальшого розслідування я вважаю, що користувач телефону Android не може встановити країну окремо від мови. Вони можуть встановити лише те, що називається мовою в інтерфейсі. Він складається з мови та країни, але список обмежений, тому багато комбінацій неможливі.
Наприклад, китаець, який мешкає в США і хоче використовувати традиційну китайську мову, може встановити мову традиційною китайською (принаймні на корінному телефоні), а потім матиме мову zh-rTW. Він жодним чином не міг визначити свою країну окремо США. Подібним чином будь-який вид емігрантів не може встановити рідну мову з країною, в якій зараз живе.
В основному це означає, що підтримується лише купа поєднань мови та країни. Тепер питання полягає в тому, як дізнатися, які вони?