@cp949/phyx-blockly 12.5.1-p1 → 13.4.0-patch.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 (462) hide show
  1. package/README.md +7 -2
  2. package/blockly.min.js +2280 -2126
  3. package/blockly.mjs +13 -5
  4. package/blockly_compressed.js +1767 -1794
  5. package/blockly_compressed.js.map +1 -1
  6. package/blocks_compressed.js +151 -177
  7. package/blocks_compressed.js.map +1 -1
  8. package/core/block.d.ts +41 -19
  9. package/core/block_aria_composer.d.ts +158 -0
  10. package/core/block_svg.d.ts +88 -35
  11. package/core/blockly.d.ts +22 -22
  12. package/core/bubbles/bubble.d.ts +59 -5
  13. package/core/bubbles/mini_workspace_bubble.d.ts +11 -3
  14. package/core/bubbles/text_bubble.d.ts +7 -4
  15. package/core/bubbles/textinput_bubble.d.ts +11 -1
  16. package/core/clipboard/block_paster.d.ts +5 -5
  17. package/core/clipboard/registry.d.ts +1 -1
  18. package/core/clipboard/workspace_comment_paster.d.ts +4 -4
  19. package/core/clipboard.d.ts +1 -1
  20. package/core/comments/collapse_comment_bar_button.d.ts +7 -4
  21. package/core/comments/comment_bar_button.d.ts +15 -1
  22. package/core/comments/comment_editor.d.ts +21 -6
  23. package/core/comments/comment_view.d.ts +5 -5
  24. package/core/comments/delete_comment_bar_button.d.ts +7 -4
  25. package/core/comments/rendered_workspace_comment.d.ts +17 -12
  26. package/core/comments/workspace_comment.d.ts +2 -2
  27. package/core/common.d.ts +10 -3
  28. package/core/component_manager.d.ts +2 -0
  29. package/core/config.d.ts +37 -11
  30. package/core/connection_db.d.ts +40 -0
  31. package/core/contextmenu_registry.d.ts +12 -2
  32. package/core/css.d.ts +2 -1
  33. package/core/dragging/block_drag_strategy.d.ts +196 -19
  34. package/core/dragging/bubble_drag_strategy.d.ts +5 -4
  35. package/core/dragging/comment_drag_strategy.d.ts +4 -4
  36. package/core/dragging/dragger.d.ts +14 -14
  37. package/core/events/events_block_base.d.ts +2 -1
  38. package/core/events/events_block_change.d.ts +3 -2
  39. package/core/events/events_block_create.d.ts +3 -5
  40. package/core/events/events_block_delete.d.ts +3 -5
  41. package/core/events/events_block_drag.d.ts +2 -2
  42. package/core/events/events_block_field_intermediate_change.d.ts +3 -2
  43. package/core/events/events_block_move.d.ts +2 -1
  44. package/core/events/events_click.d.ts +2 -2
  45. package/core/events/events_comment_base.d.ts +2 -1
  46. package/core/events/events_comment_change.d.ts +2 -1
  47. package/core/events/events_comment_collapse.d.ts +3 -2
  48. package/core/events/events_comment_create.d.ts +2 -4
  49. package/core/events/events_comment_delete.d.ts +2 -4
  50. package/core/events/events_comment_drag.d.ts +2 -2
  51. package/core/events/events_comment_move.d.ts +2 -1
  52. package/core/events/events_comment_resize.d.ts +2 -1
  53. package/core/events/events_selected.d.ts +1 -1
  54. package/core/events/events_theme_change.d.ts +1 -1
  55. package/core/events/events_toolbox_item_select.d.ts +1 -1
  56. package/core/events/events_trashcan_open.d.ts +1 -1
  57. package/core/events/events_var_base.d.ts +2 -1
  58. package/core/events/events_var_create.d.ts +2 -1
  59. package/core/events/events_var_delete.d.ts +2 -1
  60. package/core/events/events_var_rename.d.ts +2 -1
  61. package/core/events/events_var_type_change.d.ts +2 -1
  62. package/core/events/events_viewport.d.ts +1 -1
  63. package/core/field.d.ts +120 -13
  64. package/core/field_checkbox.d.ts +31 -4
  65. package/core/field_dropdown.d.ts +68 -4
  66. package/core/field_image.d.ts +54 -2
  67. package/core/field_input.d.ts +38 -13
  68. package/core/field_label.d.ts +31 -2
  69. package/core/field_label_serializable.d.ts +3 -2
  70. package/core/field_number.d.ts +14 -3
  71. package/core/field_textinput.d.ts +15 -5
  72. package/core/field_variable.d.ts +16 -6
  73. package/core/flyout_base.d.ts +12 -126
  74. package/core/flyout_button.d.ts +11 -0
  75. package/core/flyout_horizontal.d.ts +0 -11
  76. package/core/flyout_metrics_manager.d.ts +2 -1
  77. package/core/flyout_vertical.d.ts +0 -11
  78. package/core/focus_manager.d.ts +52 -2
  79. package/core/generator.d.ts +2 -2
  80. package/core/gesture.d.ts +2 -21
  81. package/core/grid.d.ts +2 -2
  82. package/core/hints.d.ts +78 -0
  83. package/core/icons/comment_icon.d.ts +8 -0
  84. package/core/icons/icon.d.ts +20 -0
  85. package/core/icons/icon_types.d.ts +4 -4
  86. package/core/icons/mutator_icon.d.ts +8 -0
  87. package/core/icons/registry.d.ts +1 -1
  88. package/core/icons/warning_icon.d.ts +8 -0
  89. package/core/inputs/input.d.ts +58 -2
  90. package/core/insertion_marker.d.ts +54 -0
  91. package/core/insertion_marker_previewer.d.ts +20 -4
  92. package/core/interfaces/i_bounded_element.d.ts +7 -0
  93. package/core/interfaces/i_bubble.d.ts +3 -2
  94. package/core/interfaces/i_collapsible_toolbox_item.d.ts +5 -1
  95. package/core/interfaces/i_comment_icon.d.ts +6 -6
  96. package/core/interfaces/i_drag_target.d.ts +2 -2
  97. package/core/interfaces/i_draggable.d.ts +22 -17
  98. package/core/interfaces/i_dragger.d.ts +19 -10
  99. package/core/interfaces/i_flyout.d.ts +1 -31
  100. package/core/interfaces/i_flyout_inflater.d.ts +9 -0
  101. package/core/interfaces/i_focusable_node.d.ts +8 -0
  102. package/core/interfaces/i_focusable_tree.d.ts +8 -0
  103. package/core/interfaces/i_icon.d.ts +1 -1
  104. package/core/interfaces/i_json_block_definition.d.ts +113 -0
  105. package/core/interfaces/i_keyboard_accessible.d.ts +1 -1
  106. package/core/interfaces/i_navigation_policy.d.ts +12 -0
  107. package/core/interfaces/i_parameter_model.d.ts +2 -2
  108. package/core/interfaces/i_paster.d.ts +3 -3
  109. package/core/interfaces/i_procedure_block.d.ts +1 -1
  110. package/core/interfaces/i_procedure_map.d.ts +1 -1
  111. package/core/interfaces/i_procedure_model.d.ts +2 -2
  112. package/core/interfaces/i_selectable.d.ts +3 -3
  113. package/core/interfaces/i_selectable_toolbox_item.d.ts +3 -3
  114. package/core/interfaces/i_toolbox.d.ts +4 -0
  115. package/core/interfaces/i_toolbox_item.d.ts +6 -0
  116. package/core/interfaces/i_variable_backed_parameter_model.d.ts +1 -1
  117. package/core/keyboard_nav/keyboard_mover.d.ts +151 -0
  118. package/core/keyboard_nav/move_indicator.d.ts +35 -0
  119. package/core/keyboard_nav/{block_navigation_policy.d.ts → navigation_policies/block_navigation_policy.d.ts} +17 -25
  120. package/core/keyboard_nav/navigation_policies/bubble_navigation_policy.d.ts +63 -0
  121. package/core/keyboard_nav/{comment_bar_button_navigation_policy.d.ts → navigation_policies/comment_bar_button_navigation_policy.d.ts} +10 -3
  122. package/core/keyboard_nav/{comment_editor_navigation_policy.d.ts → navigation_policies/comment_editor_navigation_policy.d.ts} +10 -3
  123. package/core/keyboard_nav/{connection_navigation_policy.d.ts → navigation_policies/connection_navigation_policy.d.ts} +11 -16
  124. package/core/keyboard_nav/{field_navigation_policy.d.ts → navigation_policies/field_navigation_policy.d.ts} +10 -3
  125. package/core/keyboard_nav/{flyout_button_navigation_policy.d.ts → navigation_policies/flyout_button_navigation_policy.d.ts} +10 -3
  126. package/core/keyboard_nav/{flyout_separator_navigation_policy.d.ts → navigation_policies/flyout_separator_navigation_policy.d.ts} +9 -3
  127. package/core/keyboard_nav/{icon_navigation_policy.d.ts → navigation_policies/icon_navigation_policy.d.ts} +12 -5
  128. package/core/keyboard_nav/navigation_policies/toolbox_item_navigation_policy.d.ts +64 -0
  129. package/core/keyboard_nav/{workspace_comment_navigation_policy.d.ts → navigation_policies/workspace_comment_navigation_policy.d.ts} +14 -9
  130. package/core/keyboard_nav/{workspace_navigation_policy.d.ts → navigation_policies/workspace_navigation_policy.d.ts} +10 -3
  131. package/core/keyboard_nav/navigators/flyout_navigator.d.ts +63 -0
  132. package/core/keyboard_nav/navigators/navigator.d.ts +237 -0
  133. package/core/keyboard_nav/navigators/toolbox_navigator.d.ts +70 -0
  134. package/core/keyboard_navigation_controller.d.ts +12 -0
  135. package/core/layer_manager.d.ts +3 -3
  136. package/core/menu.d.ts +3 -0
  137. package/core/menuitem.d.ts +8 -1
  138. package/core/observable_procedure_map.d.ts +1 -1
  139. package/core/options.d.ts +4 -4
  140. package/core/procedures.d.ts +5 -8
  141. package/core/registry.d.ts +0 -2
  142. package/core/render_management.d.ts +1 -1
  143. package/core/rendered_connection.d.ts +33 -6
  144. package/core/renderers/common/constants.d.ts +4 -7
  145. package/core/renderers/common/i_path_object.d.ts +8 -0
  146. package/core/renderers/common/info.d.ts +1 -1
  147. package/core/renderers/common/path_object.d.ts +7 -16
  148. package/core/renderers/common/renderer.d.ts +3 -3
  149. package/core/renderers/zelos/constants.d.ts +1 -14
  150. package/core/renderers/zelos/drawer.d.ts +1 -1
  151. package/core/renderers/zelos/info.d.ts +10 -1
  152. package/core/renderers/zelos/measurables/bottom_row.d.ts +1 -1
  153. package/core/renderers/zelos/measurables/top_row.d.ts +1 -1
  154. package/core/renderers/zelos/path_object.d.ts +0 -3
  155. package/core/renderers/zelos/renderer.d.ts +8 -0
  156. package/core/serialization/procedures.d.ts +2 -2
  157. package/core/serialization/workspace_comments.d.ts +2 -2
  158. package/core/shortcut_items.d.ts +167 -2
  159. package/core/shortcut_registry.d.ts +9 -3
  160. package/core/theme.d.ts +0 -2
  161. package/core/toast.d.ts +2 -11
  162. package/core/toolbox/category.d.ts +11 -0
  163. package/core/toolbox/collapsible_category.d.ts +2 -0
  164. package/core/toolbox/separator.d.ts +4 -0
  165. package/core/toolbox/toolbox.d.ts +17 -33
  166. package/core/toolbox/toolbox_item.d.ts +4 -0
  167. package/core/tooltip.d.ts +13 -2
  168. package/core/trashcan.d.ts +16 -38
  169. package/core/utils/aria.d.ts +259 -28
  170. package/core/utils/dom.d.ts +1 -1
  171. package/core/utils/focusable_tree_traverser.d.ts +2 -2
  172. package/core/utils/shortcut_formatting.d.ts +22 -0
  173. package/core/utils/style.d.ts +14 -0
  174. package/core/utils/toolbox.d.ts +0 -8
  175. package/core/utils/useragent.d.ts +1 -0
  176. package/core/variable_map.d.ts +1 -41
  177. package/core/variable_model.d.ts +1 -7
  178. package/core/variables.d.ts +7 -8
  179. package/core/variables_dynamic.d.ts +4 -6
  180. package/core/workspace.d.ts +7 -85
  181. package/core/workspace_audio.d.ts +36 -7
  182. package/core/workspace_focus_target.d.ts +51 -0
  183. package/core/workspace_svg.d.ts +79 -60
  184. package/core/xml.d.ts +1 -1
  185. package/core/zoom_controls.d.ts +6 -59
  186. package/dart_compressed.js +123 -164
  187. package/dart_compressed.js.map +1 -1
  188. package/index.mjs +13 -5
  189. package/javascript_compressed.js +96 -147
  190. package/javascript_compressed.js.map +1 -1
  191. package/lua_compressed.js +142 -178
  192. package/lua_compressed.js.map +1 -1
  193. package/media/drop.mp3 +0 -0
  194. package/msg/ab.js +265 -7
  195. package/msg/ab.mjs +259 -1
  196. package/msg/ace.js +266 -8
  197. package/msg/ace.mjs +259 -1
  198. package/msg/af.js +265 -7
  199. package/msg/af.mjs +259 -1
  200. package/msg/am.js +266 -8
  201. package/msg/am.mjs +259 -1
  202. package/msg/ar.js +283 -25
  203. package/msg/ar.mjs +259 -1
  204. package/msg/ast.js +266 -8
  205. package/msg/ast.mjs +259 -1
  206. package/msg/az.js +266 -8
  207. package/msg/az.mjs +259 -1
  208. package/msg/ba.js +265 -7
  209. package/msg/ba.mjs +259 -1
  210. package/msg/bcc.js +265 -7
  211. package/msg/bcc.mjs +259 -1
  212. package/msg/be-tarask.js +297 -39
  213. package/msg/be-tarask.mjs +259 -1
  214. package/msg/be.js +266 -8
  215. package/msg/be.mjs +259 -1
  216. package/msg/bg.js +282 -24
  217. package/msg/bg.mjs +259 -1
  218. package/msg/bn.js +266 -8
  219. package/msg/bn.mjs +259 -1
  220. package/msg/br.js +266 -8
  221. package/msg/br.mjs +259 -1
  222. package/msg/bs.js +265 -7
  223. package/msg/bs.mjs +259 -1
  224. package/msg/ca.js +265 -7
  225. package/msg/ca.mjs +259 -1
  226. package/msg/ce.js +265 -7
  227. package/msg/ce.mjs +259 -1
  228. package/msg/cs.js +290 -32
  229. package/msg/cs.mjs +259 -1
  230. package/msg/csb.js +723 -0
  231. package/msg/csb.mjs +704 -0
  232. package/msg/da.js +284 -26
  233. package/msg/da.mjs +259 -1
  234. package/msg/de.js +265 -7
  235. package/msg/de.mjs +259 -1
  236. package/msg/diq.js +267 -9
  237. package/msg/diq.mjs +259 -1
  238. package/msg/dtp.js +265 -7
  239. package/msg/dtp.mjs +259 -1
  240. package/msg/dty.js +265 -7
  241. package/msg/dty.mjs +259 -1
  242. package/msg/ee.js +265 -7
  243. package/msg/ee.mjs +259 -1
  244. package/msg/el.js +290 -32
  245. package/msg/el.mjs +259 -1
  246. package/msg/en-gb.js +266 -8
  247. package/msg/en-gb.mjs +259 -1
  248. package/msg/en.js +266 -8
  249. package/msg/en.mjs +259 -1
  250. package/msg/eo.js +265 -7
  251. package/msg/eo.mjs +259 -1
  252. package/msg/es.js +282 -24
  253. package/msg/es.mjs +259 -1
  254. package/msg/et.js +265 -7
  255. package/msg/et.mjs +259 -1
  256. package/msg/eu.js +265 -7
  257. package/msg/eu.mjs +259 -1
  258. package/msg/fa.js +266 -8
  259. package/msg/fa.mjs +259 -1
  260. package/msg/fi.js +284 -26
  261. package/msg/fi.mjs +259 -1
  262. package/msg/fo.js +265 -7
  263. package/msg/fo.mjs +259 -1
  264. package/msg/fr.js +283 -25
  265. package/msg/fr.mjs +259 -1
  266. package/msg/frr.js +266 -8
  267. package/msg/frr.mjs +259 -1
  268. package/msg/ga.js +723 -0
  269. package/msg/{cdo.mjs → ga.mjs} +261 -3
  270. package/msg/gl.js +290 -32
  271. package/msg/gl.mjs +259 -1
  272. package/msg/gn.js +266 -8
  273. package/msg/gn.mjs +259 -1
  274. package/msg/gor.js +265 -7
  275. package/msg/gor.mjs +259 -1
  276. package/msg/ha.js +265 -7
  277. package/msg/ha.mjs +259 -1
  278. package/msg/he.js +313 -55
  279. package/msg/he.mjs +259 -1
  280. package/msg/hi.js +265 -7
  281. package/msg/hi.mjs +259 -1
  282. package/msg/hr.js +265 -7
  283. package/msg/hr.mjs +259 -1
  284. package/msg/hrx.js +265 -7
  285. package/msg/hrx.mjs +259 -1
  286. package/msg/hsb.js +265 -7
  287. package/msg/hsb.mjs +259 -1
  288. package/msg/hu.js +270 -12
  289. package/msg/hu.mjs +259 -1
  290. package/msg/hy.js +265 -7
  291. package/msg/hy.mjs +259 -1
  292. package/msg/ia.js +304 -46
  293. package/msg/ia.mjs +259 -1
  294. package/msg/id.js +489 -231
  295. package/msg/id.mjs +259 -1
  296. package/msg/ig.js +270 -12
  297. package/msg/ig.mjs +259 -1
  298. package/msg/inh.js +265 -7
  299. package/msg/inh.mjs +259 -1
  300. package/msg/is.js +265 -7
  301. package/msg/is.mjs +259 -1
  302. package/msg/it.js +289 -31
  303. package/msg/it.mjs +259 -1
  304. package/msg/ja.js +314 -56
  305. package/msg/ja.mjs +259 -1
  306. package/msg/ka.js +267 -9
  307. package/msg/ka.mjs +259 -1
  308. package/msg/kab.js +273 -15
  309. package/msg/kab.mjs +259 -1
  310. package/msg/kbd-cyrl.js +266 -8
  311. package/msg/kbd-cyrl.mjs +259 -1
  312. package/msg/km.js +265 -7
  313. package/msg/km.mjs +259 -1
  314. package/msg/kn.js +273 -15
  315. package/msg/kn.mjs +259 -1
  316. package/msg/ko.js +398 -140
  317. package/msg/ko.mjs +259 -1
  318. package/msg/krc.js +723 -0
  319. package/msg/krc.mjs +704 -0
  320. package/msg/ksh.js +266 -8
  321. package/msg/ksh.mjs +259 -1
  322. package/msg/ku-latn.js +266 -8
  323. package/msg/ku-latn.mjs +259 -1
  324. package/msg/ky.js +325 -67
  325. package/msg/ky.mjs +259 -1
  326. package/msg/la.js +266 -8
  327. package/msg/la.mjs +259 -1
  328. package/msg/lb.js +279 -21
  329. package/msg/lb.mjs +259 -1
  330. package/msg/lki.js +265 -7
  331. package/msg/lki.mjs +259 -1
  332. package/msg/lo.js +265 -7
  333. package/msg/lo.mjs +259 -1
  334. package/msg/lrc.js +265 -7
  335. package/msg/lrc.mjs +259 -1
  336. package/msg/lt.js +266 -8
  337. package/msg/lt.mjs +259 -1
  338. package/msg/lv.js +276 -18
  339. package/msg/lv.mjs +259 -1
  340. package/msg/mg.js +265 -7
  341. package/msg/mg.mjs +259 -1
  342. package/msg/mk.js +265 -7
  343. package/msg/mk.mjs +259 -1
  344. package/msg/ml.js +265 -7
  345. package/msg/ml.mjs +259 -1
  346. package/msg/mnw.js +265 -7
  347. package/msg/mnw.mjs +259 -1
  348. package/msg/ms.js +274 -16
  349. package/msg/ms.mjs +259 -1
  350. package/msg/mt.js +723 -0
  351. package/msg/{hak.mjs → mt.mjs} +261 -3
  352. package/msg/my.js +265 -7
  353. package/msg/my.mjs +259 -1
  354. package/msg/mzn.js +266 -8
  355. package/msg/mzn.mjs +259 -1
  356. package/msg/nb.js +265 -7
  357. package/msg/nb.mjs +259 -1
  358. package/msg/ne.js +275 -17
  359. package/msg/ne.mjs +259 -1
  360. package/msg/nl.js +336 -78
  361. package/msg/nl.mjs +259 -1
  362. package/msg/oc.js +265 -7
  363. package/msg/oc.mjs +259 -1
  364. package/msg/olo.js +266 -8
  365. package/msg/olo.mjs +259 -1
  366. package/msg/pa.js +273 -15
  367. package/msg/pa.mjs +259 -1
  368. package/msg/pl.js +282 -24
  369. package/msg/pl.mjs +259 -1
  370. package/msg/pms.js +283 -25
  371. package/msg/pms.mjs +259 -1
  372. package/msg/ps.js +296 -38
  373. package/msg/ps.mjs +259 -1
  374. package/msg/pt-br.js +282 -24
  375. package/msg/pt-br.mjs +259 -1
  376. package/msg/pt.js +282 -24
  377. package/msg/pt.mjs +259 -1
  378. package/msg/ro.js +299 -41
  379. package/msg/ro.mjs +259 -1
  380. package/msg/ru.js +283 -25
  381. package/msg/ru.mjs +259 -1
  382. package/msg/sc.js +265 -7
  383. package/msg/sc.mjs +259 -1
  384. package/msg/sco.js +266 -8
  385. package/msg/sco.mjs +259 -1
  386. package/msg/sd.js +265 -7
  387. package/msg/sd.mjs +259 -1
  388. package/msg/shn.js +265 -7
  389. package/msg/shn.mjs +259 -1
  390. package/msg/si.js +266 -8
  391. package/msg/si.mjs +259 -1
  392. package/msg/sk.js +283 -25
  393. package/msg/sk.mjs +259 -1
  394. package/msg/skr-arab.js +268 -10
  395. package/msg/skr-arab.mjs +259 -1
  396. package/msg/sl.js +283 -25
  397. package/msg/sl.mjs +259 -1
  398. package/msg/smn.js +267 -9
  399. package/msg/smn.mjs +259 -1
  400. package/msg/sq.js +273 -15
  401. package/msg/sq.mjs +259 -1
  402. package/msg/sr-latn.js +265 -7
  403. package/msg/sr-latn.mjs +259 -1
  404. package/msg/sr.js +266 -8
  405. package/msg/sr.mjs +259 -1
  406. package/msg/sv.js +282 -24
  407. package/msg/sv.mjs +259 -1
  408. package/msg/sw.js +266 -8
  409. package/msg/sw.mjs +259 -1
  410. package/msg/ta.js +283 -25
  411. package/msg/ta.mjs +259 -1
  412. package/msg/tcy.js +328 -70
  413. package/msg/tcy.mjs +259 -1
  414. package/msg/tdd.js +265 -7
  415. package/msg/tdd.mjs +259 -1
  416. package/msg/te.js +265 -7
  417. package/msg/te.mjs +259 -1
  418. package/msg/th.js +266 -8
  419. package/msg/th.mjs +259 -1
  420. package/msg/ti.js +265 -7
  421. package/msg/ti.mjs +259 -1
  422. package/msg/tl.js +265 -7
  423. package/msg/tl.mjs +259 -1
  424. package/msg/tlh.js +265 -7
  425. package/msg/tlh.mjs +259 -1
  426. package/msg/tr.js +284 -26
  427. package/msg/tr.mjs +259 -1
  428. package/msg/ug-arab.js +265 -7
  429. package/msg/ug-arab.mjs +259 -1
  430. package/msg/uk.js +291 -33
  431. package/msg/uk.mjs +259 -1
  432. package/msg/ur.js +265 -7
  433. package/msg/ur.mjs +259 -1
  434. package/msg/uz.js +298 -40
  435. package/msg/uz.mjs +259 -1
  436. package/msg/vi.js +284 -26
  437. package/msg/vi.mjs +259 -1
  438. package/msg/xmf.js +265 -7
  439. package/msg/xmf.mjs +259 -1
  440. package/msg/yo.js +265 -7
  441. package/msg/yo.mjs +259 -1
  442. package/msg/zgh.js +265 -7
  443. package/msg/zgh.mjs +259 -1
  444. package/msg/zh-hans.js +283 -25
  445. package/msg/zh-hans.mjs +259 -1
  446. package/msg/zh-hant.js +283 -25
  447. package/msg/zh-hant.mjs +259 -1
  448. package/package.json +53 -57
  449. package/php_compressed.js +150 -192
  450. package/php_compressed.js.map +1 -1
  451. package/python_compressed.js +85 -126
  452. package/python_compressed.js.map +1 -1
  453. package/core/flyout_navigator.d.ts +0 -11
  454. package/core/keyboard_nav/block_comment_navigation_policy.d.ts +0 -56
  455. package/core/keyboard_nav/flyout_navigation_policy.d.ts +0 -65
  456. package/core/keyboard_nav/line_cursor.d.ts +0 -187
  457. package/core/keyboard_nav/marker.d.ts +0 -53
  458. package/core/marker_manager.d.ts +0 -72
  459. package/core/navigator.d.ts +0 -65
  460. package/media/sprites.png +0 -0
  461. package/msg/cdo.js +0 -465
  462. package/msg/hak.js +0 -465
