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

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

保存编译后查看效果

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

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

相关推荐
无限进步_14 小时前
C++异常机制:抛出、捕获与栈展开
开发语言·c++·安全
小白学大数据14 小时前
深度探索:Python 爬虫实现豆瓣音乐全站采集
开发语言·爬虫·python·数据分析
用户67570498850214 小时前
Celery 太重了?这可能是你一直在找的 asyncio 任务队列
后端·python·消息队列
Cloud_Shy61814 小时前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(第十一章 Python 包跟踪器 下篇)
前端·后端·python·数据分析·excel
Xin_ye1008614 小时前
C# 零基础到精通教程 - 第八章:面向对象编程(进阶)——继承与多态
开发语言·c#
程序员榴莲14 小时前
网络编程入门 Python Socket 实现一个简单的用户认证系统
服务器·网络·python
m0_7488394914 小时前
R包grafify:简单操作实现高效统计绘图
开发语言·r语言
知识分享小能手14 小时前
Flask入门学习教程,从入门到精通, 认识Flask路由 — 知识点详解 (2)
python·学习·flask
AI棒棒牛14 小时前
YOLO26改进创新 | 全网首发!VECA弹性核心注意力重塑全局建模,线性复杂度增强检测骨干,嘎嘎创新!
python·yolo·目标检测·yolo26·主干改进
Evand J14 小时前
【课题推荐与代码介绍】卡尔曼滤波器正反向估计算法原理与MATLAB实现
开发语言·算法·matlab