Výzkumníci ukazují, jak mohou otevřené tunely a IPv6 Extension Headers synchronizovat pakety do krátkých provozních špiček. V kontrolovaném experimentu naměřili přes 180násobnou koncentraci paketového toku vůči průměrné rychlosti odesílání — nikoli 180násobné zvětšení objemu dat. Článek obsahuje metodiku, limity měření i mitigace pro GRE, IPIP a další tunely.
Po velkém úspěchu prvního MobileLinux Hackdaye se vracíme do Českých Budějovic s druhým ročníkem. V pátek 30. října 2026 od 10:00 se v prostorách Jihočeské univerzity uskuteční Embedded & MobileLinux Hackday #2. Těšit se můžete na témata jako Immutable Linux na telefonech (BengalOS), U-Boot a upstream vývoj, AI optimalizace pro embedded systémy nebo otevřený hardware. Nebude chybět praktické hackování, sdílení zkušeností a možnost … více »
Dne 21. října 2026 vydal projekt Node.js bezpečnostní aktualizace opravující deset zranitelností, včetně jedné umožňující potenciální vzdálené spuštění kódu (RCE). Nejzajímavější je CVE-2026-111497, chyba dekodéru Brotli, kterou objevili výzkumníci využívající OpenAI Codex Security. Chyba je v nativním dekodéru Brotli, nikoli v samotném JavaScriptu. Speciálně vytvořený komprimovaný vstup způsobí, že dekodér zamění
… více »Francouzský výrobce kabelů Nexans upozornil na napjaté dodávky elektrických kabelů. Výstavba nové výrobní linky pro některé typy kabelů může trvat přibližně tři roky. Datacentra potřebují rozsáhlé nízkonapěťové a středněnapěťové rozvody. Poptávka roste současně s modernizací elektrických sítí. Někteří odběratelé proto uzavírají výrazně delší dodavatelské smlouvy [Reuters].
Představena byla (𝕏) virtuální platforma FLYBENCH FPV, která nováčky provede zapojením a konstrukcí dronů.
Google Chrome 156 byl prohlášen za stabilní. Přehled novinek v poznámkách k vydání. Opraveno bylo 353 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Indická společnost eMudhra po bezpečnostním incidentu, tj. kompromitaci soukromých klíčů osmi mezilehlých certifikátů své certifikační autority, opouští globální byznys s SSL/TLS certifikáty.
Dle Phoronixu zveřejnila společnost Trend Micro prostřednictvím programu Zero Day Initiative (ZDI) několik hlášení bezpečnostních zranitelností přímo na veřejném mailing listu LKML, přestože některé chyby dosud nemají opravu začleněnou do hlavní větve jádra. Mezi hlášenými problémy jsou dvě zranitelnosti s hodnocením CVSS 9.0, týkající se SMB Direct a KSMBD, které mohou umožnit vzdálené spuštění kódu. Další hlášení se týkají … více »
Správce hesel KeePassXC byl vydán ve verzi 2.8.0. Přechází na Qt 6, podporuje vkládání hesel s Waylandem, rychlé odemykání pomocí Polkitu nebo možnost nastavení klávesových zkratek (seznam změn).
Databáze DuckDB (Wikipedie) byla vydána ve verzi 2.0.0 LTS. S kódovým názvem Cinnamon Teal (čírka skořicová). S vyladěným protokolem Quack.
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