blockly 13.0.0-beta.3 → 13.0.0-beta.4

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 (279) hide show
  1. package/blockly.min.js +555 -490
  2. package/blockly_compressed.js +527 -478
  3. package/blockly_compressed.js.map +1 -1
  4. package/core/block.d.ts +19 -1
  5. package/core/block_aria_composer.d.ts +19 -4
  6. package/core/block_svg.d.ts +11 -2
  7. package/core/comments/collapse_comment_bar_button.d.ts +7 -0
  8. package/core/comments/comment_bar_button.d.ts +14 -0
  9. package/core/comments/comment_editor.d.ts +15 -0
  10. package/core/comments/comment_view.d.ts +2 -2
  11. package/core/comments/delete_comment_bar_button.d.ts +7 -0
  12. package/core/contextmenu_registry.d.ts +10 -0
  13. package/core/dragging/block_drag_strategy.d.ts +9 -1
  14. package/core/field.d.ts +31 -9
  15. package/core/field_checkbox.d.ts +2 -2
  16. package/core/field_dropdown.d.ts +11 -2
  17. package/core/field_image.d.ts +29 -2
  18. package/core/field_input.d.ts +3 -3
  19. package/core/field_label.d.ts +27 -0
  20. package/core/hints.d.ts +26 -0
  21. package/core/inputs/input.d.ts +6 -2
  22. package/core/keyboard_navigation_controller.d.ts +12 -0
  23. package/core/rendered_connection.d.ts +6 -5
  24. package/core/shortcut_items.d.ts +18 -4
  25. package/core/workspace_audio.d.ts +13 -7
  26. package/core/workspace_svg.d.ts +16 -0
  27. package/msg/ab.js +28 -12
  28. package/msg/ab.mjs +16 -0
  29. package/msg/ace.js +28 -12
  30. package/msg/ace.mjs +16 -0
  31. package/msg/af.js +28 -12
  32. package/msg/af.mjs +16 -0
  33. package/msg/am.js +28 -12
  34. package/msg/am.mjs +16 -0
  35. package/msg/ar.js +25 -9
  36. package/msg/ar.mjs +16 -0
  37. package/msg/ast.js +28 -12
  38. package/msg/ast.mjs +16 -0
  39. package/msg/az.js +28 -12
  40. package/msg/az.mjs +16 -0
  41. package/msg/ba.js +28 -12
  42. package/msg/ba.mjs +16 -0
  43. package/msg/bcc.js +28 -12
  44. package/msg/bcc.mjs +16 -0
  45. package/msg/be-tarask.js +25 -9
  46. package/msg/be-tarask.mjs +16 -0
  47. package/msg/be.js +28 -12
  48. package/msg/be.mjs +16 -0
  49. package/msg/bg.js +28 -12
  50. package/msg/bg.mjs +16 -0
  51. package/msg/bn.js +28 -12
  52. package/msg/bn.mjs +16 -0
  53. package/msg/br.js +28 -12
  54. package/msg/br.mjs +16 -0
  55. package/msg/bs.js +28 -12
  56. package/msg/bs.mjs +16 -0
  57. package/msg/ca.js +28 -12
  58. package/msg/ca.mjs +16 -0
  59. package/msg/ce.js +28 -12
  60. package/msg/ce.mjs +16 -0
  61. package/msg/cs.js +28 -12
  62. package/msg/cs.mjs +16 -0
  63. package/msg/da.js +25 -9
  64. package/msg/da.mjs +16 -0
  65. package/msg/de.js +28 -12
  66. package/msg/de.mjs +16 -0
  67. package/msg/diq.js +28 -12
  68. package/msg/diq.mjs +16 -0
  69. package/msg/dtp.js +28 -12
  70. package/msg/dtp.mjs +16 -0
  71. package/msg/dty.js +28 -12
  72. package/msg/dty.mjs +16 -0
  73. package/msg/ee.js +28 -12
  74. package/msg/ee.mjs +16 -0
  75. package/msg/el.js +25 -9
  76. package/msg/el.mjs +16 -0
  77. package/msg/en-gb.js +28 -12
  78. package/msg/en-gb.mjs +16 -0
  79. package/msg/en.js +28 -12
  80. package/msg/en.mjs +16 -0
  81. package/msg/eo.js +28 -12
  82. package/msg/eo.mjs +16 -0
  83. package/msg/es.js +28 -12
  84. package/msg/es.mjs +16 -0
  85. package/msg/et.js +28 -12
  86. package/msg/et.mjs +16 -0
  87. package/msg/eu.js +28 -12
  88. package/msg/eu.mjs +16 -0
  89. package/msg/fa.js +28 -12
  90. package/msg/fa.mjs +16 -0
  91. package/msg/fi.js +28 -12
  92. package/msg/fi.mjs +16 -0
  93. package/msg/fo.js +28 -12
  94. package/msg/fo.mjs +16 -0
  95. package/msg/fr.js +25 -9
  96. package/msg/fr.mjs +16 -0
  97. package/msg/frr.js +28 -12
  98. package/msg/frr.mjs +16 -0
  99. package/msg/ga.js +25 -9
  100. package/msg/ga.mjs +16 -0
  101. package/msg/gl.js +25 -9
  102. package/msg/gl.mjs +16 -0
  103. package/msg/gn.js +28 -12
  104. package/msg/gn.mjs +16 -0
  105. package/msg/gor.js +28 -12
  106. package/msg/gor.mjs +16 -0
  107. package/msg/ha.js +28 -12
  108. package/msg/ha.mjs +16 -0
  109. package/msg/hak.js +28 -12
  110. package/msg/hak.mjs +16 -0
  111. package/msg/he.js +25 -9
  112. package/msg/he.mjs +16 -0
  113. package/msg/hi.js +28 -12
  114. package/msg/hi.mjs +16 -0
  115. package/msg/hr.js +28 -12
  116. package/msg/hr.mjs +16 -0
  117. package/msg/hrx.js +28 -12
  118. package/msg/hrx.mjs +16 -0
  119. package/msg/hsb.js +28 -12
  120. package/msg/hsb.mjs +16 -0
  121. package/msg/hu.js +28 -12
  122. package/msg/hu.mjs +16 -0
  123. package/msg/hy.js +28 -12
  124. package/msg/hy.mjs +16 -0
  125. package/msg/ia.js +25 -9
  126. package/msg/ia.mjs +16 -0
  127. package/msg/id.js +25 -9
  128. package/msg/id.mjs +16 -0
  129. package/msg/ig.js +28 -12
  130. package/msg/ig.mjs +16 -0
  131. package/msg/inh.js +28 -12
  132. package/msg/inh.mjs +16 -0
  133. package/msg/is.js +28 -12
  134. package/msg/is.mjs +16 -0
  135. package/msg/it.js +28 -12
  136. package/msg/it.mjs +16 -0
  137. package/msg/ja.js +25 -9
  138. package/msg/ja.mjs +16 -0
  139. package/msg/ka.js +28 -12
  140. package/msg/ka.mjs +16 -0
  141. package/msg/kab.js +28 -12
  142. package/msg/kab.mjs +16 -0
  143. package/msg/kbd-cyrl.js +28 -12
  144. package/msg/kbd-cyrl.mjs +16 -0
  145. package/msg/km.js +28 -12
  146. package/msg/km.mjs +16 -0
  147. package/msg/kn.js +28 -12
  148. package/msg/kn.mjs +16 -0
  149. package/msg/ko.js +28 -12
  150. package/msg/ko.mjs +16 -0
  151. package/msg/krc.js +25 -9
  152. package/msg/krc.mjs +16 -0
  153. package/msg/ksh.js +28 -12
  154. package/msg/ksh.mjs +16 -0
  155. package/msg/ku-latn.js +28 -12
  156. package/msg/ku-latn.mjs +16 -0
  157. package/msg/ky.js +28 -12
  158. package/msg/ky.mjs +16 -0
  159. package/msg/la.js +28 -12
  160. package/msg/la.mjs +16 -0
  161. package/msg/lb.js +27 -11
  162. package/msg/lb.mjs +16 -0
  163. package/msg/lki.js +28 -12
  164. package/msg/lki.mjs +16 -0
  165. package/msg/lo.js +28 -12
  166. package/msg/lo.mjs +16 -0
  167. package/msg/lrc.js +28 -12
  168. package/msg/lrc.mjs +16 -0
  169. package/msg/lt.js +28 -12
  170. package/msg/lt.mjs +16 -0
  171. package/msg/lv.js +28 -12
  172. package/msg/lv.mjs +16 -0
  173. package/msg/mg.js +28 -12
  174. package/msg/mg.mjs +16 -0
  175. package/msg/mk.js +28 -12
  176. package/msg/mk.mjs +16 -0
  177. package/msg/ml.js +28 -12
  178. package/msg/ml.mjs +16 -0
  179. package/msg/mnw.js +28 -12
  180. package/msg/mnw.mjs +16 -0
  181. package/msg/ms.js +28 -12
  182. package/msg/ms.mjs +16 -0
  183. package/msg/my.js +28 -12
  184. package/msg/my.mjs +16 -0
  185. package/msg/mzn.js +28 -12
  186. package/msg/mzn.mjs +16 -0
  187. package/msg/nb.js +28 -12
  188. package/msg/nb.mjs +16 -0
  189. package/msg/ne.js +28 -12
  190. package/msg/ne.mjs +16 -0
  191. package/msg/nl.js +25 -9
  192. package/msg/nl.mjs +16 -0
  193. package/msg/oc.js +28 -12
  194. package/msg/oc.mjs +16 -0
  195. package/msg/olo.js +28 -12
  196. package/msg/olo.mjs +16 -0
  197. package/msg/pa.js +28 -12
  198. package/msg/pa.mjs +16 -0
  199. package/msg/pl.js +25 -9
  200. package/msg/pl.mjs +16 -0
  201. package/msg/pms.js +25 -9
  202. package/msg/pms.mjs +16 -0
  203. package/msg/ps.js +28 -12
  204. package/msg/ps.mjs +16 -0
  205. package/msg/pt-br.js +25 -9
  206. package/msg/pt-br.mjs +16 -0
  207. package/msg/pt.js +25 -9
  208. package/msg/pt.mjs +16 -0
  209. package/msg/ro.js +25 -9
  210. package/msg/ro.mjs +16 -0
  211. package/msg/ru.js +25 -9
  212. package/msg/ru.mjs +16 -0
  213. package/msg/sc.js +28 -12
  214. package/msg/sc.mjs +16 -0
  215. package/msg/sco.js +28 -12
  216. package/msg/sco.mjs +16 -0
  217. package/msg/sd.js +28 -12
  218. package/msg/sd.mjs +16 -0
  219. package/msg/shn.js +28 -12
  220. package/msg/shn.mjs +16 -0
  221. package/msg/si.js +28 -12
  222. package/msg/si.mjs +16 -0
  223. package/msg/sk.js +28 -12
  224. package/msg/sk.mjs +16 -0
  225. package/msg/skr-arab.js +28 -12
  226. package/msg/skr-arab.mjs +16 -0
  227. package/msg/sl.js +25 -9
  228. package/msg/sl.mjs +16 -0
  229. package/msg/smn.js +28 -12
  230. package/msg/smn.mjs +16 -0
  231. package/msg/sq.js +27 -11
  232. package/msg/sq.mjs +16 -0
  233. package/msg/sr-latn.js +28 -12
  234. package/msg/sr-latn.mjs +16 -0
  235. package/msg/sr.js +28 -12
  236. package/msg/sr.mjs +16 -0
  237. package/msg/sv.js +25 -9
  238. package/msg/sv.mjs +16 -0
  239. package/msg/sw.js +28 -12
  240. package/msg/sw.mjs +16 -0
  241. package/msg/ta.js +28 -12
  242. package/msg/ta.mjs +16 -0
  243. package/msg/tcy.js +25 -9
  244. package/msg/tcy.mjs +16 -0
  245. package/msg/tdd.js +28 -12
  246. package/msg/tdd.mjs +16 -0
  247. package/msg/te.js +28 -12
  248. package/msg/te.mjs +16 -0
  249. package/msg/th.js +28 -12
  250. package/msg/th.mjs +16 -0
  251. package/msg/ti.js +28 -12
  252. package/msg/ti.mjs +16 -0
  253. package/msg/tl.js +28 -12
  254. package/msg/tl.mjs +16 -0
  255. package/msg/tlh.js +28 -12
  256. package/msg/tlh.mjs +16 -0
  257. package/msg/tr.js +25 -9
  258. package/msg/tr.mjs +16 -0
  259. package/msg/ug-arab.js +28 -12
  260. package/msg/ug-arab.mjs +16 -0
  261. package/msg/uk.js +28 -12
  262. package/msg/uk.mjs +16 -0
  263. package/msg/ur.js +28 -12
  264. package/msg/ur.mjs +16 -0
  265. package/msg/uz.js +28 -12
  266. package/msg/uz.mjs +16 -0
  267. package/msg/vi.js +25 -9
  268. package/msg/vi.mjs +16 -0
  269. package/msg/xmf.js +28 -12
  270. package/msg/xmf.mjs +16 -0
  271. package/msg/yo.js +28 -12
  272. package/msg/yo.mjs +16 -0
  273. package/msg/zgh.js +28 -12
  274. package/msg/zgh.mjs +16 -0
  275. package/msg/zh-hans.js +25 -9
  276. package/msg/zh-hans.mjs +16 -0
  277. package/msg/zh-hant.js +25 -9
  278. package/msg/zh-hant.mjs +16 -0
  279. package/package.json +38 -38
