blockly 13.0.0 → 13.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/README.md +42 -16
  2. package/blockly.min.js +1078 -1031
  3. package/blockly_compressed.js +945 -918
  4. package/blockly_compressed.js.map +1 -1
  5. package/blocks_compressed.js +85 -85
  6. package/blocks_compressed.js.map +1 -1
  7. package/core/block.d.ts +0 -8
  8. package/core/block_aria_composer.d.ts +13 -2
  9. package/core/block_svg.d.ts +13 -1
  10. package/core/blockly.d.ts +0 -4
  11. package/core/component_manager.d.ts +2 -0
  12. package/core/dragging/dragger.d.ts +5 -0
  13. package/core/field.d.ts +8 -2
  14. package/core/field_checkbox.d.ts +0 -1
  15. package/core/field_dropdown.d.ts +1 -1
  16. package/core/field_input.d.ts +0 -6
  17. package/core/field_label.d.ts +1 -0
  18. package/core/field_textinput.d.ts +0 -1
  19. package/core/field_variable.d.ts +0 -1
  20. package/core/gesture.d.ts +0 -7
  21. package/core/inputs/input.d.ts +0 -1
  22. package/core/procedures.d.ts +0 -1
  23. package/core/rendered_connection.d.ts +6 -0
  24. package/core/shortcut_items.d.ts +42 -1
  25. package/core/toolbox/collapsible_category.d.ts +2 -0
  26. package/core/trashcan.d.ts +2 -8
  27. package/core/utils/aria.d.ts +2 -2
  28. package/core/variable_map.d.ts +0 -7
  29. package/core/variable_model.d.ts +0 -6
  30. package/core/workspace.d.ts +0 -1
  31. package/core/workspace_focus_target.d.ts +46 -0
  32. package/core/workspace_svg.d.ts +36 -4
  33. package/core/zoom_controls.d.ts +0 -46
  34. package/dart_compressed.js +23 -23
  35. package/javascript_compressed.js +26 -26
  36. package/lua_compressed.js +41 -41
  37. package/msg/ab.js +22 -2
  38. package/msg/ab.mjs +20 -0
  39. package/msg/ace.js +22 -2
  40. package/msg/ace.mjs +20 -0
  41. package/msg/af.js +22 -2
  42. package/msg/af.mjs +20 -0
  43. package/msg/am.js +22 -2
  44. package/msg/am.mjs +20 -0
  45. package/msg/ar.js +30 -10
  46. package/msg/ar.mjs +20 -0
  47. package/msg/ast.js +22 -2
  48. package/msg/ast.mjs +20 -0
  49. package/msg/az.js +22 -2
  50. package/msg/az.mjs +20 -0
  51. package/msg/ba.js +22 -2
  52. package/msg/ba.mjs +20 -0
  53. package/msg/bcc.js +22 -2
  54. package/msg/bcc.mjs +20 -0
  55. package/msg/be-tarask.js +22 -2
  56. package/msg/be-tarask.mjs +20 -0
  57. package/msg/be.js +22 -2
  58. package/msg/be.mjs +20 -0
  59. package/msg/bg.js +24 -4
  60. package/msg/bg.mjs +20 -0
  61. package/msg/bn.js +22 -2
  62. package/msg/bn.mjs +20 -0
  63. package/msg/br.js +22 -2
  64. package/msg/br.mjs +20 -0
  65. package/msg/bs.js +22 -2
  66. package/msg/bs.mjs +20 -0
  67. package/msg/ca.js +27 -7
  68. package/msg/ca.mjs +20 -0
  69. package/msg/ce.js +22 -2
  70. package/msg/ce.mjs +20 -0
  71. package/msg/cs.js +22 -2
  72. package/msg/cs.mjs +20 -0
  73. package/msg/csb.js +22 -2
  74. package/msg/csb.mjs +20 -0
  75. package/msg/da.js +22 -2
  76. package/msg/da.mjs +20 -0
  77. package/msg/de.js +22 -2
  78. package/msg/de.mjs +20 -0
  79. package/msg/diq.js +22 -2
  80. package/msg/diq.mjs +20 -0
  81. package/msg/dtp.js +22 -2
  82. package/msg/dtp.mjs +20 -0
  83. package/msg/dty.js +22 -2
  84. package/msg/dty.mjs +20 -0
  85. package/msg/ee.js +22 -2
  86. package/msg/ee.mjs +20 -0
  87. package/msg/el.js +22 -2
  88. package/msg/el.mjs +20 -0
  89. package/msg/en-gb.js +22 -2
  90. package/msg/en-gb.mjs +20 -0
  91. package/msg/en.js +22 -2
  92. package/msg/en.mjs +20 -0
  93. package/msg/eo.js +22 -2
  94. package/msg/eo.mjs +20 -0
  95. package/msg/es.js +22 -2
  96. package/msg/es.mjs +20 -0
  97. package/msg/et.js +22 -2
  98. package/msg/et.mjs +20 -0
  99. package/msg/eu.js +22 -2
  100. package/msg/eu.mjs +20 -0
  101. package/msg/fa.js +22 -2
  102. package/msg/fa.mjs +20 -0
  103. package/msg/fi.js +22 -2
  104. package/msg/fi.mjs +20 -0
  105. package/msg/fo.js +22 -2
  106. package/msg/fo.mjs +20 -0
  107. package/msg/fr.js +24 -4
  108. package/msg/fr.mjs +20 -0
  109. package/msg/frr.js +22 -2
  110. package/msg/frr.mjs +20 -0
  111. package/msg/ga.js +238 -218
  112. package/msg/ga.mjs +20 -0
  113. package/msg/gl.js +184 -164
  114. package/msg/gl.mjs +20 -0
  115. package/msg/gn.js +22 -2
  116. package/msg/gn.mjs +20 -0
  117. package/msg/gor.js +22 -2
  118. package/msg/gor.mjs +20 -0
  119. package/msg/ha.js +22 -2
  120. package/msg/ha.mjs +20 -0
  121. package/msg/he.js +24 -4
  122. package/msg/he.mjs +20 -0
  123. package/msg/hi.js +22 -2
  124. package/msg/hi.mjs +20 -0
  125. package/msg/hr.js +22 -2
  126. package/msg/hr.mjs +20 -0
  127. package/msg/hrx.js +22 -2
  128. package/msg/hrx.mjs +20 -0
  129. package/msg/hsb.js +22 -2
  130. package/msg/hsb.mjs +20 -0
  131. package/msg/hu.js +32 -12
  132. package/msg/hu.mjs +20 -0
  133. package/msg/hy.js +22 -2
  134. package/msg/hy.mjs +20 -0
  135. package/msg/ia.js +22 -2
  136. package/msg/ia.mjs +20 -0
  137. package/msg/id.js +22 -2
  138. package/msg/id.mjs +20 -0
  139. package/msg/ig.js +22 -2
  140. package/msg/ig.mjs +20 -0
  141. package/msg/inh.js +22 -2
  142. package/msg/inh.mjs +20 -0
  143. package/msg/is.js +22 -2
  144. package/msg/is.mjs +20 -0
  145. package/msg/it.js +22 -2
  146. package/msg/it.mjs +20 -0
  147. package/msg/ja.js +22 -2
  148. package/msg/ja.mjs +20 -0
  149. package/msg/ka.js +22 -2
  150. package/msg/ka.mjs +20 -0
  151. package/msg/kab.js +22 -2
  152. package/msg/kab.mjs +20 -0
  153. package/msg/kbd-cyrl.js +22 -2
  154. package/msg/kbd-cyrl.mjs +20 -0
  155. package/msg/km.js +22 -2
  156. package/msg/km.mjs +20 -0
  157. package/msg/kn.js +22 -2
  158. package/msg/kn.mjs +20 -0
  159. package/msg/ko.js +23 -3
  160. package/msg/ko.mjs +20 -0
  161. package/msg/krc.js +22 -2
  162. package/msg/krc.mjs +20 -0
  163. package/msg/ksh.js +22 -2
  164. package/msg/ksh.mjs +20 -0
  165. package/msg/ku-latn.js +22 -2
  166. package/msg/ku-latn.mjs +20 -0
  167. package/msg/ky.js +22 -2
  168. package/msg/ky.mjs +20 -0
  169. package/msg/la.js +22 -2
  170. package/msg/la.mjs +20 -0
  171. package/msg/lb.js +27 -7
  172. package/msg/lb.mjs +20 -0
  173. package/msg/lki.js +22 -2
  174. package/msg/lki.mjs +20 -0
  175. package/msg/lo.js +22 -2
  176. package/msg/lo.mjs +20 -0
  177. package/msg/lrc.js +22 -2
  178. package/msg/lrc.mjs +20 -0
  179. package/msg/lt.js +22 -2
  180. package/msg/lt.mjs +20 -0
  181. package/msg/lv.js +22 -2
  182. package/msg/lv.mjs +20 -0
  183. package/msg/mg.js +22 -2
  184. package/msg/mg.mjs +20 -0
  185. package/msg/mk.js +22 -2
  186. package/msg/mk.mjs +20 -0
  187. package/msg/ml.js +22 -2
  188. package/msg/ml.mjs +20 -0
  189. package/msg/mnw.js +22 -2
  190. package/msg/mnw.mjs +20 -0
  191. package/msg/ms.js +22 -2
  192. package/msg/ms.mjs +20 -0
  193. package/msg/mt.js +22 -2
  194. package/msg/mt.mjs +20 -0
  195. package/msg/my.js +22 -2
  196. package/msg/my.mjs +20 -0
  197. package/msg/mzn.js +22 -2
  198. package/msg/mzn.mjs +20 -0
  199. package/msg/nb.js +22 -2
  200. package/msg/nb.mjs +20 -0
  201. package/msg/ne.js +22 -2
  202. package/msg/ne.mjs +20 -0
  203. package/msg/nl.js +150 -130
  204. package/msg/nl.mjs +20 -0
  205. package/msg/oc.js +22 -2
  206. package/msg/oc.mjs +20 -0
  207. package/msg/olo.js +22 -2
  208. package/msg/olo.mjs +20 -0
  209. package/msg/pa.js +22 -2
  210. package/msg/pa.mjs +20 -0
  211. package/msg/pl.js +22 -2
  212. package/msg/pl.mjs +20 -0
  213. package/msg/pms.js +116 -96
  214. package/msg/pms.mjs +20 -0
  215. package/msg/ps.js +22 -2
  216. package/msg/ps.mjs +20 -0
  217. package/msg/pt-br.js +22 -2
  218. package/msg/pt-br.mjs +20 -0
  219. package/msg/pt.js +22 -2
  220. package/msg/pt.mjs +20 -0
  221. package/msg/ro.js +22 -2
  222. package/msg/ro.mjs +20 -0
  223. package/msg/ru.js +22 -2
  224. package/msg/ru.mjs +20 -0
  225. package/msg/sc.js +22 -2
  226. package/msg/sc.mjs +20 -0
  227. package/msg/sco.js +22 -2
  228. package/msg/sco.mjs +20 -0
  229. package/msg/sd.js +22 -2
  230. package/msg/sd.mjs +20 -0
  231. package/msg/shn.js +22 -2
  232. package/msg/shn.mjs +20 -0
  233. package/msg/si.js +22 -2
  234. package/msg/si.mjs +20 -0
  235. package/msg/sk.js +235 -215
  236. package/msg/sk.mjs +20 -0
  237. package/msg/skr-arab.js +22 -2
  238. package/msg/skr-arab.mjs +20 -0
  239. package/msg/sl.js +22 -2
  240. package/msg/sl.mjs +20 -0
  241. package/msg/smn.js +22 -2
  242. package/msg/smn.mjs +20 -0
  243. package/msg/sq.js +22 -2
  244. package/msg/sq.mjs +20 -0
  245. package/msg/sr-latn.js +22 -2
  246. package/msg/sr-latn.mjs +20 -0
  247. package/msg/sr.js +22 -2
  248. package/msg/sr.mjs +20 -0
  249. package/msg/sv.js +22 -2
  250. package/msg/sv.mjs +20 -0
  251. package/msg/sw.js +22 -2
  252. package/msg/sw.mjs +20 -0
  253. package/msg/ta.js +22 -2
  254. package/msg/ta.mjs +20 -0
  255. package/msg/tcy.js +22 -2
  256. package/msg/tcy.mjs +20 -0
  257. package/msg/tdd.js +22 -2
  258. package/msg/tdd.mjs +20 -0
  259. package/msg/te.js +22 -2
  260. package/msg/te.mjs +20 -0
  261. package/msg/th.js +22 -2
  262. package/msg/th.mjs +20 -0
  263. package/msg/ti.js +22 -2
  264. package/msg/ti.mjs +20 -0
  265. package/msg/tl.js +22 -2
  266. package/msg/tl.mjs +20 -0
  267. package/msg/tlh.js +22 -2
  268. package/msg/tlh.mjs +20 -0
  269. package/msg/tr.js +36 -16
  270. package/msg/tr.mjs +20 -0
  271. package/msg/ug-arab.js +22 -2
  272. package/msg/ug-arab.mjs +20 -0
  273. package/msg/uk.js +22 -2
  274. package/msg/uk.mjs +20 -0
  275. package/msg/ur.js +22 -2
  276. package/msg/ur.mjs +20 -0
  277. package/msg/uz.js +22 -2
  278. package/msg/uz.mjs +20 -0
  279. package/msg/vi.js +22 -2
  280. package/msg/vi.mjs +20 -0
  281. package/msg/xmf.js +22 -2
  282. package/msg/xmf.mjs +20 -0
  283. package/msg/yo.js +22 -2
  284. package/msg/yo.mjs +20 -0
  285. package/msg/zgh.js +22 -2
  286. package/msg/zgh.mjs +20 -0
  287. package/msg/zh-hans.js +62 -42
  288. package/msg/zh-hans.mjs +20 -0
  289. package/msg/zh-hant.js +22 -2
  290. package/msg/zh-hant.mjs +20 -0
  291. package/package.json +12 -12
  292. package/php_compressed.js +21 -21
  293. package/python_compressed.js +27 -27
package/msg/zgh.js CHANGED
@@ -77,6 +77,7 @@ Blockly.Msg["CHANGE_VALUE_TITLE"] = "ⵙⵏⴼⵍ ⴰⵣⴰⵍ:";
77
77
  Blockly.Msg["CHROME_OS"] = "ChromeOS"; // untranslated
78
78
  Blockly.Msg["CLEAN_UP"] = "Clean up Blocks"; // untranslated
79
79
  Blockly.Msg["CLOSE"] = "Close"; // untranslated
80
+ Blockly.Msg["CLOSE_BACKPACK"] = "Close backpack"; // untranslated
80
81
  Blockly.Msg["COLLAPSED_WARNINGS_WARNING"] = "Collapsed blocks contain warnings."; // untranslated
81
82
  Blockly.Msg["COLLAPSE_ALL"] = "Collapse Blocks"; // untranslated
82
83
  Blockly.Msg["COLLAPSE_BLOCK"] = "Collapse Block"; // untranslated
@@ -132,7 +133,9 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "ⴰⵍⵙ ⴰⴷⴷⴰⴳ";
132
133
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then do some statements."; // untranslated
133
134
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "ⴽⵓⴷ ⵉⴷⵜⵜⴰ ⵡⴰⵣⴰⵍ, ⵙⵙⵍⴽⵎ ⴽⵔⴰ ⵏ ⵡⴰⵏⴰⴹⵏ.";
134
135
  Blockly.Msg["CONTROL_KEY"] = "Control"; // untranslated
136
+ Blockly.Msg["COPY_ALL_TO_BACKPACK"] = "Copy All Blocks to Backpack"; // untranslated
135
137
  Blockly.Msg["COPY_SHORTCUT"] = "Copy"; // untranslated
138
+ Blockly.Msg["COPY_TO_BACKPACK"] = "Copy to Backpack"; // untranslated
136
139
  Blockly.Msg["CURRENT_BLOCK_ANNOUNCEMENT"] = "Current block: %1"; // untranslated
137
140
  Blockly.Msg["CUT_SHORTCUT"] = "Cut"; // untranslated
138
141
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "ⴽⴽⵙ %1 ⵉⴱⵍⵓⴽⵏ ⵎⴰⵕⵕⴰ?";
@@ -147,6 +150,7 @@ Blockly.Msg["DISABLE_BLOCK"] = "Disable Block"; // untranslated
147
150
  Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicate"; // untranslated
148
151
  Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment"; // untranslated
149
152
  Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents"; // untranslated
153
+ Blockly.Msg["EMPTY_BACKPACK"] = "Empty Backpack"; // untranslated
150
154
  Blockly.Msg["ENABLE_BLOCK"] = "Enable Block"; // untranslated
151
155
  Blockly.Msg["END_KEY"] = "End"; // untranslated
152
156
  Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
@@ -154,12 +158,16 @@ Blockly.Msg["ESCAPE"] = "Escape"; // untranslated
154
158
  Blockly.Msg["EXPAND_ALL"] = "Expand Blocks"; // untranslated
155
159
  Blockly.Msg["EXPAND_BLOCK"] = "Expand Block"; // untranslated
156
160
  Blockly.Msg["EXTERNAL_INPUTS"] = "External Inputs"; // untranslated
161
+ Blockly.Msg["FIELD_BITMAP_BUTTON_LABEL_CLEAR"] = "Clear"; // untranslated
162
+ Blockly.Msg["FIELD_BITMAP_BUTTON_LABEL_RANDOMIZE"] = "Randomize"; // untranslated
157
163
  Blockly.Msg["FIELD_LABEL_CHECKBOX_CHECKED"] = "Checked"; // untranslated
158
164
  Blockly.Msg["FIELD_LABEL_CHECKBOX_UNCHECKED"] = "Not checked"; // untranslated
159
165
  Blockly.Msg["FIELD_LABEL_EDIT_PREFIX"] = "Edit %1"; // untranslated
