blockly 13.0.0-beta.1 → 13.0.0-beta.3

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.
Files changed (298) hide show
  1. package/blockly.min.js +1290 -1233
  2. package/blockly_compressed.js +1131 -1103
  3. package/blockly_compressed.js.map +1 -1
  4. package/blocks_compressed.js +71 -71
  5. package/blocks_compressed.js.map +1 -1
  6. package/core/block.d.ts +18 -0
  7. package/core/block_aria_composer.d.ts +1 -1
  8. package/core/bubbles/bubble.d.ts +39 -0
  9. package/core/bubbles/textinput_bubble.d.ts +5 -0
  10. package/core/field_checkbox.d.ts +27 -0
  11. package/core/field_dropdown.d.ts +51 -1
  12. package/core/field_image.d.ts +24 -0
  13. package/core/field_input.d.ts +1 -1
  14. package/core/field_number.d.ts +10 -0
  15. package/core/field_textinput.d.ts +10 -0
  16. package/core/field_variable.d.ts +9 -0
  17. package/core/flyout_base.d.ts +10 -0
  18. package/core/icons/comment_icon.d.ts +8 -0
  19. package/core/icons/icon.d.ts +14 -0
  20. package/core/icons/mutator_icon.d.ts +8 -0
  21. package/core/icons/warning_icon.d.ts +8 -0
  22. package/core/inputs/input.d.ts +28 -0
  23. package/core/interfaces/i_flyout_inflater.d.ts +9 -0
  24. package/core/interfaces/i_json_block_definition.d.ts +1 -0
  25. package/core/menu.d.ts +3 -0
  26. package/core/menuitem.d.ts +8 -1
  27. package/core/shortcut_items.d.ts +6 -1
  28. package/core/tooltip.d.ts +10 -0
  29. package/core/trashcan.d.ts +23 -38
  30. package/core/utils/aria.d.ts +7 -1
  31. package/core/workspace.d.ts +5 -1
  32. package/core/workspace_svg.d.ts +8 -0
  33. package/core/zoom_controls.d.ts +43 -50
  34. package/dart_compressed.js +62 -62
  35. package/dart_compressed.js.map +1 -1
  36. package/javascript_compressed.js +55 -55
  37. package/javascript_compressed.js.map +1 -1
  38. package/lua_compressed.js +50 -50
  39. package/lua_compressed.js.map +1 -1
  40. package/media/drop.mp3 +0 -0
  41. package/msg/ab.js +32 -3
  42. package/msg/ab.mjs +30 -1
  43. package/msg/ace.js +33 -4
  44. package/msg/ace.mjs +30 -1
  45. package/msg/af.js +32 -3
  46. package/msg/af.mjs +30 -1
  47. package/msg/am.js +33 -4
  48. package/msg/am.mjs +30 -1
  49. package/msg/ar.js +55 -26
  50. package/msg/ar.mjs +30 -1
  51. package/msg/ast.js +33 -4
  52. package/msg/ast.mjs +30 -1
  53. package/msg/az.js +33 -4
  54. package/msg/az.mjs +30 -1
  55. package/msg/ba.js +32 -3
  56. package/msg/ba.mjs +30 -1
  57. package/msg/bcc.js +32 -3
  58. package/msg/bcc.mjs +30 -1
  59. package/msg/be-tarask.js +66 -37
  60. package/msg/be-tarask.mjs +30 -1
  61. package/msg/be.js +33 -4
  62. package/msg/be.mjs +30 -1
  63. package/msg/bg.js +32 -3
  64. package/msg/bg.mjs +30 -1
  65. package/msg/bn.js +33 -4
  66. package/msg/bn.mjs +30 -1
  67. package/msg/br.js +33 -4
  68. package/msg/br.mjs +30 -1
  69. package/msg/bs.js +32 -3
  70. package/msg/bs.mjs +30 -1
  71. package/msg/ca.js +32 -3
  72. package/msg/ca.mjs +30 -1
  73. package/msg/ce.js +32 -3
  74. package/msg/ce.mjs +30 -1
  75. package/msg/cs.js +40 -11
  76. package/msg/cs.mjs +30 -1
  77. package/msg/da.js +56 -27
  78. package/msg/da.mjs +30 -1
  79. package/msg/de.js +32 -3
  80. package/msg/de.mjs +30 -1
  81. package/msg/diq.js +34 -5
  82. package/msg/diq.mjs +30 -1
  83. package/msg/dtp.js +32 -3
  84. package/msg/dtp.mjs +30 -1
  85. package/msg/dty.js +32 -3
  86. package/msg/dty.mjs +30 -1
  87. package/msg/ee.js +32 -3
  88. package/msg/ee.mjs +30 -1
  89. package/msg/el.js +63 -34
  90. package/msg/el.mjs +30 -1
  91. package/msg/en-gb.js +32 -3
  92. package/msg/en-gb.mjs +30 -1
  93. package/msg/en.js +33 -4
  94. package/msg/en.mjs +30 -1
  95. package/msg/eo.js +32 -3
  96. package/msg/eo.mjs +30 -1
  97. package/msg/es.js +42 -13
  98. package/msg/es.mjs +30 -1
  99. package/msg/et.js +32 -3
  100. package/msg/et.mjs +30 -1
  101. package/msg/eu.js +32 -3
  102. package/msg/eu.mjs +30 -1
  103. package/msg/fa.js +33 -4
  104. package/msg/fa.mjs +30 -1
  105. package/msg/fi.js +51 -22
  106. package/msg/fi.mjs +30 -1
  107. package/msg/fo.js +32 -3
  108. package/msg/fo.mjs +30 -1
  109. package/msg/fr.js +55 -26
  110. package/msg/fr.mjs +30 -1
  111. package/msg/frr.js +33 -4
  112. package/msg/frr.mjs +30 -1
  113. package/msg/ga.js +559 -0
  114. package/msg/{cdo.mjs → ga.mjs} +32 -3
  115. package/msg/gl.js +55 -26
  116. package/msg/gl.mjs +30 -1
  117. package/msg/gn.js +33 -4
  118. package/msg/gn.mjs +30 -1
  119. package/msg/gor.js +32 -3
  120. package/msg/gor.mjs +30 -1
  121. package/msg/ha.js +32 -3
  122. package/msg/ha.mjs +30 -1
  123. package/msg/hak.js +33 -4
  124. package/msg/hak.mjs +30 -1
  125. package/msg/he.js +82 -53
  126. package/msg/he.mjs +30 -1
  127. package/msg/hi.js +32 -3
  128. package/msg/hi.mjs +30 -1
  129. package/msg/hr.js +32 -3
  130. package/msg/hr.mjs +30 -1
  131. package/msg/hrx.js +32 -3
  132. package/msg/hrx.mjs +30 -1
  133. package/msg/hsb.js +32 -3
  134. package/msg/hsb.mjs +30 -1
  135. package/msg/hu.js +34 -5
  136. package/msg/hu.mjs +30 -1
  137. package/msg/hy.js +32 -3
  138. package/msg/hy.mjs +30 -1
  139. package/msg/ia.js +55 -26
  140. package/msg/ia.mjs +30 -1
  141. package/msg/id.js +262 -233
  142. package/msg/id.mjs +30 -1
  143. package/msg/ig.js +40 -11
  144. package/msg/ig.mjs +30 -1
  145. package/msg/inh.js +32 -3
  146. package/msg/inh.mjs +30 -1
  147. package/msg/is.js +32 -3
  148. package/msg/is.mjs +30 -1
  149. package/msg/it.js +58 -29
  150. package/msg/it.mjs +30 -1
  151. package/msg/ja.js +55 -26
  152. package/msg/ja.mjs +30 -1
  153. package/msg/ka.js +34 -5
  154. package/msg/ka.mjs +30 -1
  155. package/msg/kab.js +41 -12
  156. package/msg/kab.mjs +30 -1
  157. package/msg/kbd-cyrl.js +33 -4
  158. package/msg/kbd-cyrl.mjs +30 -1
  159. package/msg/km.js +32 -3
  160. package/msg/km.mjs +30 -1
  161. package/msg/kn.js +32 -3
  162. package/msg/kn.mjs +30 -1
  163. package/msg/ko.js +57 -28
  164. package/msg/ko.mjs +30 -1
  165. package/msg/krc.js +559 -0
  166. package/msg/krc.mjs +540 -0
  167. package/msg/ksh.js +33 -4
  168. package/msg/ksh.mjs +30 -1
  169. package/msg/ku-latn.js +33 -4
  170. package/msg/ku-latn.mjs +30 -1
  171. package/msg/ky.js +34 -5
  172. package/msg/ky.mjs +30 -1
  173. package/msg/la.js +33 -4
  174. package/msg/la.mjs +30 -1
  175. package/msg/lb.js +43 -14
  176. package/msg/lb.mjs +30 -1
  177. package/msg/lki.js +32 -3
  178. package/msg/lki.mjs +30 -1
  179. package/msg/lo.js +32 -3
  180. package/msg/lo.mjs +30 -1
  181. package/msg/lrc.js +32 -3
  182. package/msg/lrc.mjs +30 -1
  183. package/msg/lt.js +33 -4
  184. package/msg/lt.mjs +30 -1
  185. package/msg/lv.js +43 -14
  186. package/msg/lv.mjs +30 -1
  187. package/msg/mg.js +32 -3
  188. package/msg/mg.mjs +30 -1
  189. package/msg/mk.js +32 -3
  190. package/msg/mk.mjs +30 -1
  191. package/msg/ml.js +32 -3
  192. package/msg/ml.mjs +30 -1
  193. package/msg/mnw.js +32 -3
  194. package/msg/mnw.mjs +30 -1
  195. package/msg/ms.js +41 -12
  196. package/msg/ms.mjs +30 -1
  197. package/msg/my.js +32 -3
  198. package/msg/my.mjs +30 -1
  199. package/msg/mzn.js +33 -4
  200. package/msg/mzn.mjs +30 -1
  201. package/msg/nb.js +32 -3
  202. package/msg/nb.mjs +30 -1
  203. package/msg/ne.js +41 -12
  204. package/msg/ne.mjs +30 -1
  205. package/msg/nl.js +55 -26
  206. package/msg/nl.mjs +30 -1
  207. package/msg/oc.js +32 -3
  208. package/msg/oc.mjs +30 -1
  209. package/msg/olo.js +33 -4
  210. package/msg/olo.mjs +30 -1
  211. package/msg/pa.js +41 -12
  212. package/msg/pa.mjs +30 -1
  213. package/msg/pl.js +55 -26
  214. package/msg/pl.mjs +30 -1
  215. package/msg/pms.js +55 -26
  216. package/msg/pms.mjs +30 -1
  217. package/msg/ps.js +50 -21
  218. package/msg/ps.mjs +30 -1
  219. package/msg/pt-br.js +55 -26
  220. package/msg/pt-br.mjs +30 -1
  221. package/msg/pt.js +55 -26
  222. package/msg/pt.mjs +30 -1
  223. package/msg/ro.js +64 -35
  224. package/msg/ro.mjs +30 -1
  225. package/msg/ru.js +55 -26
  226. package/msg/ru.mjs +30 -1
  227. package/msg/sc.js +32 -3
  228. package/msg/sc.mjs +30 -1
  229. package/msg/sco.js +33 -4
  230. package/msg/sco.mjs +30 -1
  231. package/msg/sd.js +32 -3
  232. package/msg/sd.mjs +30 -1
  233. package/msg/shn.js +32 -3
  234. package/msg/shn.mjs +30 -1
  235. package/msg/si.js +33 -4
  236. package/msg/si.mjs +30 -1
  237. package/msg/sk.js +33 -4
  238. package/msg/sk.mjs +30 -1
  239. package/msg/skr-arab.js +35 -6
  240. package/msg/skr-arab.mjs +30 -1
  241. package/msg/sl.js +56 -27
  242. package/msg/sl.mjs +30 -1
  243. package/msg/smn.js +34 -5
  244. package/msg/smn.mjs +30 -1
  245. package/msg/sq.js +41 -12
  246. package/msg/sq.mjs +30 -1
  247. package/msg/sr-latn.js +32 -3
  248. package/msg/sr-latn.mjs +30 -1
  249. package/msg/sr.js +32 -3
  250. package/msg/sr.mjs +30 -1
  251. package/msg/sv.js +55 -26
  252. package/msg/sv.mjs +30 -1
  253. package/msg/sw.js +33 -4
  254. package/msg/sw.mjs +30 -1
  255. package/msg/ta.js +51 -22
  256. package/msg/ta.mjs +30 -1
  257. package/msg/tcy.js +102 -73
  258. package/msg/tcy.mjs +30 -1
  259. package/msg/tdd.js +32 -3
  260. package/msg/tdd.mjs +30 -1
  261. package/msg/te.js +32 -3
  262. package/msg/te.mjs +30 -1
  263. package/msg/th.js +33 -4
  264. package/msg/th.mjs +30 -1
  265. package/msg/ti.js +32 -3
  266. package/msg/ti.mjs +30 -1
  267. package/msg/tl.js +32 -3
  268. package/msg/tl.mjs +30 -1
  269. package/msg/tlh.js +32 -3
  270. package/msg/tlh.mjs +30 -1
  271. package/msg/tr.js +55 -26
  272. package/msg/tr.mjs +30 -1
  273. package/msg/ug-arab.js +32 -3
  274. package/msg/ug-arab.mjs +30 -1
  275. package/msg/uk.js +32 -3
  276. package/msg/uk.mjs +30 -1
  277. package/msg/ur.js +32 -3
  278. package/msg/ur.mjs +30 -1
  279. package/msg/uz.js +47 -18
  280. package/msg/uz.mjs +30 -1
  281. package/msg/vi.js +56 -27
  282. package/msg/vi.mjs +30 -1
  283. package/msg/xmf.js +32 -3
  284. package/msg/xmf.mjs +30 -1
  285. package/msg/yo.js +32 -3
  286. package/msg/yo.mjs +30 -1
  287. package/msg/zgh.js +32 -3
  288. package/msg/zgh.mjs +30 -1
  289. package/msg/zh-hans.js +55 -26
  290. package/msg/zh-hans.mjs +30 -1
  291. package/msg/zh-hant.js +55 -26
  292. package/msg/zh-hant.mjs +30 -1
  293. package/package.json +4 -4
  294. package/php_compressed.js +54 -55
  295. package/php_compressed.js.map +1 -1
  296. package/python_compressed.js +57 -57
  297. package/python_compressed.js.map +1 -1
  298. package/msg/cdo.js +0 -530
