blockly 13.0.0-beta.0 → 13.0.0-beta.2

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 (313) hide show
  1. package/blockly.min.js +2092 -1318
  2. package/blockly.mjs +1 -1
  3. package/blockly_compressed.js +1887 -1190
  4. package/blockly_compressed.js.map +1 -1
  5. package/blocks_compressed.js +71 -71
  6. package/blocks_compressed.js.map +1 -1
  7. package/core/block.d.ts +18 -0
  8. package/core/block_aria_composer.d.ts +119 -0
  9. package/core/block_svg.d.ts +21 -1
  10. package/core/blockly.d.ts +1 -1
  11. package/core/bubbles/bubble.d.ts +39 -0
  12. package/core/bubbles/mini_workspace_bubble.d.ts +4 -1
  13. package/core/bubbles/text_bubble.d.ts +4 -1
  14. package/core/dragging/block_drag_strategy.d.ts +45 -3
  15. package/core/field.d.ts +15 -17
  16. package/core/field_checkbox.d.ts +27 -0
  17. package/core/field_dropdown.d.ts +51 -1
  18. package/core/field_image.d.ts +24 -0
  19. package/core/field_input.d.ts +23 -0
  20. package/core/field_number.d.ts +10 -0
  21. package/core/field_textinput.d.ts +10 -0
  22. package/core/field_variable.d.ts +9 -0
  23. package/core/flyout_base.d.ts +10 -0
  24. package/core/focus_manager.d.ts +47 -2
  25. package/core/inputs/input.d.ts +15 -0
  26. package/core/interfaces/i_flyout_inflater.d.ts +9 -0
  27. package/core/interfaces/i_focusable_node.d.ts +3 -1
  28. package/core/interfaces/i_json_block_definition.d.ts +1 -0
  29. package/core/keyboard_nav/keyboard_mover.d.ts +16 -5
  30. package/core/keyboard_nav/navigation_policies/bubble_navigation_policy.d.ts +63 -0
  31. package/core/keyboard_nav/navigation_policies/icon_navigation_policy.d.ts +2 -2
  32. package/core/keyboard_nav/navigators/flyout_navigator.d.ts +1 -1
  33. package/core/menu.d.ts +3 -0
  34. package/core/menuitem.d.ts +8 -1
  35. package/core/shortcut_items.d.ts +16 -1
  36. package/core/shortcut_registry.d.ts +6 -0
  37. package/core/toolbox/toolbox.d.ts +5 -11
  38. package/core/tooltip.d.ts +10 -0
  39. package/core/trashcan.d.ts +23 -38
  40. package/core/utils/aria.d.ts +16 -62
  41. package/core/utils/dom.d.ts +1 -1
  42. package/core/utils/shortcut_formatting.d.ts +5 -7
  43. package/core/variables.d.ts +1 -1
  44. package/core/workspace.d.ts +5 -1
  45. package/core/workspace_svg.d.ts +8 -0
  46. package/core/zoom_controls.d.ts +43 -50
  47. package/dart_compressed.js +62 -62
  48. package/dart_compressed.js.map +1 -1
  49. package/index.mjs +1 -1
  50. package/javascript_compressed.js +55 -55
  51. package/javascript_compressed.js.map +1 -1
  52. package/lua_compressed.js +50 -50
  53. package/lua_compressed.js.map +1 -1
  54. package/media/drop.mp3 +0 -0
  55. package/msg/ab.js +78 -1
  56. package/msg/ab.mjs +78 -1
  57. package/msg/ace.js +79 -2
  58. package/msg/ace.mjs +78 -1
  59. package/msg/af.js +78 -1
  60. package/msg/af.mjs +78 -1
  61. package/msg/am.js +79 -2
  62. package/msg/am.mjs +78 -1
  63. package/msg/ar.js +101 -24
  64. package/msg/ar.mjs +78 -1
  65. package/msg/ast.js +79 -2
  66. package/msg/ast.mjs +78 -1
  67. package/msg/az.js +79 -2
  68. package/msg/az.mjs +78 -1
  69. package/msg/ba.js +78 -1
  70. package/msg/ba.mjs +78 -1
  71. package/msg/bcc.js +78 -1
  72. package/msg/bcc.mjs +78 -1
  73. package/msg/be-tarask.js +112 -35
  74. package/msg/be-tarask.mjs +78 -1
  75. package/msg/be.js +79 -2
  76. package/msg/be.mjs +78 -1
  77. package/msg/bg.js +78 -1
  78. package/msg/bg.mjs +78 -1
  79. package/msg/bn.js +79 -2
  80. package/msg/bn.mjs +78 -1
  81. package/msg/br.js +79 -2
  82. package/msg/br.mjs +78 -1
  83. package/msg/bs.js +78 -1
  84. package/msg/bs.mjs +78 -1
  85. package/msg/ca.js +78 -1
  86. package/msg/ca.mjs +78 -1
  87. package/msg/ce.js +78 -1
  88. package/msg/ce.mjs +78 -1
  89. package/msg/cs.js +86 -9
  90. package/msg/cs.mjs +78 -1
  91. package/msg/da.js +102 -25
  92. package/msg/da.mjs +78 -1
  93. package/msg/de.js +78 -1
  94. package/msg/de.mjs +78 -1
  95. package/msg/diq.js +80 -3
  96. package/msg/diq.mjs +78 -1
  97. package/msg/dtp.js +78 -1
  98. package/msg/dtp.mjs +78 -1
  99. package/msg/dty.js +78 -1
  100. package/msg/dty.mjs +78 -1
  101. package/msg/ee.js +78 -1
  102. package/msg/ee.mjs +78 -1
  103. package/msg/el.js +109 -32
  104. package/msg/el.mjs +78 -1
  105. package/msg/en-gb.js +78 -1
  106. package/msg/en-gb.mjs +78 -1
  107. package/msg/en.js +79 -2
  108. package/msg/en.mjs +78 -1
  109. package/msg/eo.js +78 -1
  110. package/msg/eo.mjs +78 -1
  111. package/msg/es.js +88 -11
  112. package/msg/es.mjs +78 -1
  113. package/msg/et.js +78 -1
  114. package/msg/et.mjs +78 -1
  115. package/msg/eu.js +78 -1
  116. package/msg/eu.mjs +78 -1
  117. package/msg/fa.js +79 -2
  118. package/msg/fa.mjs +78 -1
  119. package/msg/fi.js +97 -20
  120. package/msg/fi.mjs +78 -1
  121. package/msg/fo.js +78 -1
  122. package/msg/fo.mjs +78 -1
  123. package/msg/fr.js +101 -24
  124. package/msg/fr.mjs +78 -1
  125. package/msg/frr.js +79 -2
  126. package/msg/frr.mjs +78 -1
  127. package/msg/ga.js +550 -0
  128. package/msg/{cdo.mjs → ga.mjs} +80 -3
  129. package/msg/gl.js +101 -24
  130. package/msg/gl.mjs +78 -1
  131. package/msg/gn.js +79 -2
  132. package/msg/gn.mjs +78 -1
  133. package/msg/gor.js +78 -1
  134. package/msg/gor.mjs +78 -1
  135. package/msg/ha.js +78 -1
  136. package/msg/ha.mjs +78 -1
  137. package/msg/hak.js +79 -2
  138. package/msg/hak.mjs +78 -1
  139. package/msg/he.js +128 -51
  140. package/msg/he.mjs +78 -1
  141. package/msg/hi.js +78 -1
  142. package/msg/hi.mjs +78 -1
  143. package/msg/hr.js +78 -1
  144. package/msg/hr.mjs +78 -1
  145. package/msg/hrx.js +78 -1
  146. package/msg/hrx.mjs +78 -1
  147. package/msg/hsb.js +78 -1
  148. package/msg/hsb.mjs +78 -1
  149. package/msg/hu.js +80 -3
  150. package/msg/hu.mjs +78 -1
  151. package/msg/hy.js +78 -1
  152. package/msg/hy.mjs +78 -1
  153. package/msg/ia.js +101 -24
  154. package/msg/ia.mjs +78 -1
  155. package/msg/id.js +308 -231
  156. package/msg/id.mjs +78 -1
  157. package/msg/ig.js +86 -9
  158. package/msg/ig.mjs +78 -1
  159. package/msg/inh.js +78 -1
  160. package/msg/inh.mjs +78 -1
  161. package/msg/is.js +78 -1
  162. package/msg/is.mjs +78 -1
  163. package/msg/it.js +104 -27
  164. package/msg/it.mjs +78 -1
  165. package/msg/ja.js +101 -24
  166. package/msg/ja.mjs +78 -1
  167. package/msg/ka.js +80 -3
  168. package/msg/ka.mjs +78 -1
  169. package/msg/kab.js +87 -10
  170. package/msg/kab.mjs +78 -1
  171. package/msg/kbd-cyrl.js +79 -2
  172. package/msg/kbd-cyrl.mjs +78 -1
  173. package/msg/km.js +78 -1
  174. package/msg/km.mjs +78 -1
  175. package/msg/kn.js +78 -1
  176. package/msg/kn.mjs +78 -1
  177. package/msg/ko.js +103 -26
  178. package/msg/ko.mjs +78 -1
  179. package/msg/krc.js +550 -0
  180. package/msg/krc.mjs +531 -0
  181. package/msg/ksh.js +79 -2
  182. package/msg/ksh.mjs +78 -1
  183. package/msg/ku-latn.js +79 -2
  184. package/msg/ku-latn.mjs +78 -1
  185. package/msg/ky.js +80 -3
  186. package/msg/ky.mjs +78 -1
  187. package/msg/la.js +79 -2
  188. package/msg/la.mjs +78 -1
  189. package/msg/lb.js +89 -12
  190. package/msg/lb.mjs +78 -1
  191. package/msg/lki.js +78 -1
  192. package/msg/lki.mjs +78 -1
  193. package/msg/lo.js +78 -1
  194. package/msg/lo.mjs +78 -1
  195. package/msg/lrc.js +78 -1
  196. package/msg/lrc.mjs +78 -1
  197. package/msg/lt.js +79 -2
  198. package/msg/lt.mjs +78 -1
  199. package/msg/lv.js +89 -12
  200. package/msg/lv.mjs +78 -1
  201. package/msg/mg.js +78 -1
  202. package/msg/mg.mjs +78 -1
  203. package/msg/mk.js +78 -1
  204. package/msg/mk.mjs +78 -1
  205. package/msg/ml.js +78 -1
  206. package/msg/ml.mjs +78 -1
  207. package/msg/mnw.js +78 -1
  208. package/msg/mnw.mjs +78 -1
  209. package/msg/ms.js +87 -10
  210. package/msg/ms.mjs +78 -1
  211. package/msg/my.js +78 -1
  212. package/msg/my.mjs +78 -1
  213. package/msg/mzn.js +79 -2
  214. package/msg/mzn.mjs +78 -1
  215. package/msg/nb.js +78 -1
  216. package/msg/nb.mjs +78 -1
  217. package/msg/ne.js +87 -10
  218. package/msg/ne.mjs +78 -1
  219. package/msg/nl.js +101 -24
  220. package/msg/nl.mjs +78 -1
  221. package/msg/oc.js +78 -1
  222. package/msg/oc.mjs +78 -1
  223. package/msg/olo.js +79 -2
  224. package/msg/olo.mjs +78 -1
  225. package/msg/pa.js +87 -10
  226. package/msg/pa.mjs +78 -1
  227. package/msg/pl.js +101 -24
  228. package/msg/pl.mjs +78 -1
  229. package/msg/pms.js +101 -24
  230. package/msg/pms.mjs +78 -1
  231. package/msg/ps.js +96 -19
  232. package/msg/ps.mjs +78 -1
  233. package/msg/pt-br.js +101 -24
  234. package/msg/pt-br.mjs +78 -1
  235. package/msg/pt.js +101 -24
  236. package/msg/pt.mjs +78 -1
  237. package/msg/ro.js +110 -33
  238. package/msg/ro.mjs +78 -1
  239. package/msg/ru.js +101 -24
  240. package/msg/ru.mjs +78 -1
  241. package/msg/sc.js +78 -1
  242. package/msg/sc.mjs +78 -1
  243. package/msg/sco.js +79 -2
  244. package/msg/sco.mjs +78 -1
  245. package/msg/sd.js +78 -1
  246. package/msg/sd.mjs +78 -1
  247. package/msg/shn.js +78 -1
  248. package/msg/shn.mjs +78 -1
  249. package/msg/si.js +79 -2
  250. package/msg/si.mjs +78 -1
  251. package/msg/sk.js +79 -2
  252. package/msg/sk.mjs +78 -1
  253. package/msg/skr-arab.js +81 -4
  254. package/msg/skr-arab.mjs +78 -1
  255. package/msg/sl.js +102 -25
  256. package/msg/sl.mjs +78 -1
  257. package/msg/smn.js +80 -3
  258. package/msg/smn.mjs +78 -1
  259. package/msg/sq.js +87 -10
  260. package/msg/sq.mjs +78 -1
  261. package/msg/sr-latn.js +78 -1
  262. package/msg/sr-latn.mjs +78 -1
  263. package/msg/sr.js +78 -1
  264. package/msg/sr.mjs +78 -1
  265. package/msg/sv.js +101 -24
  266. package/msg/sv.mjs +78 -1
  267. package/msg/sw.js +79 -2
  268. package/msg/sw.mjs +78 -1
  269. package/msg/ta.js +97 -20
  270. package/msg/ta.mjs +78 -1
  271. package/msg/tcy.js +148 -71
  272. package/msg/tcy.mjs +78 -1
  273. package/msg/tdd.js +78 -1
  274. package/msg/tdd.mjs +78 -1
  275. package/msg/te.js +78 -1
  276. package/msg/te.mjs +78 -1
  277. package/msg/th.js +79 -2
  278. package/msg/th.mjs +78 -1
  279. package/msg/ti.js +78 -1
  280. package/msg/ti.mjs +78 -1
  281. package/msg/tl.js +78 -1
  282. package/msg/tl.mjs +78 -1
  283. package/msg/tlh.js +78 -1
  284. package/msg/tlh.mjs +78 -1
  285. package/msg/tr.js +101 -24
  286. package/msg/tr.mjs +78 -1
  287. package/msg/ug-arab.js +78 -1
  288. package/msg/ug-arab.mjs +78 -1
  289. package/msg/uk.js +78 -1
  290. package/msg/uk.mjs +78 -1
  291. package/msg/ur.js +78 -1
  292. package/msg/ur.mjs +78 -1
  293. package/msg/uz.js +93 -16
  294. package/msg/uz.mjs +78 -1
  295. package/msg/vi.js +102 -25
  296. package/msg/vi.mjs +78 -1
  297. package/msg/xmf.js +78 -1
  298. package/msg/xmf.mjs +78 -1
  299. package/msg/yo.js +78 -1
  300. package/msg/yo.mjs +78 -1
  301. package/msg/zgh.js +78 -1
  302. package/msg/zgh.mjs +78 -1
  303. package/msg/zh-hans.js +101 -24
  304. package/msg/zh-hans.mjs +78 -1
  305. package/msg/zh-hant.js +101 -24
  306. package/msg/zh-hant.mjs +78 -1
  307. package/package.json +4 -4
  308. package/php_compressed.js +54 -55
  309. package/php_compressed.js.map +1 -1
  310. package/python_compressed.js +57 -57
  311. package/python_compressed.js.map +1 -1
  312. package/core/keyboard_nav/navigation_policies/block_comment_navigation_policy.d.ts +0 -63
  313. package/msg/cdo.js +0 -473
package/msg/zh-hant.js CHANGED
@@ -18,12 +18,42 @@
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
+ Blockly.Msg["ANNOUNCE_MOVE_AFTER"] = "moving %1 after %3"; // untranslated
23
+ Blockly.Msg["ANNOUNCE_MOVE_AROUND"] = "moving %1 %2 around %3"; // untranslated
24
+ Blockly.Msg["ANNOUNCE_MOVE_BEFORE"] = "moving %1 before %3"; // untranslated
25
+ Blockly.Msg["ANNOUNCE_MOVE_CANCELED"] = "Canceled movement"; // untranslated
26
+ Blockly.Msg["ANNOUNCE_MOVE_INSIDE"] = "moving %1 inside %3 %4"; // untranslated
27
+ Blockly.Msg["ANNOUNCE_MOVE_TO"] = "moving %1 %2 to %3 %4"; // untranslated
28
+ Blockly.Msg["ANNOUNCE_MOVE_WORKSPACE"] = "moving %1 on workspace"; // 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
37
+ Blockly.Msg["BACKSPACE_KEY"] = "Backspace"; // untranslated
38
+ Blockly.Msg["BLOCK_LABEL_BEGIN_PREFIX"] = "Begin %1"; // untranslated
39
+ Blockly.Msg["BLOCK_LABEL_BEGIN_STACK"] = "Begin stack"; // untranslated
40
+ Blockly.Msg["BLOCK_LABEL_COLLAPSED"] = "collapsed"; // untranslated
41
+ Blockly.Msg["BLOCK_LABEL_CONTAINER"] = "container"; // untranslated
42
+ Blockly.Msg["BLOCK_LABEL_DISABLED"] = "disabled"; // untranslated
43
+ Blockly.Msg["BLOCK_LABEL_HAS_INPUT"] = "has input"; // untranslated
44
+ Blockly.Msg["BLOCK_LABEL_HAS_INPUTS"] = "has inputs"; // untranslated
45
+ Blockly.Msg["BLOCK_LABEL_REPLACEABLE"] = "replaceable"; // untranslated
46
+ Blockly.Msg["BLOCK_LABEL_STACK_BLOCKS"] = "%1 stack blocks"; // untranslated
47
+ Blockly.Msg["BLOCK_LABEL_STATEMENT"] = "command"; // untranslated
48
+ Blockly.Msg["BLOCK_LABEL_TOOLBOX_CATEGORY"] = "%1 category"; // untranslated
49
+ Blockly.Msg["BLOCK_LABEL_VALUE"] = "value"; // untranslated
50
+ Blockly.Msg["BUBBLE_LABEL_DEFAULT"] = "Bubble"; // untranslated
22
51
  Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "無法刪除變數「%1」,因為這是功能「%2」定義的一部份內容";
