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:55 | IT novinky

    Společnost Fujitsu představila FUJITSU-MONAKA CPU a Fujitsu MONAKA Server. Navrženo, vyvinuto a vyrobeno v Japonsku. Pro suverénní AI infrastrukturu.

    Ladislav Hagara | Komentářů: 1
    dnes 16:44 | IT novinky

    Předprodej v květnu představených notebooků Googlebook, nástupců notebooků Chromebook, bude spuštěn v pondělí 21. září.

    Ladislav Hagara | Komentářů: 2
    včera 23:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 45 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 20. října. S konzolí kmscon místo fbcon. Současně byla vydána betaverze Fedora Linux Asahi Remixu 45. S podporou čipů M3.

    Ladislav Hagara | Komentářů: 1
    včera 21:44 | Nová verze

    Po půl roce vývoje od vydání verze 50 bylo vydáno GNOME 51 s kódovým názvem "A Coruña" (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Videopředstavení na PeerTube a YouTube.

    Ladislav Hagara | Komentářů: 16
    včera 20:44 | IT novinky

    OpenAI spolupracuje s konkurenty Anthropic a Google DeepMind ze skupiny Alphabet na bezpečnosti umělé inteligence (AI). Globální obavy ohledně existenčních rizik umělé inteligence vzrostly poté, co se o víkendu sešli vedoucí předních amerických firem z odvětví AI a vyzvali k pozastavení vývoje technologie.

    Ladislav Hagara | Komentářů: 5
    včera 20:33 | IT novinky

    Evropská unie navrhne zákaz sociálních sítí, online her a chatbotů pro děti mladší 13 let a možnost účtu pro děti do 15 let jen se souhlasem rodičů, oznámila šéfka Evropské komise Ursula von der Leyenová v dnešním projevu ve Štrasburku. Návrh předpisu nazvaného EU Kids Act představí Evropská komise ve čtvrtek. Von der Leyenová zdůraznila, že chce, aby se rovněž změnilo základní pravidlo: platformy budou muset dokázat, že jsou bezpečné.

    … více »
    Ladislav Hagara | Komentářů: 28
    15.9. 22:55 | Nová verze

    Byla vydána Java 27 / JDK 27. Nových vlastností (JEP - JDK Enhancement Proposal) je 9.

    Ladislav Hagara | Komentářů: 0
    15.9. 17:44 | Nová verze

    Byl vydán Mozilla Firefox 156.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vestavěný prohlížeč PDF se nyní spouští o 45 % rychleji. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 156 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    15.9. 14:11 | Nová verze

    Článek na Raspberry Pi představuje nový vzhled desktopu operačního systému Raspberry Pi OS v aktuálním vydání 2026-09-15.

    Ladislav Hagara | Komentářů: 2
    15.9. 14:00 | Bezpečnostní upozornění

    Nové verze Roundcube Webmailu 1.6.19 a 1.7.4 řeší několik zranitelností.

    vencour | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2687 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Python a gettext

    21.8.2005 17:19 trancelius | skóre: 22
    Python a gettext
    Přečteno: 368×
    Zdravím, Ve svým programu mám dejme tomu print _("Hello "+green("world")) a chtěl bych, aby v gettext katalogu bylo jen
    msgid "Hello world"
    msgstr "Nazdar světe"
    Je to nějak možný ? Takhle mám obarveno celkem dost stringů...

    Odpovědi

    21.8.2005 17:33 Pinky | skóre: 30
    Rozbalit Rozbalit vše Re: Python a gettext
    Myslím že to nejde. Musel by jsi z toho udělat jeden řetězec který by třeba obsahoval speciální řídící znaky které by ti text obarvyli (jestli tohle jde to nevím)
    21.8.2005 17:41 trancelius | skóre: 22
    Rozbalit Rozbalit vše Re: Python a gettext
    Šlo by to nějak takhle:
    print _("Hello %s") %("world")
    ... ale pak by "world" nebylo lokalizovaný, pokud bych ho nedal do katalogu taky... budu muset udělat nějakej kompromis, něco jako obarvovat pouze příkazy, switche atd :)
    21.8.2005 17:44 trancelius | skóre: 22
    Rozbalit Rozbalit vše Re: Python a gettext
    Oprava:
    print _("Hello %s") %(green("world"))
    21.8.2005 17:47 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Python a gettext
    Touto cestou se nevydávej, jen bys zadělával překladatelům (a sobě) na problémy.
    21.8.2005 17:46 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Python a gettext
    Ne, to nejde a navíc je tohle skládání stringů po kouskách přesně to, co se v manuálu gettextu důrazně nedoporučuje. Když bude v jiném jazyce zapotřebí jiný slovosled (tj. něco jako Světe, nazdar!), tak jsi vyrobil nepřeložitelnou hlášku. Kromě toho rozkouskování citelně zvyšuje počty řetězců, které jsou stejné v angličtině, ale musejí se překládat různě do jiných jazyků (světe vs. svět), takže vyžadují zjednoznačující prefixy, sgettext(), etc.

    Správný postup je používat nějaký markup:
    print _(colorize("Hello <green>world</green>"))
    takže překladatel pak má k překladu celou hlášku a markup zachová. Přičemž _(colorize(...)) může klidně být jedna funkce.
    21.8.2005 18:21 trancelius | skóre: 22
    Rozbalit Rozbalit vše Re: Python a gettext
    Aha, takže něco jako
    def colorize(text):
    	return text.replace("<green>", "[zelená]").replace("</green>", "[/zelená]")
    
    kde to v těch [ ] jsou escape sekvence daných barev... ?
    Ku8aZ avatar 21.8.2005 18:43 Ku8aZ | skóre: 17
    Rozbalit Rozbalit vše Re: Python a gettext
    Řekl bych, že Yeti spíš myslel v řetězcích TAGy ponechávat a funkce colorize by provedla parsování těchto řetězců a podle tagů by volala příslušné funkce - čili asi něco jako HTML.
    Čeho se vlastně člověk bojí, když se bojí tmy...? jabber: ku8az AT jabbim.cz
    21.8.2005 18:52 trancelius | skóre: 22
    Rozbalit Rozbalit vše Re: Python a gettext
    Nebo tak ... to už je detail. Mě připadá jednodušší udělat slovník, kterej pak parser nasází do stringu, něco jako barvy = { '<green>': '\escape sekvence zelené', ... atd }
    21.8.2005 19:47 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Python a gettext
    Takhle by to moc nefungovalo.
    print colorize(_("Hello <green>world</green>"))
    
    je lepší.

    colorize() může klidně vypadat jako jednoduché nahrazení <green> -> \e[32m, </green> -> \e[0m, etc. (raději ovšem podle termcapu).
    21.8.2005 20:59 trancelius | skóre: 22
    Rozbalit Rozbalit vše Re: Python a gettext
    Tak... tohle je výplod mé fantazie a asi je to totální slátanina, ale nic lepšího mě nenapadá :D
    def colordict(text):
    	escapes = {
    	'<Cg>': '\x1b[32;01m',
    	'<Cy>': '\x1b[33;01m',
    	'<Cr>': '\x1b[31;01m',
    	'<Cb>': '\x1b[34;01m',
    	'<CB>': '\x1b[01m',
    	'<C/>': '\x1b[39;49;00m'
    	}
    	return escapes[text.group()]
    
    def outform(text):
    	p = re.compile(r'<C.>')
    	return p.sub(colordict, text)
    
    print outform("Něco <Cr>červenýho<C/>...")
    
    22.8.2005 09:40 trancelius | skóre: 22
    Rozbalit Rozbalit vše Re: Python a gettext
    Ráno moudřejší večera, takhle je to hezčí...
    colortags = {
    '<Cg>': '\x1b[32m',
    '<Cy>': '\x1b[33;01m',
    '<Cr>': '\x1b[31;01m',
    '<Cb>': '\x1b[34;01m',
    '<CB>': '\x1b[01m',
    '<C/>': '\x1b[39;49;00m'
    }
    
    def style(text):
    	return re.compile('<C.>').sub(lambda text: colortags[text.group()], text)
    Slovník s tagy se definuje jen jednou a je to prakticky v jedné funkci :)

    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.