package/msg/en.js CHANGED
@@ -19,11 +19,71 @@ 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_CANT_SCROLL_FURTHER"] = "Can't scroll further.";
23
+ Blockly.Msg["ANNOUNCE_MOVE_AFTER"] = "Moving %1 after %2.";
24
+ Blockly.Msg["ANNOUNCE_MOVE_AROUND"] = "Moving %1 around %2.";
25
+ Blockly.Msg["ANNOUNCE_MOVE_BEFORE"] = "Moving %1 before %2.";
26
+ Blockly.Msg["ANNOUNCE_MOVE_CANCELED"] = "Canceled movement.";
27
+ Blockly.Msg["ANNOUNCE_MOVE_INSIDE"] = "Moving %1 inside %2.";
28
+ Blockly.Msg["ANNOUNCE_MOVE_OF"] = "%1 of %2";
29
+ Blockly.Msg["ANNOUNCE_MOVE_TO"] = "Moving %1 to %2.";
30
+ Blockly.Msg["ANNOUNCE_MOVE_WORKSPACE"] = "Moving %1 on workspace.";
31
+ Blockly.Msg["ANNOUNCE_SCROLLED_DOWN"] = "Scrolled down.";
32
+ Blockly.Msg["ANNOUNCE_SCROLLED_LEFT"] = "Scrolled left.";
33
+ Blockly.Msg["ANNOUNCE_SCROLLED_RIGHT"] = "Scrolled right.";
34
+ Blockly.Msg["ANNOUNCE_SCROLLED_UP"] = "Scrolled up.";
35
+ Blockly.Msg["ARIA_LABEL_ADD_ELSE_IF"] = "Add else if";
36
+ Blockly.Msg["ARIA_LABEL_ADD_INPUT"] = "Add input";
37
+ Blockly.Msg["ARIA_LABEL_ADD_LIST_ITEM"] = "Add list item";
38
+ Blockly.Msg["ARIA_LABEL_ADD_TEXT"] = "Add text";
39
+ Blockly.Msg["ARIA_LABEL_BUTTON"] = "button";
40
+ Blockly.Msg["ARIA_LABEL_COMMENT"] = "Comment";
41
+ Blockly.Msg["ARIA_LABEL_COMMENT_COLLAPSE"] = "Collapse Comment";
42
+ Blockly.Msg["ARIA_LABEL_COMMENT_EXPAND"] = "Expand Comment";
43
+ Blockly.Msg["ARIA_LABEL_FIELD_ANGLE"] = "%1 degrees";
44
+ Blockly.Msg["ARIA_LABEL_HEADING"] = "heading";
45
+ Blockly.Msg["ARIA_LABEL_REMOVE_ELSE_IF"] = "Remove else if";
46
+ Blockly.Msg["ARIA_LABEL_REMOVE_INPUT"] = "Remove input";
47
+ Blockly.Msg["ARIA_LABEL_REMOVE_LIST_ITEM"] = "Remove list item";
48
+ Blockly.Msg["ARIA_LABEL_REMOVE_TEXT"] = "Remove text";
49
+ Blockly.Msg["ARIA_LABEL_TRASH_EMPTY"] = "Trash, currently empty";
50
+ Blockly.Msg["ARIA_TYPE_FIELD_ANGLE"] = "angle";
51
+ Blockly.Msg["ARIA_TYPE_FIELD_BITMAP"] = "pixel image";
52
+ Blockly.Msg["ARIA_TYPE_FIELD_CHECKBOX"] = "checkbox";
53
+ Blockly.Msg["ARIA_TYPE_FIELD_COLOUR"] = "color";
54
+ Blockly.Msg["ARIA_TYPE_FIELD_DATE"] = "date";
55
+ Blockly.Msg["ARIA_TYPE_FIELD_DROPDOWN"] = "dropdown";
56
+ Blockly.Msg["ARIA_TYPE_FIELD_GRID"] = "grid dropdown";
57
+ Blockly.Msg["ARIA_TYPE_FIELD_IMAGE"] = "image";
58
+ Blockly.Msg["ARIA_TYPE_FIELD_INPUT"] = "input";
59
+ Blockly.Msg["ARIA_TYPE_FIELD_NUMBER"] = "number";
60
+ Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT"] = "text";
61
+ Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT"] = "input name";
62
+ Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE"] = "function name";
63
+ Blockly.Msg["BACKSPACE_KEY"] = "Backspace";
64
+ Blockly.Msg["BLOCK_LABEL_BEGIN_PREFIX"] = "Begin %1";
65
+ Blockly.Msg["BLOCK_LABEL_BEGIN_STACK"] = "Begin stack";
66
+ Blockly.Msg["BLOCK_LABEL_COLLAPSED"] = "collapsed";
67
+ Blockly.Msg["BLOCK_LABEL_CONTAINER"] = "container";
68
+ Blockly.Msg["BLOCK_LABEL_DISABLED"] = "disabled";
69
+ Blockly.Msg["BLOCK_LABEL_HAS_BRANCHES"] = "has %1 branches";
70
+ Blockly.Msg["BLOCK_LABEL_HAS_INPUT"] = "has input";
71
+ Blockly.Msg["BLOCK_LABEL_HAS_INPUTS"] = "has inputs";
72
+ Blockly.Msg["BLOCK_LABEL_REPLACEABLE"] = "replaceable";
73
+ Blockly.Msg["BLOCK_LABEL_STACK_BLOCKS"] = "%1 stack blocks";
74
+ Blockly.Msg["BLOCK_LABEL_STATEMENT"] = "statement";
75
+ Blockly.Msg["BLOCK_LABEL_TOOLBOX_CATEGORY"] = "%1 category";
76
+ Blockly.Msg["BLOCK_LABEL_VALUE"] = "value";
77
+ Blockly.Msg["BUBBLE_LABEL_COMMENT"] = "Comment: %1";
78
+ Blockly.Msg["BUBBLE_LABEL_DEFAULT"] = "Bubble";
79
+ Blockly.Msg["BUBBLE_LABEL_WARNING"] = "Warning: %1";
22
80
  Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";
81
+ Blockly.Msg["CAPS_LOCK_KEY"] = "Caps Lock";
23
82
  Blockly.Msg["CHANGE_VALUE_TITLE"] = "Change value:";
24
83
  Blockly.Msg["CHROME_OS"] = "ChromeOS";
25
84
  Blockly.Msg["CLEAN_UP"] = "Clean up Blocks";
26
85
  Blockly.Msg["CLOSE"] = "Close";
86
+ Blockly.Msg["CLOSE_BACKPACK"] = "Close backpack";
27
87
  Blockly.Msg["COLLAPSED_WARNINGS_WARNING"] = "Collapsed blocks contain warnings.";
28
88
  Blockly.Msg["COLLAPSE_ALL"] = "Collapse Blocks";
29
89
  Blockly.Msg["COLLAPSE_BLOCK"] = "Collapse Block";
@@ -44,7 +104,8 @@ Blockly.Msg["COLOUR_RGB_HELPURL"] = "https://www.december.com/html/spec/colorper
44
104
  Blockly.Msg["COLOUR_RGB_RED"] = "red";
45
105
  Blockly.Msg["COLOUR_RGB_TITLE"] = "colour with";
46
106
  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
- Blockly.Msg["COMMAND_KEY"] = "⌘ Command";
107
+ Blockly.Msg["COMMAND_KEY"] = "Command";
108
+ Blockly.Msg["CONTEXT_MENU_KEY"] = "≣ Menu";
48
109
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks";
49
110
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "break out of loop";
50
111
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continue with next iteration of loop";
@@ -77,11 +138,15 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "repeat until";
77
138
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repeat while";
78
139
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then do some statements.";
79
140
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "While a value is true, then do some statements.";
80
- Blockly.Msg["CONTROL_KEY"] = "Ctrl";
141
+ Blockly.Msg["CONTROL_KEY"] = "Control";
142
+ Blockly.Msg["COPY_ALL_TO_BACKPACK"] = "Copy All Blocks to Backpack";
81
143
  Blockly.Msg["COPY_SHORTCUT"] = "Copy";
144
+ Blockly.Msg["COPY_TO_BACKPACK"] = "Copy to Backpack";
145
+ Blockly.Msg["CURRENT_BLOCK_ANNOUNCEMENT"] = "Current block: %1";
82
146
  Blockly.Msg["CUT_SHORTCUT"] = "Cut";
83
147
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "Delete all %1 blocks?";
84
148
  Blockly.Msg["DELETE_BLOCK"] = "Delete Block";
149
+ Blockly.Msg["DELETE_KEY"] = "Delete";
85
150
  Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";
86
151
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";
87
152
  Blockly.Msg["DELETE_X_BLOCKS"] = "Delete %1 Blocks";
@@ -91,17 +156,98 @@ Blockly.Msg["DISABLE_BLOCK"] = "Disable Block";
91
156
  Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicate";
92
157
  Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";
93
158
  Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents";
159
+ Blockly.Msg["EMPTY_BACKPACK"] = "Empty Backpack";
94
160
  Blockly.Msg["ENABLE_BLOCK"] = "Enable Block";
161
+ Blockly.Msg["END_KEY"] = "End";
162
+ Blockly.Msg["ENTER_KEY"] = "Enter";
163
+ Blockly.Msg["ESCAPE"] = "Escape";
95
164
  Blockly.Msg["EXPAND_ALL"] = "Expand Blocks";
96
165
  Blockly.Msg["EXPAND_BLOCK"] = "Expand Block";
97
166
  Blockly.Msg["EXTERNAL_INPUTS"] = "External Inputs";
167
+ Blockly.Msg["FIELD_BITMAP_ARIA_VALUE"] = "%1 by %2, %3 pixels on";
168
+ Blockly.Msg["FIELD_BITMAP_BUTTON_LABEL_CLEAR"] = "Clear";
169
+ Blockly.Msg["FIELD_BITMAP_BUTTON_LABEL_RANDOMIZE"] = "Randomize";
170
+ Blockly.Msg["FIELD_BITMAP_PIXEL_LABEL"] = "%1, row %2, column %3";
171
+ Blockly.Msg["FIELD_BITMAP_PIXEL_OFF"] = "off";
172
+ Blockly.Msg["FIELD_BITMAP_PIXEL_ON"] = "on";
173
+ Blockly.Msg["FIELD_LABEL_CHECKBOX_CHECKED"] = "Checked";
174
+ Blockly.Msg["FIELD_LABEL_CHECKBOX_UNCHECKED"] = "Not checked";
175
+ Blockly.Msg["FIELD_LABEL_EDIT_PREFIX"] = "Edit %1";
176
+ Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty";
177
+ Blockly.Msg["FIELD_LABEL_OPTION_INDEX"] = "Option %1";
178
+ Blockly.Msg["FIELD_LABEL_VARIABLE"] = "Variable '%1'";
179
+ Blockly.Msg["FIELD_MULTILINEINPUT_FINISH_EDITING"] = "Finish editing";
180
+ Blockly.Msg["FIELD_MULTILINEINPUT_NEW_LINE"] = "New line";
98
181
  Blockly.Msg["HELP"] = "Help";
99
- Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls";
182
+ Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls.";
183
+ Blockly.Msg["HOME_KEY"] = "Home";
184
+ Blockly.Msg["ICON_LABEL_COMMENT_CLOSED"] = "Open Comment";
185
+ Blockly.Msg["ICON_LABEL_COMMENT_OPEN"] = "Close Comment";
186
+ Blockly.Msg["ICON_LABEL_DEFAULT"] = "Icon";
187
+ Blockly.Msg["ICON_LABEL_MUTATOR_CLOSED"] = "Edit this block";
188
+ Blockly.Msg["ICON_LABEL_MUTATOR_OPEN"] = "Close block editor";
189
+ Blockly.Msg["ICON_LABEL_WARNING_CLOSED"] = "Open Warning";
190
+ Blockly.Msg["ICON_LABEL_WARNING_OPEN"] = "Close Warning";
100
191
  Blockly.Msg["INLINE_INPUTS"] = "Inline Inputs";
