UNPKG

fonteditor-core

Version:

fonts (ttf, woff, woff2, eot, svg, otf) parse, write, transform, glyph adjust.

102 lines (85 loc) 2.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } /** * @file 用于国际化的字符串管理类 * @author mengke01(kekee000@gmail.com) */ function appendLanguage(store, languageList) { languageList.forEach(function (item) { var language = item[0]; store[language] = Object.assign(store[language] || {}, item[1]); }); return store; } /** * 管理国际化字符,根据lang切换语言版本 * * @class I18n * @param {Array} languageList 当前支持的语言列表 * @param {string=} defaultLanguage 默认语言 * languageList = [ * 'en-us', // 语言名称 * langObject // 语言字符串列表 * ] */ var I18n = /*#__PURE__*/function () { function I18n(languageList, defaultLanguage) { _classCallCheck(this, I18n); this.store = appendLanguage({}, languageList); this.setLanguage(defaultLanguage || typeof navigator !== 'undefined' && navigator.language && navigator.language.toLowerCase() || 'en-us'); } /** * 设置语言 * * @param {string} language 语言 * @return {this} */ _createClass(I18n, [{ key: "setLanguage", value: function setLanguage(language) { if (!this.store[language]) { language = 'en-us'; } this.lang = this.store[this.language = language]; return this; } /** * 添加一个语言字符串 * * @param {string} language 语言 * @param {Object} langObject 语言对象 * @return {this} */ }, { key: "addLanguage", value: function addLanguage(language, langObject) { appendLanguage(this.store, [[language, langObject]]); return this; } /** * 获取当前语言字符串 * * @param {string} path 语言路径 * @return {string} 语言字符串 */ }, { key: "get", value: function get(path) { var ref = path.split('.'); var refObject = this.lang; var level; while (refObject != null && (level = ref.shift())) { refObject = refObject[level]; } return refObject != null ? refObject : ''; } }]); return I18n; }(); exports["default"] = I18n;