Информация

Дата основания
2004
Местоположение
США
Сайт
alconost.com
Численность
201–500 человек
Дата регистрации

Блог на Хабре

Обновить
87,16
Рейтинг
Alconost
Локализуем на 70 языков, делаем видеоролики для IT

Правила локализации для разработчиков

Блог компании AlconostРазработка игрЛокализация продуктовУправление продуктомПродвижение игр


Сначала делаем, а думаем потом — или наоборот? Alconost рассказывает, какие особенности локализации стоит учесть на этапе разработки игры.

Эту статью мы написали как ответ на повторяющиеся вопросы разработчиков: «Что с моей игрой не так? Почему перевода недостаточно? Как это исправить?»

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

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

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

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

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

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

Ещё один пример локализации — это перевод текста с числами. В некоторых языковых стандартах, таких как en-US (американский английский) числа иногда нужно записывать словами, а не цифрами. В других языках числам должны соответствовать определенные формы единственного и множественного числа существительных. Например, в русском намного больше вариантов, чем one и more than one, которыми прекрасно обходится английский язык. А в японском и китайском вообще нет форм для множественного числа. Ну, а если числа и тексты в игре зафиксированы в виде статических изображений, просто перевести текст будет недостаточно.

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

Вообще, технические задачи, которые предшествуют локализации, относятся к интернационализации (кратко — «i18n»). Это, как правило, технические проблемы, которых можно было избежать, а на их исправление могут потребоваться усилия со стороны разработчиков.

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

1. Выберите языки локализации заранее


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

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

Возникает вопрос: как лучше выбирать перспективные языки до начала работы над игрой?

  • Проанализируйте локализационные проекты конкурентов. Обычно если конкурирующая игра популярна на определенном рынке, то и ваш локализованный продукт имеет больше шансов на успех.
  • Присмотритесь к локализованным играм в вашем жанре. Например, если вы инди-разработчик и планируете выпустить игру в ретро-стиле, то некоторое представление о потенциальных рынках можно получить, обратив внимание на успешные примеры локализации в этом жанре игр, к примеру, Streets of Rogue, которая локализована на семь языков, не считая английского. Ещё можно рассмотреть этот вопрос с региональной точки зрения. К примеру, видеоигры очень популярны в японской культуре. Поэтому если у вас видео-игра, присмотритесь к Японии уже на самых ранних этапах разработки.
  • Изучите, какие языки локализации самые востребованные для игр. Здесь можно использовать наше предыдущее исследование, опубликованное на английском языке в статье «Лучшие языки для локализации игр».

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

И ещё, мы рекомендуем уже с первого дня разрабатывать игру с прицелом, как минимум, на два языка.Эти два языка «по умолчанию» скорее всего — английский и русский. При таком раскладе у вас будет несколько преимуществ. Во-первых, игру можно переводить на другие языки уже с английского, согласованно и единообразно. Во-вторых, реализуя двуязычность в игре с первого дня, вы автоматически наткнетесь на подводные камни подготовки к локализации. И переход к 20-и языковым версиям не будет таким сложным.

2. Подготовьте интерфейс для возможных языков


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

Но у нас есть ещё одна идея, получше. Если вы начали с правила № 1 и уже составили список языков, разрабатывайте интерфейс под самый сложный (самый объёмный для локализации) языковой стандарт.

Для понимания, тексты на немецком будут в среднем на 30% длиннее английских, на русском и арабском — примерно на 10% длиннее. А вот иероглифы традиционного китайского письма занимают на 30% меньше места, чем английский текст.

3. Не встраивайте текстовые строки в код


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

Ещё один важный совет: старайтесь не составлять тексты из отдельных слов или фрагментов. Наглядным примером такой ошибки поделился на платформе StackExchange разработчик из Google:

String currency = Locale::getCurrencyString() + money.toString(); // дает «$123»

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

Поэтому лучше использовать форматирующие строки, которые могут быть локализованы. Например:

String format = Locale::get(«currency format»); // возвращает «${0}» в английском

String currency = String::Format(format, money.toString());

Последний вариант дает переводчикам возможность переставлять слова внутри строки.

4. Помните, что время, даты, единицы измерения и числа тоже должны быть локализованы


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

Будьте готовы менять формат чисел в интерфейсе: например, часы, отсчитывающие время в игре, скорее всего тоже придется локализовать. Здесь дело в том, что культура в западных странах, в основном, монохронная, то есть люди там представляют время в виде временной оси, а в азиатских странах — в виде круга.

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

Поэтому перед локализацией мы рекомендуем подготовиться и учесть эти нюансы.

5. Используйте переменные и средства установки формата и дайте к ним доступ


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

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

Неправильно: «Mommy ate » + %num + " apples."
Правильно: «Mommy ate %num apples.»

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

6. Не зашивайте текст в изображения


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

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

7. Используйте правильные шрифты и кодировку


Если вы применяете «спѐциа́льнꙑе» символы, которые не вписываются в строковый класс, будут проблемы с кодировкой. И если после локализации у целевого продукта будет неправильная кодировка, на устранение символов вроде ��� уйдёт много времени и сил.

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

Мы рекомендуем вместо ASCII использовать Unicode: UTF-8 — самая распространенная и оптимальная кодировка.

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

8. Готовы к локализации? Попробуйте псевдоперевод


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

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

Такой предварительный тест — не панацея, но он помогает. А ещё, тестировать новый интерфейс с «абракадаброй» вместо текста бывает очень даже весело.

9. Начинайте составлять глоссарий заранее


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

Важно поддерживать единообразие терминов в игре с помощью глоссария. Представьте, что один предмет переведен как «зелье» в одном месте и как «эликсир» в другом — и у игроков внезапно появилась неразрешимая логическая головоломка.

10. Будьте готовы дать контекст


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

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

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

Надеемся, вам помогли наши советы. Желаем удачи и побольше довольных игроков! Ну, а если понадобится помощь в локализации или совет, пишите нам в Alconost.

Об авторе

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

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

→ Подробнее
Теги:alconostlocalizationgame developmentалконостлокализациялокализация игр
Хабы: Блог компании Alconost Разработка игр Локализация продуктов Управление продуктом Продвижение игр
Рейтинг +13
Количество просмотров 2,6k Добавить в закладки 44
Комментарии
Комментарии 3

Похожие публикации

Лучшие публикации за сутки