Локализация программного продукта - приведение программного продукта в соответствии с законами и иными нормативными правовыми актами, стандартами, нормами и правилами, действующими в стране для которого проводится локализация.
Локализация ( англ. localization ) - перевод и адаптация элементов интерфейса, вспомогательных файлов и документации. В английском языке для слова «localization» иногда применяется сокращение «l10n». При этом число 10 означает количество пропущенных между «l» и «n» букв.
Задача локализации не исчерпывается только переводом, более того, перевод как таковой обычно занимает скромное место в процессе локализации программного обеспечения. Типичными задачами адаптации является использование национальных символов валюты, применения принятых форматов представления даты и времени, а также правил алфавитного сортировки текстов. Для программы с графическим пользовательским интерфейсом локализация также подразумевает корректное выравнивание и размещение элементов интерфейса с учетом того, что сообщения-строки могут иметь существенно различные размеры в разных языках (например, типичное сообщение на английском, будучи переведено на немецкий язык, как правило, становится длиннее на 30-50%), а также с учетом правил написания текста (например, слева направо для большинства западных языков, справа налево для арабского и иврита, сверху вниз для японской ). Таким образом дизайн и разработка программного обеспечения должны учитывать соображения локализации серьезным образом.
Некоторые инструменты для визуального программирования предоставляют возможности и инструменты для облегчения локализации. Например, в GTK + зачастую нет необходимости специально заботиться о разную длину строк в разных языках, поскольку обновления автоматически приглашают необходимый для себя размер.
Однако в большинстве случаев эти возможности значительно ограничены, что сильно отражается на итоговой стоимости локализации. В этих инструментах нет средств для работы с переводчиком, нет автоматизированных проверок перевода, да и контролировать перевод программного обеспечения среднего размера становится невозможно. Поэтому приступая к локализации стоит задуматься о специализированные средства, заточенные именно на задачи перевода программного обеспечения.
При локализации программного обеспечения часто используются специализированные инструменты, например, Passolo, которые позволяют переводить меню и сообщения в самих программных ресурсах и непосредственно в откомпилированных программах, а также тестировать корректность локализации. При переводе аудио и видео материалов (главным образом, фильмов) также используются специализированные средства, например, Swift, которые объединяют в себе некоторые аспекты памяти переводов, но дополнительно обеспечивают возможность появления субтитров в зависимости от времени, их форматирования на экране, соответствие стандартом и другое.
Языковые тэги и коды
Языковые теги могут использоваться для обозначения региональных особенностей той или иной языка. Есть основной тег для идентификации языка (например, "en" для английского), а также факультативный дополнительный тег для уточнения региона использования (например, "GB" - Great Britain, Великобритания ). Между субтегамы обычно ставится дефис, в отдельных случаях - черта снизу. Примеры речевых тегов:
- Английский язык: en-GB (Британская английский), en-US (Американская английская), en-CA (Канадская английский).
- Испанский язык: es-ES (Кастильский испанский, письменный и разговорный язык Испании), es-MX (Мексиканский испанский), es-AR (Аргентинская испанский), es-CO(Колумбийский испанский).
- Португальский язык: pt-PT (Европейская португальский, письменный и разговорный язык Португалии), pt-BR (бразильско португальский).
- Китайский язык: zh-CN (Материковый Китай, упрощении иероглифы), zh-TW (Тайвань, традиционные иероглифы), zh-HK ( Гонконг, традиционные иероглифы).
Языковые коды определяются стандартом ISO 639-2 в виде трьохлитерного срока для идентификации каждого языка, например, "eng" для английского языка или "tvl" для языка Тувалу. Однако эти корды не могут использоваться в качестве меток, если соответствующая язык имеет двухбуквенный код согласно стандарту ISO 639-1.