mirror of https://github.com/rancher/ui.git
40 lines
1003 B
JavaScript
40 lines
1003 B
JavaScript
import { get } from '@ember/object';
|
|
import { makeArray } from '@ember/array';
|
|
import missingMessage from 'ui/utils/intl/missing-message';
|
|
|
|
export function initialize(instance) {
|
|
let intl = instance.lookup('service:intl');
|
|
let adapter = intl.get('adapter');
|
|
|
|
adapter.reopen({
|
|
_lookup: adapter.lookup,
|
|
lookup(locales, key) {
|
|
locales = makeArray(locales || get(this, 'locale'));
|
|
|
|
if (locales[0] === 'none') {
|
|
return missingMessage(key, locales);
|
|
} else if ( key ) {
|
|
return this._lookup(locales, key);
|
|
} else {
|
|
return this._lookup(locales, 'generic.missing');
|
|
}
|
|
},
|
|
});
|
|
|
|
// @TODO use regular t with htmlSafe instead
|
|
intl.reopen({
|
|
tHtml(key, ...args) {
|
|
const [options] = args;
|
|
const translation = this.findTranslationByKey(key, options && options.locale);
|
|
|
|
return this.formatHtmlMessage(translation, ...args);
|
|
}
|
|
});
|
|
}
|
|
|
|
export default {
|
|
name: 'intl',
|
|
after: 'ember-intl',
|
|
initialize
|
|
};
|