ΠΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π² ΠΈΡΡΠΎΡΠΈΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ Π΄Π°ΡΠ°ΠΌ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π°ΠΌ, ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ ΡΠΌΡΡΠ» Π² ΡΡΡΠ°Π½Π°Ρ
, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ
ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ ΠΈ Π΄ΠΈΠ½Π°ΡΡΠΈΡΠΌΠΈ. [144]
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΡ POSIX ΠΌΠΎΠ³ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΡ ΡΠ°Π½Π΅Π΅ 1 Π³. Π½.Ρ. Π ΡΠ°ΠΊΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π΄Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅Π΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ΅ΠΌ Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ Π΄Π°ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Ρ ΠΠ΅Π»ΠΈΠΊΠΈΠΉ ΠΏΡΠ°Π²ΠΈΠ» Ρ 336 Π³. Π΄ΠΎ Π½.Ρ. ΠΏΠΎ 323 Π³ Π΄ΠΎ Π½.Ρ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ '
nl_langinfo(ERA)
', Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π½Π΅ ΡΠ°Π²Π½ΠΎ
NULL
, ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ ΡΡ. ΠΠ°ΠΆΠ΄Π°Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΎΡΠ΄Π΅Π»Π΅Π½Π° ΠΎΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ '
;
'. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΡΡΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ '
:
'. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ°Π±Π». 13.4.
Π’Π°Π±Π»ΠΈΡΠ° 13.4. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΡΡ
| ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ |
| ΠΠ°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ | Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ ' + ' ΠΈΠ»ΠΈ '- '. '+ ' ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠ° ΠΎΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΎΡ ΡΠΈΡΠ»Π΅Π½Π½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ Π³ΠΎΠ΄Π° ΠΊ ΡΠΈΡΠ»Π΅Π½Π½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΌΡ Π³ΠΎΠ΄Ρ, Π° '- ' ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ |
| Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ | ΠΠ»ΠΈΠΆΠ°ΠΉΡΠΈΠΉ ΠΊ Π΄Π°ΡΠ΅ Π½Π°ΡΠ°Π»Π° ΡΡΡ Π³ΠΎΠ΄ |
| ΠΠ°ΡΠ° Π½Π°ΡΠ°Π»Π° | ΠΠ°ΡΠ° Π½Π°ΡΠ°Π»Π° ΡΡΡ Π² Π²ΠΈΠ΄Π΅ 'Π³Π³Π³Π³/ΠΌΠΌ/Π΄Π΄'. ΠΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π³ΠΎΠ΄, ΠΌΠ΅ΡΡΡ ΠΈ Π΄Π΅Π½Ρ. ΠΠΎΠ΄Ρ Π΄ΠΎ Π½.Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ Π³Π³Π³Π³ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ |
| ΠΠ°ΡΠ° ΠΊΠΎΠ½ΡΠ° | ΠΠ°ΡΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΡ Π² ΡΠΎΠΌ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠΠΎΠΏΡΡΡΠΈΠΌΡ Π΄Π²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π²ΠΈΠ΄Π°: -* ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«Π½Π°ΡΠ°Π»ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈΒ», Π° +* ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«ΠΊΠΎΠ½Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈΒ» |
| ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΡ | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ %EC ΡΡΠ½ΠΊΡΠΈΠΈ strftime()
|
| Π€ΠΎΡΠΌΠ°Ρ ΡΡΡ | Π€ΠΎΡΠΌΠ°Ρ Π³ΠΎΠ΄Π° Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ
ΡΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ %EY ΡΡΠ½ΠΊΡΠΈΠΈ strftime()
|
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅
ALT_DIGITS
ΡΠ°ΠΊΠΆΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠΈ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΠΎΠΊΠ°Π»ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Β«Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΠΈΡΡΡΒ». (Π Π°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π°ΡΠ°Π±ΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π΅ΡΡΡΠΈΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, Π½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΈΡΡ 0β9 Π΄ΡΡΠ³ΠΈΠ΅. ΠΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΡΡ Π»ΠΎΠΊΠ°Π»Ρ Β«ΠΡΠ΅Π²Π½Π΅Π³ΠΎ Π ΠΈΠΌΠ°Β», ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΈΠΌΡΠΊΠΈΠ΅ ΡΠΈΡΡΡ.) ΠΠ½ΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ
ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ
%OC
Π² ΡΡΠ½ΠΊΡΠΈΠΈ
strftime()
. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ '
nl_langinfo(ALT_DIGITS)
' ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΠΌ ΡΠΎΡΠΊΠ°ΠΌΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΡΡΠΎΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄Π»Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ
ΡΠΈΡΡ. ΠΠ΅ΡΠ²Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ 0, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ Π΄Π»Ρ 1 ΠΈ Ρ.Π΄. POSIX ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ, ΡΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ Π΄ΠΎ 100 Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π‘ΡΡΠ½ΠΎΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠΈΡΡ ASCII, ΠΊΠΎΠ³Π΄Π° Ρ Π»ΠΎΠΊΠ°Π»ΠΈ Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, '
nl_langinfo(CRNCYSTR)
' Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ» ΠΌΠ΅ΡΡΠ½ΠΎΠΉ Π²Π°Π»ΡΡΡ. ΠΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ '
-
', '
+
' ΠΈΠ»ΠΈ '
.
', ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»:
-Β
Π‘ΠΈΠΌΠ²ΠΎΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
+Β
Π‘ΠΈΠΌΠ²ΠΎΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
.Β
Π‘ΠΈΠΌΠ²ΠΎΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΡ (ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΉ Π΄ΡΠΎΠ±ΠΈ).
13.3. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ
Π’ΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΎΡΠ²Π΅ΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π‘ ΡΠ΅ΡΠ°ΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ»Ρ Π΄Π΅Π½Π΅ΠΆΠ½ΡΡ
, ΡΠΈΡΠ»ΠΎΠ²ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄Π°ΡΡ, ΡΠ°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΡΠΎΠΊ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠ°Π±Π»ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ
Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΠΈ Π΄Π°Π½Π½ΡΡ
(ΡΠ°ΠΊΠΈΡ
, ΠΊΠ°ΠΊ ΡΠΏΠΈΡΠΊΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΌΠ΅ΡΡΡΠ΅Π² ΠΈ Π΄Π½Π΅ΠΉ).
ΠΠ΄Π½Π°ΠΊΠΎ, Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠΈΡ
, ΠΊΠ°ΠΊ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ
. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π²Π΅ΡΡΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π»ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ΠΌ ΡΡΡΠΎΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. Π Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π΅-ΡΠ°ΠΊΡΠΎ Π² ΠΌΠΈΡΠ΅ GNU ΡΠ²Π»ΡΠ΅ΡΡΡ GNU
gettext
. (GNU ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠ΅Π½Ρ; ΠΎΠ±ΡΡΠ½ΠΎ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ²ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.)
GNU
gettext
Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ½ΡΡΡΠΈ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠΎΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π³ΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ²ΠΎΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΠ³Π΄Π° ΡΠ°ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π°, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΈΠ»ΠΈΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ
ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ (message catalog).
13.3.1. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°:
textdomain()
ΠΠ°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²: ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° Π‘ ΠΈΠ»ΠΈ C++ ΠΈΠ»ΠΈ Π½Π° ΡΠ·ΡΠΊΠ°Ρ
ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ
gettext
, ΡΠ°ΠΊΠΈΡ
, ΠΊΠ°ΠΊ
gawk
ΠΈΠ»ΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Bash ΠΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅
ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ Π΄ΠΎΠΌΠ΅Π½, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠΎΠΉ, ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΠ΅ΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. (ΠΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Β«
gawk
Β» ΠΈΠ»ΠΈ Β«
coreutils
Β»; ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ, Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ β ΡΠ΅Π»ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.) Π’Π΅ΠΊΡΡΠΎΠ²ΡΠΉ Π΄ΠΎΠΌΠ΅Π½ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ
textdomain()
:
#include <libintl.h> /* GLIBC */
char* textdomain(const char *domainname)
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎ ΡΡΡΠΎΠΊΠΎΠΉ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅ΠΉ Π½Π° ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ Π΄ΠΎΠΌΠ΅Π½, Π² ΡΠΎΡΡΠ°Π²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²
main()
. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌ Π΄ΠΎΠΌΠ΅Π½ΠΎΠΌ. ΠΡΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ
domainname
ΡΠ°Π²Π΅Π½
NULL
, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ Π΄ΠΎΠΌΠ΅Π½; Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΎΠ½ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
NULL
ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΊΠ°ΠΊΡΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ Π΄ΠΎΠΌΠ΅Π½ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
textdomain()
, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Β«
messages
Β».
13.3.2. ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ:
gettext()
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° ΡΠ°Π³ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
gettext()
(ΠΈΠ»ΠΈ Π΅Π΅ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ) Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π°. ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ»ΡΠΆΠ±Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°: