From 09a233acba0265c6b76f76ce0687effec1356988 Mon Sep 17 00:00:00 2001 From: Ivan Savenko Date: Wed, 1 May 2024 12:43:20 +0300 Subject: [PATCH] Added missing strings to Qt translations --- launcher/firstLaunch/firstlaunch_moc.cpp | 2 +- launcher/modManager/cmodlist.cpp | 10 +++++-- launcher/modManager/cmodlistmodel_moc.cpp | 12 ++++---- launcher/modManager/cmodlistview_moc.cpp | 16 +++++------ launcher/modManager/cmodmanager.cpp | 34 +++++++++++------------ launcher/updatedialog_moc.cpp | 4 +-- 6 files changed, 42 insertions(+), 36 deletions(-) diff --git a/launcher/firstLaunch/firstlaunch_moc.cpp b/launcher/firstLaunch/firstlaunch_moc.cpp index c5f7646d1..66d7d4440 100644 --- a/launcher/firstLaunch/firstlaunch_moc.cpp +++ b/launcher/firstLaunch/firstlaunch_moc.cpp @@ -301,7 +301,7 @@ void FirstLaunchView::extractGogData() QString titleSel = tr("Select %1 file...", "param is file extension").arg(filter); QString titleErr = tr("You have to select %1 file!", "param is file extension").arg(filter); #if defined(VCMI_MOBILE) - filter = "GOG file (*.*)"; + filter = tr("GOG file (*.*)"); QMessageBox::information(this, tr("File selection"), titleSel); #endif QString file = QFileDialog::getOpenFileName(this, titleSel, startPath.isEmpty() ? QDir::homePath() : startPath, filter); diff --git a/launcher/modManager/cmodlist.cpp b/launcher/modManager/cmodlist.cpp index 21058da5e..304ec1551 100644 --- a/launcher/modManager/cmodlist.cpp +++ b/launcher/modManager/cmodlist.cpp @@ -17,14 +17,20 @@ QString CModEntry::sizeToString(double size) { - static const std::array sizes { "%1 B", "%1 KiB", "%1 MiB", "%1 GiB", "%1 TiB" }; + static const std::array sizes { + QT_TRANSLATE_NOOP("File size", "%1 B"), + QT_TRANSLATE_NOOP("File size", "%1 KiB"), + QT_TRANSLATE_NOOP("File size", "%1 MiB"), + QT_TRANSLATE_NOOP("File size", "%1 GiB"), + QT_TRANSLATE_NOOP("File size", "%1 TiB") + }; size_t index = 0; while(size > 1024 && index < sizes.size()) { size /= 1024; index++; } - return sizes[index].arg(QString::number(size, 'f', 1)); + return QCoreApplication::translate("File size", sizes[index]).arg(QString::number(size, 'f', 1)); } CModEntry::CModEntry(QVariantMap repository, QVariantMap localData, QVariantMap modSettings, QString modname) diff --git a/launcher/modManager/cmodlistmodel_moc.cpp b/launcher/modManager/cmodlistmodel_moc.cpp index 5ec35e400..5c0c64c4f 100644 --- a/launcher/modManager/cmodlistmodel_moc.cpp +++ b/launcher/modManager/cmodlistmodel_moc.cpp @@ -169,15 +169,15 @@ QVariant CModListModel::headerData(int section, Qt::Orientation orientation, int { static const QString header[ModFields::COUNT] = { - QT_TR_NOOP("Name"), - QT_TR_NOOP(""), // status icon - QT_TR_NOOP(""), // status icon - QT_TR_NOOP("Type"), - QT_TR_NOOP("Version"), + QT_TRANSLATE_NOOP("ModFields", "Name"), + QT_TRANSLATE_NOOP("ModFields", ""), // status icon + QT_TRANSLATE_NOOP("ModFields", ""), // status icon + QT_TRANSLATE_NOOP("ModFields", "Type"), + QT_TRANSLATE_NOOP("ModFields", "Version"), }; if(role == Qt::DisplayRole && orientation == Qt::Horizontal) - return QCoreApplication::translate("ModFields", header[section].toStdString().c_str()); + return QCoreApplication::translate("ModFields", header[section].toStdString().c_str()); // !!! return QVariant(); } diff --git a/launcher/modManager/cmodlistview_moc.cpp b/launcher/modManager/cmodlistview_moc.cpp index a966a95db..f6a268574 100644 --- a/launcher/modManager/cmodlistview_moc.cpp +++ b/launcher/modManager/cmodlistview_moc.cpp @@ -307,9 +307,9 @@ QString CModListView::genModInfoText(CModEntry & mod) if(minStr.isEmpty() || maxStr.isEmpty()) { if(minStr.isEmpty()) - result += supportedVersions.arg(tr("Supported VCMI version"), maxStr, ", ", "please upgrade mod"); + result += supportedVersions.arg(tr("Supported VCMI version"), maxStr, ", ", tr("please upgrade mod")); else - result += supportedVersions.arg(tr("Required VCMI version"), minStr, " ", "or above"); + result += supportedVersions.arg(tr("Required VCMI version"), minStr, " ", tr("or above")); } else result += supportedVersions.arg(tr("Supported VCMI versions"), minStr, " - ", maxStr); @@ -574,7 +574,7 @@ void CModListView::on_updateButton_clicked() auto mod = modModel->getMod(name); // update required mod, install missing (can be new dependency) if(mod.isUpdateable() || !mod.isInstalled()) - downloadFile(name + ".zip", mod.getValue("download").toString(), "mods", mbToBytes(mod.getValue("downloadSize").toDouble())); + downloadFile(name + ".zip", mod.getValue("download").toString(), name, mbToBytes(mod.getValue("downloadSize").toDouble())); } } @@ -604,7 +604,7 @@ void CModListView::on_installButton_clicked() { auto mod = modModel->getMod(name); if(!mod.isInstalled()) - downloadFile(name + ".zip", mod.getValue("download").toString(), "mods", mbToBytes(mod.getValue("downloadSize").toDouble())); + downloadFile(name + ".zip", mod.getValue("download").toString(), name, mbToBytes(mod.getValue("downloadSize").toDouble())); else if(!mod.isEnabled()) enableModByName(name); } @@ -669,7 +669,7 @@ void CModListView::manualInstallFile(QUrl url) } } else - downloadFile(fileName, urlStr, "mods", 0); + downloadFile(fileName, urlStr, fileName, 0); } void CModListView::downloadFile(QString file, QString url, QString description, qint64 size) @@ -793,7 +793,7 @@ void CModListView::installFiles(QStringList files) auto modjson = repoData[key].toMap().value("mod"); if(!modjson.isNull()) { - downloadFile(key + ".json", modjson.toString(), "repository index"); + downloadFile(key + ".json", modjson.toString(), tr("repository index")); } } } @@ -957,7 +957,7 @@ void CModListView::loadScreenshots() if(pixmap.isNull()) { // image file not exists or corrupted - try to redownload - downloadFile(fileName, url, "screenshots"); + downloadFile(fileName, url, tr("screenshots")); } else { @@ -994,7 +994,7 @@ void CModListView::doInstallMod(const QString & modName) { auto mod = modModel->getMod(name); if(!mod.isInstalled()) - downloadFile(name + ".zip", mod.getValue("download").toString(), "mods", mbToBytes(mod.getValue("downloadSize").toDouble())); + downloadFile(name + ".zip", mod.getValue("download").toString(), name, mbToBytes(mod.getValue("downloadSize").toDouble())); } } diff --git a/launcher/modManager/cmodmanager.cpp b/launcher/modManager/cmodmanager.cpp index 003a83295..a3a4839c4 100644 --- a/launcher/modManager/cmodmanager.cpp +++ b/launcher/modManager/cmodmanager.cpp @@ -157,10 +157,10 @@ bool CModManager::canInstallMod(QString modname) auto mod = modList->getMod(modname); if(mod.isSubmod()) - return addError(modname, "Can not install submod"); + return addError(modname, tr("Can not install submod")); if(mod.isInstalled()) - return addError(modname, "Mod is already installed"); + return addError(modname, tr("Mod is already installed")); return true; } @@ -169,10 +169,10 @@ bool CModManager::canUninstallMod(QString modname) auto mod = modList->getMod(modname); if(mod.isSubmod()) - return addError(modname, "Can not uninstall submod"); + return addError(modname, tr("Can not uninstall submod")); if(!mod.isInstalled()) - return addError(modname, "Mod is not installed"); + return addError(modname, tr("Mod is not installed")); return true; } @@ -182,24 +182,24 @@ bool CModManager::canEnableMod(QString modname) auto mod = modList->getMod(modname); if(mod.isEnabled()) - return addError(modname, "Mod is already enabled"); + return addError(modname, tr("Mod is already enabled")); if(!mod.isInstalled()) - return addError(modname, "Mod must be installed first"); + return addError(modname, tr("Mod must be installed first")); //check for compatibility if(!mod.isCompatible()) - return addError(modname, "Mod is not compatible, please update VCMI and checkout latest mod revisions"); + return addError(modname, tr("Mod is not compatible, please update VCMI and checkout latest mod revisions")); for(auto modEntry : mod.getDependencies()) { if(!modList->hasMod(modEntry)) // required mod is not available - return addError(modname, QString("Required mod %1 is missing").arg(modEntry)); + return addError(modname, tr("Required mod %1 is missing").arg(modEntry)); CModEntry modData = modList->getMod(modEntry); if(!modData.isCompatibilityPatch() && !modData.isEnabled()) - return addError(modname, QString("Required mod %1 is not enabled").arg(modEntry)); + return addError(modname, tr("Required mod %1 is not enabled").arg(modEntry)); } for(QString modEntry : modList->getModList()) @@ -208,14 +208,14 @@ bool CModManager::canEnableMod(QString modname) // "reverse conflict" - enabled mod has this one as conflict if(mod.isEnabled() && mod.getConflicts().contains(modname)) - return addError(modname, QString("This mod conflicts with %1").arg(modEntry)); + return addError(modname, tr("This mod conflicts with %1").arg(modEntry)); } for(auto modEntry : mod.getConflicts()) { // check if conflicting mod installed and enabled if(modList->hasMod(modEntry) && modList->getMod(modEntry).isEnabled()) - return addError(modname, QString("This mod conflicts with %1").arg(modEntry)); + return addError(modname, tr("This mod conflicts with %1").arg(modEntry)); } return true; } @@ -225,17 +225,17 @@ bool CModManager::canDisableMod(QString modname) auto mod = modList->getMod(modname); if(mod.isDisabled()) - return addError(modname, "Mod is already disabled"); + return addError(modname, tr("Mod is already disabled")); if(!mod.isInstalled()) - return addError(modname, "Mod must be installed first"); + return addError(modname, tr("Mod must be installed first")); for(QString modEntry : modList->getModList()) { auto current = modList->getMod(modEntry); if(current.getDependencies().contains(modname) && current.isEnabled()) - return addError(modname, QString("This mod is needed to run %1").arg(modEntry)); + return addError(modname, tr("This mod is needed to run %1").arg(modEntry)); } return true; } @@ -311,7 +311,7 @@ bool CModManager::doInstallMod(QString modname, QString archivePath) if(!futureExtract.get()) { removeModDir(destDir + modDirName); - return addError(modname, "Failed to extract mod data"); + return addError(modname, tr("Failed to extract mod data")); } //rename folder and fix the path @@ -339,11 +339,11 @@ bool CModManager::doUninstallMod(QString modname) QString modDir = pathToQString(*CResourceHandler::get()->getResourceName(resID)); if(!QDir(modDir).exists()) - return addError(modname, "Data with this mod was not found"); + return addError(modname, tr("Data with this mod was not found")); QDir modFullDir(modDir); if(!removeModDir(modDir)) - return addError(modname, "Mod is located in protected directory, please remove it manually:\n" + modFullDir.absolutePath()); + return addError(modname, tr("Mod is located in protected directory, please remove it manually:\n") + modFullDir.absolutePath()); CResourceHandler::get("initial")->updateFilteredFiles([](const std::string &){ return true; }); loadMods(); diff --git a/launcher/updatedialog_moc.cpp b/launcher/updatedialog_moc.cpp index 55f4eb94f..6c9825868 100644 --- a/launcher/updatedialog_moc.cpp +++ b/launcher/updatedialog_moc.cpp @@ -61,7 +61,7 @@ UpdateDialog::UpdateDialog(bool calledManually, QWidget *parent): if(response->error() != QNetworkReply::NoError) { ui->versionLabel->setStyleSheet("QLabel { background-color : red; color : black; }"); - ui->versionLabel->setText("Network error"); + ui->versionLabel->setText(tr("Network error")); ui->plainTextEdit->setPlainText(response->errorString()); return; } @@ -98,7 +98,7 @@ void UpdateDialog::loadFromJson(const JsonNode & node) node["changeLog"].getType() != JsonNode::JsonType::DATA_STRING || node["downloadLinks"].getType() != JsonNode::JsonType::DATA_STRUCT) //we need at least one link - other are optional { - ui->plainTextEdit->setPlainText("Cannot read JSON from url or incorrect JSON data"); + ui->plainTextEdit->setPlainText(tr("Cannot read JSON from url or incorrect JSON data")); return; }