Поддержка языков для андроид

Локализация. חתול מדען (хатуль мадан) — кот учёный

В статье, посвященной ресурсам, мы уже затрагивали эту тему с теоретической точки зрения. Разберем теперь практическую часть. Мы уже умеем пользоваться строковыми ресурсами и меняли строчки, например, Hello, World на Здравствуй, Мир! Но на самом деле это не совсем правильный подход. Для профессионально написанного приложения лучше использовать другой подход. А именно, локализацию.

Что это значит? Мы не будем менять строчку Hello, World, которая будет считаться строкой по умолчанию, а создадим новый локализованный ресурс. Это даст нам дополнительное преимущество, если пользователь запустит приложение на телефоне с английской локалью, то он увидит текст на знакомом ему языке. Если приложение запустит русский пользователь, то он увидит текст на русском языке. Согласитесь — очень удобно.

Напишем приложение, которое будет поддерживать английскую и русскую локализации. По умолчанию будет использоваться английская локализация. В этом случае, если на телефоне не будет найден нужный локализованный ресурс, то будет применяться английский вариант.

Чтобы не усложнять материал, воспользуемся стандартным приложением, который мы изучали в самом начале. Создадим новый проект «LocaleApp», но на этот раз мы не будем трогать файл strings.xml в каталоге res/values.

Для русской локализации необходимо создать новый подкаталог values-ru в том же каталоге res. Если вы планируете создавать локализацию только для русского языка, то название каталога не трудно запомнить и вы можете создать папку вручную через res | New | Directory. Но вряд ли вы запомните названия других папок. Поэтому покажу способ создания с помощью мастера студии.

Щёлкаем правой кнопкой мыши на папке res и выбираем New | Android resource directory. В диалоговом окне в левой части Available qualifiers: выбираем пункт Locale и переносим его в правую часть Chosen qualifiers: с помощью кнопки с двумя стрелками вправо. В появившейся третьей колонке выбираем нужные языки, например, русский. Вы увидите, что в поле Directory name автоматически появится нужное название папки. Дополнительно вы можете указать и регион в колонке Specific Region Only

В режиме Android вы можете не увидеть созданную папку, поэтому временно переключитесь в режим Project. Скопируйте файл res/values/strings.xml и вставьте его в новую папку. Можете вернуться в прежний режим. Если папка не пуста, то она уже видна.

Изменим его содержание.

В английской версии им соответствуют ресурсы

Запустим приложение и увидим, что текст выводится на русском, если у вас на эмуляторе или реальном устройстве выбраны русские настройки.

Как перейти на американскую локаль? Идём в Настройки→Язык и клавиатура→Выбрать язык. Выбираем английский язык English (United States). Снова запускаем приложение в эмуляторе или на телефоне. Теперь наше приложение будет выглядеть так:

Ресурсы из каталога res/values считаются ресурсами по умолчанию. Они отображаются в том случае, когда система не найдёт ресурсы для текущей локали устройства. В нашем случае, при выборе любого языка, кроме русского будет использоваться res/values. Если мы захотим разделить англичан и американцев, тогда придётся создавать два каталога: res/values-en-rUK и res/values-en-rUS. Обратите внимание, что перед кодом второй части ставится буква ‘r’. Иными словами, мы определяем не только язык, но и регион.

Проведем несколько экспериментов. Удалим из файла res/values-ru/strings.xml строковый ресурс hello_world с текстом Здравствуй, Мир!. Сохраним изменения и запустим проект на устройстве с русским языком. Платформа заменила отсутствующий в локализации ресурс дефолтным английским.

Продолжим опыты и поступим наоборот — удалим теперь ресурс из файла res/values/strings.xml. На устройстве выберем какой-нибудь другой язык, например, итальянский. В этом случае вы увидите что-то непонятное, скорее всего вы получите сообщение об ошибке.

Отсюда можно сделать вывод, что вам необходимо следить за ресурсами по умолчанию. Старайтесь проконтролировать, чтобы ваше приложение всегда содержало все необходимые ресурсы по умолчанию, а уже потом можете начинать локализацию приложения. Для этого вам достаточно будет скопировать файл в новый подкаталог и отредактировать его.

На самом деле локализовать можно не только строковые ресурсы. В разных странах принято рисовать какой-нибудь объект в соответствии со своими традициями, например, изображение почтового ящика. В этом случае вы можете создать каталог /res/drawable-de, в котором будут находиться изображения, предназначенные для немцев.

Читайте также:  The hunter android mod

В коде вы обращаетесь к нужным ресурсам следующим образом:

Система сама подставит нужную строку. Явно указать, что хочется использовать ресурс на конкретном языке, у вас не получится.

Спустя продолжительное время один из читателей подсказал, как всё-таки задействовать локальный ресурс. Объяснять код не буду, сами поймёте, когда наберётесь опыта.

Просмотр и создание локализованных строк в режиме дизайна

Чтобы увидеть, как меняется текст в различных локализованных версиях вашего приложения, необязательно запускать приложение в эмуляторе. Можно в студии на панели инструментов щёлкнуть на значке глобуса и выбрать из выпадающего списка нужный вам пункт (он появится после того, как вы создадите необходимые локализованные ресурсы), и все локализованные строчки сразу поменяются на экране активности.

Можно сразу создать локализованный файл через удобный мастер. Там же в меню есть пункт Edit Translations. , который выводит диалоговое окно со списком уже имеющихся строковых ресурсов из вашей программы (раньше). Вам нужно выбрать язык для перевода, а затем заполнить в таблице нужную колонку.

После того, как вы завершите перевод всех ресурсов, нажимаете на кнопку OK и у вас появится готовая папка с новым файлом strings.xml для выбранной локализации.

Сейчас в студии вместо диалогового окна выводится окно редактора, в котором можно редактировать текст.

Непереводимая игра слов с использованием местных идиоматических выражений

Если вы решили использовать локализацию на разных языках, то можете встретиться с одной проблемой. Предположим, вы перевели только несколько строковых ресурсов и в один прекрасный день решили выложить программу в магазин приложений. Android Studio при сборке подписанного приложения может заругаться, что вы перевели не все строки. Есть два способа обхода проблемы. Вы можете использовать атрибут translatable=»false», чтобы указать среде разработке, что данная строка не требует перевода:

В окне редактора это сделать проще через флажки в столбце Untranslatable.

Второй вариант — явно указать, что все строки в файле не нужно переводить с помощью tools:ignore=»MissingTranslation».

Есть ещё один вариант, когда непереводимые строки размещаются не в ресурсе strings.xml, а в другом файле под именем donottranslate.xml.

Когда вы исправите строковые ресурсы, то избавьтесь от ошибок через Project | Clean. и попытайтесь собрать приложение заново.

Поддержка письма справа налево

Арабы и некоторые другие народы используют непривычную для европейцев схему написания текстов справа налево. В Android 4.2 появилась поддержка данного режима. В блоге (англ.) Native RTL support in Android 4.2 рассказано о некоторых вещах по этой теме.

Теперь вы можете писать приложение для израильских военкоматов. Русские призывники в интервью офицерам душевного здоровья часто используют сочетание хатуль мадан (חתול מדען). Теперь вы знаете, как локализовать строки пушкинского стихотворения про кота учёного.

Несколько локалей

В Android 7.0 (API 24) пользователь может установить несколько локалей. В этом случае, если не будут найдены ресурсы для первой локали, то будут искаться ресурсы для второй локали. Таким образом, если француз знает два языка, например, французский и испанский, а в приложение не поддерживает французского, но поддерживает испанский, то пользователь увидит текст на испанском, а не на английском.

Источник

Как добавить русский язык на Андроид-смартфон

Уровень сложности: для начинающих. Главное удобство управления любым смартфоном заключается в понятном и лаконичном расположении всех элементов и пунктов меню. Но как быть в том случае, если языковые настройки гаджета отличны от «великого и могучего», а для навигации по подпунктам меню требуется полная русификация устройства? Все надписи отображаются на английском, или, что ещё хуже, на китайском? Не проблема! В этой инструкции мы расскажем о том, как добавить русский язык на Андроид-смартфон из меню системы и сторонних русификаторов, а также, как добавить русскую раскладку клавиатуры.

Установка русского языка из меню Андроид

Для того чтобы установить русский язык в качестве системного, на большинстве смартфонов достаточно выполнить несколько простых шагов. Мы прилагаем несколько вариантов скриншотов одних и тех же пунктов меню на английском и китайском языках. Именно они помогут добраться до нужного места в настройках.

1. Откройте Settings («Настройки») и найдите пункт Language & Input («Язык и ввод»).

2. В открывшемся меню выберите Language («Язык»).

3. В предложенном списке найдите «Русский» и, единожды тапнув по нему, установите в качестве системного.

В случае, если в списке отсутствует русский язык, потребуется загрузка русификатора из магазина приложений Google Play.

Читайте также:  Pummel party для андроид

Установка русификатора

1. Для установки русского языка на смартфон, в списке языковых настроек которого его наличие не предусмотрено, из магазина приложений Google Play загрузите утилиту MoreLocale 2.

2. Установив приложение MoreLocale 2, получите права доступа для разработчиков. Для этого откройте меню Settings («Настройки») — About («О телефоне»).

3. В открывшемся меню найдите пункт Build Number в котором указана версия прошивки, установленной на вашем устройстве.

4. Продолжайте тапать до появления надписи You are now a developer («Теперь вы разработчик»). Нажмите клавишу «Назад». В списке настроек появится дополнительный пункт меню — Developer options («Для разработчиков»).

5. Откройте этот пункт и в списке, найдите USB (Android) Debugging («Отладка по USB») и поставьте соответствующий ползунок в положение On.

6. Загрузите архив с исполнительным ADB-файлом (скачать) и разархивируйте папку ADB в корень диска C.

7. Подключите смартфон к компьютеру, работающему под управлением операционной системы Windows. Запустите командную строку и для перехода в директорию с только что скачанным приложением введите команду: cd c:\adb.

Для того чтобы убедиться, что смартфон определился системой, в командной строке введите следующую команду: adb devices и нажмите клавишу Enter.

Если устройство опознано, в командной строке отобразится его кодовое имя.

8. Введите следующую команду: pm list packages morelocale, после чего еще одну: pm grant jp.co.c_lis.ccl.morelocale android.permission.CHANGE_CONFIGURATION. Финальный экран командной строки должен выглядеть так:

Отключите смартфон от компьютера и откройте приложение MoreLocale 2.

9. В списке языков появится «Русский». Выберите его.

Система автоматически перейдет на русскую локализацию. Русификация окончена.

Установка русской клавиатуры

Для установки русской клавиатуры достаточно загрузить соответствующую клавиатуру из магазина приложений Google Play.

1. Скачайте приложение «Google Клавиатура».

2. Откройте «Настройки» — «Язык и ввод» и выберите «Клавиатура Google».

3. Перейдите в меню «Язык» и отметьте требуемые языки ввода соответствующими переключателями.

На этом установка русской клавиатуры окончена.

Советуют читатели 4PDA

Советует groove-max: В программе MoreLocale 2 не всегда будет нужный вам язык в списке. Особенно это касается телефонов Samsung. Нужно либо через Custom Locale указывать нужную локализацию, либо добавлять её в список уже существующих через меню программы.

Источник

Как установить русский язык на Android?

Операционная система Android получила очень широкое распространение. Её фактическая бесплатность развязала руки китайцам. К производству смартфонов приступили даже самые мелкие компании из этой страны. Зачастую они делают упор на низкую стоимость своих творений. Само собой, продавать свои товары эти производители стараются не только в родном Китае, но и за пределами страны, используя для этого те или иные интернет-магазины. И иногда покупатель сталкивается с одной проблемой — полученное им устройство имеет интерфейс, выполненный на английском или китайском языке. В этой статье мы покажем, что русификация китайского Андроида не представляет собой ничего сложного.

Использование меню Android

Следует заметить, что по умолчанию компания Google внедряет в свою операционную систему поддержку нескольких десятков языков. Есть среди них и русский. Избавиться от тех или иных языков может производитель смартфона — например, ради уменьшения объема памяти, который будет занимать операционка. Но практика показывает, что в последнее время крупные и не очень компании перестали трогать языковые пакеты.

Ещё нельзя не отметить тот факт, что при первом запуске смартфон должен предложить выбрать язык. Это касается практически всех версий Android. Если он вам это сделать не предлагает, то устройство уже кто-то запускал до вас. Но это не страшно, так как установить русский язык на Андроид можно едва ли не вслепую. Для этого совершите следующие действия:

Шаг 1. Перейдите в «Settings». Если у вас вместо английского языка — иероглифы, то ориентируйтесь на внешний вид иконки, которая должна быть похожа на шестерёнку. В последних версиях операционки её можно найти не только в меню, но и в панели уведомлений, если её выдвинуть полностью.

Шаг 2. Проследуйте в раздел «Language & Input». Обычно рядом с его наименованием находится простейшее изображение земного шара.

Шаг 3. Нажмите на пункт «Language». Он находится в самом верху.

Шаг 4. Вам предложат список языков, зашитых в операционную систему. Выберите среди вариантов «Русский».

На более современных смартфонах порядок действий будет немного отличаться. Как правило, нужный параметр скрыт в расширенных настройках, в других подменю, либо просто не имеет каких-то опознавательных знаков. Особенно проблематично в такой ситуации сменить язык системы не с английского, а с китайского (актуально, если вы заказали смартфон с Aliexpress). Если это ваш случай, то попробуйте выполнить следующие действия:

