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

       

POSIX locale


    В POSIX

(Portable Operating System) были определены средства локализации, названные locale

(к сожалению, не существует адекватного русского перевода этого термина). Locale (англ.) - местные особенности.

   Locale - это такое системное средство (фича ;-) позволяющее настроить систему на работу с данными в конкретном национальном (местном) представлении. Отдаленно напоминает средство CodePage в MS-DOS или OS/2.

    Средства POSIX locale охватывает немого больший круг понятий, чем просто работа с национальными .

    Зачем ? Дело в том, что кроме собственно языка общения и алфавита, в разных странах различаются такие обычаи, как представление даты, времени, финансовых величин и т.д. Эти "культурные правила"

уже закреплены традицией и национальными стандартами, иногда довольно давно, поэтому при "локализации" программных продуктов существует необходимость в настройке их еще и на эти "культурные правила". В стандарте POSIX

культурные правила объединены в группы - категории локализации.

 * ПРИМЕЧАНИЕ : В принципе, каких "культурных нюансов" можно найти много. См. например статью : Colors, Buttons, Words and Culture: Designing Software for the Global Community (копия здесь) или Internationalization. Но в большинстве случаев, для машинной обработки информации вполне хватает понятий POSIX  locale.

    Структурно, средства POSIX locale

состоят из следующих компонентов :

  • Набор библиотечных (libc) вызовов (locale API): , isalpha(), , e.t.c.
  • Переменные окружения, для управления средствами locale : , LC_CTYPE. e.t.c.
  • Утилита для получения информации о средствах locale

    :

  • Исходные тексты описания locale : locale definitions,
  • Утилита для изготовления (компиляции) объектов локализации :
  • Собственно объекты локализации (наборы данных locale) : /usr/share/locale/*
  • *    *    *

        Существующая также "система управления сообщениями на национальном языке" : (Native Language Support) формально не входит в POSIX locale, хотя во многом дополняет функции locale.

        Также довольно тесно пересекаются с locale

    такие механизмы POSIX как поддержка многобайтных (multibyte) и "широких" (wide-char) символов. Эта связь не очень заметна для европейских языков, но в для поддержки алфавитов с большим числом знаков (японский ~2000, китайский ~8000, UNICODE ~25000) это становится жизненно необходимо.

    * ПРИМЕЧАНИЕ : POSIX locale HЕ ИМЕЕТ накакого отношения к физическому в UNIX и к проблемам работы терминала, клавиатуры и печатающих устройств с национальными символами.


  • В первую очередь, конечно, необходимо читать man

    :) по функциям POSIX.1 :

    , /isxxxx(),,

    и т.д.

  • Также man по утилитам POSIX.2 и .

    И конечно их исходные тексты (начиная с версии Linux libc 5.3.x или GNU libc 2.0.x).

  • Сведения по : man ,,

    В исходных текстах libc, man - примеры message catalog-ов.

  • Также неплохо посмотреть GNU info-pages по теме libc / Locales.

    HTML-версия GNU info есть например на

  • Документы группы JTC1/SC22/WG15 - POSIX

  • Различные документы GNU , в частности:

    или локально : .

    Перевод: (хост умер ?)

  • Страничка от - главного идеолога и разработчика средств

    locale в библиотеке GNU libc и Linux libc :

    и его доклад :

  • Спецификации POSIX.1 и POSIX.2 .

    (ISO/IEC 9945-2:1988, 1990, 1992, 1996 от

    * ISO и

    * IEC или, что то же самое,

    IEEE Std. 1003.2-1992) и POSIX.2a, POSIX.2b .

    * IEEE

    Hа утверждается, что это стоит денег, поэтому лучше всего поглядеть на

    (там правда draft версии)

    или соответственно, через WWW. Например :

    - он же, через WWW виден как :

    , далее :

    e.t.c.

  • Спецификации XPG3/XPG4 от X/Open Co Ltd. (за деньги :(( ) на :

  • Коллекция locales и charmaps в исходном виде для POSIX.2

    и прочие документы пограммы i18n. Ведет ее Keld Simonsen <> :

    Русскиe charset  ISO_8859-5, KOI8-R, CP1251, e.t.c.

    Русская locale ru_RU.

  • World Currencies and Abbreviations. По мотивам ISO 4712 :



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