Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это

Cotonti / Open Source PHP Content Management FrameworkContent Management Framework

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС Ρ„Π°ΠΉΠ»ΠΎΠ² Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

Cotonti спроСктирован Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ позволяСт Π»Π΅Π³ΠΊΠΎ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ (пСрСвСсти) сайт (Π΅Π³ΠΎ интСрфСйс) Π½Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ язык. Π’ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ дистрибутив входят 2 Π½Π°Π±ΠΎΡ€Π° языковых Ρ„Π°ΠΉΠ»ΠΎΠ² β€” для английского ΠΈ русского языков. Π―Π·Ρ‹ΠΊ сайта, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, выбираСтся ΠΏΡ€ΠΈ установкС.

ВсС языковыС Π΄Π°Π½Π½Ρ‹Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Cotonti, содСрТатся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… языковых Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΎ Π½ΠΈΡ… ΠΈ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ.

Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ вСрсии ΠΊ вСрсии, поэтому, Ссли Π²Ρ‹ Π½Π΅ нашли языковой Ρ„Π°ΠΉΠ» подходящСй вСрсии, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ для блиТайшСй ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ вСрсии.

На Π·Π°ΠΌΠ΅Ρ‚ΠΊΡƒ: Ссли Π²Π°ΠΌ трСбуСтся Π½Π΅ просто локализация интСрфСйса, Π° ΠΌΡƒΠ»ΡŒΡ‚ΠΈΡΠ·Ρ‹Ρ‡Π½Ρ‹ΠΉ сайт, Π³Π΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ смоТСт сам Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ язык отобраТСния интСрфСйса (ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, содСрТимого), Ρ‚ΠΎ Π²Π°ΠΌ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΡ‚Π°Ρ‚ΡŒΡŽ Β«Π”Π΅Π»Π°Π΅ΠΌ сайт ΠΌΡƒΠ»ΡŒΡ‚ΠΈΡΠ·Ρ‹Ρ‡Π½Ρ‹ΠΌΒ».

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ, ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ· сСбя ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Cotonti ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ для этого ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ PHP Ρ„Π°ΠΉΠ»Ρ‹, с описаниСм массива языковых Π΄Π°Π½Π½Ρ‹Ρ… (см. ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π½ΠΈΠΆΠ΅).

#1. ΠšΠΎΠ΄Ρ‹ языков

#2. Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ языковых Ρ„Π°ΠΉΠ»ΠΎΠ²

Π―Π·Ρ‹ΠΊΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ систСмой, дСлятся Π½Π° Ρ‚ΠΈΠΏΡ‹: систСмныС, локализация Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ, локализация Ρ‚Π΅ΠΌ оформлСния, ΠΈ соотвСтствСнно, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° с описаниСм основных Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ размСщСния. Π‘Ρ‚Ρ€ΠΎΠΊΠ° lang_code ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ описнный Π²Ρ‹ΡˆΠ΅ 2-Ρ… Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ языка.

/langэтот ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ содСрТит основныС Ρ„Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ для ядра систСмы. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ языка создана ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ ΠΏΠ°ΠΏΠΊΠ° названная соотвСтствСнно ΠΊΠΎΠ΄Ρƒ языка. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: /lang/en/
/lang/lang_code/admin.lang_code.lang.phpлокализация административной части систСмы
/lang/lang_code/countries.lang_code.lang.phpΠ›ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ названия стран
/lang/lang_code/main.lang_code.lang.phpΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ языковыС Π΄Π°Π½Π½Ρ‹Π΅ систСмы
/lang/lang_code/message.lang_code.lang.phpБистСмныС сообщСния
/lang/lang_code/translit.lang_code.lang.phpДля языков ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ английского эти Ρ„Π°ΠΉΠ»Ρ‹ содСрТит Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ для транслитСрации
/lang/lang_code/users.lang_code.lang.phpΠ”Π°Π½Π½Ρ‹Π΅ относящиСся ΠΊ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
/modules/ext_name/lang/ext_name.lang_code.lang.phpлокализация ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ
/plugins/plugin_name/lang/plugin_name.lang_code.lang.phpлокализация для ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²
/themes/theme_name/theme_name.lang_code.lang.phpлокализация Ρ‚Π΅ΠΌΡ‹ оформлСния
/images/smilies/lang/lang_code.lang.jsлокализация Π½Π°Π±ΠΎΡ€Π° смайлов

#3. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ„Π°ΠΉΠ»Π° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

Π”Π°Π²Π°ΠΉΡ‚Π΅ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° взглянСм Π½Π° основной Ρ„Π°ΠΉΠ» Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ` main.en.lang.php `:

Как Π±Ρ‹Π»ΠΎ сказано Π²Ρ‹ΡˆΠ΅ Ρ„Π°ΠΉΠ» Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ это ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ PHP Ρ„Π°ΠΉΠ» содСрТащий ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ массива записСй с языковыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Начиная с вСрсии 0.9.13 для опиисания ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строковыС Π΄Π°Π½Π½Ρ‹Π΅. Π’.Π΅. Π½Π΅ допускаСтся использованиС Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… массивов (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ это Ρ‚Π°ΠΊ смотритС здСсь).

Π’ Π½Π°Ρ‡Π°Π»Π΅ Ρ„Π°ΠΉΠ»Π° ΠΈΠ΄Π΅Ρ‚ слуТСбная информация Π² Π²ΠΈΠ΄Π΅ коммСнтария Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° PHPDoc, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌΡƒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡŽ, ΠΊΠΎΠΏΠΈΡ€Π°ΠΉΡ‚Ρ‹ ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅.
НиТС строки ` defined(‘COT_CODE’) or die(‘Wrong URL.’); ` ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, собствСнно, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ языковых Π΄Π°Π½Π½Ρ‹Ρ….

ВСкстовыС Π΄Π°Π½Π½Ρ‹Π΅ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты плоского массива Π² Π²ΠΈΠ΄Π΅ ` ΠΊΠ»ΡŽΡ‡ => Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ `.

#4. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ языка Π½Π° сайтС

БущСствуСт 2 спосоа ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ язык интСрфСйса сатйа:

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ основной язык Π² Ρ„Π°ΠΉΠ»Π΅ настроСк datas/config.php :

Π­Ρ‚ΠΈ измСнСния ΠΊΠΎΠ½ΡƒΡ‚ΡŒΡΡ всСх Π½Π΅ зарСгистированных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ всСх Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.
Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ язык интСрфСйса —это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² ΠΏΠ°Π½Π΅Π»Π΅ управлСния ΠΎΠΏΡ†ΠΈΠ΅ΠΉ Β« ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ установка языка ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Β» (ПанСль администрирования β†’ ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ β†’ Локализация).

#5. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ собствСнной Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

Π’ Π΄Π²ΡƒΡ… словах, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π°Π΄ΠΎ :

Если Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π²Π·ΡΡ‚ΡŒΡΡ Π·Π° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ части Ρ„Π°ΠΉΠΎΠ»Π², Ρ‚ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с пользой для сообщСства Cotonti. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Локализация

Π’ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ имССтся встроСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΡƒΠ»ΡŒΡ‚ΠΈΡΠ·Ρ‹Ρ‡Π½Ρ‹Ρ… Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ PHP-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ gettext ΠΈΠ»ΠΈ, Ссли ΠΎΠ½ΠΎ Π½Π΅ установлСно Π½Π° сСрвСрС, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π° PHP.

Локализация ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Для отобраТСния ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки слово Π½Π° языкС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½ΡƒΠΆΠ½ΠΎ Π² ΠΊΠΎΠ΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ конструкции:

Если ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ строки слово Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½, систСма ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ тСкст слово Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°.

ΠŸΠ°Ρ€Ρ‹ Β«ΠΊΠ»ΡŽΡ‡β€”ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Β»

РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ строки Π½Π° английском языкС. ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ сразу ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ интСрфСйса Π½Π° английском языкС. Если Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ (частично ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ) ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄, Ρ‚ΠΎ вмСсто ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… строк Π² интСрфСйсС прилоТСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΡ… ΠΊΠ»ΡŽΡ‡ΠΈ Π½Π° английском языкС.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ строк Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ слова Π² Π½ΡƒΠΆΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: 21 запись, 22 записи, 25 записСй.

Для получСния Π½ΡƒΠΆΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ слова Π² PHP-ΠΊΠΎΠ΄Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ:

Аналогичная конструкция для шаблонов Smarty:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ этой конструкций ΠΎΡ‚ синтаксиса ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… (нСмноТСствСнных) Ρ„ΠΎΡ€ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² Smarty. Для нСмноТСствСнных ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠ² рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ… Smarty ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π²ΠΈΠ΄Π° [`строка`].

