Emacs для начинающих

       

NLS. Сообщения на родном языке.


Ранее уже упоминалась возможность получения сообщений и работы с программой на родном языке. Такая возможность существует, и даннное средство называется NLS (National (или Native) Language Support).

"Национализация" в действительности включает в себя несколько аспектов :

  • Перевод сообщений программы на национальный язык.
  • Присвоение значения категории локализации LC_MESSAGES

    и/или переменной LANG.

  • Перевод описания программы для man.
  •     Чтобы организовать работу с сообщениями программы и дать возможность переводить их на другие языки, было введено такое понятие, как message catalog ( каталог сообщений ). Каталог сообщений хранится отдельно от программы. Естественно, каждая программа может ( и должна ! ) вести свой собственный

    каталог сообщений, а система NLS

    предоставляет средства для поддержки корректной работы. Большинство программ, а также системные библиотеки (libc и т.д.) используют NLS и их сообщения могу быть переключены на другой язык.

    Message catalog - это фактически база данных, выборка из которой происходит по ключам :

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

    конкретного сообщения конкретной программы на нужном нам языке.

        Система NLS предоставляет набор стандартных библиотечных вызовов для работы с каталогами сообщений и набор утилит

    для создания и поддержания этих каталогов (базы).

    В настоящее время существут две основных реализации NLS :

  • X/Open XPG3/XPG4 (с функцииями ,, и утилитой )
  • SUN XView (с функциями gettext(), textdomain()

    ) См. и пример реализации .

  •     В наиболее широко распространенной реализации XPG4 всем сообщениям программы присваивается определенный номер, который служит индексом для поиска текстовой строки в message catalog-е. Кроме того может существовать несколько

    наборов (sets) сообщений внутри одного каталога.

        Для поиска самих message catalog-ов

    от данной программы используется переменная окружения .



    Содержание раздела