decidim-core 0.13.1 → 0.14.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of decidim-core might be problematic. Click here for more details.

Files changed (236) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/decidim_core_manifest.js +1 -1
  3. data/app/assets/images/decidim/gamification/badges/invitations.svg +117 -0
  4. data/app/assets/javascripts/decidim.js.es6 +4 -1
  5. data/app/assets/javascripts/decidim/ajax_modals.js.es6 +17 -0
  6. data/app/assets/javascripts/decidim/conferences.js.es6 +16 -0
  7. data/app/assets/javascripts/decidim/input_hashtags.js.es6 +115 -0
  8. data/app/assets/javascripts/decidim/input_mentions.js.es6 +2 -3
  9. data/app/assets/javascripts/decidim/vizzs/areachart.js.es6 +226 -0
  10. data/app/assets/javascripts/decidim/vizzs/metrics.js.es6 +26 -0
  11. data/app/assets/javascripts/decidim/vizzs/orgchart.js.es6 +701 -0
  12. data/app/assets/javascripts/decidim/vizzs/renders.js.es6 +11 -0
  13. data/app/assets/stylesheets/decidim/extras/_proposal_form.scss +3 -1
  14. data/app/assets/stylesheets/decidim/layouts/_home.scss +1 -1
  15. data/app/assets/stylesheets/decidim/modules/_areachart.scss +74 -0
  16. data/app/assets/stylesheets/decidim/modules/_badges.scss +116 -0
  17. data/app/assets/stylesheets/decidim/modules/_buttons.scss +5 -0
  18. data/app/assets/stylesheets/decidim/modules/_cards.scss +21 -4
  19. data/app/assets/stylesheets/decidim/modules/_chart-tooltip.scss +42 -0
  20. data/app/assets/stylesheets/decidim/modules/_collapsible-list.scss +12 -8
  21. data/app/assets/stylesheets/decidim/modules/_conference-nav.scss +31 -0
  22. data/app/assets/stylesheets/decidim/modules/_conference-programme.scss +110 -0
  23. data/app/assets/stylesheets/decidim/modules/_conference-speaker.scss +86 -0
  24. data/app/assets/stylesheets/decidim/modules/_conversation.scss +58 -0
  25. data/app/assets/stylesheets/decidim/modules/_help.scss +38 -0
  26. data/app/assets/stylesheets/decidim/modules/_hover-section.scss +29 -0
  27. data/app/assets/stylesheets/decidim/modules/_icons.scss +10 -4
  28. data/app/assets/stylesheets/decidim/modules/_input-hashtags.scss +124 -0
  29. data/app/assets/stylesheets/decidim/modules/_loading-spinner.scss +12 -0
  30. data/app/assets/stylesheets/decidim/modules/_margins.scss +2 -2
  31. data/app/assets/stylesheets/decidim/modules/_modules.scss +15 -0
  32. data/app/assets/stylesheets/decidim/modules/_navbar.scss +9 -0
  33. data/app/assets/stylesheets/decidim/modules/_orgchart.scss +62 -0
  34. data/app/assets/stylesheets/decidim/modules/_status-labels.scss +2 -1
  35. data/app/assets/stylesheets/decidim/modules/_typography.scss +9 -0
  36. data/app/assets/stylesheets/decidim/utils/_helpers.scss +28 -0
  37. data/app/assets/stylesheets/decidim/utils/_mixins.scss +63 -0
  38. data/app/cells/decidim/author/withdraw.erb +1 -1
  39. data/app/cells/decidim/author_cell.rb +1 -1
  40. data/app/cells/decidim/badge/show.erb +36 -0
  41. data/app/cells/decidim/badge_cell.rb +53 -0
  42. data/app/cells/decidim/badges/show.erb +6 -0
  43. data/app/cells/decidim/badges_cell.rb +14 -0
  44. data/app/cells/decidim/card_m/header.erb +1 -1
  45. data/app/cells/decidim/card_m/show.erb +1 -2
  46. data/app/cells/decidim/card_m/top.erb +7 -0
  47. data/app/cells/decidim/card_m_cell.rb +14 -17
  48. data/app/cells/decidim/coauthorships_cell.rb +77 -0
  49. data/app/cells/decidim/collapsible_authors/show.erb +0 -1
  50. data/app/cells/decidim/collapsible_authors_cell.rb +4 -4
  51. data/app/cells/decidim/collapsible_list/show.erb +12 -4
  52. data/app/cells/decidim/collapsible_list_cell.rb +14 -12
  53. data/app/cells/decidim/content_blocks/footer_sub_hero/show.erb +14 -0
  54. data/app/cells/decidim/content_blocks/footer_sub_hero_cell.rb +12 -0
  55. data/app/{views/decidim/pages/home/_hero.html.erb → cells/decidim/content_blocks/hero/show.erb} +4 -4
  56. data/app/cells/decidim/content_blocks/hero_cell.rb +25 -0
  57. data/app/cells/decidim/content_blocks/hero_settings_form/show.erb +7 -0
  58. data/app/cells/decidim/content_blocks/hero_settings_form_cell.rb +13 -0
  59. data/app/cells/decidim/content_blocks/highlighted_content_banner/show.erb +24 -0
  60. data/app/cells/decidim/content_blocks/highlighted_content_banner_cell.rb +16 -0
  61. data/app/{views/decidim/pages/home/_extended.html.erb → cells/decidim/content_blocks/how_to_participate/show.erb} +10 -10
  62. data/app/cells/decidim/content_blocks/how_to_participate_cell.rb +9 -0
  63. data/app/{views/decidim/pages/home/_statistics.html.erb → cells/decidim/content_blocks/stats/show.erb} +2 -2
  64. data/app/cells/decidim/content_blocks/stats_cell.rb +18 -0
  65. data/app/{views/decidim/pages/home/_sub_hero.html.erb → cells/decidim/content_blocks/sub_hero/show.erb} +2 -2
  66. data/app/cells/decidim/content_blocks/sub_hero_cell.rb +17 -0
  67. data/app/cells/decidim/conversation/show.erb +18 -0
  68. data/app/cells/decidim/conversation_cell.rb +23 -0
  69. data/app/cells/decidim/conversation_header/show.erb +17 -0
  70. data/app/cells/decidim/conversation_header_cell.rb +16 -0
  71. data/app/cells/decidim/conversations/show.erb +45 -0
  72. data/app/cells/decidim/conversations_cell.rb +24 -0
  73. data/app/cells/decidim/follow_button/show.erb +3 -3
  74. data/app/cells/decidim/follow_button_cell.rb +1 -5
  75. data/app/cells/decidim/following_cell.rb +1 -7
  76. data/app/cells/decidim/message/show.erb +15 -0
  77. data/app/cells/decidim/message_cell.rb +23 -0
  78. data/app/cells/decidim/new_conversation/show.erb +19 -0
  79. data/app/cells/decidim/new_conversation_cell.rb +19 -0
  80. data/app/cells/decidim/notifications/show.erb +1 -1
  81. data/app/cells/decidim/profile/show.erb +27 -0
  82. data/app/cells/decidim/profile_cell.rb +33 -0
  83. data/app/cells/decidim/profile_sidebar/show.erb +57 -0
  84. data/app/cells/decidim/profile_sidebar_cell.rb +31 -0
  85. data/app/cells/decidim/tos_page_cell.rb +0 -4
  86. data/app/cells/decidim/user_profile/header.erb +1 -1
  87. data/app/controllers/concerns/decidim/action_authorization.rb +13 -38
  88. data/app/controllers/concerns/decidim/needs_permission.rb +15 -6
  89. data/app/controllers/decidim/application_controller.rb +1 -0
  90. data/app/controllers/decidim/authorization_modals_controller.rb +35 -0
  91. data/app/controllers/decidim/components/base_controller.rb +0 -1
  92. data/app/controllers/decidim/devise/invitations_controller.rb +2 -1
  93. data/app/controllers/decidim/messaging/conversations_controller.rb +2 -11
  94. data/app/controllers/decidim/newsletters_controller.rb +4 -6
  95. data/app/controllers/decidim/notifications_controller.rb +4 -0
  96. data/app/controllers/decidim/pages_controller.rb +3 -7
  97. data/app/controllers/decidim/profiles_controller.rb +17 -7
  98. data/app/forms/decidim/notifications_settings_form.rb +1 -1
  99. data/app/forms/decidim/registration_form.rb +1 -1
  100. data/app/helpers/decidim/action_authorization_helper.rb +51 -46
  101. data/app/helpers/decidim/application_helper.rb +18 -0
  102. data/app/helpers/decidim/card_helper.rb +1 -1
  103. data/app/helpers/decidim/cells_helper.rb +6 -2
  104. data/app/helpers/decidim/resource_helper.rb +8 -1
  105. data/app/helpers/decidim/searches_helper.rb +5 -4
  106. data/app/helpers/decidim/traceability_helper.rb +5 -1
  107. data/app/models/decidim/authorization.rb +2 -2
  108. data/app/models/decidim/content_block.rb +144 -0
  109. data/app/models/decidim/gamification/badge_score.rb +13 -0
  110. data/app/models/decidim/messaging/message.rb +1 -1
  111. data/app/models/decidim/messaging/receipt.rb +1 -1
  112. data/app/models/decidim/organization.rb +1 -5
  113. data/app/models/decidim/resource_permission.rb +8 -0
  114. data/app/models/decidim/searchable_resource.rb +1 -1
  115. data/app/models/decidim/user.rb +17 -1
  116. data/app/permissions/decidim/default_permissions.rb +4 -3
  117. data/app/permissions/decidim/permissions.rb +33 -1
  118. data/app/presenters/decidim/hashtag_presenter.rb +32 -0
  119. data/app/presenters/decidim/resource_locator_presenter.rb +13 -0
  120. data/app/presenters/decidim/user_presenter.rb +1 -1
  121. data/app/queries/decidim/messaging/user_conversations.rb +1 -1
  122. data/app/resolvers/decidim/hashtags_resolver.rb +15 -0
  123. data/app/services/decidim/action_authorizer.rb +9 -8
  124. data/app/types/decidim/core/date_time_type.rb +1 -1
  125. data/app/types/decidim/core/hashtag_type.rb +13 -0
  126. data/app/uploaders/decidim/homepage_image_uploader.rb +1 -1
  127. data/app/uploaders/decidim/image_uploader.rb +1 -0
  128. data/app/views/decidim/authorization_modals/show.html.erb +32 -0
  129. data/app/views/decidim/messaging/conversations/create.js.erb +1 -1
  130. data/app/views/decidim/messaging/conversations/index.html.erb +1 -51
  131. data/app/views/decidim/messaging/conversations/new.html.erb +1 -5
  132. data/app/views/decidim/messaging/conversations/show.html.erb +1 -9
  133. data/app/views/decidim/messaging/conversations/update.js.erb +1 -1
  134. data/app/views/decidim/notifications/index.html.erb +1 -0
  135. data/app/views/decidim/pages/decidim_page.html.erb +9 -0
  136. data/app/views/decidim/pages/home.html.erb +12 -16
  137. data/app/views/decidim/pages/index.html.erb +8 -0
  138. data/app/views/decidim/profiles/_user_follow.erb +2 -2
  139. data/app/views/decidim/profiles/show.html.erb +1 -37
  140. data/app/views/decidim/searches/_results.html.erb +1 -1
  141. data/app/views/decidim/shared/_author_reference.html.erb +1 -1
  142. data/app/views/decidim/shared/_authorization_modal.html.erb +1 -0
  143. data/app/views/decidim/shared/_tags.html.erb +1 -1
  144. data/app/views/kaminari/decidim/_page.html.erb +1 -1
  145. data/app/views/layouts/decidim/_application.html.erb +6 -1
  146. data/app/views/layouts/decidim/_edit_link.html.erb +8 -0
  147. data/app/views/layouts/decidim/_impersonation_warning.html.erb +1 -1
  148. data/app/views/layouts/decidim/_user_menu.html.erb +2 -2
  149. data/app/views/layouts/decidim/_wrapper.html.erb +14 -1
  150. data/config/initializers/carrierwave.rb +15 -0
  151. data/config/locales/ca.yml +78 -30
  152. data/config/locales/en.yml +78 -30
  153. data/config/locales/es-PY.yml +78 -30
  154. data/config/locales/es.yml +78 -30
  155. data/config/locales/eu.yml +78 -30
  156. data/config/locales/fi.yml +262 -214
  157. data/config/locales/fr.yml +78 -30
  158. data/config/locales/gl.yml +78 -30
  159. data/config/locales/hu.yml +781 -0
  160. data/config/locales/it.yml +78 -30
  161. data/config/locales/nl.yml +78 -30
  162. data/config/locales/pl.yml +78 -30
  163. data/config/locales/pt-BR.yml +106 -58
  164. data/config/locales/pt.yml +78 -30
  165. data/config/locales/ru.yml +52 -32
  166. data/config/locales/sv.yml +183 -135
  167. data/config/locales/uk.yml +60 -40
  168. data/config/routes.rb +8 -6
  169. data/db/migrate/20180705091019_create_decidim_resource_permissions.rb +12 -0
  170. data/db/migrate/20180706104107_add_nickname_to_managed_users.rb +14 -0
  171. data/db/migrate/20180706111847_fix_result_follows.rb +9 -0
  172. data/db/migrate/20180724103814_add_content_blocks.rb +22 -0
  173. data/db/migrate/20180726112510_create_decidim_hashtags.rb +17 -0
  174. data/db/migrate/20180730071851_add_core_content_blocks.rb +28 -0
  175. data/db/migrate/20180802132147_rename_content_block_options_to_settings.rb +7 -0
  176. data/db/migrate/20180806095628_add_badge_scores.rb +11 -0
  177. data/db/migrate/20180808135006_add_images_to_content_blocks.rb +7 -0
  178. data/db/migrate/20180810092428_move_organization_fields_to_hero_content_block.rb +23 -0
  179. data/db/seeds.rb +10 -2
  180. data/lib/decidim/api/authorable_interface.rb +1 -1
  181. data/lib/decidim/coauthorable.rb +1 -0
  182. data/lib/decidim/content_block_manifest.rb +58 -0
  183. data/lib/decidim/content_block_registry.rb +87 -0
  184. data/lib/decidim/content_parsers.rb +1 -0
  185. data/lib/decidim/content_parsers/hashtag_parser.rb +36 -0
  186. data/lib/decidim/content_processor.rb +11 -0
  187. data/lib/decidim/content_renderers.rb +1 -0
  188. data/lib/decidim/content_renderers/hashtag_renderer.rb +43 -0
  189. data/lib/decidim/core.rb +28 -6
  190. data/lib/decidim/core/api.rb +1 -0
  191. data/lib/decidim/core/engine.rb +52 -1
  192. data/lib/decidim/core/test.rb +3 -0
  193. data/lib/decidim/core/test/factories.rb +32 -17
  194. data/lib/decidim/core/test/shared_examples/authorable_interface_examples.rb +10 -0
  195. data/lib/decidim/core/test/shared_examples/coauthorable.rb +3 -0
  196. data/lib/decidim/core/test/shared_examples/edit_link_shared_examples.rb +30 -0
  197. data/lib/decidim/core/test/shared_examples/has_space_in_mcell_examples.rb +15 -0
  198. data/lib/decidim/core/test/shared_examples/publicable.rb +1 -1
  199. data/lib/decidim/core/test/shared_examples/railtie_examples.rb +15 -0
  200. data/lib/decidim/core/test/shared_examples/scope_helper_examples.rb +1 -0
  201. data/lib/decidim/core/version.rb +1 -1
  202. data/lib/decidim/events/base_event.rb +2 -1
  203. data/lib/decidim/form_builder.rb +9 -3
  204. data/lib/decidim/friendly_dates.rb +1 -1
  205. data/lib/decidim/gamification.rb +109 -0
  206. data/lib/decidim/gamification/badge.rb +54 -0
  207. data/lib/decidim/gamification/badge_earned_event.rb +9 -0
  208. data/lib/decidim/gamification/badge_registry.rb +63 -0
  209. data/lib/decidim/gamification/badge_scorer.rb +118 -0
  210. data/lib/decidim/gamification/badge_status.rb +41 -0
  211. data/lib/decidim/gamification/base_event.rb +40 -0
  212. data/lib/decidim/gamification/level_up_event.rb +9 -0
  213. data/lib/decidim/hashtag.rb +15 -0
  214. data/lib/decidim/hashtaggable.rb +20 -0
  215. data/lib/decidim/query_extensions.rb +10 -0
  216. data/lib/decidim/resource_manifest.rb +10 -0
  217. data/lib/decidim/resourceable.rb +13 -0
  218. data/lib/decidim/search_resource_fields_mapper.rb +8 -3
  219. data/lib/decidim/searchable.rb +8 -0
  220. data/lib/decidim/translatable_attributes.rb +6 -18
  221. data/lib/decidim/view_model.rb +6 -0
  222. data/lib/devise/models/decidim_newsletterable.rb +1 -1
  223. data/vendor/assets/javascripts/d3.js +17813 -0
  224. metadata +125 -27
  225. data/app/cells/decidim/card_m/author.erb +0 -3
  226. data/app/cells/decidim/card_m/authors.erb +0 -9
  227. data/app/views/decidim/messaging/conversations/_message.html.erb +0 -14
  228. data/app/views/decidim/messaging/conversations/_reply.html.erb +0 -11
  229. data/app/views/decidim/messaging/conversations/_show.html.erb +0 -21
  230. data/app/views/decidim/messaging/conversations/_start.html.erb +0 -12
  231. data/app/views/decidim/pages/home/_footer_sub_hero.html.erb +0 -14
  232. data/app/views/decidim/pages/home/_highlighted_content_banner.html.erb +0 -26
  233. data/app/views/decidim/pages/home/_highlighted_processes.html.erb +0 -7
  234. data/app/views/decidim/profiles/_user.html.erb +0 -59
  235. data/app/views/decidim/shared/_action_authorization_modal.html.erb +0 -39
  236. data/app/views/layouts/decidim/_component_authorization_modals.html.erb +0 -5
@@ -2,34 +2,36 @@ pt-BR:
2
2
  activemodel:
3
3
  attributes:
4
4
  account:
5
- delete_reason: Razão para cancelar a sua conta
5
+ delete_reason: Motivo para excluir sua conta
6
6
  report:
7
7
  details: Comentários adicionais
8
8
  user:
9
9
  about: Sobre
10
10
  email: O seu email
11
11
  name: Seu nome
12
- nickname: Seu identificador curto e exclusivo
12
+ nickname: O seu identificador curto e único
13
13
  password: Senha
14
14
  password_confirmation: Confirme sua senha
15
15
  personal_url: URL pessoal
16
- remove_avatar: Remover avatar
16
+ remove_avatar: Excluir avatar
17
17
  user_group_document_number: Número do documento de organização
18
18
  user_group_name: Nome da organização
19
19
  user_group_phone: Telefone da organização
20
20
  models:
21
21
  decidim/attachment_created_event: Anexo
22
22
  decidim/component_published_event: Componente ativo
23
+ decidim/gamification/badge_earned_event: Distintivo ganho
24
+ decidim/gamification/level_up_event: Você subiu de nível
23
25
  decidim/profile_updated_event: Perfil atualizado
24
26
  activerecord:
25
27
  attributes:
26
28
  decidim/user:
27
29
  current_password: Senha atual
28
- email: Email
30
+ email: E-mail
29
31
  name: Nome de usuário
30
32
  password: Senha
31
33
  password_confirmation: Confirmação de senha
32
- remember_me: Recorde-me
34
+ remember_me: Lembrar-me
33
35
  user_group_document_number: Número do documento de organização
34
36
  user_group_name: Nome da organização
35
37
  user_group_phone: Telefone da organização
@@ -45,7 +47,7 @@ pt-BR:
45
47
  'true': 'Sim'
46
48
  carrierwave:
47
49
  errors:
48
- image_too_big: A imagem é demasiado grande
50
+ image_too_big: A imagem é muito grande
49
51
  date:
50
52
  formats:
51
53
  decidim_short: "%d/%m/%Y"
@@ -53,7 +55,7 @@ pt-BR:
53
55
  decidim:
54
56
  account:
55
57
  data_portability_export:
56
- file_no_exists: Arquivo não existe
58
+ file_no_exists: O arquivo não existe
57
59
  invalid_token: O token fornecido é inválido.
58
60
  no_token: Nenhum token fornecido
59
61
  notice: Seus dados estão atualmente em andamento. Você receberá um e-mail quando estiver concluído.
@@ -61,13 +63,13 @@ pt-BR:
61
63
  alert: Esta ação não poderá ser desfeita. Se cancelar a sua conta não poderá voltar a fazer login.
