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

       

Как проверить, что локализация заработала ?


    Если у Вас полная реализация POSIX.2

1996, то проще всего воспользоваться утилитой locale.

    Применяя можно получить множество полезных сведений :

  • какие возможные значения locale уже инсталлированы и известны системе. $ locale -a

  • каковы текущие значения отдельных категорий локализации : $ locale

  • каково внутреннее содержание какой-либо категории : $ locale LC_CTYPE $ locale LC_TIME
  • e.t.c.

  • каковы текущие значения ключей (keywords) в какой-либо категории локализации : $ locale alpha $ locale toupper $ locale abmon

    e.t.c.

    Также можно воспользоваться такой короткой прогрммкой :

    /* testlocl.c : Минимальная проверка работоспособности locale, категория LC_CTYPE, "ключевое слово" - alpha */

    #include <stdio.h> #include <locale.h>



    #include

    main() {

    unsigned char c=0x0f9;

    setlocale(LC_ALL, "");

    printf("LC_CTYPE\t= %s\n", setlocale(LC_CTYPE, NULL));

    printf("isalpha(%c)\t= %s\n", c, isalpha(c) ? "yes" : "no" );

    return 0; }

        Для русской локализации в koi8-r согласно , коду 0x0f9

    соответствует русская буква "Ы" :

    F9  CYRILLIC CAPITAL LETTER YERI

    то есть. :

    $ cc -o testlocl testlocl.c $ ./testlocl LC_CTYPE = ru_RU.KOI8-R isalpha(Ы) = yes $

        Правильность работы категории LC_COLLATE

    можно проверить даже не компилируя тестовых программок, предполагая, что утилиты tr и dd работают в соответствии с POSIX :

    $ echo ы | tr '[:lower:]' '[:upper:]'

    Ы $ echo ы | dd conv=ucase Ы 0+1 records in 0+1 records out $



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