Языковые файлы для андроид

Как установить русский язык на 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 уже русифицирован.

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

Источник

Русский Языковой Пакет — скачать Русский Языковой Пакет на андроид

Русский Языковой Пакет — скачать Русский Языковой Пакет на андроид (7 Приложение )

Скачать Цена: Бесплатно

Russian(Русский) Language Pack

Добавьте русский язык в AndrOpen Office

Разработчик: Akikazu Yoshikawa
Категории: Приложения для Андроид, Бизнес, Производительность, Языковой Пакет, Русский Языковой Пакет

| Русский Языковой Пакет Цена: Бесплатно

Скачать Цена: Бесплатно

ai.type России Predictionary

Добавьте русскую раскладку для своей клавиатуры

Разработчик: A.I.type
Категории: Приложения для Андроид, Производительность, Языковой Пакет, Русский Языковой Пакет

| Русский Языковой Пакет Цена: Бесплатно

Скачать Цена: Бесплатно

Russian Language Pack for AppsTech Keyboards

Удобная русская клавиатура для общения с русскоговорящим миром

Разработчик: Apps Technologies
Категории: Приложения для Андроид, Производительность, Инструменты, Языковой Пакет, Русский Языковой Пакет

| Русский Языковой Пакет Цена: Бесплатно

Скачать Цена: Бесплатно

GO SMS Pro Russian language

Переведите свой GO SMS Pro на русский язык.

Разработчик: GO Dev Team
Категории: Приложения для Андроид, Производительность, Русский Языковой Пакет, СМС, Языковой Пакет

| GO SMS Цена: Бесплатно

Скачать Цена: Бесплатно

SpeakEasy Russian

Научитесь произносить русские слова и говорить по-русски.

Разработчик: Pocketglow
Категории: Приложения для Андроид, Производительность, Путешествия, Языковой Пакет, Русский Языковой Пакет

| Русский Языковой Пакет Цена: Бесплатно

Скачать Цена: Бесплатно

Plugin Russian

Плагин на русский язык для клавиатуры вашего смартфона

Разработчик: Honso
Категории: Приложения для Андроид, Производительность, Языковой Пакет, Русский Языковой Пакет

| Русский Языковой Пакет Цена: Бесплатно

Скачать Цена: Бесплатно

Handcent SMS Russian Language

Скачайте русский языковый пакет для Handcent

Разработчик: handcent_market
Категории: Приложения для Андроид, Производительность, Русский Языковой Пакет, СМС, Языковой Пакет

| Handcent SMS Цена: Бесплатно

Последние отзывы и вопросы

Вероника:
Придраться не к чему, очень нравится. … ещё

Выбранные фильтры

Русский Языковой Пакет

Фильтровать по цене

Фильтровать по категории

Игры для Андроид (44655)
Приложения для Андроид (51615)
Темы для Андроид (7278)
  • Разработчики и редакторы контента
  • Разработчики

Подборка лучших приложений и игр на Android

AndroidList
© 2014 AndroidList

Андроид — торговая марка корпорации Google
Все скачивания на AndroidList осуществляются только с официальных сайтов: Google Play, Itunes App Store, Microsoft, поэтому все предоставляемые на нём APK-файлы на 100% безопасные

Источник

Локализация Android-приложений: о чем умалчивает документация

Локализация Android-приложений — намного более сложная задача, чем должна была бы быть. Описание в документации недостаточное: чтобы разобраться в происходящем «под капотом», нужно искать информацию во внешних источниках (на StackOverflow и в блогах) и тренироваться на базовых приложениях типа «Hello World».

В этой статье я разберу некоторые трудности процесса локализации, с которыми я столкнулся в своих приложениях. Решения, которые я буду приводить, не описаны в документации, поэтому я постараюсь быть максимально точным. (Примечание: термины «локаль» и «язык» в статье используются как синонимы.)

Многобукаф? Нажмите Ctrl-F и введите «вывод №».

Введение

В статье говорится о некоторых трудностях локализации, которые не рассматриваются в официальных ресурсах, — то есть, это не руководство по локализации «для чайников».

Перед чтением полезно будет изучить основы локализации Android-приложений (если вы еще не знакомы с этой темой) — прочтите следующие документы:

Проблема № 1. Приложение отображается не на том языке

Разберемся, что происходит в этом случае «под капотом». Допустим, языковые настройки телефона следующие:

Если перевести этот список в псевдокод, получим:

(Примечание. Язык по умолчанию для приложения определяется самим приложением. В одном случае это может быть польский, в другом — немецкий, и так далее, — это язык, файл которого размещен по пути values/strings.xml . К сожалению, указать системе Android язык по умолчанию для конкретного приложения нельзя — и мы с этой особенностью еще столкнемся позже.)

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

