From 59950bec3b93dc32c535b475bf9dd5e1ff0939c4 Mon Sep 17 00:00:00 2001 From: Michael Fabian 'Xaymar' Dirks Date: Thu, 10 Sep 2020 09:00:03 +0200 Subject: [PATCH] ui: Fix support for disambiguation in translations --- source/ui/ui.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/source/ui/ui.cpp b/source/ui/ui.cpp index 226700e..21d3d07 100644 --- a/source/ui/ui.cpp +++ b/source/ui/ui.cpp @@ -209,9 +209,17 @@ streamfx::ui::translator::~translator() {} QString streamfx::ui::translator::translate(const char* context, const char* sourceText, const char* disambiguation, int n) const { - std::string_view sourceView{sourceText}; - if (sourceView.substr(0, _i18n_prefix.length()) == _i18n_prefix) { - return QString::fromUtf8(D_TRANSLATE(sourceView.substr(_i18n_prefix.length()).data())); + if (sourceText) { + std::string_view sourceView{sourceText}; + if (sourceView.substr(0, _i18n_prefix.length()) == _i18n_prefix) { + return QString::fromUtf8(D_TRANSLATE(sourceView.substr(_i18n_prefix.length()).data())); + } + } + if (disambiguation) { + std::string_view disambiguationView{disambiguation}; + if (disambiguationView.substr(0, _i18n_prefix.length()) == _i18n_prefix) { + return QString::fromUtf8(D_TRANSLATE(disambiguationView.substr(_i18n_prefix.length()).data())); + } } return QString(); }