Translation does not work when the text of QLineEdit is modified
Solved
General and Desktop
-
This is rather inner working of C++ itself. But I am only guessing to be honest.
What you can try is to define this string array (btw. you can also use QStringList) in a singleton class that is initialized after translation is loaded, so that it gets correct data.
-
Try something like this:
const char * const days[7] = { QT_TR_NOOP("Monday"), QT_TR_NOOP("Tuesday"), // ... and so on } void ZellerGUI::on_yearEdit_editingFinished() { // ... calculate day QString day = QCoreApplication::tr(days[calculatedDay - 1]); ui->resultEdit->setText(day); }
-
@kshegunov I just used your previous solution:
QString day = QCoreApplication::tr(days[calculatedDay - 1]);
Using your last command
QString day = QCoreApplication::translate("Weekdays", days[calculatedDay - 1]);
perfectly works. Now I just have to think it over why it works.
Thank you very much for your precious help!
-
You're welcome.
Happy coding!Edit:
Btw, moving the keys to the function should also work:void ZellerGUI::on_yearEdit_editingFinished() { // If this is initialized here it should work okay static const char * const days[7] = { QT_TR_NOOP("Monday"), QT_TR_NOOP("Tuesday"), // ... and so on }; // ... calculate day QString day = QCoreApplication::tr(days[calculatedDay - 1]); ui->resultEdit->setText(day); }