XGO Blockly Translator

Translate XGO Blockly interface from English to Chinese

作者
Moxiner
日安装量
0
总安装量
0
评分
0 0 0
版本
0.1
创建于
2025-07-30
更新于
2025-07-30
大小
8.3 KB
许可证
None
适用于

d# XGO Blockly 翻译脚本

这是一个用于将 XGO Blockly 界面从英文翻译成中文的油猴脚本。该脚本专门针对 Blockly 图形化编程环境进行了优化,能够处理界面中的各种文本元素。

功能特性

  1. 全面翻译:支持 Blockly 界面中各种元素的翻译,包括:

    • 菜单栏和菜单项
    • 工具栏按钮
    • 逻辑块、循环块、数学块等各类编程块
    • XGO 机器人相关术语
    • SVG 文本元素(如blocklyText类元素)
  2. 动态翻译:使用 MutationObserver 监听 DOM 变化,实时翻译新添加的内容

  3. 性能优化

    • 使用 WeakSet 记录已处理元素,避免重复处理
    • 设置处理标志防止函数重入
    • 合理的延迟和间隔机制,确保性能
  4. 容错处理:对各种边界情况进行了处理,提高脚本稳定性

安装和使用

  1. 安装 Tampermonkey 或其他用户脚本管理器浏览器扩展

  2. XGO.Blockly.Translator.js 脚本添加到油猴中:

  3. 访问 http://47.252.22.82:8088/,脚本会自动运行

自定义翻译

如需添加或修改翻译条目,请编辑脚本中的 translations 对象:

const translations = {
  "English text": "中文翻译",
  // 更多翻译条目...
};

技术细节

特殊处理的元素类型

  1. 标准 HTML 文本节点:通过 TreeWalker 遍历处理
  2. HTML 属性:处理 placeholder、title、alt 等属性
  3. Blockly SVG 文本元素:专门处理 text.blocklyText.blocklyDropdownText 元素
  4. 特殊字符处理:处理   等 HTML 实体字符

性能优化措施

  1. 使用 WeakSet 避免重复处理相同元素
  2. 设置 isProcessing 标志防止函数重入
  3. MutationObserver 仅在有实际节点变化时触发
  4. 合理设置延迟和定时检查间隔

维护和更新

随着 Blockly 界面的更新,可能需要添加新的翻译条目。如果发现未翻译的文本,请:

  1. 检查是否可以在 translations 对象中添加对应条目
  2. 如果是特殊元素类型,可能需要在代码中添加相应的处理逻辑

许可证

本项目为开源项目,可根据需要自由使用和修改。 但是,请勿将本项目用于商业用途。