blockly 13.0.0-beta.0 → 13.0.0-beta.1

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 (279) hide show
  1. package/blockly.min.js +1093 -364
  2. package/blockly.mjs +1 -1
  3. package/blockly_compressed.js +1036 -364
  4. package/blockly_compressed.js.map +1 -1
  5. package/core/block_aria_composer.d.ts +119 -0
  6. package/core/block_svg.d.ts +21 -1
  7. package/core/blockly.d.ts +1 -1
  8. package/core/bubbles/mini_workspace_bubble.d.ts +4 -1
  9. package/core/bubbles/text_bubble.d.ts +4 -1
  10. package/core/dragging/block_drag_strategy.d.ts +45 -3
  11. package/core/field.d.ts +15 -17
  12. package/core/field_input.d.ts +23 -0
  13. package/core/focus_manager.d.ts +47 -2
  14. package/core/inputs/input.d.ts +15 -0
  15. package/core/interfaces/i_focusable_node.d.ts +3 -1
  16. package/core/keyboard_nav/keyboard_mover.d.ts +16 -5
  17. package/core/keyboard_nav/navigation_policies/bubble_navigation_policy.d.ts +63 -0
  18. package/core/keyboard_nav/navigation_policies/icon_navigation_policy.d.ts +2 -2
  19. package/core/keyboard_nav/navigators/flyout_navigator.d.ts +1 -1
  20. package/core/shortcut_items.d.ts +11 -1
  21. package/core/shortcut_registry.d.ts +6 -0
  22. package/core/toolbox/toolbox.d.ts +5 -11
  23. package/core/utils/aria.d.ts +9 -61
  24. package/core/utils/dom.d.ts +1 -1
  25. package/core/utils/shortcut_formatting.d.ts +5 -7
  26. package/core/variables.d.ts +1 -1
  27. package/index.mjs +1 -1
  28. package/msg/ab.js +57 -0
  29. package/msg/ab.mjs +57 -0
  30. package/msg/ace.js +57 -0
  31. package/msg/ace.mjs +57 -0
  32. package/msg/af.js +57 -0
  33. package/msg/af.mjs +57 -0
  34. package/msg/am.js +57 -0
  35. package/msg/am.mjs +57 -0
  36. package/msg/ar.js +57 -0
  37. package/msg/ar.mjs +57 -0
  38. package/msg/ast.js +57 -0
  39. package/msg/ast.mjs +57 -0
  40. package/msg/az.js +57 -0
  41. package/msg/az.mjs +57 -0
  42. package/msg/ba.js +57 -0
  43. package/msg/ba.mjs +57 -0
  44. package/msg/bcc.js +57 -0
  45. package/msg/bcc.mjs +57 -0
  46. package/msg/be-tarask.js +57 -0
  47. package/msg/be-tarask.mjs +57 -0
  48. package/msg/be.js +57 -0
  49. package/msg/be.mjs +57 -0
  50. package/msg/bg.js +57 -0
  51. package/msg/bg.mjs +57 -0
  52. package/msg/bn.js +57 -0
  53. package/msg/bn.mjs +57 -0
  54. package/msg/br.js +57 -0
  55. package/msg/br.mjs +57 -0
  56. package/msg/bs.js +57 -0
  57. package/msg/bs.mjs +57 -0
  58. package/msg/ca.js +57 -0
  59. package/msg/ca.mjs +57 -0
  60. package/msg/cdo.js +57 -0
  61. package/msg/cdo.mjs +57 -0
  62. package/msg/ce.js +57 -0
  63. package/msg/ce.mjs +57 -0
  64. package/msg/cs.js +57 -0
  65. package/msg/cs.mjs +57 -0
  66. package/msg/da.js +57 -0
  67. package/msg/da.mjs +57 -0
  68. package/msg/de.js +57 -0
  69. package/msg/de.mjs +57 -0
  70. package/msg/diq.js +57 -0
  71. package/msg/diq.mjs +57 -0
  72. package/msg/dtp.js +57 -0
  73. package/msg/dtp.mjs +57 -0
  74. package/msg/dty.js +57 -0
  75. package/msg/dty.mjs +57 -0
  76. package/msg/ee.js +57 -0
  77. package/msg/ee.mjs +57 -0
  78. package/msg/el.js +57 -0
  79. package/msg/el.mjs +57 -0
  80. package/msg/en-gb.js +57 -0
  81. package/msg/en-gb.mjs +57 -0
  82. package/msg/en.js +57 -0
  83. package/msg/en.mjs +57 -0
  84. package/msg/eo.js +57 -0
  85. package/msg/eo.mjs +57 -0
  86. package/msg/es.js +57 -0
  87. package/msg/es.mjs +57 -0
  88. package/msg/et.js +57 -0
  89. package/msg/et.mjs +57 -0
  90. package/msg/eu.js +57 -0
  91. package/msg/eu.mjs +57 -0
  92. package/msg/fa.js +57 -0
  93. package/msg/fa.mjs +57 -0
  94. package/msg/fi.js +57 -0
  95. package/msg/fi.mjs +57 -0
  96. package/msg/fo.js +57 -0
  97. package/msg/fo.mjs +57 -0
  98. package/msg/fr.js +57 -0
  99. package/msg/fr.mjs +57 -0
  100. package/msg/frr.js +57 -0
  101. package/msg/frr.mjs +57 -0
  102. package/msg/gl.js +57 -0
  103. package/msg/gl.mjs +57 -0
  104. package/msg/gn.js +57 -0
  105. package/msg/gn.mjs +57 -0
  106. package/msg/gor.js +57 -0
  107. package/msg/gor.mjs +57 -0
  108. package/msg/ha.js +57 -0
  109. package/msg/ha.mjs +57 -0
  110. package/msg/hak.js +57 -0
  111. package/msg/hak.mjs +57 -0
  112. package/msg/he.js +57 -0
  113. package/msg/he.mjs +57 -0
  114. package/msg/hi.js +57 -0
  115. package/msg/hi.mjs +57 -0
  116. package/msg/hr.js +57 -0
  117. package/msg/hr.mjs +57 -0
  118. package/msg/hrx.js +57 -0
  119. package/msg/hrx.mjs +57 -0
  120. package/msg/hsb.js +57 -0
  121. package/msg/hsb.mjs +57 -0
  122. package/msg/hu.js +57 -0
  123. package/msg/hu.mjs +57 -0
  124. package/msg/hy.js +57 -0
  125. package/msg/hy.mjs +57 -0
  126. package/msg/ia.js +57 -0
  127. package/msg/ia.mjs +57 -0
  128. package/msg/id.js +57 -0
  129. package/msg/id.mjs +57 -0
  130. package/msg/ig.js +57 -0
  131. package/msg/ig.mjs +57 -0
  132. package/msg/inh.js +57 -0
  133. package/msg/inh.mjs +57 -0
  134. package/msg/is.js +57 -0
  135. package/msg/is.mjs +57 -0
  136. package/msg/it.js +57 -0
  137. package/msg/it.mjs +57 -0
  138. package/msg/ja.js +57 -0
  139. package/msg/ja.mjs +57 -0
  140. package/msg/ka.js +57 -0
  141. package/msg/ka.mjs +57 -0
  142. package/msg/kab.js +57 -0
  143. package/msg/kab.mjs +57 -0
  144. package/msg/kbd-cyrl.js +57 -0
  145. package/msg/kbd-cyrl.mjs +57 -0
  146. package/msg/km.js +57 -0
  147. package/msg/km.mjs +57 -0
  148. package/msg/kn.js +57 -0
  149. package/msg/kn.mjs +57 -0
  150. package/msg/ko.js +57 -0
  151. package/msg/ko.mjs +57 -0
  152. package/msg/ksh.js +57 -0
  153. package/msg/ksh.mjs +57 -0
  154. package/msg/ku-latn.js +57 -0
  155. package/msg/ku-latn.mjs +57 -0
  156. package/msg/ky.js +57 -0
  157. package/msg/ky.mjs +57 -0
  158. package/msg/la.js +57 -0
  159. package/msg/la.mjs +57 -0
  160. package/msg/lb.js +57 -0
  161. package/msg/lb.mjs +57 -0
  162. package/msg/lki.js +57 -0
  163. package/msg/lki.mjs +57 -0
  164. package/msg/lo.js +57 -0
  165. package/msg/lo.mjs +57 -0
  166. package/msg/lrc.js +57 -0
  167. package/msg/lrc.mjs +57 -0
  168. package/msg/lt.js +57 -0
  169. package/msg/lt.mjs +57 -0
  170. package/msg/lv.js +57 -0
  171. package/msg/lv.mjs +57 -0
  172. package/msg/mg.js +57 -0
  173. package/msg/mg.mjs +57 -0
  174. package/msg/mk.js +57 -0
  175. package/msg/mk.mjs +57 -0
  176. package/msg/ml.js +57 -0
  177. package/msg/ml.mjs +57 -0
  178. package/msg/mnw.js +57 -0
  179. package/msg/mnw.mjs +57 -0
  180. package/msg/ms.js +57 -0
  181. package/msg/ms.mjs +57 -0
  182. package/msg/my.js +57 -0
  183. package/msg/my.mjs +57 -0
  184. package/msg/mzn.js +57 -0
  185. package/msg/mzn.mjs +57 -0
  186. package/msg/nb.js +57 -0
  187. package/msg/nb.mjs +57 -0
  188. package/msg/ne.js +57 -0
  189. package/msg/ne.mjs +57 -0
  190. package/msg/nl.js +57 -0
  191. package/msg/nl.mjs +57 -0
  192. package/msg/oc.js +57 -0
  193. package/msg/oc.mjs +57 -0
  194. package/msg/olo.js +57 -0
  195. package/msg/olo.mjs +57 -0
  196. package/msg/pa.js +57 -0
  197. package/msg/pa.mjs +57 -0
  198. package/msg/pl.js +57 -0
  199. package/msg/pl.mjs +57 -0
  200. package/msg/pms.js +57 -0
  201. package/msg/pms.mjs +57 -0
  202. package/msg/ps.js +57 -0
  203. package/msg/ps.mjs +57 -0
  204. package/msg/pt-br.js +57 -0
  205. package/msg/pt-br.mjs +57 -0
  206. package/msg/pt.js +57 -0
  207. package/msg/pt.mjs +57 -0
  208. package/msg/ro.js +57 -0
  209. package/msg/ro.mjs +57 -0
  210. package/msg/ru.js +57 -0
  211. package/msg/ru.mjs +57 -0
  212. package/msg/sc.js +57 -0
  213. package/msg/sc.mjs +57 -0
  214. package/msg/sco.js +57 -0
  215. package/msg/sco.mjs +57 -0
  216. package/msg/sd.js +57 -0
  217. package/msg/sd.mjs +57 -0
  218. package/msg/shn.js +57 -0
  219. package/msg/shn.mjs +57 -0
  220. package/msg/si.js +57 -0
  221. package/msg/si.mjs +57 -0
  222. package/msg/sk.js +57 -0
  223. package/msg/sk.mjs +57 -0
  224. package/msg/skr-arab.js +57 -0
  225. package/msg/skr-arab.mjs +57 -0
  226. package/msg/sl.js +57 -0
  227. package/msg/sl.mjs +57 -0
  228. package/msg/smn.js +57 -0
  229. package/msg/smn.mjs +57 -0
  230. package/msg/sq.js +57 -0
  231. package/msg/sq.mjs +57 -0
  232. package/msg/sr-latn.js +57 -0
  233. package/msg/sr-latn.mjs +57 -0
  234. package/msg/sr.js +57 -0
  235. package/msg/sr.mjs +57 -0
  236. package/msg/sv.js +57 -0
  237. package/msg/sv.mjs +57 -0
  238. package/msg/sw.js +57 -0
  239. package/msg/sw.mjs +57 -0
  240. package/msg/ta.js +57 -0
  241. package/msg/ta.mjs +57 -0
  242. package/msg/tcy.js +57 -0
  243. package/msg/tcy.mjs +57 -0
  244. package/msg/tdd.js +57 -0
  245. package/msg/tdd.mjs +57 -0
  246. package/msg/te.js +57 -0
  247. package/msg/te.mjs +57 -0
  248. package/msg/th.js +57 -0
  249. package/msg/th.mjs +57 -0
  250. package/msg/ti.js +57 -0
  251. package/msg/ti.mjs +57 -0
  252. package/msg/tl.js +57 -0
  253. package/msg/tl.mjs +57 -0
  254. package/msg/tlh.js +57 -0
  255. package/msg/tlh.mjs +57 -0
  256. package/msg/tr.js +57 -0
  257. package/msg/tr.mjs +57 -0
  258. package/msg/ug-arab.js +57 -0
  259. package/msg/ug-arab.mjs +57 -0
  260. package/msg/uk.js +57 -0
  261. package/msg/uk.mjs +57 -0
  262. package/msg/ur.js +57 -0
  263. package/msg/ur.mjs +57 -0
  264. package/msg/uz.js +57 -0
  265. package/msg/uz.mjs +57 -0
  266. package/msg/vi.js +57 -0
  267. package/msg/vi.mjs +57 -0
  268. package/msg/xmf.js +57 -0
  269. package/msg/xmf.mjs +57 -0
  270. package/msg/yo.js +57 -0
  271. package/msg/yo.mjs +57 -0
  272. package/msg/zgh.js +57 -0
  273. package/msg/zgh.mjs +57 -0
  274. package/msg/zh-hans.js +57 -0
  275. package/msg/zh-hans.mjs +57 -0
  276. package/msg/zh-hant.js +57 -0
  277. package/msg/zh-hant.mjs +57 -0
  278. package/package.json +1 -1
  279. package/core/keyboard_nav/navigation_policies/block_comment_navigation_policy.d.ts +0 -63
