Ресурсы Catalan и Basque в Android
Если вы хотите добавить локальные ресурсы в Android, вам нужно добавить строчный ISO-3166-1 код языка в имя папки ресурса. Пока все хорошо.
Теперь я хочу добавить Catalan и Basque для моего приложения. Согласно списку ISO, я должен добавить values-ca
и values-eu
. Но действительно ли это работает?
Изменить: С помощью пользовательского выбора языка в вашем приложении вы можете обеспечить поддержку языков, даже если они не находятся в меню настроек устройства. Я создал библиотеку, которую я использую для этого в GitHub:
https://github.com/delight-im/Android-Languages
Я не знаю, поддерживает ли Android все ISO-коды, и если эти "второстепенные" языки будут отображаться вообще. Если Android не доступен на этих языках, возможно, устройство даже не распознает этот язык в качестве стандартного языка и просто использует es
для испанского языка.
Может кто-нибудь помочь?
Ответы
Ответ 1
Многие устройства поставляются с ограниченным набором языков в меню настроек, но на самом деле могут быть установлены на любой системный язык с помощью приложения, такого как LocaleSwitch.
Достаточно легко проверить, поддерживается ли Basque, добавив пользовательский локаль в LocaleSwitch, а затем добавив папку ресурсов, чтобы узнать, загружает ли система ресурсы из этой папки автоматически.
Наконец, поддержка "Gingerbread" для Catalan может ссылаться только на включение значений android.R с 2.3, хотя я не могу их увидеть в репозитории фреймворка.
Ответ 2
На самом деле не все языки задокументированы в документах Android, и многие бренды сделали вашу собственную версию Android, которая может изменить ее список, но убедитесь, что если устройство поддерживает каталонские и/или баски, оно будет использовать стандарт ISO, а значения получится rigth, поскольку он преобразуется с помощью сравнения строк.
Возможно, было бы неплохо поместить ручной сменщик, если у вас есть, что большинство устройств не имеют этой поддержки в своих тестах.
Ответ 3
Дело в том, что, если язык не указан в списке выбора языка на устройстве, ресурсы никогда не могут использоваться, поскольку устройство никогда не может быть помещено в эту конфигурацию пользователем.
С другой стороны, если устройство позволяет вам выбрать Basque, он будет использовать этот формат, и ваши ресурсы будут использоваться.
Ответ 4
Теперь мы можем создать нашу папку "values-eu-rES" и иметь наше приложение в Basque, Android Lollipop сделал это.
Ответ 5
Добавив новый язык в LocaleSwitch, вам нужно ввести код ISO 639-1. Например, если вы хотите переключиться на basque, вам нужно ввести "eu". После этого вы увидите новый язык как "vasco".
Это заставляет меня думать, что basque locale поддерживается андроидом.