blockly 12.0.0-beta.4 → 12.0.0-beta.6

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 (336) hide show
  1. package/blockly.min.js +715 -664
  2. package/blockly.mjs +11 -1
  3. package/blockly_compressed.js +679 -661
  4. package/blockly_compressed.js.map +1 -1
  5. package/blocks_compressed.js +3 -3
  6. package/blocks_compressed.js.map +1 -1
  7. package/core/block.d.ts +1 -16
  8. package/core/block_svg.d.ts +19 -31
  9. package/core/blockly.d.ts +15 -7
  10. package/core/bubbles/bubble.d.ts +22 -3
  11. package/core/bubbles/textinput_bubble.d.ts +3 -5
  12. package/core/comments/rendered_workspace_comment.d.ts +11 -0
  13. package/core/common.d.ts +19 -7
  14. package/core/connection.d.ts +3 -2
  15. package/core/contextmenu_registry.d.ts +11 -9
  16. package/core/dialog.d.ts +36 -16
  17. package/core/events/events.d.ts +0 -2
  18. package/core/events/predicates.d.ts +0 -3
  19. package/core/events/utils.d.ts +1 -5
  20. package/core/field.d.ts +28 -30
  21. package/core/field_dropdown.d.ts +17 -3
  22. package/core/field_image.d.ts +0 -2
  23. package/core/field_input.d.ts +9 -0
  24. package/core/field_variable.d.ts +0 -2
  25. package/core/flyout_base.d.ts +25 -1
  26. package/core/flyout_button.d.ts +15 -13
  27. package/core/flyout_item.d.ts +3 -9
  28. package/core/flyout_navigator.d.ts +11 -0
  29. package/core/flyout_separator.d.ts +20 -1
  30. package/core/focus_manager.d.ts +86 -14
  31. package/core/icons/comment_icon.d.ts +3 -0
  32. package/core/icons/icon.d.ts +13 -0
  33. package/core/icons/mutator_icon.d.ts +3 -0
  34. package/core/icons/warning_icon.d.ts +3 -0
  35. package/core/interfaces/i_autohideable.d.ts +2 -0
  36. package/core/interfaces/i_bubble.d.ts +2 -1
  37. package/core/interfaces/i_flyout.d.ts +2 -1
  38. package/core/interfaces/i_focusable_node.d.ts +71 -8
  39. package/core/interfaces/i_focusable_tree.d.ts +67 -0
  40. package/core/interfaces/i_has_bubble.d.ts +13 -0
  41. package/core/interfaces/i_icon.d.ts +2 -1
  42. package/core/interfaces/i_navigation_policy.d.ts +63 -0
  43. package/core/interfaces/i_selectable.d.ts +7 -1
  44. package/core/interfaces/i_toolbox.d.ts +2 -1
  45. package/core/interfaces/i_toolbox_item.d.ts +2 -1
  46. package/core/keyboard_nav/block_navigation_policy.d.ts +59 -0
  47. package/core/keyboard_nav/connection_navigation_policy.d.ts +67 -0
  48. package/core/keyboard_nav/field_navigation_policy.d.ts +56 -0
  49. package/core/keyboard_nav/flyout_button_navigation_policy.d.ts +56 -0
  50. package/core/keyboard_nav/flyout_navigation_policy.d.ts +65 -0
  51. package/core/keyboard_nav/flyout_separator_navigation_policy.d.ts +33 -0
  52. package/core/keyboard_nav/line_cursor.d.ts +24 -185
  53. package/core/keyboard_nav/marker.d.ts +17 -29
  54. package/core/keyboard_nav/workspace_navigation_policy.d.ts +56 -0
  55. package/core/layer_manager.d.ts +3 -2
  56. package/core/marker_manager.d.ts +0 -26
  57. package/core/navigator.d.ts +65 -0
  58. package/core/rendered_connection.d.ts +24 -1
  59. package/core/renderers/common/block_rendering.d.ts +1 -2
  60. package/core/renderers/common/drawer.d.ts +1 -1
  61. package/core/renderers/common/i_path_object.d.ts +1 -25
  62. package/core/renderers/common/path_object.d.ts +1 -26
  63. package/core/renderers/common/renderer.d.ts +0 -11
  64. package/core/renderers/zelos/drawer.d.ts +1 -1
  65. package/core/renderers/zelos/renderer.d.ts +0 -11
  66. package/core/renderers/zelos/zelos.d.ts +1 -2
  67. package/core/shortcut_registry.d.ts +7 -2
  68. package/core/toast.d.ts +74 -0
  69. package/core/toolbox/toolbox.d.ts +25 -1
  70. package/core/toolbox/toolbox_item.d.ts +11 -0
  71. package/core/utils/aria.d.ts +5 -2
  72. package/core/utils/object.d.ts +3 -0
  73. package/core/variable_map.d.ts +11 -6
  74. package/core/variables.d.ts +3 -1
  75. package/core/workspace.d.ts +11 -11
  76. package/core/workspace_dragger.d.ts +5 -0
  77. package/core/workspace_svg.d.ts +99 -48
  78. package/index.mjs +11 -1
  79. package/msg/ab.js +33 -0
  80. package/msg/ab.mjs +33 -0
  81. package/msg/ace.js +33 -0
  82. package/msg/ace.mjs +33 -0
  83. package/msg/af.js +33 -0
  84. package/msg/af.mjs +33 -0
  85. package/msg/am.js +33 -0
  86. package/msg/am.mjs +33 -0
  87. package/msg/ar.js +33 -0
  88. package/msg/ar.mjs +33 -0
  89. package/msg/ast.js +33 -0
  90. package/msg/ast.mjs +33 -0
  91. package/msg/az.js +33 -0
  92. package/msg/az.mjs +33 -0
  93. package/msg/ba.js +33 -0
  94. package/msg/ba.mjs +33 -0
  95. package/msg/bcc.js +33 -0
  96. package/msg/bcc.mjs +33 -0
  97. package/msg/be-tarask.js +33 -0
  98. package/msg/be-tarask.mjs +33 -0
  99. package/msg/be.js +33 -0
  100. package/msg/be.mjs +33 -0
  101. package/msg/bg.js +33 -0
  102. package/msg/bg.mjs +33 -0
  103. package/msg/bn.js +33 -0
  104. package/msg/bn.mjs +33 -0
  105. package/msg/br.js +33 -0
  106. package/msg/br.mjs +33 -0
  107. package/msg/bs.js +33 -0
  108. package/msg/bs.mjs +33 -0
  109. package/msg/ca.js +33 -0
  110. package/msg/ca.mjs +33 -0
  111. package/msg/cdo.js +33 -0
  112. package/msg/cdo.mjs +33 -0
  113. package/msg/ce.js +33 -0
  114. package/msg/ce.mjs +33 -0
  115. package/msg/cs.js +33 -0
  116. package/msg/cs.mjs +33 -0
  117. package/msg/da.js +33 -0
  118. package/msg/da.mjs +33 -0
  119. package/msg/de.js +33 -0
  120. package/msg/de.mjs +33 -0
  121. package/msg/diq.js +33 -0
  122. package/msg/diq.mjs +33 -0
  123. package/msg/dtp.js +33 -0
  124. package/msg/dtp.mjs +33 -0
  125. package/msg/dty.js +33 -0
  126. package/msg/dty.mjs +33 -0
  127. package/msg/ee.js +33 -0
  128. package/msg/ee.mjs +33 -0
  129. package/msg/el.js +33 -0
  130. package/msg/el.mjs +33 -0
  131. package/msg/en-gb.js +33 -0
  132. package/msg/en-gb.mjs +33 -0
  133. package/msg/en.js +33 -0
  134. package/msg/en.mjs +33 -0
  135. package/msg/eo.js +33 -0
  136. package/msg/eo.mjs +33 -0
  137. package/msg/es.js +33 -0
  138. package/msg/es.mjs +33 -0
  139. package/msg/et.js +33 -0
  140. package/msg/et.mjs +33 -0
  141. package/msg/eu.js +33 -0
  142. package/msg/eu.mjs +33 -0
  143. package/msg/fa.js +33 -0
  144. package/msg/fa.mjs +33 -0
  145. package/msg/fi.js +33 -0
  146. package/msg/fi.mjs +33 -0
  147. package/msg/fo.js +33 -0
  148. package/msg/fo.mjs +33 -0
  149. package/msg/fr.js +33 -0
  150. package/msg/fr.mjs +33 -0
  151. package/msg/frr.js +33 -0
  152. package/msg/frr.mjs +33 -0
  153. package/msg/gl.js +33 -0
  154. package/msg/gl.mjs +33 -0
  155. package/msg/gn.js +33 -0
  156. package/msg/gn.mjs +33 -0
  157. package/msg/gor.js +33 -0
  158. package/msg/gor.mjs +33 -0
  159. package/msg/ha.js +33 -0
  160. package/msg/ha.mjs +33 -0
  161. package/msg/hak.js +33 -0
  162. package/msg/hak.mjs +33 -0
  163. package/msg/he.js +33 -0
  164. package/msg/he.mjs +33 -0
  165. package/msg/hi.js +33 -0
  166. package/msg/hi.mjs +33 -0
  167. package/msg/hr.js +33 -0
  168. package/msg/hr.mjs +33 -0
  169. package/msg/hrx.js +33 -0
  170. package/msg/hrx.mjs +33 -0
  171. package/msg/hsb.js +33 -0
  172. package/msg/hsb.mjs +33 -0
  173. package/msg/hu.js +33 -0
  174. package/msg/hu.mjs +33 -0
  175. package/msg/hy.js +33 -0
  176. package/msg/hy.mjs +33 -0
  177. package/msg/ia.js +33 -0
  178. package/msg/ia.mjs +33 -0
  179. package/msg/id.js +33 -0
  180. package/msg/id.mjs +33 -0
  181. package/msg/ig.js +33 -0
  182. package/msg/ig.mjs +33 -0
  183. package/msg/inh.js +33 -0
  184. package/msg/inh.mjs +33 -0
  185. package/msg/is.js +33 -0
  186. package/msg/is.mjs +33 -0
  187. package/msg/it.js +33 -0
  188. package/msg/it.mjs +33 -0
  189. package/msg/ja.js +33 -0
  190. package/msg/ja.mjs +33 -0
  191. package/msg/ka.js +33 -0
  192. package/msg/ka.mjs +33 -0
  193. package/msg/kab.js +33 -0
  194. package/msg/kab.mjs +33 -0
  195. package/msg/kbd-cyrl.js +33 -0
  196. package/msg/kbd-cyrl.mjs +33 -0
  197. package/msg/km.js +33 -0
  198. package/msg/km.mjs +33 -0
  199. package/msg/kn.js +33 -0
  200. package/msg/kn.mjs +33 -0
  201. package/msg/ko.js +33 -0
  202. package/msg/ko.mjs +33 -0
  203. package/msg/ksh.js +33 -0
  204. package/msg/ksh.mjs +33 -0
  205. package/msg/ku-latn.js +33 -0
  206. package/msg/ku-latn.mjs +33 -0
  207. package/msg/ky.js +33 -0
  208. package/msg/ky.mjs +33 -0
  209. package/msg/la.js +33 -0
  210. package/msg/la.mjs +33 -0
  211. package/msg/lb.js +33 -0
  212. package/msg/lb.mjs +33 -0
  213. package/msg/lki.js +33 -0
  214. package/msg/lki.mjs +33 -0
  215. package/msg/lo.js +33 -0
  216. package/msg/lo.mjs +33 -0
  217. package/msg/lrc.js +33 -0
  218. package/msg/lrc.mjs +33 -0
  219. package/msg/lt.js +33 -0
  220. package/msg/lt.mjs +33 -0
  221. package/msg/lv.js +33 -0
  222. package/msg/lv.mjs +33 -0
  223. package/msg/mg.js +33 -0
  224. package/msg/mg.mjs +33 -0
  225. package/msg/mk.js +33 -0
  226. package/msg/mk.mjs +33 -0
  227. package/msg/ml.js +33 -0
  228. package/msg/ml.mjs +33 -0
  229. package/msg/mnw.js +33 -0
  230. package/msg/mnw.mjs +33 -0
  231. package/msg/ms.js +33 -0
  232. package/msg/ms.mjs +33 -0
  233. package/msg/my.js +33 -0
  234. package/msg/my.mjs +33 -0
  235. package/msg/mzn.js +33 -0
  236. package/msg/mzn.mjs +33 -0
  237. package/msg/nb.js +33 -0
  238. package/msg/nb.mjs +33 -0
  239. package/msg/ne.js +33 -0
  240. package/msg/ne.mjs +33 -0
  241. package/msg/nl.js +33 -0
  242. package/msg/nl.mjs +33 -0
  243. package/msg/oc.js +33 -0
  244. package/msg/oc.mjs +33 -0
  245. package/msg/olo.js +33 -0
  246. package/msg/olo.mjs +33 -0
  247. package/msg/pa.js +33 -0
  248. package/msg/pa.mjs +33 -0
  249. package/msg/pl.js +33 -0
  250. package/msg/pl.mjs +33 -0
  251. package/msg/pms.js +33 -0
  252. package/msg/pms.mjs +33 -0
  253. package/msg/ps.js +33 -0
  254. package/msg/ps.mjs +33 -0
  255. package/msg/pt-br.js +33 -0
  256. package/msg/pt-br.mjs +33 -0
  257. package/msg/pt.js +33 -0
  258. package/msg/pt.mjs +33 -0
  259. package/msg/ro.js +33 -0
  260. package/msg/ro.mjs +33 -0
  261. package/msg/ru.js +33 -0
  262. package/msg/ru.mjs +33 -0
  263. package/msg/sc.js +33 -0
  264. package/msg/sc.mjs +33 -0
  265. package/msg/sco.js +33 -0
  266. package/msg/sco.mjs +33 -0
  267. package/msg/sd.js +33 -0
  268. package/msg/sd.mjs +33 -0
  269. package/msg/shn.js +33 -0
  270. package/msg/shn.mjs +33 -0
  271. package/msg/si.js +33 -0
  272. package/msg/si.mjs +33 -0
  273. package/msg/sk.js +33 -0
  274. package/msg/sk.mjs +33 -0
  275. package/msg/skr-arab.js +33 -0
  276. package/msg/skr-arab.mjs +33 -0
  277. package/msg/sl.js +33 -0
  278. package/msg/sl.mjs +33 -0
  279. package/msg/smn.js +33 -0
  280. package/msg/smn.mjs +33 -0
  281. package/msg/sq.js +33 -0
  282. package/msg/sq.mjs +33 -0
  283. package/msg/sr-latn.js +33 -0
  284. package/msg/sr-latn.mjs +33 -0
  285. package/msg/sr.js +33 -0
  286. package/msg/sr.mjs +33 -0
  287. package/msg/sv.js +33 -0
  288. package/msg/sv.mjs +33 -0
  289. package/msg/sw.js +33 -0
  290. package/msg/sw.mjs +33 -0
  291. package/msg/ta.js +33 -0
  292. package/msg/ta.mjs +33 -0
  293. package/msg/tcy.js +33 -0
  294. package/msg/tcy.mjs +33 -0
  295. package/msg/tdd.js +33 -0
  296. package/msg/tdd.mjs +33 -0
  297. package/msg/te.js +33 -0
  298. package/msg/te.mjs +33 -0
  299. package/msg/th.js +33 -0
  300. package/msg/th.mjs +33 -0
  301. package/msg/ti.js +33 -0
  302. package/msg/ti.mjs +33 -0
  303. package/msg/tl.js +33 -0
  304. package/msg/tl.mjs +33 -0
  305. package/msg/tlh.js +33 -0
  306. package/msg/tlh.mjs +33 -0
  307. package/msg/tr.js +33 -0
  308. package/msg/tr.mjs +33 -0
  309. package/msg/ug-arab.js +33 -0
  310. package/msg/ug-arab.mjs +33 -0
  311. package/msg/uk.js +33 -0
  312. package/msg/uk.mjs +33 -0
  313. package/msg/ur.js +33 -0
  314. package/msg/ur.mjs +33 -0
  315. package/msg/uz.js +33 -0
  316. package/msg/uz.mjs +33 -0
  317. package/msg/vi.js +33 -0
  318. package/msg/vi.mjs +33 -0
  319. package/msg/xmf.js +33 -0
  320. package/msg/xmf.mjs +33 -0
  321. package/msg/yo.js +33 -0
  322. package/msg/yo.mjs +33 -0
  323. package/msg/zgh.js +33 -0
  324. package/msg/zgh.mjs +33 -0
  325. package/msg/zh-hans.js +33 -0
  326. package/msg/zh-hans.mjs +33 -0
  327. package/msg/zh-hant.js +33 -0
  328. package/msg/zh-hant.mjs +33 -0
  329. package/package.json +4 -4
  330. package/core/events/events_marker_move.d.ts +0 -69
  331. package/core/interfaces/i_ast_node_location.d.ts +0 -11
  332. package/core/interfaces/i_ast_node_location_svg.d.ts +0 -24
  333. package/core/interfaces/i_ast_node_location_with_block.d.ts +0 -19
  334. package/core/keyboard_nav/ast_node.d.ts +0 -297
  335. package/core/renderers/common/marker_svg.d.ts +0 -256
  336. package/core/renderers/zelos/marker_svg.d.ts +0 -49
package/msg/af.js CHANGED
@@ -17,10 +17,14 @@
17
17
 
18
18
  var Blockly = Blockly || { Msg: Object.create(null) };
19
19
 
20
+ Blockly.Msg["ABORT_MOVE"] = "Abort move"; // untranslated
20
21
  Blockly.Msg["ADD_COMMENT"] = "Voeg kommentaar by";
22
+ Blockly.Msg["ALT_KEY"] = "Alt"; // untranslated
21
23
  Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'"; // untranslated
22
24
  Blockly.Msg["CHANGE_VALUE_TITLE"] = "Wysig waarde:";
25
+ Blockly.Msg["CHROME_OS"] = "ChromeOS"; // untranslated
23
26
  Blockly.Msg["CLEAN_UP"] = "Clean up Blocks"; // untranslated
27
+ Blockly.Msg["CLOSE"] = "Close"; // untranslated
24
28
  Blockly.Msg["COLLAPSED_WARNINGS_WARNING"] = "Collapsed blocks contain warnings."; // untranslated
25
29
  Blockly.Msg["COLLAPSE_ALL"] = "Collapse Blocks"; // untranslated
26
30
  Blockly.Msg["COLLAPSE_BLOCK"] = "Collapse Block"; // untranslated
@@ -41,6 +45,7 @@ Blockly.Msg["COLOUR_RGB_HELPURL"] = "https://www.december.com/html/spec/colorper
41
45
  Blockly.Msg["COLOUR_RGB_RED"] = "red"; // untranslated
42
46
  Blockly.Msg["COLOUR_RGB_TITLE"] = "colour with"; // untranslated
43
47
  Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Create a colour with the specified amount of red, green, and blue. All values must be between 0 and 100."; // untranslated
48
+ Blockly.Msg["COMMAND_KEY"] = "⌘ Command"; // untranslated
44
49
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks"; // untranslated
45
50
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "break out of loop"; // untranslated
46
51
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continue with next iteration of loop"; // untranslated
@@ -73,8 +78,13 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "repeat until"; // untransl
73
78
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repeat while"; // untranslated
74
79
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then do some statements."; // untranslated
75
80
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "While a value is true, then do some statements."; // untranslated
81
+ Blockly.Msg["CONTROL_KEY"] = "Ctrl"; // untranslated
82
+ Blockly.Msg["COPY_SHORTCUT"] = "Copy (%1)"; // untranslated
83
+ Blockly.Msg["CUT_SHORTCUT"] = "Cut (%1)"; // untranslated
76
84
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "verwyder al %1 blokke?";
77
85
  Blockly.Msg["DELETE_BLOCK"] = "verwyder blok";
86
+ Blockly.Msg["DELETE_KEY"] = "Del"; // untranslated
87
+ Blockly.Msg["DELETE_SHORTCUT"] = "Delete block (%1)"; // untranslated
78
88
  Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable"; // untranslated
79
89
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Wissig %1 gebruike van die '%2' veranderlike?";
80
90
  Blockly.Msg["DELETE_X_BLOCKS"] = "verwyder %1 blokke";
@@ -83,12 +93,17 @@ Blockly.Msg["DIALOG_OK"] = "Oukei";
83
93
  Blockly.Msg["DISABLE_BLOCK"] = "Disable Block"; // untranslated
84
94
  Blockly.Msg["DUPLICATE_BLOCK"] = "duplikaat";
85
95
  Blockly.Msg["DUPLICATE_COMMENT"] = "Dupliseer kommentaar";
96
+ Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents (%1)"; // untranslated
86
97
  Blockly.Msg["ENABLE_BLOCK"] = "Enable Block"; // untranslated
87
98
  Blockly.Msg["EXPAND_ALL"] = "Expand Blocks"; // untranslated
88
99
  Blockly.Msg["EXPAND_BLOCK"] = "Expand Block"; // untranslated
89
100
  Blockly.Msg["EXTERNAL_INPUTS"] = "External Inputs"; // untranslated
101
+ Blockly.Msg["FINISH_MOVE"] = "Finish move"; // untranslated
90
102
  Blockly.Msg["HELP"] = "Hulp";
103
+ Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls"; // untranslated
91
104
  Blockly.Msg["INLINE_INPUTS"] = "Inline Inputs"; // untranslated
105
+ Blockly.Msg["INSERT_BLOCK"] = "Insert Block (%1)"; // untranslated
106
+ Blockly.Msg["LINUX"] = "Linux"; // untranslated
92
107
  Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list"; // untranslated
93
108
  Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list"; // untranslated
94
109
  Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records"; // untranslated
@@ -201,6 +216,7 @@ Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:"; //
201
216
  Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "if false"; // untranslated
202
217
  Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "if true"; // untranslated
203
218
  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."; // untranslated
219
+ Blockly.Msg["MAC_OS"] = "macOS"; // untranslated
204
220
  Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+"; // untranslated
205
221
  Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic"; // untranslated
206
222
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Return the sum of the two numbers."; // untranslated
@@ -287,13 +303,24 @@ Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number."; /
287
303
  Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian)."; // untranslated
288
304
  Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian)."; // untranslated
289
305
  Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian)."; // untranslated
306
+ Blockly.Msg["MOVE_BLOCK"] = "Move Block (%1)"; // untranslated
307
+ Blockly.Msg["MOVE_DOWN_CONSTRAINED"] = "Move down constrained"; // untranslated
308
+ Blockly.Msg["MOVE_DOWN_UNCONSTRAINED"] = "Move down, unconstrained"; // untranslated
309
+ Blockly.Msg["MOVE_LEFT_CONSTRAINED"] = "Move left, constrained"; // untranslated
310
+ Blockly.Msg["MOVE_LEFT_UNCONSTRAINED"] = "Move left, unconstrained"; // untranslated
311
+ Blockly.Msg["MOVE_RIGHT_CONSTRAINED"] = "Move right constrained"; // untranslated
312
+ Blockly.Msg["MOVE_RIGHT_UNCONSTRAINED"] = "Move right, unconstrained"; // untranslated
313
+ Blockly.Msg["MOVE_UP_CONSTRAINED"] = "Move up, constrained"; // untranslated
314
+ Blockly.Msg["MOVE_UP_UNCONSTRAINED"] = "Move up unconstrained"; // untranslated
290
315
  Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Skep kleur veranderlike";
291
316
  Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Skep numeriese veranderlike";
292
317
  Blockly.Msg["NEW_STRING_VARIABLE"] = "Skep teks veranderlike";
293
318
  Blockly.Msg["NEW_VARIABLE"] = "Skep veranderlike";
294
319
  Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nuwe veranderlike naam:";
295
320
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Nuwe veranderlike tipe:";
321
+ Blockly.Msg["OPTION_KEY"] = "⌥ Option"; // untranslated
296
322
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
323
+ Blockly.Msg["PASTE_SHORTCUT"] = "Paste (%1)"; // untranslated
297
324
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements"; // untranslated
298
325
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:"; // untranslated
299
326
  Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine"; // untranslated
@@ -325,6 +352,10 @@ Blockly.Msg["REDO"] = "Doen weer";
325
352
  Blockly.Msg["REMOVE_COMMENT"] = "Verwyder kommentaar";
326
353
  Blockly.Msg["RENAME_VARIABLE"] = "Hernoem veranderlike...";
327
354
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Hernoem al %1 veranderlikes na:";
355
+ Blockly.Msg["SHORTCUTS_CODE_NAVIGATION"] = "Code navigation"; // untranslated
356
+ Blockly.Msg["SHORTCUTS_EDITING"] = "Editing"; // untranslated
357
+ Blockly.Msg["SHORTCUTS_GENERAL"] = "General"; // untranslated
358
+ Blockly.Msg["START_MOVE"] = "Start move"; // untranslated
328
359
  Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification"; // untranslated
329
360
  Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2"; // untranslated
330
361
  Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'."; // untranslated
@@ -395,6 +426,7 @@ Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of"; //
395
426
  Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends."; // untranslated
396
427
  Blockly.Msg["TODAY"] = "vandag";
397
428
  Blockly.Msg["UNDO"] = "Ontdaan";
429
+ Blockly.Msg["UNKNOWN"] = "Unknown"; // untranslated
398
430
  Blockly.Msg["UNNAMED_KEY"] = "onbenoem";
399
431
  Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "item";
400
432
  Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'"; // untranslated
@@ -407,6 +439,7 @@ Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the in
407
439
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "'n Veranderlike met die naam '%1' bestaan reeds.";
408
440
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "'n Veranderlike met die naam '%1' bestaan reeds vir 'n ander tipe veranderlike: '%2'.";
409
441
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
442
+ Blockly.Msg["WINDOWS"] = "Windows"; // untranslated
410
443
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace"; // untranslated
411
444
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
412
445
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/af.mjs CHANGED
@@ -22,6 +22,7 @@ export const {
22
22
  DELETE_X_BLOCKS,
23
23
  DELETE_ALL_BLOCKS,
24
24
  CLEAN_UP,
25
+ CLOSE,
25
26
  COLLAPSE_BLOCK,
26
27
  COLLAPSE_ALL,
27
28
  EXPAND_BLOCK,
@@ -420,4 +421,36 @@ export const {
420
421
  COLLAPSED_WARNINGS_WARNING,
421
422
  DIALOG_OK,
422
423
  DIALOG_CANCEL,
424
+ DELETE_SHORTCUT,
425
+ DELETE_KEY,
426
+ EDIT_BLOCK_CONTENTS,
427
+ INSERT_BLOCK,
428
+ START_MOVE,
429
+ FINISH_MOVE,
430
+ ABORT_MOVE,
431
+ MOVE_LEFT_CONSTRAINED,
432
+ MOVE_RIGHT_CONSTRAINED,
433
+ MOVE_UP_CONSTRAINED,
434
+ MOVE_DOWN_CONSTRAINED,
435
+ MOVE_LEFT_UNCONSTRAINED,
436
+ MOVE_RIGHT_UNCONSTRAINED,
437
+ MOVE_UP_UNCONSTRAINED,
438
+ MOVE_DOWN_UNCONSTRAINED,
439
+ MOVE_BLOCK,
440
+ WINDOWS,
441
+ MAC_OS,
442
+ CHROME_OS,
443
+ LINUX,
444
+ UNKNOWN,
445
+ CONTROL_KEY,
446
+ COMMAND_KEY,
447
+ OPTION_KEY,
448
+ ALT_KEY,
449
+ CUT_SHORTCUT,
450
+ COPY_SHORTCUT,
451
+ PASTE_SHORTCUT,
452
+ HELP_PROMPT,
453
+ SHORTCUTS_GENERAL,
454
+ SHORTCUTS_EDITING,
455
+ SHORTCUTS_CODE_NAVIGATION,
423
456
  } = af;
package/msg/am.js CHANGED
@@ -17,10 +17,14 @@
17
17
 
18
18
  var Blockly = Blockly || { Msg: Object.create(null) };
19
19
 
20
+ Blockly.Msg["ABORT_MOVE"] = "Abort move"; // untranslated
20
21
  Blockly.Msg["ADD_COMMENT"] = "ማስታወሻ ያክሉ";
22
+ Blockly.Msg["ALT_KEY"] = "Alt"; // untranslated
21
23
  Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'"; // untranslated
22
24
  Blockly.Msg["CHANGE_VALUE_TITLE"] = "Change value:"; // untranslated
25
+ Blockly.Msg["CHROME_OS"] = "ChromeOS"; // untranslated
23
26
  Blockly.Msg["CLEAN_UP"] = "ብሎኮቹን ይሰድሩ";
27
+ Blockly.Msg["CLOSE"] = "Close"; // untranslated
24
28
  Blockly.Msg["COLLAPSED_WARNINGS_WARNING"] = "Collapsed blocks contain warnings."; // untranslated
25
29
  Blockly.Msg["COLLAPSE_ALL"] = "የብሎኮቹን መረጃዎች ያሳጥሩ";
26
30
  Blockly.Msg["COLLAPSE_BLOCK"] = "የብሎኩን መረጃ ያሳጥሩ";
@@ -41,6 +45,7 @@ Blockly.Msg["COLOUR_RGB_HELPURL"] = "https://www.december.com/html/spec/colorper
41
45
  Blockly.Msg["COLOUR_RGB_RED"] = "red"; // untranslated
42
46
  Blockly.Msg["COLOUR_RGB_TITLE"] = "colour with"; // untranslated
43
47
  Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Create a colour with the specified amount of red, green, and blue. All values must be between 0 and 100."; // untranslated
48
+ Blockly.Msg["COMMAND_KEY"] = "⌘ Command"; // untranslated
44
49
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks"; // untranslated
45
50
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "break out of loop"; // untranslated
46
51
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continue with next iteration of loop"; // untranslated
@@ -73,8 +78,13 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "repeat until"; // untransl
73
78
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repeat while"; // untranslated
74
79
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then do some statements."; // untranslated
75
80
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "While a value is true, then do some statements."; // untranslated
81
+ Blockly.Msg["CONTROL_KEY"] = "Ctrl"; // untranslated
82
+ Blockly.Msg["COPY_SHORTCUT"] = "Copy (%1)"; // untranslated
83
+ Blockly.Msg["CUT_SHORTCUT"] = "Cut (%1)"; // untranslated
76
84
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "%1 ያህል ብሎኮች ይሰረዙ?";
77
85
  Blockly.Msg["DELETE_BLOCK"] = "ብሎኩን ይሰርዙ";
86
+ Blockly.Msg["DELETE_KEY"] = "Del"; // untranslated
87
+ Blockly.Msg["DELETE_SHORTCUT"] = "Delete block (%1)"; // untranslated
78
88
  Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable"; // untranslated
79
89
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?"; // untranslated
80
90
  Blockly.Msg["DELETE_X_BLOCKS"] = "%1 ብሎኮች ይሰርዙ";
@@ -83,12 +93,17 @@ Blockly.Msg["DIALOG_OK"] = "እሺ";
83
93
  Blockly.Msg["DISABLE_BLOCK"] = "ብሎኩን ለጊዜው ያጥፉ";
84
94
  Blockly.Msg["DUPLICATE_BLOCK"] = "ቅጂ";
85
95
  Blockly.Msg["DUPLICATE_COMMENT"] = "ማስታወሻውን ይቅዱ";
96
+ Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents (%1)"; // untranslated
86
97
  Blockly.Msg["ENABLE_BLOCK"] = "ብሎኩን ደግመው ያስጀምሩ";
87
98
  Blockly.Msg["EXPAND_ALL"] = "የብሎኮቹን መረጃዎች ዳግም ያስረዝሙ";
88
99
  Blockly.Msg["EXPAND_BLOCK"] = "የብሎኩን መረጃ ዳግም ያስረዝሙ";
89
100
  Blockly.Msg["EXTERNAL_INPUTS"] = "የውጪ ግብዓቶች";
101
+ Blockly.Msg["FINISH_MOVE"] = "Finish move"; // untranslated
90
102
  Blockly.Msg["HELP"] = "እገዛ";
103
+ Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls"; // untranslated
91
104
  Blockly.Msg["INLINE_INPUTS"] = "የውስጥ ግብዓቶች";
105
+ Blockly.Msg["INSERT_BLOCK"] = "Insert Block (%1)"; // untranslated
106
+ Blockly.Msg["LINUX"] = "Linux"; // untranslated
92
107
  Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list"; // untranslated
93
108
  Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list"; // untranslated
94
109
  Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records"; // untranslated
@@ -201,6 +216,7 @@ Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:"; //
201
216
  Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "if false"; // untranslated
202
217
  Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "if true"; // untranslated
203
218
  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."; // untranslated
219
+ Blockly.Msg["MAC_OS"] = "macOS"; // untranslated
204
220
  Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+"; // untranslated
205
221
  Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic"; // untranslated
206
222
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Return the sum of the two numbers."; // untranslated
@@ -287,13 +303,24 @@ Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number."; /
287
303
  Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian)."; // untranslated
288
304
  Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian)."; // untranslated
289
305
  Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian)."; // untranslated
306
+ Blockly.Msg["MOVE_BLOCK"] = "Move Block (%1)"; // untranslated
307
+ Blockly.Msg["MOVE_DOWN_CONSTRAINED"] = "Move down constrained"; // untranslated
308
+ Blockly.Msg["MOVE_DOWN_UNCONSTRAINED"] = "Move down, unconstrained"; // untranslated
309
+ Blockly.Msg["MOVE_LEFT_CONSTRAINED"] = "Move left, constrained"; // untranslated
310
+ Blockly.Msg["MOVE_LEFT_UNCONSTRAINED"] = "Move left, unconstrained"; // untranslated
311
+ Blockly.Msg["MOVE_RIGHT_CONSTRAINED"] = "Move right constrained"; // untranslated
312
+ Blockly.Msg["MOVE_RIGHT_UNCONSTRAINED"] = "Move right, unconstrained"; // untranslated
313
+ Blockly.Msg["MOVE_UP_CONSTRAINED"] = "Move up, constrained"; // untranslated
314
+ Blockly.Msg["MOVE_UP_UNCONSTRAINED"] = "Move up unconstrained"; // untranslated
290
315
  Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable..."; // untranslated
291
316
  Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable..."; // untranslated
292
317
  Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable..."; // untranslated
293
318
  Blockly.Msg["NEW_VARIABLE"] = "Create variable..."; // untranslated
294
319
  Blockly.Msg["NEW_VARIABLE_TITLE"] = "New variable name:"; // untranslated
295
320
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:"; // untranslated
321
+ Blockly.Msg["OPTION_KEY"] = "⌥ Option"; // untranslated
296
322
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
323
+ Blockly.Msg["PASTE_SHORTCUT"] = "Paste (%1)"; // untranslated
297
324
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements"; // untranslated
298
325
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:"; // untranslated
299
326
  Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine"; // untranslated
@@ -325,6 +352,10 @@ Blockly.Msg["REDO"] = "ከእንደገና";
325
352
  Blockly.Msg["REMOVE_COMMENT"] = "ማስታወሻ ያጥፉ";
326
353
  Blockly.Msg["RENAME_VARIABLE"] = "Rename variable..."; // untranslated
327
354
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Rename all '%1' variables to:"; // untranslated
355
+ Blockly.Msg["SHORTCUTS_CODE_NAVIGATION"] = "Code navigation"; // untranslated
356
+ Blockly.Msg["SHORTCUTS_EDITING"] = "Editing"; // untranslated
357
+ Blockly.Msg["SHORTCUTS_GENERAL"] = "General"; // untranslated
358
+ Blockly.Msg["START_MOVE"] = "Start move"; // untranslated
328
359
  Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification"; // untranslated
329
360
  Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2"; // untranslated
330
361
  Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'."; // untranslated
@@ -395,6 +426,7 @@ Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of"; //
395
426
  Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends."; // untranslated
396
427
  Blockly.Msg["TODAY"] = "ዛሬ";
397
428
  Blockly.Msg["UNDO"] = "ይቀልብሱ";
429
+ Blockly.Msg["UNKNOWN"] = "Unknown"; // untranslated
398
430
  Blockly.Msg["UNNAMED_KEY"] = "ያልተሰየመ";
399
431
  Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "item"; // untranslated
400
432
  Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'"; // untranslated
@@ -407,6 +439,7 @@ Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the in
407
439
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists."; // untranslated
408
440
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'."; // untranslated
409
441
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
442
+ Blockly.Msg["WINDOWS"] = "Windows"; // untranslated
410
443
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace"; // untranslated
411
444
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
412
445
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/am.mjs CHANGED
@@ -22,6 +22,7 @@ export const {
22
22
  DELETE_X_BLOCKS,
23
23
  DELETE_ALL_BLOCKS,
24
24
  CLEAN_UP,
25
+ CLOSE,
25
26
  COLLAPSE_BLOCK,
26
27
  COLLAPSE_ALL,
27
28
  EXPAND_BLOCK,
@@ -420,4 +421,36 @@ export const {
420
421
  COLLAPSED_WARNINGS_WARNING,
421
422
  DIALOG_OK,
422
423
  DIALOG_CANCEL,
424
+ DELETE_SHORTCUT,
425
+ DELETE_KEY,
426
+ EDIT_BLOCK_CONTENTS,
427
+ INSERT_BLOCK,
428
+ START_MOVE,
429
+ FINISH_MOVE,
430
+ ABORT_MOVE,
431
+ MOVE_LEFT_CONSTRAINED,
432
+ MOVE_RIGHT_CONSTRAINED,
433
+ MOVE_UP_CONSTRAINED,
434
+ MOVE_DOWN_CONSTRAINED,
435
+ MOVE_LEFT_UNCONSTRAINED,
436
+ MOVE_RIGHT_UNCONSTRAINED,
437
+ MOVE_UP_UNCONSTRAINED,
438
+ MOVE_DOWN_UNCONSTRAINED,
439
+ MOVE_BLOCK,
440
+ WINDOWS,
441
+ MAC_OS,
442
+ CHROME_OS,
443
+ LINUX,
444
+ UNKNOWN,
445
+ CONTROL_KEY,
446
+ COMMAND_KEY,
447
+ OPTION_KEY,
448
+ ALT_KEY,
449
+ CUT_SHORTCUT,
450
+ COPY_SHORTCUT,
451
+ PASTE_SHORTCUT,
452
+ HELP_PROMPT,
453
+ SHORTCUTS_GENERAL,
454
+ SHORTCUTS_EDITING,
455
+ SHORTCUTS_CODE_NAVIGATION,
423
456
  } = am;
package/msg/ar.js CHANGED
@@ -17,10 +17,14 @@
17
17
 
18
18
  var Blockly = Blockly || { Msg: Object.create(null) };
19
19
 
20
+ Blockly.Msg["ABORT_MOVE"] = "Abort move"; // untranslated
20
21
  Blockly.Msg["ADD_COMMENT"] = "أضف تعليقًا";
22
+ Blockly.Msg["ALT_KEY"] = "Alt"; // untranslated
21
23
  Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "لايمكن حذف متغير \"%1\" بسبب انه جزء من الدالة \"%2\"";
22
24
  Blockly.Msg["CHANGE_VALUE_TITLE"] = "تغيير قيمة:";
25
+ Blockly.Msg["CHROME_OS"] = "ChromeOS"; // untranslated
23
26
  Blockly.Msg["CLEAN_UP"] = "تنظيف الكتل";
27
+ Blockly.Msg["CLOSE"] = "Close"; // untranslated
24
28
  Blockly.Msg["COLLAPSED_WARNINGS_WARNING"] = "الكتل المطوية تحتوي على تحذيرات.";
25
29
  Blockly.Msg["COLLAPSE_ALL"] = "انهيار الكتل";
26
30
  Blockly.Msg["COLLAPSE_BLOCK"] = "انهيار الكتلة";
@@ -41,6 +45,7 @@ Blockly.Msg["COLOUR_RGB_HELPURL"] = "https://www.december.com/html/spec/colorper
41
45
  Blockly.Msg["COLOUR_RGB_RED"] = "أحمر";
42
46
  Blockly.Msg["COLOUR_RGB_TITLE"] = "لون مع";
43
47
  Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "إنشئ لون بالكمية المحددة من الأحمر, الأخضر والأزرق. بحيث يجب تكون كافة القيم بين 0 و 100.";
48
+ Blockly.Msg["COMMAND_KEY"] = "⌘ Command"; // untranslated
44
49
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks"; // untranslated
45
50
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "اخرج من الحلقة";
46
51
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "استمر ابتداءا من التكرار التالي من الحلقة";
@@ -73,8 +78,13 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "اكرّر حتى";
73
78
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "اكرّر طالما";
74
79
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "بما ان القيمة خاطئة, نفّذ بعض الأوامر.";
75
80
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "بما ان القيمة صحيحة, نفّذ بعض الأوامر.";
81
+ Blockly.Msg["CONTROL_KEY"] = "Ctrl"; // untranslated
82
+ Blockly.Msg["COPY_SHORTCUT"] = "Copy (%1)"; // untranslated
83
+ Blockly.Msg["CUT_SHORTCUT"] = "Cut (%1)"; // untranslated
76
84
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "حذف %1 كتلة؟";
77
85
  Blockly.Msg["DELETE_BLOCK"] = "حذف كتلة";
86
+ Blockly.Msg["DELETE_KEY"] = "Del"; // untranslated
87
+ Blockly.Msg["DELETE_SHORTCUT"] = "Delete block (%1)"; // untranslated
78
88
  Blockly.Msg["DELETE_VARIABLE"] = "حذف المتغير %1";
79
89
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "حذف%1 1 استخدامات المتغير '%2'؟";
80
90
  Blockly.Msg["DELETE_X_BLOCKS"] = "احذف %1 كتلة";
@@ -83,12 +93,17 @@ Blockly.Msg["DIALOG_OK"] = "موافق";
83
93
  Blockly.Msg["DISABLE_BLOCK"] = "عطّل كتلة";
84
94
  Blockly.Msg["DUPLICATE_BLOCK"] = "مكرر";
85
95
  Blockly.Msg["DUPLICATE_COMMENT"] = "تعليق مكرر";
96
+ Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents (%1)"; // untranslated
86
97
  Blockly.Msg["ENABLE_BLOCK"] = "تمكين كتلة";
87
98
  Blockly.Msg["EXPAND_ALL"] = "وسٌّع الكتل";
88
99
  Blockly.Msg["EXPAND_BLOCK"] = "وسٌّع الكتلة";
89
100
  Blockly.Msg["EXTERNAL_INPUTS"] = "مدخلات خارجية";
101
+ Blockly.Msg["FINISH_MOVE"] = "Finish move"; // untranslated
90
102
  Blockly.Msg["HELP"] = "مساعدة";
103
+ Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls"; // untranslated
91
104
  Blockly.Msg["INLINE_INPUTS"] = "مدخلات مضمنة";
105
+ Blockly.Msg["INSERT_BLOCK"] = "Insert Block (%1)"; // untranslated
106
+ Blockly.Msg["LINUX"] = "Linux"; // untranslated
92
107
  Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list"; // untranslated
93
108
  Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "إنشئ قائمة فارغة";
94
109
  Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "تقوم بإرجاع قائمة، طولها 0, لا تحتوي على أية سجلات البيانات";
@@ -201,6 +216,7 @@ Blockly.Msg["LOGIC_TERNARY_HELPURL"] = ":https://ar.wikipedia.org/wiki/%3F";
201
216
  Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "إذا كانت العبارة خاطئة";
202
217
  Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "إذا كانت العبارة صحيحة";
203
218
  Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "تحقق الشرط في 'الاختبار'. إذا كان الشرط صحيح، يقوم بإرجاع قيمة 'اذا كانت العبارة صحيحة'؛ خلاف ذلك يرجع قيمة 'اذا كانت العبارة خاطئة'.";
219
+ Blockly.Msg["MAC_OS"] = "macOS"; // untranslated
204
220
  Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+"; // untranslated
205
221
  Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://ar.wikipedia.org/wiki/حسابيات";
206
222
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "يرجع مجموع الرقمين.";
@@ -287,13 +303,24 @@ Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "يرجع قوس الظل للرقم.";
287
303
  Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "يرجع جيب التمام لدرجة (لا زواية نصف قطرية).";
288
304
  Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "يرجع جيب التمام لدرجة (لا زواية نصف قطرية).";
289
305
  Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "يرجع الظل لدرجة (لا دائرة نصف قطرية).";
306
+ Blockly.Msg["MOVE_BLOCK"] = "Move Block (%1)"; // untranslated
307
+ Blockly.Msg["MOVE_DOWN_CONSTRAINED"] = "Move down constrained"; // untranslated
308
+ Blockly.Msg["MOVE_DOWN_UNCONSTRAINED"] = "Move down, unconstrained"; // untranslated
309
+ Blockly.Msg["MOVE_LEFT_CONSTRAINED"] = "Move left, constrained"; // untranslated
310
+ Blockly.Msg["MOVE_LEFT_UNCONSTRAINED"] = "Move left, unconstrained"; // untranslated
311
+ Blockly.Msg["MOVE_RIGHT_CONSTRAINED"] = "Move right constrained"; // untranslated
312
+ Blockly.Msg["MOVE_RIGHT_UNCONSTRAINED"] = "Move right, unconstrained"; // untranslated
313
+ Blockly.Msg["MOVE_UP_CONSTRAINED"] = "Move up, constrained"; // untranslated
314
+ Blockly.Msg["MOVE_UP_UNCONSTRAINED"] = "Move up unconstrained"; // untranslated
290
315
  Blockly.Msg["NEW_COLOUR_VARIABLE"] = "انشاء متغير لوني...";
291
316
  Blockly.Msg["NEW_NUMBER_VARIABLE"] = "انشاء متغير رقمي...";
292
317
  Blockly.Msg["NEW_STRING_VARIABLE"] = "انشاء متغير نصي...";
293
318
  Blockly.Msg["NEW_VARIABLE"] = "إنشاء متغير...";
294
319
  Blockly.Msg["NEW_VARIABLE_TITLE"] = "اسم المتغير الجديد:";
295
320
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "نوع متغير جديد:";
321
+ Blockly.Msg["OPTION_KEY"] = "⌥ Option"; // untranslated
296
322
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
323
+ Blockly.Msg["PASTE_SHORTCUT"] = "Paste (%1)"; // untranslated
297
324
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "اسمح بالبيانات";
298
325
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "مع:";
299
326
  Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://ar.wikipedia.org/wiki/دالة_(برمجة)";
@@ -325,6 +352,10 @@ Blockly.Msg["REDO"] = "إعادة";
325
352
  Blockly.Msg["REMOVE_COMMENT"] = "أزل التعليق";
326
353
  Blockly.Msg["RENAME_VARIABLE"] = "إعادة تسمية المتغير...";
327
354
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "إعادة تسمية كافة المتغيرات '%1' إلى:";
355
+ Blockly.Msg["SHORTCUTS_CODE_NAVIGATION"] = "Code navigation"; // untranslated
356
+ Blockly.Msg["SHORTCUTS_EDITING"] = "Editing"; // untranslated
357
+ Blockly.Msg["SHORTCUTS_GENERAL"] = "General"; // untranslated
358
+ Blockly.Msg["START_MOVE"] = "Start move"; // untranslated
328
359
  Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification"; // untranslated
329
360
  Blockly.Msg["TEXT_APPEND_TITLE"] = "إلى %1 إلصق نص %2";
330
361
  Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "إلصق جزءا من النص إلى متغير '%1'.";
@@ -395,6 +426,7 @@ Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "إزالة الفراغات من ال
395
426
  Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "يرجع نسخة من النص مع حذف من أحد أو كلا الفراغات من أطرافه.";
396
427
  Blockly.Msg["TODAY"] = "اليوم";
397
428
  Blockly.Msg["UNDO"] = "رجوع";
429
+ Blockly.Msg["UNKNOWN"] = "Unknown"; // untranslated
398
430
  Blockly.Msg["UNNAMED_KEY"] = "غير مسمى";
399
431
  Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "البند";
400
432
  Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "انشئ 'التعيين %1'";
@@ -407,6 +439,7 @@ Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "تعيين هذا المتغير لتك
407
439
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "المتغير '%1' موجود بالفعل";
408
440
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "متغير بأسم '%1' معرف من نوع اخر : '%2'.";
409
441
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "المتغير المسمى '%1' موجود بالفعل كمعلمة في الإجراء '%2'.";
442
+ Blockly.Msg["WINDOWS"] = "Windows"; // untranslated
410
443
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "مساحة عمل بلوكلي";
411
444
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "قل شيئا...";
412
445
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/ar.mjs CHANGED
@@ -22,6 +22,7 @@ export const {
22
22
  DELETE_X_BLOCKS,
23
23
  DELETE_ALL_BLOCKS,
24
24
  CLEAN_UP,
25
+ CLOSE,
25
26
  COLLAPSE_BLOCK,
26
27
  COLLAPSE_ALL,
27
28
  EXPAND_BLOCK,
@@ -420,4 +421,36 @@ export const {
420
421
  COLLAPSED_WARNINGS_WARNING,
421
422
  DIALOG_OK,
422
423
  DIALOG_CANCEL,
424
+ DELETE_SHORTCUT,
425
+ DELETE_KEY,
426
+ EDIT_BLOCK_CONTENTS,
427
+ INSERT_BLOCK,
428
+ START_MOVE,
429
+ FINISH_MOVE,
430
+ ABORT_MOVE,
431
+ MOVE_LEFT_CONSTRAINED,
432
+ MOVE_RIGHT_CONSTRAINED,
433
+ MOVE_UP_CONSTRAINED,
434
+ MOVE_DOWN_CONSTRAINED,
435
+ MOVE_LEFT_UNCONSTRAINED,
436
+ MOVE_RIGHT_UNCONSTRAINED,
437
+ MOVE_UP_UNCONSTRAINED,
438
+ MOVE_DOWN_UNCONSTRAINED,
439
+ MOVE_BLOCK,
440
+ WINDOWS,
441
+ MAC_OS,
442
+ CHROME_OS,
443
+ LINUX,
444
+ UNKNOWN,
445
+ CONTROL_KEY,
446
+ COMMAND_KEY,
447
+ OPTION_KEY,
448
+ ALT_KEY,
449
+ CUT_SHORTCUT,
450
+ COPY_SHORTCUT,
451
+ PASTE_SHORTCUT,
452
+ HELP_PROMPT,
453
+ SHORTCUTS_GENERAL,
454
+ SHORTCUTS_EDITING,
455
+ SHORTCUTS_CODE_NAVIGATION,
423
456
  } = ar;
package/msg/ast.js CHANGED
@@ -17,10 +17,14 @@
17
17
 
18
18
  var Blockly = Blockly || { Msg: Object.create(null) };
19
19
 
20
+ Blockly.Msg["ABORT_MOVE"] = "Abort move"; // untranslated
20
21
  Blockly.Msg["ADD_COMMENT"] = "Add Comment"; // untranslated
22
+ Blockly.Msg["ALT_KEY"] = "Alt"; // untranslated
21
23
  Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'"; // untranslated
22
24
  Blockly.Msg["CHANGE_VALUE_TITLE"] = "Change value:"; // untranslated
25
+ Blockly.Msg["CHROME_OS"] = "ChromeOS"; // untranslated
23
26
  Blockly.Msg["CLEAN_UP"] = "Clean up Blocks"; // untranslated
27
+ Blockly.Msg["CLOSE"] = "Close"; // untranslated
24
28
  Blockly.Msg["COLLAPSED_WARNINGS_WARNING"] = "Collapsed blocks contain warnings."; // untranslated
25
29
  Blockly.Msg["COLLAPSE_ALL"] = "Collapse Blocks"; // untranslated
26
30
  Blockly.Msg["COLLAPSE_BLOCK"] = "Collapse Block"; // untranslated
@@ -41,6 +45,7 @@ Blockly.Msg["COLOUR_RGB_HELPURL"] = "https://www.december.com/html/spec/colorper
41
45
  Blockly.Msg["COLOUR_RGB_RED"] = "red"; // untranslated
42
46
  Blockly.Msg["COLOUR_RGB_TITLE"] = "colour with"; // untranslated
43
47
  Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Create a colour with the specified amount of red, green, and blue. All values must be between 0 and 100."; // untranslated
48
+ Blockly.Msg["COMMAND_KEY"] = "⌘ Command"; // untranslated
44
49
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks"; // untranslated
45
50
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "break out of loop"; // untranslated
46
51
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continue with next iteration of loop"; // untranslated
@@ -73,8 +78,13 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "repeat until"; // untransl
73
78
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repeat while"; // untranslated
74
79
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then do some statements."; // untranslated
75
80
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "While a value is true, then do some statements."; // untranslated
81
+ Blockly.Msg["CONTROL_KEY"] = "Ctrl"; // untranslated
82
+ Blockly.Msg["COPY_SHORTCUT"] = "Copy (%1)"; // untranslated
83
+ Blockly.Msg["CUT_SHORTCUT"] = "Cut (%1)"; // untranslated
76
84
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "Delete all %1 blocks?"; // untranslated
77
85
  Blockly.Msg["DELETE_BLOCK"] = "Delete Block"; // untranslated
86
+ Blockly.Msg["DELETE_KEY"] = "Del"; // untranslated
87
+ Blockly.Msg["DELETE_SHORTCUT"] = "Delete block (%1)"; // untranslated
78
88
  Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable"; // untranslated
79
89
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?"; // untranslated
80
90
  Blockly.Msg["DELETE_X_BLOCKS"] = "Delete %1 Blocks"; // untranslated
@@ -83,12 +93,17 @@ Blockly.Msg["DIALOG_OK"] = "Aceutar";
83
93
  Blockly.Msg["DISABLE_BLOCK"] = "Disable Block"; // untranslated
84
94
  Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicate"; // untranslated
85
95
  Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment"; // untranslated
96
+ Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents (%1)"; // untranslated
86
97
  Blockly.Msg["ENABLE_BLOCK"] = "Enable Block"; // untranslated
87
98
  Blockly.Msg["EXPAND_ALL"] = "Expand Blocks"; // untranslated
88
99
  Blockly.Msg["EXPAND_BLOCK"] = "Expand Block"; // untranslated
89
100
  Blockly.Msg["EXTERNAL_INPUTS"] = "External Inputs"; // untranslated
101
+ Blockly.Msg["FINISH_MOVE"] = "Finish move"; // untranslated
90
102
  Blockly.Msg["HELP"] = "Help"; // untranslated
103
+ Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls"; // untranslated
91
104
  Blockly.Msg["INLINE_INPUTS"] = "Inline Inputs"; // untranslated
105
+ Blockly.Msg["INSERT_BLOCK"] = "Insert Block (%1)"; // untranslated
106
+ Blockly.Msg["LINUX"] = "Linux"; // untranslated
92
107
  Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list"; // untranslated
93
108
  Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list"; // untranslated
94
109
  Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records"; // untranslated
@@ -201,6 +216,7 @@ Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:"; //
201
216
  Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "if false"; // untranslated
202
217
  Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "if true"; // untranslated
203
218
  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."; // untranslated
219
+ Blockly.Msg["MAC_OS"] = "macOS"; // untranslated
204
220
  Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+"; // untranslated
205
221
  Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic"; // untranslated
206
222
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Return the sum of the two numbers."; // untranslated
@@ -287,13 +303,24 @@ Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number."; /
287
303
  Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian)."; // untranslated
288
304
  Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian)."; // untranslated
289
305
  Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian)."; // untranslated
306
+ Blockly.Msg["MOVE_BLOCK"] = "Move Block (%1)"; // untranslated
307
+ Blockly.Msg["MOVE_DOWN_CONSTRAINED"] = "Move down constrained"; // untranslated
308
+ Blockly.Msg["MOVE_DOWN_UNCONSTRAINED"] = "Move down, unconstrained"; // untranslated
309
+ Blockly.Msg["MOVE_LEFT_CONSTRAINED"] = "Move left, constrained"; // untranslated
310
+ Blockly.Msg["MOVE_LEFT_UNCONSTRAINED"] = "Move left, unconstrained"; // untranslated
311
+ Blockly.Msg["MOVE_RIGHT_CONSTRAINED"] = "Move right constrained"; // untranslated
312
+ Blockly.Msg["MOVE_RIGHT_UNCONSTRAINED"] = "Move right, unconstrained"; // untranslated
313
+ Blockly.Msg["MOVE_UP_CONSTRAINED"] = "Move up, constrained"; // untranslated
314
+ Blockly.Msg["MOVE_UP_UNCONSTRAINED"] = "Move up unconstrained"; // untranslated
290
315
  Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable..."; // untranslated
291
316
  Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable..."; // untranslated
292
317
  Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable..."; // untranslated