52
+ Blockly.Msg["CAPS_LOCK_KEY"] = "Caps Lock"; // untranslated
23
53
  Blockly.Msg["CHANGE_VALUE_TITLE"] = "修改值:";
24
- Blockly.Msg["CHROME_OS"] = "ChromeOS"; // untranslated
54
+ Blockly.Msg["CHROME_OS"] = "ChromeOS";
25
55
  Blockly.Msg["CLEAN_UP"] = "清理區塊";
26
- Blockly.Msg["CLOSE"] = "Close"; // untranslated
56
+ Blockly.Msg["CLOSE"] = "關閉";
27
57
  Blockly.Msg["COLLAPSED_WARNINGS_WARNING"] = "收合含有警告的區塊。";
28
58
  Blockly.Msg["COLLAPSE_ALL"] = "收合區塊";
29
59
  Blockly.Msg["COLLAPSE_BLOCK"] = "收合區塊";
@@ -44,7 +74,8 @@ Blockly.Msg["COLOUR_RGB_HELPURL"] = "https://www.december.com/html/spec/colorper
44
74
  Blockly.Msg["COLOUR_RGB_RED"] = "紅";
45
75
  Blockly.Msg["COLOUR_RGB_TITLE"] = "顏色";
46
76
  Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "透過指定紅、綠、 藍色的值來建立一種顏色。所有的值必須介於 0 和 100 之間。";
