![](https://habrastorage.org/webt/yf/nn/tn/yfnntn6sm8z58oefsvg_fbwk2ni.jpeg)
«Изменения неизбежны. Рост не гарантирован».
— Джон Максвелл
Хотя цитата Максвелла и может показаться чрезмерно обобщённой, но она абсолютно применима и к разработке приложения.
То есть если у вас есть приложение и на него есть локальный спрос, когда-нибудь вы встанете перед выбором: выходить на новые рынки или нет, что в конечном итоге означает отказ от доли рынка и роста. На самом деле, для разработчиков продукта, нацеленных на рост, это всего лишь пресловутый выбор Хобсона. То есть когда именно начнётся локализация мобильных приложений — лишь вопрос времени.
Успешно выполнить проект по локализации — задача не из лёгких. Есть множество подводных камней и факторов успеха, влияющих на рабочий процесс. Поэтому мы в Alconost решили поделиться с вами нашим многолетним опытом. Надеемся, эти экспертные советы сэкономят вам время, усилия и бюджет.
Читайте дальше, мы вот-вот собираемся погрузиться глубже в тему.
Написано в Alconost
1. Изучите рынок приложения как свои пять пальцев
Самая большая опасность при вводе в приложение новых локалей — плохо знать своих пользователей. В первую очередь, вы должны убедиться, что ваше приложение хорошо примут на новом рынке, и его ROI (return-on-investments) будет положительным.
Здесь вам помогут два простых вопроса:
- Ваше приложение востребовано на местном рынке?
- Готовы ли местные пользователи за него платить?
Изучите целевую аудиторию до локализации вашего приложения
Ваше исследование должно учитывать различные подробности о ваших пользователях: демографическое соотношение, поведение, образ жизни, технологические привычки и предпочтения, культурные представления, социальные тенденции и многие другие характеристики.
Результаты могут указать на то, что, хотя приложение, которое вы предлагаете, по всей видимости, должно заинтересовать целевую аудиторию, в нём необходимо дифференцировать дизайн или платные функции. К примеру, может быть так, что некоторые бесплатные фичи окажутся в данном регионе более ценными, чем платные. То есть имеет смысл адаптировать платную подписку и её функционал.
Другой пример — дизайн и цветовая гамма. По нашему опыту, часто имеет смысл адаптировать дизайн интерфейса и скриншоты под каждый целевой регион.
Изучите локализации конкурентов в целевом регионе
Обратите внимание на проекты по локализации конкурентов — какое приложение было радушно принято, а какое потерпел фиаско. И главное — почему?
Например, если вы хотите запустить мобильное приложение для владельцев домашних животных в Корее, сначала узнайте, кто уже это делал до вас и что из этого получилось. Как говориться, лучше учиться на чужом опыте, плохом и хорошем.
Анализ конкурентов также поможет нащупать, где именно может быть ваше конкурентное преимущество и как его лучше преподнести целевой аудитории.
Обеспечьте клиентскую поддержку для локализованного приложения
Наконец, будьте готовы предоставить клиентам надлежащую поддержку на местном языке и обеспечьте надёжный канал для коммуникации (чат, форум в сообществе, телефонная линия или сообщения внутри приложения). Это важно, поскольку при выходе на новый рынок своевременная обратная связь ценится на вес золота — чем быстрее вы получите фидбэк, тем быстрее вы на него отреагируете.
2. Обратите внимание на культурные различия
Вы можете досконально изучить рыночные показатели, но это не всё, что вам понадобится. Вы также должны понять сущность вашей аудитории, их культуру, ценности, образ жизни и табу. Зачем? Потому что выход локализованных версий продукта — почти то же самое, что его первый запуск, только точечно, на целевом рынке.
Так как же культурные различия проявляются в локализованной версии приложения? Некоторые особенности могут сыграть огромную роль при локализации — термины, шутки, цветовая гамма, числа, меры и целые изображения. Держать всё это под контролем очень сложно, если вообще возможно, тем более, если вам нужно локализовать своё приложение на 10 или 20 языков всего за несколько недель.
Поэтому лучшее, что мы можем посоветовать — привлечь профессиональных специалистов по локализации в ваш проект, чтобы всеми культурными аспектами перевода занимались носители языка и опытные проектные менеджеры.
У нас есть яркий пример, как мы справились с культурными различиями — проект локализации игры Streets of Rogue. Самым сложным было локализовать диалоги и юмор, характерные для жанра rogue-like, на 7 языков всего за 2 недели — пришлось по особому подойти к подбору соответствующих лингвистов для проекта. Однако, по нашему скромному мнению, в итоге всё вышло хорошо, и на проекте было много забавных моментов — посмотрите сами!
Английский | Французский | Немецкий | Русский | Испанский |
How ya doin, fancy pants? | La forme, pingouin ? | Was geht, Schickimicki? | Как дела, фраер? | ¿Cómo estás, elegante? |
*glug glug* | *Glou* *Glou* | *gluck gluck* | Бульк-бульк | * glug glug * |
Blood makes you related. Loyalty makes you family. Meatballs make you fart. | Le sang crée les liens. La loyauté fonde la famille. Les boulettes de viande provoquent les pets | Durch Blut wird man verwandt. Durch Loyalität wird man Familie. Durch Frikadellen furzt man. | Кровь делает нас родственниками. Преданность объединяет нас в семьи. Фрикадельки делают нас пердунами. | La sangre te hace pariente. La lealtad te hace familia. Las albóndigas te hacen tirar pedos. |
HOLY CRAP!!! HOLY HOLY CRAP!!! | BON SANG!!! BON SANG DE BONSOIR !!! | MEINE GÜTE!!! MEINE LIEBE GÜTE!!! | БОЖЕЧКИ!!! БО-ЖЕЧ-КИ, БО-ЖЕЧ-КИ!!! | ¡¡SANTO DIOS!!! ¡¡¡SANTÍSIMO DIOS!!! |
Примеры перевода некоторых смешных диалогов в игре Streets of Rogue
3. Будьте готовы окунуться в процесс перевода
Конечно, необходимо нанять опытных переводчиков, но на этом работа не заканчивается, а напротив, только начинается.
Создание глоссария приложения
По правде, к самому началу локализации есть смысл как следует подготовиться. Это подразумевает подготовку глоссария, списка терминов и имён, которые должны остаться неизменными в процессе локализации. Впоследствии эти ресурсы обеспечивают единообразие перевода.
Актуализация памяти переводов
Эту часть работы обычно выполняет команда по локализации. К примеру, мы в Alconost создаём и поддерживаем память переводов для каждого языка — базу данных всех переводов, когда-либо загруженных в систему управления переводами.
Память переводов в значительной степени оптимизирует процесс непрерывной локализации, обнаруживая нечеткие совпадения (повторяющиеся и частично совпадающие тексты) и обеспечивая стопроцентное единообразие.
Будьте на связи со своей командой по локализации
Это помогает обеспечить достаточный контекст, который, в свою очередь, необходим, чтобы перевод был точным и естественным. Вы потратите время, но в конечном итоге это оправданно. В конце концов, существует ряд облачных платформ управления локализацией, которые позволяют всем членам команды взаимодействовать в режиме реального времени, быстро и отлажено.
4. Выполняйте локализацию технически грамотно — избегайте повторяющихся и механических задач
Когда дело доходит до локализации вашего приложения, постарайтесь не отставать от передовых технологий. Речь идёт не о следовании тренду, а о банальной эффективности, которой способствует построение всего процесса в одной из облачных платформ по локализации.
На схеме ниже мы показали, как примерно выглядит процесс локализации в нашей компании.
![](https://habrastorage.org/webt/xy/eh/1g/xyeh1gaq5ftordxqrjgsy5qmiyk.jpeg)
Исходя из опыта, мы советуем максимально адаптировать процесс непрерывной локализации (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.
→ Подробнее