ΠΠ°ΡΠ°Π½ΡΠΈΡΡΠ΅ΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΡΡ Π»ΠΎΠΊΠ°Π»Π΅ΠΉ, Β«Π‘Β» ΠΈ Β«POSIXΒ». ΠΠ½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π»ΠΎΠΊΠ°Π»ΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ 7-ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠ³ΠΎ ASCII, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ Π½Π° ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Unix Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π»ΠΎΠΊΠ°Π»Π΅ΠΉ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π»ΠΎΠΊΠ°Π»ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΡΠ·ΡΠΊ, ΡΡΡΠ°Π½Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π½Π°Π±ΠΎΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, '
it_ITit_IT.UTF-8ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ Π»ΠΎΠΊΠ°Π»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ GNU/Linux setlocale(3). ΠΠ±ΡΡΠ½ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ GNU/Linux ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΎΠΊΠ°Π»Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈ Π΅Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅, ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅, Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌ ΡΠ΅ΠΌ ΠΊΡΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π» Π΅Π΅, ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ± ΡΡΠΎΠΌ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ.
13.2.1. ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Π»ΠΎΠΊΠ°Π»Π΅ΠΉ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»
<locale.h>Π’Π°Π±Π»ΠΈΡΠ° 13.1. ΠΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ Π»ΠΎΠΊΠ°Π»Π΅ΠΉ ISO Π‘, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π²
<locale.h>| ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ |
|---|---|
LC_ALL | ΠΡΠ° ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π»ΠΎΠΊΠ°Π»ΠΈ. ΠΠ½Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΡΡΠ°Π²ΡΠ΅ΠΉΡΡ ΡΠ°ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ |
LC_COLLATE | ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊ (ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅) ΠΈ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ |
LC_CTYPE | ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² (Π·Π°Π³Π»Π°Π²Π½ΡΠ΅, ΡΡΡΠΎΡΠ½ΡΠ΅ ΠΈ Ρ.Π΄.) ΠΡΠΎ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ is<i>XXX</i>()<ctype.h> |
LC_MESSAGES | ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ
Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. ΠΡΠ° ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ Π²ΡΡΡΠΏΠ°Π΅Ρ Π² ΠΈΠ³ΡΡ Ρ GNU gettext |
LC_MONETARY | ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π΅Π½Π΅ΠΆΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ°ΠΊΠΎΠΉ, ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π΄Π»Ρ ΠΌΠ΅ΡΡΠ½ΠΎΠΉ Π²Π°Π»ΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, $ ΠΏΡΠΎΡΠΈΠ² USD Π΄Π»Ρ Π΄ΠΎΠ»Π»Π°ΡΠ° Π‘Π¨Π), ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½ ΠΈ Ρ.Π΄. |
LC_NUMERIC | ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ |
LC_TIME | ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Ρ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ |
ΠΡΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌΠΈ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ
LC_TELEPHONELC_ADDRESS#ifdefΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π‘ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π‘ Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ½ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈΡΡ Π² Π»ΠΎΠΊΠ°Π»ΠΈ Β«Π‘Β» ΠΈΠ»ΠΈ Β«POSIXΒ» Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΡΠΎ ΡΡΠ°ΡΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, Π²ΡΠ·Π²Π°Π²
setlocale()ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅ΡΡ ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅ ΠΈΠΌΠ΅Π½Π°, ΡΡΠΎ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π² ΡΠ°Π±Π».Β 13.1 ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Π»ΠΎΠΊΠ°Π»Π΅ΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠΎΠΌΠ°Π½Π΄Π° β
export LC_NUMERIΠ‘=en_DK LC_TIME=Cβ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΡΠΎ ΡΠΈΡΠ»Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π»ΠΎΠΊΠ°Π»ΡΡ '
en_DKΠ‘ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
LC_ALLLC_<i>xxx</i>LC_ALLLC_CTYPELC_MONETARYLANGgawk$ <b>unset LC_ALL LANG</b> /* Π£Π΄Π°Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ */$ <b>export LΠ‘_NUMERIC=en_DK LC_TIME=C</b>Β /* ΠΠ²ΡΠΎΠΏΠ΅ΠΉΡΠΊΠΈΠ΅ ΡΠΈΡΠ»Π°, Π΄Π°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ */$ <b>gawk 'BEGIN { print 1.234 ; print strftime() }'</b>Β /* ΠΡΠ²Π΅ΡΡΠΈ ΡΠΈΡΠ»ΠΎ, ΡΠ΅ΠΊΡΡΠΈΠ΅ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ */1,234Wed Jul 09 09:32:18 PDT 2003$ <b>export LC_NUMERIC=it_IT LC_TIME=it_IT</b>Β /* ΠΡΠ°Π»ΡΡΠ½ΡΠΊΠΈΠ΅ ΡΠΈΡΠ»Π°, Π΄Π°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ */$ <b>gawk 'BEGIN { print 1.234 ; print strftime() }'</b>Β /* ΠΡΠ²Π΅ΡΡΠΈ ΡΠΈΡΠ»ΠΎ, ΡΠ΅ΠΊΡΡΠΈΠ΅ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ */1,234mer lug 09 09:32:40 PDT 2003$ <b>export LC_ALL=C</b> /* Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ */$ <b>gawk 'BEGIN { print 1.234 ; print strftime() }'</b>Β /* ΠΡΠ²Π΅ΡΡΠΈ ΡΠΈΡΠ»ΠΎ, ΡΠ΅ΠΊΡΡΠΈΠ΅ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ */1.234Wed Jul 09 09:33:00 PDT 2003ΠΠ»Ρ
awk.ΠΠΎΡΡΠΈ Π²ΡΠ΅ GNU Π²Π΅ΡΡΠΈΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΠΈΠ»ΠΈΡ Unix ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ GNU/Linux, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ [139].
13.2.2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈ:
setlocale()ΠΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅ΡΠ΅, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π‘ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π‘ Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π»ΠΎΠΊΠ°Π»Ρ Β«Π‘Β». Π€ΡΠ½ΠΊΡΠΈΡ
setlocale()