47
- Blockly.Msg["COMMAND_KEY"] = "⌘ Command"; // untranslated
77
+ Blockly.Msg["COMMAND_KEY"] = "⌘ Command";
78
+ Blockly.Msg["CONTEXT_MENU_KEY"] = "≣ Menu"; // untranslated
48
79
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks"; // untranslated
49
80
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "中斷循環";
50
81
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "繼續下一個循環";
@@ -77,11 +108,12 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "重複直到";
77
108
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "重複,當";
78
109
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "當值為 false 時,執行一些陳述式。";
79
110
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "當值為 true 時,執行一些陳述式。";
80
- Blockly.Msg["CONTROL_KEY"] = "Ctrl"; // untranslated
81
- Blockly.Msg["COPY_SHORTCUT"] = "Copy"; // untranslated
82
- Blockly.Msg["CUT_SHORTCUT"] = "Cut"; // untranslated
111
+ Blockly.Msg["CONTROL_KEY"] = "Ctrl";
112
+ Blockly.Msg["COPY_SHORTCUT"] = "拷貝";
113
+ Blockly.Msg["CUT_SHORTCUT"] = "剪下";
83
114
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "刪除全部 %1 個區塊?";
84
115
  Blockly.Msg["DELETE_BLOCK"] = "刪除區塊";
