mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-19 19:57:22 +08:00
42 lines
839 B
TypeScript
42 lines
839 B
TypeScript
import {Injectable} from 'angular2/angular2';
|
|
|
|
@Injectable()
|
|
export class Translate {
|
|
constructor() {
|
|
this._transMap = {};
|
|
}
|
|
|
|
translations(lang, map) {
|
|
this._transMap[lang] = map;
|
|
}
|
|
|
|
setLanguage(lang) {
|
|
this._language = lang;
|
|
}
|
|
|
|
getTranslations(lang) {
|
|
return this._transMap[lang];
|
|
}
|
|
|
|
translate(key, lang) {
|
|
// If the language isn't specified and we have no overridden one, return the string passed.
|
|
if(!lang && !this._language) {
|
|
return key;
|
|
}
|
|
|
|
let setLanguage = lang || this._language;
|
|
|
|
let map = this.getTranslations(setLanguage);
|
|
|
|
if(!map) {
|
|
console.warn('I18N: No translation for key', key, 'using language', setLanguage);
|
|
return '';
|
|
}
|
|
return this._getTranslation(map, key);
|
|
}
|
|
|
|
_getTranslation(map, key) {
|
|
return map && map[key] || '';
|
|
}
|
|
}
|