@@ -33,10 +33,12 @@ export declare enum names {
33
33
  NEXT_STACK = "next_stack",
34
34
  PREVIOUS_STACK = "previous_stack",
35
35
  INFORMATION = "information",
36
+ EXTENDED_INFORMATION = "extended_information",
36
37
  PERFORM_ACTION = "perform_action",
37
38
  DUPLICATE = "duplicate",
38
39
  CLEANUP = "cleanup",
39
- SHOW_TOOLTIP = "show_tooltip"
40
+ SHOW_TOOLTIP = "show_tooltip",
41
+ TOGGLE_SCREENREADER = "toggle_screenreader"
40
42
  }
41
43
  /**
42
44
  * Keyboard shortcut to hide chaff on escape.
@@ -73,7 +75,8 @@ export declare function registerRedo(): void;
73
75
  */
74
76
  export declare function registerMovementShortcuts(): void;
75
77
  /**
76
- * Keyboard shortcut to show the context menu on ctrl/cmd+Enter.
78
+ * Keyboard shortcut to show the context menu on ctrl/cmd+Enter, shift+F10, and
79
+ * the menu key.
77
80
  */
78
81
  export declare function registerShowContextMenu(): void;
79
82
  /**
@@ -89,9 +92,15 @@ export declare function registerFocusWorkspace(): void;
89
92
  */
90
93
  export declare function registerFocusToolbox(): void;
91
94
  /**
92
- * Registers keyboard shortcut to get count of block stacks and comments.
95
+ * Registers keyboard shortcut to announce information about the focused
96
+ * element.
93
97
  */
94
- export declare function registerWorkspaceOverview(): void;
98
+ export declare function registerReadInformation(): void;
99
+ /**
100
+ * Registers keyboard shortcut to announce an extended description of the
101
+ * focused element.
102
+ */
103
+ export declare function registerReadExtendedInformation(): void;
95
104
  /**
96
105
  * Registers keyboard shortcut to disconnect the focused block.
97
106
  */
@@ -117,6 +126,11 @@ export declare function registerCleanup(): void;
117
126
  * Registers keyboard shortcut to display the tooltip for the focused element.
118
127
  */
119
128
  export declare function registerShowTooltip(): void;
