@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/ms.js CHANGED
@@ -19,11 +19,71 @@ var Blockly = Blockly || { Msg: Object.create(null) };
19
19
 
20
20
  Blockly.Msg["ADD_COMMENT"] = "Berikan Komen";
21
21
  Blockly.Msg["ALT_KEY"] = "Alt"; // untranslated
22
+ Blockly.Msg["ANNOUNCE_CANT_SCROLL_FURTHER"] = "Can't scroll further."; // untranslated
23
+ Blockly.Msg["ANNOUNCE_MOVE_AFTER"] = "Moving %1 after %2."; // untranslated
24
+ Blockly.Msg["ANNOUNCE_MOVE_AROUND"] = "Moving %1 around %2."; // untranslated
25
+ Blockly.Msg["ANNOUNCE_MOVE_BEFORE"] = "Moving %1 before %2."; // untranslated
26
+ Blockly.Msg["ANNOUNCE_MOVE_CANCELED"] = "Canceled movement."; // untranslated
27
+ Blockly.Msg["ANNOUNCE_MOVE_INSIDE"] = "Moving %1 inside %2."; // untranslated
28
+ Blockly.Msg["ANNOUNCE_MOVE_OF"] = "%1 of %2"; // untranslated
29
+ Blockly.Msg["ANNOUNCE_MOVE_TO"] = "Moving %1 to %2."; // untranslated
30
+ Blockly.Msg["ANNOUNCE_MOVE_WORKSPACE"] = "Moving %1 on workspace."; // untranslated
31
+ Blockly.Msg["ANNOUNCE_SCROLLED_DOWN"] = "Scrolled down."; // untranslated
32
+ Blockly.Msg["ANNOUNCE_SCROLLED_LEFT"] = "Scrolled left."; // untranslated
33
+ Blockly.Msg["ANNOUNCE_SCROLLED_RIGHT"] = "Scrolled right."; // untranslated
34
+ Blockly.Msg["ANNOUNCE_SCROLLED_UP"] = "Scrolled up."; // untranslated
35
+ Blockly.Msg["ARIA_LABEL_ADD_ELSE_IF"] = "Add else if"; // untranslated
36
+ Blockly.Msg["ARIA_LABEL_ADD_INPUT"] = "Add input"; // untranslated
37
+ Blockly.Msg["ARIA_LABEL_ADD_LIST_ITEM"] = "Add list item"; // untranslated
38
+ Blockly.Msg["ARIA_LABEL_ADD_TEXT"] = "Add text"; // untranslated
39
+ Blockly.Msg["ARIA_LABEL_BUTTON"] = "button"; // untranslated
40
+ Blockly.Msg["ARIA_LABEL_COMMENT"] = "Comment"; // untranslated
41
+ Blockly.Msg["ARIA_LABEL_COMMENT_COLLAPSE"] = "Collapse Comment"; // untranslated
42
+ Blockly.Msg["ARIA_LABEL_COMMENT_EXPAND"] = "Expand Comment"; // untranslated
43
+ Blockly.Msg["ARIA_LABEL_FIELD_ANGLE"] = "%1 degrees"; // untranslated
44
+ Blockly.Msg["ARIA_LABEL_HEADING"] = "heading"; // untranslated
45
+ Blockly.Msg["ARIA_LABEL_REMOVE_ELSE_IF"] = "Remove else if"; // untranslated
46
+ Blockly.Msg["ARIA_LABEL_REMOVE_INPUT"] = "Remove input"; // untranslated
47
+ Blockly.Msg["ARIA_LABEL_REMOVE_LIST_ITEM"] = "Remove list item"; // untranslated
48
+ Blockly.Msg["ARIA_LABEL_REMOVE_TEXT"] = "Remove text"; // untranslated
49
+ Blockly.Msg["ARIA_LABEL_TRASH_EMPTY"] = "Trash, currently empty"; // untranslated
50
+ Blockly.Msg["ARIA_TYPE_FIELD_ANGLE"] = "angle"; // untranslated
51
+ Blockly.Msg["ARIA_TYPE_FIELD_BITMAP"] = "pixel image"; // untranslated
52
+ Blockly.Msg["ARIA_TYPE_FIELD_CHECKBOX"] = "checkbox"; // untranslated
53
+ Blockly.Msg["ARIA_TYPE_FIELD_COLOUR"] = "color"; // untranslated
54
+ Blockly.Msg["ARIA_TYPE_FIELD_DATE"] = "date"; // untranslated
55
+ Blockly.Msg["ARIA_TYPE_FIELD_DROPDOWN"] = "dropdown"; // untranslated
56
+ Blockly.Msg["ARIA_TYPE_FIELD_GRID"] = "grid dropdown"; // untranslated
57
+ Blockly.Msg["ARIA_TYPE_FIELD_IMAGE"] = "image"; // untranslated
58
+ Blockly.Msg["ARIA_TYPE_FIELD_INPUT"] = "input"; // untranslated
59
+ Blockly.Msg["ARIA_TYPE_FIELD_NUMBER"] = "number"; // untranslated
60
+ Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT"] = "text"; // untranslated
61
+ Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT"] = "input name"; // untranslated
62
+ Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE"] = "function name"; // untranslated
63
+ Blockly.Msg["BACKSPACE_KEY"] = "Backspace"; // untranslated
64
+ Blockly.Msg["BLOCK_LABEL_BEGIN_PREFIX"] = "Begin %1"; // untranslated
65
+ Blockly.Msg["BLOCK_LABEL_BEGIN_STACK"] = "Begin stack"; // untranslated
66
+ Blockly.Msg["BLOCK_LABEL_COLLAPSED"] = "collapsed"; // untranslated
67
+ Blockly.Msg["BLOCK_LABEL_CONTAINER"] = "container"; // untranslated
68
+ Blockly.Msg["BLOCK_LABEL_DISABLED"] = "disabled"; // untranslated
69
+ Blockly.Msg["BLOCK_LABEL_HAS_BRANCHES"] = "has %1 branches"; // untranslated
70
+ Blockly.Msg["BLOCK_LABEL_HAS_INPUT"] = "has input"; // untranslated
71
+ Blockly.Msg["BLOCK_LABEL_HAS_INPUTS"] = "has inputs"; // untranslated
72
+ Blockly.Msg["BLOCK_LABEL_REPLACEABLE"] = "replaceable"; // untranslated
73
+ Blockly.Msg["BLOCK_LABEL_STACK_BLOCKS"] = "%1 stack blocks"; // untranslated
74
+ Blockly.Msg["BLOCK_LABEL_STATEMENT"] = "statement"; // untranslated
75
+ Blockly.Msg["BLOCK_LABEL_TOOLBOX_CATEGORY"] = "%1 category"; // untranslated
76
+ Blockly.Msg["BLOCK_LABEL_VALUE"] = "value"; // untranslated
77
+ Blockly.Msg["BUBBLE_LABEL_COMMENT"] = "Comment: %1"; // untranslated
78
+ Blockly.Msg["BUBBLE_LABEL_DEFAULT"] = "Bubble"; // untranslated
79
+ Blockly.Msg["BUBBLE_LABEL_WARNING"] = "Warning: %1"; // untranslated
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'"; // untranslated
81
+ Blockly.Msg["CAPS_LOCK_KEY"] = "Caps Lock"; // untranslated
23
82
  Blockly.Msg["CHANGE_VALUE_TITLE"] = "Ubah nilai:";
24
83
  Blockly.Msg["CHROME_OS"] = "ChromeOS"; // untranslated
25
84
  Blockly.Msg["CLEAN_UP"] = "Kemaskan Blok";
26
- Blockly.Msg["CLOSE"] = "Close"; // untranslated
85
+ Blockly.Msg["CLOSE"] = "Tutup";
86
+ Blockly.Msg["CLOSE_BACKPACK"] = "Close backpack"; // untranslated
27
87
  Blockly.Msg["COLLAPSED_WARNINGS_WARNING"] = "Collapsed blocks contain warnings."; // untranslated
28
88
  Blockly.Msg["COLLAPSE_ALL"] = "Lipat Blok²";
29
89
  Blockly.Msg["COLLAPSE_BLOCK"] = "Lipat Blok";
@@ -44,7 +104,8 @@ Blockly.Msg["COLOUR_RGB_HELPURL"] = "https://www.december.com/html/spec/colorper
44
104
  Blockly.Msg["COLOUR_RGB_RED"] = "merah";
45
105
  Blockly.Msg["COLOUR_RGB_TITLE"] = "warnakan";
46
106
  Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Peroleh satu warna dengan menentukan amaun campuran merah, hijau dan biru. Kesemua nilai haruslah antara 0 hingga 100.";
47
- Blockly.Msg["COMMAND_KEY"] = "⌘ Command"; // untranslated
107
+ Blockly.Msg["COMMAND_KEY"] = "Command"; // untranslated
108
+ Blockly.Msg["CONTEXT_MENU_KEY"] = "≣ Menu"; // untranslated
48
109
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks"; // untranslated
49
110
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "hentikan gelung";
50
111
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "teruskan dengan lelaran gelung seterusnya";
@@ -77,11 +138,15 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "ulangi sehingga";
77
138
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "ulangi apabila";
78
139
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Lakukan beberapa perintah apabila nilainya palsu (false).";
79
140
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Lakukan beberapa perintah apabila nilainya benar (true).";
80
- Blockly.Msg["CONTROL_KEY"] = "Ctrl"; // untranslated
141
+ Blockly.Msg["CONTROL_KEY"] = "Control"; // untranslated
142
+ Blockly.Msg["COPY_ALL_TO_BACKPACK"] = "Copy All Blocks to Backpack"; // untranslated
81
143
  Blockly.Msg["COPY_SHORTCUT"] = "Copy"; // untranslated
144
+ Blockly.Msg["COPY_TO_BACKPACK"] = "Copy to Backpack"; // untranslated
145
+ Blockly.Msg["CURRENT_BLOCK_ANNOUNCEMENT"] = "Current block: %1"; // untranslated
82
146
  Blockly.Msg["CUT_SHORTCUT"] = "Cut"; // untranslated
83
147
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "Hapuskan kesemua %1 blok?";
84
148
  Blockly.Msg["DELETE_BLOCK"] = "Hapuskan Blok";
149
+ Blockly.Msg["DELETE_KEY"] = "Delete"; // untranslated
85
150
  Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable"; // untranslated
86
151
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?"; // untranslated
87
152
  Blockly.Msg["DELETE_X_BLOCKS"] = "Hapuskan %1 Blok";
@@ -89,19 +154,100 @@ Blockly.Msg["DIALOG_CANCEL"] = "Batalkan";
89
154
  Blockly.Msg["DIALOG_OK"] = "OK";
90
155
  Blockly.Msg["DISABLE_BLOCK"] = "Matikan Blok";
91
156
  Blockly.Msg["DUPLICATE_BLOCK"] = "Pendua";
92
- Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment"; // untranslated
157
+ Blockly.Msg["DUPLICATE_COMMENT"] = "Gandakan Komen";
93
158
  Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents"; // untranslated
159
+ Blockly.Msg["EMPTY_BACKPACK"] = "Empty Backpack"; // untranslated
94
160
  Blockly.Msg["ENABLE_BLOCK"] = "Hidupkan Blok";
161
+ Blockly.Msg["END_KEY"] = "End"; // untranslated
162
+ Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
163
+ Blockly.Msg["ESCAPE"] = "Escape"; // untranslated
95
164
  Blockly.Msg["EXPAND_ALL"] = "Buka Blok²";
96
165
  Blockly.Msg["EXPAND_BLOCK"] = "Buka Blok";
97
166
  Blockly.Msg["EXTERNAL_INPUTS"] = "Input Luaran";
167
+ Blockly.Msg["FIELD_BITMAP_ARIA_VALUE"] = "%1 by %2, %3 pixels on"; // untranslated
168
+ Blockly.Msg["FIELD_BITMAP_BUTTON_LABEL_CLEAR"] = "Clear"; // untranslated
169
+ Blockly.Msg["FIELD_BITMAP_BUTTON_LABEL_RANDOMIZE"] = "Randomize"; // untranslated
170
+ Blockly.Msg["FIELD_BITMAP_PIXEL_LABEL"] = "%1, row %2, column %3"; // untranslated
171
+ Blockly.Msg["FIELD_BITMAP_PIXEL_OFF"] = "off"; // untranslated
172
+ Blockly.Msg["FIELD_BITMAP_PIXEL_ON"] = "on"; // untranslated
173
+ Blockly.Msg["FIELD_LABEL_CHECKBOX_CHECKED"] = "Checked"; // untranslated
174
+ Blockly.Msg["FIELD_LABEL_CHECKBOX_UNCHECKED"] = "Not checked"; // untranslated
175
+ Blockly.Msg["FIELD_LABEL_EDIT_PREFIX"] = "Edit %1"; // untranslated
176
+ Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty"; // untranslated
177
+ Blockly.Msg["FIELD_LABEL_OPTION_INDEX"] = "Option %1"; // untranslated
178
+ Blockly.Msg["FIELD_LABEL_VARIABLE"] = "Variable '%1'"; // untranslated
179
+ Blockly.Msg["FIELD_MULTILINEINPUT_FINISH_EDITING"] = "Finish editing"; // untranslated
180
+ Blockly.Msg["FIELD_MULTILINEINPUT_NEW_LINE"] = "New line"; // untranslated
98
181
  Blockly.Msg["HELP"] = "Bantuan";
99
- Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls"; // untranslated
182
+ Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls."; // untranslated
183
+ Blockly.Msg["HOME_KEY"] = "Home"; // untranslated
184
+ Blockly.Msg["ICON_LABEL_COMMENT_CLOSED"] = "Open Comment"; // untranslated
185
+ Blockly.Msg["ICON_LABEL_COMMENT_OPEN"] = "Close Comment"; // untranslated
186
+ Blockly.Msg["ICON_LABEL_DEFAULT"] = "Icon"; // untranslated
187
+ Blockly.Msg["ICON_LABEL_MUTATOR_CLOSED"] = "Edit this block"; // untranslated
188
+ Blockly.Msg["ICON_LABEL_MUTATOR_OPEN"] = "Close block editor"; // untranslated
189
+ Blockly.Msg["ICON_LABEL_WARNING_CLOSED"] = "Open Warning"; // untranslated
190
+ Blockly.Msg["ICON_LABEL_WARNING_OPEN"] = "Close Warning"; // untranslated
100
191
  Blockly.Msg["INLINE_INPUTS"] = "Input Sebaris";
101
- Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position"; // untranslated
192
+ Blockly.Msg["INPUT_LABEL_CONDITION"] = "condition"; // untranslated
193
+ Blockly.Msg["INPUT_LABEL_CONDITION_A"] = "first condition"; // untranslated
194
+ Blockly.Msg["INPUT_LABEL_CONDITION_B"] = "second condition"; // untranslated
195
+ Blockly.Msg["INPUT_LABEL_EMPTY"] = "Empty"; // untranslated
196
+ Blockly.Msg["INPUT_LABEL_END_STATEMENT"] = "End %1"; // untranslated
197
+ Blockly.Msg["INPUT_LABEL_INDEX"] = "input %1"; // untranslated
198
+ Blockly.Msg["INPUT_LABEL_LISTS_CREATE_WITH_ITEM"] = "value %1"; // untranslated
199
+ Blockly.Msg["INPUT_LABEL_LISTS_DELIMITER"] = "delimiter"; // untranslated
200
+ Blockly.Msg["INPUT_LABEL_LISTS_END_POSITION"] = "end position"; // untranslated
201
+ Blockly.Msg["INPUT_LABEL_LISTS_LIST_FROM_TEXT"] = "text to split"; // untranslated
202
+ Blockly.Msg["INPUT_LABEL_LISTS_POSITION"] = "position within list"; // untranslated
203
+ Blockly.Msg["INPUT_LABEL_LISTS_REPEAT_ITEM"] = "value to repeat"; // untranslated
204
+ Blockly.Msg["INPUT_LABEL_LISTS_REPEAT_NUM"] = "number of times to repeat"; // untranslated
205
+ Blockly.Msg["INPUT_LABEL_LISTS_START_POSITION"] = "start position"; // untranslated
206
+ Blockly.Msg["INPUT_LABEL_LISTS_TEXT_FROM_LIST"] = "list to join"; // untranslated
207
+ Blockly.Msg["INPUT_LABEL_LISTS_TO_CHANGE"] = "list to change"; // untranslated
208
+ Blockly.Msg["INPUT_LABEL_LISTS_TO_CHECK"] = "list to check"; // untranslated
209
+ Blockly.Msg["INPUT_LABEL_LISTS_VALUE_TO_SET"] = "value to set"; // untranslated
210
+ Blockly.Msg["INPUT_LABEL_LOOP_BY"] = "increment"; // untranslated
211
+ Blockly.Msg["INPUT_LABEL_LOOP_FROM"] = "starting number"; // untranslated
212
+ Blockly.Msg["INPUT_LABEL_LOOP_LIST"] = "list to iterate over"; // untranslated
213
+ Blockly.Msg["INPUT_LABEL_LOOP_TIMES"] = "number of times to repeat"; // untranslated
214
+ Blockly.Msg["INPUT_LABEL_LOOP_TO"] = "ending number"; // untranslated
215
+ Blockly.Msg["INPUT_LABEL_MATH_CHANGE_BY"] = "amount to change by"; // untranslated
216
+ Blockly.Msg["INPUT_LABEL_MATH_CONSTRAIN_VALUE"] = "number to constrain"; // untranslated
217
+ Blockly.Msg["INPUT_LABEL_MATH_DIVIDEND"] = "dividend"; // untranslated
218
+ Blockly.Msg["INPUT_LABEL_MATH_DIVISOR"] = "divisor"; // untranslated
219
+ Blockly.Msg["INPUT_LABEL_NUMBER"] = "number"; // untranslated
220
+ Blockly.Msg["INPUT_LABEL_NUMBER_A"] = "first number"; // untranslated
221
+ Blockly.Msg["INPUT_LABEL_NUMBER_ATAN2_X"] = "x coordinate"; // untranslated
222
+ Blockly.Msg["INPUT_LABEL_NUMBER_ATAN2_Y"] = "y coordinate"; // untranslated
223
+ Blockly.Msg["INPUT_LABEL_NUMBER_B"] = "second number"; // untranslated
224
+ Blockly.Msg["INPUT_LABEL_NUMBER_LIST"] = "list of numbers"; // untranslated
225
+ Blockly.Msg["INPUT_LABEL_NUMBER_MAX"] = "maximum"; // untranslated
226
+ Blockly.Msg["INPUT_LABEL_NUMBER_MIN"] = "minimum"; // untranslated
227
+ Blockly.Msg["INPUT_LABEL_NUMBER_TO_CHECK"] = "number to check"; // untranslated
228
+ Blockly.Msg["INPUT_LABEL_STATEMENT"] = "statement position"; // untranslated
229
+ Blockly.Msg["INPUT_LABEL_TEXT_APPEND"] = "value to append"; // untranslated
230
+ Blockly.Msg["INPUT_LABEL_TEXT_END_POSITION"] = "end position"; // untranslated
231
+ Blockly.Msg["INPUT_LABEL_TEXT_JOIN_ITEM"] = "value %1"; // untranslated
232
+ Blockly.Msg["INPUT_LABEL_TEXT_POSITION"] = "letter position"; // untranslated
233
+ Blockly.Msg["INPUT_LABEL_TEXT_PROMPT_MESSAGE"] = "message"; // untranslated
234
+ Blockly.Msg["INPUT_LABEL_TEXT_START_POSITION"] = "start position"; // untranslated
235
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_CHANGE"] = "text to change"; // untranslated
236
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_CHECK"] = "text to check"; // untranslated
237
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_FIND"] = "text to find"; // untranslated
238
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_REPLACE"] = "text to replace"; // untranslated
239
+ Blockly.Msg["INPUT_LABEL_VALUE"] = "value position"; // untranslated
240
+ Blockly.Msg["INPUT_LABEL_VALUE_A"] = "first value"; // untranslated
241
+ Blockly.Msg["INPUT_LABEL_VALUE_B"] = "second value"; // untranslated
242
+ Blockly.Msg["INPUT_LABEL_VARIABLES_SET"] = "value to set"; // untranslated
243
+ Blockly.Msg["INSERT_KEY"] = "Insert"; // untranslated
244
+ Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use %1 to navigate inside of blocks."; // untranslated
245
+ Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position."; // untranslated
102
246
  Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "Copied. Press %1 to paste."; // untranslated
103
247
  Blockly.Msg["KEYBOARD_NAV_CUT_HINT"] = "Cut. Press %1 to paste."; // untranslated
104
- Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "Hold %1 and use arrow keys to move freely, then %2 to accept the position"; // untranslated
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."; // untranslated
249
+ Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "Hold %1 and use arrow keys to move freely, then %2 to accept the position."; // untranslated
250
+ Blockly.Msg["KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT"] = "Use the arrow keys to navigate."; // untranslated
105
251
  Blockly.Msg["LINUX"] = "Linux"; // untranslated
106
252
  Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-empty-list"; // untranslated
107
253
  Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "Wujudkan senarai kosong";
@@ -192,7 +338,13 @@ Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "palsu";
192
338
  Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Logic#values"; // untranslated
193
339
  Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Kembalikan samada benar atau palsu.";
194
340
  Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "benar";
341
+ Blockly.Msg["LOGIC_COMPARE_EQ_ARIA"] = "equals"; // untranslated
342
+ Blockly.Msg["LOGIC_COMPARE_GTE_ARIA"] = "greater than or equal to"; // untranslated
343
+ Blockly.Msg["LOGIC_COMPARE_GT_ARIA"] = "greater than"; // untranslated
195
344
  Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://id.wikipedia.org/wiki/Pertidaksamaan";
345
+ Blockly.Msg["LOGIC_COMPARE_LTE_ARIA"] = "less than or equal to"; // untranslated
346
+ Blockly.Msg["LOGIC_COMPARE_LT_ARIA"] = "less than"; // untranslated
347
+ Blockly.Msg["LOGIC_COMPARE_NEQ_ARIA"] = "not equals"; // untranslated
196
348
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Kembali benar jika kedua-dua input benar antara satu sama lain.";
197
349
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Kembali benar jika input pertama adalah lebih besar daripada input kedua.";
198
350
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Kembali benar jika input pertama adalah lebih besar daripada atau sama dengan input kedua.";
@@ -217,6 +369,7 @@ Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "Jika benar";
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"; // untranslated
219
371
  Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+"; // untranslated
372
+ Blockly.Msg["MATH_ADDITION_SYMBOL_ARIA"] = "plus"; // untranslated
220
373
  Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://ms.wikipedia.org/wiki/Aritmetik";
221
374
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Kembalikan jumlah kedua-dua bilangan.";
222
375
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Taip balik hasil bahagi dua nombor tersebut.";
@@ -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://id.wikipedia.org/wiki/Perjumlahan";
230
383
  Blockly.Msg["MATH_CHANGE_TITLE"] = "perubahan %1 oleh %2";
231
384
  Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Tambah nombor kepada pembolehubah '%1'.";
385
+ Blockly.Msg["MATH_CONSTANT_E_ARIA"] = "e"; // untranslated
386
+ Blockly.Msg["MATH_CONSTANT_GOLDEN_RATIO_ARIA"] = "golden ratio"; // untranslated
232
387
  Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://ms.wikipedia.org/wiki/Pemalar_matematik";
388
+ Blockly.Msg["MATH_CONSTANT_INFINITY_ARIA"] = "infinity"; // untranslated
389
+ Blockly.Msg["MATH_CONSTANT_PI_ARIA"] = "pi"; // untranslated
390
+ Blockly.Msg["MATH_CONSTANT_SQRT1_2_ARIA"] = "square root of 1 over 2"; // untranslated
391
+ Blockly.Msg["MATH_CONSTANT_SQRT2_ARIA"] = "square root of 2"; // untranslated
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)"; // untranslated
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"] = "÷"; // untranslated
397
+ Blockly.Msg["MATH_DIVISION_SYMBOL_ARIA"] = "divided by"; // untranslated
238
398
  Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "Boleh dibahagikan dengan";
239
399
  Blockly.Msg["MATH_IS_EVEN"] = "Adalah genap";
240
400
  Blockly.Msg["MATH_IS_NEGATIVE"] = "negatif";
@@ -247,13 +407,16 @@ Blockly.Msg["MATH_MODULO_HELPURL"] = "https://id.wikipedia.org/wiki/Operasi_modu
247
407
  Blockly.Msg["MATH_MODULO_TITLE"] = "remainder of %1 ÷ %2";
248
408
  Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Taip balik baki yang didapat daripada pembahagian dua nombor tersebut.";
249
409
  Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×"; // untranslated
410
+ Blockly.Msg["MATH_MULTIPLICATION_SYMBOL_ARIA"] = "times"; // untranslated
250
411
  Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://ms.wikipedia.org/wiki/Nombor";
251
412
  Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Suatu nombor.";
252
413
  Blockly.Msg["MATH_ONLIST_HELPURL"] = ""; // untranslated
253
414
  Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "purata daripada senarai";
254
415
  Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "Max senarai";
416
+ Blockly.Msg["MATH_ONLIST_OPERATOR_MAX_ARIA"] = "maximum"; // untranslated
255
417
  Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "Median senarai";
256
418
  Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "min dalam senarai";
419
+ Blockly.Msg["MATH_ONLIST_OPERATOR_MIN_ARIA"] = "minimum"; // untranslated
257
420
  Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "jenis senarai";
258
421
  Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "Item rawak daripada senarai";
259
422
  Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "sisihan piawai bagi senarai";
@@ -267,6 +430,7 @@ Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Kembalikan elemen rawak daripada se
267
430
  Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Kembali dengan sisihan piawai daripada senarai.";
268
431
  Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Kembalikan jumlah semua nombor dalam senarai.";
269
432
  Blockly.Msg["MATH_POWER_SYMBOL"] = "^"; // untranslated
433
+ Blockly.Msg["MATH_POWER_SYMBOL_ARIA"] = "to the power of"; // untranslated
270
434
  Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation"; // untranslated
271
435
  Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "pecahan rawak";
272
436
  Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Kembali sebahagian kecil rawak antara 0.0 (inklusif) dan 1.0 (eksklusif).";
@@ -280,6 +444,12 @@ Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "pusingan ke atas";
280
444
  Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Bulat nombor yang naik atau turun.";
281
445
  Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://ms.wikipedia.org/wiki/Punca_kuasa_dua";
282
446
  Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "mutlak";
447
+ Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE_ARIA"] = "absolute value"; // untranslated
448
+ Blockly.Msg["MATH_SINGLE_OP_EXP_ARIA"] = "e to the power of"; // untranslated
449
+ Blockly.Msg["MATH_SINGLE_OP_LN_ARIA"] = "natural logarithm"; // untranslated
450
+ Blockly.Msg["MATH_SINGLE_OP_LOG10_ARIA"] = "base 10 logarithm"; // untranslated
451
+ Blockly.Msg["MATH_SINGLE_OP_NEG_ARIA"] = "negative"; // untranslated
452
+ Blockly.Msg["MATH_SINGLE_OP_POW10_ARIA"] = "10 to the power of"; // untranslated
283
453
  Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "Punca kuasa dua";
284
454
  Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Kembalikan nilai mutlak suatu nombor.";
285
455
  Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Kembalikan e kepada kuasa nombor.";
@@ -289,29 +459,45 @@ Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Kembalikan nombor yang songsang.";
289
459
  Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Kembalikan 10 kepada kuasa nombor.";
290
460
  Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Kembalikan punca kuasa nombor.";
291
461
  Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-"; // untranslated
462
+ Blockly.Msg["MATH_SUBTRACTION_SYMBOL_ARIA"] = "minus"; // untranslated
292
463
  Blockly.Msg["MATH_TRIG_ACOS"] = "acos";
464
+ Blockly.Msg["MATH_TRIG_ACOS_ARIA"] = "inverse cosine"; // untranslated
293
465
  Blockly.Msg["MATH_TRIG_ASIN"] = "asin";
466
+ Blockly.Msg["MATH_TRIG_ASIN_ARIA"] = "inverse sine"; // untranslated
294
467
  Blockly.Msg["MATH_TRIG_ATAN"] = "atan";
468
+ Blockly.Msg["MATH_TRIG_ATAN_ARIA"] = "inverse tangent"; // untranslated
295
469
  Blockly.Msg["MATH_TRIG_COS"] = "cos";
470
+ Blockly.Msg["MATH_TRIG_COS_ARIA"] = "cosine"; // untranslated
296
471
  Blockly.Msg["MATH_TRIG_HELPURL"] = "https://ms.wikipedia.org/wiki/Fungsi_trigonometri";
297
472
  Blockly.Msg["MATH_TRIG_SIN"] = "sin";
473
+ Blockly.Msg["MATH_TRIG_SIN_ARIA"] = "sine"; // untranslated
298
474
  Blockly.Msg["MATH_TRIG_TAN"] = "tan";
475
+ Blockly.Msg["MATH_TRIG_TAN_ARIA"] = "tangent"; // untranslated
299
476
  Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Kembali arccosine beberapa nombor.";
300
477
  Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Kembalikan arcsince beberapa nombor.";
301
478
  Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Kembalikan beberapa nombor arctangent.";
302
479
  Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Kembalikan darjah kosinus (bukan radian).";
303
480
  Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Kembalikan darjah sine (bukan radian).";
304
481
  Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Kembalikan darjah tangen (bukan radian).";
482
+ Blockly.Msg["MINIMAP_ARIA_LABEL"] = "Workspace minimap. Use the arrow keys to pan the workspace."; // untranslated
305
483
  Blockly.Msg["MOVE_BLOCK"] = "Move Block"; // untranslated
306
- Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable..."; // untranslated
307
- Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable..."; // untranslated
308
- Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable..."; // untranslated
484
+ Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Cipta pemboleh ubah warna...";
485
+ Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Cipta pemboleh ubah nombor...";
486
+ Blockly.Msg["NEW_STRING_VARIABLE"] = "Cipta pemboleh ubah rentetan...";
309
487
  Blockly.Msg["NEW_VARIABLE"] = "Pembolehubah baru...";
310
488
  Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nama pembolehubah baru:";
311
- Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:"; // untranslated
312
- Blockly.Msg["OPTION_KEY"] = "⌥ Option"; // untranslated
489
+ Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Jenis pemboleh ubah baharu:";
490
+ Blockly.Msg["NO_PARENT_ANNOUNCEMENT"] = "Current block has no parent"; // untranslated
491
+ Blockly.Msg["OPEN_BACKPACK"] = "Open backpack"; // untranslated
492
+ Blockly.Msg["OPEN_TRASH"] = "Open trash"; // untranslated
493
+ Blockly.Msg["OPTION_KEY"] = "Option"; // untranslated
313
494
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
495
+ Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down"; // untranslated
496
+ Blockly.Msg["PAGE_UP_KEY"] = "Page Up"; // untranslated
497
+ Blockly.Msg["PARENT_BLOCKS_ANNOUNCEMENT"] = "Parent blocks: %1"; // untranslated
498
+ Blockly.Msg["PASTE_ALL_FROM_BACKPACK"] = "Paste All Blocks from Backpack"; // untranslated
314
499
  Blockly.Msg["PASTE_SHORTCUT"] = "Paste"; // untranslated
500
+ Blockly.Msg["PAUSE_KEY"] = "Pause"; // untranslated
315
501
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "membenarkan kenyataan";
316
502
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "dengan:";
317
503
  Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine"; // untranslated
@@ -341,11 +527,56 @@ Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "Input-input";
341
527
  Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Tambah, alih keluar atau susun semula input pada fungsi ini.";
342
528
  Blockly.Msg["REDO"] = "Redo"; // untranslated
343
529
  Blockly.Msg["REMOVE_COMMENT"] = "Padamkan Komen";
530
+ Blockly.Msg["REMOVE_FROM_BACKPACK"] = "Remove from Backpack"; // untranslated
344
531
  Blockly.Msg["RENAME_VARIABLE"] = "Tukar nama pembolehubah...";
345
532
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Tukar nama semua pembolehubah '%1' kepada:";
533
+ Blockly.Msg["RESET_ZOOM"] = "Reset zoom"; // untranslated
534
+ Blockly.Msg["SCREENREADER_HINT"] = "Use the arrow keys to navigate. Press %1 to toggle screenreader accessibility mode."; // untranslated
535
+ Blockly.Msg["SCREENREADER_MODE_DISABLED"] = "Screenreader mode is off, press %1 to turn it on"; // untranslated
536
+ Blockly.Msg["SCREENREADER_MODE_ENABLED"] = "Screenreader mode is on, press %1 to turn it off"; // untranslated
537
+ Blockly.Msg["SHIFT_KEY"] = "Shift"; // untranslated
538
+ Blockly.Msg["SHORTCUTS_ABORT_MOVE"] = "Abort move"; // untranslated
539
+ Blockly.Msg["SHORTCUTS_CLEANUP"] = "Clean up workspace"; // untranslated
346
540
  Blockly.Msg["SHORTCUTS_CODE_NAVIGATION"] = "Code navigation"; // untranslated
541
+ Blockly.Msg["SHORTCUTS_DELETE"] = "Delete"; // untranslated
542
+ Blockly.Msg["SHORTCUTS_DISCONNECT"] = "Disconnect block"; // untranslated
543
+ Blockly.Msg["SHORTCUTS_DUPLICATE"] = "Duplicate"; // untranslated
347
544
  Blockly.Msg["SHORTCUTS_EDITING"] = "Editing"; // untranslated
545
+ Blockly.Msg["SHORTCUTS_ESCAPE"] = "Exit"; // untranslated
546
+ Blockly.Msg["SHORTCUTS_EXTENDED_INFORMATION"] = "Announce detailed information"; // untranslated
547
+ Blockly.Msg["SHORTCUTS_FINISH_MOVE"] = "Finish move"; // untranslated
548
+ Blockly.Msg["SHORTCUTS_FOCUS_TOOLBOX"] = "Focus toolbox"; // untranslated
549
+ Blockly.Msg["SHORTCUTS_FOCUS_WORKSPACE"] = "Focus workspace"; // untranslated
348
550
  Blockly.Msg["SHORTCUTS_GENERAL"] = "General"; // untranslated
551
+ Blockly.Msg["SHORTCUTS_INFORMATION"] = "Announce information"; // untranslated
552
+ Blockly.Msg["SHORTCUTS_JUMP_BLOCK_END"] = "Jump to block end"; // untranslated
553
+ Blockly.Msg["SHORTCUTS_JUMP_BLOCK_START"] = "Jump to block start"; // untranslated
554
+ Blockly.Msg["SHORTCUTS_JUMP_BOTTOM_STACK"] = "Jump to bottom of stack"; // untranslated
555
+ Blockly.Msg["SHORTCUTS_JUMP_FIRST_BLOCK"] = "Jump to first block"; // untranslated
556
+ Blockly.Msg["SHORTCUTS_JUMP_LAST_BLOCK"] = "Jump to last block"; // untranslated
557
+ Blockly.Msg["SHORTCUTS_JUMP_NEXT_PAGE"] = "Jump to next page"; // untranslated
558
+ Blockly.Msg["SHORTCUTS_JUMP_PREVIOUS_PAGE"] = "Jump to previous page"; // untranslated
559
+ Blockly.Msg["SHORTCUTS_JUMP_TOP_STACK"] = "Jump to top of stack"; // untranslated
560
+ Blockly.Msg["SHORTCUTS_MOVE_DOWN"] = "Move down"; // untranslated
561
+ Blockly.Msg["SHORTCUTS_MOVE_LEFT"] = "Move left"; // untranslated
562
+ Blockly.Msg["SHORTCUTS_MOVE_RIGHT"] = "Move right"; // untranslated
563
+ Blockly.Msg["SHORTCUTS_MOVE_UP"] = "Move up"; // untranslated
564
+ Blockly.Msg["SHORTCUTS_NEXT_HEADING"] = "Next heading"; // untranslated
565
+ Blockly.Msg["SHORTCUTS_NEXT_STACK"] = "Next stack"; // untranslated
566
+ Blockly.Msg["SHORTCUTS_PERFORM_ACTION"] = "Edit or confirm"; // untranslated
567
+ Blockly.Msg["SHORTCUTS_PREVIOUS_HEADING"] = "Previous heading"; // untranslated
568
+ Blockly.Msg["SHORTCUTS_PREVIOUS_STACK"] = "Previous stack"; // untranslated
569
+ Blockly.Msg["SHORTCUTS_SCROLL_DOWN"] = "Scroll down"; // untranslated
570
+ Blockly.Msg["SHORTCUTS_SCROLL_LEFT"] = "Scroll left"; // untranslated
571
+ Blockly.Msg["SHORTCUTS_SCROLL_RIGHT"] = "Scroll right"; // untranslated
572
+ Blockly.Msg["SHORTCUTS_SCROLL_UP"] = "Scroll up"; // untranslated
573
+ Blockly.Msg["SHORTCUTS_SHOW_CONTEXT_MENU"] = "Show menu"; // untranslated
574
+ Blockly.Msg["SHORTCUTS_SHOW_TOOLTIP"] = "Show tooltip"; // untranslated
575
+ Blockly.Msg["SHORTCUTS_START_MOVE"] = "Start move"; // untranslated
576
+ Blockly.Msg["SHORTCUTS_START_MOVE_STACK"] = "Start move stack"; // untranslated
577
+ Blockly.Msg["SHORTCUTS_TOGGLE_SCREENREADER_MODE"] = "Toggle screenreader mode"; // untranslated
578
+ Blockly.Msg["SPACE_KEY"] = "Space"; // untranslated
579
+ Blockly.Msg["TAB_KEY"] = "Tab"; // untranslated
349
580
  Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification"; // untranslated
