UNPKG

@aws-amplify/core

Version:
105 lines (103 loc) 3.07 kB
'use strict'; // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 Object.defineProperty(exports, "__esModule", { value: true }); exports.I18n = void 0; const Logger_1 = require("../Logger"); const I18n_1 = require("./I18n"); const errorHelpers_1 = require("./errorHelpers"); const logger = new Logger_1.ConsoleLogger('I18n'); let _config = { language: null }; let _i18n = null; /** * Export I18n APIs */ class I18n { /** * @static * @method * Configure I18n part * @param {Object} config - Configuration of the I18n */ static configure(config) { logger.debug('configure I18n'); if (!config) { return _config; } _config = Object.assign({}, _config, config.I18n || config); I18n.createInstance(); return _config; } static getModuleName() { return 'I18n'; } /** * @static * @method * Create an instance of I18n for the library */ static createInstance() { logger.debug('create I18n instance'); if (_i18n) { return; } _i18n = new I18n_1.I18n(); } /** * @static @method * Explicitly setting language * @param {String} lang */ static setLanguage(lang) { I18n.checkConfig(); (0, errorHelpers_1.assert)(!!_i18n, errorHelpers_1.I18nErrorCode.NotConfigured); _i18n.setLanguage(lang); } /** * @static @method * Get value * @param {String} key * @param {String} defVal - Default value */ static get(key, defVal) { if (!I18n.checkConfig()) { return typeof defVal === 'undefined' ? key : defVal; } (0, errorHelpers_1.assert)(!!_i18n, errorHelpers_1.I18nErrorCode.NotConfigured); return _i18n.get(key, defVal); } /** * @static * @method * Add vocabularies for one language * @param {String} language - Language of the dictionary * @param {Object} vocabularies - Object that has key-value as dictionary entry */ static putVocabulariesForLanguage(language, vocabularies) { I18n.checkConfig(); (0, errorHelpers_1.assert)(!!_i18n, errorHelpers_1.I18nErrorCode.NotConfigured); _i18n.putVocabulariesForLanguage(language, vocabularies); } /** * @static * @method * Add vocabularies for one language * @param {Object} vocabularies - Object that has language as key, * vocabularies of each language as value */ static putVocabularies(vocabularies) { I18n.checkConfig(); (0, errorHelpers_1.assert)(!!_i18n, errorHelpers_1.I18nErrorCode.NotConfigured); _i18n.putVocabularies(vocabularies); } static checkConfig() { if (!_i18n) { I18n.createInstance(); } return true; } } exports.I18n = I18n; // Create an instance of I18n in the static class I18n.createInstance(); //# sourceMappingURL=index.js.map