Я надеюсь, что кто-нибудь скажет мне, что я здесь делаю не так, но у меня есть пример проекта, в котором я пытаюсь использовать 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
Невозможно заставить Qt/QML загрузить мои переводы (i18n) ⇐ C++
Программы на C++. Форум разработчиков
1712652900
Гость
Я надеюсь, что кто-нибудь скажет мне, что я здесь делаю не так, но у меня есть пример проекта, в котором я пытаюсь использовать 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,
[url](QObject *obj, const QUrl &objUrl) {
if (!obj && url == objUrl)
QCoreApplication::exit(-1);
},
Qt::QueuedConnection);
engine.addImportPath(QCoreApplication::applicationDirPath() + "/qml");
engine.addImportPath(":/");
engine.load(url);
if (engine.rootObjects().isEmpty()) {
return -1;
}
return app.exec();
}
Биты CMakeLists.txt:
qt_add_translations(TARGETS QtExampleApp
TS_FILE_DIR i18n
)
Подробнее здесь: [url]https://stackoverflow.com/questions/78289283/unable-to-get-qt-qml-to-load-my-translations-i18n[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия