Интернационализация и локализация

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Скриншот программ TDE, в основном локализованных на китайский (традиционный).

В вычислительной технике локализация (часто сокращаемая L10n)[1] — это процесс адаптации программного обеспечения для определённого региона или языка[2].

Локализация — это не только и не обязательно перевод. Первые шаги по локализации — это сделать, чтобы программа запускалась в локализованной ОС, выполняла свои функции в целевом регионе, имела переведённую документацию и соответствовала его товарным законам, даже если язык интерфейса не изменился. Последние — тонкая подгонка вроде особенностей типографики

С повышением частоты выхода версий, глубины локализации, количества регионов и языков локализация по принципу «сделал и забыл» не годится — хотелось бы переносить результаты локализации из версии в версию, из языка в язык, а то и иметь одну большую многоязычную программу. Для этого механизмы локализации встраивают прямо в программу, в процесс разработки, в скрипты сборки, подключают механизмы локализации из ОС — и создание механизмов, позволяющих при надобности локализовать программу под новый язык или рынок, называют интернационализацией (i18n), реже глобализацией (g11n)[1]. Локализация (которая потенциально выполняется несколько раз для разных языков) использует инфраструктуру или гибкость, обеспечиваемую интернационализацией (которая в идеале выполняется только один раз перед локализацией или как неотъемлемая часть текущей разработки).[3]

Наименование

[править | править код]

Термины часто сокращаются до аббревиатур i18n (где 18 означает количество букв между первой буквой i и последней буквой n в слове “internationalization” (англ.), использование было введено DEC в 1970-х или 80-х годах)[4][5] и L10n для “localization” (англ.), из-за длины слова.[1][6] Некоторые авторы пишут последнюю аббревиатуру с заглавной буквы, чтобы помочь различению этих двух аббревиатур.[7]

Некоторые компании, такие как IBM и Oracle, используют термин «глобализация» (“globalization” (англ.), сокращённо g11n), для сочетания локализации и интернационализации.[8] .

Microsoft определяет интернационализацию как комбинацию так называемой «World-Readiness» (буквально переводится «всемирную готовность») и локализации. "World-Readiness" - это задача разработчика, которая позволяет использовать продукт с несколькими скриптами и культурами (глобализация) и разделять ресурсы пользовательского интерфейса в локализуемом формате (“localizability” (англ.), сокращенно L12y).[9][10]

Hewlett-Packard и HP-UX создали систему под названием «Поддержка национальных языков» (National Language Support, или Native Language Support, или NLS) для создания локализуемого программного обеспечения.[2]

Сфера действия

[править | править код]
Процесс интернационализации и локализации
(на основе диаграммы с сайта LISA)

Согласно «Программному обеспечению без границ», аспекты дизайна, которые следует учитывать при интернационализации продукта, включают «кодирование данных, данные и документацию, создание программного обеспечения, поддержку аппаратных устройств, взаимодействие с пользователем»; в то время как ключевые области проектирования, которые следует учитывать при создании полностью ин��ернационализированного продукта с нуля, - это «взаимодействие с пользователем, разработка алгоритмов и форматы данных, программные услуги, документация[2].

Перевод обычно является наиболее трудоемким компонентом языковой локализации.[2] Это может включать:

  • Для фильмов, видео и аудио - перевод произнесенных слов или музыкальных текстов, часто с использованием дублирования или субтитров.
  • Перевод текста для печатных материалов, цифровых носителей (возможно, включая сообщения об ошибках и документацию)
  • Возможное изменение изображений и логотипов, содержащих текст, с целью добавления переводов или общих значков[2]
  • Различная длина перевода и различия в размерах символов (например, между буквами латинского алфавита и китайскими иероглифами) могут привести к тому, что макеты, которые хорошо работают на одном языке, плохо работают на других[2]
  • Учет различий в диалекте, регистре или разновидности[2]
  • Правила написания, такие как:
    • Форматирование чисел (особенно десятичный разделитель и группировка цифр)
    • Формат даты и времени, возможно, включая использование разных календарей

