· Minulá kapitola · Obsah · Další kapitola


Čeština a lokalizace II

Se základy podpory češtiny v Mac OS jsme se již seznámili dříve; nyní se podíváme na to, jak tuto podporu může administrátor upravit nebo vylepšit.

(i) Import a export osmibitově kódovaných textů zajišťují samotné knihovny OpenStepu; můžeme však určit standardní osmibitové kódování, které OpenStep použije, není-li v programu řečeno jinak. Stačí zapsat číslo požadovaného kódování do souboru

/System/Library/Frameworks/Foundation.framework/Resources/CStringEncoding

Číslo se zapisuje v ASCII; pro ISO 8859-2 použijeme číslo "9", pro MS Windows CE 1250 použijeme "15". Pro zajímavost, některá z dalších podporovaných kódování jsou:

KódováníČíslo
ASCII1
NeXTStep2
Japanese EUC3
UTF8 (osmibitové kódování typu UNICODE)4
ISO Latin15
ISO Latin29
UNICODE10
Windows CP1251 (azbuka)11
Windows CP1252 (tak si windows představují Latin1)12
Windows CP1253 (řecká azbuka)13
Windows CP1254 (turecké písmo)14
Windows CP1250 (tak si windows představují Latin2)15
MacOS Roman30

(ii) Díky podpoře UNICODE dokáže OpenStep bez jakýchkoli problémů spojovat libovolná diakritická znaménka s libovolnými znaky. Pro češtinu je však vhodné zavést některé iregularity -- např. kombinace "háček, u" by měla vygenerovat znak "ů". Toho snadno docílíme tak, že instalujeme korektní soubor

/System/Library/Frameworks/AppKit.framework/Resources/DeadKeyData.data

Bohužel, formát tohoto souboru je binární a není možné jej snadno připravit ručně; soubor je však komerčně dostupný např. u OCSoftware.

(iii) Ačkoli se nám ve spolupráci s firmou NeXT podařilo odstranit naprostou většinu chyb, které činily instalaci češtiny ve starších versích problematickou, jeden problém v OpenStepu zůstal až do Mac OS X: v ovladači klávesnice je chyba, kvůli které není možné na klávesy přímo instalovat UNICODE znaky. K dispozici jsou jen osmibitové hodnoty, které se automaticky do Unicode převedou podle tabulky Latin1.

Proto musíme při práci s aplikací Keyboard.app pro znaky jako "ě" nebo "š" použít malý trik: na klávesu neinstalujeme přímo znak, ale sekvenci kláves např. "háček, e" nebo "háček, s".

(iv) O tom, že do pořadí jazyků v panelu lokalizačních předvoleb můžeme přidat češtinu (nebo kterýkoli jiný jazyk) např. příkazem

defaults write NSGlobalDomain NSLanguages '(Czech, English, French, German)'

již víme. Souvisí s tím ale další malý trik: v souboru "/System/Library/CoreServices/Resources/language.strings" jsou uložena lokalizovaná jména jazyků; chceme-li tedy, aby se čeština zobrazovala jako "Čeština" (a ne jako "Czech"), musíme do tohoto souboru přidat řádek

"Czech" = "Čeština"

(v) Jak víme, aplikace TextEdit standardně nabízí import z a export do řady osmibitových kódování (kromě standardního Unicode). Seznam kódování, jež jsou k dispozici, je určen obsahem souboru "/System/Applications/TextEdit.app/Resources/Encodings.txt": jsou v něm čísla kódování (viz tabulka nahoře), oddělená čárkami.

Chceme-li tedy, aby TextEdit nabízel některý encoding, jenž v něm standardně k dispozici není (např. Windows CP 1250), musíme tento soubor vytvořit (nebo zkopírovat ze souboru DefaultEncodings.txt, který je standardní součástí TextEditu), a zapsat do něj čísla kódování podle potřeby.

(v) Vývojářská aplikace ProjectBuilder nabízí seznam jazyků pro lokalizaci; i tento seznam je určen obsahem samostatného souboru. Pokud bychom chtěli přidat do ProjectBuilderu možnost lokalizovat do češtiny, musíme přidat "Czech" do souboru "/System/Library/Frameworks/ProjectBuilder.framework/Resources/MainInfo.table", např. takto:

HumanLanguages = ("Czech", "English", "French", "German", "Spanish", "Portuguese", "Italian", "Swedish", "Japanese");


· Minulá kapitola · Obsah · Další kapitola


Copyright © OCSoftware, 2000; all right reserved