Byl vydán Debian 13.5, tj. pátá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.14, tj. čtrnáctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.
Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].
Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.
Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.
Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.
Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.
Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.
Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.
Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.
Poskytnutí webového rozhraní pro překládání umožní každému se okamžitě zapojit do překladů. Toto s sebou přináší mnohé výhody, ale i rizika, která musí každý projekt zvážit. Kromě toho, zda vůbec nabízet webové rozhraní pro překlady, vyvstávají i otázky, jak moc omezovat přístup do tohoto systému. Například v phpMyAdminovi se nám osvědčilo mít maximálně otevřený systém, kde každý může snadno opravit případné problémy.
Ale zpět k výhodám a nevýhodám překládání přes web. Celkem zřejmou výhodou je snadný přístup překladatelů k úpravám – pokud najdou v programu nějaký chybně přeložený text, stačí otevřít webový prohlížeč a hned opravit aktuální překlad. Odpadá tedy starost se stahováním aktuálního souboru s překlady a odesílání opraveného zpět. Kromě toho může webová aplikace vynucovat i určitá pravidla pro překlady a tím zvýšit jejich kvalitu.
Mezi největší nevýhody opět patří otevřenost systému – hrozí nekvalitní překlady, musí se počítat s rizikem vandalstvím nebo spamu. Největším problémem jsou asi nekvalitní překlady, ale právě díky snadnému přístupu dojde k jejich rychlému opravení (podobně jako třeba na wiki). Nevýhodou rovněž může pro některé překladatele být používání jiné aplikace, než na kterou jsou zvyklí. Proto by systém měl umožnit i stažení a nahrání celých souborů s překlady, aby tyto pokročilé překladatele neomezoval.
Weblate vznikl v první polovině tohoto roku primárně pro překládání phpMyAdmina, nicméně od té doby ho používá několik dalších projektů. Hlavní motivací pro jeho napsání byly neustálé problémy s Pootle, který jsme pro překlady v té době používali. Nejdříve jsme se samozřejmě snažili najít existující řešení, ale ukázalo se, že našim požadavkům nic nevyhovuje.
Hlavní požadavky a tudíž následně i základní funkcionalita pro Weblate by se daly shrnout do následujících bodů:
Nejvýznamnějším rozdílem se ukázal první bod – přímou integraci s Gitem žádná služba nebo software pro překládání nenabízí a jakýkoliv jiný způsob zaznamenání autorství by byl značně komplikovaný.
Po sepsání požadavků jsem koncem února začal psát a po velmi rychlém vydávání prvních verzí a testování na překladatelích phpMyAdmina vyšla začátkem května verze 1.0. Ta implementovala veškerou funkcionalitu, která byla od začátku plánována a přitáhla dostatek pozornosti i od jiných projektů (použití Weblate například zvažuje Wine). V první polovině července pak vyjde verze 1.1, která vylepšuje spolupráci s Gitem, přinese podporu pro aktualizaci fulltextového indexu samostatným procesem a opraví několik chyb.
Weblate je napsané pomocí frameworku Django a jeho instalace je v zásadě stejná jako pro další aplikace v Djangu. Nejdříve je potřeba nainstalovat všechny moduly, které Weblate používá:
Po stažení a rozbalení Weblate je potřeba upravit jeho nastavení v souboru settings.py. Minimálně budete muset nastavit připojení k databázi. Pro účely vyzkoušení můžeme použít například SQLite (což rozhodně není dobrý nápad pro produkční nasazení):
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3'
'NAME': 'weblate.db',
}
}
Poté je potřeba vytvořit tabulky v databázi, prvního uživatele a fulltextový index:
$ ./manage.py syncdb Creating tables ... Creating table auth_permission Creating table auth_group_permissions Creating table auth_group Creating table auth_user_user_permissions Creating table auth_user_groups Creating table auth_user Creating table django_content_type Creating table django_session Creating table django_site Creating table django_admin_log Creating table registration_registrationprofile Creating table trans_project Creating table trans_subproject Creating table trans_translation Creating table trans_unit Creating table trans_suggestion Creating table trans_check Creating table trans_dictionary Creating table trans_change Creating table trans_indexupdate Creating table lang_language Creating table accounts_profile_languages Creating table accounts_profile_secondary_languages Creating table accounts_profile You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no): yes Username (leave blank to use 'nijel'): nijel E-mail address: michal@cihar.com Password: Password (again): Superuser created successfully. Installing custom SQL ... Installing indexes ... Installed 0 object(s) from 0 fixture(s)
Nyní je již Weblate připraveno k běhu. Pro účely testování se můžeme spokojit s vestavěným serverem (pro produkční nasazení zvolíme například mod_wsgi nebo FastCGI rozhraní):
$ ./manage.py runserver Validating models... 0 errors found Django version 1.4, using settings 'weblate.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
Jak vidíme, Weblate nyní běží na adrese http://127.0.0.1:8000/ a můžeme ho začít používat.
Po otevření stránky ve webovém prohlížeči působí poněkud prázdně:
Přihlásíme se tedy (pomocí přihlašovacích údajů zadaných při instalaci) a přidáme projekt, který chceme překládat. My pro ukázku budeme používat ukázkový projekt Weblate-hello.
Otevřeme si tedy administrační rozhraní (na adrese http://127.0.0.1:8000/admin/, kde nejdříve vytvoříme projekt s popisem a základními informacemi o překladu a do něj přidáme podprojekt, který již bude obsahovat přímo soubory k překládání. U něj tedy uvedeme git repozitář, odkud se má stáhnout a masku souborů k překladu (v našem případě po/*.po). Po uložení podprojektu dojde automaticky k jeho stažení a načtení souborů s překlady do Weblate, takže to u větších projektů může trvat déle.
Nyní již na titulní stránce vidíme aktuální stav překladu a je možné na něm začít pracovat. Pokud chceme mít snadný přístup k jazyku, do kterého obvykle překládáme, je vhodné si ho nastavit v nastaveních, překlady do těchto se poté objevují na titulní stránce:
Hlavní funkcí Weblate je samozřejmě překládání, pojďme se tedy podívat jak takový překlad vypadá:
Jak vidíme, Weblate má podporu pro množné tvary překladu, a to i se zobrazením rovnice, podle které se počítají, takže překladatel si může ověřit, pro jaké počty se jaký tvar použije. Součástí zobrazovaných informací je i výskyt daného řetězce, včetně odkazu na zobrazení zdrojového kódu. Tím je překladateli umožněna kontrola, v jaké situaci se překlad použije.
Pod hlavní částí překladového okna ještě následují záložky s různými informacemi souvisejícími s překladem:
Zde například vidíme použití uživatelem definovaného slovníku, můžeme ale zobrazit třeba podobné řetězce nebo řetězce vyskytující se v okolí právě překládaného. Prostě cokoliv by překladatel mohl potřebovat.
Nyní již tedy můžeme začít překládat, nicméně je ještě potřeba, aby se překlady dostaly zpátky do hlavního repozitáře projektu, a naopak, aby se změny v hlavním repozitáři projevily ve Weblate.
Pro publikování změn jsou dvě možnosti – přidat Weblate právo zapisovat do repozitáře, nastavit adresu pro odesílání (push) u podprojektu a pro uživatele s patřičným oprávněním (ve výchozím nastavení všichni ve skupině Managers) se zpřístupní tlačítko pro odeslání změn.
Pokud nám tento přístup přijde jako moc riskantní, je možné exportovat Git repozitář, který Weblate používá k překladům a používat ho pro slučování změn.
Opačná cesta by měla být více automatizována, a proto Weblate nabízí snadnou možnost notifikace o změnách, stačí otevřít URL a Weblate stáhne změny v repozitáři a pokusí se je sloučit se svojí kopií. Pokud se sloučení nepodaří, správce serveru bude upozorněn mailem a je na něm, aby konflikty vyřešil (Weblate obsahuje nástroj pro minimalizaci konfliktů při práci s po soubory Gettextu). Kromě přímých upozornění pro jednotlivé (pod)projekty, umí Weblate i zpracovat i upozornění, která používá GitHub, a automaticky aktualizovat změněné repozitáře.
Nyní již umíme pomocí Weblate překládat a změny odeslat do hlavního repozitáře, ale to není vše co Weblate umí. V následujících odstavcích se podíváme na další zajímavé funkce, které mnohdy jiné nástroje postrádají.
Weblate umožňuje automaticky kontrolovat překlady a upozornit překladatele na možné chyby. Tyto kontroly jsou jen upozorněními, to znamená, že jejich porušení nezabrání překladateli v uložení změn a je možné je skrýt pro jednotlivé zprávy a typ kontroly.
Standardní sada kontrol obsahuje z velké části problémy, na které by si později stěžoval Gettext, tedy například chybné formátovací řetězce či chybějící nové řádky na začátku nebo konci překladu. Dále se kontroluje zachování interpunkce na konci věty (s přihlédnutím k různým jazykovým odlišnostem) nebo konzistence překladů mezi podprojekty.
Tyto kontroly je dále možné rozšířit vlastními napsanými v Pythonu.
Weblate pro načítání souborů s překlady používá Translate-toolkit, který podporuje mnoho běžně používaných formátů pro překlady (Gettext, Qt, Java, Windows, Symbian a další). Po opatchování je možné přidat i podporu pro Android.
Pokud zároveň potřebujete překládat více vývojových větví, oceníte automatickou propagaci překladů. Tato funkce automaticky synchronizuje překlad stejného řetězce mezi podprojekty (kde v každém můžete mít jinou vývojovou větev).
Při nahrání souboru se jím nepřepíše původní, ale jen se do něj zapíší veškeré překlady. Tímto se jednak minimalizují změny v souboru a zároveň je zaručeno, že soubor obsahuje aktuální katalog řetězců.
Weblate bylo napsáno po mnohaleté zkušenosti s používáním Pootle a jiných online překladů, takže byla snaha z každého vzít to dobré a vyhnout se problémům, na které jsme narazili. Samozřejmě Weblate není ideálním nástrojem pro všechny situace, ale to, co má dělat, dělá dobře. To dokazují i mnohá nasazení Weblate za jeho krátkou existenci.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
.
.
Obvykle jedna aplikace řeší jednu věc a tudíž je celkem jasné jestli pracuje s diskem nebo hlasitostí. Mnohem častější jsou spíš nejasné překlady nebo nehodící se do kontextu (případně se ani nemůžou hodit, protože ve spoustě programů se nepočítá s různými rody či jinými gramatickými odlišnostmi různých jazyků).
šlo by přidat aspoň možnost komentářů k překladům a tím i diskuse o tom, CO je vlastně za problém?+1 ať se takové věci nemusí řešit příště v diskusi na Ábíčku