ΠŸΡ€ΠΈΠΌΠ΅Ρ€
ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π‘Π±ΠΎΡ€ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Ρ‹Π» Π½Π°ΠΉΠ΄Π΅Π½ сборщиком Π½Π° 38-ΠΉ строкС ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Если Π²Ρ‹ ΡΠΎΠΌΠ½Π΅Π²Π°Π΅Ρ‚Π΅ΡΡŒ, ΠΊΠ°ΠΊ Π»ΡƒΡ‡ΡˆΠ΅ пСрСвСсти строку Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Локализация ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Локализация Ρ‚Π΅ΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π°

Π’Π΅ΠΌΡ‹ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ 2 способа Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ тСкстовых строк:

Локализация Ρ‚Π΅ΠΌΡ‹ Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π² манифСстС theme.xml

Π’Π°ΠΊΠΎΠΉ способ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ использовался Π² Ρ‚Π΅ΠΌΠ°Ρ… Π΄ΠΈΠ·Π°ΠΉΠ½Π°. Для Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π΅ΠΌΡ‹ Π΄ΠΈΠ·Π°ΠΉΠ½Π° этим способом Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ XML-элСмСнт манифСста Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ элСмСнт ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ:

ΠšΠ»ΡŽΡ‡ΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ… Ρ‚Π΅ΠΌΡ‹ Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅

Локализация Ρ‚Π΅ΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π° Ρ‡Π΅Ρ€Π΅Π· манифСст Π½Π΅ позволяСт ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ мноТСствСнного числа, поэтому ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ с использованиСм gettext.

Локализация Ρ‚Π΅ΠΌΡ‹ Π΄ΠΈΠ·Π°ΠΉΠ½Π° с использованиСм gettext

ΠŸΡ€ΠΈ использовании этого способа ΠΊΠ»ΡŽΡ‡ΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² СдинствСнном числС Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ… Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅:

А Ρ„ΠΎΡ€ΠΌΡ‹ мноТСствСнного числа Π² ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅

Локализация систСмных ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для использования Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ языкС

Webasyst β€” это CMS Π½ΠΎΠ²ΠΎΠ³ΠΎ поколСния, ΡΠΎΠ²ΠΌΠ΅Ρ‰Π°ΡŽΡ‰Π°Ρ Π² сСбС инструмСнты для управлСния сайтом ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠΌ с ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ прилоТСниями для совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ ΠΈ взаимодСйствия с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ. Π•Π΄ΠΈΠ½Ρ‹ΠΉ Ρ†Π΅Π½Ρ‚Ρ€ управлСния бизнСсом Ρ‡Π΅Ρ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°
Магазин Webasyst
ΠŸΠΎΠΌΠΎΡ‰ΡŒ

ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ посСтитСлСй сайта Π² соотвСтствии с ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ любой страницы сайта ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ согласиС со всСми ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π Π°Π·Π±ΠΎΡ€ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠ² Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Microsoft Office

Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ Π² Π»ΠΎΠ±

ПослС Π½Π΅Π΄ΠΎΠ»Π³ΠΎΠ³ΠΎ поиска описаний Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠΎ содСрТимому Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΏΠ°ΠΏΠΊΠ΅ офиса Π±Ρ‹Π» Π½Π°ΠΉΠ΄Π΅Π½ Ρ„Π°ΠΉΠ» c:\Program Files\Microsoft Office\Office15\1033\XLINTL32.DLL. Π“Π΄Π΅ 1033 – LCID языка Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π½Π° msdn).

Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это

По Π±Π΅Π³Π»ΠΎΠΌΡƒ взгляду стало понятно, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ я Π½Π°ΡˆΡ‘Π», Ρ‡Ρ‚ΠΎ искал. Описания Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ AGGREGATE для ΠΎΠ±ΠΎΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π² Ρ„Π°ΠΉΠ»Π΅ Π±Ρ‹Π»ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅. Π’Ρ‹Ρ…ΠΎΠ΄ΠΈΠ»ΠΎ, Ρ‡Ρ‚ΠΎ Excel Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ парсит свой ΠΆΠ΅ Ρ„Π°ΠΉΠ» Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ΠΎΠ³Π΄Π° Π±Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой парсСр Ρ„Π°ΠΉΠ»ΠΎΠ² Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Excel, Π»ΠΈΠ±ΠΎ хотя Π±Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ MS Office.

Для Π½Π°Ρ‡Π°Π»Π° Π±Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ парсСр Ρ‚ΠΎΠ»ΡŒΠΊΠΎ описаний Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎ Π±Π΅Π³Π»ΠΎΠΌΡƒ взгляду Π½Π° Ρ„Π°ΠΉΠ», Ρ‡Ρ‚ΠΎ прСдставлСн Π²Ρ‹ΡˆΠ΅, создавалось Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ довольно простой – Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ тСкстом слуТит Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π½Π°ΠΊ, Π° ΠΊΠ°ΠΊΠΎΠΉ тСкст Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ ΠΏΡƒΡ‚Ρ‘ΠΌ.

Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это

БпускаСмся Π³Π»ΡƒΠ±ΠΆΠ΅

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠ΅ описаниС ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚. Для этого я ΠΎΠΏΡΡ‚ΡŒ занялся поиском ΠΏΠΎ содСрТимому Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΏΠ°ΠΏΠΊΠ°Ρ… MS Office, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² этот Ρ€Π°Π· я искал названия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. И ΠΌΠ½Π΅ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ: рядом с Ρ„Π°ΠΉΠ»ΠΎΠΌ XLINTL32.DLL с описаниями Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π»Π΅ΠΆΠ°Π» Ρ„Π°ΠΉΠ» XLLEX.DLL, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±Ρ‹Π»ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅ Π½Π° названия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это

Волько ΠΎΠ½ΠΈ шли всС ΠΊΠ°ΠΊ-Ρ‚ΠΎ подряд ΠΈ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ². И Ссли для английского языка Π΅Ρ‰Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ€ΡƒΠΊΠ°ΠΌΠΈ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ этот тСкст Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ названия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚ΠΎ для арабского ΠΈΠ»ΠΈ тайского просто Ρ‚Π°ΠΊ я это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ смог Π±Ρ‹.
Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Ρ‚ΡƒΡ‚ стало понятно, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€Π° Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΡƒΠΆΠ΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Excel, Π»ΠΈΠ±ΠΎ Π·Π°Π±ΠΈΡ‚ΡŒ Π½Π° это Π΄Π΅Π»ΠΎ ΠΈ Π»Π΅Ρ‡ΡŒ ΡΠΏΠ°Ρ‚ΡŒ. Π‘Ρ‹Π»ΠΎ Π²Ρ‹Π±Ρ€Π°Π½ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅.

Π‘Π½Π°Ρ‡Π°Π»Π° я Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΈ описания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈ названия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ хранятся Π² dll Ρ„Π°ΠΉΠ»Π°Ρ… Π² рСсурсС с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«1Β» ΠΈ Ρ‚ΠΈΠΏΠΎΠΌ Β«234Β». Π’Π΄ΡƒΠΌΡ‡ΠΈΠ²ΠΎΠ΅ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°ΠΌΠΏΠ° рСсурса ΠΈΠ· Ρ„Π°ΠΉΠ»Π° XLLEX.DLL (это Ρ‚ΠΎΡ‚, Ρ‡Ρ‚ΠΎ с названиями Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ), ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ мСня ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ: ΠΌΠ΅ΠΆΠ΄Ρƒ участками с Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ тСкстом ΠΈΠ΄ΡƒΡ‚ участки с кракозябрами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ нСсти ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ смысл. Π’ΠΎΠ³Π΄Π° Π±Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ эти участки ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ WinHEX ΠΈ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€. Π’ΠΎΠ·ΡŒΠΌΡ‘ΠΌ участок кракозябров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄ участком с названиями Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° Π±Π°ΠΉΡ‚Π°: 01 00 – ΠΏΠΎΠΊΠ° Π΅Ρ‰Ρ‘ Π½Π΅ знаю, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚. Π’Ρ‚ΠΎΡ€Ρ‹Π΅ Π΄Π²Π° Π±Π°ΠΉΡ‚Π° 56 02 – Ссли ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ получится 0256, Π° Ссли Π΅Ρ‰Ρ‘ пСрСвСсти ΠΈΠ· ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ систСму Π² Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ – получится 598. Π ΠΎΠ²Π½ΠΎ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, сколько ΠΈΠΌΡ‘Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, располоТСнных Π½ΠΈΠΆΠ΅ Π² Π±Π»ΠΎΠΊΠ΅ осмыслСнного тСкста. Π­Ρ‚ΠΎ ΡƒΠΆΠ΅ Ρ€Π°Π΄ΠΎΠ²Π°Π»ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ дальшС: ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Ρ‹ Π±Π°ΠΉΡ‚, Ссли ΠΈΡ… ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами, ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’Π°ΠΊ ΠΈ Π΅ΡΡ‚ΡŒ, эти Π±Π°ΠΉΡ‚Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ смСщСниСм описания ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ ΠΊΠΎΠ½Ρ†Π° Π±Π»ΠΎΠΊΠ° кракозябр. Π’ самом Π΄Π΅Π»Π΅, ΠΏΠΎ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρƒ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° XLLEX.DLL Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΈΠ΄Ρ‘Ρ‚ COUNT – 5 Π±Π°ΠΉΡ‚ (0005h-0000h), вторая – IF – 2 Π±Π°ΠΉΡ‚Π° (0007h-0005h), Ρ‚Ρ€Π΅Ρ‚ΡŒΡ – ISNA – 4 Π±Π°ΠΉΡ‚Π° (000Bh-0007h).

Π­Ρ‚ΠΎ всё ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π³Π΄Π΅ начинаСтся Π±Π»ΠΎΠΊ кракозябр, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π·Π°Π΄Π°Π½Ρ‹ Π΄Π»ΠΈΠ½Ρ‹ Π½Π°Π·Π²Π°Π½ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’Π΅Π΄ΡŒ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этот Π±Π»ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ свой оффсСт. Π’ΠΎΠ³Π΄Π° я стал ΠΊΠΎΠΏΠ°Ρ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄Π°ΠΌΠΏΠ° рСсурса ΠΈΠ· Ρ„Π°ΠΉΠ»Π° XLLEX.DLL.

Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это

РазбираСмся с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, этих Π΄Π°Π½Π½Ρ‹Ρ…, ΡƒΠΆΠ΅ достаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ автоматичСский парсСр Ρ„Π°ΠΉΠ»Π° XLLEX.DLL ΠΈ Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ названия всСх Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π° всСх языках ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Но Π² процСссС Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: лишь ΠΎΡ‡Π΅Π½ΡŒ малСнькая Ρ‡Π°ΡΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² UTF-8 Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… хранится Π² ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ совсСм нСпонятных Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ кодируСтся 1 Π±Π°ΠΉΡ‚ΠΎΠΌ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ смСщСниСм ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ этого языка Π² UTF-8. НапримСр, кирилличСскиС Β«Π‘Β» ΠΈ Β«Π§Β» Π±Ρ‹Π»ΠΈ записаны ΠΊΠ°ΠΊ A1 ΠΈ A7, Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ UTF8 Ρƒ Π½ΠΈΡ… Π½ΠΎΠΌΠ΅Ρ€Π° D0A1 ΠΈ D0A7, Π½ΠΎ ΠΏΡ€ΠΈ этом Β«Ρ€Β» Π±Ρ‹Π»Π° записана ΠΊΠ°ΠΊ C0, хотя ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ D180.

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, я сначала, СстСствСнно, попытался ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ сам Excel ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ строки ΠΈΠ· Ρ‚Π°ΠΊΠΎΠΉ нСпонятной ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ хотя Π±Ρ‹ Π² UTF-8. Для этого Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ описания Π±Π»ΠΎΠΊΠΎΠ² для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… языков, я взял Ρ€ΡƒΡΡΠΊΡƒΡŽ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ Π°Π½Π³Π»ΠΈΠΉΡΠΊΡƒΡŽ:

Из этого Π±Ρ‹Π»ΠΈ сдСланы Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹: ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° Π±Π°ΠΉΡ‚Π° Π² описании Π±Π»ΠΎΠΊΠ° – ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°. Если ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π°ΠΉΡ‚ = 0, Ρ‚ΠΎ тСкст Π² этом Π±Π»ΠΎΠΊΠ΅ записан Π² Unicode LE, ΠΈ Ρ‚ΡƒΡ‚ всё просто. Если ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π°ΠΉΡ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ = 01, Ρ‚ΠΎ Π½Π°Π΄ΠΎ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π±Π°ΠΉΡ‚. Если Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π±Π°ΠΉΡ‚ = 00, Ρ‚ΠΎ тСкст Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ Π² простой ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ UTF-8, Ρ‚ΡƒΡ‚ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ Π½Π°Π΄ΠΎ Π³ΠΎΠ»ΠΎΠ²Ρƒ Π»ΠΎΠΌΠ°Ρ‚ΡŒ. Но Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π±Π°ΠΉΡ‚ Π½Π΅ Ρ€Π°Π²Π΅Π½ 0?

Π‘Π½Π°Ρ‡Π°Π»Π° я просто составлял ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π° – смСщСниС Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ UTF-8. МнС это быстро наскучило, ΠΈ я стал ΠΈΡΠΊΠ°Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ. ΠžΡ‡Π΅Π½ΡŒ скоро стало понятно, Ρ‡Ρ‚ΠΎ смСщСниС Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ UTF-8 ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ: offset = (byte2-80h)*4+C0h. ЕдинствСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ρ‡Ρ‚ΠΎ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ C0h ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ число.

Π’ ΠΈΡ‚ΠΎΠ³Π΅, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ прСобразования тСкста стали Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

ДокапываСмся Π΄ΠΎ самой сути

ПослС всСго этого, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΠΆΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ вСсь Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ тСкст ΠΈΠ· Ρ„Π°ΠΉΠ»Π° XLLEX.DLL, Π½ΠΎ этот способ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΠ» для Ρ„Π°ΠΉΠ»Π° с описаниями Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² XLINTL32.DLL. Π’ΡƒΡ‚ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ всё ΠΏΠΎΡ‡Ρ‚ΠΈ с самого Π½Π°Ρ‡Π°Π»Π°, Π½ΠΎ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΡ‰Π΅.

Для Π½Π°Ρ‡Π°Π»Π° Π² Ρ„Π°ΠΉΠ»Π΅ XLINTL32.DLL я попытался Π½Π°ΠΉΡ‚ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ΅ ΠΈ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅ Π½Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° XLLEX.DLL. Знакомая ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½Π°Ρ‡ΠΈΠ½Π°Π»Π°ΡΡŒ ΠΏΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ 0459h:

Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это

Π’.Π΅. начиная с 04B1h Π±Ρ‹Π»ΠΈ описания Π±Π»ΠΎΠΊΠΎΠ², Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ ΠΊΠ°ΠΊ Π² Ρ„Π°ΠΉΠ»Π΅ XLLEX.DLL, Π½ΠΎ Π²Ρ‹ΡˆΠ΅ этого смСщСния всё Π±Ρ‹Π»ΠΎ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ нСпонятноС. И Π½Π΅ вСсь тСкст ΠΈΠ· рСсурса подчинялся ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π° основС Ρ€Π°Π·Π±ΠΎΡ€Π° Ρ„Π°ΠΉΠ»Π° XLLEX.DLL.

Π‘Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π² дальнСйшСм Ρ‚Π΅ Π±Π»ΠΎΠΊΠΈ, Ρ‡Ρ‚ΠΎ я ΡƒΠΆΠ΅ научился Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Π° Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π΅Ρ‰Ρ‘ Π½Π΅ ΡƒΠΌΠ΅ΡŽ – Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Ρ‚.ΠΊ. ΠΎΠ½ΠΈ шли Π² Ρ„Π°ΠΉΠ»Π΅ XLINTL32.DLL Π²Ρ‹ΡˆΠ΅ Π±Π»ΠΎΠΊΠΎΠ² Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

ВСкст Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° начинался ΠΏΠΎΡ‡Ρ‚ΠΈ сразу послС окончания ΠΊΠ°Ρ€Ρ‚Ρ‹ Π±Π»ΠΎΠΊΠΎΠ² Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ, Π³Π΄Π΅ Π² Ρ„Π°ΠΉΠ»Π΅ находится ΠΊΠ°Ρ€Ρ‚Π° Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΈ ΠΊΠ°ΠΊ Π² самих Π±Π»ΠΎΠΊΠ°Ρ… ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ тСкста. Для изучСния Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ этот Π±Π»ΠΎΠΊ:

Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это

Π’ Π½Ρ‘ΠΌ Ρ‡Ρ‘Ρ‚ΠΊΠΎ Π²ΠΈΠ΄Π½Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ строки: β€œCut, copy, and paste”, β€œPrint”, β€œFor charts” ΠΈ Ρ‚.Π΄. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² hex ΠΊΠΎΠ΄Π°Ρ… Π²ΠΈΠ΄Π½Π° «характСрная» лСсСнка ΠΈΠ· Π½ΡƒΠ»Π΅ΠΉ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° значСния Π² этой лСсСнкС β€” 46h ΠΈ 6Eh – Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π² дСсятичном Π²ΠΈΠ΄Π΅ 40, Ρ‚.ΠΊ. тСкст явно Π·Π°Π΄Π°Π½ Π² Unicode LE, Ρ‚ΠΎ Π΄Π»ΠΈΠ½Π° β€œCut, copy, and paste” – Π±ΡƒΠ΄Π΅Ρ‚ 20*2 = 40. Бходится. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: 78h-6Eh=10/2=5 – Π°ΠΊΠΊΡƒΡ€Π°Ρ‚ Π΄Π»ΠΈΠ½Π° β€œPrint”. ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡˆΠ΅ΠΌ красиво всС Π±Π°ΠΉΡ‚Ρ‹ ΠΎΡ‚ смСщСния 07BE66h Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° осмыслСнного тСкста:
00 46000000
00 6E000000
00 78000000
…
FF E2020000

ΠžΠ±Ρ‰Π°Ρ Π΄Π»ΠΈΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅ΠΉΡΡ выписки составляСт 07BEABh β€” 07BE66h + 1 = 46h β€” Π³Π΄Π΅-Ρ‚ΠΎ это ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ. Π’Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚, Ρ‡Ρ‚ΠΎ описания элСмСнтов Π² Π±Π»ΠΎΠΊΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° выглядят Ρ‚Π°ΠΊ: 1 Π±Π°ΠΉΡ‚ Ρ‚ΠΈΠΏ элСмСнта, 4 Π±Π°ΠΉΡ‚Π° – смСщСниС элСмСнта ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ‡Π°Π»Π° этого Π±Π»ΠΎΠΊΠ°. Как ΠΏΠΎΠ·ΠΆΠ΅ Π²Ρ‹ΡΡΠ½ΠΈΠ»ΠΎΡΡŒ, Ρ‚ΠΈΠΏΡ‹ элСмСнтов Π² Π±Π»ΠΎΠΊΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π±Ρ‹Π²Π°ΡŽΡ‚ 00h – ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкст Π² Unicode, 0Ah – ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ нСпонятныС кракозябры, FFh – послСдний элСмСнт Π² этом Π±Π»ΠΎΠΊΠ΅.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ послСднСС: Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ рСсурса ΠΈ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ смСщСния для всСх Π±Π»ΠΎΠΊΠΎΠ².

Для Π½Π°Ρ‡Π°Π»Π° я Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠ», Ρ‡Ρ‚ΠΎ описаниС всСх Π±Π»ΠΎΠΊΠΎΠ² Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ 0A67h, Π° Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ 0459h, ΠΈΡ‚ΠΎΠ³ΠΎ Π΄Π»ΠΈΠ½Π° описания Π±Π»ΠΎΠΊΠΎΠ² Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° 0A67h-0459h+1 = 060Fh, Π° ΠΏΠΎ адрСсу 0455h Π»Π΅ΠΆΠΈΡ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ…Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ΅ число 060Bh: 060Bh+4 = 060Fh. Π’Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚, ΠΏΠΎ адрСсу 455h записана Π΄Π»ΠΈΠ½Π° участка описания Π±Π»ΠΎΠΊΠΎΠ² Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ описаны смСщСния Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° рСсурса, Π±Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ смСщСния Π½Π°Ρ‡Π°Π»Π° этого Π±Π»ΠΎΠΊΠ° ΠΈ Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Ρƒ.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° начинаСтся Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ описания Π±Π»ΠΎΠΊΠΎΠ² Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° – 0A68h.

Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅Π”Π»ΠΈΠ½Π°
0A68h011Ah
0B82h00CEh
0C50h0148h

А ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Ρ‡Π°Π»ΠΎΠΌ рСсурса ΠΈ смСщСниСм 0455h Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Π±Π°ΠΉΡ‚Ρ‹, ΠΎΡ‡Π΅Π½ΡŒ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ:

Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π²Ρ‹Ρ‡Π΅ΡΡ‚ΡŒ ΠΈΠ· 01E8h (смСщСниС 25h) число 011Ah (смСщСниС 21h): 01E8h-011Ah=CEh, ΠΊΠ°ΠΊ Ρ€Π°Π· Π΄Π»ΠΈΠ½Π° Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. Π Π°Π΄ΠΈ интСрСса: Π²Ρ‹Ρ‡Ρ‚Π΅ΠΌ 0330h (смСщСниС 29h) ΠΈΠ· 01E8h (смСщСниС 25h): 0330h-01E8=0148h, Π° 011Ah – ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Π΄Π»ΠΈΠ½Ρƒ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. Π’Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚, Ρ‡Ρ‚ΠΎ со смСщСния 1Dh ΠΈΠ΄ΡƒΡ‚ описания смСщСний Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Записаны ΠΎΠ½ΠΈ Π² Π²ΠΈΠ΄Π΅ смСщСний Π½Π°Ρ‡Π°Π»Π° Π±Π»ΠΎΠΊΠ° ΠΎΡ‚ ΠΊΠΎΠ½Ρ†Π° описаний Π±Π»ΠΎΠΊΠΎΠ² Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (ΠΈΠ»ΠΈ Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π·Π΄Π΅Π»Π° с содСрТимым Π±Π»ΠΎΠΊΠΎΠ² – ΠΊΠΎΠΌΡƒ ΠΊΠ°ΠΊ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅). ΠžΡΡ‚Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π·Π° Π±Π°ΠΉΡ‚Ρ‹ Π»Π΅ΠΆΠ°Ρ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ 04h ΠΈ 1D. Если Π²Ρ‹Ρ‡Π΅ΡΡ‚ΡŒ 1D (Π½Π°Ρ‡Π°Π»ΠΎ описания смСщСний Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°) ΠΈ 0455h (смСщСниС ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ хранится Π΄Π»ΠΈΠ½Π° описания Π±Π»ΠΎΠΊΠΎΠ² Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Ρ‚.Π΅. Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ описания Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°): 0455h-1D=0438h, ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚Π°ΠΊΠΎΠ΅ число Π»Π΅ΠΆΠΈΡ‚ ΠΏΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ 19h. Π§Ρ‚ΠΎ располагаСтся Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π²Π°Π΄Ρ†Π°Ρ‚ΠΈ ΠΎΠ΄Π½ΠΎΠΌ Π±Π°ΠΉΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ 04h ΠΈ 19h – для мСня Π·Π°Π³Π°Π΄ΠΊΠ°. Π”Π° ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ особо ΡƒΠΆΠ΅ Π½Π΅ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ, Ρ‚.ΠΊ. Π²ΠΎ всСх Ρ„Π°ΠΉΠ»Π°Ρ… Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ офиса это смСщСниС ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅.

Моя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для чтСния Ρ„Π°ΠΉΠ»ΠΎΠ² Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Microsoft Office: Бсылка Π½Π° Π―.Диск

UPD: 16.01.2016
Π’Ρ‹ΡΡΠ½ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ Π±Π»ΠΎΠΊΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ словарём, ΠΊ-ΠΉ записываСтся Π² самый ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°. Π’ΠΈΠ΄ΠΈΠΌΠΎ это сдСлано для сокращСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π°, Ρ‚.ΠΊ. Π² словарС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡƒΠΊΠ² прСдставлСны ΠΎΠ΄Π½ΠΈΠΌ Π±Π°ΠΉΡ‚ΠΎΠΌ. БобствСнно ΠΏΠΎ ссылкС Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½Ρ‹ΠΉ исходный ΠΊΠΎΠ΄.

4 Π±Π°ΠΉΡ‚Π° β€” Ρ€Π°Π·ΠΌΠ΅Ρ€ рСсурса
21 Π±Π°ΠΉΡ‚ – Π½Π΅ ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎΡΡ‚ΡŒ
4 Π±Π°ΠΉΡ‚Π° β€” количСство Π±Π»ΠΎΠΊΠΎΠ² 1 Ρ‚ΠΈΠΏΠ° * 4 = количСство Π±Π°ΠΉΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ описываСтся ΠΊΠ°Ρ€Ρ‚Π° Π±Π»ΠΎΠΊΠΎΠ² 1 Ρ‚ΠΈΠΏΠ°
*Начало описания ΠΊΠ°Ρ€Ρ‚Ρ‹ Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°*
4 Π±Π°ΠΉΡ‚Π° β€” оффсСт Π±Π»ΠΎΠΊΠ° 1 Ρ‚ΠΈΠΏΠ° ΠΎΡ‚ ΠΊΠΎΠ½Ρ†Π° описания Π±Π»ΠΎΠΊΠΎΠ². Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ двумя сосСдними значСниями β€” Π΄Π»ΠΈΠ½Π° Π±Π»ΠΎΠΊΠ° 1 Ρ‚ΠΈΠΏΠ°.
*ΠšΠΎΠ½Π΅Ρ† описания ΠΊΠ°Ρ€Ρ‚Ρ‹ Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°*
4 Π±Π°ΠΉΡ‚Π° β€” количСство Π±Π°ΠΉΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ описываСтся ΠΊΠ°Ρ€Ρ‚Π° Π±Π»ΠΎΠΊΠΎΠ² 2 Ρ‚ΠΈΠΏΠ° = количСство Π±Π»ΠΎΠΊΠΎΠ² 2 Ρ‚ΠΈΠΏΠ° * 17 Π±Π°ΠΉΡ‚
*Начало описания ΠΊΠ°Ρ€Ρ‚Ρ‹ Π±Π»ΠΎΠΊΠΎΠ² Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°*
1 Π±Π°ΠΉΡ‚ β€” Ρ‚ΠΈΠΏ Π±Π»ΠΎΠΊΠ°
2 Π±Π°ΠΉΡ‚Π° β€” количСство элСмСнтов Π² Π±Π»ΠΎΠΊΠ΅ 2 Ρ‚ΠΈΠΏΠ°
4 Π±Π°ΠΉΡ‚Π° β€” Π½Π΅ знаю. По-ΠΌΠΎΠ΅ΠΌΡƒ всСгда 0, ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ.
2 Π±Π°ΠΉΡ‚Π° β€” порядковый Π½ΠΎΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ° 2
4 Π±Π°ΠΉΡ‚Π° β€” Π΄Π»ΠΈΠ½Π° Π±Π»ΠΎΠΊΠ° Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°
4 Π±Π°ΠΉΡ‚Π° β€” оффсСт Π±Π»ΠΎΠΊΠ° Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΎΡ‚ ΠΊΠΎΠ½Ρ†Π° описания Π±Π»ΠΎΠΊΠΎΠ²
*ΠšΠΎΠ½Π΅Ρ† описания ΠΊΠ°Ρ€Ρ‚Ρ‹ Π±Π»ΠΎΠΊΠΎΠ² Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°*
4 Π±Π°ΠΉΡ‚Π° β€” Π΄Π»ΠΈΠ½Π° Π΄Π°Π½Π½Ρ‹Ρ… для Π±Π»ΠΎΠΊΠΎΠ² 2 Ρ‚ΠΈΠΏΠ°
*Π‘Π»ΠΎΠΊΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°*
1 Π±Π°ΠΉΡ‚ β€” Ρ‚ΠΈΠΏ элСмСнта β€” Ссди FF β€” этот элСмСнт послСдний Π² этом Π±Π»ΠΎΠΊΠ΅, Ссли 00 β€” ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкст Π² Unicode, Ссли 0A β€” Ρ…Π·.
4 Π±Π°ΠΉΡ‚Π° β€” смСщСниС элСмСнта ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ‡Π°Π»Π° этого Π±Π»ΠΎΠΊΠ°
Π”Π°Π»Π΅Π΅ элСмСнты
*ΠšΠΎΠ½Π΅Ρ† Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°*
*Π‘Π»ΠΎΠΊΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°*
1 Π±Π°ΠΉΡ‚ β€” ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π°ΠΉΡ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ
1 Π±Π°ΠΉΡ‚ β€” Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π±Π°ΠΉΡ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ
2 Π±Π°ΠΉΡ‚Π° β€” количСство элСмСнтов Π² Π±Π»ΠΎΠΊΠ΅
*ΠšΠ°Ρ€Ρ‚Π° элСмСнтов Π±Π»ΠΎΠΊΠ° Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°*
2 Π±Π°ΠΉΡ‚Π° β€” смСщСниС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ‡Π°Π»Π° элСмСнтов Π±Π»ΠΎΠΊΠ°. НачинаСтся со Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ элСмСнта. Если оффсСт ΠΏΠ΅Ρ€Π΅Π»Π΅Π·Π°Π΅Ρ‚ Π·Π° FFFF, Ρ‚ΠΎ послС смСщСния Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π΅Ρ‰Ρ‘ Π΄Π²Π° Π±Π°ΠΉΡ‚Π° = сколько Ρ€Π°Π· ΠΏΠΎ FFFF Π½Π°Π΄ΠΎ Π²Π·ΡΡ‚ΡŒ.
*ΠšΠΎΠ½Π΅Ρ† ΠΊΠ°Ρ€Ρ‚Ρ‹ элСмСнтов Π±Π»ΠΎΠΊΠ° Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°*
*ΠšΠΎΠ½Π΅Ρ† Π±Π»ΠΎΠΊΠΎΠ² Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°*

********************
По ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌ:
ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° опрСдСляСтся Ρ‚Π°ΠΊ:
Ссли Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π±Π°ΠΉΡ‚ == 0, Ρ‚ΠΎ это простой Unicode Little Endian.
Ссли Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π±Π°ΠΉΡ‚ == 1, Ρ‚ΠΎ элСмСнты Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² UTF8 ΠΈ смСщСниС ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ Π±Π°ΠΉΡ‚Ρƒ.
********************
Π‘Π»ΠΎΠΊΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π±Ρ‹Π²Π°ΡŽΡ‚ Π΅Ρ‰Ρ‘ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ²
2, 3, 4 β€” ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ строки
1 β€” ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ WordBasic, Ρ‚Π°ΠΌ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈΠ΄Ρ‘Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ индСксов (ΠΌΠΎΠΆΠ΅Ρ‚ индСксов Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ WordBasic)

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Локализация ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°: 10 практичСских совСтов

Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ β€” ΠΊΡ€Π°ΠΉΠ½Π΅ отвСтствСнный этап Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. ВСхничСская докумСнтация, надписи Π½Π° элСмСнтах интСрфСйса, ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ β€” всС это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΊ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π½Ρ‹ΠΌ ΠΈ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ особСнностям, ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ β€” лишь ΠΎΠ΄ΠΈΠ½ ΠΈΠ· этапов этой Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ ΠœΠΎΠΉΠžΡ„ΠΈΡ сСгодня ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ 13 языков. Π’ Ρ…ΠΎΠ΄Π΅ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Ρ‚Ρƒ, врСмя, символы Π²Π°Π»ΡŽΡ‚, Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ, числовыС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ странС.

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΠΎΠ΄ ΠΊΠ°Ρ‚ΠΎΠΌ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ ΠΎΠ± ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ эффСктивного процСсса Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. ΠœΡ‹ рассмотрим, ΠΊΠ°ΠΊΠΈΠ΅ шаги Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Π½Π° Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ с ΠΊΠ°ΠΊΠΈΠΌΠΈ трудностями ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ Π½Π° этом ΠΏΡƒΡ‚ΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° Π·Π°Π΄Π°Ρ‡ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго Π΄Π°Π΄ΠΈΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Локализация позволяСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π±Ρ‹Ρ‚ΡŒ консистСнтным, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, Π½ΠΎ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ страны ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ языка, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. Π’ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ смыслС локализация β€” Π΄Π²Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… процСсса:

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Π½Π° ΠΎΠ΄Π½ΠΈΡ… строк Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, ΠΏΡ€ΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ мСню ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: β€œNew file” замСняСтся Π½Π° «Новый Ρ„Π°ΠΉΠ»Β», пСрСводятся названия мСсяцСв, Π΄Π½Π΅ΠΉ Π½Π΅Π΄Π΅Π»ΠΈ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Адаптация. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ трансформируСм Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, логичСски зависимыС ΠΎΡ‚ Ρ‚ΠΎΠΉ страны, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ создаСтся модСль Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” символ мСстной Π²Π°Π»ΡŽΡ‚Ρ‹ ($ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ) ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ числовых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ дСсятичным ΠΈ тысячным раздСлитСлями).

НиТС ΠΌΡ‹ расскаТСм ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΈ инструмСнтах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π½Π°ΠΌ с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ Π² Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠœΠΎΠΉΠžΡ„ΠΈΡ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Windows, Linux ΠΈ macOS.

1. ВсСгда ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ основных ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π»ΠΎΠΊΠ°Π»ΠΈ

Π―Π·Ρ‹ΠΊ Π»ΠΎΠΊΠ°Π»ΠΈ ΠΊΡ€Π°ΠΉΠ½Π΅ Π²Π°ΠΆΠ΅Π½. Однако Ссли локаль Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ‚ΠΎΠ»ΡŒΠΊΠΎ язык, Ρ‚ΠΎ Ρ‡Π°ΡΡ‚ΡŒ свСдСний, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π΄Π°Ρ‚Ρ‹/Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ обозначСния Π²Π°Π»ΡŽΡ‚, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ установлСны Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. Иногда Π² зависимости ΠΎΡ‚ Ρ€Π΅Π³ΠΈΠΎΠ½Π° отличаСтся Π΄Π°ΠΆΠ΅ правописаниС Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ языкС: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случаС с локалями английский β€” БША (en_US) ΠΈ английский β€” Британия (en_GB). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли Π²Ρ‹ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Ρ€Π΅Π³ΠΈΠΎΠ½ β€” Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ Π»ΠΎΠΊΠ°Π»ΠΈ, β€” вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ нСдостаточно Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ внСшниС инструмСнты Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ: Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ распространСнных инструмСнтов ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ нСбольшоС количСство языков ΠΈ Π·Π½Π°ΡŽΡ‚ нСбольшоС количСство Π»ΠΎΠΊΠ°Π»Π΅ΠΉ. Но ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π²Ρ‹ΠΉΠ΄Π΅Ρ‚Π΅ Π½Π° спСцифичСский Ρ€Π΅Π³ΠΈΠΎΠ½, Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Π°ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ спСцифичСскиС языки.

Если Π²Ρ‹, ΠΊΠ°ΠΊ ΠΈ ΠΌΡ‹, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π»ΠΎΠΊΠ°Π»Π΅ΠΉ, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π±Π°Π·ΠΎΠ²ΡƒΡŽ (ΠΈΠ»ΠΈ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΡƒΡŽ) локаль. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ локаль отличаСтся ΠΎΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ…. Π’ ΠœΠΎΠΉΠžΡ„ΠΈΡ Π² качСствС Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ английский β€” БША (en_US), ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ разрабатываСтся с ΠΏΡ€ΠΈΡ†Π΅Π»ΠΎΠΌ Π½Π° ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹ΠΉ Ρ€Ρ‹Π½ΠΎΠΊ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, базовая локаль Π²Π°ΠΆΠ½Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ срСдствами Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ систСмныС настройки Π² своих интСрСсах

Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это

Всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ПО, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ систСмныС настройки ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ β€” ΠΎΠ½ΠΈ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° всю ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму ΠΈ установлСнныС Π² Π½Π΅ΠΉ прилоТСния. БистСмныС настройки ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ влияСт Π½Π° мСню, ΠΈ Ρ€Π΅Π³ΠΈΠΎΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ дСнь Π½Π΅Π΄Π΅Π»ΠΈ, врСмя/Π΄Π°Ρ‚Π°, ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ дСсятичного ΠΈ тысячного Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, опрСдСляСмыС Ρ€Π΅Π³ΠΈΠΎΠ½ΠΎΠΌ β€” доступныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ зависят ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π£Ρ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ систСмныС настройки, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ β€” Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΠ½ΠΈ, Π²ΠΏΠΎΠ»Π½Π΅ вСроятно, откаТутся ΠΎΡ‚ Π΅Π³ΠΎ использования.

ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° с систСмными настройками довольно слоТна. Π’Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство Π»ΠΎΠΊΠ°Π»Π΅ΠΉ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΈΠ· систСмы ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ самыС Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹. Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ систСмой нСконсистСнтной Π»ΠΎΠΊΠ°Π»ΠΈ? НапримСр, Ссли Π² настройках ОБ ΡƒΠΊΠ°Π·Π°Π½Π° связка голландский β€” ΠŸΠ΅Ρ€Ρƒ (nl_PE; Ρ‚.Π΅. голландский Π² качСствС языка ΠΈ ΠŸΠ΅Ρ€Ρƒ Π² качСствС страны), Π½Π΅ΠΌΠ΅Ρ†ΠΊΠΈΠΉ β€” Π’ΡŒΠ΅Ρ‚Π½Π°ΠΌ (de_VN) ΠΈΠ»ΠΈ английский β€” Россия (en_RU)? Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΌΡ‹ Π² ΠœΠΎΠΉΠžΡ„ΠΈΡ Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»ΡΠ»ΠΈ, Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ с нСконсистСнтными локалями, Π½ΠΎ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Π²Ρ‹Π²ΠΎΠ΄Ρƒ. Наш ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ всСгда Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΈΠ· числа ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π»ΠΎΠΊΠ°Π»Π΅ΠΉ Ρ‚Ρƒ, которая, ΠΏΠΎ Π½Π°ΡˆΠ΅ΠΌΡƒ мнСнию, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ возмоТности ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π³ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ настройки ΠΊΠ°ΠΊ Β«Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌΒ». НапримСр, со стороны ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π°ΠΌ поступаСт локаль финский β€” Ѐинляндия (fi_FI). ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌ Π½ΠΈ этот язык, Π½ΠΈ этот Ρ€Π΅Π³ΠΈΠΎΠ½. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈ ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ язык ΠΈΠ»ΠΈ Ρ€Π΅Π³ΠΈΠΎΠ½, Ссли Π½Π΅Ρ‚ β€” примСняСм Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΡƒΡŽ локаль, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС это английский β€” БША (en_US). ΠŸΡ€ΠΈ этом подтягиваСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈΠ· систСмных настроСк: дСсятичный ΠΈ тысячный Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ, Π²Π°Π»ΡŽΡ‚Ρƒ, Π΅Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Π΄Π°Ρ‚Ρ‹ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’Π°ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ оказалось Π²Π΅Ρ€Π½Ρ‹ΠΌ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΎ рассинхрон. Плюс ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π½Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ рСсурсов ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ внСшниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ смогли ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ с самого Π½Π°Ρ‡Π°Π»Π° (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Π½ΠΈΡ… Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ 8).

ΠŸΠΎΠ΄Ρ‹Ρ‚ΠΎΠΆΠΈΠ²Π°Ρ, Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ двумя способами:

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ локаль, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡƒΡŽ Π² процСссС Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, вмСстС со всСми Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ элСмСнтами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Ρ„ΠΎΡ€ΠΌΡƒΠ» ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ сортировки. ΠΠ°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° процСсс Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡƒΡ‚Π΅ΠΌ Π³ΠΈΠ±ΠΊΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с систСмными настройками ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠΠ°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° процСсс Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡƒΡ‚Π΅ΠΌ Π³ΠΈΠ±ΠΊΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с систСмными настройками ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π’ послСднСм случаС Π±ΡƒΠ΄ΡƒΡ‚ приняты Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ настройки, нСзависимо ΠΎΡ‚ Π»ΠΎΠΊΠ°Π»ΠΈ.

3. Π₯Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ ΠΈ Π»ΠΎΠ³ΠΈΠΊΡƒ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ

Π’ ΠΈΠ΄Π΅Π°Π»Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ ΠΎ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ· этого ΠΏΡ€Π°Π²ΠΈΠ»Π°: Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, скаТСм, систСмы лингвистичСского поиска с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ лингвистичСских Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… языков. Π’ΠΎΠ³Π΄Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² курсС процСссов, связанных с Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ.

Π£ нас локализация достигаСтся благодаря ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтам ΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌ рСсурсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ: ΠΎΠ½ инкапсулируСт Π»ΠΎΠ³ΠΈΠΊΡƒ, рСсурсы Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΅Π΅ процСсс. Помимо этого ΠΌΡ‹ создали Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ нСбольшой ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ рСсурсы ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. Когда Π±Π»ΠΎΠΊ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π½, ΠΎΠ½ загруТаСтся с локалью ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Π² Π²ΠΈΠ΄Π΅ систСмных настроСк. Π›ΠΎΠ³ΠΈΠΊΠ° Π±Π»ΠΎΠΊΠ° опрСдСляСт Ρ€Π΅Π³ΠΈΠΎΠ½ ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ взаимодСйствиС с Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ.

ΠœΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ваши рСсурсы Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Если Π²Ρ‹ совмСщаСтС ΠΈΡ…, Π½ΠΎ впослСдствии Π²Π°ΠΌ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ измСнСния (скаТСм, Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ локаль), Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° Π·Π½Π°Π΅Ρ‚ ΠΎ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ Ρ‚Π°ΠΊΠΎΠΉ ситуации ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» содСрТит Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ; Ρ‡Π»Π΅Π½Ρ‹ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΏΡ€ΠΈ этом ΠΈΠΌ всСм придСтся Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π’ Π½Π°Ρ‡Π°Π»Π΅ процСсса ΠΌΡ‹ экспСримСнтировали со смСшСниСм Π»ΠΎΠ³ΠΈΠΊΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΊΠΎΠ΄Π°, Π½ΠΎ вскорС ΠΎΡ‚ΠΊΠ°Π·Π°Π»ΠΈΡΡŒ ΠΎΡ‚ этого Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ Π±ΠΎΠ»Π΅Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ хранСния.

4. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΡŒΡ‚Π΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΎΡ‚ Π»ΠΎΠΊΠ°Π»ΠΈ

По ΠΎΠ±Ρ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΈΡŽ, Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ этого слоТно. Π’ ΠœΠΎΠΉΠžΡ„ΠΈΡ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с рядом элСмСнтов, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ парсСр Ρ„ΠΎΡ€ΠΌΡƒΠ», Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ чисСл ΠΈ вСсьма слоТныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ автоматичСского опрСдСлСния чисСл. ВсС ΠΎΠ½ΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ зависят ΠΎΡ‚ Π»ΠΎΠΊΠ°Π»ΠΈ ΠΈ Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠ°ΠΊ дСсятичный Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ….

К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ для управлСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ сохранСниС Ρ„Π°ΠΉΠ»ΠΎΠ². Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ локалСнСзависимым, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π° с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ свою спСцифику: ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, сотрудничая ΠΈΠ· гСографичСски Ρ€Π°Π·Π½Ρ‹Ρ… мСст ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π°Π·Π½Ρ‹Π΅ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ создан Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ с ΠΎΠ΄Π½ΠΎΠΉ локалью, Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ β€” с Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π²Π΅Π·Π΄Π΅ логичСски ΠΎΠ΄ΠΈΠ½. Π›ΡŽΠ±ΡƒΡŽ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, парсСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π½Π°ΠΌ автоматичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ чисСл, Ρ‚ΠΎΠΆΠ΅ локалСнСзависимый. ВсС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π΅ΠΌΡƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ спСцифику ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΠΈ, ΠΏΠΎΠ΄Π°ΡŽΡ‚ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π§Π°ΡΡ‚ΡŒ этих ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² подаСтся Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ Π»ΠΎΠ³ΠΈΠΊΠΈ, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ для всСх Π»ΠΎΠΊΠ°Π»Π΅ΠΉ, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ вашСго прилоТСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ локалСнСзависимыми.

5. ΠŸΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ локалСзависимыС элСмСнты β€” ΠΏΠΎΠ²ΡΡŽΠ΄Ρƒ

Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это

Локализация, ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠΆΠ΅ сказали Π² Π½Π°Ρ‡Π°Π»Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π΄Π°Π»Π΅ΠΊΠΎ Π·Π° Ρ€Π°ΠΌΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΈ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π΄Π°Ρ‚Ρ‹/Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, чисСл ΠΈ Π²Π°Π»ΡŽΡ‚, поэтому всСгда Π·Π°Π΄Π°Π²Π°ΠΉΡ‚Π΅ΡΡŒ вопросом, ΠΊΠ°ΠΊΠΈΠ΅ элСмСнты ΡΠ²Π»ΡΡŽΡ‚ΡΡ спСцифичСскими для Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρ‹. Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π±Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹, постоянно ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ со своими ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ ΠΈ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ провСряйтС всС свои подозрСния. Π‘Π½Π°Ρ‡Π°Π»Π° Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ исслСдуйтС, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ€Π΅ΡˆΠ°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ нСзависимы ΠΎΡ‚ Π»ΠΎΠΊΠ°Π»ΠΈ. Если Π²Ρ‹ сдСлаСтС Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ элСмСнт, ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΉ спСцифику ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρ‹, нСзависимым ΠΎΡ‚ Π΅Π³ΠΎ Π»ΠΎΠΊΠ°Π»ΠΈ, ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΉΡ‚ΠΈΡΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ достаточно Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π²Π° сотрудника, Ρ‡ΡŒΠΈ Π»ΠΎΠΊΠ°Π»ΠΈ: английский β€” БША (en_US) ΠΈ русский β€” Россия (ru_RU), Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ соавторами Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ число, Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΊΠ°ΠΊ Β«1,000.1Β» ΠΈ Β«1 000,1Β» соотвСтствСнно. Π’ упомянутом случаС локализация Π½Π°Ρ†Π΅Π»Π΅Π½Π° Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ чисСл, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° символы дСсятичного ΠΈ тысячного раздСлитСля. Π’ БША Π² качСствС дСсятичного раздСлитСля ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π·Π½Π°ΠΊ Ρ‚ΠΎΡ‡ΠΊΠΈ (.). Π’ России это запятая (,). Высячным Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ Π² БША выступаСт запятая (,), Π² России β€” ΠΏΡ€ΠΎΠ±Π΅Π». Аналогично локализация опрСдСляСт внСшний Π²ΠΈΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΡ… символов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, символов Π²Π°Π»ΡŽΡ‚Ρ‹), шаблонов (Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Ρ„ΠΎΡ€ΠΌΡƒΠ», Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄Π°Ρ‚Ρ‹) ΠΈ систСмы ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€.

6. Π˜Π½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ‹ провСряйтС качСство ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π² Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ Π·Π°Π΄Π°Π½Π½ΠΎΠΌ контСкстС ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ β€” ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг Π² процСссС Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ всСгда мСньшС Π·Π½Π°Π΅Ρ‚ ΠΎ контСкстС, Ρ‡Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π›ΡƒΡ‡ΡˆΠ°Ρ стратСгия Π±ΠΎΡ€ΡŒΠ±Ρ‹ с нСдостаточным ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ситуации β€” ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠΌ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большС ΠΊΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ. Участники нашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ систСму ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈ ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ нуТдаСтся Π² Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

На наш взгляд, сущСствуСт Π΄Π²Π° эффСктивных ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°ΠΌΠΈ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠΎΠ², Π° Π½Π΅ внСшним подрядчикам. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΡˆΡ‚Π°Ρ‚Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚Π°ΠΊΠΈ Π»ΡƒΡ‡ΡˆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с контСкстом.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΡ‹ Π² ΠœΠΎΠΉΠžΡ„ΠΈc, ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΎΠ½ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π²Π΅ основныС Π»ΠΎΠΊΠ°Π»ΠΈ Π½Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² (en_US ΠΈ ru_RU) ΠΌΡ‹ Π²Π΅Π΄Π΅ΠΌ сами, Π° для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаСв задСйствуСм ΠΏΡƒΠ» ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠΎΠ². ΠœΡ‹ сами Π²Ρ‹Π±ΠΈΡ€Π°Π»ΠΈ подрядчиков ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ собствСнныС трСбования ΠΈ сотрудничаСм с Π½ΠΈΠΌΠΈ ΡƒΠΆΠ΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя; это обСспСчиваСт ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠΎΠ² Π² контСкст.

Компании-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ стоит Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½ΠΎ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π½Π° качСство. Никогда Π½Π΅ пропускайтС этот послСдний этап: ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ ΠΏΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŽ качСства, ΠΈ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Ρ‹ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° (product owners) всСгда Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½Π΅ΠΌ. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π» Π² нашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ взаимодСйствуСт с ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ постоянно ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ связь с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

7. Никогда Π½Π΅ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ символов

Работая со строками, ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… стандартах ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ символов (Unicode). Рассмотрим Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΠΈΠ· нашСй ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ: Π² русской Π»ΠΎΠΊΠ°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ΄ΠΈΠ½ символ ΠΏΡ€ΠΎΠ±Π΅Π»Π° (ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ, U+0020), Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π²ΠΎ французской Π»ΠΎΠΊΠ°Π»ΠΈ – Π΄Ρ€ΡƒΠ³ΠΎΠΉ (non-breaking space, U+202F). ΠŸΡ€ΠΈ этом Π² систСмС устанавливаСтся ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ±Π΅Π», Π° для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΠΈ «ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ» ΠΈΠ· рСсурсов Π²Ρ€ΠΎΠ΄Π΅ ΠžΠ±Ρ‰Π΅Π³ΠΎ рСпозитория языковых Π΄Π°Π½Π½Ρ‹Ρ… Unicode (CLDR) ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π—Π°Ρ‚Π΅ΠΌ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· строя ΠΈΠ·-Π·Π° мноТСства ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… систСмой.

ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ связаны Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ, Π½ΠΎ ΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ символами – Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, апострофом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… локалях являСтся Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ.

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ…, Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ со строками Π² контСкстС поисковых ΠΈΠ»ΠΈ слоТных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π’Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ строки. Никогда Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΊΠΎ всСм строкам ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ символов. НапримСр, Π½Π΅ адрСсуйтС всС строки Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ASCII.

