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]

Некоторые поставщики, включая IBM [11], используют термин National Language Version (NLV) для локализованных версий программных продуктов, поддерживающих только одну конкретную локаль. Термин подразумевает существование других похожих NLV-версий программного обеспечения для разных рынков; эта терминология не используется, если не проводилась интернационализация и локализация, а программный продукт поддерживает только один язык и локаль в любой версии.

Объем

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Процесс

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

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

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

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

Независимый поставщик программного обеспечения , такой как Microsoft, может предоставлять разработчикам справочные руководства по локализации программного обеспечения [23] . Язык локализации программного обеспечения может отличаться от письменного языка .

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

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

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

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

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

Ссылки

  1. ^ ab Ishida, Richard; Miller, Susan K. (2005-12-05). "Локализация против интернационализации". W3C . Архивировано из оригинала 2016-04-03 . Получено 2023-09-16 .
  2. ^ abcdefghijklmnopq Холл, PAV; Хадсон, Р., ред. (1997). Программное обеспечение без границ: многоплатформенный, многокультурный, многонациональный подход . Чичестер: Wiley. 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. ^ "Concepts (GNU gettext utilities)". gnu.org . Архивировано из оригинала 18 сентября 2019 г. Получено 16 сентября 2023 г. Многие люди, устав писать эти длинные слова снова и снова, взяли привычку писать вместо этого i18n и l10n , цитируя первую и последнюю букву каждого слова и заменяя последовательность промежуточных букв числом, просто указывающим, сколько таких букв имеется.
  7. ^ ab alan (29 марта 2011 г.). «Что такое интернационализация (i18n), локализация (L10n) и глобализация (g11n)». ccjk.com . Архивировано из оригинала 2 апреля 2015 г. . Получено 16 сентября 2023 г. Заглавная буква L в L10n помогает отличить ее от строчной буквы i в i18n.
  8. ^ "Глобализируйте свой бизнес". IBM . Архивировано из оригинала 31 марта 2016 года.
  9. ^ "Глобализация шаг за шагом". Go Global Developer Center . Архивировано из оригинала 12 апреля 2015 г.
  10. ^ "Глобализация шаг за шагом: понимание интернационализации". Go Global Developer Center . Архивировано из оригинала 26 мая 2015 г.
  11. ^ "Национальная языковая версия". IBM .
  12. ^ "Формы множественного числа (утилиты GNU gettext)". gnu.org . Архивировано из оригинала 14 марта 2021 г. . Получено 16 сентября 2023 г. .
  13. ^ «Нужно ли нам локализовать сочетания клавиш?». Human Translation Services – Language to Language Translation . 21 августа 2014 г. Архивировано из оригинала 3 апреля 2015 г. Получено 19 февраля 2022 г.
  14. ^ Матин Хайдер (17 мая 2016 г.). «Пакистан выражает обеспокоенность по поводу противоречивого индийского законопроекта о картах». Dawn . Архивировано из оригинала 10 мая 2018 г. . Получено 9 мая 2018 г. .
  15. ^ Ясир Латиф Хамдани (18 мая 2016 г.). «Изменение карт не будет означать, что Кашмир — часть тебя, Индия». The Express Tribune . Получено 19 февраля 2022 г.
  16. ^ «Обзор законопроекта о регулировании геопространственной информации». Madras Courier . 24 июля 2017 г. Архивировано из оригинала 29 октября 2020 г. Получено 19 февраля 2022 г.
  17. ^ "Приложение V. Международные форматы адресов". Microsoft Docs . 2 июня 2008 г. Архивировано из оригинала 19 мая 2021 г. Получено 19 февраля 2022 г.
  18. ^ Павловски, Ян М. Профили культуры: содействие глобальному обучению и обмену знаниями (PDF) (черновая версия). Архивировано (PDF) из оригинала 2011-07-16 . Получено 2009-10-01 .
  19. ^ Рейна, Лаура Архона; Роблес, Грегорио; Гонсалес-Бараона, Хесус М. (2013). «Предварительный анализ локализации в свободном программном обеспечении: как выполняются переводы». В Petrinja, Etiel; Succi, Giancarlo; Ioini, Nabil El; Sillitti, Alberto (ред.). Программное обеспечение с открытым исходным кодом: проверка качества . Достижения IFIP в области информационных и коммуникационных технологий. Том 404. Springer Berlin Heidelberg. стр. 153–167. doi : 10.1007/978-3-642-38928-3_11 . ISBN 978-3-642-38927-6.
  20. ^ "GNOME Languages". GNOME . Архивировано из оригинала 29 августа 2023 . Получено 16 сентября 2023 .
  21. ^ "Translating:Group Statistics". translatewiki.net . Архивировано из оригинала 2023-08-29 . Получено 2023-09-16 .
  22. ^ «Как перевести игру на 20 языков и не попасть в ад: изгнание четырех дьяволов путаницы». PocketGamer.biz . 4 апреля 2014 г. Архивировано из оригинала 7 декабря 2017 г. Получено 19 февраля 2022 г.
  23. ^ jowilco (24.08.2023). "Руководства по стилю локализации Microsoft - Глобализация". learn.microsoft.com . Получено 15.09.2024 .
  24. ^ Шраге, Майкл (17 февраля 1985 г.). «IBM завоевывает господство на европейском рынке компьютеров». The Washington Post . Архивировано из оригинала 29 августа 2018 г. Получено 29 августа 2018 г.

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

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