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 10:22 | Humor

    Connor Byrne z USA používal pro přihlašování na svůj iPhone 13 s iOS 18 heslo obsahující háček. Po aktualizaci na iOS 26.4 se už ale do telefonu nepřihlásí. Při přihlašování nelze tento háček zadat. Apple jej prostě odstranil [The Register].

    Ladislav Hagara | Komentářů: 12
    dnes 03:11 | Nová verze

    Linus Torvalds vydal jádro Linux 7.0. Podrobný výčet změn je ke zhlédnutí na stránce Kernel Newbies, stručné výběry v LWN (část první, druhá).

    |🇵🇸 | Komentářů: 1
    dnes 02:44 | Komunita

    Na čem aktuálně pracují vývojáři GNOME? Pravidelný přehled novinek v Týden v GNOME. Vypíchnout lze novou verzi 2026.1 přehrávače hudby Amberol (Flathub).

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

    Byla vydána verze 12.0 s kódovým jménem Ecne linuxové distribuce Trisquel GNU/Linux. Založena je na Ubuntu 24.04 LTS a podporována bude do roku 2029. Trisquel patří mezi svobodné distribuce doporučované Nadací pro svobodný software (FSF).

    Ladislav Hagara | Komentářů: 0
    včera 05:33 | Nová verze

    Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 9. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    11.4. 18:33 | Komunita

    Libre Graphics Meeting 2026, tj. čtyřdenní konference a setkání vývojářů a uživatelů svobodných a otevřených grafických softwarů, proběhne od 22. do 25. dubna v Norimberku. Dění lze sledovat na Mastodonu.

    Ladislav Hagara | Komentářů: 0
    11.4. 03:11 | Zajímavý software

    Vývojář Alexandre Gomes Gaigalas na GitHubu zveřejnil c89cc.sh, parser a kompilátor jazyka C89 napsaný v pouhém jediném skriptu o přibližně 8000 řádcích čistého bashe (bez dalších externích závislostí), který generuje ELF64 binárky pro x86-64. Jedná se o velmi jednoduchý kompilátor, který nepodporuje direktivy #include a dokonce ani funkci printf (lze použít puts), všechny dostupné deklarace lze nalézt v proměnné _BUILTIN_LIBC na konci skriptu. Skript je volně dostupný pod ISC licencí.

    » FIDESZ🧡! « | Komentářů: 10
    10.4. 23:33 | Nasazení Linuxu

    Francouzská vláda oznámila, že v rámci strategie 'digitální suverenity' zahájí 'přechod od systému Windows k počítačům s operačním systémem Linux' (sa sortie de Windows au profit de postes sous système d'exploitation Linux). DINUM (meziresortní ředitelství pro digitální technologie) požádalo ministerstva, aby do podzimu 2026 vypracovaly konkrétní plány nasazení Linuxu. Francie již dříve migrovala části státní správy na otevřená řešení.

    » FIDESZ🧡! « | Komentářů: 38
    10.4. 05:22 | IT novinky

    Nezisková organizace Electronic Frontier Foundation (EFF) hájící občanské svobody v digitálním světě po téměř 20 letech opouští platformu X (dříve Twitter). Na platformách Bluesky, Mastodon, LinkedIn, Instagram, TikTok, Facebook, Threads a YouTube zůstává.

    Ladislav Hagara | Komentářů: 6
    10.4. 03:33 | Nová verze

    Terminálový textový editor GNU nano byl vydán ve verzi 9.0. Vylepšuje chování horizontálního posouvání pohledu na dlouhé řádky a chování některých klávesových zkratek. Více v seznamu změn.

    |🇵🇸 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (1%)
     (12%)
     (30%)
     (3%)
     (6%)
     (2%)
     (15%)
     (24%)
    Celkem 1291 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Python a gettext

    21.8.2005 17:19 trancelius | skóre: 22
    Python a gettext
    Přečteno: 200×
    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.