Бизнес-процессы интернационализации программного обеспечения

[править | править код]

Чтобы вывести продукт на международный рынок, важно рассмотреть множество рынков, на которые продукт может выйти.[2] Детали, такие как длина поля для почтовых адресов, уникальный формат адреса, возможность сделать поле почтового индекса необязательным для адресации в странах, у которых нет почтовых индексов, или поле штата для стран, у которых нет штатов, а также введение дополнительной графы для регистрации в странах для соблюдения местных законов, - это лишь некоторые из примеров, которые делают интернационализацию сложным проектом.[7][11][12] Более широкий подход учитывает культурные факторы, касающиеся, например, адаптации логики бизнес-процесса или включения индивидуальных культурных (поведенческих) аспектов.[2][13]

Уже в 1990-х годах такие компании, как Bull, широко использовали машинный перевод (Systran) для всей своей переводческой деятельности: переводчики-люди выполняли предварительное редактирование (делая вводимые данные машиночитаемыми) и постредактирование[2].

Примечания

[править | править код]
  1. 1 2 3 Localization vs. Internationalization. World Wide Web Consortium. Дата обращения: 19 мая 2021. Архивировано 3 апреля 2016 года.
  2. 1 2 3 4 5 6 7 8 9 10 Software Without Frontiers: A multi-platform, multi-cultural, multi-nation approach / Patrick A.V. Hall ; Martyn A. Ould. — Wiley, 1996. — ISBN 978-0-471-96974-7.
  3. Bert Esselink. The Evolution of Localization. — Multilingual Computing and Technology, 2003. — «In a nutshell, localization revolves around combining language and technology to produce a product that can cross cultural and language barriers. No more, no less.». Архивная копия от 7 сентября 2012 на Wayback Machine Источник. Дата обращения: 19 мая 2021. Архивировано из оригинала 7 сентября 2012 года.
  4. Glossary of W3C Jargon. World Wide Web Consortium. Дата обращения: 13 октября 2008. Архивировано 24 августа 2011 года.
  5. Origin of the Abbreviation I18n. Дата обращения: 19 мая 2021. Архивировано 27 июня 2014 года.
  6. GNU gettext utilities: Concepts. GNU Project. — «Two long words appear all the time when we discuss support of native language in programs, and these words have a precise meaning, worth being explained here, once and for all in this document. The words are internationalization and localization. Many people, tired of writing these long words over and over again, took the habit of writing i18n and l10n instead, quoting the first and last letter of each word, and replacing the run of intermediate letters by a number merely telling how many such letters there are.» Дата обращения: 29 октября 2019. Архивировано 18 сентября 2019 года.
  7. 1 2 alan. What is Internationalization (i18n), Localization (L10n) and Globalization (g11n) (амер. англ.) (29 марта 2011). — «The capital L in L10n helps to distinguish it from the lowercase i in i18n.» Архивировано 2 апреля 2015 года.
  8. IBM Globalization (17 марта 2016). Архивировано 31 марта 2016 года.
  9. Globalization Step-by-Step. Архивировано 12 апреля 2015 года.
  10. Globalization Step-by-Step: Understanding Internationalization. Архивировано 26 мая 2015 года.
  11. RJ Gabriel. Localization: Building a Global Web Application. Snapforce. Дата обращения: 9 апреля 2022. Архивировано 8 апреля 2022 года.
  12. International Address Formats. Microsoft Developer Network. Microsoft. Дата обращения: 10 декабря 2013. Архивировано 16 декабря 2018 года.
  13. Pawlowski, J.M. (2008): Culture Profiles: Facilitating Global Learning and Knowledge Sharing. Proc. of ICCE 2008, Taiwan, Nov. 2008. Draft Version Архивная копия от 16 июля 2011 на Wayback Machine