package/msg/zh-hant.js CHANGED
@@ -18,7 +18,7 @@
18
18
  var Blockly = Blockly || { Msg: Object.create(null) };
19
19
 
20
20
  Blockly.Msg["ADD_COMMENT"] = "添加評論";
21
- Blockly.Msg["ALT_KEY"] = "Alt"; // untranslated
21
+ Blockly.Msg["ALT_KEY"] = "Alt";
22
22
  Blockly.Msg["ANNOUNCE_MOVE_AFTER"] = "moving %1 after %3"; // untranslated
23
23
  Blockly.Msg["ANNOUNCE_MOVE_AROUND"] = "moving %1 %2 around %3"; // untranslated
24
24
  Blockly.Msg["ANNOUNCE_MOVE_BEFORE"] = "moving %1 before %3"; // untranslated
@@ -26,7 +26,14 @@ Blockly.Msg["ANNOUNCE_MOVE_CANCELED"] = "Canceled movement"; // untranslated
26
26
  Blockly.Msg["ANNOUNCE_MOVE_INSIDE"] = "moving %1 inside %3 %4"; // untranslated
27
27
  Blockly.Msg["ANNOUNCE_MOVE_TO"] = "moving %1 %2 to %3 %4"; // untranslated
28
28
  Blockly.Msg["ANNOUNCE_MOVE_WORKSPACE"] = "moving %1 on workspace"; // untranslated
