@saltcorn/server 1.1.1-beta.5 → 1.1.1-beta.7

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 (153) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/auth/admin.js +8 -0
  3. package/locales/en.json +16 -1
  4. package/markup/admin.js +8 -3
  5. package/markup/blockly.js +4 -4
  6. package/package.json +9 -9
  7. package/public/blockly/blockly_compressed.js +2016 -0
  8. package/public/blockly/blockly_compressed.js.map +1 -0
  9. package/public/blockly/blocks_compressed.js +212 -0
  10. package/public/blockly/blocks_compressed.js.map +1 -0
  11. package/public/blockly/javascript_compressed.js +121 -0
  12. package/public/blockly/javascript_compressed.js.map +1 -0
  13. package/public/blockly/msg/ab.js +440 -0
  14. package/public/blockly/msg/ace.js +440 -0
  15. package/public/blockly/msg/af.js +440 -0
  16. package/public/blockly/msg/am.js +440 -0
  17. package/public/blockly/msg/ar.js +440 -0
  18. package/public/blockly/msg/ast.js +440 -0
  19. package/public/blockly/msg/az.js +440 -0
  20. package/public/blockly/msg/ba.js +440 -0
  21. package/public/blockly/msg/bcc.js +440 -0
  22. package/public/blockly/msg/be-tarask.js +440 -0
  23. package/public/blockly/msg/be.js +440 -0
  24. package/public/blockly/msg/bg.js +440 -0
  25. package/public/blockly/msg/bn.js +440 -0
  26. package/public/blockly/msg/br.js +440 -0
  27. package/public/blockly/msg/bs.js +440 -0
  28. package/public/blockly/msg/ca.js +440 -0
  29. package/public/blockly/msg/cdo.js +440 -0
  30. package/public/blockly/msg/cs.js +440 -0
  31. package/public/blockly/msg/da.js +440 -0
  32. package/public/blockly/msg/de.js +440 -0
  33. package/public/blockly/msg/diq.js +440 -0
  34. package/public/blockly/msg/dty.js +440 -0
  35. package/public/blockly/msg/ee.js +440 -0
  36. package/public/blockly/msg/el.js +440 -0
  37. package/public/blockly/msg/en-gb.js +440 -0
  38. package/public/blockly/msg/en.js +440 -0
  39. package/public/blockly/msg/eo.js +440 -0
  40. package/public/blockly/msg/es.js +440 -0
  41. package/public/blockly/msg/et.js +440 -0
  42. package/public/blockly/msg/eu.js +440 -0
  43. package/public/blockly/msg/fa.js +440 -0
  44. package/public/blockly/msg/fi.js +440 -0
  45. package/public/blockly/msg/fo.js +440 -0
  46. package/public/blockly/msg/fr.js +440 -0
  47. package/public/blockly/msg/frr.js +440 -0
  48. package/public/blockly/msg/gl.js +440 -0
  49. package/public/blockly/msg/gn.js +440 -0
  50. package/public/blockly/msg/gor.js +440 -0
  51. package/public/blockly/msg/ha.js +440 -0
  52. package/public/blockly/msg/hak.js +440 -0
  53. package/public/blockly/msg/he.js +440 -0
  54. package/public/blockly/msg/hi.js +440 -0
  55. package/public/blockly/msg/hr.js +440 -0
  56. package/public/blockly/msg/hrx.js +440 -0
  57. package/public/blockly/msg/hu.js +440 -0
  58. package/public/blockly/msg/hy.js +440 -0
  59. package/public/blockly/msg/ia.js +440 -0
  60. package/public/blockly/msg/id.js +440 -0
  61. package/public/blockly/msg/ig.js +440 -0
  62. package/public/blockly/msg/inh.js +440 -0
  63. package/public/blockly/msg/is.js +440 -0
  64. package/public/blockly/msg/it.js +440 -0
  65. package/public/blockly/msg/ja.js +440 -0
  66. package/public/blockly/msg/ka.js +440 -0
  67. package/public/blockly/msg/kab.js +440 -0
  68. package/public/blockly/msg/kbd-cyrl.js +440 -0
  69. package/public/blockly/msg/km.js +440 -0
  70. package/public/blockly/msg/kn.js +440 -0
  71. package/public/blockly/msg/ko.js +440 -0
  72. package/public/blockly/msg/ksh.js +440 -0
  73. package/public/blockly/msg/ku-latn.js +440 -0
  74. package/public/blockly/msg/ky.js +440 -0
  75. package/public/blockly/msg/la.js +440 -0
  76. package/public/blockly/msg/lb.js +440 -0
  77. package/public/blockly/msg/lki.js +440 -0
  78. package/public/blockly/msg/lo.js +440 -0
  79. package/public/blockly/msg/lrc.js +440 -0
  80. package/public/blockly/msg/lt.js +440 -0
  81. package/public/blockly/msg/lv.js +440 -0
  82. package/public/blockly/msg/mg.js +440 -0
  83. package/public/blockly/msg/mk.js +440 -0
  84. package/public/blockly/msg/ml.js +440 -0
  85. package/public/blockly/msg/mnw.js +440 -0
  86. package/public/blockly/msg/ms.js +440 -0
  87. package/public/blockly/msg/msg.d.ts +444 -0
  88. package/public/blockly/msg/my.js +440 -0
  89. package/public/blockly/msg/mzn.js +440 -0
  90. package/public/blockly/msg/nb.js +440 -0
  91. package/public/blockly/msg/ne.js +440 -0
  92. package/public/blockly/msg/nl.js +440 -0
  93. package/public/blockly/msg/oc.js +440 -0
  94. package/public/blockly/msg/olo.js +440 -0
  95. package/public/blockly/msg/pa.js +440 -0
  96. package/public/blockly/msg/pl.js +440 -0
  97. package/public/blockly/msg/pms.js +440 -0
  98. package/public/blockly/msg/ps.js +440 -0
  99. package/public/blockly/msg/pt-br.js +440 -0
  100. package/public/blockly/msg/pt.js +440 -0
  101. package/public/blockly/msg/ro.js +440 -0
  102. package/public/blockly/msg/ru.js +440 -0
  103. package/public/blockly/msg/sc.js +440 -0
  104. package/public/blockly/msg/sco.js +440 -0
  105. package/public/blockly/msg/sd.js +440 -0
  106. package/public/blockly/msg/shn.js +440 -0
  107. package/public/blockly/msg/si.js +440 -0
  108. package/public/blockly/msg/sk.js +440 -0
  109. package/public/blockly/msg/skr-arab.js +440 -0
  110. package/public/blockly/msg/sl.js +440 -0
  111. package/public/blockly/msg/smn.js +440 -0
  112. package/public/blockly/msg/sq.js +440 -0
  113. package/public/blockly/msg/sr-latn.js +440 -0
  114. package/public/blockly/msg/sr.js +440 -0
  115. package/public/blockly/msg/sv.js +440 -0
  116. package/public/blockly/msg/sw.js +440 -0
  117. package/public/blockly/msg/ta.js +440 -0
  118. package/public/blockly/msg/tcy.js +440 -0
  119. package/public/blockly/msg/te.js +440 -0
  120. package/public/blockly/msg/th.js +440 -0
  121. package/public/blockly/msg/ti.js +440 -0
  122. package/public/blockly/msg/tl.js +440 -0
  123. package/public/blockly/msg/tlh.js +440 -0
  124. package/public/blockly/msg/tr.js +440 -0
  125. package/public/blockly/msg/ug-arab.js +440 -0
  126. package/public/blockly/msg/uk.js +440 -0
  127. package/public/blockly/msg/ur.js +440 -0
  128. package/public/blockly/msg/uz.js +440 -0
  129. package/public/blockly/msg/vi.js +440 -0
  130. package/public/blockly/msg/xmf.js +440 -0
  131. package/public/blockly/msg/yo.js +440 -0
  132. package/public/blockly/msg/yue.js +440 -0
  133. package/public/blockly/msg/zgh.js +440 -0
  134. package/public/blockly/msg/zh-hans.js +440 -0
  135. package/public/blockly/msg/zh-hant.js +440 -0
  136. package/public/saltcorn-common.js +8 -1
  137. package/public/saltcorn.js +12 -0
  138. package/routes/actions.js +32 -25
  139. package/routes/admin.js +90 -63
  140. package/routes/common_lists.js +46 -24
  141. package/routes/fields.js +31 -9
  142. package/routes/list.js +17 -4
  143. package/routes/notifications.js +27 -20
  144. package/routes/pageedit.js +14 -13
  145. package/routes/plugins.js +0 -32
  146. package/routes/tables.js +173 -92
  147. package/routes/utils.js +27 -0
  148. package/routes/view.js +2 -1
  149. package/routes/viewedit.js +14 -13
  150. package/serve.js +52 -1
  151. package/tests/api.test.js +0 -18
  152. package/tests/plugins.test.js +2 -2
  153. package/wrapper.js +80 -42
@@ -0,0 +1,440 @@
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
+
16
+ 'use strict';
17
+
18
+ var Blockly = Blockly || { Msg: Object.create(null) };
19
+
20
+ Blockly.Msg["ADD_COMMENT"] = "Adicionar Comentário";
21
+ Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Não se pode eliminar a variável '%1' porque faz parte da definição da função '%2'";
22
+ Blockly.Msg["CHANGE_VALUE_TITLE"] = "Alterar valor:";
23
+ Blockly.Msg["CLEAN_UP"] = "Limpar Blocos";
24
+ Blockly.Msg["COLLAPSED_WARNINGS_WARNING"] = "Os blocos ocultados contêm avisos.";
25
+ Blockly.Msg["COLLAPSE_ALL"] = "Ocultar Blocos";
26
+ Blockly.Msg["COLLAPSE_BLOCK"] = "Ocultar Bloco";
27
+ Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "cor 1";
28
+ Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "cor 2";
29
+ Blockly.Msg["COLOUR_BLEND_HELPURL"] = "https://meyerweb.com/eric/tools/color-blend/#:::rgbp";
30
+ Blockly.Msg["COLOUR_BLEND_RATIO"] = "proporção";
31
+ Blockly.Msg["COLOUR_BLEND_TITLE"] = "misturar";
32
+ Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Mistura duas cores com a proporção indicada (0.0 - 1.0).";
33
+ Blockly.Msg["COLOUR_PICKER_HELPURL"] = "http://pt.wikipedia.org/wiki/Cor";
34
+ Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Escolha uma cor da paleta de cores.";
35
+ Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com"; // untranslated
36
+ Blockly.Msg["COLOUR_RANDOM_TITLE"] = "cor aleatória";
37
+ Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Escolha uma cor aleatoriamente.";
38
+ Blockly.Msg["COLOUR_RGB_BLUE"] = "azul";
39
+ Blockly.Msg["COLOUR_RGB_GREEN"] = "verde";
40
+ Blockly.Msg["COLOUR_RGB_HELPURL"] = "https://www.december.com/html/spec/colorpercompact.html";
41
+ Blockly.Msg["COLOUR_RGB_RED"] = "vermelho";
42
+ Blockly.Msg["COLOUR_RGB_TITLE"] = "pinte com";
43
+ Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Cria uma cor de acordo com a quantidade especificada de vermelho, verde e azul. Todos os valores devem estar entre 0 e 100.";
44
+ Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks"; // untranslated
45
+ Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "sair do ciclo";
46
+ Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continuar com a próxima iteração do ciclo";
47
+ Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Sair do ciclo que está contido.";
48
+ Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Ignorar o resto deste ciclo, e continuar com a próxima iteração.";
49
+ Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Aviso: Este bloco só pode ser usado dentro de um ciclo.";
50
+ Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each"; // untranslated
51
+ Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "para cada item %1 na lista %2";
52
+ Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Para cada item numa lista, define a variável \"%1\" para o item e então faz algumas instruções.";
53
+ Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with"; // untranslated
54
+ Blockly.Msg["CONTROLS_FOR_TITLE"] = "contar com %1 de %2 até %3 por %4";
55
+ Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Faz com que a variável \"%1\" assuma os valores desde o número inicial até ao número final, contando de acordo com o intervalo especificado e executa os blocos especificados.";
56
+ Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Acrescente uma condição ao bloco se.";
57
+ Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Acrescente uma condição de excepação final para o bloco se.";
58
+ Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse"; // untranslated
59
+ Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Acrescente, remova ou reordene secções para reconfigurar este bloco se.";
60
+ Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "senão";
61
+ Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "senão se";
62
+ Blockly.Msg["CONTROLS_IF_MSG_IF"] = "se";
63
+ Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Se um valor é verdadeiro, então realize alguns passos.";
64
+ Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Se um valor é verdadeiro, então realize o primeiro bloco de instruções. Senão, realize o segundo bloco de instruções";
65
+ Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Se o primeiro valor é verdadeiro, então realize o primeiro bloco de instruções. Senão, se o segundo valor é verdadeiro, realize o segundo bloco de instruções.";
66
+ Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Se o primeiro valor é verdadeiro, então realize o primeiro bloco de instruções. Senão, se o segundo valor é verdadeiro, realize o segundo bloco de instruções. Se nenhum dos blocos for verdadeiro, realize o último bloco de instruções.";
67
+ Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "http://pt.wikipedia.org/wiki/Estrutura_de_repeti%C3%A7%C3%A3o#Repeti.C3.A7.C3.A3o_com_vari.C3.A1vel_de_controle";
68
+ Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "faça";
69
+ Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "repetir %1 vez";
70
+ Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Faça algumas instruções várias vezes.";
71
+ Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat"; // untranslated
72
+ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "repetir até";
73
+ Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repetir enquanto";
74
+ Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Enquanto um valor for falso, então faça algumas instruções.";
75
+ Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Enquanto um valor for verdadeiro, então faça algumas instruções.";
76
+ Blockly.Msg["DELETE_ALL_BLOCKS"] = "Eliminar todos os %1 blocos?";
77
+ Blockly.Msg["DELETE_BLOCK"] = "Eliminar Bloco";
78
+ Blockly.Msg["DELETE_VARIABLE"] = "Eliminar a variável '%1'";
79
+ Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Eliminar %1 utilizações da variável '%2'?";
80
+ Blockly.Msg["DELETE_X_BLOCKS"] = "Eliminar %1 Blocos";
81
+ Blockly.Msg["DIALOG_CANCEL"] = "Cancelar";
82
+ Blockly.Msg["DIALOG_OK"] = "OK";
83
+ Blockly.Msg["DISABLE_BLOCK"] = "Desativar Bloco";
84
+ Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicar";
85
+ Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicar comentário";
86
+ Blockly.Msg["ENABLE_BLOCK"] = "Ativar Bloco";
87
+ Blockly.Msg["EXPAND_ALL"] = "Expandir Blocos";
88
+ Blockly.Msg["EXPAND_BLOCK"] = "Expandir Bloco";
89
+ Blockly.Msg["EXTERNAL_INPUTS"] = "Entradas Externas";
90
+ Blockly.Msg["HELP"] = "Ajuda";
91
+ Blockly.Msg["INLINE_INPUTS"] = "Entradas Em Linhas";
92
+ Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
93
+ Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "criar lista vazia";
94
+ Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Retorna uma lista, de tamanho 0, contendo nenhum registo";
95
+ Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "lista";
96
+ Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Acrescente, remova ou reordene as seções para reconfigurar este bloco lista.";
97
+ Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with"; // untranslated
98
+ Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "criar lista com";
99
+ Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Acrescenta um item à lista.";
100
+ Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Cria uma lista com qualquer número de itens.";
101
+ Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "primeiro";
102
+ Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# a partir do final";
103
+ Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
104
+ Blockly.Msg["LISTS_GET_INDEX_GET"] = "obter";
105
+ Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "obter e remover";
106
+ Blockly.Msg["LISTS_GET_INDEX_LAST"] = "último";
107
+ Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "aleatório";
108
+ Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "remover";
109
+ Blockly.Msg["LISTS_GET_INDEX_TAIL"] = ""; // untranslated
110
+ Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Retorna o primeiro item de uma lista.";
111
+ Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Retorna o item na posição especificada da lista.";
112
+ Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Retorna o último item de uma lista.";
113
+ Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Retorna um item aleatório de uma lista.";
114
+ Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Remove e retorna o primeiro item de uma lista.";
115
+ Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Remove e retorna o item na posição especificada de uma lista.";
116
+ Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Remove e retorna o último item de uma lista.";
117
+ Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Remove e retorna um item aleatório de uma lista.";
118
+ Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Remove o primeiro item de uma lista.";
119
+ Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Remove o item de uma posição especifica da lista.";
120
+ Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Remove o último item de uma lista.";
121
+ Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Remove um item aleatório de uma lista.";
122
+ Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "até #, a partir do final";
123
+ Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "até #";
124
+ Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "para o último";
125
+ Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist"; // untranslated
126
+ Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "obtem sublista da primeira lista";
127
+ Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "obtem sublista de # a partir do final";
128
+ Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "obtem sublista de #";
129
+ Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = ""; // untranslated
130
+ Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Cria uma cópia da porção especificada de uma lista.";
131
+ Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 é o último item.";
132
+ Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 é o primeiro item.";
133
+ Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "encontre a primeira ocorrência do item";
134
+ Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list"; // untranslated
135
+ Blockly.Msg["LISTS_INDEX_OF_LAST"] = "encontre a última ocorrência do item";
136
+ Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Retorna a posição da primeira/última ocorrência do item na lista. Retorna %1 se o item não for encontrado.";
137
+ Blockly.Msg["LISTS_INLIST"] = "na lista";
138
+ Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty"; // untranslated
139
+ Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 está vazia";
140
+ Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Retona verdadeiro se a lista estiver vazia.";
141
+ Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of"; // untranslated
142
+ Blockly.Msg["LISTS_LENGTH_TITLE"] = "tamanho de %1";
143
+ Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Retorna o tamanho de uma lista.";
144
+ Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with"; // untranslated
145
+ Blockly.Msg["LISTS_REPEAT_TITLE"] = "criar lista com o item %1 repetido %2 vezes";
146
+ Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Cria uma lista constituída por um dado valor repetido o número de vezes especificado.";
147
+ Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
148
+ Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "inverter %1";
149
+ Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Inverter uma cópia da lista.";
150
+ Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set"; // untranslated
151
+ Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "como";
152
+ Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "inserir em";
153
+ Blockly.Msg["LISTS_SET_INDEX_SET"] = "definir";
154
+ Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Insere o item no início da lista.";
155
+ Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Insere o item numa posição especificada numa lista.";
156
+ Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Insere o item no final da lista.";
157
+ Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Insere o item numa posição aleatória de uma lista.";
158
+ Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Define o primeiro item de uma lista.";
159
+ Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Define o item na posição especificada de uma lista.";
160
+ Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Define o último item de uma lista.";
161
+ Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Define um item aleatório de uma lista.";
162
+ Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
163
+ Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascendente";
164
+ Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descendente";
165
+ Blockly.Msg["LISTS_SORT_TITLE"] = "ordenar %1 %2 %3";
166
+ Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Ordenar uma cópia de uma lista.";
167
+ Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alfabética, ignorar maiúsculas/minúsculas";
168
+ Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numérica";
169
+ Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alfabética";
170
+ Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists"; // untranslated
171
+ Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "fazer lista a partir de texto";
172
+ Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "fazer texto a partir da lista";
173
+ Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Juntar uma lista de textos num único texto, separado por um delimitador.";
174
+ Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Dividir o texto numa lista de textos, separando-o em cada delimitador.";
175
+ Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "com delimitador";
176
+ Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "falso";
177
+ Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values"; // untranslated
178
+ Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Retorna verdadeiro ou falso.";
179
+ Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "verdadeiro";
180
+ Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "http://pt.wikipedia.org/wiki/Inequa%C3%A7%C3%A3o";
181
+ Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Retorna verdadeiro se ambas as entradas forem iguais entre si.";
182
+ Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Retorna verdadeiro se a primeira entrada for maior que a segunda entrada.";
183
+ Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Retorna verdadeiro se a primeira entrada for maior ou igual à segunda entrada.";
184
+ Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Retorna verdadeiro se a primeira entrada for menor que a segunda entrada.";
185
+ Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Retorna verdadeiro se a primeira entrada for menor ou igual à segunda entrada.";
186
+ Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Retorna verdadeiro se ambas as entradas forem diferentes entre si.";
187
+ Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not"; // untranslated
188
+ Blockly.Msg["LOGIC_NEGATE_TITLE"] = "não %1";
189
+ Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Retorna verdadeiro se a entrada for falsa. Retorna falso se a entrada for verdadeira.";
190
+ Blockly.Msg["LOGIC_NULL"] = "nulo";
191
+ Blockly.Msg["LOGIC_NULL_HELPURL"] = "http://en.wikipedia.org/wiki/Nullable_type";
192
+ Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Retorna nulo.";
193
+ Blockly.Msg["LOGIC_OPERATION_AND"] = "e";
194
+ Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations"; // untranslated
195
+ Blockly.Msg["LOGIC_OPERATION_OR"] = "ou";
196
+ Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Retorna verdadeiro se ambas as entradas forem verdadeiras.";
197
+ Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Retorna verdadeiro se pelo menos uma das estradas for verdadeira.";
198
+ Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "teste";
199
+ Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "http://en.wikipedia.org/wiki/%3F:";
200
+ Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "se falso";
201
+ Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "se verdadeiro";
202
+ Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Avalia a condição em \"teste\". Se a condição for verdadeira retorna o valor \"se verdadeiro\", senão retorna o valor \"se falso\".";
203
+ Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
204
+ Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "http://pt.wikipedia.org/wiki/Aritm%C3%A9tica";
205
+ Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Retorna a soma de dois números.";
206
+ Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Retorna o quociente da divisão de dois números.";
207
+ Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Retorna a diferença de dois números.";
208
+ Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Retorna o produto de dois números.";
209
+ Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Retorna o primeiro número elevado à potência do segundo número.";
210
+ Blockly.Msg["MATH_ATAN2_HELPURL"] = "https://en.wikipedia.org/wiki/Atan2";
211
+ Blockly.Msg["MATH_ATAN2_TITLE"] = "atan2 de X:%1 Y:%2";
212
+ Blockly.Msg["MATH_ATAN2_TOOLTIP"] = "Devolver o arco tangente do ponto (X, Y) em graus entre -180 e 180.";
213
+ Blockly.Msg["MATH_CHANGE_HELPURL"] = "http://pt.wikipedia.org/wiki/Adi%C3%A7%C3%A3o";
214
+ Blockly.Msg["MATH_CHANGE_TITLE"] = "alterar %1 por %2";
215
+ Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Soma um número à variável \"%1\".";
216
+ Blockly.Msg["MATH_CONSTANT_HELPURL"] = "http://pt.wikipedia.org/wiki/Anexo:Lista_de_constantes_matem%C3%A1ticas";
217
+ Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Retorna uma das constantes comuns: π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), ou ∞ (infinito).";
218
+ Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)"; // untranslated
219
+ Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "restringe %1 inferior %2 superior %3";
220
+ Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Restringe um número entre os limites especificados (inclusive).";
221
+ Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
222
+ Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "é divisível por";
223
+ Blockly.Msg["MATH_IS_EVEN"] = "é par";
224
+ Blockly.Msg["MATH_IS_NEGATIVE"] = "é negativo";
225
+ Blockly.Msg["MATH_IS_ODD"] = "é impar";
226
+ Blockly.Msg["MATH_IS_POSITIVE"] = "é positivo";
227
+ Blockly.Msg["MATH_IS_PRIME"] = "é primo";
228
+ Blockly.Msg["MATH_IS_TOOLTIP"] = "Verifica se um número é par, impar, primo, inteiro, positivo, negativo, ou se é divisível por outro número. Retorna verdadeiro ou falso.";
229
+ Blockly.Msg["MATH_IS_WHOLE"] = "é inteiro";
230
+ Blockly.Msg["MATH_MODULO_HELPURL"] = "http://pt.wikipedia.org/wiki/Opera%C3%A7%C3%A3o_m%C3%B3dulo";
231
+ Blockly.Msg["MATH_MODULO_TITLE"] = "resto da divisão de %1 ÷ %2";
232
+ Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Retorna o resto da divisão de dois números.";
233
+ Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
234
+ Blockly.Msg["MATH_NUMBER_HELPURL"] = "http://pt.wikipedia.org/wiki/N%C3%BAmero";
235
+ Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Um número.";
236
+ Blockly.Msg["MATH_ONLIST_HELPURL"] = ""; // untranslated
237
+ Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "média de uma lista";
238
+ Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "maior de uma lista";
239
+ Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "mediana de uma lista";
240
+ Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "menor de uma lista";
241
+ Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "moda de uma lista";
242
+ Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "item aleatório de uma lista";
243
+ Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "desvio padrão de uma lista";
244
+ Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "soma da lista";
245
+ Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Retorna a média aritmética dos valores números da lista.";
246
+ Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Retorna o maior número da lista.";
247
+ Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Retorna a mediana da lista.";
248
+ Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Retorna o menor número da lista.";
249
+ Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Retorna a lista de item(ns) mais comum(ns) da lista.";
250
+ Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Retorna um elemento aleatório da lista.";
251
+ Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Retorna o desvio padrão dos números da lista.";
252
+ Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Retorna a soma de todos os números da lista.";
253
+ Blockly.Msg["MATH_POWER_SYMBOL"] = "^";
254
+ Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "http://pt.wikipedia.org/wiki/N%C3%BAmero_aleat%C3%B3rio";
255
+ Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "fração aleatória";
256
+ Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Insere uma fração aleatória entre 0.0 (inclusive) e 1.0 (exclusive).";
257
+ Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "http://pt.wikipedia.org/wiki/N%C3%BAmero_aleat%C3%B3rio";
258
+ Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "inteiro aleatório entre %1 e %2";
259
+ Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Retorna um número inteiro entre os dois limites especificados, inclusive.";
260
+ Blockly.Msg["MATH_ROUND_HELPURL"] = "http://pt.wikipedia.org/wiki/Arredondamento";
261
+ Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "arredonda";
262
+ Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "arredonda para baixo";
263
+ Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "arredonda para cima";
264
+ Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Arredonda um número para cima ou para baixo.";
265
+ Blockly.Msg["MATH_SINGLE_HELPURL"] = "http://pt.wikipedia.org/wiki/Raiz_quadrada";
266
+ Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absoluto";
267
+ Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "raíz quadrada";
268
+ Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Retorna o valor absoluto de um número.";
269
+ Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Retorna o número e elevado à potência de um número.";
270
+ Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Retorna o logarítmo natural de um número.";
271
+ Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Retorna o logarítmo em base 10 de um número.";
272
+ Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Retorna o oposto de um número.";
273
+ Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Retorna 10 elevado à potência de um número.";
274
+ Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Retorna a raiz quadrada de um número.";
275
+ Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";
276
+ Blockly.Msg["MATH_TRIG_ACOS"] = "acos";
277
+ Blockly.Msg["MATH_TRIG_ASIN"] = "asin";
278
+ Blockly.Msg["MATH_TRIG_ATAN"] = "atan";
279
+ Blockly.Msg["MATH_TRIG_COS"] = "cos";
280
+ Blockly.Msg["MATH_TRIG_HELPURL"] = "http://pt.wikipedia.org/wiki/Fun%C3%A7%C3%A3o_trigonom%C3%A9trica";
281
+ Blockly.Msg["MATH_TRIG_SIN"] = "sin";
282
+ Blockly.Msg["MATH_TRIG_TAN"] = "tan";
283
+ Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Retorna o arco cosseno de um número.";
284
+ Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Retorna o arco seno de um número.";
285
+ Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Retorna o arco tangente de um número.";
286
+ Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Retorna o cosseno de um grau (não radiano).";
287
+ Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Retorna o seno de um grau (não radiano).";
288
+ Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Retorna a tangente de um grau (não radiano).";
289
+ Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Criar variável colorida...";
290
+ Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Criar variável numérica...";
291
+ Blockly.Msg["NEW_STRING_VARIABLE"] = "Criar variável de segmentos de texto...";
292
+ Blockly.Msg["NEW_VARIABLE"] = "Criar variável…";
293
+ Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nome da nova variável:";
294
+ Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Tipo da nova variável:";
295
+ Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated
296
+ Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "permitir declarações";
297
+ Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "com:";
298
+ Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://pt.wikipedia.org/wiki/Sub-rotina";
299
+ Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Executa a função \"%1\".";
300
+ Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://pt.wikipedia.org/wiki/Sub-rotina";
301
+ Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Executa a função \"%1\" e usa o seu retorno.";
302
+ Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "com:";
303
+ Blockly.Msg["PROCEDURES_CREATE_DO"] = "Criar \"%1\"";
304
+ Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Descreva esta função...";
305
+ Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = ""; // untranslated
306
+ Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
307
+ Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "faz algo";
308
+ Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "para";
309
+ Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Cria uma função que não tem retorno.";
310
+ Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
311
+ Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "retorna";
312
+ Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Cria uma função que possui um valor de retorno.";
313
+ Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Aviso: Esta função tem parâmetros duplicados.";
314
+ Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Destacar definição da função";
315
+ Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause"; // untranslated
316
+ Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "se o valor é verdadeiro, então retorna um segundo valor.";
317
+ Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Aviso: Este bloco só pode ser utilizado dentro da definição de uma função.";
318
+ Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "nome da entrada:";
319
+ Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Adicionar uma entrada para a função.";
320
+ Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "entradas";
321
+ Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Adicionar, remover ou reordenar as entradas para esta função.";
322
+ Blockly.Msg["REDO"] = "Refazer";
323
+ Blockly.Msg["REMOVE_COMMENT"] = "Remover Comentário";
324
+ Blockly.Msg["RENAME_VARIABLE"] = "Renomear variável...";
325
+ Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Renomear todas as variáveis '%1' para:";
326
+ Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification"; // untranslated
327
+ Blockly.Msg["TEXT_APPEND_TITLE"] = "para %1 acrescentar texto %2";
328
+ Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Acrescentar um pedaço de texto à variável \"%1\".";
329
+ Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case"; // untranslated
330
+ Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "para minúsculas";
331
+ Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "para Iniciais Maiúsculas";
332
+ Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "para MAIÚSCULAS";
333
+ Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Retorna uma cópia do texto em formato diferente.";
334
+ Blockly.Msg["TEXT_CHARAT_FIRST"] = "obter primeira letra";
335
+ Blockly.Msg["TEXT_CHARAT_FROM_END"] = "obter letra nº a partir do final";
336
+ Blockly.Msg["TEXT_CHARAT_FROM_START"] = "obter letra nº";
337
+ Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text"; // untranslated
338
+ Blockly.Msg["TEXT_CHARAT_LAST"] = "obter última letra";
339
+ Blockly.Msg["TEXT_CHARAT_RANDOM"] = "obter letra aleatória";
340
+ Blockly.Msg["TEXT_CHARAT_TAIL"] = ""; // untranslated
341
+ Blockly.Msg["TEXT_CHARAT_TITLE"] = "no texto %1 %2";
342
+ Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Retorna a letra na posição especificada.";
343
+ Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
344
+ Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "contar %1 em %2";
345
+ Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Conte quantas vezes um certo texto aparece dentro de algum outro texto.";
346
+ Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Acrescentar um item ao texto.";
347
+ Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "unir";
348
+ Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Acrescenta, remove ou reordena seções para reconfigurar este bloco de texto.";
349
+ Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "até letra nº a partir do final";
350
+ Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "até letra nº";
351
+ Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "até última letra";
352
+ Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text"; // untranslated
353
+ Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "no texto";
354
+ Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "obter subsequência a partir da primeira letra";
355
+ Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "obter subsequência de tamanho # a partir do final";
356
+ Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "obter subsequência de tamanho #";
357
+ Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = ""; // untranslated
358
+ Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Retorna a parte especificada do texto.";
359
+ Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text"; // untranslated
360
+ Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "primeira ocorrência do texto";
361
+ Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "última ocorrência do texto";
362
+ Blockly.Msg["TEXT_INDEXOF_TITLE"] = "no texto %1 %2 %3";
363
+ Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Retorna a posição da primeira/última ocorrência do primeiro texto no segundo texto. Retorna %1 se o texto não for encontrado.";
364
+ Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text"; // untranslated
365
+ Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 está vazio";
366
+ Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Retorna verdadeiro se o texto fornecido estiver vazio.";
367
+ Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation"; // untranslated
368
+ Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "criar texto com";
369
+ Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Criar um pedaço de texto juntando qualquer número de itens.";
370
+ Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification"; // untranslated
371
+ Blockly.Msg["TEXT_LENGTH_TITLE"] = "tamanho de %1";
372
+ Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Devolve o número de letras (incluindo espaços) do texto fornecido.";
373
+ Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text"; // untranslated
374
+ Blockly.Msg["TEXT_PRINT_TITLE"] = "imprime %1";
375
+ Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Imprime o texto, número ou outro valor especificado.";
376
+ Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user"; // untranslated
377
+ Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Pede ao utilizador um número.";
378
+ Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Pede ao utilizador um texto.";
379
+ Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "pede um número com a mensagem";
380
+ Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "Pede um texto com a mensagem";
381
+ Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
382
+ Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "substituir %1 por %2 em %3";
383
+ Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Substituir todas as ocorrências de um certo texto dentro de algum outro texto.";
384
+ Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
385
+ Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "inverter %1";
386
+ Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Inverte a ordem dos caracteres no texto.";
387
+ Blockly.Msg["TEXT_TEXT_HELPURL"] = "http://pt.wikipedia.org/wiki/Cadeia_de_caracteres";
388
+ Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Uma letra, palavra ou linha de texto.";
389
+ Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces"; // untranslated
390
+ Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "remover espaços de ambos os lados";
391
+ Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "remover espaços à esquerda de";
392
+ Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "remover espaços à direita";
393
+ Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Retorna uma cópia do texto com os espaços removidos de uma ou ambas as extremidades.";
394
+ Blockly.Msg["TODAY"] = "Hoje";
395
+ Blockly.Msg["UNDO"] = "Desfazer";
396
+ Blockly.Msg["UNNAMED_KEY"] = "sem nome";
397
+ Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "item";
398
+ Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Criar \"definir %1\"";
399
+ Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get"; // untranslated
400
+ Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Retorna o valor desta variável.";
401
+ Blockly.Msg["VARIABLES_SET"] = "definir %1 para %2";
402
+ Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Criar \"obter %1\"";
403
+ Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set"; // untranslated
404
+ Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Define esta variável para o valor inserido.";
405
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Já existe uma variável com o nome de '%1'.";
406
+ Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Já existe uma variável chamada '%1' para outra do tipo: '%2'.";
407
+ Blockly.Msg["WORKSPACE_ARIA_LABEL"] = "Espaço de trabalho de Blockly";
408
+ Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Diz algo...";
409
+ Blockly.Msg["CONTROLS_FOREACH_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
410
+ Blockly.Msg["CONTROLS_FOR_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
411
+ Blockly.Msg["CONTROLS_IF_ELSEIF_TITLE_ELSEIF"] = Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"];
412
+ Blockly.Msg["CONTROLS_IF_ELSE_TITLE_ELSE"] = Blockly.Msg["CONTROLS_IF_MSG_ELSE"];
413
+ Blockly.Msg["CONTROLS_IF_IF_TITLE_IF"] = Blockly.Msg["CONTROLS_IF_MSG_IF"];
414
+ Blockly.Msg["CONTROLS_IF_MSG_THEN"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
415
+ Blockly.Msg["CONTROLS_WHILEUNTIL_INPUT_DO"] = Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"];
416
+ Blockly.Msg["LISTS_CREATE_WITH_ITEM_TITLE"] = Blockly.Msg["VARIABLES_DEFAULT_NAME"];
417
+ Blockly.Msg["LISTS_GET_INDEX_HELPURL"] = Blockly.Msg["LISTS_INDEX_OF_HELPURL"];
418
+ Blockly.Msg["LISTS_GET_INDEX_INPUT_IN_LIST"] = Blockly.Msg["LISTS_INLIST"];
419
+ Blockly.Msg["LISTS_GET_SUBLIST_INPUT_IN_LIST"] = Blockly.Msg["LISTS_INLIST"];
420
+ Blockly.Msg["LISTS_INDEX_OF_INPUT_IN_LIST"] = Blockly.Msg["LISTS_INLIST"];
421
+ Blockly.Msg["LISTS_SET_INDEX_INPUT_IN_LIST"] = Blockly.Msg["LISTS_INLIST"];
422
+ Blockly.Msg["MATH_CHANGE_TITLE_ITEM"] = Blockly.Msg["VARIABLES_DEFAULT_NAME"];
423
+ Blockly.Msg["PROCEDURES_DEFRETURN_COMMENT"] = Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"];
424
+ Blockly.Msg["PROCEDURES_DEFRETURN_DO"] = Blockly.Msg["PROCEDURES_DEFNORETURN_DO"];
425
+ Blockly.Msg["PROCEDURES_DEFRETURN_PROCEDURE"] = Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"];
426
+ Blockly.Msg["PROCEDURES_DEFRETURN_TITLE"] = Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"];
427
+ Blockly.Msg["TEXT_APPEND_VARIABLE"] = Blockly.Msg["VARIABLES_DEFAULT_NAME"];
428
+ Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TITLE_ITEM"] = Blockly.Msg["VARIABLES_DEFAULT_NAME"];
429
+
430
+ Blockly.Msg["MATH_HUE"] = "230";
431
+ Blockly.Msg["LOOPS_HUE"] = "120";
432
+ Blockly.Msg["LISTS_HUE"] = "260";
433
+ Blockly.Msg["LOGIC_HUE"] = "210";
434
+ Blockly.Msg["VARIABLES_HUE"] = "330";
435
+ Blockly.Msg["TEXTS_HUE"] = "160";
436
+ Blockly.Msg["PROCEDURES_HUE"] = "290";
437
+ Blockly.Msg["COLOUR_HUE"] = "20";
438
+ Blockly.Msg["VARIABLES_DYNAMIC_HUE"] = "310";
439
+ return Blockly.Msg;
440
+ }));