При разработке приложения Qt я столкнулся с проблемой при использовании QTranslator. После небольшого исследования я обнаружил, что проблема была в lupdate от Qt, проблема с
using namespace;
директива. Следуя инструкциям, приведенным в здесь , я обнаружил, что должен использовать специальные комментарии в своем коде, чтобы помочь lupdate понять, что классы находятся внутри пространства имен. Специальный комментарий выглядит примерно так:
/*
TRANSLATOR namespace::MyClass
*/
Итак, я добавил эти комментарии во все мои источники, в которых QStrings управлялся tr. Но, тем не менее, заявки не переводятся. Метод installTranslator в QTranslator возвращает true. Фактический код, который я использую для установки Переводчика:
Application app(argc,argv); //Application is a subclass of QApplication
QTextCoded::setCodecForTr(QTextCodec::codecForName("utf8"));
QTranslator translator;
translator.load(QString("..//language//") + locale);
app.installTranslator(&translator);
app.exec();
Кто-нибудь сталкивался с такой же проблемой? Что я делаю не так?
EDIT -
Исправлена одна маленькая ошибка в приведенном выше коде, но все равно безрезультатно.