gc_i18n 1.3.10 → 1.3.11

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.
@@ -18,21 +18,17 @@
18
18
 
19
19
  ## 更新摘要
20
20
  **变更内容**
21
- - 翻译保存机制重构:从批量处理重构为单个保存操作,提升代码简洁性和用户体验
22
- - 编辑对话框标题优化:从通用格式更新为显示原值参考,提供更好的用户反馈
23
- - 新增 saveTranslate 服务函数集成:统一翻译保存接口,增强功能一致性
24
- - 改进的错误处理和调试功能:增强的错误信息显示和用户反馈机制
25
- - 错误消息文本优化:将"框架内部固定翻译,不支持修改"更新为更简洁的"系统字段不支持修改"
26
- - 代码格式化优化:改善了代码可读性和维护性
27
- - 新增完整的 TextEditMode 类实现,提供可视化的文本编辑功能
21
+ - 版本升级至 v1.3.10,新增完整的 TextEditMode 类实现
28
22
  - 新增部分文本翻译编辑能力,支持文本节点中的部分翻译内容识别
29
- - 新增改进的翻译键跟踪机制,包含多层缓存策略
30
- - 新增增强的错误处理和用户反馈机制,包括安全保护和提示信息
31
- - 新增视觉样式的优化,改进了编辑模式的视觉效果
32
- - 增强的安全保护机制,支持框架内部固定翻译的保护
33
- - 完善的用户体验设计,包括编辑弹窗和状态提示
34
- - 优化的翻译数据获取和保存流程
35
- - 增强的错误处理和用户反馈机制
23
+ - 改进翻译保存机制,从批量处理重构为单个保存操作
24
+ - 增强安全保护机制,支持框架内部固定翻译的保护
25
+ - 改进错误处理和用户反馈机制,包括保存错误容器和详细错误信息
26
+ - 编辑对话框标题优化,从通用格式更新为显示原值参考
27
+ - 新增 saveTranslate 服务函数集成,统一翻译保存接口
28
+ - 新增智能文本节点扫描机制,支持部分匹配和批量处理
29
+ - 新增多层缓存策略,包含全局映射、本地存储和路由翻译
30
+ - 新增 HTML 转义功能,增强安全性
31
+ - 新增更新页面上已翻译文本功能,支持实时预览
36
32
 
37
33
  ## 目录
38
34
  1. [简介](#简介)
@@ -60,6 +56,9 @@
60
56
  - 新增安全保护机制,防止修改框架内部固定翻译
61
57
  - 新增改进的翻译键跟踪机制,提供更准确的翻译定位
62
58
  - **新增** 翻译保存机制重构,从批量处理优化为单个保存操作,提升代码简洁性和用户体验
59
+ - **新增** 智能文本节点扫描机制,支持部分匹配和批量处理
60
+ - **新增** 多层缓存策略,包含全局映射、本地存储和路由翻译
61
+ - **新增** HTML 转义功能,增强安全性
63
62
 
64
63
  ## 项目结构
65
64
 
@@ -149,6 +148,7 @@ class TextEditMode {
149
148
  +async fetchTranslations(key)
150
149
  +async saveTranslations(key, values, originalTranslations)
151
150
  +escapeHtml(text)
151
+ +updateTranslatedText(key, values)
152
152
  }
153
153
  class I18n {
154
154
  -string editKeyboard
@@ -162,7 +162,7 @@ I18n --> TextEditMode : "控制"
162
162
  ```
163
163
 
164
164
  **图表来源**
165
- - [packages/libs/textEditMode.js:14-575](file://packages/libs/textEditMode.js#L14-L575)
165
+ - [packages/libs/textEditMode.js:14-623](file://packages/libs/textEditMode.js#L14-L623)
166
166
  - [packages/index.js:70-160](file://packages/index.js#L70-L160)
167
167
 
168
168
  ### 键盘快捷键系统
@@ -208,6 +208,8 @@ L[状态指示器]
208
208
  M[安全保护机制]
209
209
  N[部分文本编辑]
210
210
  O[翻译键跟踪]
211
+ P[HTML 转义]
212
+ Q[实时更新]
211
213
  end
212
214
  A --> D
213
215
  B --> D
@@ -224,11 +226,13 @@ E --> L
224
226
  E --> M
225
227
  E --> N
226
228
  E --> O
229
+ E --> P
230
+ E --> Q
227
231
  ```
228
232
 
229
233
  **图表来源**
230
234
  - [packages/index.js:70-516](file://packages/index.js#L70-L516)
231
- - [packages/libs/textEditMode.js:14-575](file://packages/libs/textEditMode.js#L14-L575)
235
+ - [packages/libs/textEditMode.js:14-623](file://packages/libs/textEditMode.js#L14-L623)
232
236
 
233
237
  ## 详细组件分析
234
238
 
@@ -274,7 +278,7 @@ TextMode->>User : 刷新页面
274
278
 
275
279
  **图表来源**
276
280
  - [packages/index.js:152-156](file://packages/index.js#L152-L156)
277
- - [packages/libs/textEditMode.js:89-575](file://packages/libs/textEditMode.js#L89-L575)
281
+ - [packages/libs/textEditMode.js:89-623](file://packages/libs/textEditMode.js#L89-L623)
278
282
 
279
283
  ### 文本节点扫描机制
280
284
 
@@ -346,6 +350,7 @@ ReturnKey --> End([返回翻译键])
346
350
  | 关闭按钮 | 关闭弹窗 | 无 | 无 |
347
351
  | 错误提示 | 显示保存错误信息 | 无 | 无 |
348
352
  | **新增** 保存错误容器 | 显示保存失败信息 | 无 | 错误处理 |
353
+ | **新增** 原值参考显示 | 显示原始翻译值 | 无 | 无 |
349
354
 
350
355
  **更新** 新增了安全保护机制,对框架内部固定翻译(以 `i.` 或 `pro.` 开头)进行保护,防止用户修改。新增改进了错误处理,包括保存失败的详细错误信息显示。
351
356
 
@@ -379,6 +384,25 @@ ReturnSuccess --> End
379
384
  - [packages/libs/textEditMode.js:527-557](file://packages/libs/textEditMode.js#L527-L557)
380
385
  - [packages/libs/service.js:72-81](file://packages/libs/service.js#L72-L81)
381
386
 
387
+ ### 安全保护机制
388
+
389
+ **更新** 新版本引入了重要的安全保护机制,防止修改框架内部固定翻译:
390
+
391
+ ```mermaid
392
+ flowchart TD
393
+ Start([开始编辑]) --> CheckKey["检查翻译键"]
394
+ CheckKey --> IsInternal{"是否为内部翻译?"}
395
+ IsInternal --> |是| ShowWarning["显示警告信息"]
396
+ IsInternal --> |否| LoadData["加载翻译数据"]
397
+ ShowWarning --> BlockEdit["阻止编辑"]
398
+ BlockEdit --> End([结束])
399
+ LoadData --> OpenModal["打开编辑弹窗"]
400
+ OpenModal --> End
401
+ ```
402
+
403
+ **图表来源**
404
+ - [packages/libs/textEditMode.js:371-383](file://packages/libs/textEditMode.js#L371-L383)
405
+
382
406
  ## 依赖关系分析
383
407
 
384
408
  ### 核心依赖关系图
@@ -410,6 +434,7 @@ Z[lang/index.js] --> AA[语言配置]
410
434
  BB[src/view/Home.vue] --> CC[主页视图]
411
435
  DD[packages/libs/textEditMode.css] --> EE[编辑模式样式]
412
436
  FF[packages/libs/textEditMode.js] --> GG[部分文本处理]
437
+ HH[lang/index.json] --> II[翻译数据]
413
438
  end
414
439
  A --> M
415
440
  C --> Q
@@ -427,11 +452,12 @@ V --> M
427
452
  X --> M
428
453
  DD --> M
429
454
  EE --> M
455
+ II --> M
430
456
  ```
431
457
 
432
458
  **图表来源**
433
459
  - [packages/index.js:1-516](file://packages/index.js#L1-L516)
434
- - [packages/libs/textEditMode.js:1-575](file://packages/libs/textEditMode.js#L1-L575)
460
+ - [packages/libs/textEditMode.js:1-623](file://packages/libs/textEditMode.js#L1-L623)
435
461
  - [packages/libs/service.js:1-136](file://packages/libs/service.js#L1-L136)
436
462
 
437
463
  ### 模块耦合度分析
@@ -446,6 +472,8 @@ EE --> M
446
472
  | 服务层 | 中等 | 低 | API 请求封装 |
447
473
  | UI 组件 | 高 | 低 | 视觉呈现 |
448
474
  | 工具函数 | 高 | 低 | 通用工具方法 |
475
+ | **新增** 安全保护模块 | 高 | 低 | 翻译类型验证 |
476
+ | **新增** 错误处理模块 | 高 | 低 | 异常情况处理 |
449
477
 
450
478
  ## 性能考虑
451
479
 
@@ -460,6 +488,8 @@ EE --> M
460
488
  5. **安全检查优化**:对框架内部翻译的检查在编辑前进行,避免不必要的 API 调用
461
489
  6. **新增** 部分文本处理优化:智能识别和处理文本节点中的部分翻译内容,减少 DOM 操作次数
462
490
  7. **新增** 保存机制优化:单个保存操作替代批量处理,减少内存占用和网络请求
491
+ 8. **新增** HTML 转义优化:只在必要时进行转义,提升性能
492
+ 9. **新增** 实时更新优化:只更新受影响的元素,避免全页面刷新
463
493
 
464
494
  ### 性能优化建议
465
495
 
@@ -473,6 +503,8 @@ EE --> M
473
503
  | 安全检查缓存 | 缓存翻译类型检查结果 | 减少重复计算 |
474
504
  | **新增** 内存清理 | 及时清理部分文本包装元素 | 释放内存资源 |
475
505
  | **新增** 保存机制优化 | 单个保存操作替代批量处理 | 提升代码简洁性和性能 |
506
+ | **新增** HTML 转义优化 | 按需转义减少计算量 | 提升渲染性能 |
507
+ | **新增** 实时更新优化 | 精确更新受影响元素 | 减少重绘重排 |
476
508
 
477
509
  ## 故障排除指南
478
510
 
@@ -491,6 +523,8 @@ EE --> M
491
523
  | **新增** 保存失败 | 编辑后无法保存更改 | 权限不足或网络错误 | 检查用户权限和网络状态 |
492
524
  | **新增** 部分文本匹配错误 | 文本被错误地分割 | 匹配算法问题 | 检查 wrapMultipleTextParts |
493
525
  | **新增** 保存错误显示问题 | 错误信息不显示或显示异常 | DOM 操作失败 | 检查错误容器创建 |
526
+ | **新增** HTML 转义问题 | 特殊字符显示异常 | 转义功能失效 | 检查 escapeHtml 函数 |
527
+ | **新增** 实时更新失败 | 保存后页面未更新 | 更新函数执行失败 | 检查 updateTranslatedText |
494
528
 
495
529
  ### 调试工具
496
530
 
@@ -503,6 +537,8 @@ EE --> M
503
537
  5. **安全检查日志**:显示翻译类型验证过程
504
538
  6. **新增** 部分文本调试:显示文本匹配和包装过程
505
539
  7. **新增** 保存机制调试:显示保存数据构建和 API 调用过程
540
+ 8. **新增** HTML 转义调试:显示字符转义过程
541
+ 9. **新增** 实时更新调试:显示元素更新过程
506
542
 
507
543
  **章节来源**
508
544
  - [packages/libs/textEditMode.js:369-485](file://packages/libs/textEditMode.js#L369-L485)
@@ -524,6 +560,10 @@ EE --> M
524
560
  8. **新增** 改进的错误处理:提供详细的错误信息和用户反馈
525
561
  9. **新增** 翻译保存机制重构:从批量处理优化为单个保存操作,提升代码简洁性和用户体验
526
562
  10. **新增** 编辑对话框标题优化:显示原值参考,提供更好的用户反馈
563
+ 11. **新增** 智能文本节点扫描:自动识别和处理部分翻译内容
564
+ 12. **新增** 多层缓存策略:包含全局映射、本地存储和路由翻译
565
+ 13. **新增** HTML 转义功能:增强安全性
566
+ 14. **新增** 实时更新机制:保存后立即更新页面显示
527
567
 
528
568
  ### 技术亮点
529
569
 
@@ -536,6 +576,8 @@ EE --> M
536
576
  - **新增** 用户反馈:详细的错误提示和状态通知
537
577
  - **新增** 内存优化:高效的内存管理和清理机制
538
578
  - **新增** 保存机制优化:单个保存操作替代批量处理,提升代码简洁性和性能
579
+ - **新增** HTML 转义优化:按需转义减少计算量
580
+ - **新增** 实时更新优化:精确更新受影响元素,减少重绘重排
539
581
 
540
582
  ### 安全改进
541
583
 
@@ -560,4 +602,16 @@ EE --> M
560
602
  - **统一接口**:集成 saveTranslate 服务函数,增强功能一致性
561
603
  - **错误处理**:改进的错误信息显示和用户反馈机制
562
604
 
563
- 该功能的成功实现展示了现代前端国际化解决方案的最佳实践,为类似项目提供了宝贵的参考经验。新版本的文本编辑模式不仅提升了开发效率,还增强了系统的安全性和可靠性,特别是在部分文本编辑、错误处理和保存机制方面的改进,为用户提供了更加完善和可靠的翻译管理体验。
605
+ **新增** 安全保护机制:
606
+ - **翻译类型验证**:自动识别框架内部翻译
607
+ - **用户提示**:友好的错误信息显示
608
+ - **操作阻止**:防止修改受保护的翻译
609
+
610
+ **新增** HTML 转义功能:
611
+ - **字符安全**:防止 XSS 攻击
612
+ - **按需转义**:提升性能表现
613
+ - **兼容性保证**:确保特殊字符正确显示
614
+
615
+ 该功能的成功实现展示了现代前端国际化解决方案的最佳实践,为类似项目提供了宝贵的参考经验。新版本的文本编辑模式不仅提升了开发效率,还增强了系统的安全性和可靠性,特别是在部分文本编辑、错误处理、保存机制和安全保护方面的改进,为用户提供了更加完善和可靠的翻译管理体验。
616
+
617
+ **版本信息**:当前版本为 v1.3.10,包含了上述所有新增功能和改进。