blockly 13.0.0-beta.4 → 13.0.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/blockly.min.js +301 -190
  2. package/blockly_compressed.js +118 -102
  3. package/blockly_compressed.js.map +1 -1
  4. package/blocks_compressed.js +96 -86
  5. package/blocks_compressed.js.map +1 -1
  6. package/core/block_aria_composer.d.ts +4 -0
  7. package/core/dragging/block_drag_strategy.d.ts +8 -0
  8. package/core/flyout_button.d.ts +3 -1
  9. package/core/hints.d.ts +8 -0
  10. package/core/inputs/input.d.ts +5 -2
  11. package/core/shortcut_items.d.ts +10 -0
  12. package/core/toolbox/category.d.ts +6 -0
  13. package/core/workspace_svg.d.ts +5 -0
  14. package/msg/ab.js +87 -2
  15. package/msg/ab.mjs +85 -0
  16. package/msg/ace.js +87 -2
  17. package/msg/ace.mjs +85 -0
  18. package/msg/af.js +87 -2
  19. package/msg/af.mjs +85 -0
  20. package/msg/am.js +87 -2
  21. package/msg/am.mjs +85 -0
  22. package/msg/ar.js +87 -2
  23. package/msg/ar.mjs +85 -0
  24. package/msg/ast.js +87 -2
  25. package/msg/ast.mjs +85 -0
  26. package/msg/az.js +87 -2
  27. package/msg/az.mjs +85 -0
  28. package/msg/ba.js +87 -2
  29. package/msg/ba.mjs +85 -0
  30. package/msg/bcc.js +87 -2
  31. package/msg/bcc.mjs +85 -0
  32. package/msg/be-tarask.js +87 -2
  33. package/msg/be-tarask.mjs +85 -0
  34. package/msg/be.js +87 -2
  35. package/msg/be.mjs +85 -0
  36. package/msg/bg.js +87 -2
  37. package/msg/bg.mjs +85 -0
  38. package/msg/bn.js +87 -2
  39. package/msg/bn.mjs +85 -0
  40. package/msg/br.js +87 -2
  41. package/msg/br.mjs +85 -0
  42. package/msg/bs.js +87 -2
  43. package/msg/bs.mjs +85 -0
  44. package/msg/ca.js +87 -2
  45. package/msg/ca.mjs +85 -0
  46. package/msg/ce.js +87 -2
  47. package/msg/ce.mjs +85 -0
  48. package/msg/cs.js +87 -2
  49. package/msg/cs.mjs +85 -0
  50. package/msg/da.js +87 -2
  51. package/msg/da.mjs +85 -0
  52. package/msg/de.js +87 -2
  53. package/msg/de.mjs +85 -0
  54. package/msg/diq.js +87 -2
  55. package/msg/diq.mjs +85 -0
  56. package/msg/dtp.js +87 -2
  57. package/msg/dtp.mjs +85 -0
  58. package/msg/dty.js +87 -2
  59. package/msg/dty.mjs +85 -0
  60. package/msg/ee.js +87 -2
  61. package/msg/ee.mjs +85 -0
  62. package/msg/el.js +87 -2
  63. package/msg/el.mjs +85 -0
  64. package/msg/en-gb.js +87 -2
  65. package/msg/en-gb.mjs +85 -0
  66. package/msg/en.js +87 -2
  67. package/msg/en.mjs +85 -0
  68. package/msg/eo.js +87 -2
  69. package/msg/eo.mjs +85 -0
  70. package/msg/es.js +87 -2
  71. package/msg/es.mjs +85 -0
  72. package/msg/et.js +87 -2
  73. package/msg/et.mjs +85 -0
  74. package/msg/eu.js +87 -2
  75. package/msg/eu.mjs +85 -0
  76. package/msg/fa.js +87 -2
  77. package/msg/fa.mjs +85 -0
  78. package/msg/fi.js +87 -2
  79. package/msg/fi.mjs +85 -0
  80. package/msg/fo.js +87 -2
  81. package/msg/fo.mjs +85 -0
  82. package/msg/fr.js +87 -2
  83. package/msg/fr.mjs +85 -0
  84. package/msg/frr.js +87 -2
  85. package/msg/frr.mjs +85 -0
  86. package/msg/ga.js +87 -2
  87. package/msg/ga.mjs +85 -0
  88. package/msg/gl.js +87 -2
  89. package/msg/gl.mjs +85 -0
  90. package/msg/gn.js +87 -2
  91. package/msg/gn.mjs +85 -0
  92. package/msg/gor.js +87 -2
  93. package/msg/gor.mjs +85 -0
  94. package/msg/ha.js +87 -2
  95. package/msg/ha.mjs +85 -0
  96. package/msg/hak.js +87 -2
  97. package/msg/hak.mjs +85 -0
  98. package/msg/he.js +87 -2
  99. package/msg/he.mjs +85 -0
  100. package/msg/hi.js +87 -2
  101. package/msg/hi.mjs +85 -0
  102. package/msg/hr.js +87 -2
  103. package/msg/hr.mjs +85 -0
  104. package/msg/hrx.js +87 -2
  105. package/msg/hrx.mjs +85 -0
  106. package/msg/hsb.js +87 -2
  107. package/msg/hsb.mjs +85 -0
  108. package/msg/hu.js +87 -2
  109. package/msg/hu.mjs +85 -0
  110. package/msg/hy.js +87 -2
  111. package/msg/hy.mjs +85 -0
  112. package/msg/ia.js +87 -2
  113. package/msg/ia.mjs +85 -0
  114. package/msg/id.js +87 -2
  115. package/msg/id.mjs +85 -0
  116. package/msg/ig.js +87 -2
  117. package/msg/ig.mjs +85 -0
  118. package/msg/inh.js +87 -2
  119. package/msg/inh.mjs +85 -0
  120. package/msg/is.js +87 -2
  121. package/msg/is.mjs +85 -0
  122. package/msg/it.js +87 -2
  123. package/msg/it.mjs +85 -0
  124. package/msg/ja.js +87 -2
  125. package/msg/ja.mjs +85 -0
  126. package/msg/ka.js +87 -2
  127. package/msg/ka.mjs +85 -0
  128. package/msg/kab.js +87 -2
  129. package/msg/kab.mjs +85 -0
  130. package/msg/kbd-cyrl.js +87 -2
  131. package/msg/kbd-cyrl.mjs +85 -0
  132. package/msg/km.js +87 -2
  133. package/msg/km.mjs +85 -0
  134. package/msg/kn.js +87 -2
  135. package/msg/kn.mjs +85 -0
  136. package/msg/ko.js +87 -2
  137. package/msg/ko.mjs +85 -0
  138. package/msg/krc.js +87 -2
  139. package/msg/krc.mjs +85 -0
  140. package/msg/ksh.js +87 -2
  141. package/msg/ksh.mjs +85 -0
  142. package/msg/ku-latn.js +87 -2
  143. package/msg/ku-latn.mjs +85 -0
  144. package/msg/ky.js +87 -2
  145. package/msg/ky.mjs +85 -0
  146. package/msg/la.js +87 -2
  147. package/msg/la.mjs +85 -0
  148. package/msg/lb.js +87 -2
  149. package/msg/lb.mjs +85 -0
  150. package/msg/lki.js +87 -2
  151. package/msg/lki.mjs +85 -0
  152. package/msg/lo.js +87 -2
  153. package/msg/lo.mjs +85 -0
  154. package/msg/lrc.js +87 -2
  155. package/msg/lrc.mjs +85 -0
  156. package/msg/lt.js +87 -2
  157. package/msg/lt.mjs +85 -0
  158. package/msg/lv.js +87 -2
  159. package/msg/lv.mjs +85 -0
  160. package/msg/mg.js +87 -2
  161. package/msg/mg.mjs +85 -0
  162. package/msg/mk.js +87 -2
  163. package/msg/mk.mjs +85 -0
  164. package/msg/ml.js +87 -2
  165. package/msg/ml.mjs +85 -0
  166. package/msg/mnw.js +87 -2
  167. package/msg/mnw.mjs +85 -0
  168. package/msg/ms.js +87 -2
  169. package/msg/ms.mjs +85 -0
  170. package/msg/my.js +87 -2
  171. package/msg/my.mjs +85 -0
  172. package/msg/mzn.js +87 -2
  173. package/msg/mzn.mjs +85 -0
  174. package/msg/nb.js +87 -2
  175. package/msg/nb.mjs +85 -0
  176. package/msg/ne.js +87 -2
  177. package/msg/ne.mjs +85 -0
  178. package/msg/nl.js +87 -2
  179. package/msg/nl.mjs +85 -0
  180. package/msg/oc.js +87 -2
  181. package/msg/oc.mjs +85 -0
  182. package/msg/olo.js +87 -2
  183. package/msg/olo.mjs +85 -0
  184. package/msg/pa.js +87 -2
  185. package/msg/pa.mjs +85 -0
  186. package/msg/pl.js +87 -2
  187. package/msg/pl.mjs +85 -0
  188. package/msg/pms.js +87 -2
  189. package/msg/pms.mjs +85 -0
  190. package/msg/ps.js +87 -2
  191. package/msg/ps.mjs +85 -0
  192. package/msg/pt-br.js +87 -2
  193. package/msg/pt-br.mjs +85 -0
  194. package/msg/pt.js +87 -2
  195. package/msg/pt.mjs +85 -0
  196. package/msg/ro.js +87 -2
  197. package/msg/ro.mjs +85 -0
  198. package/msg/ru.js +87 -2
  199. package/msg/ru.mjs +85 -0
  200. package/msg/sc.js +87 -2
  201. package/msg/sc.mjs +85 -0
  202. package/msg/sco.js +87 -2
  203. package/msg/sco.mjs +85 -0
  204. package/msg/sd.js +87 -2
  205. package/msg/sd.mjs +85 -0
  206. package/msg/shn.js +87 -2
  207. package/msg/shn.mjs +85 -0
  208. package/msg/si.js +87 -2
  209. package/msg/si.mjs +85 -0
  210. package/msg/sk.js +87 -2
  211. package/msg/sk.mjs +85 -0
  212. package/msg/skr-arab.js +87 -2
  213. package/msg/skr-arab.mjs +85 -0
  214. package/msg/sl.js +87 -2
  215. package/msg/sl.mjs +85 -0
  216. package/msg/smn.js +87 -2
  217. package/msg/smn.mjs +85 -0
  218. package/msg/sq.js +87 -2
  219. package/msg/sq.mjs +85 -0
  220. package/msg/sr-latn.js +87 -2
  221. package/msg/sr-latn.mjs +85 -0
  222. package/msg/sr.js +87 -2
  223. package/msg/sr.mjs +85 -0
  224. package/msg/sv.js +87 -2
  225. package/msg/sv.mjs +85 -0
  226. package/msg/sw.js +87 -2
  227. package/msg/sw.mjs +85 -0
  228. package/msg/ta.js +87 -2
  229. package/msg/ta.mjs +85 -0
  230. package/msg/tcy.js +87 -2
  231. package/msg/tcy.mjs +85 -0
  232. package/msg/tdd.js +87 -2
  233. package/msg/tdd.mjs +85 -0
  234. package/msg/te.js +87 -2
  235. package/msg/te.mjs +85 -0
  236. package/msg/th.js +87 -2
  237. package/msg/th.mjs +85 -0
  238. package/msg/ti.js +87 -2
  239. package/msg/ti.mjs +85 -0
  240. package/msg/tl.js +87 -2
  241. package/msg/tl.mjs +85 -0
  242. package/msg/tlh.js +87 -2
  243. package/msg/tlh.mjs +85 -0
  244. package/msg/tr.js +87 -2
  245. package/msg/tr.mjs +85 -0
  246. package/msg/ug-arab.js +87 -2
  247. package/msg/ug-arab.mjs +85 -0
  248. package/msg/uk.js +87 -2
  249. package/msg/uk.mjs +85 -0
  250. package/msg/ur.js +87 -2
  251. package/msg/ur.mjs +85 -0
  252. package/msg/uz.js +87 -2
  253. package/msg/uz.mjs +85 -0
  254. package/msg/vi.js +87 -2
  255. package/msg/vi.mjs +85 -0
  256. package/msg/xmf.js +87 -2
  257. package/msg/xmf.mjs +85 -0
  258. package/msg/yo.js +87 -2
  259. package/msg/yo.mjs +85 -0
  260. package/msg/zgh.js +87 -2
  261. package/msg/zgh.mjs +85 -0
  262. package/msg/zh-hans.js +87 -2
  263. package/msg/zh-hans.mjs +85 -0
  264. package/msg/zh-hant.js +87 -2
  265. package/msg/zh-hant.mjs +85 -0
  266. package/package.json +2 -1
package/msg/zh-hans.js CHANGED
@@ -38,6 +38,8 @@ Blockly.Msg["ARIA_TYPE_FIELD_IMAGE"] = "image"; // untranslated
38
38
  Blockly.Msg["ARIA_TYPE_FIELD_INPUT"] = "input"; // untranslated
39
39
  Blockly.Msg["ARIA_TYPE_FIELD_NUMBER"] = "number"; // untranslated
40
40
  Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT"] = "text"; // untranslated
41
+ Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT"] = "input name"; // untranslated
42
+ Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE"] = "function name"; // untranslated
41
43
  Blockly.Msg["BACKSPACE_KEY"] = "Backspace"; // untranslated
42
44
  Blockly.Msg["BLOCK_LABEL_BEGIN_PREFIX"] = "Begin %1"; // untranslated
43
45
  Blockly.Msg["BLOCK_LABEL_BEGIN_STACK"] = "Begin stack"; // untranslated
@@ -49,7 +51,7 @@ Blockly.Msg["BLOCK_LABEL_HAS_INPUT"] = "has input"; // untranslated
49
51
  Blockly.Msg["BLOCK_LABEL_HAS_INPUTS"] = "has inputs"; // untranslated
50
52
  Blockly.Msg["BLOCK_LABEL_REPLACEABLE"] = "replaceable"; // untranslated
51
53
  Blockly.Msg["BLOCK_LABEL_STACK_BLOCKS"] = "%1 stack blocks"; // untranslated
52
- Blockly.Msg["BLOCK_LABEL_STATEMENT"] = "command"; // untranslated
54
+ Blockly.Msg["BLOCK_LABEL_STATEMENT"] = "statement"; // untranslated
53
55
  Blockly.Msg["BLOCK_LABEL_TOOLBOX_CATEGORY"] = "%1 category"; // untranslated
54
56
  Blockly.Msg["BLOCK_LABEL_VALUE"] = "value"; // untranslated
55
57
  Blockly.Msg["BUBBLE_LABEL_COMMENT"] = "Comment: %1"; // untranslated
@@ -155,16 +157,63 @@ Blockly.Msg["ICON_LABEL_MUTATOR_OPEN"] = "Close block editor"; // untranslated
155
157
  Blockly.Msg["ICON_LABEL_WARNING_CLOSED"] = "Open Warning"; // untranslated
156
158
  Blockly.Msg["ICON_LABEL_WARNING_OPEN"] = "Close Warning"; // untranslated
157
159
  Blockly.Msg["INLINE_INPUTS"] = "单行输入";
160
+ Blockly.Msg["INPUT_LABEL_CONDITION"] = "condition"; // untranslated
161
+ Blockly.Msg["INPUT_LABEL_CONDITION_A"] = "first condition"; // untranslated
162
+ Blockly.Msg["INPUT_LABEL_CONDITION_B"] = "second condition"; // untranslated
158
163
  Blockly.Msg["INPUT_LABEL_EMPTY"] = "Empty"; // untranslated
159
164
  Blockly.Msg["INPUT_LABEL_END_STATEMENT"] = "End %1"; // untranslated
160
165
  Blockly.Msg["INPUT_LABEL_INDEX"] = "input %1"; // untranslated