29
- Blockly.Msg["ARIA_TYPE_FIELD_INPUT"] = "input field"; // untranslated
29
+ Blockly.Msg["ARIA_LABEL_BUTTON"] = "button"; // untranslated
30
+ Blockly.Msg["ARIA_LABEL_HEADING"] = "heading"; // untranslated
31
+ Blockly.Msg["ARIA_TYPE_FIELD_CHECKBOX"] = "checkbox"; // untranslated
32
+ Blockly.Msg["ARIA_TYPE_FIELD_DROPDOWN"] = "dropdown"; // untranslated
33
+ Blockly.Msg["ARIA_TYPE_FIELD_IMAGE"] = "image"; // untranslated
34
+ Blockly.Msg["ARIA_TYPE_FIELD_INPUT"] = "input"; // untranslated
35
+ Blockly.Msg["ARIA_TYPE_FIELD_NUMBER"] = "number"; // untranslated
36
+ Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT"] = "text"; // untranslated
30
37
  Blockly.Msg["BACKSPACE_KEY"] = "Backspace"; // untranslated
31
38
  Blockly.Msg["BLOCK_LABEL_BEGIN_PREFIX"] = "Begin %1"; // untranslated
32
39
  Blockly.Msg["BLOCK_LABEL_BEGIN_STACK"] = "Begin stack"; // untranslated
@@ -37,15 +44,18 @@ Blockly.Msg["BLOCK_LABEL_HAS_INPUT"] = "has input"; // untranslated
37
44
  Blockly.Msg["BLOCK_LABEL_HAS_INPUTS"] = "has inputs"; // untranslated
38
45
  Blockly.Msg["BLOCK_LABEL_REPLACEABLE"] = "replaceable"; // untranslated
39
46
  Blockly.Msg["BLOCK_LABEL_STACK_BLOCKS"] = "%1 stack blocks"; // untranslated
40
- Blockly.Msg["BLOCK_LABEL_STATEMENT"] = "statement"; // untranslated
47
+ Blockly.Msg["BLOCK_LABEL_STATEMENT"] = "command"; // untranslated
41
48
  Blockly.Msg["BLOCK_LABEL_TOOLBOX_CATEGORY"] = "%1 category"; // untranslated
42
49
  Blockly.Msg["BLOCK_LABEL_VALUE"] = "value"; // untranslated
50
+ Blockly.Msg["BUBBLE_LABEL_COMMENT"] = "Comment: %1"; // untranslated
51
+ Blockly.Msg["BUBBLE_LABEL_DEFAULT"] = "Bubble"; // untranslated
52
+ Blockly.Msg["BUBBLE_LABEL_WARNING"] = "Warning: %1"; // untranslated
43
53
  Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "無法刪除變數「%1」,因為這是功能「%2」定義的一部份內容";
44
54
  Blockly.Msg["CAPS_LOCK_KEY"] = "Caps Lock"; // untranslated
45
55
  Blockly.Msg["CHANGE_VALUE_TITLE"] = "修改值:";
46
- Blockly.Msg["CHROME_OS"] = "ChromeOS"; // untranslated
56
+ Blockly.Msg["CHROME_OS"] = "ChromeOS";
47
57
  Blockly.Msg["CLEAN_UP"] = "清理區塊";
48
- Blockly.Msg["CLOSE"] = "Close"; // untranslated
58
+ Blockly.Msg["CLOSE"] = "關閉";
49
59
  Blockly.Msg["COLLAPSED_WARNINGS_WARNING"] = "收合含有警告的區塊。";
