Хотите раскрыть глобальный потенциал вашего приложения для Android? В этом базовом руководстве по Android Studio вы узнаете. Как начать работу с локализацией Android и адаптировать ваше приложение для международной базы пользователей.
Что такое интернационализация в Android Studio?
Прежде чем мы перейдем к коду. Мы должны понять. Что влечет за собой интернационализация приложения для Android. На мобильном устройстве на базе ОС Android у пользователей есть набор языковых стандартов. Основанный на их местоположении и предпочтениях. Всякий раз, когда запускается приложение. Это приложение может принять решение соблюдать настройки. Установленные пользователем. И отображать весь текст в приложении на основе установленного языка.
Интернационализация своего приложения — отличный способ увеличить свою пользовательскую базу. Поскольку пользователи продукта не чувствуют себя ограниченными из-за наличия иностранного языка. Который они могут даже не понимать.
Знание проекта
В этом уроке мы будем создавать приложение для Android с использованием IDE Android Studio. IDE Android Studio получит пользовательский язык. Установленный на устройстве. И автоматически также установит язык приложения таким же.
Конечно, мы продемонстрируем это только на ограниченном количестве языков в этой демонстрации. А точнее на трех: английском. Японском и французском.
Мы постараемся упростить проект и постараемся создать две функции. Которые дополняют друг друга. Когда дело доходит до создания отличного и локализованного пользовательского интерфейса для конечного пользователя:
- Когда пользователь открывает наше приложение. Приложение автоматически получит установленный язык устройства и установит язык приложения на тот же язык.
- Внутри приложения мы также позволим пользователю изменять язык приложения. Это также изменит язык приложения.
Настройка проекта
Давайте создадим новый проект в Android Studio. Как показано ниже:
Мы назвали наше приложение
Управление зависимостями
В Android управление зависимостями осуществляется с помощью инструмента сборки Gradle. Когда мы создаем проект с помощью Android Studio. Он автоматически добавляет зависимости. Необходимые для настройки проекта.
Для простоты этого руководства — у вас также могут быть разные версии зависимостей и версий SDK — вот наш файл build.gradle уровня приложения для этого проекта:
apply plugin: 'com.android.application' android { compileSdkVersion 26 defaultConfig { applicationId "com.phraseapp.androidinternationalization" minSdkVersion 16 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'). 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs'. Include: ['*.jar']) implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' }
У нас также есть файл build.gradle зависимости корневого уровня. И вот содержимое файла:
// Файл сборки верхнего уровня. В котором вы можете добавлять параметры конфигурации. Общие для всех подпроектов / модулей.
buildscript {
репозитории {
зависимости {
путь к классу ‘com.android.tools.build:gradle:3.0.1’
// ПРИМЕЧАНИЕ: Не размещайте здесь зависимости вашего приложения; они принадлежат
// в отдельных файлах build.gradle модуля
allprojects {
репозитории {
очистить задачу (тип: Удалить) {
удалить RootProject.buildDir
// Файл сборки верхнего уровня. В котором вы можете добавлять параметры конфигурации. Общие для всех подпроектов / модулей.
// Файл сборки верхнего уровня. В котором вы можете добавлять параметры конфигурации. Общие для всех подпроектов / модулей. buildscript { репозитории { google () зависимости { путь к классу 'com.android.tools.build:gradle:3.0.1' // ПРИМЕЧАНИЕ: Не размещайте здесь зависимости вашего приложения; они принадлежат allprojects { репозитории { google () очистить задачу (тип: Удалить) {
Вот как это выглядит при использовании Android Studio версии 3.0.1, которую мы использовали для этого урока.
Создание файлов ресурсов с несколькими строками
Чтобы дать старт нашему процессу локализации для трех поддерживаемых языков. Мы создадим несколько новых папок и файлов в папке res в нашей структуре проекта. Структура файла теперь выглядит следующим образом:
Посмотрите, как есть три папки с одинаковыми именами для
значений:
- каталог значений предназначен для языка по умолчанию. То есть английского
- каталог values-fr предназначен для французского языка
- каталог values-ja предназначен для японского языка
Мы также добавили тот же файл (strings.xml ) во всех трех папках.
Попытка приложения
На данный момент мы будем запускать наше приложение несколько раз и будем изменять только языковой стандарт устройства. Чтобы приложение могло отображать изменения в языковом стандарте:
Конечно, язык по умолчанию. Показанный выше. Отражает используемый английский язык. Давайте теперь изменим это на японский:
Наконец, давайте попробуем французский язык:
Это была самая простая демонстрация поддержки интернационализации нашего приложения. Самое лучшее в этом было то. Что нам на самом деле не нужно было выполнять какие-либо настройки для этого в нашем приложении или на нашем устройстве. Приложение просто выбрало язык с устройства и также использовало этот язык в приложении.
Здесь следует отметить одну вещь: если Android не может найти файл языковой локали или просто определенную строку в файле. Зависящем от локали, он переключится либо полностью. Либо только для этой конкретной строки на файл английских строк по умолчанию
. Это позволяет нам показывать пользователю что-то. А не вообще ничего!
Перевод между текстовыми
Если вы хотите выполнить некоторую динамическую локализацию в своем проекте. А не через файл ресурсов Strings. У вас есть два варианта. Мы объясним эти параметры вместе с примерами использования:
- Возврат языковых данных с сервера: в этом случае вы знаете. Какие данные вы возвращаете с сервера. В объект запроса с устройства на сервер вы можете включить метаданные о языке пользователя. Теперь сервер несет ответственность за возврат ответа на правильном языке. Это очень гибко. Но применимо только тогда. Когда ваш сервер знает. Какие данные нужно возвращать,
- Использование API среды выполнения для целей перевода: также можно использовать API-интерфейсы перевода. Которые переводят текст на ходу. Этот подход может быть использован в приложениях. Таких как разговорные приложения. Где пользователи могут общаться друг с другом. Когда пользователь отправляет сообщение, скажем. На французском языке. А пользователь на другом конце понимает немецкий. Мы можем использовать API для преобразования текста на немецкий. А затем передать его принимающей стороне.
Заключение
Это руководство по Android Studio проведет вас через процесс интернационализации приложения на базе Android.
Мы увидели, как легко интегрировать интернационализацию в Android.
Интернационализация — отличный способ увеличить количество пользователей продукта. Поэтому нет никаких ограничений в отношении того. Как пользователи используют ваш продукт.
Тем не менее. Написание кода для локализации вашего приложения — это одна задача. Но работа с переводами сопряжена с целым рядом новых проблем. К счастью, Phrase может облегчить вашу жизнь как разработчика! Не стесняйтесь узнать больше о Phrase. Обратившись к
Если вас интересует тема i18n в серверной части с использованием Spring Boot. Обязательно ознакомьтесь с другой нашей статьей. В которой также более подробно рассматривается локализация spring Boot.
Последнее обновление 11 декабря 2022 года.