62
64
  confirm:
63
65
  close: Fechar janela
64
- ok: Sim, eu quero cancelar a minha conta
65
- question: Tem certeza de que deseja cancelar a sua conta?
66
+ ok: Sim, eu quero excluir minha conta
67
+ question: Deseja mesmo excluir a sua conta?
66
68
  title: Excluir minha conta
67
69
  explanation: Por favor, preencha o motivo pelo qual deseja cancelar a sua conta (opcional).
68
70
  destroy:
69
71
  error: Ocorreu um erro ao cancelar a sua conta.
70
- success: Sua conta foi cancelada com sucesso.
72
+ success: Sua conta foi excluída.
71
73
  show:
72
74
  change_password: Mudar senha
73
75
  update_account: Atualizar conta
@@ -100,12 +102,12 @@ pt-BR:
100
102
  organization:
101
103
  update: "%{user_name} atualizou as configurações da organização"
102
104
  scope:
103
- create: "%{user_name} criou o escopo %{resource_name}"
104
- create_with_parent: "%{user_name} criou o escopo %{resource_name} dentro do escopo %{parent_scope}"
105
- delete: "%{user_name} excluiu o escopo %{resource_name}"
106
- delete_with_parent: "%{user_name} excluiu o escopo %{resource_name} dentro do escopo %{parent_scope}"
107
- update: "%{user_name} atualizou o escopo %{resource_name}"
108
- update_with_parent: "%{user_name} atualizou o escopo %{resource_name} dentro do escopo %{parent_scope}"
105
+ create: "%{user_name} criou o âmbito %{resource_name}"
106
+ create_with_parent: "%{user_name} criou o âmbito %{resource_name} dentro do âmbito %{parent_scope}"
107
+ delete: "%{user_name} excluiu o âmbito %{resource_name}"
108
+ delete_with_parent: "%{user_name} excluiu o âmbito %{resource_name} dentro do âmbito %{parent_scope}"
109
+ update: "%{user_name} atualizou o âmbito %{resource_name}"
110
+ update_with_parent: "%{user_name} atualizou o âmbito %{resource_name} dentro do âmbito %{parent_scope}"
109
111
  static_page:
110
112
  create: "%{user_name} criou o %{resource_name} página estática"
111
113
  delete: "%{user_name} apagou o %{resource_name} página estática"
@@ -136,7 +138,7 @@ pt-BR:
136
138
  another_dummy_authorization_handler:
137
139
  explanation: Seja verificado introduzindo um número de passaporte começando com "A"
138
140
  fields:
