From 3968d46e20dc56c7470436c2332c79ee5aa694dc Mon Sep 17 00:00:00 2001 From: Andras Timar Date: Mon, 24 Jun 2024 01:23:22 +0200 Subject: [PATCH] LOK: fix UI language fallback, e.g. zh-HK -> zh-TW The original author wanted to handle de-CH as special case, but he wrote a general condition. - comphelper::LibreOfficeKit::isActive() is redundant, because we call SfxViewShell::SetLOKLanguageTag() from LOK. - AFAIK there are no other, similar cases. We know about only de-CH, so let's make it explicit in the condition. - This fixes UI language setting when the integration asks for zh-HK. Previously it falsely fell back to en-US here, instead of zh-TW. Change-Id: Ie42e09b8e202b654b109ab8d777ab36a5ef56dca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169363 Tested-by: Jenkins CollaboraOffice Reviewed-by: Miklos Vajna Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172332 Tested-by: Jenkins Reviewed-by: Andras Timar --- sfx2/source/view/viewsh.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sfx2/source/view/viewsh.cxx b/sfx2/source/view/viewsh.cxx index 0bbc5a2926ea..0676ef9e98e0 100644 --- a/sfx2/source/view/viewsh.cxx +++ b/sfx2/source/view/viewsh.cxx @@ -3352,8 +3352,8 @@ void SfxViewShell::SetLOKLanguageTag(const OUString& rBcp47LanguageTag) LanguageTag aFallbackTag = LanguageTag(getInstalledLocaleForSystemUILanguage(inst, /* bRequestInstallIfMissing */ false, rBcp47LanguageTag), true).makeFallback(); // If we want de-CH, and the de localisation is available, we don't want to use de-DE as then - // the magic in Translate::get() won't turn ess-zet into double s. Possibly other similar cases? - if (comphelper::LibreOfficeKit::isActive() && aTag.getLanguage() == aFallbackTag.getLanguage()) + // the magic in Translate::get() won't turn ess-zet into double s. + if (rBcp47LanguageTag == "de-CH") maLOKLanguageTag = std::move(aTag); else maLOKLanguageTag = std::move(aFallbackTag);