blockly 12.5.1 → 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 (363) hide show
  1. package/blockly.min.js +1541 -700
  2. package/blockly.mjs +13 -5
  3. package/blockly_compressed.js +1449 -674
  4. package/blockly_compressed.js.map +1 -1
  5. package/blocks_compressed.js +16 -16
  6. package/blocks_compressed.js.map +1 -1
  7. package/core/block.d.ts +1 -1
  8. package/core/block_aria_composer.d.ts +119 -0
  9. package/core/block_svg.d.ts +59 -16
  10. package/core/blockly.d.ts +21 -16
  11. package/core/bubbles/bubble.d.ts +17 -2
  12. package/core/bubbles/mini_workspace_bubble.d.ts +9 -1
  13. package/core/bubbles/text_bubble.d.ts +4 -1
  14. package/core/bubbles/textinput_bubble.d.ts +5 -0
  15. package/core/comments/comment_editor.d.ts +2 -2
  16. package/core/comments/rendered_workspace_comment.d.ts +6 -1
  17. package/core/common.d.ts +1 -1
  18. package/core/css.d.ts +2 -1
  19. package/core/dragging/block_drag_strategy.d.ts +126 -14
  20. package/core/dragging/bubble_drag_strategy.d.ts +5 -4
  21. package/core/dragging/comment_drag_strategy.d.ts +4 -4
  22. package/core/dragging/dragger.d.ts +13 -14
  23. package/core/events/events_block_create.d.ts +0 -3
  24. package/core/events/events_block_delete.d.ts +0 -3
  25. package/core/events/events_comment_create.d.ts +0 -3
  26. package/core/events/events_comment_delete.d.ts +0 -3
  27. package/core/field.d.ts +69 -2
  28. package/core/field_input.d.ts +23 -0
  29. package/core/flyout_base.d.ts +1 -125
  30. package/core/flyout_button.d.ts +9 -0
  31. package/core/flyout_horizontal.d.ts +0 -11
  32. package/core/flyout_vertical.d.ts +0 -11
  33. package/core/focus_manager.d.ts +47 -2
  34. package/core/gesture.d.ts +0 -12
  35. package/core/hints.d.ts +44 -0
  36. package/core/icons/icon.d.ts +6 -0
  37. package/core/inputs/input.d.ts +22 -1
  38. package/core/interfaces/i_bounded_element.d.ts +7 -0
  39. package/core/interfaces/i_bubble.d.ts +3 -2
  40. package/core/interfaces/i_collapsible_toolbox_item.d.ts +5 -1
  41. package/core/interfaces/i_draggable.d.ts +22 -17
  42. package/core/interfaces/i_dragger.d.ts +19 -10
  43. package/core/interfaces/i_flyout.d.ts +1 -31
  44. package/core/interfaces/i_focusable_node.d.ts +8 -0
  45. package/core/interfaces/i_focusable_tree.d.ts +8 -0
  46. package/core/interfaces/i_json_block_definition.d.ts +102 -0
  47. package/core/interfaces/i_navigation_policy.d.ts +12 -0
  48. package/core/interfaces/i_selectable.d.ts +2 -2
  49. package/core/interfaces/i_selectable_toolbox_item.d.ts +3 -3
  50. package/core/interfaces/i_toolbox.d.ts +4 -0
  51. package/core/interfaces/i_toolbox_item.d.ts +6 -0
  52. package/core/keyboard_nav/keyboard_mover.d.ts +149 -0
  53. package/core/keyboard_nav/move_indicator.d.ts +35 -0
  54. package/core/keyboard_nav/{block_navigation_policy.d.ts → navigation_policies/block_navigation_policy.d.ts} +17 -25
  55. package/core/keyboard_nav/navigation_policies/bubble_navigation_policy.d.ts +63 -0
  56. package/core/keyboard_nav/{comment_bar_button_navigation_policy.d.ts → navigation_policies/comment_bar_button_navigation_policy.d.ts} +10 -3
  57. package/core/keyboard_nav/{comment_editor_navigation_policy.d.ts → navigation_policies/comment_editor_navigation_policy.d.ts} +10 -3
  58. package/core/keyboard_nav/{connection_navigation_policy.d.ts → navigation_policies/connection_navigation_policy.d.ts} +11 -16
  59. package/core/keyboard_nav/{field_navigation_policy.d.ts → navigation_policies/field_navigation_policy.d.ts} +10 -3
  60. package/core/keyboard_nav/{flyout_button_navigation_policy.d.ts → navigation_policies/flyout_button_navigation_policy.d.ts} +10 -3
  61. package/core/keyboard_nav/{flyout_separator_navigation_policy.d.ts → navigation_policies/flyout_separator_navigation_policy.d.ts} +9 -3
  62. package/core/keyboard_nav/{icon_navigation_policy.d.ts → navigation_policies/icon_navigation_policy.d.ts} +12 -5
  63. package/core/keyboard_nav/navigation_policies/toolbox_item_navigation_policy.d.ts +64 -0
  64. package/core/keyboard_nav/{workspace_comment_navigation_policy.d.ts → navigation_policies/workspace_comment_navigation_policy.d.ts} +14 -9
  65. package/core/keyboard_nav/{workspace_navigation_policy.d.ts → navigation_policies/workspace_navigation_policy.d.ts} +10 -3
  66. package/core/keyboard_nav/navigators/flyout_navigator.d.ts +63 -0
  67. package/core/keyboard_nav/navigators/navigator.d.ts +225 -0
  68. package/core/keyboard_nav/navigators/toolbox_navigator.d.ts +70 -0
  69. package/core/registry.d.ts +0 -2
  70. package/core/renderers/common/constants.d.ts +4 -7
  71. package/core/renderers/common/i_path_object.d.ts +8 -0
  72. package/core/renderers/common/path_object.d.ts +5 -14
  73. package/core/renderers/common/renderer.d.ts +3 -3
  74. package/core/renderers/zelos/constants.d.ts +1 -14
  75. package/core/renderers/zelos/measurables/bottom_row.d.ts +1 -1
  76. package/core/renderers/zelos/measurables/top_row.d.ts +1 -1
  77. package/core/renderers/zelos/path_object.d.ts +0 -3
  78. package/core/renderers/zelos/renderer.d.ts +8 -0
  79. package/core/shortcut_items.d.ts +73 -1
  80. package/core/shortcut_registry.d.ts +6 -0
  81. package/core/theme.d.ts +0 -2
  82. package/core/toast.d.ts +2 -11
  83. package/core/toolbox/category.d.ts +5 -0
  84. package/core/toolbox/separator.d.ts +4 -0
  85. package/core/toolbox/toolbox.d.ts +17 -33
  86. package/core/toolbox/toolbox_item.d.ts +4 -0
  87. package/core/utils/aria.d.ts +245 -28
  88. package/core/utils/dom.d.ts +1 -1
  89. package/core/utils/shortcut_formatting.d.ts +22 -0
  90. package/core/utils/useragent.d.ts +1 -0
  91. package/core/variables.d.ts +1 -1
  92. package/core/workspace_audio.d.ts +23 -0
  93. package/core/workspace_svg.d.ts +8 -50
  94. package/dart_compressed.js +9 -9
  95. package/dart_compressed.js.map +1 -1
  96. package/index.mjs +13 -5
  97. package/javascript_compressed.js +11 -10
  98. package/javascript_compressed.js.map +1 -1
  99. package/lua_compressed.js +7 -7
  100. package/lua_compressed.js.map +1 -1
  101. package/msg/ab.js +65 -0
  102. package/msg/ab.mjs +65 -0
  103. package/msg/ace.js +65 -0
  104. package/msg/ace.mjs +65 -0
  105. package/msg/af.js +65 -0
  106. package/msg/af.mjs +65 -0
  107. package/msg/am.js +65 -0
  108. package/msg/am.mjs +65 -0
  109. package/msg/ar.js +65 -0
  110. package/msg/ar.mjs +65 -0
  111. package/msg/ast.js +65 -0
  112. package/msg/ast.mjs +65 -0
  113. package/msg/az.js +65 -0
  114. package/msg/az.mjs +65 -0
  115. package/msg/ba.js +65 -0
  116. package/msg/ba.mjs +65 -0
  117. package/msg/bcc.js +65 -0
  118. package/msg/bcc.mjs +65 -0
  119. package/msg/be-tarask.js +65 -0
  120. package/msg/be-tarask.mjs +65 -0
  121. package/msg/be.js +65 -0
  122. package/msg/be.mjs +65 -0
  123. package/msg/bg.js +65 -0
  124. package/msg/bg.mjs +65 -0
  125. package/msg/bn.js +65 -0
  126. package/msg/bn.mjs +65 -0
  127. package/msg/br.js +65 -0
  128. package/msg/br.mjs +65 -0
  129. package/msg/bs.js +65 -0
  130. package/msg/bs.mjs +65 -0
  131. package/msg/ca.js +65 -0
  132. package/msg/ca.mjs +65 -0
  133. package/msg/cdo.js +65 -0
  134. package/msg/cdo.mjs +65 -0
  135. package/msg/ce.js +65 -0
  136. package/msg/ce.mjs +65 -0
  137. package/msg/cs.js +65 -0
  138. package/msg/cs.mjs +65 -0
  139. package/msg/da.js +65 -0
  140. package/msg/da.mjs +65 -0
  141. package/msg/de.js +65 -0
  142. package/msg/de.mjs +65 -0
  143. package/msg/diq.js +65 -0
  144. package/msg/diq.mjs +65 -0
  145. package/msg/dtp.js +65 -0
  146. package/msg/dtp.mjs +65 -0
  147. package/msg/dty.js +65 -0
  148. package/msg/dty.mjs +65 -0
  149. package/msg/ee.js +65 -0
  150. package/msg/ee.mjs +65 -0
  151. package/msg/el.js +65 -0
  152. package/msg/el.mjs +65 -0
  153. package/msg/en-gb.js +65 -0
  154. package/msg/en-gb.mjs +65 -0
  155. package/msg/en.js +65 -0
  156. package/msg/en.mjs +65 -0
  157. package/msg/eo.js +65 -0
  158. package/msg/eo.mjs +65 -0
  159. package/msg/es.js +65 -0
  160. package/msg/es.mjs +65 -0
  161. package/msg/et.js +65 -0
  162. package/msg/et.mjs +65 -0
  163. package/msg/eu.js +65 -0
  164. package/msg/eu.mjs +65 -0
  165. package/msg/fa.js +65 -0
  166. package/msg/fa.mjs +65 -0
  167. package/msg/fi.js +65 -0
  168. package/msg/fi.mjs +65 -0
  169. package/msg/fo.js +65 -0
  170. package/msg/fo.mjs +65 -0
  171. package/msg/fr.js +65 -0
  172. package/msg/fr.mjs +65 -0
  173. package/msg/frr.js +65 -0
  174. package/msg/frr.mjs +65 -0
  175. package/msg/gl.js +65 -0
  176. package/msg/gl.mjs +65 -0
  177. package/msg/gn.js +65 -0
  178. package/msg/gn.mjs +65 -0
  179. package/msg/gor.js +65 -0
  180. package/msg/gor.mjs +65 -0
  181. package/msg/ha.js +65 -0
  182. package/msg/ha.mjs +65 -0
  183. package/msg/hak.js +65 -0
  184. package/msg/hak.mjs +65 -0
  185. package/msg/he.js +65 -0
  186. package/msg/he.mjs +65 -0
  187. package/msg/hi.js +65 -0
  188. package/msg/hi.mjs +65 -0
  189. package/msg/hr.js +65 -0
  190. package/msg/hr.mjs +65 -0
  191. package/msg/hrx.js +65 -0
  192. package/msg/hrx.mjs +65 -0
  193. package/msg/hsb.js +65 -0
  194. package/msg/hsb.mjs +65 -0
  195. package/msg/hu.js +65 -0
  196. package/msg/hu.mjs +65 -0
  197. package/msg/hy.js +65 -0
  198. package/msg/hy.mjs +65 -0
  199. package/msg/ia.js +65 -0
  200. package/msg/ia.mjs +65 -0
  201. package/msg/id.js +65 -0
  202. package/msg/id.mjs +65 -0
  203. package/msg/ig.js +65 -0
  204. package/msg/ig.mjs +65 -0
  205. package/msg/inh.js +65 -0
  206. package/msg/inh.mjs +65 -0
  207. package/msg/is.js +65 -0
  208. package/msg/is.mjs +65 -0
  209. package/msg/it.js +65 -0
  210. package/msg/it.mjs +65 -0
  211. package/msg/ja.js +65 -0
  212. package/msg/ja.mjs +65 -0
  213. package/msg/ka.js +65 -0
  214. package/msg/ka.mjs +65 -0
  215. package/msg/kab.js +65 -0
  216. package/msg/kab.mjs +65 -0
  217. package/msg/kbd-cyrl.js +65 -0
  218. package/msg/kbd-cyrl.mjs +65 -0
  219. package/msg/km.js +65 -0
  220. package/msg/km.mjs +65 -0
  221. package/msg/kn.js +65 -0
  222. package/msg/kn.mjs +65 -0
  223. package/msg/ko.js +65 -0
  224. package/msg/ko.mjs +65 -0
  225. package/msg/ksh.js +65 -0
  226. package/msg/ksh.mjs +65 -0
  227. package/msg/ku-latn.js +65 -0
  228. package/msg/ku-latn.mjs +65 -0
  229. package/msg/ky.js +65 -0
  230. package/msg/ky.mjs +65 -0
  231. package/msg/la.js +65 -0
  232. package/msg/la.mjs +65 -0
  233. package/msg/lb.js +65 -0
  234. package/msg/lb.mjs +65 -0
  235. package/msg/lki.js +65 -0
  236. package/msg/lki.mjs +65 -0
  237. package/msg/lo.js +65 -0
  238. package/msg/lo.mjs +65 -0
  239. package/msg/lrc.js +65 -0
  240. package/msg/lrc.mjs +65 -0
  241. package/msg/lt.js +65 -0
  242. package/msg/lt.mjs +65 -0
  243. package/msg/lv.js +65 -0
  244. package/msg/lv.mjs +65 -0
  245. package/msg/mg.js +65 -0
  246. package/msg/mg.mjs +65 -0
  247. package/msg/mk.js +65 -0
  248. package/msg/mk.mjs +65 -0
  249. package/msg/ml.js +65 -0
  250. package/msg/ml.mjs +65 -0
  251. package/msg/mnw.js +65 -0
  252. package/msg/mnw.mjs +65 -0
  253. package/msg/ms.js +65 -0
  254. package/msg/ms.mjs +65 -0
  255. package/msg/my.js +65 -0
  256. package/msg/my.mjs +65 -0
  257. package/msg/mzn.js +65 -0
  258. package/msg/mzn.mjs +65 -0
  259. package/msg/nb.js +65 -0
  260. package/msg/nb.mjs +65 -0
  261. package/msg/ne.js +65 -0
  262. package/msg/ne.mjs +65 -0
  263. package/msg/nl.js +65 -0
  264. package/msg/nl.mjs +65 -0
  265. package/msg/oc.js +65 -0
  266. package/msg/oc.mjs +65 -0
  267. package/msg/olo.js +65 -0
  268. package/msg/olo.mjs +65 -0
  269. package/msg/pa.js +65 -0
  270. package/msg/pa.mjs +65 -0
  271. package/msg/pl.js +65 -0
  272. package/msg/pl.mjs +65 -0
  273. package/msg/pms.js +65 -0
  274. package/msg/pms.mjs +65 -0
  275. package/msg/ps.js +65 -0
  276. package/msg/ps.mjs +65 -0
  277. package/msg/pt-br.js +65 -0
  278. package/msg/pt-br.mjs +65 -0
  279. package/msg/pt.js +65 -0
  280. package/msg/pt.mjs +65 -0
  281. package/msg/ro.js +65 -0
  282. package/msg/ro.mjs +65 -0
  283. package/msg/ru.js +65 -0
  284. package/msg/ru.mjs +65 -0
  285. package/msg/sc.js +65 -0
  286. package/msg/sc.mjs +65 -0
  287. package/msg/sco.js +65 -0
  288. package/msg/sco.mjs +65 -0
  289. package/msg/sd.js +65 -0
  290. package/msg/sd.mjs +65 -0
  291. package/msg/shn.js +65 -0
  292. package/msg/shn.mjs +65 -0
  293. package/msg/si.js +65 -0
  294. package/msg/si.mjs +65 -0
  295. package/msg/sk.js +65 -0
  296. package/msg/sk.mjs +65 -0
  297. package/msg/skr-arab.js +65 -0
  298. package/msg/skr-arab.mjs +65 -0
  299. package/msg/sl.js +65 -0
  300. package/msg/sl.mjs +65 -0
  301. package/msg/smn.js +65 -0
  302. package/msg/smn.mjs +65 -0
  303. package/msg/sq.js +65 -0
  304. package/msg/sq.mjs +65 -0
  305. package/msg/sr-latn.js +65 -0
  306. package/msg/sr-latn.mjs +65 -0
  307. package/msg/sr.js +65 -0
  308. package/msg/sr.mjs +65 -0
  309. package/msg/sv.js +65 -0
  310. package/msg/sv.mjs +65 -0
  311. package/msg/sw.js +65 -0
  312. package/msg/sw.mjs +65 -0
  313. package/msg/ta.js +65 -0
  314. package/msg/ta.mjs +65 -0
  315. package/msg/tcy.js +65 -0
  316. package/msg/tcy.mjs +65 -0
  317. package/msg/tdd.js +65 -0
  318. package/msg/tdd.mjs +65 -0
  319. package/msg/te.js +65 -0
  320. package/msg/te.mjs +65 -0
  321. package/msg/th.js +65 -0
  322. package/msg/th.mjs +65 -0
  323. package/msg/ti.js +65 -0
  324. package/msg/ti.mjs +65 -0
  325. package/msg/tl.js +65 -0
  326. package/msg/tl.mjs +65 -0
  327. package/msg/tlh.js +65 -0
  328. package/msg/tlh.mjs +65 -0
  329. package/msg/tr.js +65 -0
  330. package/msg/tr.mjs +65 -0
  331. package/msg/ug-arab.js +65 -0
  332. package/msg/ug-arab.mjs +65 -0
  333. package/msg/uk.js +65 -0
  334. package/msg/uk.mjs +65 -0
  335. package/msg/ur.js +65 -0
  336. package/msg/ur.mjs +65 -0
  337. package/msg/uz.js +65 -0
  338. package/msg/uz.mjs +65 -0
  339. package/msg/vi.js +65 -0
  340. package/msg/vi.mjs +65 -0
  341. package/msg/xmf.js +65 -0
  342. package/msg/xmf.mjs +65 -0
  343. package/msg/yo.js +65 -0
  344. package/msg/yo.mjs +65 -0
  345. package/msg/zgh.js +65 -0
  346. package/msg/zgh.mjs +65 -0
  347. package/msg/zh-hans.js +65 -0
  348. package/msg/zh-hans.mjs +65 -0
  349. package/msg/zh-hant.js +65 -0
  350. package/msg/zh-hant.mjs +65 -0
  351. package/package.json +11 -11
  352. package/php_compressed.js +2 -2
  353. package/php_compressed.js.map +1 -1
  354. package/python_compressed.js +2 -2
  355. package/python_compressed.js.map +1 -1
  356. package/core/flyout_navigator.d.ts +0 -11
  357. package/core/keyboard_nav/block_comment_navigation_policy.d.ts +0 -56
  358. package/core/keyboard_nav/flyout_navigation_policy.d.ts +0 -65
  359. package/core/keyboard_nav/line_cursor.d.ts +0 -187
  360. package/core/keyboard_nav/marker.d.ts +0 -53
  361. package/core/marker_manager.d.ts +0 -72
  362. package/core/navigator.d.ts +0 -65
  363. package/media/sprites.png +0 -0
package/msg/en.js CHANGED
@@ -19,7 +19,29 @@ var Blockly = Blockly || { Msg: Object.create(null) };
19
19
 
20
20
  Blockly.Msg["ADD_COMMENT"] = "Add Comment";
21
21
  Blockly.Msg["ALT_KEY"] = "Alt";
22
+ Blockly.Msg["ANNOUNCE_MOVE_AFTER"] = "moving %1 after %3";
23
+ Blockly.Msg["ANNOUNCE_MOVE_AROUND"] = "moving %1 %2 around %3";
24
+ Blockly.Msg["ANNOUNCE_MOVE_BEFORE"] = "moving %1 before %3";
25
+ Blockly.Msg["ANNOUNCE_MOVE_CANCELED"] = "Canceled movement";
26
+ Blockly.Msg["ANNOUNCE_MOVE_INSIDE"] = "moving %1 inside %3 %4";
27
+ Blockly.Msg["ANNOUNCE_MOVE_TO"] = "moving %1 %2 to %3 %4";
28
+ Blockly.Msg["ANNOUNCE_MOVE_WORKSPACE"] = "moving %1 on workspace";
29
+ Blockly.Msg["ARIA_TYPE_FIELD_INPUT"] = "input field";
30
+ Blockly.Msg["BACKSPACE_KEY"] = "Backspace";
31
+ Blockly.Msg["BLOCK_LABEL_BEGIN_PREFIX"] = "Begin %1";
32
+ Blockly.Msg["BLOCK_LABEL_BEGIN_STACK"] = "Begin stack";
33
+ Blockly.Msg["BLOCK_LABEL_COLLAPSED"] = "collapsed";
34
+ Blockly.Msg["BLOCK_LABEL_CONTAINER"] = "container";
35
+ Blockly.Msg["BLOCK_LABEL_DISABLED"] = "disabled";
36
+ Blockly.Msg["BLOCK_LABEL_HAS_INPUT"] = "has input";
37
+ Blockly.Msg["BLOCK_LABEL_HAS_INPUTS"] = "has inputs";
38
+ Blockly.Msg["BLOCK_LABEL_REPLACEABLE"] = "replaceable";
39
+ Blockly.Msg["BLOCK_LABEL_STACK_BLOCKS"] = "%1 stack blocks";
40
+ Blockly.Msg["BLOCK_LABEL_STATEMENT"] = "statement";
41
+ Blockly.Msg["BLOCK_LABEL_TOOLBOX_CATEGORY"] = "%1 category";
42
+ Blockly.Msg["BLOCK_LABEL_VALUE"] = "value";
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'";
44
+ Blockly.Msg["CAPS_LOCK_KEY"] = "Caps Lock";
23
45
  Blockly.Msg["CHANGE_VALUE_TITLE"] = "Change value:";
24
46
  Blockly.Msg["CHROME_OS"] = "ChromeOS";
25
47
  Blockly.Msg["CLEAN_UP"] = "Clean up Blocks";
@@ -45,6 +67,7 @@ Blockly.Msg["COLOUR_RGB_RED"] = "red";
45
67
  Blockly.Msg["COLOUR_RGB_TITLE"] = "colour with";
46
68
  Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Create a colour with the specified amount of red, green, and blue. All values must be between 0 and 100.";
47
69
  Blockly.Msg["COMMAND_KEY"] = "⌘ Command";
70
+ Blockly.Msg["CONTEXT_MENU_KEY"] = "≣ Menu";
48
71
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks";
49
72
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "break out of loop";
50
73
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continue with next iteration of loop";
@@ -82,6 +105,7 @@ Blockly.Msg["COPY_SHORTCUT"] = "Copy";
82
105
  Blockly.Msg["CUT_SHORTCUT"] = "Cut";
83
106
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "Delete all %1 blocks?";
84
107
  Blockly.Msg["DELETE_BLOCK"] = "Delete Block";
108
+ Blockly.Msg["DELETE_KEY"] = "Delete";
85
109
  Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";
86
110
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";
87
111
  Blockly.Msg["DELETE_X_BLOCKS"] = "Delete %1 Blocks";
@@ -92,16 +116,26 @@ Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicate";
92
116
  Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";
93
117
  Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents";
94
118
  Blockly.Msg["ENABLE_BLOCK"] = "Enable Block";
119
+ Blockly.Msg["END_KEY"] = "End";
120
+ Blockly.Msg["ENTER_KEY"] = "Enter";
121
+ Blockly.Msg["ESCAPE"] = "Esc";
95
122
  Blockly.Msg["EXPAND_ALL"] = "Expand Blocks";
96
123
  Blockly.Msg["EXPAND_BLOCK"] = "Expand Block";
97
124
  Blockly.Msg["EXTERNAL_INPUTS"] = "External Inputs";
125
+ Blockly.Msg["FIELD_LABEL_EDIT_PREFIX"] = "Edit %1";
126
+ Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty";
98
127
  Blockly.Msg["HELP"] = "Help";
99
128
  Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls";
129
+ Blockly.Msg["HOME_KEY"] = "Home";
100
130
  Blockly.Msg["INLINE_INPUTS"] = "Inline Inputs";
131
+ Blockly.Msg["INPUT_LABEL_INDEX"] = "input %1";
132
+ Blockly.Msg["INSERT_KEY"] = "Insert";
133
+ Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use the right arrow key to navigate inside of blocks";
101
134
  Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position";
102
135
  Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "Copied. Press %1 to paste.";
103
136
  Blockly.Msg["KEYBOARD_NAV_CUT_HINT"] = "Cut. Press %1 to paste.";
104
137
  Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "Hold %1 and use arrow keys to move freely, then %2 to accept the position";
138
+ Blockly.Msg["KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT"] = "Use the arrow keys to navigate";
105
139
  Blockly.Msg["LINUX"] = "Linux";
106
140
  Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-empty-list";
107
141
  Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list";
@@ -311,7 +345,10 @@ Blockly.Msg["NEW_VARIABLE_TITLE"] = "New variable name:";
311
345
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";
312
346
  Blockly.Msg["OPTION_KEY"] = "⌥ Option";
313
347
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";
348
+ Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down";
349
+ Blockly.Msg["PAGE_UP_KEY"] = "Page Up";
314
350
  Blockly.Msg["PASTE_SHORTCUT"] = "Paste";
351
+ Blockly.Msg["PAUSE_KEY"] = "Pause";
315
352
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";
316
353
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:";
317
354
  Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
@@ -343,9 +380,32 @@ Blockly.Msg["REDO"] = "Redo";
343
380
  Blockly.Msg["REMOVE_COMMENT"] = "Remove Comment";
344
381
  Blockly.Msg["RENAME_VARIABLE"] = "Rename variable...";
345
382
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Rename all '%1' variables to:";
383
+ Blockly.Msg["SHIFT_KEY"] = "Shift";
384
+ Blockly.Msg["SHORTCUTS_ABORT_MOVE"] = "Abort move";
385
+ Blockly.Msg["SHORTCUTS_CLEANUP"] = "Clean up workspace";
346
386
  Blockly.Msg["SHORTCUTS_CODE_NAVIGATION"] = "Code navigation";
387
+ Blockly.Msg["SHORTCUTS_DELETE"] = "Delete";
388
+ Blockly.Msg["SHORTCUTS_DISCONNECT"] = "Disconnect block";
389
+ Blockly.Msg["SHORTCUTS_DUPLICATE"] = "Duplicate";
347
390
  Blockly.Msg["SHORTCUTS_EDITING"] = "Editing";
391
+ Blockly.Msg["SHORTCUTS_ESCAPE"] = "Exit";
392
+ Blockly.Msg["SHORTCUTS_FINISH_MOVE"] = "Finish move";
393
+ Blockly.Msg["SHORTCUTS_FOCUS_TOOLBOX"] = "Focus toolbox";
394
+ Blockly.Msg["SHORTCUTS_FOCUS_WORKSPACE"] = "Focus workspace";
348
395
  Blockly.Msg["SHORTCUTS_GENERAL"] = "General";
396
+ Blockly.Msg["SHORTCUTS_INFORMATION"] = "Announce information";
397
+ Blockly.Msg["SHORTCUTS_MOVE_DOWN"] = "Move down";
398
+ Blockly.Msg["SHORTCUTS_MOVE_LEFT"] = "Move left";
399
+ Blockly.Msg["SHORTCUTS_MOVE_RIGHT"] = "Move right";
400
+ Blockly.Msg["SHORTCUTS_MOVE_UP"] = "Move up";
401
+ Blockly.Msg["SHORTCUTS_NEXT_STACK"] = "Next stack";
402
+ Blockly.Msg["SHORTCUTS_PERFORM_ACTION"] = "Edit or confirm";
403
+ Blockly.Msg["SHORTCUTS_PREVIOUS_STACK"] = "Previous stack";
404
+ Blockly.Msg["SHORTCUTS_SHOW_CONTEXT_MENU"] = "Show menu";
405
+ Blockly.Msg["SHORTCUTS_START_MOVE"] = "Start move";
406
+ Blockly.Msg["SHORTCUTS_START_MOVE_STACK"] = "Start move stack";
407
+ Blockly.Msg["SPACE_KEY"] = "Space";
408
+ Blockly.Msg["TAB_KEY"] = "Tab";
349
409
  Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification";
350
410
  Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";
351
411
  Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";
@@ -432,6 +492,11 @@ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1'
432
492
  Blockly.Msg["WINDOWS"] = "Windows";
