diff options
author | Lucie Gérard <lucie.gerard@qt.io> | 2023-10-10 15:33:48 +0200 |
---|---|---|
committer | Lucie Gérard <lucie.gerard@qt.io> | 2023-10-26 14:12:00 +0200 |
commit | d6e0d5630a49e9614a70bf960a213b3eff03a68e (patch) | |
tree | 1ecb2d4a5064328dfd4d55c27cdf87709470cef1 /src/qml/qml/qqmlbuiltinfunctions.cpp | |
parent | 9187e07d36db8c262b51ba7d1ce35615b31ee918 (diff) |
Add pragma syntax to support translation context
Translator pragma can be used to set the translation context
instead of having the file name used
[ChangeLog][qml][translation][Important Behavior Changes] The context
for the translation can now be controled in a given file
using pragma Translator.
Task-number: QTBUG-114528
Change-Id: I6d9d7fb81ea969a90d8637d7277bdbe96c102088
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/qml/qml/qqmlbuiltinfunctions.cpp')
-rw-r--r-- | src/qml/qml/qqmlbuiltinfunctions.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/qml/qml/qqmlbuiltinfunctions.cpp b/src/qml/qml/qqmlbuiltinfunctions.cpp index 1434cffe31..eccf5804cb 100644 --- a/src/qml/qml/qqmlbuiltinfunctions.cpp +++ b/src/qml/qml/qqmlbuiltinfunctions.cpp @@ -2171,6 +2171,11 @@ QString GlobalExtensions::currentTranslationContext(ExecutionEngine *engine) while (frame && context.isEmpty()) { if (CompiledData::CompilationUnitBase *baseUnit = frame->v4Function->compilationUnit) { const auto *unit = static_cast<const CompiledData::CompilationUnit *>(baseUnit); + auto translationContextIndex = unit->data->translationContextIndex(); + if (translationContextIndex) + context = unit->stringAt(*translationContextIndex); + if (!context.isEmpty()) + break; QString fileName = unit->fileName(); QUrl url(unit->fileName()); if (url.isValid() && url.isRelative()) { |