Кроме того, некоторые люди используют термин
Возможности NLS существуют на двух уровнях. Первым уровнем является библиотека С. Она предоставляет сведения о локали; процедуры для обработки большей части низкоуровневых подробностей работы по форматированию даты/времени, числовых и денежных значений; и процедуры для корректного для данной локали сопоставления регулярных выражений и классификации символов и сравнений. Именно возможности библиотеки появляются в стандартах С и POSIX.
На уровне приложения GNU gettext
предоставляет команды и библиотеку для локализации программы: т.е. для возможности вывода сообщений на одном или более естественных языках. GNU gettext
основана на плане, первоначально разработанном Sun Microsystems для Solaris[138]; однако, она была реализована с нуля и теперь предоставляет расширения к первоначальному gettext
Solaris. GNU gettext
является стандартом де-факто для локализации программ, особенно в мире GNU.
В дополнение к локалям и gettext
стандарт С предоставляет возможности для работы с несколькими наборами символов и с их
13.2. Локали и библиотека С
Специфичное для локали поведение управляется посредством установки переменных окружения, описывающих, какую локаль (локали) использовать для той или иной информации. Число доступных локалей, предлагаемых каждой конкретной операционной системой, колеблется от менее чем десяти на некоторых коммерческих системах Unix до сотен локалей на системах GNU/Linux. ('locale -a
' выводит полный список доступных локалей.)
Гарантируется существование двух локалей, «С» и «POSIX». Они действуют в качестве локали по умолчанию, предоставляя окружение 7-разрядного ASCII, поведение которого такое же, как на традиционных системах Unix без поддержки локалей. В противном случае, локали обозначают язык, страну, а также могут включать сведения о наборе символов. Например, 'it_IT
' используется для итальянского языка в Италии с использованием системного набора символов по умолчанию, a 'it_IT.UTF-8
' использует кодировку UTF-8 для набора символов Unicode.
Дополнительные подробности об именах локалей можно найти в справочной странице GNU/Linux
13.2.1. Категории локалей и переменные окружения
Заголовочный файл
определяет функции и структуры локали. Категории локали определяют разновидности информации, которые будут для программы зависимы от локали. Категории доступны в виде набора именованных констант. Они перечислены в табл. 13.1.
Таблица 13.1. Константы категорий локалей ISO С, определенные в