Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 162 (pdf).
Sdružení CZ.NIC, správce české národní domény, zveřejnilo Domain Report za rok 2025 s klíčovými daty o vývoji domény .CZ. Na konci roku 2025 bylo v registru české národní domény celkem 1 515 860 s koncovkou .CZ. Průměrně bylo měsíčně zaregistrováno 16 222 domén, přičemž nejvíce registrací proběhlo v lednu (18 722) a nejméně pak v červnu (14 559). Podíl domén zabezpečených pomocí technologie DNSSEC se po několika letech stagnace výrazně
… více »Google představil telefon Pixel 10a. S funkci Satelitní SOS, která vás spojí se záchrannými složkami i v místech bez signálu Wi-Fi nebo mobilní sítě. Cena telefonu je od 13 290 Kč.
Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Fedora 43 Asahi Remix s KDE Plasma už funguje na M3. Zatím ale bez GPU akcelerace. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.
Red Hat představil nový nástroj Digital Sovereignty Readiness Assessment (GitHub), který organizacím umožní vyhodnotit jejich aktuální schopnosti v oblasti digitální suverenity a nastavit strategii pro nezávislé a bezpečné řízení IT prostředí.
BarraCUDA je neoficiální open-source CUDA kompilátor, ale pro grafické karty AMD (CUDA je proprietární technologie společnosti NVIDIA). BarraCUDA dokáže přeložit zdrojové *.cu soubory (prakticky C/C++) přímo do strojového kódu mikroarchitektury GFX11 a vytvořit tak ELF *.hsaco binární soubory, spustitelné na grafické kartě AMD. Zdrojový kód (převážně C99) je k dispozici na GitHubu, pod licencí Apache-2.0.
Podvodné reklamy na sociálních internetových platformách, jako je Facebook, Instagram nebo X, vytvořily loni v Česku jejich provozovatelům příjmy 139 milionů eur, tedy zhruba 3,4 miliardy korun. Proti roku 2022 je to nárůst o 51 procent. Vyplývá to z analýzy Juniper Research pro společnost Revolut. Podle výzkumu je v Česku zhruba jedna ze sedmi zobrazených reklam podvodná. Je to o 14,5 procenta více, než je evropský průměr, kde je podvodná každá desátá reklama.
Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.6 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.
Czkawka a Krokiet, grafické aplikace pro hledání duplicitních a zbytečných souborů, byly vydány ve verzi 11.0. Podrobný přehled novinek v příspěvku na Medium. Od verze 7.0 je vedle frontendu Czkawka postaveného nad frameworkem GTK 4 vyvíjen nový frontend Krokiet postavený nad frameworkem Slint. Frontend Czkawka je už pouze v udržovacím módu. Novinky jsou implementovány ve frontendu Krokiet.
Jiří Eischmann na svém blogu publikoval článek Úvod do MeshCore: "Doteď mě radioamatérské vysílání úplně míjelo. Když jsem se ale dozvěděl, že existují komunity, které svépomocí budují bezdrátové sítě, které jsou nezávislé na Internetu a do značné míry taky elektrické síti a přes které můžete komunikovat s lidmi i na druhé straně republiky, zaujalo mě to. Když o tom přede mnou pořád básnili kolegové v práci, rozhodl jsem se, že to zkusím taky.
… více »Lokalizácia rozšírení, ako aj samotnej aplikácie, sa vykonáva dvoma spôsobmi. Prvý z nich využíva XML entity a používa sa pri preklade statického textu v XUL súboroch (ale aj iných XML súboroch).
Druhý spôsob je určený na preklad textov, ktoré ovláda JavaScript.
Tieto texty sú uložené vo formáte podobnom Java property sheetom. Do XUL
súborov sa dostávajú pomocou XUL tagu <stringbundle>.
Všetky lokalizované texty sa vkladajú do adresárov, ktoré prislúchajú jednotlivým jazykom.
chrome/
|- content/
|- locale/
: |- cs-CZ/
|- en-US/
|- sk-SK/
:
O lokalizácii musíme Firefoxu povedať. To urobíme v súbore install.rdf:
<em:file>
< Description about="urn:mozilla:extension:file:abc6.jar">
<em:package>content/</em:package>
<em:skin>skin/classic/</em:skin>
<em:locale>locale/cs-CZ/</em:locale>
<em:locale>locale/en-US/</em:locale>
<em:locale>locale/sk-SK/</em:locale>
</Description>
</em:file>
V každom adresári s lokalizovanými textami sa musí nachádzať súbor
content.rdf, ktorý určuje, pre aký jazyk je lokalizácia určená. V
nasledujúcom príklade deklarujem preklad do českého jazyka (cs-CZ):
<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:chrome="http://www.mozilla.org/rdf/chrome#">
<Seq about="urn:mozilla:locale:root">
<li resource="urn:mozilla:locale:cs-CZ"/>
</Seq>
<Description about="urn:mozilla:locale:cs-CZ">
<chrome:packages>
<Seq about="urn:mozilla:locale:cs-CZ:packages">
<li resource="urn:mozilla:locale:cs-CZ:abc6"/>
</Seq>
</chrome:packages>
</Description>
</RDF>
Firefox vyberie jeden z adresárov, ktorý zodpovedá nastaveniam
prehliadača a ten sprístupní rozšíreniu cez známy pseudo protokol
chrome:. Chrome, ako sme mali možnosť pochopiť z tutoriálu,
sprístupňuje vnútorné dáta aplikácie Mozilly.
Ak sa na našom dialógu (alebo inom XUL okne) nič dynamicky nemení, môžeme na preklad textu využiť prirodzený mechanizmus XML - entity. Entity v XML súboroch môžeme substituovať a namiesto nich nám XML parser doplní text, ktorý reprezentujú:
<xmltag xmlatribút="&xmlentita1;">
Text &xmlentita2; zvyšok textu.
</xmltag>
Entity sú definované špeciálnym tagom <!ENTITY> priamo v XML súbore, alebo v externom DTD súbore.
Pri lokalizácii rozšírenia vložíme všetky entity, ktoré reprezentujú lokalizované texty, do DTD súborov. DTD súbory umiestníme do adresárov s lokalizovanými textami. DTD musí byť uložené v kódovaní UTF-8. Tu je ukážka:
Lokalizované texty - chrome/locale/jazyk/abc6settings.dtd:
<!ENTITY abc6.settings.show_url "Zobraz adresu odkazu">
<!ENTITY abc6.settings.sort_links "Zoraďovať odkazy:">
...
XUL súbor - chrome/content/abc6settings.xul:
<?xml version="1.0"?>
<!DOCTYPE dialog SYSTEM "chrome://abc6/locale/abc6settings.dtd">
...
<label value="&abc6.settings.sort_links;"/>
...
Všimnite, si, že v ceste k DTD súboru sme vynechali adresár jazyka. Ten vyberie Firefox sám.
Ak potrebujeme v XUL okne dynamicky meniť text JavaScriptom, musíme do
XUL súboru nechať načítavať textové súbory podobné Java property sheetom.
Do XUL súboru ich vložíme tagom <stringbundle>. Ten by sa mal
nachádzať v tagu <stringbundleset> a to čisto z technických dôvodov.
Tu je názorná ukážka:
Stringbundle súbor - chrome/locale/jazyk/subor.properties:
xyz_text_1 = Prv\u00e1 text
xyz_text_2 = Text \u010d\u00edslo dva.
XUL súbor - chrome/content/súbor.xul:
...
<stringbundleset>
<stringbundle id="localStrs" src="chrome://xyz/locale/subor.properties">
</stringbundleset>
<label id="label1"/>
...
Súbor s JavaScriptom - chrome/content/súbor.js:
function func() {
var localized = document.getElementById("localStrs");
var label1 = document.getElementById("label1");
label1.value = localized.getText("xyz_text_1");
}
V lokalizovaných textoch by nemala byť použitá diakritika. Nahradiť ju treba kódmi UTF-8. Každý kód znaku UTF-8 má tvar \uXXXX, kde X je hexadecimálna číslica (0-9, alebo a-f). XXXX je kód znaku v tabuľke UTF-8.
V ukážkovom kóde JavaScriptu funkcia func() zobrazí text označený v súbore s prekladom ako "xyz_text_1".
Ak chcete vidieť lokalizáciu pomocou DTD v akcii, stiahnite si Tutoriál AbcLinuxu.cz číslo 6. V nasledujúcom dieli použijem aj preklad pomocou <stringbundle>. Na domácu úlohu skúste nájsť iné využitie pre DTD súbory v rozšírení.
Dnes sme prebrali poslednú dôležitú tému tohto seriálu - Lokalizáciu. Toto bol posledný teoretický diel seriálu.
Sľub z minulého dielu som nedodržal a bočný panel nášho tutoriálu som nenahradil XUL stránkou. Nasledujúci článok bude krátka referenčná príručka dôležitých XUL elementov. Bočný panel preto nahradím za XUL súbor v ďalšom diele.
Dúfam, že seriál vám dal dostatok vedomostí, aby ste mohli technológie Mozilly využiť v praxi a profitovať z nich. A to úplne zadarmo.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
<script type="application/x-javascript" src="chrome://global/content/strres.js"/>
a v javascriptu načítám
var messageBundle = srGetStrBundle("chrome://myext/locale/myext.properties");
Hezký seriál :)