blockly 10.3.1 → 10.4.0-beta.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 (207) hide show
  1. package/blockly.min.js +108 -87
  2. package/blockly_compressed.js +107 -87
  3. package/blockly_compressed.js.map +1 -1
  4. package/core/block_dragger.d.ts +39 -4
  5. package/core/blockly.d.ts +4 -0
  6. package/core/connection_previewers/insertion_marker_previewer.d.ts +54 -0
  7. package/core/insertion_marker_manager.d.ts +2 -0
  8. package/core/interfaces/i_connection_previewer.d.ts +39 -0
  9. package/core/registry.d.ts +4 -2
  10. package/core/rendered_connection.d.ts +3 -1
  11. package/core/renderers/common/constants.d.ts +6 -2
  12. package/core/renderers/common/drawer.d.ts +18 -0
  13. package/core/renderers/common/i_path_object.d.ts +6 -15
  14. package/core/renderers/common/info.d.ts +5 -2
  15. package/core/renderers/common/path_object.d.ts +13 -0
  16. package/core/renderers/common/renderer.d.ts +3 -0
  17. package/core/renderers/measurables/connection.d.ts +1 -0
  18. package/core/renderers/zelos/drawer.d.ts +4 -0
  19. package/core/renderers/zelos/renderer.d.ts +4 -2
  20. package/core/workspace_audio.d.ts +10 -0
  21. package/dart.d.ts +2 -0
  22. package/generators/dart/colour.d.ts +16 -0
  23. package/generators/dart/dart_generator.d.ts +100 -0
  24. package/generators/dart/lists.d.ts +24 -0
  25. package/generators/dart/logic.d.ts +20 -0
  26. package/generators/dart/loops.d.ts +14 -0
  27. package/generators/dart/math.d.ts +26 -0
  28. package/generators/dart/procedures.d.ts +17 -0
  29. package/generators/dart/text.d.ts +29 -0
  30. package/generators/dart/variables.d.ts +14 -0
  31. package/generators/dart/variables_dynamic.d.ts +10 -0
  32. package/generators/dart.d.ts +18 -0
  33. package/generators/javascript/colour.d.ts +16 -0
  34. package/generators/javascript/javascript_generator.d.ts +120 -0
  35. package/generators/javascript/lists.d.ts +24 -0
  36. package/generators/javascript/logic.d.ts +20 -0
  37. package/generators/javascript/loops.d.ts +14 -0
  38. package/generators/javascript/math.d.ts +26 -0
  39. package/generators/javascript/procedures.d.ts +17 -0
  40. package/generators/javascript/text.d.ts +29 -0
  41. package/generators/javascript/variables.d.ts +14 -0
  42. package/generators/javascript/variables_dynamic.d.ts +10 -0
  43. package/generators/javascript.d.ts +18 -0
  44. package/generators/lua/colour.d.ts +16 -0
  45. package/generators/lua/lists.d.ts +24 -0
  46. package/generators/lua/logic.d.ts +20 -0
  47. package/generators/lua/loops.d.ts +14 -0
  48. package/generators/lua/lua_generator.d.ts +85 -0
  49. package/generators/lua/math.d.ts +26 -0
  50. package/generators/lua/procedures.d.ts +17 -0
  51. package/generators/lua/text.d.ts +29 -0
  52. package/generators/lua/variables.d.ts +14 -0
  53. package/generators/lua/variables_dynamic.d.ts +10 -0
  54. package/generators/lua.d.ts +16 -0
  55. package/generators/php/colour.d.ts +16 -0
  56. package/generators/php/lists.d.ts +21 -0
  57. package/generators/php/logic.d.ts +20 -0
  58. package/generators/php/loops.d.ts +14 -0
  59. package/generators/php/math.d.ts +26 -0
  60. package/generators/php/php_generator.d.ts +118 -0
  61. package/generators/php/procedures.d.ts +14 -0
  62. package/generators/php/text.d.ts +29 -0
  63. package/generators/php/variables.d.ts +14 -0
  64. package/generators/php/variables_dynamic.d.ts +10 -0
  65. package/generators/php.d.ts +18 -0
  66. package/generators/python/colour.d.ts +16 -0
  67. package/generators/python/lists.d.ts +21 -0
  68. package/generators/python/logic.d.ts +20 -0
  69. package/generators/python/loops.d.ts +14 -0
  70. package/generators/python/math.d.ts +26 -0
  71. package/generators/python/procedures.d.ts +14 -0
  72. package/generators/python/python_generator.d.ts +108 -0
  73. package/generators/python/text.d.ts +26 -0
  74. package/generators/python/variables.d.ts +14 -0
  75. package/generators/python/variables_dynamic.d.ts +10 -0
  76. package/generators/python.d.ts +18 -0
  77. package/javascript.d.ts +2 -0
  78. package/lua.d.ts +2 -0
  79. package/msg/ab.js +2 -1
  80. package/msg/ace.js +1 -0
  81. package/msg/af.js +1 -0
  82. package/msg/am.js +1 -0
  83. package/msg/ar.js +8 -7
  84. package/msg/ast.js +2 -1
  85. package/msg/az.js +2 -1
  86. package/msg/ba.js +5 -4
  87. package/msg/bcc.js +6 -5
  88. package/msg/be-tarask.js +1 -0
  89. package/msg/be.js +1 -0
  90. package/msg/bg.js +4 -3
  91. package/msg/bn.js +1 -0
  92. package/msg/br.js +3 -2
  93. package/msg/bs.js +1 -0
  94. package/msg/ca.js +1 -0
  95. package/msg/cdo.js +1 -0
  96. package/msg/ce.js +441 -0
  97. package/msg/cs.js +1 -0
  98. package/msg/da.js +1 -0
  99. package/msg/de.js +3 -2
  100. package/msg/diq.js +5 -4
  101. package/msg/dtp.js +441 -0
  102. package/msg/dty.js +2 -1
  103. package/msg/ee.js +3 -2
  104. package/msg/el.js +2 -1
  105. package/msg/en-gb.js +1 -0
  106. package/msg/en.js +1 -0
  107. package/msg/eo.js +1 -0
  108. package/msg/es.js +1 -0
  109. package/msg/et.js +1 -0
  110. package/msg/eu.js +1 -0
  111. package/msg/fa.js +5 -4
  112. package/msg/fi.js +1 -0
  113. package/msg/fo.js +1 -0
  114. package/msg/fr.js +2 -1
  115. package/msg/frr.js +1 -0
  116. package/msg/gl.js +2 -1
  117. package/msg/gn.js +2 -1
  118. package/msg/gor.js +1 -0
  119. package/msg/ha.js +1 -0
  120. package/msg/hak.js +1 -0
  121. package/msg/he.js +3 -2
  122. package/msg/hi.js +1 -0
  123. package/msg/hr.js +2 -1
  124. package/msg/hrx.js +1 -0
  125. package/msg/hsb.js +441 -0
  126. package/msg/hu.js +1 -0
  127. package/msg/hy.js +9 -8
  128. package/msg/ia.js +1 -0
  129. package/msg/id.js +5 -4
  130. package/msg/ig.js +1 -0
  131. package/msg/inh.js +1 -0
  132. package/msg/is.js +1 -0
  133. package/msg/it.js +2 -1
  134. package/msg/ja.js +1 -0
  135. package/msg/ka.js +1 -0
  136. package/msg/kab.js +5 -4
  137. package/msg/kbd-cyrl.js +1 -0
  138. package/msg/km.js +10 -9
  139. package/msg/kn.js +31 -30
  140. package/msg/ko.js +2 -1
  141. package/msg/ksh.js +1 -0
  142. package/msg/ku-latn.js +1 -0
  143. package/msg/ky.js +4 -3
  144. package/msg/la.js +1 -0
  145. package/msg/lb.js +1 -0
  146. package/msg/lki.js +5 -4
  147. package/msg/lo.js +2 -1
  148. package/msg/lrc.js +1 -0
  149. package/msg/lt.js +5 -4
  150. package/msg/lv.js +1 -0
  151. package/msg/mg.js +1 -0
  152. package/msg/mk.js +2 -1
  153. package/msg/ml.js +1 -0
  154. package/msg/mnw.js +2 -1
  155. package/msg/ms.js +2 -1
  156. package/msg/my.js +2 -1
  157. package/msg/mzn.js +1 -0
  158. package/msg/nb.js +1 -0
  159. package/msg/ne.js +3 -2
  160. package/msg/nl.js +2 -1
  161. package/msg/oc.js +1 -0
  162. package/msg/olo.js +1 -0
  163. package/msg/pa.js +1 -0
  164. package/msg/pl.js +3 -2
  165. package/msg/pms.js +1 -0
  166. package/msg/ps.js +1 -0
  167. package/msg/pt-br.js +1 -0
  168. package/msg/pt.js +17 -16
  169. package/msg/ro.js +2 -1
  170. package/msg/ru.js +7 -6
  171. package/msg/sc.js +2 -1
  172. package/msg/sco.js +1 -0
  173. package/msg/sd.js +1 -0
  174. package/msg/shn.js +2 -1
  175. package/msg/si.js +1 -0
  176. package/msg/sk.js +1 -0
  177. package/msg/skr-arab.js +2 -1
  178. package/msg/sl.js +1 -0
  179. package/msg/smn.js +1 -0
  180. package/msg/sq.js +17 -16
  181. package/msg/sr-latn.js +3 -2
  182. package/msg/sr.js +2 -1
  183. package/msg/sv.js +1 -0
  184. package/msg/sw.js +1 -0
  185. package/msg/ta.js +13 -12
  186. package/msg/tcy.js +6 -5
  187. package/msg/tdd.js +2 -1
  188. package/msg/te.js +2 -1
  189. package/msg/th.js +2 -1
  190. package/msg/ti.js +1 -0
  191. package/msg/tl.js +2 -1
  192. package/msg/tlh.js +1 -0
  193. package/msg/tr.js +2 -1
  194. package/msg/ug-arab.js +15 -14
  195. package/msg/uk.js +3 -2
  196. package/msg/ur.js +5 -4
  197. package/msg/uz.js +1 -0
  198. package/msg/vi.js +2 -1
  199. package/msg/xmf.js +1 -0
  200. package/msg/yo.js +2 -1
  201. package/msg/yue.js +1 -0
  202. package/msg/zgh.js +1 -0
  203. package/msg/zh-hans.js +2 -1
  204. package/msg/zh-hant.js +1 -0
  205. package/package.json +3 -3
  206. package/php.d.ts +2 -0
  207. package/python.d.ts +2 -0
