iobroker.javascript 7.0.7 → 7.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/admin/asset-manifest.json +5 -5
- package/admin/google-blockly/blockly_compressed.js +1469 -1704
- package/admin/google-blockly/blocks_compressed.js +164 -218
- package/admin/google-blockly/javascript_compressed.js +100 -328
- package/admin/google-blockly/msg/js/de.js +64 -70
- package/admin/google-blockly/msg/js/en.js +14 -20
- package/admin/google-blockly/msg/js/es.js +39 -45
- package/admin/google-blockly/msg/js/fr.js +59 -65
- package/admin/google-blockly/msg/js/it.js +19 -25
- package/admin/google-blockly/msg/js/nl.js +55 -61
- package/admin/google-blockly/msg/js/pl.js +46 -52
- package/admin/google-blockly/msg/js/pt.js +30 -36
- package/admin/google-blockly/msg/js/ru.js +41 -47
- package/admin/google-blockly/msg/js/uk.js +13 -17
- package/admin/google-blockly/msg/js/zh-cn.js +86 -92
- package/admin/google-blockly/own/blocks_action.js +4 -4
- package/admin/google-blockly/own/blocks_other.js +103 -0
- package/admin/google-blockly/own/blocks_procedures.js +63 -62
- package/admin/google-blockly/own/blocks_sendto.js +62 -60
- package/admin/google-blockly/own/blocks_switch.js +40 -29
- package/admin/google-blockly/own/blocks_system.js +113 -170
- package/admin/google-blockly/own/blocks_time.js +35 -35
- package/admin/google-blockly/own/blocks_timeout.js +42 -42
- package/admin/google-blockly/own/blocks_trigger.js +51 -68
- package/admin/google-blockly/own/blocks_words.js +8 -9
- package/admin/google-blockly/own/field_cron.js +189 -139
- package/admin/google-blockly/own/field_oid.js +250 -170
- package/admin/google-blockly/own/field_script.js +168 -122
- package/admin/static/js/98.bf3dfa2b.chunk.js +2 -0
- package/admin/static/js/98.bf3dfa2b.chunk.js.map +1 -0
- package/admin/static/js/{main.d86fb9de.js → main.d9e7d255.js} +2 -2
- package/admin/static/js/{main.d86fb9de.js.map → main.d9e7d255.js.map} +1 -1
- package/admin/tab.html +1 -1
- package/io-package.json +14 -14
- package/package.json +1 -1
- package/admin/google-blockly/own/blocks_logic.js +0 -64
- package/admin/google-blockly/own/blocks_number.js +0 -25
- package/admin/google-blockly/own/blocks_text.js +0 -23
- package/admin/static/js/98.f78be4fc.chunk.js +0 -2
- package/admin/static/js/98.f78be4fc.chunk.js.map +0 -1
|
@@ -1,22 +1,7 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
;(function(root, factory) {
|
|
3
|
-
if (typeof define === 'function' && define.amd) { // AMD
|
|
4
|
-
define([], factory);
|
|
5
|
-
} else if (typeof exports === 'object') { // Node.js
|
|
6
|
-
module.exports = factory();
|
|
7
|
-
} else { // Browser
|
|
8
|
-
var messages = factory();
|
|
9
|
-
for (var key in messages) {
|
|
10
|
-
root.Blockly.Msg[key] = messages[key];
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
}(this, function() {
|
|
14
1
|
// This file was automatically generated. Do not modify.
|
|
15
2
|
|
|
16
3
|
'use strict';
|
|
17
4
|
|
|
18
|
-
var Blockly = Blockly || { Msg: Object.create(null) };
|
|
19
|
-
|
|
20
5
|
Blockly.Msg["ADD_COMMENT"] = "添加注释";
|
|
21
6
|
Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "不能删除变量“%1”,因为它是函数“%2”定义的一部分";
|
|
22
7
|
Blockly.Msg["CHANGE_VALUE_TITLE"] = "更改值:";
|
|
@@ -45,10 +30,10 @@ Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blo
|
|
|
45
30
|
Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "跳出循环";
|
|
46
31
|
Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "继续下一轮循环";
|
|
47
32
|
Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "跳出包含它的循环。";
|
|
48
|
-
Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "
|
|
33
|
+
Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "跳过本轮循环的剩余部分,并继进行续下一轮迭代。";
|
|
49
34
|
Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "警告:这个块只能在循环内使用。";
|
|
50
35
|
Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each"; // untranslated
|
|
51
|
-
Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "
|
|
36
|
+
Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "为列表 %2 里的每一项 %1";
|
|
52
37
|
Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "遍历列表中的每一项,将变量“%1”设为所选项,并执行一些语句。";
|
|
53
38
|
Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with"; // untranslated
|
|
54
39
|
Blockly.Msg["CONTROLS_FOR_TITLE"] = "变量 %1 从 %2 数到 %3 每次增加 %4";
|
|
@@ -71,15 +56,13 @@ Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "多次执行一些语句。";
|
|
|
71
56
|
Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat"; // untranslated
|
|
72
57
|
Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "重复直到条件满足";
|
|
73
58
|
Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "当条件满足时重复";
|
|
74
|
-
Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "
|
|
75
|
-
Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "
|
|
59
|
+
Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "只要值为假,执行一些语句。";
|
|
60
|
+
Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "只要值为真,执行一些语句。";
|
|
76
61
|
Blockly.Msg["DELETE_ALL_BLOCKS"] = "删除所有 %1 个块吗?";
|
|
77
62
|
Blockly.Msg["DELETE_BLOCK"] = "删除块";
|
|
78
63
|
Blockly.Msg["DELETE_VARIABLE"] = "删除变量“%1”";
|
|
79
64
|
Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "要删除对变量“%2”的%1个引用吗?";
|
|
80
65
|
Blockly.Msg["DELETE_X_BLOCKS"] = "删除 %1 个块";
|
|
81
|
-
Blockly.Msg["DIALOG_CANCEL"] = "取消";
|
|
82
|
-
Blockly.Msg["DIALOG_OK"] = "确认";
|
|
83
66
|
Blockly.Msg["DISABLE_BLOCK"] = "禁用块";
|
|
84
67
|
Blockly.Msg["DUPLICATE_BLOCK"] = "复制";
|
|
85
68
|
Blockly.Msg["DUPLICATE_COMMENT"] = "复制注释";
|
|
@@ -89,24 +72,37 @@ Blockly.Msg["EXPAND_BLOCK"] = "展开块";
|
|
|
89
72
|
Blockly.Msg["EXTERNAL_INPUTS"] = "外部输入";
|
|
90
73
|
Blockly.Msg["HELP"] = "帮助";
|
|
91
74
|
Blockly.Msg["INLINE_INPUTS"] = "单行输入";
|
|
92
|
-
Blockly.Msg["
|
|
75
|
+
Blockly.Msg["IOS_CANCEL"] = "取消";
|
|
76
|
+
Blockly.Msg["IOS_ERROR"] = "错误";
|
|
77
|
+
Blockly.Msg["IOS_OK"] = "确定";
|
|
78
|
+
Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+添加输入";
|
|
79
|
+
Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "允许的语句";
|
|
80
|
+
Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "这个函数有多个输入。";
|
|
81
|
+
Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "输入";
|
|
82
|
+
Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "添加";
|
|
83
|
+
Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+添加变量";
|
|
84
|
+
Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "删除";
|
|
85
|
+
Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "你不能使用空白的变量名。";
|
|
86
|
+
Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "重命名";
|
|
87
|
+
Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "变量名";
|
|
88
|
+
Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
|
|
93
89
|
Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "创建空列表";
|
|
94
90
|
Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "返回一个列表,长度为 0,不包含任何数据记录";
|
|
95
91
|
Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "列表";
|
|
96
92
|
Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "增加、删除或重新排列各部分以此重新配置这个列表块。";
|
|
97
|
-
Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
|
|
98
|
-
Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "
|
|
93
|
+
Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
|
|
94
|
+
Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "建立列表从";
|
|
99
95
|
Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "将一个项添加到列表中。";
|
|
100
96
|
Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "建立一个具有任意数量项目的列表。";
|
|
101
|
-
Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "
|
|
102
|
-
Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "
|
|
97
|
+
Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "第一个";
|
|
98
|
+
Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "倒数第#";
|
|
103
99
|
Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
|
|
104
100
|
Blockly.Msg["LISTS_GET_INDEX_GET"] = "取得";
|
|
105
101
|
Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "取得并移除";
|
|
106
|
-
Blockly.Msg["LISTS_GET_INDEX_LAST"] = "
|
|
107
|
-
Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "
|
|
102
|
+
Blockly.Msg["LISTS_GET_INDEX_LAST"] = "最后一个";
|
|
103
|
+
Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "随机的";
|
|
108
104
|
Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "移除";
|
|
109
|
-
Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";
|
|
105
|
+
Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "-";
|
|
110
106
|
Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "返回列表中的第一项。";
|
|
111
107
|
Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "返回在列表中的指定位置的项。";
|
|
112
108
|
Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "返回列表中的最后一项。";
|
|
@@ -119,14 +115,14 @@ Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "移除列表中的第一
|
|
|
119
115
|
Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "移除在列表中的指定位置的项。";
|
|
120
116
|
Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "移除列表中的最后一项";
|
|
121
117
|
Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "删除列表中的随机一项。";
|
|
122
|
-
Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "
|
|
123
|
-
Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "
|
|
124
|
-
Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "
|
|
118
|
+
Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "到倒数第#";
|
|
119
|
+
Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "到#";
|
|
120
|
+
Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "到最后";
|
|
125
121
|
Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist"; // untranslated
|
|
126
|
-
Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "
|
|
127
|
-
Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "
|
|
128
|
-
Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "
|
|
129
|
-
Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";
|
|
122
|
+
Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "获取子列表从第一个";
|
|
123
|
+
Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "获取子列表从最后一个#";
|
|
124
|
+
Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "获取子列表从#";
|
|
125
|
+
Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "-";
|
|
130
126
|
Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "复制列表中指定的部分。";
|
|
131
127
|
Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1是最后一项。";
|
|
132
128
|
Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1是第一项。";
|
|
@@ -144,35 +140,35 @@ Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "返回列表的长度。";
|
|
|
144
140
|
Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with"; // untranslated
|
|
145
141
|
Blockly.Msg["LISTS_REPEAT_TITLE"] = "建立列表使用项 %1 重复 %2 次";
|
|
146
142
|
Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "建立包含指定重复次数的值的列表。";
|
|
147
|
-
Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
|
|
143
|
+
Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
|
|
148
144
|
Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "倒转%1";
|
|
149
|
-
Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "
|
|
145
|
+
Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "倒转一个列表的拷贝。";
|
|
150
146
|
Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set"; // untranslated
|
|
151
147
|
Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "值为";
|
|
152
148
|
Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "插入在";
|
|
153
149
|
Blockly.Msg["LISTS_SET_INDEX_SET"] = "设置";
|
|
154
150
|
Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "在列表的起始处添加该项。";
|
|
155
|
-
Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "
|
|
151
|
+
Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "插入在列表中指定位置的项。";
|
|
156
152
|
Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "在列表的末尾处添加该项。";
|
|
157
153
|
Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "在列表的随机位置插入该项。";
|
|
158
154
|
Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "设置列表中的第一项。";
|
|
159
155
|
Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "设置在列表中指定位置的项。";
|
|
160
156
|
Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "设置列表中的最后一项。";
|
|
161
157
|
Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "设置列表中的随机一项。";
|
|
162
|
-
Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
|
|
158
|
+
Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
|
|
163
159
|
Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "升序";
|
|
164
160
|
Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "降序";
|
|
165
161
|
Blockly.Msg["LISTS_SORT_TITLE"] = "排序%1 %2 %3";
|
|
166
|
-
Blockly.Msg["LISTS_SORT_TOOLTIP"] = "
|
|
167
|
-
Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "
|
|
168
|
-
Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "
|
|
169
|
-
Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "
|
|
170
|
-
Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
|
|
162
|
+
Blockly.Msg["LISTS_SORT_TOOLTIP"] = "排序一个列表的拷贝。";
|
|
163
|
+
Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "按字母排序,忽略大小写";
|
|
164
|
+
Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "按数字排序";
|
|
165
|
+
Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "按字母排序";
|
|
166
|
+
Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
|
|
171
167
|
Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "从文本制作列表";
|
|
172
|
-
Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "
|
|
168
|
+
Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "从列表拆出文本";
|
|
173
169
|
Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "加入文本列表至一个文本,由分隔符分隔。";
|
|
174
|
-
Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "
|
|
175
|
-
Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "
|
|
170
|
+
Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "拆分文本到文本列表,按每个分隔符拆分。";
|
|
171
|
+
Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "用分隔符";
|
|
176
172
|
Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "假";
|
|
177
173
|
Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values"; // untranslated
|
|
178
174
|
Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "返回真或假。";
|
|
@@ -184,7 +180,7 @@ Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "如果第一个输入结果大于或
|
|
|
184
180
|
Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "如果第一个输入结果比第二个小,则返回真。";
|
|
185
181
|
Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "如果第一个输入结果小于或等于第二个输入结果,则返回真。";
|
|
186
182
|
Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "如果两个输入结果不相等,则返回真。";
|
|
187
|
-
Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";
|
|
183
|
+
Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";
|
|
188
184
|
Blockly.Msg["LOGIC_NEGATE_TITLE"] = "非%1";
|
|
189
185
|
Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "如果输入结果为假,则返回真;如果输入结果为真,则返回假。";
|
|
190
186
|
Blockly.Msg["LOGIC_NULL"] = "空";
|
|
@@ -204,7 +200,7 @@ Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+"; // untranslated
|
|
|
204
200
|
Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://zh.wikipedia.org/wiki/算术";
|
|
205
201
|
Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "返回两个数值的和。";
|
|
206
202
|
Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "返回两个数值的商。";
|
|
207
|
-
Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "
|
|
203
|
+
Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "返回两个数值的差值。";
|
|
208
204
|
Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "返回两个数值的乘积。";
|
|
209
205
|
Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "返回以第一个数值为底数,以第二个数值为幂的结果。";
|
|
210
206
|
Blockly.Msg["MATH_ATAN2_HELPURL"] = "https://zh.wikipedia.org/wiki/反正切2";
|
|
@@ -214,7 +210,7 @@ Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://zh.wikipedia.org/wiki/加法";
|
|
|
214
210
|
Blockly.Msg["MATH_CHANGE_TITLE"] = "将 %1 增加 %2";
|
|
215
211
|
Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "为变量“%1”增加一个数值。";
|
|
216
212
|
Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://zh.wikipedia.org/wiki/数学常数";
|
|
217
|
-
Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "返回一个常见常量:π (3.141…)、e (2.718…)、φ (1.618…)
|
|
213
|
+
Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "返回一个常见常量:π (3.141…)、e (2.718…)、φ (1.618…)、平方根 (1.414…)、开平方根 (0.707…)或∞ (无限大)。";
|
|
218
214
|
Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)"; // untranslated
|
|
219
215
|
Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "将 %1 限制在 最低 %2 到最高 %3 之间";
|
|
220
216
|
Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "将一个数值限制在两个指定的数值范围(含边界)之间。";
|
|
@@ -239,7 +235,7 @@ Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "列表最大值";
|
|
|
239
235
|
Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "列表中位数";
|
|
240
236
|
Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "列表最小值";
|
|
241
237
|
Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "列表中的众数";
|
|
242
|
-
Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "
|
|
238
|
+
Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "列表随机项";
|
|
243
239
|
Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "列表的标准差";
|
|
244
240
|
Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "列表中数值的和";
|
|
245
241
|
Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "返回列表中的数值的平均值。";
|
|
@@ -253,7 +249,7 @@ Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "返回列表中的所有数值的和
|
|
|
253
249
|
Blockly.Msg["MATH_POWER_SYMBOL"] = "^"; // untranslated
|
|
254
250
|
Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://zh.wikipedia.org/wiki/随机数生成器";
|
|
255
251
|
Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "随机小数";
|
|
256
|
-
Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "
|
|
252
|
+
Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "返回一个介于0.0到1.0之间(含边界)的随机数。";
|
|
257
253
|
Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://zh.wikipedia.org/wiki/随机数生成器";
|
|
258
254
|
Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "从 %1 到 %2 范围内的随机整数";
|
|
259
255
|
Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "返回一个限制在两个指定数值的范围(含边界)之间的随机整数。";
|
|
@@ -266,33 +262,33 @@ Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://zh.wikipedia.org/wiki/平方根";
|
|
|
266
262
|
Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "绝对值";
|
|
267
263
|
Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "平方根";
|
|
268
264
|
Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "返回一个数值的绝对值。";
|
|
269
|
-
Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "
|
|
265
|
+
Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "返回一个数值的e次幂。";
|
|
270
266
|
Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "返回一个数值的自然对数。";
|
|
271
267
|
Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "返回一个数值的以10为底的对数。";
|
|
272
268
|
Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "返回一个数值的相反数。";
|
|
273
|
-
Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "
|
|
269
|
+
Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "返回一个数值的10次幂。";
|
|
274
270
|
Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "返回一个数的平方根。";
|
|
275
271
|
Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-"; // untranslated
|
|
276
|
-
Blockly.Msg["MATH_TRIG_ACOS"] = "
|
|
277
|
-
Blockly.Msg["MATH_TRIG_ASIN"] = "
|
|
278
|
-
Blockly.Msg["MATH_TRIG_ATAN"] = "
|
|
279
|
-
Blockly.Msg["MATH_TRIG_COS"] = "
|
|
272
|
+
Blockly.Msg["MATH_TRIG_ACOS"] = "acos"; // untranslated
|
|
273
|
+
Blockly.Msg["MATH_TRIG_ASIN"] = "asin"; // untranslated
|
|
274
|
+
Blockly.Msg["MATH_TRIG_ATAN"] = "atan"; // untranslated
|
|
275
|
+
Blockly.Msg["MATH_TRIG_COS"] = "cos"; // untranslated
|
|
280
276
|
Blockly.Msg["MATH_TRIG_HELPURL"] = "https://zh.wikipedia.org/wiki/三角函数";
|
|
281
|
-
Blockly.Msg["MATH_TRIG_SIN"] = "
|
|
282
|
-
Blockly.Msg["MATH_TRIG_TAN"] = "
|
|
277
|
+
Blockly.Msg["MATH_TRIG_SIN"] = "sin"; // untranslated
|
|
278
|
+
Blockly.Msg["MATH_TRIG_TAN"] = "tan"; // untranslated
|
|
283
279
|
Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "返回一个数值的反余弦值。";
|
|
284
280
|
Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "返回一个数值的反正弦值。";
|
|
285
281
|
Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "返回一个数值的反正切值。";
|
|
286
|
-
Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "
|
|
287
|
-
Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "
|
|
288
|
-
Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "
|
|
282
|
+
Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "返回指定角度的余弦值(非弧度)。";
|
|
283
|
+
Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "返回指定角度的正弦值(非弧度)。";
|
|
284
|
+
Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "返回指定角度的正切值(非弧度)。";
|
|
289
285
|
Blockly.Msg["NEW_COLOUR_VARIABLE"] = "创建颜色变量...";
|
|
290
286
|
Blockly.Msg["NEW_NUMBER_VARIABLE"] = "创建数字变量...";
|
|
291
287
|
Blockly.Msg["NEW_STRING_VARIABLE"] = "创建字符串变量...";
|
|
292
288
|
Blockly.Msg["NEW_VARIABLE"] = "创建变量...";
|
|
293
289
|
Blockly.Msg["NEW_VARIABLE_TITLE"] = "新变量的名称:";
|
|
294
290
|
Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "新变量的类型:";
|
|
295
|
-
Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";
|
|
291
|
+
Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "-";
|
|
296
292
|
Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "允许声明";
|
|
297
293
|
Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "与:";
|
|
298
294
|
Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://zh.wikipedia.org/wiki/子程序";
|
|
@@ -302,7 +298,7 @@ Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "运行用户定义的函数“%1
|
|
|
302
298
|
Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "与:";
|
|
303
299
|
Blockly.Msg["PROCEDURES_CREATE_DO"] = "创建“%1”";
|
|
304
300
|
Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "描述该功能...";
|
|
305
|
-
Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";
|
|
301
|
+
Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "-";
|
|
306
302
|
Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://zh.wikipedia.org/wiki/子程序";
|
|
307
303
|
Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "做点什么";
|
|
308
304
|
Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "至";
|
|
@@ -312,7 +308,7 @@ Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "返回";
|
|
|
312
308
|
Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "创建一个有输出值的函数。";
|
|
313
309
|
Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "警告:此函数具有重复参数。";
|
|
314
310
|
Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "突出显示函数定义";
|
|
315
|
-
Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
|
|
311
|
+
Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
|
|
316
312
|
Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "如果值为真,则返回第二个值。";
|
|
317
313
|
Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "警告:这个块只能在函数内部使用。";
|
|
318
314
|
Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "输入名称:";
|
|
@@ -324,37 +320,37 @@ Blockly.Msg["REMOVE_COMMENT"] = "删除注释";
|
|
|
324
320
|
Blockly.Msg["RENAME_VARIABLE"] = "重命名变量...";
|
|
325
321
|
Blockly.Msg["RENAME_VARIABLE_TITLE"] = "将所有“%1”变量重命名为:";
|
|
326
322
|
Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification"; // untranslated
|
|
327
|
-
Blockly.Msg["TEXT_APPEND_TITLE"] = "
|
|
323
|
+
Blockly.Msg["TEXT_APPEND_TITLE"] = "向%1附加文本%2";
|
|
328
324
|
Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "将一些文本追加到变量“%1”里。";
|
|
329
325
|
Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case"; // untranslated
|
|
330
326
|
Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "转为小写";
|
|
331
327
|
Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "转为首字母大写";
|
|
332
328
|
Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "转为大写";
|
|
333
329
|
Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "用不同的大小写模式复制并返回这段文字。";
|
|
334
|
-
Blockly.Msg["TEXT_CHARAT_FIRST"] = "
|
|
335
|
-
Blockly.Msg["TEXT_CHARAT_FROM_END"] = "
|
|
336
|
-
Blockly.Msg["TEXT_CHARAT_FROM_START"] = "
|
|
330
|
+
Blockly.Msg["TEXT_CHARAT_FIRST"] = "寻找第一个字母";
|
|
331
|
+
Blockly.Msg["TEXT_CHARAT_FROM_END"] = "获取字符从倒数#";
|
|
332
|
+
Blockly.Msg["TEXT_CHARAT_FROM_START"] = "获取字符从#";
|
|
337
333
|
Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text"; // untranslated
|
|
338
|
-
Blockly.Msg["TEXT_CHARAT_LAST"] = "
|
|
339
|
-
Blockly.Msg["TEXT_CHARAT_RANDOM"] = "
|
|
340
|
-
Blockly.Msg["TEXT_CHARAT_TAIL"] = "";
|
|
334
|
+
Blockly.Msg["TEXT_CHARAT_LAST"] = "寻找最后一个字母";
|
|
335
|
+
Blockly.Msg["TEXT_CHARAT_RANDOM"] = "寻找随机的字母";
|
|
336
|
+
Blockly.Msg["TEXT_CHARAT_TAIL"] = "-";
|
|
341
337
|
Blockly.Msg["TEXT_CHARAT_TITLE"] = "在文本%1 里 %2";
|
|
342
|
-
Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "
|
|
343
|
-
Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
|
|
338
|
+
Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "返回位于指定位置的字母。";
|
|
339
|
+
Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
|
|
344
340
|
Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "计算%1在%2里出现的次数";
|
|
345
341
|
Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "计算在一段文本中,某个部分文本重复出现了多少次。";
|
|
346
342
|
Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "将一个项添加到文本中。";
|
|
347
|
-
Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "
|
|
343
|
+
Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "加入";
|
|
348
344
|
Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "添加、移除或重新排列各节来重新配置这个文本块。";
|
|
349
|
-
Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "
|
|
350
|
-
Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "
|
|
345
|
+
Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "到最后一个字符#";
|
|
346
|
+
Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "至字符#";
|
|
351
347
|
Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "到最后一个字符";
|
|
352
348
|
Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text"; // untranslated
|
|
353
349
|
Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "从文本";
|
|
354
|
-
Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "
|
|
355
|
-
Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "
|
|
356
|
-
Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "
|
|
357
|
-
Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";
|
|
350
|
+
Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "取得子串自第一个字符";
|
|
351
|
+
Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "取得子串自倒数#";
|
|
352
|
+
Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "取得子串自#";
|
|
353
|
+
Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "-";
|
|
358
354
|
Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "返回文本中指定的一部分。";
|
|
359
355
|
Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text"; // untranslated
|
|
360
356
|
Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "寻找第一次出现的文本";
|
|
@@ -365,7 +361,7 @@ Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Te
|
|
|
365
361
|
Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1是空的";
|
|
366
362
|
Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "如果给定的文本为空,则返回真。";
|
|
367
363
|
Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation"; // untranslated
|
|
368
|
-
Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "
|
|
364
|
+
Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "建立文本从";
|
|
369
365
|
Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "通过串起任意数量的项以建立一段文本。";
|
|
370
366
|
Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification"; // untranslated
|
|
371
367
|
Blockly.Msg["TEXT_LENGTH_TITLE"] = "%1的长度";
|
|
@@ -378,11 +374,11 @@ Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "要求用户输入数字。";
|
|
|
378
374
|
Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "要求用户输入一些文本。";
|
|
379
375
|
Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "要求输入数字,并显示提示消息";
|
|
380
376
|
Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "要求输入文本,并显示提示消息";
|
|
381
|
-
Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
|
|
382
|
-
Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "
|
|
377
|
+
Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
|
|
378
|
+
Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "在%3中,将%1替换为%2";
|
|
383
379
|
Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "在一段文本中,将出现过的某部分文本都替换掉。";
|
|
384
|
-
Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
|
|
385
|
-
Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "
|
|
380
|
+
Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
|
|
381
|
+
Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "翻转文本%1";
|
|
386
382
|
Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "将文本中各个字符的顺序倒转。";
|
|
387
383
|
Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://zh.wikipedia.org/wiki/字符串";
|
|
388
384
|
Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "一个字、词语或一行文本。";
|
|
@@ -393,7 +389,7 @@ Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "消除其右侧的空白";
|
|
|
393
389
|
Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "从某一端或同时从两端删除多余的空白,并返回这段文字的一个副本。";
|
|
394
390
|
Blockly.Msg["TODAY"] = "今天";
|
|
395
391
|
Blockly.Msg["UNDO"] = "撤销";
|
|
396
|
-
Blockly.Msg["UNNAMED_KEY"] = "
|
|
392
|
+
Blockly.Msg["UNNAMED_KEY"] = "匿名";
|
|
397
393
|
Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "项目";
|
|
398
394
|
Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "创建“设定%1”";
|
|
399
395
|
Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get"; // untranslated
|
|
@@ -435,6 +431,4 @@ Blockly.Msg["VARIABLES_HUE"] = "330";
|
|
|
435
431
|
Blockly.Msg["TEXTS_HUE"] = "160";
|
|
436
432
|
Blockly.Msg["PROCEDURES_HUE"] = "290";
|
|
437
433
|
Blockly.Msg["COLOUR_HUE"] = "20";
|
|
438
|
-
Blockly.Msg["VARIABLES_DYNAMIC_HUE"] = "310";
|
|
439
|
-
return Blockly.Msg;
|
|
440
|
-
}));
|
|
434
|
+
Blockly.Msg["VARIABLES_DYNAMIC_HUE"] = "310";
|
|
@@ -104,7 +104,7 @@ Blockly.JavaScript['exec'] = function(block) {
|
|
|
104
104
|
if (withStatement === 'TRUE' || withStatement === 'true' || withStatement === true) {
|
|
105
105
|
const statement = Blockly.JavaScript.statementToCode(block, 'STATEMENT');
|
|
106
106
|
if (statement) {
|
|
107
|
-
return 'exec(' + value_command + ', async (error, result, stderr) => {\n' + statement + '});\n' +
|
|
107
|
+
return 'exec(' + value_command + ', async (error, result, stderr) => {\n ' + statement + '});\n' +
|
|
108
108
|
logText;
|
|
109
109
|
} else {
|
|
110
110
|
return 'exec(' + value_command + ');\n' +
|
|
@@ -205,11 +205,11 @@ Blockly.JavaScript['request'] = function(block) {
|
|
|
205
205
|
if (withStatement === 'TRUE' || withStatement === 'true' || withStatement === true) {
|
|
206
206
|
const statement = Blockly.JavaScript.statementToCode(block, 'STATEMENT');
|
|
207
207
|
if (statement) {
|
|
208
|
-
return 'try {\n require("request")(' + URL + ', async (error, response, result) => {\n ' + statement + ' }).on("error", (e) => {
|
|
208
|
+
return 'try {\n require("request")(' + URL + ', async (error, response, result) => {\n ' + statement + ' }).on("error", (e) => {console.error(e);});\n} catch (e) { console.error(e); }\n' + logText;
|
|
209
209
|
} else {
|
|
210
|
-
return 'try {\n require("request")(' + URL + ').on("error", (e) => {
|
|
210
|
+
return 'try {\n require("request")(' + URL + ').on("error", (e) => {console.error(e);});\n} catch (e) { console.error(e); }\n' + logText;
|
|
211
211
|
}
|
|
212
212
|
} else {
|
|
213
|
-
return 'try {\n require("request")(' + URL + ').on("error", (e) => {
|
|
213
|
+
return 'try {\n require("request")(' + URL + ').on("error", (e) => {console.error(e);});\n} catch (e) { console.error(e); }\n' + logText;
|
|
214
214
|
}
|
|
215
215
|
};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
if (typeof goog !== 'undefined') {
|
|
4
|
+
goog.provide('Blockly.JavaScript.Other');
|
|
5
|
+
|
|
6
|
+
goog.require('Blockly.JavaScript');
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
Blockly.CustomBlocks = Blockly.CustomBlocks || [];
|
|
10
|
+
Blockly.CustomBlocks.push('Other');
|
|
11
|
+
|
|
12
|
+
Blockly.Other = {
|
|
13
|
+
HUE: 210,
|
|
14
|
+
blocks: {}
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
// --- other between --------------------------------------------------
|
|
18
|
+
|
|
19
|
+
Blockly.Other.blocks['other_between'] =
|
|
20
|
+
'<block type="other_between">'
|
|
21
|
+
+' <value name="MIN">'
|
|
22
|
+
+' <block type="math_number">'
|
|
23
|
+
+' <field name="NUM">0</field>'
|
|
24
|
+
+' </block>'
|
|
25
|
+
+' </value>'
|
|
26
|
+
+' <field name="MIN_OPERATOR">LE</field>'
|
|
27
|
+
+' <value name="VALUE">'
|
|
28
|
+
+' <shadow type="math_number">'
|
|
29
|
+
+' <field name="NUM">42</field>'
|
|
30
|
+
+' </shadow>'
|
|
31
|
+
+' </value>'
|
|
32
|
+
+' <field name="MAX_OPERATOR">LE</field>'
|
|
33
|
+
+' <value name="MAX">'
|
|
34
|
+
+' <block type="math_number">'
|
|
35
|
+
+' <field name="NUM">100</field>'
|
|
36
|
+
+' </block>'
|
|
37
|
+
+' </value>'
|
|
38
|
+
+'</block>';
|
|
39
|
+
|
|
40
|
+
Blockly.Blocks['other_between'] = {
|
|
41
|
+
init: function() {
|
|
42
|
+
this.appendValueInput('MIN')
|
|
43
|
+
.setCheck('Number');
|
|
44
|
+
this.appendValueInput('VALUE')
|
|
45
|
+
.setCheck('Number')
|
|
46
|
+
.appendField(new Blockly.FieldDropdown([['<', 'LT'], ['≤', 'LE']]), 'MIN_OPERATOR');
|
|
47
|
+
this.appendValueInput('MAX')
|
|
48
|
+
.setCheck('Number')
|
|
49
|
+
.appendField(new Blockly.FieldDropdown([['<', 'LT'], ['≤', 'LE']]), 'MAX_OPERATOR');
|
|
50
|
+
|
|
51
|
+
this.setInputsInline(true);
|
|
52
|
+
this.setOutput(true, 'Boolean');
|
|
53
|
+
this.setColour(Blockly.Constants.Logic.HUE);
|
|
54
|
+
this.setTooltip(Blockly.Translate('other_between_tooltip'));
|
|
55
|
+
this.setHelpUrl(Blockly.Translate('other_between_helpurl'));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
Blockly.JavaScript['other_between'] = function(block) {
|
|
60
|
+
const min = Blockly.JavaScript.valueToCode(block, 'MIN', Blockly.JavaScript.ORDER_RELATIONAL) || 0;
|
|
61
|
+
const value = Blockly.JavaScript.valueToCode(block, 'VALUE', Blockly.JavaScript.ORDER_RELATIONAL) || 0;
|
|
62
|
+
const max = Blockly.JavaScript.valueToCode(block, 'MAX', Blockly.JavaScript.ORDER_RELATIONAL) || 0;
|
|
63
|
+
const minOperator = block.getFieldValue('MIN_OPERATOR') === 'LT' ? '<' : '<=';
|
|
64
|
+
const maxOperator = block.getFieldValue('MAX_OPERATOR') === 'LT' ? '<' : '<=';
|
|
65
|
+
|
|
66
|
+
const code = `${min} ${minOperator} ${value} && ${value} ${maxOperator} ${max}`;
|
|
67
|
+
return [code, Blockly.JavaScript.ORDER_LOGICAL_AND];
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// --- other_ifempty --------------------------------------------------
|
|
71
|
+
Blockly.Other.blocks['other_ifempty'] =
|
|
72
|
+
'<block type="other_ifempty">'
|
|
73
|
+
+' <value name="VALUE">'
|
|
74
|
+
+' </value>'
|
|
75
|
+
+' <value name="DEFLT">'
|
|
76
|
+
+' </value>'
|
|
77
|
+
+'</block>';
|
|
78
|
+
|
|
79
|
+
Blockly.Blocks['other_ifempty'] = {
|
|
80
|
+
init: function() {
|
|
81
|
+
this.appendValueInput('VALUE')
|
|
82
|
+
.setCheck(null)
|
|
83
|
+
.setAlign(Blockly.ALIGN_RIGHT)
|
|
84
|
+
.appendField(Blockly.Translate('other_ifempty'));
|
|
85
|
+
this.appendValueInput('DEFLT')
|
|
86
|
+
.setCheck(null)
|
|
87
|
+
.setAlign(Blockly.ALIGN_RIGHT)
|
|
88
|
+
.appendField(Blockly.Translate('other_ifempty_then'));
|
|
89
|
+
|
|
90
|
+
this.setOutput(true, null);
|
|
91
|
+
this.setInputsInline(true);
|
|
92
|
+
this.setColour(Blockly.Constants.Logic.HUE);
|
|
93
|
+
this.setTooltip(Blockly.Translate('other_ifempty_tooltip'));
|
|
94
|
+
this.setHelpUrl(Blockly.Translate('other_ifempty_helpurl'));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
Blockly.JavaScript['other_ifempty'] = function(block) {
|
|
99
|
+
const value = Blockly.JavaScript.valueToCode(block, 'VALUE', Blockly.JavaScript.ORDER_LOGICAL_OR) || null;
|
|
100
|
+
const deflt = Blockly.JavaScript.valueToCode(block, 'DEFLT', Blockly.JavaScript.ORDER_LOGICAL_OR) || null;
|
|
101
|
+
|
|
102
|
+
return [value + ' || ' + deflt, Blockly.JavaScript.ORDER_LOGICAL_OR];
|
|
103
|
+
};
|