Чтобы увидеть, как это происходит, установите языковые настройки так, как показано на скриншоте выше, а затем создайте в Android Studio новое приложение из шаблона «Empty Activity». Откройте res/values/strings.xml и для строки app_name (название приложения) задайте значение «App In Default Language» («Приложение на языке по умолчанию»).

Запустите приложение и проверьте, чтобы оно работало. Название приложения появится слева вверху экрана.

Теперь добавим еще два файла values.xml :

Приложение можно снова запускать, но перед этим подумайте: какое значение app_name будет отображаться?

Разумно предположить, что это будет название на французском: испанский — предпочитаемый язык пользователя, но для этой локали файла strings.xml нет, поэтому система выберет следующий предпочитаемый язык — то есть, французский, для которого файл strings.xml у нас есть. Верно же?

А теперь запустите приложение:

Какого… Как так? Почему не на французском? У нас проблемы с логикой?

Нет. С нашей логикой всё в порядке. Дело в другом.

При создании проекта в Android Studio с ним идут кое-какие библиотеки по умолчанию. Взгляните на файл app/build.gradle :

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

В итоге Android будет считать, что в приложении есть испанская локаль, и попытается найти app_name на испанском. Но мы эту переменную не определили, поэтому приложение берет ее в strings.xml по умолчанию и, соответственно, отображает строку «App In Default Language».

Такая ситуация называется загрязнением ресурсов: Android наступает на свои же грабли. Подробнее — здесь и здесь.

Чтобы обойти эту проблему, нужно объявить поддерживаемые языки в файле app/build.gradle .

Таким образом мы удаляет все ресурсы, за исключением французской и английской локали: это позволяет не только избежать загрязнения ресурсов, но и снизить размер APK-файла.

Измените файл app/build.gradle так, как показано выше, и перезапустите приложение:

Отлично. А если удалить французский язык из списка поддерживаемых?

Работает как ожидалось… за исключением одного случая.

«Один случай»

Давайте кое-что немного поменяем. Приведем список предпочитаемых языков к такому виду:

Теперь удалим папку resources/values-en из проекта и добавим новый файл values-es/strings.xml :

Итак, теперь у нас есть файл по умолчанию strings.xml (по-прежнему со строкой «App In Default Language»), его французская и испанская версии.

Удалим английский из списка поддерживаемых языков и добавим испанский:

Прежде чем запускать приложение, подумайте: на каком языке оно будет отображаться?

Если следовать той же логике, что и раньше, это должен быть испанский.

А теперь запустите приложение:

Черт побери… опять?! Мы же только что всё исправили! Или нет?

Поэкспериментировав несколько часов с таким поведением, я пришел к следующему заключению: где-то в кодовой базе Android предполагается, что ресурсы по умолчанию — на английском языке.

Это, на мой взгляд, неверно, но что уж поделаешь.

Выше я говорил, что resConfig удаляет ресурсы всех локалей, кроме объявленных… но я соврал: ресурсы по умолчанию resConfig НЕ УДАЛЯЕТ.

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

Вывод № 1. Обязательно объявляйте языки, поддерживаемые в приложении, — с помощью resConfigs .

Вывод № 2. Если нужно, чтобы приложение поддерживало английский язык, файлы ресурсов по умолчанию должны быть на английском: Android рассчитывает на такое положение дел, поэтому так у вас будет меньше головной боли.

(Если вам английский в приложении не нужен, пропустите второй вывод.)

Проблема № 2. Как узнать текущую локаль приложения?

Казалось бы, найти ответ на такой вопрос должно быть легко, но, к сожалению, это не так: погуглив, вы увидите, что на StackOverflow об этом спрашивали, и не раз.

Причем там есть несколько вводящих в заблуждение ответов, например:

О каждом из этих методов я расскажу подробнее. Но прежде проясним кое-что очевидное, что путают советчики на StackOverflow:

Язык устройства != язык приложения

Первое — это язык, выбранный пользователем в настройках устройства. Второе — это язык, который Android решил использовать для конкретного приложения.

Узнать значение для языка устройства легко:

Итак, с языком устройства мы разобрались — перейдем к языку приложения. К сожалению, официального способа узнать локаль приложения во время выполнения, гарантированно не наткнувшись на ошибку, не существует.

Еще раз: не существует официального способа надежным образом узнать язык приложения во время выполнения.

Почему? Рассмотрим два случая:

Случай 1. Android нашел соответствующий файл «strings.xml» и использует его.