Π’ случаС с ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ hardcode – встраиваниСм Π΄Π°Π½Π½Ρ‹Ρ… нСпосрСдствСнно Π² исходный ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ – часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это слоТнСС, Ρ‡Π΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ внСшним рСсурсным Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эти Π΄Π°Π½Π½Ρ‹Π΅ Π² процСссС. Π’ hardcode ΠΎΠ΄ΠΈΠ½ символ содСрТит нСсколько Π΄Ρ€ΡƒΠ³ΠΈΡ… символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, вмСстС взятыС, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±Π°ΠΉΡ‚ΠΎΠ² памяти.

Π Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с инструмСнтами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ, ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ примСняйтС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ.

8. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ внСшниС инструмСнты

По нСобходимости Π²ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ внСшниС инструмСнты. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, замСняя Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠΎΠ². Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠ΅ инструмСнты ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½Π°ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, дСсятичныС ΠΈ тысячныС Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ ΠΈΠ· ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ позволяСт Π½Π°ΠΌ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ошибки ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π°ΡˆΠΈΡ… ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠΎΠ².

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ Π²Π½Π΅ΡˆΠ½ΠΈΡ… инструмСнтов β€” Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ сущСствСнная Ρ‡Π°ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ зависит ΠΎΡ‚ ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π΅ΠΉ. ΠœΡ‹ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, Π΄Π°Ρ‚Π°ΠΌΠΈ ΠΈ числами с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ„ΠΎΡ€ΠΌΡƒΠ» ΠΈ форматирования. НапримСр, Π΄Π°Ρ‚Ρ‹ Π² элСктронных Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ записаны Π²ΠΎ мноТСствС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² β€” DDMM, MMDD, DDMMYY ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. И ΠΏΡ€ΠΈ вычислСний Ρ„ΠΎΡ€ΠΌΡƒΠ», содСрТащих ссылки Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΡ… Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠΌΡƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ, скаТСм, ΠΊΠ°ΠΊΠΎΠΉ дСнь ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌΡƒ дню являСтся пятым; ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠ² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Π΄Π°Ρ‚Ρƒ ΠΈΠ· Π΄Π°Ρ‚Ρ‹ ΠΈΠ»ΠΈ добавляСтС Π³ΠΎΠ΄ ΠΈΠ»ΠΈ 25 Π΄Π½Π΅ΠΉ ΠΊ Π΄Π°Ρ‚Π΅. ИмСнно ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Для произвСдСния ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π½Ρ‹Ρ… вычислСний ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠžΠ±Ρ‰ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ языковых Π΄Π°Π½Π½Ρ‹Ρ… Unicode (CLDR), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт прилоТСниям ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π»ΠΎΠΊΠ°Π»ΠΈ, ΠΈ ΠœΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для Unicode (ICU), кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π½Π° Unicode с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π³Π»ΠΎΠ±Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ICU являСтся ΠΎΠ±ΡˆΠΈΡ€Π½ΠΎΠΉ, Π²ΡΠ΅ΠΎΠ±ΡŠΠ΅ΠΌΠ»ΡŽΡ‰Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах Linux ΠΈ Π² офисном ПО LibreOffice. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ICU, Ссли Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

9. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Ρ‚ΠΎ это

ΠœΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ ПО для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Windows, Linux, iOS, Web ΠΈ Android. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случаС с Android ΠΈ Windows) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ эту ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ нСльзя, стоит просто ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π΅Π΅. Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΈ с самого Π½Π°Ρ‡Π°Π»Π° ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠΉΡ‚Π΅ вСсь процСсс с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ этого.

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ локализация ΠΊΠ°ΠΊ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠ° ΠΊ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²ΠΎΠΌΡƒ ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³Ρƒ. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ прилоТСния ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€Ρ‹Π½ΠΊΠΈ, поэтому Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π² зависимости ΠΎΡ‚ Ρ€Π΅Π³ΠΈΠΎΠ½ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ ΠΏΡ€ΠΎΠ΄Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚.

Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, вСрсии ΠœΠΎΠΉΠžΡ„ΠΈΡ для macOS ΠΈ iOS ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ локаль французский_Π‘ΡƒΡ€ΡƒΠ½Π΄ΠΈ (fr_BI), Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ вСрсии для Windows Π΅Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚. Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” наша Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Π°Ρ вСрсия для Windows ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΠΈ Π±Π°ΡˆΠΊΠΈΡ€ΡΠΊΠΈΠΉ β€” Россия (ba_RU) ΠΈ татарский β€” Россия (tt_RU), ΠΎΠ΄Π½Π°ΠΊΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΡ… Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚.

Π’ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… случаях всСгда провСряйтС, Π΅ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас рассинхрон (ΠΈΠ½ΠΎΠ³Π΄Π° это ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ). ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ спланируйтС, ΠΊΠ°ΠΊΠΈΠ΅ элСмСнты Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΈ ΠΊΠ°ΠΊ это Π±ΡƒΠ΄Π΅Ρ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, ΠΊ ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΠΈ Π²Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ΡΡŒ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ случаС. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Если ядро вашСго прилоТСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ локаль, Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс β€” Π½Π΅Ρ‚, локаль, вСроятно, Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ‚Π°ΠΊΠΈΡ… случаСв ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ интСрфСйсом ΠΈ ядром. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΠΈ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚, ΠΈ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ ядра Π΄Π°Π½Π½Ρ‹Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π²Ρ‹Π±ΠΎΡ€Π° Π»ΠΎΠΊΠ°Π»ΠΈ. На основС этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ систСмой производится Π²Ρ‹Π±ΠΎΡ€.

10. Π”Π΅Π»Π°ΠΉΡ‚Π΅ запуск Π½ΠΎΠ²Ρ‹Ρ… Π»ΠΎΠΊΠ°Π»Π΅ΠΉ эффСктивным с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния рСсурсов

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π΅Π²ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ» ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ этого ΠΏΡ€Π°Π²ΠΈΠ»Π°. Π’ Ρ†Π΅Π»ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ сразу ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ β€” Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², Π²Ρ‹ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚Π΅ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ.

Запуск Π½ΠΎΠ²Ρ‹Ρ… Π»ΠΎΠΊΠ°Π»Π΅ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ простым с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния всСх задСйствованных процСссов ΠΈ элСмСнтов, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠΎΠ΄, рСсурсы, вашС взаимодСйствиС с ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, использованиС Π²Π½Π΅ΡˆΠ½ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ тСстирования ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π² контСкстС Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ тСсно связано с процСссами тСстирования ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ максимум Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π΄Π²ΡƒΡ… локалях. Π’ нашСм случаС это Π»ΠΎΠΊΠ°Π»ΠΈ английский β€” БША (en_US) ΠΈ русский β€” Россия (ru_RU). ВСстированиС Π΄Ρ€ΡƒΠ³ΠΈΡ… Π»ΠΎΠΊΠ°Π»Π΅ΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΌΠ΅Π½Π΅Π΅ рСсурсоСмким. Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ мСньшС тСстовых случаСв ΠΈ Π΄Π΅Π»Π°ΠΉΡ‚Π΅ тСстированиС Π±ΠΎΠ»Π΅Π΅ Ρ†Π΅Π»Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΌ. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΡ‹ создали мноТСство структур тСстирования шаблонов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ тСстированиС Π½ΠΎΠ²Ρ‹Ρ… Π»ΠΎΠΊΠ°Π»Π΅ΠΉ.

Π‘ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ нСпрСдсказуСмыС ситуации. НапримСр, ΠΌΡ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ: внСшниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π΅ содСрТат Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Π±Π°ΡˆΠΊΠΈΡ€ΡΠΊΠΎΠΌΡƒ ΠΈ татарскому языкам ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ эти языки. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ Ρ€Π΅ΡˆΠ°Π΅ΠΌ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠΎΠ², экспСртов Π² этой области, ΠΈ примСнСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΉ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния языковых ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ².

ВСроятно, с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Но Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Ρ‚ΡŒ всС Π½Π΅ΡƒΠ΄Π°Ρ‡ΠΈ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ процСсс. ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΠΈ Π½Π΅ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ связаны, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, со ΡˆΡ€ΠΈΡ„Ρ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ трСбуСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°. Π’Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ, поэтому запускайтС Π½ΠΎΠ²Ρ‹Π΅ Π»ΠΎΠΊΠ°Π»ΠΈ эффСктивным с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния рСсурсов способом. И Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠΉΡ‚Π΅ для сСбя Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с Π½Π΅ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π½Ρ‹ΠΌΠΈ трудностями.

ΠœΡ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Π½Π°ΡˆΠΈΡ… Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… публикациях. ΠŸΠΈΡˆΠΈΡ‚Π΅ Π² коммСнтариях, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ вопросы, собствСнныС Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΈ ΠΈΠ»ΠΈ мысли ΠΎ процСссС Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ. ΠœΡ‹ с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ всСгда ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ ΠΊ интСрСсным обсуТдСниям!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *