stringtranslate.com

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

Снимок экрана с программами TDE , в основном локализованными на китайский (традиционный) язык.

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

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

Локализация (которая потенциально выполняется несколько раз для разных языков) использует инфраструктуру или гибкость, обеспечиваемую интернационализацией (которая в идеале выполняется только один раз перед локализацией или как неотъемлемая часть текущей разработки). [3]

Именование

Термины часто сокращаются до нумеронимов i18n (где 18 означает количество букв между первым i и последним n в слове «интернационализация» , использование которого было придумано в Digital Equipment Corporation в 1970-х или 1980-х годах) [4] [5] и l10n для локализации из-за длины слов. [1] [6] Некоторые авторы пишут последний термин с заглавной буквы ( L10n ) , чтобы облегчить различие между ними. [7]

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

Microsoft определяет интернационализацию как сочетание готовности к работе во всем мире и локализации. Готовность к работе — это задача разработчика, которая позволяет использовать продукт с несколькими сценариями и культурами (глобализация) и разделяет ресурсы пользовательского интерфейса в локализуемом формате (локализуемость, сокращенно L12y ). [9] [10]

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

Объем

Процесс интернационализации и локализации
(на основе схемы с сайта LISA )

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

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

Стандартные данные локали

Компьютерное программное обеспечение может сталкиваться с различиями, выходящими за рамки простого перевода слов и фраз, поскольку компьютерные программы могут динамически генерировать контент. Эти различия, возможно, придется принять во внимание в процессе интернационализации при подготовке к переводу. Многие из этих различий настолько регулярны, что преобразование между языками можно легко автоматизировать. Общий репозиторий данных локали от Unicode предоставляет набор таких различий. Его данные используются основными операционными системами , включая Microsoft Windows , macOS и Debian , а также крупными интернет-компаниями и проектами, такими как Google и Wikimedia Foundation . Примеры таких различий включают в себя:

Национальные конвенции

В разных странах действуют разные экономические конвенции, включая вариации:

В частности, в большинстве этих случаев Соединенные Штаты и Европа различаются. Другие области часто следуют одному из них.

Определенные сторонние сервисы, такие как онлайн-карты, прогнозы погоды или поставщики платежных услуг , могут быть недоступны по всему миру у одних и тех же операторов связи или вообще недоступны.

Часовые пояса различаются по всему миру, и это необходимо учитывать, если изначально продукт взаимодействовал только с людьми, находящимися в одном часовом поясе. Для интернационализации UTC часто используется внутри страны, а затем преобразуется в местный часовой пояс для отображения.

В разных странах действуют разные законодательные требования, означающие, например:

Локализация также может учитывать различия в культуре, такие как:

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

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

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

Инженерное дело

Как при реинжиниринге существующего программного обеспечения, так и при разработке нового интернационализированного программного обеспечения первым шагом интернационализации является разделение каждой потенциально зависящей от локали части (будь то код, текст или данные) в отдельный модуль. [2] Каждый модуль затем может либо полагаться на стандартную библиотеку/зависимость, либо заменяться независимо по мере необходимости для каждой локали.

В настоящее время преобладающая практика заключается в том, что приложения помещают текст в файлы ресурсов, которые загружаются во время выполнения программы по мере необходимости. [2] Эти строки, хранящиеся в файлах ресурсов, относительно легко перевести. Программы часто создаются для обращения к библиотекам ресурсов в зависимости от выбранных данных локали.

Хранилище переводимых и переведенных строк иногда называют каталогом сообщений [2] , поскольку строки называются сообщениями. Каталог обычно содержит набор файлов в определенном формате локализации и стандартную библиотеку для работы с этим форматом. Одной из программных библиотек и форматов, которые помогают в этом, является gettext .

Таким образом, чтобы приложение поддерживало несколько языков, необходимо разработать приложение так, чтобы оно выбирало соответствующий файл языковых ресурсов во время выполнения. Код, необходимый для управления проверкой ввода данных и многими другими типами данных, зависящими от языкового стандарта, также должен поддерживать различные требования к языковому стандарту. Современные системы разработки и операционные системы включают в себя сложные библиотеки для международной поддержки этих типов, см. также данные стандартной локали выше.

