大家好,我是小黄。
今天给大家分享的是如何实现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"]这个是英文模式的定义
修改定义的块变为动态的导入
保存编译后查看效果
这样我们就实现了多语言的积木块效果了!
创作不易,各位帅气漂亮的小伙伴点个关注再走呗!!