@zpc_npm/vue-iclient-common
Version:
KQGIS iClient for Vue.js
200 lines (179 loc) • 6.76 kB
JavaScript
/******/ (function() { // webpackBootstrap
/******/ "use strict";
/******/ // The require scope
/******/ var __webpack_require__ = {};
/******/
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ !function() {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function() { return module['default']; } :
/******/ function() { return module; };
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ }();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ !function() {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = function(exports, definition) {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ }();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ !function() {
/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
/******/ }();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ !function() {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ }();
/******/
/************************************************************************/
var __webpack_exports__ = {};
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"default": function() { return /* binding */ _lang; },
"getLanguage": function() { return /* binding */ getLanguage; },
"geti18n": function() { return /* binding */ geti18n; },
"initi18n": function() { return /* binding */ initi18n; },
"lang": function() { return /* binding */ lang; },
"locale": function() { return /* binding */ locale; },
"setLanguage": function() { return /* binding */ setLanguage; },
"setLocale": function() { return /* binding */ setLocale; }
});
;// CONCATENATED MODULE: external "js-cookie"
var external_js_cookie_namespaceObject = require("js-cookie");
var external_js_cookie_default = /*#__PURE__*/__webpack_require__.n(external_js_cookie_namespaceObject);
;// CONCATENATED MODULE: external "@zpc_npm/vue-iclient-common/_lang/en"
var en_namespaceObject = require("@zpc_npm/vue-iclient-common/_lang/en");
var en_default = /*#__PURE__*/__webpack_require__.n(en_namespaceObject);
;// CONCATENATED MODULE: external "@zpc_npm/vue-iclient-common/_lang/zh"
var zh_namespaceObject = require("@zpc_npm/vue-iclient-common/_lang/zh");
var zh_default = /*#__PURE__*/__webpack_require__.n(zh_namespaceObject);
;// CONCATENATED MODULE: external "element-plus/es/locale/lang/zh-cn"
var zh_cn_namespaceObject = require("element-plus/es/locale/lang/zh-cn");
var zh_cn_default = /*#__PURE__*/__webpack_require__.n(zh_cn_namespaceObject);
;// CONCATENATED MODULE: external "element-plus/es/locale/lang/en"
var lang_en_namespaceObject = require("element-plus/es/locale/lang/en");
var lang_en_default = /*#__PURE__*/__webpack_require__.n(lang_en_namespaceObject);
;// CONCATENATED MODULE: external "xe-utils"
var external_xe_utils_namespaceObject = require("xe-utils");
var external_xe_utils_default = /*#__PURE__*/__webpack_require__.n(external_xe_utils_namespaceObject);
;// CONCATENATED MODULE: external "vue-i18n/index.mjs"
var index_mjs_namespaceObject = require("vue-i18n/index.mjs");
;// CONCATENATED MODULE: ./src/common/_lang/index.js
/**
* Author: 朱鹏超
* Date: 2022-11-23
* Description: 国际化配置文件的入口文件,并集成到vue-i18n组件库
* LastEditors: 朱鹏超
*/
const dateTimeFormats = {
en: (en_default()).dateTimeFormat,
zh: (zh_default()).dateTimeFormat
};
const messages = {
en: { ...(lang_en_default()),
...(en_default())
},
zh: { ...(zh_cn_default()),
...(zh_default())
}
};
let i18n = {};
let rooti18n;
function getLanguage() {
let lang = external_js_cookie_default().get("language");
if (!lang) {
if (navigator.appName === "Netscape") {
lang = navigator.language;
} else {
lang = navigator.browserLanguage;
}
}
if (lang) {
if (lang.indexOf("zh") === 0) {
return "zh";
}
if (lang.indexOf("en") === 0) {
return "en";
}
}
return "zh";
}
function setLanguage(lang) {
external_js_cookie_default().set("language", lang);
}
function geti18n() {
return rooti18n || i18n;
}
const locale = {
install(Vue, opts) {
initi18n(Vue, opts);
}
};
function setLocale(locales) {
i18n.global.mergeLocaleMessage && i18n.global.mergeLocaleMessage(i18n.global.locale, locales);
}
const lang = external_xe_utils_default().clone(messages, true);
function initi18n(Vue, config) {
config = config || {};
if (config.i18n) {
i18n = config.i18n;
if (!i18n.global.getDateTimeFormat() || Object.keys(i18n.global.getDateTimeFormat()).length === 0) {
i18n.global.setDateTimeFormat("en", (en_default()).dateTimeFormat);
i18n.global.setDateTimeFormat("zh", (zh_default()).dateTimeFormat);
}
i18n.global.mergeLocaleMessage && i18n.global.mergeLocaleMessage("en", lang.en);
i18n.global.mergeLocaleMessage && i18n.global.mergeLocaleMessage("zh", lang.zh);
} else if (!Object.prototype.hasOwnProperty.call(Vue.config.globalProperties, "$i18n")) {
Object.defineProperty(Vue.config.globalProperties, "$i18n", {
get: function get() {
if (!rooti18n && this.$options && this.$options.i18n) {
rooti18n = this.$options.i18n;
}
return rooti18n || i18n;
}
});
i18n = (0,index_mjs_namespaceObject.createI18n)({
dateTimeFormats,
locale: getLanguage(),
fallbackLocale: "en",
messages
});
Vue.use(i18n);
if (config.locale) {
setLocale(config.locale);
}
const locale = config.i18n || i18n || config.locale;
if (!Vue.iclient) {
Vue.iclient = {
locale
};
} else {
Vue.iclient.locale = locale;
}
}
}
/* harmony default export */ var _lang = (i18n);
module.exports = __webpack_exports__;
/******/ })()
;