From 82880587b3a578d61e8335199f316e6794750ba6 Mon Sep 17 00:00:00 2001 From: Vasyl Gello Date: Fri, 25 Jun 2021 01:37:02 +0000 Subject: [PATCH 1/2] Check if applied locale correctly lowers chars and fallback .. to default region if it does not. Fixes #19883. Signed-off-by: Vasyl Gello --- xbmc/LangInfo.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/xbmc/LangInfo.cpp b/xbmc/LangInfo.cpp index 24f0419cfe..1c93ebf440 100644 --- a/xbmc/LangInfo.cpp +++ b/xbmc/LangInfo.cpp @@ -981,6 +981,18 @@ void CLangInfo::SetCurrentRegion(const std::string& strName) m_currentRegion->SetGlobalLocale(); + // Check if locale is affected by "Turkish I" + // See https://github.com/xbmc/xbmc/issue/19883 for details + if (std::tolower('i') != std::tolower('I')) + { + CLog::Log( + LOGWARNING, + "region '{}' is affected by 'Turkish I' problem - falling back to default region '{}'", + m_currentRegion->m_strName, m_defaultRegion.m_strName); + m_currentRegion = &m_defaultRegion; + m_currentRegion->SetGlobalLocale(); + } + const std::shared_ptr settings = CServiceBroker::GetSettingsComponent()->GetSettings(); if (settings->GetString(CSettings::SETTING_LOCALE_SHORTDATEFORMAT) == SETTING_REGIONAL_DEFAULT) SetShortDateFormat(m_currentRegion->m_strDateFormatShort); -- 2.33.0 From 2be9ed286e1478c7b1a3002242330b6101492621 Mon Sep 17 00:00:00 2001 From: Vasyl Gello Date: Sun, 27 Jun 2021 19:31:39 +0000 Subject: [PATCH 2/2] kodi.sh.in: Unset LC_{ALL,CTYPE}, LANG Signed-off-by: Vasyl Gello --- tools/Linux/kodi.sh.in | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/Linux/kodi.sh.in b/tools/Linux/kodi.sh.in index 108c0b007b..b148fd49ee 100644 --- a/tools/Linux/kodi.sh.in +++ b/tools/Linux/kodi.sh.in @@ -171,6 +171,11 @@ if command_exists gdb; then fi fi + +# Check if locale is affected by "Turkish I" +# See https://github.com/xbmc/xbmc/issue/19883 for details +unset LC_CTYPE LC_ALL LANG + LOOP=1 while [ $(( $LOOP )) = "1" ] do -- 2.33.0