scratch二次开发,blockly积木块的多语言效果实现

大家好,我是小黄。

今天给大家分享的是如何实现blockly的国际化效果(多语言的实现)。类似下面的效果:

一.实现过程

1.1自定义一个积木块

复制代码
Blockly.Blocks['motion_test_language'] = {
  /**
   * 国际化测试.
   * @this Blockly.Block
   */
  init: function() {
    this.jsonInit({
      "message0": "国际化测试 %1",
      "args0": [
        {
          "type": "input_value",
          "name": "STEPS"
        }
      ],
      "category": Blockly.Categories.motion,
      "extensions": ["colours_motion", "shape_statement"]
    });
  }
};

1.2在toolbox中注册

复制代码
    '<block type="motion_test_language" id="motion_test_language">' +
    '<value name="STEPS">' +
      '<shadow type="math_number">' +
        '<field name="NUM">10</field>' +
      '</shadow>' +
    '</value>' +
  '</block>' +

保存后编译查看效果,我们看到这样一个积木块。

1.3修改为国际化模式

在scratch-msgs下面重新设置两个字段,我们这次就演示英文和中文模式。

Blockly.ScratchMsgs.locales["zh-cn"]这个是简体中文模式的定义

Blockly.ScratchMsgs.locales["en"]这个是英文模式的定义

修改定义的块变为动态的导入

保存编译后查看效果

这样我们就实现了多语言的积木块效果了!

创作不易,各位帅气漂亮的小伙伴点个关注再走呗!!

相关推荐
和小潘一起学AI1 分钟前
CentOS 7安装Anaconda
开发语言·python
kcuwu.11 分钟前
Python 正则表达式从入门到实战
数据库·python·正则表达式
不解不惑12 分钟前
langchain qwen3 构建一个简单的对话系统
pytorch·python·langchain
努力努力再努力dyx13 分钟前
【无标题】
开发语言·python
傻小胖19 分钟前
Object.defineProperty() 完整指南
开发语言·前端·javascript
I疯子19 分钟前
2026-04-07 打卡第 4 天
python
数据知道19 分钟前
claw-code 源码分析:Tool Pool 组装——默认策略、过滤、MCP 开关如何影响「可用工具面」?
python·claude code·claw code
xyx-3v26 分钟前
qt创建新工程
开发语言·c++·qt
Zzj_tju29 分钟前
Java 从入门到精通(十二):File 与 IO 流基础,为什么程序“读写文件”时总是容易出问题?
java·python·php
汽车搬砖家29 分钟前
vSOMEIP系列 -6: vsomeip python版部署,双机跨域通信(vsomeip - davinci AP someip)
python·汽车