Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Linux ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 197

Автор Роббинс ΠΡ€Π½ΠΎΠ»ΡŒΠ΄

Π­Ρ€Π° являСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π² истории. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ Π΄Π°Ρ‚Π°ΠΌ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π°ΠΌ, ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ наибольший смысл Π² странах, управляСмых ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ династиями. [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()
(ΠΈΠ»ΠΈ Π΅Π΅ разновидности) для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки, которая Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π°. НСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ слуТбы ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°: