Интернационализа́ция (англ. internationalization) — технологические приёмы разработки, упрощающие адаптацию продукта (такого как программное или аппаратное обеспечение) к языковым и культурным особенностям региона (регионов), отличного от того, в котором разрабатывался продукт.
Есть важное различие между интернационализацией и локализацией. Интернационализация — это адаптация продукта для потенциального использования практически в любом месте, в то время как локализация — это добавление специальных функций для использования в некотором определённом регионе. Интернационализация производится на начальных этапах разработки, в то время как локализация — для каждого целевого языка.
В английском языке для слова «internationalization» принято сокращение «i18n». При этом число 18 означает количество пропущенных между «i» и «n» букв. Для Локализации «Localization» применяют сокращение «L10n». Заглавная буква «L» используется чтобы не путать с «i» в «i18n», число 10 — количество букв между «L» и «n».[1]
Содержание
- 1 Параметры
- 2 Средства интернационализации
- 3 Локаль
- 4 Открытое программное обеспечение и интернационализация
- 5 См. также
- 6 Примечания
Параметры
Параметры, важные для интернационализации и локализации, включают в себя:
- Язык
- Текст
- Алфавиты, направление письма (слева направо, справа налево), системы нумерации. В большинстве современных систем при работе с текстом так или иначе применяется Юникод, хотя текстовые файлы часто хранятся в других кодировках.
- Графическое представление текста (печатные материалы, изображения, содержащие текст)
- Аудио-текст
- Субтитры в видеопотоках
- Текст
- Форматы даты и времени, включая различные календари
- Часовой пояс
- Валюта
- Изображения и Цвета[источник не указан 4830 дней]
- Названия и заголовки
- Телефонные номера, региональные и международные почтовые адреса и индексы
- Форматы номеров, назначаемые федеральными ведомствами (такие как ИНН)[источник не указан 4830 дней]
- Единицы мер и весов
- Форматы бумаги
Средства интернационализации
Упрощение перевода
Текстовые строки хранятся в отдельных файлах — языковых ресурсах. Интенсивно используется Unicode — даже 16-битный Unicode, имеющийся в WinAPI, позволяет писать на всех основных языках мира; в Linux применяется 32-битный Unicode.
Поскольку строки в процессе перевода могут удлиняться и укорачиваться, в диалоговых окнах применяют такие меры:
- Окна специально компонуют «с запасом».
- Плюс: простота.
- Минус: на языках с короткими фразами окно будет выглядеть неряшливо, на языках с длинными фразами — нет гарантии, что текст поместится.
- Либо в языковые ресурсы вносят компоновку диалоговых окон.
- Плюс: универсальное решение, позволяет точно подогнать компоновку окон по длинам строк.
- Минус: усложняется локализация; требуется поддержка со стороны оконной библиотеки, желательно — и со стороны языка (интроспекция); формат языковых ресурсов ограничивается возможностями оконной библиотеки (например, в Delphi — только в ресурсах EXE- или DLL-файла); локализаторам может потребоваться недешёвый редактор форм.
- Либо диалоговые окна сами устанавливают свой размер в зависимости от длин строк (так, например, работают Qt, GTK+ и wxWidgets).
- Плюс: локализация сводится к переводу строк; рутинная работа по подгонке окон будет выполнена автоматически.
- Минус: требуется поддержка со стороны оконной библиотеки; затруднена или невозможна плотная компоновка окна.
Работа с двунаправленным письмом
Стараются использовать стандартные и проверенные оконные компоненты, избегая «самописных».
Поддержка стандартов
Делают конфигурируемыми все параметры, которые можно было бы изменять в другой стране. Для вывода на экран чисел, дат, времени и т. д. используют стандартные, а не «самописные» функции. Вырабатывается единый для всех версий формат связи — например, в OpenOffice.org дата и время независимо от страны хранится в формате ISO 8601 в виде 2008-12-31T15:16:17.
Локаль
Основная статья: Локаль
Лока́ль — набор параметров, включая набор символов, язык пользователя, страну, часовой пояс, а также другие предустановки, которые пользователь ожидает видеть в пользовательском интерфейсе. Обычно идентификатор локали содержит, как минимум, обозначение языка и обозначение региона.На одном компьютере в рамках одной операционной системы могут сосуществовать (одновременно работать) приложения с различными локалями.
Открытое программное обеспечение и интернационализация
Открытое программное обеспечение, как правило, более интернационализуемо, чем проприетарное. Дело в том, что любой, желающий видеть программу на своём языке, имеет возможность внести необходимые изменения; любой, обнаруживший ошибку, может внести исправление.
Например: KDE переведён более чем на 100 языков, MediaWiki — более 300.
См. также
- Локализация программного обеспечения
- Интерфейс пользователя
- gettext
- UTF-8
- Глобализация
- Стандарт
- Русификация (информатика)
Примечания
- ↑ Glossary of W3C Jargon (англ.). World Wide Web Consortium. Дата обращения: 3 июня 2010. Архивировано 24 августа 2011 года.