101
- Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position";
192
+ Blockly.Msg["INPUT_LABEL_CONDITION"] = "condition";
193
+ Blockly.Msg["INPUT_LABEL_CONDITION_A"] = "first condition";
194
+ Blockly.Msg["INPUT_LABEL_CONDITION_B"] = "second condition";
195
+ Blockly.Msg["INPUT_LABEL_EMPTY"] = "Empty";
196
+ Blockly.Msg["INPUT_LABEL_END_STATEMENT"] = "End %1";
197
+ Blockly.Msg["INPUT_LABEL_INDEX"] = "input %1";
198
+ Blockly.Msg["INPUT_LABEL_LISTS_CREATE_WITH_ITEM"] = "value %1";
199
+ Blockly.Msg["INPUT_LABEL_LISTS_DELIMITER"] = "delimiter";
200
+ Blockly.Msg["INPUT_LABEL_LISTS_END_POSITION"] = "end position";
201
+ Blockly.Msg["INPUT_LABEL_LISTS_LIST_FROM_TEXT"] = "text to split";
202
+ Blockly.Msg["INPUT_LABEL_LISTS_POSITION"] = "position within list";
203
+ Blockly.Msg["INPUT_LABEL_LISTS_REPEAT_ITEM"] = "value to repeat";
204
+ Blockly.Msg["INPUT_LABEL_LISTS_REPEAT_NUM"] = "number of times to repeat";
205
+ Blockly.Msg["INPUT_LABEL_LISTS_START_POSITION"] = "start position";
206
+ Blockly.Msg["INPUT_LABEL_LISTS_TEXT_FROM_LIST"] = "list to join";
207
+ Blockly.Msg["INPUT_LABEL_LISTS_TO_CHANGE"] = "list to change";
208
+ Blockly.Msg["INPUT_LABEL_LISTS_TO_CHECK"] = "list to check";
209
+ Blockly.Msg["INPUT_LABEL_LISTS_VALUE_TO_SET"] = "value to set";
210
+ Blockly.Msg["INPUT_LABEL_LOOP_BY"] = "increment";
211
+ Blockly.Msg["INPUT_LABEL_LOOP_FROM"] = "starting number";
212
+ Blockly.Msg["INPUT_LABEL_LOOP_LIST"] = "list to iterate over";
213
+ Blockly.Msg["INPUT_LABEL_LOOP_TIMES"] = "number of times to repeat";
214
+ Blockly.Msg["INPUT_LABEL_LOOP_TO"] = "ending number";
215
+ Blockly.Msg["INPUT_LABEL_MATH_CHANGE_BY"] = "amount to change by";
216
+ Blockly.Msg["INPUT_LABEL_MATH_CONSTRAIN_VALUE"] = "number to constrain";
217
+ Blockly.Msg["INPUT_LABEL_MATH_DIVIDEND"] = "dividend";
218
+ Blockly.Msg["INPUT_LABEL_MATH_DIVISOR"] = "divisor";
219
+ Blockly.Msg["INPUT_LABEL_NUMBER"] = "number";
220
+ Blockly.Msg["INPUT_LABEL_NUMBER_A"] = "first number";
221
+ Blockly.Msg["INPUT_LABEL_NUMBER_ATAN2_X"] = "x coordinate";
222
+ Blockly.Msg["INPUT_LABEL_NUMBER_ATAN2_Y"] = "y coordinate";
223
+ Blockly.Msg["INPUT_LABEL_NUMBER_B"] = "second number";
224
+ Blockly.Msg["INPUT_LABEL_NUMBER_LIST"] = "list of numbers";
225
+ Blockly.Msg["INPUT_LABEL_NUMBER_MAX"] = "maximum";
226
+ Blockly.Msg["INPUT_LABEL_NUMBER_MIN"] = "minimum";
227
+ Blockly.Msg["INPUT_LABEL_NUMBER_TO_CHECK"] = "number to check";
228
+ Blockly.Msg["INPUT_LABEL_STATEMENT"] = "statement position";
229
+ Blockly.Msg["INPUT_LABEL_TEXT_APPEND"] = "value to append";
230
+ Blockly.Msg["INPUT_LABEL_TEXT_END_POSITION"] = "end position";
231
+ Blockly.Msg["INPUT_LABEL_TEXT_JOIN_ITEM"] = "value %1";
232
+ Blockly.Msg["INPUT_LABEL_TEXT_POSITION"] = "letter position";
233
+ Blockly.Msg["INPUT_LABEL_TEXT_PROMPT_MESSAGE"] = "message";
234
+ Blockly.Msg["INPUT_LABEL_TEXT_START_POSITION"] = "start position";
235
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_CHANGE"] = "text to change";
236
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_CHECK"] = "text to check";
237
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_FIND"] = "text to find";
238
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_REPLACE"] = "text to replace";
239
+ Blockly.Msg["INPUT_LABEL_VALUE"] = "value position";
240
+ Blockly.Msg["INPUT_LABEL_VALUE_A"] = "first value";
241
+ Blockly.Msg["INPUT_LABEL_VALUE_B"] = "second value";
242
+ Blockly.Msg["INPUT_LABEL_VARIABLES_SET"] = "value to set";
243
+ Blockly.Msg["INSERT_KEY"] = "Insert";
244
+ Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use %1 to navigate inside of blocks.";
245
+ Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position.";
102
246
  Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "Copied. Press %1 to paste.";
103
247
  Blockly.Msg["KEYBOARD_NAV_CUT_HINT"] = "Cut. Press %1 to paste.";
104
- Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "Hold %1 and use arrow keys to move freely, then %2 to accept the position";
248
+ Blockly.Msg["KEYBOARD_NAV_FLYOUT_LABEL_HINT"] = "Use the arrow keys to navigate to a block, or press %1 to go to the next heading.";
249
+ Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "Hold %1 and use arrow keys to move freely, then %2 to accept the position.";
250
+ Blockly.Msg["KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT"] = "Use the arrow keys to navigate.";
105
251
  Blockly.Msg["LINUX"] = "Linux";
106
252
  Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-empty-list";
107
253
  Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list";
@@ -192,7 +338,13 @@ Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "false";
192
338
  Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Logic#values";
193
339
  Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Returns either true or false.";
194
340
  Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "true";
341
+ Blockly.Msg["LOGIC_COMPARE_EQ_ARIA"] = "equals";
342
+ Blockly.Msg["LOGIC_COMPARE_GTE_ARIA"] = "greater than or equal to";
343
+ Blockly.Msg["LOGIC_COMPARE_GT_ARIA"] = "greater than";
195
344
  Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
345
+ Blockly.Msg["LOGIC_COMPARE_LTE_ARIA"] = "less than or equal to";
346
+ Blockly.Msg["LOGIC_COMPARE_LT_ARIA"] = "less than";
347
+ Blockly.Msg["LOGIC_COMPARE_NEQ_ARIA"] = "not equals";
196
348
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Return true if both inputs equal each other.";
197
349
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Return true if the first input is greater than the second input.";
198
350
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Return true if the first input is greater than or equal to the second input.";
@@ -217,6 +369,7 @@ Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "if true";
217
369
  Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Check the condition in 'test'. If the condition is true, returns the 'if true' value; otherwise returns the 'if false' value.";
218
370
  Blockly.Msg["MAC_OS"] = "macOS";
219
371
  Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
372
+ Blockly.Msg["MATH_ADDITION_SYMBOL_ARIA"] = "plus";
220
373
  Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
221
374
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Return the sum of the two numbers.";
222
375
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Return the quotient of the two numbers.";
@@ -229,12 +382,19 @@ Blockly.Msg["MATH_ATAN2_TOOLTIP"] = "Return the arctangent of point (X, Y) in de
229
382
  Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
230
383
  Blockly.Msg["MATH_CHANGE_TITLE"] = "change %1 by %2";
231
384
  Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";
385
+ Blockly.Msg["MATH_CONSTANT_E_ARIA"] = "e";
386
+ Blockly.Msg["MATH_CONSTANT_GOLDEN_RATIO_ARIA"] = "golden ratio";
232
387
  Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