package/msg/zgh.js CHANGED
@@ -19,7 +19,29 @@ var Blockly = Blockly || { Msg: Object.create(null) };
19
19
 
20
20
  Blockly.Msg["ADD_COMMENT"] = "ⵔⵏⵓ ⴰⵅⴼⴰⵡⴰⵍ";
21
21
  Blockly.Msg["ALT_KEY"] = "Alt"; // untranslated
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_TYPE_FIELD_INPUT"] = "input field"; // untranslated
30
+ Blockly.Msg["BACKSPACE_KEY"] = "Backspace"; // untranslated
31
+ Blockly.Msg["BLOCK_LABEL_BEGIN_PREFIX"] = "Begin %1"; // untranslated
32
+ Blockly.Msg["BLOCK_LABEL_BEGIN_STACK"] = "Begin stack"; // untranslated
33
+ Blockly.Msg["BLOCK_LABEL_COLLAPSED"] = "collapsed"; // untranslated
34
+ Blockly.Msg["BLOCK_LABEL_CONTAINER"] = "container"; // untranslated
35
+ Blockly.Msg["BLOCK_LABEL_DISABLED"] = "disabled"; // untranslated
36
+ Blockly.Msg["BLOCK_LABEL_HAS_INPUT"] = "has input"; // untranslated
37
+ Blockly.Msg["BLOCK_LABEL_HAS_INPUTS"] = "has inputs"; // untranslated
38
+ Blockly.Msg["BLOCK_LABEL_REPLACEABLE"] = "replaceable"; // untranslated
39
+ Blockly.Msg["BLOCK_LABEL_STACK_BLOCKS"] = "%1 stack blocks"; // untranslated
40
+ Blockly.Msg["BLOCK_LABEL_STATEMENT"] = "statement"; // untranslated
41
+ Blockly.Msg["BLOCK_LABEL_TOOLBOX_CATEGORY"] = "%1 category"; // untranslated
42
+ Blockly.Msg["BLOCK_LABEL_VALUE"] = "value"; // untranslated
22
43
  Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'"; // untranslated
