blockly 13.0.0-beta.6 → 13.0.0-beta.7

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 (269) hide show
  1. package/blockly.min.js +172 -186
  2. package/blockly_compressed.js +151 -166
  3. package/blockly_compressed.js.map +1 -1
  4. package/blocks_compressed.js +16 -16
  5. package/blocks_compressed.js.map +1 -1
  6. package/core/block.d.ts +0 -7
  7. package/core/block_aria_composer.d.ts +1 -1
  8. package/core/common.d.ts +7 -0
  9. package/core/dragging/block_drag_strategy.d.ts +19 -0
  10. package/core/grid.d.ts +1 -1
  11. package/core/options.d.ts +3 -3
  12. package/core/procedures.d.ts +4 -6
  13. package/core/variable_map.d.ts +0 -33
  14. package/core/variables.d.ts +5 -6
  15. package/core/variables_dynamic.d.ts +4 -6
  16. package/core/workspace.d.ts +0 -81
  17. package/msg/ab.js +5 -4
  18. package/msg/ab.mjs +1 -0
  19. package/msg/ace.js +5 -4
  20. package/msg/ace.mjs +1 -0
  21. package/msg/af.js +5 -4
  22. package/msg/af.mjs +1 -0
  23. package/msg/am.js +5 -4
  24. package/msg/am.mjs +1 -0
  25. package/msg/ar.js +2 -1
  26. package/msg/ar.mjs +1 -0
  27. package/msg/ast.js +5 -4
  28. package/msg/ast.mjs +1 -0
  29. package/msg/az.js +5 -4
  30. package/msg/az.mjs +1 -0
  31. package/msg/ba.js +5 -4
  32. package/msg/ba.mjs +1 -0
  33. package/msg/bcc.js +5 -4
  34. package/msg/bcc.mjs +1 -0
  35. package/msg/be-tarask.js +5 -4
  36. package/msg/be-tarask.mjs +1 -0
  37. package/msg/be.js +5 -4
  38. package/msg/be.mjs +1 -0
  39. package/msg/bg.js +25 -24
  40. package/msg/bg.mjs +1 -0
  41. package/msg/bn.js +5 -4
  42. package/msg/bn.mjs +1 -0
  43. package/msg/br.js +5 -4
  44. package/msg/br.mjs +1 -0
  45. package/msg/bs.js +5 -4
  46. package/msg/bs.mjs +1 -0
  47. package/msg/ca.js +5 -4
  48. package/msg/ca.mjs +1 -0
  49. package/msg/ce.js +5 -4
  50. package/msg/ce.mjs +1 -0
  51. package/msg/cs.js +25 -24
  52. package/msg/cs.mjs +1 -0
  53. package/msg/da.js +2 -1
  54. package/msg/da.mjs +1 -0
  55. package/msg/de.js +5 -4
  56. package/msg/de.mjs +1 -0
  57. package/msg/diq.js +5 -4
  58. package/msg/diq.mjs +1 -0
  59. package/msg/dtp.js +5 -4
  60. package/msg/dtp.mjs +1 -0
  61. package/msg/dty.js +5 -4
  62. package/msg/dty.mjs +1 -0
  63. package/msg/ee.js +5 -4
  64. package/msg/ee.mjs +1 -0
  65. package/msg/el.js +2 -1
  66. package/msg/el.mjs +1 -0
  67. package/msg/en-gb.js +5 -4
  68. package/msg/en-gb.mjs +1 -0
  69. package/msg/en.js +5 -4
  70. package/msg/en.mjs +1 -0
  71. package/msg/eo.js +5 -4
  72. package/msg/eo.mjs +1 -0
  73. package/msg/es.js +2 -1
  74. package/msg/es.mjs +1 -0
  75. package/msg/et.js +5 -4
  76. package/msg/et.mjs +1 -0
  77. package/msg/eu.js +5 -4
  78. package/msg/eu.mjs +1 -0
  79. package/msg/fa.js +5 -4
  80. package/msg/fa.mjs +1 -0
  81. package/msg/fi.js +8 -7
  82. package/msg/fi.mjs +1 -0
  83. package/msg/fo.js +5 -4
  84. package/msg/fo.mjs +1 -0
  85. package/msg/fr.js +2 -1
  86. package/msg/fr.mjs +1 -0
  87. package/msg/frr.js +5 -4
  88. package/msg/frr.mjs +1 -0
  89. package/msg/ga.js +2 -1
  90. package/msg/ga.mjs +1 -0
  91. package/msg/gl.js +2 -1
  92. package/msg/gl.mjs +1 -0
  93. package/msg/gn.js +5 -4
  94. package/msg/gn.mjs +1 -0
  95. package/msg/gor.js +5 -4
  96. package/msg/gor.mjs +1 -0
  97. package/msg/ha.js +5 -4
  98. package/msg/ha.mjs +1 -0
  99. package/msg/hak.js +5 -4
  100. package/msg/hak.mjs +1 -0
  101. package/msg/he.js +5 -4
  102. package/msg/he.mjs +1 -0
  103. package/msg/hi.js +5 -4
  104. package/msg/hi.mjs +1 -0
  105. package/msg/hr.js +5 -4
  106. package/msg/hr.mjs +1 -0
  107. package/msg/hrx.js +5 -4
  108. package/msg/hrx.mjs +1 -0
  109. package/msg/hsb.js +5 -4
  110. package/msg/hsb.mjs +1 -0
  111. package/msg/hu.js +5 -4
  112. package/msg/hu.mjs +1 -0
  113. package/msg/hy.js +5 -4
  114. package/msg/hy.mjs +1 -0
  115. package/msg/ia.js +2 -1
  116. package/msg/ia.mjs +1 -0
  117. package/msg/id.js +2 -1
  118. package/msg/id.mjs +1 -0
  119. package/msg/ig.js +2 -1
  120. package/msg/ig.mjs +1 -0
  121. package/msg/inh.js +5 -4
  122. package/msg/inh.mjs +1 -0
  123. package/msg/is.js +5 -4
  124. package/msg/is.mjs +1 -0
  125. package/msg/it.js +2 -1
  126. package/msg/it.mjs +1 -0
  127. package/msg/ja.js +2 -1
  128. package/msg/ja.mjs +1 -0
  129. package/msg/ka.js +5 -4
  130. package/msg/ka.mjs +1 -0
  131. package/msg/kab.js +4 -3
  132. package/msg/kab.mjs +1 -0
  133. package/msg/kbd-cyrl.js +5 -4
  134. package/msg/kbd-cyrl.mjs +1 -0
  135. package/msg/km.js +5 -4
  136. package/msg/km.mjs +1 -0
  137. package/msg/kn.js +5 -4
  138. package/msg/kn.mjs +1 -0
  139. package/msg/ko.js +19 -18
  140. package/msg/ko.mjs +1 -0
  141. package/msg/krc.js +2 -1
  142. package/msg/krc.mjs +1 -0
  143. package/msg/ksh.js +5 -4
  144. package/msg/ksh.mjs +1 -0
  145. package/msg/ku-latn.js +5 -4
  146. package/msg/ku-latn.mjs +1 -0
  147. package/msg/ky.js +5 -4
  148. package/msg/ky.mjs +1 -0
  149. package/msg/la.js +5 -4
  150. package/msg/la.mjs +1 -0
  151. package/msg/lb.js +5 -4
  152. package/msg/lb.mjs +1 -0
  153. package/msg/lki.js +5 -4
  154. package/msg/lki.mjs +1 -0
  155. package/msg/lo.js +5 -4
  156. package/msg/lo.mjs +1 -0
  157. package/msg/lrc.js +5 -4
  158. package/msg/lrc.mjs +1 -0
  159. package/msg/lt.js +5 -4
  160. package/msg/lt.mjs +1 -0
  161. package/msg/lv.js +5 -4
  162. package/msg/lv.mjs +1 -0
  163. package/msg/mg.js +5 -4
  164. package/msg/mg.mjs +1 -0
  165. package/msg/mk.js +5 -4
  166. package/msg/mk.mjs +1 -0
  167. package/msg/ml.js +5 -4
  168. package/msg/ml.mjs +1 -0
  169. package/msg/mnw.js +5 -4
  170. package/msg/mnw.mjs +1 -0
  171. package/msg/ms.js +5 -4
  172. package/msg/ms.mjs +1 -0
  173. package/msg/my.js +5 -4
  174. package/msg/my.mjs +1 -0
  175. package/msg/mzn.js +5 -4
  176. package/msg/mzn.mjs +1 -0
  177. package/msg/nb.js +5 -4
  178. package/msg/nb.mjs +1 -0
  179. package/msg/ne.js +5 -4
  180. package/msg/ne.mjs +1 -0
  181. package/msg/nl.js +4 -3
  182. package/msg/nl.mjs +1 -0
  183. package/msg/oc.js +5 -4
  184. package/msg/oc.mjs +1 -0
  185. package/msg/olo.js +5 -4
  186. package/msg/olo.mjs +1 -0
  187. package/msg/pa.js +4 -3
  188. package/msg/pa.mjs +1 -0
  189. package/msg/pl.js +2 -1
  190. package/msg/pl.mjs +1 -0
  191. package/msg/pms.js +2 -1
  192. package/msg/pms.mjs +1 -0
  193. package/msg/ps.js +8 -7
  194. package/msg/ps.mjs +1 -0
  195. package/msg/pt-br.js +2 -1
  196. package/msg/pt-br.mjs +1 -0
  197. package/msg/pt.js +2 -1
  198. package/msg/pt.mjs +1 -0
  199. package/msg/ro.js +2 -1
  200. package/msg/ro.mjs +1 -0
  201. package/msg/ru.js +2 -1
  202. package/msg/ru.mjs +1 -0
  203. package/msg/sc.js +5 -4
  204. package/msg/sc.mjs +1 -0
  205. package/msg/sco.js +5 -4
  206. package/msg/sco.mjs +1 -0
  207. package/msg/sd.js +5 -4
  208. package/msg/sd.mjs +1 -0
  209. package/msg/shn.js +5 -4
  210. package/msg/shn.mjs +1 -0
  211. package/msg/si.js +5 -4
  212. package/msg/si.mjs +1 -0
  213. package/msg/sk.js +5 -4
  214. package/msg/sk.mjs +1 -0
  215. package/msg/skr-arab.js +5 -4
  216. package/msg/skr-arab.mjs +1 -0
  217. package/msg/sl.js +2 -1
  218. package/msg/sl.mjs +1 -0
  219. package/msg/smn.js +5 -4
  220. package/msg/smn.mjs +1 -0
  221. package/msg/sq.js +5 -4
  222. package/msg/sq.mjs +1 -0
  223. package/msg/sr-latn.js +5 -4
  224. package/msg/sr-latn.mjs +1 -0
  225. package/msg/sr.js +5 -4
  226. package/msg/sr.mjs +1 -0
  227. package/msg/sv.js +2 -1
  228. package/msg/sv.mjs +1 -0
  229. package/msg/sw.js +5 -4
  230. package/msg/sw.mjs +1 -0
  231. package/msg/ta.js +4 -3
  232. package/msg/ta.mjs +1 -0
  233. package/msg/tcy.js +2 -1
  234. package/msg/tcy.mjs +1 -0
  235. package/msg/tdd.js +5 -4
  236. package/msg/tdd.mjs +1 -0
  237. package/msg/te.js +5 -4
  238. package/msg/te.mjs +1 -0
  239. package/msg/th.js +5 -4
  240. package/msg/th.mjs +1 -0
  241. package/msg/ti.js +5 -4
  242. package/msg/ti.mjs +1 -0
  243. package/msg/tl.js +5 -4
  244. package/msg/tl.mjs +1 -0
  245. package/msg/tlh.js +5 -4
  246. package/msg/tlh.mjs +1 -0
  247. package/msg/tr.js +2 -1
  248. package/msg/tr.mjs +1 -0
  249. package/msg/ug-arab.js +5 -4
  250. package/msg/ug-arab.mjs +1 -0
  251. package/msg/uk.js +14 -13
  252. package/msg/uk.mjs +1 -0
  253. package/msg/ur.js +5 -4
  254. package/msg/ur.mjs +1 -0
  255. package/msg/uz.js +5 -4
  256. package/msg/uz.mjs +1 -0
  257. package/msg/vi.js +2 -1
  258. package/msg/vi.mjs +1 -0
  259. package/msg/xmf.js +5 -4
  260. package/msg/xmf.mjs +1 -0
  261. package/msg/yo.js +5 -4
  262. package/msg/yo.mjs +1 -0
  263. package/msg/zgh.js +5 -4
  264. package/msg/zgh.mjs +1 -0
  265. package/msg/zh-hans.js +2 -1
  266. package/msg/zh-hans.mjs +1 -0
  267. package/msg/zh-hant.js +2 -1
  268. package/msg/zh-hant.mjs +1 -0
  269. package/package.json +2 -2
package/core/block.d.ts CHANGED
@@ -565,13 +565,6 @@ export declare class Block {
565
565
  * @returns A generator that can be used to iterate the fields on the block.
566
566
  */
567
567
  getFields(): Generator<Field, undefined, void>;
568
- /**
569
- * Return all variables referenced by this block.
570
- *
571
- * @deprecated v13: Use Blockly.Block.getVarModels().map(m => m.getId())
572
- * @returns List of variable ids.
573
- */
574
- getVars(): string[];
575
568
  /**
576
569
  * Return all variables referenced by this block.
577
570
  *
@@ -118,7 +118,7 @@ export declare function getInputLabels(block: BlockSvg, verbosity?: Verbosity, u
118
118
  * @param input The input that defines the end of the subset.
119
119
  * @returns A list of field/input labels for the given block.
120
120
  */
121
- export declare function getInputLabelsSubset(block: BlockSvg, input: Input): string[];
121
+ export declare function getInputLabelsSubset(block: BlockSvg, input: Input, includeFallbackLabels?: boolean): string[];
122
122
  /**
123
123
  * Returns a translated string describing an in-progress move of a block to a new
124
124
  * connection, suitable for announcement on the ARIA live region. The returned string
package/core/common.d.ts CHANGED
@@ -33,6 +33,13 @@ export declare function registerWorkspace(workspace: Workspace): void;
33
33
  *
34
34
  * @param workspace
35
35
  */
36
+ export declare function unregisterWorkspace(workspace: Workspace): void;
37
+ /**
38
+ * Unregister a workspace from the workspace db.
39
+ *
40
+ * @deprecated v13: use Blockly.common.unregisterWorkspace
41
+ * @param workspace
42
+ */
36
43
  export declare function unregisterWorkpace(workspace: Workspace): void;
37
44
  /**
38
45
  * Returns the last used top level workspace (based on focus). Try not to use
@@ -40,6 +40,11 @@ export declare class BlockDragStrategy implements IDragStrategy {
40
40
  private moveMode;
41
41
  /** Used to persist an event group when snapping is done async. */
42
42
  private originalEventGroup;
43
+ /**
44
+ * Map from block IDs to reason(s) why it was disabled, used to restore
45
+ * disabled state post-drag.
46
+ */
47
+ private lastBlockDisabledReasons;
43
48
  protected readonly BLOCK_CONNECTION_OFFSET = 10;
44
49
  /**
45
50
  * How far in from the edges of the workspace to position newly placed blocks.
@@ -253,6 +258,20 @@ export declare class BlockDragStrategy implements IDragStrategy {
253
258
  * Updates the current move mode based on the most recent drag-related event.
254
259
  */
255
260
  private updateMoveMode;
261
+ /**
262
+ * Enables the given block and its children.
263
+ * Stores the reasons each block was disabled so they can be restored.
264
+ *
265
+ * @param block The block to enable.
266
+ */
267
+ private enableAllDraggedBlocks;
268
+ /**
269
+ * Re-disables the given block and its children using their original
270
+ * disabled reasons.
271
+ *
272
+ * @param block The block to re-disable, if applicable.
273
+ */
274
+ private redisableAllDraggedBlocks;
256
275
  }
