From 4fa6a1f59a454cdd1def02271d613ab9c7c602e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= Date: Sat, 27 Dec 2025 13:35:47 +0800 Subject: [PATCH] =?UTF-8?q?feat(l2):=20=E6=B7=BB=E5=8A=A0=E5=A4=9A?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E9=85=8D=E7=BD=AE=E5=8F=8A=E5=9B=BD=E9=99=85?= =?UTF-8?q?=E5=8C=96=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增klp和g30环境配置文件 - 添加vue-i18n实现中英文切换 - 更新package.json添加环境组相关脚本 - 修改vue.config.js支持多环境配置加载 --- apps/l2/config/g30/.env.development | 26 ++++++++++ apps/l2/config/g30/.env.production | 25 +++++++++ apps/l2/config/g30/.env.staging | 17 +++++++ apps/l2/config/klp/.env.development | 26 ++++++++++ apps/l2/config/klp/.env.production | 23 +++++++++ apps/l2/config/klp/.env.staging | 17 +++++++ apps/l2/package.json | 15 ++++-- apps/l2/src/i18n/en-US.js | 50 ++++++++++++++++++ apps/l2/src/i18n/index.js | 34 +++++++++++++ apps/l2/src/i18n/zh-CN.js | 50 ++++++++++++++++++ apps/l2/src/main.js | 5 +- apps/l2/vue.config.js | 26 ++++++++++ pnpm-lock.yaml | 78 ++++++++++++++--------------- 13 files changed, 349 insertions(+), 43 deletions(-) create mode 100644 apps/l2/config/g30/.env.development create mode 100644 apps/l2/config/g30/.env.production create mode 100644 apps/l2/config/g30/.env.staging create mode 100644 apps/l2/config/klp/.env.development create mode 100644 apps/l2/config/klp/.env.production create mode 100644 apps/l2/config/klp/.env.staging create mode 100644 apps/l2/src/i18n/en-US.js create mode 100644 apps/l2/src/i18n/index.js create mode 100644 apps/l2/src/i18n/zh-CN.js diff --git a/apps/l2/config/g30/.env.development b/apps/l2/config/g30/.env.development new file mode 100644 index 0000000..71e7c5a --- /dev/null +++ b/apps/l2/config/g30/.env.development @@ -0,0 +1,26 @@ +# 页面标题 +VUE_APP_TITLE = 'Galvanizing Line & Production Process Management System' + +# 开发环境配置 +ENV = 'development' + +# 若依管理系统/开发环境 +VUE_APP_BASE_API = '/dev-api' + +# 应用访问路径 例如使用前缀 /admin/ +VUE_APP_CONTEXT_PATH = '/' + +# 监控地址 +VUE_APP_MONITRO_ADMIN = 'http://localhost:9090/admin/login' + +# xxl-job 控制台地址 +VUE_APP_XXL_JOB_ADMIN = 'http://localhost:9100/xxl-job-admin' + +# 路由懒加载 +VUE_CLI_BABEL_TRANSPILE_MODULES = true + +# L2业务后端地址 +VUE_APP_SERVICE_BASE_API = 'http://localhost:8089' + +# 语言配置 +VUE_APP_I18N_LOCALE = 'en-US' diff --git a/apps/l2/config/g30/.env.production b/apps/l2/config/g30/.env.production new file mode 100644 index 0000000..c2e0b1c --- /dev/null +++ b/apps/l2/config/g30/.env.production @@ -0,0 +1,25 @@ +# 页面标题 +VUE_APP_TITLE = 'Galvanizing Line & Production Process Management System' + +# 生产环境配置 +ENV = 'production' + +# 若依管理系统/生产环境 +VUE_APP_BASE_API = '/prod-api' + +# 应用访问路径 例如使用前缀 /admin/ +VUE_APP_CONTEXT_PATH = '/' + +# 监控地址 +VUE_APP_MONITRO_ADMIN = '/admin/login' + +# xxl-job 控制台地址 +VUE_APP_XXL_JOB_ADMIN = '/xxl-job-admin' + +# L2业务后端地址 +VUE_APP_SERVICE_BASE_API = 'http://192.168.5.209:8080' + +# 语言配置 +VUE_APP_I18N_LOCALE = 'en-US' + + diff --git a/apps/l2/config/g30/.env.staging b/apps/l2/config/g30/.env.staging new file mode 100644 index 0000000..a958612 --- /dev/null +++ b/apps/l2/config/g30/.env.staging @@ -0,0 +1,17 @@ +# 页面标题 +VUE_APP_TITLE = 'Galvanizing Line & Production Process Management System' + +BABEL_ENV = development + +NODE_ENV = development + +# 测试环境配置 +ENV = 'staging' + +# 若依管理系统/测试环境 +VUE_APP_BASE_API = '/stage-api' + +VUE_APP_SERVICE_BASE_API = 'http://49.232.87.108:12081' + +# 语言配置 +VUE_APP_I18N_LOCALE = 'en-US' diff --git a/apps/l2/config/klp/.env.development b/apps/l2/config/klp/.env.development new file mode 100644 index 0000000..d18bf5a --- /dev/null +++ b/apps/l2/config/klp/.env.development @@ -0,0 +1,26 @@ +# 页面标题 +VUE_APP_TITLE = 镀锌机组及生产工艺管理系统 + +# 开发环境配置 +ENV = 'development' + +# 接口基础路径,该路径会被代理到 VUE_APP_SERVICE_BASE_API +VUE_APP_BASE_API = '/dev-api' + +# 应用访问路径 例如使用前缀 /admin/ +VUE_APP_CONTEXT_PATH = '/' + +# 监控地址 +VUE_APP_MONITRO_ADMIN = 'http://localhost:9090/admin/login' + +# xxl-job 控制台地址 +VUE_APP_XXL_JOB_ADMIN = 'http://localhost:9100/xxl-job-admin' + +# 路由懒加载 +VUE_CLI_BABEL_TRANSPILE_MODULES = true + +# 代理后的真实后端地址 +VUE_APP_SERVICE_BASE_API = 'http://localhost:8089' + +# 语言配置 +VUE_APP_I18N_LOCALE = 'zh-CN' diff --git a/apps/l2/config/klp/.env.production b/apps/l2/config/klp/.env.production new file mode 100644 index 0000000..40ea251 --- /dev/null +++ b/apps/l2/config/klp/.env.production @@ -0,0 +1,23 @@ +# 页面标题 +VUE_APP_TITLE = 镀锌机组及生产工艺管理系统 + +# 生产环境配置 +ENV = 'production' + +# 若依管理系统/生产环境 +VUE_APP_BASE_API = '/prod-api' + +# 应用访问路径 例如使用前缀 /admin/ +VUE_APP_CONTEXT_PATH = '/' + +# 监控地址 +VUE_APP_MONITRO_ADMIN = '/admin/login' + +# xxl-job 控制台地址 +VUE_APP_XXL_JOB_ADMIN = '/xxl-job-admin' + +# L2业务后端地址 +VUE_APP_SERVICE_BASE_API = 'http://localhost:8089' + +# 语言配置 +VUE_APP_I18N_LOCALE = 'zh-CN' \ No newline at end of file diff --git a/apps/l2/config/klp/.env.staging b/apps/l2/config/klp/.env.staging new file mode 100644 index 0000000..b8c4d40 --- /dev/null +++ b/apps/l2/config/klp/.env.staging @@ -0,0 +1,17 @@ +# 页面标题 +VUE_APP_TITLE = 镀锌机组及生产工艺管理系统 + +BABEL_ENV = development + +NODE_ENV = development + +# 测试环境配置 +ENV = staging + +# 若依管理系统/测试环境 +VUE_APP_BASE_API = /stage-api + +VUE_APP_SERVICE_BASE_API = http://140.143.206.120:10082/prod-api + +# 语言配置 +VUE_APP_I18N_LOCALE = 'zh-CN' diff --git a/apps/l2/package.json b/apps/l2/package.json index 3ffe09d..86f435d 100644 --- a/apps/l2/package.json +++ b/apps/l2/package.json @@ -9,7 +9,13 @@ "stage": "vue-cli-service serve --mode staging", "build:prod": "vue-cli-service build", "build:stage": "vue-cli-service build --mode staging", - "preview": "node build/index.js --preview" + "preview": "node build/index.js --preview", + "klp:dev": "cross-env ENV_GROUP=klp ENV_MODE=development vue-cli-service serve", + "klp:stage": "cross-env ENV_GROUP=klp ENV_MODE=staging vue-cli-service serve", + "klp:build": "cross-env ENV_GROUP=klp ENV_MODE=production vue-cli-service build", + "g30:dev": "cross-env ENV_GROUP=g30 ENV_MODE=development vue-cli-service serve", + "g30:stage": "cross-env ENV_GROUP=g30 ENV_MODE=staging vue-cli-service serve", + "g30:build": "cross-env ENV_GROUP=g30 ENV_MODE=production vue-cli-service build" }, "keywords": [ "vue", @@ -25,10 +31,12 @@ "url": "https://gitee.com/y_project/RuoYi-Vue.git" }, "dependencies": { + "@klp/ruoyi": "workspace:^1.0.0", "@riophae/vue-treeselect": "0.4.0", "axios": "0.28.1", "clipboard": "2.0.8", "core-js": "3.37.1", + "cross-env": "^10.1.0", "dayjs": "^1.11.18", "echarts": "5.4.0", "element-ui": "2.15.14", @@ -48,12 +56,12 @@ "vue": "2.6.12", "vue-count-to": "1.0.13", "vue-cropper": "0.5.5", + "vue-i18n": "8.x", "vue-konva": "^2.1.7", "vue-router": "3.4.9", "vuedraggable": "2.24.3", "vuex": "3.6.0", - "xlsx": "^0.18.5", - "@klp/ruoyi": "workspace:^1.0.0" + "xlsx": "^0.18.5" }, "devDependencies": { "@vue/cli-plugin-babel": "4.4.6", @@ -62,6 +70,7 @@ "chalk": "4.1.0", "compression-webpack-plugin": "6.1.2", "connect": "3.6.6", + "dotenv": "^17.2.3", "sass": "1.32.13", "sass-loader": "10.1.1", "script-ext-html-webpack-plugin": "2.1.5", diff --git a/apps/l2/src/i18n/en-US.js b/apps/l2/src/i18n/en-US.js new file mode 100644 index 0000000..ed720c2 --- /dev/null +++ b/apps/l2/src/i18n/en-US.js @@ -0,0 +1,50 @@ +export default { + common: { + title: 'Galvanizing Line & Production Process Management System', + home: 'Home', + dashboard: 'Dashboard', + system: 'System Management', + monitor: 'System Monitoring', + tool: 'Tools', + logout: 'Logout', + login: 'Login', + register: 'Register', + username: 'Username', + password: 'Password', + remember: 'Remember me', + forgetPassword: 'Forgot password', + submit: 'Submit', + reset: 'Reset', + add: 'Add', + edit: 'Edit', + delete: 'Delete', + view: 'View', + search: 'Search', + refresh: 'Refresh', + save: 'Save', + cancel: 'Cancel', + confirm: 'Confirm', + back: 'Back', + success: 'Success', + error: 'Error', + warning: 'Warning', + info: 'Info', + yes: 'Yes', + no: 'No', + operation: 'Operation', + status: 'Status', + createTime: 'Create Time', + updateTime: 'Update Time', + remark: 'Remark', + pleaseSelect: 'Please select', + pleaseInput: 'Please input', + pleaseEnter: 'Please enter' + }, + dashboard: { + welcome: 'Welcome to Galvanizing Line & Production Process Management System', + todayData: 'Today\'s Data', + totalData: 'Total Data', + onlineUsers: 'Online Users', + systemInfo: 'System Information' + } +} diff --git a/apps/l2/src/i18n/index.js b/apps/l2/src/i18n/index.js new file mode 100644 index 0000000..7cddd7f --- /dev/null +++ b/apps/l2/src/i18n/index.js @@ -0,0 +1,34 @@ +import Vue from 'vue' +import VueI18n from 'vue-i18n' +import ElementLocale from 'element-ui/lib/locale' +import enLocale from 'element-ui/lib/locale/lang/en' +import zhLocale from 'element-ui/lib/locale/lang/zh-CN' + +Vue.use(VueI18n) + +// 从环境变量读取语言设置,优先使用VUE_APP_I18N_LOCALE +const locale = process.env.VUE_APP_I18N_LOCALE || 'zh-CN' + +// 合并系统语言包和Element UI语言包 +const messages = { + 'zh-CN': { + ...require('./zh-CN'), + ...zhLocale + }, + 'en-US': { + ...require('./en-US'), + ...enLocale + } +} + +// 创建i18n实例 +const i18n = new VueI18n({ + locale, + fallbackLocale: 'zh-CN', + messages +}) + +// 设置Element UI的i18n +ElementLocale.i18n((key, value) => i18n.t(key, value)) + +export default i18n diff --git a/apps/l2/src/i18n/zh-CN.js b/apps/l2/src/i18n/zh-CN.js new file mode 100644 index 0000000..8fd909f --- /dev/null +++ b/apps/l2/src/i18n/zh-CN.js @@ -0,0 +1,50 @@ +export default { + common: { + title: '镀锌机组及生产工艺管理系统', + home: '首页', + dashboard: '仪表盘', + system: '系统管理', + monitor: '系统监控', + tool: '工具', + logout: '退出登录', + login: '登录', + register: '注册', + username: '用户名', + password: '密码', + remember: '记住我', + forgetPassword: '忘记密码', + submit: '提交', + reset: '重置', + add: '新增', + edit: '编辑', + delete: '删除', + view: '查看', + search: '搜索', + refresh: '刷新', + save: '保存', + cancel: '取消', + confirm: '确认', + back: '返回', + success: '成功', + error: '错误', + warning: '警告', + info: '提示', + yes: '是', + no: '否', + operation: '操作', + status: '状态', + createTime: '创建时间', + updateTime: '更新时间', + remark: '备注', + pleaseSelect: '请选择', + pleaseInput: '请输入', + pleaseEnter: '请输入' + }, + dashboard: { + welcome: '欢迎使用镀锌机组及生产工艺管理系统', + todayData: '今日数据', + totalData: '累计数据', + onlineUsers: '在线用户', + systemInfo: '系统信息' + } +} diff --git a/apps/l2/src/main.js b/apps/l2/src/main.js index cee09f5..7cf05ff 100644 --- a/apps/l2/src/main.js +++ b/apps/l2/src/main.js @@ -5,6 +5,7 @@ import VueKonva from 'vue-konva'; import Element from 'element-ui' import './assets/styles/element-variables.scss' +import i18n from './i18n' // 引入i18n配置 import '@/assets/styles/index.scss' // global css // import '@/assets/styles/ruoyi.scss' // ruoyi css @@ -72,7 +73,8 @@ DictData.install() */ Vue.use(Element, { - size: Cookies.get('size') || 'small' // set element-ui default size + size: Cookies.get('size') || 'small', // set element-ui default size + i18n: (key, value) => i18n.t(key, value) // i18n support }) Vue.config.productionTip = false @@ -81,5 +83,6 @@ new Vue({ el: '#app', router, store, + i18n, render: h => h(App) }) diff --git a/apps/l2/vue.config.js b/apps/l2/vue.config.js index fd96f0f..61455e3 100644 --- a/apps/l2/vue.config.js +++ b/apps/l2/vue.config.js @@ -1,10 +1,36 @@ 'use strict' const path = require('path') +const dotenv = require('dotenv') +const fs = require('fs') function resolve(dir) { return path.join(__dirname, dir) } +const envGroup = process.env.ENV_GROUP || 'klp' // 默认使用 klp 组 +const envMode = process.env.ENV_MODE || 'development' // 默认使用 development 模式 + +// 2. 拼接环境文件的绝对路径(核心:解决子目录文件找不到问题) +const envFilePath = path.resolve( + process.cwd(), // 项目根目录(避免相对路径歧义) + `config/${envGroup}/.env.${envMode}` // 拼接:config/环境组/.env.环境模式 +) + +// 3. 读取并解析环境文件,注入到 process.env 中 +if (fs.existsSync(envFilePath)) { + // 解析 .env 文件 + const envConfig = dotenv.config({ + path: envFilePath, + override: true + }) + if (envConfig.error) { + throw new Error(`加载 ${envGroup} 环境组 ${envMode} 模式配置失败:${envConfig.error.message}`) + } + console.log(`✅ 成功加载环境配置:${envFilePath}`) +} else { + console.warn(`⚠️ 未找到环境配置文件:${envFilePath},请检查 ENV_GROUP 和 ENV_MODE 配置`) +} + const CompressionPlugin = require('compression-webpack-plugin') const name = process.env.VUE_APP_TITLE || '镀锌机组及生产工艺管理系统' // 网页标题 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e880ede..0d56e5c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,6 +29,9 @@ importers: core-js: specifier: 3.37.1 version: 3.37.1 + cross-env: + specifier: ^10.1.0 + version: 10.1.0 dayjs: specifier: ^1.11.18 version: 1.11.18 @@ -86,6 +89,9 @@ importers: vue-cropper: specifier: 0.5.5 version: 0.5.5 + vue-i18n: + specifier: 8.x + version: 8.28.2(vue@2.6.12) vue-konva: specifier: ^2.1.7 version: 2.1.7(konva@10.0.2) @@ -120,6 +126,9 @@ importers: connect: specifier: 3.6.6 version: 3.6.6 + dotenv: + specifier: ^17.2.3 + version: 17.2.3 sass: specifier: 1.32.13 version: 1.32.13 @@ -469,7 +478,7 @@ importers: version: 1.13.2 element-ui: specifier: ^2.15.14 - version: 2.15.14(vue@2.7.16) + version: 2.15.14(vue@2.6.12) file-saver: specifier: ^2.0.5 version: 2.0.5 @@ -2036,6 +2045,10 @@ packages: vue: 3.5.25(typescript@5.9.3) dev: false + /@epic-web/invariant@1.0.0: + resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==} + dev: false + /@esbuild/aix-ppc64@0.21.5: resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} @@ -3748,16 +3761,6 @@ packages: '@vue/compiler-core': 3.5.25 '@vue/shared': 3.5.25 - /@vue/compiler-sfc@2.7.16: - resolution: {integrity: sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==} - dependencies: - '@babel/parser': 7.28.5 - postcss: 8.5.6 - source-map: 0.6.1 - optionalDependencies: - prettier: 2.8.8 - dev: false - /@vue/compiler-sfc@3.5.22: resolution: {integrity: sha512-tbTR1zKGce4Lj+JLzFXDq36K4vcSZbJ1RBu8FxcDv1IGRz//Dh2EBqksyGVypz3kXpshIfWKGOCcqpSbyGWRJQ==} dependencies: @@ -6208,6 +6211,15 @@ packages: sha.js: 2.4.12 dev: true + /cross-env@10.1.0: + resolution: {integrity: sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==} + engines: {node: '>=20'} + hasBin: true + dependencies: + '@epic-web/invariant': 1.0.0 + cross-spawn: 7.0.6 + dev: false + /cross-spawn@5.1.0: resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} dependencies: @@ -6234,7 +6246,6 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - dev: true /crypto-browserify@3.12.1: resolution: {integrity: sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==} @@ -6927,6 +6938,11 @@ packages: resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==} dev: true + /dotenv@17.2.3: + resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==} + engines: {node: '>=12'} + dev: true + /dotenv@8.6.0: resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} engines: {node: '>=10'} @@ -7059,20 +7075,6 @@ packages: vue: 2.6.12 dev: false - /element-ui@2.15.14(vue@2.7.16): - resolution: {integrity: sha512-2v9fHL0ZGINotOlRIAJD5YuVB8V7WKxrE9Qy7dXhRipa035+kF7WuU/z+tEmLVPBcJ0zt8mOu1DKpWcVzBK8IA==} - peerDependencies: - vue: ^2.5.17 - dependencies: - async-validator: 1.8.5 - babel-helper-vue-jsx-merge-props: 2.0.3 - deepmerge: 1.5.2 - normalize-wheel: 1.0.1 - resize-observer-polyfill: 1.5.1 - throttle-debounce: 1.1.0 - vue: 2.7.16 - dev: false - /elliptic@6.6.1: resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} dependencies: @@ -9746,7 +9748,6 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true /isobject@2.1.0: resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} @@ -11622,7 +11623,6 @@ packages: /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - dev: true /path-key@4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} @@ -12259,6 +12259,7 @@ packages: engines: {node: '>=10.13.0'} hasBin: true requiresBuild: true + dev: true optional: true /prettier@3.7.1: @@ -13244,7 +13245,6 @@ packages: engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 - dev: true /shebang-regex@1.0.0: resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} @@ -13254,7 +13254,6 @@ packages: /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - dev: true /shell-quote@1.8.3: resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} @@ -13498,6 +13497,7 @@ packages: /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} + dev: true /source-map@0.7.6: resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} @@ -15030,6 +15030,15 @@ packages: resolution: {integrity: sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==} dev: true + /vue-i18n@8.28.2(vue@2.6.12): + resolution: {integrity: sha512-C5GZjs1tYlAqjwymaaCPDjCyGo10ajUphiwA922jKt9n7KPpqR7oM1PCwYzhB/E7+nT3wfdG3oRre5raIT1rKA==} + deprecated: Vue I18n v8.x has reached EOL and is no longer actively maintained. About maintenance status, see https://vue-i18n.intlify.dev/guide/maintenance.html + peerDependencies: + vue: ^2 + dependencies: + vue: 2.6.12 + dev: false + /vue-konva@2.1.7(konva@10.0.2): resolution: {integrity: sha512-uKFp1/tGbt9HAcTXukk/PuPtCMfCSmNyU3Feo3Av4XVfcoBgVQA69+H9r2VQMX+Vwphez1qSfGf7ZNstM3nYRw==} engines: {node: '>= 4.0.0', npm: '>= 3.0.0'} @@ -15179,14 +15188,6 @@ packages: resolution: {integrity: sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==} deprecated: Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details. - /vue@2.7.16: - resolution: {integrity: sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==} - deprecated: Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details. - dependencies: - '@vue/compiler-sfc': 2.7.16 - csstype: 3.2.3 - dev: false - /vue@3.5.25(typescript@5.9.3): resolution: {integrity: sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g==} peerDependencies: @@ -15503,7 +15504,6 @@ packages: hasBin: true dependencies: isexe: 2.0.0 - dev: true /wmf@1.0.2: resolution: {integrity: sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==}