Merge pull request #55809 from nextcloud/backport/55803/stable32

[stable32] fix(l10n): Don't fallback from 3-letter languages to 2-letter
This commit is contained in:
Joas Schilling 2025-10-16 14:51:48 +02:00 committed by GitHub
commit 4acb119591
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 7 additions and 1 deletions

View file

@ -496,7 +496,7 @@ class Factory implements IFactory {
// Fallback from de_De to de
foreach ($available as $available_language) {
if (substr($preferred_language, 0, 2) === $available_language) {
if ($preferred_language_parts[0] === $available_language) {
return $available_language;
}
}

View file

@ -351,6 +351,12 @@ class FactoryTest extends TestCase {
[null, 'de,en', ['ru', 'en'], 'en'],
[null, 'de-DE,en-US;q=0.8,en;q=0.6', ['ru', 'en'], 'en'],
// Don't fall back from kab (Kabyle) to ka (Georgian) - Unless specifically requested
[null, 'kab;q=0.8,en;q=0.6', ['ka', 'en'], 'en'],
[null, 'kab;q=0.8,de;q=0.6', ['ka', 'en', 'de'], 'de'],
[null, 'kab;q=0.8,de;q=0.7,ka;q=0.6', ['ka', 'en', 'de'], 'de'],
[null, 'kab;q=0.8,ka;q=0.7,de;q=0.6', ['ka', 'en', 'de'], 'ka'],
// Language for app
['files_pdfviewer', 'de', ['de'], 'de'],
['files_pdfviewer', 'de,en', ['de'], 'de'],