@@ -0,0 +1,108 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2012 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Block } from '../../core/block.js';
7
+ import { CodeGenerator } from '../../core/generator.js';
8
+ import type { Workspace } from '../../core/workspace.js';
9
+ /**
10
+ * Order of operation ENUMs.
11
+ * http://docs.python.org/reference/expressions.html#summary
12
+ */
13
+ export declare enum Order {
14
+ ATOMIC = 0,
15
+ COLLECTION = 1,
16
+ STRING_CONVERSION = 1,
17
+ MEMBER = 2.1,
18
+ FUNCTION_CALL = 2.2,
19
+ EXPONENTIATION = 3,
20
+ UNARY_SIGN = 4,
21
+ BITWISE_NOT = 4,
22
+ MULTIPLICATIVE = 5,
23
+ ADDITIVE = 6,
24
+ BITWISE_SHIFT = 7,
25
+ BITWISE_AND = 8,
26
+ BITWISE_XOR = 9,
27
+ BITWISE_OR = 10,
28
+ RELATIONAL = 11,
29
+ LOGICAL_NOT = 12,
30
+ LOGICAL_AND = 13,
31
+ LOGICAL_OR = 14,
32
+ CONDITIONAL = 15,
33
+ LAMBDA = 16,
34
+ NONE = 99
35
+ }
36
+ /**
37
+ * PythonScript code generator class.
38
+ */
39
+ export declare class PythonGenerator extends CodeGenerator {
40
+ /** List of outer-inner pairings that do NOT require parentheses. */
41
+ ORDER_OVERRIDES: [Order, Order][];
42
+ /**
43
+ * Empty loops or conditionals are not allowed in Python.
44
+ */
45
+ PASS: string;
46
+ /** @param name Name of the language the generator is for. */
47
+ constructor(name?: string);
48
+ /**
49
+ * Initialise the database of variable names.
50
+ *
51
+ * @param workspace Workspace to generate code from.
52
+ */
53
+ init(workspace: Workspace): void;
54
+ /**
55
+ * Prepend the generated code with import statements and variable definitions.
56
+ *
57
+ * @param code Generated code.
58
+ * @returns Completed code.
59
+ */
60
+ finish(code: string): string;
61
+ /**
62
+ * Naked values are top-level blocks with outputs that aren't plugged into
63
+ * anything.
64
+ *
65
+ * @param line Line of generated code.
66
+ * @returns Legal line of code.
67
+ */
68
+ scrubNakedValue(line: string): string;
69
+ /**
70
+ * Encode a string as a properly escaped Python string, complete with quotes.
71
+ *
72
+ * @param string Text to encode.
73
+ * @returns Python string.
74
+ */
75
+ quote_(string: string): string;
76
+ /**
77
+ * Encode a string as a properly escaped multiline Python string, complete
78
+ * with quotes.
79
+ *
80
+ * @param string Text to encode.
81
+ * @returns Python string.
82
+ */
83
+ multiline_quote_(string: string): string;
84
+ /**
85
+ * Common tasks for generating Python from blocks.
86
+ * Handles comments for the specified block and any connected value blocks.
87
+ * Calls any statements following this block.
88
+ *
89
+ * @param block The current block.
90
+ * @param code The Python code created for this block.
91
+ * @param thisOnly True to generate code for only this statement.
92
+ * @returns Python code with comments and subsequent blocks added.
93
+
94
+ */
95
+ scrub_(block: Block, code: string, thisOnly?: boolean): string;
96
+ /**
97
+ * Gets a property and adjusts the value, taking into account indexing.
98
+ * If a static int, casts to an integer, otherwise returns a code string.
99
+ *
100
+ * @param block The block.
101
+ * @param atId The ID of the input block to get (and adjust) the value of.
102
+ * @param delta Value to add.
103
+ * @param negate Whether to negate the value.
104
+ * @returns The adjusted value or code that evaluates to it.
105
+ */
106
+ getAdjustedInt(block: Block, atId: string, delta?: number, negate?: boolean): string | number;
107
+ }
108
+ //# sourceMappingURL=python_generator.d.ts.map
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2012 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Block } from '../../core/block.js';
7
+ import { Order } from './python_generator.js';
8
+ import type { PythonGenerator } from './python_generator.js';
9
+ export declare function text(block: Block, generator: PythonGenerator): [string, Order];
10
+ export declare function text_multiline(block: Block, generator: PythonGenerator): [string, Order];
11
+ export declare function text_join(block: Block, generator: PythonGenerator): [string, Order];
12
+ export declare function text_append(block: Block, generator: PythonGenerator): string;
13
+ export declare function text_length(block: Block, generator: PythonGenerator): [string, Order];
14
+ export declare function text_isEmpty(block: Block, generator: PythonGenerator): [string, Order];
15
+ export declare function text_indexOf(block: Block, generator: PythonGenerator): [string, Order];
16
+ export declare function text_charAt(block: Block, generator: PythonGenerator): [string, Order];
17
+ export declare function text_getSubstring(block: Block, generator: PythonGenerator): [string, Order];
18
+ export declare function text_changeCase(block: Block, generator: PythonGenerator): [string, Order];
19
+ export declare function text_trim(block: Block, generator: PythonGenerator): [string, Order];
20
+ export declare function text_print(block: Block, generator: PythonGenerator): string;
21
+ export declare function text_prompt_ext(block: Block, generator: PythonGenerator): [string, Order];
22
+ export declare const text_prompt: typeof text_prompt_ext;
23
+ export declare function text_count(block: Block, generator: PythonGenerator): [string, Order];
24
+ export declare function text_replace(block: Block, generator: PythonGenerator): [string, Order];
25
+ export declare function text_reverse(block: Block, generator: PythonGenerator): [string, Order];
26
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2012 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * @file Generating Python for variable blocks.
8
+ */
9
+ import type { Block } from '../../core/block.js';
10
+ import type { PythonGenerator } from './python_generator.js';
11
+ import { Order } from './python_generator.js';
12
+ export declare function variables_get(block: Block, generator: PythonGenerator): [string, Order];
13
+ export declare function variables_set(block: Block, generator: PythonGenerator): string;
14
+ //# sourceMappingURL=variables.d.ts.map
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2018 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * @file Generating Python for dynamic variable blocks.
8
+ */
9
+ export { variables_get as variables_get_dynamic, variables_set as variables_set_dynamic, } from './variables.js';
10
+ //# sourceMappingURL=variables_dynamic.d.ts.map
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2021 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * @file Instantiate a PythonGenerator and populate it with the
8
+ * complete set of block generator functions for Python. This is the
9
+ * entrypoint for python_compressed.js.
10
+ */
11
+ import { PythonGenerator } from './python/python_generator.js';
12
+ export * from './python/python_generator.js';
13
+ /**
14
+ * Python code generator instance.
15
+ * @type {!PythonGenerator}
16
+ */
17
+ export declare const pythonGenerator: PythonGenerator;
18
+ //# sourceMappingURL=python.d.ts.map
package/javascript.d.ts CHANGED
@@ -43,3 +43,5 @@ export enum Order {
43
43
  }
44
44
 
45
45
  export declare const javascriptGenerator: any;
46
+
47
+ export {JavascriptGenerator} from './generators/javascript';
package/lua.d.ts CHANGED
@@ -20,3 +20,5 @@ export enum Order {
20
20
  }
21
21
 
22
22
  export declare const luaGenerator: any;
23
+
24
+ export {LuaGenerator} from './generators/lua';
package/msg/ab.js CHANGED
@@ -252,7 +252,7 @@ Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of t
252
252
  Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Иҳанаҭоит ахьӡынҵа иаҵанакуа ахыԥхьаӡарақәа зегьы реицҵалыҵ.";
253
253
  Blockly.Msg["MATH_POWER_SYMBOL"] = "^"; // untranslated
254
254
  Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation"; // untranslated
255
- Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "иарбанзаалакь ахыԥхьашара 0 инаркны (иалаҵаны) 1 аҟынӡа";
255
+ Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "иарбанзаалакь ахыԥхьашара 0 инаркны (иалаҵаны) 1 аҟынӡа";
256
256
  Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Иҳанаҭоит иарбанзаалакь ахыԥхьаӡара 0.0 инаркны (иалаҵаны) 1.0 аҟынӡа.";
257
257
  Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation"; // untranslated
258
258
  Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "иарбанзаалакь еибгоу ахыԥхьаӡара %1 инаркны %2 нӡа";
@@ -404,6 +404,7 @@ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/V
404
404
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input."; // untranslated
405
405
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Аҽеиҭак ахьӡ '%1' змоу ыҟоуп.";
406
406
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'."; // untranslated
407
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
407
408
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace"; // untranslated
408
409
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
409
410
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/ace.js CHANGED
@@ -404,6 +404,7 @@ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/V
404
404
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input."; // untranslated
405
405
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists."; // untranslated
406
406
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'."; // untranslated
407
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
407
408
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace"; // untranslated
408
409
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
409
410
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/af.js CHANGED
@@ -404,6 +404,7 @@ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/V
404
404
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input."; // untranslated
405
405
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "'n Veranderlike met die naam '%1' bestaan reeds.";
406
406
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "'n Veranderlike met die naam '%1' bestaan reeds vir 'n ander tipe veranderlike: '%2'.";
407
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
407
408
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace"; // untranslated
408
409
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
409
410
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/am.js CHANGED
@@ -404,6 +404,7 @@ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/V
404
404
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input."; // untranslated
405
405
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists."; // untranslated
406
406
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'."; // untranslated
407
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
407
408
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace"; // untranslated
408
409
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
409
410
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/ar.js CHANGED
@@ -52,7 +52,7 @@ Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "لكل عنصر %1 في قائمة %2";
52
52
  Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "لكل عنصر في قائمة ما، عين المتغير '%1' لهذا الغنصر، ومن ثم نفذ بعض الأوامر.";
53
53
  Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with"; // untranslated
54
54
  Blockly.Msg["CONTROLS_FOR_TITLE"] = "عد بـ %1 من %2 إلى %3 بمعدل %4";
