Что означает в телефоне локализация

В статье, посвященной ресурсам, мы уже затрагивали эту тему с теоретической точки зрения. Разберем теперь практическую часть. Мы уже умеем пользоваться строковыми ресурсами и меняли строчки, например, 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

localeapp4

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

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

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

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

localeapp1

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

localeapp2

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

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

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

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

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

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

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

Содержание

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

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

localeapp6

localeapp3

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

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

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

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

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

locale3

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

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

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

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

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

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

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

Источник

Локализация мобильных приложений: основные сложности и лайфхаки

yfnntn6sm8z58oefsvg fbwk2ni

«Изменения неизбежны. Рост не гарантирован».
— Джон Максвелл

Хотя цитата Максвелла и может показаться чрезмерно обобщённой, но она абсолютно применима и к разработке приложения.

То есть если у вас есть приложение и на него есть локальный спрос, когда-нибудь вы встанете перед выбором: выходить на новые рынки или нет, что в конечном итоге означает отказ от доли рынка и роста. На самом деле, для разработчиков продукта, нацеленных на рост, это всего лишь пресловутый выбор Хобсона. То есть когда именно начнётся локализация мобильных приложений — лишь вопрос времени.

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

Читайте дальше, мы вот-вот собираемся погрузиться глубже в тему.

1. Изучите рынок приложения как свои пять пальцев

Самая большая опасность при вводе в приложение новых локалей — плохо знать своих пользователей. В первую очередь, вы должны убедиться, что ваше приложение хорошо примут на новом рынке, и его ROI (return-on-investments) будет положительным.

Здесь вам помогут два простых вопроса:

Изучите целевую аудиторию до локализации вашего приложения

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

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

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

Изучите локализации конкурентов в целевом регионе

Обратите внимание на проекты по локализации конкурентов — какое приложение было радушно принято, а какое потерпел фиаско. И главное — почему?

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

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

Обеспечьте клиентскую поддержку для локализованного приложения

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

2. Обратите внимание на культурные различия

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

Так как же культурные различия проявляются в локализованной версии приложения? Некоторые особенности могут сыграть огромную роль при локализации — термины, шутки, цветовая гамма, числа, меры и целые изображения. Держать всё это под контролем очень сложно, если вообще возможно, тем более, если вам нужно локализовать своё приложение на 10 или 20 языков всего за несколько недель.

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

У нас есть яркий пример, как мы справились с культурными различиями — проект локализации игры Streets of Rogue. Самым сложным было локализовать диалоги и юмор, характерные для жанра rogue-like, на 7 языков всего за 2 недели — пришлось по особому подойти к подбору соответствующих лингвистов для проекта. Однако, по нашему скромному мнению, в итоге всё вышло хорошо, и на проекте было много забавных моментов — посмотрите сами!

Примеры перевода некоторых смешных диалогов в игре Streets of Rogue

3. Будьте готовы окунуться в процесс перевода

Конечно, необходимо нанять опытных переводчиков, но на этом работа не заканчивается, а напротив, только начинается.

Создание глоссария приложения

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

Актуализация памяти переводов

Эту часть работы обычно выполняет команда по локализации. К примеру, мы в Alconost создаём и поддерживаем память переводов для каждого языка — базу данных всех переводов, когда-либо загруженных в систему управления переводами.

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

Будьте на связи со своей командой по локализации

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

4. Выполняйте локализацию технически грамотно — избегайте повторяющихся и механических задач

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

На схеме ниже мы показали, как примерно выглядит процесс локализации в нашей компании.

Исходя из опыта, мы советуем максимально адаптировать процесс непрерывной локализации (continuous localization) к непрерывной поставке (continuous delivery). Тем самым вы обеспечите непрерывную независимую работу обоих потоков — agile-логика. Кроме того, локализация будет тестироваться в рамках стандартного процесса QA (quality assessment).

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

Системы управления переводами

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

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

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

Итак, первая проблема на этом этапе — извлекаемость ресурсных файлов.

Давайте внимательнее рассмотрим некоторые другие узкие места: предупреждён — значит вооружён!

Фактор узкого места №2: Кодировка переводов

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

Мы рекомендуем всегда, по возможности, использовать Юникод вместо ASCII. А именно, наиболее распространённую и компактную кодировку UTF-8. Так что, пожалуйста, убедитесь, что передаёте локализационные файлы в правильной кодировке.

Фактор узкого места №3: жёстко закодированные строки

Ещё одно больное место — жёстко закодированные строки или такие строки, которые можно извлечь только с помощью специального инструмента. Проблема в том, что текст в этих строках не извлекается при прохождении через обычные преобразователи и, как следствие, не локализуется.

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

Фактор узкого места №4: числовые форматы и единицы измерения

Обратите внимание на то, чтобы числа и единицы измерения находились внутри текста и в контексте. Вот небольшой пример, как надо и не надо делать:

