blockly 12.3.0 → 12.4.0

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 (1636) hide show
  1. package/.prettierignore +30 -0
  2. package/.prettierrc.js +15 -0
  3. package/api-extractor.json +390 -0
  4. package/appengine/.gcloudignore +20 -0
  5. package/appengine/README.txt +42 -0
  6. package/appengine/add_timestamps.py +69 -0
  7. package/appengine/app.yaml +106 -0
  8. package/appengine/apple-touch-icon.png +0 -0
  9. package/appengine/blockly_compressed.js +11 -0
  10. package/appengine/expiration.py +52 -0
  11. package/appengine/favicon.ico +0 -0
  12. package/appengine/index.yaml +11 -0
  13. package/appengine/main.py +39 -0
  14. package/appengine/redirect.html +107 -0
  15. package/appengine/requirements.txt +1 -0
  16. package/appengine/robots.txt +2 -0
  17. package/appengine/storage.js +190 -0
  18. package/appengine/storage.py +125 -0
  19. package/blocks/blocks.ts +44 -0
  20. package/blocks/lists.ts +1065 -0
  21. package/blocks/logic.ts +712 -0
  22. package/blocks/loops.ts +408 -0
  23. package/blocks/math.ts +591 -0
  24. package/blocks/procedures.ts +1366 -0
  25. package/blocks/text.ts +1001 -0
  26. package/blocks/variables.ts +181 -0
  27. package/blocks/variables_dynamic.ts +192 -0
  28. package/core/any_aliases.ts +8 -0
  29. package/core/block.ts +2511 -0
  30. package/core/block_animations.ts +233 -0
  31. package/core/block_flyout_inflater.ts +283 -0
  32. package/core/block_svg.ts +1873 -0
  33. package/core/blockly.ts +644 -0
  34. package/core/blockly_options.ts +71 -0
  35. package/core/blocks.ts +18 -0
  36. package/core/browser_events.ts +256 -0
  37. package/core/bubbles/bubble.ts +732 -0
  38. package/core/bubbles/mini_workspace_bubble.ts +292 -0
  39. package/core/bubbles/text_bubble.ts +112 -0
  40. package/core/bubbles/textinput_bubble.ts +296 -0
  41. package/core/bubbles.ts +12 -0
  42. package/core/bump_objects.ts +188 -0
  43. package/core/button_flyout_inflater.ts +76 -0
  44. package/core/clipboard/block_paster.ts +154 -0
  45. package/core/clipboard/registry.ts +31 -0
  46. package/core/clipboard/workspace_comment_paster.ts +95 -0
  47. package/core/clipboard.ts +197 -0
  48. package/core/comments/collapse_comment_bar_button.ts +102 -0
  49. package/core/comments/comment_bar_button.ts +105 -0
  50. package/core/comments/comment_editor.ts +220 -0
  51. package/core/comments/comment_view.ts +773 -0
  52. package/core/comments/delete_comment_bar_button.ts +106 -0
  53. package/core/comments/rendered_workspace_comment.ts +361 -0
  54. package/core/comments/workspace_comment.ts +247 -0
  55. package/core/comments.ts +13 -0
  56. package/core/common.ts +347 -0
  57. package/core/component_manager.ts +247 -0
  58. package/core/config.ts +65 -0
  59. package/core/connection.ts +807 -0
  60. package/core/connection_checker.ts +348 -0
  61. package/core/connection_db.ts +297 -0
  62. package/core/connection_type.ts +21 -0
  63. package/core/constants.ts +23 -0
  64. package/core/contextmenu.ts +295 -0
  65. package/core/contextmenu_items.ts +684 -0
  66. package/core/contextmenu_registry.ts +278 -0
  67. package/core/css.ts +518 -0
  68. package/core/delete_area.ts +77 -0
  69. package/core/dialog.ts +167 -0
  70. package/core/drag_target.ts +97 -0
  71. package/core/dragging/block_drag_strategy.ts +523 -0
  72. package/core/dragging/bubble_drag_strategy.ts +49 -0
  73. package/core/dragging/comment_drag_strategy.ts +92 -0
  74. package/core/dragging/dragger.ts +174 -0
  75. package/core/dragging.ts +12 -0
  76. package/core/dropdowndiv.ts +792 -0
  77. package/core/events/events.ts +109 -0
  78. package/core/events/events_abstract.ts +129 -0
  79. package/core/events/events_block_base.ts +87 -0
  80. package/core/events/events_block_change.ts +259 -0
  81. package/core/events/events_block_create.ts +185 -0
  82. package/core/events/events_block_delete.ts +182 -0
  83. package/core/events/events_block_drag.ts +116 -0
  84. package/core/events/events_block_field_intermediate_change.ts +166 -0
  85. package/core/events/events_block_move.ts +306 -0
  86. package/core/events/events_bubble_open.ts +121 -0
  87. package/core/events/events_click.ts +110 -0
  88. package/core/events/events_comment_base.ts +126 -0
  89. package/core/events/events_comment_change.ts +156 -0
  90. package/core/events/events_comment_collapse.ts +103 -0
  91. package/core/events/events_comment_create.ts +114 -0
  92. package/core/events/events_comment_delete.ts +113 -0
  93. package/core/events/events_comment_drag.ts +99 -0
  94. package/core/events/events_comment_move.ts +206 -0
  95. package/core/events/events_comment_resize.ts +169 -0
  96. package/core/events/events_selected.ts +97 -0
  97. package/core/events/events_theme_change.ts +84 -0
  98. package/core/events/events_toolbox_item_select.ts +96 -0
  99. package/core/events/events_trashcan_open.ts +87 -0
  100. package/core/events/events_ui_base.ts +47 -0
  101. package/core/events/events_var_base.ts +88 -0
  102. package/core/events/events_var_create.ts +131 -0
  103. package/core/events/events_var_delete.ts +124 -0
  104. package/core/events/events_var_rename.ts +133 -0
  105. package/core/events/events_var_type_change.ts +122 -0
  106. package/core/events/events_viewport.ts +149 -0
  107. package/core/events/predicates.ts +166 -0
  108. package/core/events/type.ts +87 -0
  109. package/core/events/utils.ts +455 -0
  110. package/core/events/workspace_events.ts +46 -0
  111. package/core/extensions.ts +497 -0
  112. package/core/field.ts +1445 -0
  113. package/core/field_checkbox.ts +266 -0
  114. package/core/field_dropdown.ts +907 -0
  115. package/core/field_image.ts +307 -0
  116. package/core/field_input.ts +826 -0
  117. package/core/field_label.ts +150 -0
  118. package/core/field_label_serializable.ts +73 -0
  119. package/core/field_number.ts +381 -0
  120. package/core/field_registry.ts +115 -0
  121. package/core/field_textinput.ts +125 -0
  122. package/core/field_variable.ts +654 -0
  123. package/core/flyout_base.ts +1013 -0
  124. package/core/flyout_button.ts +447 -0
  125. package/core/flyout_horizontal.ts +375 -0
  126. package/core/flyout_item.ts +33 -0
  127. package/core/flyout_metrics_manager.ts +90 -0
  128. package/core/flyout_navigator.ts +24 -0
  129. package/core/flyout_separator.ts +94 -0
  130. package/core/flyout_vertical.ts +354 -0
  131. package/core/focus_manager.ts +675 -0
  132. package/core/generator.ts +611 -0
  133. package/core/gesture.ts +1190 -0
  134. package/core/grid.ts +267 -0
  135. package/core/icons/comment_icon.ts +429 -0
  136. package/core/icons/exceptions.ts +23 -0
  137. package/core/icons/icon.ts +204 -0
  138. package/core/icons/icon_types.ts +32 -0
  139. package/core/icons/mutator_icon.ts +360 -0
  140. package/core/icons/registry.ts +33 -0
  141. package/core/icons/warning_icon.ts +226 -0
  142. package/core/icons.ts +24 -0
  143. package/core/inject.ts +332 -0
  144. package/core/inputs/align.ts +14 -0
  145. package/core/inputs/dummy_input.ts +26 -0
  146. package/core/inputs/end_row_input.ts +31 -0
  147. package/core/inputs/input.ts +317 -0
  148. package/core/inputs/input_types.ts +27 -0
  149. package/core/inputs/statement_input.ts +34 -0
  150. package/core/inputs/value_input.ts +30 -0
  151. package/core/inputs.ts +23 -0
  152. package/core/insertion_marker_previewer.ts +268 -0
  153. package/core/interfaces/i_autohideable.ts +27 -0
  154. package/core/interfaces/i_bounded_element.ts +31 -0
  155. package/core/interfaces/i_bubble.ts +64 -0
  156. package/core/interfaces/i_collapsible_toolbox_item.ts +33 -0
  157. package/core/interfaces/i_comment_icon.ts +47 -0
  158. package/core/interfaces/i_component.ts +19 -0
  159. package/core/interfaces/i_connection_checker.ts +101 -0
  160. package/core/interfaces/i_connection_previewer.ts +50 -0
  161. package/core/interfaces/i_contextmenu.ts +21 -0
  162. package/core/interfaces/i_copyable.ts +39 -0
  163. package/core/interfaces/i_deletable.ts +35 -0
  164. package/core/interfaces/i_delete_area.ts +28 -0
  165. package/core/interfaces/i_drag_target.ts +67 -0
  166. package/core/interfaces/i_draggable.ts +73 -0
  167. package/core/interfaces/i_dragger.ts +35 -0
  168. package/core/interfaces/i_flyout.ts +190 -0
  169. package/core/interfaces/i_flyout_inflater.ts +51 -0
  170. package/core/interfaces/i_focusable_node.ts +120 -0
  171. package/core/interfaces/i_focusable_tree.ts +144 -0
  172. package/core/interfaces/i_has_bubble.ts +37 -0
  173. package/core/interfaces/i_icon.ts +116 -0
  174. package/core/interfaces/i_keyboard_accessible.ts +22 -0
  175. package/core/interfaces/i_legacy_procedure_blocks.ts +51 -0
  176. package/core/interfaces/i_metrics_manager.ts +150 -0
  177. package/core/interfaces/i_movable.ts +19 -0
  178. package/core/interfaces/i_navigation_policy.ts +69 -0
  179. package/core/interfaces/i_observable.ts +28 -0
  180. package/core/interfaces/i_parameter_model.ts +51 -0
  181. package/core/interfaces/i_paster.ts +25 -0
  182. package/core/interfaces/i_positionable.ts +33 -0
  183. package/core/interfaces/i_procedure_block.ts +29 -0
  184. package/core/interfaces/i_procedure_map.ts +18 -0
  185. package/core/interfaces/i_procedure_model.ts +71 -0
  186. package/core/interfaces/i_registrable.ts +12 -0
  187. package/core/interfaces/i_rendered_element.ts +19 -0
  188. package/core/interfaces/i_selectable.ts +41 -0
  189. package/core/interfaces/i_selectable_toolbox_item.ts +63 -0
  190. package/core/interfaces/i_serializable.ts +32 -0
  191. package/core/interfaces/i_serializer.ts +51 -0
  192. package/core/interfaces/i_styleable.ts +26 -0
  193. package/core/interfaces/i_toolbox.ts +121 -0
  194. package/core/interfaces/i_toolbox_item.ts +83 -0
  195. package/core/interfaces/i_variable_backed_parameter_model.ts +23 -0
  196. package/core/interfaces/i_variable_map.ts +65 -0
  197. package/core/interfaces/i_variable_model.ts +57 -0
  198. package/core/internal_constants.ts +47 -0
  199. package/core/keyboard_nav/block_comment_navigation_policy.ts +76 -0
  200. package/core/keyboard_nav/block_navigation_policy.ts +213 -0
  201. package/core/keyboard_nav/comment_bar_button_navigation_policy.ts +88 -0
  202. package/core/keyboard_nav/comment_editor_navigation_policy.ts +54 -0
  203. package/core/keyboard_nav/connection_navigation_policy.ts +155 -0
  204. package/core/keyboard_nav/field_navigation_policy.ts +85 -0
  205. package/core/keyboard_nav/flyout_button_navigation_policy.ts +76 -0
  206. package/core/keyboard_nav/flyout_navigation_policy.ts +111 -0
  207. package/core/keyboard_nav/flyout_separator_navigation_policy.ts +53 -0
  208. package/core/keyboard_nav/icon_navigation_policy.ts +93 -0
  209. package/core/keyboard_nav/line_cursor.ts +414 -0
  210. package/core/keyboard_nav/marker.ts +86 -0
  211. package/core/keyboard_nav/workspace_comment_navigation_policy.ts +77 -0
  212. package/core/keyboard_nav/workspace_navigation_policy.ts +77 -0
  213. package/core/keyboard_navigation_controller.ts +63 -0
  214. package/core/label_flyout_inflater.ts +75 -0
  215. package/core/layer_manager.ts +229 -0
  216. package/core/layers.ts +17 -0
  217. package/core/main.ts +31 -0
  218. package/core/marker_manager.ts +116 -0
  219. package/core/menu.ts +486 -0
  220. package/core/menu_separator.ts +38 -0
  221. package/core/menuitem.ts +289 -0
  222. package/core/metrics_manager.ts +486 -0
  223. package/core/msg.ts +27 -0
  224. package/core/names.ts +275 -0
  225. package/core/navigator.ts +123 -0
  226. package/core/observable_procedure_map.ts +66 -0
  227. package/core/options.ts +377 -0
  228. package/core/positionable_helpers.ts +186 -0
  229. package/core/procedures.ts +622 -0
  230. package/core/registry.ts +400 -0
  231. package/core/render_management.ts +193 -0
  232. package/core/rendered_connection.ts +690 -0
  233. package/core/renderers/common/block_rendering.ts +122 -0
  234. package/core/renderers/common/constants.ts +1226 -0
  235. package/core/renderers/common/drawer.ts +511 -0
  236. package/core/renderers/common/i_path_object.ts +109 -0
  237. package/core/renderers/common/info.ts +768 -0
  238. package/core/renderers/common/path_object.ts +260 -0
  239. package/core/renderers/common/renderer.ts +236 -0
  240. package/core/renderers/geras/constants.ts +42 -0
  241. package/core/renderers/geras/drawer.ts +166 -0
  242. package/core/renderers/geras/geras.ts +31 -0
  243. package/core/renderers/geras/highlight_constants.ts +342 -0
  244. package/core/renderers/geras/highlighter.ts +312 -0
  245. package/core/renderers/geras/info.ts +476 -0
  246. package/core/renderers/geras/measurables/inline_input.ts +36 -0
  247. package/core/renderers/geras/measurables/statement_input.ts +35 -0
  248. package/core/renderers/geras/path_object.ts +121 -0
  249. package/core/renderers/geras/renderer.ts +127 -0
  250. package/core/renderers/measurables/base.ts +40 -0
  251. package/core/renderers/measurables/bottom_row.ts +103 -0
  252. package/core/renderers/measurables/connection.ts +41 -0
  253. package/core/renderers/measurables/external_value_input.ts +51 -0
  254. package/core/renderers/measurables/field.ts +48 -0
  255. package/core/renderers/measurables/hat.ts +32 -0
  256. package/core/renderers/measurables/icon.ts +40 -0
  257. package/core/renderers/measurables/in_row_spacer.ts +36 -0
  258. package/core/renderers/measurables/inline_input.ts +61 -0
  259. package/core/renderers/measurables/input_connection.ts +56 -0
  260. package/core/renderers/measurables/input_row.ts +62 -0
  261. package/core/renderers/measurables/jagged_edge.ts +35 -0
  262. package/core/renderers/measurables/next_connection.ts +41 -0
  263. package/core/renderers/measurables/output_connection.ts +42 -0
  264. package/core/renderers/measurables/previous_connection.ts +41 -0
  265. package/core/renderers/measurables/round_corner.ts +41 -0
  266. package/core/renderers/measurables/row.ts +190 -0
  267. package/core/renderers/measurables/spacer_row.ts +43 -0
  268. package/core/renderers/measurables/square_corner.ts +39 -0
  269. package/core/renderers/measurables/statement_input.ts +47 -0
  270. package/core/renderers/measurables/top_row.ts +108 -0
  271. package/core/renderers/measurables/types.ts +362 -0
  272. package/core/renderers/thrasos/info.ts +327 -0
  273. package/core/renderers/thrasos/renderer.ts +39 -0
  274. package/core/renderers/thrasos/thrasos.ts +14 -0
  275. package/core/renderers/zelos/constants.ts +913 -0
  276. package/core/renderers/zelos/drawer.ts +272 -0
  277. package/core/renderers/zelos/info.ts +651 -0
  278. package/core/renderers/zelos/measurables/bottom_row.ts +44 -0
  279. package/core/renderers/zelos/measurables/inputs.ts +40 -0
  280. package/core/renderers/zelos/measurables/row_elements.ts +29 -0
  281. package/core/renderers/zelos/measurables/top_row.ts +50 -0
  282. package/core/renderers/zelos/path_object.ts +209 -0
  283. package/core/renderers/zelos/renderer.ts +91 -0
  284. package/core/renderers/zelos/zelos.ts +31 -0
  285. package/core/scrollbar.ts +898 -0
  286. package/core/scrollbar_pair.ts +349 -0
  287. package/core/separator_flyout_inflater.ts +83 -0
  288. package/core/serialization/blocks.ts +834 -0
  289. package/core/serialization/exceptions.ts +112 -0
  290. package/core/serialization/priorities.ts +25 -0
  291. package/core/serialization/procedures.ts +158 -0
  292. package/core/serialization/registry.ts +30 -0
  293. package/core/serialization/variables.ts +69 -0
  294. package/core/serialization/workspace_comments.ts +143 -0
  295. package/core/serialization/workspaces.ts +94 -0
  296. package/core/serialization.ts +32 -0
  297. package/core/shortcut_items.ts +405 -0
  298. package/core/shortcut_registry.ts +451 -0
  299. package/core/sprites.ts +15 -0
  300. package/core/theme/classic.ts +40 -0
  301. package/core/theme/themes.ts +12 -0
  302. package/core/theme/zelos.ts +80 -0
  303. package/core/theme.ts +232 -0
  304. package/core/theme_manager.ts +192 -0
  305. package/core/toast.ts +219 -0
  306. package/core/toolbox/category.ts +746 -0
  307. package/core/toolbox/collapsible_category.ts +287 -0
  308. package/core/toolbox/separator.ts +108 -0
  309. package/core/toolbox/toolbox.ts +1210 -0
  310. package/core/toolbox/toolbox_item.ts +181 -0
  311. package/core/tooltip.ts +466 -0
  312. package/core/touch.ts +155 -0
  313. package/core/trashcan.ts +730 -0
  314. package/core/utils/aria.ts +158 -0
  315. package/core/utils/array.ts +24 -0
  316. package/core/utils/colour.ts +265 -0
  317. package/core/utils/coordinate.ts +129 -0
  318. package/core/utils/deprecation.ts +47 -0
  319. package/core/utils/dom.ts +356 -0
  320. package/core/utils/drag.ts +74 -0
  321. package/core/utils/focusable_tree_traverser.ts +126 -0
  322. package/core/utils/idgenerator.ts +70 -0
  323. package/core/utils/keycodes.ts +154 -0
  324. package/core/utils/math.ts +50 -0
  325. package/core/utils/metrics.ts +86 -0
  326. package/core/utils/object.ts +33 -0
  327. package/core/utils/parsing.ts +286 -0
  328. package/core/utils/rect.ts +142 -0
  329. package/core/utils/size.ts +62 -0
  330. package/core/utils/string.ts +289 -0
  331. package/core/utils/style.ts +219 -0
  332. package/core/utils/svg.ts +84 -0
  333. package/core/utils/svg_math.ts +207 -0
  334. package/core/utils/svg_paths.ts +133 -0
  335. package/core/utils/toolbox.ts +417 -0
  336. package/core/utils/useragent.ts +86 -0
  337. package/core/utils/xml.ts +165 -0
  338. package/core/utils.ts +59 -0
  339. package/core/variable_map.ts +476 -0
  340. package/core/variable_model.ts +150 -0
  341. package/core/variables.ts +931 -0
  342. package/core/variables_dynamic.ts +230 -0
  343. package/core/widgetdiv.ts +349 -0
  344. package/core/workspace.ts +994 -0
  345. package/core/workspace_audio.ts +137 -0
  346. package/core/workspace_dragger.ts +81 -0
  347. package/core/workspace_svg.ts +2954 -0
  348. package/core/xml.ts +1126 -0
  349. package/core/zoom_controls.ts +495 -0
  350. package/demos/blockfactory/analytics.js +195 -0
  351. package/demos/blockfactory/app_controller.js +726 -0
  352. package/demos/blockfactory/block_definition_extractor.js +742 -0
  353. package/demos/blockfactory/block_exporter_controller.js +311 -0
  354. package/demos/blockfactory/block_exporter_tools.js +212 -0
  355. package/demos/blockfactory/block_exporter_view.js +101 -0
  356. package/demos/blockfactory/block_library_controller.js +325 -0
  357. package/demos/blockfactory/block_library_storage.js +149 -0
  358. package/demos/blockfactory/block_library_view.js +178 -0
  359. package/demos/blockfactory/block_option.js +151 -0
  360. package/demos/blockfactory/blocks.js +920 -0
  361. package/demos/blockfactory/cp.css +46 -0
  362. package/demos/blockfactory/cp.js +179 -0
  363. package/demos/blockfactory/factory.css +586 -0
  364. package/demos/blockfactory/factory.js +338 -0
  365. package/demos/blockfactory/factory_utils.js +1036 -0
  366. package/demos/blockfactory/icon.png +0 -0
  367. package/demos/blockfactory/index.html +767 -0
  368. package/demos/blockfactory/link.png +0 -0
  369. package/demos/blockfactory/standard_categories.js +384 -0
  370. package/demos/blockfactory/workspacefactory/wfactory_controller.js +1332 -0
  371. package/demos/blockfactory/workspacefactory/wfactory_generator.js +224 -0
  372. package/demos/blockfactory/workspacefactory/wfactory_init.js +541 -0
  373. package/demos/blockfactory/workspacefactory/wfactory_model.js +548 -0
  374. package/demos/blockfactory/workspacefactory/wfactory_view.js +424 -0
  375. package/demos/code/code.js +626 -0
  376. package/demos/code/icon.png +0 -0
  377. package/demos/code/icons.png +0 -0
  378. package/demos/code/index.html +359 -0
  379. package/demos/code/msg/ar.js +24 -0
  380. package/demos/code/msg/be-tarask.js +24 -0
  381. package/demos/code/msg/br.js +24 -0
  382. package/demos/code/msg/ca.js +24 -0
  383. package/demos/code/msg/cs.js +24 -0
  384. package/demos/code/msg/da.js +24 -0
  385. package/demos/code/msg/de.js +24 -0
  386. package/demos/code/msg/el.js +24 -0
  387. package/demos/code/msg/en.js +24 -0
  388. package/demos/code/msg/es.js +24 -0
  389. package/demos/code/msg/et.js +24 -0
  390. package/demos/code/msg/fa.js +24 -0
  391. package/demos/code/msg/fr.js +24 -0
  392. package/demos/code/msg/he.js +24 -0
  393. package/demos/code/msg/hr.js +24 -0
  394. package/demos/code/msg/hrx.js +24 -0
  395. package/demos/code/msg/hu.js +24 -0
  396. package/demos/code/msg/ia.js +24 -0
  397. package/demos/code/msg/is.js +24 -0
  398. package/demos/code/msg/it.js +24 -0
  399. package/demos/code/msg/ja.js +24 -0
  400. package/demos/code/msg/kab.js +24 -0
  401. package/demos/code/msg/ko.js +24 -0
  402. package/demos/code/msg/mk.js +24 -0
  403. package/demos/code/msg/ms.js +24 -0
  404. package/demos/code/msg/nb.js +24 -0
  405. package/demos/code/msg/nl.js +24 -0
  406. package/demos/code/msg/oc.js +24 -0
  407. package/demos/code/msg/pl.js +24 -0
  408. package/demos/code/msg/pms.js +24 -0
  409. package/demos/code/msg/pt-br.js +24 -0
  410. package/demos/code/msg/ro.js +24 -0
  411. package/demos/code/msg/ru.js +24 -0
  412. package/demos/code/msg/sc.js +24 -0
  413. package/demos/code/msg/sk.js +24 -0
  414. package/demos/code/msg/sr.js +24 -0
  415. package/demos/code/msg/sv.js +24 -0
  416. package/demos/code/msg/ta.js +24 -0
  417. package/demos/code/msg/th.js +24 -0
  418. package/demos/code/msg/tlh.js +24 -0
  419. package/demos/code/msg/tr.js +24 -0
  420. package/demos/code/msg/uk.js +24 -0
  421. package/demos/code/msg/vi.js +24 -0
  422. package/demos/code/msg/zh-hans.js +24 -0
  423. package/demos/code/msg/zh-hant.js +24 -0
  424. package/demos/code/style.css +184 -0
  425. package/demos/index.html +68 -0
  426. package/demos/storage/icon.png +0 -0
  427. package/demos/storage/index.html +104 -0
  428. package/eslint.config.mjs +314 -0
  429. package/generators/dart/dart_generator.ts +321 -0
  430. package/generators/dart/lists.ts +525 -0
  431. package/generators/dart/logic.ts +157 -0
  432. package/generators/dart/loops.ts +217 -0
  433. package/generators/dart/math.ts +559 -0
  434. package/generators/dart/procedures.ts +138 -0
  435. package/generators/dart/text.ts +405 -0
  436. package/generators/dart/variables.ts +32 -0
  437. package/generators/dart/variables_dynamic.ts +17 -0
  438. package/generators/dart.ts +50 -0
  439. package/generators/javascript/javascript_generator.ts +346 -0
  440. package/generators/javascript/lists.ts +465 -0
  441. package/generators/javascript/logic.ts +155 -0
  442. package/generators/javascript/loops.ts +245 -0
  443. package/generators/javascript/math.ts +450 -0
  444. package/generators/javascript/procedures.ts +142 -0
  445. package/generators/javascript/text.ts +418 -0
  446. package/generators/javascript/variables.ts +32 -0
  447. package/generators/javascript/variables_dynamic.ts +17 -0
  448. package/generators/javascript.ts +46 -0
  449. package/generators/lua/lists.ts +445 -0
  450. package/generators/lua/logic.ts +144 -0
  451. package/generators/lua/loops.ts +192 -0
  452. package/generators/lua/lua_generator.ts +225 -0
  453. package/generators/lua/math.ts +473 -0
  454. package/generators/lua/procedures.ts +144 -0
  455. package/generators/lua/text.ts +380 -0
  456. package/generators/lua/variables.ts +31 -0
  457. package/generators/lua/variables_dynamic.ts +17 -0
  458. package/generators/lua.ts +44 -0
  459. package/generators/php/lists.ts +585 -0
  460. package/generators/php/logic.ts +157 -0
  461. package/generators/php/loops.ts +218 -0
  462. package/generators/php/math.ts +408 -0
  463. package/generators/php/php_generator.ts +320 -0
  464. package/generators/php/procedures.ts +159 -0
  465. package/generators/php/text.ts +315 -0
  466. package/generators/php/variables.ts +32 -0
  467. package/generators/php/variables_dynamic.ts +17 -0
  468. package/generators/php.ts +46 -0
  469. package/generators/python/lists.ts +398 -0
  470. package/generators/python/logic.ts +152 -0
  471. package/generators/python/loops.ts +251 -0
  472. package/generators/python/math.ts +434 -0
  473. package/generators/python/procedures.ts +159 -0
  474. package/generators/python/python_generator.ts +355 -0
  475. package/generators/python/text.ts +338 -0
  476. package/generators/python/variables.ts +31 -0
  477. package/generators/python/variables_dynamic.ts +17 -0
  478. package/generators/python.ts +51 -0
  479. package/gulpfile.mjs +100 -0
  480. package/jsconfig.json +7 -0
  481. package/msg/json/README.md +33 -0
  482. package/msg/json/ab.json +222 -0
  483. package/msg/json/ace.json +7 -0
  484. package/msg/json/af.json +34 -0
  485. package/msg/json/am.json +30 -0
  486. package/msg/json/ar.json +355 -0
  487. package/msg/json/ast.json +10 -0
  488. package/msg/json/az.json +334 -0
  489. package/msg/json/ba.json +211 -0
  490. package/msg/json/bcc.json +290 -0
  491. package/msg/json/be-tarask.json +335 -0
  492. package/msg/json/be.json +326 -0
  493. package/msg/json/bg.json +347 -0
  494. package/msg/json/bn.json +189 -0
  495. package/msg/json/br.json +334 -0
  496. package/msg/json/bs.json +166 -0
  497. package/msg/json/ca.json +341 -0
  498. package/msg/json/cdo.json +6 -0
  499. package/msg/json/ce.json +328 -0
  500. package/msg/json/constants.json +12 -0
  501. package/msg/json/cs.json +344 -0
  502. package/msg/json/da.json +346 -0
  503. package/msg/json/de.json +369 -0
  504. package/msg/json/diq.json +264 -0
  505. package/msg/json/dtp.json +198 -0
  506. package/msg/json/dty.json +97 -0
  507. package/msg/json/ee.json +160 -0
  508. package/msg/json/el.json +356 -0
  509. package/msg/json/en-gb.json +199 -0
  510. package/msg/json/en.json +423 -0
  511. package/msg/json/eo.json +337 -0
  512. package/msg/json/es.json +361 -0
  513. package/msg/json/et.json +335 -0
  514. package/msg/json/eu.json +219 -0
  515. package/msg/json/fa.json +342 -0
  516. package/msg/json/fi.json +350 -0
  517. package/msg/json/fo.json +46 -0
  518. package/msg/json/fr.json +374 -0
  519. package/msg/json/frr.json +6 -0
  520. package/msg/json/gl.json +338 -0
  521. package/msg/json/gn.json +54 -0
  522. package/msg/json/gor.json +87 -0
  523. package/msg/json/ha.json +313 -0
  524. package/msg/json/hak.json +17 -0
  525. package/msg/json/he.json +355 -0
  526. package/msg/json/hi.json +318 -0
  527. package/msg/json/hr.json +337 -0
  528. package/msg/json/hrx.json +287 -0
  529. package/msg/json/hsb.json +128 -0
  530. package/msg/json/hu.json +349 -0
  531. package/msg/json/hy.json +337 -0
  532. package/msg/json/ia.json +337 -0
  533. package/msg/json/id.json +338 -0
  534. package/msg/json/ig.json +323 -0
  535. package/msg/json/inh.json +80 -0
  536. package/msg/json/is.json +331 -0
  537. package/msg/json/it.json +346 -0
  538. package/msg/json/ja.json +362 -0
  539. package/msg/json/ka.json +14 -0
  540. package/msg/json/kab.json +323 -0
  541. package/msg/json/kbd-cyrl.json +84 -0
  542. package/msg/json/km.json +29 -0
  543. package/msg/json/kn.json +333 -0
  544. package/msg/json/ko.json +377 -0
  545. package/msg/json/ksh.json +43 -0
  546. package/msg/json/ku-latn.json +41 -0
  547. package/msg/json/ky.json +71 -0
  548. package/msg/json/la.json +6 -0
  549. package/msg/json/lb.json +156 -0
  550. package/msg/json/lki.json +282 -0
  551. package/msg/json/lo.json +92 -0
  552. package/msg/json/lrc.json +123 -0
  553. package/msg/json/lt.json +321 -0
  554. package/msg/json/lv.json +324 -0
  555. package/msg/json/mg.json +58 -0
  556. package/msg/json/mk.json +178 -0
  557. package/msg/json/ml.json +35 -0
  558. package/msg/json/mnw.json +90 -0
  559. package/msg/json/ms.json +300 -0
  560. package/msg/json/my.json +57 -0
  561. package/msg/json/mzn.json +6 -0
  562. package/msg/json/nb.json +331 -0
  563. package/msg/json/ne.json +247 -0
  564. package/msg/json/nl.json +358 -0
  565. package/msg/json/oc.json +194 -0
  566. package/msg/json/olo.json +37 -0
  567. package/msg/json/pa.json +75 -0
  568. package/msg/json/pl.json +358 -0
  569. package/msg/json/pms.json +325 -0
  570. package/msg/json/ps.json +50 -0
  571. package/msg/json/pt-br.json +371 -0
  572. package/msg/json/pt.json +360 -0
  573. package/msg/json/qqq.json +430 -0
  574. package/msg/json/ro.json +333 -0
  575. package/msg/json/ru.json +363 -0
  576. package/msg/json/sc.json +283 -0
  577. package/msg/json/sco.json +11 -0
  578. package/msg/json/sd.json +158 -0
  579. package/msg/json/shn.json +109 -0
  580. package/msg/json/si.json +16 -0
  581. package/msg/json/sk.json +339 -0
  582. package/msg/json/skr-arab.json +117 -0
  583. package/msg/json/sl.json +355 -0
  584. package/msg/json/smn.json +133 -0
  585. package/msg/json/sq.json +343 -0
  586. package/msg/json/sr-latn.json +324 -0
  587. package/msg/json/sr.json +349 -0
  588. package/msg/json/sv.json +350 -0
  589. package/msg/json/sw.json +12 -0
  590. package/msg/json/synonyms.json +22 -0
  591. package/msg/json/ta.json +306 -0
  592. package/msg/json/tcy.json +316 -0
  593. package/msg/json/tdd.json +110 -0
  594. package/msg/json/te.json +101 -0
  595. package/msg/json/th.json +333 -0
  596. package/msg/json/ti.json +50 -0
  597. package/msg/json/tl.json +149 -0
  598. package/msg/json/tlh.json +179 -0
  599. package/msg/json/tr.json +370 -0
  600. package/msg/json/ug-arab.json +180 -0
  601. package/msg/json/uk.json +346 -0
  602. package/msg/json/ur.json +118 -0
  603. package/msg/json/uz.json +36 -0
  604. package/msg/json/vi.json +345 -0
  605. package/msg/json/xmf.json +99 -0
  606. package/msg/json/yo.json +316 -0
  607. package/msg/json/zgh.json +83 -0
  608. package/msg/json/zh-hans.json +374 -0
  609. package/msg/json/zh-hant.json +362 -0
  610. package/msg/messages.js +1695 -0
  611. package/package.json +37 -5
  612. package/scripts/gulpfiles/appengine_tasks.mjs +189 -0
  613. package/scripts/gulpfiles/build_tasks.mjs +753 -0
  614. package/scripts/gulpfiles/config.mjs +40 -0
  615. package/scripts/gulpfiles/docs_tasks.mjs +146 -0
  616. package/scripts/gulpfiles/git_tasks.mjs +167 -0
  617. package/scripts/gulpfiles/helper_tasks.mjs +25 -0
  618. package/scripts/gulpfiles/package_tasks.mjs +257 -0
  619. package/scripts/gulpfiles/release_tasks.mjs +174 -0
  620. package/scripts/gulpfiles/test_tasks.mjs +409 -0
  621. package/scripts/helpers.js +74 -0
  622. package/scripts/i18n/common.py +233 -0
  623. package/scripts/i18n/create_messages.py +167 -0
  624. package/scripts/i18n/dedup_json.py +72 -0
  625. package/scripts/i18n/js_to_json.py +135 -0
  626. package/scripts/i18n/tests.py +46 -0
  627. package/scripts/migration/renamings.json5 +1599 -0
  628. package/scripts/package/index.js +23 -0
  629. package/scripts/package/templates/umd-msg.template +16 -0
  630. package/scripts/package/templates/umd.template +13 -0
  631. package/scripts/themes/blockStyles_example.json +11 -0
  632. package/scripts/themes/create_blockStyles.py +184 -0
  633. package/scripts/tsick.js +86 -0
  634. package/tests/browser/.mocharc.js +7 -0
  635. package/tests/browser/test/basic_block_factory_test.mjs +44 -0
  636. package/tests/browser/test/basic_block_test.mjs +38 -0
  637. package/tests/browser/test/basic_playground_test.mjs +461 -0
  638. package/tests/browser/test/block_undo_test.mjs +50 -0
  639. package/tests/browser/test/clipboard_test.mjs +611 -0
  640. package/tests/browser/test/delete_blocks_test.mjs +217 -0
  641. package/tests/browser/test/extensive_test.mjs +191 -0
  642. package/tests/browser/test/field_edits_test.mjs +61 -0
  643. package/tests/browser/test/hooks.mjs +23 -0
  644. package/tests/browser/test/mutator_test.mjs +87 -0
  645. package/tests/browser/test/procedure_test.mjs +109 -0
  646. package/tests/browser/test/test_setup.mjs +623 -0
  647. package/tests/browser/test/toolbox_drag_test.mjs +219 -0
  648. package/tests/browser/test/workspace_comment_test.mjs +220 -0
  649. package/tests/compile/index.html +43 -0
  650. package/tests/compile/main.js +53 -0
  651. package/tests/compile/test_blocks.js +47 -0
  652. package/tests/compile/webdriver.js +81 -0
  653. package/tests/generators/functions.xml +561 -0
  654. package/tests/generators/golden/generated.dart +1604 -0
  655. package/tests/generators/golden/generated.js +1552 -0
  656. package/tests/generators/golden/generated.lua +1828 -0
  657. package/tests/generators/golden/generated.php +1611 -0
  658. package/tests/generators/golden/generated.py +1407 -0
  659. package/tests/generators/index.html +408 -0
  660. package/tests/generators/lists.xml +8675 -0
  661. package/tests/generators/logic.xml +1019 -0
  662. package/tests/generators/loops1.xml +345 -0
  663. package/tests/generators/loops2.xml +891 -0
  664. package/tests/generators/loops3.xml +735 -0
  665. package/tests/generators/math.xml +2077 -0
  666. package/tests/generators/text.xml +4651 -0
  667. package/tests/generators/unittest.js +103 -0
  668. package/tests/generators/unittest_dart.js +163 -0
  669. package/tests/generators/unittest_javascript.js +167 -0
  670. package/tests/generators/unittest_lua.js +165 -0
  671. package/tests/generators/unittest_php.js +154 -0
  672. package/tests/generators/unittest_python.js +138 -0
  673. package/tests/generators/variables.xml +68 -0
  674. package/tests/generators/webdriver.js +123 -0
  675. package/tests/media/200px.png +0 -0
  676. package/tests/media/30px.png +0 -0
  677. package/tests/media/50px.png +0 -0
  678. package/tests/media/a.png +0 -0
  679. package/tests/media/arrow.png +0 -0
  680. package/tests/media/b.png +0 -0
  681. package/tests/media/c.png +0 -0
  682. package/tests/media/d.png +0 -0
  683. package/tests/media/e.png +0 -0
  684. package/tests/media/f.png +0 -0
  685. package/tests/media/g.png +0 -0
  686. package/tests/media/h.png +0 -0
  687. package/tests/media/i.png +0 -0
  688. package/tests/media/j.png +0 -0
  689. package/tests/media/k.png +0 -0
  690. package/tests/media/l.png +0 -0
  691. package/tests/media/m.png +0 -0
  692. package/tests/migration/renamings.schema.json +59 -0
  693. package/tests/migration/validate-renamings.mjs +63 -0
  694. package/tests/mocha/.mocharc.js +6 -0
  695. package/tests/mocha/block_json_test.js +777 -0
  696. package/tests/mocha/block_test.js +2949 -0
  697. package/tests/mocha/blocks/lists_test.js +238 -0
  698. package/tests/mocha/blocks/logic_ternary_test.js +320 -0
  699. package/tests/mocha/blocks/loops_test.js +56 -0
  700. package/tests/mocha/blocks/procedures_test.js +2509 -0
  701. package/tests/mocha/blocks/variables_test.js +345 -0
  702. package/tests/mocha/clipboard_test.js +263 -0
  703. package/tests/mocha/comment_deserialization_test.js +122 -0
  704. package/tests/mocha/comment_test.js +215 -0
  705. package/tests/mocha/comment_view_test.js +188 -0
  706. package/tests/mocha/connection_checker_test.js +694 -0
  707. package/tests/mocha/connection_db_test.js +363 -0
  708. package/tests/mocha/connection_test.js +3738 -0
  709. package/tests/mocha/contextmenu_items_test.js +653 -0
  710. package/tests/mocha/contextmenu_test.js +73 -0
  711. package/tests/mocha/cursor_test.js +922 -0
  712. package/tests/mocha/dialog_test.js +168 -0
  713. package/tests/mocha/dropdowndiv_test.js +458 -0
  714. package/tests/mocha/event_block_change_test.js +126 -0
  715. package/tests/mocha/event_block_create_test.js +109 -0
  716. package/tests/mocha/event_block_delete_test.js +55 -0
  717. package/tests/mocha/event_block_drag_test.js +36 -0
  718. package/tests/mocha/event_block_field_intermediate_change_test.js +67 -0
  719. package/tests/mocha/event_block_move_test.js +39 -0
  720. package/tests/mocha/event_bubble_open_test.js +42 -0
  721. package/tests/mocha/event_click_test.js +40 -0
  722. package/tests/mocha/event_comment_change_test.js +39 -0
  723. package/tests/mocha/event_comment_collapse_test.js +34 -0
  724. package/tests/mocha/event_comment_create_test.js +38 -0
  725. package/tests/mocha/event_comment_delete_test.js +38 -0
  726. package/tests/mocha/event_comment_drag_test.js +35 -0
  727. package/tests/mocha/event_comment_move_test.js +40 -0
  728. package/tests/mocha/event_comment_resize_test.js +38 -0
  729. package/tests/mocha/event_selected_test.js +41 -0
  730. package/tests/mocha/event_test.js +1668 -0
  731. package/tests/mocha/event_theme_change_test.js +36 -0
  732. package/tests/mocha/event_toolbox_item_select_test.js +64 -0
  733. package/tests/mocha/event_trashcan_open_test.js +36 -0
  734. package/tests/mocha/event_var_create_test.js +54 -0
  735. package/tests/mocha/event_var_delete_test.js +54 -0
  736. package/tests/mocha/event_var_rename_test.js +39 -0
  737. package/tests/mocha/event_var_type_change_test.js +43 -0
  738. package/tests/mocha/event_viewport_test.js +39 -0
  739. package/tests/mocha/extensions_test.js +613 -0
  740. package/tests/mocha/field_checkbox_test.js +299 -0
  741. package/tests/mocha/field_colour_test.js +395 -0
  742. package/tests/mocha/field_dropdown_test.js +328 -0
  743. package/tests/mocha/field_image_test.js +351 -0
  744. package/tests/mocha/field_label_serializable_test.js +252 -0
  745. package/tests/mocha/field_label_test.js +226 -0
  746. package/tests/mocha/field_number_test.js +505 -0
  747. package/tests/mocha/field_registry_test.js +115 -0
  748. package/tests/mocha/field_test.js +821 -0
  749. package/tests/mocha/field_textinput_test.js +593 -0
  750. package/tests/mocha/field_variable_test.js +644 -0
  751. package/tests/mocha/flyout_test.js +650 -0
  752. package/tests/mocha/focus_manager_test.js +5979 -0
  753. package/tests/mocha/focusable_tree_traverser_test.js +602 -0
  754. package/tests/mocha/generator_test.js +233 -0
  755. package/tests/mocha/gesture_test.js +133 -0
  756. package/tests/mocha/icon_test.js +431 -0
  757. package/tests/mocha/index.html +354 -0
  758. package/tests/mocha/input_test.js +296 -0
  759. package/tests/mocha/insertion_marker_test.js +432 -0
  760. package/tests/mocha/jso_deserialization_test.js +848 -0
  761. package/tests/mocha/jso_serialization_test.js +1068 -0
  762. package/tests/mocha/json_test.js +303 -0
  763. package/tests/mocha/keyboard_navigation_controller_test.js +37 -0
  764. package/tests/mocha/layering_test.js +104 -0
  765. package/tests/mocha/menu_item_test.js +176 -0
  766. package/tests/mocha/metrics_test.js +671 -0
  767. package/tests/mocha/mutator_test.js +87 -0
  768. package/tests/mocha/names_test.js +97 -0
  769. package/tests/mocha/navigation_test.js +876 -0
  770. package/tests/mocha/old_workspace_comment_test.js +256 -0
  771. package/tests/mocha/procedure_map_test.js +52 -0
  772. package/tests/mocha/rect_test.js +1668 -0
  773. package/tests/mocha/registry_test.js +281 -0
  774. package/tests/mocha/render_management_test.js +127 -0
  775. package/tests/mocha/serializer_test.js +2100 -0
  776. package/tests/mocha/shortcut_items_test.js +563 -0
  777. package/tests/mocha/shortcut_registry_test.js +533 -0
  778. package/tests/mocha/test_helpers/block_definitions.js +204 -0
  779. package/tests/mocha/test_helpers/code_generation.js +114 -0
  780. package/tests/mocha/test_helpers/common.js +106 -0
  781. package/tests/mocha/test_helpers/events.js +290 -0
  782. package/tests/mocha/test_helpers/fields.js +310 -0
  783. package/tests/mocha/test_helpers/icon_mocks.js +130 -0
  784. package/tests/mocha/test_helpers/procedures.js +304 -0
  785. package/tests/mocha/test_helpers/serialization.js +124 -0
  786. package/tests/mocha/test_helpers/setup_teardown.js +232 -0
  787. package/tests/mocha/test_helpers/toolbox_definitions.js +269 -0
  788. package/tests/mocha/test_helpers/user_input.js +62 -0
  789. package/tests/mocha/test_helpers/variables.js +27 -0
  790. package/tests/mocha/test_helpers/warnings.js +83 -0
  791. package/tests/mocha/test_helpers/workspace.js +1659 -0
  792. package/tests/mocha/theme_test.js +307 -0
  793. package/tests/mocha/toast_test.js +129 -0
  794. package/tests/mocha/toolbox_test.js +821 -0
  795. package/tests/mocha/tooltip_test.js +276 -0
  796. package/tests/mocha/touch_test.js +109 -0
  797. package/tests/mocha/trashcan_test.js +376 -0
  798. package/tests/mocha/utils_test.js +557 -0
  799. package/tests/mocha/variable_map_test.js +470 -0
  800. package/tests/mocha/variable_model_test.js +85 -0
  801. package/tests/mocha/webdriver.js +110 -0
  802. package/tests/mocha/widget_div_test.js +427 -0
  803. package/tests/mocha/workspace_comment_test.js +197 -0
  804. package/tests/mocha/workspace_svg_test.js +922 -0
  805. package/tests/mocha/workspace_test.js +24 -0
  806. package/tests/mocha/xml_test.js +893 -0
  807. package/tests/mocha/zoom_controls_test.js +81 -0
  808. package/tests/multi_playground.html +482 -0
  809. package/tests/node/.mocharc.js +6 -0
  810. package/tests/node/run_node_test.mjs +191 -0
  811. package/tests/playground.html +1280 -0
  812. package/tests/playgrounds/advanced_playground.html +188 -0
  813. package/tests/playgrounds/iframe.html +40 -0
  814. package/tests/playgrounds/screenshot.js +123 -0
  815. package/tests/scripts/check_metadata.sh +170 -0
  816. package/tests/scripts/load.mjs +140 -0
  817. package/tests/scripts/setup_linux_env.sh +7 -0
  818. package/tests/scripts/update_metadata.sh +46 -0
  819. package/tests/themes/test_themes.js +62 -0
  820. package/tests/typescript/README.md +4 -0
  821. package/tests/typescript/src/field/different_user_input.ts +81 -0
  822. package/tests/typescript/src/generators/dart.ts +24 -0
  823. package/tests/typescript/src/generators/javascript.ts +28 -0
  824. package/tests/typescript/src/generators/lua.ts +24 -0
  825. package/tests/typescript/src/generators/php.ts +24 -0
  826. package/tests/typescript/src/generators/python.ts +24 -0
  827. package/tests/typescript/src/generators.ts +33 -0
  828. package/tests/typescript/src/msg.ts +20 -0
  829. package/tests/typescript/tsconfig.json +20 -0
  830. package/tests/xml/README.txt +11 -0
  831. package/tests/xml/blockly.xsd +178 -0
  832. package/tests/xml/invalid.xml +6 -0
  833. package/tests/xml/toolbox.xml +311 -0
  834. package/tests/xml/workspace.xml +114 -0
  835. package/tsconfig.json +37 -0
  836. package/tsdoc.json +25 -0
  837. package/typings/README.md +5 -0
  838. package/typings/templates/blockly-header.template +11 -0
  839. package/typings/templates/blockly-interfaces.template +83 -0
  840. package/typings/templates/msg.template +15 -0
  841. package/typings/tsconfig.json +23 -0
  842. package/blockly.min.js +0 -2740
  843. package/blockly.mjs +0 -163
  844. package/blockly_compressed.js +0 -1814
  845. package/blockly_compressed.js.map +0 -1
  846. package/blocks.js +0 -4
  847. package/blocks.mjs +0 -12
  848. package/blocks_compressed.js +0 -193
  849. package/blocks_compressed.js.map +0 -1
  850. package/core/any_aliases.d.ts +0 -7
  851. package/core/block.d.ts +0 -1006
  852. package/core/block_animations.d.ts +0 -34
  853. package/core/block_flyout_inflater.d.ts +0 -94
  854. package/core/block_svg.d.ts +0 -733
  855. package/core/blockly.d.ts +0 -286
  856. package/core/blockly_options.d.ts +0 -70
  857. package/core/blocks.d.ts +0 -17
  858. package/core/browser_events.d.ts +0 -82
  859. package/core/bubbles/bubble.d.ts +0 -228
  860. package/core/bubbles/mini_workspace_bubble.d.ts +0 -84
  861. package/core/bubbles/text_bubble.d.ts +0 -38
  862. package/core/bubbles/textinput_bubble.d.ts +0 -102
  863. package/core/bubbles.d.ts +0 -11
  864. package/core/bump_objects.d.ts +0 -37
  865. package/core/button_flyout_inflater.d.ts +0 -42
  866. package/core/clipboard/block_paster.d.ts +0 -34
  867. package/core/clipboard/registry.d.ts +0 -21
  868. package/core/clipboard/workspace_comment_paster.d.ts +0 -19
  869. package/core/clipboard.d.ts +0 -103
  870. package/core/comments/collapse_comment_bar_button.d.ts +0 -52
  871. package/core/comments/comment_bar_button.d.ts +0 -62
  872. package/core/comments/comment_editor.d.ts +0 -62
  873. package/core/comments/comment_view.d.ts +0 -213
  874. package/core/comments/delete_comment_bar_button.d.ts +0 -52
  875. package/core/comments/rendered_workspace_comment.d.ts +0 -121
  876. package/core/comments/workspace_comment.d.ts +0 -107
  877. package/core/comments.d.ts +0 -13
  878. package/core/common.d.ts +0 -163
  879. package/core/component_manager.d.ts +0 -112
  880. package/core/config.d.ts +0 -24
  881. package/core/connection.d.ts +0 -291
  882. package/core/connection_checker.d.ts +0 -85
  883. package/core/connection_db.d.ts +0 -100
  884. package/core/connection_type.d.ts +0 -15
  885. package/core/constants.d.ts +0 -19
  886. package/core/contextmenu.d.ts +0 -53
  887. package/core/contextmenu_items.d.ts +0 -73
  888. package/core/contextmenu_registry.d.ts +0 -173
  889. package/core/css.d.ts +0 -25
  890. package/core/delete_area.d.ts +0 -48
  891. package/core/dialog.d.ts +0 -82
  892. package/core/drag_target.d.ts +0 -75
  893. package/core/dragging/block_drag_strategy.d.ts +0 -121
  894. package/core/dragging/bubble_drag_strategy.d.ts +0 -20
  895. package/core/dragging/comment_drag_strategy.d.ts +0 -26
  896. package/core/dragging/dragger.d.ts +0 -49
  897. package/core/dragging.d.ts +0 -11
  898. package/core/dropdowndiv.d.ts +0 -208
  899. package/core/events/events.d.ts +0 -72
  900. package/core/events/events_abstract.d.ts +0 -72
  901. package/core/events/events_block_base.d.ts +0 -46
  902. package/core/events/events_block_change.d.ts +0 -100
  903. package/core/events/events_block_create.d.ts +0 -59
  904. package/core/events/events_block_delete.d.ts +0 -62
  905. package/core/events/events_block_drag.d.ts +0 -61
  906. package/core/events/events_block_field_intermediate_change.d.ts +0 -71
  907. package/core/events/events_block_move.d.ts +0 -115
  908. package/core/events/events_bubble_open.d.ts +0 -62
  909. package/core/events/events_click.d.ts +0 -64
  910. package/core/events/events_comment_base.d.ts +0 -55
  911. package/core/events/events_comment_change.d.ts +0 -64
  912. package/core/events/events_comment_collapse.d.ts +0 -40
  913. package/core/events/events_comment_create.d.ts +0 -57
  914. package/core/events/events_comment_delete.d.ts +0 -57
  915. package/core/events/events_comment_drag.d.ts +0 -51
  916. package/core/events/events_comment_move.d.ts +0 -93
  917. package/core/events/events_comment_resize.d.ts +0 -68
  918. package/core/events/events_selected.d.ts +0 -53
  919. package/core/events/events_theme_change.d.ts +0 -43
  920. package/core/events/events_toolbox_item_select.d.ts +0 -49
  921. package/core/events/events_trashcan_open.d.ts +0 -47
  922. package/core/events/events_ui_base.d.ts +0 -32
  923. package/core/events/events_var_base.d.ts +0 -46
  924. package/core/events/events_var_create.d.ts +0 -55
  925. package/core/events/events_var_delete.d.ts +0 -50
  926. package/core/events/events_var_rename.d.ts +0 -51
  927. package/core/events/events_var_type_change.d.ts +0 -55
  928. package/core/events/events_viewport.d.ts +0 -67
  929. package/core/events/predicates.d.ts +0 -87
  930. package/core/events/type.d.ts +0 -81
  931. package/core/events/utils.d.ts +0 -211
  932. package/core/events/workspace_events.d.ts +0 -23
  933. package/core/extensions.d.ts +0 -99
  934. package/core/field.d.ts +0 -724
  935. package/core/field_checkbox.d.ts +0 -156
  936. package/core/field_dropdown.d.ts +0 -295
  937. package/core/field_image.d.ts +0 -148
  938. package/core/field_input.d.ts +0 -293
  939. package/core/field_label.d.ts +0 -80
  940. package/core/field_label_serializable.d.ts +0 -50
  941. package/core/field_number.d.ts +0 -194
  942. package/core/field_registry.d.ts +0 -83
  943. package/core/field_textinput.d.ts +0 -78
  944. package/core/field_variable.d.ts +0 -261
  945. package/core/flyout_base.d.ts +0 -455
  946. package/core/flyout_button.d.ts +0 -139
  947. package/core/flyout_horizontal.d.ts +0 -87
  948. package/core/flyout_item.d.ts +0 -26
  949. package/core/flyout_metrics_manager.d.ts +0 -46
  950. package/core/flyout_navigator.d.ts +0 -11
  951. package/core/flyout_separator.d.ts +0 -64
  952. package/core/flyout_vertical.d.ts +0 -88
  953. package/core/focus_manager.d.ts +0 -266
  954. package/core/generator.d.ts +0 -279
  955. package/core/gesture.d.ts +0 -454
  956. package/core/grid.d.ts +0 -124
  957. package/core/icons/comment_icon.d.ts +0 -134
  958. package/core/icons/exceptions.d.ts +0 -17
  959. package/core/icons/icon.d.ts +0 -82
  960. package/core/icons/icon_types.d.ts +0 -25
  961. package/core/icons/mutator_icon.d.ts +0 -96
  962. package/core/icons/registry.d.ts +0 -23
  963. package/core/icons/warning_icon.d.ts +0 -77
  964. package/core/icons.d.ts +0 -14
  965. package/core/inject.d.ts +0 -16
  966. package/core/inputs/align.d.ts +0 -14
  967. package/core/inputs/dummy_input.d.ts +0 -20
  968. package/core/inputs/end_row_input.d.ts +0 -25
  969. package/core/inputs/input.d.ts +0 -147
  970. package/core/inputs/input_types.d.ts +0 -16
  971. package/core/inputs/statement_input.d.ts +0 -22
  972. package/core/inputs/value_input.d.ts +0 -20
  973. package/core/inputs.d.ts +0 -14
  974. package/core/insertion_marker_previewer.d.ts +0 -67
  975. package/core/interfaces/i_autohideable.d.ts +0 -21
  976. package/core/interfaces/i_bounded_element.d.ts +0 -27
  977. package/core/interfaces/i_bubble.d.ts +0 -55
  978. package/core/interfaces/i_collapsible_toolbox_item.d.ts +0 -28
  979. package/core/interfaces/i_comment_icon.d.ts +0 -24
  980. package/core/interfaces/i_component.d.ts +0 -17
  981. package/core/interfaces/i_connection_checker.d.ts +0 -75
  982. package/core/interfaces/i_connection_previewer.d.ts +0 -39
  983. package/core/interfaces/i_contextmenu.d.ts +0 -14
  984. package/core/interfaces/i_copyable.d.ts +0 -30
  985. package/core/interfaces/i_deletable.d.ts +0 -23
  986. package/core/interfaces/i_delete_area.d.ts +0 -25
  987. package/core/interfaces/i_drag_target.d.ts +0 -59
  988. package/core/interfaces/i_draggable.d.ts +0 -56
  989. package/core/interfaces/i_dragger.d.ts +0 -32
  990. package/core/interfaces/i_flyout.d.ts +0 -159
  991. package/core/interfaces/i_flyout_inflater.d.ts +0 -48
  992. package/core/interfaces/i_focusable_node.d.ts +0 -105
  993. package/core/interfaces/i_focusable_tree.d.ts +0 -125
  994. package/core/interfaces/i_has_bubble.d.ts +0 -27
  995. package/core/interfaces/i_icon.d.ts +0 -84
  996. package/core/interfaces/i_keyboard_accessible.d.ts +0 -19
  997. package/core/interfaces/i_legacy_procedure_blocks.d.ts +0 -34
  998. package/core/interfaces/i_metrics_manager.d.ts +0 -129
  999. package/core/interfaces/i_movable.d.ts +0 -17
  1000. package/core/interfaces/i_navigation_policy.d.ts +0 -63
  1001. package/core/interfaces/i_observable.d.ts +0 -21
  1002. package/core/interfaces/i_parameter_model.d.ts +0 -44
  1003. package/core/interfaces/i_paster.d.ts +0 -15
  1004. package/core/interfaces/i_positionable.d.ts +0 -29
  1005. package/core/interfaces/i_procedure_block.d.ts +0 -16
  1006. package/core/interfaces/i_procedure_map.d.ts +0 -16
  1007. package/core/interfaces/i_procedure_model.d.ts +0 -59
  1008. package/core/interfaces/i_registrable.d.ts +0 -11
  1009. package/core/interfaces/i_rendered_element.d.ts +0 -16
  1010. package/core/interfaces/i_selectable.d.ts +0 -26
  1011. package/core/interfaces/i_selectable_toolbox_item.d.ts +0 -51
  1012. package/core/interfaces/i_serializable.d.ts +0 -24
  1013. package/core/interfaces/i_serializer.d.ts +0 -45
  1014. package/core/interfaces/i_styleable.d.ts +0 -23
  1015. package/core/interfaces/i_toolbox.d.ts +0 -102
  1016. package/core/interfaces/i_toolbox_item.d.ts +0 -71
  1017. package/core/interfaces/i_variable_backed_parameter_model.d.ts +0 -17
  1018. package/core/interfaces/i_variable_map.d.ts +0 -48
  1019. package/core/interfaces/i_variable_model.d.ts +0 -36
  1020. package/core/internal_constants.d.ts +0 -34
  1021. package/core/keyboard_nav/block_comment_navigation_policy.d.ts +0 -56
  1022. package/core/keyboard_nav/block_navigation_policy.d.ts +0 -84
  1023. package/core/keyboard_nav/comment_bar_button_navigation_policy.d.ts +0 -56
  1024. package/core/keyboard_nav/comment_editor_navigation_policy.d.ts +0 -34
  1025. package/core/keyboard_nav/connection_navigation_policy.d.ts +0 -67
  1026. package/core/keyboard_nav/field_navigation_policy.d.ts +0 -56
  1027. package/core/keyboard_nav/flyout_button_navigation_policy.d.ts +0 -56
  1028. package/core/keyboard_nav/flyout_navigation_policy.d.ts +0 -65
  1029. package/core/keyboard_nav/flyout_separator_navigation_policy.d.ts +0 -33
  1030. package/core/keyboard_nav/icon_navigation_policy.d.ts +0 -56
  1031. package/core/keyboard_nav/line_cursor.d.ts +0 -187
  1032. package/core/keyboard_nav/marker.d.ts +0 -53
  1033. package/core/keyboard_nav/workspace_comment_navigation_policy.d.ts +0 -56
  1034. package/core/keyboard_nav/workspace_navigation_policy.d.ts +0 -56
  1035. package/core/keyboard_navigation_controller.d.ts +0 -48
  1036. package/core/label_flyout_inflater.d.ts +0 -42
  1037. package/core/layer_manager.d.ts +0 -86
  1038. package/core/layers.d.ts +0 -16
  1039. package/core/main.d.ts +0 -7
  1040. package/core/marker_manager.d.ts +0 -72
  1041. package/core/menu.d.ts +0 -170
  1042. package/core/menu_separator.d.ts +0 -25
  1043. package/core/menuitem.d.ts +0 -139
  1044. package/core/metrics_manager.d.ts +0 -221
  1045. package/core/msg.d.ts +0 -24
  1046. package/core/names.d.ts +0 -139
  1047. package/core/navigator.d.ts +0 -65
  1048. package/core/observable_procedure_map.d.ts +0 -34
  1049. package/core/options.d.ts +0 -148
  1050. package/core/positionable_helpers.d.ts +0 -89
  1051. package/core/procedures.d.ts +0 -108
  1052. package/core/registry.d.ts +0 -158
  1053. package/core/render_management.d.ts +0 -34
  1054. package/core/rendered_connection.d.ts +0 -263
  1055. package/core/renderers/common/block_rendering.d.ts +0 -63
  1056. package/core/renderers/common/constants.d.ts +0 -454
  1057. package/core/renderers/common/drawer.d.ts +0 -156
  1058. package/core/renderers/common/i_path_object.d.ts +0 -88
  1059. package/core/renderers/common/info.d.ts +0 -201
  1060. package/core/renderers/common/path_object.d.ts +0 -130
  1061. package/core/renderers/common/renderer.d.ts +0 -141
  1062. package/core/renderers/geras/constants.d.ts +0 -22
  1063. package/core/renderers/geras/drawer.d.ts +0 -44
  1064. package/core/renderers/geras/geras.d.ts +0 -17
  1065. package/core/renderers/geras/highlight_constants.d.ts +0 -100
  1066. package/core/renderers/geras/highlighter.d.ts +0 -96
  1067. package/core/renderers/geras/info.d.ts +0 -45
  1068. package/core/renderers/geras/measurables/inline_input.d.ts +0 -22
  1069. package/core/renderers/geras/measurables/statement_input.d.ts +0 -22
  1070. package/core/renderers/geras/path_object.d.ts +0 -42
  1071. package/core/renderers/geras/renderer.d.ts +0 -77
  1072. package/core/renderers/measurables/base.d.ts +0 -26
  1073. package/core/renderers/measurables/bottom_row.d.ts +0 -58
  1074. package/core/renderers/measurables/connection.d.ts +0 -25
  1075. package/core/renderers/measurables/external_value_input.d.ts +0 -25
  1076. package/core/renderers/measurables/field.d.ts +0 -28
  1077. package/core/renderers/measurables/hat.d.ts +0 -19
  1078. package/core/renderers/measurables/icon.d.ts +0 -25
  1079. package/core/renderers/measurables/in_row_spacer.d.ts +0 -20
  1080. package/core/renderers/measurables/inline_input.d.ts +0 -22
  1081. package/core/renderers/measurables/input_connection.d.ts +0 -28
  1082. package/core/renderers/measurables/input_row.d.ts +0 -26
  1083. package/core/renderers/measurables/jagged_edge.d.ts +0 -19
  1084. package/core/renderers/measurables/next_connection.d.ts +0 -22
  1085. package/core/renderers/measurables/output_connection.d.ts +0 -24
  1086. package/core/renderers/measurables/previous_connection.d.ts +0 -22
  1087. package/core/renderers/measurables/round_corner.d.ts +0 -20
  1088. package/core/renderers/measurables/row.d.ts +0 -124
  1089. package/core/renderers/measurables/spacer_row.d.ts +0 -27
  1090. package/core/renderers/measurables/square_corner.d.ts +0 -20
  1091. package/core/renderers/measurables/statement_input.d.ts +0 -21
  1092. package/core/renderers/measurables/top_row.d.ts +0 -53
  1093. package/core/renderers/measurables/types.d.ts +0 -258
  1094. package/core/renderers/thrasos/info.d.ts +0 -37
  1095. package/core/renderers/thrasos/renderer.d.ts +0 -28
  1096. package/core/renderers/thrasos/thrasos.d.ts +0 -10
  1097. package/core/renderers/zelos/constants.d.ts +0 -165
  1098. package/core/renderers/zelos/drawer.d.ts +0 -51
  1099. package/core/renderers/zelos/info.d.ts +0 -89
  1100. package/core/renderers/zelos/measurables/bottom_row.d.ts +0 -26
  1101. package/core/renderers/zelos/measurables/inputs.d.ts +0 -21
  1102. package/core/renderers/zelos/measurables/row_elements.d.ts +0 -20
  1103. package/core/renderers/zelos/measurables/top_row.d.ts +0 -28
  1104. package/core/renderers/zelos/path_object.d.ts +0 -76
  1105. package/core/renderers/zelos/renderer.d.ts +0 -64
  1106. package/core/renderers/zelos/zelos.d.ts +0 -17
  1107. package/core/scrollbar.d.ts +0 -348
  1108. package/core/scrollbar_pair.d.ts +0 -121
  1109. package/core/separator_flyout_inflater.d.ts +0 -57
  1110. package/core/serialization/blocks.d.ts +0 -138
  1111. package/core/serialization/exceptions.d.ts +0 -81
  1112. package/core/serialization/priorities.d.ts +0 -20
  1113. package/core/serialization/procedures.d.ts +0 -97
  1114. package/core/serialization/registry.d.ts +0 -21
  1115. package/core/serialization/variables.d.ts +0 -38
  1116. package/core/serialization/workspace_comments.d.ts +0 -45
  1117. package/core/serialization/workspaces.d.ts +0 -29
  1118. package/core/serialization.d.ts +0 -19
  1119. package/core/shortcut_items.d.ts +0 -54
  1120. package/core/shortcut_registry.d.ts +0 -236
  1121. package/core/sprites.d.ts +0 -15
  1122. package/core/theme/classic.d.ts +0 -12
  1123. package/core/theme/themes.d.ts +0 -9
  1124. package/core/theme/zelos.d.ts +0 -11
  1125. package/core/theme.d.ts +0 -151
  1126. package/core/theme_manager.d.ts +0 -92
  1127. package/core/toast.d.ts +0 -74
  1128. package/core/toolbox/category.d.ts +0 -265
  1129. package/core/toolbox/collapsible_category.d.ts +0 -99
  1130. package/core/toolbox/separator.d.ts +0 -40
  1131. package/core/toolbox/toolbox.d.ts +0 -417
  1132. package/core/toolbox/toolbox_item.d.ts +0 -109
  1133. package/core/tooltip.d.ts +0 -118
  1134. package/core/touch.d.ts +0 -72
  1135. package/core/trashcan.d.ts +0 -212
  1136. package/core/utils/aria.d.ts +0 -69
  1137. package/core/utils/array.d.ts +0 -15
  1138. package/core/utils/colour.d.ts +0 -102
  1139. package/core/utils/coordinate.d.ts +0 -87
  1140. package/core/utils/deprecation.d.ts +0 -18
  1141. package/core/utils/dom.d.ts +0 -154
  1142. package/core/utils/drag.d.ts +0 -33
  1143. package/core/utils/focusable_tree_traverser.d.ts +0 -53
  1144. package/core/utils/idgenerator.d.ts +0 -33
  1145. package/core/utils/keycodes.d.ts +0 -136
  1146. package/core/utils/math.d.ts +0 -31
  1147. package/core/utils/metrics.d.ts +0 -64
  1148. package/core/utils/object.d.ts +0 -17
  1149. package/core/utils/parsing.d.ts +0 -52
  1150. package/core/utils/rect.d.ts +0 -82
  1151. package/core/utils/size.d.ts +0 -44
  1152. package/core/utils/string.d.ts +0 -46
  1153. package/core/utils/style.d.ts +0 -89
  1154. package/core/utils/svg.d.ts +0 -75
  1155. package/core/utils/svg_math.d.ts +0 -64
  1156. package/core/utils/svg_paths.d.ts +0 -103
  1157. package/core/utils/toolbox.d.ts +0 -180
  1158. package/core/utils/useragent.d.ts +0 -14
  1159. package/core/utils/xml.d.ts +0 -96
  1160. package/core/utils.d.ts +0 -31
  1161. package/core/variable_map.d.ts +0 -164
  1162. package/core/variable_model.d.ts +0 -73
  1163. package/core/variables.d.ts +0 -238
  1164. package/core/variables_dynamic.d.ts +0 -56
  1165. package/core/widgetdiv.d.ts +0 -87
  1166. package/core/workspace.d.ts +0 -482
  1167. package/core/workspace_audio.d.ts +0 -61
  1168. package/core/workspace_dragger.d.ts +0 -54
  1169. package/core/workspace_svg.d.ts +0 -1103
  1170. package/core/xml.d.ts +0 -127
  1171. package/core/zoom_controls.d.ts +0 -134
  1172. package/core.js +0 -4
  1173. package/dart.js +0 -4
  1174. package/dart.mjs +0 -6
  1175. package/dart_compressed.js +0 -330
  1176. package/dart_compressed.js.map +0 -1
  1177. package/generators/dart/dart_generator.d.ts +0 -104
  1178. package/generators/dart/lists.d.ts +0 -21
  1179. package/generators/dart/logic.d.ts +0 -20
  1180. package/generators/dart/loops.d.ts +0 -14
  1181. package/generators/dart/math.d.ts +0 -26
  1182. package/generators/dart/procedures.d.ts +0 -14
  1183. package/generators/dart/text.d.ts +0 -25
  1184. package/generators/dart/variables.d.ts +0 -14
  1185. package/generators/dart/variables_dynamic.d.ts +0 -10
  1186. package/generators/dart.d.ts +0 -18
  1187. package/generators/javascript/javascript_generator.d.ts +0 -123
  1188. package/generators/javascript/lists.d.ts +0 -21
  1189. package/generators/javascript/logic.d.ts +0 -20
  1190. package/generators/javascript/loops.d.ts +0 -14
  1191. package/generators/javascript/math.d.ts +0 -26
  1192. package/generators/javascript/procedures.d.ts +0 -14
  1193. package/generators/javascript/text.d.ts +0 -25
  1194. package/generators/javascript/variables.d.ts +0 -14
  1195. package/generators/javascript/variables_dynamic.d.ts +0 -10
  1196. package/generators/javascript.d.ts +0 -18
  1197. package/generators/lua/lists.d.ts +0 -21
  1198. package/generators/lua/logic.d.ts +0 -20
  1199. package/generators/lua/loops.d.ts +0 -14
  1200. package/generators/lua/lua_generator.d.ts +0 -91
  1201. package/generators/lua/math.d.ts +0 -26
  1202. package/generators/lua/procedures.d.ts +0 -14
  1203. package/generators/lua/text.d.ts +0 -25
  1204. package/generators/lua/variables.d.ts +0 -14
  1205. package/generators/lua/variables_dynamic.d.ts +0 -10
  1206. package/generators/lua.d.ts +0 -12
  1207. package/generators/php/lists.d.ts +0 -21
  1208. package/generators/php/logic.d.ts +0 -20
  1209. package/generators/php/loops.d.ts +0 -14
  1210. package/generators/php/math.d.ts +0 -26
  1211. package/generators/php/php_generator.d.ts +0 -122
  1212. package/generators/php/procedures.d.ts +0 -14
  1213. package/generators/php/text.d.ts +0 -25
  1214. package/generators/php/variables.d.ts +0 -14
  1215. package/generators/php/variables_dynamic.d.ts +0 -10
  1216. package/generators/php.d.ts +0 -13
  1217. package/generators/python/lists.d.ts +0 -21
  1218. package/generators/python/logic.d.ts +0 -20
  1219. package/generators/python/loops.d.ts +0 -14
  1220. package/generators/python/math.d.ts +0 -26
  1221. package/generators/python/procedures.d.ts +0 -14
  1222. package/generators/python/python_generator.d.ts +0 -111
  1223. package/generators/python/text.d.ts +0 -25
  1224. package/generators/python/variables.d.ts +0 -14
  1225. package/generators/python/variables_dynamic.d.ts +0 -10
  1226. package/generators/python.d.ts +0 -13
  1227. package/index.js +0 -36
  1228. package/index.mjs +0 -163
  1229. package/javascript.js +0 -4
  1230. package/javascript.mjs +0 -6
  1231. package/javascript_compressed.js +0 -264
  1232. package/javascript_compressed.js.map +0 -1
  1233. package/lua.js +0 -4
  1234. package/lua.mjs +0 -6
  1235. package/lua_compressed.js +0 -373
  1236. package/lua_compressed.js.map +0 -1
  1237. package/media/click.ogg +0 -0
  1238. package/media/click.wav +0 -0
  1239. package/media/delete.ogg +0 -0
  1240. package/media/delete.wav +0 -0
  1241. package/media/disconnect.ogg +0 -0
  1242. package/media/disconnect.wav +0 -0
  1243. package/msg/ab.js +0 -466
  1244. package/msg/ab.mjs +0 -446
  1245. package/msg/ace.js +0 -466
  1246. package/msg/ace.mjs +0 -446
  1247. package/msg/af.js +0 -466
  1248. package/msg/af.mjs +0 -446
  1249. package/msg/am.js +0 -466
  1250. package/msg/am.mjs +0 -446
  1251. package/msg/ar.js +0 -466
  1252. package/msg/ar.mjs +0 -446
  1253. package/msg/ast.js +0 -466
  1254. package/msg/ast.mjs +0 -446
  1255. package/msg/az.js +0 -466
  1256. package/msg/az.mjs +0 -446
  1257. package/msg/ba.js +0 -466
  1258. package/msg/ba.mjs +0 -446
  1259. package/msg/bcc.js +0 -466
  1260. package/msg/bcc.mjs +0 -446
  1261. package/msg/be-tarask.js +0 -466
  1262. package/msg/be-tarask.mjs +0 -446
  1263. package/msg/be.js +0 -466
  1264. package/msg/be.mjs +0 -446
  1265. package/msg/bg.js +0 -466
  1266. package/msg/bg.mjs +0 -446
  1267. package/msg/bn.js +0 -466
  1268. package/msg/bn.mjs +0 -446
  1269. package/msg/br.js +0 -466
  1270. package/msg/br.mjs +0 -446
  1271. package/msg/bs.js +0 -466
  1272. package/msg/bs.mjs +0 -446
  1273. package/msg/ca.js +0 -466
  1274. package/msg/ca.mjs +0 -446
  1275. package/msg/cdo.js +0 -466
  1276. package/msg/cdo.mjs +0 -446
  1277. package/msg/ce.js +0 -466
  1278. package/msg/ce.mjs +0 -446
  1279. package/msg/cs.js +0 -466
  1280. package/msg/cs.mjs +0 -446
  1281. package/msg/da.js +0 -466
  1282. package/msg/da.mjs +0 -446
  1283. package/msg/de.js +0 -466
  1284. package/msg/de.mjs +0 -446
  1285. package/msg/diq.js +0 -466
  1286. package/msg/diq.mjs +0 -446
  1287. package/msg/dtp.js +0 -466
  1288. package/msg/dtp.mjs +0 -446
  1289. package/msg/dty.js +0 -466
  1290. package/msg/dty.mjs +0 -446
  1291. package/msg/ee.js +0 -466
  1292. package/msg/ee.mjs +0 -446
  1293. package/msg/el.js +0 -466
  1294. package/msg/el.mjs +0 -446
  1295. package/msg/en-gb.js +0 -466
  1296. package/msg/en-gb.mjs +0 -446
  1297. package/msg/en.js +0 -466
  1298. package/msg/en.mjs +0 -446
  1299. package/msg/eo.js +0 -466
  1300. package/msg/eo.mjs +0 -446
  1301. package/msg/es.js +0 -466
  1302. package/msg/es.mjs +0 -446
  1303. package/msg/et.js +0 -466
  1304. package/msg/et.mjs +0 -446
  1305. package/msg/eu.js +0 -466
  1306. package/msg/eu.mjs +0 -446
  1307. package/msg/fa.js +0 -466
  1308. package/msg/fa.mjs +0 -446
  1309. package/msg/fi.js +0 -466
  1310. package/msg/fi.mjs +0 -446
  1311. package/msg/fo.js +0 -466
  1312. package/msg/fo.mjs +0 -446
  1313. package/msg/fr.js +0 -466
  1314. package/msg/fr.mjs +0 -446
  1315. package/msg/frr.js +0 -466
  1316. package/msg/frr.mjs +0 -446
  1317. package/msg/gl.js +0 -466
  1318. package/msg/gl.mjs +0 -446
  1319. package/msg/gn.js +0 -466
  1320. package/msg/gn.mjs +0 -446
  1321. package/msg/gor.js +0 -466
  1322. package/msg/gor.mjs +0 -446
  1323. package/msg/ha.js +0 -466
  1324. package/msg/ha.mjs +0 -446
  1325. package/msg/hak.js +0 -466
  1326. package/msg/hak.mjs +0 -446
  1327. package/msg/he.js +0 -466
  1328. package/msg/he.mjs +0 -446
  1329. package/msg/hi.js +0 -466
  1330. package/msg/hi.mjs +0 -446
  1331. package/msg/hr.js +0 -466
  1332. package/msg/hr.mjs +0 -446
  1333. package/msg/hrx.js +0 -466
  1334. package/msg/hrx.mjs +0 -446
  1335. package/msg/hsb.js +0 -466
  1336. package/msg/hsb.mjs +0 -446
  1337. package/msg/hu.js +0 -466
  1338. package/msg/hu.mjs +0 -446
  1339. package/msg/hy.js +0 -466
  1340. package/msg/hy.mjs +0 -446
  1341. package/msg/ia.js +0 -466
  1342. package/msg/ia.mjs +0 -446
  1343. package/msg/id.js +0 -466
  1344. package/msg/id.mjs +0 -446
  1345. package/msg/ig.js +0 -466
  1346. package/msg/ig.mjs +0 -446
  1347. package/msg/inh.js +0 -466
  1348. package/msg/inh.mjs +0 -446
  1349. package/msg/is.js +0 -466
  1350. package/msg/is.mjs +0 -446
  1351. package/msg/it.js +0 -466
  1352. package/msg/it.mjs +0 -446
  1353. package/msg/ja.js +0 -466
  1354. package/msg/ja.mjs +0 -446
  1355. package/msg/ka.js +0 -466
  1356. package/msg/ka.mjs +0 -446
  1357. package/msg/kab.js +0 -466
  1358. package/msg/kab.mjs +0 -446
  1359. package/msg/kbd-cyrl.js +0 -466
  1360. package/msg/kbd-cyrl.mjs +0 -446
  1361. package/msg/km.js +0 -466
  1362. package/msg/km.mjs +0 -446
  1363. package/msg/kn.js +0 -466
  1364. package/msg/kn.mjs +0 -446
  1365. package/msg/ko.js +0 -466
  1366. package/msg/ko.mjs +0 -446
  1367. package/msg/ksh.js +0 -466
  1368. package/msg/ksh.mjs +0 -446
  1369. package/msg/ku-latn.js +0 -466
  1370. package/msg/ku-latn.mjs +0 -446
  1371. package/msg/ky.js +0 -466
  1372. package/msg/ky.mjs +0 -446
  1373. package/msg/la.js +0 -466
  1374. package/msg/la.mjs +0 -446
  1375. package/msg/lb.js +0 -466
  1376. package/msg/lb.mjs +0 -446
  1377. package/msg/lki.js +0 -466
  1378. package/msg/lki.mjs +0 -446
  1379. package/msg/lo.js +0 -466
  1380. package/msg/lo.mjs +0 -446
  1381. package/msg/lrc.js +0 -466
  1382. package/msg/lrc.mjs +0 -446
  1383. package/msg/lt.js +0 -466
  1384. package/msg/lt.mjs +0 -446
  1385. package/msg/lv.js +0 -466
  1386. package/msg/lv.mjs +0 -446
  1387. package/msg/mg.js +0 -466
  1388. package/msg/mg.mjs +0 -446
  1389. package/msg/mk.js +0 -466
  1390. package/msg/mk.mjs +0 -446
  1391. package/msg/ml.js +0 -466
  1392. package/msg/ml.mjs +0 -446
  1393. package/msg/mnw.js +0 -466
  1394. package/msg/mnw.mjs +0 -446
  1395. package/msg/ms.js +0 -466
  1396. package/msg/ms.mjs +0 -446
  1397. package/msg/my.js +0 -466
  1398. package/msg/my.mjs +0 -446
  1399. package/msg/mzn.js +0 -466
  1400. package/msg/mzn.mjs +0 -446
  1401. package/msg/nb.js +0 -466
  1402. package/msg/nb.mjs +0 -446
  1403. package/msg/ne.js +0 -466
  1404. package/msg/ne.mjs +0 -446
  1405. package/msg/nl.js +0 -466
  1406. package/msg/nl.mjs +0 -446
  1407. package/msg/oc.js +0 -466
  1408. package/msg/oc.mjs +0 -446
  1409. package/msg/olo.js +0 -466
  1410. package/msg/olo.mjs +0 -446
  1411. package/msg/pa.js +0 -466
  1412. package/msg/pa.mjs +0 -446
  1413. package/msg/pl.js +0 -466
  1414. package/msg/pl.mjs +0 -446
  1415. package/msg/pms.js +0 -466
  1416. package/msg/pms.mjs +0 -446
  1417. package/msg/ps.js +0 -466
  1418. package/msg/ps.mjs +0 -446
  1419. package/msg/pt-br.js +0 -466
  1420. package/msg/pt-br.mjs +0 -446
  1421. package/msg/pt.js +0 -466
  1422. package/msg/pt.mjs +0 -446
  1423. package/msg/ro.js +0 -466
  1424. package/msg/ro.mjs +0 -446
  1425. package/msg/ru.js +0 -466
  1426. package/msg/ru.mjs +0 -446
  1427. package/msg/sc.js +0 -466
  1428. package/msg/sc.mjs +0 -446
  1429. package/msg/sco.js +0 -466
  1430. package/msg/sco.mjs +0 -446
  1431. package/msg/sd.js +0 -466
  1432. package/msg/sd.mjs +0 -446
  1433. package/msg/shn.js +0 -466
  1434. package/msg/shn.mjs +0 -446
  1435. package/msg/si.js +0 -466
  1436. package/msg/si.mjs +0 -446
  1437. package/msg/sk.js +0 -466
  1438. package/msg/sk.mjs +0 -446
  1439. package/msg/skr-arab.js +0 -466
  1440. package/msg/skr-arab.mjs +0 -446
  1441. package/msg/sl.js +0 -466
  1442. package/msg/sl.mjs +0 -446
  1443. package/msg/smn.js +0 -466
  1444. package/msg/smn.mjs +0 -446
  1445. package/msg/sq.js +0 -466
  1446. package/msg/sq.mjs +0 -446
  1447. package/msg/sr-latn.js +0 -466
  1448. package/msg/sr-latn.mjs +0 -446
  1449. package/msg/sr.js +0 -466
  1450. package/msg/sr.mjs +0 -446
  1451. package/msg/sv.js +0 -466
  1452. package/msg/sv.mjs +0 -446
  1453. package/msg/sw.js +0 -466
  1454. package/msg/sw.mjs +0 -446
  1455. package/msg/ta.js +0 -466
  1456. package/msg/ta.mjs +0 -446
  1457. package/msg/tcy.js +0 -466
  1458. package/msg/tcy.mjs +0 -446
  1459. package/msg/tdd.js +0 -466
  1460. package/msg/tdd.mjs +0 -446
  1461. package/msg/te.js +0 -466
  1462. package/msg/te.mjs +0 -446
  1463. package/msg/th.js +0 -466
  1464. package/msg/th.mjs +0 -446
  1465. package/msg/ti.js +0 -466
  1466. package/msg/ti.mjs +0 -446
  1467. package/msg/tl.js +0 -466
  1468. package/msg/tl.mjs +0 -446
  1469. package/msg/tlh.js +0 -466
  1470. package/msg/tlh.mjs +0 -446
  1471. package/msg/tr.js +0 -466
  1472. package/msg/tr.mjs +0 -446
  1473. package/msg/ug-arab.js +0 -466
  1474. package/msg/ug-arab.mjs +0 -446
  1475. package/msg/uk.js +0 -466
  1476. package/msg/uk.mjs +0 -446
  1477. package/msg/ur.js +0 -466
  1478. package/msg/ur.mjs +0 -446
  1479. package/msg/uz.js +0 -466
  1480. package/msg/uz.mjs +0 -446
  1481. package/msg/vi.js +0 -466
  1482. package/msg/vi.mjs +0 -446
  1483. package/msg/xmf.js +0 -466
  1484. package/msg/xmf.mjs +0 -446
  1485. package/msg/yo.js +0 -466
  1486. package/msg/yo.mjs +0 -446
  1487. package/msg/zgh.js +0 -466
  1488. package/msg/zgh.mjs +0 -446
  1489. package/msg/zh-hans.js +0 -466
  1490. package/msg/zh-hans.mjs +0 -446
  1491. package/msg/zh-hant.js +0 -466
  1492. package/msg/zh-hant.mjs +0 -446
  1493. package/php.js +0 -4
  1494. package/php.mjs +0 -6
  1495. package/php_compressed.js +0 -283
  1496. package/php_compressed.js.map +0 -1
  1497. package/python.js +0 -4
  1498. package/python.mjs +0 -6
  1499. package/python_compressed.js +0 -208
  1500. package/python_compressed.js.map +0 -1
  1501. /package/{README.md → scripts/package/README.md} +0 -0
  1502. /package/{core-node.js → scripts/package/core-node.js} +0 -0
  1503. /package/{blocks.d.ts → typings/blocks.d.ts} +0 -0
  1504. /package/{core.d.ts → typings/core.d.ts} +0 -0
  1505. /package/{dart.d.ts → typings/dart.d.ts} +0 -0
  1506. /package/{index.d.ts → typings/index.d.ts} +0 -0
  1507. /package/{javascript.d.ts → typings/javascript.d.ts} +0 -0
  1508. /package/{lua.d.ts → typings/lua.d.ts} +0 -0
  1509. /package/{msg → typings/msg}/ab.d.ts +0 -0
  1510. /package/{msg → typings/msg}/ace.d.ts +0 -0
  1511. /package/{msg → typings/msg}/af.d.ts +0 -0
  1512. /package/{msg → typings/msg}/am.d.ts +0 -0
  1513. /package/{msg → typings/msg}/ar.d.ts +0 -0
  1514. /package/{msg → typings/msg}/ast.d.ts +0 -0
  1515. /package/{msg → typings/msg}/az.d.ts +0 -0
  1516. /package/{msg → typings/msg}/ba.d.ts +0 -0
  1517. /package/{msg → typings/msg}/bcc.d.ts +0 -0
  1518. /package/{msg → typings/msg}/be-tarask.d.ts +0 -0
  1519. /package/{msg → typings/msg}/be.d.ts +0 -0
  1520. /package/{msg → typings/msg}/bg.d.ts +0 -0
  1521. /package/{msg → typings/msg}/bn.d.ts +0 -0
  1522. /package/{msg → typings/msg}/br.d.ts +0 -0
  1523. /package/{msg → typings/msg}/bs.d.ts +0 -0
  1524. /package/{msg → typings/msg}/ca.d.ts +0 -0
  1525. /package/{msg → typings/msg}/cdo.d.ts +0 -0
  1526. /package/{msg → typings/msg}/ce.d.ts +0 -0
  1527. /package/{msg → typings/msg}/cs.d.ts +0 -0
  1528. /package/{msg → typings/msg}/da.d.ts +0 -0
  1529. /package/{msg → typings/msg}/de.d.ts +0 -0
  1530. /package/{msg → typings/msg}/diq.d.ts +0 -0
  1531. /package/{msg → typings/msg}/dtp.d.ts +0 -0
  1532. /package/{msg → typings/msg}/dty.d.ts +0 -0
  1533. /package/{msg → typings/msg}/ee.d.ts +0 -0
  1534. /package/{msg → typings/msg}/el.d.ts +0 -0
  1535. /package/{msg → typings/msg}/en-gb.d.ts +0 -0
  1536. /package/{msg → typings/msg}/en.d.ts +0 -0
  1537. /package/{msg → typings/msg}/eo.d.ts +0 -0
  1538. /package/{msg → typings/msg}/es.d.ts +0 -0
  1539. /package/{msg → typings/msg}/et.d.ts +0 -0
  1540. /package/{msg → typings/msg}/eu.d.ts +0 -0
  1541. /package/{msg → typings/msg}/fa.d.ts +0 -0
  1542. /package/{msg → typings/msg}/fi.d.ts +0 -0
  1543. /package/{msg → typings/msg}/fo.d.ts +0 -0
  1544. /package/{msg → typings/msg}/fr.d.ts +0 -0
  1545. /package/{msg → typings/msg}/frr.d.ts +0 -0
  1546. /package/{msg → typings/msg}/gl.d.ts +0 -0
  1547. /package/{msg → typings/msg}/gn.d.ts +0 -0
  1548. /package/{msg → typings/msg}/gor.d.ts +0 -0
  1549. /package/{msg → typings/msg}/ha.d.ts +0 -0
  1550. /package/{msg → typings/msg}/hak.d.ts +0 -0
  1551. /package/{msg → typings/msg}/he.d.ts +0 -0
  1552. /package/{msg → typings/msg}/hi.d.ts +0 -0
  1553. /package/{msg → typings/msg}/hr.d.ts +0 -0
  1554. /package/{msg → typings/msg}/hrx.d.ts +0 -0
  1555. /package/{msg → typings/msg}/hsb.d.ts +0 -0
  1556. /package/{msg → typings/msg}/hu.d.ts +0 -0
  1557. /package/{msg → typings/msg}/hy.d.ts +0 -0
  1558. /package/{msg → typings/msg}/ia.d.ts +0 -0
  1559. /package/{msg → typings/msg}/id.d.ts +0 -0
  1560. /package/{msg → typings/msg}/ig.d.ts +0 -0
  1561. /package/{msg → typings/msg}/inh.d.ts +0 -0
  1562. /package/{msg → typings/msg}/is.d.ts +0 -0
  1563. /package/{msg → typings/msg}/it.d.ts +0 -0
  1564. /package/{msg → typings/msg}/ja.d.ts +0 -0
  1565. /package/{msg → typings/msg}/ka.d.ts +0 -0
  1566. /package/{msg → typings/msg}/kab.d.ts +0 -0
  1567. /package/{msg → typings/msg}/kbd-cyrl.d.ts +0 -0
  1568. /package/{msg → typings/msg}/km.d.ts +0 -0
  1569. /package/{msg → typings/msg}/kn.d.ts +0 -0
  1570. /package/{msg → typings/msg}/ko.d.ts +0 -0
  1571. /package/{msg → typings/msg}/ksh.d.ts +0 -0
  1572. /package/{msg → typings/msg}/ku-latn.d.ts +0 -0
  1573. /package/{msg → typings/msg}/ky.d.ts +0 -0
  1574. /package/{msg → typings/msg}/la.d.ts +0 -0
  1575. /package/{msg → typings/msg}/lb.d.ts +0 -0
  1576. /package/{msg → typings/msg}/lki.d.ts +0 -0
  1577. /package/{msg → typings/msg}/lo.d.ts +0 -0
  1578. /package/{msg → typings/msg}/lrc.d.ts +0 -0
  1579. /package/{msg → typings/msg}/lt.d.ts +0 -0
  1580. /package/{msg → typings/msg}/lv.d.ts +0 -0
  1581. /package/{msg → typings/msg}/mg.d.ts +0 -0
  1582. /package/{msg → typings/msg}/mk.d.ts +0 -0
  1583. /package/{msg → typings/msg}/ml.d.ts +0 -0
  1584. /package/{msg → typings/msg}/mnw.d.ts +0 -0
  1585. /package/{msg → typings/msg}/ms.d.ts +0 -0
  1586. /package/{msg → typings/msg}/msg.d.ts +0 -0
  1587. /package/{msg → typings/msg}/my.d.ts +0 -0
  1588. /package/{msg → typings/msg}/mzn.d.ts +0 -0
  1589. /package/{msg → typings/msg}/nb.d.ts +0 -0
  1590. /package/{msg → typings/msg}/ne.d.ts +0 -0
  1591. /package/{msg → typings/msg}/nl.d.ts +0 -0
  1592. /package/{msg → typings/msg}/oc.d.ts +0 -0
  1593. /package/{msg → typings/msg}/olo.d.ts +0 -0
  1594. /package/{msg → typings/msg}/pa.d.ts +0 -0
  1595. /package/{msg → typings/msg}/pl.d.ts +0 -0
  1596. /package/{msg → typings/msg}/pms.d.ts +0 -0
  1597. /package/{msg → typings/msg}/ps.d.ts +0 -0
  1598. /package/{msg → typings/msg}/pt-br.d.ts +0 -0
  1599. /package/{msg → typings/msg}/pt.d.ts +0 -0
  1600. /package/{msg → typings/msg}/ro.d.ts +0 -0
  1601. /package/{msg → typings/msg}/ru.d.ts +0 -0
  1602. /package/{msg → typings/msg}/sc.d.ts +0 -0
  1603. /package/{msg → typings/msg}/sco.d.ts +0 -0
  1604. /package/{msg → typings/msg}/sd.d.ts +0 -0
  1605. /package/{msg → typings/msg}/shn.d.ts +0 -0
  1606. /package/{msg → typings/msg}/si.d.ts +0 -0
  1607. /package/{msg → typings/msg}/sk.d.ts +0 -0
  1608. /package/{msg → typings/msg}/skr-arab.d.ts +0 -0
  1609. /package/{msg → typings/msg}/sl.d.ts +0 -0
  1610. /package/{msg → typings/msg}/smn.d.ts +0 -0
  1611. /package/{msg → typings/msg}/sq.d.ts +0 -0
  1612. /package/{msg → typings/msg}/sr-latn.d.ts +0 -0
  1613. /package/{msg → typings/msg}/sr.d.ts +0 -0
  1614. /package/{msg → typings/msg}/sv.d.ts +0 -0
  1615. /package/{msg → typings/msg}/sw.d.ts +0 -0
  1616. /package/{msg → typings/msg}/ta.d.ts +0 -0
  1617. /package/{msg → typings/msg}/tcy.d.ts +0 -0
  1618. /package/{msg → typings/msg}/tdd.d.ts +0 -0
  1619. /package/{msg → typings/msg}/te.d.ts +0 -0
  1620. /package/{msg → typings/msg}/th.d.ts +0 -0
  1621. /package/{msg → typings/msg}/ti.d.ts +0 -0
  1622. /package/{msg → typings/msg}/tl.d.ts +0 -0
  1623. /package/{msg → typings/msg}/tlh.d.ts +0 -0
  1624. /package/{msg → typings/msg}/tr.d.ts +0 -0
  1625. /package/{msg → typings/msg}/ug-arab.d.ts +0 -0
  1626. /package/{msg → typings/msg}/uk.d.ts +0 -0
  1627. /package/{msg → typings/msg}/ur.d.ts +0 -0
  1628. /package/{msg → typings/msg}/uz.d.ts +0 -0
  1629. /package/{msg → typings/msg}/vi.d.ts +0 -0
  1630. /package/{msg → typings/msg}/xmf.d.ts +0 -0
  1631. /package/{msg → typings/msg}/yo.d.ts +0 -0
  1632. /package/{msg → typings/msg}/zgh.d.ts +0 -0
  1633. /package/{msg → typings/msg}/zh-hans.d.ts +0 -0
  1634. /package/{msg → typings/msg}/zh-hant.d.ts +0 -0
  1635. /package/{php.d.ts → typings/php.d.ts} +0 -0
  1636. /package/{python.d.ts → typings/python.d.ts} +0 -0
