JuiceFS dospěl do verze 1.0. Jedná se o distribuovaný souborový systém kompatibilní s POSIX, HDFS a S3. Architektura JuiceFS sestává ze 3 částí: JuiceFS Client, Data Storage (S3, Azure Blob, OpenStack Swift, Ceph, MinIO, …) a Metadata Engine (Redis, TiKV, MySQL/MariaDB, PostgreSQL, SQLite, …). Zdrojové kódy JuiceFS jsou k dispozici na GitHubu pod licencí Apache 2.0.
O víkendu probíhá online The Raku Conference 2022, tj. konference věnovaná programovacímu jazyku Raku.
Včera skončila bezpečnostní konference Black Hat USA 2022 (Twitter) a začala bezpečnostní konference DEF CON 30 (Twitter). V rámci Black Hat byly vyhlášeny výsledky letošní Pwnie Awards (Twitter). Pwnie Awards oceňují to nejlepší, ale i to nejhorší z IT bezpečnosti (bezpečnostní Oscar a Malina v jednom).
Vývojáři PostgreSQL oznámili vydání verzí 14.5, 13.8, 12.12, 11.17, 10.22 a 15 Beta 3. Opraveno je více než 40 chyb a také zranitelnost CVE-2022-2625. Upstream podpora verze 10 končí 10. listopadu letošního roku.
Byla vydána verze 1.63.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Bylo vydáno Ubuntu 22.04.1 LTS, tj. první opravné vydání Ubuntu 22.04 LTS s kódovým názvem Jammy Jellyfish.
Microsoft Fluent Emoji jsou nově k dispozici na GitHubu pod licencí MIT. Více v článku na Medium.
O víkendu proběhla v Kolíně nad Rýnem demopárty Evoke 2022. Publikována byla prezentovaná dema. Upozornit lze na Area 5150 (YouTube) běžící na IBM PC s procesorem Intel 8088 běžícím na 4,77 MHz a CGA.
smenu, nástroj pro příkazový řádek pro generování možností a potvrzení výběru, dospěl do verze 1.0.0.
Byla potvrzena zranitelnost CVE-2021-46778 aneb SQUIP (Scheduler Queue Usage via Interference Probing) v procesorech AMD s mikroarchitekturou Zen 1, Zen 2 a Zen 3. Detaily v publikovaném paperu.
Ak nemáme alebo nechceme používať na preklad grafické programy, môžeme prekladať aj pomocou textového editora a nástrojov GNU gettext.
Pred samotným prekladom ešte pár slov k nastaveniu národného prostredia. V distribúciách založených na Debian GNU/Linuxe zistíme aktuálne nastavené národné prostredie príkazom locale
:
stano@nb-valasek:~$ locale
LANG=sk_SK.UTF-8
LANGUAGE=sk_SK.UTF-8
LC_CTYPE="sk_SK.UTF-8"
LC_NUMERIC="sk_SK.UTF-8"
LC_TIME="sk_SK.UTF-8"
LC_COLLATE="sk_SK.UTF-8"
LC_MONETARY="sk_SK.UTF-8"
LC_MESSAGES="sk_SK.UTF-8"
LC_PAPER="sk_SK.UTF-8"
LC_NAME="sk_SK.UTF-8"
LC_ADDRESS="sk_SK.UTF-8"
LC_TELEPHONE="sk_SK.UTF-8"
LC_MEASUREMENT="sk_SK.UTF-8"
LC_IDENTIFICATION="sk_SK.UTF-8"
LC_ALL=
Nastavený je teda jazyk sk a krajina SK a kódová stránka na UTF-8, čo je štandardná kódová stránka v Ubuntu systéme. Podrobnejší popis pre Debian GNU/Linux je možné nájsť na stránke Debian reference - 9.7 Localization (l10n).
Ak chceme spustiť program v inom, ako aktuálne nastavenom jazyku, spustíme ho nasledovne: LANG=nl qalculate-gtk
; tento príkaz napríklad spustí program qalculate-gtk v nórčine. Prípadne príkaz "LANG=C program
" spustí program v originálnom/anglickom preklade. Takto môžeme súčasne spustiť rovnaký program v rôznych jazykoch.
Rovnako je možné celé prostredie priamo nastaviť do rôznych jazykov. Napríklad príkazom LANGUAGE="sk_SK:sk:cs_CS:cs:de:en_GB:en
v súbore /etc/environment
spôsobíme, že každý spúšťaný program skúsi nájsť slovenčinu, ak ju nenájde, pokračuje druhým, tretím jazykom...
Adresár na výsledné preklady sme už spomínali vyššie, takže:
Už hotové preklady nemusia obsahovať všetky textové reťazce, ktoré sú v aktuálnej verzii programu. Preto je lepšie začať vygenerovaním prázdnej jazykovej verzie z pot šablóny príkazom msginit
. Program Qalculate ale neobsahuje pot šablónu, takže si ju vygenerujeme príkazom
xgettext -f ./po/POTFILES.in -o ./po/messages.po
Následne je možné použiť príkaz msginit
alebo premenovať messages.po
na sk.po
. Program msginit by mal uľahčiť prácu a automaticky nastaviť hlavičky .po súboru podľa vášho prostredia.
Keď toto všetko vieme a máme sk.po
súbor, poďme zaktualizovať hlavičky po súboru tak, aby sme sa mohli vrhnúť na samotný preklad:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-08-06 17:43-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
Kompletný preklad hlavičiek:
# Translation of qalculate-gtk.po to Slovak
# This file is distributed under the same license as the Qalculate package.
# Copyright (C) 2003-2006 Niklas Knutsson (nq@altern.org).
# Stanislav Valasek <valasek@fastmail.fm>, 2006.
#
msgid ""
msgstr ""
"Project-Id-Version: qalculate-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-08-06 17:43-0400\n"
"PO-Revision-Date: 2006.05.08 13:33\n"
"Last-Translator: Stanislav Valasek <valasek@fastmail.fm>\n"
"Language-Team: sk <sk-i18n@linux.sk>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
Obsah týchto hlavičiek dokážu programy GTranslator i KBabel veľmi pohodlne upraviť podľa vami zadaných dát. V GTranslatore ich zadávame v nastaveniach:
KBabel nás k nastaveniu vyzve pri prvom spustení a je možná ich neskoršia úprava.
Pri uložení sa hlavička po súboru automaticky zaktualizuje zadanými údajmi o prekladateľovi a pri každej aktualizácii prekladu v programe GTranslator alebo KBabel sa automaticky aktualizuje dátum poslednej modifikácie.
Ešte pred prekladom pár slov k formátu .po súboru, ktorý obsahuje samotné texty v nasledujúcej forme:
#: panel/panel_config.c:1050
#, fuzzy
msgid "Color to use:"
msgstr "Použité farby:"
Prvý riadok obsahuje názov zdrojového súboru a riadok, kde sa nachádza prekladaný text. Druhý riadok nie je povinný a môže obsahovať komentáre alebo direktívy, ako napríklad direktívu fuzzy alebo c-format. Direktívy pridáva prekladateľ alebo sú pridané automaticky pri generovaní .po súboru. Direktíva fuzzy znamená, že preklad textu nie je istý a treba ho overiť. Takto označené hodnoty sa pri štandardnom generovaní mo súboru nedostanú do binárnej podoby prekladu. Tretí riadok obsahuje pôvodný a štvrtý riadok preložený text. Úplný popis formátu je na stránkach GNU gettext - The Format of PO Files.
Aby sme vyskúšali ako "hladko" funguje prekladanie a test výsledku, preložíme si texty priamo v úvodnom dialógu: "Keypad", "History" a text
tooltipu "Convert units in result". Tieto texty sa nacháchadzajú v sk.po
súbore a tu je ich doplnenie o preklad:
#: data/main.glade:1886
msgid "Convert units in result"
msgstr "Vo výsledku konvertuj jednotky"
#: data/main.glade:1967 data/main.glade:2980
msgid "Keypad"
msgstr "Klávesnica"
#: data/main.glade:2006 data/main.glade:3035
msgid "History"
msgstr "História"
Poznámka - na prekladanie používajte textové editory, ktoré dokážu správne určiť a uložiť kódovanie editovaného súboru. Toto spĺňajú najčastejšie používané editory ako: gedit, Kate, Emacs, vim a mnohé ďalšie.
Následne spustíme už známe príkazy na vygenerovanie prekladu a spustíme program.
msgfmt -v -o ./qalculate-gtk.mo ./sk.po
3 preložené správy, 566 nepreložených správ.
stano@nb-valasek:/qalculate-gtk-0.9.4/po$ sudo cp qalculate-gtk.mo /usr/share/locale/sk/LC_MESSAGES/
stano@nb-valasek:/qalculate-gtk-0.9.4/po$ qalculate-gtk
A výsledok:
Počas prekladania môžete naraziť na špeciálne formátovanie msgstr
reťazcov. V dialógovej aplikácii sa stretnete s tzv. akceleračnými klávesami, ktoré určujú, pomocou ktorého znaku v reťazci sa dá daná funkcia zvoliť klávesovou skratkou ALT+klávesa. Je nutné si dávať pozor, aby dva reťazce v jednom menu nemali rovnaké akceleračné klávesy. Malý príklad aj s chybou - rovnaké akceleračné klávesy.
#: data/main.glade:1608
msgid "_Help"
msgstr "_Pomocník"
#: data/main.glade:1617
msgid "_Contents"
msgstr "_Obsah"
#: data/main.glade:1639
msgid "_About"
msgstr "_O programe"
A výsledok:
Na nasledujúcom texte je možné ukázať dve veci:
#: data/main.glade:2341
msgid "x<sup>2</sup>"
msgstr "x<sup>2</sup>"
msgen
, ktorý automaticky prekopíruje z .po alebo .pot súboru všetky anglické reťazce do preložených. Po spustení príkazu
msgen sk.po -o sk-new.po
dostaneme súbor sk-new.po
, v ktorom máme všetky reťazce z pôvodného prekladu prekopírované do nového prekladu. Nevýhodou je, že stratíme informáciu o tom, koľko reťazcov ešte nie je preložených.
Urýchlenie a zjednodušenie prekladu je možné dosiahnuť tým, že zo všetkých našich .po súborov extrahujeme preložené texty do slovníka, ktorý následne používame na prvotný preklad ešte nepreloženého súboru a až potom preklad dokončujeme. Viac informácií je na stránke GNU gettext - Usage of Translation Compendia. Niektoré prekladateľské tímy, ako napríklad GNOME a KDE majú takéto slovníky už pripravené a jednotliví prekladatelia ich len dopĺňajú.
Okrem vyššie spomenutého postupu prekladu programu pomocou nástrojov GNU gettext sú niektoré slobodné programy prekladané iným spôsobom. Typickým príkladom je preklad balíkov Mozilla suite pomocou špeciálneho programu Mozilla translator, alebo špeciálny postup prekladu balíka OpenOffice.org, kde prekladatelia síce na preklad používajú .po súbory, ale sú špeciálne generované zo zdrojových kódov.
Samostatnou kapitolou je preklad dokumentácie, kde sa spôsob prekladu líši podľa toho, o akú dokumentáciu ide.
LANG=nl qalculate-gtk
, tento príkaz napríklad spustí program qalculate-gtk v nórčine. Prípadne príkaz LANG=C program
spustí program v originálnom/anglickom preklade.
Takto si prípadne môžete súčasne spustiť rovnaký program v rôznych jazykoch.LANGUAGE="sk_SK:sk:cs_CS:cs:de:en_GB:en
v súbore /etc/environment
spôsobíte, že každý spúšťaný program skúsi nájsť slovenčinu, ak ju nenájde, pokračuje druhým, tretím jazykom...Nástroje: Tisk bez diskuse
Tiskni
Sdílej: