In my understanding, not only QT_TR_NOOP, but also QT_TRANSLATE_NOOP
merely marks the text for extraction.
so, I guess that "Hello" is displayed, in the following code.
but, "Hello" was translated into Japanese.
Why?
#include <QApplication>
#include <QMainWindow>
#include <QTranslator>
#include <QtGlobal>
static const char* greetingList[] = {
QT_TRANSLATE_NOOP("Greeting", "Good morning"),
QT_TRANSLATE_NOOP("Greeting", "Goodbye")
};
int main(int argc, char *argv[])
{
translator.load("./MyAppMessages.qm");
application.installTranslator(&translator);
mainWindow.setWindowTitle(application.translate("Greeting", greetingList[0]));
mainWindow.show();
return application.exec();
}
#include <QApplication>
#include <QMainWindow>
#include <QTranslator>
#include <QtGlobal>
static const char* greetingList[] = {
QT_TRANSLATE_NOOP("Greeting", "Good morning"),
QT_TRANSLATE_NOOP("Greeting", "Goodbye")
};
int main(int argc, char *argv[])
{
QApplication application(argc, argv);
QMainWindow mainWindow;
QTranslator translator;
translator.load("./MyAppMessages.qm");
application.installTranslator(&translator);
mainWindow.setWindowTitle(application.translate("Greeting", greetingList[0]));
mainWindow.show();
return application.exec();
}
To copy to clipboard, switch view to plain text mode
Bookmarks