forked from CIT/Vmeda.Online
		
	MOBILE-2383 lang: Load parent lang if found
This commit is contained in:
		
							parent
							
								
									4d37865068
								
							
						
					
					
						commit
						bb23a319c8
					
				@ -1412,6 +1412,7 @@
 | 
			
		||||
  "core.openinbrowser": "local_moodlemobileapp",
 | 
			
		||||
  "core.othergroups": "group",
 | 
			
		||||
  "core.pagea": "moodle",
 | 
			
		||||
  "core.parentlanguage": "langconfig",
 | 
			
		||||
  "core.paymentinstant": "moodle",
 | 
			
		||||
  "core.percentagenumber": "local_moodlemobileapp",
 | 
			
		||||
  "core.phone": "moodle",
 | 
			
		||||
 | 
			
		||||
@ -174,6 +174,7 @@
 | 
			
		||||
    "openinbrowser": "Open in browser",
 | 
			
		||||
    "othergroups": "Other groups",
 | 
			
		||||
    "pagea": "Page {{$a}}",
 | 
			
		||||
    "parentlanguage": "",
 | 
			
		||||
    "paymentinstant": "Use the button below to pay and be enrolled within minutes!",
 | 
			
		||||
    "percentagenumber": "{{$a}}%",
 | 
			
		||||
    "phone": "Phone",
 | 
			
		||||
 | 
			
		||||
@ -40,8 +40,7 @@ export class CoreLangProvider {
 | 
			
		||||
 | 
			
		||||
        platform.ready().then(() => {
 | 
			
		||||
            this.getCurrentLanguage().then((language) => {
 | 
			
		||||
                translate.use(language);
 | 
			
		||||
                moment.locale(language);
 | 
			
		||||
                this.changeCurrentLanguage(language);
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
@ -97,7 +96,30 @@ export class CoreLangProvider {
 | 
			
		||||
        // Change the language, resolving the promise when we receive the first value.
 | 
			
		||||
        promises.push(new Promise((resolve, reject): void => {
 | 
			
		||||
            const subscription = this.translate.use(language).subscribe((data) => {
 | 
			
		||||
                resolve(data);
 | 
			
		||||
                // It's a language override, load the original one first.
 | 
			
		||||
                const fallbackLang = this.translate.instant('core.parentlanguage');
 | 
			
		||||
 | 
			
		||||
                if (fallbackLang != '' && fallbackLang != language) {
 | 
			
		||||
                    const fallbackSubs = this.translate.use(fallbackLang).subscribe((fallbackData) => {
 | 
			
		||||
                        data = Object.assign(fallbackData, data);
 | 
			
		||||
                        resolve(data);
 | 
			
		||||
 | 
			
		||||
                        // Data received, unsubscribe. Use a timeout because we can receive a value immediately.
 | 
			
		||||
                        setTimeout(() => {
 | 
			
		||||
                            fallbackSubs.unsubscribe();
 | 
			
		||||
                        });
 | 
			
		||||
                    }, (error) => {
 | 
			
		||||
                        // Resolve with the original language.
 | 
			
		||||
                        resolve(data);
 | 
			
		||||
 | 
			
		||||
                        // Error received, unsubscribe. Use a timeout because we can receive a value immediately.
 | 
			
		||||
                        setTimeout(() => {
 | 
			
		||||
                            fallbackSubs.unsubscribe();
 | 
			
		||||
                        });
 | 
			
		||||
                    });
 | 
			
		||||
                } else {
 | 
			
		||||
                    resolve(data);
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                // Data received, unsubscribe. Use a timeout because we can receive a value immediately.
 | 
			
		||||
                setTimeout(() => {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user