Ahoj,
jak správně píše MM.., je potřeba použít editor podporující UTF-8 (a soubor uložit jako UTF-8!) nebo použít něco z následujících řešení:
Horší řešení je použít něco jako:
const QString str = QString::fromLocal8Bit("Deň");
ui->lblPopis->setText(str);
Mnohem lepší je pak použít Qt Linguist, kde je možné veškeré řetězce vyskytující se v aplikaci přeložit do libovolného jazyka. Jen je pak nutné s aplikací dodávat i soubor *.qm a ještě před zobrazením hlavního formuláře aplikace správně načíst tento jazykový soubor. To se dělá takto: int main(int argc, char *argv[])
{
QApplication a(argc, argv);
/** Nacteni systemovych stringu - zobrazuji se napr. v dialogu vyberu souboru, atd. */
QTranslator qtTranslator;
qtTranslator.load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
a.installTranslator(&qtTranslator);
/** Nacteni stringu pro aplikaci, soubor se stringy se jmenuje myapp_{locale}.qm */
QTranslator myappTranslator;
myappTranslator.load("myapp_" + QLocale::system().name());
a.installTranslator(&myappTranslator);
QMyApp w;
w.show();
return a.exec();
}
Soubor *.qm pro českou verzi by byl myapp_cs.qm. Ještě pozor na ty systémové řetězce - v tomto příkladě se soubor obsahující překlady hledá v instalačním adresáři Qt.EDIT: Po přečtení vlákna vidím, že má odpověď je mimo Takže to prosím ignorujte, možná někomu může přijít zajímavý ten QtLinguist, tak to nemažu.