From 74ae02f9794d939a941be04b9b48b6667886fa76 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Tue, 2 Jun 2020 22:13:23 +0200 Subject: [PATCH] DolphinQt: Support gettext contexts (Qt disambiguations) --- Languages/update-source-strings.sh | 2 +- Source/Core/DolphinQt/Translation.cpp | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Languages/update-source-strings.sh b/Languages/update-source-strings.sh index 276e3dc490..0f9c678587 100755 --- a/Languages/update-source-strings.sh +++ b/Languages/update-source-strings.sh @@ -8,7 +8,7 @@ SRCDIR=Source find $SRCDIR -name '*.cpp' -o -name '*.h' -o -name '*.c' | \ xgettext -d dolphin-emu -s --keyword=_ --keyword=wxTRANSLATE --keyword=SuccessAlertT \ --keyword=PanicAlertT --keyword=PanicYesNoT --keyword=AskYesNoT --keyword=CriticalAlertT \ - --keyword=GetStringT --keyword=_trans --keyword=tr --keyword=QT_TR_NOOP \ + --keyword=GetStringT --keyword=_trans --keyword=tr:1,1t --keyword=tr:1,2c --keyword=QT_TR_NOOP \ --add-comments=i18n -p ./Languages/po -o dolphin-emu.pot -f - --package-name="Dolphin Emulator" \ --from-code=utf-8 diff --git a/Source/Core/DolphinQt/Translation.cpp b/Source/Core/DolphinQt/Translation.cpp index 7adb1377f5..467e7f8acf 100644 --- a/Source/Core/DolphinQt/Translation.cpp +++ b/Source/Core/DolphinQt/Translation.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #include "Common/File.h" #include "Common/FileUtil.h" @@ -213,7 +214,17 @@ public: QString translate(const char* context, const char* source_text, const char* disambiguation = nullptr, int n = -1) const override { - return QString::fromUtf8(m_mo_file.Translate(source_text)); + if (disambiguation) + { + std::string combined_string = disambiguation; + combined_string += '\4'; + combined_string += source_text; + return QString::fromUtf8(m_mo_file.Translate(combined_string.c_str())); + } + else + { + return QString::fromUtf8(m_mo_file.Translate(source_text)); + } } private: