iobroker.javascript 10.0.0 → 10.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 (157) hide show
  1. package/README.md +41 -6
  2. package/admin/assets/AiChatPanel-C4kuqP2U.js +237 -0
  3. package/admin/assets/AiDiffView-zJTEnv05.js +1 -0
  4. package/admin/assets/BlocklyEditor-BB77aFJI.js +84 -0
  5. package/admin/assets/ContextWrapper-C2yvd2Tn.css +1 -0
  6. package/admin/assets/ContextWrapper-W2H0z6zD.js +136 -0
  7. package/admin/assets/Debugger-DCMWjeGm.js +15 -0
  8. package/admin/assets/Error-CBC2oZzb.js +1 -0
  9. package/admin/assets/Import-B-F9IhZ-.js +1 -0
  10. package/admin/assets/RulesEditor-ByjgEaVo.js +1 -0
  11. package/admin/assets/RulesEditor-k-DMHotH.css +1 -0
  12. package/admin/assets/{ScriptEditor-BGIuoNei.js → ScriptEditor-CMYUt5S4.js} +2 -2
  13. package/admin/assets/{ScriptEditorVanillaMonaco-DyMQtoTQ.js → ScriptEditorVanillaMonaco-v12-gORS.js} +3 -3
  14. package/admin/assets/Send-CChqR5Oy.js +1 -0
  15. package/admin/assets/_virtual_mf-localSharedImportMap___mfe_internal__iobroker_javascript__mf_owner__1-7EPUlgCk.js +1 -0
  16. package/admin/assets/_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DuplUOZN.js +1243 -0
  17. package/admin/assets/{_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__1__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-BBAXJaqI.js → _virtual_mf___mfe_internal__iobroker_javascript__mf_owner__1__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-JkwfVf8d.js} +1 -1
  18. package/admin/assets/{aiCodeLensProvider-hyAmut0e.js → aiCodeLensProvider-BGvIu6hH.js} +1 -1
  19. package/admin/assets/blockly-C4zJerWL.js +1047 -0
  20. package/admin/assets/blocks_action-CvnOHXwt.js +1 -0
  21. package/admin/assets/blocks_convert-BZlKcd02.js +3 -0
  22. package/admin/assets/blocks_logic-B33Pypxr.js +1 -0
  23. package/admin/assets/blocks_number-k2IjE7OH.js +1 -0
  24. package/admin/assets/blocks_object-B64vSfel.js +1 -0
  25. package/admin/assets/blocks_procedures-BpvNI5dO.js +3 -0
  26. package/admin/assets/blocks_sendto-pwZchfe0.js +5 -0
  27. package/admin/assets/blocks_switch-DViYCmQd.js +2 -0
  28. package/admin/assets/blocks_system-BZZcGqTJ.js +1 -0
  29. package/admin/assets/blocks_text-BOvtHN2r.js +1 -0
  30. package/admin/assets/blocks_time-BH2F-ylT.js +1 -0
  31. package/admin/assets/blocks_timeout-C3BoW4XJ.js +1 -0
  32. package/admin/assets/blocks_trigger-gwXvuAHV.js +2 -0
  33. package/admin/assets/blocks_words-D8PL_nSE.js +1 -0
  34. package/admin/assets/{cronHoverProvider-pKJkSevo.js → cronHoverProvider-DjY3jLvQ.js} +1 -1
  35. package/admin/assets/dist-D6o4h8Pd.js +4 -0
  36. package/admin/assets/field_cron-BMQWPb61.js +1 -0
  37. package/admin/assets/field_oid-BGIMv9gw.js +1 -0
  38. package/admin/assets/field_script-CdzYBCe6.js +1 -0
  39. package/admin/assets/helpers-Crmcgphg.js +1 -0
  40. package/admin/assets/hostInit-DBlZi_Kt.js +1 -0
  41. package/admin/assets/index-BvPVHv3P.js +192 -0
  42. package/admin/assets/{inlineChatWidget-ZaisTOLh.js → inlineChatWidget-SDoyVtOR.js} +2 -2
  43. package/admin/assets/{inlineDiffController-hTwHHqcc.js → inlineDiffController-CnHE3Rwd.js} +2 -2
  44. package/admin/assets/javascript-DVIhlTDr.js +218 -0
  45. package/admin/assets/{mf-entry-bootstrap-0-d6052b31.js → mf-entry-bootstrap-0-a03ecebd.js} +6 -2
  46. package/admin/assets/{mjs-DWqivHEk.js → mjs-Bh7xFIpd.js} +2 -2
  47. package/admin/assets/{stateHoverProvider-C7DawIs-.js → stateHoverProvider-D0iXo6YF.js} +3 -3
  48. package/admin/assets/{virtualExposes-Ed0lGq7k.js → virtualExposes-DgGB-18P.js} +1 -1
  49. package/admin/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__iobroker_javascript__remoteEntry_js-DYEYnOkt.js +1 -0
  50. package/admin/assets/virtual_mf-exposes___mfe_internal__iobroker_javascript__remoteEntry_js-ChiJXsfH.js +1 -0
  51. package/admin/custom/assets/Components-CuFt9lAY.js +1 -0
  52. package/admin/custom/assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1-DljJyQQg.js +1 -0
  53. package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-D0M1SjIE.js +1 -0
  54. package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-CGb5Cofy.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-BD2OkSge.js} +1 -1
  55. package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-BVCIAgbo.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-pM642JFd.js} +91 -91
  56. package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-BkB0anQX.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-BLelmJ7Y.js} +74 -74
  57. package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-BotqDuw-.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-BGiB1l5e.js} +1 -1
  58. package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__prebuild__date_mf_2_fns__prebuild__-Cb5TR7FB.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__prebuild__date_mf_2_fns__prebuild__-D5hqXJXI.js} +1 -1
  59. package/admin/custom/assets/hostInit-0DGPuZTB.js +1 -0
  60. package/admin/custom/assets/{index-uEKAoVT7.js → index-DcFI5r-g.js} +1 -1
  61. package/admin/custom/assets/{lib-Yj8cfN0A.js → lib-BlUjuGH7.js} +1 -1
  62. package/admin/custom/assets/{mf-entry-bootstrap-0-77793feb.js → mf-entry-bootstrap-0-efd847a6.js} +6 -2
  63. package/admin/custom/assets/{setYear-DJ9FbdkO.js → setYear-BaCcPbbI.js} +1 -1
  64. package/admin/custom/assets/virtualExposes-DGxNcyb6.js +1 -0
  65. package/admin/custom/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__ConfigCustomJavascriptSet__customComponents_js-DVNwFcUr.js +1 -0
  66. package/admin/custom/assets/virtual_mf-exposes___mfe_internal__ConfigCustomJavascriptSet__customComponents_js-DPck7zEs.js +2 -0
  67. package/admin/custom/customComponents.js +1 -1
  68. package/admin/google-blockly/VERSION +1 -0
  69. package/admin/google-blockly/media/drop.mp3 +0 -0
  70. package/admin/google-blockly/msg/js/de.js +332 -56
  71. package/admin/google-blockly/msg/js/en.js +319 -43
  72. package/admin/google-blockly/msg/js/es.js +319 -42
  73. package/admin/google-blockly/msg/js/fr.js +315 -39
  74. package/admin/google-blockly/msg/js/it.js +327 -51
  75. package/admin/google-blockly/msg/js/nl.js +376 -100
  76. package/admin/google-blockly/msg/js/pl.js +318 -42
  77. package/admin/google-blockly/msg/js/pt.js +318 -42
  78. package/admin/google-blockly/msg/js/ru.js +320 -44
  79. package/admin/google-blockly/msg/js/uk.js +326 -50
  80. package/admin/google-blockly/msg/js/zh-cn.js +322 -46
  81. package/admin/i18n/de.json +48 -26
  82. package/admin/i18n/en.json +47 -25
  83. package/admin/i18n/es.json +48 -18
  84. package/admin/i18n/fr.json +47 -17
  85. package/admin/i18n/it.json +47 -17
  86. package/admin/i18n/nl.json +47 -17
  87. package/admin/i18n/pl.json +48 -18
  88. package/admin/i18n/pt.json +47 -17
  89. package/admin/i18n/ru.json +47 -17
  90. package/admin/i18n/uk.json +47 -17
  91. package/admin/i18n/zh-cn.json +47 -17
  92. package/admin/jsonConfig.json +367 -0
  93. package/admin/mf-manifest.json +1 -1
  94. package/admin/mf-stats.json +1 -1
  95. package/admin/remoteEntry.js +1 -1
  96. package/admin/tab.html +12 -95
  97. package/build/lib/mirror.js +9 -0
  98. package/build/lib/mirror.js.map +1 -1
  99. package/build/lib/sandbox.js +35 -0
  100. package/build/lib/sandbox.js.map +1 -1
  101. package/build/lib/typescriptSettings.js +112 -2
  102. package/build/lib/typescriptSettings.js.map +1 -1
  103. package/build/lib/typescriptTools.js +168 -43
  104. package/build/lib/typescriptTools.js.map +1 -1
  105. package/build/main.js +10 -5
  106. package/build/main.js.map +1 -1
  107. package/build/types.d.ts +41 -0
  108. package/docs/en/javascript.md +16 -0
  109. package/docs/en/upgrade-guide.md +3 -0
  110. package/io-package.json +45 -15
  111. package/package.json +8 -3
  112. package/admin/assets/AiChatPanel-p0KAg6Cs.js +0 -237
  113. package/admin/assets/AiDiffView-BPTLnNx1.js +0 -1
  114. package/admin/assets/BlocklyEditor-CAjVMhYT.js +0 -81
  115. package/admin/assets/ContextWrapper-BVc8wTK_.css +0 -1
  116. package/admin/assets/ContextWrapper-D9CrnNKs.js +0 -127
  117. package/admin/assets/Debugger-SjROokFI.js +0 -15
  118. package/admin/assets/Error-DDfrxAt2.js +0 -1
  119. package/admin/assets/Import-DpTg1Jow.js +0 -1
  120. package/admin/assets/RulesEditor-BSRFWpEm.css +0 -1
  121. package/admin/assets/RulesEditor-D0hgrcBc.js +0 -1
  122. package/admin/assets/_virtual_mf-localSharedImportMap___mfe_internal__iobroker_javascript__mf_owner__1-DWJotR1B.js +0 -1
  123. package/admin/assets/_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-CxICLr5Z.js +0 -1243
  124. package/admin/assets/dist-uw5orDgd.js +0 -4
  125. package/admin/assets/hostInit-BFg5u9hY.js +0 -1
  126. package/admin/assets/index-B1gICjdq.js +0 -192
  127. package/admin/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__iobroker_javascript__remoteEntry_js-BYs71IQF.js +0 -1
  128. package/admin/assets/virtual_mf-exposes___mfe_internal__iobroker_javascript__remoteEntry_js-DnnXQRkG.js +0 -1
  129. package/admin/custom/assets/Components-BrDyDHXh.js +0 -1
  130. package/admin/custom/assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1-CyYJM2-v.js +0 -1
  131. package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BdzCssLn.js +0 -1
  132. package/admin/custom/assets/hostInit-DJx2uXXy.js +0 -1
  133. package/admin/custom/assets/virtualExposes-CxDjLoYu.js +0 -1
  134. package/admin/custom/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__ConfigCustomJavascriptSet__customComponents_js-BU-ugy_7.js +0 -1
  135. package/admin/custom/assets/virtual_mf-exposes-ssr___mfe_internal__ConfigCustomJavascriptSet__customComponents_js-BEfZbrf7.js +0 -2
  136. package/admin/custom/assets/virtual_mf-exposes___mfe_internal__ConfigCustomJavascriptSet__customComponents_js-CTeZ0Jpm.js +0 -2
  137. package/admin/google-blockly/blockly_compressed.js +0 -1679
  138. package/admin/google-blockly/blocks_compressed.js +0 -193
  139. package/admin/google-blockly/javascript_compressed.js +0 -264
  140. package/admin/google-blockly/msg/messages.js +0 -1630
  141. package/admin/google-blockly/own/blocks_action.js +0 -765
  142. package/admin/google-blockly/own/blocks_convert.js +0 -480
  143. package/admin/google-blockly/own/blocks_logic.js +0 -459
  144. package/admin/google-blockly/own/blocks_number.js +0 -30
  145. package/admin/google-blockly/own/blocks_object.js +0 -402
  146. package/admin/google-blockly/own/blocks_procedures.js +0 -688
  147. package/admin/google-blockly/own/blocks_sendto.js +0 -702
  148. package/admin/google-blockly/own/blocks_switch.js +0 -257
  149. package/admin/google-blockly/own/blocks_system.js +0 -1409
  150. package/admin/google-blockly/own/blocks_text.js +0 -104
  151. package/admin/google-blockly/own/blocks_time.js +0 -639
  152. package/admin/google-blockly/own/blocks_timeout.js +0 -551
  153. package/admin/google-blockly/own/blocks_trigger.js +0 -1791
  154. package/admin/google-blockly/own/blocks_words.js +0 -708
  155. package/admin/google-blockly/own/field_cron.js +0 -158
  156. package/admin/google-blockly/own/field_oid.js +0 -642
  157. package/admin/google-blockly/own/field_script.js +0 -159
@@ -1,11 +1,84 @@
1
+ /* eslint-disable */
2
+ ;(function(root, factory) {
3
+ if (typeof define === 'function' && define.amd) { // AMD
4
+ define([], factory);
5
+ } else if (typeof exports === 'object') { // Node.js
6
+ module.exports = factory();
7
+ } else { // Browser
8
+ var messages = factory();
9
+ for (var key in messages) {
10
+ root.Blockly.Msg[key] = messages[key];
11
+ }
12
+ }
13
+ }(this, function() {
14
+ // This file was automatically generated. Do not modify.
15
+
1
16
  'use strict';
2
17
 
3
18
  var Blockly = Blockly || { Msg: Object.create(null) };
4
19
 
5
20
  Blockly.Msg["ADD_COMMENT"] = "Add Comment";
21
+ Blockly.Msg["ALT_KEY"] = "Alt";
22
+ Blockly.Msg["ANNOUNCE_MOVE_AFTER"] = "Moving %1 after %2.";
23
+ Blockly.Msg["ANNOUNCE_MOVE_AROUND"] = "Moving %1 around %2.";
24
+ Blockly.Msg["ANNOUNCE_MOVE_BEFORE"] = "Moving %1 before %2.";
25
+ Blockly.Msg["ANNOUNCE_MOVE_CANCELED"] = "Canceled movement.";
26
+ Blockly.Msg["ANNOUNCE_MOVE_INSIDE"] = "Moving %1 inside %2.";
27
+ Blockly.Msg["ANNOUNCE_MOVE_OF"] = "%1 of %2";
28
+ Blockly.Msg["ANNOUNCE_MOVE_TO"] = "Moving %1 to %2.";
29
+ Blockly.Msg["ANNOUNCE_MOVE_WORKSPACE"] = "Moving %1 on workspace.";
30
+ Blockly.Msg["ARIA_LABEL_ADD_ELSE_IF"] = "Add else if";
31
+ Blockly.Msg["ARIA_LABEL_ADD_INPUT"] = "Add input";
32
+ Blockly.Msg["ARIA_LABEL_ADD_LIST_ITEM"] = "Add list item";
33
+ Blockly.Msg["ARIA_LABEL_ADD_TEXT"] = "Add text";
34
+ Blockly.Msg["ARIA_LABEL_BUTTON"] = "button";
35
+ Blockly.Msg["ARIA_LABEL_COMMENT"] = "Comment";
36
+ Blockly.Msg["ARIA_LABEL_COMMENT_COLLAPSE"] = "Collapse Comment";
37
+ Blockly.Msg["ARIA_LABEL_COMMENT_EXPAND"] = "Expand Comment";
38
+ Blockly.Msg["ARIA_LABEL_FIELD_ANGLE"] = "%1 degrees";
39
+ Blockly.Msg["ARIA_LABEL_HEADING"] = "heading";
40
+ Blockly.Msg["ARIA_LABEL_REMOVE_ELSE_IF"] = "Remove else if";
41
+ Blockly.Msg["ARIA_LABEL_REMOVE_INPUT"] = "Remove input";
42
+ Blockly.Msg["ARIA_LABEL_REMOVE_LIST_ITEM"] = "Remove list item";
43
+ Blockly.Msg["ARIA_LABEL_REMOVE_TEXT"] = "Remove text";
44
+ Blockly.Msg["ARIA_LABEL_TRASH_EMPTY"] = "Trash, currently empty";
45
+ Blockly.Msg["ARIA_TYPE_FIELD_ANGLE"] = "angle";
46
+ Blockly.Msg["ARIA_TYPE_FIELD_BITMAP"] = "pixel image";
47
+ Blockly.Msg["ARIA_TYPE_FIELD_CHECKBOX"] = "checkbox";
48
+ Blockly.Msg["ARIA_TYPE_FIELD_COLOUR"] = "color";
49
+ Blockly.Msg["ARIA_TYPE_FIELD_DATE"] = "date";
50
+ Blockly.Msg["ARIA_TYPE_FIELD_DROPDOWN"] = "dropdown";
51
+ Blockly.Msg["ARIA_TYPE_FIELD_GRID"] = "grid dropdown";
52
+ Blockly.Msg["ARIA_TYPE_FIELD_IMAGE"] = "image";
53
+ Blockly.Msg["ARIA_TYPE_FIELD_INPUT"] = "input";
54
+ Blockly.Msg["ARIA_TYPE_FIELD_NUMBER"] = "number";
55
+ Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT"] = "text";
56
+ Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT"] = "input name";
57
+ Blockly.Msg["ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE"] = "function name";
58
+ Blockly.Msg["BACKSPACE_KEY"] = "Backspace";
59
+ Blockly.Msg["BLOCK_LABEL_BEGIN_PREFIX"] = "Begin %1";
60
+ Blockly.Msg["BLOCK_LABEL_BEGIN_STACK"] = "Begin stack";
61
+ Blockly.Msg["BLOCK_LABEL_COLLAPSED"] = "collapsed";
62
+ Blockly.Msg["BLOCK_LABEL_CONTAINER"] = "container";
63
+ Blockly.Msg["BLOCK_LABEL_DISABLED"] = "disabled";
64
+ Blockly.Msg["BLOCK_LABEL_HAS_BRANCHES"] = "has %1 branches";
65
+ Blockly.Msg["BLOCK_LABEL_HAS_INPUT"] = "has input";
66
+ Blockly.Msg["BLOCK_LABEL_HAS_INPUTS"] = "has inputs";
67
+ Blockly.Msg["BLOCK_LABEL_REPLACEABLE"] = "replaceable";
68
+ Blockly.Msg["BLOCK_LABEL_STACK_BLOCKS"] = "%1 stack blocks";
69
+ Blockly.Msg["BLOCK_LABEL_STATEMENT"] = "statement";
70
+ Blockly.Msg["BLOCK_LABEL_TOOLBOX_CATEGORY"] = "%1 category";
71
+ Blockly.Msg["BLOCK_LABEL_VALUE"] = "value";
72
+ Blockly.Msg["BUBBLE_LABEL_COMMENT"] = "Comment: %1";
73
+ Blockly.Msg["BUBBLE_LABEL_DEFAULT"] = "Bubble";
74
+ Blockly.Msg["BUBBLE_LABEL_WARNING"] = "Warning: %1";
6
75
  Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";
76
+ Blockly.Msg["CAPS_LOCK_KEY"] = "Caps Lock";
7
77
  Blockly.Msg["CHANGE_VALUE_TITLE"] = "Change value:";
78
+ Blockly.Msg["CHROME_OS"] = "ChromeOS";
8
79
  Blockly.Msg["CLEAN_UP"] = "Clean up Blocks";
80
+ Blockly.Msg["CLOSE"] = "Close";
81
+ Blockly.Msg["CLOSE_BACKPACK"] = "Close backpack";
9
82
  Blockly.Msg["COLLAPSED_WARNINGS_WARNING"] = "Collapsed blocks contain warnings.";
10
83
  Blockly.Msg["COLLAPSE_ALL"] = "Collapse Blocks";
11
84
  Blockly.Msg["COLLAPSE_BLOCK"] = "Collapse Block";
@@ -26,21 +99,23 @@ Blockly.Msg["COLOUR_RGB_HELPURL"] = "https://www.december.com/html/spec/colorper
26
99
  Blockly.Msg["COLOUR_RGB_RED"] = "red";
27
100
  Blockly.Msg["COLOUR_RGB_TITLE"] = "colour with";
28
101
  Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Create a colour with the specified amount of red, green, and blue. All values must be between 0 and 100.";
29
- Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";
102
+ Blockly.Msg["COMMAND_KEY"] = "Command";
103
+ Blockly.Msg["CONTEXT_MENU_KEY"] = "≣ Menu";
104
+ Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks";
30
105
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "break out of loop";
31
106
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continue with next iteration of loop";
32
107
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Break out of the containing loop.";
33
108
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Skip the rest of this loop, and continue with the next iteration.";
34
109
  Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Warning: This block may only be used within a loop.";
35
- Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";
110
+ Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#for-each";
36
111
  Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "for each item %1 in list %2";
37
112
  Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "For each item in a list, set the variable '%1' to the item, and then do some statements.";
38
- Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";
113
+ Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#count-with";
39
114
  Blockly.Msg["CONTROLS_FOR_TITLE"] = "count with %1 from %2 to %3 by %4";
40
115
  Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Have the variable '%1' take on the values from the start number to the end number, counting by the specified interval, and do the specified blocks.";
41
116
  Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Add a condition to the if block.";
42
117
  Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Add a final, catch-all condition to the if block.";
43
- Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";
118
+ Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/IfElse";
44
119
  Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block.";
45
120
  Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "else";
46
121
  Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "else if";
@@ -53,13 +128,20 @@ Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop
53
128
  Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "do";
54
129
  Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "repeat %1 times";
55
130
  Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Do some statements several times.";
56
- Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";
131
+ Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#repeat";
57
132
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "repeat until";
58
133
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repeat while";
59
134
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then do some statements.";
60
135
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "While a value is true, then do some statements.";
136
+ Blockly.Msg["CONTROL_KEY"] = "Control";
137
+ Blockly.Msg["COPY_ALL_TO_BACKPACK"] = "Copy All Blocks to Backpack";
138
+ Blockly.Msg["COPY_SHORTCUT"] = "Copy";
139
+ Blockly.Msg["COPY_TO_BACKPACK"] = "Copy to Backpack";
140
+ Blockly.Msg["CURRENT_BLOCK_ANNOUNCEMENT"] = "Current block: %1";
141
+ Blockly.Msg["CUT_SHORTCUT"] = "Cut";
61
142
  Blockly.Msg["DELETE_ALL_BLOCKS"] = "Delete all %1 blocks?";
62
143
  Blockly.Msg["DELETE_BLOCK"] = "Delete Block";
144
+ Blockly.Msg["DELETE_KEY"] = "Delete";
63
145
  Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";
64
146
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";
65
147
  Blockly.Msg["DELETE_X_BLOCKS"] = "Delete %1 Blocks";
@@ -68,18 +150,106 @@ Blockly.Msg["DIALOG_OK"] = "OK";
68
150
  Blockly.Msg["DISABLE_BLOCK"] = "Disable Block";
69
151
  Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicate";
70
152
  Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";
153
+ Blockly.Msg["EDIT_BLOCK_CONTENTS"] = "Edit Block contents";
154
+ Blockly.Msg["EMPTY_BACKPACK"] = "Empty Backpack";
71
155
  Blockly.Msg["ENABLE_BLOCK"] = "Enable Block";
156
+ Blockly.Msg["END_KEY"] = "End";
157
+ Blockly.Msg["ENTER_KEY"] = "Enter";
158
+ Blockly.Msg["ESCAPE"] = "Escape";
72
159
  Blockly.Msg["EXPAND_ALL"] = "Expand Blocks";
73
160
  Blockly.Msg["EXPAND_BLOCK"] = "Expand Block";
74
161
  Blockly.Msg["EXTERNAL_INPUTS"] = "External Inputs";
162
+ Blockly.Msg["FIELD_BITMAP_ARIA_VALUE"] = "%1 by %2, %3 pixels on";
163
+ Blockly.Msg["FIELD_BITMAP_BUTTON_LABEL_CLEAR"] = "Clear";
164
+ Blockly.Msg["FIELD_BITMAP_BUTTON_LABEL_RANDOMIZE"] = "Randomize";
165
+ Blockly.Msg["FIELD_BITMAP_PIXEL_LABEL"] = "%1, row %2, column %3";
166
+ Blockly.Msg["FIELD_BITMAP_PIXEL_OFF"] = "off";
167
+ Blockly.Msg["FIELD_BITMAP_PIXEL_ON"] = "on";
168
+ Blockly.Msg["FIELD_LABEL_CHECKBOX_CHECKED"] = "Checked";
169
+ Blockly.Msg["FIELD_LABEL_CHECKBOX_UNCHECKED"] = "Not checked";
170
+ Blockly.Msg["FIELD_LABEL_EDIT_PREFIX"] = "Edit %1";
171
+ Blockly.Msg["FIELD_LABEL_EMPTY"] = "empty";
172
+ Blockly.Msg["FIELD_LABEL_OPTION_INDEX"] = "Option %1";
173
+ Blockly.Msg["FIELD_LABEL_VARIABLE"] = "Variable '%1'";
174
+ Blockly.Msg["FIELD_MULTILINEINPUT_FINISH_EDITING"] = "Finish editing";
175
+ Blockly.Msg["FIELD_MULTILINEINPUT_NEW_LINE"] = "New line";
75
176
  Blockly.Msg["HELP"] = "Help";
177
+ Blockly.Msg["HELP_PROMPT"] = "Press %1 for help on keyboard controls.";
178
+ Blockly.Msg["HOME_KEY"] = "Home";
179
+ Blockly.Msg["ICON_LABEL_COMMENT_CLOSED"] = "Open Comment";
180
+ Blockly.Msg["ICON_LABEL_COMMENT_OPEN"] = "Close Comment";
181
+ Blockly.Msg["ICON_LABEL_DEFAULT"] = "Icon";
182
+ Blockly.Msg["ICON_LABEL_MUTATOR_CLOSED"] = "Edit this block";
183
+ Blockly.Msg["ICON_LABEL_MUTATOR_OPEN"] = "Close block editor";
184
+ Blockly.Msg["ICON_LABEL_WARNING_CLOSED"] = "Open Warning";
185
+ Blockly.Msg["ICON_LABEL_WARNING_OPEN"] = "Close Warning";
76
186
  Blockly.Msg["INLINE_INPUTS"] = "Inline Inputs";
77
- Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
187
+ Blockly.Msg["INPUT_LABEL_CONDITION"] = "condition";
188
+ Blockly.Msg["INPUT_LABEL_CONDITION_A"] = "first condition";
189
+ Blockly.Msg["INPUT_LABEL_CONDITION_B"] = "second condition";
190
+ Blockly.Msg["INPUT_LABEL_EMPTY"] = "Empty";
191
+ Blockly.Msg["INPUT_LABEL_END_STATEMENT"] = "End %1";
192
+ Blockly.Msg["INPUT_LABEL_INDEX"] = "input %1";
193
+ Blockly.Msg["INPUT_LABEL_LISTS_CREATE_WITH_ITEM"] = "value %1";
194
+ Blockly.Msg["INPUT_LABEL_LISTS_DELIMITER"] = "delimiter";
195
+ Blockly.Msg["INPUT_LABEL_LISTS_END_POSITION"] = "end position";
196
+ Blockly.Msg["INPUT_LABEL_LISTS_LIST_FROM_TEXT"] = "text to split";
197
+ Blockly.Msg["INPUT_LABEL_LISTS_POSITION"] = "position within list";
198
+ Blockly.Msg["INPUT_LABEL_LISTS_REPEAT_ITEM"] = "value to repeat";
199
+ Blockly.Msg["INPUT_LABEL_LISTS_REPEAT_NUM"] = "number of times to repeat";
200
+ Blockly.Msg["INPUT_LABEL_LISTS_START_POSITION"] = "start position";
201
+ Blockly.Msg["INPUT_LABEL_LISTS_TEXT_FROM_LIST"] = "list to join";
202
+ Blockly.Msg["INPUT_LABEL_LISTS_TO_CHANGE"] = "list to change";
203
+ Blockly.Msg["INPUT_LABEL_LISTS_TO_CHECK"] = "list to check";
204
+ Blockly.Msg["INPUT_LABEL_LISTS_VALUE_TO_SET"] = "value to set";
205
+ Blockly.Msg["INPUT_LABEL_LOOP_BY"] = "increment";
206
+ Blockly.Msg["INPUT_LABEL_LOOP_FROM"] = "starting number";
207
+ Blockly.Msg["INPUT_LABEL_LOOP_LIST"] = "list to iterate over";
208
+ Blockly.Msg["INPUT_LABEL_LOOP_TIMES"] = "number of times to repeat";
209
+ Blockly.Msg["INPUT_LABEL_LOOP_TO"] = "ending number";
210
+ Blockly.Msg["INPUT_LABEL_MATH_CHANGE_BY"] = "amount to change by";
211
+ Blockly.Msg["INPUT_LABEL_MATH_CONSTRAIN_VALUE"] = "number to constrain";
212
+ Blockly.Msg["INPUT_LABEL_MATH_DIVIDEND"] = "dividend";
213
+ Blockly.Msg["INPUT_LABEL_MATH_DIVISOR"] = "divisor";
214
+ Blockly.Msg["INPUT_LABEL_NUMBER"] = "number";
215
+ Blockly.Msg["INPUT_LABEL_NUMBER_A"] = "first number";
216
+ Blockly.Msg["INPUT_LABEL_NUMBER_ATAN2_X"] = "x coordinate";
217
+ Blockly.Msg["INPUT_LABEL_NUMBER_ATAN2_Y"] = "y coordinate";
218
+ Blockly.Msg["INPUT_LABEL_NUMBER_B"] = "second number";
219
+ Blockly.Msg["INPUT_LABEL_NUMBER_LIST"] = "list of numbers";
220
+ Blockly.Msg["INPUT_LABEL_NUMBER_MAX"] = "maximum";
221
+ Blockly.Msg["INPUT_LABEL_NUMBER_MIN"] = "minimum";
222
+ Blockly.Msg["INPUT_LABEL_NUMBER_TO_CHECK"] = "number to check";
223
+ Blockly.Msg["INPUT_LABEL_STATEMENT"] = "statement position";
224
+ Blockly.Msg["INPUT_LABEL_TEXT_APPEND"] = "value to append";
225
+ Blockly.Msg["INPUT_LABEL_TEXT_END_POSITION"] = "end position";
226
+ Blockly.Msg["INPUT_LABEL_TEXT_JOIN_ITEM"] = "value %1";
227
+ Blockly.Msg["INPUT_LABEL_TEXT_POSITION"] = "letter position";
228
+ Blockly.Msg["INPUT_LABEL_TEXT_PROMPT_MESSAGE"] = "message";
229
+ Blockly.Msg["INPUT_LABEL_TEXT_START_POSITION"] = "start position";
230
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_CHANGE"] = "text to change";
231
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_CHECK"] = "text to check";
232
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_FIND"] = "text to find";
233
+ Blockly.Msg["INPUT_LABEL_TEXT_TO_REPLACE"] = "text to replace";
234
+ Blockly.Msg["INPUT_LABEL_VALUE"] = "value position";
235
+ Blockly.Msg["INPUT_LABEL_VALUE_A"] = "first value";
236
+ Blockly.Msg["INPUT_LABEL_VALUE_B"] = "second value";
237
+ Blockly.Msg["INPUT_LABEL_VARIABLES_SET"] = "value to set";
238
+ Blockly.Msg["INSERT_KEY"] = "Insert";
239
+ Blockly.Msg["KEYBOARD_NAV_BLOCK_NAVIGATION_HINT"] = "Use %1 to navigate inside of blocks.";
240
+ Blockly.Msg["KEYBOARD_NAV_CONSTRAINED_MOVE_HINT"] = "Use the arrow keys to move, then %1 to accept the position.";
241
+ Blockly.Msg["KEYBOARD_NAV_COPIED_HINT"] = "Copied. Press %1 to paste.";
242
+ Blockly.Msg["KEYBOARD_NAV_CUT_HINT"] = "Cut. Press %1 to paste.";
243
+ 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.";
244
+ Blockly.Msg["KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT"] = "Hold %1 and use arrow keys to move freely, then %2 to accept the position.";
245
+ Blockly.Msg["KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT"] = "Use the arrow keys to navigate.";
246
+ Blockly.Msg["LINUX"] = "Linux";
247
+ Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-empty-list";
78
248
  Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list";
79
249
  Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";
80
250
  Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "list";
81
251
  Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";
82
- Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
252
+ Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-list-with";
83
253
  Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "create list with";
84
254
  Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Add an item to the list.";
85
255
  Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";
@@ -88,6 +258,7 @@ Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# from end";
88
258
  Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
89
259
  Blockly.Msg["LISTS_GET_INDEX_GET"] = "get";
90
260
  Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "get and remove";
261
+ Blockly.Msg["LISTS_GET_INDEX_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-items-from-a-list";
91
262
  Blockly.Msg["LISTS_GET_INDEX_LAST"] = "last";
92
263
  Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "random";
93
264
  Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "remove";
@@ -107,7 +278,7 @@ Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in
107
278
  Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";
108
279
  Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "to #";
109
280
  Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "to last";
110
- Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";
281
+ Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-sublist";
111
282
  Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";
112
283
  Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";
113
284
  Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";
@@ -116,23 +287,23 @@ Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified port
116
287
  Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 is the last item.";
117
288
  Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 is the first item.";
118
289
  Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";
119
- Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";
290
+ Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#finding-items-in-a-list";
120
291
  Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";
121
292
  Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Returns the index of the first/last occurrence of the item in the list. Returns %1 if item is not found.";
122
293
  Blockly.Msg["LISTS_INLIST"] = "in list";
123
- Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";
294
+ Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#is-empty";
124
295
  Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 is empty";
125
296
  Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returns true if the list is empty.";
126
- Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";
297
+ Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#length-of";
127
298
  Blockly.Msg["LISTS_LENGTH_TITLE"] = "length of %1";
128
299
  Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";
129
- Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
300
+ Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-list-with";
130
301
  Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";
131
302
  Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";
132
- Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
303
+ Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#reversing-a-list";
133
304
  Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";
134
305
  Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";
135
- Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";
306
+ Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#in-list--set";
136
307
  Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "as";
137
308
  Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "insert at";
138
309
  Blockly.Msg["LISTS_SET_INDEX_SET"] = "set";
@@ -144,7 +315,7 @@ Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a lis
144
315
  Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";
145
316
  Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";
146
317
  Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";
147
- Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
318
+ Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#sorting-a-list";
148
319
  Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";
149
320
  Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";
150
321
  Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";
@@ -152,31 +323,37 @@ Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";
152
323
  Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";
153
324
  Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";
154
325
  Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";
155
- Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
326
+ Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#splitting-strings-and-joining-lists";
156
327
  Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";
157
328
  Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";
158
329
  Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";
159
330
  Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";
160
331
  Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";
161
332
  Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "false";
162
- Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";
333
+ Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Logic#values";
163
334
  Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Returns either true or false.";
164
335
  Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "true";
336
+ Blockly.Msg["LOGIC_COMPARE_EQ_ARIA"] = "equals";
337
+ Blockly.Msg["LOGIC_COMPARE_GTE_ARIA"] = "greater than or equal to";
338
+ Blockly.Msg["LOGIC_COMPARE_GT_ARIA"] = "greater than";
165
339
  Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
340
+ Blockly.Msg["LOGIC_COMPARE_LTE_ARIA"] = "less than or equal to";
341
+ Blockly.Msg["LOGIC_COMPARE_LT_ARIA"] = "less than";
342
+ Blockly.Msg["LOGIC_COMPARE_NEQ_ARIA"] = "not equals";
166
343
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Return true if both inputs equal each other.";
167
344
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Return true if the first input is greater than the second input.";
168
345
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Return true if the first input is greater than or equal to the second input.";
169
346
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Return true if the first input is smaller than the second input.";
170
347
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Return true if the first input is smaller than or equal to the second input.";
171
348
  Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Return true if both inputs are not equal to each other.";
172
- Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";
349
+ Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Logic#not";
173
350
  Blockly.Msg["LOGIC_NEGATE_TITLE"] = "not %1";
174
351
  Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Returns true if the input is false. Returns false if the input is true.";
175
352
  Blockly.Msg["LOGIC_NULL"] = "null";
176
353
  Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";
177
354
  Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Returns null.";
178
355
  Blockly.Msg["LOGIC_OPERATION_AND"] = "and";
179
- Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";
356
+ Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Logic#logical-operations";
180
357
  Blockly.Msg["LOGIC_OPERATION_OR"] = "or";
181
358
  Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Return true if both inputs are true.";
182
359
  Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Return true if at least one of the inputs is true.";
@@ -185,7 +362,9 @@ Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
185
362
  Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "if false";
186
363
  Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "if true";
187
364
  Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Check the condition in 'test'. If the condition is true, returns the 'if true' value; otherwise returns the 'if false' value.";
365
+ Blockly.Msg["MAC_OS"] = "macOS";
188
366
  Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
367
+ Blockly.Msg["MATH_ADDITION_SYMBOL_ARIA"] = "plus";
189
368
  Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
190
369
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Return the sum of the two numbers.";
191
370
  Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Return the quotient of the two numbers.";
@@ -198,12 +377,19 @@ Blockly.Msg["MATH_ATAN2_TOOLTIP"] = "Return the arctangent of point (X, Y) in de
198
377
  Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
199
378
  Blockly.Msg["MATH_CHANGE_TITLE"] = "change %1 by %2";
200
379
  Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";
380
+ Blockly.Msg["MATH_CONSTANT_E_ARIA"] = "e";
381
+ Blockly.Msg["MATH_CONSTANT_GOLDEN_RATIO_ARIA"] = "golden ratio";
201
382
  Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
383
+ Blockly.Msg["MATH_CONSTANT_INFINITY_ARIA"] = "infinity";
384
+ Blockly.Msg["MATH_CONSTANT_PI_ARIA"] = "pi";
385
+ Blockly.Msg["MATH_CONSTANT_SQRT1_2_ARIA"] = "square root of 1 over 2";
386
+ Blockly.Msg["MATH_CONSTANT_SQRT2_ARIA"] = "square root of 2";
202
387
  Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Return one of the common constants: π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or ∞ (infinity).";
203
388
  Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";
204
389
  Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";
205
390
  Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";
206
391
  Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
392
+ Blockly.Msg["MATH_DIVISION_SYMBOL_ARIA"] = "divided by";
207
393
  Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "is divisible by";
208
394
  Blockly.Msg["MATH_IS_EVEN"] = "is even";
209
395
  Blockly.Msg["MATH_IS_NEGATIVE"] = "is negative";
@@ -216,13 +402,16 @@ Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_opera
216
402
  Blockly.Msg["MATH_MODULO_TITLE"] = "remainder of %1 ÷ %2";
217
403
  Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";
218
404
  Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
405
+ Blockly.Msg["MATH_MULTIPLICATION_SYMBOL_ARIA"] = "times";
219
406
  Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
220
407
  Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "A number.";
221
408
  Blockly.Msg["MATH_ONLIST_HELPURL"] = "";
222
409
  Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "average of list";
223
410
  Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "max of list";
411
+ Blockly.Msg["MATH_ONLIST_OPERATOR_MAX_ARIA"] = "maximum";
224
412
  Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "median of list";
225
413
  Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "min of list";
414
+ Blockly.Msg["MATH_ONLIST_OPERATOR_MIN_ARIA"] = "minimum";
226
415
  Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modes of list";
227
416
  Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "random item of list";
228
417
  Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";
@@ -236,6 +425,7 @@ Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the li
236
425
  Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";
237
426
  Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Return the sum of all the numbers in the list.";
238
427
  Blockly.Msg["MATH_POWER_SYMBOL"] = "^";
428
+ Blockly.Msg["MATH_POWER_SYMBOL_ARIA"] = "to the power of";
239
429
  Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
240
430
  Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "random fraction";
241
431
  Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";
@@ -249,6 +439,12 @@ Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "round up";
249
439
  Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Round a number up or down.";
250
440
  Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
251
441
  Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolute";
442
+ Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE_ARIA"] = "absolute value";
443
+ Blockly.Msg["MATH_SINGLE_OP_EXP_ARIA"] = "e to the power of";
444
+ Blockly.Msg["MATH_SINGLE_OP_LN_ARIA"] = "natural logarithm";
445
+ Blockly.Msg["MATH_SINGLE_OP_LOG10_ARIA"] = "base 10 logarithm";
446
+ Blockly.Msg["MATH_SINGLE_OP_NEG_ARIA"] = "negative";
447
+ Blockly.Msg["MATH_SINGLE_OP_POW10_ARIA"] = "10 to the power of";
252
448
  Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "square root";
253
449
  Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Return the absolute value of a number.";
254
450
  Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";
@@ -258,26 +454,45 @@ Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Return the negation of a number.";
258
454
  Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";
259
455
  Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Return the square root of a number.";
260
456
  Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";
457
+ Blockly.Msg["MATH_SUBTRACTION_SYMBOL_ARIA"] = "minus";
261
458
  Blockly.Msg["MATH_TRIG_ACOS"] = "acos";
459
+ Blockly.Msg["MATH_TRIG_ACOS_ARIA"] = "inverse cosine";
262
460
  Blockly.Msg["MATH_TRIG_ASIN"] = "asin";
461
+ Blockly.Msg["MATH_TRIG_ASIN_ARIA"] = "inverse sine";
263
462
  Blockly.Msg["MATH_TRIG_ATAN"] = "atan";
463
+ Blockly.Msg["MATH_TRIG_ATAN_ARIA"] = "inverse tangent";
264
464
  Blockly.Msg["MATH_TRIG_COS"] = "cos";
465
+ Blockly.Msg["MATH_TRIG_COS_ARIA"] = "cosine";
265
466
  Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";
266
467
  Blockly.Msg["MATH_TRIG_SIN"] = "sin";
468
+ Blockly.Msg["MATH_TRIG_SIN_ARIA"] = "sine";
267
469
  Blockly.Msg["MATH_TRIG_TAN"] = "tan";
470
+ Blockly.Msg["MATH_TRIG_TAN_ARIA"] = "tangent";
268
471
  Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";
269
472
  Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";
270
473
  Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";
271
474
  Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";
272
475
  Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";
273
476
  Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";
477
+ Blockly.Msg["MINIMAP_ARIA_LABEL"] = "Workspace minimap. Use the arrow keys to pan the workspace.";
478
+ Blockly.Msg["MOVE_BLOCK"] = "Move Block";
274
479
  Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";
275
480
  Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";
276
481
  Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";
277
482
  Blockly.Msg["NEW_VARIABLE"] = "Create variable...";
278
483
  Blockly.Msg["NEW_VARIABLE_TITLE"] = "New variable name:";
279
484
  Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";
485
+ Blockly.Msg["NO_PARENT_ANNOUNCEMENT"] = "Current block has no parent";
486
+ Blockly.Msg["OPEN_BACKPACK"] = "Open backpack";
487
+ Blockly.Msg["OPEN_TRASH"] = "Open trash";
488
+ Blockly.Msg["OPTION_KEY"] = "Option";
280
489
  Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";
490
+ Blockly.Msg["PAGE_DOWN_KEY"] = "Page Down";
491
+ Blockly.Msg["PAGE_UP_KEY"] = "Page Up";
492
+ Blockly.Msg["PARENT_BLOCKS_ANNOUNCEMENT"] = "Parent blocks: %1";
493
+ Blockly.Msg["PASTE_ALL_FROM_BACKPACK"] = "Paste All Blocks from Backpack";
494
+ Blockly.Msg["PASTE_SHORTCUT"] = "Paste";
495
+ Blockly.Msg["PAUSE_KEY"] = "Pause";
281
496
  Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";
282
497
  Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:";
283
498
  Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
@@ -285,6 +500,7 @@ Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function
285
500
  Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
286
501
  Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";
287
502
  Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "with:";
503
+ Blockly.Msg["PROCEDURES_CALL_DISABLED_DEF_WARNING"] = "Can't run the user-defined function '%1' because the definition block is disabled.";
288
504
  Blockly.Msg["PROCEDURES_CREATE_DO"] = "Create '%1'";
289
505
  Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";
290
506
  Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";
@@ -306,12 +522,54 @@ Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs";
306
522
  Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";
307
523
  Blockly.Msg["REDO"] = "Redo";
308
524
  Blockly.Msg["REMOVE_COMMENT"] = "Remove Comment";
309
- Blockly.Msg["RENAME_VARIABLE"] = "Rename variable...";
525
+ Blockly.Msg["REMOVE_FROM_BACKPACK"] = "Remove from Backpack";
526
+ Blockly.Msg["RENAME_VARIABLE"] = "Rename the '%1' variable";
310
527
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Rename all '%1' variables to:";
311
- Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";
528
+ Blockly.Msg["RESET_ZOOM"] = "Reset zoom";
529
+ Blockly.Msg["SCREENREADER_HINT"] = "Use the arrow keys to navigate. Press %1 to toggle screenreader accessibility mode.";
530
+ Blockly.Msg["SCREENREADER_MODE_DISABLED"] = "Screenreader mode is off, press %1 to turn it on";
531
+ Blockly.Msg["SCREENREADER_MODE_ENABLED"] = "Screenreader mode is on, press %1 to turn it off";
532
+ Blockly.Msg["SHIFT_KEY"] = "Shift";
533
+ Blockly.Msg["SHORTCUTS_ABORT_MOVE"] = "Abort move";
534
+ Blockly.Msg["SHORTCUTS_CLEANUP"] = "Clean up workspace";
535
+ Blockly.Msg["SHORTCUTS_CODE_NAVIGATION"] = "Code navigation";
536
+ Blockly.Msg["SHORTCUTS_DELETE"] = "Delete";
537
+ Blockly.Msg["SHORTCUTS_DISCONNECT"] = "Disconnect block";
538
+ Blockly.Msg["SHORTCUTS_DUPLICATE"] = "Duplicate";
539
+ Blockly.Msg["SHORTCUTS_EDITING"] = "Editing";
540
+ Blockly.Msg["SHORTCUTS_ESCAPE"] = "Exit";
541
+ Blockly.Msg["SHORTCUTS_EXTENDED_INFORMATION"] = "Announce detailed information";
542
+ Blockly.Msg["SHORTCUTS_FINISH_MOVE"] = "Finish move";
543
+ Blockly.Msg["SHORTCUTS_FOCUS_TOOLBOX"] = "Focus toolbox";
544
+ Blockly.Msg["SHORTCUTS_FOCUS_WORKSPACE"] = "Focus workspace";
545
+ Blockly.Msg["SHORTCUTS_GENERAL"] = "General";
546
+ Blockly.Msg["SHORTCUTS_INFORMATION"] = "Announce information";
547
+ Blockly.Msg["SHORTCUTS_JUMP_BLOCK_END"] = "Jump to block end";
548
+ Blockly.Msg["SHORTCUTS_JUMP_BLOCK_START"] = "Jump to block start";
549
+ Blockly.Msg["SHORTCUTS_JUMP_BOTTOM_STACK"] = "Jump to bottom of stack";
550
+ Blockly.Msg["SHORTCUTS_JUMP_FIRST_BLOCK"] = "Jump to first block";
551
+ Blockly.Msg["SHORTCUTS_JUMP_LAST_BLOCK"] = "Jump to last block";
552
+ Blockly.Msg["SHORTCUTS_JUMP_TOP_STACK"] = "Jump to top of stack";
553
+ Blockly.Msg["SHORTCUTS_MOVE_DOWN"] = "Move down";
554
+ Blockly.Msg["SHORTCUTS_MOVE_LEFT"] = "Move left";
555
+ Blockly.Msg["SHORTCUTS_MOVE_RIGHT"] = "Move right";
556
+ Blockly.Msg["SHORTCUTS_MOVE_UP"] = "Move up";
557
+ Blockly.Msg["SHORTCUTS_NEXT_HEADING"] = "Next heading";
558
+ Blockly.Msg["SHORTCUTS_NEXT_STACK"] = "Next stack";
559
+ Blockly.Msg["SHORTCUTS_PERFORM_ACTION"] = "Edit or confirm";
560
+ Blockly.Msg["SHORTCUTS_PREVIOUS_HEADING"] = "Previous heading";
561
+ Blockly.Msg["SHORTCUTS_PREVIOUS_STACK"] = "Previous stack";
562
+ Blockly.Msg["SHORTCUTS_SHOW_CONTEXT_MENU"] = "Show menu";
563
+ Blockly.Msg["SHORTCUTS_SHOW_TOOLTIP"] = "Show tooltip";
564
+ Blockly.Msg["SHORTCUTS_START_MOVE"] = "Start move";
565
+ Blockly.Msg["SHORTCUTS_START_MOVE_STACK"] = "Start move stack";
566
+ Blockly.Msg["SHORTCUTS_TOGGLE_SCREENREADER_MODE"] = "Toggle screenreader mode";
567
+ Blockly.Msg["SPACE_KEY"] = "Space";
568
+ Blockly.Msg["TAB_KEY"] = "Tab";
569
+ Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification";
312
570
  Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";
313
571
  Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";
314
- Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";
572
+ Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#adjusting-text-case";
315
573
  Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "to lower case";
316
574
  Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";
317
575
  Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "to UPPER CASE";
@@ -319,79 +577,96 @@ Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a differe
319
577
  Blockly.Msg["TEXT_CHARAT_FIRST"] = "get first letter";
320
578
  Blockly.Msg["TEXT_CHARAT_FROM_END"] = "get letter # from end";
321
579
  Blockly.Msg["TEXT_CHARAT_FROM_START"] = "get letter #";
322
- Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";
580
+ Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-text";
323
581
  Blockly.Msg["TEXT_CHARAT_LAST"] = "get last letter";
324
582
  Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";
325
583
  Blockly.Msg["TEXT_CHARAT_TAIL"] = "";
326
584
  Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";
327
585
  Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";
328
- Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
586
+ Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#counting-substrings";
329
587
  Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";
330
588
  Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";
331
589
  Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";
332
590
  Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "join";
333
591
  Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";
592
+ Blockly.Msg["TEXT_FROM_END_ARIA"] = "letter number from end";
593
+ Blockly.Msg["TEXT_FROM_START_ARIA"] = "letter number";
334
594
  Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";
335
595
  Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "to letter #";
336
596
  Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";
337
- Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";
597
+ Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-region-of-text";
338
598
  Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "in text";
339
599
  Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";
340
600
  Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";
341
601
  Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";
342
602
  Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";
343
603
  Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";
344
- Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";
604
+ Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#finding-text";
345
605
  Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";
346
606
  Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";
347
607
  Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in text %1 %2 %3";
348
608
  Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Returns the index of the first/last occurrence of the first text in the second text. Returns %1 if text is not found.";
349
- Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";
609
+ Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#checking-for-empty-text";
350
610
  Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 is empty";
351
611
  Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";
352
- Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";
612
+ Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-creation";
353
613
  Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "create text with";
354
614
  Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";
355
- Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";
615
+ Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification";
356
616
  Blockly.Msg["TEXT_LENGTH_TITLE"] = "length of %1";
357
617
  Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";
358
- Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";
618
+ Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#printing-text";
359
619
  Blockly.Msg["TEXT_PRINT_TITLE"] = "print %1";
360
620
  Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";
361
- Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";
621
+ Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#getting-input-from-the-user";
362
622
  Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";
363
623
  Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";
364
624
  Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";
365
625
  Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";
366
- Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
626
+ Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#replacing-substrings";
367
627
  Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";
368
628
  Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";
369
- Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
629
+ Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#reversing-text";
370
630
  Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";
371
631
  Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";
372
632
  Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
373
633
  Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "A letter, word, or line of text.";
374
- Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";
634
+ Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Text#trimming-removing-spaces";
375
635
  Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";
376
636
  Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";
377
637
  Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";
378
638
  Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";
379
639
  Blockly.Msg["TODAY"] = "Today";
380
640
  Blockly.Msg["UNDO"] = "Undo";
641
+ Blockly.Msg["UNKNOWN"] = "Unknown";
381
642
  Blockly.Msg["UNNAMED_KEY"] = "unnamed";
382
643
  Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "item";
383
644
  Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";
384
- Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";
645
+ Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Variables#get";
385
646
  Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";
386
647
  Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";
387
648
  Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";
388
- Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";
649
+ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/RaspberryPiFoundation/blockly/wiki/Variables#set";
389
650
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";
390
651
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";
391
652
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";
392
653
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'.";
393
- Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace";
654
+ Blockly.Msg["WINDOWS"] = "Windows";
394
655
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";
656
+ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_MANY"] = "%1 stacks of blocks%2 in workspace.";
657
+ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ONE"] = "One stack of blocks%2 in workspace.";
658
+ Blockly.Msg["WORKSPACE_CONTENTS_BLOCKS_ZERO"] = "No blocks%2 in workspace.";
659
+ Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_MANY"] = " and %1 comments";
660
+ Blockly.Msg["WORKSPACE_CONTENTS_COMMENTS_ONE"] = " and one comment";
661
+ Blockly.Msg["WORKSPACE_LABEL_1_STACK"] = "1 stack of blocks";
662
+ Blockly.Msg["WORKSPACE_LABEL_FLYOUT_WORKSPACE"] = "%1 blocks";
663
+ Blockly.Msg["WORKSPACE_LABEL_MANY_STACKS"] = "%1 stacks of blocks";
664
+ Blockly.Msg["WORKSPACE_LABEL_MUTATOR_WORKSPACE"] = "Block editor workspace";
665
+ Blockly.Msg["WORKSPACE_LABEL_PLAIN"] = "Blocks workspace.";
666
+ Blockly.Msg["WORKSPACE_ROLEDESCRIPTION"] = "workspace";
667
+ Blockly.Msg["ZOOM_IN"] = "Zoom in";
668
+ Blockly.Msg["ZOOM_OUT"] = "Zoom out";
669
+ Blockly.Msg["ZOOM_TO_FIT_ARIA_LABEL"] = "Zoom to fit";
395
670
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
396
671
  Blockly.Msg["CONTROLS_FOR_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
397
672
  Blockly.Msg["CONTROLS_IF_ELSEIF_TITLE_ELSEIF"] = Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"];
@@ -400,7 +675,6 @@ Blockly.Msg["CONTROLS_IF_IF_TITLE_IF"] = Blockly.Msg["CONTROLS_IF_MSG_IF"];
400
675
  Blockly.Msg["CONTROLS_IF_MSG_THEN"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
401
676
  Blockly.Msg["CONTROLS_WHILEUNTIL_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
402
677
  Blockly.Msg["LISTS_CREATE_WITH_ITEM_TITLE"] = Blockly.Msg["VARIABLES_DEFAULT_NAME"];
403
- Blockly.Msg["LISTS_GET_INDEX_HELPURL"] = Blockly.Msg["LISTS_INDEX_OF_HELPURL"];
404
678
  Blockly.Msg["LISTS_GET_INDEX_INPUT_IN_LIST"] = Blockly.Msg["LISTS_INLIST"];
405
679
  Blockly.Msg["LISTS_GET_SUBLIST_INPUT_IN_LIST"] = Blockly.Msg["LISTS_INLIST"];
406
680
  Blockly.Msg["LISTS_INDEX_OF_INPUT_IN_LIST"] = Blockly.Msg["LISTS_INLIST"];
@@ -413,12 +687,14 @@ Blockly.Msg["PROCEDURES_DEFRETURN_TITLE"] = Blockly.Msg["PROCEDURES_DEFNORETURN_
413
687
  Blockly.Msg["TEXT_APPEND_VARIABLE"] = Blockly.Msg["VARIABLES_DEFAULT_NAME"];
414
688
  Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TITLE_ITEM"] = Blockly.Msg["VARIABLES_DEFAULT_NAME"];
415
689
 
416
- Blockly.Msg["MATH_HUE"] = "230";
417
- Blockly.Msg["LOOPS_HUE"] = "120";
690
+ Blockly.Msg["COLOUR_HUE"] = "20";
418
691
  Blockly.Msg["LISTS_HUE"] = "260";
419
692
  Blockly.Msg["LOGIC_HUE"] = "210";
420
- Blockly.Msg["VARIABLES_HUE"] = "330";
421
- Blockly.Msg["TEXTS_HUE"] = "160";
693
+ Blockly.Msg["LOOPS_HUE"] = "120";
694
+ Blockly.Msg["MATH_HUE"] = "230";
422
695
  Blockly.Msg["PROCEDURES_HUE"] = "290";
423
- Blockly.Msg["COLOUR_HUE"] = "20";
696
+ Blockly.Msg["TEXTS_HUE"] = "160";
424
697
  Blockly.Msg["VARIABLES_DYNAMIC_HUE"] = "310";
698
+ Blockly.Msg["VARIABLES_HUE"] = "330";
699
+ return Blockly.Msg;
700
+ }));