257
276
  export {};
258
277
  //# sourceMappingURL=block_drag_strategy.d.ts.map
package/core/grid.d.ts CHANGED
@@ -26,7 +26,7 @@ export declare class Grid {
26
26
  * @param pattern The grid's SVG pattern, created during injection.
27
27
  * @param options A dictionary of normalized options for the grid.
28
28
  * See grid documentation:
29
- * https://developers.google.com/blockly/guides/configure/web/grid
29
+ * https://developers.google.com/blockly/guides/configure/grid
30
30
  */
31
31
  constructor(pattern: SVGElement, options: GridOptions);
32
32
  /**
package/core/options.d.ts CHANGED
@@ -91,7 +91,7 @@ export declare class Options {
91
91
  /**
92
92
  * Parse the user-specified zoom options, using reasonable defaults where
93
93
  * behaviour is unspecified. See zoom documentation:
94
- * https://developers.google.com/blockly/guides/configure/web/zoom
94
+ * https://developers.google.com/blockly/guides/configure/zoom
95
95
  *
96
96
  * @param options Dictionary of options.
97
97
  * @returns Normalized zoom options.
@@ -100,7 +100,7 @@ export declare class Options {
100
100
  /**
101
101
  * Parse the user-specified grid options, using reasonable defaults where
102
102
  * behaviour is unspecified. See grid documentation:
103
- * https://developers.google.com/blockly/guides/configure/web/grid
103
+ * https://developers.google.com/blockly/guides/configure/grid
104
104
  *
105
105
  * @param options Dictionary of options.
106
106
  * @returns Normalized grid options.
@@ -108,7 +108,7 @@ export declare class Options {
108
108
  private static parseGridOptions;
109
109
  /**
110
110
  * Parse the user-specified theme options, using the classic theme as a
111
- * default. https://developers.google.com/blockly/guides/configure/web/themes
111
+ * default. https://developers.google.com/blockly/guides/configure/appearance/themes
112
112
  *
113
113
  * @param options Dictionary of options.
114
114
  * @returns A Blockly Theme.
@@ -65,14 +65,12 @@ export declare function isNameUsed(name: string, workspace: Workspace, opt_exclu
65
65
  */
66
66
  export declare function rename(this: Field, name: string): string;
67
67
  /**
68
- * Internal wrapper that returns the contents of the procedure category.
68
+ * Construct the blocks required by the flyout for the procedure category.
69
69
  *
70
- * @internal
71
- * @param workspace The workspace to populate procedure blocks for.
70
+ * @param workspace The workspace containing procedures.
71
+ * @returns List of flyout contents as JSON.
72
72
  */
73
- export declare function internalFlyoutCategory(workspace: WorkspaceSvg): FlyoutItemInfo[];
74
- export declare function flyoutCategory(workspace: WorkspaceSvg, useXml: true): Element[];
75
- export declare function flyoutCategory(workspace: WorkspaceSvg, useXml: false): FlyoutItemInfo[];
73
+ export declare function flyoutCategory(workspace: WorkspaceSvg): FlyoutItemInfo[];
76
74
  /**
77
75
  * Listens for when a procedure mutator is opened. Then it triggers a flyout
78
76
  * update and adds a mutator change listener to the mutator workspace.
@@ -10,7 +10,6 @@
10
10
  */
11
11
  import './events/events_var_delete.js';
12
12
  import './events/events_var_rename.js';
13
- import type { Block } from './block.js';
14
13
  import type { IVariableMap } from './interfaces/i_variable_map.js';
15
14
  import { IVariableModel, IVariableState } from './interfaces/i_variable_model.js';
16
15
  import type { Workspace } from './workspace.js';
@@ -45,15 +44,6 @@ export declare class VariableMap implements IVariableMap<IVariableModel<IVariabl
45
44
  */
46
45
  renameVariable(variable: IVariableModel<IVariableState>, newName: string): IVariableModel<IVariableState>;
47
46
  changeVariableType(variable: IVariableModel<IVariableState>, newType: string): IVariableModel<IVariableState>;
48
- /**
49
- * Rename a variable by updating its name in the variable map. Identify the
50
- * variable to rename with the given ID.
51
- *
52
- * @deprecated v12: use VariableMap.renameVariable.
53
- * @param id ID of the variable to rename.
54
- * @param newName New variable name.
55
- */
56
- renameVariableById(id: string, newName: string): void;
57
47
  /**
58
48
  * Update the name of the given variable and refresh all references to it.
59
49
  * The new name must not conflict with any existing variable names.
@@ -99,14 +89,6 @@ export declare class VariableMap implements IVariableMap<IVariableModel<IVariabl
99
89
  * @param variable Variable to delete.
100
90
  */
101
91
  deleteVariable(variable: IVariableModel<IVariableState>): void;
102
- /**
103
- * Delete a variables by the passed in ID and all of its uses from this
104
- * workspace. May prompt the user for confirmation.
105
- *
106
- * @deprecated v12: use Blockly.Variables.deleteVariable.
107
- * @param id ID of variable to delete.
108
- */
109
- deleteVariableById(id: string): void;
110
92
  /**
111
93
  * Find the variable by the given name and type and return it. Return null if
112
94
  * it is not found.
@@ -145,20 +127,5 @@ export declare class VariableMap implements IVariableMap<IVariableModel<IVariabl
145
127
  * @returns List of variable models.
146
128
  */
147
129
  getAllVariables(): IVariableModel<IVariableState>[];
148
- /**
149
- * Returns all of the variable names of all types.
150
- *
151
- * @deprecated v12: use Blockly.Variables.getAllVariables.
152
- * @returns All of the variable names of all types.
153
- */
154
- getAllVariableNames(): string[];
155
- /**
156
- * Find all the uses of a named variable.
157
- *
158
- * @deprecated v12: use Blockly.Variables.getVariableUsesById.
159
- * @param id ID of the variable to find.
160
- * @returns Array of block usages.
161
- */
162
- getVariableUsesById(id: string): Block[];
163
130
  }
