Merge pull request #1941 from edupals/special_locale_region

[libcalamares] Improving special-case language detection
This commit is contained in:
Adriaan de Groot 2022-05-05 11:22:32 +02:00 committed by GitHub
commit e005b1af32
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -64,17 +64,25 @@ specialCaseSystemLanguage()
if ( lang.isEmpty() ) if ( lang.isEmpty() )
return {}; return {};
const QString serbian_latin = QStringLiteral( "sr@latin" ); QStringList lang_parts = lang.split(QLatin1Char('@'));
const QString serbian_latin_variant = QStringLiteral( "sr@latn" ); if (lang_parts.size()!=2)
if ( ( lang == serbian_latin ) || ( lang == serbian_latin_variant ) ) return {};
QString region = lang_parts[1];
QLocale locale(lang);
const QString serbian_latin = QStringLiteral( "latin" );
const QString serbian_latin_variant = QStringLiteral( "latn" );
if ( locale.language() == QLocale::Serbian && ( region == serbian_latin || region == serbian_latin_variant ) )
{ {
return serbian_latin; return QStringLiteral( "sr@latin" );
} }
const QString valencian = QStringLiteral( "ca@valencia" ); const QString valencian = QStringLiteral( "valencia" );
if ( lang == valencian ) if ( locale.language() == QLocale::Catalan && region == valencian )
{ {
return valencian; return QStringLiteral( "ca@valencia" );
} }
return {}; return {};