44
+ Blockly.Msg["CAPS_LOCK_KEY"] = "Caps Lock"; // untranslated
23
45
  Blockly.Msg["CHANGE_VALUE_TITLE"] = "ⵙⵏⴼⵍ ⴰⵣⴰⵍ:";
24
46
  Blockly.Msg["CHROME_OS"] = "ChromeOS"; // untranslated
25
47
  Blockly.Msg["CLEAN_UP"] = "Clean up Blocks"; // untranslated
@@ -45,6 +67,7 @@ Blockly.Msg["COLOUR_RGB_RED"] = "ⴰⵣⴳⴳⵯⴰⵖ";
45
67
  Blockly.Msg["COLOUR_RGB_TITLE"] = "ⴽⵍⵓ ⵙ";
46
68
  Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "ⴰⵣⴰⵍⵏ ⵉⴼⵓⴽⴽ ⴰⴷ ⵉⵍⵉⵏ ⴳⵔ 0 ⴷ 100.";
47
69
  Blockly.Msg["COMMAND_KEY"] = "⌘ Command"; // untranslated
70
+ Blockly.Msg["CONTEXT_MENU_KEY"] = "≣ Menu"; // untranslated
48
71
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks"; // untranslated
49
72
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "break out of loop"; // untranslated
50
73
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continue with next iteration of loop"; // untranslated
@@ -82,6 +105,7 @@ Blockly.Msg["COPY_SHORTCUT"] = "Copy"; // untranslated
82
105
  Blockly.Msg["CUT_SHORTCUT"] = "Cut"; // untranslated
83
106
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "ⴽⴽⵙ %1 ⵉⴱⵍⵓⴽⵏ ⵎⴰⵕⵕⴰ?";
84
107
  Blockly.Msg["DELETE_BLOCK"] = "ⴽⴽⵙ ⴰⴱⵍⵓⴽ";
108
+ Blockly.Msg["DELETE_KEY"] = "Delete"; // untranslated
85
109
  Blockly.Msg["DELETE_VARIABLE"] = "ⴽⴽⵙ ⴰⵎⵙⴽⵉⵍ '%1'";
86
110
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?"; // untranslated
87
111
  Blockly.Msg["DELETE_X_BLOCKS"] = "ⴽⴽⵙ %1 ⵉⴱⵍⵓⴽⵏ";
@@ -92,13 +116,20 @@ Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicate"; // untranslated
92
116
  Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment"; // untranslated
93
117
  Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents"; // untranslated
94
118
  Blockly.Msg["ENABLE_BLOCK"] = "Enable Block"; // untranslated
119
+ Blockly.Msg["END_KEY"] = "End"; // untranslated
95
120
  Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
121
+ Blockly.Msg["ESCAPE"] = "Esc"; // untranslated
96
122
  Blockly.Msg["EXPAND_ALL"] = "Expand Blocks"; // untranslated
97
123
  Blockly.Msg["EXPAND_BLOCK"] = "Expand Block"; // untranslated
98
124
  Blockly.Msg["EXTERNAL_INPUTS"] = "External Inputs"; // untranslated
125
+ Blockly.Msg["FIELD_LABEL_EDIT_PREFIX"] = "Edit %1"; // untranslated
126
+ Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty"; // untranslated
99
127
  Blockly.Msg["HELP"] = "ⵜⵉⵡⵉⵙⵉ";
100
128
  Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls"; // untranslated
129
+ Blockly.Msg["HOME_KEY"] = "Home"; // untranslated
101
130
  Blockly.Msg["INLINE_INPUTS"] = "Inline Inputs"; // untranslated
131
+ Blockly.Msg["INPUT_LABEL_INDEX"] = "input %1"; // untranslated
132
+ Blockly.Msg["INSERT_KEY"] = "Insert"; // untranslated
102
133
  Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use the right arrow key to navigate inside of blocks"; // untranslated
103
134
  Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position"; // untranslated
104
135
  Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "Copied. Press %1 to paste."; // untranslated
@@ -314,7 +345,10 @@ Blockly.Msg["NEW_VARIABLE_TITLE"] = "ⵉⵙⵎ ⵏ ⵓⵎⵙⴽⵉⵍ ⴰⵎⴰ
314
345
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "ⴰⵏⴰⵡ ⴰⵎⴰⵢⵏⵓ ⵏ ⵓⵎⵙⴽⵉⵍ:";
315
346
  Blockly.Msg["OPTION_KEY"] = "⌥ Option"; // untranslated
316
347
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
348
+ Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down"; // untranslated
349
+ Blockly.Msg["PAGE_UP_KEY"] = "Page Up"; // untranslated
317
350
  Blockly.Msg["PASTE_SHORTCUT"] = "Paste"; // untranslated
351
+ Blockly.Msg["PAUSE_KEY"] = "Pause"; // untranslated
318
352
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements"; // untranslated
319
353
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "ⵙ:";
320
354
  Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine"; // untranslated
@@ -346,9 +380,32 @@ Blockly.Msg["REDO"] = "ⴰⵍⵙ";
346
380
  Blockly.Msg["REMOVE_COMMENT"] = "ⴽⴽⵙ ⴰⵅⴼⴰⵡⴰⵍ";
347
381
  Blockly.Msg["RENAME_VARIABLE"] = "ⵙⵏⴼⵍ ⵉⵙⵎ ⵏ ⵓⵎⵙⴽⵉⵍ...";
348
382
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "ⵙⵏⴼⵍ ⵉⵎⵙⴽⵉⵍⵏ ⴰⴽⴽ '%1' ⵖⵔ:";
383
+ Blockly.Msg["SHIFT_KEY"] = "Shift"; // untranslated
384
+ Blockly.Msg["SHORTCUTS_ABORT_MOVE"] = "Abort move"; // untranslated
385
+ Blockly.Msg["SHORTCUTS_CLEANUP"] = "Clean up workspace"; // untranslated
349
386
  Blockly.Msg["SHORTCUTS_CODE_NAVIGATION"] = "Code navigation"; // untranslated
