====== Prekladove subory vozidlovej aplikacie ====== ===== Ako zmenit jazyk na Vesne ===== 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). ===== Mechanizmus prekladov ===== ==== Hlavickovy subor ==== 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.\\ ==== .ts subor ==== 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): Latitude Zemepisná šírka ==== .qm subor ==== 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. ===== Ako sa dopracovat k funkcnemu .qm suboru pre aplikaciu ===== 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 cast, 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**.