139
- passport_number: Número do passaporte
141
+ passport_number: Número de passaporte
140
142
  name: Outro exemplo de autorização
141
143
  dummy_authorization_handler:
142
144
  explanation: Seja verificado através da introdução de um número de documento que termina com "X"
@@ -157,6 +159,31 @@ pt-BR:
157
159
  name: Autorização Foo
158
160
  granted_at: Concedido em %{timestamp}
159
161
  started_at: Iniciado em %{timestamp}
162
+ authorization_modals:
163
+ show:
164
+ expired:
165
+ authorize: Reautorize com "%{authorization}"
166
+ explanation: Sua autorização expirou. Para executar esta ação, você precisa ser reautorizado com "%{authorization}".
167
+ title: A autorização expirou
168
+ incomplete:
169
+ cancel: Cancelar
170
+ explanation: 'Embora você esteja atualmente autorizado com "%{authorization}", precisamos que você reauthorize porque faltamos os seguintes dados:'
171
+ invalid_field: "%{field}"
172
+ reauthorize: Reautorizar
173
+ title: Por favor reautorize
174
+ missing:
175
+ authorize: Autorizar com "%{authorization}"
176
+ explanation: Para executar esta ação, você precisa ser autorizado com "%{authorization}".
177
+ title: Autorização necessária
178
+ pending:
179
+ explanation: Para realizar esta ação, você precisa ser autorizado com "%{authorization}", mas sua autorização ainda está em progresso
180
+ resume: Verifique o seu progresso de autorização "%{authorization}"
181
+ title: A autorização ainda está em progresso
182
+ unauthorized:
183
+ explanation: Desculpe, você não pode executar esta ação porque alguns de seus dados de autorização não coincidem.
184
+ invalid_field: "%{field} valor %{value} não é válido."
185
+ ok: Ok
186
+ title: Não autorizado
160
187
  collapsible_list:
161
188
  hidden_elements_count:
162
189
  one: e mais 1
@@ -174,11 +201,25 @@ pt-BR:
174
201
  comments_enabled: Comentários ativados
175
202
  dummy_global_attribute_1: Dummy Atributo 1
176
203
  dummy_global_attribute_2: Dummy Attribute 2
204
+ resources_permissions_enabled: Permissões de recursos ativadas
177
205
  step:
178
206
  comments_blocked: Comentários bloqueados
179
207
  dummy_step_attribute_1: Dummy Step Attribute 1
180
208
  dummy_step_attribute_2: Dummy Step Attribute 2
181
209
  contact: Contato
210
+ content_blocks:
211
+ footer_sub_hero:
212
+ name: Rodapé do sub-herói banner
213
+ hero:
214
+ name: Imagem do herói
215
+ highlighted_content_banner:
216
+ name: Banner de conteúdo destacado
217
+ how_to_participate:
218
+ name: Como participar
219
+ stats:
220
+ name: Estatísticas da organização
221
+ sub_hero:
222
+ name: Banner de sub-herói
182
223
  core:
183
224
  actions:
184
225
  unauthorized: Não está autorizado a realizar esta ação
@@ -201,7 +242,7 @@ pt-BR:
201
242
  username_help: Nome público que aparece em suas postagens. Com o objetivo de garantir o anonimato, pode ser qualquer nome.
202
243
  registrations:
203
244
  new:
204
- already_have_an_account?: tem uma conta?
245
+ already_have_an_account?: Você tem uma conta?
205
246
  newsletter: Receba um boletim informativo ocasional com informações relevantes
206
247
  newsletter_title: Permissão de contato
207
248
  nickname_help: Seu identificador curto e exclusivo em %{organization}
@@ -214,7 +255,7 @@ pt-BR:
214
255
  subtitle: Inscreva-se para participar de discussões e propostas de suporte.
215
256
  terms: os termos e condições de uso
216
257
  tos_agreement: Ao se inscrever, aceita %{link}.
217
- tos_title: Termos de Serviço
258
+ tos_title: Termos de serviço
218
259
  username_help: Nome público que aparece em suas postagens. Com o objetivo de garantir o anonimato, pode ser qualquer nome.
219
260
  sessions:
220
261
  new:
@@ -257,7 +298,7 @@ pt-BR:
257
298
  try_later: Por favor, tente novamente mais tarde.
258
299
  not_found:
259
300
  back_home: Voltar ao início
260
- content_doesnt_exist: Este endereço está incorreto ou foi apagado.
301
+ content_doesnt_exist: Este endereço está incorreto ou foi excluído.
261
302
  title: A página que você procura não pode ser encontrada
262
303
  events:
263
304
  attachments:
@@ -277,6 +318,17 @@ pt-BR:
277
318
  email_intro: 'Houve uma atualização para "%{resource_title}". Você pode vê-lo a partir desta página:'
278
319
  email_outro: Você recebeu esta notificação porque está seguindo "%{resource_title}". Você pode ignorá-lo do link anterior.
279
320
  email_subject: Uma atualização para %{resource_title}
321
+ gamification:
322
+ badge_earned:
323
+ email_intro: Bom trabalho! Você ganhou o <a href="%{resource_path}">%{badge_name} badge</a> (nível %{current_level}).
324
+ email_outro: Você recebeu esta notificação porque fez uma atividade em nosso site.
325
+ email_subject: 'Você ganhou um novo selo: %{badge_name}!'
326
+ notification_title: Bom trabalho! Você ganhou o <a href="%{resource_path}">%{badge_name} badge</a> (nível %{current_level}).
327
+ level_up:
328
+ email_intro: Bom trabalho! Você atingiu o nível %{current_level} no emblema <a href="%{resource_path}">%{badge_name}</a>!
329
+ email_outro: Você recebeu esta notificação porque fez uma atividade em nosso site.
330
+ email_subject: Você atingiu o nível %{current_level} no %{badge_name} crachá!
331
+ notification_title: Bom trabalho! Você atingiu o nível %{current_level} no emblema <a href="%{resource_path}">%{badge_name}</a>!
280
332
  notification_event:
281
333
  notification_title: Ocorreu um evento em <a href="%{resource_path}">%{resource_title}</a>.
282
334
  users:
@@ -295,7 +347,8 @@ pt-BR:
295
347
  filters:
296
348
  linked_classes:
297
349
  all: Todos
298
- dummyresource: Recursos falsos
350
+ collaborative_draft: Rascunho colaborativo
351
+ dummy_resource: Recursos falsos
299
352
  meeting: Encontros
300
353
  project: Projetos
301
354
  proposal: Propostas
@@ -326,6 +379,19 @@ pt-BR:
326
379
  errors:
327
380
  error: Há um erro neste campo.
328
381
  remove_this_file: Remover este ficheiro
382
+ gamification:
383
+ badges:
384
+ invitations:
385
+ description_another: Este usuário convidou %{score} usuários.
386
+ description_own: Você convidou %{score} usuários.
387
+ explanation: Os usuários recebem esse selo convidando outros usuários.
388
+ name: Convites
389
+ next_level_in: Convide mais %{score} usuários para alcançar o próximo nível!
390
+ unearned_another: Este usuário ainda não convidou nenhum usuário.
391
+ unearned_own: Você não convidou nenhum usuário ainda.
392
+ description: Crachás são reconhecimentos para ações dos participantes e progresso na plataforma. Ao começar a descobrir, participar e interagir na plataforma, você ganhará distintivos diferentes.
393
+ level: Nível %{level}
394
+ reached_top: Você atingiu o nível superior para este selo.
329
395
  invitations:
330
396
  create:
331
397
  error: Houve alguns problemas ao convidar seus amigos
@@ -354,9 +420,9 @@ pt-BR:
354
420
  area_type_presenter:
355
421
  not_found: 'O tipo de área não foi encontrado no banco de dados (ID: %{id})'
356
422
  scope_presenter:
357
- not_found: 'O escopo não foi encontrado no banco de dados (ID: %{id})'
423
+ not_found: 'O âmbito não foi encontrado no banco de dados (ID: %{id})'
358
424
  scope_type_presenter:
359
- not_found: 'O tipo de escopo não foi encontrado no banco de dados (ID: %{id})'
425
+ not_found: 'O tipo de âmbito não foi encontrado no banco de dados (ID: %{id})'
360
426
  managed_users:
361
427
  expired_session: A sessão de representação atual expirou.
362
428
  menu:
@@ -378,13 +444,13 @@ pt-BR:
378
444
  create:
379
445
  error: Conversa não iniciada. Tente mais tarde
380
446
  index:
447
+ from: De
448
+ last_message_html: Última mensagem <strong>%{time} atrás</strong>
381
449
  no_conversations: Ainda não há conversas
382
- title: Conversas
383
- reply:
384
- send: Enviar
385
- title: Resposta
386
450
  show:
387
- title: Conversa com %{usernames}
451
+ conversation_with_html: Conversa com <strong>%{name}</strong>
452
+ reply: Resposta
453
+ send: Enviar
388
454
  start:
389
455
  send: Enviar
390
456
  title: Comece uma conversa
@@ -497,6 +563,8 @@ pt-BR:
497
563
  profiles:
498
564
  default_officialization_text: Este participante é verificado publicamente, seu nome ou função foi verificada para corresponder com seu nome e função real
499
565
  show:
566
+ badges: Distintivos
567
+ conversations: Conversas
500
568
  followers: Seguidores
501
569
  following: Segue
502
570
  notifications: Notificações
@@ -521,10 +589,10 @@ pt-BR:
521
589
  global: Âmbito global
522
590
  picker:
523
591
  cancel: Cancelar
524
- choose: Selecione
592
+ choose: Selecionar
525
593
  title: Selecione %{field}
526
- prompt: Selecione um escopo
527
- scopes: Escopos
594
+ prompt: Selecione um âmbito
595
+ scopes: Âmbitos
528
596
  search:
529
597
  filter:
530
598
  all: Todos
@@ -540,30 +608,6 @@ pt-BR:
540
608
  filter_by: Filtrar por
541
609
  unfold: Desdobrar
542
610
  shared:
543
- action_authorization_modal:
544
- expired:
545
- authorize: Reautorize com "%{authorization}"
546
- explanation: Sua autorização expirou. Para executar esta ação, você precisa ser reautorizado com "%{authorization}".
547
- title: A autorização expirou
548
- incomplete:
549
- cancel: Cancelar
550
- explanation: 'Embora você esteja atualmente autorizado com "%{authorization}", precisamos que você reauthorize porque faltamos os seguintes dados:'
551
- invalid_field: "%{field}"
552
- reauthorize: Reautorizar
553
- title: Por favor reautorize
554
- missing:
555
- authorize: Autorizar com "%{authorization}"
556
- explanation: Para executar esta ação, você precisa ser autorizado com "%{authorization}".
557
- title: Autorização necessária
558
- pending:
559
- explanation: Para realizar esta ação, você precisa ser autorizado com "%{authorization}", mas sua autorização ainda está em progresso
560
- resume: Verifique o seu progresso de autorização "%{authorization}"
561
- title: A autorização ainda está em progresso
562
- unauthorized:
563
- explanation: Desculpe, você não pode executar esta ação porque alguns de seus dados de autorização não coincidem.
564
- invalid_field: "%{field} valor %{value} não é válido."
565
- ok: Ok
566
- title: Não autorizado
567
611
  embed_modal:
568
612
  close_window: Fechar janela
569
613
  embed: Cole este código na sua página
@@ -588,10 +632,10 @@ pt-BR:
588
632
  label: 'Resultados por página:'
589
633
  share_modal:
590
634
  close_window: Fechar janela
591
- share: Partilhar
635
+ share: Compartilhar
592
636
  share_link: Partilhar link
593
637
  version_author:
594
- deleted: Usuário deletado
638
+ deleted: Usuário excluído
595
639
  devise:
596
640
  invitations:
597
641
  edit:
@@ -603,6 +647,7 @@ pt-BR:
603
647
  invitation_instructions:
604
648
  accept: Aceitar convite
605
649
  accept_until: Este convite será devido em %{due_date}.
650
+ decline: Negar convite
606
651
  hello: Olá %{email},
607
652
  ignore: |-
608
653
  Se você não quiser aceitar o convite, ignore este e-mail.<br />
@@ -654,6 +699,8 @@ pt-BR:
654
699
  description_html: Este site usa cookies. Ao continuar a navegar no site, você concorda com o uso de cookies. Saiba mais sobre isso %{link}.
655
700
  link_label: aqui
656
701
  ok: Concordo
702
+ edit_link:
703
+ edit: Editar
657
704
  footer:
658
705
  made_with_open_source: Site criado com <a target="_blank" href="https://github.com/decidim/decidim"> software livre</a>.
659
706
  header:
@@ -678,7 +725,7 @@ pt-BR:
678
725
  user_profile:
679
726
  account: Conta
680
727
  authorizations: Autorizações
681
- delete_my_account: Deletar minha conta
728
+ delete_my_account: Excluir minha conta
682
729
  my_data: Meus dados
683
730
  notifications_settings: Configurações de notificações
684
731
  title: Configurações do usuário
@@ -721,6 +768,7 @@ pt-BR:
721
768
  formats:
722
769
  day_of_month: "%b %d"
723
770
  day_of_week: "%a"
771
+ day_of_week_long: "%a %e"
724
772
  day_of_year: "%d.%m.%y"
725
773
  decidim_day_of_year: "%d %B %Y"
726
774
  decidim_short: "%d/%m/%Y %H:%M"
@@ -20,6 +20,8 @@ pt:
20
20
  models:
21
21
  decidim/attachment_created_event: Anexo
22
22
  decidim/component_published_event: Componente ativo
23
+ decidim/gamification/badge_earned_event: Distintivo ganho
24
+ decidim/gamification/level_up_event: Você subiu de nível
23
25
  decidim/profile_updated_event: perfil atualizado
24
26
  activerecord:
25
27
  attributes:
@@ -157,6 +159,31 @@ pt:
157
159
  name: Autorização Foo
158
160
  granted_at: Concedido em %{timestamp}
159
161
  started_at: Iniciado em %{timestamp}
162
+ authorization_modals:
163
+ show:
164
+ expired:
165
+ authorize: Reautorize com "%{authorization}"
166
+ explanation: Sua autorização expirou. Para executar esta ação, você precisa ser reautorizado com "%{authorization}".
167
+ title: A autorização expirou
168
+ incomplete:
169
+ cancel: Cancelar
170
+ explanation: 'Embora você esteja atualmente autorizado com "%{authorization}", precisamos que você reauthorize porque faltamos os seguintes dados:'
171
+ invalid_field: "%{field}"
172
+ reauthorize: Reautorizar
173
+ title: Por favor reautorize
174
+ missing:
175
+ authorize: Autorizar com "%{authorization}"
176
+ explanation: Para executar esta ação, você precisa ser autorizado com "%{authorization}".
177
+ title: Autorização necessária
178
+ pending:
179
+ explanation: Para realizar esta ação, você precisa ser autorizado com "%{authorization}", mas sua autorização ainda está em progresso
180
+ resume: Verifique o seu progresso de autorização "%{authorization}"
181
+ title: A autorização ainda está em progresso
182
+ unauthorized:
183
+ explanation: Desculpe, você não pode executar esta ação porque alguns de seus dados de autorização não coincidem.
184
+ invalid_field: "%{field} valor %{value} não é válido."
185
+ ok: OK
186
+ title: Não autorizado
160
187
  collapsible_list:
161
188
  hidden_elements_count:
162
189
  one: e mais 1
@@ -174,11 +201,25 @@ pt:
174
201
  comments_enabled: Comentários ativados
175
202
  dummy_global_attribute_1: Dummy Atributo 1
176
203
  dummy_global_attribute_2: Dummy Attribute 2
204
+ resources_permissions_enabled: Permissões de recursos ativadas
177
205
  step:
178
206
  comments_blocked: Comentários bloqueados
179
207
  dummy_step_attribute_1: Dummy Step Attribute 1
180
208
  dummy_step_attribute_2: Dummy Step Attribute 2
181
209
  contact: Contato
210
+ content_blocks:
211
+ footer_sub_hero:
212
+ name: Rodapé do sub-herói banner
213
+ hero:
214
+ name: Imagem do herói
215
+ highlighted_content_banner:
216
+ name: Banner de conteúdo destacado
217
+ how_to_participate:
218
+ name: Como participar
219
+ stats:
220
+ name: Estatísticas da organização
221
+ sub_hero:
222
+ name: Banner de sub-herói
182
223
  core:
183
224
  actions:
184
225
  unauthorized: Não está autorizado a realizar esta ação
@@ -277,6 +318,17 @@ pt:
277
318
  email_intro: 'Houve uma atualização para "%{resource_title}". Você pode vê-lo a partir desta página:'
278
319
  email_outro: Você recebeu esta notificação porque está seguindo "%{resource_title}". Você pode ignorá-lo do link anterior.
279
320
  email_subject: Uma atualização para %{resource_title}
321
+ gamification:
322
+ badge_earned:
323
+ email_intro: Bom trabalho! Você ganhou o <a href="%{resource_path}">%{badge_name} badge</a> (nível %{current_level}).
324
+ email_outro: Você recebeu esta notificação porque fez uma atividade em nosso site.
325
+ email_subject: 'Você ganhou um novo selo: %{badge_name}!'
326
+ notification_title: Bom trabalho! Você ganhou o <a href="%{resource_path}">%{badge_name} badge</a> (nível %{current_level}).
327
+ level_up:
328
+ email_intro: Bom trabalho! Você atingiu o nível %{current_level} no emblema <a href="%{resource_path}">%{badge_name}</a>!
329
+ email_outro: Você recebeu esta notificação porque fez uma atividade em nosso site.
330
+ email_subject: Você atingiu o nível %{current_level} no %{badge_name} crachá!
331
+ notification_title: Bom trabalho! Você atingiu o nível %{current_level} no emblema <a href="%{resource_path}">%{badge_name}</a>!
280
332
  notification_event:
281
333
  notification_title: Ocorreu um evento em <a href="%{resource_path}">%{resource_title}</a>.
282
334
  users:
@@ -295,7 +347,8 @@ pt:
295
347
  filters:
296
348
  linked_classes:
297
349
  all: Todos
298
- dummyresource: Recursos falsos
350
+ collaborative_draft: Rascunho colaborativo
351
+ dummy_resource: Recursos falsos
299
352
  meeting: Reuniões
300
353
  project: Projetos
301
354
  proposal: Propostas
@@ -326,6 +379,19 @@ pt:
326
379
  errors:
327
380
  error: Há um erro neste campo.
328
381
  remove_this_file: Remover este ficheiro
382
+ gamification:
383
+ badges:
384
+ invitations:
385
+ description_another: Este usuário convidou %{score} usuários.
386
+ description_own: Você convidou %{score} usuários.
387
+ explanation: Os usuários recebem esse selo convidando outros usuários.
388
+ name: Convites
389
+ next_level_in: Convide mais %{score} usuários para alcançar o próximo nível!
390
+ unearned_another: Este usuário ainda não convidou nenhum usuário.
391
+ unearned_own: Você não convidou nenhum usuário ainda.
392
+ description: Crachás são reconhecimentos para ações dos participantes e progresso na plataforma. Ao começar a descobrir, participar e interagir na plataforma, você ganhará distintivos diferentes.
393
+ level: Nível %{level}
394
+ reached_top: Você atingiu o nível superior para este selo.
329
395
  invitations:
330
396
  create:
331
397
  error: Houve alguns problemas ao convidar seus amigos
@@ -378,13 +444,13 @@ pt:
378
444
  create:
379
445
  error: Conversa não iniciada. Tente mais tarde
380
446
  index:
447
+ from: A partir de
448
+ last_message_html: Última mensagem <strong>%{time} atrás</strong>
381
449
  no_conversations: Ainda não há conversas
382
- title: Conversas
383
- reply:
384
- send: Enviar
385
- title: Resposta
386
450
  show:
387
- title: Conversa com %{usernames}
451
+ conversation_with_html: Conversa com <strong>%{name}</strong>
452
+ reply: Resposta
453
+ send: Enviar
388
454
  start:
389
455
  send: Enviar
390
456
  title: Comece uma conversa
@@ -497,6 +563,8 @@ pt:
497
563
  profiles:
498
564
  default_officialization_text: Este participante é verificado publicamente, seu nome ou função foi verificada para corresponder com seu nome e função real
499
565
  show:
566
+ badges: Distintivos
567
+ conversations: Conversas
500
568
  followers: Seguidores
501
569
  following: Segue
502
570
  notifications: Notificações
@@ -540,30 +608,6 @@ pt:
540
608
  filter_by: Filtrar por
541
609
  unfold: Desdobrar
542
610
  shared:
543
- action_authorization_modal:
544
- expired:
545
- authorize: Reautorize com "%{authorization}"
546
- explanation: Sua autorização expirou. Para executar esta ação, você precisa ser reautorizado com "%{authorization}".
547
- title: A autorização expirou
548
- incomplete:
549
- cancel: Cancelar
550
- explanation: 'Embora você esteja atualmente autorizado com "%{authorization}", precisamos que você reauthorize porque faltamos os seguintes dados:'
551
- invalid_field: "%{field}"
552
- reauthorize: Reautorizar
553
- title: Por favor reautorize
554
- missing:
555
- authorize: Autorizar com "%{authorization}"
556
- explanation: Para executar esta ação, você precisa ser autorizado com "%{authorization}".
557
- title: Autorização necessária
558
- pending:
559
- explanation: Para realizar esta ação, você precisa ser autorizado com "%{authorization}", mas sua autorização ainda está em progresso
560
- resume: Verifique o seu progresso de autorização "%{authorization}"
561
- title: A autorização ainda está em progresso
562
- unauthorized:
563
- explanation: Desculpe, você não pode executar esta ação porque alguns de seus dados de autorização não coincidem.
564
- invalid_field: "%{field} valor %{value} não é válido."
565
- ok: OK
566
- title: Não autorizado
567
611
  embed_modal:
568
612
  close_window: Fechar janela
569
613
  embed: Cole este código na sua página
@@ -603,6 +647,7 @@ pt:
603
647
  invitation_instructions:
604
648
  accept: Aceitar convite
605
649
  accept_until: Este convite será devido em %{due_date}.
650
+ decline: Recusar convite
606
651
  hello: Olá %{email},
607
652
  ignore: |-
608
653
  Se você não quiser aceitar o convite, ignore este e-mail.<br />
@@ -654,6 +699,8 @@ pt:
654
699
  description_html: Este site usa cookies. Ao continuar a navegar no site, você concorda com o uso de cookies. Saiba mais sobre isso %{link}.
655
700
  link_label: aqui
656
701
  ok: Concordo
702
+ edit_link:
703
+ edit: Editar
657
704
  footer:
658
705
  made_with_open_source: Site criado com <a target="_blank" href="https://github.com/decidim/decidim"> software livre</a>.
659
706
  header:
@@ -721,6 +768,7 @@ pt:
721
768
  formats:
722
769
  day_of_month: "%b %d"
723
770
  day_of_week: "%a"
771
+ day_of_week_long: "%a %e"
724
772
  day_of_year: "%d.%m.%y"
725
773
  decidim_day_of_year: "%d %B %Y"
726
774
  decidim_short: "%d/%m/%Y %H:%M"