388
+ Blockly.Msg["MATH_CONSTANT_INFINITY_ARIA"] = "infinity";
389
+ Blockly.Msg["MATH_CONSTANT_PI_ARIA"] = "pi";
390
+ Blockly.Msg["MATH_CONSTANT_SQRT1_2_ARIA"] = "square root of 1 over 2";
391
+ Blockly.Msg["MATH_CONSTANT_SQRT2_ARIA"] = "square root of 2";
233
392
  Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Return one of the common constants: π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or ∞ (infinity).";
234
393
  Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";
235
394
  Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";
236
395
  Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";
237
396
  Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
397
+ Blockly.Msg["MATH_DIVISION_SYMBOL_ARIA"] = "divided by";
238
398
  Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "is divisible by";
239
399
  Blockly.Msg["MATH_IS_EVEN"] = "is even";
240
400
  Blockly.Msg["MATH_IS_NEGATIVE"] = "is negative";
@@ -247,13 +407,16 @@ Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_opera
247
407
  Blockly.Msg["MATH_MODULO_TITLE"] = "remainder of %1 ÷ %2";
248
408
  Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";
249
409
  Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
410
+ Blockly.Msg["MATH_MULTIPLICATION_SYMBOL_ARIA"] = "times";
250
411
  Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
251
412
  Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "A number.";
252
413
  Blockly.Msg["MATH_ONLIST_HELPURL"] = "";
253
414
  Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "average of list";
254
415
  Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "max of list";
416
+ Blockly.Msg["MATH_ONLIST_OPERATOR_MAX_ARIA"] = "maximum";
255
417
  Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "median of list";
256
418
  Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "min of list";
419
+ Blockly.Msg["MATH_ONLIST_OPERATOR_MIN_ARIA"] = "minimum";
257
420
  Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modes of list";
258
421
  Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "random item of list";
259
422
  Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";
@@ -267,6 +430,7 @@ Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the li
267
430
  Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";
268
431
  Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Return the sum of all the numbers in the list.";
269
432
  Blockly.Msg["MATH_POWER_SYMBOL"] = "^";
433
+ Blockly.Msg["MATH_POWER_SYMBOL_ARIA"] = "to the power of";
270
434
  Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
271
435
  Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "random fraction";
272
436
  Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";
@@ -280,6 +444,12 @@ Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "round up";
280
444
  Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Round a number up or down.";
281
445
  Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
282
446
  Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolute";
447
+ Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE_ARIA"] = "absolute value";
448
+ Blockly.Msg["MATH_SINGLE_OP_EXP_ARIA"] = "e to the power of";
449
+ Blockly.Msg["MATH_SINGLE_OP_LN_ARIA"] = "natural logarithm";
450
+ Blockly.Msg["MATH_SINGLE_OP_LOG10_ARIA"] = "base 10 logarithm";
451
+ Blockly.Msg["MATH_SINGLE_OP_NEG_ARIA"] = "negative";
452
+ Blockly.Msg["MATH_SINGLE_OP_POW10_ARIA"] = "10 to the power of";
283
453
  Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "square root";
284
454
  Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Return the absolute value of a number.";
285
455
  Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";
@@ -289,19 +459,27 @@ Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Return the negation of a number.";
289
459
  Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";
290
460
  Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Return the square root of a number.";
291
461
  Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";
462
+ Blockly.Msg["MATH_SUBTRACTION_SYMBOL_ARIA"] = "minus";
292
463
  Blockly.Msg["MATH_TRIG_ACOS"] = "acos";
464
+ Blockly.Msg["MATH_TRIG_ACOS_ARIA"] = "inverse cosine";
293
465
  Blockly.Msg["MATH_TRIG_ASIN"] = "asin";
466
+ Blockly.Msg["MATH_TRIG_ASIN_ARIA"] = "inverse sine";
294
467
  Blockly.Msg["MATH_TRIG_ATAN"] = "atan";
468
+ Blockly.Msg["MATH_TRIG_ATAN_ARIA"] = "inverse tangent";
295
469
  Blockly.Msg["MATH_TRIG_COS"] = "cos";
470
+ Blockly.Msg["MATH_TRIG_COS_ARIA"] = "cosine";
296
471
  Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";
297
472
  Blockly.Msg["MATH_TRIG_SIN"] = "sin";
473
+ Blockly.Msg["MATH_TRIG_SIN_ARIA"] = "sine";
298
474
  Blockly.Msg["MATH_TRIG_TAN"] = "tan";
475
+ Blockly.Msg["MATH_TRIG_TAN_ARIA"] = "tangent";
299
476
  Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";
300
477
  Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";
301
478
  Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";
302
479
  Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";
303
480
  Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";
304
481
  Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";
482
+ Blockly.Msg["MINIMAP_ARIA_LABEL"] = "Workspace minimap. Use the arrow keys to pan the workspace.";
305
483
  Blockly.Msg["MOVE_BLOCK"] = "Move Block";
306
484
  Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";
307
485
  Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";
@@ -309,9 +487,17 @@ Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";
309
487
  Blockly.Msg["NEW_VARIABLE"] = "Create variable...";
310
488
  Blockly.Msg["NEW_VARIABLE_TITLE"] = "New variable name:";
311
489
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";
312
- Blockly.Msg["OPTION_KEY"] = "⌥ Option";
490
+ Blockly.Msg["NO_PARENT_ANNOUNCEMENT"] = "Current block has no parent";
491
+ Blockly.Msg["OPEN_BACKPACK"] = "Open backpack";
492
+ Blockly.Msg["OPEN_TRASH"] = "Open trash";
493
+ Blockly.Msg["OPTION_KEY"] = "Option";
313
494
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";
495
+ Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down";
496
+ Blockly.Msg["PAGE_UP_KEY"] = "Page Up";
497
+ Blockly.Msg["PARENT_BLOCKS_ANNOUNCEMENT"] = "Parent blocks: %1";
498
+ Blockly.Msg["PASTE_ALL_FROM_BACKPACK"] = "Paste All Blocks from Backpack";
314
499
  Blockly.Msg["PASTE_SHORTCUT"] = "Paste";
500
+ Blockly.Msg["PAUSE_KEY"] = "Pause";
315
501
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";
316
502
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:";
317
503
  Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
@@ -341,11 +527,56 @@ Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs";
341
527
  Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";
342
528
  Blockly.Msg["REDO"] = "Redo";
343
529
  Blockly.Msg["REMOVE_COMMENT"] = "Remove Comment";
344
- Blockly.Msg["RENAME_VARIABLE"] = "Rename variable...";
530
+ Blockly.Msg["REMOVE_FROM_BACKPACK"] = "Remove from Backpack";
531
+ Blockly.Msg["RENAME_VARIABLE"] = "Rename the '%1' variable";
345
532
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Rename all '%1' variables to:";
533
+ Blockly.Msg["RESET_ZOOM"] = "Reset zoom";
534
+ Blockly.Msg["SCREENREADER_HINT"] = "Use the arrow keys to navigate. Press %1 to toggle screenreader accessibility mode.";
535
+ Blockly.Msg["SCREENREADER_MODE_DISABLED"] = "Screenreader mode is off, press %1 to turn it on";
536
+ Blockly.Msg["SCREENREADER_MODE_ENABLED"] = "Screenreader mode is on, press %1 to turn it off";
537
+ Blockly.Msg["SHIFT_KEY"] = "Shift";
538
+ Blockly.Msg["SHORTCUTS_ABORT_MOVE"] = "Abort move";
539
+ Blockly.Msg["SHORTCUTS_CLEANUP"] = "Clean up workspace";
346
540
  Blockly.Msg["SHORTCUTS_CODE_NAVIGATION"] = "Code navigation";
541
+ Blockly.Msg["SHORTCUTS_DELETE"] = "Delete";
542
+ Blockly.Msg["SHORTCUTS_DISCONNECT"] = "Disconnect block";
543
+ Blockly.Msg["SHORTCUTS_DUPLICATE"] = "Duplicate";
347
544
  Blockly.Msg["SHORTCUTS_EDITING"] = "Editing";
