diff --git a/src/assets/lang/en.json b/src/assets/lang/en.json index c5e9e5631..20432a540 100644 --- a/src/assets/lang/en.json +++ b/src/assets/lang/en.json @@ -1316,7 +1316,7 @@ "core.back": "Back", "core.block.blocks": "Blocks", "core.cancel": "Cancel", - "core.cannotconnect": "Cannot connect: Verify that you have correctly typed the URL and that your site uses Moodle 2.4 or later.", + "core.cannotconnect": "Cannot connect: Verify that you have correctly typed the URL and that your site uses Moodle 3.1 or later.", "core.cannotdownloadfiles": "File downloading is disabled. Please contact your site administrator.", "core.captureaudio": "Record audio", "core.capturedimage": "Taken picture.", diff --git a/src/providers/lang.ts b/src/providers/lang.ts index 58838037f..14c478d9b 100644 --- a/src/providers/lang.ts +++ b/src/providers/lang.ts @@ -315,6 +315,8 @@ export class CoreLangProvider { return; } + let currentLangChanged = false; + const list: string[] = strings.split(/(?:\r\n|\r|\n)/); list.forEach((entry: string) => { const values: string[] = entry.split('|'); @@ -327,6 +329,10 @@ export class CoreLangProvider { lang = values[2].replace(/_/g, '-'); // Use the app format instead of Moodle format. + if (lang == this.currentLanguage) { + currentLangChanged = true; + } + if (!this.customStrings[lang]) { this.customStrings[lang] = {}; } @@ -340,6 +346,14 @@ export class CoreLangProvider { }); this.customStringsRaw = strings; + + if (currentLangChanged) { + // Some lang strings have changed, emit an event to update the pipes. + this.translate.onLangChange.emit({ + lang: this.currentLanguage, + translations: this.translate.translations[this.currentLanguage] + }); + } } /**