Невозможно заставить Qt/QML загрузить мои переводы (i18n)C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Невозможно заставить Qt/QML загрузить мои переводы (i18n)

Сообщение Гость »

Я надеюсь, что кто-нибудь скажет мне, что я здесь делаю не так, но у меня есть пример проекта, в котором я пытаюсь использовать qsTrIds для переводов, и у меня возникли проблемы с выяснением, почему мои переводы не выполняются. загружается правильно — элементы диалогового окна QML отображают только qsTrId, например «press-me» и «hello-world», вместо переведенного текста.
Источник: https://github.com /StumpDragon/QtExampleApp
Используя сообщество Visual Studio 2022 и Qt 6.7
Я запустил конфигурацию проекта, отредактировал файлы перевода и затем запустите:
cmake --build ..\build-QtExampleApp-Desktop_Qt_6_7_0_MSVC2019_64bit-Debug\ --target update_translations

и
cmake --build ..\build-QtExampleApp-Desktop_Qt_6_7_0_MSVC2019_64bit-Debug\ --target release_translations

Есть идеи, где я могу ошибиться?
Здесь я жестко запрограммировал один перевод, который я сделал - _en (моя система по умолчанию использует en-US, если я использую закомментированный цикл foreach. У меня нет такого перевода - Qt по умолчанию переназначает _en?
int main(int argc, char *argv[])
{
set_qt_environment();

QGuiApplication app(argc, argv);

QTranslator translator;
if ( translator.load(":/i18n/QtExampleApp_en") ) {
QCoreApplication::installTranslator(&translator);
}
/*const QStringList uiLanguages = QLocale::system().uiLanguages();
for (const QString &locale : uiLanguages) {
const QString baseName = "QtExampleApp_" + QLocale(locale).name();
if (translator.load(":/i18n/" + baseName)) {
app.installTranslator(&translator);
break;
}
}*/

QQmlApplicationEngine engine;
const QUrl url(u"qrc:/qt/qml/Main/main.qml"_qs);
QObject::connect(
&engine,
&QQmlApplicationEngine::objectCreated,
&app,
(QObject *obj, const QUrl &objUrl) { if ... tions-i18n
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»