55
- Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "اجعل المتغير %1 يأخذ القيم من رقم البداية الى رقم النهاية، وقم بالعد داخل المجال المحدد، وطبق أوامر القطع المحددة.";
55
+ Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "اجعل المتغير %1 يأخذ القيم من رقم البداية الى رقم النهاية، وقم بالعد داخل المجال المحدد، وطبق أوامر القطع المحددة.";
56
56
  Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "إضف شرطا إلى القطعة الشرطية \"إذا\".";
57
57
  Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "أضف شرط \"نهاية، إجمع\" إلى القطعة الشرطية \"إذا\".";
58
58
  Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse"; // untranslated
@@ -66,7 +66,7 @@ Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "إذا كانت القيمة الأول
66
66
  Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "إذا كانت القيمة الأولى تساوي \"صحيح\", إذن قم بتنفيذ القطعة الأولى من الأوامر. والا , إذا كانت القيمة الثانية تساوي \"صحيح\", قم بتنفيذ القطعة الثانية من الأوامر. إذا لم تكن هناك أي قيمة تساوي صحيح, قم بتنفيذ آخر قطعة من الأوامر.";
67
67
  Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://ar.wikipedia.org/wiki/حلقة_تكرار";
68
68
  Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "نفّذ";
69
- Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "كرر %1 مرات";
69
+ Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "كرر %1 مرات";
70
70
  Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "نفّذ بعض الأوامر عدة مرات.";
71
71
  Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat"; // untranslated
72
72
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "اكرّر حتى";
@@ -124,7 +124,7 @@ Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "إلى #";
124
124
  Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "إلى الأخير";
125
125
  Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist"; // untranslated
126
126
  Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "احصل على قائمة فرعية من الأول";
127
- Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "احصل على قائمة فرعية من # من نهاية";
127
+ Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "احصل على قائمة فرعية من # من نهاية";
128
128
  Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "احصل على قائمة فرعية من #";
129
129
  Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = ""; // untranslated
130
130
  Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "يقوم بإنشاء نسخة من الجزء المحدد من قائمة ما.";
@@ -133,7 +133,7 @@ Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 هو العنصر الأول
133
133
  Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "ابحث على على التواجد الأول للعنصر";
134
134
  Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list"; // untranslated
135
135
  Blockly.Msg["LISTS_INDEX_OF_LAST"] = "ابحث على التواجد الأخير للعنصر";
136
- Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "تقوم بإرجاع مؤشر التواجد الأول/الأخير في القائمة. تقوم بإرجاع %1 إذا لم يتم العثور على النص.";
136
+ Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "تقوم بإرجاع مؤشر التواجد الأول/الأخير في القائمة. تقوم بإرجاع %1 إذا لم يتم العثور على النص.";
137
137
  Blockly.Msg["LISTS_INLIST"] = "في قائمة";
138
138
  Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty"; // untranslated
139
139
  Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 فارغ";
@@ -142,7 +142,7 @@ Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Li
142
142
  Blockly.Msg["LISTS_LENGTH_TITLE"] = "الطول من %1";
143
143
  Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "تقوم بإرجاع طول قائمة.";
144
144
  Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with"; // untranslated
145
- Blockly.Msg["LISTS_REPEAT_TITLE"] = "إنشئ قائمة مع العنصر %1 %2 مرات";
145
+ Blockly.Msg["LISTS_REPEAT_TITLE"] = "إنشئ قائمة مع العنصر %1 %2 مرات";
146
146
  Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "انشئ قائمة تتألف من القيمة المعطاة متكررة لعدد محدد من المرات.";
147
147
  Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list"; // untranslated
148
148
  Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "عكس %1";
@@ -255,7 +255,7 @@ Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://ar.wikipedia.org/wiki/تول
255
255
  Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "كسر عشوائي";
256
256
  Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "يرجع جزء عشوائي بين 0.0 (ضمنياً) و 1.0 (خارجيا).";
257
257
  Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://ar.wikipedia.org/wiki/توليد_الأعداد_العشوائية";
258
- Blockly.Msg["MATH_RANDOM_INT_TITLE"] = " عدد صحيح عشوائي من %1 إلى %2";
258
+ Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "عدد صحيح عشوائي من %1 إلى %2";
259
259
  Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "يرجع عدد صحيح عشوائي بين حدين محددين, ضمنيا.";
260
260
  Blockly.Msg["MATH_ROUND_HELPURL"] = "https://ar.wikipedia.org/wiki/تقريب_(رياضيات)";
261
261
  Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "تقريب";
@@ -298,7 +298,7 @@ Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "مع:";
298
298
  Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://ar.wikipedia.org/wiki/دالة_(برمجة)";
299
299
  Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "تشغيل الدالة المعرفة من قبل المستخدم '%1'.";
300
300
  Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://ar.wikipedia.org/wiki/دالة_(برمجة)";
301
- Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "تشغيل الدالة المعرفة من قبل المستخدم %1 واستخدام مخرجاتها.";
301
+ Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "تشغيل الدالة المعرفة من قبل المستخدم %1 واستخدام مخرجاتها.";
302
302
  Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "مع:";
303
303
  Blockly.Msg["PROCEDURES_CREATE_DO"] = "إنشئ '%1'";
304
304
  Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "صف هذه الوظيفة...";
@@ -404,6 +404,7 @@ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/V
404
404
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "تعيين هذا المتغير لتكون مساوية للقيمة المدخلة.";
405
405
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "المتغير '%1' موجود بالفعل";
406
406
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "متغير بأسم '%1' معرف من نوع اخر : '%2'.";
407
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
407
408
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "مساحة عمل بلوكلي";
408
409
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "قل شيئا...";
409
410
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/ast.js CHANGED
@@ -78,7 +78,7 @@ Blockly.Msg["DELETE_BLOCK"] = "Delete Block"; // untranslated
78
78
  Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable"; // untranslated
79
79
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?"; // untranslated
80
80
  Blockly.Msg["DELETE_X_BLOCKS"] = "Delete %1 Blocks"; // untranslated
81
- Blockly.Msg["DIALOG_CANCEL"] = "Encaboxar";
81
+ Blockly.Msg["DIALOG_CANCEL"] = "Zarrar";
82
82
  Blockly.Msg["DIALOG_OK"] = "Aceutar";
83
83
  Blockly.Msg["DISABLE_BLOCK"] = "Disable Block"; // untranslated
84
84
  Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicate"; // untranslated
@@ -404,6 +404,7 @@ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/V
404
404
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input."; // untranslated
405
405
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists."; // untranslated
406
406
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'."; // untranslated
407
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
407
408
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace"; // untranslated
408
409
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
409
410
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/az.js CHANGED
@@ -342,7 +342,7 @@ Blockly.Msg["TEXT_CHARAT_TITLE"] = "mətndə %1 %2";
342
342
  Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Göstərilən mövqedəki hərfi qaytarır.";
343
343
  Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings"; // untranslated
344
344
  Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "%2 içindən %1 sayını hesabla";
345
- Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Hesablayaq, mətnin bu hissəsi başqa mətndə neçə dəfə rast gəlinir.";
345
+ Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Hesablayaq, mətnin bu hissəsi başqa mətndə neçə dəfə rast gəlinir.";
346
346
  Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Mətnə bir element əlavə et.";
347
347
  Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "birləşdir";
348
348
  Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Bu mətn blokunu yenidən konfigurasiya etmək üçün bölmələri əlavə edin, silin və ya yerlərini dəyişin.";
@@ -404,6 +404,7 @@ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/V
404
404
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Bu dəyişəni daxil edilmiş qiymətə bərabər edir.";
405
405
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "'%1' adlı dəyişən artıq mövcuddur.";
406
406
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "'%1' adlı dəyişən artıq '%2': tipində istifadə edilir .";
407
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
407
408
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace"; // untranslated
408
409
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Buraya nə isə yaz...";
409
410
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/ba.js CHANGED
@@ -66,7 +66,7 @@ Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Беренсе шарт дөрөҫ бу
66
66
  Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Беренсе шарт дөрөҫ булһа, командаларҙың беренсе блогын үтәй. Әгәр икенсе шарт дөрөҫ булһа, командаларҙың икенсе блогын үтәй. Бер шарт та дөрөҫ булмаһа, команда блоктарының һуңғыһын үтәй.";
67
67
  Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/Цикл_(программалау)";
68
68
  Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "үтәргә";
69
- Blockly.Msg["CONTROLS_REPEAT_TITLE"] = " %1 тапҡыр ҡабатларға";
69
+ Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1 тапҡыр ҡабатларға";
70
70
  Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Командаларҙы бер нисә тапҡыр үтәй.";
71
71
  Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat"; // untranslated
72
72
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "ҡабатларға, әлегә юҡ";
@@ -77,8 +77,8 @@ Blockly.Msg["DELETE_ALL_BLOCKS"] = "Бөтә %1 блоктарҙы юйырға
77
77
  Blockly.Msg["DELETE_BLOCK"] = "Блокты юйҙырырға";
78
78
  Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable"; // untranslated
79
79
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?"; // untranslated
80
- Blockly.Msg["DELETE_X_BLOCKS"] = " %1 блокты юйҙырырға";
81
- Blockly.Msg["DIALOG_CANCEL"] = " Баш тартыу";
80
+ Blockly.Msg["DELETE_X_BLOCKS"] = "%1 блокты юйҙырырға";
81
+ Blockly.Msg["DIALOG_CANCEL"] = "Баш тартыу";
82
82
  Blockly.Msg["DIALOG_OK"] = "Яҡшы";
83
83
  Blockly.Msg["DISABLE_BLOCK"] = "Блокты һүндерергә";
84
84
  Blockly.Msg["DUPLICATE_BLOCK"] = "Дубликатын эшләргә";
@@ -243,7 +243,7 @@ Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "исемлектең осраҡл
243
243
  Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "исемлекте стандарт кире ҡағыу";
244
244
  Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "исемлек суммаһы";
245
245
  Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Исемлектең уртаса арифметик дәүмәле күрһәтә.";
246
- Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Исемлектең иң ҙур һанын күрһәтә.";
246
+ Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Исемлектең иң ҙур һанын күрһәтә.";
247
247
  Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Исемлек медианаһын күрһәтә.";
248
248
  Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Исемлектәге иң бәләкәй һанды күрһәтә.";
249
249
  Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Исемлектең иң күп осраған элементтарын күрһәтә.";
@@ -404,6 +404,7 @@ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/V
404
404
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input."; // untranslated
405
405
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists."; // untranslated
406
406
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'."; // untranslated
407
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
407
408
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace"; // untranslated
408
409
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
409
410
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/bcc.js CHANGED
@@ -52,7 +52,7 @@ Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "برای هر مورد %1 در فهرس
52
52
  Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "برای هر مورد در این فهرست، تنظیم متغیر «%1» به مورد و انجام تعدادی عبارت.";
53
53
  Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with"; // untranslated
54
54
  Blockly.Msg["CONTROLS_FOR_TITLE"] = "با تعداد %1 از %2 به %3 با گام‌های %4";
55
- Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "متغیر %1 را در مقادیر شروع‌شده از عدد انتهای به عدد انتهایی را دارد، با فواصل مشخص‌شده می‌شمارد و این بلوک مشخص‌شده را انجام می‌دهد.";
55
+ Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "متغیر %1 را در مقادیر شروع‌شده از عدد انتهای به عدد انتهایی را دارد، با فواصل مشخص‌شده می‌شمارد و این بلوک مشخص‌شده را انجام می‌دهد.";
56
56
  Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "افزودن یک شرط به بلوک اگر.";
57
57
  Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "اضافه‌کردن نهایی، گرفتن همهٔ شرایط به بلوک اگر.";
58
58
  Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse"; // untranslated
@@ -320,7 +320,7 @@ Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "اضافه کردن ورودی
320
320
  Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "ورودی‌ها";
321
321
  Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "افزودن، حذف یا دوباره مرتب‌کردن ورودی این تابع.";
322
322
  Blockly.Msg["REDO"] = "Redo"; // untranslated
323
- Blockly.Msg["REMOVE_COMMENT"] = "حذف نظر";
323
+ Blockly.Msg["REMOVE_COMMENT"] = "گپءِ کار کنگ";
324
324
  Blockly.Msg["RENAME_VARIABLE"] = "تغییر نام متغیر...";
325
325
  Blockly.Msg["RENAME_VARIABLE_TITLE"] = "تغییر نام همهٔ متغیرهای «%1» به:";
326
326
  Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification"; // untranslated
@@ -387,9 +387,9 @@ Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in t
387
387
  Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%B1%D8%B4%D8%AA%D9%87_%28%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87%29";
388
388
  Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "یک حرف، کلمه یا خطی از متن.";
389
389
  Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces"; // untranslated
390
- Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "تراشیدن فاصله‌ها از هر دو طرف";
391
- Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "تراشیدن فاصله‌ها از طرف چپ";
392
- Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "تراشیدن فاصله‌ها از طرف چپ";
390
+ Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "تراشیدن فاصله‌ها از هر دو طرف";
391
+ Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "تراشیدن فاصله‌ها از طرف چپ";
392
+ Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "تراشیدن فاصله‌ها از طرف چپ";
393
393
  Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "کپی از متن با فاصله‌های حذف‌شده از یک یا هر دو پایان باز می‌گرداند.";
394
394
  Blockly.Msg["TODAY"] = "مرۏچی";
395
395
  Blockly.Msg["UNDO"] = "Undo"; // untranslated
@@ -404,6 +404,7 @@ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/V
404
404
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "متغیر برابر با خروجی را مشخص می‌کند.";
405
405
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists."; // untranslated
406
406
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'."; // untranslated
407
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
407
408
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace"; // untranslated
408
409
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
409
410
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/be-tarask.js CHANGED
@@ -404,6 +404,7 @@ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/V
404
404
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Надаць гэтай зьменнай значэньне ўстаўкі.";
405
405
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Зьменная з назвай «%1» ужо існуе.";
406
406
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Зьменная з назвай «%1» ужо існуе зь іншым тыпам: «%2».";
407
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
407
408
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Працоўная прастора Blockly";
408
409
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Напішыце што-небудзь…";
409
410
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/be.js CHANGED
@@ -404,6 +404,7 @@ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/V
404
404
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Прысабечвае пераменнай значэнне ўстаўкі.";
405
405
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Пераменная з назвай '%1' ужо існуе.";
406
406
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Назва пераменнай '%1' ужо выкарыстоўваецца іншай пераменнай тыпу '%2'.";
407
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
407
408
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace"; // untranslated
408
409
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
409
410
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/bg.js CHANGED
@@ -73,7 +73,7 @@ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "повтаряй докат
73
73
  Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "повтаряй докато е вярно, че";
74
74
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Изпълни командите, ако стойността не е вярна.";
75
75
  Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Изпълни командите, ако стойността е вярна.";
76
- Blockly.Msg["DELETE_ALL_BLOCKS"] = "Изтриване на всички 1% блокове?";
76
+ Blockly.Msg["DELETE_ALL_BLOCKS"] = "Изтриване на всички %1 блокове?";
77
77
  Blockly.Msg["DELETE_BLOCK"] = "Изтрий блок";
78
78
  Blockly.Msg["DELETE_VARIABLE"] = "Изтриване на променливата \"%1\"";
79
79
  Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Изтриване на %1 използване на променлива '%2'?";
@@ -213,7 +213,7 @@ Blockly.Msg["MATH_ATAN2_TOOLTIP"] = "Връща аркустангенс на т
213
213
  Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://bg.wikipedia.org/wiki/Събиране";
214
214
  Blockly.Msg["MATH_CHANGE_TITLE"] = "промени %1 на %2";
215
215
  Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Добави число към променлива „%1“.";
216
- Blockly.Msg["MATH_CONSTANT_HELPURL"] = "http://bg.wikipedia.org/wiki/Константа";
216
+ Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://bg.wikipedia.org/wiki/Константа";
217
217
  Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Връща една от често срещаните константи: π (3.141...), e (2.718...), φ (1.618...), sqrt(2) (1.414...), sqrt(½) (0.707...) или ∞ (безкрайност).";
