Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).
Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.
Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.
Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevily v únicích dat a případně se nechat na další úniky upozorňovat.
Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."
Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.
Minulé pojednání jsem věnoval systému lokalizace přes PO soubory. Toto je věnováno dalšímu systému lokalizace, který používá např. KDE a další aplikace založené na Qt knihovnách.
Lokalizační soubory s příponou ts používá jako výchozí zdroj pro překlady Qt. V podstatě je to XML dokument ve kterém se - na rozdíl od po souboru - každý řetězec vyskytuje v určitém kontextu. Znamená to v podstatě tolik, že zatím co u lokalizace přes gettext stačí přeložit původní řetezec pouze jednou a systém pak nahrazuje u aplikace všechny jeho výskyty jedním překladem, tak v případě ts je nutno přeložit každý řetězec samostatně. Má to však i svou výhodu. Pro různý kontext lze použít různý překlad téhož řetězce originálního textu, kdežto u po je třeba dobře promyslet nejenom obsah překládaného ale i cílového textu. (Možná si někteří vzpomenou na žabomyší spor, který se týkal překladu tlačítka "Budiž" v Gnome)
Výchozí ts soubor se generuje podobně jako u gettextu z předhozeného seznamu souborů
lupdate `find ./zdroj_programu -type f | egrep -e '(c$|h$|cpp$)'` -ts soubor_k_překladu.ts
Hotový překlad se pak převede do binární formy, což je soubor, který má příponu qm. A to tak že buď otevřu .ts soubor v aplikaci linguist a zvolím v menu Soubor -> Release, nebo jej převedu konzolovým nástrojem lrelease
Na rozdíl od gettextu, lokalizace přes Qt nemá pevně dané umístění lokalizačních souborů, ani jejich pojmenování. Zpravidla záleží na programátorovi, kde bude aplikace tyto soubory hledat a pod jakým názvem.
S qm soubory se nejspíš setkáte v adresářích jednotlivých aplikací v /usr/share ale není to pravidlem. Například poměrně známá aplikace Scribus si je rve do adresáře /usr/lib (fuj!). Také pojmenování bývá rozmanité. někdy je místo názvu jen kód cílového jazyka. Někdy je kód jazyka mezi názvem aplikace a příponou qm, atd.
Jak už jsem naznačil u po souborů, u ts je výhodou že u řetězce zůstává zachován kontext, a tak překlad může být výstižnější. Na druhou stranu se snadno může stát, že se na nějaký řetězec pozapomene. Dosti výraznou nevýhodou je fakt, že z qm verzí Qt>=3 se ts soubor zpátky vykuchat nedá.
Tiskni
Sdílej:
find
a spol a shellové gymnastiky nabízí Trolltech čistší řešení:
do projektového souboru (mujprojekt.pro
) dát toto:TRANSLATIONS += preklad_cs.ts \ preklad_de.ts \ preklad_ru.ts \ preklad_ar.ts
lupdate mujprojekt.pro
, a protože v .pro souboru je vždy seznam všech zdrojáků (a ten .pro soubor se seznamem se dá vygenerovat pomocí spuštění qmake -project
v projektovém adresáři), tak lupdate
ví, odkud má překládané řetězce extrahovat a které překladové soubory vytvořit (nebo updatovat). A s releasem (vytvořením binárních .qm variant) je to stejné:
lrelease mujproject.pro
int main(int argc, char *argv[]) { QApplication app(argc, argv); QTranslator translator; translator.load("mujprogram_cs"); app.installTranslator(&translator); ... }A pokud se předpokládá
LC_LANG
-aware chování, tak prostě:
... translator.load(QString ("mujprogram_") + QLocale::system().name());