Многие вопросы локализации (например, направление письма, сортировка текста) требуют более глубоких изменений в программном обеспечении, чем перевод текста. Например, OpenOffice.org достигает этого с помощью переключателей компиляции.

Процесс

Метод глобализации включает после планирования три этапа реализации: интернационализацию, локализацию и обеспечение качества. [2]

В некоторой степени (например, для обеспечения качества ) в команды разработчиков входит кто-то, кто управляет базовыми/центральными этапами процесса, а затем обеспечивает выполнение всех остальных. [2] Такие люди обычно понимают иностранные языки и культуры и имеют некоторое техническое образование. Специализированные технические писатели должны создать синтаксис, соответствующий культуре, для потенциально сложных концепций, а также инженерные ресурсы для развертывания и тестирования элементов локализации.

После правильной интернационализации программное обеспечение может полагаться на более децентрализованные модели локализации: бесплатное программное обеспечение и программное обеспечение с открытым исходным кодом обычно полагаются на самостоятельную локализацию конечных пользователей и добровольцев, иногда организованных в группы. [18] Например, в проекте GNOME есть группы волонтеров-переводчиков более чем на 100 языков. [19] MediaWiki поддерживает более 500 языков, из которых 100 в основном полностью готовы по состоянию на сентябрь 2023 года . [20]

При переводе существующего текста на другие языки сложно поддерживать параллельные версии текстов на протяжении всего срока службы продукта. [21] Например, если сообщение, отображаемое пользователю, изменено, все переведенные версии должны быть изменены.

Коммерческие соображения

В коммерческом контексте преимуществом локализации является доступ к большему количеству рынков. В начале 1980-х Lotus 1-2-3 потребовалось два года, чтобы разделить программный код и текст, и потеряло лидерство на рынке Европы над Microsoft Multiplan . [2] Компания MicroPro обнаружила, что использование австрийского переводчика для рынка Западной Германии привело к тому, что ее документация WordStar , по словам одного из руководителей, «не имела того тона, который она должна была иметь». [22]

Однако это требует значительных затрат, выходящих далеко за рамки инженерных разработок. Кроме того, бизнес-операции должны адаптироваться для управления производством, хранением и распространением множества отдельных локализованных продуктов, которые часто продаются в совершенно разных валютах, нормативных условиях и налоговых режимах.

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

Смотрите также

Рекомендации

  1. ^ аб Исида, Ричард; Миллер, Сьюзен К. (5 декабря 2005 г.). «Локализация против интернационализации». W3C . Архивировано из оригинала 3 апреля 2016 г. Проверено 16 сентября 2023 г.
  2. ^ abcdefghijklmnopq Hall, PAV; Хадсон Р., ред. (1997). Программное обеспечение без границ: мультиплатформенный, мультикультурный и многонациональный подход . Чичестер: Уайли. ISBN 0-471-96974-5.
  3. ^ Эсселинк, Берт (2006). «Эволюция локализации» (PDF) . В Пиме, Энтони; Перекрестенко Александр; Старинк, Брэм (ред.). Технология перевода и ее преподавание (с большим упоминанием локализации) . Таррагона: Группа межкультурных исследований – URV. стр. 21–29. ISBN 84-611-1131-1. Архивировано из оригинала (PDF) 7 сентября 2012 года . В двух словах, локализация вращается вокруг объединения языка и технологий для создания продукта, который может преодолевать культурные и языковые барьеры. Не больше, не меньше.
  4. ^ «Глоссарий жаргона W3C» . W3C . Архивировано из оригинала 2 сентября 2011 года . Проверено 16 сентября 2023 г.
  5. ^ «Происхождение аббревиатуры I18n». I18nGuy . Архивировано из оригинала 27 июня 2014 года . Проверено 19 февраля 2022 г.
  6. ^ «Концепции (утилиты GNU gettext)» . gnu.org . Архивировано из оригинала 18 сентября 2019 года . Проверено 16 сентября 2023 г. Многие люди, уставшие писать эти длинные слова снова и снова, взяли за привычку вместо этого писать i18n и l10n , цитируя первую и последнюю букву каждого слова и заменяя ряд промежуточных букв числом, просто указывающим, сколько таких букв. есть.
  7. ^ Аб Алан (29 марта 2011 г.). «Что такое интернационализация (i18n), локализация (L10n) и глобализация (g11n)». ccjk.com . Архивировано из оригинала 2 апреля 2015 года . Проверено 16 сентября 2023 г. Заглавная буква L в L10n помогает отличить ее от строчной буквы i в i18n.
  8. ^ «Глобализируйте свой бизнес». ИБМ . Архивировано из оригинала 31 марта 2016 года.
  9. ^ «Глобализация шаг за шагом». Go Global Developer Center . Архивировано из оригинала 12 апреля 2015 года.
  10. ^ «Шаг за шагом к глобализации: понимание интернационализации». Go Global Developer Center . Архивировано из оригинала 26 мая 2015 года.
  11. ^ «Множественное число форм (утилиты GNU gettext)» . gnu.org . Архивировано из оригинала 14 марта 2021 года . Проверено 16 сентября 2023 г.
  12. ^ «Нужно ли нам локализовать сочетания клавиш?». Услуги человеческого перевода – перевод с языка на язык . 21 августа 2014 года. Архивировано из оригинала 3 апреля 2015 года . Проверено 19 февраля 2022 г.
  13. Матин Хайдер (17 мая 2016 г.). «Пакистан выражает обеспокоенность по поводу спорного индийского закона о картах». Рассвет . Архивировано из оригинала 10 мая 2018 года . Проверено 9 мая 2018 г.
  14. Ясир Латиф Хамдани (18 мая 2016 г.). «Изменение карт не будет означать, что Кашмир станет частью вас, Индия». «Экспресс Трибьюн» . Проверено 19 февраля 2022 г.
  15. ^ «Обзор законопроекта о регулировании геопространственной информации» . Мадрасский курьер . 24 июля 2017 г. Архивировано из оригинала 29 октября 2020 г. . Проверено 19 февраля 2022 г.
  16. ^ «Приложение V Международные форматы адресов» . Документы Майкрософт . 2 июня 2008 г. Архивировано из оригинала 19 мая 2021 г. Проверено 19 февраля 2022 г.
  17. ^ Павловский, Ян М. Профили культуры: содействие глобальному обучению и обмену знаниями (PDF) (проектная версия). Архивировано (PDF) из оригинала 16 июля 2011 г. Проверено 1 октября 2009 г.
  18. ^ Рейна, Лаура Архона; Роблес, Грегорио; Гонсалес-Бараона, Хесус М. (2013). «Предварительный анализ локализации свободного программного обеспечения: как выполняются переводы». В Петринье, Этиэль; Суччи, Джанкарло; Иоини, Набиль Эль; Силлитти, Альберто (ред.). Программное обеспечение с открытым исходным кодом: проверка качества . ИФИП: Достижения в области информационных и коммуникационных технологий. Том. 404. Шпрингер Берлин Гейдельберг. стр. 153–167. дои : 10.1007/978-3-642-38928-3_11 . ISBN 978-3-642-38927-6.
  19. ^ «Языки GNOME» . ГНОМ . Архивировано из оригинала 29 августа 2023 года . Проверено 16 сентября 2023 г.
  20. ^ «Перевод: Статистика группы» . переводвики.нет . Архивировано из оригинала 29 августа 2023 г. Проверено 16 сентября 2023 г.
  21. ^ «Как перевести игру на 20 языков и избежать попадания в ад: изгнание четырех дьяволов замешательства» . PocketGamer.biz . 4 апреля 2014 года. Архивировано из оригинала 7 декабря 2017 года . Проверено 19 февраля 2022 г.
  22. Шраге, Майкл (17 февраля 1985 г.). «IBM завоевывает доминирование на европейском компьютерном рынке». Вашингтон Пост . Архивировано из оригинала 29 августа 2018 года . Проверено 29 августа 2018 г. .

дальнейшее чтение

Внешние ссылки