@@ -0,0 +1,1695 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2012 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /**
8
+ * @fileoverview English strings.
9
+ *
10
+ * After modifying this file, run:
11
+ *
12
+ * npm run generate:langfiles
13
+ *
14
+ * to regenerate json/{en,qqq,constants,synonyms}.json.
15
+ *
16
+ * To convert all of the json files to .js files, run:
17
+ *
18
+ * npm run build:langfiles
19
+ */
20
+ 'use strict';
21
+
22
+
23
+ /**
24
+ * Due to the frequency of long strings, the 80-column wrap rule need not apply
25
+ * to message files.
26
+ */
27
+
28
+ /**
29
+ * Each message is preceded with a triple-slash comment that becomes the
30
+ * message descriptor. The build process extracts these descriptors, adds
31
+ * them to msg/json/qqq.json, and they show up in the translation console.
32
+ */
33
+
34
+ /** @type {string} */
35
+ /// {{Notranslate}} Hue value for all logic blocks.
36
+ Blockly.Msg.LOGIC_HUE = '210';
37
+ /** @type {string} */
38
+ /// {{Notranslate}} Hue value for all loop blocks.
39
+ Blockly.Msg.LOOPS_HUE = '120';
40
+ /** @type {string} */
41
+ /// {{Notranslate}} Hue value for all math blocks.
42
+ Blockly.Msg.MATH_HUE = '230';
43
+ /** @type {string} */
44
+ /// {{Notranslate}} Hue value for all text blocks.
45
+ Blockly.Msg.TEXTS_HUE = '160';
46
+ /** @type {string} */
47
+ /// {{Notranslate}} Hue value for all list blocks.
48
+ Blockly.Msg.LISTS_HUE = '260';
49
+ /** @type {string} */
50
+ /// {{Notranslate}} Hue value for all colour blocks.
51
+ Blockly.Msg.COLOUR_HUE = '20';
52
+ /** @type {string} */
53
+ /// {{Notranslate}} Hue value for all variable blocks.
54
+ Blockly.Msg.VARIABLES_HUE = '330';
55
+ /** @type {string} */
56
+ /// {{Notranslate}} Hue value for all variable dynamic blocks.
57
+ Blockly.Msg.VARIABLES_DYNAMIC_HUE = '310';
58
+ /** @type {string} */
59
+ /// {{Notranslate}} Hue value for all procedure blocks.
60
+ Blockly.Msg.PROCEDURES_HUE = '290';
61
+
62
+ /** @type {string} */
63
+ /// default name - A simple, general default name for a variable, preferably short.
64
+ /// For more context, see
65
+ /// [[Translating:Blockly#infrequent_message_types]].\n{{Identical|Item}}
66
+ Blockly.Msg.VARIABLES_DEFAULT_NAME = 'item';
67
+ /** @type {string} */
68
+ /// default name - A simple, default name for an unnamed function or variable. Preferably indicates that the item is unnamed.
69
+ Blockly.Msg.UNNAMED_KEY = 'unnamed';
70
+ /** @type {string} */
71
+ /// button text - Button that sets a calendar to today's date.\n{{Identical|Today}}
72
+ Blockly.Msg.TODAY = 'Today';
73
+
74
+ // Context menus.
75
+ /** @type {string} */
76
+ /// context menu - Make a copy of the selected block (and any blocks it contains).\n{{Identical|Duplicate}}
77
+ Blockly.Msg.DUPLICATE_BLOCK = 'Duplicate';
78
+ /** @type {string} */
79
+ /// context menu - Add a descriptive comment to the selected block.
80
+ Blockly.Msg.ADD_COMMENT = 'Add Comment';
81
+ /** @type {string} */
82
+ /// context menu - Remove the descriptive comment from the selected block.
83
+ Blockly.Msg.REMOVE_COMMENT = 'Remove Comment';
84
+ /** @type {string} */
85
+ /// context menu - Make a copy of the selected workspace comment.\n{{Identical|Duplicate}}
86
+ Blockly.Msg.DUPLICATE_COMMENT = 'Duplicate Comment';
87
+ /** @type {string} */
88
+ /// context menu - Change from 'external' to 'inline' mode for displaying blocks used as inputs to the selected block. See [[Translating:Blockly#context_menus]].\n\nThe opposite of {{msg-blockly|INLINE INPUTS}}.
89
+ Blockly.Msg.EXTERNAL_INPUTS = 'External Inputs';
90
+ /** @type {string} */
91
+ /// context menu - Change from 'internal' to 'external' mode for displaying blocks used as inputs to the selected block. See [[Translating:Blockly#context_menus]].\n\nThe opposite of {{msg-blockly|EXTERNAL INPUTS}}.
92
+ Blockly.Msg.INLINE_INPUTS = 'Inline Inputs';
93
+ /** @type {string} */
94
+ /// context menu - Permanently delete the selected block.
95
+ Blockly.Msg.DELETE_BLOCK = 'Delete Block';
96
+ /** @type {string} */
97
+ /// context menu - Permanently delete the %1 selected blocks.\n\nParameters:\n* %1 - an integer greater than 1.
98
+ Blockly.Msg.DELETE_X_BLOCKS = 'Delete %1 Blocks';
99
+ /** @type {string} */
100
+ /// confirmation prompt - Question the user if they really wanted to permanently delete all %1 blocks.\n\nParameters:\n* %1 - an integer greater than 1.
101
+ Blockly.Msg.DELETE_ALL_BLOCKS = 'Delete all %1 blocks?';
102
+ /** @type {string} */
103
+ /// context menu - Reposition all the blocks so that they form a neat line.
104
+ Blockly.Msg.CLEAN_UP = 'Clean up Blocks';
105
+ /** @type {string} */
106
+ /// toast notification - Accessibility label for close button.
107
+ Blockly.Msg.CLOSE = 'Close';
108
+ /** @type {string} */
109
+ /// context menu - Make the appearance of the selected block smaller by hiding some information about it.
110
+ Blockly.Msg.COLLAPSE_BLOCK = 'Collapse Block';
111
+ /** @type {string} */
112
+ /// context menu - Make the appearance of all blocks smaller by hiding some information about it. Use the same terminology as in the previous message.
113
+ Blockly.Msg.COLLAPSE_ALL = 'Collapse Blocks';
114
+ /** @type {string} */
115
+ /// context menu - Restore the appearance of the selected block by showing information about it that was hidden (collapsed) earlier.
116
+ Blockly.Msg.EXPAND_BLOCK = 'Expand Block';
117
+ /** @type {string} */
118
+ /// context menu - Restore the appearance of all blocks by showing information about it that was hidden (collapsed) earlier. Use the same terminology as in the previous message.
119
+ Blockly.Msg.EXPAND_ALL = 'Expand Blocks';
120
+ /** @type {string} */
121
+ /// context menu - Make the selected block have no effect (unless reenabled).
122
+ Blockly.Msg.DISABLE_BLOCK = 'Disable Block';
123
+ /** @type {string} */
124
+ /// context menu - Make the selected block have effect (after having been disabled earlier).
125
+ Blockly.Msg.ENABLE_BLOCK = 'Enable Block';
126
+ /** @type {string} */
127
+ /// context menu - Provide helpful information about the selected block.\n{{Identical|Help}}
128
+ Blockly.Msg.HELP = 'Help';
129
+ /** @type {string} */
130
+ /// context menu - Undo the previous action.\n{{Identical|Undo}}
131
+ Blockly.Msg.UNDO = 'Undo';
132
+ /** @type {string} */
133
+ /// context menu - Undo the previous undo action.\n{{Identical|Redo}}
134
+ Blockly.Msg.REDO = 'Redo';
135
+
136
+ // Variable renaming.
137
+ /** @type {string} */
138
+ /// prompt - This message is seen on mobile devices and the Opera browser. With most browsers, users can edit numeric values in blocks by just clicking and typing. Opera does not allow this and mobile browsers may have issues with in-line textareas. So we prompt users with this message (usually a popup) to change a value.
139
+ Blockly.Msg.CHANGE_VALUE_TITLE = 'Change value:';
140
+ /** @type {string} */
141
+ /// dropdown choice - When the user clicks on a variable block, this is one of the dropdown menu choices. It is used to rename the current variable. See [https://github.com/RaspberryPiFoundation/blockly/wiki/Variables#dropdown-menu https://github.com/RaspberryPiFoundation/blockly/wiki/Variables#dropdown-menu].
142
+ Blockly.Msg.RENAME_VARIABLE = 'Rename variable...';
143
+ /** @type {string} */
144
+ /// prompt - Prompts the user to enter the new name for the selected variable. See [https://github.com/RaspberryPiFoundation/blockly/wiki/Variables#dropdown-menu https://github.com/RaspberryPiFoundation/blockly/wiki/Variables#dropdown-menu].\n\nParameters:\n* %1 - the name of the variable to be renamed.
145
+ Blockly.Msg.RENAME_VARIABLE_TITLE = 'Rename all "%1" variables to:';
146
+
147
+ // Variable creation
148
+ /** @type {string} */
149
+ /// button text - Text on the button used to launch the variable creation dialogue.
150
+ Blockly.Msg.NEW_VARIABLE = 'Create variable...';
151
+ /** @type {string} */
152
+ /// button text - Text on the button used to launch the variable creation dialogue.
153
+ Blockly.Msg.NEW_STRING_VARIABLE = 'Create string variable...';
154
+ /** @type {string} */
155
+ /// button text - Text on the button used to launch the variable creation dialogue.
156
+ Blockly.Msg.NEW_NUMBER_VARIABLE = 'Create number variable...';
157
+ /** @type {string} */
158
+ /// button text - Text on the button used to launch the variable creation dialogue.
159
+ Blockly.Msg.NEW_COLOUR_VARIABLE = 'Create colour variable...';
160
+ /** @type {string} */
161
+ /// prompt - Prompts the user to enter the type for a variable.
162
+ Blockly.Msg.NEW_VARIABLE_TYPE_TITLE = 'New variable type:';
163
+ /** @type {string} */
164
+ /// prompt - Prompts the user to enter the name for a new variable. See [https://github.com/RaspberryPiFoundation/blockly/wiki/Variables#dropdown-menu https://github.com/RaspberryPiFoundation/blockly/wiki/Variables#dropdown-menu].
165
+ Blockly.Msg.NEW_VARIABLE_TITLE = 'New variable name:';
166
+ /** @type {string} */
167
+ /// alert - Tells the user that the name they entered is already in use.
168
+ Blockly.Msg.VARIABLE_ALREADY_EXISTS = 'A variable named "%1" already exists.';
169
+ /** @type {string} */
170
+ /// alert - Tells the user that the name they entered is already in use for another type.
171
+ Blockly.Msg.VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE = 'A variable named "%1" already exists for another type: "%2".';
172
+ /** @type {string} */
173
+ /// alert - Tells the user that the name they entered is already in use as a parameter to a procedure, that the variable they are renaming also exists on. Renaming would create two parameters with the same name, which is not allowed.
174
+ Blockly.Msg.VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER = 'A variable named "%1" already exists as a parameter in the procedure "%2".';
175
+
176
+ // Variable deletion.
177
+ /** @type {string} */
178
+ /// confirm - Ask the user to confirm their deletion of multiple uses of a variable.
179
+ Blockly.Msg.DELETE_VARIABLE_CONFIRMATION = 'Delete %1 uses of the "%2" variable?';
180
+ /** @type {string} */
181
+ /// alert - Tell the user that they can't delete a variable because it's part of the definition of a function.
182
+ Blockly.Msg.CANNOT_DELETE_VARIABLE_PROCEDURE = 'Can\'t delete the variable "%1" because it\'s part of the definition of the function "%2"';
183
+ /** @type {string} */
184
+ /// dropdown choice - Delete the currently selected variable.
185
+ Blockly.Msg.DELETE_VARIABLE = 'Delete the "%1" variable';
186
+
187
+ // Colour Blocks.
188
+ /** @type {string} */
189
+ /// {{Optional}} url - Information about colour.
190
+ Blockly.Msg.COLOUR_PICKER_HELPURL = 'https://en.wikipedia.org/wiki/Color';
191
+ /** @type {string} */
192
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#picking-a-colour-from-a-palette https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#picking-a-colour-from-a-palette].
193
+ Blockly.Msg.COLOUR_PICKER_TOOLTIP = 'Choose a colour from the palette.';
194
+ /** @type {string} */
195
+ /// {{Optional}} url - A link that displays a random colour each time you visit it.
196
+ Blockly.Msg.COLOUR_RANDOM_HELPURL = 'http://randomcolour.com';
197
+ /** @type {string} */
198
+ /// block text - Title of block that generates a colour at random.
199
+ Blockly.Msg.COLOUR_RANDOM_TITLE = 'random colour';
200
+ /** @type {string} */
201
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#generating-a-random-colour https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#generating-a-random-colour].
202
+ Blockly.Msg.COLOUR_RANDOM_TOOLTIP = 'Choose a colour at random.';
203
+ /** @type {string} */
204
+ /// {{Optional}} url - A link for colour codes with percentages (0-100%) for each component, instead of the more common 0-255, which may be more difficult for beginners.
205
+ Blockly.Msg.COLOUR_RGB_HELPURL = 'https://www.december.com/html/spec/colorpercompact.html';
206
+ /** @type {string} */
207
+ /// block text - Title of block for [https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components].
208
+ Blockly.Msg.COLOUR_RGB_TITLE = 'colour with';
209
+ /** @type {string} */
210
+ /// block input text - The amount of red (from 0 to 100) to use when [https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components].\n{{Identical|Red}}
211
+ Blockly.Msg.COLOUR_RGB_RED = 'red';
212
+ /** @type {string} */
213
+ /// block input text - The amount of green (from 0 to 100) to use when [https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components].
214
+ Blockly.Msg.COLOUR_RGB_GREEN = 'green';
215
+ /** @type {string} */
216
+ /// block input text - The amount of blue (from 0 to 100) to use when [https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components].\n{{Identical|Blue}}
217
+ Blockly.Msg.COLOUR_RGB_BLUE = 'blue';
218
+ /** @type {string} */
219
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components].
220
+ 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.';
221
+ /** @type {string} */
222
+ /// {{Optional}} url - A useful link that displays blending of two colours.
223
+ Blockly.Msg.COLOUR_BLEND_HELPURL = 'https://meyerweb.com/eric/tools/color-blend/#:::rgbp';
224
+ /** @type {string} */
225
+ /// block text - A verb for blending two shades of paint.
226
+ Blockly.Msg.COLOUR_BLEND_TITLE = 'blend';
227
+ /** @type {string} */
228
+ /// block input text - The first of two colours to [https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#blending-colours blend].
229
+ Blockly.Msg.COLOUR_BLEND_COLOUR1 = 'colour 1';
230
+ /** @type {string} */
231
+ /// block input text - The second of two colours to [https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#blending-colours blend].
232
+ Blockly.Msg.COLOUR_BLEND_COLOUR2 = 'colour 2';
233
+ /** @type {string} */
234
+ /// block input text - The proportion of the [https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#blending-colours blend] containing the first colour; the remaining proportion is of the second colour. For example, if the first colour is red and the second colour blue, a ratio of 1 would yield pure red, a ratio of .5 would yield purple (equal amounts of red and blue), and a ratio of 0 would yield pure blue.\n{{Identical|Ratio}}
235
+ Blockly.Msg.COLOUR_BLEND_RATIO = 'ratio';
236
+ /** @type {string} */
237
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#blending-colours https://github.com/RaspberryPiFoundation/blockly/wiki/Colour#blending-colours].
238
+ Blockly.Msg.COLOUR_BLEND_TOOLTIP = 'Blends two colours together with a given ratio (0.0 - 1.0).';
239
+
240
+ // Loop Blocks.
241
+ /** @type {string} */
242
+ /// {{Optional}} url - Describes 'repeat loops' in computer programs; consider using the translation of the page [https://en.wikipedia.org/wiki/Control_flow https://en.wikipedia.org/wiki/Control_flow].
243
+ Blockly.Msg.CONTROLS_REPEAT_HELPURL = 'https://en.wikipedia.org/wiki/For_loop';
244
+ /** @type {string} */
245
+ /// block input text - Title of [https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#repeat repeat block].\n\nParameters:\n* %1 - the number of times the body of the loop should be repeated.
246
+ Blockly.Msg.CONTROLS_REPEAT_TITLE = 'repeat %1 times';
247
+ /** @type {string} */
248
+ /// block text - Preceding the blocks in the body of the loop. See [https://github.com/RaspberryPiFoundation/blockly/wiki/Loops https://github.com/RaspberryPiFoundation/blockly/wiki/Loops].\n{{Identical|Do}}
249
+ Blockly.Msg.CONTROLS_REPEAT_INPUT_DO = 'do';
250
+ /** @type {string} */
251
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#repeat https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#repeat].
252
+ Blockly.Msg.CONTROLS_REPEAT_TOOLTIP = 'Do some statements several times.';
253
+ /** @type {string} */
254
+ /// {{Optional}} url - Describes 'while loops' in computer programs; consider using the translation of [https://en.wikipedia.org/wiki/While_loop https://en.wikipedia.org/wiki/While_loop], if present, or [https://en.wikipedia.org/wiki/Control_flow https://en.wikipedia.org/wiki/Control_flow].
255
+ Blockly.Msg.CONTROLS_WHILEUNTIL_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#repeat';
256
+ /** @type {string} */
257
+ Blockly.Msg.CONTROLS_WHILEUNTIL_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
258
+ /** @type {string} */
259
+ /// dropdown - Specifies that a loop should [https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#repeat-while repeat while] the following condition is true.
260
+ Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_WHILE = 'repeat while';
261
+ /** @type {string} */
262
+ /// dropdown - Specifies that a loop should [https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#repeat-until repeat until] the following condition becomes true.
263
+ Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_UNTIL = 'repeat until';
264
+ /** @type {string} */
265
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#repeat-while Loops#repeat-while https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#repeat-while Loops#repeat-while].
266
+ Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE = 'While a value is true, then do some statements.';
267
+ /** @type {string} */
268
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#repeat-until https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#repeat-until].
269
+ Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL = 'While a value is false, then do some statements.';
270
+
271
+ /** @type {string} */
272
+ /// {{Optional}} url - Describes 'for loops' in computer programs. Consider using your language's translation of [https://en.wikipedia.org/wiki/For_loop https://en.wikipedia.org/wiki/For_loop], if present.
273
+ Blockly.Msg.CONTROLS_FOR_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#count-with';
274
+ /** @type {string} */
275
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#count-with https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#count-with].\n\nParameters:\n* %1 - the name of the loop variable.
276
+ Blockly.Msg.CONTROLS_FOR_TOOLTIP = 'Have the variable "%1" take on the values from the start number to the end number, counting by the specified interval, and do the specified blocks.';
277
+ /** @type {string} */
278
+ /// block text - Repeatedly counts a variable (%1)
279
+ /// starting with a (usually lower) number in a range (%2),
280
+ /// ending with a (usually higher) number in a range (%3), and counting the
281
+ /// iterations by a number of steps (%4). As in
282
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#count-with
283
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#count-with].
284
+ /// [[File:Blockly-count-with.png]]
285
+ Blockly.Msg.CONTROLS_FOR_TITLE = 'count with %1 from %2 to %3 by %4';
286
+ /** @type {string} */
287
+ Blockly.Msg.CONTROLS_FOR_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
288
+
289
+ /** @type {string} */
290
+ /// {{Optional}} url - Describes 'for-each loops' in computer programs. Consider using your language's translation of [https://en.wikipedia.org/wiki/Foreach https://en.wikipedia.org/wiki/Foreach] if present.
291
+ Blockly.Msg.CONTROLS_FOREACH_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#for-each';
292
+ /** @type {string} */
293
+ /// block text - Title of [https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#for-each for each block].
294
+ /// Sequentially assigns every item in array %2 to the valiable %1.
295
+ Blockly.Msg.CONTROLS_FOREACH_TITLE = 'for each item %1 in list %2';
296
+ /** @type {string} */
297
+ Blockly.Msg.CONTROLS_FOREACH_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
298
+ /** @type {string} */
299
+ /// block text - Description of [https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#for-each for each blocks].\n\nParameters:\n* %1 - the name of the loop variable.
300
+ Blockly.Msg.CONTROLS_FOREACH_TOOLTIP = 'For each item in a list, set the variable "%1" to the item, and then do some statements.';
301
+
302
+ /** @type {string} */
303
+ /// {{Optional}} url - Describes control flow in computer programs. Consider using your language's translation of [https://en.wikipedia.org/wiki/Control_flow https://en.wikipedia.org/wiki/Control_flow], if it exists.
304
+ Blockly.Msg.CONTROLS_FLOW_STATEMENTS_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks';
305
+ /** @type {string} */
306
+ /// dropdown - The current loop should be exited. See [https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#break https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#break].
307
+ Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK = 'break out of loop';
308
+ /** @type {string} */
309
+ /// dropdown - The current iteration of the loop should be ended and the next should begin. See [https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#continue-with-next-iteration https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#continue-with-next-iteration].
310
+ Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE = 'continue with next iteration of loop';
311
+ /** @type {string} */
312
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#break-out-of-loop https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#break-out-of-loop].
313
+ Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK = 'Break out of the containing loop.';
314
+ /** @type {string} */
315
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#continue-with-next-iteration https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#continue-with-next-iteration].
316
+ Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE = 'Skip the rest of this loop, and continue with the next iteration.';
317
+ /** @type {string} */
318
+ /// warning - The user has tried placing a block outside of a loop (for each, while, repeat, etc.), but this type of block may only be used within a loop. See [https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks].
319
+ Blockly.Msg.CONTROLS_FLOW_STATEMENTS_WARNING = 'Warning: This block may only be used within a loop.';
320
+
321
+ // Logic Blocks.
322
+ /** @type {string} */
323
+ /// {{Optional}} url - Describes conditional statements (if-then-else) in computer programs. Consider using your language's translation of [https://en.wikipedia.org/wiki/If_else https://en.wikipedia.org/wiki/If_else], if present.
324
+ Blockly.Msg.CONTROLS_IF_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/IfElse';
325
+ /** @type {string} */
326
+ /// tooltip - Describes [https://github.com/RaspberryPiFoundation/blockly/wiki/IfElse#if-blocks 'if' blocks]. Consider using your language's translation of [https://en.wikipedia.org/wiki/If_statement https://en.wikipedia.org/wiki/If_statement], if present.
327
+ Blockly.Msg.CONTROLS_IF_TOOLTIP_1 = 'If a value is true, then do some statements.';
328
+ /** @type {string} */
329
+ /// tooltip - Describes [https://github.com/RaspberryPiFoundation/blockly/wiki/IfElse#if-else-blocks if-else blocks]. Consider using your language's translation of [https://en.wikipedia.org/wiki/If_statement https://en.wikipedia.org/wiki/If_statement], if present.
330
+ Blockly.Msg.CONTROLS_IF_TOOLTIP_2 = 'If a value is true, then do the first block of statements. Otherwise, do the second block of statements.';
331
+ /** @type {string} */
332
+ /// tooltip - Describes [https://github.com/RaspberryPiFoundation/blockly/wiki/IfElse#if-else-if-blocks if-else-if blocks]. Consider using your language's translation of [https://en.wikipedia.org/wiki/If_statement https://en.wikipedia.org/wiki/If_statement], if present.
333
+ Blockly.Msg.CONTROLS_IF_TOOLTIP_3 = 'If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements.';
334
+ /** @type {string} */
335
+ /// tooltip - Describes [https://github.com/RaspberryPiFoundation/blockly/wiki/IfElse#if-else-if-else-blocks if-else-if-else blocks]. Consider using your language's translation of [https://en.wikipedia.org/wiki/If_statement https://en.wikipedia.org/wiki/If_statement], if present.
336
+ Blockly.Msg.CONTROLS_IF_TOOLTIP_4 = 'If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements. If none of the values are true, do the last block of statements.';
337
+ /** @type {string} */
338
+ /// block text - See [https://github.com/RaspberryPiFoundation/blockly/wiki/IfElse https://github.com/RaspberryPiFoundation/blockly/wiki/IfElse].
339
+ /// It is recommended, but not essential, that this have text in common with the translation of 'else if'\n{{Identical|If}}
340
+ Blockly.Msg.CONTROLS_IF_MSG_IF = 'if';
341
+ /** @type {string} */
342
+ /// block text - See [https://github.com/RaspberryPiFoundation/blockly/wiki/IfElse https://github.com/RaspberryPiFoundation/blockly/wiki/IfElse]. The English words "otherwise if" would probably be clearer than "else if", but the latter is used because it is traditional and shorter.
343
+ Blockly.Msg.CONTROLS_IF_MSG_ELSEIF = 'else if';
344
+ /** @type {string} */
345
+ /// block text - See [https://github.com/RaspberryPiFoundation/blockly/wiki/IfElse https://github.com/RaspberryPiFoundation/blockly/wiki/IfElse]. The English word "otherwise" would probably be superior to "else", but the latter is used because it is traditional and shorter.
346
+ Blockly.Msg.CONTROLS_IF_MSG_ELSE = 'else';
347
+ /** @type {string} */
348
+ Blockly.Msg.CONTROLS_IF_MSG_THEN = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
349
+ /** @type {string} */
350
+ Blockly.Msg.CONTROLS_IF_IF_TITLE_IF = Blockly.Msg.CONTROLS_IF_MSG_IF;
351
+ /** @type {string} */
352
+ /// tooltip - Describes [https://github.com/RaspberryPiFoundation/blockly/wiki/IfElse#block-modification if block modification].
353
+ Blockly.Msg.CONTROLS_IF_IF_TOOLTIP = 'Add, remove, or reorder sections to reconfigure this if block.';
354
+ /** @type {string} */
355
+ Blockly.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF = Blockly.Msg.CONTROLS_IF_MSG_ELSEIF;
356
+ /** @type {string} */
357
+ /// tooltip - Describes the 'else if' subblock during [https://github.com/RaspberryPiFoundation/blockly/wiki/IfElse#block-modification if block modification].
358
+ Blockly.Msg.CONTROLS_IF_ELSEIF_TOOLTIP = 'Add a condition to the if block.';
359
+ /** @type {string} */
360
+ Blockly.Msg.CONTROLS_IF_ELSE_TITLE_ELSE = Blockly.Msg.CONTROLS_IF_MSG_ELSE;
361
+ /** @type {string} */
362
+ /// tooltip - Describes the 'else' subblock during [https://github.com/RaspberryPiFoundation/blockly/wiki/IfElse#block-modification if block modification].
363
+ Blockly.Msg.CONTROLS_IF_ELSE_TOOLTIP = 'Add a final, catch-all condition to the if block.';
364
+
365
+ /** @type {string} */
366
+ /// {{Optional}} url - Information about comparisons.
367
+ Blockly.Msg.LOGIC_COMPARE_HELPURL = 'https://en.wikipedia.org/wiki/Inequality_(mathematics)';
368
+ /** @type {string} */
369
+ /// tooltip - Describes the equals (=) block.
370
+ Blockly.Msg.LOGIC_COMPARE_TOOLTIP_EQ = 'Return true if both inputs equal each other.';
371
+ /** @type {string} */
372
+ /// tooltip - Describes the not equals (≠) block.
373
+ Blockly.Msg.LOGIC_COMPARE_TOOLTIP_NEQ = 'Return true if both inputs are not equal to each other.';
374
+ /** @type {string} */
375
+ /// tooltip - Describes the less than (<) block.
376
+ Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LT = 'Return true if the first input is smaller than the second input.';
377
+ /** @type {string} */
378
+ /// tooltip - Describes the less than or equals (≤) block.
379
+ Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LTE = 'Return true if the first input is smaller than or equal to the second input.';
380
+ /** @type {string} */
381
+ /// tooltip - Describes the greater than (>) block.
382
+ Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GT = 'Return true if the first input is greater than the second input.';
383
+ /** @type {string} */
384
+ /// tooltip - Describes the greater than or equals (≥) block.
385
+ Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GTE = 'Return true if the first input is greater than or equal to the second input.';
386
+
387
+ /** @type {string} */
388
+ /// {{Optional}} url - Information about the Boolean conjunction ("and") and disjunction ("or") operators. Consider using the translation of [https://en.wikipedia.org/wiki/Boolean_logic https://en.wikipedia.org/wiki/Boolean_logic], if it exists in your language.
389
+ Blockly.Msg.LOGIC_OPERATION_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Logic#logical-operations';
390
+ /** @type {string} */
391
+ /// tooltip - See [https://en.wikipedia.org/wiki/Logical_conjunction https://en.wikipedia.org/wiki/Logical_conjunction].
392
+ Blockly.Msg.LOGIC_OPERATION_TOOLTIP_AND = 'Return true if both inputs are true.';
393
+ /** @type {string} */
394
+ /// block text - See [https://en.wikipedia.org/wiki/Logical_conjunction https://en.wikipedia.org/wiki/Logical_conjunction].\n{{Identical|And}}
395
+ Blockly.Msg.LOGIC_OPERATION_AND = 'and';
396
+ /** @type {string} */
397
+ /// block text - See [https://en.wikipedia.org/wiki/Disjunction https://en.wikipedia.org/wiki/Disjunction].
398
+ Blockly.Msg.LOGIC_OPERATION_TOOLTIP_OR = 'Return true if at least one of the inputs is true.';
399
+ /** @type {string} */
400
+ /// block text - See [https://en.wikipedia.org/wiki/Disjunction https://en.wikipedia.org/wiki/Disjunction].\n{{Identical|Or}}
401
+ Blockly.Msg.LOGIC_OPERATION_OR = 'or';
402
+
403
+ /** @type {string} */
404
+ /// {{Optional}} url - Information about logical negation. The translation of [https://en.wikipedia.org/wiki/Logical_negation https://en.wikipedia.org/wiki/Logical_negation] is recommended if it exists in the target language.
405
+ Blockly.Msg.LOGIC_NEGATE_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Logic#not';
406
+ /** @type {string} */
407
+ /// block text - This is a unary operator that returns ''false'' when the input is ''true'', and ''true'' when the input is ''false''.
408
+ /// \n\nParameters:\n* %1 - the input (which should be either the value "true" or "false")
409
+ Blockly.Msg.LOGIC_NEGATE_TITLE = 'not %1';
410
+ /** @type {string} */
411
+ /// tooltip - See [https://en.wikipedia.org/wiki/Logical_negation https://en.wikipedia.org/wiki/Logical_negation].
412
+ Blockly.Msg.LOGIC_NEGATE_TOOLTIP = 'Returns true if the input is false. Returns false if the input is true.';
413
+
414
+ /** @type {string} */
415
+ /// {{Optional}} url - Information about the logic values ''true'' and ''false''. Consider using the translation of [https://en.wikipedia.org/wiki/Truth_value https://en.wikipedia.org/wiki/Truth_value] if it exists in your language.
416
+ Blockly.Msg.LOGIC_BOOLEAN_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Logic#values';
417
+ /** @type {string} */
418
+ /// block text - The word for the [https://en.wikipedia.org/wiki/Truth_value logical value] ''true''.\n{{Identical|True}}
419
+ Blockly.Msg.LOGIC_BOOLEAN_TRUE = 'true';
420
+ /** @type {string} */
421
+ /// block text - The word for the [https://en.wikipedia.org/wiki/Truth_value logical value] ''false''.\n{{Identical|False}}
422
+ Blockly.Msg.LOGIC_BOOLEAN_FALSE = 'false';
423
+ /** @type {string} */
424
+ /// tooltip - Indicates that the block returns either of the two possible [https://en.wikipedia.org/wiki/Truth_value logical values].
425
+ Blockly.Msg.LOGIC_BOOLEAN_TOOLTIP = 'Returns either true or false.';
426
+
427
+ /** @type {string} */
428
+ /// {{Optional}} url - Provide a link to the translation of [https://en.wikipedia.org/wiki/Nullable_type https://en.wikipedia.org/wiki/Nullable_type], if it exists in your language; otherwise, do not worry about translating this advanced concept.
429
+ Blockly.Msg.LOGIC_NULL_HELPURL = 'https://en.wikipedia.org/wiki/Nullable_type';
430
+ /** @type {string} */
431
+ /// block text - In computer languages, ''null'' is a special value that indicates that no value has been set. You may use your language's word for "nothing" or "invalid".\n{{Identical|Null}}
432
+ Blockly.Msg.LOGIC_NULL = 'null';
433
+ /** @type {string} */
434
+ /// tooltip - This should use the word from the previous message.
435
+ Blockly.Msg.LOGIC_NULL_TOOLTIP = 'Returns null.';
436
+
437
+ /** @type {string} */
438
+ /// {{Optional}} url - Describes the programming language operator known as the ''ternary'' or ''conditional'' operator. It is recommended that you use the translation of [https://en.wikipedia.org/wiki/%3F: https://en.wikipedia.org/wiki/%3F:] if it exists.
439
+ Blockly.Msg.LOGIC_TERNARY_HELPURL = 'https://en.wikipedia.org/wiki/%3F:';
440
+ /** @type {string} */
441
+ /// block input text - Label for the input whose value determines which of the other two inputs is returned. In some programming languages, this is called a ''''predicate''''.
442
+ Blockly.Msg.LOGIC_TERNARY_CONDITION = 'test';
443
+ /** @type {string} */
444
+ /// block input text - Indicates that the following input should be returned (used as output) if the test input is true. Remember to try to keep block text terse (short).
445
+ Blockly.Msg.LOGIC_TERNARY_IF_TRUE = 'if true';
446
+ /** @type {string} */
447
+ /// block input text - Indicates that the following input should be returned (used as output) if the test input is false.
448
+ Blockly.Msg.LOGIC_TERNARY_IF_FALSE = 'if false';
449
+ /** @type {string} */
450
+ /// tooltip - See [https://en.wikipedia.org/wiki/%3F: https://en.wikipedia.org/wiki/%3F:].
451
+ 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.';
452
+
453
+ // Math Blocks.
454
+ /** @type {string} */
455
+ /// {{Optional}} url - Information about (real) numbers.
456
+ Blockly.Msg.MATH_NUMBER_HELPURL = 'https://en.wikipedia.org/wiki/Number';
457
+ /** @type {string} */
458
+ /// tooltip - Any positive or negative number, not necessarily an integer.
459
+ Blockly.Msg.MATH_NUMBER_TOOLTIP = 'A number.';
460
+
461
+ /** @type {string} */
462
+ /// {{Optional}} math - The symbol for the binary operation addition.
463
+ Blockly.Msg.MATH_ADDITION_SYMBOL = '+';
464
+ /** @type {string} */
465
+ /// {{Optional}} math - The symbol for the binary operation indicating that the right operand should be
466
+ /// subtracted from the left operand.
467
+ Blockly.Msg.MATH_SUBTRACTION_SYMBOL = '-';
468
+ /** @type {string} */
469
+ /// {{Optional}} math - The binary operation indicating that the left operand should be divided by
470
+ /// the right operand.
471
+ Blockly.Msg.MATH_DIVISION_SYMBOL = '÷';
472
+ /** @type {string} */
473
+ /// {{Optional}} math - The symbol for the binary operation multiplication.
474
+ Blockly.Msg.MATH_MULTIPLICATION_SYMBOL = '×';
475
+ /** @type {string} */
476
+ /// {{Optional}} math - The symbol for the binary operation exponentiation. Specifically, if the
477
+ /// value of the left operand is L and the value of the right operand (the exponent) is
478
+ /// R, multiply L by itself R times. (Fractional and negative exponents are also legal.)
479
+ Blockly.Msg.MATH_POWER_SYMBOL = '^';
480
+
481
+ /** @type {string} */
482
+ /// math - The short name of the trigonometric function
483
+ /// [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent sine].
484
+ Blockly.Msg.MATH_TRIG_SIN = 'sin';
485
+ /** @type {string} */
486
+ /// math - The short name of the trigonometric function
487
+ /// [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent cosine].
488
+ Blockly.Msg.MATH_TRIG_COS = 'cos';
489
+ /** @type {string} */
490
+ /// math - The short name of the trigonometric function
491
+ /// [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent tangent].
492
+ Blockly.Msg.MATH_TRIG_TAN = 'tan';
493
+ /** @type {string} */
494
+ /// math - The short name of the ''inverse of'' the trigonometric function
495
+ /// [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent sine].
496
+ Blockly.Msg.MATH_TRIG_ASIN = 'asin';
497
+ /** @type {string} */
498
+ /// math - The short name of the ''inverse of'' the trigonometric function
499
+ /// [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent cosine].
500
+ Blockly.Msg.MATH_TRIG_ACOS = 'acos';
501
+ /** @type {string} */
502
+ /// math - The short name of the ''inverse of'' the trigonometric function
503
+ /// [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent tangent].
504
+ Blockly.Msg.MATH_TRIG_ATAN = 'atan';
505
+
506
+ /** @type {string} */
507
+ /// {{Optional}} url - Information about addition, subtraction, multiplication, division, and exponentiation.
508
+ Blockly.Msg.MATH_ARITHMETIC_HELPURL = 'https://en.wikipedia.org/wiki/Arithmetic';
509
+ /** @type {string} */
510
+ /// tooltip - See [https://en.wikipedia.org/wiki/Addition https://en.wikipedia.org/wiki/Addition].
511
+ Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_ADD = 'Return the sum of the two numbers.';
512
+ /** @type {string} */
513
+ /// tooltip - See [https://en.wikipedia.org/wiki/Subtraction https://en.wikipedia.org/wiki/Subtraction].
514
+ Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS = 'Return the difference of the two numbers.';
515
+ /** @type {string} */
516
+ /// tooltip - See [https://en.wikipedia.org/wiki/Multiplication https://en.wikipedia.org/wiki/Multiplication].
517
+ Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY = 'Return the product of the two numbers.';
518
+ /** @type {string} */
519
+ /// tooltip - See [https://en.wikipedia.org/wiki/Division_(mathematics) https://en.wikipedia.org/wiki/Division_(mathematics)].
520
+ Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE = 'Return the quotient of the two numbers.';
521
+ /** @type {string} */
522
+ /// tooltip - See [https://en.wikipedia.org/wiki/Exponentiation https://en.wikipedia.org/wiki/Exponentiation].
523
+ Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_POWER = 'Return the first number raised to the power of the second number.';
524
+
525
+ /** @type {string} */
526
+ /// {{Optional}} url - Information about the square root operation.
527
+ Blockly.Msg.MATH_SINGLE_HELPURL = 'https://en.wikipedia.org/wiki/Square_root';
528
+ /** @type {string} */
529
+ /// dropdown - This computes the positive [https://en.wikipedia.org/wiki/Square_root square root] of its input. For example, the square root of 16 is 4.
530
+ Blockly.Msg.MATH_SINGLE_OP_ROOT = 'square root';
531
+ /** @type {string} */
532
+ /// tooltip - Please use the same term as in the previous message.
533
+ Blockly.Msg.MATH_SINGLE_TOOLTIP_ROOT = 'Return the square root of a number.';
534
+ /** @type {string} */
535
+ /// dropdown - This leaves positive numeric inputs changed and inverts negative inputs. For example, the absolute value of 5 is 5; the absolute value of -5 is also 5. For more information, see [https://en.wikipedia.org/wiki/Absolute_value https://en.wikipedia.org/wiki/Absolute_value].
536
+ Blockly.Msg.MATH_SINGLE_OP_ABSOLUTE = 'absolute';
537
+ /** @type {string} */
538
+ /// tooltip - Please use the same term as in the previous message.
539
+ Blockly.Msg.MATH_SINGLE_TOOLTIP_ABS = 'Return the absolute value of a number.';
540
+
541
+ /** @type {string} */
542
+ /// tooltip - Calculates '''0-n''', where '''n''' is the single numeric input.
543
+ Blockly.Msg.MATH_SINGLE_TOOLTIP_NEG = 'Return the negation of a number.';
544
+ /** @type {string} */
545
+ /// tooltip - Calculates the [https://en.wikipedia.org/wiki/Natural_logarithm|natural logarithm] of its single numeric input.
546
+ Blockly.Msg.MATH_SINGLE_TOOLTIP_LN = 'Return the natural logarithm of a number.';
547
+ /** @type {string} */
548
+ /// tooltip - Calculates the [https://en.wikipedia.org/wiki/Common_logarithm common logarithm] of its single numeric input.
549
+ Blockly.Msg.MATH_SINGLE_TOOLTIP_LOG10 = 'Return the base 10 logarithm of a number.';
550
+ /** @type {string} */
551
+ /// tooltip - Multiplies [https://en.wikipedia.org/wiki/E_(mathematical_constant) e] by itself n times, where n is the single numeric input.
552
+ Blockly.Msg.MATH_SINGLE_TOOLTIP_EXP = 'Return e to the power of a number.';
553
+ /** @type {string} */
554
+ /// tooltip - Multiplies 10 by itself n times, where n is the single numeric input.
555
+ Blockly.Msg.MATH_SINGLE_TOOLTIP_POW10 = 'Return 10 to the power of a number.';
556
+
557
+ /** @type {string} */
558
+ /// {{Optional}} url - Information about the trigonometric functions sine, cosine, tangent, and their inverses (ideally using degrees, not radians).
559
+ Blockly.Msg.MATH_TRIG_HELPURL = 'https://en.wikipedia.org/wiki/Trigonometric_functions';
560
+ /** @type {string} */
561
+ /// tooltip - Return the [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent sine] of an [https://en.wikipedia.org/wiki/Degree_(angle) angle in degrees], not radians.
562
+ Blockly.Msg.MATH_TRIG_TOOLTIP_SIN = 'Return the sine of a degree (not radian).';
563
+ /** @type {string} */
564
+ /// tooltip - Return the [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent cosine] of an [https://en.wikipedia.org/wiki/Degree_(angle) angle in degrees], not radians.
565
+ Blockly.Msg.MATH_TRIG_TOOLTIP_COS = 'Return the cosine of a degree (not radian).';
566
+ /** @type {string} */
567
+ /// tooltip - Return the [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent tangent] of an [https://en.wikipedia.org/wiki/Degree_(angle) angle in degrees], not radians.
568
+ Blockly.Msg.MATH_TRIG_TOOLTIP_TAN = 'Return the tangent of a degree (not radian).';
569
+ /** @type {string} */
570
+ /// tooltip - The [https://en.wikipedia.org/wiki/Inverse_trigonometric_functions inverse] of the [https://en.wikipedia.org/wiki/Cosine#Sine.2C_cosine_and_tangent sine function], using [https://en.wikipedia.org/wiki/Degree_(angle) degrees], not radians.
571
+ Blockly.Msg.MATH_TRIG_TOOLTIP_ASIN = 'Return the arcsine of a number.';
572
+ /** @type {string} */
573
+ /// tooltip - The [https://en.wikipedia.org/wiki/Inverse_trigonometric_functions inverse] of the [https://en.wikipedia.org/wiki/Cosine#Sine.2C_cosine_and_tangent cosine] function, using [https://en.wikipedia.org/wiki/Degree_(angle) degrees], not radians.
574
+ Blockly.Msg.MATH_TRIG_TOOLTIP_ACOS = 'Return the arccosine of a number.';
575
+ /** @type {string} */
576
+ /// tooltip - The [https://en.wikipedia.org/wiki/Inverse_trigonometric_functions inverse] of the [https://en.wikipedia.org/wiki/Cosine#Sine.2C_cosine_and_tangent tangent] function, using [https://en.wikipedia.org/wiki/Degree_(angle) degrees], not radians.
577
+ Blockly.Msg.MATH_TRIG_TOOLTIP_ATAN = 'Return the arctangent of a number.';
578
+
579
+ /** @type {string} */
580
+ /// {{Optional}} url - Information about the mathematical constants Pi (π), e, the golden ratio (φ), √ 2, √ 1/2, and infinity (∞).
581
+ Blockly.Msg.MATH_CONSTANT_HELPURL = 'https://en.wikipedia.org/wiki/Mathematical_constant';
582
+ /** @type {string} */
583
+ /// tooltip - Provides the specified [https://en.wikipedia.org/wiki/Mathematical_constant mathematical constant].
584
+ 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).';
585
+ /** @type {string} */
586
+ /// dropdown - A number is '''even''' if it is a multiple of 2. For example, 4 is even (yielding true), but 3 is not (false).
587
+ Blockly.Msg.MATH_IS_EVEN = 'is even';
588
+ /** @type {string} */
589
+ /// dropdown - A number is '''odd''' if it is not a multiple of 2. For example, 3 is odd (yielding true), but 4 is not (false). The opposite of "odd" is "even".
590
+ Blockly.Msg.MATH_IS_ODD = 'is odd';
591
+ /** @type {string} */
592
+ /// dropdown - A number is [https://en.wikipedia.org/wiki/Prime_number prime] if it cannot be evenly divided by any positive integers except for 1 and itself. For example, 5 is prime, but 6 is not because 2 × 3 = 6.
593
+ Blockly.Msg.MATH_IS_PRIME = 'is prime';
594
+ /** @type {string} */
595
+ /// dropdown - A number is '''whole''' if it is an [https://en.wikipedia.org/wiki/Integer integer]. For example, 5 is whole, but 5.1 is not.
596
+ Blockly.Msg.MATH_IS_WHOLE = 'is whole';
597
+ /** @type {string} */
598
+ /// dropdown - A number is '''positive''' if it is greater than 0. (0 is neither negative nor positive.)
599
+ Blockly.Msg.MATH_IS_POSITIVE = 'is positive';
600
+ /** @type {string} */
601
+ /// dropdown - A number is '''negative''' if it is less than 0. (0 is neither negative nor positive.)
602
+ Blockly.Msg.MATH_IS_NEGATIVE = 'is negative';
603
+ /** @type {string} */
604
+ /// dropdown - A number x is divisible by y if y goes into x evenly. For example, 10 is divisible by 5, but 10 is not divisible by 3.
605
+ Blockly.Msg.MATH_IS_DIVISIBLE_BY = 'is divisible by';
606
+ /** @type {string} */
607
+ /// tooltip - This block lets the user specify via a dropdown menu whether to check if the numeric input is even, odd, prime, whole, positive, negative, or divisible by a given value.
608
+ Blockly.Msg.MATH_IS_TOOLTIP = 'Check if a number is an even, odd, prime, whole, positive, negative, or if it is divisible by certain number. Returns true or false.';
609
+
610
+ /** @type {string} */
611
+ /// {{Optional}} url - Information about incrementing (increasing the value of) a variable.
612
+ /// For other languages, just use the translation of the Wikipedia page about
613
+ /// addition ([https://en.wikipedia.org/wiki/Addition https://en.wikipedia.org/wiki/Addition]).
614
+ Blockly.Msg.MATH_CHANGE_HELPURL = 'https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter';
615
+ /** @type {string} */
616
+ /// - As in: ''change'' [the value of variable] ''item'' ''by'' 1 (e.g., if the variable named 'item' had the value 5, change it to 6).
617
+ /// %1 is a variable name.
618
+ /// %2 is the amount of change.
619
+ Blockly.Msg.MATH_CHANGE_TITLE = 'change %1 by %2';
620
+ /** @type {string} */
621
+ Blockly.Msg.MATH_CHANGE_TITLE_ITEM = Blockly.Msg.VARIABLES_DEFAULT_NAME;
622
+ /** @type {string} */
623
+ /// tooltip - This updates the value of the variable by adding to it the following numeric input.\n\nParameters:\n* %1 - the name of the variable whose value should be increased.
624
+ Blockly.Msg.MATH_CHANGE_TOOLTIP = 'Add a number to variable "%1".';
625
+
626
+ /** @type {string} */
627
+ /// {{Optional}} url - Information about how numbers are rounded to the nearest integer
628
+ Blockly.Msg.MATH_ROUND_HELPURL = 'https://en.wikipedia.org/wiki/Rounding';
629
+ /** @type {string} */
630
+ /// tooltip - See [https://en.wikipedia.org/wiki/Rounding https://en.wikipedia.org/wiki/Rounding].
631
+ Blockly.Msg.MATH_ROUND_TOOLTIP = 'Round a number up or down.';
632
+ /** @type {string} */
633
+ /// dropdown - This rounds its input to the nearest whole number. For example, 3.4 is rounded to 3.
634
+ Blockly.Msg.MATH_ROUND_OPERATOR_ROUND = 'round';
635
+ /** @type {string} */
636
+ /// dropdown - This rounds its input up to the nearest whole number. For example, if the input was 2.2, the result would be 3.
637
+ Blockly.Msg.MATH_ROUND_OPERATOR_ROUNDUP = 'round up';
638
+ /** @type {string} */
639
+ /// dropdown - This rounds its input down to the nearest whole number. For example, if the input was 3.8, the result would be 3.
640
+ Blockly.Msg.MATH_ROUND_OPERATOR_ROUNDDOWN = 'round down';
641
+
642
+ /** @type {string} */
643
+ /// {{Optional}} url - Information about applying a function to a list of numbers. (We were unable to find such information in English. Feel free to skip this and any other URLs that are difficult.)
644
+ Blockly.Msg.MATH_ONLIST_HELPURL = '';
645
+ /** @type {string} */
646
+ /// dropdown - This computes the sum of the numeric elements in the list. For example, the sum of the list {1, 4} is 5.
647
+ Blockly.Msg.MATH_ONLIST_OPERATOR_SUM = 'sum of list';
648
+ /** @type {string} */
649
+ /// tooltip - Please use the same term for "sum" as in the previous message.
650
+ Blockly.Msg.MATH_ONLIST_TOOLTIP_SUM = 'Return the sum of all the numbers in the list.';
651
+ /** @type {string} */
652
+ /// dropdown - This finds the smallest (minimum) number in a list. For example, the smallest number in the list [-5, 0, 3] is -5.
653
+ Blockly.Msg.MATH_ONLIST_OPERATOR_MIN = 'min of list';
654
+ /** @type {string} */
655
+ /// tooltip - Please use the same term for "min" or "minimum" as in the previous message.
656
+ Blockly.Msg.MATH_ONLIST_TOOLTIP_MIN = 'Return the smallest number in the list.';
657
+ /** @type {string} */
658
+ /// dropdown - This finds the largest (maximum) number in a list. For example, the largest number in the list [-5, 0, 3] is 3.
659
+ Blockly.Msg.MATH_ONLIST_OPERATOR_MAX = 'max of list';
660
+ /** @type {string} */
661
+ /// tooltip
662
+ Blockly.Msg.MATH_ONLIST_TOOLTIP_MAX = 'Return the largest number in the list.';
663
+ /** @type {string} */
664
+ /// dropdown - This adds up all of the numbers in a list and divides the sum by the number of elements in the list. For example, the [https://en.wikipedia.org/wiki/Arithmetic_mean average] of the list [1, 2, 3, 4] is 2.5 (10/4).
665
+ Blockly.Msg.MATH_ONLIST_OPERATOR_AVERAGE = 'average of list';
666
+ /** @type {string} */
667
+ /// tooltip - See [https://en.wikipedia.org/wiki/Arithmetic_mean https://en.wikipedia.org/wiki/Arithmetic_mean] for more informatin.
668
+ Blockly.Msg.MATH_ONLIST_TOOLTIP_AVERAGE = 'Return the average (arithmetic mean) of the numeric values in the list.';
669
+ /** @type {string} */
670
+ /// dropdown - This finds the [https://en.wikipedia.org/wiki/Median median] of the numeric values in a list. For example, the median of the list {1, 2, 7, 12, 13} is 7.
671
+ Blockly.Msg.MATH_ONLIST_OPERATOR_MEDIAN = 'median of list';
672
+ /** @type {string} */
673
+ /// tooltip - See [https://en.wikipedia.org/wiki/Median median https://en.wikipedia.org/wiki/Median median] for more information.
674
+ Blockly.Msg.MATH_ONLIST_TOOLTIP_MEDIAN = 'Return the median number in the list.';
675
+ /** @type {string} */
676
+ /// dropdown - This finds the most common numbers ([https://en.wikipedia.org/wiki/Mode_(statistics) modes]) in a list. For example, the modes of the list {1, 3, 9, 3, 9} are {3, 9}.
677
+ Blockly.Msg.MATH_ONLIST_OPERATOR_MODE = 'modes of list';
678
+ /** @type {string} */
679
+ /// tooltip - See [https://en.wikipedia.org/wiki/Mode_(statistics) https://en.wikipedia.org/wiki/Mode_(statistics)] for more information.
680
+ Blockly.Msg.MATH_ONLIST_TOOLTIP_MODE = 'Return a list of the most common item(s) in the list.';
681
+ /** @type {string} */
682
+ /// dropdown - This finds the [https://en.wikipedia.org/wiki/Standard_deviation standard deviation] of the numeric values in a list.
683
+ Blockly.Msg.MATH_ONLIST_OPERATOR_STD_DEV = 'standard deviation of list';
684
+ /** @type {string} */
685
+ /// tooltip - See [https://en.wikipedia.org/wiki/Standard_deviation https://en.wikipedia.org/wiki/Standard_deviation] for more information.
686
+ Blockly.Msg.MATH_ONLIST_TOOLTIP_STD_DEV = 'Return the standard deviation of the list.';
687
+ /** @type {string} */
688
+ /// dropdown - This choose an element at random from a list. Each element is chosen with equal probability.
689
+ Blockly.Msg.MATH_ONLIST_OPERATOR_RANDOM = 'random item of list';
690
+ /** @type {string} */
691
+ /// tooltip - Please use same term for 'random' as in previous entry.
692
+ Blockly.Msg.MATH_ONLIST_TOOLTIP_RANDOM = 'Return a random element from the list.';
693
+
694
+ /** @type {string} */
695
+ /// {{Optional}} url - information about the modulo (remainder) operation.
696
+ Blockly.Msg.MATH_MODULO_HELPURL = 'https://en.wikipedia.org/wiki/Modulo_operation';
697
+ /** @type {string} */
698
+ /// block text - Title of block providing the remainder when dividing the first numerical input by the second. For example, the remainder of 10 divided by 3 is 1.\n\nParameters:\n* %1 - the dividend (10, in our example)\n* %2 - the divisor (3 in our example).
699
+ Blockly.Msg.MATH_MODULO_TITLE = 'remainder of %1 ÷ %2';
700
+ /** @type {string} */
701
+ /// tooltip - For example, the remainder of 10 divided by 3 is 1.
702
+ Blockly.Msg.MATH_MODULO_TOOLTIP = 'Return the remainder from dividing the two numbers.';
703
+
704
+ /** @type {string} */
705
+ /// {{Optional}} url - Information about constraining a numeric value to be in a specific range. (The English URL is not ideal. Recall that translating URLs is the lowest priority.)
706
+ Blockly.Msg.MATH_CONSTRAIN_HELPURL = 'https://en.wikipedia.org/wiki/Clamping_(graphics)';
707
+ /** @type {string} */
708
+ /// block text - The title of the block that '''constrain'''s (forces) a number to be in a given range.
709
+ ///For example, if the number 150 is constrained to be between 5 and 100, the result will be 100.
710
+ ///\n\nParameters:\n* %1 - the value to constrain (e.g., 150)\n* %2 - the minimum value (e.g., 5)\n* %3 - the maximum value (e.g., 100).
711
+ Blockly.Msg.MATH_CONSTRAIN_TITLE = 'constrain %1 low %2 high %3';
712
+ /** @type {string} */
713
+ /// tooltip - This compares a number ''x'' to a low value ''L'' and a high value ''H''. If ''x'' is less then ''L'', the result is ''L''. If ''x'' is greater than ''H'', the result is ''H''. Otherwise, the result is ''x''.
714
+ Blockly.Msg.MATH_CONSTRAIN_TOOLTIP = 'Constrain a number to be between the specified limits (inclusive).';
715
+
716
+ /** @type {string} */
717
+ /// {{Optional}} url - Information about how computers generate random numbers.
718
+ Blockly.Msg.MATH_RANDOM_INT_HELPURL = 'https://en.wikipedia.org/wiki/Random_number_generation';
719
+ /** @type {string} */
720
+ /// block text - The title of the block that generates a random integer (whole number) in the specified range. For example, if the range is from 5 to 7, this returns 5, 6, or 7 with equal likelihood. %1 is a placeholder for the lower number, %2 is the placeholder for the larger number.
721
+ Blockly.Msg.MATH_RANDOM_INT_TITLE = 'random integer from %1 to %2';
722
+ /** @type {string} */
723
+ /// tooltip - Return a random integer between two values specified as inputs. For example, if one input was 7 and another 9, any of the numbers 7, 8, or 9 could be produced.
724
+ Blockly.Msg.MATH_RANDOM_INT_TOOLTIP = 'Return a random integer between the two specified limits, inclusive.';
725
+
726
+ /** @type {string} */
727
+ /// {{Optional}} url - Information about how computers generate random numbers (specifically, numbers in the range from 0 to just below 1).
728
+ Blockly.Msg.MATH_RANDOM_FLOAT_HELPURL = 'https://en.wikipedia.org/wiki/Random_number_generation';
729
+ /** @type {string} */
730
+ /// block text - The title of the block that generates a random number greater than or equal to 0 and less than 1.
731
+ Blockly.Msg.MATH_RANDOM_FLOAT_TITLE_RANDOM = 'random fraction';
732
+ /** @type {string} */
733
+ /// tooltip - Return a random fraction between 0 and 1. The value may be equal to 0 but must be less than 1.
734
+ Blockly.Msg.MATH_RANDOM_FLOAT_TOOLTIP = 'Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).';
735
+
736
+ /** @type {string} */
737
+ /// {{Optional}} url - Information about how to calculate atan2.
738
+ Blockly.Msg.MATH_ATAN2_HELPURL = 'https://en.wikipedia.org/wiki/Atan2';
739
+ /** @type {string} */
740
+ /// block text - The title of the block that calculates atan2 of point (X, Y). For example, if the point is (-1, -1), this returns -135. %1 is a placeholder for the X coordinate, %2 is the placeholder for the Y coordinate.
741
+ Blockly.Msg.MATH_ATAN2_TITLE = 'atan2 of X:%1 Y:%2';
742
+ /** @type {string} */
743
+ /// tooltip - Return the arctangent of point (X, Y) in degrees from -180 to 180. For example, if the point is (-1, -1) this returns -135.
744
+ Blockly.Msg.MATH_ATAN2_TOOLTIP = 'Return the arctangent of point (X, Y) in degrees from -180 to 180.';
745
+
746
+ // Text Blocks.
747
+ /** @type {string} */
748
+ /// {{Optional}} url - Information about how computers represent text (sometimes referred to as ''string''s).
749
+ Blockly.Msg.TEXT_TEXT_HELPURL = 'https://en.wikipedia.org/wiki/String_(computer_science)';
750
+ /** @type {string} */
751
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text https://github.com/RaspberryPiFoundation/blockly/wiki/Text].
752
+ Blockly.Msg.TEXT_TEXT_TOOLTIP = 'A letter, word, or line of text.';
753
+
754
+ /** @type {string} */
755
+ /// {{Optional}} url - Information on concatenating/appending pieces of text.
756
+ Blockly.Msg.TEXT_JOIN_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-creation';
757
+ /** @type {string} */
758
+ /// block text - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-creation https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-creation].
759
+ Blockly.Msg.TEXT_JOIN_TITLE_CREATEWITH = 'create text with';
760
+ /** @type {string} */
761
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-creation create text with] for more information.
762
+ Blockly.Msg.TEXT_JOIN_TOOLTIP = 'Create a piece of text by joining together any number of items.';
763
+
764
+ /** @type {string} */
765
+ /// block text - This is shown when the programmer wants to change the number of pieces of text being joined together. See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-creation https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-creation], specifically the last picture in the 'Text creation' section.\n{{Identical|Join}}
766
+ Blockly.Msg.TEXT_CREATE_JOIN_TITLE_JOIN = 'join';
767
+ /** @type {string} */
768
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-creation https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-creation], specifically the last picture in the 'Text creation' section.
769
+ Blockly.Msg.TEXT_CREATE_JOIN_TOOLTIP = 'Add, remove, or reorder sections to reconfigure this text block.';
770
+ /** @type {string} */
771
+ Blockly.Msg.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM = Blockly.Msg.VARIABLES_DEFAULT_NAME;
772
+ /** @type {string} */
773
+ /// block text - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-creation https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-creation], specifically the last picture in the 'Text creation' section.
774
+ Blockly.Msg.TEXT_CREATE_JOIN_ITEM_TOOLTIP = 'Add an item to the text.';
775
+
776
+ /** @type {string} */
777
+ /// {{Optional}} url - This and the other text-related URLs are going to be hard to translate. As always, it is okay to leave untranslated or paste in the English-language URL. For these URLs, you might also consider a general URL about how computers represent text (such as the translation of [https://en.wikipedia.org/wiki/String_(computer_science) this Wikipedia page]).
778
+ Blockly.Msg.TEXT_APPEND_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification';
779
+ /** @type {string} */
780
+ /// block input text - Message that the variable name at %1 will have the item at %2 appended to it.
781
+ /// [[File:blockly-append-text.png]]
782
+ Blockly.Msg.TEXT_APPEND_TITLE = 'to %1 append text %2';
783
+ /** @type {string} */
784
+ Blockly.Msg.TEXT_APPEND_VARIABLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;
785
+ /** @type {string} */
786
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification] for more information.\n\nParameters:\n* %1 - the name of the variable to which text should be appended
787
+ Blockly.Msg.TEXT_APPEND_TOOLTIP = 'Append some text to variable "%1".';
788
+
789
+ /** @type {string} */
790
+ /// {{Optional}} url - Information about text on computers (usually referred to as 'strings').
791
+ Blockly.Msg.TEXT_LENGTH_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification';
792
+ /** @type {string} */
793
+ /// block text - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-length https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-length].
794
+ /// \n\nParameters:\n* %1 - the piece of text to take the length of
795
+ Blockly.Msg.TEXT_LENGTH_TITLE = 'length of %1';
796
+ /** @type {string} */
797
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-length https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-length].
798
+ Blockly.Msg.TEXT_LENGTH_TOOLTIP = 'Returns the number of letters (including spaces) in the provided text.';
799
+
800
+ /** @type {string} */
801
+ /// {{Optional}} url - Information about empty pieces of text on computers (usually referred to as 'empty strings').
802
+ Blockly.Msg.TEXT_ISEMPTY_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Text#checking-for-empty-text';
803
+ /** @type {string} */
804
+ /// block text - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#checking-for-empty-text https://github.com/RaspberryPiFoundation/blockly/wiki/Text#checking-for-empty-text].
805
+ /// \n\nParameters:\n* %1 - the piece of text to test for emptiness
806
+ Blockly.Msg.TEXT_ISEMPTY_TITLE = '%1 is empty';
807
+ /** @type {string} */
808
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#checking-for-empty-text https://github.com/RaspberryPiFoundation/blockly/wiki/Text#checking-for-empty-text].
809
+ Blockly.Msg.TEXT_ISEMPTY_TOOLTIP = 'Returns true if the provided text is empty.';
810
+
811
+ /** @type {string} */
812
+ /// {{Optional}} url - Information about finding a character in a piece of text.
813
+ Blockly.Msg.TEXT_INDEXOF_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Text#finding-text';
814
+ /** @type {string} */
815
+ /// tooltip - %1 will be replaced by either the number 0 or -1 depending on the indexing mode. See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#finding-text https://github.com/RaspberryPiFoundation/blockly/wiki/Text#finding-text].
816
+ Blockly.Msg.TEXT_INDEXOF_TOOLTIP = 'Returns the index of the first/last occurrence of the first text in the second text. Returns %1 if text is not found.';
817
+ /** @type {string} */
818
+ /// block text - Title of blocks allowing users to find text. See
819
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#finding-text
820
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#finding-text].
821
+ /// [[File:Blockly-find-text.png]].
822
+ /// In English the expanded message is "in text %1 find (first|last) occurance of text %3"
823
+ /// where %1 and %3 are added by the user. See TEXT_INDEXOF_OPERATOR_FIRST and
824
+ /// TEXT_INDEXOF_OPERATOR_LAST for the dropdown text that replaces %2.
825
+ Blockly.Msg.TEXT_INDEXOF_TITLE = 'in text %1 %2 %3';
826
+ /** @type {string} */
827
+ /// dropdown - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#finding-text
828
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#finding-text].
829
+ /// [[File:Blockly-find-text.png]].
830
+ Blockly.Msg.TEXT_INDEXOF_OPERATOR_FIRST = 'find first occurrence of text';
831
+ /** @type {string} */
832
+ /// dropdown - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#finding-text
833
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#finding-text]. This would
834
+ /// replace "find first occurrence of text" below. (For more information on
835
+ /// how common text is factored out of dropdown menus, see
836
+ /// [https://translatewiki.net/wiki/Translating:Blockly#Drop-Down_Menus
837
+ /// https://translatewiki.net/wiki/Translating:Blockly#Drop-Down_Menus)].)
838
+ /// [[File:Blockly-find-text.png]].
839
+ Blockly.Msg.TEXT_INDEXOF_OPERATOR_LAST = 'find last occurrence of text';
840
+ /** @type {string} */
841
+
842
+ /// {{Optional}} url - Information about extracting characters (letters, number, symbols, etc.) from text.
843
+ Blockly.Msg.TEXT_CHARAT_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-text';
844
+ /** @type {string} */
845
+ /// block text - Text for a block to extract a letter (or number,
846
+ /// punctuation character, etc.) from a string, as shown below. %1 is added by
847
+ /// the user and %2 is replaced by a dropdown of options, possibly followed by
848
+ /// another user supplied string. TEXT_CHARAT_TAIL is then added to the end. See
849
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-single-character
850
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-single-character].
851
+ /// [[File:Blockly-text-get.png]]
852
+ Blockly.Msg.TEXT_CHARAT_TITLE = 'in text %1 %2';
853
+ /** @type {string} */
854
+ /// dropdown - Indicates that the letter (or number, punctuation character, etc.) with the
855
+ /// specified index should be obtained from the preceding piece of text. See
856
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-single-character
857
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-single-character].
858
+ /// [[File:Blockly-text-get.png]]
859
+ Blockly.Msg.TEXT_CHARAT_FROM_START = 'get letter #';
860
+ /** @type {string} */
861
+ /// block text - Indicates that the letter (or number, punctuation character, etc.) with the
862
+ /// specified index from the end of a given piece of text should be obtained. See
863
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-single-character
864
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-single-character].
865
+ /// [[File:Blockly-text-get.png]]
866
+ Blockly.Msg.TEXT_CHARAT_FROM_END = 'get letter # from end';
867
+ /** @type {string} */
868
+ /// block text - Indicates that the first letter of the following piece of text should be
869
+ /// retrieved. See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-single-character
870
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-single-character].
871
+ /// [[File:Blockly-text-get.png]]
872
+ Blockly.Msg.TEXT_CHARAT_FIRST = 'get first letter';
873
+ /** @type {string} */
874
+ /// block text - Indicates that the last letter (or number, punctuation mark, etc.) of the
875
+ /// following piece of text should be retrieved. See
876
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-single-character
877
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-single-character].
878
+ /// [[File:Blockly-text-get.png]]
879
+ Blockly.Msg.TEXT_CHARAT_LAST = 'get last letter';
880
+ /** @type {string} */
881
+ /// block text - Indicates that any letter (or number, punctuation mark, etc.) in the
882
+ /// following piece of text should be randomly selected. See
883
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-single-character
884
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-single-character].
885
+ /// [[File:Blockly-text-get.png]]
886
+ Blockly.Msg.TEXT_CHARAT_RANDOM = 'get random letter';
887
+ /** @type {string} */
888
+ /// {{Optional|Supply translation only if your language requires it. Most do not.}}
889
+ /// block text - Text that goes after the rightmost block/dropdown when getting a single letter from
890
+ /// a piece of text, as in [https://blockly-demo.appspot.com/static/apps/code/index.html#3m23km these
891
+ /// blocks] or shown below. For most languages, this will be blank.
892
+ /// [[File:Blockly-text-get.png]]
893
+ Blockly.Msg.TEXT_CHARAT_TAIL = '';
894
+ /** @type {string} */
895
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-single-character
896
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-single-character].
897
+ /// [[File:Blockly-text-get.png]]
898
+ Blockly.Msg.TEXT_CHARAT_TOOLTIP = 'Returns the letter at the specified position.';
899
+
900
+ /** @type {string} */
901
+ /// See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-region-of-text
902
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-region-of-text].
903
+ Blockly.Msg.TEXT_GET_SUBSTRING_TOOLTIP = 'Returns a specified portion of the text.';
904
+ /** @type {string} */
905
+ /// {{Optional}} url - Information about extracting characters from text. Reminder: urls are the
906
+ /// lowest priority translations. Feel free to skip.
907
+ Blockly.Msg.TEXT_GET_SUBSTRING_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-region-of-text';
908
+ /** @type {string} */
909
+ /// block text - Precedes a piece of text from which a portion should be extracted.
910
+ /// [[File:Blockly-get-substring.png]]
911
+ Blockly.Msg.TEXT_GET_SUBSTRING_INPUT_IN_TEXT = 'in text';
912
+ /** @type {string} */
913
+ /// dropdown - Indicates that the following number specifies the position (relative to the start
914
+ /// position) of the beginning of the region of text that should be obtained from the preceding
915
+ /// piece of text. See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-region-of-text
916
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-region-of-text].
917
+ /// [[File:Blockly-get-substring.png]]
918
+ Blockly.Msg.TEXT_GET_SUBSTRING_START_FROM_START = 'get substring from letter #';
919
+ /** @type {string} */
920
+ /// dropdown - Indicates that the following number specifies the position (relative to the end
921
+ /// position) of the beginning of the region of text that should be obtained from the preceding
922
+ /// piece of text. See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-region-of-text
923
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-region-of-text].
924
+ /// Note: If {{msg-blockly|ORDINAL_NUMBER_SUFFIX}} is defined, it will
925
+ /// automatically appear ''after'' this and any other
926
+ /// [https://translatewiki.net/wiki/Translating:Blockly#Ordinal_numbers ordinal numbers]
927
+ /// on this block.
928
+ /// [[File:Blockly-get-substring.png]]
929
+ Blockly.Msg.TEXT_GET_SUBSTRING_START_FROM_END = 'get substring from letter # from end';
930
+ /** @type {string} */
931
+ /// block text - Indicates that a region starting with the first letter of the preceding piece
932
+ /// of text should be extracted. See
933
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-region-of-text
934
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-region-of-text].
935
+ /// [[File:Blockly-get-substring.png]]
936
+ Blockly.Msg.TEXT_GET_SUBSTRING_START_FIRST = 'get substring from first letter';
937
+ /** @type {string} */
938
+ /// dropdown - Indicates that the following number specifies the position (relative to
939
+ /// the start position) of the end of the region of text that should be obtained from the
940
+ /// preceding piece of text. See
941
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-region-of-text
942
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-region-of-text].
943
+ /// [[File:Blockly-get-substring.png]]
944
+ Blockly.Msg.TEXT_GET_SUBSTRING_END_FROM_START = 'to letter #';
945
+ /** @type {string} */
946
+ /// dropdown - Indicates that the following number specifies the position (relative to the
947
+ /// end position) of the end of the region of text that should be obtained from the preceding
948
+ /// piece of text. See
949
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-region-of-text
950
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-region-of-text].
951
+ /// [[File:Blockly-get-substring.png]]
952
+ Blockly.Msg.TEXT_GET_SUBSTRING_END_FROM_END = 'to letter # from end';
953
+ /** @type {string} */
954
+ /// block text - Indicates that a region ending with the last letter of the preceding piece
955
+ /// of text should be extracted. See
956
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-region-of-text
957
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-region-of-text].
958
+ /// [[File:Blockly-get-substring.png]]
959
+ Blockly.Msg.TEXT_GET_SUBSTRING_END_LAST = 'to last letter';
960
+ /** @type {string} */
961
+ /// {{Optional|Supply translation only if your language requires it. Most do not.}}
962
+ /// block text - Text that should go after the rightmost block/dropdown when
963
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-region-of-text
964
+ /// extracting a region of text]. In most languages, this will be the empty string.
965
+ /// [[File:Blockly-get-substring.png]]
966
+ Blockly.Msg.TEXT_GET_SUBSTRING_TAIL = '';
967
+
968
+ /** @type {string} */
969
+ /// {{Optional}} url - Information about the case of letters (upper-case and lower-case).
970
+ Blockly.Msg.TEXT_CHANGECASE_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Text#adjusting-text-case';
971
+ /** @type {string} */
972
+ /// tooltip - Describes a block to adjust the case of letters. For more information on this block,
973
+ /// see [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#adjusting-text-case
974
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#adjusting-text-case].
975
+ Blockly.Msg.TEXT_CHANGECASE_TOOLTIP = 'Return a copy of the text in a different case.';
976
+ /** @type {string} */
977
+ /// block text - Indicates that all of the letters in the following piece of text should be
978
+ /// capitalized. If your language does not use case, you may indicate that this is not
979
+ /// applicable to your language. For more information on this block, see
980
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#adjusting-text-case
981
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#adjusting-text-case].
982
+ Blockly.Msg.TEXT_CHANGECASE_OPERATOR_UPPERCASE = 'to UPPER CASE';
983
+ /** @type {string} */
984
+ /// block text - Indicates that all of the letters in the following piece of text should be converted to lower-case. If your language does not use case, you may indicate that this is not applicable to your language. For more information on this block, see [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#adjusting-text-case https://github.com/RaspberryPiFoundation/blockly/wiki/Text#adjusting-text-case].
985
+ Blockly.Msg.TEXT_CHANGECASE_OPERATOR_LOWERCASE = 'to lower case';
986
+ /** @type {string} */
987
+ /// block text - Indicates that the first letter of each of the following words should be capitalized and the rest converted to lower-case. If your language does not use case, you may indicate that this is not applicable to your language. For more information on this block, see [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#adjusting-text-case https://github.com/RaspberryPiFoundation/blockly/wiki/Text#adjusting-text-case].
988
+ Blockly.Msg.TEXT_CHANGECASE_OPERATOR_TITLECASE = 'to Title Case';
989
+
990
+ /** @type {string} */
991
+ /// {{Optional}} url - Information about trimming (removing) text off the beginning and ends of pieces of text.
992
+ Blockly.Msg.TEXT_TRIM_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Text#trimming-removing-spaces';
993
+ /** @type {string} */
994
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#trimming-removing-spaces
995
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#trimming-removing-spaces].
996
+ Blockly.Msg.TEXT_TRIM_TOOLTIP = 'Return a copy of the text with spaces removed from one or both ends.';
997
+ /** @type {string} */
998
+ /// dropdown - Removes spaces from the beginning and end of a piece of text. See
999
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#trimming-removing-spaces
1000
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#trimming-removing-spaces]. Note that neither
1001
+ /// this nor the other options modify the original piece of text (that follows);
1002
+ /// the block just returns a version of the text without the specified spaces.
1003
+ Blockly.Msg.TEXT_TRIM_OPERATOR_BOTH = 'trim spaces from both sides of';
1004
+ /** @type {string} */
1005
+ /// dropdown - Removes spaces from the beginning of a piece of text. See
1006
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#trimming-removing-spaces
1007
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#trimming-removing-spaces].
1008
+ /// Note that in right-to-left scripts, this will remove spaces from the right side.
1009
+ Blockly.Msg.TEXT_TRIM_OPERATOR_LEFT = 'trim spaces from left side of';
1010
+ /** @type {string} */
1011
+ /// dropdown - Removes spaces from the end of a piece of text. See
1012
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#trimming-removing-spaces
1013
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#trimming-removing-spaces].
1014
+ /// Note that in right-to-left scripts, this will remove spaces from the left side.
1015
+ Blockly.Msg.TEXT_TRIM_OPERATOR_RIGHT = 'trim spaces from right side of';
1016
+
1017
+ /** @type {string} */
1018
+ /// {{Optional}} url - Information about displaying text on computers.
1019
+ Blockly.Msg.TEXT_PRINT_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Text#printing-text';
1020
+ /** @type {string} */
1021
+ /// block text - Display the input on the screen. See
1022
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#printing-text
1023
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#printing-text].
1024
+ /// \n\nParameters:\n* %1 - the value to print
1025
+ Blockly.Msg.TEXT_PRINT_TITLE = 'print %1';
1026
+ /** @type {string} */
1027
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#printing-text
1028
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#printing-text].
1029
+ Blockly.Msg.TEXT_PRINT_TOOLTIP = 'Print the specified text, number or other value.';
1030
+ /** @type {string} */
1031
+ /// {{Optional}} url - Information about getting text from users.
1032
+ Blockly.Msg.TEXT_PROMPT_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Text#getting-input-from-the-user';
1033
+ /** @type {string} */
1034
+ /// dropdown - Specifies that a piece of text should be requested from the user with
1035
+ /// the following message. See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#printing-text
1036
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#printing-text].
1037
+ Blockly.Msg.TEXT_PROMPT_TYPE_TEXT = 'prompt for text with message';
1038
+ /** @type {string} */
1039
+ /// dropdown - Specifies that a number should be requested from the user with the
1040
+ /// following message. See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#printing-text
1041
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#printing-text].
1042
+ Blockly.Msg.TEXT_PROMPT_TYPE_NUMBER = 'prompt for number with message';
1043
+ /** @type {string} */
1044
+ /// dropdown - Precedes the message with which the user should be prompted for
1045
+ /// a number. See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#printing-text
1046
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#printing-text].
1047
+ Blockly.Msg.TEXT_PROMPT_TOOLTIP_NUMBER = 'Prompt for user for a number.';
1048
+ /** @type {string} */
1049
+ /// dropdown - Precedes the message with which the user should be prompted for some text.
1050
+ /// See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text#printing-text
1051
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Text#printing-text].
1052
+ Blockly.Msg.TEXT_PROMPT_TOOLTIP_TEXT = 'Prompt for user for some text.';
1053
+
1054
+ /** @type {string} */
1055
+ /// block text - Title of a block that counts the number of instances of
1056
+ /// a smaller pattern (%1) inside a longer string (%2).
1057
+ Blockly.Msg.TEXT_COUNT_MESSAGE0 = 'count %1 in %2';
1058
+ /** @type {string} */
1059
+ /// {{Optional}} url - Information about counting how many times a string appears in another string.
1060
+ Blockly.Msg.TEXT_COUNT_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Text#counting-substrings';
1061
+ /** @type {string} */
1062
+ /// tooltip - Short description of a block that counts how many times some text occurs within some other text.
1063
+ Blockly.Msg.TEXT_COUNT_TOOLTIP = 'Count how many times some text occurs within some other text.';
1064
+
1065
+ /** @type {string} */
1066
+ /// block text - Title of a block that returns a copy of text (%3) with all
1067
+ /// instances of some smaller text (%1) replaced with other text (%2).
1068
+ Blockly.Msg.TEXT_REPLACE_MESSAGE0 = 'replace %1 with %2 in %3';
1069
+ /** @type {string} */
1070
+ /// {{Optional}} url - Information about replacing each copy text (or string, in computer lingo) with other text.
1071
+ Blockly.Msg.TEXT_REPLACE_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Text#replacing-substrings';
1072
+ /** @type {string} */
1073
+ /// tooltip - Short description of a block that replaces copies of text in a large text with other text.
1074
+ Blockly.Msg.TEXT_REPLACE_TOOLTIP = 'Replace all occurances of some text within some other text.';
1075
+
1076
+ /** @type {string} */
1077
+ /// block text - Title of block that returns a copy of text (%1) with the order
1078
+ /// of letters and characters reversed.
1079
+ Blockly.Msg.TEXT_REVERSE_MESSAGE0 = 'reverse %1';
1080
+ /** @type {string} */
1081
+ /// {{Optional}} url - Information about reversing a letters/characters in text.
1082
+ Blockly.Msg.TEXT_REVERSE_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Text#reversing-text';
1083
+ /** @type {string} */
1084
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Text].
1085
+ Blockly.Msg.TEXT_REVERSE_TOOLTIP = 'Reverses the order of the characters in the text.';
1086
+
1087
+ // Lists Blocks.
1088
+ /** @type {string} */
1089
+ /// {{Optional}} url - Information on empty lists.
1090
+ Blockly.Msg.LISTS_CREATE_EMPTY_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-empty-list';
1091
+ /** @type {string} */
1092
+ /// block text - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-empty-list https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-empty-list].
1093
+ Blockly.Msg.LISTS_CREATE_EMPTY_TITLE = 'create empty list';
1094
+ /** @type {string} */
1095
+ /// block text - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-empty-list https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-empty-list].
1096
+ Blockly.Msg.LISTS_CREATE_EMPTY_TOOLTIP = 'Returns a list, of length 0, containing no data records';
1097
+
1098
+ /** @type {string} */
1099
+ /// {{Optional}} url - Information on building lists.
1100
+ Blockly.Msg.LISTS_CREATE_WITH_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-list-with';
1101
+ /** @type {string} */
1102
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-list-with https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-list-with].
1103
+ Blockly.Msg.LISTS_CREATE_WITH_TOOLTIP = 'Create a list with any number of items.';
1104
+ /** @type {string} */
1105
+ /// block text - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-list-with https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-list-with].
1106
+ Blockly.Msg.LISTS_CREATE_WITH_INPUT_WITH = 'create list with';
1107
+ /** @type {string} */
1108
+ /// block text - This appears in a sub-block when [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#changing-number-of-inputs changing the number of inputs in a ''''create list with'''' block].\n{{Identical|List}}
1109
+ Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD = 'list';
1110
+ /** @type {string} */
1111
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#changing-number-of-inputs https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#changing-number-of-inputs].
1112
+ Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP = 'Add, remove, or reorder sections to reconfigure this list block.';
1113
+ /** @type {string} */
1114
+ Blockly.Msg.LISTS_CREATE_WITH_ITEM_TITLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;
1115
+ /** @type {string} */
1116
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#changing-number-of-inputs https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#changing-number-of-inputs].
1117
+ Blockly.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP = 'Add an item to the list.';
1118
+
1119
+ /** @type {string} */
1120
+ /// {{Optional}} url - Information about [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-list-with creating a list with multiple copies of a single item].
1121
+ Blockly.Msg.LISTS_REPEAT_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-list-with';
1122
+ /** @type {string} */
1123
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-list-with creating a list with multiple copies of a single item].
1124
+ Blockly.Msg.LISTS_REPEAT_TOOLTIP = 'Creates a list consisting of the given value repeated the specified number of times.';
1125
+ /** @type {string} */
1126
+ /// block text - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-list-with
1127
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-list-with].
1128
+ ///\n\nParameters:\n* %1 - the item (text) to be repeated\n* %2 - the number of times to repeat it
1129
+ Blockly.Msg.LISTS_REPEAT_TITLE = 'create list with item %1 repeated %2 times';
1130
+
1131
+ /** @type {string} */
1132
+ /// {{Optional}} url - Information about how the length of a list is computed (i.e., by the total number of elements, not the number of different elements).
1133
+ Blockly.Msg.LISTS_LENGTH_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#length-of';
1134
+ /** @type {string} */
1135
+ /// block text - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#length-of https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#length-of].
1136
+ /// \n\nParameters:\n* %1 - the list whose length is desired
1137
+ Blockly.Msg.LISTS_LENGTH_TITLE = 'length of %1';
1138
+ /** @type {string} */
1139
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#length-of https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#length-of Blockly:Lists:length of].
1140
+ Blockly.Msg.LISTS_LENGTH_TOOLTIP = 'Returns the length of a list.';
1141
+
1142
+ /** @type {string} */
1143
+ /// {{Optional}} url - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#is-empty https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#is-empty].
1144
+ Blockly.Msg.LISTS_ISEMPTY_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#is-empty';
1145
+ /** @type {string} */
1146
+ /// block text - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#is-empty
1147
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#is-empty].
1148
+ /// \n\nParameters:\n* %1 - the list to test
1149
+ Blockly.Msg.LISTS_ISEMPTY_TITLE = '%1 is empty';
1150
+ /** @type {string} */
1151
+ /// block tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#is-empty
1152
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#is-empty].
1153
+ Blockly.Msg.LISTS_ISEMPTY_TOOLTIP = 'Returns true if the list is empty.';
1154
+
1155
+ /** @type {string} */
1156
+ /// block text - Title of blocks operating on [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists lists].
1157
+ Blockly.Msg.LISTS_INLIST = 'in list';
1158
+
1159
+ /** @type {string} */
1160
+ /// {{Optional}} url - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#finding-items-in-a-list
1161
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#finding-items-in-a-list].
1162
+ Blockly.Msg.LISTS_INDEX_OF_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#finding-items-in-a-list';
1163
+ /** @type {string} */
1164
+ Blockly.Msg.LISTS_INDEX_OF_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
1165
+ /** @type {string} */
1166
+ /// dropdown - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#finding-items-in-a-list
1167
+ /// Lists#finding-items-in-a-list].
1168
+ /// [[File:Blockly-list-find.png]]
1169
+ Blockly.Msg.LISTS_INDEX_OF_FIRST = 'find first occurrence of item';
1170
+ /** @type {string} */
1171
+ /// dropdown - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#finding-items-in-a-list
1172
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#finding-items-in-a-list].
1173
+ /// [[File:Blockly-list-find.png]]
1174
+ Blockly.Msg.LISTS_INDEX_OF_LAST = 'find last occurrence of item';
1175
+ /** @type {string} */
1176
+ /// tooltip - %1 will be replaced by either the number 0 or -1 depending on the indexing mode. See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#finding-items-in-a-list
1177
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#finding-items-in-a-list].
1178
+ /// [[File:Blockly-list-find.png]]
1179
+ Blockly.Msg.LISTS_INDEX_OF_TOOLTIP = 'Returns the index of the first/last occurrence of the item in the list. Returns %1 if item is not found.';
1180
+
1181
+ /** @type {string} */
1182
+ /// {{Optional}} url - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-items-from-a-list
1183
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-items-from-a-list].
1184
+ Blockly.Msg.LISTS_GET_INDEX_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-items-from-a-list';
1185
+ /** @type {string} */
1186
+ /// dropdown - Indicates that the user wishes to
1187
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item
1188
+ /// get an item from a list] without removing it from the list.
1189
+ Blockly.Msg.LISTS_GET_INDEX_GET = 'get';
1190
+ /** @type {string} */
1191
+ /// dropdown - Indicates that the user wishes to
1192
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item
1193
+ /// get and remove an item from a list], as opposed to merely getting
1194
+ /// it without modifying the list.
1195
+ Blockly.Msg.LISTS_GET_INDEX_GET_REMOVE = 'get and remove';
1196
+ /** @type {string} */
1197
+ /// dropdown - Indicates that the user wishes to
1198
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#removing-an-item
1199
+ /// remove an item from a list].\n{{Identical|Remove}}
1200
+ Blockly.Msg.LISTS_GET_INDEX_REMOVE = 'remove';
1201
+ /** @type {string} */
1202
+ /// dropdown - Indicates that an index relative to the front of the list should be used to
1203
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item get and/or remove
1204
+ /// an item from a list]. Note: If {{msg-blockly|ORDINAL_NUMBER_SUFFIX}} is defined, it will
1205
+ /// automatically appear ''after'' this number (and any other ordinal numbers on this block).
1206
+ /// See [[Translating:Blockly#Ordinal_numbers]] for more information on ordinal numbers in Blockly.
1207
+ /// [[File:Blockly-list-get-item.png]]
1208
+ Blockly.Msg.LISTS_GET_INDEX_FROM_START = '#';
1209
+ /** @type {string} */
1210
+ /// dropdown - Indicates that an index relative to the end of the list should be used
1211
+ /// to [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item access an item in a list].
1212
+ /// [[File:Blockly-list-get-item.png]]
1213
+ Blockly.Msg.LISTS_GET_INDEX_FROM_END = '# from end';
1214
+ /** @type {string} */
1215
+ /// dropdown - Indicates that the '''first''' item should be
1216
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item accessed in a list].
1217
+ /// [[File:Blockly-list-get-item.png]]
1218
+ Blockly.Msg.LISTS_GET_INDEX_FIRST = 'first';
1219
+ /** @type {string} */
1220
+ /// dropdown - Indicates that the '''last''' item should be
1221
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item accessed in a list].
1222
+ /// [[File:Blockly-list-get-item.png]]
1223
+ Blockly.Msg.LISTS_GET_INDEX_LAST = 'last';
1224
+ /** @type {string} */
1225
+ /// dropdown - Indicates that a '''random''' item should be
1226
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item accessed in a list].
1227
+ /// [[File:Blockly-list-get-item.png]]
1228
+ Blockly.Msg.LISTS_GET_INDEX_RANDOM = 'random';
1229
+ /** @type {string} */
1230
+ /// {{Optional|Supply translation only if your language requires it. Most do not.}}
1231
+ /// block text - Text that should go after the rightmost block/dropdown when
1232
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item
1233
+ /// accessing an item from a list]. In most languages, this will be the empty string.
1234
+ /// [[File:Blockly-list-get-item.png]]
1235
+ Blockly.Msg.LISTS_GET_INDEX_TAIL = '';
1236
+ /** @type {string} */
1237
+ Blockly.Msg.LISTS_GET_INDEX_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
1238
+ /** @type {string} */
1239
+ /// tooltip - Indicates the ordinal number that the first item in a list is referenced by. %1 will be replaced by either "#0" or "#1" depending on the indexing mode.
1240
+ Blockly.Msg.LISTS_INDEX_FROM_START_TOOLTIP = '%1 is the first item.';
1241
+ /** @type {string} */
1242
+ /// tooltip - Indicates the ordinal number that the last item in a list is referenced by. %1 will be replaced by either "#0" or "#1" depending on the indexing mode.
1243
+ Blockly.Msg.LISTS_INDEX_FROM_END_TOOLTIP = '%1 is the last item.';
1244
+ /** @type {string} */
1245
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item] for more information.
1246
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM = 'Returns the item at the specified position in a list.';
1247
+ /** @type {string} */
1248
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item] for more information.
1249
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST = 'Returns the first item in a list.';
1250
+ /** @type {string} */
1251
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item] for more information.
1252
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST = 'Returns the last item in a list.';
1253
+ /** @type {string} */
1254
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item] for more information.
1255
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM = 'Returns a random item in a list.';
1256
+ /** @type {string} */
1257
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item] for '#' or '# from end'.
1258
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM = 'Removes and returns the item at the specified position in a list.';
1259
+ /** @type {string} */
1260
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item] for 'first'.
1261
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST = 'Removes and returns the first item in a list.';
1262
+ /** @type {string} */
1263
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item] for 'last'.
1264
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST = 'Removes and returns the last item in a list.';
1265
+ /** @type {string} */
1266
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item] for 'random'.
1267
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM = 'Removes and returns a random item in a list.';
1268
+ /** @type {string} */
1269
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item] for '#' or '# from end'.
1270
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM = 'Removes the item at the specified position in a list.';
1271
+ /** @type {string} */
1272
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item] for 'first'.
1273
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST = 'Removes the first item in a list.';
1274
+ /** @type {string} */
1275
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item] for 'last'.
1276
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST = 'Removes the last item in a list.';
1277
+ /** @type {string} */
1278
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item] for 'random'.
1279
+ Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM = 'Removes a random item in a list.';
1280
+ /** @type {string} */
1281
+ /// {{Optional}} url - Information about putting items in lists.
1282
+ Blockly.Msg.LISTS_SET_INDEX_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#in-list--set';
1283
+ /** @type {string} */
1284
+ Blockly.Msg.LISTS_SET_INDEX_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
1285
+ /** @type {string} */
1286
+ /// block text - [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#in-list--set
1287
+ /// Replaces an item in a list].
1288
+ /// [[File:Blockly-in-list-set-insert.png]]
1289
+ Blockly.Msg.LISTS_SET_INDEX_SET = 'set';
1290
+ /** @type {string} */
1291
+ /// block text - [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#in-list--insert-at
1292
+ /// Inserts an item into a list].
1293
+ /// [[File:Blockly-in-list-set-insert.png]]
1294
+ Blockly.Msg.LISTS_SET_INDEX_INSERT = 'insert at';
1295
+ /** @type {string} */
1296
+ /// block text - The word(s) after the position in the list and before the item to be set/inserted.
1297
+ /// [[File:Blockly-in-list-set-insert.png]]
1298
+ Blockly.Msg.LISTS_SET_INDEX_INPUT_TO = 'as';
1299
+ /** @type {string} */
1300
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the "get" block, the idea is the same for the "set" block).
1301
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM = 'Sets the item at the specified position in a list.';
1302
+ /** @type {string} */
1303
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the "get" block, the idea is the same for the "set" block).
1304
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST = 'Sets the first item in a list.';
1305
+ /** @type {string} */
1306
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the "get" block, the idea is the same for the "set" block).
1307
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_LAST = 'Sets the last item in a list.';
1308
+ /** @type {string} */
1309
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the "get" block, the idea is the same for the "set" block).
1310
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM = 'Sets a random item in a list.';
1311
+ /** @type {string} */
1312
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the "get" block, the idea is the same for the "insert" block).
1313
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM = 'Inserts the item at the specified position in a list.';
1314
+ /** @type {string} */
1315
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the "get" block, the idea is the same for the "insert" block).
1316
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST = 'Inserts the item at the start of a list.';
1317
+ /** @type {string} */
1318
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the "get" block, the idea is the same for the "insert" block).
1319
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST = 'Append the item to the end of a list.';
1320
+ /** @type {string} */
1321
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the "get" block, the idea is the same for the "insert" block).
1322
+ Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM = 'Inserts the item randomly in a list.';
1323
+
1324
+ /** @type {string} */
1325
+ /// {{Optional}} url - Information describing extracting a sublist from an existing list.
1326
+ Blockly.Msg.LISTS_GET_SUBLIST_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-sublist';
1327
+ /** @type {string} */
1328
+ Blockly.Msg.LISTS_GET_SUBLIST_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
1329
+ /** @type {string} */
1330
+ /// dropdown - Indicates that an index relative to the front of the list should be used
1331
+ /// to specify the beginning of the range from which to
1332
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-sublist get a sublist].
1333
+ /// [[File:Blockly-get-sublist.png]]
1334
+ /// Note: If {{msg-blockly|ORDINAL_NUMBER_SUFFIX}} is defined, it will
1335
+ /// automatically appear ''after'' this number (and any other ordinal numbers on this block).
1336
+ /// See [[Translating:Blockly#Ordinal_numbers]] for more information on ordinal numbers in Blockly.
1337
+ Blockly.Msg.LISTS_GET_SUBLIST_START_FROM_START = 'get sub-list from #';
1338
+ /** @type {string} */
1339
+ /// dropdown - Indicates that an index relative to the end of the list should be used
1340
+ /// to specify the beginning of the range from which to
1341
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-sublist get a sublist].
1342
+ Blockly.Msg.LISTS_GET_SUBLIST_START_FROM_END = 'get sub-list from # from end';
1343
+ /** @type {string} */
1344
+ /// dropdown - Indicates that the
1345
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-sublist sublist to extract]
1346
+ /// should begin with the list's first item.
1347
+ Blockly.Msg.LISTS_GET_SUBLIST_START_FIRST = 'get sub-list from first';
1348
+ /** @type {string} */
1349
+ /// dropdown - Indicates that an index relative to the front of the list should be
1350
+ /// used to specify the end of the range from which to
1351
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-sublist get a sublist].
1352
+ /// [[File:Blockly-get-sublist.png]]
1353
+ Blockly.Msg.LISTS_GET_SUBLIST_END_FROM_START = 'to #';
1354
+ /** @type {string} */
1355
+ /// dropdown - Indicates that an index relative to the end of the list should be
1356
+ /// used to specify the end of the range from which to
1357
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-sublist get a sublist].
1358
+ /// [[File:Blockly-get-sublist.png]]
1359
+ Blockly.Msg.LISTS_GET_SUBLIST_END_FROM_END = 'to # from end';
1360
+ /** @type {string} */
1361
+ /// dropdown - Indicates that the '''last''' item in the given list should be
1362
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-sublist the end
1363
+ /// of the selected sublist].
1364
+ /// [[File:Blockly-get-sublist.png]]
1365
+ Blockly.Msg.LISTS_GET_SUBLIST_END_LAST = 'to last';
1366
+ /** @type {string} */
1367
+ /// {{Optional|Supply translation only if your language requires it. Most do not.}}
1368
+ /// block text - This appears in the rightmost position ("tail") of the
1369
+ /// sublist block, as described at
1370
+ /// [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-sublist
1371
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-sublist].
1372
+ /// In English and most other languages, this is the empty string.
1373
+ /// [[File:Blockly-get-sublist.png]]
1374
+ Blockly.Msg.LISTS_GET_SUBLIST_TAIL = '';
1375
+ /** @type {string} */
1376
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-sublist
1377
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-sublist] for more information.
1378
+ /// [[File:Blockly-get-sublist.png]]
1379
+ Blockly.Msg.LISTS_GET_SUBLIST_TOOLTIP = 'Creates a copy of the specified portion of a list.';
1380
+
1381
+ /** @type {string} */
1382
+ /// {{Optional}} url - Information describing sorting a list.
1383
+ Blockly.Msg.LISTS_SORT_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#sorting-a-list';
1384
+ /** @type {string} */
1385
+ /// Sort as type %1 (numeric or alphabetic) in order %2 (ascending or descending) a list of items %3.\n{{Identical|Sort}}
1386
+ Blockly.Msg.LISTS_SORT_TITLE = 'sort %1 %2 %3';
1387
+ /** @type {string} */
1388
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#sorting-a-list].
1389
+ Blockly.Msg.LISTS_SORT_TOOLTIP = 'Sort a copy of a list.';
1390
+ /** @type {string} */
1391
+ /// sorting order or direction from low to high value for numeric, or A-Z for alphabetic.\n{{Identical|Ascending}}
1392
+ Blockly.Msg.LISTS_SORT_ORDER_ASCENDING = 'ascending';
1393
+ /** @type {string} */
1394
+ /// sorting order or direction from high to low value for numeric, or Z-A for alphabetic.\n{{Identical|Descending}}
1395
+ Blockly.Msg.LISTS_SORT_ORDER_DESCENDING = 'descending';
1396
+ /** @type {string} */
1397
+ /// sort by treating each item as a number.
1398
+ Blockly.Msg.LISTS_SORT_TYPE_NUMERIC = 'numeric';
1399
+ /** @type {string} */
1400
+ /// sort by treating each item alphabetically, case-sensitive.
1401
+ Blockly.Msg.LISTS_SORT_TYPE_TEXT = 'alphabetic';
1402
+ /** @type {string} */
1403
+ /// sort by treating each item alphabetically, ignoring differences in case.
1404
+ Blockly.Msg.LISTS_SORT_TYPE_IGNORECASE = 'alphabetic, ignore case';
1405
+
1406
+ /** @type {string} */
1407
+ /// {{Optional}} url - Information describing splitting text into a list, or joining a list into text.
1408
+ Blockly.Msg.LISTS_SPLIT_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#splitting-strings-and-joining-lists';
1409
+ /** @type {string} */
1410
+ /// dropdown - Indicates that text will be split up into a list (e.g. "a-b-c" -> ["a", "b", "c"]).
1411
+ Blockly.Msg.LISTS_SPLIT_LIST_FROM_TEXT = 'make list from text';
1412
+ /** @type {string} */
1413
+ /// dropdown - Indicates that a list will be joined together to form text (e.g. ["a", "b", "c"] -> "a-b-c").
1414
+ Blockly.Msg.LISTS_SPLIT_TEXT_FROM_LIST = 'make text from list';
1415
+ /** @type {string} */
1416
+ /// block text - Prompts for a letter to be used as a separator when splitting or joining text.
1417
+ Blockly.Msg.LISTS_SPLIT_WITH_DELIMITER = 'with delimiter';
1418
+ /** @type {string} */
1419
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#make-list-from-text
1420
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#make-list-from-text] for more information.
1421
+ Blockly.Msg.LISTS_SPLIT_TOOLTIP_SPLIT = 'Split text into a list of texts, breaking at each delimiter.';
1422
+ /** @type {string} */
1423
+ /// tooltip - See [https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#make-text-from-list
1424
+ /// https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#make-text-from-list] for more information.
1425
+ Blockly.Msg.LISTS_SPLIT_TOOLTIP_JOIN = 'Join a list of texts into one text, separated by a delimiter.';
1426
+
1427
+ /** @type {string} */
1428
+ /// {{Optional}} url - Information describing reversing a list.
1429
+ Blockly.Msg.LISTS_REVERSE_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#reversing-a-list';
1430
+ /** @type {string} */
1431
+ /// block text - Title of block that returns a copy of a list (%1) with the order of items reversed.
1432
+ Blockly.Msg.LISTS_REVERSE_MESSAGE0 = 'reverse %1';
1433
+ /** @type {string} */
1434
+ /// tooltip - Short description for a block that reverses a copy of a list.
1435
+ Blockly.Msg.LISTS_REVERSE_TOOLTIP = 'Reverse a copy of a list.';
1436
+
1437
+ /** @type {string} */
1438
+ /// {{Optional|Supply translation only if your language requires it. Most do not.}}
1439
+ /// grammar - Text that follows an ordinal number (a number that indicates
1440
+ /// position relative to other numbers). In most languages, such text appears
1441
+ /// before the number, so this should be blank. An exception is Hungarian.
1442
+ /// See [[Translating:Blockly#Ordinal_numbers]] for more information.
1443
+ Blockly.Msg.ORDINAL_NUMBER_SUFFIX = '';
1444
+
1445
+ // Variables Blocks.
1446
+ /** @type {string} */
1447
+ /// {{Optional}} url - Information about ''variables'' in computer programming. Consider using your language's translation of [https://en.wikipedia.org/wiki/Variable_(computer_science) https://en.wikipedia.org/wiki/Variable_(computer_science)], if it exists.
1448
+ Blockly.Msg.VARIABLES_GET_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Variables#get';
1449
+ /** @type {string} */
1450
+ /// tooltip - This gets the value of the named variable without modifying it.
1451
+ Blockly.Msg.VARIABLES_GET_TOOLTIP = 'Returns the value of this variable.';
1452
+ /** @type {string} */
1453
+ /// context menu - Selecting this creates a block to set (change) the value of this variable.
1454
+ /// \n\nParameters:\n* %1 - the name of the variable.
1455
+ Blockly.Msg.VARIABLES_GET_CREATE_SET = 'Create "set %1"';
1456
+
1457
+ /** @type {string} */
1458
+ /// {{Optional}} url - Information about ''variables'' in computer programming. Consider using your language's translation of [https://en.wikipedia.org/wiki/Variable_(computer_science) https://en.wikipedia.org/wiki/Variable_(computer_science)], if it exists.
1459
+ Blockly.Msg.VARIABLES_SET_HELPURL = 'https://github.com/RaspberryPiFoundation/blockly/wiki/Variables#set';
1460
+ /** @type {string} */
1461
+ /// block text - Change the value of a mathematical variable: '''set [the value of] x to 7'''.\n\nParameters:\n* %1 - the name of the variable.\n* %2 - the value to be assigned.
1462
+ Blockly.Msg.VARIABLES_SET = 'set %1 to %2';
1463
+ /** @type {string} */
1464
+ /// tooltip - This initializes or changes the value of the named variable.
1465
+ Blockly.Msg.VARIABLES_SET_TOOLTIP = 'Sets this variable to be equal to the input.';
1466
+ /** @type {string} */
1467
+ /// context menu - Selecting this creates a block to get (change) the value of
1468
+ /// this variable.\n\nParameters:\n* %1 - the name of the variable.
1469
+ Blockly.Msg.VARIABLES_SET_CREATE_GET = 'Create "get %1"';
1470
+
1471
+ // Procedures Blocks.
1472
+ /** @type {string} */
1473
+ /// {{Optional}} url - Information about defining [https://en.wikipedia.org/wiki/Subroutine functions] that do not have return values.
1474
+ Blockly.Msg.PROCEDURES_DEFNORETURN_HELPURL = 'https://en.wikipedia.org/wiki/Subroutine';
1475
+ /** @type {string} */
1476
+ /// block text - This precedes the name of the function when defining it. See
1477
+ /// [https://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#c84aoc this sample
1478
+ /// function definition].
1479
+ Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE = 'to';
1480
+ /** @type {string} */
1481
+ /// default name - This acts as a placeholder for the name of a function on a
1482
+ /// function definition block, as shown on
1483
+ /// [https://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#w7cfju this block].
1484
+ /// The user will replace it with the function's name.
1485
+ Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE = 'do something';
1486
+ /** @type {string} */
1487
+ /// block text - This precedes the list of parameters on a function's definition block. See
1488
+ /// [https://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#voztpd this sample
1489
+ /// function with parameters].
1490
+ Blockly.Msg.PROCEDURES_BEFORE_PARAMS = 'with:';
1491
+ /** @type {string} */
1492
+ /// block text - This precedes the list of parameters on a function's caller block. See
1493
+ /// [https://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#voztpd this sample
1494
+ /// function with parameters].
1495
+ Blockly.Msg.PROCEDURES_CALL_BEFORE_PARAMS = 'with:';
1496
+ /** @type {string} */
1497
+ /// warning - This appears if a block that runs a function can't run because the function
1498
+ /// definition block is disabled. See
1499
+ /// [https://blockly-demo.appspot.com/static/demos/code/index.html#q947d7 this sample of a
1500
+ /// disabled function definition and call block].
1501
+ Blockly.Msg.PROCEDURES_CALL_DISABLED_DEF_WARNING = 'Can\'t run the user-defined function "%1" because the definition block is disabled.';
1502
+ /** @type {string} */
1503
+ /// {{Optional|Supply translation only if your language requires it. Most do not.}}
1504
+ /// block text - This appears next to the function's "body", the blocks that should be
1505
+ /// run when the function is called, as shown in
1506
+ /// [https://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#voztpd this sample
1507
+ /// function definition].
1508
+ Blockly.Msg.PROCEDURES_DEFNORETURN_DO = '';
1509
+ /** @type {string} */
1510
+ /// tooltip
1511
+ Blockly.Msg.PROCEDURES_DEFNORETURN_TOOLTIP = 'Creates a function with no output.';
1512
+ /** @type {string} */
1513
+ /// Placeholder text that the user is encouraged to replace with a description of what their function does.
1514
+ Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT = 'Describe this function...';
1515
+ /** @type {string} */
1516
+ /// {{Optional}} url - Information about defining [https://en.wikipedia.org/wiki/Subroutine functions] that have return values.
1517
+ Blockly.Msg.PROCEDURES_DEFRETURN_HELPURL = 'https://en.wikipedia.org/wiki/Subroutine';
1518
+ /** @type {string} */
1519
+ Blockly.Msg.PROCEDURES_DEFRETURN_TITLE = Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE;
1520
+ /** @type {string} */
1521
+ Blockly.Msg.PROCEDURES_DEFRETURN_PROCEDURE = Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE;
1522
+ /** @type {string} */
1523
+ Blockly.Msg.PROCEDURES_DEFRETURN_DO = Blockly.Msg.PROCEDURES_DEFNORETURN_DO;
1524
+ /** @type {string} */
1525
+ Blockly.Msg.PROCEDURES_DEFRETURN_COMMENT = Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT;
1526
+ /** @type {string} */
1527
+ /// block text - This imperative or infinite verb precedes the value that is used as the return value
1528
+ /// (output) of this function. See
1529
+ /// [https://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#6ot5y5 this sample
1530
+ /// function that returns a value].
1531
+ Blockly.Msg.PROCEDURES_DEFRETURN_RETURN = 'return';
1532
+ /** @type {string} */
1533
+ /// tooltip
1534
+ Blockly.Msg.PROCEDURES_DEFRETURN_TOOLTIP = 'Creates a function with an output.';
1535
+ /** @type {string} */
1536
+ /// Label for a checkbox that controls if statements are allowed in a function.
1537
+ Blockly.Msg.PROCEDURES_ALLOW_STATEMENTS = 'allow statements';
1538
+
1539
+ /** @type {string} */
1540
+ /// alert - The user has created a function with two parameters that have the same name. Every parameter must have a different name.
1541
+ Blockly.Msg.PROCEDURES_DEF_DUPLICATE_WARNING = 'Warning: This function has duplicate parameters.';
1542
+
1543
+ /** @type {string} */
1544
+ /// {{Optional}} url - Information about calling [https://en.wikipedia.org/wiki/Subroutine functions] that do not return values.
1545
+ Blockly.Msg.PROCEDURES_CALLNORETURN_HELPURL = 'https://en.wikipedia.org/wiki/Subroutine';
1546
+ /** @type {string} */
1547
+ /// tooltip - This block causes the body (blocks inside) of the named function definition to be run.
1548
+ Blockly.Msg.PROCEDURES_CALLNORETURN_TOOLTIP = 'Run the user-defined function "%1".';
1549
+
1550
+ /** @type {string} */
1551
+ /// {{Optional}} url - Information about calling [https://en.wikipedia.org/wiki/Subroutine functions] that return values.
1552
+ Blockly.Msg.PROCEDURES_CALLRETURN_HELPURL = 'https://en.wikipedia.org/wiki/Subroutine';
1553
+ /** @type {string} */
1554
+ /// tooltip - This block causes the body (blocks inside) of the named function definition to be run.\n\nParameters:\n* %1 - the name of the function.
1555
+ Blockly.Msg.PROCEDURES_CALLRETURN_TOOLTIP = 'Run the user-defined function "%1" and use its output.';
1556
+
1557
+ /** @type {string} */
1558
+ /// block text - This text appears on a block in a window that appears when the user clicks
1559
+ /// on the plus sign or star on a function definition block. It refers to the set of parameters
1560
+ /// (referred to by the simpler term "inputs") to the function. See
1561
+ /// [[Translating:Blockly#function_definitions]].\n{{Identical|Input}}
1562
+ Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TITLE = 'inputs';
1563
+ /** @type {string} */
1564
+ /// tooltip
1565
+ Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP = 'Add, remove, or reorder inputs to this function.';
1566
+ /** @type {string} */
1567
+ /// block text - This text appears on a block in a window that appears when the user clicks
1568
+ /// on the plus sign or star on a function definition block]. It appears on the block for
1569
+ /// adding an individual parameter (referred to by the simpler term "inputs") to the function.
1570
+ /// See [[Translating:Blockly#function_definitions]].
1571
+ Blockly.Msg.PROCEDURES_MUTATORARG_TITLE = 'input name:';
1572
+ /** @type {string} */
1573
+ /// tooltip
1574
+ Blockly.Msg.PROCEDURES_MUTATORARG_TOOLTIP = 'Add an input to the function.';
1575
+
1576
+ /** @type {string} */
1577
+ /// context menu - This appears on the context menu for function calls. Selecting
1578
+ /// it causes the corresponding function definition to be highlighted (as shown at
1579
+ /// [[Translating:Blockly#context_menus]].
1580
+ Blockly.Msg.PROCEDURES_HIGHLIGHT_DEF = 'Highlight function definition';
1581
+ /** @type {string} */
1582
+ /// context menu - This appears on the context menu for function definitions.
1583
+ /// Selecting it creates a block to call the function.\n\nParameters:\n* %1 - the name of the function.\n{{Identical|Create}}
1584
+ Blockly.Msg.PROCEDURES_CREATE_DO = 'Create "%1"';
1585
+
1586
+ /** @type {string} */
1587
+ /// tooltip - If the first value is true, this causes the second value to be returned
1588
+ /// immediately from the enclosing function.
1589
+ Blockly.Msg.PROCEDURES_IFRETURN_TOOLTIP = 'If a value is true, then return a second value.';
1590
+ /** @type {string} */
1591
+ /// {{Optional}} url - Information about guard clauses.
1592
+ Blockly.Msg.PROCEDURES_IFRETURN_HELPURL = 'https://c2.com/cgi/wiki?GuardClause';
1593
+ /** @type {string} */
1594
+ /// warning - This appears if the user tries to use this block outside of a function definition.
1595
+ Blockly.Msg.PROCEDURES_IFRETURN_WARNING = 'Warning: This block may be used only within a function definition.';
1596
+
1597
+ /** @type {string} */
1598
+ /// comment text - This text appears in a new workspace comment, to hint that
1599
+ /// the user can type here.
1600
+ Blockly.Msg.WORKSPACE_COMMENT_DEFAULT_TEXT = 'Say something...';
1601
+
1602
+ /** @type {string} */
1603
+ /// workspace - This text is read out when a user navigates to the workspace while
1604
+ /// using a screen reader.
1605
+ Blockly.Msg.WORKSPACE_ARIA_LABEL = 'Blockly Workspace';
1606
+
1607
+ /** @type {string} */
1608
+ /// warning - This appears if the user collapses a block, and blocks inside
1609
+ /// that block have warnings attached to them. It should inform the user that the
1610
+ /// block they collapsed contains blocks that have warnings.
1611
+ Blockly.Msg.COLLAPSED_WARNINGS_WARNING = 'Collapsed blocks contain warnings.';
1612
+
1613
+ /** @type {string} */
1614
+ /// button label - Pressing this button closes help information.\n{{Identical|OK}}
1615
+ Blockly.Msg.DIALOG_OK = 'OK';
1616
+
1617
+ /** @type {string} */
1618
+ /// button label - Pressing this button cancels a proposed action.\n{{Identical|Cancel}}
1619
+ Blockly.Msg.DIALOG_CANCEL = 'Cancel';
1620
+
1621
+ /** @type {string} */
1622
+ /// menu label - Contextual menu item that moves the keyboard navigation cursor
1623
+ /// into a subitem of the focused block.
1624
+ Blockly.Msg.EDIT_BLOCK_CONTENTS = 'Edit Block contents';
1625
+ /** @type {string} */
1626
+ /// menu label - Contextual menu item that starts a keyboard-driven block move.
1627
+ Blockly.Msg.MOVE_BLOCK = 'Move Block';
1628
+ /** @type {string} */
1629
+ /// Name of the Microsoft Windows operating system displayed in a list of
1630
+ /// keyboard shortcuts.
1631
+ Blockly.Msg.WINDOWS = 'Windows';
1632
+ /** @type {string} */
1633
+ /// Name of the Apple macOS operating system displayed in a list of keyboard
1634
+ /// shortcuts,
1635
+ Blockly.Msg.MAC_OS = 'macOS';
1636
+ /** @type {string} */
1637
+ /// Name of the Google ChromeOS operating system displayed in a list of keyboard
1638
+ /// shortcuts.
1639
+ Blockly.Msg.CHROME_OS = 'ChromeOS';
1640
+ /** @type {string} */
1641
+ /// Name of the GNU/Linux operating system displayed in a list of keyboard
1642
+ /// shortcuts.
1643
+ Blockly.Msg.LINUX = 'Linux';
1644
+ /** @type {string} */
1645
+ /// Placeholder name for an operating system that can't be identified in a list
1646
+ /// of keyboard shortcuts.
1647
+ Blockly.Msg.UNKNOWN = 'Unknown';
1648
+ /** @type {string} */
1649
+ /// Representation of the Control key used in keyboard shortcuts.
1650
+ Blockly.Msg.CONTROL_KEY = 'Ctrl';
1651
+ /** @type {string} */
1652
+ /// Representation of the Mac Command key used in keyboard shortcuts.
1653
+ Blockly.Msg.COMMAND_KEY = '⌘ Command';
1654
+ /** @type {string} */
1655
+ /// Representation of the Mac Option key used in keyboard shortcuts.
1656
+ Blockly.Msg.OPTION_KEY = '⌥ Option';
1657
+ /** @type {string} */
1658
+ /// Representation of the Alt key used in keyboard shortcuts.
1659
+ Blockly.Msg.ALT_KEY = 'Alt';
1660
+ /** @type {string} */
1661
+ /// menu label - Contextual menu item that cuts the focused item.
1662
+ Blockly.Msg.CUT_SHORTCUT = 'Cut';
1663
+ /** @type {string} */
1664
+ /// menu label - Contextual menu item that copies the focused item.
1665
+ Blockly.Msg.COPY_SHORTCUT = 'Copy';
1666
+ /** @type {string} */
1667
+ /// menu label - Contextual menu item that pastes the previously copied item.
1668
+ Blockly.Msg.PASTE_SHORTCUT = 'Paste';
1669
+ /** @type {string} */
1670
+ /// Alert message shown to prompt users to review available keyboard shortcuts.
1671
+ Blockly.Msg.HELP_PROMPT = 'Press %1 for help on keyboard controls';
1672
+ /** @type {string} */
1673
+ /// shortcut list section header - Label for general purpose keyboard shortcuts.
1674
+ Blockly.Msg.SHORTCUTS_GENERAL = 'General';
1675
+ /** @type {string} */
1676
+ /// shortcut list section header - Label for keyboard shortcuts related to
1677
+ /// editing a workspace.
1678
+ Blockly.Msg.SHORTCUTS_EDITING = 'Editing'
1679
+ /** @type {string} */
1680
+ /// shortcut list section header - Label for keyboard shortcuts related to
1681
+ /// moving around the workspace.
1682
+ Blockly.Msg.SHORTCUTS_CODE_NAVIGATION = 'Code navigation';
1683
+ /** @type {string} */
1684
+ /// Message shown to inform users how to move blocks to arbitrary locations
1685
+ /// with the keyboard.
1686
+ Blockly.Msg.KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT = 'Hold %1 and use arrow keys to move freely, then %2 to accept the position';
1687
+ /** @type {string} */
1688
+ /// Message shown to inform users how to move blocks with the keyboard.
1689
+ Blockly.Msg.KEYBOARD_NAV_CONSTRAINED_MOVE_HINT = 'Use the arrow keys to move, then %1 to accept the position';
1690
+ /** @type {string} */
1691
+ /// Message shown when an item is copied in keyboard navigation mode.
1692
+ Blockly.Msg.KEYBOARD_NAV_COPIED_HINT = 'Copied. Press %1 to paste.';
1693
+ /** @type {string} */
1694
+ /// Message shown when an item is cut in keyboard navigation mode.
1695
+ Blockly.Msg.KEYBOARD_NAV_CUT_HINT = 'Cut. Press %1 to paste.';