abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:33 | Bezpečnostní upozornění

    Byla nalezena vážná bezpečnostní chyba v telnetd z balíčku GNU InetUtils. Týká se verzí GNU InetUtils od 1.9.3 z 12. května 2015 až po aktuální 2.7 z 14. prosince 2025. Útočník může obejít autentizaci a získat root přístup, jelikož telnetd nekontroluje předaný obsah proměnné prostředí USER a pokud obsahuje "-f root"…

    Ladislav Hagara | Komentářů: 2
    včera 17:22 | Komunita

    Stanislav Aleksandrov předložil patch rozšiřující KWin (KDE Plasma) na 3D virtuální desktopové prostředí (videoukázka v mp4).

    Ladislav Hagara | Komentářů: 3
    včera 05:55 | IT novinky

    Digg (Wikipedie), "místo, kde můžete sdílet a objevovat to nejlepší z internetu – a nejen to", je zpět. Ve veřejné betě.

    Ladislav Hagara | Komentářů: 3
    včera 01:44 | Komunita

    Po .deb balíčcích Mozilla nově poskytuje také .rpm balíčky Firefoxu Nightly.

    Ladislav Hagara | Komentářů: 7
    včera 00:33 | IT novinky

    Vývojové prostředí IntelliJ IDEA slaví 25. narozeniny (YouTube).

    Ladislav Hagara | Komentářů: 0
    19.1. 23:55 | IT novinky

    Vedení společnosti NVIDIA údajně povolilo použití milionů knih ze známého 'warez' archivu Anna's Archive k výcviku umělé inteligence, ačkoliv vědělo, že archiv tyto knihy nezískal legální cestou. Žaloba, ve které se objevují i citace interních dokumentů společnosti NVIDIA, tvrdí, že NVIDIA přímo kontaktovala Anna's Archive a požadovala vysokorychlostní přístup k datům knihovny.

    NUKE GAZA! 🎆 | Komentářů: 14
    19.1. 14:33 | Zajímavý software

    Grafický správce balíčků Myrlyn pro SUSE a openSUSE, původně YQPkg, dospěl do stabilní verze 1.0.0. Postaven je nad libzypp a Qt 6. Projekt začal na SUSE Hack Weeku 24.

    Ladislav Hagara | Komentářů: 8
    19.1. 13:44 | Zajímavý projekt

    Vývojáři se podařilo vytvořit patch pro Wine, díky kterému je možné na linuxovém stroji nainstalovat a spustit Adobe Photoshop (testováno s verzemi Photoshopu PS2021 a PS2025). Dalším patchem se podařilo umožnit dokonce instalaci téměř celého Adobe Creative Cloud Collection 2023, vyjma aplikací Adobe XD a Adobe Fresco. Patch řeší kompatibilitu s windowsovými subsystémy MSHTML - jádrem prohlížeče Internet exporer, a MSXML3 - parserem

    … více »
    NUKE GAZA! 🎆 | Komentářů: 6
    19.1. 13:33 | IT novinky

    Hackeři zaútočili na portál veřejných zakázek a vyřadili ho z provozu. Systém, ve kterém musí být ze zákona sdíleny informace o veřejných zakázkách, se ministerstvo pro místní rozvoj (MMR) nyní pokouší co nejdříve zprovoznit. Úřad o tom informoval na svém webu a na sociálních sítích. Portál slouží pro sdílení informací mezi zadavateli a dodavateli veřejných zakázek.

    Ladislav Hagara | Komentářů: 12
    19.1. 12:22 | Nová verze

    Javascriptová knihovna jQuery (Wikipedie) oslavila 20. narozeniny, John Resig ji představil v lednu 2006 na newyorském BarCampu. Při této příležitosti byla vydána nová major verze 4.0.0.

    Ladislav Hagara | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (5%)
     (0%)
     (10%)
     (20%)
     (3%)
     (5%)
     (2%)
     (11%)
     (37%)
    Celkem 546 hlasů
     Komentářů: 16, poslední včera 17:04
    Rozcestník

    Dotaz: Gettext a duplicita

    20.2.2009 17:46 Vláďa
    Gettext a duplicita
    Přečteno: 346×

    Zdravím,

    potřeboval bych poradit s gettextem. V anglickém zdrojáku se mi například vyskytuje slovo "to" to ale můžu přeložit do češtiny jako "do" nebo "k". Další podobné problémy nastávají se skloňováním. Jak se dá tohle vyřešit?

    Problém je, že v textu jsou proměnné, takže se vše rozpadá opravdu jenom na jedno nebo dvouslovné kousky vět, které se pokaždé musí přeložit trochu jinak. Takže řešení, které nabízí manuál gettextu je pro mě nepoužitelné.

    Díky,

    Vláďa

    Odpovědi

    20.2.2009 18:08 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: Gettext a duplicita
    Ktoré riešenie z toho manuálu je nepoužiteľné? Kontext mi pripadá ako dobré riešenie takého problému.
    21.2.2009 14:16 JeCh
    Rozbalit Rozbalit vše Re: Gettext a duplicita

    Díky, to jsem přehlédl. To vypadá jako rozumné řešení.

    21.2.2009 00:37 l4m4
    Rozbalit Rozbalit vše Re: Gettext a duplicita
    Věty poskládáné z kousků jsou tak jako tak nepřeložitelné, protože řada jazyků má úplně jinou větnou strukturu. Tudíž je zbytečná námaha zkoušet to nějak řešit. Gettext podporuje překlady kompletních zpráv s printf()-like formáty, kde pak lze v překladu přehazovat pořadí proměnných ve formátovacím řetězci. Viz Preparing Translatable Strings v manuálu gettextu.

    Skloňování programově gettext přeložit neumí, musel by znát gramatiku příslušných jazyků. Odpověď je stejná: překládat kompletní řetězce.

    Zůstanou-li i pak nejednoznačnosti, použij prefixy, tj. pgettext() a jeho varianty.
    21.2.2009 14:23 JeCh
    Rozbalit Rozbalit vše Re: Gettext a duplicita

    Máš pravdu, asi jsem si to chtěl až příliš zjednodušit, ale ono je to složitější. Asi by to opravdu chtělo mít vždy celé věty. Ale jak na to?

    Dejme tomu, že mám proměnnou "filename" a můj aktuální string v programu je _("File")+" "+filename+" "+_("was not found.")

    Překlad druhé části je "nebyl nalezen". Ale v jiném místě programu bude stejný anglický řetězec, ale překlad by měl být "nebyla nalezena". Takto jsem to myslel s tím skloňováním. No každopádně bych nějak potřeboval dostat celou větu do jednoho řetězce pro gettext. Jak na to? Používám Python.

    21.2.2009 16:52 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Gettext a duplicita
    Asi by to opravdu chtělo mít vždy celé věty. Ale jak na to?
    Jak bylo řečeno výše - použít nějakou sprintf funkce. Nevím, jak je to v Pythonu, ale např. v PHP bych to napsal takhle:
    $msg = sprintf(_("File %s was not found"), $filename);
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    22.2.2009 12:22 l4m4
    Rozbalit Rozbalit vše Re: Gettext a duplicita
    V pythonu existuje formátovací operátor %, takže lze postupovat stejně.
    20.11.2009 09:09 JeChW
    Rozbalit Rozbalit vše Re: Gettext a duplicita
    Ahoj, omlouvám se, že ještě otevírám toto staré téma. Mám problém s použitím operátoru %s v Pythonu. Pokud ho použiju dvakrát v jednom řetězci a poté načítám zdrojové kódy v Poedit, tak mi hlásí chybu. Ale v programu to funguje.
    20.11.2009 11:13 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Gettext a duplicita
    Poedit hlásí jakou chybu?
    20.11.2009 13:20 JeChW
    Rozbalit Rozbalit vše Re: Gettext a duplicita
    Hlásí toto:

    17:41:47: s:\programy\portable_pygtk\_filmsynth/open_media.py:360: warning: 'msgid' format string with unnamed arguments cannot be properly localized:

    17:41:47: The translator cannot reorder the arguments.

    17:41:47: Please consider using a format string with named arguments,

    17:41:47: and a mapping instead of a tuple for the arguments.
    20.11.2009 14:10 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: Gettext a duplicita
    Môžeš použiť niečo ako:
    text = _('%(retazec)s : %(dalsiRetazec)s [%(cislo)i]\n') % {'retazec': 'XXX', 'dalsiRetazec': 'YYY', 'cislo': 125}
    (a prekladatelia potom, v prípade potreby, môžu tie parametre presúvať)
    21.11.2009 16:59 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Gettext a duplicita
    To je nějaký specialitka Pythonu? Gettext tohle nezajímá, protože ten překládá celé řetězce a žádné formátování nedělá. Mimochodem v C se místo pojmenovaných argumentů používají řadové (printf(_("%2$s %1$s"), retezec1, retezec2);).
    21.11.2009 17:32 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: Gettext a duplicita
    Áno, je to spôsob, akým sa dajú vypisovať formátované reťazce v Python (String Formatting Operations)

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.