Provided by: manpages-de_1.11-1_all bug

BEZEICHNUNG

       locale - Beschreibung der Unterstützung für mehrere Sprachen

ÜBERSICHT

       #include <locale.h>

BESCHREIBUNG

       Eine  Locale  ist  ein  Satz von kulturellen und sprachlichen Regeln. Die Regeln behandeln
       Aspekte wie die Sprache  für  Meldungen,  unterschiedliche  Zeichensätze,  lexikografische
       Konventionen  usw.  Um in unterschiedlichen Kulturen eingesetzt werden zu können, muss ein
       Programm in der Lage sein, die Locale zu ermitteln und deren Regeln anzuwenden.

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

       Sie  deklariert  die  Funktionen  setlocale(3)  für  das  Setzen  der aktuellen Locale und
       localeconv(3), welche Informationen über Zahlenformate beschafft.

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

       LC_ADDRESS (GNU-Erweiterung, seit Glibc 2.2)
              Mit   diesem  Makro  können  Sie  die  Einstellungen  ändern,  welche  die  Formate
              beschreiben (zum Beispiel Postanschriften),  die  Orte  und  sonstige  Objekte  mit
              geografischem  Bezug  ändern.  Anwendungen,  welche  diese Informationen benötigen,
              können nl_langinfo(3) verwenden, um den  Inhalt  von  Nicht-Standardelementen,  wie
              _NL_ADDRESS_COUNTRY_NAME  (Landesbezeichnung  in der Sprache der jeweiligen Locale)
              und _NL_ADDRESS_LANG_NAME (Sprachbezeichnung in der Sprache der jeweiligen Locale),
              welche    Zeichenketten    wie    »Deutschland«   und   »Deutsch«   (für   deutsche
              Spracheinstellungen) zurückliefern, zu ermitteln. Weitere  Elementnamen  werden  in
              <langinfo.h> aufgelistet.

       LC_COLLATE
              This category governs the collation rules used for sorting and regular expressions,
              including character equivalence classes and multicharacter collating elements. This
              locale  category  changes the behavior of the functions strcoll(3)  and strxfrm(3),
              which are used to compare strings in the local alphabet. For  example,  the  German
              sharp s is sorted as "ss".

       LC_CTYPE
              This  category determines the interpretation of byte sequences as characters (e.g.,
              single versus multibyte characters), character classifications (e.g., alphabetic or
              digit), and the behavior of character classes. On glibc systems, this category also
              determines the character transliteration  rules  for  iconv(1)   and  iconv(3).  It
              changes  the  behavior of the character handling and classification functions, such
              as isupper(3)  and toupper(3),  and  the  multibyte  character  functions  such  as
              mblen(3)  or wctomb(3).

       LC_IDENTIFICATION (GNU-Erweiterung, seit Glibc 2.2)
              Mit   diesem   Makro  ändern  Sie  Einstellungen  der  Metadaten  für  die  Locale.
              Anwendungen, welche diese Informationen benötigen, können nl_langinfo(3) verwenden,
              um  den  Inhalt  von  Nicht-Standardelementen,  wie _NL_IDENTIFICATION_TITLE (Titel
              dieses   Locale-Dokuments)    und    _NL_IDENTIFICATION_TERRITORY    (geografisches
              Territorium,  für  das  dieses Locale-Dokument anwendbar ist), welche Zeichenketten
              wie »English Locale for the USA« und »USA«  zurückliefern,  zu  ermitteln.  Weitere
              Elementnamen werden in <langinfo.h> aufgelistet.

       LC_MONETARY
              This  category  determines the formatting used for monetary-related numeric values.
              This changes the information returned by localeconv(3),  which  describes  the  way
              numbers  are  usually  printed,  with  details such as decimal point versus decimal
              comma. This information is internally used by the function strfmon(3).

       LC_MESSAGES
              This category affects the language in which messages  are  displayed  and  what  an
              affirmative  or  negative  answer  looks  like.  The  GNU  C  library  contains the
              gettext(3), ngettext(3),  and  rpmatch(3)   functions  to  ease  the  use  of  this
              information. The GNU gettext family of functions also obey the environment variable
              LANGUAGE (containing a colon-separated list of locales)  if the category is set  to
              a  valid  locale  other  than  "C".  This  category  also  affects  the behavior of
              catopen(3).

       LC_MEASUREMENT (GNU-Erweiterung, seit Glibc 2.2)
              Dies ändert die Einstellungen des Einheitensystems  in  der  Locale  (zum  Beispiel
              metrisches  oder  angloamerikanisches Maßsystem). Anwendungen können nl_langinfo(3)
              verwenden, um den Inhalt des Nicht-Standard-Elements _NL_MEASUREMENT_MEASUREMENT zu
              ermitteln, welches einen Zeiger auf ein Zeichen zurückgibt, das entweder den Wert 1
              (metrisches Maßsystem) oder 2 (angloamerikanisches Maßsystem) hat.

       LC_NAME (GNU-Erweiterung, seit Glibc 2.2)
              Dies ändert die Einstellungen, welche die für Personenadressen verwendeten  Formate
              beschreiben. Anwendungen, welche diese Information benötigen, können nl_langinfo(3)
              verwenden,  um  den  Inhalt  von  Nicht-Standard-Elementen,  wie   _NL_NAME_NAME_MR
              (allgemeine  Anrede für männliche Personen) und _NL_NAME_NAME_MS (allgemeine Anrede
              für weibliche Personen),  zu  ermitteln.  Diese  geben  beispielsweise  im  in  der
              deutschen Locale-Einstellung »Herr« und »Frau« zurück. Weitere Elementnamen sind in
              <langinfo.h> aufgelistet.

       LC_NUMERIC
              This category determines the formatting rules used for nonmonetary numeric  values—
              for  example,  the  thousands  separator  and the radix character (a period in most
              English-speaking countries,  but  a  comma  in  many  other  regions).  It  affects
              functions  such as printf(3), scanf(3), and strtod(3). This information can also be
              read with the localeconv(3) function.

       LC_PAPER (GNU-Erweiterung, seit Glibc 2.2)
              Dies ändert die Einstellungen der Abmessungen  des  Standardpapiers  (zum  Beispiel
              US-Letter  oder  A4).  Anwendungen,  welche  diese  Abmessungen  benötigen,  können
              nl_langinfo(3) verwenden, um den Inhalt der Nicht-Standard-Elemente _NL_PAPER_WIDTH
              und  _NL_PAPER_HEIGHT  zu  ermitteln, wobei int-Werte zurückgegeben werden, die die
              Abmessungen in Millimetern angeben.

       LC_TELEPHONE (GNU-Erweiterung, seit Glibc 2.2)
              Dies ändert Einstellungen bezüglich der für Telefoniedienste  verwendeten  Formate.
              Anwendungen,  welche  diese  Informationen  benötigen,  können  nl_langinfo(3)  zum
              Ermitteln    der    Inhalte    von    Nicht-Standard-Elementen    verwenden,    wie
              _NL_TELEPHONE_INT_PREFIX  (internationales  Präfix,  das zum Anrufen von Nummern in
              diese Locale verwendet wird,  was  für  Deutschland  »49«  zurückliefert).  Weitere
              Elementnamen sind in <langinfo.h> aufgelistet.

       LC_TIME
              Diese  Kategorie  regelt  die  für Datums- und Uhrzeitwerte verwandte Formatierung.
              Beispielsweise verwendet der Großteil von Europa eine 24-Stunden-Uhr  während  eine
              12-Stunden-Uhr  in  den  Vereinigten  Staaten verwandt wird. Die Einstellung dieser
              Kategorie betrifft das Verhalten von Funktionen wie strftime(3) and strptime(3).

       LC_ALL alles bisherige

       Wenn  das  zweite  Argument  von  setlocale(3)  für  die  vorgegebene  Locale  eine  leere
       Zeichenkette (empty string) »« ist, wird sie mit den folgenden Schritten ermittelt:

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

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

       3.     Wenn eine nicht leere Umgebungsvariable LANG existiert, wird ihr Wert benutzt.

       Informationen über die lokale Formatierung von Zahlen liefert die  Funktion  localeconv(3)
       in der Datenstruktur struct lconv. Sie ist wie folgt deklariert:

         struct lconv {

          /* Numerische (nicht währungsbezogene) Informationen  */

           char *decimal_point;       /* Dezimal-Trennzeichen   */
           char *thousands_sep;       /* Tausender-Trennzeichen */
           char *grouping;
           /* 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. */

           /* Die restlichen Felder enthalten Währungsinformationen. */

           /* Die ersten drei Zeichen stellen das Währungszeichen gemäß ISO
              4217 dar. Das vierte Zeichen ist das Trennzeichen, das fünfte
              Zeichen ist '\0'. */
           char *int_curr_symbol;
           char *currency_symbol;     /* lokales Währungssymbol            */
           char *mon_decimal_point;   /* Dezimal-Trennzeichen              */
           char *mon_thousands_sep;   /* Tausender-Trennzeichen            */
           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;      /* internationale Zeichen für Brüche */
           char frac_digits;          /* lokale Zeichen für Brüche         */
           /* 1 wenn currency_symbol einem positiven Wert vorangestellt wird,
              0 wenn 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 Wert 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;
         };

   POSIX.1-2008-Erweiterungen zum lokalen API
       In  POSIX.1-2008 ist eine Reihe von Erweiterungen der Locale-API standardisiert, basierend
       auf Implementationen, die erstmals in der Version  2.3  der  GNU  C-Bibliothek  erschienen
       sind.  Diese  Erweiterungen sollen das Problem beheben, dass traditionelle Locale-APIs nur
       eingeschränkt  mit  Multithread-Anwendungen  und  mit  Anwendungen,  die  mehrere  Locales
       verwenden, zusammenarbeiten.

       Die  Erweiterungen  haben  die  Form  neuer  Funktionen zum Erstellen und Manipulieren von
       Locale-Objekten (newlocale(3), freelocale(3), duplocale(3) und uselocale(3)) und  diverser
       neuer  Bibliotheksfunktionen  mit  dem Suffix »_l« (zum Beispiel toupper_l(3)), welche die
       traditionellen  Locale-abhängigen  APIS  erweitern  (zum  Beispiel  toupper(3)),  um   die
       Spezifizierung  eines  Locale-Objekts  zu  ermöglichen,  das  beim  Ausführen der Funktion
       angewendet werden soll.

UMGEBUNGSVARIABLEN

       Die folgende  Umgebungsvariable  wird  von  newlocale(3)  und  setlocale(3)  verwandt  und
       betrifft daher alle unprivilegierten lokalisierten Programme:

       LOCPATH
              A  list of pathnames, separated by colons (':'), that should be used to find locale
              data. If this variable is set, only the individual compiled locale data files  from
              LOCPATH  and  the  system  default  locale data path are used; any available locale
              archives are not used (see localedef(1)). The individual compiled locale data files
              are  searched  for  under subdirectories which depend on the currently used locale.
              For example, when en_GB.UTF-8 is used for a category, the following  subdirectories
              are searched for, in this order: en_GB.UTF-8, en_GB.utf8, en_GB, en.UTF-8, en.utf8,
              and en.

DATEIEN

       /usr/lib/locale/locale-archive
              Usual default locale archive location.

       /usr/lib/locale
              Usual default path for compiled individual locale files.

KONFORM ZU

       POSIX.1-2001.

SIEHE AUCH

       iconv(1),  locale(1),  localedef(1),  catopen(3),  gettext(3),  iconv(3),   localeconv(3),
       mbstowcs(3),   newlocale(3),   ngettext(3),   nl_langinfo(3),   rpmatch(3),  setlocale(3),
       strcoll(3), strfmon(3), strftime(3),  strxfrm(3),  uselocale(3),  wcstombs(3),  locale(5),
       charsets(7), unicode(7), utf-8(7)

KOLOPHON

       Diese  Seite  ist  Teil  der  Veröffentlichung  4.04  des  Projekts  Linux-man-pages. Eine
       Beschreibung des Projekts, Informationen, wie Fehler  gemeldet  werden  können  sowie  die
       aktuelle Version dieser Seite finden sich unter http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die    deutsche    Übersetzung    dieser    Handbuchseite   wurde   von   Martin   Schulze
       <joey@infodrom.org>,  Martin  Eberhard   Schauer   <Martin.E.Schauer@gmx.de>   und   Mario
       Blättermann <mario.blaettermann@gmail.com> erstellt.

       Diese  Übersetzung  ist  Freie  Dokumentation;  lesen  Sie  die GNU General Public License
       Version  3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE   HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.