Локализация программного обеспечения: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
Строка 1: Строка 1:
[[Файл:Italian localisation.png|thumb|300px|Программное обеспечение, локализованное на итальянский язык]]
[[Файл:Italian localisation.png|thumb|300px|Программное обеспечение, локализованное на итальянский язык]]
'''Локализа́ция програ́ммного обеспече́ния''' — процесс адаптации программного обеспечения к культуре какой-либо страны. Как частность — [[перевод]] [[Интерфейс пользователя|пользовательского интерфейса]], [[Документация на программное обеспечение|документации]] и сопутствующих файлов [[программа|программы]] с одного языка на другой.
'''Локализа́ция програ́ммного обеспече́ния''' — процесс адаптации программного обеспечения к культуре какой-либо страны. Как частность — [[перевод]] [[Интерфейс пользователя|пользовательского интерфейса]], [[Документация на программное обеспечение|документации]] и сопутствующих файлов [[программное обеспечение|программного обеспечения]] с одного языка на другой.


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

Версия от 10:52, 4 июня 2013

Программное обеспечение, локализованное на итальянский язык

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

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

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

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

Зачастую считается, что локализация — это всего лишь перевод программы. Это не так, существует три уровня локализации[1]:

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

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

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

Примечания

См. также

Ссылки