116
+ Blockly.Msg["DELETE_KEY"] = "Delete"; // untranslated
85
117
  Blockly.Msg["DELETE_VARIABLE"] = "刪除變數「%1」";
86
118
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "刪除使用%1次的「%2」變數?";
87
119
  Blockly.Msg["DELETE_X_BLOCKS"] = "刪除%1個區塊";
@@ -90,22 +122,33 @@ Blockly.Msg["DIALOG_OK"] = "確定";
90
122
  Blockly.Msg["DISABLE_BLOCK"] = "停用區塊";
91
123
  Blockly.Msg["DUPLICATE_BLOCK"] = "再製";
92
124
  Blockly.Msg["DUPLICATE_COMMENT"] = "複製註解";
93
- Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents"; // untranslated
125
+ Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "編輯區塊內容";
94
126
  Blockly.Msg["ENABLE_BLOCK"] = "啟用區塊";
127
+ Blockly.Msg["END_KEY"] = "End"; // untranslated
95
128
  Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
129
+ Blockly.Msg["ESCAPE"] = "Esc"; // untranslated
96
130
  Blockly.Msg["EXPAND_ALL"] = "展開區塊";
97
131
  Blockly.Msg["EXPAND_BLOCK"] = "展開區塊";
98
132
  Blockly.Msg["EXTERNAL_INPUTS"] = "外部輸入";
133
+ Blockly.Msg["FIELD_LABEL_CHECKBOX_CHECKED"] = "Checked"; // untranslated
134
+ Blockly.Msg["FIELD_LABEL_CHECKBOX_UNCHECKED"] = "Not checked"; // untranslated
135
+ Blockly.Msg["FIELD_LABEL_EDIT_PREFIX"] = "Edit %1"; // untranslated
136
+ Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty"; // untranslated
137
+ Blockly.Msg["FIELD_LABEL_OPTION_INDEX"] = "Option %1"; // untranslated
138
+ Blockly.Msg["FIELD_LABEL_VARIABLE"] = "Variable '%1'"; // untranslated
99
139
  Blockly.Msg["HELP"] = "說明";
100
- Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls"; // untranslated
140
+ Blockly.Msg["HELP_PROMPT"] = "按下 %1 取得鍵盤控制說明";
141
+ Blockly.Msg["HOME_KEY"] = "Home"; // untranslated
101
142
  Blockly.Msg["INLINE_INPUTS"] = "單行輸入";
143
+ Blockly.Msg["INPUT_LABEL_INDEX"] = "input %1"; // untranslated
144
+ Blockly.Msg["INSERT_KEY"] = "Insert"; // untranslated
102
145
  Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use the right arrow key to navigate inside of blocks"; // untranslated
103
- Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position"; // untranslated
104
- Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "Copied. Press %1 to paste."; // untranslated
105
- Blockly.Msg["KEYBOARD_NAV_CUT_HINT"] = "Cut. Press %1 to paste."; // untranslated
106
- Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "Hold %1 and use arrow keys to move freely, then %2 to accept the position"; // untranslated
146
+ Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "使用箭頭鍵來移動,然後按下 %1 接受位置";
147
+ Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "已拷貝。按下 %1 貼上。";
148
+ Blockly.Msg["KEYBOARD_NAV_CUT_HINT"] = "已剪下。按下 %1 貼上。";
149
+ Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "壓住 %1 並使用箭頭鍵來自由移動,然後按下 %2 接受位置";
107
150
  Blockly.Msg["KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT"] = "Use the arrow keys to navigate"; // untranslated
108
- Blockly.Msg["LINUX"] = "Linux"; // untranslated
151
+ Blockly.Msg["LINUX"] = "Linux";
109
152
  Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-empty-list"; // untranslated
110
153
  Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "建立空的清單";
111
154
  Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "返回一個長度(項目數量)為 0 的清單,不包含任何資料記錄";
@@ -218,7 +261,7 @@ Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
218
261
  Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "如果為假";
219
262
  Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "如果為真";
220
263
  Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "檢查「測試」中的條件。如果條件為真,將返回「如果為真」的值;否則,返回「如果為假」的值。";
221
- Blockly.Msg["MAC_OS"] = "macOS"; // untranslated
264
+ Blockly.Msg["MAC_OS"] = "macOS";
222
265
  Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+"; // untranslated
223
266
  Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://zh.wikipedia.org/wiki/算術";
224
267
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "返回兩個數字的總和。";
@@ -305,16 +348,20 @@ Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "返回指定數字的反正切值。";
305
348
  Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "返回指定角度的餘弦值(非弧度)。";
306
349
  Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "返回指定角度的正弦值(非弧度)。";
307
350
  Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "返回指定角度的正切值(非弧度)。";
308
- Blockly.Msg["MOVE_BLOCK"] = "Move Block"; // untranslated
351
+ Blockly.Msg["MOVE_BLOCK"] = "移動區塊";
309
352
  Blockly.Msg["NEW_COLOUR_VARIABLE"] = "建立顏色變數…";
310
353
  Blockly.Msg["NEW_NUMBER_VARIABLE"] = "建立數值變數……";
311
354
  Blockly.Msg["NEW_STRING_VARIABLE"] = "建立字串變數……";
312
355
  Blockly.Msg["NEW_VARIABLE"] = "建立變數…";
313
356
  Blockly.Msg["NEW_VARIABLE_TITLE"] = "新變數名稱:";
314
357
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "新變數類型:";
315
- Blockly.Msg["OPTION_KEY"] = " Option"; // untranslated
358
+ Blockly.Msg["OPEN_TRASH"] = "Open trash"; // untranslated
359
+ Blockly.Msg["OPTION_KEY"] = "⌥ Option";
316
360
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
317
- Blockly.Msg["PASTE_SHORTCUT"] = "Paste"; // untranslated
361
+ Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down"; // untranslated
362
+ Blockly.Msg["PAGE_UP_KEY"] = "Page Up"; // untranslated
363
+ Blockly.Msg["PASTE_SHORTCUT"] = "貼上";
364
+ Blockly.Msg["PAUSE_KEY"] = "Pause"; // untranslated
318
365
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "允許陳述式";
319
366
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "與:";
320
367
  Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://zh.wikipedia.org/wiki/子程式";
@@ -346,9 +393,34 @@ Blockly.Msg["REDO"] = "重做";
346
393
  Blockly.Msg["REMOVE_COMMENT"] = "移除註解";
347
394
  Blockly.Msg["RENAME_VARIABLE"] = "重新命名變數...";
