Outlook_Addin_LLM/node_modules/office-addin-manifest-converter/lib/localeBuilder.js

37 lines
1.3 KiB
JavaScript
Raw Normal View History

"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