NLS. Сообщения на родном языке.
Ранее уже упоминалась возможность получения сообщений и работы с программой на родном языке. Такая возможность существует, и даннное средство называется NLS (National (или Native) Language Support).
"Национализация" в действительности включает в себя несколько аспектов :
и/или переменной LANG.
Чтобы организовать работу с сообщениями программы и дать возможность переводить их на другие языки, было введено такое понятие, как message catalog ( каталог сообщений ). Каталог сообщений хранится отдельно от программы. Естественно, каждая программа может ( и должна ! ) вести свой собственный
каталог сообщений, а система NLS
предоставляет средства для поддержки корректной работы. Большинство программ, а также системные библиотеки (libc и т.д.) используют NLS и их сообщения могу быть переключены на другой язык.
Message catalog - это фактически база данных, выборка из которой происходит по ключам :
В результате, на выходе, мы получаем строку
конкретного сообщения конкретной программы на нужном нам языке.
Система NLS предоставляет набор стандартных библиотечных вызовов для работы с каталогами сообщений и набор утилит
для создания и поддержания этих каталогов (базы).
В настоящее время существут две основных реализации NLS :
) См. и пример реализации .
В наиболее широко распространенной реализации XPG4 всем сообщениям программы присваивается определенный номер, который служит индексом для поиска текстовой строки в message catalog-е. Кроме того может существовать несколько
наборов (sets) сообщений внутри одного каталога.
Для поиска самих message catalog-ов
от данной программы используется переменная окружения .