Byla vydána nová verze 22.1.0, tj. první stabilní verze z nové řady 22.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.
X86CSS je experimentální webový emulátor instrukční sady x86 napsaný výhradně v CSS, tedy bez JavaScriptu nebo dalších dynamických prvků. Stránka 'spouští' assemblerovový program mikroprocesoru 8086 a názorně tak demonstruje, že i prosté CSS může fungovat jako Turingovsky kompletní jazyk. Zdrojový kód projektu je na GitHubu.
Po šesti letech byla vydána nová verze 1.3 webového rozhraní ke gitovým repozitářům CGit.
Byla vydána nová verze 6.1 linuxové distribuce Lakka (Wikipedie), jež umožňuje transformovat podporované počítače v herní konzole. Nejnovější Lakka přichází s RetroArchem 1.22.2.
Matematický software GNU Octave byl vydán ve verzi 11.1.0. Podrobnosti v poznámkách k vydání. Vedle menších změn rozhraní jsou jako obvykle zahrnuta také výkonnostní vylepšení a zlepšení kompatibility s Matlabem.
Weston, referenční implementace kompozitoru pro Wayland, byl vydán ve verzi 15.0.0. Přehled novinek v příspěvku na blogu společnosti Collabora. Vypíchnout lze Lua shell umožňující psát správu oken v jazyce Lua.
Organizace Apache Software Foundation (ASF) vydala verzi 29 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Ústavní soud na svých webových stránkách i v databázi NALUS (NÁLezy a USnesení Ústavního soudu) představil novou verzi chatbota využívajícího umělou inteligenci. Jeho posláním je usnadnit veřejnosti orientaci v rozsáhlé judikatuře Ústavního soudu a pomoci jí s vyhledáváním informací i na webových stránkách soudu, a to i v jiných jazycích. Jde o první nasazení umělé inteligence v rámci webových stránek a databází judikatury českých soudů.
Byla vydána nová verze 10.1 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnuta je podpora NanoPi Zero2 a balíček WhoDB.
Konference Otvorený softvér vo vzdelávaní, výskume a v IT riešeniach OSSConf 2026 proběhne od 1. do 3. července 2026 na Žilinské univerzita v Žilině: "Cieľom našej konferencie je poskytnúť priestor pre informovanie o novinkách vo vývoji otvoreného softvéru a otvorených technológií, o možnostiach využitia týchto nástrojov vo vede a vzdelávaní a taktiež poskytnúť priestor pre neformálne priateľské stretnutie užívateľov a priaznivcov
… více »Na to kolik ti je..vsechna cest..prvni slusnej ceskej serial o qt..
Jak je udělána lokalizace samotného Qt? Jde mi o to, jestli se aplikace musí starat o načtení například /usr/share/qt4/translations/qt_cs.qm sama, nebo to za ni udělá knihovna sama. Viděl jsem totiž programy (pravda, bylo to Qt3), které si s sebou táhly qt_*.qm, což mi moc systémové nepřišlo.
Nieco ako puzzle? Odporucam pozriet programik qtdemo. Je tam vela zaujimavych ukazok.
Na niečo také by sa dal použiť Qt Animation Framework, ale na takú pomerne jednoduchú vec mi to pripadá trochu overkill. Potom jak tu už niekto spomínal v qtdemo je dosť všeliakých ukážok...
Není mi jasná jedna věc: jestliže tvůj překlad obsahuje jen jeden záznam, jak je možné, že je lokalizovaný i samotný kalendář?
Nechce se mi teď hledat, jak nejrychleji a dočasně přepnout systém do češtiny, takže jen hádám, že komponenta kalendáře je ve skutečnosti přímo součást KDE a tím pádem je lokalizovaná podle systému a ne jak si člověk nastaví v aplikaci...
Nebo sis snad sám pro sebe lokalizoval Qt do češtiny?
Do článku bych ještě přidal zmínku, že Qt jako takové obsahuje taky spoustu textu připraveného k lokalizaci (tlačítka, chybové hlášky, atd.), proto je vhodné v nových aplikacích nahrát qm soubor i pro samotné Qt knihovny. Česká lokalizace zatím není dostupná, ale slovenská ano. Jednoduše tak učiníme přidáním kódu:
QTranslator qtTranslator;
if (qtTranslator.load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
app.installTranslator(&qtTranslator);
K tématu lokalizace bych už dodal jen, že je možné qm souborů loadnout libovolný počet, přičemž se vůbec nerozlišuje, který soubor přísluší k jaké části zdrojáku. Tzn. že uvnitř funkce tr (a jí podobných) se prochází seznam překladů od shora dolů dokud se nenarazí na první záznam, který je stejný jako řetězec předaný do tr. To představuje menší komplikaci v případě, kdy stejný text v jazyce programu (zpravidla anglický) chceme na různých místech přeložit jinak, např. Tlačítko "Set" přeložíme asi jako "Nastavit", kdežto třeba label "Set" před comboboxem třeba jako "Množina". Řešením je nastavit hodnotu i druhému argumentu funkce tr, samozřejmě pro jiný překlad jiný comment...
Jinak všechna čest, jen tak dál! (... na to kolik ti je
)
Toto je serial o Qt, nie KDE. V takom pripade su samozrejme nutne vlastne preklady (vacsinou nestaci prelozit len Yes, No ...). Ale zmienka o preklade samotneho Qt tu mohla byt. Inak suhlasim s tym, ze je to super serial.
Myslel jsem to tak, že Qt samotné asi neimplementuje celý widget kalendáře, ale má jen nějaký wrapper okolo nativní komponenty systému. Kalendář tedy vypadá na každé platformě jinak, ale nevím, hned večer to vyzkouším na widlích...
/usr/share/qt/translations
Apropo, pre staticky zostaveny Qt program sa hodi zakompilovat nielen preklady aplikacie, ale aj prislusne Qt preklady priamo do programu, napriklad i cez qresource system. Program tak bude na Vas "hovorit" pekne po slovensky (rozumej cesky). Velmi jednoduchy priklad:
QTranslator translator;
translator.load(":/translations/qt_sk");
app.installTranslator(&translator);
Tím asi nedosáhneš kýženého výsledku. Spíš bych to viděl tak, že klient kromě vstupních dat pošle i používaný jazyk, server si hned po navázání spojení natáhne lokalizaci (installTranslator) ve správném jazyce a po ukončení spojení lokalizaci zase odstraní (removeTranslator).
Jen si nejsem jistý jak se to bude chovat, když se připojí více klientů současně, protože lokalizace je společná pro celou aplikaci...
Nebo použij něco normálního.
Ja bych pro kazdeho klienta fork()oval, a v kazdem procesu pak nastavil jinou textdomain().
QTranslator::translate, napriklad:
Server:
class Translator: public QObject {
public:
Translator(QObject *parent = NULL): QObject(parent) {
QTranslator *skTranslator = new QTranslator(this);
QTranslator *csTranslator = new QTranslator(this);
skTranslator->load(":/translations/qt_sk");
csTranslator->load(":/translations/qt_cs");
m_tableOfTranslators["sk"] = skTranslator;
m_tableOfTranslators["cs"] = csTranslator;
}
// vrati lokalizovanu spravu na zaklade jazyka lang
QString translateForClient(const QString &message, const QString &lang) {
if (m_tableOfTranslators.contains(lang) == false) {
return message;
}
return m_tableOfTranslators[lang]->translate(message);
}
private:
QHash<QString, QTranslator *> tableOfTranslators;
};
//...niekde v kode
QString message = translator->translateForClient("%n file found", client->lang());
Nějak tak by to mohlo fungovat. Nedošlo mi, že QCoreApplication::translate volá QTranslator::translate pro každý nainstalovaný slovník...
Je to trochu mimo téma článku, ale zajímalo by mě jestli je v Qt možné přiřadit jednomu tlačítku více klávesových zkratek. Pokud jsem to pochopil správně, tak je možné přiřadit pouze sekvenci kláves
.
virtual void keyPressEvent(QKeyEvent * event) metody dialogu/okna by mohol pomoct, napriklad:
void MainWindow::keyPressEvent(QKeyEvent * event) {
switch (event->key()) {
case Qt::Key_C:
case Qt::Key_D:
case Qt::Key_E:
nejakaMetoda();
break;
default:
break;
}
}
Dekuji. Neni to sice uplne ono, ale je to moznost. V idealnim pripade bych potreboval, aby se pri stisku jakekoli z pridelenych klaves zamacklo tlacitko jako u klavesy, ktera je k tlacitku asociovana.
Vyzkousel jsem si prepinani jazyka zmenou systemove promenne LANG, diky ktere muzu menit nacteny jazyk a obrazky z resources (pokud u prefixu nastavim jazyk). Existuje nejaka moznost jak prepinat jazyky za behu programu?
Tiskni
Sdílej: