Available in

(1) (1)/fr (1posix) (3perl) (5) (5)/es (5)/fr (5)/it (5)/ja (5)/pl (5)/pt (5)/zh_CN (5)/zh_TW (7) (7)/cs (7)/de (7)/es (7)/fr (7)/hu (7)/it (7)/ja (7)/pl (7)/pt (7)/ru (7)/zh_CN (7)/zh_TW

TOC

LOCALE(7)                        Verschiedenes                       LOCALE(7)



BEZEICHNUNG

       locale - Beschreibung der Mehrsprachen-Unterstützung

ÃBERSICHT

       #include <locale.h>

BESCHREIBUNG

       Eine  Lokale  ist  ein  Satz  von  Sprach- und kultureller Regeln.  Sie
       behandeln  Aspekte  wie  Sprache   für   Meldungen,   unterschiedliche
       Zeichensätze,  lexikografische Konventionen etc.  Ein Programm muss in
       der Lage sein, die Locale zu ermitteln und entsprechen zu reagieren, um
       in unterschiedlichen Kulturen eingesetzt werden zu können.

       Die  Header-Datei  <locale.h>  deklariert  Datentypen,  Funktionen  und
       Makros, die für diese Aufgabe hilfreich sind.

       Die  Funktionen,  die  deklariert  werden,  sind  setlocale(),  um  die
       aktuelle  Locale  zu  setzen  und  localeconv(), um Informationen über
       Zahlenformate zu erhalten.

       Es gibt unterschiedliche Kategorien für lokale Informationen, die  ein
       Programm  benötigt.   Sie  sind  als  Makros deklariert.  Wenn sie als
       erstes Argument für setlocale() benutzt werden, ist es möglich,  eine
       dieser auf die gewünschte Locale zu setzen:

       LC_COLLATE
              Dieses  wird  benutzt, um das Verhalten der Funktionen strcoll()
              und strxfrm() zu beeinflussen, die benutzt werden,  um  Zeichen‐
              ketten   gemäà des  lokalen  Alphabets  zu  vergleichen.   Zum
              Beispiel wird das Deutsche scharfe à wie "ss" sortiert.

       LC_CTYPE
              Dieses ändert das Verhalten von Zeichenorientierten und  -Klas‐
              sifizierungs-Funktionen   wie   isupper()  und  toupper()  sowie
              multi-byte Zeichen-Funktionen wie mblen() oder wctomb().

       LC_MONETARY
              ändert die Informationen, die von  localeconv()  zurückgegeben
              werden.   Sie  beschreiben  das Format, wie Zahlen normalerweise
              ausgegeben werden, inklusive Details wie Dezimalpunkt bzw. Dezi‐
              malkomma.  Dieser Information wird intern von der Funktion strf‐
              mon() benutzt.

       LC_MESSAGES
              ändert die Sprache, in der Meldungen angezeigt werden, und  wie
              eine positive oder negative Antwort aussieht.  Die GNU C-Biblio‐
              thek beinhaltet die Funktion rpmatch(), um  diese  Informationen
              anzuwenden.

       LC_NUMERIC
              "andert   die   Informationen,  die  von  den  Funktionsfamilien
              printf() und scanf() benutzt werden, wenn sie angewiesen werden,
              Locale-Einstellungen  zu  benutzen.  Diese Informationen können
              ebenfalls mit der Funktion localeconv() gelesen werden.

       LC_TIME
              ändert das Verhalten der Funktion strftime(), um  die  aktuelle
              Uhrzeit  in  einem  lokal  angebrachten  Format  anzuzeigen.  In
              Europa wird zum Beispiel meistens eine 24-Stunden  Uhr  benutzt,
              im Gegensatz zur 12-Stunden Uhr in Amerika.

       LC_ALL Alles bisherige.

       Wenn  das  zweite  Argument von setlocale() für die vorgegebene Locale
       ein leerer String "" ist, wird sie anhand folgender Schritte ermittelt:

       1.     Wenn  eine  nichtleere  Umgebungsvariable LC_ALL existiert, wird
              der Wert von LC_ALL benutzt.

       2.     Wenn eine nichtleere Umgebungsvariable mit  dem  gleichen  Namen
              wie  eine der oben genannten Kategorien existiert, wird ihr Wert
              für die gleichnamige Kategorie verwendet.

       3.     Wenn eine nichtleere Umgebungsvariable  namens  LANG  existiert,
              wird ihr Wert benutzt.

       Informationen über Formatierung von Zahlen wird in einer Datenstruktur
       gespeichert, die von der Routine localeconv() zurückgegeben wird.  Sie
       ist wie folgt deklariert:
       struct lconv
       {
         /* Numerische (nicht finanzielle) Informationen. ----- */

         char *decimal_point;        /* Dezimaltrennzeichen.  */
         char *thousands_sep;        /* Tausender-Begrenzer.  */
         /* Jedes Element entspricht der Anzahl von Ziffern in jeder Gruppe.
            Elemente mit einem höheren Index stehen weiter links.  Ein
            Element mit dem Wert CHAR_MAX bedeutet, dass keine weitere
            Gruppierung mehr stattfindet.  Ein Element mit einem Wert von 0
            bedeutet, dass das vorherige Element für alle Gruppen weiter links
            benutzt wird.  */
         char *grouping;

         /* Finanz-Informationen.  ---------------------------- */

         /* Die ersten drei Zeichen stellen das Währungszeichen gemäà ISO
            4217 dar.  Das vierte Zeichen ist ein Trennungszeichen, das
            fünfte Zeichen ist ’ ’.  */
         char *int_curr_symbol;
         char *currency_symbol; /* Lokales Währungssymbol.            */
         char *mon_decimal_point;    /* Dezimaltrennzeichen.               */
         char *mon_thousands_sep;    /* Tausender-Begrenzer.               */
         char *mon_grouping;         /* Wie das ‘grouping’-Element (oben). */
         char *positive_sign;        /* Vorzeichen für positive Werte.     */
         char *negative_sign;        /* Vorzeichen für negative Werte.     */
         char int_frac_digits;       /* Int’l fractional digits.           */
         char frac_digits;      /* Local fractional digits.           */
         /* 1 wenn currency_symbol einem positiven Wert vorangestellt  wird,
            0 precedes es nachgestellt wird  */
         char p_cs_precedes;
         /* 1 wenn ein Leerzeichen currency_symbol von einem positiven Wert trennt.  */
         char p_sep_by_space;
         /* 1 wenn currency_symbol einem negativen vorangestellt wird,
            0 wenn es nachgestellt wird */
         char n_cs_precedes;
         /* 1 wenn ein Leerzeichen currency_symbol von einem negativen Wert trennt.  */
         char n_sep_by_space;
         /* Positionen positiver und negativer Vorzeichen:
            0 Klammern umgeben die Menge und currency_symbol.
            1 Das Vorzeichen wird der Menge und currency_symbol vorangestellt.
            2 Das Vorzeichen wird der Menge und currency_symbol nachgestellt.
            3 Das Vorzeichen wird currency_symbol unmittelbar vorangestellt.
            4 Das Vorzeichen wird currency_symbol unmittelbar nachgestellt.  */
         char p_sign_posn;
         char n_sign_posn;
       };

KONFORM ZU

       POSIX.1

SIEHE AUCH

       setlocale(3), localeconv(3), locale(1), localedef(1), rpmatch(3), strf‐
       mon(3), strcoll(3), strxfrm(3), strftime(3).



Linux                           7. Februar 1999                      LOCALE(7)

COMMENTS

Add your comment here. Whitespace and linebreaks are preserved. URLs are linked automatically.
CAPTCHA

No HTML allowed. URLs will be linked with nofollow attribute. Whitespace is preserved.