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 17:44 | Nová verze

    Linuxová distribuce OpenMandriva byla vydána ve verzi ROME 23.03. Název ROME říká, že se jedná se o průběžně aktualizovanou (rolling) edici. Stabilní edice nese název Rock, aktuálně OpenMandriva Lx 4.3 Dysprosium.

    Ladislav Hagara | Komentářů: 0
    dnes 17:33 | Pozvánky

    Tento pátek od 14:00 proběhne v Brně na FI MUNI konference DevConf Mini. Na programu je celá řada zajímavých přednášek od testování releasů Fedory, přes super počítače nebo Big Data, až po závody autonomních aut. Konferenci bude možné sledovat i na online streamu.

    joejoe | Komentářů: 0
    dnes 15:00 | Zajímavý článek

    Minulý týden proběhla hackerská soutěž Pwn2Own Vancouver 2023. Adobe Reader, Microsoft SharePoint, Oracle VirtualBox, Tesla, Ubuntu Desktop, Windows 11, macOS, Microsoft Teams, VMWare Workstation. Vše hacknuto. Synacktiv získal 530 000 dolarů a Teslu Model 3.

    Ladislav Hagara | Komentářů: 4
    dnes 07:00 | Nová verze

    Byla vydána nová stabilní verze 3.5 svobodného 3D softwaru Blender. Přehled novinek i s náhledy v oznámení o vydání a na YouTube.

    Ladislav Hagara | Komentářů: 0
    dnes 06:00 | Nová verze

    Po 5 měsících vývoje od vydání verze 6.1 byla vydána nová verze 6.2 svobodného open source redakčního systému WordPress. Kódové jméno Dolphy bylo vybráno na počest amerického jazzového altsaxofonisty, flétnisty a basklarinetisty Erica Dolphyho.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | IT novinky

    Josef Průša představil (YouTube) novou 3D tiskárnu Original Prusa MK4. Cena sestavené tiskárny je 27990 Kč. Cena stavebnice je 20990 Kč.

    Ladislav Hagara | Komentářů: 4
    včera 19:00 | Nová verze

    Turris OS, operační systém pro síťová zařízení Turris postavený na OpenWrt, byl vydán v nové verzi 6.3.0. Vývojáři upozorňují, že Netmetr byl nahrazen LibreSpeedem, viz příspěvek na blogu CZ.NIC.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | Bezpečnostní upozornění

    Byl vydán xorg-server 21.1.8 a xwayland 22.1.9 a 23.1.1. Řešena je zranitelnost CVE-2023-1393 využitelná k lokální eskalaci práv.

    Ladislav Hagara | Komentářů: 4
    včera 15:00 | Nová verze

    Byla vydána nová verze 10 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu.

    Ladislav Hagara | Komentářů: 0
    28.3. 22:33 | Komunita

    Ubuntu Cinnamon bude od Ubuntu 23.04 oficiální odnoží Ubuntu (návrh, schválení).

    Ladislav Hagara | Komentářů: 4
    Používáte WSL (Windows Subsystem for Linux)?
     (73%)
     (12%)
     (3%)
     (11%)
    Celkem 376 hlasů
     Komentářů: 7, poslední 28.3. 17:34
    Rozcestník


    Dotaz: Gettext a duplicita

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

    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.