387
+ Blockly.Msg["SHORTCUTS_DELETE"] = "Delete"; // untranslated
388
+ Blockly.Msg["SHORTCUTS_DISCONNECT"] = "Disconnect block"; // untranslated
389
+ Blockly.Msg["SHORTCUTS_DUPLICATE"] = "Duplicate"; // untranslated
350
390
  Blockly.Msg["SHORTCUTS_EDITING"] = "Editing"; // untranslated
391
+ Blockly.Msg["SHORTCUTS_ESCAPE"] = "Exit"; // untranslated
392
+ Blockly.Msg["SHORTCUTS_FINISH_MOVE"] = "Finish move"; // untranslated
393
+ Blockly.Msg["SHORTCUTS_FOCUS_TOOLBOX"] = "Focus toolbox"; // untranslated
394
+ Blockly.Msg["SHORTCUTS_FOCUS_WORKSPACE"] = "Focus workspace"; // untranslated
351
395
  Blockly.Msg["SHORTCUTS_GENERAL"] = "General"; // untranslated
396
+ Blockly.Msg["SHORTCUTS_INFORMATION"] = "Announce information"; // untranslated
397
+ Blockly.Msg["SHORTCUTS_MOVE_DOWN"] = "Move down"; // untranslated
398
+ Blockly.Msg["SHORTCUTS_MOVE_LEFT"] = "Move left"; // untranslated
399
+ Blockly.Msg["SHORTCUTS_MOVE_RIGHT"] = "Move right"; // untranslated
400
+ Blockly.Msg["SHORTCUTS_MOVE_UP"] = "Move up"; // untranslated
401
+ Blockly.Msg["SHORTCUTS_NEXT_STACK"] = "Next stack"; // untranslated
402
+ Blockly.Msg["SHORTCUTS_PERFORM_ACTION"] = "Edit or confirm"; // untranslated
403
+ Blockly.Msg["SHORTCUTS_PREVIOUS_STACK"] = "Previous stack"; // untranslated
404
+ Blockly.Msg["SHORTCUTS_SHOW_CONTEXT_MENU"] = "Show menu"; // untranslated
405
+ Blockly.Msg["SHORTCUTS_START_MOVE"] = "Start move"; // untranslated
406
+ Blockly.Msg["SHORTCUTS_START_MOVE_STACK"] = "Start move stack"; // untranslated
407
+ Blockly.Msg["SPACE_KEY"] = "Space"; // untranslated
408
+ Blockly.Msg["TAB_KEY"] = "Tab"; // untranslated
352
409
  Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification"; // untranslated
353
410
  Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2"; // untranslated
354
411
  Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'."; // untranslated
