Skip to content

Commit 9e4ac50

Browse files
committed
fix(l10n): Don't fallback from 3-letter languages to 2-letter
Signed-off-by: Joas Schilling <[email protected]>
1 parent 7320322 commit 9e4ac50

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

lib/private/L10N/Factory.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -496,7 +496,7 @@ private function getLanguageFromRequest(?string $app = null): string {
496496

497497
// Fallback from de_De to de
498498
foreach ($available as $available_language) {
499-
if (substr($preferred_language, 0, 2) === $available_language) {
499+
if ($preferred_language_parts[0] === $available_language) {
500500
return $available_language;
501501
}
502502
}

tests/lib/L10N/FactoryTest.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,12 @@ public static function dataSetLanguageFromRequest(): array {
351351
[null, 'de,en', ['ru', 'en'], 'en'],
352352
[null, 'de-DE,en-US;q=0.8,en;q=0.6', ['ru', 'en'], 'en'],
353353

354+
// Don't fall back from kab (Kabyle) to ka (Georgian) - Unless specifically requested
355+
[null, 'kab;q=0.8,en;q=0.6', ['ka', 'en'], 'en'],
356+
[null, 'kab;q=0.8,de;q=0.6', ['ka', 'en', 'de'], 'de'],
357+
[null, 'kab;q=0.8,de;q=0.7,ka;q=0.6', ['ka', 'en', 'de'], 'de'],
358+
[null, 'kab;q=0.8,ka;q=0.7,de;q=0.6', ['ka', 'en', 'de'], 'ka'],
359+
354360
// Language for app
355361
['files_pdfviewer', 'de', ['de'], 'de'],
356362
['files_pdfviewer', 'de,en', ['de'], 'de'],

0 commit comments

Comments
 (0)