37 lines
1.3 KiB
JavaScript
37 lines
1.3 KiB
JavaScript
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
exports.LocaleBuilder = void 0;
|
||
|
const localeFile_1 = require("./localeFile");
|
||
|
const utilities_1 = require("./utilities");
|
||
|
class LocaleBuilder {
|
||
|
constructor() {
|
||
|
this._locales = {};
|
||
|
}
|
||
|
addLocaleString(locale, key, value) {
|
||
|
this.getLocaleFile(locale).addResource(key, value);
|
||
|
}
|
||
|
getLocaleFileResources(locale) {
|
||
|
locale = LocaleBuilder.fixLocaleCasing(locale);
|
||
|
utilities_1.Utilities.assert(!utilities_1.Utilities.isNullOrUndefined(this._locales[locale]), "requested locale should exist in the manifest: " + locale);
|
||
|
return this.getLocaleFile(locale).getResources();
|
||
|
}
|
||
|
getLocales() {
|
||
|
return Object.keys(this._locales);
|
||
|
}
|
||
|
getLocaleFile(locale) {
|
||
|
locale = LocaleBuilder.fixLocaleCasing(locale);
|
||
|
let localeFile = this._locales[locale];
|
||
|
if (utilities_1.Utilities.isNullOrUndefined(localeFile)) {
|
||
|
localeFile = this._locales[locale] = new localeFile_1.LocaleFile();
|
||
|
}
|
||
|
return localeFile;
|
||
|
}
|
||
|
static fixLocaleCasing(locale) {
|
||
|
if (!utilities_1.Utilities.isNullOrUndefined(locale)) {
|
||
|
return locale.toLowerCase();
|
||
|
}
|
||
|
return locale;
|
||
|
}
|
||
|
}
|
||
|
exports.LocaleBuilder = LocaleBuilder;
|
||
|
//# sourceMappingURL=localeBuilder.js.map
|