50
60
  Blockly.Msg["COLLAPSE_ALL"] = "收合區塊";
51
61
  Blockly.Msg["COLLAPSE_BLOCK"] = "收合區塊";
@@ -66,7 +76,7 @@ Blockly.Msg["COLOUR_RGB_HELPURL"] = "https://www.december.com/html/spec/colorper
66
76
  Blockly.Msg["COLOUR_RGB_RED"] = "紅";
67
77
  Blockly.Msg["COLOUR_RGB_TITLE"] = "顏色";
68
78
  Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "透過指定紅、綠、 藍色的值來建立一種顏色。所有的值必須介於 0 和 100 之間。";
69
- Blockly.Msg["COMMAND_KEY"] = "⌘ Command"; // untranslated
79
+ Blockly.Msg["COMMAND_KEY"] = "⌘ Command";
70
80
  Blockly.Msg["CONTEXT_MENU_KEY"] = "≣ Menu"; // untranslated
71
81
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks"; // untranslated
72
82
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "中斷循環";
@@ -100,9 +110,9 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "重複直到";
100
110
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "重複,當";
101
111
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "當值為 false 時,執行一些陳述式。";
102
112
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "當值為 true 時,執行一些陳述式。";
103
- Blockly.Msg["CONTROL_KEY"] = "Ctrl"; // untranslated
104
- Blockly.Msg["COPY_SHORTCUT"] = "Copy"; // untranslated
105
- Blockly.Msg["CUT_SHORTCUT"] = "Cut"; // untranslated
113
+ Blockly.Msg["CONTROL_KEY"] = "Ctrl";
114
+ Blockly.Msg["COPY_SHORTCUT"] = "拷貝";
115
+ Blockly.Msg["CUT_SHORTCUT"] = "剪下";
106
116
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "刪除全部 %1 個區塊?";
107
117
  Blockly.Msg["DELETE_BLOCK"] = "刪除區塊";
108
118
  Blockly.Msg["DELETE_KEY"] = "Delete"; // untranslated
@@ -114,7 +124,7 @@ Blockly.Msg["DIALOG_OK"] = "確定";
114
124
  Blockly.Msg["DISABLE_BLOCK"] = "停用區塊";
115
125
  Blockly.Msg["DUPLICATE_BLOCK"] = "再製";
116
126
  Blockly.Msg["DUPLICATE_COMMENT"] = "複製註解";
117
- Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents"; // untranslated
127
+ Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "編輯區塊內容";
118
128
  Blockly.Msg["ENABLE_BLOCK"] = "啟用區塊";
119
129
  Blockly.Msg["END_KEY"] = "End"; // untranslated
120
130
  Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
@@ -122,21 +132,32 @@ Blockly.Msg["ESCAPE"] = "Esc"; // untranslated
122
132
  Blockly.Msg["EXPAND_ALL"] = "展開區塊";
123
133
  Blockly.Msg["EXPAND_BLOCK"] = "展開區塊";
124
134
  Blockly.Msg["EXTERNAL_INPUTS"] = "外部輸入";
135
+ Blockly.Msg["FIELD_LABEL_CHECKBOX_CHECKED"] = "Checked"; // untranslated
136
+ Blockly.Msg["FIELD_LABEL_CHECKBOX_UNCHECKED"] = "Not checked"; // untranslated
125
137
  Blockly.Msg["FIELD_LABEL_EDIT_PREFIX"] = "Edit %1"; // untranslated
126
138
  Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty"; // untranslated
139
+ Blockly.Msg["FIELD_LABEL_OPTION_INDEX"] = "Option %1"; // untranslated
140
+ Blockly.Msg["FIELD_LABEL_VARIABLE"] = "Variable '%1'"; // untranslated
127
141
  Blockly.Msg["HELP"] = "說明";
128
- Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls"; // untranslated
142
+ Blockly.Msg["HELP_PROMPT"] = "按下 %1 取得鍵盤控制說明";
129
143
  Blockly.Msg["HOME_KEY"] = "Home"; // untranslated
144
+ Blockly.Msg["ICON_LABEL_COMMENT_CLOSED"] = "Open Comment"; // untranslated
145
+ Blockly.Msg["ICON_LABEL_COMMENT_OPEN"] = "Close Comment"; // untranslated
146
+ Blockly.Msg["ICON_LABEL_DEFAULT"] = "Icon"; // untranslated
147
+ Blockly.Msg["ICON_LABEL_MUTATOR_CLOSED"] = "Edit this block"; // untranslated
148
+ Blockly.Msg["ICON_LABEL_MUTATOR_OPEN"] = "Close block editor"; // untranslated
149
+ Blockly.Msg["ICON_LABEL_WARNING_CLOSED"] = "Open Warning"; // untranslated
150
+ Blockly.Msg["ICON_LABEL_WARNING_OPEN"] = "Close Warning"; // untranslated
130
151
  Blockly.Msg["INLINE_INPUTS"] = "單行輸入";
131
152
  Blockly.Msg["INPUT_LABEL_INDEX"] = "input %1"; // untranslated
132
153
  Blockly.Msg["INSERT_KEY"] = "Insert"; // untranslated
133
154
  Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use the right arrow key to navigate inside of blocks"; // untranslated
134
- Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position"; // untranslated
135
- Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "Copied. Press %1 to paste."; // untranslated
136
- Blockly.Msg["KEYBOARD_NAV_CUT_HINT"] = "Cut. Press %1 to paste."; // untranslated
137
- Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "Hold %1 and use arrow keys to move freely, then %2 to accept the position"; // untranslated
155
+ Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "使用箭頭鍵來移動,然後按下 %1 接受位置";
156
+ Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "已拷貝。按下 %1 貼上。";
157
+ Blockly.Msg["KEYBOARD_NAV_CUT_HINT"] = "已剪下。按下 %1 貼上。";
158
+ Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "壓住 %1 並使用箭頭鍵來自由移動,然後按下 %2 接受位置";
138
159
  Blockly.Msg["KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT"] = "Use the arrow keys to navigate"; // untranslated
139
- Blockly.Msg["LINUX"] = "Linux"; // untranslated
160
+ Blockly.Msg["LINUX"] = "Linux";
140
161
  Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-empty-list"; // untranslated
141
162
  Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "建立空的清單";
142
163
  Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "返回一個長度(項目數量)為 0 的清單,不包含任何資料記錄";
@@ -249,7 +270,7 @@ Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
249
270
  Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "如果為假";
250
271
  Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "如果為真";
251
272
  Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "檢查「測試」中的條件。如果條件為真,將返回「如果為真」的值;否則,返回「如果為假」的值。";
252
- Blockly.Msg["MAC_OS"] = "macOS"; // untranslated
273
+ Blockly.Msg["MAC_OS"] = "macOS";
253
274
  Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+"; // untranslated
254
275
  Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://zh.wikipedia.org/wiki/算術";
255
276
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "返回兩個數字的總和。";
@@ -336,18 +357,19 @@ Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "返回指定數字的反正切值。";
336
357
  Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "返回指定角度的餘弦值(非弧度)。";
337
358
  Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "返回指定角度的正弦值(非弧度)。";
338
359
  Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "返回指定角度的正切值(非弧度)。";
339
- Blockly.Msg["MOVE_BLOCK"] = "Move Block"; // untranslated
360
+ Blockly.Msg["MOVE_BLOCK"] = "移動區塊";
340
361
  Blockly.Msg["NEW_COLOUR_VARIABLE"] = "建立顏色變數…";
341
362
  Blockly.Msg["NEW_NUMBER_VARIABLE"] = "建立數值變數……";
342
363
  Blockly.Msg["NEW_STRING_VARIABLE"] = "建立字串變數……";
343
364
  Blockly.Msg["NEW_VARIABLE"] = "建立變數…";
344
365
  Blockly.Msg["NEW_VARIABLE_TITLE"] = "新變數名稱:";
345
366
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "新變數類型:";
346
- Blockly.Msg["OPTION_KEY"] = " Option"; // untranslated
367
+ Blockly.Msg["OPEN_TRASH"] = "Open trash"; // untranslated
368
+ Blockly.Msg["OPTION_KEY"] = "⌥ Option";
347
369
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
348
370
  Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down"; // untranslated
349
371
  Blockly.Msg["PAGE_UP_KEY"] = "Page Up"; // untranslated
350
- Blockly.Msg["PASTE_SHORTCUT"] = "Paste"; // untranslated
372
+ Blockly.Msg["PASTE_SHORTCUT"] = "貼上";
351
373
  Blockly.Msg["PAUSE_KEY"] = "Pause"; // untranslated
352
374
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "允許陳述式";
353
375
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "與:";
@@ -380,19 +402,20 @@ Blockly.Msg["REDO"] = "重做";
380
402
  Blockly.Msg["REMOVE_COMMENT"] = "移除註解";
381
403
  Blockly.Msg["RENAME_VARIABLE"] = "重新命名變數...";
382
404
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "將所有「%1」變數重新命名為:";
405
+ Blockly.Msg["RESET_ZOOM"] = "Reset zoom"; // untranslated
383
406
  Blockly.Msg["SHIFT_KEY"] = "Shift"; // untranslated
384
407
  Blockly.Msg["SHORTCUTS_ABORT_MOVE"] = "Abort move"; // untranslated
385
408
  Blockly.Msg["SHORTCUTS_CLEANUP"] = "Clean up workspace"; // untranslated
386
- Blockly.Msg["SHORTCUTS_CODE_NAVIGATION"] = "Code navigation"; // untranslated
409
+ Blockly.Msg["SHORTCUTS_CODE_NAVIGATION"] = "代碼導航";
387
410
  Blockly.Msg["SHORTCUTS_DELETE"] = "Delete"; // untranslated
388
411
  Blockly.Msg["SHORTCUTS_DISCONNECT"] = "Disconnect block"; // untranslated
389
412
  Blockly.Msg["SHORTCUTS_DUPLICATE"] = "Duplicate"; // untranslated
390
- Blockly.Msg["SHORTCUTS_EDITING"] = "Editing"; // untranslated
413
+ Blockly.Msg["SHORTCUTS_EDITING"] = "編輯";
391
414
  Blockly.Msg["SHORTCUTS_ESCAPE"] = "Exit"; // untranslated
392
415
  Blockly.Msg["SHORTCUTS_FINISH_MOVE"] = "Finish move"; // untranslated
393
416
  Blockly.Msg["SHORTCUTS_FOCUS_TOOLBOX"] = "Focus toolbox"; // untranslated
394
417
  Blockly.Msg["SHORTCUTS_FOCUS_WORKSPACE"] = "Focus workspace"; // untranslated
395
- Blockly.Msg["SHORTCUTS_GENERAL"] = "General"; // untranslated
418
+ Blockly.Msg["SHORTCUTS_GENERAL"] = "一般";
396
419
  Blockly.Msg["SHORTCUTS_INFORMATION"] = "Announce information"; // untranslated
397
420
  Blockly.Msg["SHORTCUTS_MOVE_DOWN"] = "Move down"; // untranslated
398
421
  Blockly.Msg["SHORTCUTS_MOVE_LEFT"] = "Move left"; // untranslated
@@ -402,6 +425,7 @@ Blockly.Msg["SHORTCUTS_NEXT_STACK"] = "Next stack"; // untranslated
402
425
  Blockly.Msg["SHORTCUTS_PERFORM_ACTION"] = "Edit or confirm"; // untranslated
403
426
  Blockly.Msg["SHORTCUTS_PREVIOUS_STACK"] = "Previous stack"; // untranslated
404
427
  Blockly.Msg["SHORTCUTS_SHOW_CONTEXT_MENU"] = "Show menu"; // untranslated
428
+ Blockly.Msg["SHORTCUTS_SHOW_TOOLTIP"] = "Show tooltip"; // untranslated
405
429
  Blockly.Msg["SHORTCUTS_START_MOVE"] = "Start move"; // untranslated
406
430
  Blockly.Msg["SHORTCUTS_START_MOVE_STACK"] = "Start move stack"; // untranslated
407
431
  Blockly.Msg["SPACE_KEY"] = "Space"; // untranslated
@@ -476,7 +500,7 @@ Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "消除右側空格";
476
500
  Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "複製這段文字,同時刪除兩端多餘的空格。";
477
501
  Blockly.Msg["TODAY"] = "今天";
478
502
  Blockly.Msg["UNDO"] = "還原";
479
- Blockly.Msg["UNKNOWN"] = "Unknown"; // untranslated
503
+ Blockly.Msg["UNKNOWN"] = "不明";
480
504
  Blockly.Msg["UNNAMED_KEY"] = "未命名";
481
505
  Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "項目";
482
506
  Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "建立「賦值 %1」";
@@ -489,14 +513,19 @@ Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "設定此變數,好和輸入結果相
489
513
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "已存在變數「%1」。";
490
514
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "已存在名為「%1」,且用於其它類型「%2」的變數。";
491
515
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "已存在名為「%1」的變數,該變數作為程序「%2」的參數使用。";
492
- Blockly.Msg["WINDOWS"] = "Windows"; // untranslated
493
- Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly工作區";
516
+ Blockly.Msg["WINDOWS"] = "Windows";
494
517
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "來說些事情...";
495
518
  Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_MANY"] = "%1 stacks of blocks%2 in workspace."; // untranslated
496
519
  Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ONE"] = "One stack of blocks%2 in workspace."; // untranslated
497
520
  Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ZERO"] = "No blocks%2 in workspace."; // untranslated
498
521
  Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_MANY"] = " and %1 comments"; // untranslated
499
522
  Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_ONE"] = " and one comment"; // untranslated
523
+ Blockly.Msg["WORKSPACE_LABEL_1_STACK"] = "Blocks workspace. 1 stack of blocks"; // untranslated
524
+ Blockly.Msg["WORKSPACE_LABEL_FLYOUT_WORKSPACE"] = "%1 blocks"; // untranslated
525
+ Blockly.Msg["WORKSPACE_LABEL_MANY_STACKS"] = "Blocks workspace. %1 stacks of blocks"; // untranslated
526
+ Blockly.Msg["WORKSPACE_LABEL_MUTATOR_WORKSPACE"] = "Block editor workspace"; // untranslated
527
+ Blockly.Msg["ZOOM_IN"] = "Zoom in"; // untranslated
528
+ Blockly.Msg["ZOOM_OUT"] = "Zoom out"; // untranslated
500
529
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
501
530
  Blockly.Msg["CONTROLS_FOR_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
502
531
  Blockly.Msg["CONTROLS_IF_ELSEIF_TITLE_ELSEIF"] = Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"];
package/msg/zh-hant.mjs CHANGED
@@ -417,7 +417,6 @@ export const {
417
417
  PROCEDURES_IFRETURN_HELPURL,
418
418
  PROCEDURES_IFRETURN_WARNING,
419
419
  WORKSPACE_COMMENT_DEFAULT_TEXT,
420
- WORKSPACE_ARIA_LABEL,
421
420
  COLLAPSED_WARNINGS_WARNING,
422
421
  DIALOG_OK,
423
422
  DIALOG_CANCEL,
@@ -474,10 +473,15 @@ export const {
474
473
  SHORTCUTS_PERFORM_ACTION,
475
474
  SHORTCUTS_DUPLICATE,
476
475
  SHORTCUTS_CLEANUP,
476
+ SHORTCUTS_SHOW_TOOLTIP,
477
477
  KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT,
478
478
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
479
479
  KEYBOARD_NAV_COPIED_HINT,
480
480
  KEYBOARD_NAV_CUT_HINT,
481
+ WORKSPACE_LABEL_1_STACK,
482
+ WORKSPACE_LABEL_MANY_STACKS,
483
+ WORKSPACE_LABEL_MUTATOR_WORKSPACE,
484
+ WORKSPACE_LABEL_FLYOUT_WORKSPACE,
481
485
  WORKSPACE_CONTENTS_BLOCKS_MANY,
482
486
  WORKSPACE_CONTENTS_BLOCKS_ONE,
483
487
  WORKSPACE_CONTENTS_BLOCKS_ZERO,
@@ -507,5 +511,30 @@ export const {
507
511
  ANNOUNCE_MOVE_CANCELED,
508
512
  FIELD_LABEL_EMPTY,
509
513
  ARIA_TYPE_FIELD_INPUT,
514
+ ARIA_TYPE_FIELD_TEXT_INPUT,
515
+ ARIA_TYPE_FIELD_NUMBER,
516
+ ARIA_TYPE_FIELD_DROPDOWN,
517
+ ARIA_TYPE_FIELD_IMAGE,
518
+ ARIA_TYPE_FIELD_CHECKBOX,
510
519
  FIELD_LABEL_EDIT_PREFIX,
520
+ OPEN_TRASH,
521
+ ZOOM_IN,
522
+ ZOOM_OUT,
523
+ RESET_ZOOM,
524
+ FIELD_LABEL_OPTION_INDEX,
525
+ FIELD_LABEL_CHECKBOX_CHECKED,
526
+ FIELD_LABEL_CHECKBOX_UNCHECKED,
527
+ FIELD_LABEL_VARIABLE,
528
+ ARIA_LABEL_BUTTON,
529
+ ARIA_LABEL_HEADING,
530
+ BUBBLE_LABEL_DEFAULT,
531
+ BUBBLE_LABEL_COMMENT,
532
+ BUBBLE_LABEL_WARNING,
533
+ ICON_LABEL_DEFAULT,
534
+ ICON_LABEL_COMMENT_CLOSED,
535
+ ICON_LABEL_COMMENT_OPEN,
536
+ ICON_LABEL_MUTATOR_CLOSED,
537
+ ICON_LABEL_MUTATOR_OPEN,
538
+ ICON_LABEL_WARNING_CLOSED,
539
+ ICON_LABEL_WARNING_OPEN,
511
540
  } = zh_hant;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blockly",
3
- "version": "13.0.0-beta.1",
3
+ "version": "13.0.0-beta.3",
4
4
  "description": "Blockly is a library for building visual programming editors.",
5
5
  "keywords": [
6
6
  "blockly"
@@ -83,7 +83,7 @@
83
83
  "concurrently": "^9.0.1",
84
84
  "conventional-changelog-conventionalcommits": "^7.0.2",
85
85
  "conventional-recommended-bump": "^9.0.0",
86
- "eslint": "^9.15.0",
86
+ "eslint": "9.36.0",
87
87
  "eslint-config-google": "^0.14.0",
88
88
  "eslint-config-prettier": "^10.1.1",
89
89
  "eslint-plugin-jsdoc": "^52.0.2",
@@ -91,7 +91,7 @@
91
91
  "eslint-plugin-prettier": "^5.2.1",
92
92
  "glob": "^11.0.1",
93
93
  "globals": "^16.0.0",
94
- "google-closure-compiler": "^20260330.0.0",
94
+ "google-closure-compiler": "^20260427.0.0",
95
95
  "gulp": "^5.0.0",
96
96
  "gulp-concat": "^2.6.1",
97
97
  "gulp-gzip": "^1.4.2",
@@ -106,7 +106,7 @@
106
106
  "markdown-tables-to-json": "^0.1.7",
107
107
  "mocha": "^11.3.0",
108
108
  "patch-package": "^8.0.0",
109
- "prettier": "^3.3.3",
109
+ "prettier": "3.6.2",
110
110
  "prettier-plugin-organize-imports": "^4.0.0",
111
111
  "puppeteer-core": "^24.17.0",
112
112
  "readline-sync": "^1.4.10",