Nový ovladač Steam Controller jde do prodeje 4. května. Cena je 99 eur.
Greg Kroah-Hartman začal používat AI asistenta pojmenovaného gkh_clanker_t1000. V commitech se objevuje "Assisted-by: gkh_clanker_t1000". Na social.kernel.org publikoval jeho fotografii. Jedná se o Framework Desktop s AMD Ryzen AI Max a lokální LLM.
Ubuntu 26.10 bude Stonking Stingray (úžasný rejnok).
Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.3.0. S experimentální podporou FLTK 1.4. S příkazem dilloc pro ovládání prohlížeče z příkazové řádky. Vývoj prohlížeče se přesunul z GitHubu na vlastní doménu dillo-browser.org (Git).
Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Vývojáři v přehledu vypíchli vylepšenou instalaci, podporu senzoru okolního světla, úsporu energie, opravy Bluetooth nebo zlepšení audia. Vývoj lze podpořit na Open Collective a GitHub Sponsors.
raylib (Wikipedie), tj. multiplatformní open-source knihovna pro vývoj grafických aplikací a her, byla vydána ve verzi 6.0.
Nové verze AI modelů. Společnost OpenAI představila GPT‑5.5. Společnost DeepSeek představila DeepSeek V4.
Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 164 (pdf) a Hello World 29 (pdf).
Bylo oznámeno, že webový prohlížeč Opera GX zaměřený na hráče počítačových her je už také na Flathubu and Snapcraftu.
Akcionáři americké mediální společnosti Warner Bros. Discovery dnes schválili převzetí firmy konkurentem Paramount Skydance za zhruba 110 miliard dolarů (téměř 2,3 bilionu Kč). Firmy se na spojení dohodly v únoru. O část společnosti Warner Bros. Discovery dříve usilovala rovněž streamovací platforma Netflix, se svou nabídkou však neuspěla. Transakci ještě budou schvalovat regulační orgány, a to nejen ve Spojených státech, ale také
… více »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ů...
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 :)
print _("Hello %s") %(green("world"))
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.
def colorize(text):
return text.replace("<green>", "[zelená]").replace("</green>", "[/zelená]")
kde to v těch [ ] jsou escape sekvence daných barev... ?
colorize by provedla parsování těchto řetězců a podle tagů by volala příslušné funkce - čili asi něco jako HTML.
barvy = { '<green>': '\escape sekvence zelené', ... atd }
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).
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/>...")
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 :)
Tiskni
Sdílej: