Fixed: With new iOS versions (and perhaps OS X), locale can contains country code

This commit is contained in:
kervala 2016-03-09 11:24:01 +01:00
parent 953759f9b1
commit f98786bc62

View file

@ -306,13 +306,22 @@ std::string CI18N::getSystemLanguageCode ()
CFRelease(langCF); CFRelease(langCF);
} }
if (!lang.empty())
{
// fix language code if country is specified
std::string::size_type pos = lang.find('-');
if (pos != std::string::npos)
lang = lang.substr(0, pos);
// only keep language code if supported by NeL // only keep language code if supported by NeL
if (!lang.empty() && isLanguageCodeSupported(lang)) if (isLanguageCodeSupported(lang))
{ {
s_cachedSystemLanguage = lang; s_cachedSystemLanguage = lang;
break; break;
} }
} }
}
// don't need languages array anymore // don't need languages array anymore
CFRelease(langs); CFRelease(langs);