161
- Blockly.Msg["INPUT_LABEL_STATEMENT"] = "command position"; // untranslated
166
+ Blockly.Msg["INPUT_LABEL_LISTS_CREATE_WITH_ITEM"] = "value %1"; // untranslated
167
+ Blockly.Msg["INPUT_LABEL_LISTS_DELIMITER"] = "delimiter"; // untranslated
168
+ Blockly.Msg["INPUT_LABEL_LISTS_END_POSITION"] = "end position"; // untranslated
169
+ Blockly.Msg["INPUT_LABEL_LISTS_LIST_FROM_TEXT"] = "text to split"; // untranslated
170
+ Blockly.Msg["INPUT_LABEL_LISTS_POSITION"] = "position within list"; // untranslated
171
+ Blockly.Msg["INPUT_LABEL_LISTS_REPEAT_ITEM"] = "value to repeat"; // untranslated
172
+ Blockly.Msg["INPUT_LABEL_LISTS_REPEAT_NUM"] = "number of times to repeat"; // untranslated
173
+ Blockly.Msg["INPUT_LABEL_LISTS_START_POSITION"] = "start position"; // untranslated
174
+ Blockly.Msg["INPUT_LABEL_LISTS_TEXT_FROM_LIST"] = "list to join"; // untranslated
175
+ Blockly.Msg["INPUT_LABEL_LISTS_TO_CHANGE"] = "list to change"; // untranslated
176
+ Blockly.Msg["INPUT_LABEL_LISTS_TO_CHECK"] = "list to check"; // untranslated
177
+ Blockly.Msg["INPUT_LABEL_LISTS_VALUE_TO_SET"] = "value to set"; // untranslated
178
+ Blockly.Msg["INPUT_LABEL_LOOP_BY"] = "increment"; // untranslated
179
+ Blockly.Msg["INPUT_LABEL_LOOP_FROM"] = "starting number"; // untranslated
180
+ Blockly.Msg["INPUT_LABEL_LOOP_LIST"] = "list to iterate over"; // untranslated
181
+ Blockly.Msg["INPUT_LABEL_LOOP_TIMES"] = "number of times to repeat"; // untranslated
182
+ Blockly.Msg["INPUT_LABEL_LOOP_TO"] = "ending number"; // untranslated
183
+ Blockly.Msg["INPUT_LABEL_MATH_CHANGE_BY"] = "amount to change by"; // untranslated
184
+ Blockly.Msg["INPUT_LABEL_MATH_CONSTRAIN_VALUE"] = "number to constrain"; // untranslated
185
+ Blockly.Msg["INPUT_LABEL_MATH_DIVIDEND"] = "dividend"; // untranslated
186
+ Blockly.Msg["INPUT_LABEL_MATH_DIVISOR"] = "divisor"; // untranslated
187
+ Blockly.Msg["INPUT_LABEL_NUMBER"] = "number"; // untranslated
188
+ Blockly.Msg["INPUT_LABEL_NUMBER_A"] = "first number"; // untranslated
189
+ Blockly.Msg["INPUT_LABEL_NUMBER_ATAN2_X"] = "x coordinate"; // untranslated
190
+ Blockly.Msg["INPUT_LABEL_NUMBER_ATAN2_Y"] = "y coordinate"; // untranslated
191
+ Blockly.Msg["INPUT_LABEL_NUMBER_B"] = "second number"; // untranslated
192
+ Blockly.Msg["INPUT_LABEL_NUMBER_LIST"] = "list of numbers"; // untranslated
193
+ Blockly.Msg["INPUT_LABEL_NUMBER_MAX"] = "maximum"; // untranslated
194
+ Blockly.Msg["INPUT_LABEL_NUMBER_MIN"] = "minimum"; // untranslated
195
+ Blockly.Msg["INPUT_LABEL_NUMBER_TO_CHECK"] = "number to check"; // untranslated
196
+ Blockly.Msg["INPUT_LABEL_STATEMENT"] = "statement position"; // untranslated
197
+ Blockly.Msg["INPUT_LABEL_TEXT_APPEND"] = "value to append"; // untranslated
198
+ Blockly.Msg["INPUT_LABEL_TEXT_END_POSITION"] = "end position"; // untranslated
199
+ Blockly.Msg["INPUT_LABEL_TEXT_JOIN_ITEM"] = "value %1"; // untranslated
200
+ Blockly.Msg["INPUT_LABEL_TEXT_POSITION"] = "letter position"; // untranslated
201
+ Blockly.Msg["INPUT_LABEL_TEXT_PROMPT_MESSAGE"] = "message"; // untranslated
202
+ Blockly.Msg["INPUT_LABEL_TEXT_START_POSITION"] = "start position"; // untranslated
203
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_CHANGE"] = "text to change"; // untranslated
204
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_CHECK"] = "text to check"; // untranslated
205
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_FIND"] = "text to find"; // untranslated
206
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_REPLACE"] = "text to replace"; // untranslated
162
207
  Blockly.Msg["INPUT_LABEL_VALUE"] = "value position"; // untranslated
208
+ Blockly.Msg["INPUT_LABEL_VALUE_A"] = "first value"; // untranslated
209
+ Blockly.Msg["INPUT_LABEL_VALUE_B"] = "second value"; // untranslated
210
+ Blockly.Msg["INPUT_LABEL_VARIABLES_SET"] = "value to set"; // untranslated
163
211
  Blockly.Msg["INSERT_KEY"] = "Insert"; // untranslated
164
212
  Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use %1 to navigate inside of blocks."; // untranslated
165
213
  Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "使用箭头键移动,然后按%1接受位置";
166
214
  Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "已拷貝。按下 %1 貼上。";
167
215
  Blockly.Msg["KEYBOARD_NAV_CUT_HINT"] = "已剪下。按下 %1 貼上。";
216
+ 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
168
217
  Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "壓住 %1 並使用箭頭鍵來自由移動,然後按下 %2 接受位置";
169
218
  Blockly.Msg["KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT"] = "Use the arrow keys to navigate."; // untranslated
170
219
  Blockly.Msg["LINUX"] = "Linux";
@@ -257,7 +306,13 @@ Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "false";
257
306
  Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Logic#values"; // untranslated
258
307
  Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "返回 true 或 false。";
259
308
  Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "true";
309
+ Blockly.Msg["LOGIC_COMPARE_EQ_ARIA"] = "equals"; // untranslated
310
+ Blockly.Msg["LOGIC_COMPARE_GTE_ARIA"] = "greater than or equal to"; // untranslated
311
+ Blockly.Msg["LOGIC_COMPARE_GT_ARIA"] = "greater than"; // untranslated
260
312
  Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://zh.wikipedia.org/wiki/不等";
313
+ Blockly.Msg["LOGIC_COMPARE_LTE_ARIA"] = "less than or equal to"; // untranslated
314
+ Blockly.Msg["LOGIC_COMPARE_LT_ARIA"] = "less than"; // untranslated
315
+ Blockly.Msg["LOGIC_COMPARE_NEQ_ARIA"] = "not equals"; // untranslated
261
316
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "如果两个输入结果相等,则返回真。";
262
317
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "如果第一个输入结果比第二个大,则返回真。";
263
318
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "如果第一个输入结果大于或等于第二个输入结果,则返回真。";
@@ -282,6 +337,7 @@ Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "如果为 true";
282
337
  Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "检查“断言”里的条件语句。如果条件为真,则返回“如果为真”的值,否则,则返回“如果为假”的值。";
283
338
  Blockly.Msg["MAC_OS"] = "macOS";
284
339
  Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+"; // untranslated
340
+ Blockly.Msg["MATH_ADDITION_SYMBOL_ARIA"] = "plus"; // untranslated
285
341
  Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://zh.wikipedia.org/wiki/算术";
286
342
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "返回两个数的和。";
287
343
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "返回两个数的商。";
@@ -294,12 +350,19 @@ Blockly.Msg["MATH_ATAN2_TOOLTIP"] = "返回点(X,Y)的反正切值,范
294
350
  Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://zh.wikipedia.org/wiki/加法";
295
351
  Blockly.Msg["MATH_CHANGE_TITLE"] = "给 %1 加 %2";
296
352
  Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "把数加到变量“%1”。";
353
+ Blockly.Msg["MATH_CONSTANT_E_ARIA"] = "e"; // untranslated
354
+ Blockly.Msg["MATH_CONSTANT_GOLDEN_RATIO_ARIA"] = "golden ratio"; // untranslated
297
355
  Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://zh.wikipedia.org/wiki/数学常数";
356
+ Blockly.Msg["MATH_CONSTANT_INFINITY_ARIA"] = "infinity"; // untranslated
357
+ Blockly.Msg["MATH_CONSTANT_PI_ARIA"] = "pi"; // untranslated
358
+ Blockly.Msg["MATH_CONSTANT_SQRT1_2_ARIA"] = "square root of 1 over 2"; // untranslated
359
+ Blockly.Msg["MATH_CONSTANT_SQRT2_ARIA"] = "square root of 2"; // untranslated
298
360
  Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "返回一个以下常见常数:π (3.141…)、e (2.718…)、φ (1.618…)、根号2 (1.414…)、根号½ (0.707…)或∞ (无穷)。";
299
361
  Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)"; // untranslated
300
362
  Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "将 %1 限制在 最低 %2 到最高 %3 之间";
301
363
  Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "把一个数限制在指定的极限(含)之间。";
302
364
  Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷"; // untranslated
365
+ Blockly.Msg["MATH_DIVISION_SYMBOL_ARIA"] = "divided by"; // untranslated
303
366
  Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "可整除被";
304
367
  Blockly.Msg["MATH_IS_EVEN"] = "是偶数";
305
368
  Blockly.Msg["MATH_IS_NEGATIVE"] = "是负数";
@@ -312,13 +375,16 @@ Blockly.Msg["MATH_MODULO_HELPURL"] = "https://zh.wikipedia.org/wiki/模除";
312
375
  Blockly.Msg["MATH_MODULO_TITLE"] = "%1 ÷ %2 的余数";
313
376
  Blockly.Msg["MATH_MODULO_TOOLTIP"] = "返回两个数相除的余数。";
314
377
  Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×"; // untranslated
378
+ Blockly.Msg["MATH_MULTIPLICATION_SYMBOL_ARIA"] = "times"; // untranslated
315
379
  Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://zh.wikipedia.org/wiki/数";
316
380
  Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "一个数。";
317
381
  Blockly.Msg["MATH_ONLIST_HELPURL"] = ""; // untranslated
318
382
  Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "列表的平均";
319
383
  Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "列表的最大数";
384
+ Blockly.Msg["MATH_ONLIST_OPERATOR_MAX_ARIA"] = "maximum"; // untranslated
320
385
  Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "列表的中位数";
321
386
  Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "列表的最小数";
387
+ Blockly.Msg["MATH_ONLIST_OPERATOR_MIN_ARIA"] = "minimum"; // untranslated
322
388
  Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "列表的众数";
323
389
  Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "列表的随机项";
324
390
  Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "列表的标准差";
@@ -332,6 +398,7 @@ Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "返回列表内的一个随机元
332
398
  Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "返回列表的标准差。";
333
399
  Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "返回列表内的所有数的和。";
334
400
  Blockly.Msg["MATH_POWER_SYMBOL"] = "^"; // untranslated
401
+ Blockly.Msg["MATH_POWER_SYMBOL_ARIA"] = "to the power of"; // untranslated
335
402
  Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://zh.wikipedia.org/wiki/随机数生成器";
336
403
  Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "随机小数";
337
404
  Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "返回一个从0.0(含)到1.0(不含)之间的随机数。";
@@ -345,6 +412,12 @@ Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "向上舍入";
345
412
  Blockly.Msg["MATH_ROUND_TOOLTIP"] = "数向上或向下取整。";
346
413
  Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://zh.wikipedia.org/wiki/平方根";
347
414
  Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "绝对值";
415
+ Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE_ARIA"] = "absolute value"; // untranslated
416
+ Blockly.Msg["MATH_SINGLE_OP_EXP_ARIA"] = "e to the power of"; // untranslated
417
+ Blockly.Msg["MATH_SINGLE_OP_LN_ARIA"] = "natural logarithm"; // untranslated
418
+ Blockly.Msg["MATH_SINGLE_OP_LOG10_ARIA"] = "base 10 logarithm"; // untranslated
419
+ Blockly.Msg["MATH_SINGLE_OP_NEG_ARIA"] = "negative"; // untranslated
420
+ Blockly.Msg["MATH_SINGLE_OP_POW10_ARIA"] = "10 to the power of"; // untranslated
348
421
  Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "平方根";
349
422
  Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "返回一个数的绝对值。";
350
423
  Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "返回e的一个数次幂。";
@@ -354,13 +427,20 @@ Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "返回一个数的相反数。";
354
427
  Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "返回10的一个数次幂。";
355
428
  Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "返回一个数的平方根。";
356
429
  Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-"; // untranslated
430
+ Blockly.Msg["MATH_SUBTRACTION_SYMBOL_ARIA"] = "minus"; // untranslated
357
431
  Blockly.Msg["MATH_TRIG_ACOS"] = "反余弦";
432
+ Blockly.Msg["MATH_TRIG_ACOS_ARIA"] = "inverse cosine"; // untranslated
358
433
  Blockly.Msg["MATH_TRIG_ASIN"] = "反正弦";
434
+ Blockly.Msg["MATH_TRIG_ASIN_ARIA"] = "inverse sine"; // untranslated
359
435
  Blockly.Msg["MATH_TRIG_ATAN"] = "反正切";
436
+ Blockly.Msg["MATH_TRIG_ATAN_ARIA"] = "inverse tangent"; // untranslated
360
437
  Blockly.Msg["MATH_TRIG_COS"] = "余弦";
438
+ Blockly.Msg["MATH_TRIG_COS_ARIA"] = "cosine"; // untranslated
361
439
  Blockly.Msg["MATH_TRIG_HELPURL"] = "https://zh.wikipedia.org/wiki/三角函数";
362
440
  Blockly.Msg["MATH_TRIG_SIN"] = "正弦";
441
+ Blockly.Msg["MATH_TRIG_SIN_ARIA"] = "sine"; // untranslated
363
442
  Blockly.Msg["MATH_TRIG_TAN"] = "正切";
443
+ Blockly.Msg["MATH_TRIG_TAN_ARIA"] = "tangent"; // untranslated
364
444
  Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "返回一个数的反余弦。";
365
445
  Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "返回一个数的反正弦。";
366
446
  Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "返回一个数的反正切。";
@@ -415,6 +495,7 @@ Blockly.Msg["REMOVE_COMMENT"] = "删除注释";
415
495
  Blockly.Msg["RENAME_VARIABLE"] = "重命名变量...";
416
496
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "将所有“%1”变量重命名为:";
417
497
  Blockly.Msg["RESET_ZOOM"] = "Reset zoom"; // untranslated
498
+ Blockly.Msg["SCREENREADER_HINT"] = "Use the arrow keys to navigate. Press %1 to toggle screenreader accessibility mode."; // untranslated
418
499
  Blockly.Msg["SCREENREADER_MODE_DISABLED"] = "Screenreader mode is off, press %1 to turn it on"; // untranslated
419
500
  Blockly.Msg["SCREENREADER_MODE_ENABLED"] = "Screenreader mode is on, press %1 to turn it off"; // untranslated
420
501
  Blockly.Msg["SHIFT_KEY"] = "Shift"; // untranslated
@@ -436,8 +517,10 @@ Blockly.Msg["SHORTCUTS_MOVE_DOWN"] = "Move down"; // untranslated
436
517
  Blockly.Msg["SHORTCUTS_MOVE_LEFT"] = "Move left"; // untranslated
437
518
  Blockly.Msg["SHORTCUTS_MOVE_RIGHT"] = "Move right"; // untranslated
438
519
  Blockly.Msg["SHORTCUTS_MOVE_UP"] = "Move up"; // untranslated
520
+ Blockly.Msg["SHORTCUTS_NEXT_HEADING"] = "Next heading"; // untranslated
439
521
  Blockly.Msg["SHORTCUTS_NEXT_STACK"] = "Next stack"; // untranslated
440
522
  Blockly.Msg["SHORTCUTS_PERFORM_ACTION"] = "Edit or confirm"; // untranslated
523
+ Blockly.Msg["SHORTCUTS_PREVIOUS_HEADING"] = "Previous heading"; // untranslated
441
524
  Blockly.Msg["SHORTCUTS_PREVIOUS_STACK"] = "Previous stack"; // untranslated
442
525
  Blockly.Msg["SHORTCUTS_SHOW_CONTEXT_MENU"] = "Show menu"; // untranslated
443
526
  Blockly.Msg["SHORTCUTS_SHOW_TOOLTIP"] = "Show tooltip"; // untranslated
@@ -469,6 +552,8 @@ Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "计算在一段文本中,某个部分文
469
552
  Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "将一个项添加到文本中。";
470
553
  Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "拼接";
471
554
  Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "添加、移除或重新排列各节来重新配置这个文本块。";
555
+ Blockly.Msg["TEXT_FROM_END_ARIA"] = "letter number from end"; // untranslated
556
+ Blockly.Msg["TEXT_FROM_START_ARIA"] = "letter number"; // untranslated
472
557
  Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "到倒数第#个字符";
473
558
  Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "到第#个字符";
474
559
  Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "到最后一个字符";
package/msg/zh-hans.mjs CHANGED
@@ -104,11 +104,17 @@ export const {
104
104
  CONTROLS_IF_ELSE_TITLE_ELSE,
105
105
  CONTROLS_IF_ELSE_TOOLTIP,
106
106
  LOGIC_COMPARE_HELPURL,
107
+ LOGIC_COMPARE_EQ_ARIA,
107
108
  LOGIC_COMPARE_TOOLTIP_EQ,
109
+ LOGIC_COMPARE_NEQ_ARIA,
108
110
  LOGIC_COMPARE_TOOLTIP_NEQ,
111
+ LOGIC_COMPARE_LT_ARIA,
109
112
  LOGIC_COMPARE_TOOLTIP_LT,
113
+ LOGIC_COMPARE_LTE_ARIA,
110
114
  LOGIC_COMPARE_TOOLTIP_LTE,
115
+ LOGIC_COMPARE_GT_ARIA,
111
116
  LOGIC_COMPARE_TOOLTIP_GT,
117
+ LOGIC_COMPARE_GTE_ARIA,
112
118
  LOGIC_COMPARE_TOOLTIP_GTE,
113
119
  LOGIC_OPERATION_HELPURL,
114
120
  LOGIC_OPERATION_TOOLTIP_AND,
@@ -133,16 +139,33 @@ export const {
133
139
  MATH_NUMBER_HELPURL,
134
140
  MATH_NUMBER_TOOLTIP,
135
141
  MATH_ADDITION_SYMBOL,
142
+ MATH_ADDITION_SYMBOL_ARIA,
136
143
  MATH_SUBTRACTION_SYMBOL,
144
+ MATH_SUBTRACTION_SYMBOL_ARIA,
137
145
  MATH_DIVISION_SYMBOL,
146
+ MATH_DIVISION_SYMBOL_ARIA,
138
147
  MATH_MULTIPLICATION_SYMBOL,
148
+ MATH_MULTIPLICATION_SYMBOL_ARIA,
139
149
  MATH_POWER_SYMBOL,
150
+ MATH_POWER_SYMBOL_ARIA,
140
151
  MATH_TRIG_SIN,
152
+ MATH_TRIG_SIN_ARIA,
141
153
  MATH_TRIG_COS,
154
+ MATH_TRIG_COS_ARIA,
142
155
  MATH_TRIG_TAN,
156
+ MATH_TRIG_TAN_ARIA,
143
157
  MATH_TRIG_ASIN,
158
+ MATH_TRIG_ASIN_ARIA,
144
159
  MATH_TRIG_ACOS,
160
+ MATH_TRIG_ACOS_ARIA,
145
161
  MATH_TRIG_ATAN,
162
+ MATH_TRIG_ATAN_ARIA,
163
+ MATH_CONSTANT_PI_ARIA,
164
+ MATH_CONSTANT_E_ARIA,
165
+ MATH_CONSTANT_GOLDEN_RATIO_ARIA,
166
+ MATH_CONSTANT_SQRT2_ARIA,
167
+ MATH_CONSTANT_SQRT1_2_ARIA,
168
+ MATH_CONSTANT_INFINITY_ARIA,
146
169
  MATH_ARITHMETIC_HELPURL,
147
170
  MATH_ARITHMETIC_TOOLTIP_ADD,
148
171
  MATH_ARITHMETIC_TOOLTIP_MINUS,
@@ -153,7 +176,13 @@ export const {
153
176
  MATH_SINGLE_OP_ROOT,
154
177
  MATH_SINGLE_TOOLTIP_ROOT,
155
178
  MATH_SINGLE_OP_ABSOLUTE,
179
+ MATH_SINGLE_OP_ABSOLUTE_ARIA,
156
180
  MATH_SINGLE_TOOLTIP_ABS,
181
+ MATH_SINGLE_OP_NEG_ARIA,
182
+ MATH_SINGLE_OP_LN_ARIA,
183
+ MATH_SINGLE_OP_LOG10_ARIA,
184
+ MATH_SINGLE_OP_EXP_ARIA,
185
+ MATH_SINGLE_OP_POW10_ARIA,
157
186
  MATH_SINGLE_TOOLTIP_NEG,
158
187
  MATH_SINGLE_TOOLTIP_LN,
159
188
  MATH_SINGLE_TOOLTIP_LOG10,
@@ -189,8 +218,10 @@ export const {
189
218
  MATH_ONLIST_OPERATOR_SUM,
190
219
  MATH_ONLIST_TOOLTIP_SUM,
191
220
  MATH_ONLIST_OPERATOR_MIN,
221
+ MATH_ONLIST_OPERATOR_MIN_ARIA,
192
222
  MATH_ONLIST_TOOLTIP_MIN,
193
223
  MATH_ONLIST_OPERATOR_MAX,
224
+ MATH_ONLIST_OPERATOR_MAX_ARIA,
194
225
  MATH_ONLIST_TOOLTIP_MAX,
195
226
  MATH_ONLIST_OPERATOR_AVERAGE,
196
227
  MATH_ONLIST_TOOLTIP_AVERAGE,
@@ -241,6 +272,8 @@ export const {
241
272
  TEXT_INDEXOF_TITLE,
242
273
  TEXT_INDEXOF_OPERATOR_FIRST,
243
274
  TEXT_INDEXOF_OPERATOR_LAST,
275
+ TEXT_FROM_START_ARIA,
276
+ TEXT_FROM_END_ARIA,
244
277
  TEXT_CHARAT_HELPURL,
245
278
  TEXT_CHARAT_TITLE,
246
279
  TEXT_CHARAT_FROM_START,
@@ -471,6 +504,8 @@ export const {
471
504
  SHORTCUTS_DISCONNECT,
472
505
  SHORTCUTS_NEXT_STACK,
473
506
  SHORTCUTS_PREVIOUS_STACK,
507
+ SHORTCUTS_NEXT_HEADING,
508
+ SHORTCUTS_PREVIOUS_HEADING,
474
509
  SHORTCUTS_PERFORM_ACTION,
475
510
  SHORTCUTS_DUPLICATE,
476
511
  SHORTCUTS_CLEANUP,
@@ -491,6 +526,7 @@ export const {
491
526
  WORKSPACE_CONTENTS_COMMENTS_ONE,
492
527
  KEYBOARD_NAV_BLOCK_NAVIGATION_HINT,
493
528
  KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT,
529
+ KEYBOARD_NAV_FLYOUT_LABEL_HINT,
494
530
  BLOCK_LABEL_BEGIN_STACK,
495
531
  BLOCK_LABEL_BEGIN_PREFIX,
496
532
  BLOCK_LABEL_TOOLBOX_CATEGORY,
@@ -509,6 +545,52 @@ export const {
509
545
  INPUT_LABEL_STATEMENT,
510
546
  INPUT_LABEL_END_STATEMENT,
511
547
  INPUT_LABEL_EMPTY,
548
+ INPUT_LABEL_CONDITION,
549
+ INPUT_LABEL_CONDITION_A,
550
+ INPUT_LABEL_CONDITION_B,
551
+ INPUT_LABEL_VALUE_A,
552
+ INPUT_LABEL_VALUE_B,
553
+ INPUT_LABEL_NUMBER,
554
+ INPUT_LABEL_NUMBER_A,
555
+ INPUT_LABEL_NUMBER_B,
556
+ INPUT_LABEL_NUMBER_TO_CHECK,
557
+ INPUT_LABEL_NUMBER_LIST,
558
+ INPUT_LABEL_MATH_DIVIDEND,
559
+ INPUT_LABEL_MATH_DIVISOR,
560
+ INPUT_LABEL_MATH_CHANGE_BY,
561
+ INPUT_LABEL_MATH_CONSTRAIN_VALUE,
562
+ INPUT_LABEL_NUMBER_MIN,
563
+ INPUT_LABEL_NUMBER_MAX,
564
+ INPUT_LABEL_NUMBER_ATAN2_X,
565
+ INPUT_LABEL_NUMBER_ATAN2_Y,
566
+ INPUT_LABEL_LOOP_TIMES,
567
+ INPUT_LABEL_LOOP_FROM,
568
+ INPUT_LABEL_LOOP_TO,
569
+ INPUT_LABEL_LOOP_BY,
570
+ INPUT_LABEL_LOOP_LIST,
571
+ INPUT_LABEL_TEXT_JOIN_ITEM,
572
+ INPUT_LABEL_TEXT_APPEND,
573
+ INPUT_LABEL_TEXT_TO_CHANGE,
574
+ INPUT_LABEL_TEXT_TO_CHECK,
575
+ INPUT_LABEL_TEXT_TO_FIND,
576
+ INPUT_LABEL_TEXT_TO_REPLACE,
577
+ INPUT_LABEL_TEXT_POSITION,
578
+ INPUT_LABEL_TEXT_START_POSITION,
579
+ INPUT_LABEL_TEXT_END_POSITION,
580
+ INPUT_LABEL_TEXT_PROMPT_MESSAGE,
581
+ INPUT_LABEL_VARIABLES_SET,
582
+ INPUT_LABEL_LISTS_CREATE_WITH_ITEM,
583
+ INPUT_LABEL_LISTS_REPEAT_ITEM,
584
+ INPUT_LABEL_LISTS_REPEAT_NUM,
585
+ INPUT_LABEL_LISTS_TO_CHECK,
586
+ INPUT_LABEL_LISTS_VALUE_TO_SET,
587
+ INPUT_LABEL_LISTS_POSITION,
588
+ INPUT_LABEL_LISTS_START_POSITION,
589
+ INPUT_LABEL_LISTS_END_POSITION,
590
+ INPUT_LABEL_LISTS_LIST_FROM_TEXT,
591
+ INPUT_LABEL_LISTS_TEXT_FROM_LIST,
592
+ INPUT_LABEL_LISTS_DELIMITER,
593
+ INPUT_LABEL_LISTS_TO_CHANGE,
512
594
  ANNOUNCE_MOVE_WORKSPACE,
513
595
  ANNOUNCE_MOVE_BEFORE,
514
596
  ANNOUNCE_MOVE_AFTER,
@@ -521,6 +603,8 @@ export const {
521
603
  ARIA_TYPE_FIELD_INPUT,
522
604
  ARIA_TYPE_FIELD_TEXT_INPUT,
523
605
  ARIA_TYPE_FIELD_NUMBER,
606
+ ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE,
607
+ ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT,
524
608
  ARIA_TYPE_FIELD_DROPDOWN,
525
609
  ARIA_TYPE_FIELD_IMAGE,
526
610
  ARIA_TYPE_FIELD_CHECKBOX,
@@ -553,4 +637,5 @@ export const {
553
637
  CURRENT_BLOCK_ANNOUNCEMENT,
554
638
  PARENT_BLOCKS_ANNOUNCEMENT,
555
639
  NO_PARENT_ANNOUNCEMENT,
640
+ SCREENREADER_HINT,
556
641
  } = zh_hans;
package/msg/zh-hant.js CHANGED
@@ -38,6 +38,8 @@ Blockly.Msg["ARIA_TYPE_FIELD_IMAGE"] = "image"; // untranslated
38
38
  Blockly.Msg["ARIA_TYPE_FIELD_INPUT"] = "input"; // untranslated
39
39
  Blockly.Msg["ARIA_TYPE_FIELD_NUMBER"] = "number"; // untranslated
40
40
  Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT"] = "text"; // untranslated
41
+ Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT"] = "input name"; // untranslated
42
+ Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE"] = "function name"; // untranslated
41
43
  Blockly.Msg["BACKSPACE_KEY"] = "Backspace"; // untranslated
42
44
  Blockly.Msg["BLOCK_LABEL_BEGIN_PREFIX"] = "Begin %1"; // untranslated
43
45
  Blockly.Msg["BLOCK_LABEL_BEGIN_STACK"] = "Begin stack"; // untranslated
@@ -49,7 +51,7 @@ Blockly.Msg["BLOCK_LABEL_HAS_INPUT"] = "has input"; // untranslated
49
51
  Blockly.Msg["BLOCK_LABEL_HAS_INPUTS"] = "has inputs"; // untranslated
50
52
  Blockly.Msg["BLOCK_LABEL_REPLACEABLE"] = "replaceable"; // untranslated
51
53
  Blockly.Msg["BLOCK_LABEL_STACK_BLOCKS"] = "%1 stack blocks"; // untranslated
52
- Blockly.Msg["BLOCK_LABEL_STATEMENT"] = "command"; // untranslated
54
+ Blockly.Msg["BLOCK_LABEL_STATEMENT"] = "statement"; // untranslated
53
55
  Blockly.Msg["BLOCK_LABEL_TOOLBOX_CATEGORY"] = "%1 category"; // untranslated
54
56
  Blockly.Msg["BLOCK_LABEL_VALUE"] = "value"; // untranslated
55
57
  Blockly.Msg["BUBBLE_LABEL_COMMENT"] = "Comment: %1"; // untranslated
@@ -155,16 +157,63 @@ Blockly.Msg["ICON_LABEL_MUTATOR_OPEN"] = "Close block editor"; // untranslated
155
157
  Blockly.Msg["ICON_LABEL_WARNING_CLOSED"] = "Open Warning"; // untranslated
156
158
  Blockly.Msg["ICON_LABEL_WARNING_OPEN"] = "Close Warning"; // untranslated
157
159
  Blockly.Msg["INLINE_INPUTS"] = "單行輸入";
160
+ Blockly.Msg["INPUT_LABEL_CONDITION"] = "condition"; // untranslated
161
+ Blockly.Msg["INPUT_LABEL_CONDITION_A"] = "first condition"; // untranslated
162
+ Blockly.Msg["INPUT_LABEL_CONDITION_B"] = "second condition"; // untranslated
158
163
  Blockly.Msg["INPUT_LABEL_EMPTY"] = "Empty"; // untranslated
159
164
  Blockly.Msg["INPUT_LABEL_END_STATEMENT"] = "End %1"; // untranslated
160
165
  Blockly.Msg["INPUT_LABEL_INDEX"] = "input %1"; // untranslated
161
- Blockly.Msg["INPUT_LABEL_STATEMENT"] = "command position"; // untranslated
166
+ Blockly.Msg["INPUT_LABEL_LISTS_CREATE_WITH_ITEM"] = "value %1"; // untranslated
167
+ Blockly.Msg["INPUT_LABEL_LISTS_DELIMITER"] = "delimiter"; // untranslated
168
+ Blockly.Msg["INPUT_LABEL_LISTS_END_POSITION"] = "end position"; // untranslated
169
+ Blockly.Msg["INPUT_LABEL_LISTS_LIST_FROM_TEXT"] = "text to split"; // untranslated
170
+ Blockly.Msg["INPUT_LABEL_LISTS_POSITION"] = "position within list"; // untranslated
171
+ Blockly.Msg["INPUT_LABEL_LISTS_REPEAT_ITEM"] = "value to repeat"; // untranslated
172
+ Blockly.Msg["INPUT_LABEL_LISTS_REPEAT_NUM"] = "number of times to repeat"; // untranslated
173
+ Blockly.Msg["INPUT_LABEL_LISTS_START_POSITION"] = "start position"; // untranslated
174
+ Blockly.Msg["INPUT_LABEL_LISTS_TEXT_FROM_LIST"] = "list to join"; // untranslated
175
+ Blockly.Msg["INPUT_LABEL_LISTS_TO_CHANGE"] = "list to change"; // untranslated
176
+ Blockly.Msg["INPUT_LABEL_LISTS_TO_CHECK"] = "list to check"; // untranslated
177
+ Blockly.Msg["INPUT_LABEL_LISTS_VALUE_TO_SET"] = "value to set"; // untranslated
178
+ Blockly.Msg["INPUT_LABEL_LOOP_BY"] = "increment"; // untranslated
179
+ Blockly.Msg["INPUT_LABEL_LOOP_FROM"] = "starting number"; // untranslated
180
+ Blockly.Msg["INPUT_LABEL_LOOP_LIST"] = "list to iterate over"; // untranslated
181
+ Blockly.Msg["INPUT_LABEL_LOOP_TIMES"] = "number of times to repeat"; // untranslated
182
+ Blockly.Msg["INPUT_LABEL_LOOP_TO"] = "ending number"; // untranslated
183
+ Blockly.Msg["INPUT_LABEL_MATH_CHANGE_BY"] = "amount to change by"; // untranslated
184
+ Blockly.Msg["INPUT_LABEL_MATH_CONSTRAIN_VALUE"] = "number to constrain"; // untranslated
185
+ Blockly.Msg["INPUT_LABEL_MATH_DIVIDEND"] = "dividend"; // untranslated
186
+ Blockly.Msg["INPUT_LABEL_MATH_DIVISOR"] = "divisor"; // untranslated
187
+ Blockly.Msg["INPUT_LABEL_NUMBER"] = "number"; // untranslated
188
+ Blockly.Msg["INPUT_LABEL_NUMBER_A"] = "first number"; // untranslated
189
+ Blockly.Msg["INPUT_LABEL_NUMBER_ATAN2_X"] = "x coordinate"; // untranslated
190
+ Blockly.Msg["INPUT_LABEL_NUMBER_ATAN2_Y"] = "y coordinate"; // untranslated
191
+ Blockly.Msg["INPUT_LABEL_NUMBER_B"] = "second number"; // untranslated
192
+ Blockly.Msg["INPUT_LABEL_NUMBER_LIST"] = "list of numbers"; // untranslated
193
+ Blockly.Msg["INPUT_LABEL_NUMBER_MAX"] = "maximum"; // untranslated
194
+ Blockly.Msg["INPUT_LABEL_NUMBER_MIN"] = "minimum"; // untranslated
195
+ Blockly.Msg["INPUT_LABEL_NUMBER_TO_CHECK"] = "number to check"; // untranslated
196
+ Blockly.Msg["INPUT_LABEL_STATEMENT"] = "statement position"; // untranslated
197
+ Blockly.Msg["INPUT_LABEL_TEXT_APPEND"] = "value to append"; // untranslated
198
+ Blockly.Msg["INPUT_LABEL_TEXT_END_POSITION"] = "end position"; // untranslated
199
+ Blockly.Msg["INPUT_LABEL_TEXT_JOIN_ITEM"] = "value %1"; // untranslated
200
+ Blockly.Msg["INPUT_LABEL_TEXT_POSITION"] = "letter position"; // untranslated
201
+ Blockly.Msg["INPUT_LABEL_TEXT_PROMPT_MESSAGE"] = "message"; // untranslated
202
+ Blockly.Msg["INPUT_LABEL_TEXT_START_POSITION"] = "start position"; // untranslated
203
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_CHANGE"] = "text to change"; // untranslated
204
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_CHECK"] = "text to check"; // untranslated
205
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_FIND"] = "text to find"; // untranslated
206
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_REPLACE"] = "text to replace"; // untranslated
162
207
  Blockly.Msg["INPUT_LABEL_VALUE"] = "value position"; // untranslated
208
+ Blockly.Msg["INPUT_LABEL_VALUE_A"] = "first value"; // untranslated
209
+ Blockly.Msg["INPUT_LABEL_VALUE_B"] = "second value"; // untranslated
210
+ Blockly.Msg["INPUT_LABEL_VARIABLES_SET"] = "value to set"; // untranslated
163
211
  Blockly.Msg["INSERT_KEY"] = "Insert"; // untranslated
164
212
  Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use %1 to navigate inside of blocks."; // untranslated
165
213
  Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "使用箭頭鍵來移動,然後按下 %1 接受位置";
166
214
  Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "已拷貝。按下 %1 貼上。";
167
215
  Blockly.Msg["KEYBOARD_NAV_CUT_HINT"] = "已剪下。按下 %1 貼上。";
216
+ 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
168
217
  Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "壓住 %1 並使用箭頭鍵來自由移動,然後按下 %2 接受位置";
169
218
  Blockly.Msg["KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT"] = "Use the arrow keys to navigate."; // untranslated
170
219
  Blockly.Msg["LINUX"] = "Linux";
@@ -257,7 +306,13 @@ Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "假";
257
306
  Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Logic#values"; // untranslated
258
307
  Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "返回真或假。";
259
308
  Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "真";
309
+ Blockly.Msg["LOGIC_COMPARE_EQ_ARIA"] = "equals"; // untranslated
310
+ Blockly.Msg["LOGIC_COMPARE_GTE_ARIA"] = "greater than or equal to"; // untranslated
311
+ Blockly.Msg["LOGIC_COMPARE_GT_ARIA"] = "greater than"; // untranslated
260
312
  Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://zh.wikipedia.org/wiki/不等";
313
+ Blockly.Msg["LOGIC_COMPARE_LTE_ARIA"] = "less than or equal to"; // untranslated
314
+ Blockly.Msg["LOGIC_COMPARE_LT_ARIA"] = "less than"; // untranslated
315
+ Blockly.Msg["LOGIC_COMPARE_NEQ_ARIA"] = "not equals"; // untranslated
261
316
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "如果兩個輸入的結果相等,返回 true。";
262
317
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "如果第一個輸入結果大於第二個,返回 true。";
263
318
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "如果第一個輸入結果大於或等於第二個,返回 true。";
@@ -282,6 +337,7 @@ Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "如果為真";
282
337
  Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "檢查「測試」中的條件。如果條件為真,將返回「如果為真」的值;否則,返回「如果為假」的值。";
283
338
  Blockly.Msg["MAC_OS"] = "macOS";
284
339
  Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+"; // untranslated
340
+ Blockly.Msg["MATH_ADDITION_SYMBOL_ARIA"] = "plus"; // untranslated
285
341
  Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://zh.wikipedia.org/wiki/算術";
286
342
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "返回兩個數字的總和。";
287
343
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "傳回兩數之商。";
@@ -294,12 +350,19 @@ Blockly.Msg["MATH_ATAN2_TOOLTIP"] = "回傳點(X,Y)從 -180 至 180 度的
294
350
  Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://zh.wikipedia.org/wiki/加法";
295
351
  Blockly.Msg["MATH_CHANGE_TITLE"] = "修改 %1 自 %2";
296
352
  Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "將數字加到變數「%1」。";
353
+ Blockly.Msg["MATH_CONSTANT_E_ARIA"] = "e"; // untranslated
354
+ Blockly.Msg["MATH_CONSTANT_GOLDEN_RATIO_ARIA"] = "golden ratio"; // untranslated
297
355
  Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://zh.wikipedia.org/wiki/數學常數";
356
+ Blockly.Msg["MATH_CONSTANT_INFINITY_ARIA"] = "infinity"; // untranslated
357
+ Blockly.Msg["MATH_CONSTANT_PI_ARIA"] = "pi"; // untranslated
358
+ Blockly.Msg["MATH_CONSTANT_SQRT1_2_ARIA"] = "square root of 1 over 2"; // untranslated
359
+ Blockly.Msg["MATH_CONSTANT_SQRT2_ARIA"] = "square root of 2"; // untranslated
298
360
  Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "返回一個的常見常量: π (3.141......),e (2.718...)、 φ (1.618...)、 開方(2) (1.414......)、 開方(½) (0.707......) 或 ∞ (無窮大)。";
299
361
  Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)"; // untranslated
300
362
  Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "限制數字 %1 介於(低)%2 到(高)%3";
301
363
  Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "限制數字介於兩個指定的數字之間(包含)。";
302
364
  Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷"; // untranslated
365
+ Blockly.Msg["MATH_DIVISION_SYMBOL_ARIA"] = "divided by"; // untranslated
303
366
  Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "可被整除";
304
367
  Blockly.Msg["MATH_IS_EVEN"] = "是偶數";
305
368
  Blockly.Msg["MATH_IS_NEGATIVE"] = "是負數";
@@ -312,13 +375,16 @@ Blockly.Msg["MATH_MODULO_HELPURL"] = "https://zh.wikipedia.org/wiki/模除";
312
375
  Blockly.Msg["MATH_MODULO_TITLE"] = "%1 除以 %2 的餘數";
313
376
  Blockly.Msg["MATH_MODULO_TOOLTIP"] = "返回兩個數字相除的餘數。";
314
377
  Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×"; // untranslated
378
+ Blockly.Msg["MATH_MULTIPLICATION_SYMBOL_ARIA"] = "times"; // untranslated
315
379
  Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://zh.wikipedia.org/wiki/數";
316
380
  Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "數字";
317
381
  Blockly.Msg["MATH_ONLIST_HELPURL"] = ""; // untranslated
318
382
  Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "清單的平均數";
319
383
  Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "清單的最大數字";
384
+ Blockly.Msg["MATH_ONLIST_OPERATOR_MAX_ARIA"] = "maximum"; // untranslated
320
385
  Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "清單的中位數";
321
386
  Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "清單的最小數字";
387
+ Blockly.Msg["MATH_ONLIST_OPERATOR_MIN_ARIA"] = "minimum"; // untranslated
322
388
  Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "清單中的眾數";
323
389
  Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "清單中的隨機一項";
324
390
  Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "清單的標準差";
@@ -332,6 +398,7 @@ Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "從清單中返回一個隨機的
332
398
  Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "返回清單中數字的標準差。";
333
399
  Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "返回清單中的所有數字的總和。";
334
400
  Blockly.Msg["MATH_POWER_SYMBOL"] = "^"; // untranslated
401
+ Blockly.Msg["MATH_POWER_SYMBOL_ARIA"] = "to the power of"; // untranslated
335
402
  Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://zh.wikipedia.org/wiki/隨機數生成器";
336
403
  Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "隨機取分數";
337
404
  Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "在 0.0(包含)和 1.0(不包含)之間隨機取一個分數。";
@@ -345,6 +412,12 @@ Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "無條件進位";
345
412
  Blockly.Msg["MATH_ROUND_TOOLTIP"] = "上捨入或下捨入數字";
346
413
  Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://zh.wikipedia.org/wiki/平方根";
347
414
  Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "絕對值";
415
+ Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE_ARIA"] = "absolute value"; // untranslated
416
+ Blockly.Msg["MATH_SINGLE_OP_EXP_ARIA"] = "e to the power of"; // untranslated
417
+ Blockly.Msg["MATH_SINGLE_OP_LN_ARIA"] = "natural logarithm"; // untranslated
418
+ Blockly.Msg["MATH_SINGLE_OP_LOG10_ARIA"] = "base 10 logarithm"; // untranslated
419
+ Blockly.Msg["MATH_SINGLE_OP_NEG_ARIA"] = "negative"; // untranslated
420
+ Blockly.Msg["MATH_SINGLE_OP_POW10_ARIA"] = "10 to the power of"; // untranslated
348
421
  Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "開根號";
349
422
  Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "返回指定數字的絕對值。";
350
423
  Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "返回e的指定數字次冪。";
@@ -354,13 +427,20 @@ Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "返回指定數字的相反數。";
354
427
  Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "返回10的指定數字次冪。";
355
428
  Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "返回指定數字的平方根。";
356
429
  Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-"; // untranslated
430
+ Blockly.Msg["MATH_SUBTRACTION_SYMBOL_ARIA"] = "minus"; // untranslated
357
431
  Blockly.Msg["MATH_TRIG_ACOS"] = "反餘弦";
432
+ Blockly.Msg["MATH_TRIG_ACOS_ARIA"] = "inverse cosine"; // untranslated
358
433
  Blockly.Msg["MATH_TRIG_ASIN"] = "反正弦";
434
+ Blockly.Msg["MATH_TRIG_ASIN_ARIA"] = "inverse sine"; // untranslated
359
435
  Blockly.Msg["MATH_TRIG_ATAN"] = "反正切";
436
+ Blockly.Msg["MATH_TRIG_ATAN_ARIA"] = "inverse tangent"; // untranslated
360
437
  Blockly.Msg["MATH_TRIG_COS"] = "餘弦";
438
+ Blockly.Msg["MATH_TRIG_COS_ARIA"] = "cosine"; // untranslated
361
439
  Blockly.Msg["MATH_TRIG_HELPURL"] = "https://zh.wikipedia.org/wiki/三角函數";
362
440
  Blockly.Msg["MATH_TRIG_SIN"] = "正弦";
441
+ Blockly.Msg["MATH_TRIG_SIN_ARIA"] = "sine"; // untranslated
363
442
  Blockly.Msg["MATH_TRIG_TAN"] = "正切";
443
+ Blockly.Msg["MATH_TRIG_TAN_ARIA"] = "tangent"; // untranslated
364
444
  Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "返回指定數字的反餘弦值。";
365
445
  Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "返回指定角度的反正弦值(非弧度)。";
366
446
  Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "返回指定數字的反正切值。";
@@ -415,6 +495,7 @@ Blockly.Msg["REMOVE_COMMENT"] = "移除註解";
415
495
  Blockly.Msg["RENAME_VARIABLE"] = "重新命名變數...";
416
496
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "將所有「%1」變數重新命名為:";
417
497
  Blockly.Msg["RESET_ZOOM"] = "Reset zoom"; // untranslated
498
+ Blockly.Msg["SCREENREADER_HINT"] = "Use the arrow keys to navigate. Press %1 to toggle screenreader accessibility mode."; // untranslated
418
499
  Blockly.Msg["SCREENREADER_MODE_DISABLED"] = "Screenreader mode is off, press %1 to turn it on"; // untranslated
419
500
  Blockly.Msg["SCREENREADER_MODE_ENABLED"] = "Screenreader mode is on, press %1 to turn it off"; // untranslated
420
501
  Blockly.Msg["SHIFT_KEY"] = "Shift"; // untranslated
@@ -436,8 +517,10 @@ Blockly.Msg["SHORTCUTS_MOVE_DOWN"] = "Move down"; // untranslated
436
517
  Blockly.Msg["SHORTCUTS_MOVE_LEFT"] = "Move left"; // untranslated
437
518
  Blockly.Msg["SHORTCUTS_MOVE_RIGHT"] = "Move right"; // untranslated
438
519
  Blockly.Msg["SHORTCUTS_MOVE_UP"] = "Move up"; // untranslated
520
+ Blockly.Msg["SHORTCUTS_NEXT_HEADING"] = "Next heading"; // untranslated
439
521
  Blockly.Msg["SHORTCUTS_NEXT_STACK"] = "Next stack"; // untranslated
440
522
  Blockly.Msg["SHORTCUTS_PERFORM_ACTION"] = "Edit or confirm"; // untranslated
523
+ Blockly.Msg["SHORTCUTS_PREVIOUS_HEADING"] = "Previous heading"; // untranslated
441
524
  Blockly.Msg["SHORTCUTS_PREVIOUS_STACK"] = "Previous stack"; // untranslated
442
525
  Blockly.Msg["SHORTCUTS_SHOW_CONTEXT_MENU"] = "Show menu"; // untranslated
443
526
  Blockly.Msg["SHORTCUTS_SHOW_TOOLTIP"] = "Show tooltip"; // untranslated
@@ -469,6 +552,8 @@ Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "計算在一段文本中,某個部分文
469
552
  Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "添加一個項目到字串中。";
470
553
  Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "串連";
471
554
  Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "添加、刪除或重新排列各部份以重新配置這個文字區塊。";
555
+ Blockly.Msg["TEXT_FROM_END_ARIA"] = "letter number from end"; // untranslated
556
+ Blockly.Msg["TEXT_FROM_START_ARIA"] = "letter number"; // untranslated
472
557
  Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "到倒數第 # 個字母";
473
558
  Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "到第 # 個字母";
474
559
  Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "到最後一個字母";