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/am.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"] = "Change value:"; // untranslated
24
46
  Blockly.Msg["CHROME_OS"] = "ChromeOS"; // untranslated
25
47
  Blockly.Msg["CLEAN_UP"] = "ብሎኮቹን ይሰድሩ";
@@ -45,6 +67,7 @@ Blockly.Msg["COLOUR_RGB_RED"] = "red"; // untranslated
45
67
  Blockly.Msg["COLOUR_RGB_TITLE"] = "colour with"; // untranslated
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."; // untranslated
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"] = "Delete the '%1' variable"; // untranslated
86
110
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?"; // untranslated
87
111
  Blockly.Msg["DELETE_X_BLOCKS"] = "%1 ብሎኮች ይሰርዙ";
@@ -92,16 +116,26 @@ 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
120
+ Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
121
+ Blockly.Msg["ESCAPE"] = "Esc"; // untranslated
95
122
  Blockly.Msg["EXPAND_ALL"] = "የብሎኮቹን መረጃዎች ዳግም ያስረዝሙ";
96
123
  Blockly.Msg["EXPAND_BLOCK"] = "የብሎኩን መረጃ ዳግም ያስረዝሙ";
97
124
  Blockly.Msg["EXTERNAL_INPUTS"] = "የውጪ ግብዓቶች";
125
+ Blockly.Msg["FIELD_LABEL_EDIT_PREFIX"] = "Edit %1"; // untranslated
126
+ Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty"; // untranslated
98
127
  Blockly.Msg["HELP"] = "እገዛ";
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"] = "የውስጥ ግብዓቶች";
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"] = "create empty list"; // untranslated
@@ -311,7 +345,10 @@ Blockly.Msg["NEW_VARIABLE_TITLE"] = "New variable name:"; // untranslated
311
345
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:"; // untranslated
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"] = "allow statements"; // untranslated
316
353
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:"; // untranslated
317
354
  Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine"; // untranslated
@@ -343,9 +380,32 @@ Blockly.Msg["REDO"] = "ከእንደገና";
343
380
  Blockly.Msg["REMOVE_COMMENT"] = "ማስታወሻ ያጥፉ";
344
381
  Blockly.Msg["RENAME_VARIABLE"] = "Rename variable..."; // untranslated
345
382
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Rename all '%1' variables to:"; // untranslated
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"] = "to %1 append text %2"; // untranslated
351
411
  Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'."; // untranslated
@@ -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"] = "Blockly Workspace"; // untranslated
434
494
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
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/am.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
  } = am;
package/msg/ar.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 1 استخدامات المتغير '%2'؟";
87
111
  Blockly.Msg["DELETE_X_BLOCKS"] = "احذف %1 كتلة";
@@ -92,16 +116,26 @@ 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
120
+ Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
121
+ Blockly.Msg["ESCAPE"] = "Esc"; // untranslated
95
122
  Blockly.Msg["EXPAND_ALL"] = "وسٌّع الكتل";
96
123
  Blockly.Msg["EXPAND_BLOCK"] = "وسٌّع الكتلة";
97
124
  Blockly.Msg["EXTERNAL_INPUTS"] = "مدخلات خارجية";
125
+ Blockly.Msg["FIELD_LABEL_EDIT_PREFIX"] = "Edit %1"; // untranslated
126
+ Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty"; // untranslated
98
127
  Blockly.Msg["HELP"] = "مساعدة";
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"] = "مدخلات مضمنة";
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"] = "إنشئ قائمة فارغة";
@@ -311,7 +345,10 @@ Blockly.Msg["NEW_VARIABLE_TITLE"] = "اسم المتغير الجديد:";
311
345
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "نوع متغير جديد:";
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"] = "اسمح بالبيانات";
316
353
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "مع:";
317
354
  Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://ar.wikipedia.org/wiki/دالة_(برمجة)";
@@ -343,9 +380,32 @@ Blockly.Msg["REDO"] = "إعادة";
343
380
  Blockly.Msg["REMOVE_COMMENT"] = "أزل التعليق";
344
381
  Blockly.Msg["RENAME_VARIABLE"] = "إعادة تسمية المتغير...";
345
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
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"] = "إلى %1 إلصق نص %2";
351
411
  Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "إلصق جزءا من النص إلى متغير '%1'.";
@@ -432,6 +492,11 @@ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "المتغير الم
432
492
  Blockly.Msg["WINDOWS"] = "Windows"; // untranslated
433
493
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "مساحة عمل بلوكلي";
434
494
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "قل شيئا...";
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/ar.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
  } = ar;
package/msg/ast.js CHANGED
@@ -19,7 +19,29 @@ var Blockly = Blockly || { Msg: Object.create(null) };
19
19
 
20
20
  Blockly.Msg["ADD_COMMENT"] = "Add Comment"; // untranslated
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"] = "Change value:"; // untranslated
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"] = "red"; // untranslated
45
67
  Blockly.Msg["COLOUR_RGB_TITLE"] = "colour with"; // untranslated
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."; // untranslated
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"] = "Delete all %1 blocks?"; // untranslated
84
107
  Blockly.Msg["DELETE_BLOCK"] = "Delete Block"; // untranslated
108
+ Blockly.Msg["DELETE_KEY"] = "Delete"; // untranslated
85
109
  Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable"; // untranslated
86
110
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?"; // untranslated
87
111
  Blockly.Msg["DELETE_X_BLOCKS"] = "Delete %1 Blocks"; // untranslated
@@ -92,16 +116,26 @@ 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
120
+ Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
121
+ Blockly.Msg["ESCAPE"] = "Esc"; // untranslated
95
122
  Blockly.Msg["EXPAND_ALL"] = "Expand Blocks"; // untranslated
96
123
  Blockly.Msg["EXPAND_BLOCK"] = "Expand Block"; // untranslated
97
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
98
127
  Blockly.Msg["HELP"] = "Help"; // untranslated
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"] = "Inline Inputs"; // untranslated
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"] = "create empty list"; // untranslated
@@ -311,7 +345,10 @@ Blockly.Msg["NEW_VARIABLE_TITLE"] = "New variable name:"; // untranslated
311
345
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:"; // untranslated
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"] = "allow statements"; // untranslated
316
353
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:"; // untranslated
317
354
  Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine"; // untranslated
@@ -343,9 +380,32 @@ Blockly.Msg["REDO"] = "Redo"; // untranslated
343
380
  Blockly.Msg["REMOVE_COMMENT"] = "Remove Comment"; // untranslated
344
381
  Blockly.Msg["RENAME_VARIABLE"] = "Rename variable..."; // untranslated
345
382
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Rename all '%1' variables to:"; // untranslated
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"] = "to %1 append text %2"; // untranslated
351
411
  Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'."; // untranslated
@@ -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"] = "Blockly Workspace"; // untranslated
434
494
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
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/ast.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
  } = ast;