129
+ /**
130
+ * Registers keyboard shortcut to toggle on or off various behaviors that
131
+ * improve the experience for individuals using screenreaders.
132
+ */
133
+ export declare function registerToggleScreenreaderMode(): void;
120
134
  /**
121
135
  * Registers all default keyboard shortcut item. This should be called once per
122
136
  * instance of KeyboardShortcutRegistry.
@@ -3,12 +3,7 @@
3
3
  * Copyright 2017 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- /**
7
- * Object in charge of loading, storing, and playing audio for a
8
- * workspace.
9
- *
10
- * @class
11
- */
6
+ import type { IFocusableNode } from './interfaces/i_focusable_node.js';
12
7
  import type { WorkspaceSvg } from './workspace_svg.js';
13
8
  /**
14
9
  * Class for loading, storing, and playing audio for a workspace.
@@ -25,7 +20,7 @@ export declare class WorkspaceAudio {
25
20
  private readonly context?;
26
21
  /**
27
22
  * @param parentWorkspace The parent of the workspace this audio object
28
- * belongs to, or null.
23
+ * belongs to if it has one, or the workspace that owns this instance.
29
24
  */
30
25
  constructor(parentWorkspace: WorkspaceSvg);
31
26
  /**
@@ -61,6 +56,17 @@ export declare class WorkspaceAudio {
61
56
  * Plays a standard error beep.
62
57
  */
63
58
  playErrorBeep(): Promise<void>;
59
+ /**
60
+ * If enabled, plays a tone corresponding to the nesting level of the given
61
+ * node when it differs from the nesting level of the currently focused node.
62
+ * These tones are generally used for accessibility purposes to indicate a
63
+ * scope transition to users who use a screenreader. This method must be
64
+ * called before focus transitions to the given node.
65
+ *
66
+ * @internal
67
+ * @param newNode The soon-to-be-focused node.
68
+ */
69
+ maybePlayScopeChangeAudioCue(newNode: IFocusableNode): void;
64
70
  /**
65
71
  * Returns whether or not playing sounds is currently allowed.
66
72
  *
@@ -242,6 +242,14 @@ export declare class WorkspaceSvg extends Workspace implements IContextMenu, IFo
242
242
  svgBlockCanvas_: SVGElement;
243
243
  svgBubbleCanvas_: SVGElement;
244
244
  zoomControls_: ZoomControls | null;
245
+ /**
246
+ * Focus ring in the workspace.
247
+ */
248
+ private workspaceFocusRing;
249
+ /**
250
+ * Selection ring inside the workspace.
251
+ */
252
+ private workspaceSelectionRing;
245
253
  /**
246
254
  * Navigator that handles moving focus between items in this workspace in
247
255
  * response to keyboard navigation commands.
@@ -466,6 +474,14 @@ export declare class WorkspaceSvg extends Workspace implements IContextMenu, IFo
466
474
  * trash, zoom, toolbox, etc. (e.g. window resize).
467
475
  */
468
476
  resize(): void;