Читайте также:  Гугл запретил для андроид

Шаг 1. Перейдите в настройки (как правило, это иконка в виде шестеренки) и вбейте в строке поиска «yuyan» или скопируйте иероглифы «语言».

Шаг 2. Теперь найдите в списке иероглифы «语言». Обратите внимание, что во время поиска высвечиваются разные подменю. Поэтому выберите ту строку, которая также оканчивается иероглифами «语言» (либо просто переключайтесь между каждой строкой по очереди). Если вы все сделали правильно, то откроется меню выбора языка. Здесь остается найти нужный. В нашем случае это «Русский». После этого язык системы будет изменен.

Если смартфон на английском, то изменить язык можно аналогичным способом. Просто вместо иероглифов вбейте в поиск «language», а затем выставите нужный параметр.

Вот и всё! Однако, как мы уже сказали выше, в списке может не оказаться русского языка, если производитель решил его проигнорировать. Тогда вам нужна специальная программа для русификации.

Использование русификатора MoreLocale 2

В Google Play имеется не так много русификаторов, как того хотелось бы. Одним из них является MoreLocale 2. Приложение является бесплатным и совместимым с огромным количеством устройств. Фактически оно содержит в себе все те языковые пакеты, которые имеются в операционной системе Android по умолчанию, до воздействия на неё китайского производителя.

Для начала вам необходимо установить данную программу. После этого совершите следующие действия:

Шаг 1. Активируйте раздел настроек «Для разработчиков». В нашей недавней статье уже писалось о том, как это сделать. В случае с англоязычной версией операционки вам нужно для начала проследовать в «Settings».

Шаг 2. Далее нажмите на пункт «About Phone».

Шаг 3. Здесь тапните примерно 7-10 раз по пункту «Build Number». Это активизирует права доступа для разработчиков, о чём уведомит всплывающее уведомление «You are now a developer».

Шаг 4. Нажмите клавишу «Назад». Проследуйте в только что появившийся раздел «Developer Options».

Шаг 5. Здесь необходимо активировать флажок около пункта «USB Debugging», тем самым включив режим отладки по USB..

Шаг 6. Теперь вам потребуется архив с исполнительным ADB-файлом. Скачайте и распакуйте его в корень диска C своего компьютера.

Обратите внимание, что версии для Windows XP и последующих версий этой операционной системы отличаются!

Шаг 7. Подключите девайс к компьютеру при помощи USB-кабеля. Далее запустите командную строку. Для этого откройте меню «Пуск» и введите в поисковое поле «adb» (без кавычек), щелкнув левой кнопкой мыши по отобразившемуся результату.

Шаг 8. Введите в командную строку следующее: cd c:ADB. Нажмите Enter.

Шаг 9. Введите команду «adb devices», после чего нажмите Enter. Так вы увидите кодовое имя подключенного к компьютеру устройства. Если система не может определить смартфон, то что-то пошло не так — вполне возможно, что вы используете некачественный кабель.

Шаг 10. Введите по порядку следующие команды:

  • pm list packages morelocale
  • pm grant jp.c.c_lis.ccl.morelocale android.permission.CHANGE_CONFIGURATION

Обратите внимание: командная строка не поддерживает функцию копирования. В связи с этим вводить весь текст придется вручную.

Шаг 11. Отключите смартфон от компьютера и откройте программу MoreLocale 2.

Шаг 12. Найдите в списке языков «Russian». Нажмите на этот пункт.

Система автоматически будет локализована. На этом ваши действия завершены!

Русификация клавиатуры

Интересно, что после изменения языка системы абсолютно ничего не поменяется в виртуальной клавиатуре. Если там ранее предлагались английский и китайский языки, то они же останутся и после локализации Android. К счастью, установить русский язык для клавиатуры гораздо проще, чем для самой системы. Особенно после того, как компания Google сделала свою клавиатуру отдельным приложением, позволив его скачать из интернет-магазина.

Шаг 1. Скачайте программу Google Клавиатура.

Шаг 2. Теперь проследуйте в «Настройки» и посетите пункт «Язык и ввод».

Шаг 3. Здесь нажмите на пункт «Клавиатура Google».

Шаг 4. Нажмите на пункт «Языки».

Шаг 5. Отметьте нужные вам языки. Или активизируйте пункт «Язык системы», если Android уже русифицирован.

Вот и всё, на этом русификация клавиатуры завершена! Само собой, точно таким же образом вы можете включить русский язык и на любой другой виртуальной клавиатуре, если она это поддерживает (некоторые из них обладают лишь латинской раскладкой).

Источник

Оцените статью