aboutsummaryrefslogtreecommitdiff
path: root/src/kconfig_compiler/kconfig_compiler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/kconfig_compiler/kconfig_compiler.cpp')
-rw-r--r--src/kconfig_compiler/kconfig_compiler.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/kconfig_compiler/kconfig_compiler.cpp b/src/kconfig_compiler/kconfig_compiler.cpp
index 7160bb57..246cc92a 100644
--- a/src/kconfig_compiler/kconfig_compiler.cpp
+++ b/src/kconfig_compiler/kconfig_compiler.cpp
@@ -100,6 +100,7 @@ public:
generateProperties = codegenConfig.value("GenerateProperties", false).toBool();
if (trString == "kde") {
translationSystem = KdeTranslation;
+ translationDomain = codegenConfig.value("TranslationDomain").toString();
} else {
if (!trString.isEmpty() && trString != "qt") {
cerr << "Unknown translation system, falling back to Qt tr()" << endl;
@@ -138,6 +139,7 @@ public:
bool useEnumTypes;
bool itemAccessors;
TranslationSystem translationSystem;
+ QString translationDomain;
bool generateProperties;
};
@@ -1306,7 +1308,11 @@ QString translatedString(const CfgConfig &cfg, const QString &string, const QStr
break;
case CfgConfig::KdeTranslation:
- if (!context.isEmpty()) {
+ if (!cfg.translationDomain.isEmpty() && !context.isEmpty()) {
+ result += "i18ndc(" + quoteString(cfg.translationDomain) + ", " + quoteString(context) + ", ";
+ } else if (!cfg.translationDomain.isEmpty()) {
+ result += "i18nd(" + quoteString(cfg.translationDomain) + ", ";
+ } else if (!context.isEmpty()) {
result += "i18nc(" + quoteString(context) + ", ";
} else {
result += "i18n(";