diff --git a/src/core/services/filepool.ts b/src/core/services/filepool.ts index 7f0908419..9455dfbfb 100644 --- a/src/core/services/filepool.ts +++ b/src/core/services/filepool.ts @@ -97,6 +97,7 @@ export class CoreFilepoolProvider { new RegExp('(\\?|&)forcedownload=[0-1]'), new RegExp('(\\?|&)preview=[A-Za-z0-9]+'), new RegExp('(\\?|&)offline=[0-1]', 'g'), + new RegExp(/(\\?|&)lang=[A-Za-z\-_]+/, 'g'), ]; // To handle file downloads using the queue. diff --git a/src/core/services/lang.ts b/src/core/services/lang.ts index 690724c5c..ec7777d3f 100644 --- a/src/core/services/lang.ts +++ b/src/core/services/lang.ts @@ -249,6 +249,19 @@ export class CoreLangProvider { return format ? this.formatLanguage(this.currentLanguage, format) : this.currentLanguage; } + /** + * Get current language sync. + * + * @returns Current language or undefined. + */ + getCurrentLanguageSync(format?: CoreLangFormat): string | undefined { + if (this.currentLanguage === undefined) { + return; + } + + return format ? this.formatLanguage(this.currentLanguage, format) : this.currentLanguage; + } + /** * Update a language code to the given format. * diff --git a/src/core/services/utils/url.ts b/src/core/services/utils/url.ts index a89f37267..e05a8725b 100644 --- a/src/core/services/utils/url.ts +++ b/src/core/services/utils/url.ts @@ -211,7 +211,8 @@ export class CoreUrlUtilsProvider { url = this.addParamsToUrl(url, { token }); } - return this.addParamsToUrl(url, { offline: '1' }); // Always send offline=1 (it's for external repositories). + // Always send offline=1 (it's for external repositories). + return this.addParamsToUrl(url, { offline: '1', lang: CoreLang.getCurrentLanguageSync(CoreLangFormat.LMS) }); } /**