293
318
  Blockly.Msg["NEW_VARIABLE"] = "Create variable..."; // untranslated
294
319
  Blockly.Msg["NEW_VARIABLE_TITLE"] = "New variable name:"; // untranslated
295
320
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:"; // untranslated
321
+ Blockly.Msg["OPTION_KEY"] = "⌥ Option"; // untranslated
296
322
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
323
+ Blockly.Msg["PASTE_SHORTCUT"] = "Paste (%1)"; // untranslated
297
324
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements"; // untranslated
298
325
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:"; // untranslated
299
326
  Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine"; // untranslated
@@ -325,6 +352,10 @@ Blockly.Msg["REDO"] = "Redo"; // untranslated
325
352
  Blockly.Msg["REMOVE_COMMENT"] = "Remove Comment"; // untranslated
326
353
  Blockly.Msg["RENAME_VARIABLE"] = "Rename variable..."; // untranslated
327
354
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Rename all '%1' variables to:"; // untranslated
355
+ Blockly.Msg["SHORTCUTS_CODE_NAVIGATION"] = "Code navigation"; // untranslated
356
+ Blockly.Msg["SHORTCUTS_EDITING"] = "Editing"; // untranslated
357
+ Blockly.Msg["SHORTCUTS_GENERAL"] = "General"; // untranslated
358
+ Blockly.Msg["START_MOVE"] = "Start move"; // untranslated
328
359
  Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification"; // untranslated
329
360
  Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2"; // untranslated
330
361
  Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'."; // untranslated
@@ -395,6 +426,7 @@ Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of"; //
395
426
  Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends."; // untranslated
396
427
  Blockly.Msg["TODAY"] = "Today"; // untranslated
397
428
  Blockly.Msg["UNDO"] = "Undo"; // untranslated
429
+ Blockly.Msg["UNKNOWN"] = "Unknown"; // untranslated
398
430
  Blockly.Msg["UNNAMED_KEY"] = "unnamed"; // untranslated
399
431
  Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "item"; // untranslated
400
432
  Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'"; // untranslated
@@ -407,6 +439,7 @@ Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the in
407
439
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists."; // untranslated
408
440
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'."; // untranslated
409
441
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
442
+ Blockly.Msg["WINDOWS"] = "Windows"; // untranslated
410
443
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace"; // untranslated
411
444
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
412
445
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];