Provided by: manpages-de_4.27.0-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
              Diese Kategorie legt die  Vergleichsregeln  für  das  Sortieren  sowie  reguläre  Ausdrücke  fest,
              einschließlich  Äquivalenzklassen  für  Zeichen  und  die Sortierreihenfolge für Elemente, die aus
              mehreren Zeichen bestehen. Diese Kategorie ändert das  Verhalten  der  Funktionen  strcoll(3)  und
              strxfrm(3),  mit  denen  Zeichenketten gemäß des lokalen Alphabets verglichen werden. Zum Beispiel
              wird das deutsche scharfe s (ß) wie »ss« sortiert.

       LC_CTYPE
              Diese Kategorie legt  die  Interpretation  von  Bytesequenzen  als  Zeichen  fest  (beispielsweise
              Einzelbyte-  oder  Multibyte-Zeichen),  die  Einteilung von Zeichen (beispielsweise Buchstabe oder
              Ziffer) sowie das Verhalten von Zeichenklassen. Auf Glibc-Systemen legt diese  Kategorie  außerdem
              die  Transliterationsregeln  für  iconv(1)  und  iconv(3)  fest.  Sie  ändert  das  Verhalten  von
              zeichenorientierten und Klassifizierungs-Funktionen wie isupper(3) und toupper(3) sowie Funktionen
              für die Bearbeitung von Multibyte-Zeichen wie mblen(3) oder 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
              Diese Kategorie bestimmt die für monitäre numerische Werte verwandte Formatierung. Dies ändert die
              Informationen, die von localeconv(3) zurückgegeben werden. Sie  beschreiben  das  Format,  in  dem
              Zahlen  normalerweise  ausgegeben  werden,  inklusive  Details wie Dezimalpunkt bzw. Dezimalkomma.
              Diese Informationen werden intern von der Funktion strfmon(3) benutzt.

       LC_MESSAGES
              Diese Kategorie beeinflusst die Sprache, in  der  Meldungen  angezeigt  werden  und  das  Aussehen
              positiver  oder negativer Antworten. Um die Anwendung dieser Informationen zu vereinfachen, stellt
              die  GNU-C-Bibliothek  die  Funktionen  gettext(3),  ngettext(3)  und   rpmatch(3)   bereit.   Die
              Funktionenfamilie GNU gettext richtet sich nach der Umgebungsvariable LANGUAGE (enthält eine durch
              Doppelpunkte  getrennte  Liste  von  Locales),  wenn  die  Kategorie  auf  eine  gültige,  von »C«
              verschiedene Locale gesetzt ist. Diese Kategorie beeinflusst auch das Verhalten von 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
              Diese  Kategorie  bestimmt  die  für  nichtmonitäre  numerische  Werte  verwandte  Formatierung  –
              beispielsweise das Tausender-Trennzeichen  und  den  Dezimaltrenner  (ein  Punkt  in  den  meisten
              englischsprachigen Ländern, in vielen anderen Regionen aber ein Komma). Sie beeinflusst Funktionen
              wie  printf(3),  scanf(3)  und  strtod(3).  Diese  Informationen  können  auch  mit  der  Funktion
              localeconv(3) ausgelesen werden.

       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 Glibc 2.3 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
              Eine Liste von durch Doppelpunkt (»:«) getrennten Pfadnamen, die zum  Auffinden  von  Locale-Daten
              benutzt  werden  sollen. Falls diese Variable gesetzt ist, werden nur die individuell kompilierten
              Locale-Datendateien aus LOCPATH  und  die  Systemvorgabepfade  for  Locale-Data  verwandt;  andere
              verfügbare locale Archive werden nicht verwandt (siehe localedef(1)). Die individuell kompilierten
              Locale-Datendateien  werden  unter  Unterverzeichnissen  gesucht,  die  von der aktuell verwandten
              Locale abhängen. Wird beispielsweise en_GB.UTF-8 als eine  Kategorie  verwandt,  dann  werden  die
              folgenden  Unterverzeichnisse  in  dieser  Reihenfolge durchsucht: en_GB.UTF-8, en_GB.utf8, en_GB,
              en.UTF-8, en.utf8 und en.

DATEIEN

       /usr/lib/locale/locale-archive
              Gewöhnlicher Standardort des Locale-Archivs.

       /usr/lib/locale
              Gewöhnlicher Standard-Vorgabeort für kompilierte individuelle Locale-Dateien.

STANDARDS

       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)

ÜBERSETZUNG

       Die  deutsche  Übersetzung  dieser  Handbuchseite  wurde  von  Martin Schulze <joey@infodrom.org>, Martin
       Eberhard Schauer <Martin.E.Schauer@gmx.de>,  Mario  Blättermann  <mario.blaettermann@gmail.com>  und  Dr.
       Tobias Quathamer <toddy@debian.org> 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  die
       Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.

Linux man-pages 6.9.1                             15. Juni 2024                                        locale(7)