1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199
|
.\" (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one
.\"
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date. The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein. The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\"
.\" Modified Sat Jul 24 17:28:34 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Sun Jun 01 17:16:34 1997 by Jochen Hein (jochen.hein@delphi.central.de)
.TH LOCALE 7 "April 24, 1993" "Linux" "Linux Programmer's Manual"
.SH NV
locale \- a tbbnyelvsg tmogatsnak lersa
.SH TTEKINTS
.nf
.B #include <locale.h>
.fi
.SH LERS
A locale nyelvi s kultrlis szablyok sszesge. Magban foglalja az
a programok zeneteinek nyelvt, klnfle karakterkszleteket, bcsorrendet,
stb. A programoknak meg kell tudniuk llaptani, hogy milyen locale alatt futnak,
s ennek megfelelen kell viselkednik, annak rdekben, hogy klnbz kultrk
kztt hordozhatak legyenek.
.PP
A
.B <locale.h>
fejlcfjl olyan adattpusokat, fggvnyeket s makrkat deklarl, amelyek
segtenek ezt a feladatot megoldani.
.PP
A
.B setlocale()
fggvnnyel llthatjuk be az aktulis locale-t. A
.B localeconv()
fggvny adja vissza szmok formzsval kapcsolatos informcit.
.PP
A program ltal ignyelt lokalizcis informcik tbb kategriba sorolhatk,
ezeket makrknt deklarltk. A
.B setlocale()
fggvny els argumentumaknt megadva lehet ezeket belltani:
.TP
.B LC_COLLATE
Ez a
.B strcoll()
s a
.BR strxfrm() ,
fggvnyek viselkedst befolysolja, amelyek kt karakterlncot hasonltanak
sssze a helyi bc szerint. Pldul a nmet "" az abcben az "ss"
betkapcsolatnak felel meg.
.TP
.B LC_CTYPE
Ez a karakterkezel s karakterosztlyoz fggvnyek viselkedst vltoztatja
meg, pldul az
.B isupper()
s a
.BR toupper() ,
s a tbb-bjtos karaktereket kezel fggvnyekt, pldul az
.B mblen()
vagy az
.BR wctomb() .
.TP
Az
.B LC_MONETARY
a
.B localeconv()
ltal visszadott rtket vltoztatja meg, amely a szmok nyomtatsnak
mdjt hatrozza meg, pldul hogy tizedesvesszt vagy tizedespontot
hasznl-e az adott locale. Ezt az informcit az
.BR strfmon()
fggvny is hasznlja.
.TP
Az
.B LC_MESSAGES
megvltoztatja az zenetek nyelvt, s a beleegyez illetve az elutast
vlasz megjelenst. A GNU-C knyvtr
.B rpmatch()
fggvnye megknnyti ezeknek az informciknak a hasznlatt.
.TP
Az
.B LC_NUMERIC
a
.B printf()
s a
.B scanf()
fggvnycsald ltal hasznlt informcikat vltoztatja meg, ha
figyelembe vetetjk velk a locale belltst. Ezt az informcit a
.B localeconv()
fggvnnyel is kiolvashatjuk.
.TP
Az
.B LC_TIME
az
.B strftime()
fggvny viselkedst vltoztatja meg annak rdekben, hogy az idt az
adott helynek megfelel formban rja ki. Pldul a legtbb eurpai
orszgban 24 rs rendszerben mrik az idt, mg az USA-ban a 12 rs
rendszert hasznljk.
.TP
.B LC_ALL
Minden, ami eddig felsorolsra kerlt.
.PP
Ha a
.B setlocale()
msodik argumentuma res karakterlnc,
.BR """""" ,
akkor a hasznland locale a kvetkez lpsek szerint kerl meghatrozsra:
.IP 1.
Ha ltezik az
.B LC_ALL
krnyezeti vltoz, s az rtke nem res karakterlnc, akkor az
.B LC_ALL
rtkt fogja a fggvny hasznlni.
.IP 2.
Ha ltezik egy a fenti kategrikkal megegyez nev krnyezeti vltoz,
s az rtke nem res karakterlnc, akkor annak az rtkt fogja a fggvny
hasznlni arra a kategrira.
.IP 3.
Ha ltezik a
.B LANG
krnyezeti vltoz, s az rtke nem res karakterlnc, akkor a
.B LANG
rtkt fogja a fggvny hasznlni.
.PP
A szmok formtumt az
.B struct lconv
struktrbl olvashatjuk ki, amelyet a
.B localeconv()
fggvny ad vissza. A struktra deklarcija a kvetkez:
.nf
struct lconv
{
/* Numerikus (nem pnzgyi) informcik */
char *decimal_point; /* tizedespont karakter */
char *thousands_sep; /* az ezreseket elvlaszt karakter */
/* Minden elem az adott csoportban lv szmjegyek szmt adja meg,
jobbrl balra. Ha egy elem rtke CHAR_MAX, az azt jelenti, hogy nincs
tovbbi csoportosts. Ha egy elem rtke 0, az azt jelenti, hogy az
elz elem rtket kell hasznlni az ettl balra es csoportokra. */
char *grouping;
/* Pnzgyi informcik */
/* Az els hrom karakter a pnznem jele az ISO 4217 szerint.
A negyedik karakter az elvlaszt, az tdik '\0'. */
char *int_curr_symbol;
char *currency_symbol; /* a helyi pnznem jele */
char *mon_decimal_point; /* tizedespont karakter */
char *mon_thousands_sep; /* az ezreseket elvlaszt karakter */
char *mon_grouping; /* mint a `grouping' elem (lsd fent) */
char *positive_sign; /* pozitv eljel */
char *negative_sign; /* negatv eljel */
char int_frac_digits; /* nemzetkzi trt szmjagyek */
char frac_digits; /* helyi trt szmjegyek */
/* 1 ha a currency_symbol a pozitv rtk eltt van, 0 ha mgtte. */
char p_cs_precedes;
/* 1 ha a currency_symbol s a pozitv rtk kztt van szkz. */
char p_sep_by_space;
/* 1 ha a currency_symbol a negatv rtk eltt van, 0 ha mgtte. */
char n_cs_precedes;
/* 1 ha a currency_symbol s a negatv rtk kztt van szkz. */
char n_sep_by_space;
/* A pozitv s negatv eljel pozcija:
0 a mennyisg s a currency_symbol zrjelben van.
1 Az eljel a mennyisg s a currency_symbol eltt van.
2 Az eljel a mennyisg s a currency_symbol mgtt van.
3 Az eljel kzvetlenl a mennyisg s a currency_symbol eltt van.
4 Az eljel kzvetlenl a mennyisg s a currency_symbol mgtt van. */
char p_sign_posn;
char n_sign_posn;
};
.fi
.SH MEGFELELS
POSIX.1
.SH "LSD MG"
.BR setlocale (3),
.BR localeconv (3),
.BR locale (1),
.BR localedef (1),
.BR rpmatch (3),
.BR strfmon (3),
.BR strcoll (3),
.BR strxfrm (3),
.BR strftime (3)
.SH MAGYAR FORDTS
Tmr Andrs <timar_a@freemail.hu>
|