218
218
  Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)"; // untranslated
219
219
  Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "ограничи %1 между %2 и %3";
@@ -227,7 +227,7 @@ Blockly.Msg["MATH_IS_POSITIVE"] = "е положително";
227
227
  Blockly.Msg["MATH_IS_PRIME"] = "е просто";
228
228
  Blockly.Msg["MATH_IS_TOOLTIP"] = "Проверете дали дадено число е четно, нечетно, просто, цяло, положително, отрицателно или дали се дели на друго число. Връща вярно или невярно.";
229
229
  Blockly.Msg["MATH_IS_WHOLE"] = "е цяло";
230
- Blockly.Msg["MATH_MODULO_HELPURL"] = "http://bg.wikipedia.org/wiki/Остатък";
230
+ Blockly.Msg["MATH_MODULO_HELPURL"] = "https://bg.wikipedia.org/wiki/Остатък";
231
231
  Blockly.Msg["MATH_MODULO_TITLE"] = "остатъка от делението на %1 на %2";
232
232
  Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Върни остатъка от деление на две числа.";
233
233
  Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×"; // untranslated
@@ -404,6 +404,7 @@ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/V
404
404
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Установява променливата със стойността на входа.";
405
405
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Променлива с име '%1' вече съществува.";
406
406
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Променлива с име '%1' вече съществува за друг тип: '%2'.";
407
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "Променлива с име '%1' вече съществува като параметър в процедурата '%2'.";
407
408
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Работна област на Blockly";
408
409
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Коментирайте нещо...";
409
410
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/bn.js CHANGED
@@ -404,6 +404,7 @@ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/V
404
404
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input."; // untranslated
405
405
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "'%1' নামের চলক পূর্ব থেকে অাছে।";
406
406
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "'%1' নামের চলক '%2' ধরনের চলকের জন্য পূর্ব থেকেই অাছে।";
407
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
407
408
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace"; // untranslated
408
409
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
409
410
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/br.js CHANGED
@@ -30,7 +30,7 @@ Blockly.Msg["COLOUR_BLEND_HELPURL"] = "https://meyerweb.com/eric/tools/color-ble
30
30
  Blockly.Msg["COLOUR_BLEND_RATIO"] = "feur";
31
31
  Blockly.Msg["COLOUR_BLEND_TITLE"] = "meskañ";
32
32
  Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "a gemmesk daou liv gant ur feur roet(0.0 - 1.0).";
33
- Blockly.Msg["COLOUR_PICKER_HELPURL"] = "http://br.wikipedia.org/wiki/Liv";
33
+ Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://br.wikipedia.org/wiki/Liv";
34
34
  Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Dibab ul liv diwar al livaoueg.";
35
35
  Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com"; // untranslated
36
36
  Blockly.Msg["COLOUR_RANDOM_TITLE"] = "liv dargouezhek";
@@ -214,7 +214,7 @@ Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_
214
214
  Blockly.Msg["MATH_CHANGE_TITLE"] = "kemmañ %1 gant %2";
215
215
  Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Ouzhpennañ un niver d'an argemmenn '%1'.";
216
216
  Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant"; // untranslated
217
- Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Distreiñ unan eus digemmennoù red : π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or ∞ (anvevenn).";
217
+ Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Distreiñ unan eus digemmennoù red : π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or ∞ (anvevenn).";
218
218
  Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)"; // untranslated
219
219
  Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "destrizhañ %1 etre %2 ha %3";
220
220
  Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Destrizhañ un niver da vezañ etre ar bevennoù spisaet (enlakaet)";
@@ -404,6 +404,7 @@ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/V
404
404
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Termenañ a ra argemm-mañ evit ma vo par da dalvoudenn ar moned.";
405
405
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Un argemmenn anvet '%1' zo anezhi dija.";
406
406
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Un argemenn anvet '%1' zo c'hoazh evit un argemenn all eus ar seurt : '%2'.";
407
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
407
408
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Takad labour Blockly";
408
409
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Lavaret un dra bennak...";
409
410
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/bs.js CHANGED
@@ -404,6 +404,7 @@ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/V
404
404
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input."; // untranslated
405
405
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Varijabla s imenom \"%1\" već postoji.";
406
406
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Varijabla s imenom \"%1\" već postoji za drugu vrstu: \"%2\".";
407
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
407
408
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace"; // untranslated
408
409
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
409
410
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/ca.js CHANGED
@@ -404,6 +404,7 @@ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/V
404
404
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Modifica aquesta variable al valor introduït.";
405
405
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Ja existeix una variable anomenada '%1'.";
406
406
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Una variable anomenada '%1' ja existeix per al tipus '%2'.";
407
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
407
408
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Espai de treball Blockly";
408
409
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Digues alguna cosa...";
409
410
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
package/msg/cdo.js CHANGED
@@ -404,6 +404,7 @@ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/V
404
404
  Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input."; // untranslated
405
405
  Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists."; // untranslated
406
406
  Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'."; // untranslated
407
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER"] = "A variable named '%1' already exists as a parameter in the procedure '%2'."; // untranslated
407
408
  Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Blockly Workspace"; // untranslated
408
409
  Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something..."; // untranslated
409
410
  Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];