477
+ /**
478
+ * Sizes the given focus/selection ring inside the bounds of the workspace.
479
+ *
480
+ * @param ring The interior workspace ring indicator to resize.
481
+ * @param inset How many pixels in from the bounds of the workspace the ring
482
+ * should be positioned.
483
+ */
484
+ private resizeWorkspaceRing;
469
485
  /**
470
486
  * Resizes and repositions workspace chrome if the page has a new
471
487
  * scroll position.
package/msg/ab.js CHANGED
@@ -19,14 +19,18 @@ var Blockly = Blockly || { Msg: Object.create(null) };
19
19
 
20
20
  Blockly.Msg["ADD_COMMENT"] = "Иацҵатәуп ахцәажәара";
21
21
  Blockly.Msg["ALT_KEY"] = "Alt"; // untranslated
22
- Blockly.Msg["ANNOUNCE_MOVE_AFTER"] = "moving %1 after %3"; // untranslated
23
- Blockly.Msg["ANNOUNCE_MOVE_AROUND"] = "moving %1 %2 around %3"; // untranslated
24
- Blockly.Msg["ANNOUNCE_MOVE_BEFORE"] = "moving %1 before %3"; // untranslated
25
- Blockly.Msg["ANNOUNCE_MOVE_CANCELED"] = "Canceled movement"; // untranslated
26
- Blockly.Msg["ANNOUNCE_MOVE_INSIDE"] = "moving %1 inside %3 %4"; // untranslated
27
- Blockly.Msg["ANNOUNCE_MOVE_TO"] = "moving %1 %2 to %3 %4"; // untranslated
28
- Blockly.Msg["ANNOUNCE_MOVE_WORKSPACE"] = "moving %1 on workspace"; // untranslated
22
+ Blockly.Msg["ANNOUNCE_MOVE_AFTER"] = "Moving %1 after %2."; // untranslated
23
+ Blockly.Msg["ANNOUNCE_MOVE_AROUND"] = "Moving %1 around %2."; // untranslated
24
+ Blockly.Msg["ANNOUNCE_MOVE_BEFORE"] = "Moving %1 before %2."; // untranslated
25
+ Blockly.Msg["ANNOUNCE_MOVE_CANCELED"] = "Canceled movement."; // untranslated
26
+ Blockly.Msg["ANNOUNCE_MOVE_INSIDE"] = "Moving %1 inside %2."; // untranslated
27
+ Blockly.Msg["ANNOUNCE_MOVE_OF"] = "%1 of %2"; // untranslated
28
+ Blockly.Msg["ANNOUNCE_MOVE_TO"] = "Moving %1 to %2."; // untranslated
29
+ Blockly.Msg["ANNOUNCE_MOVE_WORKSPACE"] = "Moving %1 on workspace."; // untranslated
29
30
  Blockly.Msg["ARIA_LABEL_BUTTON"] = "button"; // untranslated
31
+ Blockly.Msg["ARIA_LABEL_COMMENT"] = "Comment"; // untranslated
32
+ Blockly.Msg["ARIA_LABEL_COMMENT_COLLAPSE"] = "Collapse Comment"; // untranslated
33
+ Blockly.Msg["ARIA_LABEL_COMMENT_EXPAND"] = "Expand Comment"; // untranslated
30
34
  Blockly.Msg["ARIA_LABEL_HEADING"] = "heading"; // untranslated
31
35
  Blockly.Msg["ARIA_TYPE_FIELD_CHECKBOX"] = "checkbox"; // untranslated
32
36
  Blockly.Msg["ARIA_TYPE_FIELD_DROPDOWN"] = "dropdown"; // untranslated
@@ -40,6 +44,7 @@ Blockly.Msg["BLOCK_LABEL_BEGIN_STACK"] = "Begin stack"; // untranslated
40
44
  Blockly.Msg["BLOCK_LABEL_COLLAPSED"] = "collapsed"; // untranslated
41
45
  Blockly.Msg["BLOCK_LABEL_CONTAINER"] = "container"; // untranslated
42
46
  Blockly.Msg["BLOCK_LABEL_DISABLED"] = "disabled"; // untranslated
47
+ Blockly.Msg["BLOCK_LABEL_HAS_BRANCHES"] = "has %1 branches"; // untranslated
43
48
  Blockly.Msg["BLOCK_LABEL_HAS_INPUT"] = "has input"; // untranslated
44
49
  Blockly.Msg["BLOCK_LABEL_HAS_INPUTS"] = "has inputs"; // untranslated
45
50
  Blockly.Msg["BLOCK_LABEL_REPLACEABLE"] = "replaceable"; // untranslated
@@ -112,6 +117,7 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Аҭагылазаашьа
112
117
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Аҭагылазаашьа иашанаҵ, инанагӡалоит акомандақәа.";
113
118
  Blockly.Msg["CONTROL_KEY"] = "Ctrl"; // untranslated
114
119
  Blockly.Msg["COPY_SHORTCUT"] = "Copy"; // untranslated
120
+ Blockly.Msg["CURRENT_BLOCK_ANNOUNCEMENT"] = "Current block: %1"; // untranslated
115
121
  Blockly.Msg["CUT_SHORTCUT"] = "Cut"; // untranslated
116
122
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "Ианыхтәуп аблокқәа (%1) зегьы?";
117
123
  Blockly.Msg["DELETE_BLOCK"] = "Ианыхтәуп аблок";
@@ -139,7 +145,7 @@ Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty"; // untranslated
139
145
  Blockly.Msg["FIELD_LABEL_OPTION_INDEX"] = "Option %1"; // untranslated
140
146
  Blockly.Msg["FIELD_LABEL_VARIABLE"] = "Variable '%1'"; // untranslated
141
147
  Blockly.Msg["HELP"] = "Ацхыраара";
142
- Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls"; // untranslated
148
+ Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls."; // untranslated
143
149
  Blockly.Msg["HOME_KEY"] = "Home"; // untranslated
144
150
  Blockly.Msg["ICON_LABEL_COMMENT_CLOSED"] = "Open Comment"; // untranslated
145
151
  Blockly.Msg["ICON_LABEL_COMMENT_OPEN"] = "Close Comment"; // untranslated
@@ -149,14 +155,18 @@ Blockly.Msg["ICON_LABEL_MUTATOR_OPEN"] = "Close block editor"; // untranslated
149
155
  Blockly.Msg["ICON_LABEL_WARNING_CLOSED"] = "Open Warning"; // untranslated
150
156
  Blockly.Msg["ICON_LABEL_WARNING_OPEN"] = "Close Warning"; // untranslated
151
157
  Blockly.Msg["INLINE_INPUTS"] = "Inline Inputs"; // untranslated
158
+ Blockly.Msg["INPUT_LABEL_EMPTY"] = "Empty"; // untranslated
159
+ Blockly.Msg["INPUT_LABEL_END_STATEMENT"] = "End %1"; // untranslated
152
160
  Blockly.Msg["INPUT_LABEL_INDEX"] = "input %1"; // untranslated
161
+ Blockly.Msg["INPUT_LABEL_STATEMENT"] = "command position"; // untranslated
162
+ Blockly.Msg["INPUT_LABEL_VALUE"] = "value position"; // untranslated
153
163
  Blockly.Msg["INSERT_KEY"] = "Insert"; // untranslated
154
- Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use the right arrow key to navigate inside of blocks"; // untranslated
155
- Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position"; // untranslated
164
+ Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use %1 to navigate inside of blocks."; // untranslated
165
+ Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position."; // untranslated
156
166
  Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "Copied. Press %1 to paste."; // untranslated
157
167
  Blockly.Msg["KEYBOARD_NAV_CUT_HINT"] = "Cut. Press %1 to paste."; // untranslated
158
- Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "Hold %1 and use arrow keys to move freely, then %2 to accept the position"; // untranslated
159
- Blockly.Msg["KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT"] = "Use the arrow keys to navigate"; // untranslated
168
+ Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "Hold %1 and use arrow keys to move freely, then %2 to accept the position."; // untranslated
169
+ Blockly.Msg["KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT"] = "Use the arrow keys to navigate."; // untranslated
160
170
  Blockly.Msg["LINUX"] = "Linux"; // untranslated
161
171
  Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-empty-list"; // untranslated
162
172
  Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "иаԥцатәуп иҭацәу ахьӡынҵа";
@@ -364,11 +374,13 @@ Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable..."; // untranslat
364
374
  Blockly.Msg["NEW_VARIABLE"] = "Иаԥҵатәуп аҽеиҭак";
365
375
  Blockly.Msg["NEW_VARIABLE_TITLE"] = "Аҽеиҭак ахьӡ ҿыц:";
366
376
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:"; // untranslated
377
+ Blockly.Msg["NO_PARENT_ANNOUNCEMENT"] = "Current block has no parent"; // untranslated
367
378
  Blockly.Msg["OPEN_TRASH"] = "Open trash"; // untranslated
368
379
  Blockly.Msg["OPTION_KEY"] = "⌥ Option"; // untranslated
369
380
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
370
381
  Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down"; // untranslated
371
382
  Blockly.Msg["PAGE_UP_KEY"] = "Page Up"; // untranslated
383
+ Blockly.Msg["PARENT_BLOCKS_ANNOUNCEMENT"] = "Parent blocks: %1"; // untranslated
372
384
  Blockly.Msg["PASTE_SHORTCUT"] = "Paste"; // untranslated
373
385
  Blockly.Msg["PAUSE_KEY"] = "Pause"; // untranslated
374
386
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "аоператорқәа азин рыҭара";
@@ -403,6 +415,8 @@ Blockly.Msg["REMOVE_COMMENT"] = "Ианыхтәуп ахцәажәара";
403
415
  Blockly.Msg["RENAME_VARIABLE"] = "Аҽеиҭак ахьӡ ԥсахтәуп";
404
416
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Аҽеиҭакқәа'%1' зегь рыхьӡ ԥсахтәуп аҟны:";
405
417
  Blockly.Msg["RESET_ZOOM"] = "Reset zoom"; // untranslated
418
+ Blockly.Msg["SCREENREADER_MODE_DISABLED"] = "Screenreader mode is off, press %1 to turn it on"; // untranslated
419
+ Blockly.Msg["SCREENREADER_MODE_ENABLED"] = "Screenreader mode is on, press %1 to turn it off"; // untranslated
406
420
  Blockly.Msg["SHIFT_KEY"] = "Shift"; // untranslated
407
421
  Blockly.Msg["SHORTCUTS_ABORT_MOVE"] = "Abort move"; // untranslated
408
422
  Blockly.Msg["SHORTCUTS_CLEANUP"] = "Clean up workspace"; // untranslated
@@ -412,6 +426,7 @@ Blockly.Msg["SHORTCUTS_DISCONNECT"] = "Disconnect block"; // untranslated
412
426
  Blockly.Msg["SHORTCUTS_DUPLICATE"] = "Duplicate"; // untranslated
413
427
  Blockly.Msg["SHORTCUTS_EDITING"] = "Editing"; // untranslated
414
428
  Blockly.Msg["SHORTCUTS_ESCAPE"] = "Exit"; // untranslated
429
+ Blockly.Msg["SHORTCUTS_EXTENDED_INFORMATION"] = "Announce detailed information"; // untranslated
415
430
  Blockly.Msg["SHORTCUTS_FINISH_MOVE"] = "Finish move"; // untranslated
416
431
  Blockly.Msg["SHORTCUTS_FOCUS_TOOLBOX"] = "Focus toolbox"; // untranslated
417
432
  Blockly.Msg["SHORTCUTS_FOCUS_WORKSPACE"] = "Focus workspace"; // untranslated
@@ -428,6 +443,7 @@ Blockly.Msg["SHORTCUTS_SHOW_CONTEXT_MENU"] = "Show menu"; // untranslated
428
443
  Blockly.Msg["SHORTCUTS_SHOW_TOOLTIP"] = "Show tooltip"; // untranslated
429
444
  Blockly.Msg["SHORTCUTS_START_MOVE"] = "Start move"; // untranslated
430
445
  Blockly.Msg["SHORTCUTS_START_MOVE_STACK"] = "Start move stack"; // untranslated
446
+ Blockly.Msg["SHORTCUTS_TOGGLE_SCREENREADER_MODE"] = "Toggle screenreader mode"; // untranslated
431
447
  Blockly.Msg["SPACE_KEY"] = "Space"; // untranslated
432
448
  Blockly.Msg["TAB_KEY"] = "Tab"; // untranslated
433
449
  Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification"; // untranslated
package/msg/ab.mjs CHANGED
@@ -467,6 +467,7 @@ export const {
467
467
  SHORTCUTS_FOCUS_WORKSPACE,
468
468
  SHORTCUTS_FOCUS_TOOLBOX,
469
469
  SHORTCUTS_INFORMATION,
470
+ SHORTCUTS_EXTENDED_INFORMATION,
470
471
  SHORTCUTS_DISCONNECT,
471
472
  SHORTCUTS_NEXT_STACK,
472
473
  SHORTCUTS_PREVIOUS_STACK,
@@ -474,6 +475,7 @@ export const {
474
475
  SHORTCUTS_DUPLICATE,
475
476
  SHORTCUTS_CLEANUP,
476
477
  SHORTCUTS_SHOW_TOOLTIP,
478
+ SHORTCUTS_TOGGLE_SCREENREADER_MODE,
477
479
  KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT,
478
480
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
479
481
  KEYBOARD_NAV_COPIED_HINT,
@@ -497,17 +499,23 @@ export const {
497
499
  BLOCK_LABEL_REPLACEABLE,
498
500
  BLOCK_LABEL_HAS_INPUT,
499
501
  BLOCK_LABEL_HAS_INPUTS,
502
+ BLOCK_LABEL_HAS_BRANCHES,
500
503
  BLOCK_LABEL_STATEMENT,
501
504
  BLOCK_LABEL_CONTAINER,
502
505
  BLOCK_LABEL_VALUE,
503
506
  BLOCK_LABEL_STACK_BLOCKS,
504
507
  INPUT_LABEL_INDEX,
508
+ INPUT_LABEL_VALUE,
509
+ INPUT_LABEL_STATEMENT,
510
+ INPUT_LABEL_END_STATEMENT,
511
+ INPUT_LABEL_EMPTY,
505
512
  ANNOUNCE_MOVE_WORKSPACE,
506
513
  ANNOUNCE_MOVE_BEFORE,
507
514
  ANNOUNCE_MOVE_AFTER,
508
515
  ANNOUNCE_MOVE_INSIDE,
509
516
  ANNOUNCE_MOVE_AROUND,
510
517
  ANNOUNCE_MOVE_TO,
518
+ ANNOUNCE_MOVE_OF,
511
519
  ANNOUNCE_MOVE_CANCELED,
512
520
  FIELD_LABEL_EMPTY,
513
521
  ARIA_TYPE_FIELD_INPUT,
@@ -537,4 +545,12 @@ export const {
537
545
  ICON_LABEL_MUTATOR_OPEN,
538
546
  ICON_LABEL_WARNING_CLOSED,
539
547
  ICON_LABEL_WARNING_OPEN,
548
+ ARIA_LABEL_COMMENT,
549
+ ARIA_LABEL_COMMENT_COLLAPSE,
550
+ ARIA_LABEL_COMMENT_EXPAND,
551
+ SCREENREADER_MODE_ENABLED,
552
+ SCREENREADER_MODE_DISABLED,
553
+ CURRENT_BLOCK_ANNOUNCEMENT,
554
+ PARENT_BLOCKS_ANNOUNCEMENT,
555
+ NO_PARENT_ANNOUNCEMENT,
540
556
  } = ab;
package/msg/ace.js CHANGED
@@ -19,14 +19,18 @@ var Blockly = Blockly || { Msg: Object.create(null) };
19
19
 
20
20
  Blockly.Msg["ADD_COMMENT"] = "Add Comment"; // untranslated
21
21
  Blockly.Msg["ALT_KEY"] = "Alt"; // untranslated
22
- Blockly.Msg["ANNOUNCE_MOVE_AFTER"] = "moving %1 after %3"; // untranslated
23
- Blockly.Msg["ANNOUNCE_MOVE_AROUND"] = "moving %1 %2 around %3"; // untranslated
24
- Blockly.Msg["ANNOUNCE_MOVE_BEFORE"] = "moving %1 before %3"; // untranslated
25
- Blockly.Msg["ANNOUNCE_MOVE_CANCELED"] = "Canceled movement"; // untranslated
26
- Blockly.Msg["ANNOUNCE_MOVE_INSIDE"] = "moving %1 inside %3 %4"; // untranslated
27
- Blockly.Msg["ANNOUNCE_MOVE_TO"] = "moving %1 %2 to %3 %4"; // untranslated
28
- Blockly.Msg["ANNOUNCE_MOVE_WORKSPACE"] = "moving %1 on workspace"; // untranslated
22
+ Blockly.Msg["ANNOUNCE_MOVE_AFTER"] = "Moving %1 after %2."; // untranslated
23
+ Blockly.Msg["ANNOUNCE_MOVE_AROUND"] = "Moving %1 around %2."; // untranslated
24
+ Blockly.Msg["ANNOUNCE_MOVE_BEFORE"] = "Moving %1 before %2."; // untranslated
25
+ Blockly.Msg["ANNOUNCE_MOVE_CANCELED"] = "Canceled movement."; // untranslated
26
+ Blockly.Msg["ANNOUNCE_MOVE_INSIDE"] = "Moving %1 inside %2."; // untranslated
27
+ Blockly.Msg["ANNOUNCE_MOVE_OF"] = "%1 of %2"; // untranslated
28
+ Blockly.Msg["ANNOUNCE_MOVE_TO"] = "Moving %1 to %2."; // untranslated
29
+ Blockly.Msg["ANNOUNCE_MOVE_WORKSPACE"] = "Moving %1 on workspace."; // untranslated
29
30
  Blockly.Msg["ARIA_LABEL_BUTTON"] = "button"; // untranslated
31
+ Blockly.Msg["ARIA_LABEL_COMMENT"] = "Comment"; // untranslated
32
+ Blockly.Msg["ARIA_LABEL_COMMENT_COLLAPSE"] = "Collapse Comment"; // untranslated
33
+ Blockly.Msg["ARIA_LABEL_COMMENT_EXPAND"] = "Expand Comment"; // untranslated
30
34
  Blockly.Msg["ARIA_LABEL_HEADING"] = "heading"; // untranslated
31
35
  Blockly.Msg["ARIA_TYPE_FIELD_CHECKBOX"] = "checkbox"; // untranslated
32
36
  Blockly.Msg["ARIA_TYPE_FIELD_DROPDOWN"] = "dropdown"; // untranslated
@@ -40,6 +44,7 @@ Blockly.Msg["BLOCK_LABEL_BEGIN_STACK"] = "Begin stack"; // untranslated
40
44
  Blockly.Msg["BLOCK_LABEL_COLLAPSED"] = "collapsed"; // untranslated
41
45
  Blockly.Msg["BLOCK_LABEL_CONTAINER"] = "container"; // untranslated
42
46
  Blockly.Msg["BLOCK_LABEL_DISABLED"] = "disabled"; // untranslated
47
+ Blockly.Msg["BLOCK_LABEL_HAS_BRANCHES"] = "has %1 branches"; // untranslated
43
48
  Blockly.Msg["BLOCK_LABEL_HAS_INPUT"] = "has input"; // untranslated
44
49
  Blockly.Msg["BLOCK_LABEL_HAS_INPUTS"] = "has inputs"; // untranslated
45
50
  Blockly.Msg["BLOCK_LABEL_REPLACEABLE"] = "replaceable"; // untranslated
@@ -112,6 +117,7 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then
112
117
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "While a value is true, then do some statements."; // untranslated
113
118
  Blockly.Msg["CONTROL_KEY"] = "Ctrl"; // untranslated
114
119
  Blockly.Msg["COPY_SHORTCUT"] = "Copy"; // untranslated
120
+ Blockly.Msg["CURRENT_BLOCK_ANNOUNCEMENT"] = "Current block: %1"; // untranslated
115
121
  Blockly.Msg["CUT_SHORTCUT"] = "Cut"; // untranslated
116
122
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "Delete all %1 blocks?"; // untranslated
117
123
  Blockly.Msg["DELETE_BLOCK"] = "Delete Block"; // untranslated
@@ -139,7 +145,7 @@ Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty"; // untranslated
139
145
  Blockly.Msg["FIELD_LABEL_OPTION_INDEX"] = "Option %1"; // untranslated
140
146
  Blockly.Msg["FIELD_LABEL_VARIABLE"] = "Variable '%1'"; // untranslated
141
147
  Blockly.Msg["HELP"] = "Help"; // untranslated
142
- Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls"; // untranslated
148
+ Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls."; // untranslated
143
149
  Blockly.Msg["HOME_KEY"] = "Home"; // untranslated
144
150
  Blockly.Msg["ICON_LABEL_COMMENT_CLOSED"] = "Open Comment"; // untranslated
145
151
  Blockly.Msg["ICON_LABEL_COMMENT_OPEN"] = "Close Comment"; // untranslated
@@ -149,14 +155,18 @@ Blockly.Msg["ICON_LABEL_MUTATOR_OPEN"] = "Close block editor"; // untranslated
149
155
  Blockly.Msg["ICON_LABEL_WARNING_CLOSED"] = "Open Warning"; // untranslated
150
156
  Blockly.Msg["ICON_LABEL_WARNING_OPEN"] = "Close Warning"; // untranslated
151
157
  Blockly.Msg["INLINE_INPUTS"] = "Inline Inputs"; // untranslated
158
+ Blockly.Msg["INPUT_LABEL_EMPTY"] = "Empty"; // untranslated
159
+ Blockly.Msg["INPUT_LABEL_END_STATEMENT"] = "End %1"; // untranslated
152
160
  Blockly.Msg["INPUT_LABEL_INDEX"] = "input %1"; // untranslated
161
+ Blockly.Msg["INPUT_LABEL_STATEMENT"] = "command position"; // untranslated
162
+ Blockly.Msg["INPUT_LABEL_VALUE"] = "value position"; // untranslated
153
163
  Blockly.Msg["INSERT_KEY"] = "Insert"; // untranslated
154
- Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use the right arrow key to navigate inside of blocks"; // untranslated
155
- Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position"; // untranslated
164
+ Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use %1 to navigate inside of blocks."; // untranslated
165
+ Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position."; // untranslated
156
166
  Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "Copied. Press %1 to paste."; // untranslated
157
167
  Blockly.Msg["KEYBOARD_NAV_CUT_HINT"] = "Cut. Press %1 to paste."; // untranslated
158
- Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "Hold %1 and use arrow keys to move freely, then %2 to accept the position"; // untranslated
159
- Blockly.Msg["KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT"] = "Use the arrow keys to navigate"; // untranslated
168
+ Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "Hold %1 and use arrow keys to move freely, then %2 to accept the position."; // untranslated
169
+ Blockly.Msg["KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT"] = "Use the arrow keys to navigate."; // untranslated
160
170
  Blockly.Msg["LINUX"] = "Linux"; // untranslated
161
171
  Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-empty-list"; // untranslated
162
172
  Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list"; // untranslated
@@ -364,11 +374,13 @@ Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable..."; // untranslat
364
374
  Blockly.Msg["NEW_VARIABLE"] = "Create variable..."; // untranslated
365
375
  Blockly.Msg["NEW_VARIABLE_TITLE"] = "New variable name:"; // untranslated
366
376
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:"; // untranslated
377
+ Blockly.Msg["NO_PARENT_ANNOUNCEMENT"] = "Current block has no parent"; // untranslated
367
378
  Blockly.Msg["OPEN_TRASH"] = "Open trash"; // untranslated
368
379
  Blockly.Msg["OPTION_KEY"] = "⌥ Option"; // untranslated
369
380
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
370
381
  Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down"; // untranslated
371
382
  Blockly.Msg["PAGE_UP_KEY"] = "Page Up"; // untranslated
383
+ Blockly.Msg["PARENT_BLOCKS_ANNOUNCEMENT"] = "Parent blocks: %1"; // untranslated
372
384
  Blockly.Msg["PASTE_SHORTCUT"] = "Paste"; // untranslated
373
385
  Blockly.Msg["PAUSE_KEY"] = "Pause"; // untranslated
374
386
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements"; // untranslated
@@ -403,6 +415,8 @@ Blockly.Msg["REMOVE_COMMENT"] = "Remove Comment"; // untranslated
403
415
  Blockly.Msg["RENAME_VARIABLE"] = "Rename the '%1' variable"; // untranslated
404
416
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Rename all '%1' variables to:"; // untranslated
405
417
  Blockly.Msg["RESET_ZOOM"] = "Reset zoom"; // untranslated
418
+ Blockly.Msg["SCREENREADER_MODE_DISABLED"] = "Screenreader mode is off, press %1 to turn it on"; // untranslated
419
+ Blockly.Msg["SCREENREADER_MODE_ENABLED"] = "Screenreader mode is on, press %1 to turn it off"; // untranslated
406
420
  Blockly.Msg["SHIFT_KEY"] = "Shift"; // untranslated
407
421
  Blockly.Msg["SHORTCUTS_ABORT_MOVE"] = "Abort move"; // untranslated
408
422
  Blockly.Msg["SHORTCUTS_CLEANUP"] = "Clean up workspace"; // untranslated
@@ -412,6 +426,7 @@ Blockly.Msg["SHORTCUTS_DISCONNECT"] = "Disconnect block"; // untranslated
412
426
  Blockly.Msg["SHORTCUTS_DUPLICATE"] = "Duplicate"; // untranslated
413
427
  Blockly.Msg["SHORTCUTS_EDITING"] = "Editing"; // untranslated
414
428
  Blockly.Msg["SHORTCUTS_ESCAPE"] = "Exit"; // untranslated
429
+ Blockly.Msg["SHORTCUTS_EXTENDED_INFORMATION"] = "Announce detailed information"; // untranslated
415
430
  Blockly.Msg["SHORTCUTS_FINISH_MOVE"] = "Finish move"; // untranslated
416
431
  Blockly.Msg["SHORTCUTS_FOCUS_TOOLBOX"] = "Focus toolbox"; // untranslated
417
432
  Blockly.Msg["SHORTCUTS_FOCUS_WORKSPACE"] = "Focus workspace"; // untranslated
@@ -428,6 +443,7 @@ Blockly.Msg["SHORTCUTS_SHOW_CONTEXT_MENU"] = "Show menu"; // untranslated
428
443
  Blockly.Msg["SHORTCUTS_SHOW_TOOLTIP"] = "Show tooltip"; // untranslated
429
444
  Blockly.Msg["SHORTCUTS_START_MOVE"] = "Start move"; // untranslated
430
445
  Blockly.Msg["SHORTCUTS_START_MOVE_STACK"] = "Start move stack"; // untranslated
446
+ Blockly.Msg["SHORTCUTS_TOGGLE_SCREENREADER_MODE"] = "Toggle screenreader mode"; // untranslated
431
447
  Blockly.Msg["SPACE_KEY"] = "Space"; // untranslated
432
448
  Blockly.Msg["TAB_KEY"] = "Tab"; // untranslated
433
449
  Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification"; // untranslated
package/msg/ace.mjs CHANGED
@@ -467,6 +467,7 @@ export const {
467
467
  SHORTCUTS_FOCUS_WORKSPACE,
468
468
  SHORTCUTS_FOCUS_TOOLBOX,
469
469
  SHORTCUTS_INFORMATION,
470
+ SHORTCUTS_EXTENDED_INFORMATION,
470
471
  SHORTCUTS_DISCONNECT,
471
472
  SHORTCUTS_NEXT_STACK,
472
473
  SHORTCUTS_PREVIOUS_STACK,
@@ -474,6 +475,7 @@ export const {
474
475
  SHORTCUTS_DUPLICATE,
475
476
  SHORTCUTS_CLEANUP,
476
477
  SHORTCUTS_SHOW_TOOLTIP,
478
+ SHORTCUTS_TOGGLE_SCREENREADER_MODE,
477
479
  KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT,
478
480
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
479
481
  KEYBOARD_NAV_COPIED_HINT,
@@ -497,17 +499,23 @@ export const {
497
499
  BLOCK_LABEL_REPLACEABLE,
498
500
  BLOCK_LABEL_HAS_INPUT,
499
501
  BLOCK_LABEL_HAS_INPUTS,
502
+ BLOCK_LABEL_HAS_BRANCHES,
500
503
  BLOCK_LABEL_STATEMENT,
501
504
  BLOCK_LABEL_CONTAINER,
502
505
  BLOCK_LABEL_VALUE,
503
506
  BLOCK_LABEL_STACK_BLOCKS,
504
507
  INPUT_LABEL_INDEX,
508
+ INPUT_LABEL_VALUE,
509
+ INPUT_LABEL_STATEMENT,
510
+ INPUT_LABEL_END_STATEMENT,
511
+ INPUT_LABEL_EMPTY,
505
512
  ANNOUNCE_MOVE_WORKSPACE,
506
513
  ANNOUNCE_MOVE_BEFORE,
507
514
  ANNOUNCE_MOVE_AFTER,
508
515
  ANNOUNCE_MOVE_INSIDE,
509
516
  ANNOUNCE_MOVE_AROUND,
510
517
  ANNOUNCE_MOVE_TO,
518
+ ANNOUNCE_MOVE_OF,
511
519
  ANNOUNCE_MOVE_CANCELED,
512
520
  FIELD_LABEL_EMPTY,
513
521
  ARIA_TYPE_FIELD_INPUT,
@@ -537,4 +545,12 @@ export const {
537
545
  ICON_LABEL_MUTATOR_OPEN,
538
546
  ICON_LABEL_WARNING_CLOSED,
539
547
  ICON_LABEL_WARNING_OPEN,
548
+ ARIA_LABEL_COMMENT,
549
+ ARIA_LABEL_COMMENT_COLLAPSE,
550
+ ARIA_LABEL_COMMENT_EXPAND,
551
+ SCREENREADER_MODE_ENABLED,
552
+ SCREENREADER_MODE_DISABLED,
553
+ CURRENT_BLOCK_ANNOUNCEMENT,
554
+ PARENT_BLOCKS_ANNOUNCEMENT,
555
+ NO_PARENT_ANNOUNCEMENT,
540
556
  } = ace;
package/msg/af.js CHANGED
@@ -19,14 +19,18 @@ var Blockly = Blockly || { Msg: Object.create(null) };
19
19
 
20
20
  Blockly.Msg["ADD_COMMENT"] = "Voeg kommentaar by";
21
21
  Blockly.Msg["ALT_KEY"] = "Alt"; // untranslated
22
- Blockly.Msg["ANNOUNCE_MOVE_AFTER"] = "moving %1 after %3"; // untranslated
23
- Blockly.Msg["ANNOUNCE_MOVE_AROUND"] = "moving %1 %2 around %3"; // untranslated
24
- Blockly.Msg["ANNOUNCE_MOVE_BEFORE"] = "moving %1 before %3"; // untranslated
25
- Blockly.Msg["ANNOUNCE_MOVE_CANCELED"] = "Canceled movement"; // untranslated
26
- Blockly.Msg["ANNOUNCE_MOVE_INSIDE"] = "moving %1 inside %3 %4"; // untranslated
27
- Blockly.Msg["ANNOUNCE_MOVE_TO"] = "moving %1 %2 to %3 %4"; // untranslated
28
- Blockly.Msg["ANNOUNCE_MOVE_WORKSPACE"] = "moving %1 on workspace"; // untranslated
22
+ Blockly.Msg["ANNOUNCE_MOVE_AFTER"] = "Moving %1 after %2."; // untranslated
23
+ Blockly.Msg["ANNOUNCE_MOVE_AROUND"] = "Moving %1 around %2."; // untranslated
24
+ Blockly.Msg["ANNOUNCE_MOVE_BEFORE"] = "Moving %1 before %2."; // untranslated
25
+ Blockly.Msg["ANNOUNCE_MOVE_CANCELED"] = "Canceled movement."; // untranslated
26
+ Blockly.Msg["ANNOUNCE_MOVE_INSIDE"] = "Moving %1 inside %2."; // untranslated
27
+ Blockly.Msg["ANNOUNCE_MOVE_OF"] = "%1 of %2"; // untranslated
28
+ Blockly.Msg["ANNOUNCE_MOVE_TO"] = "Moving %1 to %2."; // untranslated
29
+ Blockly.Msg["ANNOUNCE_MOVE_WORKSPACE"] = "Moving %1 on workspace."; // untranslated
29
30
  Blockly.Msg["ARIA_LABEL_BUTTON"] = "button"; // untranslated
31
+ Blockly.Msg["ARIA_LABEL_COMMENT"] = "Comment"; // untranslated
32
+ Blockly.Msg["ARIA_LABEL_COMMENT_COLLAPSE"] = "Collapse Comment"; // untranslated
33
+ Blockly.Msg["ARIA_LABEL_COMMENT_EXPAND"] = "Expand Comment"; // untranslated
30
34
  Blockly.Msg["ARIA_LABEL_HEADING"] = "heading"; // untranslated
31
35
  Blockly.Msg["ARIA_TYPE_FIELD_CHECKBOX"] = "checkbox"; // untranslated
32
36
  Blockly.Msg["ARIA_TYPE_FIELD_DROPDOWN"] = "dropdown"; // untranslated
@@ -40,6 +44,7 @@ Blockly.Msg["BLOCK_LABEL_BEGIN_STACK"] = "Begin stack"; // untranslated
40
44
  Blockly.Msg["BLOCK_LABEL_COLLAPSED"] = "collapsed"; // untranslated
41
45
  Blockly.Msg["BLOCK_LABEL_CONTAINER"] = "container"; // untranslated
42
46
  Blockly.Msg["BLOCK_LABEL_DISABLED"] = "disabled"; // untranslated
47
+ Blockly.Msg["BLOCK_LABEL_HAS_BRANCHES"] = "has %1 branches"; // untranslated
43
48
  Blockly.Msg["BLOCK_LABEL_HAS_INPUT"] = "has input"; // untranslated
44
49
  Blockly.Msg["BLOCK_LABEL_HAS_INPUTS"] = "has inputs"; // untranslated
45
50
  Blockly.Msg["BLOCK_LABEL_REPLACEABLE"] = "replaceable"; // untranslated
@@ -112,6 +117,7 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then
112
117
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "While a value is true, then do some statements."; // untranslated
113
118
  Blockly.Msg["CONTROL_KEY"] = "Ctrl"; // untranslated
114
119
  Blockly.Msg["COPY_SHORTCUT"] = "Copy"; // untranslated
120
+ Blockly.Msg["CURRENT_BLOCK_ANNOUNCEMENT"] = "Current block: %1"; // untranslated
115
121
  Blockly.Msg["CUT_SHORTCUT"] = "Cut"; // untranslated
116
122
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "verwyder al %1 blokke?";
117
123
  Blockly.Msg["DELETE_BLOCK"] = "verwyder blok";
@@ -139,7 +145,7 @@ Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty"; // untranslated
139
145
  Blockly.Msg["FIELD_LABEL_OPTION_INDEX"] = "Option %1"; // untranslated
140
146
  Blockly.Msg["FIELD_LABEL_VARIABLE"] = "Variable '%1'"; // untranslated
141
147
  Blockly.Msg["HELP"] = "Hulp";
142
- Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls"; // untranslated
148
+ Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls."; // untranslated
143
149
  Blockly.Msg["HOME_KEY"] = "Home"; // untranslated
144
150
  Blockly.Msg["ICON_LABEL_COMMENT_CLOSED"] = "Open Comment"; // untranslated
145
151
  Blockly.Msg["ICON_LABEL_COMMENT_OPEN"] = "Close Comment"; // untranslated
@@ -149,14 +155,18 @@ Blockly.Msg["ICON_LABEL_MUTATOR_OPEN"] = "Close block editor"; // untranslated
149
155
  Blockly.Msg["ICON_LABEL_WARNING_CLOSED"] = "Open Warning"; // untranslated
150
156
  Blockly.Msg["ICON_LABEL_WARNING_OPEN"] = "Close Warning"; // untranslated
151
157
  Blockly.Msg["INLINE_INPUTS"] = "Inline Inputs"; // untranslated
158
+ Blockly.Msg["INPUT_LABEL_EMPTY"] = "Empty"; // untranslated
159
+ Blockly.Msg["INPUT_LABEL_END_STATEMENT"] = "End %1"; // untranslated
152
160
  Blockly.Msg["INPUT_LABEL_INDEX"] = "input %1"; // untranslated
161
+ Blockly.Msg["INPUT_LABEL_STATEMENT"] = "command position"; // untranslated
162
+ Blockly.Msg["INPUT_LABEL_VALUE"] = "value position"; // untranslated
153
163
  Blockly.Msg["INSERT_KEY"] = "Insert"; // untranslated
154
- Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use the right arrow key to navigate inside of blocks"; // untranslated
155
- Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position"; // untranslated
164
+ Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use %1 to navigate inside of blocks."; // untranslated
165
+ Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position."; // untranslated
156
166
  Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "Copied. Press %1 to paste."; // untranslated
157
167
  Blockly.Msg["KEYBOARD_NAV_CUT_HINT"] = "Cut. Press %1 to paste."; // untranslated
158
- Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "Hold %1 and use arrow keys to move freely, then %2 to accept the position"; // untranslated
159
- Blockly.Msg["KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT"] = "Use the arrow keys to navigate"; // untranslated
168
+ Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "Hold %1 and use arrow keys to move freely, then %2 to accept the position."; // untranslated
169
+ Blockly.Msg["KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT"] = "Use the arrow keys to navigate."; // untranslated
160
170
  Blockly.Msg["LINUX"] = "Linux"; // untranslated
161
171
  Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-empty-list"; // untranslated
162
172
  Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list"; // untranslated
@@ -364,11 +374,13 @@ Blockly.Msg["NEW_STRING_VARIABLE"] = "Skep teks veranderlike";
364
374
  Blockly.Msg["NEW_VARIABLE"] = "Skep veranderlike";
365
375
  Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nuwe veranderlike naam:";
366
376
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Nuwe veranderlike tipe:";
377
+ Blockly.Msg["NO_PARENT_ANNOUNCEMENT"] = "Current block has no parent"; // untranslated
367
378
  Blockly.Msg["OPEN_TRASH"] = "Open trash"; // untranslated
368
379
  Blockly.Msg["OPTION_KEY"] = "⌥ Option"; // untranslated
369
380
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
370
381
  Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down"; // untranslated
371
382
  Blockly.Msg["PAGE_UP_KEY"] = "Page Up"; // untranslated
383
+ Blockly.Msg["PARENT_BLOCKS_ANNOUNCEMENT"] = "Parent blocks: %1"; // untranslated
372
384
  Blockly.Msg["PASTE_SHORTCUT"] = "Paste"; // untranslated
373
385
  Blockly.Msg["PAUSE_KEY"] = "Pause"; // untranslated
374
386
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements"; // untranslated
@@ -403,6 +415,8 @@ Blockly.Msg["REMOVE_COMMENT"] = "Verwyder kommentaar";
403
415
  Blockly.Msg["RENAME_VARIABLE"] = "Hernoem veranderlike...";
404
416
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Hernoem al %1 veranderlikes na:";
405
417
  Blockly.Msg["RESET_ZOOM"] = "Reset zoom"; // untranslated
418
+ Blockly.Msg["SCREENREADER_MODE_DISABLED"] = "Screenreader mode is off, press %1 to turn it on"; // untranslated
419
+ Blockly.Msg["SCREENREADER_MODE_ENABLED"] = "Screenreader mode is on, press %1 to turn it off"; // untranslated
406
420
  Blockly.Msg["SHIFT_KEY"] = "Shift"; // untranslated
407
421
  Blockly.Msg["SHORTCUTS_ABORT_MOVE"] = "Abort move"; // untranslated
408
422
  Blockly.Msg["SHORTCUTS_CLEANUP"] = "Clean up workspace"; // untranslated
@@ -412,6 +426,7 @@ Blockly.Msg["SHORTCUTS_DISCONNECT"] = "Disconnect block"; // untranslated
412
426
  Blockly.Msg["SHORTCUTS_DUPLICATE"] = "Duplicate"; // untranslated
413
427
  Blockly.Msg["SHORTCUTS_EDITING"] = "Editing"; // untranslated
414
428
  Blockly.Msg["SHORTCUTS_ESCAPE"] = "Exit"; // untranslated
429
+ Blockly.Msg["SHORTCUTS_EXTENDED_INFORMATION"] = "Announce detailed information"; // untranslated
415
430
  Blockly.Msg["SHORTCUTS_FINISH_MOVE"] = "Finish move"; // untranslated
416
431
  Blockly.Msg["SHORTCUTS_FOCUS_TOOLBOX"] = "Focus toolbox"; // untranslated
417
432
  Blockly.Msg["SHORTCUTS_FOCUS_WORKSPACE"] = "Focus workspace"; // untranslated
@@ -428,6 +443,7 @@ Blockly.Msg["SHORTCUTS_SHOW_CONTEXT_MENU"] = "Show menu"; // untranslated
428
443
  Blockly.Msg["SHORTCUTS_SHOW_TOOLTIP"] = "Show tooltip"; // untranslated
429
444
  Blockly.Msg["SHORTCUTS_START_MOVE"] = "Start move"; // untranslated
430
445
  Blockly.Msg["SHORTCUTS_START_MOVE_STACK"] = "Start move stack"; // untranslated
446
+ Blockly.Msg["SHORTCUTS_TOGGLE_SCREENREADER_MODE"] = "Toggle screenreader mode"; // untranslated
431
447
  Blockly.Msg["SPACE_KEY"] = "Space"; // untranslated
432
448
  Blockly.Msg["TAB_KEY"] = "Tab"; // untranslated
433
449
  Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification"; // untranslated
package/msg/af.mjs CHANGED
@@ -467,6 +467,7 @@ export const {
467
467
  SHORTCUTS_FOCUS_WORKSPACE,
468
468
  SHORTCUTS_FOCUS_TOOLBOX,
469
469
  SHORTCUTS_INFORMATION,
470
+ SHORTCUTS_EXTENDED_INFORMATION,
470
471
  SHORTCUTS_DISCONNECT,
471
472
  SHORTCUTS_NEXT_STACK,
472
473
  SHORTCUTS_PREVIOUS_STACK,
@@ -474,6 +475,7 @@ export const {
474
475
  SHORTCUTS_DUPLICATE,
475
476
  SHORTCUTS_CLEANUP,
476
477
  SHORTCUTS_SHOW_TOOLTIP,
478
+ SHORTCUTS_TOGGLE_SCREENREADER_MODE,
477
479
  KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT,
478
480
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
479
481
  KEYBOARD_NAV_COPIED_HINT,
@@ -497,17 +499,23 @@ export const {
497
499
  BLOCK_LABEL_REPLACEABLE,
498
500
  BLOCK_LABEL_HAS_INPUT,
499
501
  BLOCK_LABEL_HAS_INPUTS,
502
+ BLOCK_LABEL_HAS_BRANCHES,
500
503
  BLOCK_LABEL_STATEMENT,
501
504
  BLOCK_LABEL_CONTAINER,
502
505
  BLOCK_LABEL_VALUE,
503
506
  BLOCK_LABEL_STACK_BLOCKS,
504
507
  INPUT_LABEL_INDEX,
508
+ INPUT_LABEL_VALUE,
509
+ INPUT_LABEL_STATEMENT,
510
+ INPUT_LABEL_END_STATEMENT,
511
+ INPUT_LABEL_EMPTY,
505
512
  ANNOUNCE_MOVE_WORKSPACE,
506
513
  ANNOUNCE_MOVE_BEFORE,
507
514
  ANNOUNCE_MOVE_AFTER,
508
515
  ANNOUNCE_MOVE_INSIDE,
509
516
  ANNOUNCE_MOVE_AROUND,
510
517
  ANNOUNCE_MOVE_TO,
518
+ ANNOUNCE_MOVE_OF,
511
519
  ANNOUNCE_MOVE_CANCELED,
512
520
  FIELD_LABEL_EMPTY,
513
521
  ARIA_TYPE_FIELD_INPUT,
@@ -537,4 +545,12 @@ export const {
537
545
  ICON_LABEL_MUTATOR_OPEN,
538
546
  ICON_LABEL_WARNING_CLOSED,
539
547
  ICON_LABEL_WARNING_OPEN,
548
+ ARIA_LABEL_COMMENT,
549
+ ARIA_LABEL_COMMENT_COLLAPSE,
550
+ ARIA_LABEL_COMMENT_EXPAND,
551
+ SCREENREADER_MODE_ENABLED,
552
+ SCREENREADER_MODE_DISABLED,
553
+ CURRENT_BLOCK_ANNOUNCEMENT,
554
+ PARENT_BLOCKS_ANNOUNCEMENT,
555
+ NO_PARENT_ANNOUNCEMENT,
540
556
  } = af;