forked from qt-creator/qt-creator
McuSupport: Make plugin UI translatable
After refactoring, the package labels are sourced at run-time from json kit files. Added a QMap containing all the known labels used to map labels to their translation, McuPackage::packageLabelTranslations. Task-number: QTCREATORBUG-27177 Change-Id: Ibd530a0f9c5dbbdf8c7d5eafa53785fb713c9d0a Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Dawid Śliwa <dawid.sliwa@qt.io> Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
#include "mcupackage.h"
|
||||
#include "mcusupportversiondetection.h"
|
||||
#include "settingshandler.h"
|
||||
#include "mcusupporttr.h"
|
||||
|
||||
#include <baremetal/baremetalconstants.h>
|
||||
#include <coreplugin/icore.h>
|
||||
@@ -175,7 +176,7 @@ void McuPackage::updateStatusUi()
|
||||
QString McuPackage::statusText() const
|
||||
{
|
||||
const QString displayPackagePath = m_path.toUserOutput();
|
||||
const QString displayVersions = m_versions.join(" or ");
|
||||
const QString displayVersions = m_versions.join(tr(" or "));
|
||||
const QString outDetectionPath = m_detectionPath.toUserOutput();
|
||||
const QString displayRequiredPath = m_versions.empty() ? outDetectionPath
|
||||
: QString("%1 %2").arg(outDetectionPath,
|
||||
@@ -266,6 +267,43 @@ QWidget *McuPackage::widget()
|
||||
return widget;
|
||||
}
|
||||
|
||||
const QMap<QString, QString> McuPackage::packageLabelTranslations {
|
||||
//Board SDKs
|
||||
{"Board SDK for MIMXRT1050-EVK", Tr::tr("Board SDK for MIMXRT1050-EVK")},
|
||||
{"Board SDK MIMXRT1060-EVK", Tr::tr("Board SDK MIMXRT1060-EVK")},
|
||||
{"Board SDK for MIMXRT1060-EVK", Tr::tr("Board SDK for MIMXRT1060-EVK")},
|
||||
{"Board SDK for MIMXRT1064-EVK", Tr::tr("Board SDK for MIMXRT1064-EVK")},
|
||||
{"Board SDK for MIMXRT1170-EVK", Tr::tr("Board SDK for MIMXRT1170-EVK")},
|
||||
{"Board SDK for STM32F469I-Discovery", Tr::tr("Board SDK for STM32F469I-Discovery")},
|
||||
{"Board SDK for STM32F769I-Discovery", Tr::tr("Board SDK for STM32F769I-Discovery")},
|
||||
{"Board SDK for STM32H750B-Discovery", Tr::tr("Board SDK for STM32H750B-Discovery")},
|
||||
{"Board SDK", Tr::tr("Board SDK")},
|
||||
{"Flexible Software Package for Renesas RA MCU Family", Tr::tr("Flexible Software Package for Renesas RA MCU Family")},
|
||||
{"Graphics Driver for Traveo II Cluster Series", Tr::tr("Graphics Driver for Traveo II Cluster Series")},
|
||||
{"Renesas Graphics Library", Tr::tr("Renesas Graphics Library")},
|
||||
//Flashing tools
|
||||
{"Cypress Auto Flash Utility", Tr::tr("Cypress Auto Flash Utility")},
|
||||
{"MCUXpresso IDE", Tr::tr("MCUXpresso IDE")},
|
||||
{"Path to SEGGER J-Link", Tr::tr("Path to SEGGER J-Link")},
|
||||
{"Path to Renesas Flash Programmer", Tr::tr("Path to Renesas Flash Programmer")},
|
||||
{"STM32CubeProgrammer", Tr::tr("STM32CubeProgrammer")},
|
||||
//Compilers/Toolchains
|
||||
{"Green Hills Compiler for ARM", Tr::tr("Green Hills Compiler for ARM")},
|
||||
{"IAR ARM Compiler", Tr::tr("IAR ARM Compiler")},
|
||||
{"Green Hills Compiler", Tr::tr("Green Hills Compiler")},
|
||||
{"GNU Arm Embedded Toolchain", Tr::tr("GNU Arm Embedded Toolchain")},
|
||||
{"GNU Toolchain", Tr::tr("GNU Toolchain")},
|
||||
{"MSVC Toolchain", Tr::tr("MSVC Toolchain")},
|
||||
//FreeRTOS
|
||||
{"FreeRTOS SDK for MIMXRT1050-EVK", Tr::tr("FreeRTOS SDK for MIMXRT1050-EVK")},
|
||||
{"FreeRTOS SDK for MIMXRT1064-EVK", Tr::tr("FreeRTOS SDK for MIMXRT1064-EVK")},
|
||||
{"FreeRTOS SDK for MIMXRT1170-EVK", Tr::tr("FreeRTOS SDK for MIMXRT1170-EVK")},
|
||||
{"FreeRTOS SDK for EK-RA6M3G", Tr::tr("FreeRTOS SDK for EK-RA6M3G")},
|
||||
{"FreeRTOS SDK for STM32F769I-Discovery", Tr::tr("FreeRTOS SDK for STM32F769I-Discovery")},
|
||||
//Other
|
||||
{"Path to project for Renesas e2 Studio", Tr::tr("Path to project for Renesas e2 Studio")}
|
||||
};
|
||||
|
||||
McuToolChainPackage::McuToolChainPackage(const SettingsHandler::Ptr &settingsHandler,
|
||||
const QString &label,
|
||||
const FilePath &defaultPath,
|
||||
|
@@ -45,6 +45,8 @@ public:
|
||||
|
||||
~McuPackage() override = default;
|
||||
|
||||
static const QMap<QString, QString> packageLabelTranslations;
|
||||
|
||||
QString label() const override;
|
||||
QString cmakeVariableName() const override;
|
||||
QString environmentVariableName() const override;
|
||||
|
@@ -225,8 +225,8 @@ void McuSupportOptionsWidget::updateStatus()
|
||||
: tr("A kit for the selected target can be created."));
|
||||
} else {
|
||||
m_kitCreationInfoLabel->setType(Utils::InfoLabel::NotOk);
|
||||
m_kitCreationInfoLabel->setText("Provide the package paths in order to create a kit "
|
||||
"for your target.");
|
||||
m_kitCreationInfoLabel->setText(tr("Provide the package paths in order to create a kit "
|
||||
"for your target."));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -238,8 +238,8 @@ void McuSupportOptionsWidget::updateStatus()
|
||||
m_statusInfoLabel->setVisible(!cMakeAvailable);
|
||||
if (m_statusInfoLabel->isVisible()) {
|
||||
m_statusInfoLabel->setType(Utils::InfoLabel::NotOk);
|
||||
m_statusInfoLabel->setText("No CMake tool was detected. Add a CMake tool in the "
|
||||
"<a href=\"cmake\">CMake options</a> and press Apply.");
|
||||
m_statusInfoLabel->setText(tr("No CMake tool was detected. Add a CMake tool in the "
|
||||
"<a href=\"cmake\">CMake options</a> and press Apply."));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -640,7 +640,12 @@ static PackageDescription parsePackage(const QJsonObject &cmakeEntry)
|
||||
else
|
||||
defaultPathString = cmakeEntry["defaultValue"].toString();
|
||||
|
||||
return {cmakeEntry["label"].toString(),
|
||||
QString label = cmakeEntry["label"].toString();
|
||||
|
||||
//Apply translations
|
||||
label = McuPackage::packageLabelTranslations.value(label, label);
|
||||
|
||||
return {label,
|
||||
cmakeEntry["envVar"].toString(),
|
||||
cmakeEntry["cmakeVar"].toString(),
|
||||
cmakeEntry["description"].toString(),
|
||||
|
Reference in New Issue
Block a user