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

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

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

9.Β ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅

mkstemp()
, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ. (ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» Π½Π΅ удаляСтся сразу ΠΆΠ΅ послС открытия ΠΏΠΎ Ρ‚Π΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ.) Π­Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя случай, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ сигнал Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊΠ° сигнала. Как Π²Ρ‹ это сдСлаСтС?

10.Β (Π’Ρ€ΡƒΠ΄Π½ΠΎΠ΅) Π”Π°ΠΆΠ΅ с ΡƒΡ€Π΅Π·Π°Π½Π½ΠΎΠΉ очисткой ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ сигнала всС Π΅Ρ‰Π΅ имССтся состояниС Π³ΠΎΠ½ΠΊΠΈ. Π•ΡΡ‚ΡŒ нСбольшоС ΠΎΠΊΠ½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ созданиСм Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ

mkstemp()
ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΈ записью Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (для использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигнала). Если Π² это ΠΎΠΊΠ½ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π΅ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ сигнал, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΠΈ оставляСт Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ». Как Π²Ρ‹ Π·Π°ΠΊΡ€ΠΎΠ΅Ρ‚Π΅ это ΠΎΠΊΠ½ΠΎ? (Бпасибо Jim Meyering.)

11.Β ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ

ch12-setjmp.c
Π½Π° ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большСм количСствС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСм с использованиСм ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большСго количСства Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… компиляторов, ΠΊ ΠΊΠ°ΠΊΠΈΠΌ Ρƒ вас Π΅ΡΡ‚ΡŒ доступ. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ уровнями ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. КакиС измСнСния повСдСния Π²Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ (Ссли ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ)?

12.Β ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»

/usr/src/libc/gen/sleep.c
Π² дистрибутивС исходного ΠΊΠΎΠ΄Π° V7 Unix. Он содСрТит Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
sleep()
, ΠΎΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ 10.8.1 Β«Π‘ΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹Π΅ часы:
sleep()
,
alarm()
ΠΈ
SIGALARM
Β». РаспСчатайтС Π΅Π΅ ΠΈ ΠΏΡ€ΠΎΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π² стилС Π½Π°ΡˆΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

13.Β ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΡΠΏΡ€Π°Π²ΠΎΡ‡Π½ΡƒΡŽ страницу lrand48(3) Π½Π° систСмС GNU/Linux ΠΈΠ»ΠΈ System V. Выглядит Π»ΠΈ этот интСрфСйс Π±ΠΎΠ»Π΅Π΅ простым ΠΈΠ»ΠΈ Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹ΠΌ для использования, Ρ‡Π΅ΠΌ

random()
?

14.Β Π’ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅

ch08-nftw.c
ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° 8.4.3 Β«ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ:
nftw()
Β» ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ
--exclude=pattern
. Π€Π°ΠΉΠ»Ρ‹, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρƒ, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ.

15.Β (Π’Ρ€ΡƒΠ΄Π½ΠΎΠ΅) ΠŸΠΎΡ‡Π΅ΠΌΡƒ GLIBC Π½ΡƒΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ вСрсии Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ стандартных ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈ

stat()
? НС ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ΠΎΠ½Π° Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… нСпосрСдствСнно?

16.Β Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅

ch12-glob.c
для использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
wordexp()
. ΠŸΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ с Π½Π΅ΠΉ, ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π² нСсколько Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½Π° прСдоставляСт. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π·ΡΡ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹
wordexp()
Π½Π° самом Π΄Π΅Π»Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»Π° свою Ρ€Π°Π±ΠΎΡ‚Ρƒ!

17. Бтандартная

grep
Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ имя Ρ„Π°ΠΉΠ»Π°, лишь ΠΊΠΎΠ³Π΄Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΡƒΠΊΠ°Π·Π°Π½ΠΎ большС ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹
ch12-grep.c
дСйствовала Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

18.Β ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΡΠΏΡ€Π°Π²ΠΎΡ‡Π½ΡƒΡŽ страницу grep(1). Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊ

ch12-grep.c
стандартныС ΠΎΠΏΡ†ΠΈΠΈ
-e
,
-s
ΠΈ
-v
.

19.Β ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Π·Π°ΠΌΠ΅Ρ‰Π°ΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ:

subst [-g] <i>шаблон подстановка</i> [<i>Ρ„Π°ΠΉΠ»Ρ‹</i> ...]

Она Π΄ΠΎΠ»ΠΆΠ½Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ тСкстовыС строки ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π°, Ссли ΠΎΠ½ΠΈ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹. КаТдая строка Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° соотвСтствиС ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ. Если ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ соотвСтствиС, ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ подстановкой.

Если ΡƒΠΊΠ°Π·Π°Π½Π° опция

-g
, Π·Π°ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ совпадСниС, Π½ΠΎ ΠΈ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ совпадСния Π² строкС.

Π“Π»Π°Π²Π° 13

Π˜Π½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΈ локализация

Π Π°Π½Π½ΠΈΠ΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ систСмы ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ для своСго Π²Ρ‹Π²ΠΎΠ΄Π° (ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠΉ, сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…) ΠΈ Π²Π²ΠΎΠ΄Π° (ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° запросы, Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ Β«Π΄Π°Β» ΠΈ Β«Π½Π΅Ρ‚Β») использовали английский язык. Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π²Π΅Ρ€Π½ΠΎ для систСм Unix Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ сСрСдины 1980-Ρ…. Π’ ΠΊΠΎΠ½Ρ†Π΅ 80-Ρ…, начиная с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ стандарта ISO для Π‘ ΠΈ продолТая стандартами POSIX 1990-Ρ… ΠΈ соврСмСнным стандартом POSIX, Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ возмоТности для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… языках Π±Π΅Π· нСобходимости ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… вСрсий ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Данная Π³Π»Π°Π²Π° описываСт, ΠΊΠ°ΠΊ соврСмСнныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с многоязычными ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ.

13.1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ являСтся ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅, мСсто, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π›ΠΎΠΊΠ°Π»ΠΈ содСрТат Π² сСбС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ свСдСния: Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ символов; свСдСния ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ отобраТСния Π΄Π°Ρ‚Ρ‹ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ; Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅Π½Π΅ΠΆΠ½Ρ‹Ρ… сумм; Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ числовых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (с ΠΈΠ»ΠΈ Π±Π΅Π· Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ тысяч, ΠΊΠ°ΠΊΠΎΠΉ символ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС раздСлитСля Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части числа ΠΈ Ρ‚.Π΄.).

Π˜Π½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ являСтся процСссом написания (ΠΈΠ»ΠΈ измСнСния) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ локалями. Локализация являСтся процСссом приспособлСния ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΠΈ. Часто вмСсто этих Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ сокращСния i18n ΠΈ l10n соотвСтствСнно. (ЧисловоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, сколько Π±ΡƒΠΊΠ² Π² сСрСдинС слова, Π° эти сокращСния ΠΈΠΌΠ΅ΡŽΡ‚ нСбольшоС сходство с ΠΏΠΎΠ»Π½Ρ‹ΠΌΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌΠΈ. [136] Π˜Ρ… Ρ‚Π°ΠΊΠΆΠ΅ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»Π΅Π³Ρ‡Π΅ Π½Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ.) Π”Ρ€ΡƒΠ³ΠΈΠΌ часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΌΡΡ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ являСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ языка, обозначаСмая ΠΊΠ°ΠΊ NLS [137]; NLS ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ для i18n ΠΈ l10n.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ люди ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ глобализация (сокращСнно g10n) для обозначСния процСсса ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ для ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для глобального использования.

ВозмоТности NLS ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π° Π΄Π²ΡƒΡ… уровнях. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ являСтся Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π‘. Она прСдоставляСт свСдСния ΠΎ Π»ΠΎΠΊΠ°Π»ΠΈ; ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ большСй части Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… подробностСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π΄Π°Ρ‚Ρ‹/Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, числовых ΠΈ Π΄Π΅Π½Π΅ΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ; ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ для Π΄Π°Π½Π½ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΠΈ сопоставлСния рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ классификации символов ΠΈ сравнСний. ИмСнно возмоТности Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² стандартах Π‘ ΠΈ POSIX.

На ΡƒΡ€ΠΎΠ²Π½Π΅ прилоТСния GNU

gettext
прСдоставляСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: Ρ‚.Π΅. для возмоТности Π²Ρ‹Π²ΠΎΠ΄Π° сообщСний Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ СстСствСнных языках. GNU
gettext
основана Π½Π° ΠΏΠ»Π°Π½Π΅, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΌ Sun Microsystems для Solaris [138]; ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΎΠ½Π° Π±Ρ‹Π»Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° с нуля ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ прСдоставляСт Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌΡƒ
gettext
Solaris. GNU
gettext
являСтся стандартом Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ для Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, особСнно Π² ΠΌΠΈΡ€Π΅ GNU.

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ локалям ΠΈ

gettext
стандарт Π‘ прСдоставляСт возмоТности для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с нСсколькими Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ символов ΠΈ с ΠΈΡ… ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ β€” способом прСдставлСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² символов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ мСньшСго числа Π±Π°ΠΉΡ‚ΠΎΠ². ΠœΡ‹ ΠΊΡ€Π°Ρ‚ΠΊΠΎ Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅ΠΌ эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² ΠΊΠΎΠ½Ρ†Π΅ Π³Π»Π°Π²Ρ‹.

13.2. Π›ΠΎΠΊΠ°Π»ΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π‘

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½ΠΎΠ΅ для Π»ΠΎΠΊΠ°Π»ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ управляСтся посрСдством установки ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ…, ΠΊΠ°ΠΊΡƒΡŽ локаль (Π»ΠΎΠΊΠ°Π»ΠΈ) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Число доступных Π»ΠΎΠΊΠ°Π»Π΅ΠΉ, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Ρ… ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой, колСблСтся ΠΎΡ‚ ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ дСсяти Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… коммСрчСских систСмах Unix Π΄ΠΎ сотСн Π»ΠΎΠΊΠ°Π»Π΅ΠΉ Π½Π° систСмах GNU/Linux. ('

locale -a
' Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список доступных Π»ΠΎΠΊΠ°Π»Π΅ΠΉ.)