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"这个是英文模式的定义

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

保存编译后查看效果

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

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

相关推荐
爱睡懒觉的焦糖玛奇朵6 分钟前
【从视频到数据集:焦糖玛奇朵的魔法工具Dataset Cleaner】
人工智能·python·学习·算法·yolo·音视频
Mortalbreeze8 分钟前
C++11 ---- 引用折叠、完美转发、可变模板参数、emplace系列接口
开发语言·c++
星恒随风8 分钟前
C++ 内存管理详解:从内存分区、malloc/free 到 new/delete
开发语言·c++·笔记·学习
E_ICEBLUE9 分钟前
将 Excel 表格插入 Word 文档的三种实用方案(Python 自动化)
python·word·excel
object not found9 分钟前
Node.js fs 常用 API 整理:node:fs/promises、node:fs、fs 到底怎么用
开发语言·前端·javascript
C+++Python9 分钟前
C++ 常量全面讲解
java·开发语言·c++
江屿风10 分钟前
C++图论基础拓扑排序经典OJ题流食般投喂
开发语言·c++·笔记·算法·图论
芯岭技术郦11 分钟前
MS32C001‑C:极致成本 32 位 MCU
c语言·开发语言·单片机
ZHW_AI课题组13 分钟前
调用智谱AI实现特定角色扮演对话
python