ngx-admin-lte
Version:
AdminLTE theme for angular
51 lines • 7.28 kB
JavaScript
import * as tslib_1 from "tslib";
import { Injectable } from '@angular/core';
import { TranslateService as NGXTranslateService } from '@ngx-translate/core';
import { UserService } from './user.service';
const langs = ['en', 'fr', 'ru', 'he', 'zh', 'pt', 'it'];
const langmatch = /en|fr|ru|he|zh|pt|it/;
let TranslateService = class TranslateService {
constructor(userServ, translate) {
this.userServ = userServ;
this.translate = translate;
this.lang = 'us';
translate.addLangs(langs);
// this language will be used as a fallback when a translation isn't found in the current language
translate.setDefaultLang('en');
this.userServ.getCurrent().subscribe((user) => {
this.currentUser = user;
// the lang to use, if the lang isn't available, it will use the current loader to get them
const browserLang = this.translate.getBrowserLang();
const browserCultureLang = this.translate.getBrowserCultureLang();
console.log('Detected browser language: "' + browserCultureLang + '"');
// check if current User has a Preferred Language set, and it differs from his browser lang
let useLang = 'en';
const prefLang = (this.currentUser) ? this.currentUser.preferredLang : null;
if (!prefLang) {
useLang = browserLang.match(langmatch) ? browserLang : 'en';
}
else {
console.log('Detected User preferred language: "' + prefLang + '"');
useLang = prefLang.match(langmatch) ? prefLang : 'en';
}
this.translate.use(useLang);
console.log('Translation language has been set to: "' + useLang + '"');
// translate.use( 'ru' );
});
}
ngOnInit() {
// TODO
}
getTranslate() {
return this.translate;
}
};
TranslateService.ctorParameters = () => [
{ type: UserService },
{ type: NGXTranslateService }
];
TranslateService = tslib_1.__decorate([
Injectable()
], TranslateService);
export { TranslateService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYWRtaW4tbHRlLyIsInNvdXJjZXMiOlsic2VydmljZXMvdHJhbnNsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixJQUFJLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDekQsTUFBTSxTQUFTLEdBQUcsc0JBQXNCLENBQUM7QUFHekMsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7SUFJekIsWUFBcUIsUUFBcUIsRUFBVSxTQUE4QjtRQUE3RCxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFIMUUsU0FBSSxHQUFHLElBQUksQ0FBQztRQUloQixTQUFTLENBQUMsUUFBUSxDQUFFLEtBQUssQ0FBRSxDQUFDO1FBQzVCLGtHQUFrRztRQUNsRyxTQUFTLENBQUMsY0FBYyxDQUFFLElBQUksQ0FBRSxDQUFDO1FBRWpDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUUsSUFBVSxFQUFHLEVBQUU7WUFDbEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFFeEIsMkZBQTJGO1lBQzNGLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDbEUsT0FBTyxDQUFDLEdBQUcsQ0FBRSw4QkFBOEIsR0FBRyxrQkFBa0IsR0FBRyxHQUFHLENBQUUsQ0FBQztZQUV6RSwyRkFBMkY7WUFDM0YsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ25CLE1BQU0sUUFBUSxHQUFHLENBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzlFLElBQUssQ0FBQyxRQUFRLEVBQUc7Z0JBQ2IsT0FBTyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUUsU0FBUyxDQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2FBQ2pFO2lCQUFNO2dCQUNILE9BQU8sQ0FBQyxHQUFHLENBQUUscUNBQXFDLEdBQUcsUUFBUSxHQUFHLEdBQUcsQ0FBRSxDQUFDO2dCQUN0RSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBRSxTQUFTLENBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7YUFDM0Q7WUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBRSxPQUFPLENBQUUsQ0FBQztZQUM5QixPQUFPLENBQUMsR0FBRyxDQUFFLHlDQUF5QyxHQUFHLE9BQU8sR0FBRyxHQUFHLENBQUUsQ0FBQztZQUN6RSx5QkFBeUI7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sUUFBUTtRQUNYLE9BQU87SUFDWCxDQUFDO0lBRU0sWUFBWTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0NBRUosQ0FBQTs7WUFwQ2tDLFdBQVc7WUFBcUIsbUJBQW1COztBQUp6RSxnQkFBZ0I7SUFENUIsVUFBVSxFQUFFO0dBQ0EsZ0JBQWdCLENBd0M1QjtTQXhDWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgYXMgTkdYVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuL3VzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vbW9kZWxzL3VzZXInO1xuXG5jb25zdCBsYW5ncyA9IFsnZW4nLCAnZnInLCAncnUnLCAnaGUnLCAnemgnLCAncHQnLCAnaXQnXTtcbmNvbnN0IGxhbmdtYXRjaCA9IC9lbnxmcnxydXxoZXx6aHxwdHxpdC87XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVTZXJ2aWNlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcml2YXRlIGxhbmcgPSAndXMnO1xuICAgIHByaXZhdGUgY3VycmVudFVzZXI6IFVzZXI7XG5cbiAgICBjb25zdHJ1Y3RvciggcHJpdmF0ZSB1c2VyU2VydjogVXNlclNlcnZpY2UsIHByaXZhdGUgdHJhbnNsYXRlOiBOR1hUcmFuc2xhdGVTZXJ2aWNlICkge1xuICAgICAgICB0cmFuc2xhdGUuYWRkTGFuZ3MoIGxhbmdzICk7XG4gICAgICAgIC8vIHRoaXMgbGFuZ3VhZ2Ugd2lsbCBiZSB1c2VkIGFzIGEgZmFsbGJhY2sgd2hlbiBhIHRyYW5zbGF0aW9uIGlzbid0IGZvdW5kIGluIHRoZSBjdXJyZW50IGxhbmd1YWdlXG4gICAgICAgIHRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZyggJ2VuJyApO1xuXG4gICAgICAgIHRoaXMudXNlclNlcnYuZ2V0Q3VycmVudCgpLnN1YnNjcmliZSgoIHVzZXI6IFVzZXIgKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRVc2VyID0gdXNlcjtcblxuICAgICAgICAgICAgLy8gdGhlIGxhbmcgdG8gdXNlLCBpZiB0aGUgbGFuZyBpc24ndCBhdmFpbGFibGUsIGl0IHdpbGwgdXNlIHRoZSBjdXJyZW50IGxvYWRlciB0byBnZXQgdGhlbVxuICAgICAgICAgICAgY29uc3QgYnJvd3NlckxhbmcgPSB0aGlzLnRyYW5zbGF0ZS5nZXRCcm93c2VyTGFuZygpO1xuICAgICAgICAgICAgY29uc3QgYnJvd3NlckN1bHR1cmVMYW5nID0gdGhpcy50cmFuc2xhdGUuZ2V0QnJvd3NlckN1bHR1cmVMYW5nKCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyggJ0RldGVjdGVkIGJyb3dzZXIgbGFuZ3VhZ2U6IFwiJyArIGJyb3dzZXJDdWx0dXJlTGFuZyArICdcIicgKTtcblxuICAgICAgICAgICAgLy8gY2hlY2sgaWYgY3VycmVudCBVc2VyIGhhcyBhIFByZWZlcnJlZCBMYW5ndWFnZSBzZXQsIGFuZCBpdCBkaWZmZXJzIGZyb20gaGlzIGJyb3dzZXIgbGFuZ1xuICAgICAgICAgICAgbGV0IHVzZUxhbmcgPSAnZW4nO1xuICAgICAgICAgICAgY29uc3QgcHJlZkxhbmcgPSAoIHRoaXMuY3VycmVudFVzZXIgKSA/IHRoaXMuY3VycmVudFVzZXIucHJlZmVycmVkTGFuZyA6IG51bGw7XG4gICAgICAgICAgICBpZiAoICFwcmVmTGFuZyApIHtcbiAgICAgICAgICAgICAgICB1c2VMYW5nID0gYnJvd3NlckxhbmcubWF0Y2goIGxhbmdtYXRjaCApID8gYnJvd3NlckxhbmcgOiAnZW4nO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyggJ0RldGVjdGVkIFVzZXIgcHJlZmVycmVkIGxhbmd1YWdlOiBcIicgKyBwcmVmTGFuZyArICdcIicgKTtcbiAgICAgICAgICAgICAgICB1c2VMYW5nID0gcHJlZkxhbmcubWF0Y2goIGxhbmdtYXRjaCApID8gcHJlZkxhbmcgOiAnZW4nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUudXNlKCB1c2VMYW5nICk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyggJ1RyYW5zbGF0aW9uIGxhbmd1YWdlIGhhcyBiZWVuIHNldCB0bzogXCInICsgdXNlTGFuZyArICdcIicgKTtcbiAgICAgICAgICAgIC8vIHRyYW5zbGF0ZS51c2UoICdydScgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBUT0RPXG4gICAgfVxuXG4gICAgcHVibGljIGdldFRyYW5zbGF0ZSgpOiBOR1hUcmFuc2xhdGVTZXJ2aWNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlO1xuICAgIH1cblxufVxuIl19