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

    Americká technologická společnost Meta Platforms se dohodla, že zaplatí až zhruba 18 miliard dolarů (asi 373 miliard Kč) za mimosoudní urovnání sporu o závislosti dětí na sociálních sítích a provede významné změny pro jejich používání mladistvými. Téměř tři desítky států USA firmu v roce 2023 obvinily z toho, že sítě Facebook a Instagram vědomě navrhla tak, aby u dětí vyvolávaly závislost, a zatajovala tyto dopady před veřejností. Firma se

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 02:55 | Komunita

    Byl publikován aktuální přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Blíží se vydání podporující čipy M3. Vývojáře lze podpořit na GitHub Sponsors a Open Collective.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Kancelářský balík LibreOffice byl vydán ve verzi 26.8. Mimo jiné vylepšuje typografii a kompatibilitu s formáty MS Office, více v poznámkách k vydání.

    |🇵🇸 | Komentářů: 0
    včera 14:55 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.8. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 6
    včera 11:44 | Nová verze

    Byla vydána nová verze 23.1.0, tj. první stabilní verze z nové řady 23.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools, Libc++, Polly a Flang.

    Ladislav Hagara | Komentářů: 0
    včera 02:11 | Nová verze

    Google Chrome 152 byl prohlášen za stabilní. Nejnovější stabilní verze 152.0.7977.64 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 327 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 01:11 | Komunita

    Před 35 lety, 25. srpna 1991, oznámil Linus Benedict Torvalds v diskusní skupině comp.os.minix, že vyvíjí (svobodný) operační systém (jako koníček, nebude tak velký a profesionální jako GNU) pro klony 386 (486), že začal v dubnu a během několika měsíců by mohl mít něco použitelného.

    Ladislav Hagara | Komentářů: 3
    25.8. 16:33 | IT novinky

    Apple představil čipy M6 a M5 Ultra, Mac mini s M6 nebo M5 Pro a Mac Studio s M5 Max nebo M5 Ultra. Fedora Asahi Remix zatím podporuje jenom M1 a M2.

    Ladislav Hagara | Komentářů: 18
    25.8. 14:11 | Komunita

    Firefox 157 přinese zapnutou podporu rastrového grafického formátu JPEG XL. Založena je na v Rustu napsané implementaci jxl-rs používané i v Chrome a Chromiu.

    Ladislav Hagara | Komentářů: 0
    25.8. 02:11 | Nová verze

    Vanilla OS 3 „Reunion“ byl vydán. Tato na Debianu „Sid“ založená desktopová distribuce s transakčními aktualizacemi „neměnného“ základního systému (ABRoot) nově podporuje architekturu arm64 (vedle x86-64), podporuje reprodukovatelné sestavení většiny balíčků a vylepšuje systémové nástroje. Vlastní meta-správce balíčků APX nyní používá Distrobox v2 a je dostupný i pro jiné distribuce.

    |🇵🇸 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (29%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2501 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: 317×
    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.