Случай 2. Android не нашел соответствующий файл «strings.xml» и использует файл по умолчанию.

В первом случае следующий код всегда будет возвращать правильное значение:

[[[[ НАЧАЛО БОЛЬШОГО ПРИМЕЧАНИЯ. Ребята на StackOverflow предлагают использовать Locale.getDefault() . Чем это отличается от только что описанного способа?

Я рекомендую почитать документацию по классу Locale. Если вкратце, то Locale.getDefault() используется для целей самой JVM: некоторые операции зависят от локали (например, выбор формата дат), и если не указать для них язык, JVM будет использовать значение, получаемое методом Locale.getDefault() .

Но самое главное отличие в том, что Locale.getDefault() определяется во время запуска приложения, и единственный способ изменить это значение — вызвать Locale.setDefault(новаяЛокаль) самостоятельно. Другими словами, если пользователь изменит настройки языка по умолчанию во время работы приложения, то Locale.getDefault() всё равно будет возвращать значение, определенное во время запуска.

А вот метод getResources().getConfiguration().getLocales().get(0) всегда будет давать актуальное значение (если вы его не кешировали, конечно).

КОНЕЦ БОЛЬШОГО ПРИМЕЧАНИЯ ]]]]

Ладно. Это был первый случай. А что насчет второго?

К сожалению, для случая 2 получить текущую локаль приложения нельзя. Нет официального способа узнать, какой файл strings.xml используется системой Android: локализованный или по умолчанию. Если применить способ для случая 1, мы просто получим локаль устройства.

Еще раз: если у вас случай 2, то метод getResources().getConfiguration().getLocales.get(0) вернет вам локаль устройства, а не приложения.

Однако для решения этой задачи есть обходной путь: нужно добавить в каждый из файлов strings.xml специальную строку (допустим, это будет current_locale ). В испанской версии strings.xml будет current_locale = ‘es’ , в итальянской — current_locale = ‘it’ , в файле по умолчанию — current_locale = ‘en’ (смотрите второй вывод статьи). Теперь достаточно будет в коде приложения вызвать следующий метод: getString(R.strings.current_locale)

Вывод № 3. Получение текущей локали устройства: Resources.getSystem().getConfiguration().getLocales().get(0) . Если уровень API равен 23 или ниже: Resources.getSystem().getConfiguration().locale .

Вывод № 4. Не существует надежного официального способа получить текущую локаль стандартными методами. Но есть обходной путь — см. чуть выше.

Проблема № 3. Как получить список предпочитаемых языков устройства?

В руководствах по Android сказано, что для этого есть новый API — LocaleList (для Android API с уровня 24). Теоретически, при вызове LocaleList.getDefault() вы должны получить список предпочитаемых языков пользователя, заданный в настройках, и он не должен зависеть от приложения — по крайней мере, так говорится в руководствах…

Я поэкспериментировал с LocaleList.getDefault() и могу сказать, что этот метод не всегда возвращает список предпочитаемых языков точно как в настройках.

В каких случаях бывает несоответствие? Проиллюстрирую на примере: предположим, немецкий НЕ ВЫБРАН как предпочитаемый язык и ваше приложение его тоже не поддерживает. Сделаем так:

Каким-то образом в списке, возвращенном методом LocaleList.getDefault() , оказался немецкий… хотя ни телефон, ни приложение его не поддерживают. Смотрим документацию LocaleList.getDefault() :

«Результат обязательно включает в себя локаль по умолчанию, получаемую из Locale.getDefault(), но не обязательно в верхней части списка. Если локаль по умолчанию не вверху списка, это значит, что система установила в качестве ее одну из других предпочитаемых локалей пользователя, заключив, что основной вариант не поддерживается, но вторичный поддерживается.

Внимание: для API >= 24 список LocaleList по умолчанию изменится, если вызвать Locale.setDefault(). В этом методе это учитывается: проверяется вывод Locale.getDefault() и при необходимости пересчитывается список LocaleList по умолчанию.»

Чего-о-о? Я прочел это трижды и всё равно не понял.

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

Вывод № 5. Получение списка предпочитаемых локалей устройства (заданных в настройках): Resources.getSystem().getConfiguration().getLocales() . Это применимо только в API уровня 24 и выше: раньше в качестве предпочитаемого пользователь мог выбрать только один язык.

Заключение

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

Надеюсь, в этой статье мне удалось объяснить, как Android работает с локализацией, и какой API лучше выбрать для конкретного случая.

О переводчике

Перевод статьи выполнен в Alconost.

Alconost занимается локализацией игр, приложений и сайтов на 70 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов.

Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.

Источник

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