abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 00:33 | Nová verze

    Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.1.0. Po devíti letech od vydání předchozí verze 3.0.5. Doména dillo.org již nepatří vývojářům Dilla.

    Ladislav Hagara | Komentářů: 0
    včera 15:00 | Komunita

    O víkendu probíhá v Bostonu, a také virtuálně, konference LibrePlanet 2024 organizovaná nadací Free Software Foundation (FSF).

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Nová verze

    Nová vývojová verze Wine 9.8 řeší mimo jiné chybu #3689 při instalaci Microsoft Office 97 nahlášenou v roce 2005.

    Ladislav Hagara | Komentářů: 0
    3.5. 13:11 | Nová verze

    Coppwr, tj. GUI nástroj pro nízkoúrovňové ovládání PipeWire, byl vydán v nové verzi 1.6.0. Zdrojové kódy jsou k dispozici na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    2.5. 22:33 | Nová verze

    Byla vydána dubnová aktualizace aneb nová verze 1.89 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Vypíchnout lze, že v terminálu lze nově povolit vkládání kopírovaného textu stisknutím středního tlačítka myši. Ve verzi 1.89 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 19
    2.5. 21:22 | Nová verze

    Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-1 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.

    Ladislav Hagara | Komentářů: 2
    2.5. 19:33 | Nová verze

    Byla vydána verze 1.78.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    2.5. 11:22 | Bezpečnostní upozornění

    Služba Dropbox Sign (původně HelloSign) pro elektronické podepisování smluv byla hacknuta.

    Ladislav Hagara | Komentářů: 3
    2.5. 11:00 | Nová verze

    Byla vydána nová major verze 8.0 textového editoru GNU nano (Wikipedie). Podrobný přehled novinek a oprav v oznámení v diskusním listu info-nano nebo v souboru ChangeLog na Savannah. Volbou --modernbindings (-/) lze povolit "moderní" klávesové zkratky: ^C kopírování, ^V vložení, ^Z vrácení zpět, … Tato volba je aktivována také pokud binárka s nano nebo link na ni začíná písmenem "e".

    Ladislav Hagara | Komentářů: 4
    1.5. 23:22 | IT novinky

    Před 60 lety, 1. května 1964, byl představen programovací jazyk BASIC (Beginners' All-purpose Symbolic Instruction Code).

    Ladislav Hagara | Komentářů: 23
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (51%)
     (11%)
     (22%)
     (16%)
    Celkem 63 hlasů
     Komentářů: 8, poslední včera 08:25
    Rozcestník

    Linuxové překladatelské nástroje III.

    3.10.2006 15:23 | Přečteno: 1116× | Za vším hledej Linux

    Minulé pojednání jsem věnoval systému lokalizace přes PO soubory. Toto je věnováno dalšímu systému lokalizace, který používá např. KDE a další aplikace založené na Qt knihovnách.

    Lokalizace přes TS soubory (Qt)

    Lokalizační soubory s příponou ts používá jako výchozí zdroj pro překlady Qt. V podstatě je to XML dokument ve kterém se - na rozdíl od po souboru - každý řetězec vyskytuje v určitém kontextu. Znamená to v podstatě tolik, že zatím co u lokalizace přes gettext stačí přeložit původní řetezec pouze jednou a systém pak nahrazuje u aplikace všechny jeho výskyty jedním překladem, tak v případě ts je nutno přeložit každý řetězec samostatně. Má to však i svou výhodu. Pro různý kontext lze použít různý překlad téhož řetězce originálního textu, kdežto u po je třeba dobře promyslet nejenom obsah překládaného ale i cílového textu. (Možná si někteří vzpomenou na žabomyší spor, který se týkal překladu tlačítka "Budiž" v Gnome)

    Výchozí ts soubor se generuje podobně jako u gettextu z předhozeného seznamu souborů

    lupdate `find ./zdroj_programu -type f | egrep -e '(c$|h$|cpp$)'` -ts soubor_k_překladu.ts
    

    Hotový překlad se pak převede do binární formy, což je soubor, který má příponu qm. A to tak že buď otevřu .ts soubor v aplikaci linguist a zvolím v menu Soubor -> Release, nebo jej převedu konzolovým nástrojem lrelease

    Na rozdíl od gettextu, lokalizace přes Qt nemá pevně dané umístění lokalizačních souborů, ani jejich pojmenování. Zpravidla záleží na programátorovi, kde bude aplikace tyto soubory hledat a pod jakým názvem.
    S qm soubory se nejspíš setkáte v adresářích jednotlivých aplikací v /usr/share ale není to pravidlem. Například poměrně známá aplikace Scribus si je rve do adresáře /usr/lib (fuj!). Také pojmenování bývá rozmanité. někdy je místo názvu jen kód cílového jazyka. Někdy je kód jazyka mezi názvem aplikace a příponou qm, atd.

    Výhody a nevýhody

    Jak už jsem naznačil u po souborů, u ts je výhodou že u řetězce zůstává zachován kontext, a tak překlad může být výstižnější. Na druhou stranu se snadno může stát, že se na nějaký řetězec pozapomene. Dosti výraznou nevýhodou je fakt, že z qm verzí Qt>=3 se ts soubor zpátky vykuchat nedá.

           

    Hodnocení: 83 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    3.10.2006 21:20 Boris
    Rozbalit Rozbalit vše Re: Linuxové překladatelské nástroje III.
    Místo toho krkolomného find a spol a shellové gymnastiky nabízí Trolltech čistší řešení: do projektového souboru (mujprojekt.pro) dát toto:
    TRANSLATIONS += preklad_cs.ts \
    preklad_de.ts \
    preklad_ru.ts \
    preklad_ar.ts

    a pak stačí udělat

    lupdate mujprojekt.pro,

    a protože v .pro souboru je vždy seznam všech zdrojáků (a ten .pro soubor se seznamem se dá vygenerovat pomocí spuštění qmake -project v projektovém adresáři), tak lupdate ví, odkud má překládané řetězce extrahovat a které překladové soubory vytvořit (nebo updatovat). A s releasem (vytvořením binárních .qm variant) je to stejné:

    lrelease mujproject.pro
    3.10.2006 21:49 Boris
    Rozbalit Rozbalit vše Re: Linuxové překladatelské nástroje III.
    A pokud by někoho zajímalo, jak pak v aplikaci překlad načíst, je zde ukázkový kód:

    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
    
        QTranslator translator;
    
        translator.load("mujprogram_cs");
        app.installTranslator(&translator);
        ...
    }
    

    A pokud se předpokládá LC_LANG-aware chování, tak prostě:
        ...
        translator.load(QString ("mujprogram_") + QLocale::system().name());
    
    4.10.2006 09:07 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Linuxové překladatelské nástroje III.
    Dík. To jsou věci které jsem neznal.
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.