gc_i18n 1.5.0 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.qoder/repowiki/zh/content//346/240/270/345/277/203/345/272/223/345/256/236/347/216/260.md +0 -5
- package/.qoder/repowiki/zh/content//350/257/255/350/250/200/350/265/204/346/272/220/347/256/241/347/220/206.md +121 -13
- package/.qoder/repowiki/zh/content//351/253/230/347/272/247/347/224/250/346/263/225/Vue /347/244/272/344/276/213/351/241/271/347/233/256.md" +35 -1
- package/.qoder/repowiki/zh/content//351/253/230/347/272/247/347/224/250/346/263/225//346/236/204/345/273/272/347/263/273/347/273/237.md +43 -26
- package/.qoder/repowiki/zh/content//351/253/230/347/272/247/347/224/250/346/263/225//351/253/230/347/272/247/347/224/250/346/263/225.md +599 -8
- package/.qoder/repowiki/zh/meta/repowiki-metadata.json +1 -1
- package/lib/gc_i18n.es.js +79 -73
- package/lib/gc_i18n.umd.js +1 -1
- package/package.json +1 -1
- package/packages/index.js +17 -6
package/.qoder/repowiki/zh/content//346/240/270/345/277/203/345/272/223/345/256/236/347/216/260.md
CHANGED
|
@@ -2324,11 +2324,6 @@ export const getLanguagesWithCache = async ({
|
|
|
2324
2324
|
}));
|
|
2325
2325
|
}
|
|
2326
2326
|
|
|
2327
|
-
// 从 API 获取
|
|
2328
|
-
if (!appCode) {
|
|
2329
|
-
return [];
|
|
2330
|
-
}
|
|
2331
|
-
|
|
2332
2327
|
try {
|
|
2333
2328
|
const res = await http.get(`${baseUrl}/i18n-web//app/getsupportedlangs`, {
|
|
2334
2329
|
headers: {
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
<cite>
|
|
4
4
|
**本文档中引用的文件**
|
|
5
|
-
- [index.js](file://lang/index.js) -
|
|
5
|
+
- [index.js](file://lang/index.js) - *改进了安装和初始化过程,新增了中文语言支持的消息配置对象*
|
|
6
6
|
- [index.json](file://lang/index.json) - *包含138个翻译键,新增阿拉伯语支持*
|
|
7
|
-
- [packages/index.js](file://packages/index.js) - *自包含的翻译系统实现,API
|
|
7
|
+
- [packages/index.js](file://packages/index.js) - *自包含的翻译系统实现,API更加简洁,增强了全局组件注册*
|
|
8
8
|
- [utils.js](file://packages/libs/utils.js) - *RTL语言支持和工具函数*
|
|
9
9
|
- [service.js](file://packages/libs/service.js) - *语言数据获取和缓存机制*
|
|
10
10
|
- [textEditMode.js](file://packages/libs/textEditMode.js) - *文本编辑模式功能*
|
|
@@ -15,13 +15,12 @@
|
|
|
15
15
|
|
|
16
16
|
## 更新摘要
|
|
17
17
|
**已做更改**
|
|
18
|
-
- 更新了[语言资源组织与加载机制](#语言资源组织与加载机制)
|
|
19
|
-
- 更新了[多语言数据导出机制](#多语言数据导出机制)
|
|
20
|
-
-
|
|
21
|
-
- 更新了[
|
|
22
|
-
- 新增了[
|
|
23
|
-
- 更新了[
|
|
24
|
-
- 更新了[文本编辑模式功能](#文本编辑模式功能)以反映简化的实现
|
|
18
|
+
- 更新了[语言资源组织与加载机制](#语言资源组织与加载机制)以反映改进的安装和初始化过程
|
|
19
|
+
- 更新了[多语言数据导出机制](#多语言数据导出机制)以反映新增的中文语言支持配置
|
|
20
|
+
- 更新了[全局组件注册机制](#全局组件注册机制)以反映增强的组件挂载功能
|
|
21
|
+
- 更新了[简化的API设计](#简化的api设计)以反映改进的 `$t` 函数挂载逻辑
|
|
22
|
+
- 新增了[中文语言支持配置](#中文语言支持配置)章节,说明新增的消息配置对象
|
|
23
|
+
- 更新了[动态加载策略](#动态加载策略)以反映改进的初始化流程
|
|
25
24
|
|
|
26
25
|
## 目录
|
|
27
26
|
1. [项目结构](#项目结构)
|
|
@@ -43,6 +42,8 @@
|
|
|
43
42
|
17. [文本编辑模式功能](#文本编辑模式功能)
|
|
44
43
|
18. [快捷键绑定机制](#快捷键绑定机制)
|
|
45
44
|
19. [文本编辑模式样式系统](#文本编辑模式样式系统)
|
|
45
|
+
20. [中文语言支持配置](#中文语言支持配置)
|
|
46
|
+
21. [全局组件注册机制](#全局组件注册机制)
|
|
46
47
|
|
|
47
48
|
## 项目结构
|
|
48
49
|
|
|
@@ -197,20 +198,31 @@ const english = $t('welcome', 'Welcome'); // "欢迎"(fallback)
|
|
|
197
198
|
import gc_i18n from "../packages/index.js";
|
|
198
199
|
|
|
199
200
|
const i18n = new gc_i18n({
|
|
200
|
-
appCode: "TEST",
|
|
201
|
+
appCode: "TEST-SRC",
|
|
201
202
|
orgCode: import.meta.env.MODE === "unit" ? "DD" : "GREENCLOUD",
|
|
202
203
|
env: "dev",
|
|
204
|
+
messages: {
|
|
205
|
+
"zh-CN": {
|
|
206
|
+
test: "测试"
|
|
207
|
+
}
|
|
208
|
+
},
|
|
203
209
|
login: false
|
|
204
210
|
});
|
|
205
211
|
|
|
206
212
|
export default {
|
|
207
213
|
install(app, router) {
|
|
208
|
-
|
|
214
|
+
// Vue 2 下 app 为 Vue 构造函数,需传入以正确注册 VueI18n
|
|
215
|
+
// 调用实例的 install 方法来注册全局组件和挂载 $t
|
|
216
|
+
i18n.install(app);
|
|
217
|
+
// 设置 router(如果传入)
|
|
218
|
+
if (router) {
|
|
219
|
+
i18n.setRouter(router);
|
|
220
|
+
}
|
|
209
221
|
}
|
|
210
222
|
};
|
|
211
223
|
```
|
|
212
224
|
|
|
213
|
-
**更新** 简化后的实现移除了复杂的Vue
|
|
225
|
+
**更新** 简化后的实现移除了复杂的Vue插件注册过程,采用更直接的实例化方式,并新增了中文语言支持的消息配置对象。
|
|
214
226
|
|
|
215
227
|
**节来源**
|
|
216
228
|
- [index.js](file://lang/index.js)
|
|
@@ -704,4 +716,100 @@ ModalContent --> EditForm
|
|
|
704
716
|
- [packages/libs/textEditMode.js](file://packages/libs/textEditMode.js)
|
|
705
717
|
|
|
706
718
|
**节来源**
|
|
707
|
-
- [packages/libs/textEditMode.js](file://packages/libs/textEditMode.js)
|
|
719
|
+
- [packages/libs/textEditMode.js](file://packages/libs/textEditMode.js)
|
|
720
|
+
|
|
721
|
+
## 中文语言支持配置
|
|
722
|
+
|
|
723
|
+
### 配置对象结构
|
|
724
|
+
|
|
725
|
+
系统现在支持在`lang/index.js`中直接配置中文语言支持的消息对象:
|
|
726
|
+
|
|
727
|
+
```javascript
|
|
728
|
+
const i18n = new gc_i18n({
|
|
729
|
+
appCode: "TEST-SRC",
|
|
730
|
+
orgCode: import.meta.env.MODE === "unit" ? "DD" : "GREENCLOUD",
|
|
731
|
+
env: "dev",
|
|
732
|
+
messages: {
|
|
733
|
+
"zh-CN": {
|
|
734
|
+
test: "测试"
|
|
735
|
+
}
|
|
736
|
+
},
|
|
737
|
+
login: false
|
|
738
|
+
});
|
|
739
|
+
```
|
|
740
|
+
|
|
741
|
+
### 配置特点
|
|
742
|
+
|
|
743
|
+
1. **直接配置**:通过`messages`选项直接提供语言配置
|
|
744
|
+
2. **多语言支持**:支持同时配置多种语言的消息
|
|
745
|
+
3. **灵活扩展**:可以根据需要添加更多语言配置
|
|
746
|
+
4. **环境适配**:支持基于环境变量的配置切换
|
|
747
|
+
|
|
748
|
+
### 使用场景
|
|
749
|
+
|
|
750
|
+
这种配置方式特别适用于:
|
|
751
|
+
- 需要在应用启动时就提供本地翻译的场景
|
|
752
|
+
- 团队内部开发阶段的快速测试
|
|
753
|
+
- 需要离线运行的应用环境
|
|
754
|
+
- 对翻译数据进行本地化定制的场景
|
|
755
|
+
|
|
756
|
+
**节来源**
|
|
757
|
+
- [index.js](file://lang/index.js)
|
|
758
|
+
|
|
759
|
+
## 全局组件注册机制
|
|
760
|
+
|
|
761
|
+
### 增强的组件注册
|
|
762
|
+
|
|
763
|
+
系统在`packages/index.js`中增强了全局组件注册功能,通过`install`方法自动注册全局组件:
|
|
764
|
+
|
|
765
|
+
```javascript
|
|
766
|
+
install(app, opts = {}) {
|
|
767
|
+
// 兼容 Vue 2 和 Vue 3
|
|
768
|
+
if (isVue2) {
|
|
769
|
+
// Vue 2: 直接在 Vue 原型上挂载 $t 和 $i18n
|
|
770
|
+
const Vue = VueDemi;
|
|
771
|
+
Vue.prototype.$t = this.t || globalThis.$t;
|
|
772
|
+
Vue.prototype.$i18n = this.i18n;
|
|
773
|
+
} else {
|
|
774
|
+
// Vue 3: 通过 globalProperties 挂载 $t 和 $i18n
|
|
775
|
+
app.config.globalProperties.$t = this.t || globalThis.$t;
|
|
776
|
+
app.config.globalProperties.$i18n = this.i18n;
|
|
777
|
+
}
|
|
778
|
+
|
|
779
|
+
// 自动注册全局组件,传入 baseUrl
|
|
780
|
+
app.component("i18n-earth", {
|
|
781
|
+
...earthVue,
|
|
782
|
+
props: {
|
|
783
|
+
...earthVue.props,
|
|
784
|
+
baseUrl: {
|
|
785
|
+
type: String,
|
|
786
|
+
default: this.baseUrl
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
});
|
|
790
|
+
|
|
791
|
+
window.top.addEventListener("message", (event) => {
|
|
792
|
+
// 处理消息事件
|
|
793
|
+
});
|
|
794
|
+
}
|
|
795
|
+
```
|
|
796
|
+
|
|
797
|
+
### 组件注册特点
|
|
798
|
+
|
|
799
|
+
1. **自动注册**:通过`install`方法自动注册全局组件
|
|
800
|
+
2. **Vue版本兼容**:同时支持Vue 2和Vue 3的组件注册方式
|
|
801
|
+
3. **属性传递**:向注册的组件传递必要的属性(如baseUrl)
|
|
802
|
+
4. **事件监听**:自动监听来自父窗口的消息事件
|
|
803
|
+
|
|
804
|
+
### 使用方式
|
|
805
|
+
|
|
806
|
+
```javascript
|
|
807
|
+
// 在应用中使用
|
|
808
|
+
app.use(i18n);
|
|
809
|
+
|
|
810
|
+
// 在组件中使用
|
|
811
|
+
<i18n-earth />
|
|
812
|
+
```
|
|
813
|
+
|
|
814
|
+
**节来源**
|
|
815
|
+
- [packages/index.js](file://packages/index.js)
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
- 移除外置 i18n 依赖,简化示例项目配置
|
|
35
35
|
- 更新 Vite 插件配置说明以反映最新变更
|
|
36
36
|
- 修正 Vue 2 示例项目中的环境配置
|
|
37
|
+
- 新增测试翻译键值增强测试覆盖范围,包括 'cxyw93'、'ycy5no5'、'lws22' 等键值
|
|
37
38
|
|
|
38
39
|
## 目录
|
|
39
40
|
1. [项目简介](#项目简介)
|
|
@@ -331,6 +332,27 @@ Prod --> CDNURL[CDN URL]
|
|
|
331
332
|
- [lang/index.js:1-20](file://lang/index.js#L1-L20)
|
|
332
333
|
- [packages/index.js:1-639](file://packages/index.js#L1-L639)
|
|
333
334
|
|
|
335
|
+
### 测试翻译键值扩展
|
|
336
|
+
|
|
337
|
+
**更新** 最新版本中,Vue 2 和 Vue 3 测试应用新增了多个翻译键值用于增强测试覆盖范围:
|
|
338
|
+
|
|
339
|
+
#### Vue 3 测试应用新增键值
|
|
340
|
+
- **ycy5no5**: 中文-发财 / 中文-發財(用于测试特殊字符和货币相关翻译)
|
|
341
|
+
- **lws22**: 繁体 / 繁體(用于测试繁简体转换)
|
|
342
|
+
|
|
343
|
+
#### Vue 2 测试应用新增键值
|
|
344
|
+
- **cxyw93**: 发财: / 發財:(用于测试带冒号的特殊格式翻译)
|
|
345
|
+
|
|
346
|
+
这些新增的测试键值增强了以下测试场景:
|
|
347
|
+
- 特殊字符和标点符号处理
|
|
348
|
+
- 货币和商业相关术语翻译
|
|
349
|
+
- 繁简体中文转换验证
|
|
350
|
+
- 格式化字符串和占位符处理
|
|
351
|
+
|
|
352
|
+
**章节来源**
|
|
353
|
+
- [example/vue3-test/lang/index.json:10-17](file://example/vue3-test/lang/index.json#L10-L17)
|
|
354
|
+
- [example/vue2-test/lang/index.json:26-29](file://example/vue2-test/lang/index.json#L26-L29)
|
|
355
|
+
|
|
334
356
|
## 依赖关系分析
|
|
335
357
|
|
|
336
358
|
### 核心依赖关系
|
|
@@ -476,6 +498,16 @@ ReturnData --> End
|
|
|
476
498
|
2. 检查 Vite 插件配置中的环境设置
|
|
477
499
|
3. 验证翻译键提取和语言文件生成功能
|
|
478
500
|
|
|
501
|
+
#### 测试键值访问问题
|
|
502
|
+
|
|
503
|
+
**问题**: 新增的测试翻译键值无法正确显示
|
|
504
|
+
|
|
505
|
+
**排查步骤**:
|
|
506
|
+
1. 确认语言文件中包含新增键值定义
|
|
507
|
+
2. 验证键值名称与模板中的调用一致
|
|
508
|
+
3. 检查语言包加载顺序和缓存状态
|
|
509
|
+
4. 确认测试应用的路由和组件正确初始化
|
|
510
|
+
|
|
479
511
|
**章节来源**
|
|
480
512
|
- [README.md:21-51](file://README.md#L21-L51)
|
|
481
513
|
- [packages/index.js:240-343](file://packages/index.js#L240-L343)
|
|
@@ -492,4 +524,6 @@ gc_i18n 提供了一个完整、灵活且高性能的国际化解决方案。其
|
|
|
492
524
|
5. **性能优化**: 多层次缓存和异步加载机制
|
|
493
525
|
6. **易于集成**: 简洁的 API 设计和灵活的配置选项
|
|
494
526
|
|
|
495
|
-
**更新** 最新版本中,开发环境配置已更新为 'dev',移除外置 i18n 依赖,简化了示例项目的配置复杂度。这些变更使得项目更加轻量化,同时保持了完整的国际化功能。Vue 2 和 Vue 3 示例项目都已适配新的配置要求,为开发者提供了更好的开发体验。
|
|
527
|
+
**更新** 最新版本中,开发环境配置已更新为 'dev',移除外置 i18n 依赖,简化了示例项目的配置复杂度。这些变更使得项目更加轻量化,同时保持了完整的国际化功能。Vue 2 和 Vue 3 示例项目都已适配新的配置要求,为开发者提供了更好的开发体验。
|
|
528
|
+
|
|
529
|
+
**新增** 测试翻译键值的扩展进一步增强了系统的测试覆盖范围,包括特殊字符处理、货币术语翻译、繁简体转换验证等功能,为国际化应用的稳定性和可靠性提供了更好的保障。
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
- 完善了构建产物的样式处理机制
|
|
30
30
|
- 增强了 Vite 插件配置的具体示例和最佳实践
|
|
31
31
|
- 更新了 Vue2 和 Vue3 的兼容性配置指南
|
|
32
|
+
- **版本升级**:package.json 升级到 1.5.0 版本,反映维护和增强更新
|
|
32
33
|
|
|
33
34
|
## 目录
|
|
34
35
|
1. [简介](#简介)
|
|
@@ -47,6 +48,8 @@ gc_i18n 是一个基于 Vue 3 和 Vite 的国际化解决方案库。该项目
|
|
|
47
48
|
|
|
48
49
|
**更新** 项目现已转向使用 PNPM 作为包管理器,通过 `pnpm-workspace.yaml` 配置文件支持工作区管理。构建系统经过优化,移除了对 vue-i18n 的外部依赖配置,使构建过程更加简洁高效。现在系统完全基于内部实现的轻量级 i18n 功能,不再依赖外部 vue-i18n 库。同时新增了对 `vite-gc-i18n-plugin` 插件的完整配置示例,展示了如何在Vue2和Vue3项目中正确集成和使用该插件。
|
|
49
50
|
|
|
51
|
+
**版本更新** 项目版本已升级至 1.5.0,这是一个维护和增强版本,包含了最新的依赖更新和构建优化。版本号反映了项目在稳定性和功能完善方面的持续改进。
|
|
52
|
+
|
|
50
53
|
## 项目结构
|
|
51
54
|
|
|
52
55
|
该项目采用模块化的组织方式,主要包含以下几个核心部分:
|
|
@@ -112,6 +115,8 @@ end
|
|
|
112
115
|
|
|
113
116
|
**更新** 项目现已转向使用 PNPM 作为包管理器,通过 `pnpm-workspace.yaml` 配置文件支持工作区管理。构建系统经过优化,移除了对 vue-i18n 的外部依赖配置,使构建过程更加简洁高效。现在只保留必要的依赖项,如 vue、vue-demi、axios、lodash-es 等核心库。
|
|
114
117
|
|
|
118
|
+
**版本更新** 构建配置已更新以支持新的依赖版本,包括 Vite 6.1.0、Vue 3.5.13 等最新版本,确保与现代开发环境的兼容性。
|
|
119
|
+
|
|
115
120
|
### 轻量级 I18n 核心类
|
|
116
121
|
|
|
117
122
|
I18n 类是整个系统的核心,提供了完整的国际化功能:
|
|
@@ -283,6 +288,8 @@ J --> K
|
|
|
283
288
|
|
|
284
289
|
**更新** 项目现已转向使用 PNPM 作为包管理器,通过 `pnpm-workspace.yaml` 配置文件支持工作区管理。构建系统经过优化,移除了对 vue-i18n 的外部依赖配置,现在只包含必要的依赖项,使构建过程更加简洁高效。
|
|
285
290
|
|
|
291
|
+
**版本更新** 构建系统已升级到支持 Vite 6.1.0 和 Vue 3.5.13,提供了更好的性能和兼容性。外部依赖配置已优化,移除了不必要的 vue-i18n 依赖,减少了包体积。
|
|
292
|
+
|
|
286
293
|
**章节来源**
|
|
287
294
|
- [vite.config.js:10-66](file://vite.config.js#L10-L66)
|
|
288
295
|
- [package.json:21-48](file://package.json#L21-L48)
|
|
@@ -342,6 +349,8 @@ I --> J
|
|
|
342
349
|
|
|
343
350
|
**更新** 新增了 `vite-gc-i18n-plugin` 插件配置,支持应用代码的自动国际化处理。该插件现在是构建系统的重要组成部分,提供编译时的国际化功能。
|
|
344
351
|
|
|
352
|
+
**版本更新** 插件系统已升级到支持 vite-gc-i18n-plugin 1.0.4 版本,提供了更好的编译时国际化处理能力和更稳定的性能表现。
|
|
353
|
+
|
|
345
354
|
**章节来源**
|
|
346
355
|
- [vite.config.js:59-66](file://vite.config.js#L59-L66)
|
|
347
356
|
|
|
@@ -421,6 +430,8 @@ export default defineConfig({
|
|
|
421
430
|
3. **Vue3 简化配置**:无需额外参数,直接使用即可
|
|
422
431
|
4. **环境配置**:支持 local、dev、prod 三种环境模式
|
|
423
432
|
|
|
433
|
+
**版本更新** 插件配置已更新以支持最新的 vite-gc-i18n-plugin 1.0.4 版本,提供了更好的性能和稳定性。
|
|
434
|
+
|
|
424
435
|
**章节来源**
|
|
425
436
|
- [example/VITE_PLUGIN_CONFIG.md:1-161](file://example/VITE_PLUGIN_CONFIG.md#L1-L161)
|
|
426
437
|
- [example/vue2-test/vite.config.js:1-23](file://example/vue2-test/vite.config.js#L1-L23)
|
|
@@ -477,6 +488,8 @@ G --> H[统一版本管理]
|
|
|
477
488
|
|
|
478
489
|
**更新** 通过 `ignoredBuiltDependencies` 配置,项目避免了重复安装已构建的依赖项,提高了安装效率和磁盘空间利用率。
|
|
479
490
|
|
|
491
|
+
**版本更新** 工作区配置已更新以支持最新的 PNPM 版本 10.15.1,提供了更好的依赖管理和更快的安装速度。
|
|
492
|
+
|
|
480
493
|
**章节来源**
|
|
481
494
|
- [pnpm-workspace.yaml:1-4](file://pnpm-workspace.yaml#L1-L4)
|
|
482
495
|
|
|
@@ -487,29 +500,31 @@ G --> H[统一版本管理]
|
|
|
487
500
|
```mermaid
|
|
488
501
|
graph TB
|
|
489
502
|
subgraph "核心依赖"
|
|
490
|
-
A[axios] --> B[HTTP 请求]
|
|
491
|
-
C[vue-demi] --> D[Vue 3/2 兼容]
|
|
492
|
-
E[lodash-es] --> F[工具函数]
|
|
493
|
-
G[jsrsasign] --> H[JWT 生成]
|
|
494
|
-
I[store2] --> J[本地存储]
|
|
495
|
-
K[keyboardjs] --> L[键盘监听]
|
|
496
|
-
M[sweetalert2] --> N[弹窗组件]
|
|
497
|
-
O[view-ui-plus] --> P[UI 组件库]
|
|
503
|
+
A[axios ^1.7.9] --> B[HTTP 请求]
|
|
504
|
+
C[vue-demi ^0.14.10] --> D[Vue 3/2 兼容]
|
|
505
|
+
E[lodash-es ^4.17.21] --> F[工具函数]
|
|
506
|
+
G[jsrsasign ^11.1.0] --> H[JWT 生成]
|
|
507
|
+
I[store2 ^2.14.4] --> J[本地存储]
|
|
508
|
+
K[keyboardjs ^2.7.0] --> L[键盘监听]
|
|
509
|
+
M[sweetalert2 ^11.26.18] --> N[弹窗组件]
|
|
510
|
+
O[view-ui-plus ^1.3.19] --> P[UI 组件库]
|
|
498
511
|
end
|
|
499
512
|
subgraph "开发依赖"
|
|
500
|
-
Q[@vitejs/plugin-vue] --> R[Vite Vue 插件]
|
|
501
|
-
S[@vitejs/plugin-vue-jsx] --> T[JSX 支持]
|
|
502
|
-
U[vite-plugin-libcss] --> V[库样式处理]
|
|
503
|
-
W[vite-gc-i18n-plugin] --> X[自定义插件]
|
|
504
|
-
Y[vite] --> Z[构建工具]
|
|
513
|
+
Q[@vitejs/plugin-vue ^5.2.1] --> R[Vite Vue 插件]
|
|
514
|
+
S[@vitejs/plugin-vue-jsx ^4.1.1] --> T[JSX 支持]
|
|
515
|
+
U[vite-plugin-libcss ^1.1.1] --> V[库样式处理]
|
|
516
|
+
W[vite-gc-i18n-plugin ^1.0.4] --> X[自定义插件]
|
|
517
|
+
Y[vite ^6.1.0] --> Z[构建工具]
|
|
518
|
+
AA[vue ^3.5.13] --> AB[Vue 框架]
|
|
519
|
+
AC[vue-router ^4.5.0] --> AD[路由管理]
|
|
505
520
|
end
|
|
506
521
|
subgraph "Peer 依赖"
|
|
507
|
-
|
|
522
|
+
AE[vue-i18n >=8.0.0] --> AF[国际化支持]
|
|
508
523
|
end
|
|
509
524
|
subgraph "PNPM 管理"
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
525
|
+
AG[packageManager] --> AH[pnpm@10.15.1+sha512...]
|
|
526
|
+
AI[ignoredBuiltDependencies] --> AJ[esbuild]
|
|
527
|
+
AI --> AK[vue-demi]
|
|
513
528
|
end
|
|
514
529
|
```
|
|
515
530
|
|
|
@@ -527,6 +542,8 @@ end
|
|
|
527
542
|
|
|
528
543
|
**更新** 项目现已使用 PNPM 作为包管理器,通过 `packageManager` 字段明确指定版本。构建系统经过优化,移除了对 vue-i18n 的外部依赖配置,现在只保留必要的核心依赖项。peerDependencies 中仍然保留 vue-i18n,因为这是使用者需要提供的依赖。
|
|
529
544
|
|
|
545
|
+
**版本更新** 依赖版本已全面升级,包括 axios 1.7.9、vue 3.5.13、vite 6.1.0 等,确保与现代开发环境的兼容性和最佳性能。
|
|
546
|
+
|
|
530
547
|
**章节来源**
|
|
531
548
|
- [package.json:21-48](file://package.json#L21-L48)
|
|
532
549
|
|
|
@@ -578,14 +595,7 @@ J --> K[渲染应用]
|
|
|
578
595
|
|
|
579
596
|
**更新** 构建系统更加简洁,移除了对 vue-i18n 的外部依赖配置,减少了构建复杂度和包体积。
|
|
580
597
|
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
**更新** 系统通过 vue-demi 实现了完全的 Vue2/Vue3 兼容性:
|
|
584
|
-
|
|
585
|
-
- **统一 API**: 在 Vue2 和 Vue3 中使用相同的 API
|
|
586
|
-
- **自动检测**: 自动检测并使用对应版本的 vue-i18n
|
|
587
|
-
- **路由兼容**: 处理 Vue Router 3 和 4 的差异
|
|
588
|
-
- **插件安装**: 统一的插件安装方式
|
|
598
|
+
**版本更新** 构建系统已全面升级到支持最新版本的工具链,包括 Vite 6.1.0、Vue 3.5.13 等,提供了更好的性能和开发体验。
|
|
589
599
|
|
|
590
600
|
**更新** 通过 PNPM 工作区配置,项目能够更好地管理依赖关系,避免版本冲突和重复安装。
|
|
591
601
|
|
|
@@ -607,6 +617,7 @@ J --> K[渲染应用]
|
|
|
607
617
|
| **插件顺序错误** | 编译时出现语法错误 | 确保 Vue 插件在 i18n 插件之前 |
|
|
608
618
|
| **缺少 peer 依赖** | 运行时出现 vue-i18n 相关错误 | 安装 vue-i18n 作为 peer 依赖 |
|
|
609
619
|
| **Vue2 配置错误** | Vue2 项目启动失败 | 确保传入 vue 参数并正确安装 i18n 实例 |
|
|
620
|
+
| **版本兼容性问题** | 依赖版本冲突或不兼容 | 检查 package.json 中的版本范围 |
|
|
610
621
|
|
|
611
622
|
### 调试工具
|
|
612
623
|
|
|
@@ -629,6 +640,8 @@ J --> K[渲染应用]
|
|
|
629
640
|
|
|
630
641
|
**更新** 构建系统更加简洁,移除了对 vue-i18n 的外部依赖配置,减少了潜在的依赖冲突问题。
|
|
631
642
|
|
|
643
|
+
**版本更新** 故障排除指南已更新以包含版本相关的问题和解决方案,帮助开发者更好地处理新版本中的常见问题。
|
|
644
|
+
|
|
632
645
|
**章节来源**
|
|
633
646
|
- [packages/index.js:409-432](file://packages/index.js#L409-L432)
|
|
634
647
|
|
|
@@ -651,8 +664,12 @@ gc_i18n 构建系统展现了现代前端工程的最佳实践:
|
|
|
651
664
|
|
|
652
665
|
**更新** 项目现已全面转向使用 PNPM 作为包管理器,通过 `pnpm-workspace.yaml` 配置文件支持工作区管理,避免了重复安装已构建的依赖项,提高了安装效率和磁盘空间利用率。
|
|
653
666
|
|
|
667
|
+
**版本更新** 项目版本升级至 1.5.0,反映了持续的维护和增强工作。新版本包含了最新的依赖更新、构建优化和性能改进,为开发者提供了更稳定、更高效的国际化解决方案。
|
|
668
|
+
|
|
654
669
|
该系统为 Vue 应用提供了完整的国际化解决方案,既适合大型企业应用,也适用于中小型项目使用。通过合理的架构设计和优化策略,确保了良好的性能表现和用户体验。
|
|
655
670
|
|
|
656
671
|
**更新** 新增的 Vite 插件配置示例展示了如何在实际项目中正确集成和使用国际化插件,为开发者提供了完整的参考实现。构建系统现在更加简洁,移除了不必要的依赖配置,提高了构建效率和可维护性。
|
|
657
672
|
|
|
658
|
-
**更新** 通过 PNPM 工作区配置,项目能够更好地管理复杂的依赖关系,避免版本冲突和重复安装,为团队协作提供了更好的基础。
|
|
673
|
+
**更新** 通过 PNPM 工作区配置,项目能够更好地管理复杂的依赖关系,避免版本冲突和重复安装,为团队协作提供了更好的基础。
|
|
674
|
+
|
|
675
|
+
**版本更新** 1.5.0 版本代表了项目在稳定性和功能完善方面的重大进步,为未来的功能扩展奠定了坚实的基础。
|