Локализация программного обеспечения: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Voopk (обсуждение | вклад) Нет описания правки |
|||
Строка 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 — количество букв между ними.
Что такое локализация
Зачастую считается, что локализация — это всего лишь перевод программы. Это не так, существует три уровня локализации[1]:
- Обеспечить поддержку языка и национальных стандартов — необходимый минимум, чтобы программа могла выполнять свои функции в другой стране.
- Корректная работа в локализованной операционной системе.
- Вывод на экран символов языка.
- Другие манипуляции с языком — ввод текста, алфавитная сортировка, строковые операции и т. д.
- Стандарты целевой страны, непосредственно связанные с функционированием программы:
- Формат даты, времени, дробных и многозначных чисел.
- Особенности человеческих имён.
- Символы валюты.
- Форматы бумаги.
- Система мер.
- Особенности законодательства.
- Налоговая система.
- Выдаваемые правительством документы — номер социального обеспечения, идентификационный номер налогоплательщика, номер паспорта.
- В играх для телевизионных приставок — стандарт телевидения (PAL или NTSC).
- Издание документации на целевом языке.
- Перевод текстов в интерфейсе программы на целевой язык.
- В сложном ПО не все части стоит переводить — например, многие не согласны с переводом имён функций Excel на русский язык.
- Корректное выравнивание и размещение элементов интерфейса с учётом того, что сообщения-строки в разных языках могут иметь существенно разные размеры (например, типичное сообщение на английском, будучи переведено на немецкий язык, как правило, становится длиннее на 30—50 %). Кроме того, существуют языки с написанием справа налево (арабский, иврит) и сверху вниз (японский);
- Чрезвычайно важен перевод терминологии. Например, спорным является применяемый в Windows термин «обозреватель», обозначающий браузер.
- Если есть текст, «впечатанный» в картинку, его надо также перерисовать. Если есть речевые сообщения, их надо наговорить.
- Тонкая настройка под целевую страну.
- Работа со словоформами. Примером будет пресловутое «Найдено 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.
Примечания
См. также
- Интернационализация
- Локаль
- Русификация (информатика)
- Localization Industry Standards Association
- XLIFF