package/msg/zgh.mjs CHANGED
@@ -433,6 +433,20 @@ export const {
433
433
  OPTION_KEY,
434
434
  ALT_KEY,
435
435
  ENTER_KEY,
436
+ BACKSPACE_KEY,
437
+ DELETE_KEY,
438
+ ESCAPE,
439
+ TAB_KEY,
440
+ SHIFT_KEY,
441
+ CAPS_LOCK_KEY,
442
+ SPACE_KEY,
443
+ PAGE_UP_KEY,
444
+ PAGE_DOWN_KEY,
445
+ END_KEY,
446
+ HOME_KEY,
447
+ INSERT_KEY,
448
+ PAUSE_KEY,
449
+ CONTEXT_MENU_KEY,
436
450
  CUT_SHORTCUT,
437
451
  COPY_SHORTCUT,
438
452
  PASTE_SHORTCUT,
@@ -440,6 +454,26 @@ export const {
440
454
  SHORTCUTS_GENERAL,
441
455
  SHORTCUTS_EDITING,
442
456
  SHORTCUTS_CODE_NAVIGATION,
457
+ SHORTCUTS_ESCAPE,
458
+ SHORTCUTS_DELETE,
459
+ SHORTCUTS_START_MOVE,
460
+ SHORTCUTS_START_MOVE_STACK,
461
+ SHORTCUTS_MOVE_LEFT,
462
+ SHORTCUTS_MOVE_RIGHT,
463
+ SHORTCUTS_MOVE_UP,
464
+ SHORTCUTS_MOVE_DOWN,
465
+ SHORTCUTS_FINISH_MOVE,
466
+ SHORTCUTS_ABORT_MOVE,
467
+ SHORTCUTS_SHOW_CONTEXT_MENU,
468
+ SHORTCUTS_FOCUS_WORKSPACE,
469
+ SHORTCUTS_FOCUS_TOOLBOX,
470
+ SHORTCUTS_INFORMATION,
471
+ SHORTCUTS_DISCONNECT,
472
+ SHORTCUTS_NEXT_STACK,
473
+ SHORTCUTS_PREVIOUS_STACK,
474
+ SHORTCUTS_PERFORM_ACTION,
475
+ SHORTCUTS_DUPLICATE,
476
+ SHORTCUTS_CLEANUP,
443
477
  KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT,
444
478
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
445
479
  KEYBOARD_NAV_COPIED_HINT,
@@ -451,4 +485,27 @@ export const {
451
485
  WORKSPACE_CONTENTS_COMMENTS_ONE,
452
486
  KEYBOARD_NAV_BLOCK_NAVIGATION_HINT,
453
487
  KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT,
488
+ BLOCK_LABEL_BEGIN_STACK,
489
+ BLOCK_LABEL_BEGIN_PREFIX,
490
+ BLOCK_LABEL_TOOLBOX_CATEGORY,
491
+ BLOCK_LABEL_DISABLED,
492
+ BLOCK_LABEL_COLLAPSED,
493
+ BLOCK_LABEL_REPLACEABLE,
494
+ BLOCK_LABEL_HAS_INPUT,
495
+ BLOCK_LABEL_HAS_INPUTS,
496
+ BLOCK_LABEL_STATEMENT,
497
+ BLOCK_LABEL_CONTAINER,
498
+ BLOCK_LABEL_VALUE,
499
+ BLOCK_LABEL_STACK_BLOCKS,
500
+ INPUT_LABEL_INDEX,
501
+ ANNOUNCE_MOVE_WORKSPACE,
502
+ ANNOUNCE_MOVE_BEFORE,
503
+ ANNOUNCE_MOVE_AFTER,
504
+ ANNOUNCE_MOVE_INSIDE,
505
+ ANNOUNCE_MOVE_AROUND,
506
+ ANNOUNCE_MOVE_TO,
507
+ ANNOUNCE_MOVE_CANCELED,
508
+ FIELD_LABEL_EMPTY,
509
+ ARIA_TYPE_FIELD_INPUT,
510
+ FIELD_LABEL_EDIT_PREFIX,
454
511
  } = zgh;
package/msg/zh-hans.js CHANGED
@@ -19,7 +19,29 @@ var Blockly = Blockly || { Msg: Object.create(null) };
19
19
 
20
20
  Blockly.Msg["ADD_COMMENT"] = "添加注释";
21
21
  Blockly.Msg["ALT_KEY"] = "Alt"; // untranslated
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_TYPE_FIELD_INPUT"] = "input field"; // untranslated
30
+ Blockly.Msg["BACKSPACE_KEY"] = "Backspace"; // untranslated
31
+ Blockly.Msg["BLOCK_LABEL_BEGIN_PREFIX"] = "Begin %1"; // untranslated
32
+ Blockly.Msg["BLOCK_LABEL_BEGIN_STACK"] = "Begin stack"; // untranslated
33
+ Blockly.Msg["BLOCK_LABEL_COLLAPSED"] = "collapsed"; // untranslated
34
+ Blockly.Msg["BLOCK_LABEL_CONTAINER"] = "container"; // untranslated
35
+ Blockly.Msg["BLOCK_LABEL_DISABLED"] = "disabled"; // untranslated
36
+ Blockly.Msg["BLOCK_LABEL_HAS_INPUT"] = "has input"; // untranslated
37
+ Blockly.Msg["BLOCK_LABEL_HAS_INPUTS"] = "has inputs"; // untranslated
38
+ Blockly.Msg["BLOCK_LABEL_REPLACEABLE"] = "replaceable"; // untranslated
39
+ Blockly.Msg["BLOCK_LABEL_STACK_BLOCKS"] = "%1 stack blocks"; // untranslated
40
+ Blockly.Msg["BLOCK_LABEL_STATEMENT"] = "statement"; // untranslated
41
+ Blockly.Msg["BLOCK_LABEL_TOOLBOX_CATEGORY"] = "%1 category"; // untranslated
42
+ Blockly.Msg["BLOCK_LABEL_VALUE"] = "value"; // untranslated
22
43
  Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "不能删除变量“%1”,因为它是函数“%2”定义的一部分";
44
+ Blockly.Msg["CAPS_LOCK_KEY"] = "Caps Lock"; // untranslated
23
45
  Blockly.Msg["CHANGE_VALUE_TITLE"] = "更改值:";
24
46
  Blockly.Msg["CHROME_OS"] = "ChromeOS"; // untranslated
25
47
  Blockly.Msg["CLEAN_UP"] = "整理块";
@@ -45,6 +67,7 @@ Blockly.Msg["COLOUR_RGB_RED"] = "红色";
45
67
  Blockly.Msg["COLOUR_RGB_TITLE"] = "颜色";
46
68
  Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "通过指定红色、绿色和蓝色的量创建一种颜色。所有的值必须在0和100之间。";
47
69
  Blockly.Msg["COMMAND_KEY"] = "⌘ Command"; // untranslated
70
+ Blockly.Msg["CONTEXT_MENU_KEY"] = "≣ Menu"; // untranslated
48
71
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks"; // untranslated
49
72
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "跳出循环";
50
73
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "继续下一轮循环";
@@ -82,6 +105,7 @@ Blockly.Msg["COPY_SHORTCUT"] = "Copy"; // untranslated
82
105
  Blockly.Msg["CUT_SHORTCUT"] = "Cut"; // untranslated
83
106
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "删除所有 %1 个块吗?";
84
107
  Blockly.Msg["DELETE_BLOCK"] = "删除块";
108
+ Blockly.Msg["DELETE_KEY"] = "Delete"; // untranslated
85
109
  Blockly.Msg["DELETE_VARIABLE"] = "删除变量“%1”";
86
110
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "要删除对变量“%2”的%1个引用吗?";
87
111
  Blockly.Msg["DELETE_X_BLOCKS"] = "删除 %1 个块";
@@ -92,13 +116,20 @@ Blockly.Msg["DUPLICATE_BLOCK"] = "复制";
92
116
  Blockly.Msg["DUPLICATE_COMMENT"] = "复制注释";
93
117
  Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents"; // untranslated
94
118
  Blockly.Msg["ENABLE_BLOCK"] = "启用块";
119
+ Blockly.Msg["END_KEY"] = "End"; // untranslated
95
120
  Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
121
+ Blockly.Msg["ESCAPE"] = "Esc"; // untranslated
96
122
  Blockly.Msg["EXPAND_ALL"] = "展开块";
97
123
  Blockly.Msg["EXPAND_BLOCK"] = "展开块";
98
124
  Blockly.Msg["EXTERNAL_INPUTS"] = "外部输入";
125
+ Blockly.Msg["FIELD_LABEL_EDIT_PREFIX"] = "Edit %1"; // untranslated
126
+ Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty"; // untranslated
99
127
  Blockly.Msg["HELP"] = "帮助";
100
128
  Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls"; // untranslated
129
+ Blockly.Msg["HOME_KEY"] = "Home"; // untranslated
101
130
  Blockly.Msg["INLINE_INPUTS"] = "单行输入";
131
+ Blockly.Msg["INPUT_LABEL_INDEX"] = "input %1"; // untranslated
132
+ Blockly.Msg["INSERT_KEY"] = "Insert"; // untranslated
102
133
  Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use the right arrow key to navigate inside of blocks"; // untranslated
103
134
  Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position"; // untranslated
104
135
  Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "Copied. Press %1 to paste."; // untranslated
@@ -314,7 +345,10 @@ Blockly.Msg["NEW_VARIABLE_TITLE"] = "新变量的名称:";
314
345
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "新变量的类型:";
315
346
  Blockly.Msg["OPTION_KEY"] = "⌥ Option"; // untranslated
316
347
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
348
+ Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down"; // untranslated
349
+ Blockly.Msg["PAGE_UP_KEY"] = "Page Up"; // untranslated
317
350
  Blockly.Msg["PASTE_SHORTCUT"] = "Paste"; // untranslated
351
+ Blockly.Msg["PAUSE_KEY"] = "Pause"; // untranslated
318
352
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "允许声明";
319
353
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "与:";
320
354
  Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://zh.wikipedia.org/wiki/子程序";
@@ -346,9 +380,32 @@ Blockly.Msg["REDO"] = "重做";
346
380
  Blockly.Msg["REMOVE_COMMENT"] = "删除注释";
347
381
  Blockly.Msg["RENAME_VARIABLE"] = "重命名变量...";
348
382
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "将所有“%1”变量重命名为:";
383
+ Blockly.Msg["SHIFT_KEY"] = "Shift"; // untranslated
384
+ Blockly.Msg["SHORTCUTS_ABORT_MOVE"] = "Abort move"; // untranslated
385
+ Blockly.Msg["SHORTCUTS_CLEANUP"] = "Clean up workspace"; // untranslated
349
386
  Blockly.Msg["SHORTCUTS_CODE_NAVIGATION"] = "Code navigation"; // untranslated
387
+ Blockly.Msg["SHORTCUTS_DELETE"] = "Delete"; // untranslated
388
+ Blockly.Msg["SHORTCUTS_DISCONNECT"] = "Disconnect block"; // untranslated
389
+ Blockly.Msg["SHORTCUTS_DUPLICATE"] = "Duplicate"; // untranslated
350
390
  Blockly.Msg["SHORTCUTS_EDITING"] = "Editing"; // untranslated
391
+ Blockly.Msg["SHORTCUTS_ESCAPE"] = "Exit"; // untranslated
392
+ Blockly.Msg["SHORTCUTS_FINISH_MOVE"] = "Finish move"; // untranslated
393
+ Blockly.Msg["SHORTCUTS_FOCUS_TOOLBOX"] = "Focus toolbox"; // untranslated
394
+ Blockly.Msg["SHORTCUTS_FOCUS_WORKSPACE"] = "Focus workspace"; // untranslated
351
395
  Blockly.Msg["SHORTCUTS_GENERAL"] = "General"; // untranslated
396
+ Blockly.Msg["SHORTCUTS_INFORMATION"] = "Announce information"; // untranslated
397
+ Blockly.Msg["SHORTCUTS_MOVE_DOWN"] = "Move down"; // untranslated
398
+ Blockly.Msg["SHORTCUTS_MOVE_LEFT"] = "Move left"; // untranslated
399
+ Blockly.Msg["SHORTCUTS_MOVE_RIGHT"] = "Move right"; // untranslated
400
+ Blockly.Msg["SHORTCUTS_MOVE_UP"] = "Move up"; // untranslated
401
+ Blockly.Msg["SHORTCUTS_NEXT_STACK"] = "Next stack"; // untranslated
402
+ Blockly.Msg["SHORTCUTS_PERFORM_ACTION"] = "Edit or confirm"; // untranslated
403
+ Blockly.Msg["SHORTCUTS_PREVIOUS_STACK"] = "Previous stack"; // untranslated
404
+ Blockly.Msg["SHORTCUTS_SHOW_CONTEXT_MENU"] = "Show menu"; // untranslated
405
+ Blockly.Msg["SHORTCUTS_START_MOVE"] = "Start move"; // untranslated
406
+ Blockly.Msg["SHORTCUTS_START_MOVE_STACK"] = "Start move stack"; // untranslated
407
+ Blockly.Msg["SPACE_KEY"] = "Space"; // untranslated
408
+ Blockly.Msg["TAB_KEY"] = "Tab"; // untranslated
352
409
  Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification"; // untranslated
353
410
  Blockly.Msg["TEXT_APPEND_TITLE"] = "在%1之后加上文本%2";
354
411
  Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "将一些文本追加到变量“%1”里。";
package/msg/zh-hans.mjs CHANGED
@@ -433,6 +433,20 @@ export const {
433
433
  OPTION_KEY,
434
434
  ALT_KEY,
435
435
  ENTER_KEY,
436
+ BACKSPACE_KEY,
437
+ DELETE_KEY,
438
+ ESCAPE,
439
+ TAB_KEY,
440
+ SHIFT_KEY,
441
+ CAPS_LOCK_KEY,
442
+ SPACE_KEY,
443
+ PAGE_UP_KEY,
444
+ PAGE_DOWN_KEY,
445
+ END_KEY,
446
+ HOME_KEY,
447
+ INSERT_KEY,
448
+ PAUSE_KEY,
449
+ CONTEXT_MENU_KEY,
436
450
  CUT_SHORTCUT,
437
451
  COPY_SHORTCUT,
438
452
  PASTE_SHORTCUT,
@@ -440,6 +454,26 @@ export const {
440
454
  SHORTCUTS_GENERAL,
441
455
  SHORTCUTS_EDITING,
442
456
  SHORTCUTS_CODE_NAVIGATION,
457
+ SHORTCUTS_ESCAPE,
458
+ SHORTCUTS_DELETE,
459
+ SHORTCUTS_START_MOVE,
460
+ SHORTCUTS_START_MOVE_STACK,
461
+ SHORTCUTS_MOVE_LEFT,
462
+ SHORTCUTS_MOVE_RIGHT,
463
+ SHORTCUTS_MOVE_UP,
464
+ SHORTCUTS_MOVE_DOWN,
465
+ SHORTCUTS_FINISH_MOVE,
466
+ SHORTCUTS_ABORT_MOVE,
467
+ SHORTCUTS_SHOW_CONTEXT_MENU,
468
+ SHORTCUTS_FOCUS_WORKSPACE,
469
+ SHORTCUTS_FOCUS_TOOLBOX,
470
+ SHORTCUTS_INFORMATION,
471
+ SHORTCUTS_DISCONNECT,
472
+ SHORTCUTS_NEXT_STACK,
473
+ SHORTCUTS_PREVIOUS_STACK,
474
+ SHORTCUTS_PERFORM_ACTION,
475
+ SHORTCUTS_DUPLICATE,
476
+ SHORTCUTS_CLEANUP,
443
477
  KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT,
444
478
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
445
479
  KEYBOARD_NAV_COPIED_HINT,
@@ -451,4 +485,27 @@ export const {
451
485
  WORKSPACE_CONTENTS_COMMENTS_ONE,
452
486
  KEYBOARD_NAV_BLOCK_NAVIGATION_HINT,
453
487
  KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT,
488
+ BLOCK_LABEL_BEGIN_STACK,
489
+ BLOCK_LABEL_BEGIN_PREFIX,
490
+ BLOCK_LABEL_TOOLBOX_CATEGORY,
491
+ BLOCK_LABEL_DISABLED,
492
+ BLOCK_LABEL_COLLAPSED,
493
+ BLOCK_LABEL_REPLACEABLE,
494
+ BLOCK_LABEL_HAS_INPUT,
495
+ BLOCK_LABEL_HAS_INPUTS,
496
+ BLOCK_LABEL_STATEMENT,
497
+ BLOCK_LABEL_CONTAINER,
498
+ BLOCK_LABEL_VALUE,
499
+ BLOCK_LABEL_STACK_BLOCKS,
500
+ INPUT_LABEL_INDEX,
501
+ ANNOUNCE_MOVE_WORKSPACE,
502
+ ANNOUNCE_MOVE_BEFORE,
503
+ ANNOUNCE_MOVE_AFTER,
504
+ ANNOUNCE_MOVE_INSIDE,
505
+ ANNOUNCE_MOVE_AROUND,
506
+ ANNOUNCE_MOVE_TO,
507
+ ANNOUNCE_MOVE_CANCELED,
508
+ FIELD_LABEL_EMPTY,
509
+ ARIA_TYPE_FIELD_INPUT,
510
+ FIELD_LABEL_EDIT_PREFIX,
454
511
  } = zh_hans;
package/msg/zh-hant.js CHANGED
@@ -19,7 +19,29 @@ var Blockly = Blockly || { Msg: Object.create(null) };
19
19
 
20
20
  Blockly.Msg["ADD_COMMENT"] = "添加評論";
21
21
  Blockly.Msg["ALT_KEY"] = "Alt"; // untranslated
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_TYPE_FIELD_INPUT"] = "input field"; // untranslated
30
+ Blockly.Msg["BACKSPACE_KEY"] = "Backspace"; // untranslated
31
+ Blockly.Msg["BLOCK_LABEL_BEGIN_PREFIX"] = "Begin %1"; // untranslated
32
+ Blockly.Msg["BLOCK_LABEL_BEGIN_STACK"] = "Begin stack"; // untranslated
33
+ Blockly.Msg["BLOCK_LABEL_COLLAPSED"] = "collapsed"; // untranslated
34
+ Blockly.Msg["BLOCK_LABEL_CONTAINER"] = "container"; // untranslated
35
+ Blockly.Msg["BLOCK_LABEL_DISABLED"] = "disabled"; // untranslated
36
+ Blockly.Msg["BLOCK_LABEL_HAS_INPUT"] = "has input"; // untranslated
37
+ Blockly.Msg["BLOCK_LABEL_HAS_INPUTS"] = "has inputs"; // untranslated
38
+ Blockly.Msg["BLOCK_LABEL_REPLACEABLE"] = "replaceable"; // untranslated
39
+ Blockly.Msg["BLOCK_LABEL_STACK_BLOCKS"] = "%1 stack blocks"; // untranslated
40
+ Blockly.Msg["BLOCK_LABEL_STATEMENT"] = "statement"; // untranslated
41
+ Blockly.Msg["BLOCK_LABEL_TOOLBOX_CATEGORY"] = "%1 category"; // untranslated
42
+ Blockly.Msg["BLOCK_LABEL_VALUE"] = "value"; // untranslated
22
43
  Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "無法刪除變數「%1」,因為這是功能「%2」定義的一部份內容";
44
+ Blockly.Msg["CAPS_LOCK_KEY"] = "Caps Lock"; // untranslated
23
45
  Blockly.Msg["CHANGE_VALUE_TITLE"] = "修改值:";
24
46
  Blockly.Msg["CHROME_OS"] = "ChromeOS"; // untranslated
25
47
  Blockly.Msg["CLEAN_UP"] = "清理區塊";
@@ -45,6 +67,7 @@ Blockly.Msg["COLOUR_RGB_RED"] = "紅";
45
67
  Blockly.Msg["COLOUR_RGB_TITLE"] = "顏色";
46
68
  Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "透過指定紅、綠、 藍色的值來建立一種顏色。所有的值必須介於 0 和 100 之間。";
47
69
  Blockly.Msg["COMMAND_KEY"] = "⌘ Command"; // untranslated
70
+ Blockly.Msg["CONTEXT_MENU_KEY"] = "≣ Menu"; // untranslated
48
71
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks"; // untranslated
49
72
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "中斷循環";
50
73
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "繼續下一個循環";
@@ -82,6 +105,7 @@ Blockly.Msg["COPY_SHORTCUT"] = "Copy"; // untranslated
82
105
  Blockly.Msg["CUT_SHORTCUT"] = "Cut"; // untranslated
83
106
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "刪除全部 %1 個區塊?";
84
107
  Blockly.Msg["DELETE_BLOCK"] = "刪除區塊";
108
+ Blockly.Msg["DELETE_KEY"] = "Delete"; // untranslated
85
109
  Blockly.Msg["DELETE_VARIABLE"] = "刪除變數「%1」";
86
110
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "刪除使用%1次的「%2」變數?";
87
111
  Blockly.Msg["DELETE_X_BLOCKS"] = "刪除%1個區塊";
@@ -92,13 +116,20 @@ Blockly.Msg["DUPLICATE_BLOCK"] = "再製";
92
116
  Blockly.Msg["DUPLICATE_COMMENT"] = "複製註解";
93
117
  Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents"; // untranslated
94
118
  Blockly.Msg["ENABLE_BLOCK"] = "啟用區塊";
119
+ Blockly.Msg["END_KEY"] = "End"; // untranslated
95
120
  Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
121
+ Blockly.Msg["ESCAPE"] = "Esc"; // untranslated
96
122
  Blockly.Msg["EXPAND_ALL"] = "展開區塊";
97
123
  Blockly.Msg["EXPAND_BLOCK"] = "展開區塊";
98
124
  Blockly.Msg["EXTERNAL_INPUTS"] = "外部輸入";
125
+ Blockly.Msg["FIELD_LABEL_EDIT_PREFIX"] = "Edit %1"; // untranslated
126
+ Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty"; // untranslated
99
127
  Blockly.Msg["HELP"] = "說明";
100
128
  Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls"; // untranslated
129
+ Blockly.Msg["HOME_KEY"] = "Home"; // untranslated
101
130
  Blockly.Msg["INLINE_INPUTS"] = "單行輸入";
131
+ Blockly.Msg["INPUT_LABEL_INDEX"] = "input %1"; // untranslated
132
+ Blockly.Msg["INSERT_KEY"] = "Insert"; // untranslated
102
133
  Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use the right arrow key to navigate inside of blocks"; // untranslated
103
134
  Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position"; // untranslated
104
135
  Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "Copied. Press %1 to paste."; // untranslated
@@ -314,7 +345,10 @@ Blockly.Msg["NEW_VARIABLE_TITLE"] = "新變數名稱:";
314
345
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "新變數類型:";
315
346
  Blockly.Msg["OPTION_KEY"] = "⌥ Option"; // untranslated
316
347
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
348
+ Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down"; // untranslated
349
+ Blockly.Msg["PAGE_UP_KEY"] = "Page Up"; // untranslated
317
350
  Blockly.Msg["PASTE_SHORTCUT"] = "Paste"; // untranslated
351
+ Blockly.Msg["PAUSE_KEY"] = "Pause"; // untranslated
318
352
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "允許陳述式";
319
353
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "與:";
320
354
  Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://zh.wikipedia.org/wiki/子程式";
@@ -346,9 +380,32 @@ Blockly.Msg["REDO"] = "重做";
346
380
  Blockly.Msg["REMOVE_COMMENT"] = "移除註解";
347
381
  Blockly.Msg["RENAME_VARIABLE"] = "重新命名變數...";
348
382
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "將所有「%1」變數重新命名為:";
383
+ Blockly.Msg["SHIFT_KEY"] = "Shift"; // untranslated
384
+ Blockly.Msg["SHORTCUTS_ABORT_MOVE"] = "Abort move"; // untranslated
385
+ Blockly.Msg["SHORTCUTS_CLEANUP"] = "Clean up workspace"; // untranslated
349
386
  Blockly.Msg["SHORTCUTS_CODE_NAVIGATION"] = "Code navigation"; // untranslated
387
+ Blockly.Msg["SHORTCUTS_DELETE"] = "Delete"; // untranslated
388
+ Blockly.Msg["SHORTCUTS_DISCONNECT"] = "Disconnect block"; // untranslated
389
+ Blockly.Msg["SHORTCUTS_DUPLICATE"] = "Duplicate"; // untranslated
350
390
  Blockly.Msg["SHORTCUTS_EDITING"] = "Editing"; // untranslated
391
+ Blockly.Msg["SHORTCUTS_ESCAPE"] = "Exit"; // untranslated
392
+ Blockly.Msg["SHORTCUTS_FINISH_MOVE"] = "Finish move"; // untranslated
393
+ Blockly.Msg["SHORTCUTS_FOCUS_TOOLBOX"] = "Focus toolbox"; // untranslated
394
+ Blockly.Msg["SHORTCUTS_FOCUS_WORKSPACE"] = "Focus workspace"; // untranslated
351
395
  Blockly.Msg["SHORTCUTS_GENERAL"] = "General"; // untranslated
396
+ Blockly.Msg["SHORTCUTS_INFORMATION"] = "Announce information"; // untranslated
397
+ Blockly.Msg["SHORTCUTS_MOVE_DOWN"] = "Move down"; // untranslated
398
+ Blockly.Msg["SHORTCUTS_MOVE_LEFT"] = "Move left"; // untranslated
399
+ Blockly.Msg["SHORTCUTS_MOVE_RIGHT"] = "Move right"; // untranslated
400
+ Blockly.Msg["SHORTCUTS_MOVE_UP"] = "Move up"; // untranslated
401
+ Blockly.Msg["SHORTCUTS_NEXT_STACK"] = "Next stack"; // untranslated
402
+ Blockly.Msg["SHORTCUTS_PERFORM_ACTION"] = "Edit or confirm"; // untranslated
403
+ Blockly.Msg["SHORTCUTS_PREVIOUS_STACK"] = "Previous stack"; // untranslated
404
+ Blockly.Msg["SHORTCUTS_SHOW_CONTEXT_MENU"] = "Show menu"; // untranslated
405
+ Blockly.Msg["SHORTCUTS_START_MOVE"] = "Start move"; // untranslated
406
+ Blockly.Msg["SHORTCUTS_START_MOVE_STACK"] = "Start move stack"; // untranslated
407
+ Blockly.Msg["SPACE_KEY"] = "Space"; // untranslated
408
+ Blockly.Msg["TAB_KEY"] = "Tab"; // untranslated
352
409
  Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification"; // untranslated
353
410
  Blockly.Msg["TEXT_APPEND_TITLE"] = "至 %1 套用文字 %2";
354
411
  Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "添加一些文字到變數「%1」之後。";
package/msg/zh-hant.mjs CHANGED
@@ -433,6 +433,20 @@ export const {
433
433
  OPTION_KEY,
434
434
  ALT_KEY,
435
435
  ENTER_KEY,
436
+ BACKSPACE_KEY,
437
+ DELETE_KEY,
438
+ ESCAPE,
439
+ TAB_KEY,
440
+ SHIFT_KEY,
441
+ CAPS_LOCK_KEY,
442
+ SPACE_KEY,
443
+ PAGE_UP_KEY,
444
+ PAGE_DOWN_KEY,
445
+ END_KEY,
446
+ HOME_KEY,
447
+ INSERT_KEY,
448
+ PAUSE_KEY,
449
+ CONTEXT_MENU_KEY,
436
450
  CUT_SHORTCUT,
437
451
  COPY_SHORTCUT,
438
452
  PASTE_SHORTCUT,
@@ -440,6 +454,26 @@ export const {
440
454
  SHORTCUTS_GENERAL,
441
455
  SHORTCUTS_EDITING,
442
456
  SHORTCUTS_CODE_NAVIGATION,
457
+ SHORTCUTS_ESCAPE,
458
+ SHORTCUTS_DELETE,
459
+ SHORTCUTS_START_MOVE,
460
+ SHORTCUTS_START_MOVE_STACK,
461
+ SHORTCUTS_MOVE_LEFT,
462
+ SHORTCUTS_MOVE_RIGHT,
463
+ SHORTCUTS_MOVE_UP,
464
+ SHORTCUTS_MOVE_DOWN,
465
+ SHORTCUTS_FINISH_MOVE,
466
+ SHORTCUTS_ABORT_MOVE,
467
+ SHORTCUTS_SHOW_CONTEXT_MENU,
468
+ SHORTCUTS_FOCUS_WORKSPACE,
469
+ SHORTCUTS_FOCUS_TOOLBOX,
470
+ SHORTCUTS_INFORMATION,
471
+ SHORTCUTS_DISCONNECT,
472
+ SHORTCUTS_NEXT_STACK,
473
+ SHORTCUTS_PREVIOUS_STACK,
474
+ SHORTCUTS_PERFORM_ACTION,
475
+ SHORTCUTS_DUPLICATE,
476
+ SHORTCUTS_CLEANUP,
443
477
  KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT,
444
478
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
445
479
  KEYBOARD_NAV_COPIED_HINT,
@@ -451,4 +485,27 @@ export const {
451
485
  WORKSPACE_CONTENTS_COMMENTS_ONE,
452
486
  KEYBOARD_NAV_BLOCK_NAVIGATION_HINT,
453
487
  KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT,
488
+ BLOCK_LABEL_BEGIN_STACK,
489
+ BLOCK_LABEL_BEGIN_PREFIX,
490
+ BLOCK_LABEL_TOOLBOX_CATEGORY,
491
+ BLOCK_LABEL_DISABLED,
492
+ BLOCK_LABEL_COLLAPSED,
493
+ BLOCK_LABEL_REPLACEABLE,
494
+ BLOCK_LABEL_HAS_INPUT,
495
+ BLOCK_LABEL_HAS_INPUTS,
496
+ BLOCK_LABEL_STATEMENT,
497
+ BLOCK_LABEL_CONTAINER,
498
+ BLOCK_LABEL_VALUE,
499
+ BLOCK_LABEL_STACK_BLOCKS,
500
+ INPUT_LABEL_INDEX,
501
+ ANNOUNCE_MOVE_WORKSPACE,
502
+ ANNOUNCE_MOVE_BEFORE,
503
+ ANNOUNCE_MOVE_AFTER,
504
+ ANNOUNCE_MOVE_INSIDE,
505
+ ANNOUNCE_MOVE_AROUND,
506
+ ANNOUNCE_MOVE_TO,
507
+ ANNOUNCE_MOVE_CANCELED,
508
+ FIELD_LABEL_EMPTY,
509
+ ARIA_TYPE_FIELD_INPUT,
510
+ FIELD_LABEL_EDIT_PREFIX,
454
511
  } = 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.1",
4
4
  "description": "Blockly is a library for building visual programming editors.",
5
5
  "keywords": [
6
6
  "blockly"
@@ -1,63 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { TextInputBubble } from '../../bubbles/textinput_bubble.js';
7
- import type { IFocusableNode } from '../../interfaces/i_focusable_node.js';
8
- import type { INavigationPolicy } from '../../interfaces/i_navigation_policy.js';
9
- /**
10
- * Set of rules controlling keyboard navigation from an TextInputBubble.
11
- */
12
- export declare class BlockCommentNavigationPolicy implements INavigationPolicy<TextInputBubble> {
13
- /**
14
- * Returns the first child of the given block comment.
15
- *
16
- * @param current The block comment to return the first child of.
17
- * @returns The text editor of the given block comment bubble.
18
- */
19
- getFirstChild(current: TextInputBubble): IFocusableNode | null;
20
- /**
21
- * Returns the parent of the given block comment.
22
- *
23
- * @param current The block comment to return the parent of.
24
- * @returns The parent block of the given block comment.
25
- */
26
- getParent(current: TextInputBubble): IFocusableNode | null;
27
- /**
28
- * Returns the next peer node of the given block comment.
29
- *
30
- * @param _current The block comment to find the following element of.
31
- * @returns Null.
32
- */
33
- getNextSibling(_current: TextInputBubble): IFocusableNode | null;
34
- /**
35
- * Returns the previous peer node of the given block comment.
36
- *
37
- * @param _current The block comment to find the preceding element of.
38
- * @returns Null.
39
- */
40
- getPreviousSibling(_current: TextInputBubble): IFocusableNode | null;
41
- /**
42
- * Returns the row ID of the given block comment.
43
- *
44
- * @param current The block comment to retrieve the row ID of.
45
- * @returns The row ID of the given block comment.
46
- */
47
- getRowId(current: TextInputBubble): string;
48
- /**
49
- * Returns whether or not the given block comment can be navigated to.
50
- *
51
- * @param current The instance to check for navigability.
52
- * @returns True if the given block comment can be focused.
53
- */
54
- isNavigable(current: TextInputBubble): boolean;
55
- /**
56
- * Returns whether the given object can be navigated from by this policy.
57
- *
58
- * @param current The object to check if this policy applies to.
59
- * @returns True if the object is an TextInputBubble.
60
- */
61
- isApplicable(current: any): current is TextInputBubble;
62
- }
63
- //# sourceMappingURL=block_comment_navigation_policy.d.ts.map