Vesna taha preklady z binarneho suboru default.qm, ktory je umiestneny na ceste /opt/app-5/usr/lang/.
Ak chceme zmenit aktualny jazyk, staci nam nahradit povodny subor novym s zelanym jazykom, pripadne len stary premenovat a na novy vytvorit symlink.
Ak je file system ako readonly, je potrebne ho DOCASNE zmenit na RW (mount -o remount,rw /mnt/userfs) a nasledne na RO (mount -o remount,ro /mnt/userfs).
Kazdy text, ktory sa ma prekladat musi byt v prvom rade zadefinovany v jednom z hlavickovych suborov, ktore su na to urcene. (textOBC.h, textMenu.h, textCommon.h, textSelfServiceValidator.h, textSlave.h).
#define E_STR_LATITUDE EObcText::tr("Latitude")
V hlavickovom subore su nadefinovane texty, ktore sa defaultne zobrazia, ked sa explicitne nepouzije preklad do ineho jazyka.
Pre kazdy jazyk existuje samostatny .ts subor (je to xml-ko), v ktorom je k define-u (source) z hlavickoveho suboru priradeny konkretny preklad (translation) v danom jazyku.
Priklad suboru sk_obc.ts (preklady pre slovensky jazyk):
<message>
<source>Latitude</source>
<translation>Zemepisná šírka</translation>
</message>
Znova pre kazdy jazyk samostatne existuje .qm subor (je to binarny subor), ktory je vysledkom spracovania .ts suboru. Tento subor uz mozeme priamo pouzit v aplikacii.
Najprv treba skontrolovat, ci uz dany vyraz v hlavickovych suboroch nie je.
Ak takyto define nie je, pridame ho do jedneho z hlavickovych suborov. Treba zhodnotit, do ktoreho to patri.
Pouzijeme utilitu lupdate, pomocou ktorej doplnime prislusny .ts subor o novy preklad (do .ts suboru to zatial doplni len <source> cast, <translation> sa doplni v dalsom kroku).
Priklad pre update .ts suboru so slovenskymi prekladmi pre obc:
lupdate-qt4 textOBC.h textCommon.h textMenu.h -ts obc/sk_obc.ts
Po tomto kroku budu v sk_obc.ts definovane vsetky prekladane retazce zo suborov textOBC.h textCommon.h textMenu.h
Doplnime preklady do sk_obc.ts pomocou linguist:
linguist-qt4 sk_obc.ts
Nakoniec uz len spracujeme .ts subor na binarku:
lrelease-qt4 sk_obc.ts
Vysledkom coho je subor sk_obc.qm.
Tymto mame hotovy pouzitelny subor so slovenskymi prekladmi, ak ho chceme pouzit v aplikacii, staci nan vytvorit symlink s nazvom default.qm vo var/lib/lang.