160
166
  Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty"; // untranslated
161
167
  Blockly.Msg["FIELD_LABEL_OPTION_INDEX"] = "Option %1"; // untranslated
162
168
  Blockly.Msg["FIELD_LABEL_VARIABLE"] = "Variable '%1'"; // untranslated
169
+ Blockly.Msg["FIELD_MULTILINEINPUT_FINISH_EDITING"] = "Finish editing"; // untranslated
170
+ Blockly.Msg["FIELD_MULTILINEINPUT_NEW_LINE"] = "New line"; // untranslated
163
171
  Blockly.Msg["HELP"] = "ⵜⵉⵡⵉⵙⵉ";
164
172
  Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls."; // untranslated
165
173
  Blockly.Msg["HOME_KEY"] = "Home"; // untranslated
@@ -461,6 +469,7 @@ Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number."; /
461
469
  Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian)."; // untranslated
462
470
  Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian)."; // untranslated
463
471
  Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian)."; // untranslated
472
+ Blockly.Msg["MINIMAP_ARIA_LABEL"] = "Workspace minimap. Use the arrow keys to pan the workspace."; // untranslated
464
473
  Blockly.Msg["MOVE_BLOCK"] = "Move Block"; // untranslated
465
474
  Blockly.Msg["NEW_COLOUR_VARIABLE"] = "ⵙⵏⵓⵍⴼⵓ ⴰⵎⵙⴽⵉⵍ ⵏ ⵓⴽⵍⵓ...";
466
475
  Blockly.Msg["NEW_NUMBER_VARIABLE"] = "ⵙⵏⵓⵍⴼⵓ ⴰⵎⵙⴽⵉⵍ ⴰⵏⵎⴹⴰⵏ...";
@@ -469,12 +478,14 @@ Blockly.Msg["NEW_VARIABLE"] = "ⵙⴽⵔ ⴰⵎⵙⴽⵉⵍ...";
469
478
  Blockly.Msg["NEW_VARIABLE_TITLE"] = "ⵉⵙⵎ ⵏ ⵓⵎⵙⴽⵉⵍ ⴰⵎⴰⵢⵏⵓ:";
470
479
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "ⴰⵏⴰⵡ ⴰⵎⴰⵢⵏⵓ ⵏ ⵓⵎⵙⴽⵉⵍ:";
471
480
  Blockly.Msg["NO_PARENT_ANNOUNCEMENT"] = "Current block has no parent"; // untranslated
481
+ Blockly.Msg["OPEN_BACKPACK"] = "Open backpack"; // untranslated
472
482
  Blockly.Msg["OPEN_TRASH"] = "Open trash"; // untranslated
473
483
  Blockly.Msg["OPTION_KEY"] = "Option"; // untranslated
474
484
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
475
485
  Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down"; // untranslated
476
486
  Blockly.Msg["PAGE_UP_KEY"] = "Page Up"; // untranslated
477
487
  Blockly.Msg["PARENT_BLOCKS_ANNOUNCEMENT"] = "Parent blocks: %1"; // untranslated
488
+ Blockly.Msg["PASTE_ALL_FROM_BACKPACK"] = "Paste All Blocks from Backpack"; // untranslated
478
489
  Blockly.Msg["PASTE_SHORTCUT"] = "Paste"; // untranslated
479
490
  Blockly.Msg["PAUSE_KEY"] = "Pause"; // untranslated
480
491
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements"; // untranslated
@@ -506,6 +517,7 @@ Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs"; // untranslated
506
517
  Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function."; // untranslated
507
518
  Blockly.Msg["REDO"] = "ⴰⵍⵙ";
508
519
  Blockly.Msg["REMOVE_COMMENT"] = "ⴽⴽⵙ ⴰⵅⴼⴰⵡⴰⵍ";
520
+ Blockly.Msg["REMOVE_FROM_BACKPACK"] = "Remove from Backpack"; // untranslated
509
521
  Blockly.Msg["RENAME_VARIABLE"] = "ⵙⵏⴼⵍ ⵉⵙⵎ ⵏ ⵓⵎⵙⴽⵉⵍ...";
510
522
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "ⵙⵏⴼⵍ ⵉⵎⵙⴽⵉⵍⵏ ⴰⴽⴽ '%1' ⵖⵔ:";
511
523
  Blockly.Msg["RESET_ZOOM"] = "Reset zoom"; // untranslated
@@ -527,6 +539,12 @@ Blockly.Msg["SHORTCUTS_FOCUS_TOOLBOX"] = "Focus toolbox"; // untranslated
527
539
  Blockly.Msg["SHORTCUTS_FOCUS_WORKSPACE"] = "Focus workspace"; // untranslated
528
540
  Blockly.Msg["SHORTCUTS_GENERAL"] = "General"; // untranslated
529
541
  Blockly.Msg["SHORTCUTS_INFORMATION"] = "Announce information"; // untranslated
542
+ Blockly.Msg["SHORTCUTS_JUMP_BLOCK_END"] = "Jump to block end"; // untranslated
543
+ Blockly.Msg["SHORTCUTS_JUMP_BLOCK_START"] = "Jump to block start"; // untranslated
544
+ Blockly.Msg["SHORTCUTS_JUMP_BOTTOM_STACK"] = "Jump to bottom of stack"; // untranslated
545
+ Blockly.Msg["SHORTCUTS_JUMP_FIRST_BLOCK"] = "Jump to first block"; // untranslated
546
+ Blockly.Msg["SHORTCUTS_JUMP_LAST_BLOCK"] = "Jump to last block"; // untranslated
547
+ Blockly.Msg["SHORTCUTS_JUMP_TOP_STACK"] = "Jump to top of stack"; // untranslated
530
548
  Blockly.Msg["SHORTCUTS_MOVE_DOWN"] = "Move down"; // untranslated
531
549
  Blockly.Msg["SHORTCUTS_MOVE_LEFT"] = "Move left"; // untranslated
532
550
  Blockly.Msg["SHORTCUTS_MOVE_RIGHT"] = "Move right"; // untranslated
@@ -635,13 +653,15 @@ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ONE"] = "One stack of blocks%2 in workspa
635
653
  Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ZERO"] = "No blocks%2 in workspace."; // untranslated
636
654
  Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_MANY"] = " and %1 comments"; // untranslated
637
655
  Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_ONE"] = " and one comment"; // untranslated
638
- Blockly.Msg["WORKSPACE_LABEL_1_STACK"] = "Blocks workspace. 1 stack of blocks"; // untranslated
656
+ Blockly.Msg["WORKSPACE_LABEL_1_STACK"] = "1 stack of blocks"; // untranslated
639
657
  Blockly.Msg["WORKSPACE_LABEL_FLYOUT_WORKSPACE"] = "%1 blocks"; // untranslated
640
- Blockly.Msg["WORKSPACE_LABEL_MANY_STACKS"] = "Blocks workspace. %1 stacks of blocks"; // untranslated
658
+ Blockly.Msg["WORKSPACE_LABEL_MANY_STACKS"] = "%1 stacks of blocks"; // untranslated
641
659
  Blockly.Msg["WORKSPACE_LABEL_MUTATOR_WORKSPACE"] = "Block editor workspace"; // untranslated
642
660
  Blockly.Msg["WORKSPACE_LABEL_PLAIN"] = "Blocks workspace."; // untranslated
661
+ Blockly.Msg["WORKSPACE_ROLEDESCRIPTION"] = "workspace"; // untranslated
643
662
  Blockly.Msg["ZOOM_IN"] = "Zoom in"; // untranslated
644
663
  Blockly.Msg["ZOOM_OUT"] = "Zoom out"; // untranslated
664
+ Blockly.Msg["ZOOM_TO_FIT_ARIA_LABEL"] = "Zoom to fit"; // untranslated
645
665
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
646
666
  Blockly.Msg["CONTROLS_FOR_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
647
667
  Blockly.Msg["CONTROLS_IF_ELSEIF_TITLE_ELSEIF"] = Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"];
package/msg/zgh.mjs CHANGED
@@ -511,11 +511,18 @@ export const {
511
511
  SHORTCUTS_CLEANUP,
512
512
  SHORTCUTS_SHOW_TOOLTIP,
513
513
  SHORTCUTS_TOGGLE_SCREENREADER_MODE,
514
+ SHORTCUTS_JUMP_BLOCK_START,
515
+ SHORTCUTS_JUMP_BLOCK_END,
516
+ SHORTCUTS_JUMP_TOP_STACK,
517
+ SHORTCUTS_JUMP_BOTTOM_STACK,
518
+ SHORTCUTS_JUMP_FIRST_BLOCK,
519
+ SHORTCUTS_JUMP_LAST_BLOCK,
514
520
  KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT,
515
521
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
516
522
  KEYBOARD_NAV_COPIED_HINT,
517
523
  KEYBOARD_NAV_CUT_HINT,
518
524
  WORKSPACE_LABEL_PLAIN,
525
+ WORKSPACE_ROLEDESCRIPTION,
519
526
  WORKSPACE_LABEL_1_STACK,
520
527
  WORKSPACE_LABEL_MANY_STACKS,
521
528
  WORKSPACE_LABEL_MUTATOR_WORKSPACE,
@@ -653,4 +660,17 @@ export const {
653
660
  ARIA_TYPE_FIELD_COLOUR,
654
661
  ARIA_TYPE_FIELD_BITMAP,
655
662
  ARIA_TYPE_FIELD_GRID,
663
+ FIELD_BITMAP_BUTTON_LABEL_RANDOMIZE,
664
+ FIELD_BITMAP_BUTTON_LABEL_CLEAR,
665
+ OPEN_BACKPACK,
666
+ CLOSE_BACKPACK,
667
+ COPY_ALL_TO_BACKPACK,
668
+ COPY_TO_BACKPACK,
669
+ EMPTY_BACKPACK,
670
+ PASTE_ALL_FROM_BACKPACK,
671
+ REMOVE_FROM_BACKPACK,
672
+ FIELD_MULTILINEINPUT_FINISH_EDITING,
673
+ FIELD_MULTILINEINPUT_NEW_LINE,
674
+ ZOOM_TO_FIT_ARIA_LABEL,
675
+ MINIMAP_ARIA_LABEL,
656
676
  } = zgh;
package/msg/zh-hans.js CHANGED
@@ -28,24 +28,24 @@ Blockly.Msg["ANNOUNCE_MOVE_OF"] = "%1 of %2"; // untranslated
28
28
  Blockly.Msg["ANNOUNCE_MOVE_TO"] = "Moving %1 to %2."; // untranslated
29
29
  Blockly.Msg["ANNOUNCE_MOVE_WORKSPACE"] = "Moving %1 on workspace."; // untranslated
30
30
  Blockly.Msg["ARIA_LABEL_ADD_ELSE_IF"] = "Add else if"; // untranslated
31
- Blockly.Msg["ARIA_LABEL_ADD_INPUT"] = "Add input"; // untranslated
31
+ Blockly.Msg["ARIA_LABEL_ADD_INPUT"] = "添加输入";
32
32
  Blockly.Msg["ARIA_LABEL_ADD_LIST_ITEM"] = "Add list item"; // untranslated
33
- Blockly.Msg["ARIA_LABEL_ADD_TEXT"] = "Add text"; // untranslated
33
+ Blockly.Msg["ARIA_LABEL_ADD_TEXT"] = "添加文字";
34
34
  Blockly.Msg["ARIA_LABEL_BUTTON"] = "button"; // untranslated
35
35
  Blockly.Msg["ARIA_LABEL_COMMENT"] = "Comment"; // untranslated
36
36
  Blockly.Msg["ARIA_LABEL_COMMENT_COLLAPSE"] = "Collapse Comment"; // untranslated
37
37
  Blockly.Msg["ARIA_LABEL_COMMENT_EXPAND"] = "Expand Comment"; // untranslated
38
- Blockly.Msg["ARIA_LABEL_FIELD_ANGLE"] = "%1 degrees"; // untranslated
38
+ Blockly.Msg["ARIA_LABEL_FIELD_ANGLE"] = "%1";
39
39
  Blockly.Msg["ARIA_LABEL_HEADING"] = "heading"; // untranslated
40
40
  Blockly.Msg["ARIA_LABEL_REMOVE_ELSE_IF"] = "Remove else if"; // untranslated
41
- Blockly.Msg["ARIA_LABEL_REMOVE_INPUT"] = "Remove input"; // untranslated
42
- Blockly.Msg["ARIA_LABEL_REMOVE_LIST_ITEM"] = "Remove list item"; // untranslated
43
- Blockly.Msg["ARIA_LABEL_REMOVE_TEXT"] = "Remove text"; // untranslated
44
- Blockly.Msg["ARIA_TYPE_FIELD_ANGLE"] = "angle"; // untranslated
41
+ Blockly.Msg["ARIA_LABEL_REMOVE_INPUT"] = "删除输入";
42
+ Blockly.Msg["ARIA_LABEL_REMOVE_LIST_ITEM"] = "移除列表中的项目";
43
+ Blockly.Msg["ARIA_LABEL_REMOVE_TEXT"] = "删除文字";
44
+ Blockly.Msg["ARIA_TYPE_FIELD_ANGLE"] = "角度";
45
45
  Blockly.Msg["ARIA_TYPE_FIELD_BITMAP"] = "pixel image"; // untranslated
46
46
  Blockly.Msg["ARIA_TYPE_FIELD_CHECKBOX"] = "checkbox"; // untranslated
47
- Blockly.Msg["ARIA_TYPE_FIELD_COLOUR"] = "color"; // untranslated
48
- Blockly.Msg["ARIA_TYPE_FIELD_DATE"] = "date"; // untranslated
47
+ Blockly.Msg["ARIA_TYPE_FIELD_COLOUR"] = "颜色";
48
+ Blockly.Msg["ARIA_TYPE_FIELD_DATE"] = "日期";
49
49
  Blockly.Msg["ARIA_TYPE_FIELD_DROPDOWN"] = "dropdown"; // untranslated
50
50
  Blockly.Msg["ARIA_TYPE_FIELD_GRID"] = "grid dropdown"; // untranslated
51
51
  Blockly.Msg["ARIA_TYPE_FIELD_IMAGE"] = "image"; // untranslated
@@ -54,7 +54,7 @@ Blockly.Msg["ARIA_TYPE_FIELD_NUMBER"] = "number"; // untranslated
54
54
  Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT"] = "text"; // untranslated
55
55
  Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT"] = "input name"; // untranslated
56
56
  Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE"] = "function name"; // untranslated
57
- Blockly.Msg["BACKSPACE_KEY"] = "Backspace"; // untranslated
57
+ Blockly.Msg["BACKSPACE_KEY"] = "退格";
58
58
  Blockly.Msg["BLOCK_LABEL_BEGIN_PREFIX"] = "Begin %1"; // untranslated
59
59
  Blockly.Msg["BLOCK_LABEL_BEGIN_STACK"] = "Begin stack"; // untranslated
60
60
  Blockly.Msg["BLOCK_LABEL_COLLAPSED"] = "collapsed"; // untranslated
@@ -77,6 +77,7 @@ Blockly.Msg["CHANGE_VALUE_TITLE"] = "更改值:";
77
77
  Blockly.Msg["CHROME_OS"] = "ChromeOS";
78
78
  Blockly.Msg["CLEAN_UP"] = "整理块";
79
79
  Blockly.Msg["CLOSE"] = "关闭";
80
+ Blockly.Msg["CLOSE_BACKPACK"] = "Close backpack"; // untranslated
80
81
  Blockly.Msg["COLLAPSED_WARNINGS_WARNING"] = "已收起的信息块内包含警告。";
81
82
  Blockly.Msg["COLLAPSE_ALL"] = "折叠块";
82
83
  Blockly.Msg["COLLAPSE_BLOCK"] = "折叠块";
@@ -97,7 +98,7 @@ Blockly.Msg["COLOUR_RGB_HELPURL"] = "https://www.december.com/html/spec/colorper
97
98
  Blockly.Msg["COLOUR_RGB_RED"] = "红色";
98
99
  Blockly.Msg["COLOUR_RGB_TITLE"] = "颜色";
99
100
  Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "通过指定红色、绿色和蓝色的量创建一种颜色。所有的值必须在0和100之间。";
100
- Blockly.Msg["COMMAND_KEY"] = "Command";
101
+ Blockly.Msg["COMMAND_KEY"] = "Command";
101
102
  Blockly.Msg["CONTEXT_MENU_KEY"] = "≣ Menu"; // untranslated
102
103
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks"; // untranslated
103
104
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "跳出循环";
@@ -131,8 +132,10 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "重复直到条件满足";
131
132
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "当条件满足时重复";
132
133
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "只要值为假,就一直循环执行一些语句。";
133
134
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "只要值为真,就一直循环执行一些语句。";
134
- Blockly.Msg["CONTROL_KEY"] = "Ctrl";
135
+ Blockly.Msg["CONTROL_KEY"] = "Ctrl";
136
+ Blockly.Msg["COPY_ALL_TO_BACKPACK"] = "Copy All Blocks to Backpack"; // untranslated
135
137
  Blockly.Msg["COPY_SHORTCUT"] = "复制";
138
+ Blockly.Msg["COPY_TO_BACKPACK"] = "Copy to Backpack"; // untranslated
136
139
  Blockly.Msg["CURRENT_BLOCK_ANNOUNCEMENT"] = "Current block: %1"; // untranslated
137
140
  Blockly.Msg["CUT_SHORTCUT"] = "剪切";
138
141
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "删除所有 %1 个块吗?";
@@ -147,21 +150,26 @@ Blockly.Msg["DISABLE_BLOCK"] = "禁用块";
147
150
  Blockly.Msg["DUPLICATE_BLOCK"] = "复制";
148
151
  Blockly.Msg["DUPLICATE_COMMENT"] = "复制注释";
149
152
  Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "编辑块内容";
153
+ Blockly.Msg["EMPTY_BACKPACK"] = "Empty Backpack"; // untranslated
150
154
  Blockly.Msg["ENABLE_BLOCK"] = "启用块";
151
155
  Blockly.Msg["END_KEY"] = "End"; // untranslated
152
156
  Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
153
- Blockly.Msg["ESCAPE"] = "Escape"; // untranslated
157
+ Blockly.Msg["ESCAPE"] = "Esc";
154
158
  Blockly.Msg["EXPAND_ALL"] = "展开块";
155
159
  Blockly.Msg["EXPAND_BLOCK"] = "展开块";
156
160
  Blockly.Msg["EXTERNAL_INPUTS"] = "外部输入";
161
+ Blockly.Msg["FIELD_BITMAP_BUTTON_LABEL_CLEAR"] = "Clear"; // untranslated
162
+ Blockly.Msg["FIELD_BITMAP_BUTTON_LABEL_RANDOMIZE"] = "Randomize"; // untranslated
157
163
  Blockly.Msg["FIELD_LABEL_CHECKBOX_CHECKED"] = "Checked"; // untranslated
158
164
  Blockly.Msg["FIELD_LABEL_CHECKBOX_UNCHECKED"] = "Not checked"; // untranslated
159
165
  Blockly.Msg["FIELD_LABEL_EDIT_PREFIX"] = "Edit %1"; // untranslated
160
166
  Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty"; // untranslated
161
167
  Blockly.Msg["FIELD_LABEL_OPTION_INDEX"] = "Option %1"; // untranslated
162
168
  Blockly.Msg["FIELD_LABEL_VARIABLE"] = "Variable '%1'"; // untranslated
169
+ Blockly.Msg["FIELD_MULTILINEINPUT_FINISH_EDITING"] = "Finish editing"; // untranslated
170
+ Blockly.Msg["FIELD_MULTILINEINPUT_NEW_LINE"] = "New line"; // untranslated
163
171
  Blockly.Msg["HELP"] = "帮助";
164
- Blockly.Msg["HELP_PROMPT"] = "按 %1 来获取有关键盘控制的帮助";
172
+ Blockly.Msg["HELP_PROMPT"] = "按 %1 来获取有关键盘控制的帮助。";
165
173
  Blockly.Msg["HOME_KEY"] = "Home"; // untranslated
166
174
  Blockly.Msg["ICON_LABEL_COMMENT_CLOSED"] = "Open Comment"; // untranslated
167
175
  Blockly.Msg["ICON_LABEL_COMMENT_OPEN"] = "Close Comment"; // untranslated
@@ -224,11 +232,11 @@ Blockly.Msg["INPUT_LABEL_VALUE_B"] = "second value"; // untranslated
224
232
  Blockly.Msg["INPUT_LABEL_VARIABLES_SET"] = "value to set"; // untranslated
225
233
  Blockly.Msg["INSERT_KEY"] = "Insert"; // untranslated
226
234
  Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use %1 to navigate inside of blocks."; // untranslated
227
- Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "使用箭头键移动,然后按%1接受位置";
235
+ Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "使用箭头键移动,然后按%1接受位置。";
228
236
  Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "已拷貝。按下 %1 貼上。";
229
237
  Blockly.Msg["KEYBOARD_NAV_CUT_HINT"] = "已剪下。按下 %1 貼上。";
230
238
  Blockly.Msg["KEYBOARD_NAV_FLYOUT_LABEL_HINT"] = "Use the arrow keys to navigate to a block, or press %1 to go to the next heading."; // untranslated
231
- Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "壓住 %1 並使用箭頭鍵來自由移動,然後按下 %2 接受位置";
239
+ Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "按住 %1 并使用箭头键来自由一点,然后按下 %2 接受位置。";
232
240
  Blockly.Msg["KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT"] = "Use the arrow keys to navigate."; // untranslated
233
241
  Blockly.Msg["LINUX"] = "Linux";
234
242
  Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-empty-list"; // untranslated
@@ -320,13 +328,13 @@ Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "false";
320
328
  Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Logic#values"; // untranslated
321
329
  Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "返回 true 或 false。";
322
330
  Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "true";
323
- Blockly.Msg["LOGIC_COMPARE_EQ_ARIA"] = "equals"; // untranslated
324
- Blockly.Msg["LOGIC_COMPARE_GTE_ARIA"] = "greater than or equal to"; // untranslated
325
- Blockly.Msg["LOGIC_COMPARE_GT_ARIA"] = "greater than"; // untranslated
331
+ Blockly.Msg["LOGIC_COMPARE_EQ_ARIA"] = "等于";
332
+ Blockly.Msg["LOGIC_COMPARE_GTE_ARIA"] = "大于等于";
333
+ Blockly.Msg["LOGIC_COMPARE_GT_ARIA"] = "大于";
326
334
  Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://zh.wikipedia.org/wiki/不等";
327
- Blockly.Msg["LOGIC_COMPARE_LTE_ARIA"] = "less than or equal to"; // untranslated
328
- Blockly.Msg["LOGIC_COMPARE_LT_ARIA"] = "less than"; // untranslated
329
- Blockly.Msg["LOGIC_COMPARE_NEQ_ARIA"] = "not equals"; // untranslated
335
+ Blockly.Msg["LOGIC_COMPARE_LTE_ARIA"] = "小于等于";
336
+ Blockly.Msg["LOGIC_COMPARE_LT_ARIA"] = "小于";
337
+ Blockly.Msg["LOGIC_COMPARE_NEQ_ARIA"] = "不等于";
330
338
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "如果两个输入结果相等,则返回真。";
331
339
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "如果第一个输入结果比第二个大,则返回真。";
332
340
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "如果第一个输入结果大于或等于第二个输入结果,则返回真。";
@@ -351,7 +359,7 @@ Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "如果为 true";
351
359
  Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "检查“断言”里的条件语句。如果条件为真,则返回“如果为真”的值,否则,则返回“如果为假”的值。";
352
360
  Blockly.Msg["MAC_OS"] = "macOS";
353
361
  Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+"; // untranslated
354
- Blockly.Msg["MATH_ADDITION_SYMBOL_ARIA"] = "plus"; // untranslated
362
+ Blockly.Msg["MATH_ADDITION_SYMBOL_ARIA"] = "加上";
355
363
  Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://zh.wikipedia.org/wiki/算术";
356
364
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "返回两个数的和。";
357
365
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "返回两个数的商。";
@@ -364,19 +372,19 @@ Blockly.Msg["MATH_ATAN2_TOOLTIP"] = "返回点(X,Y)的反正切值,范
364
372
  Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://zh.wikipedia.org/wiki/加法";
365
373
  Blockly.Msg["MATH_CHANGE_TITLE"] = "给 %1 加 %2";
366
374
  Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "把数加到变量“%1”。";
367
- Blockly.Msg["MATH_CONSTANT_E_ARIA"] = "e"; // untranslated
375
+ Blockly.Msg["MATH_CONSTANT_E_ARIA"] = "e";
368
376
  Blockly.Msg["MATH_CONSTANT_GOLDEN_RATIO_ARIA"] = "golden ratio"; // untranslated
369
377
  Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://zh.wikipedia.org/wiki/数学常数";
370
- Blockly.Msg["MATH_CONSTANT_INFINITY_ARIA"] = "infinity"; // untranslated
371
- Blockly.Msg["MATH_CONSTANT_PI_ARIA"] = "pi"; // untranslated
372
- Blockly.Msg["MATH_CONSTANT_SQRT1_2_ARIA"] = "square root of 1 over 2"; // untranslated
373
- Blockly.Msg["MATH_CONSTANT_SQRT2_ARIA"] = "square root of 2"; // untranslated
378
+ Blockly.Msg["MATH_CONSTANT_INFINITY_ARIA"] = "无限";
379
+ Blockly.Msg["MATH_CONSTANT_PI_ARIA"] = "";
380
+ Blockly.Msg["MATH_CONSTANT_SQRT1_2_ARIA"] = "根号二分之一";
381
+ Blockly.Msg["MATH_CONSTANT_SQRT2_ARIA"] = "根号二";
374
382
  Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "返回一个以下常见常数:π (3.141…)、e (2.718…)、φ (1.618…)、根号2 (1.414…)、根号½ (0.707…)或∞ (无穷)。";
375
383
  Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)"; // untranslated
376
384
  Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "将 %1 限制在 最低 %2 到最高 %3 之间";
377
385
  Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "把一个数限制在指定的极限(含)之间。";
378
386
  Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷"; // untranslated
379
- Blockly.Msg["MATH_DIVISION_SYMBOL_ARIA"] = "divided by"; // untranslated
387
+ Blockly.Msg["MATH_DIVISION_SYMBOL_ARIA"] = "除以";
380
388
  Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "可整除被";
381
389
  Blockly.Msg["MATH_IS_EVEN"] = "是偶数";
382
390
  Blockly.Msg["MATH_IS_NEGATIVE"] = "是负数";
@@ -389,7 +397,7 @@ Blockly.Msg["MATH_MODULO_HELPURL"] = "https://zh.wikipedia.org/wiki/模除";
389
397
  Blockly.Msg["MATH_MODULO_TITLE"] = "%1 ÷ %2 的余数";
390
398
  Blockly.Msg["MATH_MODULO_TOOLTIP"] = "返回两个数相除的余数。";
391
399
  Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×"; // untranslated
392
- Blockly.Msg["MATH_MULTIPLICATION_SYMBOL_ARIA"] = "times"; // untranslated
400
+ Blockly.Msg["MATH_MULTIPLICATION_SYMBOL_ARIA"] = "乘以";
393
401
  Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://zh.wikipedia.org/wiki/数";
394
402
  Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "一个数。";
395
403
  Blockly.Msg["MATH_ONLIST_HELPURL"] = ""; // untranslated
@@ -426,11 +434,11 @@ Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "向上舍入";
426
434
  Blockly.Msg["MATH_ROUND_TOOLTIP"] = "数向上或向下取整。";
427
435
  Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://zh.wikipedia.org/wiki/平方根";
428
436
  Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "绝对值";
429
- Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE_ARIA"] = "absolute value"; // untranslated
437
+ Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE_ARIA"] = "绝对值";
430
438
  Blockly.Msg["MATH_SINGLE_OP_EXP_ARIA"] = "e to the power of"; // untranslated
431
439
  Blockly.Msg["MATH_SINGLE_OP_LN_ARIA"] = "natural logarithm"; // untranslated
432
440
  Blockly.Msg["MATH_SINGLE_OP_LOG10_ARIA"] = "base 10 logarithm"; // untranslated
433
- Blockly.Msg["MATH_SINGLE_OP_NEG_ARIA"] = "negative"; // untranslated
441
+ Blockly.Msg["MATH_SINGLE_OP_NEG_ARIA"] = "";
434
442
  Blockly.Msg["MATH_SINGLE_OP_POW10_ARIA"] = "10 to the power of"; // untranslated
435
443
  Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "平方根";
436
444
  Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "返回一个数的绝对值。";
@@ -441,7 +449,7 @@ Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "返回一个数的相反数。";
441
449
  Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "返回10的一个数次幂。";
442
450
  Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "返回一个数的平方根。";
443
451
  Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-"; // untranslated
444
- Blockly.Msg["MATH_SUBTRACTION_SYMBOL_ARIA"] = "minus"; // untranslated
452
+ Blockly.Msg["MATH_SUBTRACTION_SYMBOL_ARIA"] = "减去";
445
453
  Blockly.Msg["MATH_TRIG_ACOS"] = "反余弦";
446
454
  Blockly.Msg["MATH_TRIG_ACOS_ARIA"] = "inverse cosine"; // untranslated
447
455
  Blockly.Msg["MATH_TRIG_ASIN"] = "反正弦";
@@ -449,18 +457,19 @@ Blockly.Msg["MATH_TRIG_ASIN_ARIA"] = "inverse sine"; // untranslated
449
457
  Blockly.Msg["MATH_TRIG_ATAN"] = "反正切";
450
458
  Blockly.Msg["MATH_TRIG_ATAN_ARIA"] = "inverse tangent"; // untranslated
451
459
  Blockly.Msg["MATH_TRIG_COS"] = "余弦";
452
- Blockly.Msg["MATH_TRIG_COS_ARIA"] = "cosine"; // untranslated
460
+ Blockly.Msg["MATH_TRIG_COS_ARIA"] = "余弦";
453
461
  Blockly.Msg["MATH_TRIG_HELPURL"] = "https://zh.wikipedia.org/wiki/三角函数";
454
462
  Blockly.Msg["MATH_TRIG_SIN"] = "正弦";
455
- Blockly.Msg["MATH_TRIG_SIN_ARIA"] = "sine"; // untranslated
463
+ Blockly.Msg["MATH_TRIG_SIN_ARIA"] = "正弦";
456
464
  Blockly.Msg["MATH_TRIG_TAN"] = "正切";
457
- Blockly.Msg["MATH_TRIG_TAN_ARIA"] = "tangent"; // untranslated
465
+ Blockly.Msg["MATH_TRIG_TAN_ARIA"] = "正切";
458
466
  Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "返回一个数的反余弦。";
459
467
  Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "返回一个数的反正弦。";
460
468
  Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "返回一个数的反正切。";
461
469
  Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "返回角度(非弧度)的余弦。";
462
470
  Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "返回角度(非弧度)的正弦。";
463
471
  Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "返回角度(非弧度)的正切。";
472
+ Blockly.Msg["MINIMAP_ARIA_LABEL"] = "Workspace minimap. Use the arrow keys to pan the workspace."; // untranslated
464
473
  Blockly.Msg["MOVE_BLOCK"] = "移动块";
465
474
  Blockly.Msg["NEW_COLOUR_VARIABLE"] = "创建颜色变量...";
466
475
  Blockly.Msg["NEW_NUMBER_VARIABLE"] = "创建数变量...";
@@ -469,12 +478,14 @@ Blockly.Msg["NEW_VARIABLE"] = "创建变量...";
469
478
  Blockly.Msg["NEW_VARIABLE_TITLE"] = "新变量的名称:";
470
479
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "新变量的类型:";
471
480
  Blockly.Msg["NO_PARENT_ANNOUNCEMENT"] = "Current block has no parent"; // untranslated
481
+ Blockly.Msg["OPEN_BACKPACK"] = "Open backpack"; // untranslated
472
482
  Blockly.Msg["OPEN_TRASH"] = "Open trash"; // untranslated
473
- Blockly.Msg["OPTION_KEY"] = "Option";
483
+ Blockly.Msg["OPTION_KEY"] = "Option";
474
484
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
475
485
  Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down"; // untranslated
476
486
  Blockly.Msg["PAGE_UP_KEY"] = "Page Up"; // untranslated
477
487
  Blockly.Msg["PARENT_BLOCKS_ANNOUNCEMENT"] = "Parent blocks: %1"; // untranslated
488
+ Blockly.Msg["PASTE_ALL_FROM_BACKPACK"] = "Paste All Blocks from Backpack"; // untranslated
478
489
  Blockly.Msg["PASTE_SHORTCUT"] = "粘贴";
479
490
  Blockly.Msg["PAUSE_KEY"] = "Pause"; // untranslated
480
491
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "允许声明";
@@ -506,7 +517,8 @@ Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "输入";
506
517
  Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "添加、移除或重新排此函数的输入。";
507
518
  Blockly.Msg["REDO"] = "重做";
508
519
  Blockly.Msg["REMOVE_COMMENT"] = "删除注释";
509
- Blockly.Msg["RENAME_VARIABLE"] = "重命名变量...";
520
+ Blockly.Msg["REMOVE_FROM_BACKPACK"] = "Remove from Backpack"; // untranslated
521
+ Blockly.Msg["RENAME_VARIABLE"] = "重命名变量“%1”...";
510
522
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "将所有“%1”变量重命名为:";
511
523
  Blockly.Msg["RESET_ZOOM"] = "Reset zoom"; // untranslated
512
524
  Blockly.Msg["SCREENREADER_HINT"] = "Use the arrow keys to navigate. Press %1 to toggle screenreader accessibility mode."; // untranslated
@@ -527,6 +539,12 @@ Blockly.Msg["SHORTCUTS_FOCUS_TOOLBOX"] = "Focus toolbox"; // untranslated
527
539
  Blockly.Msg["SHORTCUTS_FOCUS_WORKSPACE"] = "Focus workspace"; // untranslated
528
540
  Blockly.Msg["SHORTCUTS_GENERAL"] = "常规";
529
541
  Blockly.Msg["SHORTCUTS_INFORMATION"] = "Announce information"; // untranslated
542
+ Blockly.Msg["SHORTCUTS_JUMP_BLOCK_END"] = "Jump to block end"; // untranslated
543
+ Blockly.Msg["SHORTCUTS_JUMP_BLOCK_START"] = "Jump to block start"; // untranslated
544
+ Blockly.Msg["SHORTCUTS_JUMP_BOTTOM_STACK"] = "Jump to bottom of stack"; // untranslated
545
+ Blockly.Msg["SHORTCUTS_JUMP_FIRST_BLOCK"] = "Jump to first block"; // untranslated
546
+ Blockly.Msg["SHORTCUTS_JUMP_LAST_BLOCK"] = "Jump to last block"; // untranslated
547
+ Blockly.Msg["SHORTCUTS_JUMP_TOP_STACK"] = "Jump to top of stack"; // untranslated
530
548
  Blockly.Msg["SHORTCUTS_MOVE_DOWN"] = "Move down"; // untranslated
531
549
  Blockly.Msg["SHORTCUTS_MOVE_LEFT"] = "Move left"; // untranslated
532
550
  Blockly.Msg["SHORTCUTS_MOVE_RIGHT"] = "Move right"; // untranslated
@@ -541,7 +559,7 @@ Blockly.Msg["SHORTCUTS_SHOW_TOOLTIP"] = "Show tooltip"; // untranslated
541
559
  Blockly.Msg["SHORTCUTS_START_MOVE"] = "Start move"; // untranslated
542
560
  Blockly.Msg["SHORTCUTS_START_MOVE_STACK"] = "Start move stack"; // untranslated
543
561
  Blockly.Msg["SHORTCUTS_TOGGLE_SCREENREADER_MODE"] = "Toggle screenreader mode"; // untranslated
544
- Blockly.Msg["SPACE_KEY"] = "Space"; // untranslated
562
+ Blockly.Msg["SPACE_KEY"] = "空格";
545
563
  Blockly.Msg["TAB_KEY"] = "Tab"; // untranslated
546
564
  Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification"; // untranslated
547
565
  Blockly.Msg["TEXT_APPEND_TITLE"] = "在%1之后加上文本%2";
@@ -635,13 +653,15 @@ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ONE"] = "One stack of blocks%2 in workspa
635
653
  Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ZERO"] = "No blocks%2 in workspace."; // untranslated
636
654
  Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_MANY"] = " and %1 comments"; // untranslated
637
655
  Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_ONE"] = " and one comment"; // untranslated
638
- Blockly.Msg["WORKSPACE_LABEL_1_STACK"] = "Blocks workspace. 1 stack of blocks"; // untranslated
656
+ Blockly.Msg["WORKSPACE_LABEL_1_STACK"] = "1 stack of blocks"; // untranslated
639
657
  Blockly.Msg["WORKSPACE_LABEL_FLYOUT_WORKSPACE"] = "%1 blocks"; // untranslated
640
- Blockly.Msg["WORKSPACE_LABEL_MANY_STACKS"] = "Blocks workspace. %1 stacks of blocks"; // untranslated
658
+ Blockly.Msg["WORKSPACE_LABEL_MANY_STACKS"] = "%1 stacks of blocks"; // untranslated
641
659
  Blockly.Msg["WORKSPACE_LABEL_MUTATOR_WORKSPACE"] = "Block editor workspace"; // untranslated
642
- Blockly.Msg["WORKSPACE_LABEL_PLAIN"] = "Blocks workspace."; // untranslated
660
+ Blockly.Msg["WORKSPACE_LABEL_PLAIN"] = "Blocks工作区。";
661
+ Blockly.Msg["WORKSPACE_ROLEDESCRIPTION"] = "workspace"; // untranslated
643
662
  Blockly.Msg["ZOOM_IN"] = "Zoom in"; // untranslated
644
663
  Blockly.Msg["ZOOM_OUT"] = "Zoom out"; // untranslated
664
+ Blockly.Msg["ZOOM_TO_FIT_ARIA_LABEL"] = "Zoom to fit"; // untranslated
645
665
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
646
666
  Blockly.Msg["CONTROLS_FOR_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
647
667
  Blockly.Msg["CONTROLS_IF_ELSEIF_TITLE_ELSEIF"] = Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"];
package/msg/zh-hans.mjs CHANGED
@@ -511,11 +511,18 @@ export const {
511
511
  SHORTCUTS_CLEANUP,
512
512
  SHORTCUTS_SHOW_TOOLTIP,
513
513
  SHORTCUTS_TOGGLE_SCREENREADER_MODE,
514
+ SHORTCUTS_JUMP_BLOCK_START,
515
+ SHORTCUTS_JUMP_BLOCK_END,
516
+ SHORTCUTS_JUMP_TOP_STACK,
517
+ SHORTCUTS_JUMP_BOTTOM_STACK,
518
+ SHORTCUTS_JUMP_FIRST_BLOCK,
519
+ SHORTCUTS_JUMP_LAST_BLOCK,
514
520
  KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT,
515
521
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
516
522
  KEYBOARD_NAV_COPIED_HINT,
517
523
  KEYBOARD_NAV_CUT_HINT,
518
524
  WORKSPACE_LABEL_PLAIN,
525
+ WORKSPACE_ROLEDESCRIPTION,
519
526
  WORKSPACE_LABEL_1_STACK,
520
527
  WORKSPACE_LABEL_MANY_STACKS,
521
528
  WORKSPACE_LABEL_MUTATOR_WORKSPACE,
@@ -653,4 +660,17 @@ export const {
653
660
  ARIA_TYPE_FIELD_COLOUR,
654
661
  ARIA_TYPE_FIELD_BITMAP,
655
662
  ARIA_TYPE_FIELD_GRID,
663
+ FIELD_BITMAP_BUTTON_LABEL_RANDOMIZE,
664
+ FIELD_BITMAP_BUTTON_LABEL_CLEAR,
665
+ OPEN_BACKPACK,
666
+ CLOSE_BACKPACK,
667
+ COPY_ALL_TO_BACKPACK,
668
+ COPY_TO_BACKPACK,
669
+ EMPTY_BACKPACK,
670
+ PASTE_ALL_FROM_BACKPACK,
671
+ REMOVE_FROM_BACKPACK,
672
+ FIELD_MULTILINEINPUT_FINISH_EDITING,
673
+ FIELD_MULTILINEINPUT_NEW_LINE,
674
+ ZOOM_TO_FIT_ARIA_LABEL,
675
+ MINIMAP_ARIA_LABEL,
656
676
  } = zh_hans;
package/msg/zh-hant.js CHANGED
@@ -77,6 +77,7 @@ Blockly.Msg["CHANGE_VALUE_TITLE"] = "修改值:";
77
77
  Blockly.Msg["CHROME_OS"] = "ChromeOS";
78
78
  Blockly.Msg["CLEAN_UP"] = "清理區塊";
79
79
  Blockly.Msg["CLOSE"] = "關閉";
80
+ Blockly.Msg["CLOSE_BACKPACK"] = "Close backpack"; // untranslated
80
81
  Blockly.Msg["COLLAPSED_WARNINGS_WARNING"] = "收合含有警告的區塊。";
81
82
  Blockly.Msg["COLLAPSE_ALL"] = "收合區塊";
82
83
  Blockly.Msg["COLLAPSE_BLOCK"] = "收合區塊";
@@ -132,7 +133,9 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "重複,當";
132
133
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "當值為 false 時,執行一些陳述式。";
133
134
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "當值為 true 時,執行一些陳述式。";
134
135
  Blockly.Msg["CONTROL_KEY"] = "Ctrl";
136
+ Blockly.Msg["COPY_ALL_TO_BACKPACK"] = "Copy All Blocks to Backpack"; // untranslated
135
137
  Blockly.Msg["COPY_SHORTCUT"] = "拷貝";
138
+ Blockly.Msg["COPY_TO_BACKPACK"] = "Copy to Backpack"; // untranslated
136
139
  Blockly.Msg["CURRENT_BLOCK_ANNOUNCEMENT"] = "Current block: %1"; // untranslated
137
140
  Blockly.Msg["CUT_SHORTCUT"] = "剪下";
138
141
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "刪除全部 %1 個區塊?";
@@ -147,6 +150,7 @@ Blockly.Msg["DISABLE_BLOCK"] = "停用區塊";
147
150
  Blockly.Msg["DUPLICATE_BLOCK"] = "再製";
148
151
  Blockly.Msg["DUPLICATE_COMMENT"] = "複製註解";
149
152
  Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "編輯區塊內容";
153
+ Blockly.Msg["EMPTY_BACKPACK"] = "Empty Backpack"; // untranslated
150
154
  Blockly.Msg["ENABLE_BLOCK"] = "啟用區塊";
151
155
  Blockly.Msg["END_KEY"] = "End"; // untranslated
152
156
  Blockly.Msg["ENTER_KEY"] = "Enter"; // untranslated
@@ -154,12 +158,16 @@ Blockly.Msg["ESCAPE"] = "Escape"; // untranslated
154
158
  Blockly.Msg["EXPAND_ALL"] = "展開區塊";
155
159
  Blockly.Msg["EXPAND_BLOCK"] = "展開區塊";
156
160
  Blockly.Msg["EXTERNAL_INPUTS"] = "外部輸入";
161
+ Blockly.Msg["FIELD_BITMAP_BUTTON_LABEL_CLEAR"] = "Clear"; // untranslated
162
+ Blockly.Msg["FIELD_BITMAP_BUTTON_LABEL_RANDOMIZE"] = "Randomize"; // untranslated
157
163
  Blockly.Msg["FIELD_LABEL_CHECKBOX_CHECKED"] = "Checked"; // untranslated
158
164
  Blockly.Msg["FIELD_LABEL_CHECKBOX_UNCHECKED"] = "Not checked"; // untranslated
159
165
  Blockly.Msg["FIELD_LABEL_EDIT_PREFIX"] = "Edit %1"; // untranslated
160
166
  Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty"; // untranslated
161
167
  Blockly.Msg["FIELD_LABEL_OPTION_INDEX"] = "Option %1"; // untranslated
162
168
  Blockly.Msg["FIELD_LABEL_VARIABLE"] = "Variable '%1'"; // untranslated
169
+ Blockly.Msg["FIELD_MULTILINEINPUT_FINISH_EDITING"] = "Finish editing"; // untranslated
170
+ Blockly.Msg["FIELD_MULTILINEINPUT_NEW_LINE"] = "New line"; // untranslated
163
171
  Blockly.Msg["HELP"] = "說明";
164
172
  Blockly.Msg["HELP_PROMPT"] = "按下 %1 取得鍵盤控制說明";
165
173
  Blockly.Msg["HOME_KEY"] = "Home"; // untranslated
@@ -461,6 +469,7 @@ Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "返回指定數字的反正切值。";
461
469
  Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "返回指定角度的餘弦值(非弧度)。";
462
470
  Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "返回指定角度的正弦值(非弧度)。";
463
471
  Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "返回指定角度的正切值(非弧度)。";
472
+ Blockly.Msg["MINIMAP_ARIA_LABEL"] = "Workspace minimap. Use the arrow keys to pan the workspace."; // untranslated
464
473
  Blockly.Msg["MOVE_BLOCK"] = "移動區塊";
465
474
  Blockly.Msg["NEW_COLOUR_VARIABLE"] = "建立顏色變數…";
466
475
  Blockly.Msg["NEW_NUMBER_VARIABLE"] = "建立數值變數……";
@@ -469,12 +478,14 @@ Blockly.Msg["NEW_VARIABLE"] = "建立變數…";
469
478
  Blockly.Msg["NEW_VARIABLE_TITLE"] = "新變數名稱:";
470
479
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "新變數類型:";
471
480
  Blockly.Msg["NO_PARENT_ANNOUNCEMENT"] = "Current block has no parent"; // untranslated
481
+ Blockly.Msg["OPEN_BACKPACK"] = "Open backpack"; // untranslated
472
482
  Blockly.Msg["OPEN_TRASH"] = "Open trash"; // untranslated
473
483
  Blockly.Msg["OPTION_KEY"] = "⌥ Option";
474
484
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
475
485
  Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down"; // untranslated
476
486
  Blockly.Msg["PAGE_UP_KEY"] = "Page Up"; // untranslated
477
487
  Blockly.Msg["PARENT_BLOCKS_ANNOUNCEMENT"] = "Parent blocks: %1"; // untranslated
488
+ Blockly.Msg["PASTE_ALL_FROM_BACKPACK"] = "Paste All Blocks from Backpack"; // untranslated
478
489
  Blockly.Msg["PASTE_SHORTCUT"] = "貼上";
479
490
  Blockly.Msg["PAUSE_KEY"] = "Pause"; // untranslated
480
491
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "允許陳述式";
@@ -506,6 +517,7 @@ Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "輸入";
506
517
  Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "添加、刪除或重新排列此函式的輸入。";
507
518
  Blockly.Msg["REDO"] = "重做";
508
519
  Blockly.Msg["REMOVE_COMMENT"] = "移除註解";
520
+ Blockly.Msg["REMOVE_FROM_BACKPACK"] = "Remove from Backpack"; // untranslated
509
521
  Blockly.Msg["RENAME_VARIABLE"] = "重新命名變數...";
510
522
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "將所有「%1」變數重新命名為:";
511
523
  Blockly.Msg["RESET_ZOOM"] = "Reset zoom"; // untranslated
@@ -527,6 +539,12 @@ Blockly.Msg["SHORTCUTS_FOCUS_TOOLBOX"] = "Focus toolbox"; // untranslated
527
539
  Blockly.Msg["SHORTCUTS_FOCUS_WORKSPACE"] = "Focus workspace"; // untranslated
528
540
  Blockly.Msg["SHORTCUTS_GENERAL"] = "一般";
529
541
  Blockly.Msg["SHORTCUTS_INFORMATION"] = "Announce information"; // untranslated
542
+ Blockly.Msg["SHORTCUTS_JUMP_BLOCK_END"] = "Jump to block end"; // untranslated
543
+ Blockly.Msg["SHORTCUTS_JUMP_BLOCK_START"] = "Jump to block start"; // untranslated
544
+ Blockly.Msg["SHORTCUTS_JUMP_BOTTOM_STACK"] = "Jump to bottom of stack"; // untranslated
545
+ Blockly.Msg["SHORTCUTS_JUMP_FIRST_BLOCK"] = "Jump to first block"; // untranslated
546
+ Blockly.Msg["SHORTCUTS_JUMP_LAST_BLOCK"] = "Jump to last block"; // untranslated
547
+ Blockly.Msg["SHORTCUTS_JUMP_TOP_STACK"] = "Jump to top of stack"; // untranslated
530
548
  Blockly.Msg["SHORTCUTS_MOVE_DOWN"] = "Move down"; // untranslated
531
549
  Blockly.Msg["SHORTCUTS_MOVE_LEFT"] = "Move left"; // untranslated
532
550
  Blockly.Msg["SHORTCUTS_MOVE_RIGHT"] = "Move right"; // untranslated
@@ -635,13 +653,15 @@ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ONE"] = "One stack of blocks%2 in workspa
635
653
  Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ZERO"] = "No blocks%2 in workspace."; // untranslated
636
654
  Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_MANY"] = " and %1 comments"; // untranslated
637
655
  Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_ONE"] = " and one comment"; // untranslated
638
- Blockly.Msg["WORKSPACE_LABEL_1_STACK"] = "Blocks workspace. 1 stack of blocks"; // untranslated
656
+ Blockly.Msg["WORKSPACE_LABEL_1_STACK"] = "1 stack of blocks"; // untranslated
639
657
  Blockly.Msg["WORKSPACE_LABEL_FLYOUT_WORKSPACE"] = "%1 blocks"; // untranslated
640
- Blockly.Msg["WORKSPACE_LABEL_MANY_STACKS"] = "Blocks workspace. %1 stacks of blocks"; // untranslated
658
+ Blockly.Msg["WORKSPACE_LABEL_MANY_STACKS"] = "%1 stacks of blocks"; // untranslated
641
659
  Blockly.Msg["WORKSPACE_LABEL_MUTATOR_WORKSPACE"] = "Block editor workspace"; // untranslated
642
660
  Blockly.Msg["WORKSPACE_LABEL_PLAIN"] = "Blocks workspace."; // untranslated
661
+ Blockly.Msg["WORKSPACE_ROLEDESCRIPTION"] = "workspace"; // untranslated
643
662
  Blockly.Msg["ZOOM_IN"] = "Zoom in"; // untranslated
644
663
  Blockly.Msg["ZOOM_OUT"] = "Zoom out"; // untranslated
664
+ Blockly.Msg["ZOOM_TO_FIT_ARIA_LABEL"] = "Zoom to fit"; // untranslated
645
665
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
646
666
  Blockly.Msg["CONTROLS_FOR_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
647
667
  Blockly.Msg["CONTROLS_IF_ELSEIF_TITLE_ELSEIF"] = Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"];
package/msg/zh-hant.mjs CHANGED
@@ -511,11 +511,18 @@ export const {
511
511
  SHORTCUTS_CLEANUP,
512
512
  SHORTCUTS_SHOW_TOOLTIP,
513
513
  SHORTCUTS_TOGGLE_SCREENREADER_MODE,
514
+ SHORTCUTS_JUMP_BLOCK_START,
515
+ SHORTCUTS_JUMP_BLOCK_END,
516
+ SHORTCUTS_JUMP_TOP_STACK,
517
+ SHORTCUTS_JUMP_BOTTOM_STACK,
518
+ SHORTCUTS_JUMP_FIRST_BLOCK,
519
+ SHORTCUTS_JUMP_LAST_BLOCK,
514
520
  KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT,
515
521
  KEYBOARD_NAV_CONSTRAINED_MOVE_HINT,
516
522
  KEYBOARD_NAV_COPIED_HINT,
517
523
  KEYBOARD_NAV_CUT_HINT,
518
524
  WORKSPACE_LABEL_PLAIN,
525
+ WORKSPACE_ROLEDESCRIPTION,
519
526
  WORKSPACE_LABEL_1_STACK,
520
527
  WORKSPACE_LABEL_MANY_STACKS,
521
528
  WORKSPACE_LABEL_MUTATOR_WORKSPACE,
@@ -653,4 +660,17 @@ export const {
653
660
  ARIA_TYPE_FIELD_COLOUR,
654
661
  ARIA_TYPE_FIELD_BITMAP,
655
662
  ARIA_TYPE_FIELD_GRID,
663
+ FIELD_BITMAP_BUTTON_LABEL_RANDOMIZE,
664
+ FIELD_BITMAP_BUTTON_LABEL_CLEAR,
665
+ OPEN_BACKPACK,
666
+ CLOSE_BACKPACK,
667
+ COPY_ALL_TO_BACKPACK,
668
+ COPY_TO_BACKPACK,
669
+ EMPTY_BACKPACK,
670
+ PASTE_ALL_FROM_BACKPACK,
671
+ REMOVE_FROM_BACKPACK,
672
+ FIELD_MULTILINEINPUT_FINISH_EDITING,
673
+ FIELD_MULTILINEINPUT_NEW_LINE,
674
+ ZOOM_TO_FIT_ARIA_LABEL,
675
+ MINIMAP_ARIA_LABEL,
656
676
  } = zh_hant;