Нет: «Мама съела» + %num + «яблок».
Да: «Мама съела %num + яблок».

Фактор узкого места №5: ошибки интерфейса

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

Поэтому при создании элементов интерфейса, как правило, имеет смысл закладывать как минимум 30% дополнительного пространства (или больше, если это возможно) для других языков. Это особенно актуально для коротких строк (пунктов меню, форм и т. д.).

Ещё один совет: делайте дизайн интерфейса, опираясь на худший с точки зрения возможной длины текста язык локализации. Например, немецкая версия текста в среднем на 30% длиннее английской, а текст на русском языке — в среднем на 10% длиннее. То же самое обычно справедливо для арабской локализации. Между тем традиционные китайские иероглифы, как правило, требуют на 30% меньше места, чем латинский алфавит.

5. Соберите команду по локализации и организуйте процесс

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

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

Мы надеемся, что эти советы были полезны, и желаем вам удачи в ваших проектах по локализации!

Статья написана в Alconost.

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

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

Источник

Локализация мобильных приложений или перевод — что выбрать?

IMG 7465

Content Marketing Manager, Appbooster

За что мы любим мобайл? В числе прочего, за то что ваш проект не ограничивается в масштабировании и в теории способен получить мировой охват. Вы провели мягкий запуск, отстроили аналитику, сделали ASO и готовы двигаться дальше. На какой язык вам надо перевести приложение в первую очередь? Для каких стран сделать локализацию? Какие версии приложения будут наиболее востребовано в App Store и Google Play? Давайте разберемся вместе.

Что такое локализация мобильного приложения и в чём её отличие от перевода приложения

Разница между этими двумя понятиями очень велика.

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

Локализация — “это перевод и культурная адаптация продукта к особенностям страны, региона или группы населения”. В локализации скрыт не только перевод всех нюансов текста, но перенастройка социальных и культурологических особенностей вашего продукта под новый рынок, вплоть до создания полностью новой версии.

Например, вот как изменилась китайская игра «Троецарствие: В атаку!», которую китайские разработчики выпустили на Западе.

image2 4

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

Какие языки популярны в App Store и Google Play

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

image1 5

Есть общие данные по мировым языкам. Больше всего “нативных” спикеров у китайского, испанского, английского, хинди, диалектов арабского, португальского, бенгази, русского, японского, панджаби.

Языки, на которых говорит больше всего человек в мире — английский, китайский, хинди, испанский, французский, арабский, русский, бенгальский, португальский, индонезийский.

Еще один источник информации — топ стран по загрузкам в 2018 году. По данным Sensor Tower больше всего установок в четвертом квартале 2018 случилось в Индии, после неё идут США, Бразилия, Индонезия и Россия:

image3 6

Обратите внимание, что в Китае недоступен Google Play и это может вносить искажения в именно эту статистику.

Следующие данные можно почерпнуть в количестве интернет-пользователей, разговаривающих на тех или иных языках. В 2017 году самыми популярными языками в сети были английский, китайский и испанский. С тех пор значительно выросли Индия и Латинская Америка, и все же, тройка первых на 2019 год остается такой же:

image6 3

Самые большие игровые рынки по языкам — китайский, английский, японский и латиноамериканский испанский:

image7 4

Наконец, от агентства локализации LocalizeDirect — 10 самых популярных языков для локализации игр. Больше всего спрос немецкий, французский и испанский:

image5 4

Самые быстрорастущие языки — турецкий, малайский, хинди:

image4 17.36.48

Какие языки выбрать для локализации в первую очередь

Обратите внимание на очень интересный график от AllCorrect. На нем есть такая интересная графа, как доходы игрового рынка. При всех допущениях можно, наверное, транслировать ее и на весь рынок. Таким образом, самыми лучшими языками по объему рынка будут:

Если же учесть ROI (и все проблемы именно с локализацией продукта и выходом на рынок) и предположить, что вы делаете продукт из России, то целесообразнее всего для начала выбрать:

Почему тут нет Китая и Японии? В Китае в силу правительственного регулирования всей отрасли, крайне сложна́ публикация приложений и игр. Кроме того, для Японии, Китая и Кореи вам понадобятся большие инвестиции в переделку всего продукта, поиск локальных маркетинговых агентств и налаживание связей с ними, организацию промо-кампаний. С этой точки зрения аудитории, разговаривающие на испанском, немецком и французском требуют гораздо меньше усилий по масштабированию.

Совершенно точно, что у каждого языка и рынка есть свои особенности. Если вам нужна помощь с локализацией, масштабированием, выходом на новые рынки и маркетингом — напишите нам. Мы заинтересованы в мировых проектах и росте вместе с вами!

IMG 7465

Content Marketing Manager, Appbooster

Популярные

lesson 6

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

Источник

Telefonu.top - справочник телефонных номеров
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии