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

Да се поддържа език на системно ниво накратко значи, че неговата азбука е равнопоставена с английския. Тогава е възможно:
  • да се четат и пишат имена на файлове и директории на съответния език, включително CD-та с имена на директории и файлове на Кирилица, (за тях е все едно Руската или Българската Кирилица сме извадили на системно ниво);
  • да се чете текст на съответният език в менютата на програмите и в синята заглавна лента на браузъра;
  • да се четат, пишат и печатат текстови файлове под DOS - чист или в прозорец под Windows. При това самият Windows извършва необходимите прекодирания от DOS кодировка към Windows кодировка, ако е нужно;
  • да се пише на съответният език във всички прозорци и полета, където може да се пише, ако програмата е грамотна и взима фонтовете от 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 текстови редактор, копира се, пейства се и няма въобще проблеми и прекодиращи програми не трябват никакви.    (примери, 27К --->)    Пак повтарям: просто си работи, не ви трябва нищо да разбирате.


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

Най- лесно, като преминем на 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 са изпълнени.

При тези условия при мен е заработвало без проблем. При Вас естествено няма гаранция.

продължение --->

Помагало за шматкане (site navigation) из сайта на Инжинера   

Начало-> /
Канелка за кирилизация на Windows-и
\ ->Поддръжка на език на системно ниво (Тук, 1/3)->
\
Карта на сайта
/

"Бърза смяна на страната по метода на Инжинера" за Win 9xx и Me-теоретично обяснение (част 2/3) ->

"Бърза смяна на страната по метода на Инжинера" за Win 9xx и Me-конкретни начини (част 3/3)


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

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

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

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

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

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

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


  написано на 12 Март 2002
корекция на 26 Май 2002  
продължение --->