Локализация программного обеспечения
Локализа́ция програ́ммного обеспече́ния — процесс адаптации программного обеспечения к культуре какой-либо страны. Как частность — перевод пользовательского интерфейса, документации и сопутствующих файлов программного обеспечения с одного языка на другой.
Для локализации в английском языке иногда применяют сокращение «L10n». Где буквы «L» и «n» — начало и окончание слова Localization, а цифра 10 — количество букв между ними.
Содержание
1 Что такое локализация
2 Инструментарий для локализации
3 Языковые теги и коды
4 См. также
5 Примечания
6 Ссылки
Что такое локализация |
Локализация не ограничивается переводом интерфейса на другой язык. Это многоуровневая операция, первые шаги которой можно выполнить, даже оставив интерфейс нетронутым,[1] а последние — требуют взаимодействия программистов, дизайнеров и переводчиков[2]:
- Обеспечить поддержку языка и национальных стандартов — необходимый минимум, чтобы программа могла выполнять свои функции в другой стране. Современные ОС берут на себя многие из этих вопросов, но и программист должен быть достаточно квалифицированным, чтобы использовать их возможности.
- Корректная работа в локализованной операционной системе[3].
- Сделать, чтобы программа отвечала товарным законам целевой страны. В частности: издать документацию на целевом языке, подогнать функциональность под патенты, антимонопольное законодательство, законы о печати, о хранении персональных данных… Так, в Windows 98 исчезла подсветка часовых поясов из-за спорных территорий: крайне трудно угодить обеим спорящим странам.[4]
- Вывод на экран символов языка.[5] Подготовка локализованных шрифтов, если таковые нужны.[6] При этом адаптация под другую письменность может быть довольно сложной.[1]
- Другие действия с языком — ввод текста, алфавитная сортировка, строковые операции, орфографические словари, правила переносов[1] и т. д.
Стандарты целевой страны, непосредственно связанные с функционированием программы:
- Формат даты, времени, дробных и многозначных чисел.
- Особенности человеческих имён.
Символы валюты.
Форматы бумаги.
Система мер.- Особенности законодательства.
Налоговая система.- Выдаваемые правительством документы — номер социального обеспечения, идентификационный номер налогоплательщика, номер паспорта.
- Требования к ПО для госструктур — открытость данных, стандарты шифрования и прочее.
- В играх для телевизионных приставок — стандарт телевидения (PAL или NTSC).
- Перевод текстов в интерфейсе программы на целевой язык.
- В сложном ПО не все части стоит переводить. Например, многие не согласны с переводом имён функций Excel на русский язык. Некоторые ошибки ОС выводятся, когда компьютер ещё не способен показывать русские буквы, при том, что специалист, кому эти сообщения адресованы, поймёт и английские.
- Корректное выравнивание и размещение элементов интерфейса с учётом того, что сообщения-строки в разных языках могут иметь существенно разные размеры (например, обычное сообщение на английском, будучи переведено на немецкий язык, как правило, становится длиннее на 17,3 %[7]). Кроме того, существуют языки с написанием справа налево (арабский, иврит) и сверху вниз (японский);
- Чрезвычайно важен перевод терминологии. Например, спорным является применяемый в Windows термин «обозреватель», обозначающий браузер.
- Если есть текст на изображениях, его нужно перерисовать. Если есть речевые сообщения, их надо наговорить.
- Тонкая настройка под целевую страну.
- Работа со словоформами. Примером будет пресловутое «Найдено 3 файлов».
- Дополнительные стандарты, не влияющие на основную функциональность программы. Например: формат даты/времени в медиаплеере, особенности типографики.
- Обеспечить интероперабельность локализированной программы с исходной. Например: мы ввели в документ формулу «
x*2,5
». Будет ли она работать, если открыть его в английской версии? Наладили сетевую игру русского с английским — не разорвёт ли связь, сославшись на несовпадение версий? - Обеспечить интероперабельность программы с ПО, распространённым в целевой стране. Например, от страны к стране варьируются бухгалтерские программы, и «1С: Предприятие» мало известно за пределами стран СССР.
- Учёт национального менталитета. Например: красный цвет у русских ассоциируется не только с опасностью, но и с праздником. В играх зачастую приходится менять юмор, а изредка — даже корректировать сюжет (например, в Syberia 2 турецкий иммигрант Sirkos превратился в еврея Цукермана).
Перерисовка графики (сплэш-экранов, значков и т. д.) под реалии другой страны. Например, в разных странах могут выглядеть по-разному дорожные знаки, вилки и розетки, почтовый ящик. Глобус поворачивают к зрителю той частью света, на которую рассчитывается продукт. В Великобритании у выключателя включенным является нижнее положение, в бывшем СССР — верхнее. Значки перерисовывают крайне редко, поэтому дизайнеры изначально стараются сделать их как можно более «интернациональными».
- Корректировка клипарт-библиотек. Например, добавляются картинки местных праздников. В мусульманских странах клипарт пересматривается коренным образом — изымаются все изображения человека и животных, и добавляются арабески.
Таким образом, локализация — это сложная и всеобъемлющая операция[8], и уже при разработке ПО соображения будущей интернационализации должны учитываться самым серьёзным образом. Мы привыкли видеть программное обеспечение, русифицированное по первому-второму уровню; сложного ПО с исчерпывающей русификацией практически не существует. Примером глубокой локализации может служить операционная система Mac OS X компании Apple, где локализация нередко включает и национально-ориентированные пиктограммы.
Инструментарий для локализации |
Некоторые инструменты для визуального программирования предоставляют возможности и инструменты для облегчения локализации. Например, в GTK+ чаще всего нет необходимости специально заботиться о разной длине строк в разных языках, так как виджеты автоматически запрашивают необходимый для себя размер.
Однако в большинстве случаев эти возможности значительно ограничены, что сильно отражается на итоговой стоимости локализации. В этих инструментах нет средств для работы с переводчиком, нет автоматизированных проверок перевода, да и контролировать перевод приложения среднего размера становится невозможно. Поэтому приступая к локализации стоит задуматься о специализированных средствах, заточенных именно на задачу перевода программного обеспечения.
Для локализации программного обеспечения часто применяются специализированные средства, например, Passolo, которые позволяют переводить меню и сообщения в программных ресурсах и непосредственно в откомпилированных программах, а также тестировать корректность локализации. Для перевода аудиовизуальных материалов (главным образом фильмов) также используются специализированные средства, например, Swift, которые объединяют в себе некоторые аспекты памяти переводов, но дополнительно обеспечивают возможность появления субтитров по времени, их форматирования на экране, следования.
Языковые теги и коды |
Языковые теги могут использоваться для обозначения региональных особенностей того или иного языка. Имеется основной субтег для идентификации языка (например, «en» для английского) и возможный дополнительный субтег для уточнения региона использования (например, «GB» — Great Britain, Великобритания). Между субтегами обычно ставится дефис, в отдельных случаях — знак подчёркивания.
Примеры языковых тегов:
- Английский язык: en-GB (британский английский), en-US (американский английский), en-AU (австралийский английский).
- Испанский язык: es-ES (кастильский испанский, письменный и разговорный язык Испании), es-MX (мексиканский испанский), es-AR (аргентинский испанский), es-CO (колумбийский испанский).
- Португальский язык: pt-PT (европейский португальский, письменный и разговорный язык Португалии), pt-BR (бразильский португальский).
- Китайский язык: zh-CN (материковый Китай, упрощённые иероглифы), zh-TW (Тайвань, традиционные иероглифы), zh-HK (Гонконг, традиционные иероглифы).
- Русский язык: ru-RU (русский, Россия)
Языковые коды определяются стандартом ISO 639-2 в виде трехбуквенного термина для идентификации каждого языка, например «eng» для английского или «tvl» для языка Тувалу. В то же время, эти коды не могут использоваться в качестве тегов, если соответствующий язык имеет двухбуквенный код согласно стандарту ISO 639-1.
См. также |
- Интернационализация
- Локаль
- Русификация (информатика)
- Localization Industry Standards Association
- XLIFF
Примечания |
↑ 123 Adobe InDesign в Индии: локализация без перевода - полезные статьи на сайте бюро переводов «Транслинк»
↑ FoxSoft=Инструменты локализации: Русификация программных продуктов
↑ Точка с запятой (неопр.). IT Happens (9 августа 2011). — Пример ПО, некорректно работающего в локализованной ОС. Проверено 7 февраля 2014.
↑ Why isn’t my time zone highlighted on the world map? | The Old New Thing
↑ Например, старые версии Winamp с растровым шрифтом корректно работают в локализированной ОС, но не выводят русских названий.
↑ Байки из локализаторской: Ода шрифтам — новости «ТрансЛинк»
↑ Язык в интерфейсе: на короткий-длинный рассчитайся!
↑ 7 ключевых аспектов локализации игры
Ссылки |
- Статья о локализации приложений
- Статья о локализации веб-проекта с примером
- L20n — JavaScript localization framework
- LangTool - веб-приложение для автоматического перевода проектов