545
+ Blockly.Msg["SHORTCUTS_ESCAPE"] = "Exit";
546
+ Blockly.Msg["SHORTCUTS_EXTENDED_INFORMATION"] = "Announce detailed information";
547
+ Blockly.Msg["SHORTCUTS_FINISH_MOVE"] = "Finish move";
548
+ Blockly.Msg["SHORTCUTS_FOCUS_TOOLBOX"] = "Focus toolbox";
549
+ Blockly.Msg["SHORTCUTS_FOCUS_WORKSPACE"] = "Focus workspace";
348
550
  Blockly.Msg["SHORTCUTS_GENERAL"] = "General";
551
+ Blockly.Msg["SHORTCUTS_INFORMATION"] = "Announce information";
552
+ Blockly.Msg["SHORTCUTS_JUMP_BLOCK_END"] = "Jump to block end";
553
+ Blockly.Msg["SHORTCUTS_JUMP_BLOCK_START"] = "Jump to block start";
554
+ Blockly.Msg["SHORTCUTS_JUMP_BOTTOM_STACK"] = "Jump to bottom of stack";
555
+ Blockly.Msg["SHORTCUTS_JUMP_FIRST_BLOCK"] = "Jump to first block";
556
+ Blockly.Msg["SHORTCUTS_JUMP_LAST_BLOCK"] = "Jump to last block";
557
+ Blockly.Msg["SHORTCUTS_JUMP_NEXT_PAGE"] = "Jump to next page";
558
+ Blockly.Msg["SHORTCUTS_JUMP_PREVIOUS_PAGE"] = "Jump to previous page";
559
+ Blockly.Msg["SHORTCUTS_JUMP_TOP_STACK"] = "Jump to top of stack";
560
+ Blockly.Msg["SHORTCUTS_MOVE_DOWN"] = "Move down";
561
+ Blockly.Msg["SHORTCUTS_MOVE_LEFT"] = "Move left";
562
+ Blockly.Msg["SHORTCUTS_MOVE_RIGHT"] = "Move right";
563
+ Blockly.Msg["SHORTCUTS_MOVE_UP"] = "Move up";
564
+ Blockly.Msg["SHORTCUTS_NEXT_HEADING"] = "Next heading";
565
+ Blockly.Msg["SHORTCUTS_NEXT_STACK"] = "Next stack";
566
+ Blockly.Msg["SHORTCUTS_PERFORM_ACTION"] = "Edit or confirm";
567
+ Blockly.Msg["SHORTCUTS_PREVIOUS_HEADING"] = "Previous heading";
568
+ Blockly.Msg["SHORTCUTS_PREVIOUS_STACK"] = "Previous stack";
569
+ Blockly.Msg["SHORTCUTS_SCROLL_DOWN"] = "Scroll down";
570
+ Blockly.Msg["SHORTCUTS_SCROLL_LEFT"] = "Scroll left";
571
+ Blockly.Msg["SHORTCUTS_SCROLL_RIGHT"] = "Scroll right";
572
+ Blockly.Msg["SHORTCUTS_SCROLL_UP"] = "Scroll up";
573
+ Blockly.Msg["SHORTCUTS_SHOW_CONTEXT_MENU"] = "Show menu";
574
+ Blockly.Msg["SHORTCUTS_SHOW_TOOLTIP"] = "Show tooltip";
575
+ Blockly.Msg["SHORTCUTS_START_MOVE"] = "Start move";
576
+ Blockly.Msg["SHORTCUTS_START_MOVE_STACK"] = "Start move stack";
577
+ Blockly.Msg["SHORTCUTS_TOGGLE_SCREENREADER_MODE"] = "Toggle screenreader mode";
578
+ Blockly.Msg["SPACE_KEY"] = "Space";
579
+ Blockly.Msg["TAB_KEY"] = "Tab";
349
580
  Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification";
350
581
  Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";
351
582
  Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";
@@ -369,6 +600,8 @@ Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs withi
369
600
  Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";
370
601
  Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "join";
371
602
  Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";
603
+ Blockly.Msg["TEXT_FROM_END_ARIA"] = "letter number from end";
604
+ Blockly.Msg["TEXT_FROM_START_ARIA"] = "letter number";
372
605
  Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";
373
606
  Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "to letter #";
374
607
  Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";
@@ -415,6 +648,11 @@ Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";
415
648
  Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";
416
649
  Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";
417
650
  Blockly.Msg["TODAY"] = "Today";
651
+ Blockly.Msg["TOOLBOX_SEARCH_NO_RESULTS"] = "No matching blocks found";
652
+ Blockly.Msg["TOOLBOX_SEARCH_PLACEHOLDER"] = "Search for blocks";
653
+ Blockly.Msg["TOOLBOX_SEARCH_PROMPT"] = "Type to search for blocks";
654
+ Blockly.Msg["TOOLBOX_SEARCH_RESULT_COUNT"] = "%1 matching blocks";
655
+ Blockly.Msg["TOOLBOX_SEARCH_RESULT_COUNT_ONE"] = "1 matching block";
418
656
  Blockly.Msg["UNDO"] = "Undo";
419
657
  Blockly.Msg["UNKNOWN"] = "Unknown";
420
658
  Blockly.Msg["UNNAMED_KEY"] = "unnamed";
@@ -430,8 +668,28 @@ Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists."
430
668
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";
431
669
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'.";
432
670
  Blockly.Msg["WINDOWS"] = "Windows";
433
- Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace";
434
671
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";
672
+ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_MANY"] = "%1 stacks of blocks%2 in workspace.";
673
+ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ONE"] = "One stack of blocks%2 in workspace.";
674
+ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ZERO"] = "No blocks%2 in workspace.";
675
+ Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_MANY"] = " and %1 comments";
676
+ Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_ONE"] = " and one comment";
677
+ Blockly.Msg["WORKSPACE_LABEL_1_STACK"] = "1 stack of blocks";
678
+ Blockly.Msg["WORKSPACE_LABEL_FLYOUT_WORKSPACE"] = "%1 blocks";
679
+ Blockly.Msg["WORKSPACE_LABEL_MANY_STACKS"] = "%1 stacks of blocks";
680
+ Blockly.Msg["WORKSPACE_LABEL_MUTATOR_WORKSPACE"] = "Block editor workspace";
681
+ Blockly.Msg["WORKSPACE_LABEL_PLAIN"] = "Blocks workspace.";
682
+ Blockly.Msg["WORKSPACE_ROLEDESCRIPTION"] = "workspace";
683
+ Blockly.Msg["WORKSPACE_SEARCH_CLOSE"] = "Close search bar";
684
+ Blockly.Msg["WORKSPACE_SEARCH_FIND_NEXT"] = "Find next";
685
+ Blockly.Msg["WORKSPACE_SEARCH_FIND_PREVIOUS"] = "Find previous";
686
+ Blockly.Msg["WORKSPACE_SEARCH_INPUT_LABEL"] = "Search workspace. Press Enter for the next match, Shift+Enter for the previous match. Press Escape to close search and focus the current match.";
687
+ Blockly.Msg["WORKSPACE_SEARCH_MATCH"] = "Match %1 of %2: %3";
688
+ Blockly.Msg["WORKSPACE_SEARCH_NO_MATCHES"] = "No matching blocks";
689
+ Blockly.Msg["WORKSPACE_SEARCH_PLACEHOLDER"] = "Search";
690
+ Blockly.Msg["ZOOM_IN"] = "Zoom in";
691
+ Blockly.Msg["ZOOM_OUT"] = "Zoom out";
692
+ Blockly.Msg["ZOOM_TO_FIT_ARIA_LABEL"] = "Zoom to fit";
435
693
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
436
694
  Blockly.Msg["CONTROLS_FOR_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
437
695
  Blockly.Msg["CONTROLS_IF_ELSEIF_TITLE_ELSEIF"] = Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"];