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 <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172332 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
This commit is contained in:
@@ -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);
|
||||
|
Reference in New Issue
Block a user