433
493
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace";
434
494
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";
495
+ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_MANY"] = "%1 stacks of blocks%2 in workspace.";
496
+ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ONE"] = "One stack of blocks%2 in workspace.";
497
+ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ZERO"] = "No blocks%2 in workspace.";
498
+ Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_MANY"] = " and %1 comments";
499
+ Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_ONE"] = " and one comment";
435
500
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
436
501
  Blockly.Msg["CONTROLS_FOR_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
437
502
  Blockly.Msg["CONTROLS_IF_ELSEIF_TITLE_ELSEIF"] = Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"];
package/msg/en.mjs CHANGED
@@ -432,6 +432,21 @@ export const {
432
432
  COMMAND_KEY,
433
433
  OPTION_KEY,
434
434
  ALT_KEY,
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,
435
450
  CUT_SHORTCUT,
436
451
  COPY_SHORTCUT,
437
452
  PASTE_SHORTCUT,
@@ -439,8 +454,58 @@ export const {
439
454
  SHORTCUTS_GENERAL,
440
455
  SHORTCUTS_EDITING,
441
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,
442
477
  KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT,
443
478
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
444
479
  KEYBOARD_NAV_COPIED_HINT,
445
480
  KEYBOARD_NAV_CUT_HINT,
481
+ WORKSPACE_CONTENTS_BLOCKS_MANY,
482
+ WORKSPACE_CONTENTS_BLOCKS_ONE,
483
+ WORKSPACE_CONTENTS_BLOCKS_ZERO,
484
+ WORKSPACE_CONTENTS_COMMENTS_MANY,
485
+ WORKSPACE_CONTENTS_COMMENTS_ONE,
486
+ KEYBOARD_NAV_BLOCK_NAVIGATION_HINT,
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,
446
511
  } = en;
package/msg/eo.js CHANGED
@@ -19,7 +19,29 @@ var Blockly = Blockly || { Msg: Object.create(null) };
19
19
 
20
20
  Blockly.Msg["ADD_COMMENT"] = "Aldoni komenton";
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"] = "Ne povas forigi la variablon '%1' ĉar ĝi estas parto de la difino de la funkcio '%2'";
44
+ Blockly.Msg["CAPS_LOCK_KEY"] = "Caps Lock"; // untranslated
23
45
  Blockly.Msg["CHANGE_VALUE_TITLE"] = "Ŝangi valoron:";
24
46
  Blockly.Msg["CHROME_OS"] = "ChromeOS"; // untranslated
25
47
  Blockly.Msg["CLEAN_UP"] = "Purigi blokojn";
@@ -45,6 +67,7 @@ Blockly.Msg["COLOUR_RGB_RED"] = "ruĝa";
45
67
  Blockly.Msg["COLOUR_RGB_TITLE"] = "kolorigi per";
46
68
  Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Kreas koloron kun specifita kvanto de ruĝo, verdo, kaj bluo. Ĉiuj valoroj devas esti inter 0 kaj 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"] = "eliri el la ciklo";
50
73
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "daŭrigi je la venonta ripeto de la ciklo";
@@ -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"] = "Ĉu forigi ĉiujn %1 blokojn?";
84
107
  Blockly.Msg["DELETE_BLOCK"] = "Forigi blokon";
108
+ Blockly.Msg["DELETE_KEY"] = "Delete"; // untranslated
85
109
  Blockly.Msg["DELETE_VARIABLE"] = "Forigi la variablon '%1'";
86
110
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Ĉu forigi %1 uzojn de la variablo '%2'?";
87
111
  Blockly.Msg["DELETE_X_BLOCKS"] = "Forigi %1 blokojn";
@@ -92,16 +116,26 @@ Blockly.Msg["DUPLICATE_BLOCK"] = "Duobligi";
92
116
  Blockly.Msg["DUPLICATE_COMMENT"] = "Duobligi Komenton";
93
117
  Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents"; // untranslated
94
118
  Blockly.Msg["ENABLE_BLOCK"] = "Ŝalti blokon";
119
+ Blockly.Msg["END_KEY"] = "End"; // untranslated
120
+ Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
121
+ Blockly.Msg["ESCAPE"] = "Esc"; // untranslated
95
122
  Blockly.Msg["EXPAND_ALL"] = "Malfaldi blokojn";
96
123
  Blockly.Msg["EXPAND_BLOCK"] = "Malfaldi blokon";
97
124
  Blockly.Msg["EXTERNAL_INPUTS"] = "Eksteraj eniroj";
125
+ Blockly.Msg["FIELD_LABEL_EDIT_PREFIX"] = "Edit %1"; // untranslated
126
+ Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty"; // untranslated
98
127
  Blockly.Msg["HELP"] = "Helpo";
99
128
  Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls"; // untranslated
129
+ Blockly.Msg["HOME_KEY"] = "Home"; // untranslated
100
130
  Blockly.Msg["INLINE_INPUTS"] = "Entekstaj eniroj";
131
+ Blockly.Msg["INPUT_LABEL_INDEX"] = "input %1"; // untranslated
132
+ Blockly.Msg["INSERT_KEY"] = "Insert"; // untranslated
133
+ Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use the right arrow key to navigate inside of blocks"; // untranslated
101
134
  Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position"; // untranslated
102
135
  Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "Copied. Press %1 to paste."; // untranslated
103
136
  Blockly.Msg["KEYBOARD_NAV_CUT_HINT"] = "Cut. Press %1 to paste."; // untranslated
104
137
  Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "Hold %1 and use arrow keys to move freely, then %2 to accept the position"; // untranslated
138
+ Blockly.Msg["KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT"] = "Use the arrow keys to navigate"; // untranslated
105
139
  Blockly.Msg["LINUX"] = "Linux"; // untranslated
106
140
  Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-empty-list"; // untranslated
107
141
  Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "krei malplenan liston";
@@ -311,7 +345,10 @@ Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nova nomo de variablo:";
311
345
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Tipo de nova variablo:";
312
346
  Blockly.Msg["OPTION_KEY"] = "⌥ Option"; // untranslated
313
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
314
350
  Blockly.Msg["PASTE_SHORTCUT"] = "Paste"; // untranslated
351
+ Blockly.Msg["PAUSE_KEY"] = "Pause"; // untranslated
315
352
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "permesi ordonojn";
316
353
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "kun:";
317
354
  Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://eo.wikipedia.org/wiki/Subprogramo";
@@ -343,9 +380,32 @@ Blockly.Msg["REDO"] = "Refari";
343
380
  Blockly.Msg["REMOVE_COMMENT"] = "Forigi komenton";
344
381
  Blockly.Msg["RENAME_VARIABLE"] = "Renomi variablon...";
345
382
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Renomi ĉiujn '%1' variablojn kiel:";
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
346
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
347
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
348
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
349
409
  Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification"; // untranslated
350
410
  Blockly.Msg["TEXT_APPEND_TITLE"] = "al %1 postaldoni tekston %2";
351
411
  Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Postapendi iom da teksto al variablo '%1'.";
@@ -432,6 +492,11 @@ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1'
432
492
  Blockly.Msg["WINDOWS"] = "Windows"; // untranslated
433
493
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Laborspaco de Blockly";
434
494
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Diru ion…";
495
+ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_MANY"] = "%1 stacks of blocks%2 in workspace."; // untranslated
496
+ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ONE"] = "One stack of blocks%2 in workspace."; // untranslated
497
+ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ZERO"] = "No blocks%2 in workspace."; // untranslated
498
+ Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_MANY"] = " and %1 comments"; // untranslated
499
+ Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_ONE"] = " and one comment"; // untranslated
435
500
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
436
501
  Blockly.Msg["CONTROLS_FOR_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
437
502
  Blockly.Msg["CONTROLS_IF_ELSEIF_TITLE_ELSEIF"] = Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"];
package/msg/eo.mjs CHANGED
@@ -432,6 +432,21 @@ export const {
432
432
  COMMAND_KEY,
433
433
  OPTION_KEY,
434
434
  ALT_KEY,
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,
435
450
  CUT_SHORTCUT,
436
451
  COPY_SHORTCUT,
437
452
  PASTE_SHORTCUT,
@@ -439,8 +454,58 @@ export const {
439
454
  SHORTCUTS_GENERAL,
440
455
  SHORTCUTS_EDITING,
441
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,
442
477
  KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT,
443
478
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
444
479
  KEYBOARD_NAV_COPIED_HINT,
445
480
  KEYBOARD_NAV_CUT_HINT,
481
+ WORKSPACE_CONTENTS_BLOCKS_MANY,
482
+ WORKSPACE_CONTENTS_BLOCKS_ONE,
483
+ WORKSPACE_CONTENTS_BLOCKS_ZERO,
484
+ WORKSPACE_CONTENTS_COMMENTS_MANY,
485
+ WORKSPACE_CONTENTS_COMMENTS_ONE,
486
+ KEYBOARD_NAV_BLOCK_NAVIGATION_HINT,
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,
446
511
  } = eo;
package/msg/es.js CHANGED
@@ -19,7 +19,29 @@ var Blockly = Blockly || { Msg: Object.create(null) };
19
19
 
20
20
  Blockly.Msg["ADD_COMMENT"] = "Añadir comentario";
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"] = "No se puede eliminar la variable '%1' porque es parte de la definición de la función '%2'";
44
+ Blockly.Msg["CAPS_LOCK_KEY"] = "Caps Lock"; // untranslated
23
45
  Blockly.Msg["CHANGE_VALUE_TITLE"] = "Cambiar el valor:";
24
46
  Blockly.Msg["CHROME_OS"] = "ChromeOS"; // untranslated
25
47
  Blockly.Msg["CLEAN_UP"] = "Limpiar los bloques";
@@ -45,6 +67,7 @@ Blockly.Msg["COLOUR_RGB_RED"] = "rojo";
45
67
  Blockly.Msg["COLOUR_RGB_TITLE"] = "colorear con";
46
68
  Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Crea un color con cantidades específicas de rojo, verde y azul. Todos los valores deben encontrarse entre 0 y 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"] = "romper el bucle";
50
73
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continuar con la siguiente iteración del bucle";
@@ -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"] = "¿Eliminar todos los %1 bloques?";
84
107
  Blockly.Msg["DELETE_BLOCK"] = "Eliminar bloque";
108
+ Blockly.Msg["DELETE_KEY"] = "Delete"; // untranslated
85
109
  Blockly.Msg["DELETE_VARIABLE"] = "Borrar la variable '%1'";
86
110
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "¿Borrar %1 usos de la variable '%2'?";
87
111
  Blockly.Msg["DELETE_X_BLOCKS"] = "Eliminar %1 bloques";
@@ -92,16 +116,26 @@ Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicar";
92
116
  Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicar comentario";
93
117
  Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents"; // untranslated
94
118
  Blockly.Msg["ENABLE_BLOCK"] = "Activar bloque";
119
+ Blockly.Msg["END_KEY"] = "End"; // untranslated
120
+ Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
121
+ Blockly.Msg["ESCAPE"] = "Esc"; // untranslated
95
122
  Blockly.Msg["EXPAND_ALL"] = "Expandir bloques";
96
123
  Blockly.Msg["EXPAND_BLOCK"] = "Expandir bloque";
97
124
  Blockly.Msg["EXTERNAL_INPUTS"] = "Entradas externas";
125
+ Blockly.Msg["FIELD_LABEL_EDIT_PREFIX"] = "Edit %1"; // untranslated
126
+ Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty"; // untranslated
98
127
  Blockly.Msg["HELP"] = "Ayuda";
99
128
  Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls"; // untranslated
129
+ Blockly.Msg["HOME_KEY"] = "Home"; // untranslated
100
130
  Blockly.Msg["INLINE_INPUTS"] = "Entradas en línea";
131
+ Blockly.Msg["INPUT_LABEL_INDEX"] = "input %1"; // untranslated
132
+ Blockly.Msg["INSERT_KEY"] = "Insert"; // untranslated
133
+ Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use the right arrow key to navigate inside of blocks"; // untranslated
101
134
  Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position"; // untranslated
102
135
  Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "Copied. Press %1 to paste."; // untranslated
103
136
  Blockly.Msg["KEYBOARD_NAV_CUT_HINT"] = "Cut. Press %1 to paste."; // untranslated
104
137
  Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "Hold %1 and use arrow keys to move freely, then %2 to accept the position"; // untranslated
138
+ Blockly.Msg["KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT"] = "Use the arrow keys to navigate"; // untranslated
105
139
  Blockly.Msg["LINUX"] = "Linux"; // untranslated
106
140
  Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-empty-list"; // untranslated
107
141
  Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "crear lista vacía";
@@ -311,7 +345,10 @@ Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nombre de variable nueva:";
311
345
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Nuevo tipo de variable:";
312
346
  Blockly.Msg["OPTION_KEY"] = "⌥ Option"; // untranslated
313
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
314
350
  Blockly.Msg["PASTE_SHORTCUT"] = "Paste"; // untranslated
351
+ Blockly.Msg["PAUSE_KEY"] = "Pause"; // untranslated
315
352
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "permitir declaraciones";
316
353
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "con:";
317
354
  Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://es.wikipedia.org/wiki/Subrutina";
@@ -343,9 +380,32 @@ Blockly.Msg["REDO"] = "Rehacer";
343
380
  Blockly.Msg["REMOVE_COMMENT"] = "Eliminar comentario";
344
381
  Blockly.Msg["RENAME_VARIABLE"] = "Renombrar variable...";
345
382
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Renombrar todas las variables '%1' a:";
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
346
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
347
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
348
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
349
409
  Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification"; // untranslated
350
410
  Blockly.Msg["TEXT_APPEND_TITLE"] = "a %1 añade el texto %2";
351
411
  Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Añadir texto a la variable '%1'.";
@@ -432,6 +492,11 @@ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "Ya existe una variable
432
492
  Blockly.Msg["WINDOWS"] = "Windows"; // untranslated
433
493
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Espacio de trabajo de Blockly";
434
494
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Di algo…";
495
+ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_MANY"] = "%1 stacks of blocks%2 in workspace."; // untranslated
496
+ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ONE"] = "One stack of blocks%2 in workspace."; // untranslated
497
+ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ZERO"] = "No blocks%2 in workspace."; // untranslated
498
+ Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_MANY"] = " and %1 comments"; // untranslated
499
+ Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_ONE"] = " and one comment"; // untranslated
435
500
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
436
501
  Blockly.Msg["CONTROLS_FOR_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
437
502
  Blockly.Msg["CONTROLS_IF_ELSEIF_TITLE_ELSEIF"] = Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"];
package/msg/es.mjs CHANGED
@@ -432,6 +432,21 @@ export const {
432
432
  COMMAND_KEY,
433
433
  OPTION_KEY,
434
434
  ALT_KEY,
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,
435
450
  CUT_SHORTCUT,
436
451
  COPY_SHORTCUT,
437
452
  PASTE_SHORTCUT,
@@ -439,8 +454,58 @@ export const {
439
454
  SHORTCUTS_GENERAL,
440
455
  SHORTCUTS_EDITING,
441
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,
442
477
  KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT,
443
478
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
444
479
  KEYBOARD_NAV_COPIED_HINT,
445
480
  KEYBOARD_NAV_CUT_HINT,
481
+ WORKSPACE_CONTENTS_BLOCKS_MANY,
482
+ WORKSPACE_CONTENTS_BLOCKS_ONE,
483
+ WORKSPACE_CONTENTS_BLOCKS_ZERO,
484
+ WORKSPACE_CONTENTS_COMMENTS_MANY,
485
+ WORKSPACE_CONTENTS_COMMENTS_ONE,
486
+ KEYBOARD_NAV_BLOCK_NAVIGATION_HINT,
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,
446
511
  } = es;