diff --git a/lib/private/L10N/Factory.php b/lib/private/L10N/Factory.php index 8f157d9c0b..08b92657a1 100644 --- a/lib/private/L10N/Factory.php +++ b/lib/private/L10N/Factory.php @@ -263,7 +263,7 @@ class Factory implements IFactory { } } - if (!$this->requestLanguage) { + if ($app === null && !$this->requestLanguage) { $this->requestLanguage = 'en'; } return 'en'; // Last try: English diff --git a/tests/lib/l10n/factorytest.php b/tests/lib/l10n/factorytest.php index e4c0eab2e6..98bb5ec13c 100644 --- a/tests/lib/l10n/factorytest.php +++ b/tests/lib/l10n/factorytest.php @@ -343,6 +343,15 @@ class FactoryTest extends TestCase { [null, 'de', 'ru', ['de'], 'de', 'ru'], [null, 'de,en', 'ru', ['de'], 'de', 'ru'], [null, 'de-DE,en-US;q=0.8,en;q=0.6', 'ru', ['de'], 'de', 'ru'], + + // Request lang should not be set for apps: Language is available + ['files_pdfviewer', 'de', null, ['de'], 'de', ''], + ['files_pdfviewer', 'de,en', null, ['de'], 'de', ''], + ['files_pdfviewer', 'de-DE,en-US;q=0.8,en;q=0.6', null, ['de'], 'de', ''], + // Request lang should not be set for apps: Language is not available + ['files_pdfviewer', 'de', null, ['ru'], 'en', ''], + ['files_pdfviewer', 'de,en', null, ['ru', 'en'], 'en', ''], + ['files_pdfviewer', 'de-DE,en-US;q=0.8,en;q=0.6', null, ['ru', 'en'], 'en', ''], ]; }