164
131
  //# sourceMappingURL=variable_map.d.ts.map
@@ -41,14 +41,13 @@ export declare function allUsedVarModels(ws: Workspace): IVariableModel<IVariabl
41
41
  */
42
42
  export declare function allDeveloperVariables(workspace: Workspace): string[];
43
43
  /**
44
- * Internal wrapper that returns the contents of the variables category.
44
+ * Construct the elements (blocks and button) required by the flyout for the
45
+ * variable category.
45
46
  *
46
- * @internal
47
- * @param workspace The workspace to populate variable blocks for.
47
+ * @param workspace The workspace containing variables.
48
+ * @returns List of flyout contents as JSON.
48
49
  */
49
- export declare function internalFlyoutCategory(workspace: WorkspaceSvg): FlyoutItemInfo[];
50
- export declare function flyoutCategory(workspace: WorkspaceSvg, useXml: true): Element[];
51
- export declare function flyoutCategory(workspace: WorkspaceSvg, useXml: false): FlyoutItemInfo[];
50
+ export declare function flyoutCategory(workspace: WorkspaceSvg): FlyoutItemInfo[];
52
51
  /**
53
52
  * Construct the blocks required by the flyout for the variable category.
54
53
  *
@@ -37,14 +37,12 @@ export declare const onCreateVariableButtonClick_Number: typeof numberButtonClic
37
37
  declare function colourButtonClickHandler(button: FlyoutButton): void;
38
38
  export declare const onCreateVariableButtonClick_Colour: typeof colourButtonClickHandler;
39
39
  /**
40
- * Internal wrapper that returns the contents of the dynamic variables category.
40
+ * Construct the elements (blocks and button) required by the flyout for the
41
+ * dynamic variables category.
41
42
  *
42
- * @internal
43
- * @param workspace The workspace to populate variable blocks for.
43
+ * @returns List of flyout contents as JSON.
44
44
  */
45
- export declare function internalFlyoutCategory(workspace: WorkspaceSvg): FlyoutItemInfo[];
46
- export declare function flyoutCategory(workspace: WorkspaceSvg, useXml: true): Element[];
47
- export declare function flyoutCategory(workspace: WorkspaceSvg, useXml: false): FlyoutItemInfo[];
45
+ export declare function flyoutCategory(workspace: WorkspaceSvg): FlyoutItemInfo[];
48
46
  /**
49
47
  * Construct the blocks required by the flyout for the variable category.
50
48
  *
@@ -192,87 +192,6 @@ export declare class Workspace {
192
192
  getAllBlocks(ordered?: boolean): Block[];
193
193
  /** Dispose of all blocks and comments in workspace. */
194
194
  clear(): void;
195
- /**
196
- * Rename a variable by updating its name in the variable
197
- * map. Identify the variable to rename with the given ID.
198
- *
199
- * @deprecated v12: use Blockly.Workspace.getVariableMap().renameVariable
200
- * @param id ID of the variable to rename.
201
- * @param newName New variable name.
202
- */
203
- renameVariableById(id: string, newName: string): void;
204
- /**
205
- * Create a variable with a given name, optional type, and optional ID.
206
- *
207
- * @deprecated v12: use Blockly.Workspace.getVariableMap().createVariable.
208
- * @param name The name of the variable. This must be unique across variables
209
- * and procedures.
210
- * @param opt_type The type of the variable like 'int' or 'string'.
211
- * Does not need to be unique. Field_variable can filter variables based
212
- * on their type. This will default to '' which is a specific type.
213
- * @param opt_id The unique ID of the variable. This will default to a UUID.
214
- * @returns The newly created variable.
215
- */
216
- createVariable(name: string, opt_type?: string | null, opt_id?: string | null): IVariableModel<IVariableState>;
217
- /**
218
- * Find all the uses of the given variable, which is identified by ID.
219
- *
220
- * @deprecated v12: use Blockly.Workspace.getVariableMap().getVariableUsesById
221
- * @param id ID of the variable to find.
222
- * @returns Array of block usages.
223
- */
224
- getVariableUsesById(id: string): Block[];
225
- /**
226
- * Delete a variables by the passed in ID and all of its uses from this
227
- * workspace. May prompt the user for confirmation.
228
- *
229
- * @deprecated v12: use Blockly.Workspace.getVariableMap().deleteVariable.
230
- * @param id ID of variable to delete.
231
- */
232
- deleteVariableById(id: string): void;
233
- /**
234
- * Find the variable by the given name and return it. Return null if not
235
- * found.
236
- *
237
- * @deprecated v12: use Blockly.Workspace.getVariableMap().getVariable.
238
- * @param name The name to check for.
239
- * @param opt_type The type of the variable. If not provided it defaults to
240
- * the empty string, which is a specific type.
241
- * @returns The variable with the given name.
242
- */
243
- getVariable(name: string, opt_type?: string): IVariableModel<IVariableState> | null;
244
- /**
245
- * Find the variable by the given ID and return it. Return null if not found.
246
- *
247
- * @deprecated v12: use Blockly.Workspace.getVariableMap().getVariableById.
248
- * @param id The ID to check for.
249
- * @returns The variable with the given ID.
250
- */
251
- getVariableById(id: string): IVariableModel<IVariableState> | null;
252
- /**
253
- * Find the variable with the specified type. If type is null, return list of
254
- * variables with empty string type.
255
- *
256
- * @deprecated v12: use Blockly.Workspace.getVariableMap().getVariablesOfType.
257
- * @param type Type of the variables to find.
258
- * @returns The sought after variables of the passed in type. An empty array
259
- * if none are found.
260
- */
261
- getVariablesOfType(type: string | null): IVariableModel<IVariableState>[];
262
- /**
263
- * Return all variables of all types.
264
- *
265
- * @deprecated v12: use Blockly.Workspace.getVariableMap().getAllVariables.
266
- * @returns List of variable models.
267
- */
268
- getAllVariables(): IVariableModel<IVariableState>[];
269
- /**
270
- * Returns all variable names of all types.
271
- *
272
- * @deprecated v12: use Blockly.Workspace.getVariableMap().getAllVariables.
273
- * @returns List of all variable names of all types.
274
- */
275
- getAllVariableNames(): string[];
276
195
  /**
277
196
  * Returns the horizontal offset of the workspace.
278
197
  * Intended for LTR/RTL compatibility in XML.
package/msg/ab.js CHANGED
@@ -83,7 +83,7 @@ Blockly.Msg["COLOUR_RGB_HELPURL"] = "https://www.december.com/html/spec/colorper
83
83
  Blockly.Msg["COLOUR_RGB_RED"] = "аҟаԥшь";
84
84
  Blockly.Msg["COLOUR_RGB_TITLE"] = "аԥштәы аҟынтәи";
85
85
  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
86
- Blockly.Msg["COMMAND_KEY"] = "Command"; // untranslated
86
+ Blockly.Msg["COMMAND_KEY"] = "Command"; // untranslated
87
87
  Blockly.Msg["CONTEXT_MENU_KEY"] = "≣ Menu"; // untranslated
88
88
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks"; // untranslated
89
89
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "ацикл иҭыҵтәуп";
@@ -117,7 +117,7 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "инагӡалатәуп а
117
117
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "инагӡалатәуп акәзар";
118
118
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Аҭагылазаашьа мцнаҵы, инанагӡалоит акомандақәа.";
119
119
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Аҭагылазаашьа иашанаҵ, инанагӡалоит акомандақәа.";
120
- Blockly.Msg["CONTROL_KEY"] = "Ctrl"; // untranslated
120
+ Blockly.Msg["CONTROL_KEY"] = "Control"; // untranslated
121
121
  Blockly.Msg["COPY_SHORTCUT"] = "Copy"; // untranslated
122
122
  Blockly.Msg["CURRENT_BLOCK_ANNOUNCEMENT"] = "Current block: %1"; // untranslated
123
123
  Blockly.Msg["CUT_SHORTCUT"] = "Cut"; // untranslated
@@ -136,7 +136,7 @@ Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents"; // untranslated
136
136
  Blockly.Msg["ENABLE_BLOCK"] = "Иаҿыхтәуп Аблокқәа";
137
137
  Blockly.Msg["END_KEY"] = "End"; // untranslated
138
138
  Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
139
- Blockly.Msg["ESCAPE"] = "Esc"; // untranslated
139
+ Blockly.Msg["ESCAPE"] = "Escape"; // untranslated
140
140
  Blockly.Msg["EXPAND_ALL"] = "Иаарԥштәуп Аблокқәа";
141
141
  Blockly.Msg["EXPAND_BLOCK"] = "Иаарԥштәуп Аблокқәа";
142
142
  Blockly.Msg["EXTERNAL_INPUTS"] = "External Inputs"; // untranslated
@@ -456,7 +456,7 @@ Blockly.Msg["NEW_VARIABLE_TITLE"] = "Аҽеиҭак ахьӡ ҿыц:";
456
456
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:"; // untranslated
457
457
  Blockly.Msg["NO_PARENT_ANNOUNCEMENT"] = "Current block has no parent"; // untranslated
458
458
  Blockly.Msg["OPEN_TRASH"] = "Open trash"; // untranslated
459
- Blockly.Msg["OPTION_KEY"] = "Option"; // untranslated
459
+ Blockly.Msg["OPTION_KEY"] = "Option"; // untranslated
460
460
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
461
461
  Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down"; // untranslated
462
462
  Blockly.Msg["PAGE_UP_KEY"] = "Page Up"; // untranslated
@@ -625,6 +625,7 @@ Blockly.Msg["WORKSPACE_LABEL_1_STACK"] = "Blocks workspace. 1 stack of blocks";
625
625
  Blockly.Msg["WORKSPACE_LABEL_FLYOUT_WORKSPACE"] = "%1 blocks"; // untranslated
626
626
  Blockly.Msg["WORKSPACE_LABEL_MANY_STACKS"] = "Blocks workspace. %1 stacks of blocks"; // untranslated
627
627
  Blockly.Msg["WORKSPACE_LABEL_MUTATOR_WORKSPACE"] = "Block editor workspace"; // untranslated
628
+ Blockly.Msg["WORKSPACE_LABEL_PLAIN"] = "Blocks workspace."; // untranslated
628
629
  Blockly.Msg["ZOOM_IN"] = "Zoom in"; // untranslated
629
630
  Blockly.Msg["ZOOM_OUT"] = "Zoom out"; // untranslated
630
631
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/ab.mjs CHANGED
@@ -515,6 +515,7 @@ export const {
515
515
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
516
516
  KEYBOARD_NAV_COPIED_HINT,
517
517
  KEYBOARD_NAV_CUT_HINT,
518
+ WORKSPACE_LABEL_PLAIN,
518
519
  WORKSPACE_LABEL_1_STACK,
519
520
  WORKSPACE_LABEL_MANY_STACKS,
520
521
  WORKSPACE_LABEL_MUTATOR_WORKSPACE,
package/msg/ace.js CHANGED
@@ -83,7 +83,7 @@ Blockly.Msg["COLOUR_RGB_HELPURL"] = "https://www.december.com/html/spec/colorper
83
83
  Blockly.Msg["COLOUR_RGB_RED"] = "red"; // untranslated
84
84
  Blockly.Msg["COLOUR_RGB_TITLE"] = "colour with"; // untranslated
85
85
  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
86
- Blockly.Msg["COMMAND_KEY"] = "Command"; // untranslated
86
+ Blockly.Msg["COMMAND_KEY"] = "Command"; // untranslated
87
87
  Blockly.Msg["CONTEXT_MENU_KEY"] = "≣ Menu"; // untranslated
88
88
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks"; // untranslated
89
89
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "break out of loop"; // untranslated
@@ -117,7 +117,7 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "repeat until"; // untransl
117
117
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repeat while"; // untranslated
118
118
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then do some statements."; // untranslated
119
119
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "While a value is true, then do some statements."; // untranslated
120
- Blockly.Msg["CONTROL_KEY"] = "Ctrl"; // untranslated
120
+ Blockly.Msg["CONTROL_KEY"] = "Control"; // untranslated
121
121
  Blockly.Msg["COPY_SHORTCUT"] = "Copy"; // untranslated
122
122
  Blockly.Msg["CURRENT_BLOCK_ANNOUNCEMENT"] = "Current block: %1"; // untranslated
123
123
  Blockly.Msg["CUT_SHORTCUT"] = "Cut"; // untranslated
@@ -136,7 +136,7 @@ Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents"; // untranslated
136
136
  Blockly.Msg["ENABLE_BLOCK"] = "Enable Block"; // untranslated
137
137
  Blockly.Msg["END_KEY"] = "End"; // untranslated
138
138
  Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
139
- Blockly.Msg["ESCAPE"] = "Esc"; // untranslated
139
+ Blockly.Msg["ESCAPE"] = "Escape"; // untranslated
140
140
  Blockly.Msg["EXPAND_ALL"] = "Expand Blocks"; // untranslated
141
141
  Blockly.Msg["EXPAND_BLOCK"] = "Expand Block"; // untranslated
142
142
  Blockly.Msg["EXTERNAL_INPUTS"] = "External Inputs"; // untranslated
@@ -456,7 +456,7 @@ Blockly.Msg["NEW_VARIABLE_TITLE"] = "New variable name:"; // untranslated
456
456
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:"; // untranslated
457
457
  Blockly.Msg["NO_PARENT_ANNOUNCEMENT"] = "Current block has no parent"; // untranslated
458
458
  Blockly.Msg["OPEN_TRASH"] = "Open trash"; // untranslated
459
- Blockly.Msg["OPTION_KEY"] = "Option"; // untranslated
459
+ Blockly.Msg["OPTION_KEY"] = "Option"; // untranslated
460
460
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
461
461
  Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down"; // untranslated
462
462
  Blockly.Msg["PAGE_UP_KEY"] = "Page Up"; // untranslated
@@ -625,6 +625,7 @@ Blockly.Msg["WORKSPACE_LABEL_1_STACK"] = "Blocks workspace. 1 stack of blocks";
625
625
  Blockly.Msg["WORKSPACE_LABEL_FLYOUT_WORKSPACE"] = "%1 blocks"; // untranslated
626
626
  Blockly.Msg["WORKSPACE_LABEL_MANY_STACKS"] = "Blocks workspace. %1 stacks of blocks"; // untranslated
627
627
  Blockly.Msg["WORKSPACE_LABEL_MUTATOR_WORKSPACE"] = "Block editor workspace"; // untranslated
628
+ Blockly.Msg["WORKSPACE_LABEL_PLAIN"] = "Blocks workspace."; // untranslated
628
629
  Blockly.Msg["ZOOM_IN"] = "Zoom in"; // untranslated
629
630
  Blockly.Msg["ZOOM_OUT"] = "Zoom out"; // untranslated
630
631
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/ace.mjs CHANGED
@@ -515,6 +515,7 @@ export const {
515
515
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
516
516
  KEYBOARD_NAV_COPIED_HINT,
517
517
  KEYBOARD_NAV_CUT_HINT,
518
+ WORKSPACE_LABEL_PLAIN,
518
519
  WORKSPACE_LABEL_1_STACK,
519
520
  WORKSPACE_LABEL_MANY_STACKS,
520
521
  WORKSPACE_LABEL_MUTATOR_WORKSPACE,
package/msg/af.js CHANGED
@@ -83,7 +83,7 @@ Blockly.Msg["COLOUR_RGB_HELPURL"] = "https://www.december.com/html/spec/colorper
83
83
  Blockly.Msg["COLOUR_RGB_RED"] = "red"; // untranslated
84
84
  Blockly.Msg["COLOUR_RGB_TITLE"] = "colour with"; // untranslated
85
85
  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
86
- Blockly.Msg["COMMAND_KEY"] = "Command"; // untranslated
86
+ Blockly.Msg["COMMAND_KEY"] = "Command"; // untranslated
87
87
  Blockly.Msg["CONTEXT_MENU_KEY"] = "≣ Menu"; // untranslated
88
88
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks"; // untranslated
89
89
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "break out of loop"; // untranslated
@@ -117,7 +117,7 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "repeat until"; // untransl
117
117
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repeat while"; // untranslated
118
118
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then do some statements."; // untranslated
119
119
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "While a value is true, then do some statements."; // untranslated
120
- Blockly.Msg["CONTROL_KEY"] = "Ctrl"; // untranslated
120
+ Blockly.Msg["CONTROL_KEY"] = "Control"; // untranslated
121
121
  Blockly.Msg["COPY_SHORTCUT"] = "Copy"; // untranslated
122
122
  Blockly.Msg["CURRENT_BLOCK_ANNOUNCEMENT"] = "Current block: %1"; // untranslated
123
123
  Blockly.Msg["CUT_SHORTCUT"] = "Cut"; // untranslated
@@ -136,7 +136,7 @@ Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents"; // untranslated
136
136
  Blockly.Msg["ENABLE_BLOCK"] = "Enable Block"; // untranslated
137
137
  Blockly.Msg["END_KEY"] = "End"; // untranslated
138
138
  Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
139
- Blockly.Msg["ESCAPE"] = "Esc"; // untranslated
139
+ Blockly.Msg["ESCAPE"] = "Escape"; // untranslated
140
140
  Blockly.Msg["EXPAND_ALL"] = "Expand Blocks"; // untranslated
141
141
  Blockly.Msg["EXPAND_BLOCK"] = "Expand Block"; // untranslated
142
142
  Blockly.Msg["EXTERNAL_INPUTS"] = "External Inputs"; // untranslated
@@ -456,7 +456,7 @@ Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nuwe veranderlike naam:";
456
456
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Nuwe veranderlike tipe:";
457
457
  Blockly.Msg["NO_PARENT_ANNOUNCEMENT"] = "Current block has no parent"; // untranslated
458
458
  Blockly.Msg["OPEN_TRASH"] = "Open trash"; // untranslated
459
- Blockly.Msg["OPTION_KEY"] = "Option"; // untranslated
459
+ Blockly.Msg["OPTION_KEY"] = "Option"; // untranslated
460
460
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
461
461
  Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down"; // untranslated
462
462
  Blockly.Msg["PAGE_UP_KEY"] = "Page Up"; // untranslated
@@ -625,6 +625,7 @@ Blockly.Msg["WORKSPACE_LABEL_1_STACK"] = "Blocks workspace. 1 stack of blocks";
625
625
  Blockly.Msg["WORKSPACE_LABEL_FLYOUT_WORKSPACE"] = "%1 blocks"; // untranslated
626
626
  Blockly.Msg["WORKSPACE_LABEL_MANY_STACKS"] = "Blocks workspace. %1 stacks of blocks"; // untranslated
627
627
  Blockly.Msg["WORKSPACE_LABEL_MUTATOR_WORKSPACE"] = "Block editor workspace"; // untranslated
628
+ Blockly.Msg["WORKSPACE_LABEL_PLAIN"] = "Blocks workspace."; // untranslated
628
629
  Blockly.Msg["ZOOM_IN"] = "Zoom in"; // untranslated
629
630
  Blockly.Msg["ZOOM_OUT"] = "Zoom out"; // untranslated
630
631
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/af.mjs CHANGED
@@ -515,6 +515,7 @@ export const {
515
515
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
516
516
  KEYBOARD_NAV_COPIED_HINT,
517
517
  KEYBOARD_NAV_CUT_HINT,
518
+ WORKSPACE_LABEL_PLAIN,
518
519
  WORKSPACE_LABEL_1_STACK,
519
520
  WORKSPACE_LABEL_MANY_STACKS,
520
521
  WORKSPACE_LABEL_MUTATOR_WORKSPACE,
package/msg/am.js CHANGED
@@ -83,7 +83,7 @@ Blockly.Msg["COLOUR_RGB_HELPURL"] = "https://www.december.com/html/spec/colorper
83
83
  Blockly.Msg["COLOUR_RGB_RED"] = "red"; // untranslated
84
84
  Blockly.Msg["COLOUR_RGB_TITLE"] = "colour with"; // untranslated
85
85
  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
86
- Blockly.Msg["COMMAND_KEY"] = "Command"; // untranslated
86
+ Blockly.Msg["COMMAND_KEY"] = "Command"; // untranslated
87
87
  Blockly.Msg["CONTEXT_MENU_KEY"] = "≣ Menu"; // untranslated
88
88
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks"; // untranslated
89
89
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "break out of loop"; // untranslated
@@ -117,7 +117,7 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "repeat until"; // untransl
117
117
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repeat while"; // untranslated
118
118
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then do some statements."; // untranslated
119
119
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "While a value is true, then do some statements."; // untranslated
120
- Blockly.Msg["CONTROL_KEY"] = "Ctrl"; // untranslated
120
+ Blockly.Msg["CONTROL_KEY"] = "Control"; // untranslated
121
121
  Blockly.Msg["COPY_SHORTCUT"] = "Copy"; // untranslated
122
122
  Blockly.Msg["CURRENT_BLOCK_ANNOUNCEMENT"] = "Current block: %1"; // untranslated
123
123
  Blockly.Msg["CUT_SHORTCUT"] = "Cut"; // untranslated
@@ -136,7 +136,7 @@ Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents"; // untranslated
136
136
  Blockly.Msg["ENABLE_BLOCK"] = "ብሎኩን ደግመው ያስጀምሩ";
137
137
  Blockly.Msg["END_KEY"] = "End"; // untranslated
138
138
  Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
139
- Blockly.Msg["ESCAPE"] = "Esc"; // untranslated
139
+ Blockly.Msg["ESCAPE"] = "Escape"; // untranslated
140
140
  Blockly.Msg["EXPAND_ALL"] = "የብሎኮቹን መረጃዎች ዳግም ያስረዝሙ";
141
141
  Blockly.Msg["EXPAND_BLOCK"] = "የብሎኩን መረጃ ዳግም ያስረዝሙ";
142
142
  Blockly.Msg["EXTERNAL_INPUTS"] = "የውጪ ግብዓቶች";
@@ -456,7 +456,7 @@ Blockly.Msg["NEW_VARIABLE_TITLE"] = "New variable name:"; // untranslated
456
456
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:"; // untranslated
457
457
  Blockly.Msg["NO_PARENT_ANNOUNCEMENT"] = "Current block has no parent"; // untranslated
458
458
  Blockly.Msg["OPEN_TRASH"] = "Open trash"; // untranslated
459
- Blockly.Msg["OPTION_KEY"] = "Option"; // untranslated
459
+ Blockly.Msg["OPTION_KEY"] = "Option"; // untranslated
460
460
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
461
461
  Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down"; // untranslated
462
462
  Blockly.Msg["PAGE_UP_KEY"] = "Page Up"; // untranslated
@@ -625,6 +625,7 @@ Blockly.Msg["WORKSPACE_LABEL_1_STACK"] = "Blocks workspace. 1 stack of blocks";
625
625
  Blockly.Msg["WORKSPACE_LABEL_FLYOUT_WORKSPACE"] = "%1 blocks"; // untranslated
626
626
  Blockly.Msg["WORKSPACE_LABEL_MANY_STACKS"] = "Blocks workspace. %1 stacks of blocks"; // untranslated
627
627
  Blockly.Msg["WORKSPACE_LABEL_MUTATOR_WORKSPACE"] = "Block editor workspace"; // untranslated
628
+ Blockly.Msg["WORKSPACE_LABEL_PLAIN"] = "Blocks workspace."; // untranslated
628
629
  Blockly.Msg["ZOOM_IN"] = "Zoom in"; // untranslated
629
630
  Blockly.Msg["ZOOM_OUT"] = "Zoom out"; // untranslated
630
631
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/am.mjs CHANGED
@@ -515,6 +515,7 @@ export const {
515
515
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
516
516
  KEYBOARD_NAV_COPIED_HINT,
517
517
  KEYBOARD_NAV_CUT_HINT,
518
+ WORKSPACE_LABEL_PLAIN,
518
519
  WORKSPACE_LABEL_1_STACK,
519
520
  WORKSPACE_LABEL_MANY_STACKS,
520
521
  WORKSPACE_LABEL_MUTATOR_WORKSPACE,
package/msg/ar.js CHANGED
@@ -136,7 +136,7 @@ Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "تحرير محتويات المنع";
136
136
  Blockly.Msg["ENABLE_BLOCK"] = "تمكين كتلة";
137
137
  Blockly.Msg["END_KEY"] = "End"; // untranslated
138
138
  Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
139
- Blockly.Msg["ESCAPE"] = "Esc"; // untranslated
139
+ Blockly.Msg["ESCAPE"] = "Escape"; // untranslated
140
140
  Blockly.Msg["EXPAND_ALL"] = "وسٌّع الكتل";
141
141
  Blockly.Msg["EXPAND_BLOCK"] = "وسٌّع الكتلة";
142
142
  Blockly.Msg["EXTERNAL_INPUTS"] = "مدخلات خارجية";
@@ -625,6 +625,7 @@ Blockly.Msg["WORKSPACE_LABEL_1_STACK"] = "Blocks workspace. 1 stack of blocks";
625
625
  Blockly.Msg["WORKSPACE_LABEL_FLYOUT_WORKSPACE"] = "%1 blocks"; // untranslated
626
626
  Blockly.Msg["WORKSPACE_LABEL_MANY_STACKS"] = "Blocks workspace. %1 stacks of blocks"; // untranslated
627
627
  Blockly.Msg["WORKSPACE_LABEL_MUTATOR_WORKSPACE"] = "Block editor workspace"; // untranslated
628
+ Blockly.Msg["WORKSPACE_LABEL_PLAIN"] = "Blocks workspace."; // untranslated
628
629
  Blockly.Msg["ZOOM_IN"] = "Zoom in"; // untranslated
629
630
  Blockly.Msg["ZOOM_OUT"] = "Zoom out"; // untranslated
630
631
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/ar.mjs CHANGED
@@ -515,6 +515,7 @@ export const {
515
515
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
516
516
  KEYBOARD_NAV_COPIED_HINT,
517
517
  KEYBOARD_NAV_CUT_HINT,
518
+ WORKSPACE_LABEL_PLAIN,
518
519
  WORKSPACE_LABEL_1_STACK,
519
520
  WORKSPACE_LABEL_MANY_STACKS,
520
521
  WORKSPACE_LABEL_MUTATOR_WORKSPACE,
package/msg/ast.js CHANGED
@@ -83,7 +83,7 @@ Blockly.Msg["COLOUR_RGB_HELPURL"] = "https://www.december.com/html/spec/colorper
83
83
  Blockly.Msg["COLOUR_RGB_RED"] = "red"; // untranslated
84
84
  Blockly.Msg["COLOUR_RGB_TITLE"] = "colour with"; // untranslated
85
85
  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
86
- Blockly.Msg["COMMAND_KEY"] = "Command"; // untranslated
86
+ Blockly.Msg["COMMAND_KEY"] = "Command"; // untranslated
87
87
  Blockly.Msg["CONTEXT_MENU_KEY"] = "≣ Menu"; // untranslated
88
88
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks"; // untranslated
89
89
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "break out of loop"; // untranslated
@@ -117,7 +117,7 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "repeat until"; // untransl
117
117
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repeat while"; // untranslated
118
118
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then do some statements."; // untranslated
119
119
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "While a value is true, then do some statements."; // untranslated
120
- Blockly.Msg["CONTROL_KEY"] = "Ctrl"; // untranslated
120
+ Blockly.Msg["CONTROL_KEY"] = "Control"; // untranslated
121
121
  Blockly.Msg["COPY_SHORTCUT"] = "Copy"; // untranslated
122
122
  Blockly.Msg["CURRENT_BLOCK_ANNOUNCEMENT"] = "Current block: %1"; // untranslated
123
123
  Blockly.Msg["CUT_SHORTCUT"] = "Cut"; // untranslated
@@ -136,7 +136,7 @@ Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents"; // untranslated
136
136
  Blockly.Msg["ENABLE_BLOCK"] = "Enable Block"; // untranslated
137
137
  Blockly.Msg["END_KEY"] = "End"; // untranslated
138
138
  Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
139
- Blockly.Msg["ESCAPE"] = "Esc"; // untranslated
139
+ Blockly.Msg["ESCAPE"] = "Escape"; // untranslated
140
140
  Blockly.Msg["EXPAND_ALL"] = "Expand Blocks"; // untranslated
141
141
  Blockly.Msg["EXPAND_BLOCK"] = "Expand Block"; // untranslated
142
142
  Blockly.Msg["EXTERNAL_INPUTS"] = "External Inputs"; // untranslated
@@ -456,7 +456,7 @@ Blockly.Msg["NEW_VARIABLE_TITLE"] = "New variable name:"; // untranslated
456
456
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:"; // untranslated
457
457
  Blockly.Msg["NO_PARENT_ANNOUNCEMENT"] = "Current block has no parent"; // untranslated
458
458
  Blockly.Msg["OPEN_TRASH"] = "Open trash"; // untranslated
459
- Blockly.Msg["OPTION_KEY"] = "Option"; // untranslated
459
+ Blockly.Msg["OPTION_KEY"] = "Option"; // untranslated
460
460
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
461
461
  Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down"; // untranslated
462
462
  Blockly.Msg["PAGE_UP_KEY"] = "Page Up"; // untranslated
@@ -625,6 +625,7 @@ Blockly.Msg["WORKSPACE_LABEL_1_STACK"] = "Blocks workspace. 1 stack of blocks";
625
625
  Blockly.Msg["WORKSPACE_LABEL_FLYOUT_WORKSPACE"] = "%1 blocks"; // untranslated
626
626
  Blockly.Msg["WORKSPACE_LABEL_MANY_STACKS"] = "Blocks workspace. %1 stacks of blocks"; // untranslated
627
627
  Blockly.Msg["WORKSPACE_LABEL_MUTATOR_WORKSPACE"] = "Block editor workspace"; // untranslated
628
+ Blockly.Msg["WORKSPACE_LABEL_PLAIN"] = "Blocks workspace."; // untranslated
628
629
  Blockly.Msg["ZOOM_IN"] = "Zoom in"; // untranslated
629
630
  Blockly.Msg["ZOOM_OUT"] = "Zoom out"; // untranslated
630
631
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/ast.mjs CHANGED
@@ -515,6 +515,7 @@ export const {
515
515
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
516
516
  KEYBOARD_NAV_COPIED_HINT,
517
517
  KEYBOARD_NAV_CUT_HINT,
518
+ WORKSPACE_LABEL_PLAIN,
518
519
  WORKSPACE_LABEL_1_STACK,
519
520
  WORKSPACE_LABEL_MANY_STACKS,
520
521
  WORKSPACE_LABEL_MUTATOR_WORKSPACE,