350
581
  Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2"; // untranslated
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"] = "Sertai";
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"; // untranslated
604
+ Blockly.Msg["TEXT_FROM_START_ARIA"] = "letter number"; // untranslated
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"] = "untuk huruf terakhir";
@@ -415,9 +648,14 @@ Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "mengurangkan ruang dari sebelah kiri";
415
648
  Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "mengurangkan kawasan dari sisi kanan";
416
649
  Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Kembali salinan teks dengan ruang yang dikeluarkan daripada satu atau hujung kedua belah.";
417
650
  Blockly.Msg["TODAY"] = "Hari ini";
651
+ Blockly.Msg["TOOLBOX_SEARCH_NO_RESULTS"] = "No matching blocks found"; // untranslated
652
+ Blockly.Msg["TOOLBOX_SEARCH_PLACEHOLDER"] = "Search for blocks"; // untranslated
653
+ Blockly.Msg["TOOLBOX_SEARCH_PROMPT"] = "Type to search for blocks"; // untranslated
654
+ Blockly.Msg["TOOLBOX_SEARCH_RESULT_COUNT"] = "%1 matching blocks"; // untranslated
655
+ Blockly.Msg["TOOLBOX_SEARCH_RESULT_COUNT_ONE"] = "1 matching block"; // untranslated
418
656
  Blockly.Msg["UNDO"] = "Undo"; // untranslated
419
657
  Blockly.Msg["UNKNOWN"] = "Unknown"; // untranslated
420
- Blockly.Msg["UNNAMED_KEY"] = "unnamed"; // untranslated
658
+ Blockly.Msg["UNNAMED_KEY"] = "tiada nama";
421
659
  Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "Perkara";
422
660
  Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Hasilkan 'set %1'";
423
661
  Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Variables#get"; // untranslated
@@ -426,12 +664,32 @@ Blockly.Msg["VARIABLES_SET"] = "set %1 ke %2";
426
664
  Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Hasilkan 'set %1'";
427
665
  Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Variables#set"; // untranslated
428
666
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Set pembolehubah ini supaya sama dengan input.";
429
- Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists."; // untranslated
430
- Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'."; // untranslated
667
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Pemboleh ubah '%1' sudah wujud.";
668
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Pemboleh ubah '%1' sudah wujud untuk jenis lain: '%2'";
431
669
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
432
670
  Blockly.Msg["WINDOWS"] = "Windows"; // untranslated
433
- Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace"; // untranslated
434
671
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
672
+ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_MANY"] = "%1 stacks of blocks%2 in workspace."; // untranslated
673
+ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ONE"] = "One stack of blocks%2 in workspace."; // untranslated
674
+ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ZERO"] = "No blocks%2 in workspace."; // untranslated
675
+ Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_MANY"] = " and %1 comments"; // untranslated
676
+ Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_ONE"] = " and one comment"; // untranslated
677
+ Blockly.Msg["WORKSPACE_LABEL_1_STACK"] = "1 stack of blocks"; // untranslated
678
+ Blockly.Msg["WORKSPACE_LABEL_FLYOUT_WORKSPACE"] = "%1 blocks"; // untranslated
679
+ Blockly.Msg["WORKSPACE_LABEL_MANY_STACKS"] = "%1 stacks of blocks"; // untranslated
680
+ Blockly.Msg["WORKSPACE_LABEL_MUTATOR_WORKSPACE"] = "Block editor workspace"; // untranslated
681
+ Blockly.Msg["WORKSPACE_LABEL_PLAIN"] = "Blocks workspace."; // untranslated
682
+ Blockly.Msg["WORKSPACE_ROLEDESCRIPTION"] = "workspace"; // untranslated
683
+ Blockly.Msg["WORKSPACE_SEARCH_CLOSE"] = "Close search bar"; // untranslated
684
+ Blockly.Msg["WORKSPACE_SEARCH_FIND_NEXT"] = "Find next"; // untranslated
685
+ Blockly.Msg["WORKSPACE_SEARCH_FIND_PREVIOUS"] = "Find previous"; // untranslated
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."; // untranslated
687
+ Blockly.Msg["WORKSPACE_SEARCH_MATCH"] = "Match %1 of %2: %3"; // untranslated
688
+ Blockly.Msg["WORKSPACE_SEARCH_NO_MATCHES"] = "No matching blocks"; // untranslated
689
+ Blockly.Msg["WORKSPACE_SEARCH_PLACEHOLDER"] = "Search"; // untranslated
690
+ Blockly.Msg["ZOOM_IN"] = "Zoom in"; // untranslated
691
+ Blockly.Msg["ZOOM_OUT"] = "Zoom out"; // untranslated
692
+ Blockly.Msg["ZOOM_TO_FIT_ARIA_LABEL"] = "Zoom to fit"; // untranslated
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"];