348
395
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "將所有「%1」變數重新命名為:";
349
- Blockly.Msg["SHORTCUTS_CODE_NAVIGATION"] = "Code navigation"; // untranslated
350
- Blockly.Msg["SHORTCUTS_EDITING"] = "Editing"; // untranslated
351
- Blockly.Msg["SHORTCUTS_GENERAL"] = "General"; // untranslated
396
+ Blockly.Msg["RESET_ZOOM"] = "Reset zoom"; // untranslated
397
+ Blockly.Msg["SHIFT_KEY"] = "Shift"; // untranslated
398
+ Blockly.Msg["SHORTCUTS_ABORT_MOVE"] = "Abort move"; // untranslated
399
+ Blockly.Msg["SHORTCUTS_CLEANUP"] = "Clean up workspace"; // untranslated
400
+ Blockly.Msg["SHORTCUTS_CODE_NAVIGATION"] = "代碼導航";
401
+ Blockly.Msg["SHORTCUTS_DELETE"] = "Delete"; // untranslated
402
+ Blockly.Msg["SHORTCUTS_DISCONNECT"] = "Disconnect block"; // untranslated
403
+ Blockly.Msg["SHORTCUTS_DUPLICATE"] = "Duplicate"; // untranslated
404
+ Blockly.Msg["SHORTCUTS_EDITING"] = "編輯";
405
+ Blockly.Msg["SHORTCUTS_ESCAPE"] = "Exit"; // untranslated
406
+ Blockly.Msg["SHORTCUTS_FINISH_MOVE"] = "Finish move"; // untranslated
407
+ Blockly.Msg["SHORTCUTS_FOCUS_TOOLBOX"] = "Focus toolbox"; // untranslated
408
+ Blockly.Msg["SHORTCUTS_FOCUS_WORKSPACE"] = "Focus workspace"; // untranslated
409
+ Blockly.Msg["SHORTCUTS_GENERAL"] = "一般";
410
+ Blockly.Msg["SHORTCUTS_INFORMATION"] = "Announce information"; // untranslated
411
+ Blockly.Msg["SHORTCUTS_MOVE_DOWN"] = "Move down"; // untranslated
412
+ Blockly.Msg["SHORTCUTS_MOVE_LEFT"] = "Move left"; // untranslated
413
+ Blockly.Msg["SHORTCUTS_MOVE_RIGHT"] = "Move right"; // untranslated
414
+ Blockly.Msg["SHORTCUTS_MOVE_UP"] = "Move up"; // untranslated
415
+ Blockly.Msg["SHORTCUTS_NEXT_STACK"] = "Next stack"; // untranslated
416
+ Blockly.Msg["SHORTCUTS_PERFORM_ACTION"] = "Edit or confirm"; // untranslated
417
+ Blockly.Msg["SHORTCUTS_PREVIOUS_STACK"] = "Previous stack"; // untranslated
418
+ Blockly.Msg["SHORTCUTS_SHOW_CONTEXT_MENU"] = "Show menu"; // untranslated
419
+ Blockly.Msg["SHORTCUTS_SHOW_TOOLTIP"] = "Show tooltip"; // untranslated
420
+ Blockly.Msg["SHORTCUTS_START_MOVE"] = "Start move"; // untranslated
421
+ Blockly.Msg["SHORTCUTS_START_MOVE_STACK"] = "Start move stack"; // untranslated
422
+ Blockly.Msg["SPACE_KEY"] = "Space"; // untranslated
423
+ Blockly.Msg["TAB_KEY"] = "Tab"; // untranslated
352
424
  Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification"; // untranslated
353
425
  Blockly.Msg["TEXT_APPEND_TITLE"] = "至 %1 套用文字 %2";
354
426
  Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "添加一些文字到變數「%1」之後。";
@@ -419,7 +491,7 @@ Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "消除右側空格";
419
491
  Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "複製這段文字,同時刪除兩端多餘的空格。";
420
492
  Blockly.Msg["TODAY"] = "今天";
421
493
  Blockly.Msg["UNDO"] = "還原";
422
- Blockly.Msg["UNKNOWN"] = "Unknown"; // untranslated
494
+ Blockly.Msg["UNKNOWN"] = "不明";
423
495
  Blockly.Msg["UNNAMED_KEY"] = "未命名";
424
496
  Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "項目";
425
497
  Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "建立「賦值 %1」";
@@ -432,14 +504,19 @@ Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "設定此變數,好和輸入結果相
432
504
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "已存在變數「%1」。";
433
505
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "已存在名為「%1」,且用於其它類型「%2」的變數。";
434
506
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "已存在名為「%1」的變數,該變數作為程序「%2」的參數使用。";
435
- Blockly.Msg["WINDOWS"] = "Windows"; // untranslated
436
- Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly工作區";
507
+ Blockly.Msg["WINDOWS"] = "Windows";
437
508
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "來說些事情...";
438
509
  Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_MANY"] = "%1 stacks of blocks%2 in workspace."; // untranslated
439
510
  Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ONE"] = "One stack of blocks%2 in workspace."; // untranslated
440
511
  Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ZERO"] = "No blocks%2 in workspace."; // untranslated
441
512
  Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_MANY"] = " and %1 comments"; // untranslated
442
513
  Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_ONE"] = " and one comment"; // untranslated
514
+ Blockly.Msg["WORKSPACE_LABEL_1_STACK"] = "Blocks workspace. 1 stack of blocks"; // untranslated
515
+ Blockly.Msg["WORKSPACE_LABEL_FLYOUT_WORKSPACE"] = "%1 blocks"; // untranslated
516
+ Blockly.Msg["WORKSPACE_LABEL_MANY_STACKS"] = "Blocks workspace. %1 stacks of blocks"; // untranslated
517
+ Blockly.Msg["WORKSPACE_LABEL_MUTATOR_WORKSPACE"] = "Block editor workspace"; // untranslated
518
+ Blockly.Msg["ZOOM_IN"] = "Zoom in"; // untranslated
519
+ Blockly.Msg["ZOOM_OUT"] = "Zoom out"; // untranslated
443
520
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
444
521
  Blockly.Msg["CONTROLS_FOR_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
445
522
  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,
@@ -433,6 +432,20 @@ export const {
433
432
  OPTION_KEY,
434
433
  ALT_KEY,
435
434
  ENTER_KEY,
435
+ BACKSPACE_KEY,
436
+ DELETE_KEY,
437
+ ESCAPE,
438
+ TAB_KEY,
439
+ SHIFT_KEY,
440
+ CAPS_LOCK_KEY,
441
+ SPACE_KEY,
442
+ PAGE_UP_KEY,
443
+ PAGE_DOWN_KEY,
444
+ END_KEY,
445
+ HOME_KEY,
446
+ INSERT_KEY,
447
+ PAUSE_KEY,
448
+ CONTEXT_MENU_KEY,
436
449
  CUT_SHORTCUT,
437
450
  COPY_SHORTCUT,
438
451
  PASTE_SHORTCUT,
@@ -440,10 +453,35 @@ export const {
440
453
  SHORTCUTS_GENERAL,
441
454
  SHORTCUTS_EDITING,
442
455
  SHORTCUTS_CODE_NAVIGATION,
456
+ SHORTCUTS_ESCAPE,
457
+ SHORTCUTS_DELETE,
458
+ SHORTCUTS_START_MOVE,
459
+ SHORTCUTS_START_MOVE_STACK,
460
+ SHORTCUTS_MOVE_LEFT,
461
+ SHORTCUTS_MOVE_RIGHT,
462
+ SHORTCUTS_MOVE_UP,
463
+ SHORTCUTS_MOVE_DOWN,
464
+ SHORTCUTS_FINISH_MOVE,
465
+ SHORTCUTS_ABORT_MOVE,
466
+ SHORTCUTS_SHOW_CONTEXT_MENU,
467
+ SHORTCUTS_FOCUS_WORKSPACE,
468
+ SHORTCUTS_FOCUS_TOOLBOX,
469
+ SHORTCUTS_INFORMATION,
470
+ SHORTCUTS_DISCONNECT,
471
+ SHORTCUTS_NEXT_STACK,
472
+ SHORTCUTS_PREVIOUS_STACK,
473
+ SHORTCUTS_PERFORM_ACTION,
474
+ SHORTCUTS_DUPLICATE,
475
+ SHORTCUTS_CLEANUP,
476
+ SHORTCUTS_SHOW_TOOLTIP,
443
477
  KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT,
444
478
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
445
479
  KEYBOARD_NAV_COPIED_HINT,
446
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,
447
485
  WORKSPACE_CONTENTS_BLOCKS_MANY,
448
486
  WORKSPACE_CONTENTS_BLOCKS_ONE,
449
487
  WORKSPACE_CONTENTS_BLOCKS_ZERO,
@@ -451,4 +489,43 @@ export const {
451
489
  WORKSPACE_CONTENTS_COMMENTS_ONE,
452
490
  KEYBOARD_NAV_BLOCK_NAVIGATION_HINT,
453
491
  KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT,
492
+ BLOCK_LABEL_BEGIN_STACK,
493
+ BLOCK_LABEL_BEGIN_PREFIX,
494
+ BLOCK_LABEL_TOOLBOX_CATEGORY,
495
+ BLOCK_LABEL_DISABLED,
496
+ BLOCK_LABEL_COLLAPSED,
497
+ BLOCK_LABEL_REPLACEABLE,
498
+ BLOCK_LABEL_HAS_INPUT,
499
+ BLOCK_LABEL_HAS_INPUTS,
500
+ BLOCK_LABEL_STATEMENT,
501
+ BLOCK_LABEL_CONTAINER,
502
+ BLOCK_LABEL_VALUE,
503
+ BLOCK_LABEL_STACK_BLOCKS,
504
+ INPUT_LABEL_INDEX,
505
+ ANNOUNCE_MOVE_WORKSPACE,
506
+ ANNOUNCE_MOVE_BEFORE,
507
+ ANNOUNCE_MOVE_AFTER,
508
+ ANNOUNCE_MOVE_INSIDE,
509
+ ANNOUNCE_MOVE_AROUND,
510
+ ANNOUNCE_MOVE_TO,
511
+ ANNOUNCE_MOVE_CANCELED,
512
+ FIELD_LABEL_EMPTY,
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,
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,
454
531
  } = zh_hant;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blockly",
3
- "version": "13.0.0-beta.0",
3
+ "version": "13.0.0-beta.2",
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",