Главная » Учебники » Учебник по локализации приложений для Android

Учебник по локализации приложений для Android

В этом уроке мы покажем, как создать многоязычные приложения для Android.

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

После того, как вы предоставите перевод, ОС Android выберет ресурсы, соответствующие локали пользователя. Если ваше приложение доступно на нескольких языках, Android выберет язык, который использует устройство.

В этом уроке мы рассмотрим следующее:

  1. Процесс локализации приложения
  2. Перевод строк
  3. Локализация изображений
  4. Запуск и тестирование локализованного приложения
  5. Контрольный список локализации
  6. Пример многоязычного Android-приложения для загрузки
Начните переводить сейчас

Нужен перевод для вашего Android-приложения?

ICanLocalize предоставляет профессиональный перевод приложений Android.

Загрузите свой файл ресурсов и получите итоговую стоимость прямо сейчас.

Файл ресурсов Android XML:

C языка:

На язык:

1. Процесс локализации приложения

Android загружает текстовые и мультимедийные ресурсы из каталога «res» проекта. Кроме того, Android может выбирать и загружать ресурсы из разных каталогов в зависимости от текущей конфигурации устройства и локали.

Например, если код загружает строку с именем «R.string.title», Android выберет правильное значение для этой строки во время выполнения, загрузив соответствующий файл strings.xml из соответствующего каталога «res/values».

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

Если локаль «en-US», Android будет искать значение «R.string.title» путем поиска файлов в следующем порядке:

  1. ‘res/values-en-rUS/strings.xml’
  2. ‘res/values-en/strings.xml’
  3. ‘res/values/strings.xml’

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

Давайте рассмотрим пример приложения, чтобы лучше понять процесс локализации. Это очень простое одноязычное приложение, которое отображает изображение страны и текстовое представление в соответствии с языком, установленным в устройстве. Структура проекта будет такой, как показано на рисунке 1.

Рисунок 1: Структура примера проекта

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

Рисунок 2: Снимок примера одноязычного приложения.

Нашим первым шагом к локализации этого приложения является планирование того, как оно должно отображаться по-разному для разных локалей. Мы добавим специфическую для региона информацию для Италии, Франции, Канады и России. Таблица 1 подробно описывает различные варианты отображения для разных локалей.

Таблица 1: Опции отображения для разных локалей

Таблица 2: Расположение «strings.xml» и фоновых изображений для разных локалей

Таблица 2 показывает пути к различным файлам ресурсов и какие из них используются для какой локали.

Как показано в Таблице 1, у нас будет шесть фоновых изображений (5 конкретных локалей и одно по умолчанию). У нас также будет три набора переводов строк (итальянский, русский и французский).

Переводы выполняются в папках с именамиvalues-<language>.

Языковая часть имени папки содержит языковой код ISO и необязательный код региона, которому предшествует строчная буква r.

Например:

  • Без кода региона: fr
  • С кодом региона: fr-rFR или fr-rCA

Приложение выбирает файлы ресурсов для загрузки во время выполнения, в зависимости от локали телефона. Если ресурсы для конкретной локали недоступны, то используются значения по умолчанию. Например, если мы находимся в Швейцарии, а язык телефона установлен на французский, то Android сначала будет искать папку с именем fr-rCH. Если он не может найти его, то ищет fr, и если fr тоже не найден, Android загружает файлы ресурсов для языка, установленного по умолчанию.

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

2. Перевод строк

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

Процедура создания файлов strings.xml выглядит следующим образом:

  1. Переведите файл strings.xml на каждый язык.
  2. Создайте три новые папки в resvalues-it, values-frи values-ru (папка исходных значений уже существует).
  3. Поместите переведенные файлы strings.xml в соответствующие папки.

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

3. Локализация изображений

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

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

Если ваши изображения содержат тексты, рекомендуем создавать копии текстов в файле strings.xml. Таким образом, переводчики смогут переводить только тексты, а вы сможете перестроить локализованные изображения.

Фоновое изображение Папка назначения в рабочей области проекта
Итальянский drawable-it-rIT/background.png
Французский drawable-fr-rFR/background.png
Французский (Канада) drawable-fr-rCA/background.png
Английский (Канада) drawable-en-rCA/background.png
Русский drawable-ru-rRU/background.png
Английский (США) drawable-en-rUS/background.png
По умолчанию (изображение Земли) drawable/background.png

Таблица 3: Фоновое изображение и соответствующие папки назначения.

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

Рисунок 3: Структура примера многоязычного приложения для Android

4. Запуск и тестирование локализованного приложения

Как только локализованные строковые и графические ресурсы добавлены в рабочую область проекта, приложение готово к тестированию. Для его тестирования, можно установить разные локали черезHome > Menu > Settings > Locale & text > Select locale.

В зависимости от конфигурации устройства некоторые устройства могут предлагать только несколько локалей или могут не предлагать альтернативные локали через приложение настроек. Тем не менее, эмулятор Android предложит на выбор все локали, доступные в ОС Android. Чтобы установить в эмуляторе локаль, недоступную в образе системы, можно использовать пользовательскую локаль, доступную на вкладке «Приложение».

На рисунке 4 показаны некоторые ожидаемые результаты, которые можно увидеть после установки региона и языка в телефоне.

Итальянский

Французский (франция)

Французский (Канада)

Английский (США)

Локаль по умолчанию

Рисунок 4: Ожидаемые результаты после локализации.

5. Контрольный список локализации

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

  1. Никогда не кодируйте жестко строки или строковые константы; вместо этого используйте файлы R.string и strings.xml.
  2. Так же не кодируйте жестко изображения или макеты, а используйте R.drawable и R.layout.
  3. Переводите файлы strings.xml и локализуйте свои изображения.
  4. Поместите локализованные ресурсы в соответствующие каталоги под ‘res /’.

Пример многоязычного приложения для Android

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

Попробуйте загружать и экспериментировать самостоятельно:

ICL-LocalizationExample.zip (4MB)

Нужна помощь в переводе вашего приложения для Android?

Мы предлагаем эффективный, точный и своевременный перевод для приложений Android.

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


Ciao Express Yourself«ICanLocalize — лучшее решение для быстрого и высококачественного перевода приложения. С его помощью мы перевели все свои приложения с хорошими результатами и позитивными отзывами наших пользователей. Я рекомендую использовать его вам для своих приложений.»

 

ciao«Мы протестировали ICanLocalize и нашли его очень полезным. Процесс перевода очевиден, что позволяет рассчитать, когда перевод будет завершен. Еще одна особенность, которую мы ценим, заключается в том, что в ICanLocalize встроен (дополнительный) процесс проверки. Мы также переводим на языки, которые сами не знаем, функция проверки очень полезна для нас.»

 

gems«Мой друг порекомендовал мне ICanLocalize, и я очень доволен. Я использую его для всех своих игр.»

 

plant«Мы используем ICanLocalize с 2012 года, и это действительно упростило наш рабочий процесс, когда речь заходит о переводе контента для разных рынков. Больше не нужно искать переводчиков для разных языков, учить их, как использовать инструменты перевода, индивидуально рассчитывать счета и т.д., поскольку ICanLocalize делает все это для нас! Мы используем услуги ICanLocalize для перевода наших веб-сайтов, приложений, информационных бюллетеней и других маркетинговых материалов, и вы всегда можете рассчитывать на быстрые сроки. Я понимаю, что все это заявление звучит как платная реклама или что-то подобное, но я действительно не написал ничего, что не соответствует действительности или не является моим подлинным мнением! Рекомендую ICanLocalize всем!»

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