Portál AbcLinuxu, 12. května 2025 05:36

Dotaz: Duplicity a gettext

6.2.2009 20:55 JeCh
Duplicity a gettext
Přečteno: 195×
Odpovědět | Admin

Zdravím,

mám následující problém. Ve svém programu používám pro překlad gettext. Ale samozřejmě při překladu do češtiny nastane problém se skloňováním a dvojsmysly, kdy je třeba jednu a tutéž věc přeložit jinak. Jak se s tím dá vypořádat?

V manuálu ke gettextu píší, abych to nějak obešel, ale to není možné, protože ty řetězce jsou proložené proměnnými, takže někdy mi jako řetězec k přeložení zbyde jenom předložka "to". To ale potřebuji přeložit jednou jako "k" a podruhé jako "do".

Co s tím? Díky.

P.S. Používám Python, ale to asi není podstatné. Rád bych překlad dělal v Poeditu.

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.2.2009 20:55 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Duplicity a gettext
Odpovědět | | Sbalit | Link | Blokovat | Admin

Za prvé je dobré nechat překládat celé věty (tj. nechat postavit větu gettextem a ne explicitním kódem, např. printf(_("converting %s to %s"), src, dst); namísto verb="converting"; printf(_("%s "%s to %s"), verb, src, dst);

Za druhé to, co potřebujete, se nazývá kontext a v gettextu je na to to funkce pgettext(). Např. printf(pgettext("conversion"), "%s to %s"), src, dst); printf(pgettext("save"), "%s to %s"), src, dst); vytvoří v katalogu dva záznamy se stejným msgid, ale rozlišené kontextem.

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.