Наточено от сайта на инженер Генади Атанасов
Тази страница съм я писал като за дипломна работа. Четете я като за изпит. И да ги знаете работите, пак четете, и се обадете ако има неточност.
Поддръжка на език на системно ниво. Теория и практика.
Разлика между поддръжката на Кирилицата на системно ниво и чрез Multilanguage Support
“На тоя не му бие чука на едно място” още тук ще възкликне внимателният читател. На език или на Кирилица?
Отговора е ДА. На който и да е език извън English, по-точно на азбуката му.
Еднакво е за всички, и за Кирилицата. Нея я пиша за по-невнимателните читатели, все пак текста е на Български за българи предимно.

Да се поддържа език на системно ниво накратко значи, че неговата азбука е равнопоставена с английския. Тогава е възможно:
  • да се пише на съответният език във всички прозорци и полета, където може да се пише, ако програмата е грамотна и взима фонтовете от Windows, а не работи със собствен вътрешен фонт.
  • да се четат и пишат имена на файлове и директории на съответния език, включително CD-та с имена на директории и файлове на Кирилица, (за тях е все едно Руската или Българската Кирилица сме извадили на системно ниво);
  • да се чете текст на съответният език в менютата на програмите и в синята заглавна лента на браузъра;
  • да се четат, пишат и печатат текстови файлове под DOS - чист или в прозорец под Windows. При това самият Windows извършва необходимите прекодирания от DOS кодировка към Windows кодировка, ако е нужно;
  • да се копира и пейства без проблем от една към друга програма, независимо дали ползват еднакви или различни кодировки на Кирилицата. Преобразуванията ASCI - ANSI - UNICODE стават от самосебе си, в движение.
  • да се ползват шернати имена на Кирилица, за мрежа със Windows-и от 95 до XP.
  • Стартираща дискета на Windows има поддръжка на Кирилица. Той сам си я прави така.

При несистемната поддръжка когато Кирилицата е извадена през Control Panel \ Multilanguage Support остава само първата точка отчасти. Това в практиката звучи така "Абе уж качих Кирилица, ама пак не е добре, някъде се показва на джинджифлютки, а и файловите имена не се четат"

Като капак, ако за Windows 98, при сетъпа е избрано твърдо USA: Regional Settings English(USA) и Default Locale USA- тогава не се инсталира Multilanguage Support (няма го в Add\Remove Programs, Windows Setup), тоест грам поддръжка на друг език не можем да извадим. Поне се вижда, че българският принцип "Който има пари акъл не му трябва" е верен и реално се прилага в живота.

И като . . . . е не знам вече какво, в белота това му се казва "Вътре с капо на реконтра" точно такива Windows 98 се продават като OEM у нас (май и в Македония, гледам, че ми се зарадваха на разработката). Като тръгне инсталацията, тича право на твърдо USA без да спира да пита за нищо. Така, че не само пълна системна поддръжка на Кирилица не се вади, ами и въобще никаква.

Да продължим.Три кодови таблици -CP1252, MAC и OEM/DOS за USA тоест CP437 са вградени директно в програмният код на GDI.EXE а не са ресурс, който зависи от локализацията на системата. От това следва, че Windows (от 95 до XP) може да поддържа на системно ниво само два езика: Английски + кой да е друг. Писането на Немски, Френски или Чешки не е на чиста латиница. Тоест: ако сме инсталирали Windows-а с дефолтна страна German и ни се налага да работим с програма с менюта на Кирилица, руска например, няма да можем да работим с нея, докато не си преинсталираме Windows-а с дефолтна страна Русия. (без преинсталиране - на сайта ми, "Бърза смяна на страната по метода на Инжинера")

При поддръжката на Кирилица на системно ниво системните фонтове са с Кирилица. Те по име са същите, но вътре са различни. Не е само до фонтовете, качват се и прекодиращи файлове, които следят правилното изобразяване и конвертиране от Unicode- ANSI -ASCI- OEM/DOS. Моля да не се чудите, че не разбирате това изречение. И аз не го разбирам съвсем, опитах се с купешки думи да обясня, че Кирилицата работи навсякъде: текстов редактор, Word6, Word2000, DOS текстови редактор, копира се, пейства се и няма въобще проблеми и прекодиращи програми не трябват никакви.    примери --->    Пак повтарям: просто си работи, не ви трябва нищо да разбирате.


Как се изкарва системната Кирилица или поддръжка на друг език на системно ниво? Кога е възможно и има ли проблеми?

Най- лесно, като преминем на Windows NT4 - 2000 - XP. Там системната поддръжка се вади през Контрол Панела, след рестарта сме готови. Според официалните указания от Майкрософт,за Windows 95 - 98 - Me това става при (пре)инсталирането му. Тогава трябва да се избере съответната страна. Ако Windows-а е купен в съответната страна, той ще извади системна поддръжка. За друга - никой ти не казва.

Затова предлагам недокументиран признак. Приемам го за верен до доказване на противното. Пълна поддръжка на страни с Кирилица и на много други езици имат тези Windows 95 - 98 - Me, които имат файл EGA2.CPI в инсталационните си файлове. (признак на Инжинера) Те си имат и всичко останало. Този Windows се нарича "Паневропейски"
Локализираните Windows-и 9XX и Me имат тази пълна поддръжка, но на много места в настроечните им файлове пише да вадят поддръжката на страната ЕдиКояСи. Те се разпознават по това, че имат системни фолдери с имена на езика и на азбуката на съответната страна. Например, на локализираните за Русия Windows -и Desktop е "Рабочий стол". На тях не трябва да им сменяваме системният език, защото просто може да спрат да работят.


И при Windows-и 9XX и Me може лесно, бързо и многократно, без преинсталация да се сменя страната, чиито език се поддържа на системно ниво.

Добър резултат се получава при следните условия:
  1. Трябва Вашият Windows 9хх или МЕ да е паневропейски - виж по-горе;
  2. Трябва Вашият Windows 9хх или МЕ да НЕ е локализирана версия;
  3. Трябва да не сте качвали Кирилизатор или друг "Национализатор". Няма значение дали сте го свалили после!
  4. Не трябва да сте сменяли който и да било от собствените фонтове на Windows-а.
  5. Ако имате имена на файлове/директории не на чиста Латиница, ще ги виждате, когато извадите поддръжка на системно ниво за съответната страна. (най-добре нямайте)

За купените у нас, Македония и в USA Windows 98 и МЕ точка 1 и 2 са изпълнени.
При тези условия при мен е заработвало без проблем. При Вас естествено няма гаранция.

Тези обяснения са в пакет с файлове, които извършват бърза смяна към Локале България или изваждане на Multilanguage Support -Cyrillic. За Бърза смяна към произволно страна чети на сайта ми       http://free.hit.bg/injinera/fastchn/fastlocalech2.htm


Някои практически следствия

       Къде е смисъла да сменяме системно поддържаният език?
На по-скъпите варианти Windows тази възможност се предлага официално, значи смисъл има.

Ако имаш достъп до инсталационните файлове на Уиндоуса и той е паневропейска версия, с едно рестартиране може да получиш напълно настроен на Български Уиндоус включително системните шрифтове и работа в ДОС прозорец без кирилизатор. И въобще може да получиш такава настройка за произволна европейска страна, без какъвто и да е "локализатор". Както се вика - работим само с оригинални части.

Това е най-мощният начин за многоезикова работа под Windows. Когато ще обработваме документи на някой език, първо да изкараме този език на системно ниво. Тогава Windows - а сам преобразува от ANSI в UNICODE и не му мислим въобще. Аз винаги съм работил с Кирилица, извадена на системно ниво и че има такова преобразуване научих чак откакто направих сайта. Просто нещата си стават самички!

ПРАКТИЧЕСКИ ПРИМЕР: Прочитане на CD с файлови имена на Кирилица. Вадим системна поддръжка на България или на Русия и прочитаме това CD. След това каквото ни душа иска, включително преименоване файловете на Латиница и презапис.

       Как да различим дали Кирилицата е извадена на системно ниво?
Слагаме курсора на мишката на часовника. Трябва да се появи тултип с датата на Български. Ако е 100% сигурно, че никой никога не е качвал кирилизатор на този Windows, той има поддръжка на системно ниво. Ако е качван кирилизатор, е без значение, понеже работата е неустойчива и сега е е едно, а после друго. Това е от кирилизатора, а не от Кирилицата.

       Как да различим дали някой писач на тема "Български и Кирилица" е в час?
Ако видим съвет за качване на кирилизатор, човека абсолютно не е в час, не четем повече. (имена няма да посочвам) Ако не - четем му писанията и преценяваме дали прави разлика между поддръжка през Control Panel \ Multilanguage Support и поддръжка на системно ниво. Ако не я прави, писанията може да са верни, може и да не са, трябва да се проверят.

Написаното по-горе за работа с Кирилица под DOS е валидно, но не за България, понеже нашите DOS програми не работят с някоя от стандартните кодови таблици, дори и стандарта да е БДС. Използваната у нас МИК кодова таблица е нестандартна. За България Windows-а има поддръжка по една от кодовите таблици с Кирилица - CodePage855. Тя служи само за показно - ей това щяхте да имате, ако с кирилизацията за България на Windows се занимаваха нормално интелигентни хора, а не "специалисти"

Windows-а си има Кирилица под DOS и му работи безупречно, ние си нямаме!


  написано на 12 Юни 2002
корекция на 30 Юни 2002