Локализация программного обеспечения

Материал из Энциклопедия фан-клуба Лаборатории Касперского
Перейти к: навигация, поиск

Локализа́ция програ́ммного обеспече́ния — процесс адаптации программного обеспечения к культуре какой-либо страны. Как частность — перевод пользовательского интерфейса, документации и сопутствующих файлов программы с одного языка на другой.

Для локализации в английском языке иногда применяют сокращение «L10n». Где буквы «L» и «n» — начало и окончание слова Localization, а цифра 10 — количество букв между ними.

Что такое локализация

MikTeX — пример сложного ПО, локализованного не полностью.
Зелёные — функции, которые начинают работать сразу после подключения языкового пакета:
1. Ввод и отображение русских букв.
2. Ключевое слово «Глава».
Оранжевые — функции, присутствующие в MikTeX, но требующие от пользователя дополнительных действий.
3. Наклонный знак «≤» — вводится командой \leqslant (вместо \le).
Красные — функции, не адаптированные под русскую типографику (а пакетов, исправляющих это, в стандартной поставке нет).
4. Курсивный знак интеграла.
5. Курсивная греческая буква. Зачастую считают, что локализация — это всего лишь перевод программы. Это не так, существует три уровня локализации:

  1. Обеспечить поддержку языка и национальных стандартов — необходимый минимум, чтобы программа могла выполнять свои функции в другой стране.
    • Корректная работа в локализованной операционной системе.
    • Вывод на экран символов языка.
    • Другие манипуляции с языком — ввод текста, алфавитная сортировка, строковые операции и т. д.
    • Стандарты целевой страны, непосредственно связанные с функционированием программы:
      • Формат даты, времени, дробных и многозначных чисел.
      • Особенности человеческих имён.
      • Символы валюты.
      • Форматы бумаги.
      • Система мер.
      • Особенности законодательства.
        • Налоговая система.
        • Выдаваемые правительством документы — номер социального обеспечения, идентификационный номер налогоплательщика, номер паспорта.
      • В играх для телевизионных приставок — стандарт телевидения (PAL или NTSC).
    • Издание документации на целевом языке.
  2. Перевод текстов в интерфейсе программы на целевой язык.
    • В сложном ПО не все части стоит переводить — например, многие не согласны с переводом имён функций Excel на русский язык.
    • Корректное выравнивание и размещение элементов интерфейса с учётом того, что сообщения-строки в разных языках могут иметь существенно разные размеры (например, типичное сообщение на английском, будучи переведено на немецкий язык, как правило, становится длиннее на 30—50 %). Кроме того, существуют языки с написанием справа налево (арабский, иврит) и сверху вниз (японский);
    • Чрезвычайно важен перевод терминологии. Например, спорным является применяемый в Windows термин «обозреватель», обозначающий браузер.
    • Если есть текст, «впечатанный» в картинку, его надо также перерисовать. Если есть речевые сообщения, их надо наговорить.
  3. Тонкая настройка под целевую страну.
    • Работа со словоформами. Примером будет пресловутое «Найдено 3 файлов».
    • Дополнительные стандарты, не влияющие на основную функциональность программы. Например: формат даты/времени в медиаплеере, особенности типографики.
    • Обеспечение интероперабельности локализированной программы с исходной. Например: мы ввели в документ формулу «x*2,5». Будет ли она работать, если открыть документ в английской версии?
    • Учёт национального менталитета. Например: красный цвет у русских ассоциируется не только с опасностью, но и с праздником. В бывшем СССР практически у всех есть ICQ, но в диковинку AOL Instant Messenger, MSN Messenger и т. д. В играх зачастую приходится менять юмор, а изредка — даже корректировать сюжет.
    • Перерисовка графики (сплэш-экранов, значков и т. д.) под реалии другой страны. Например, в разных странах могут выглядеть по-разному дорожные знаки, вилки и розетки, почтовый ящик. Глобус поворачивают к зрителю той страной, на которую рассчитывается продукт. В Великобритании у выключателя включенным является нижнее положение, в бывшем СССР — верхнее. Впрочем, значки перерисовывают крайне редко, поэтому дизайнеры изначально стараются сделать их как можно более «интернациональными».
    • Корректировка клипарт-библиотек. Например, добавляются картинки местных праздников. В мусульманских странах клипарт вообще пересматривается коренным образом — изымаются все изображения человека и животных, зато добавляются арабески.

Таким образом, локализация — это сложная и всеобъемлющая операция, и уже при разработке ПО соображения будущей интернационализации должны учитываться самым серьёзным образом. Мы привыкли видеть программное обеспечение, русифицированное по первому-второму уровню; сложного ПО с исчерпывающей русификацией практически не существует. Примером глубокой локализации может служить операционная система 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 (Русский, Россия), ru-UA (Русский, Украина), uk-UA (Украинский, Украина)

Языковые коды определяются стандартом ISO 639-2 в виде трёхбуквенного термина для идентификации каждого языка, например «eng» для английского или «tvl» для языка Тувалу. В то же время, эти коды не могут использоваться в качестве тегов, если соответствующий язык имеет двухбуквенный код согласно стандарту ISO 639-1.

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты