decidim-assemblies 0.31.1 → 0.31.2

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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/app/commands/decidim/assemblies/admin/import_assembly.rb +4 -2
  3. data/app/controllers/decidim/assemblies/admin/assembly_imports_controller.rb +2 -1
  4. data/app/forms/decidim/assemblies/admin/assembly_import_form.rb +11 -0
  5. data/app/helpers/decidim/assemblies/assemblies_helper.rb +4 -1
  6. data/app/packs/src/decidim/assemblies/controllers/assembly_admin/controller.js +0 -4
  7. data/app/serializers/decidim/assemblies/assembly_importer.rb +74 -8
  8. data/app/views/decidim/assemblies/admin/assembly_imports/_form.html.erb +20 -16
  9. data/app/views/decidim/assemblies/admin/assembly_imports/new.html.erb +1 -0
  10. data/app/views/decidim/assemblies/assemblies/show.html.erb +1 -1
  11. data/config/locales/ar.yml +3 -0
  12. data/config/locales/bg.yml +1 -0
  13. data/config/locales/ca-IT.yml +8 -0
  14. data/config/locales/ca.yml +8 -0
  15. data/config/locales/cs.yml +8 -0
  16. data/config/locales/de.yml +1 -0
  17. data/config/locales/el.yml +3 -0
  18. data/config/locales/en.yml +8 -0
  19. data/config/locales/es-MX.yml +8 -0
  20. data/config/locales/es-PY.yml +8 -0
  21. data/config/locales/es.yml +8 -0
  22. data/config/locales/eu.yml +6 -0
  23. data/config/locales/fi-plain.yml +1 -0
  24. data/config/locales/fi.yml +1 -0
  25. data/config/locales/fr-CA.yml +23 -0
  26. data/config/locales/fr.yml +23 -0
  27. data/config/locales/gl.yml +3 -0
  28. data/config/locales/hu.yml +3 -0
  29. data/config/locales/it.yml +1 -0
  30. data/config/locales/ja.yml +6 -0
  31. data/config/locales/lb.yml +3 -0
  32. data/config/locales/lt.yml +3 -0
  33. data/config/locales/nl.yml +3 -0
  34. data/config/locales/no.yml +3 -0
  35. data/config/locales/pl.yml +1 -0
  36. data/config/locales/pt-BR.yml +3 -0
  37. data/config/locales/pt.yml +1 -0
  38. data/config/locales/ro-RO.yml +12 -8
  39. data/config/locales/sl.yml +3 -0
  40. data/config/locales/sv.yml +14 -5
  41. data/config/locales/tr-TR.yml +3 -0
  42. data/config/locales/zh-CN.yml +3 -0
  43. data/config/locales/zh-TW.yml +3 -0
  44. data/lib/decidim/assemblies/participatory_space.rb +2 -2
  45. data/lib/decidim/assemblies/version.rb +1 -1
  46. metadata +12 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b320fa7b91823f714b240b0de5bf9f3dac31293b149ea2e31574797429d79ca6
4
- data.tar.gz: c4ba0946ea40ff93812c61a09e4e4c2b6449808df7508b0822e441f149c9c53c
3
+ metadata.gz: a1c49ec9e39f595bccb9274974ccafc6641ac4259058bb7695856ea6c5fef237
4
+ data.tar.gz: b26fba7ee40748c9b2b80a571b0932424423d9137aa0f4fd66bf52668f13c457
5
5
  SHA512:
6
- metadata.gz: ed4af03c00abc10f30b77b1764a7fab7fed3a719596e16796ff26c63f354b48c4562deec39f42e198fe7e2d292cf4326eebda9f5db1cb3c0f5edb53d637a8f98
7
- data.tar.gz: 56efcc236293b34b5f7ea79a87b6c3b23abb5d46e184bd8da5fdf587fd90b5ea3e4deba740a3685f807d971b2854d72cf41df98a72355d5d2ea80fe06f5226c2
6
+ metadata.gz: d60095b40c68a1d15ccc8eb30cb3cded1799f67fe26d728b20ba19d605abcede463d0a5559f89036c6cdacc1e9b5ada95cae866b94f8d7e56c457f5fb0990771
7
+ data.tar.gz: ba679178f6eb27a3dd206217903e46a9bdf1f2e58a09922bec3c2acf6f0773816ebf65fdba2c1b5917ddbf07abd704bf2659361052723a688f722f9de0015d32
@@ -29,7 +29,7 @@ module Decidim
29
29
  add_admins_as_followers(@imported_assembly)
30
30
  end
31
31
 
32
- broadcast(:ok, @imported_assembly)
32
+ broadcast(:ok, @imported_assembly, @warnings)
33
33
  end
34
34
 
35
35
  private
@@ -37,12 +37,14 @@ module Decidim
37
37
  attr_reader :form
38
38
 
39
39
  def import_assembly
40
- importer = Decidim::Assemblies::AssemblyImporter.new(form.current_organization, form.current_user)
40
+ @warnings = []
41
41
  assemblies.each do |original_assembly|
42
+ importer = Decidim::Assemblies::AssemblyImporter.new(form.current_organization, form.current_user)
42
43
  Decidim.traceability.perform_action!("import", Assembly, @user) do
43
44
  @imported_assembly = importer.import(original_assembly, form.current_user, title: form.title, slug: form.slug)
44
45
  importer.import_folders_and_attachments(original_assembly["attachments"]) if form.import_attachments?
45
46
  importer.import_components(original_assembly["components"]) if form.import_components?
47
+ @warnings.concat(importer.warnings)
46
48
  @imported_assembly
47
49
  end
48
50
  end
@@ -16,8 +16,9 @@ module Decidim
16
16
  @form = form(AssemblyImportForm).from_params(params)
17
17
 
18
18
  ImportAssembly.call(@form, current_user) do
19
- on(:ok) do
19
+ on(:ok) do |_assembly, warnings|
20
20
  flash[:notice] = I18n.t("assembly_imports.create.success", scope: "decidim.admin")
21
+ flash[:warning] = warnings.join("<br>") if warnings.any?
21
22
  redirect_to assemblies_path
22
23
  end
23
24
 
@@ -31,12 +31,14 @@ module Decidim
31
31
  attribute :import_components, Boolean, default: true
32
32
  attribute :document, Decidim::Attributes::Blob
33
33
 
34
+ validates :document, presence: true
34
35
  validates :document, file_content_type: { allow: ACCEPTED_TYPES.values }
35
36
  validates :slug, presence: true, format: { with: Decidim::Assembly.slug_format }
36
37
  validates :title, translatable_presence: true
37
38
  validate :slug_uniqueness
38
39
 
39
40
  validate :document_type_must_be_valid, if: :document
41
+ validate :document_must_have_content, if: -> { document.present? && errors[:document].none? }
40
42
 
41
43
  def document_text
42
44
  @document_text ||= document&.download
@@ -76,6 +78,15 @@ module Decidim
76
78
 
77
79
  errors.add(:slug, :taken)
78
80
  end
81
+
82
+ def document_must_have_content
83
+ return if document_text.blank?
84
+
85
+ parsed = JSON.parse(document_text)
86
+ errors.add(:document, :empty) if parsed.is_a?(Array) && parsed.empty?
87
+ rescue JSON::ParserError
88
+ errors.add(:document, :invalid_json)
89
+ end
79
90
  end
80
91
  end
81
92
  end
@@ -14,7 +14,10 @@ module Decidim
14
14
 
15
15
  # Items to display in the navigation of an assembly
16
16
  def assembly_nav_items(participatory_space)
17
- components = participatory_space.components.published.or(Decidim::Component.where(id: try(:current_component)))
17
+ components = participatory_space
18
+ .components
19
+ .published.or(Decidim::Component.where(id: try(:current_component)))
20
+ .where(visible: true)
18
21
 
19
22
  [
20
23
  *(if participatory_space.members_public_page?
@@ -50,10 +50,6 @@ export default class extends Controller {
50
50
 
51
51
  if (isTransparentCheckbox) {
52
52
  isTransparentCheckbox.disabled = (enabledPrivateSpace === false);
53
-
54
- if (isTransparentCheckbox.checked) {
55
- isTransparentCheckbox.checked = false;
56
- }
57
53
  }
58
54
 
59
55
  if (specialFeatures) {
@@ -4,9 +4,12 @@ module Decidim
4
4
  module Assemblies
5
5
  # A factory class to ensure we always create Assemblies the same way since it involves some logic.
6
6
  class AssemblyImporter < Decidim::Importers::Importer
7
+ attr_reader :warnings
8
+
7
9
  def initialize(organization, user)
8
10
  @organization = organization
9
11
  @user = user
12
+ @warnings = []
10
13
  end
11
14
 
12
15
  # Public: Creates a new Assembly.
@@ -57,8 +60,8 @@ module Decidim
57
60
  meta_scope: attributes["meta_scope"],
58
61
  announcement: attributes["announcement"]
59
62
  )
60
- @imported_assembly.attached_uploader(:hero_image).remote_url = attributes["remote_hero_image_url"] if attributes["remote_hero_image_url"].present?
61
- @imported_assembly.attached_uploader(:banner_image).remote_url = attributes["remote_banner_image_url"] if attributes["remote_banner_image_url"].present?
63
+ import_hero_image(attributes["remote_hero_image_url"])
64
+ import_banner_image(attributes["remote_banner_image_url"])
62
65
 
63
66
  @imported_assembly.save!
64
67
  @imported_assembly
@@ -69,9 +72,29 @@ module Decidim
69
72
  return if attachments["files"].nil?
70
73
 
71
74
  attachments["files"].map do |file|
72
- next unless remote_file_exists?(file["remote_file_url"])
75
+ url = file["remote_file_url"]
76
+ next if url.blank?
77
+
78
+ error = remote_file_error(url)
79
+ if error.present?
80
+ @warnings << I18n.t(
81
+ "decidim.assemblies.admin.imports.attachment_error",
82
+ title: attachment_title(file),
83
+ error:
84
+ )
85
+ next
86
+ end
73
87
 
74
- file_tmp = URI.parse(file["remote_file_url"]).open
88
+ begin
89
+ file_tmp = URI.parse(url).open
90
+ rescue OpenURI::HTTPError, Errno::ENOENT, Errno::ECONNREFUSED, SocketError, Net::OpenTimeout, Net::ReadTimeout => e
91
+ @warnings << I18n.t(
92
+ "decidim.assemblies.admin.imports.attachment_error",
93
+ title: attachment_title(file),
94
+ error: format_error(e)
95
+ )
96
+ next
97
+ end
75
98
 
76
99
  Decidim.traceability.perform_action!("create", Attachment, @user) do
77
100
  attachment = Attachment.new(
@@ -121,7 +144,7 @@ module Decidim
121
144
  attachment_collection
122
145
  end
123
146
 
124
- def remote_file_exists?(url)
147
+ def remote_file_error(url)
125
148
  return if url.nil?
126
149
 
127
150
  accepted = ["image", "application/pdf"]
@@ -129,10 +152,53 @@ module Decidim
129
152
  http_connection = Net::HTTP.new(url.host, url.port)
130
153
  http_connection.use_ssl = true if url.scheme == "https"
131
154
  http_connection.start do |http|
132
- return http.head(url.request_uri)["Content-Type"].start_with?(*accepted)
155
+ response = http.head(url.request_uri)
156
+ content_type = response["Content-Type"]
157
+ next if response.is_a?(Net::HTTPSuccess) && content_type&.start_with?(*accepted)
158
+
159
+ message = response.message.presence || Rack::Utils::HTTP_STATUS_CODES[response.code.to_i]
160
+ message = message.presence || "Error"
161
+ next "#{response.code} #{message}"
133
162
  end
134
- rescue StandardError
135
- nil
163
+ rescue StandardError => e
164
+ format_error(e)
165
+ end
166
+
167
+ def attachment_title(file)
168
+ title = file["title"]
169
+ return "" if title.blank?
170
+
171
+ return title unless title.is_a?(Hash)
172
+
173
+ title.values.find(&:present?) || ""
174
+ end
175
+
176
+ def import_hero_image(url)
177
+ return if url.blank?
178
+
179
+ @imported_assembly.attached_uploader(:hero_image).remote_url = url
180
+ rescue OpenURI::HTTPError, Errno::ENOENT, Errno::ECONNREFUSED, SocketError, Net::OpenTimeout, Net::ReadTimeout => e
181
+ @warnings << I18n.t("decidim.assemblies.admin.imports.hero_image_error", error: format_error(e))
182
+ end
183
+
184
+ def import_banner_image(url)
185
+ return if url.blank?
186
+
187
+ @imported_assembly.attached_uploader(:banner_image).remote_url = url
188
+ rescue OpenURI::HTTPError, Errno::ENOENT, Errno::ECONNREFUSED, SocketError, Net::OpenTimeout, Net::ReadTimeout => e
189
+ @warnings << I18n.t("decidim.assemblies.admin.imports.banner_image_error", error: format_error(e))
190
+ end
191
+
192
+ def format_error(error)
193
+ return error.message unless error.respond_to?(:io) && error.io.respond_to?(:status)
194
+
195
+ status = error.io.status
196
+ return error.message if status.blank? || status.first.blank?
197
+
198
+ code = status[0]
199
+ message = status[1].presence || Rack::Utils::HTTP_STATUS_CODES[code.to_i]
200
+ message = message.presence || error.message
201
+ "#{code} #{message}"
136
202
  end
137
203
  end
138
204
  end
@@ -1,34 +1,38 @@
1
- <%= append_javascript_pack_tag "decidim_assemblies_admin" %>
2
-
3
1
  <div class="form__wrapper">
4
2
  <div class="card pt-4" id="assemblies">
5
3
  <div class="card-section">
4
+ <div class="row column mb-4">
5
+ <%= cell("decidim/announcement", { body: t("decidim.assemblies.admin.new_import.help_html") }, callout_class: "info") %>
6
+ </div>
7
+
6
8
  <div class="row column">
7
9
  <%= form.translated :text_field, :title, autofocus: true, aria: { label: :title } %>
8
10
  </div>
11
+
9
12
  <div class="row column">
10
13
  <%= form.text_field :slug, help_text: t(".slug_help_html", url: decidim_form_slug_url(:assemblies, form.object.slug)) %>
11
14
  </div>
15
+
12
16
  <div class="row column">
13
- <%= form.upload :document, button_class: "button button__sm button__transparent-secondary" %>
17
+ <%= form.upload :document, label: t(".document_legend"), button_class: "button button__sm button__transparent-secondary", help_i18n_scope: "decidim.forms.file_help.import_file", help_i18n_messages: ["message_1"] %>
14
18
  </div>
15
- <div class="row column">
16
- <div class="card">
17
- <div class="card-divider">
18
- <legend><%= t("assembly_imports.new.select", scope: "decidim.admin") %></legend>
19
+
20
+ <div class="card-divider">
21
+ <div class="card-title">
22
+ <%= t("assembly_imports.new.select", scope: "decidim.admin") %>
23
+ </div>
24
+ </div>
25
+ <div class="card-section">
26
+ <div class="row">
27
+ <div class="columns">
28
+ <%= form.check_box :import_attachments %>
19
29
  </div>
20
- <div class="card-section">
21
- <div class="row">
22
- <div class="columns">
23
- <%= form.check_box :import_attachments %>
24
- </div>
25
- <div class="columns">
26
- <%= form.check_box :import_components %>
27
- </div>
28
- </div>
30
+ <div class="columns">
31
+ <%= form.check_box :import_components %>
29
32
  </div>
30
33
  </div>
31
34
  </div>
35
+
32
36
  </div>
33
37
  </div>
34
38
  </div>
@@ -1,4 +1,5 @@
1
1
  <% add_decidim_page_title(t("assembly_imports.new.title", scope: "decidim.admin")) %>
2
+
2
3
  <div class="item_show__header">
3
4
  <h1 class="item_show__header-title">
4
5
  <%= t("assembly_imports.new.title", scope: "decidim.admin") %>
@@ -34,6 +34,6 @@ edit_link(
34
34
  </div>
35
35
 
36
36
  <section class="participatory-space__block-reference">
37
- <%= resource_reference(current_participatory_space) %>
37
+ <p><%= resource_reference(current_participatory_space) %></p>
38
38
  </section>
39
39
  </main>
@@ -217,6 +217,9 @@ ar:
217
217
  select_parent_assembly: حدد الجمعية الأصلية
218
218
  social_handlers: التواصل الاجتماعي
219
219
  title: معلومات عامة
220
+ assembly_imports:
221
+ form:
222
+ document_legend: إضافة وثيقة
220
223
  assembly_members:
221
224
  form:
222
225
  explanation: 'إرشادات للصورة:'
@@ -229,6 +229,7 @@ bg:
229
229
  visibility: Видимост
230
230
  assembly_imports:
231
231
  form:
232
+ document_legend: Добавяне на документ
232
233
  slug_help_html: 'Използват се променливи полета в URL адреса, за да се генерират URL адреси, които водят към това събрание. Допуска се използването само на букви, цифри и тирета и адресът трябва да започва с буква. Пример: %{url}'
233
234
  assembly_members:
234
235
  form:
@@ -74,6 +74,8 @@ ca-IT:
74
74
  attributes:
75
75
  document:
76
76
  allowed_file_content_types: 'Tipus de document no vàlid. Només s''accepten arxius amb les següents extensions: %{types}.'
77
+ empty: El document està buit
78
+ invalid_json: El document no és un JSON vàlid
77
79
  activerecord:
78
80
  models:
79
81
  decidim/assembly:
@@ -267,6 +269,7 @@ ca-IT:
267
269
  slug_help_html: 'Els noms curts d''URL s''utilitzen per generar les URL que apunten a aquesta assemblea. Només accepta lletres, números i guions, i ha de començar amb una lletra. Exemple: %{url}'
268
270
  assembly_imports:
269
271
  form:
272
+ document_legend: Afegir un document
270
273
  slug_help_html: 'Els noms curts d''URL s''utilitzen per generar les URL que apunten a aquesta assemblea. Només accepta lletres, números i guions, i ha de començar amb una lletra. Exemple: %{url}'
271
274
  assembly_members:
272
275
  form:
@@ -276,9 +279,14 @@ ca-IT:
276
279
  content_blocks:
277
280
  highlighted_assemblies:
278
281
  max_results: Quantitat màxima d'elements que es mostraran
282
+ imports:
283
+ attachment_error: No s'ha pogut importar l'arxiu adjunt "%{title}" (%{error}).
284
+ banner_image_error: No s'ha pogut importar la imatge del bàner (%{error}).
285
+ hero_image_error: No s'ha pogut importar la imatge principal (%{error}).
279
286
  new_import:
280
287
  accepted_types:
281
288
  json: JSON
289
+ help_html: Aquesta funció d'importació et permet crear una nova assemblea a partir d'un fitxer JSON exportat. Pots exportar una assemblea d'una altra organització o de la mateixa organització. L'assemblea importada inclourà la seva configuració, els components i els fitxers adjunts (si s'han seleccionat).
282
290
  assemblies:
283
291
  description:
284
292
  area_name: Àrea
@@ -74,6 +74,8 @@ ca:
74
74
  attributes:
75
75
  document:
76
76
  allowed_file_content_types: 'Tipus de document no vàlid. Només s''accepten arxius amb les següents extensions: %{types}.'
77
+ empty: El document està buit
78
+ invalid_json: El document no és un JSON vàlid
77
79
  activerecord:
78
80
  models:
79
81
  decidim/assembly:
@@ -267,6 +269,7 @@ ca:
267
269
  slug_help_html: 'Els noms curts d''URL s''utilitzen per generar les URL que apunten a aquesta assemblea. Només accepta lletres, números i guions, i ha de començar amb una lletra. Exemple: %{url}'
268
270
  assembly_imports:
269
271
  form:
272
+ document_legend: Afegir un document
270
273
  slug_help_html: 'Els noms curts d''URL s''utilitzen per generar les URL que apunten a aquesta assemblea. Només accepta lletres, números i guions, i ha de començar amb una lletra. Exemple: %{url}'
271
274
  assembly_members:
272
275
  form:
@@ -276,9 +279,14 @@ ca:
276
279
  content_blocks:
277
280
  highlighted_assemblies:
278
281
  max_results: Quantitat màxima d'elements que es mostraran
282
+ imports:
283
+ attachment_error: No s'ha pogut importar l'arxiu adjunt "%{title}" (%{error}).
284
+ banner_image_error: No s'ha pogut importar la imatge del bàner (%{error}).
285
+ hero_image_error: No s'ha pogut importar la imatge principal (%{error}).
279
286
  new_import:
280
287
  accepted_types:
281
288
  json: JSON
289
+ help_html: Aquesta funció d'importació et permet crear una nova assemblea a partir d'un fitxer JSON exportat. Pots exportar una assemblea d'una altra organització o de la mateixa organització. L'assemblea importada inclourà la seva configuració, els components i els fitxers adjunts (si s'han seleccionat).
282
290
  assemblies:
283
291
  description:
284
292
  area_name: Àrea
@@ -225,9 +225,11 @@ cs:
225
225
  export: "%{user_name} exportoval shromáždění %{resource_name}"
226
226
  import: "%{user_name} importoval shromáždění %{resource_name}"
227
227
  publish: "%{user_name} publikoval %{resource_name} shromáždění"
228
+ publish_all_members: "%{user_name} zveřejnil všechny členy shromáždění %{resource_name}"
228
229
  restore: "%{user_name} obnovil shromáždění %{resource_name}"
229
230
  soft_delete: "%{user_name} přesunul do koše shromáždění %{resource_name}"
230
231
  unpublish: "%{user_name} odebral %{resource_name} shromáždění"
232
+ unpublish_all_members: "%{user_name} zneveřejnil všechny členy shromáždění %{resource_name}"
231
233
  update: "%{user_name} aktualizoval shromáždění %{resource_name}"
232
234
  assembly_member:
233
235
  create: "%{user_name} vytvořil %{resource_name} člena ve shromáždění %{space_name}"
@@ -271,6 +273,7 @@ cs:
271
273
  slug_help_html: 'URL slugy se používají ke generování adres URL, které odkazují na toto shromáždění. Povolená jsou pouze písmena, číslice a pomlčky a musí začínat písmenem. Příklad: %{url}'
272
274
  assembly_imports:
273
275
  form:
276
+ document_legend: Přidat dokument
274
277
  slug_help_html: 'URL slugy se používají ke generování adres URL, které odkazují na toto shromáždění. Povolená jsou pouze písmena, číslice a pomlčky a musí začínat písmenem. Příklad: %{url}'
275
278
  assembly_members:
276
279
  form:
@@ -280,9 +283,14 @@ cs:
280
283
  content_blocks:
281
284
  highlighted_assemblies:
282
285
  max_results: Maximální množství prvků, které chcete zobrazit
286
+ imports:
287
+ attachment_error: Přílohu "%{title}" nelze importovat (%{error}).
288
+ banner_image_error: Obrázek banneru nelze importovat (%{error}).
289
+ hero_image_error: Obrázek hrdiny nelze importovat (%{error}).
283
290
  new_import:
284
291
  accepted_types:
285
292
  json: JSON
293
+ help_html: Tato funkce importu umožňuje vytvořit novou sestavu z exportovaného JSON souboru. Můžete exportovat sestavení z jiné organizace nebo ze stejné organizace. Importovaná sestava bude obsahovat jeho nastavení, součásti a přílohy (je-li vybrána).
286
294
  assemblies:
287
295
  description:
288
296
  area_name: Oblast
@@ -267,6 +267,7 @@ de:
267
267
  slug_help_html: 'URL-Slugs werden zum Generieren der URLs verwendet, die auf dieses Gremium verweisen. Akzeptiert werden nur Buchstaben, Zahlen und Bindestriche und sie müssen mit einem Buchstaben beginnen. Beispiel: %{url}'
268
268
  assembly_imports:
269
269
  form:
270
+ document_legend: Dokument hinzufügen
270
271
  slug_help_html: 'URL-Slugs werden zum Generieren der URLs verwendet, die auf dieses Gremium verweisen. Akzeptiert werden nur Buchstaben, Zahlen und Bindestriche und es muss mit einem Buchstaben beginnen. Beispiel: %{url}'
271
272
  assembly_members:
272
273
  form:
@@ -209,6 +209,9 @@ el:
209
209
  select_parent_assembly: Επιλέξτε «Γονική συνέλευση»
210
210
  social_handlers: Μέσα κοινωνικής δικτύωσης
211
211
  title: Γενικές πληροφορίες
212
+ assembly_imports:
213
+ form:
214
+ document_legend: Προσθήκη εγγράφου
212
215
  assembly_members:
213
216
  form:
214
217
  explanation: 'Οδηγίες για την εικόνα:'
@@ -74,6 +74,8 @@ en:
74
74
  attributes:
75
75
  document:
76
76
  allowed_file_content_types: 'Invalid document type. Only files with the following extensions are allowed: %{types}.'
77
+ empty: The document is empty
78
+ invalid_json: The document is not valid JSON
77
79
  activerecord:
78
80
  models:
79
81
  decidim/assembly:
@@ -267,6 +269,7 @@ en:
267
269
  slug_help_html: 'URL slugs are used to generate the URLs that point to this assembly. Only accepts letters, numbers and dashes, and must start with a letter. Example: %{url}'
268
270
  assembly_imports:
269
271
  form:
272
+ document_legend: Add a document
270
273
  slug_help_html: 'URL slugs are used to generate the URLs that point to this assembly. Only accepts letters, numbers and dashes, and must start with a letter. Example: %{url}'
271
274
  assembly_members:
272
275
  form:
@@ -276,9 +279,14 @@ en:
276
279
  content_blocks:
277
280
  highlighted_assemblies:
278
281
  max_results: Maximum amount of elements to show
282
+ imports:
283
+ attachment_error: The attachment "%{title}" could not be imported (%{error}).
284
+ banner_image_error: The banner image could not be imported (%{error}).
285
+ hero_image_error: The hero image could not be imported (%{error}).
279
286
  new_import:
280
287
  accepted_types:
281
288
  json: JSON
289
+ help_html: This import feature allows you to create a new assembly from an exported JSON file. You can export an assembly from another organization or from this same organization. The imported assembly will include its settings, components, and attachments (if selected).
282
290
  assemblies:
283
291
  description:
284
292
  area_name: Area
@@ -74,6 +74,8 @@ es-MX:
74
74
  attributes:
75
75
  document:
76
76
  allowed_file_content_types: 'Tipo de documento no válido. Sólo se permiten archivos con las siguientes extensiones: %{types}.'
77
+ empty: El documento está vacío
78
+ invalid_json: El documento no es JSON válido
77
79
  activerecord:
78
80
  models:
79
81
  decidim/assembly:
@@ -267,6 +269,7 @@ es-MX:
267
269
  slug_help_html: 'Los textos cortos de URL se utilizan para generar las URL que apuntan a esta asamblea. Solo acepta letras, números y guiones, y debe comenzar con una letra. Ejemplo: %{url}'
268
270
  assembly_imports:
269
271
  form:
272
+ document_legend: Añadir un documento
270
273
  slug_help_html: 'Los textos cortos de URL se utilizan para generar las URL que apuntan a esta asamblea. Sólo acepta letras, números y guiones, y debe comenzar con una letra. Ejemplo: %{url}'
271
274
  assembly_members:
272
275
  form:
@@ -276,9 +279,14 @@ es-MX:
276
279
  content_blocks:
277
280
  highlighted_assemblies:
278
281
  max_results: Cantidad máxima de elementos para mostrar
282
+ imports:
283
+ attachment_error: No se ha podido importar el archivo adjunto "%{title}" (%{error}).
284
+ banner_image_error: No se ha podido importar la imagen del banner (%{error}).
285
+ hero_image_error: No se ha podrido importar la imagen principal (%{error}).
279
286
  new_import:
280
287
  accepted_types:
281
288
  json: JSON
289
+ help_html: Esta función de importación te permite crear una nueva asamblea a partir de un archivo JSON exportado. Puedes exportar una asamblea desde otra organización o desde esta misma organización. La asamblea importada incluirá sus ajustes, componentes y archivos adjuntos (si se seleccionan).
282
290
  assemblies:
283
291
  description:
284
292
  area_name: Área
@@ -74,6 +74,8 @@ es-PY:
74
74
  attributes:
75
75
  document:
76
76
  allowed_file_content_types: 'Tipo de documento no válido. Sólo se permiten archivos con las siguientes extensiones: %{types}.'
77
+ empty: El documento está vacío
78
+ invalid_json: El documento no es JSON válido
77
79
  activerecord:
78
80
  models:
79
81
  decidim/assembly:
@@ -267,6 +269,7 @@ es-PY:
267
269
  slug_help_html: 'Los textos cortos de URL se utilizan para generar las URL que apuntan a esta asamblea. Solo acepta letras, números y guiones, y debe comenzar con una letra. Ejemplo: %{url}'
268
270
  assembly_imports:
269
271
  form:
272
+ document_legend: Añadir un documento
270
273
  slug_help_html: 'Los textos cortos de URL se utilizan para generar las URL que apuntan a esta asamblea. Sólo acepta letras, números y guiones, y debe comenzar con una letra. Ejemplo: %{url}'
271
274
  assembly_members:
272
275
  form:
@@ -276,9 +279,14 @@ es-PY:
276
279
  content_blocks:
277
280
  highlighted_assemblies:
278
281
  max_results: Cantidad máxima de elementos para mostrar
282
+ imports:
283
+ attachment_error: No se ha podido importar el archivo adjunto "%{title}" (%{error}).
284
+ banner_image_error: No se ha podido importar la imagen del banner (%{error}).
285
+ hero_image_error: No se ha podrido importar la imagen principal (%{error}).
279
286
  new_import:
280
287
  accepted_types:
281
288
  json: JSON
289
+ help_html: Esta función de importación te permite crear una nueva asamblea a partir de un archivo JSON exportado. Puedes exportar una asamblea desde otra organización o desde esta misma organización. La asamblea importada incluirá sus ajustes, componentes y archivos adjuntos (si se seleccionan).
282
290
  assemblies:
283
291
  description:
284
292
  area_name: Área
@@ -74,6 +74,8 @@ es:
74
74
  attributes:
75
75
  document:
76
76
  allowed_file_content_types: 'Tipo de documento no válido. Solo se permiten archivos con las siguientes extensiones: %{types}.'
77
+ empty: El documento está vacío
78
+ invalid_json: El documento no es JSON válido
77
79
  activerecord:
78
80
  models:
79
81
  decidim/assembly:
@@ -267,6 +269,7 @@ es:
267
269
  slug_help_html: 'Los textos cortos de URL se utilizan para generar las URL que apuntan a esta asamblea. Solo acepta letras, números y guiones, y debe comenzar con una letra. Ejemplo: %{url}'
268
270
  assembly_imports:
269
271
  form:
272
+ document_legend: Añadir un documento
270
273
  slug_help_html: 'Los textos cortos de URL se utilizan para generar las URL que apuntan a esta asamblea. Sólo acepta letras, números y guiones, y debe comenzar con una letra. Ejemplo: %{url}'
271
274
  assembly_members:
272
275
  form:
@@ -276,9 +279,14 @@ es:
276
279
  content_blocks:
277
280
  highlighted_assemblies:
278
281
  max_results: Cantidad máxima de elementos para mostrar
282
+ imports:
283
+ attachment_error: No se ha podido importar el archivo adjunto "%{title}" (%{error}).
284
+ banner_image_error: No se ha podido importar la imagen del banner (%{error}).
285
+ hero_image_error: No se ha podrido importar la imagen principal (%{error}).
279
286
  new_import:
280
287
  accepted_types:
281
288
  json: JSON
289
+ help_html: Esta función de importación te permite crear una nueva asamblea a partir de un archivo JSON exportado. Puedes exportar una asamblea desde otra organización o desde esta misma organización. La asamblea importada incluirá sus ajustes, componentes y archivos adjuntos (si se seleccionan).
282
290
  assemblies:
283
291
  description:
284
292
  area_name: Área
@@ -267,6 +267,7 @@ eu:
267
267
  slug_help_html: 'URL-ren testu laburrak batzar honetara daramaten URL-ak sortzeko erabiltzen dira. Letrak, zenbakiak eta gidoiak soilik onartzen ditu, eta letra batez hasi behar du. Adibidea: %{url}'
268
268
  assembly_imports:
269
269
  form:
270
+ document_legend: Gehitu dokumentu bat
270
271
  slug_help_html: 'URL-ren testu laburrak batzar honetara daramaten URL-ak sortzeko erabiltzen dira. Letrak, zenbakiak eta gidoiak soilik onartzen ditu, eta letra batez hasi behar du. Adibidea: %{url}'
271
272
  assembly_members:
272
273
  form:
@@ -276,9 +277,14 @@ eu:
276
277
  content_blocks:
277
278
  highlighted_assemblies:
278
279
  max_results: Erakusteko elementu gehienen kopurua
280
+ imports:
281
+ attachment_error: Ezin izan da "%{title}" eranskina inportatu (%{error}).
282
+ banner_image_error: Ezin izan da bannerraren irudia inportatu (%{error}).
283
+ hero_image_error: Ezin izan da heroiaren irudia inportatu (%{error}).
279
284
  new_import:
280
285
  accepted_types:
281
286
  json: JSON
287
+ help_html: Inportazio ezaugarri honek aukera ematen du JSON fitxategi esportatu batetik beste batzar bat sortzeko. Beste erakunde bateko edo erakunde bereko batzar bat esporta dezakezu. Inportatutako batzarrak barne hartuko ditu bere ezarpenak, osagaiak eta eranskinak (aukeratuz gero).
282
288
  assemblies:
283
289
  description:
284
290
  area_name: Arloa
@@ -267,6 +267,7 @@ fi-pl:
267
267
  slug_help_html: 'URL-tunnisteita käytetään tähän ryhmään osoittavien URL-osoitteiden luonnissa. Hyväksyy kirjaimet, numerot ja viivat. Ensimmäinen merkki on oltava kirjain. Esimerkiksi: %{url}'
268
268
  assembly_imports:
269
269
  form:
270
+ document_legend: Lisää dokumentti
270
271
  slug_help_html: 'URL-tunnisteita käytetään tähän ryhmään osoittavien URL-osoitteiden luonnissa. Hyväksyy kirjaimet, numerot ja viivat. Ensimmäinen merkki on oltava kirjain. Esimerkiksi: %{url}'
271
272
  assembly_members:
272
273
  form:
@@ -267,6 +267,7 @@ fi:
267
267
  slug_help_html: 'URL-tunnisteita käytetään tähän ryhmään osoittavien URL-osoitteiden luonnissa. Hyväksyy kirjaimet, numerot ja viivat. Ensimmäinen merkki on oltava kirjain. Esimerkiksi: %{url}'
268
268
  assembly_imports:
269
269
  form:
270
+ document_legend: Lisää dokumentti
270
271
  slug_help_html: 'URL-tunnisteita käytetään tähän ryhmään osoittavien URL-osoitteiden luonnissa. Hyväksyy kirjaimet, numerot ja viivat. Ensimmäinen merkki on oltava kirjain. Esimerkiksi: %{url}'
271
272
  assembly_members:
272
273
  form:
@@ -74,6 +74,8 @@ fr-CA:
74
74
  attributes:
75
75
  document:
76
76
  allowed_file_content_types: 'Type de document invalide. Seuls les fichiers avec les extensions suivantes sont autorisés : %{types}.'
77
+ empty: Le document est vide
78
+ invalid_json: Le document n'est pas un JSON valide
77
79
  activerecord:
78
80
  models:
79
81
  decidim/assembly:
@@ -266,6 +268,7 @@ fr-CA:
266
268
  slug_help_html: 'Les identifiants d''URL sont utilisés pour générer les URL qui pointent vers cette assemblée. N''accepte que des lettres, des chiffres et des tirets et doit commencer par une lettre. Exemple: %{url}'
267
269
  assembly_imports:
268
270
  form:
271
+ document_legend: Ajouter un document
269
272
  slug_help_html: 'Les identifiants d''URL sont utilisés pour générer les URL qui pointent vers cette assemblée. N''accepte que des lettres, des chiffres et des tirets et doit commencer par une lettre. Exemple: %{url}'
270
273
  assembly_members:
271
274
  form:
@@ -275,9 +278,14 @@ fr-CA:
275
278
  content_blocks:
276
279
  highlighted_assemblies:
277
280
  max_results: Quantité maximale d'éléments à afficher
281
+ imports:
282
+ attachment_error: La pièce jointe «%{title}» n’a pas pu être importée (%{error}).
283
+ banner_image_error: L'image de la bannière n'a pas pu être importée (%{error}).
284
+ hero_image_error: L'image principale n'a pas pu être importée (%{error}).
278
285
  new_import:
279
286
  accepted_types:
280
287
  json: JSON
288
+ help_html: Cette fonction d'importation vous permet de créer une nouvelle assemblée à partir d'un fichier JSON exporté. Vous pouvez exporter une assemblée depuis une autre organisation ou depuis cette même organisation. L'assemblée importée inclura ses paramètres, composants et pièces jointes (si sélectionnés).
281
289
  assemblies:
282
290
  description:
283
291
  area_name: Périmètre d'assemblée
@@ -388,6 +396,21 @@ fr-CA:
388
396
  composition: La composition de l'assemblée
389
397
  created_at: La date de création de cet espace
390
398
  created_by: Qui a créé cette assemblée
399
+ created_by_other: Autre créateur de l'assemblée
400
+ description: Une description longue de l'assemblée
401
+ duration: La durée de l'assemblée
402
+ follows_count: Le nombre d'utilisateurs suivant cet espace
403
+ id: L'identifiant unique de cette assemblée
404
+ internal_organisation: L'organisation interne de cette assemblée
405
+ is_transparent: Si l'assemblée est transparente ou non
406
+ local_area: La zone locale de cette assemblée
407
+ promoted: Si l'assemblée est promue ou non
408
+ published_at: La date à laquelle cet espace a été publié
409
+ purpose_of_action: Le but de l'action de l'assemblée
410
+ short_description: Une courte description de l'assemblée
411
+ subtitle: Le sous-titre de l'assemblée
412
+ target: La cible de l'assemblée
413
+ title: Le titre de l'assemblée
391
414
  participatory_processes:
392
415
  show:
393
416
  related_assemblies: Assemblées associées
@@ -74,6 +74,8 @@ fr:
74
74
  attributes:
75
75
  document:
76
76
  allowed_file_content_types: 'Type de document invalide. Seuls les fichiers avec les extensions suivantes sont autorisés : %{types}.'
77
+ empty: Le document est vide
78
+ invalid_json: Le document n'est pas un JSON valide
77
79
  activerecord:
78
80
  models:
79
81
  decidim/assembly:
@@ -266,6 +268,7 @@ fr:
266
268
  slug_help_html: 'Les identifiants d''URL sont utilisés pour générer les URL qui pointent vers cette assemblée. N''accepte que des lettres, des chiffres et des tirets et doit commencer par une lettre. Exemple: %{url}'
267
269
  assembly_imports:
268
270
  form:
271
+ document_legend: Ajouter un document
269
272
  slug_help_html: 'Les identifiants d''URL sont utilisés pour générer les URL qui pointent vers cette assemblée. N''accepte que des lettres, des chiffres et des tirets et doit commencer par une lettre. Exemple: %{url}'
270
273
  assembly_members:
271
274
  form:
@@ -275,9 +278,14 @@ fr:
275
278
  content_blocks:
276
279
  highlighted_assemblies:
277
280
  max_results: Quantité maximale d'éléments à afficher
281
+ imports:
282
+ attachment_error: La pièce jointe «%{title}» n’a pas pu être importée (%{error}).
283
+ banner_image_error: L'image de la bannière n'a pas pu être importée (%{error}).
284
+ hero_image_error: L'image principale n'a pas pu être importée (%{error}).
278
285
  new_import:
279
286
  accepted_types:
280
287
  json: JSON
288
+ help_html: Cette fonction d'importation vous permet de créer une nouvelle assemblée à partir d'un fichier JSON exporté. Vous pouvez exporter une assemblée depuis une autre organisation ou depuis cette même organisation. L'assemblée importée inclura ses paramètres, composants et pièces jointes (si sélectionnés).
281
289
  assemblies:
282
290
  description:
283
291
  area_name: Périmètre d'assemblée
@@ -388,6 +396,21 @@ fr:
388
396
  composition: La composition de l'assemblée
389
397
  created_at: La date de création de cet espace
390
398
  created_by: Qui a créé cette assemblée
399
+ created_by_other: Autre créateur de l'assemblée
400
+ description: Une description longue de l'assemblée
401
+ duration: La durée de l'assemblée
402
+ follows_count: Le nombre d'utilisateurs suivant cet espace
403
+ id: L'identifiant unique de cette assemblée
404
+ internal_organisation: L'organisation interne de cette assemblée
405
+ is_transparent: Si l'assemblée est transparente ou non
406
+ local_area: La zone locale de cette assemblée
407
+ promoted: Si l'assemblée est promue ou non
408
+ published_at: La date à laquelle cet espace a été publié
409
+ purpose_of_action: Le but de l'action de l'assemblée
410
+ short_description: Une courte description de l'assemblée
411
+ subtitle: Le sous-titre de l'assemblée
412
+ target: La cible de l'assemblée
413
+ title: Le titre de l'assemblée
391
414
  participatory_processes:
392
415
  show:
393
416
  related_assemblies: Assemblées associées
@@ -194,6 +194,9 @@ gl:
194
194
  select_parent_assembly: Seleccione o conxunto primario
195
195
  social_handlers: Social
196
196
  title: Información xeral
197
+ assembly_imports:
198
+ form:
199
+ document_legend: Engadir un documento
197
200
  assembly_members:
198
201
  form:
199
202
  explanation: 'Instrucións para a imaxe:'
@@ -223,6 +223,9 @@ hu:
223
223
  social_handlers: Social
224
224
  title: Általános információ
225
225
  visibility: Láthatóság
226
+ assembly_imports:
227
+ form:
228
+ document_legend: Dokumentum hozzáadása
226
229
  assembly_members:
227
230
  form:
228
231
  explanation: 'Útmutató a képhez:'
@@ -250,6 +250,7 @@ it:
250
250
  visibility: Visibilità
251
251
  assembly_imports:
252
252
  form:
253
+ document_legend: Aggiungere un documento
253
254
  slug_help_html: 'Gli slug URL vengono utilizzati per generare gli URL che puntano a questa assemblea. Accetta solo lettere, numeri e trattini, e deve iniziare con una lettera. Esempio: %{url}'
254
255
  assembly_members:
255
256
  form:
@@ -264,6 +264,7 @@ ja:
264
264
  slug_help_html: 'URLスラグは、この参加スペースを指すURLを生成するために使用されます。使用できる文字は英字・数字・ハイフンのみで、必ず英字で始める必要があります。例: %{url}'
265
265
  assembly_imports:
266
266
  form:
267
+ document_legend: ドキュメントを追加
267
268
  slug_help_html: 'URLスラグは、この参加スペースを指すURLを生成するために使用されます。 英字、数字、ハイフンのみを受け付け、英字で始める必要があります。例: %{url}'
268
269
  assembly_members:
269
270
  form:
@@ -273,9 +274,14 @@ ja:
273
274
  content_blocks:
274
275
  highlighted_assemblies:
275
276
  max_results: 表示する要素の最大量
277
+ imports:
278
+ attachment_error: 添付ファイル "%{title}" をインポートできませんでした(%{error})。
279
+ banner_image_error: バナー画像をインポートできませんでした(%{error})。
280
+ hero_image_error: ヒーロー画像をインポートできませんでした(%{error})。
276
281
  new_import:
277
282
  accepted_types:
278
283
  json: JSON
284
+ help_html: このインポート機能を使用すると、エクスポートされた JSON ファイルから新しいアセンブリを作成できます。アセンブリは他の組織から、または同じ組織内からエクスポート可能です。インポートされるアセンブリには、その設定、コンポーネント、および添付ファイル(選択されている場合)がすべて含まれます。
279
285
  assemblies:
280
286
  description:
281
287
  area_name: エリア
@@ -149,6 +149,9 @@ lb:
149
149
  name: Name
150
150
  assemblies:
151
151
  admin:
152
+ assembly_imports:
153
+ form:
154
+ document_legend: Dokument hinzufügen
152
155
  content_blocks:
153
156
  highlighted_assemblies:
154
157
  max_results: Maximale Anzahl der Elemente, die angezeigt werden sollen
@@ -215,6 +215,9 @@ lt:
215
215
  select_parent_assembly: Pasirinkti pagrindinę asamblėją
216
216
  social_handlers: Socialiniai
217
217
  title: Bendroji informacija
218
+ assembly_imports:
219
+ form:
220
+ document_legend: Pridėti dokumentą
218
221
  assembly_members:
219
222
  form:
220
223
  explanation: 'Paveikslėliui skirtos gairės:'
@@ -197,6 +197,9 @@ nl:
197
197
  select_parent_assembly: Selecteer de hoofdgroep
198
198
  social_handlers: sociaal
199
199
  title: Algemene informatie
200
+ assembly_imports:
201
+ form:
202
+ document_legend: Document toevoegen
200
203
  assembly_members:
201
204
  form:
202
205
  explanation: 'Eigenschappen afbeelding:'
@@ -193,6 +193,9 @@
193
193
  select_parent_assembly: Velg foreldre-forsamling
194
194
  social_handlers: Sosial
195
195
  title: Generell Informasjon
196
+ assembly_imports:
197
+ form:
198
+ document_legend: Legg til et dokument
196
199
  assembly_members:
197
200
  form:
198
201
  explanation: 'Veiledning for bilde:'
@@ -235,6 +235,7 @@ pl:
235
235
  visibility: Widoczność
236
236
  assembly_imports:
237
237
  form:
238
+ document_legend: Dodaj dokument
238
239
  slug_help_html: 'Slugi URL służą do generowania adresów URL kierujących bezpośrednio do tego zgromadzenia. Można użyć liter, cyfr i myślników. Musi zaczynać się od litery. Przykład: %{url}'
239
240
  assembly_members:
240
241
  form:
@@ -74,6 +74,8 @@ pt-BR:
74
74
  attributes:
75
75
  document:
76
76
  allowed_file_content_types: 'Tipo de documento inválido. Apenas arquivos com as seguintes extensões são permitidos: %{types}.'
77
+ empty: O documento está vazio
78
+ invalid_json: O documento não é um JSON válido
77
79
  activerecord:
78
80
  models:
79
81
  decidim/assembly:
@@ -267,6 +269,7 @@ pt-BR:
267
269
  slug_help_html: 'Os slugs de URL são usados para gerar os URLs que apontam para essa assembleia. Aceita apenas letras, números e traços e deve começar com uma letra. Exemplo: %{url}'
268
270
  assembly_imports:
269
271
  form:
272
+ document_legend: Adicionar um documento
270
273
  slug_help_html: 'Os slugs de URL são usados ​​para gerar os URLs que apontam para essa assembleia. Apenas aceita letras, números e traços, e deve começar com uma carta. Exemplo: %{url}'
271
274
  assembly_members:
272
275
  form:
@@ -247,6 +247,7 @@ pt:
247
247
  visibility: Visibilidade
248
248
  assembly_imports:
249
249
  form:
250
+ document_legend: Adicionar um documento
250
251
  slug_help_html: 'São usados slugs de URL para gerar URLs que apontam para esta reunião. Aceita apenas letras, números e traços, e deve começar com uma letra. Exemplo: %{url}'
251
252
  assembly_members:
252
253
  form:
@@ -6,7 +6,7 @@ ro:
6
6
  announcement: Anunț
7
7
  area_id: Zonă
8
8
  assembly_type: Tipul grupului de lucru
9
- assembly_type_other: Alt tip de grup de lucru
9
+ assembly_type_other: Alte tipuri de grupuri de lucru
10
10
  banner_image: Imagine pentru banner
11
11
  closing_date: Data închiderii
12
12
  closing_date_reason: Motivul datei de închidere
@@ -42,7 +42,7 @@ ro:
42
42
  purpose_of_action: Scopul acțiunii
43
43
  short_description: Scurtă descriere
44
44
  slug: URL slug
45
- special_features: Caracteristici speciale
45
+ special_features: Funcționalități speciale
46
46
  subtitle: Subtitlu
47
47
  target: Cine participă
48
48
  title: Titlu
@@ -77,8 +77,8 @@ ro:
77
77
  other: Grupuri de lucru
78
78
  decidim/assembly_member:
79
79
  one: Membru al grupului de lucru
80
- few: Membrii ai grupului de lucru
81
- other: Membrii ai grupului de lucru
80
+ few: Membri ai grupului de lucru
81
+ other: Membri ai grupului de lucru
82
82
  decidim/assembly_user_role:
83
83
  one: Rolul utilizatorului în cadrul grupului de lucru
84
84
  few: Rolurile utilizatorului în cadrul grupului de lucru
@@ -148,7 +148,7 @@ ro:
148
148
  fields:
149
149
  created_at: Creat la
150
150
  private: Privat
151
- promoted: Evidenţiat
151
+ promoted: Evidențiat
152
152
  published: Publicat
153
153
  title: Titlu
154
154
  name: Grup de lucru
@@ -214,6 +214,9 @@ ro:
214
214
  social_handlers: Rețele de socializare
215
215
  taxonomies: Taxonomii
216
216
  title: Informaţii generale
217
+ assembly_imports:
218
+ form:
219
+ document_legend: Adaugă un document
217
220
  assembly_members:
218
221
  form:
219
222
  explanation: 'Îndrumare pentru imagine:'
@@ -224,6 +227,7 @@ ro:
224
227
  new_import:
225
228
  accepted_types:
226
229
  json: JSON
230
+ help_html: Această caracteristică de import vă permite să creați o nou grup de lucru dintr-un fișier JSON exportat. Puteți exporta un grup de lucru dintr-o altă organizație sau din aceeași organizație. Grupul de lucru importat va include setările, componentele și atașamentele sale (dacă este selectată).
227
231
  assemblies:
228
232
  description:
229
233
  area_name: Zonă
@@ -271,7 +275,7 @@ ro:
271
275
  home:
272
276
  highlighted_assemblies:
273
277
  active_spaces: Grupuri de lucru active
274
- see_all_spaces: Vedeți tot
278
+ see_all_spaces: Vedeți toate grupurile de lucru
275
279
  user_profile:
276
280
  member_of:
277
281
  member_of: Membru al
@@ -314,7 +318,7 @@ ro:
314
318
  related_assemblies: Grupuri de lucru asociate
315
319
  statistics:
316
320
  assemblies_count: Grupuri de lucru
317
- assemblies_count_tooltip: Numărul adunărilor publice în care se iau decizii colective.
321
+ assemblies_count_tooltip: Numărul grupurilor de lucru publice în care se iau decizii colective.
318
322
  layouts:
319
323
  decidim:
320
324
  assemblies:
@@ -327,7 +331,7 @@ ro:
327
331
  children_item:
328
332
  one: "%{count} grup de lucru"
329
333
  few: "%{count} grupuri de lucru"
330
- other: "%{count} grup de lucru"
334
+ other: "%{count} grupuri de lucru"
331
335
  order_by_assemblies:
332
336
  assemblies:
333
337
  one: "%{count} grup de lucru"
@@ -119,6 +119,9 @@ sl:
119
119
  metadata: Meta podatki
120
120
  other: Drugo
121
121
  select_parent_assembly: Izberi matično združbo
122
+ assembly_imports:
123
+ form:
124
+ document_legend: Dodaj dokument
122
125
  assemblies:
123
126
  filters:
124
127
  names:
@@ -74,6 +74,8 @@ sv:
74
74
  attributes:
75
75
  document:
76
76
  allowed_file_content_types: 'Ogiltig dokumenttyp. Endast filer med följande tillägg är tillåtna: %{types}.'
77
+ empty: Dokumentet är tomt
78
+ invalid_json: Dokumentet är inte giltigt JSON
77
79
  activerecord:
78
80
  models:
79
81
  decidim/assembly:
@@ -119,7 +121,7 @@ sv:
119
121
  assembly_duplicates:
120
122
  new:
121
123
  duplicate: Duplicera
122
- select: Välj vilka data som du vill duplicera
124
+ select: Välj vilken data du vill duplicera
123
125
  title: Duplicera samråd
124
126
  assembly_imports:
125
127
  create:
@@ -170,6 +172,7 @@ sv:
170
172
  attachments: Bilagor
171
173
  components: Komponenter
172
174
  info: Om samrådet
175
+ landing_page: Landningssida
173
176
  moderations: Moderering
174
177
  private_users: Medlemmar
175
178
  see_assembly: Visa samråd
@@ -192,7 +195,7 @@ sv:
192
195
  vice_president: Vice ordförande
193
196
  assembly_user_role:
194
197
  fields:
195
- actions: Handlingar
198
+ actions: Åtgärder
196
199
  email: E-post
197
200
  name: Namn
198
201
  role: Roll
@@ -218,11 +221,11 @@ sv:
218
221
  export: "%{user_name} exporterade samrådet %{resource_name}"
219
222
  import: "%{user_name} importerade samrådet %{resource_name}"
220
223
  publish: "%{user_name} publicerade samrådet %{resource_name}"
221
- publish_all_members: "%{user_name} publicerade samrådet %{resource_name}"
224
+ publish_all_members: "%{user_name} publicerade alla medlemmar i samrådet %{resource_name}"
222
225
  restore: "%{user_name} återställde samrådet %{resource_name}"
223
226
  soft_delete: "%{user_name} tog bort samrådet %{resource_name}"
224
227
  unpublish: "%{user_name} avpublicerade samrådet %{resource_name}"
225
- unpublish_all_members: "%{user_name} avpublicerade samrådet %{resource_name}"
228
+ unpublish_all_members: "%{user_name} avpublicerade alla medlemmar i samrådet %{resource_name}"
226
229
  update: "%{user_name} uppdaterade samrådet %{resource_name}"
227
230
  assembly_member:
228
231
  create: "%{user_name} skapade medlemmen %{resource_name} i samrådet %{space_name}"
@@ -245,7 +248,7 @@ sv:
245
248
  assemblies:
246
249
  form:
247
250
  announcement_help: Den här texten visas direkt under informationen om samrådet.
248
- define_taxonomy_filters: Vänligen definiera några filter för deltagarutrymmet innan du använder den här inställningen.
251
+ define_taxonomy_filters: Ställ in filter innan du använder den här inställningen.
249
252
  duration: Varaktighet
250
253
  duration_help: Välj ett slutdatum om samrådet är tidsbegränsat.
251
254
  images: Bilder
@@ -266,6 +269,7 @@ sv:
266
269
  slug_help_html: 'URL-slugs används till att generera URL:er till samrådet. Använd bara bokstäver, siffror och bindestreck, och de måste börja med en bokstav. Exempel: %{url}'
267
270
  assembly_imports:
268
271
  form:
272
+ document_legend: Lägg till ett dokument
269
273
  slug_help_html: 'URL-slugs används till att generera URL:er till samrådet. Använd bara bokstäver, siffror och bindestreck, och de måste börja med en bokstav. Exempel: %{url}'
270
274
  assembly_members:
271
275
  form:
@@ -275,9 +279,14 @@ sv:
275
279
  content_blocks:
276
280
  highlighted_assemblies:
277
281
  max_results: Maximalt antal element att visa
282
+ imports:
283
+ attachment_error: Bilagan "%{title}" kunde inte importeras (%{error}).
284
+ banner_image_error: Bannerbilden kunde inte importeras (%{error}).
285
+ hero_image_error: Startbilden kunde inte importeras (%{error}).
278
286
  new_import:
279
287
  accepted_types:
280
288
  json: JSON
289
+ help_html: Importfunktionen låter dig skapa ett nytt samråd från en exporterad JSON-fil. Du kan exportera ett samråd från en annan organisation eller från samma organisation. Det importerade samrådet innehåller inställningar, komponenter och bilagor (om det är valt).
281
290
  assemblies:
282
291
  description:
283
292
  area_name: Område
@@ -206,6 +206,9 @@ tr:
206
206
  social_handlers: Sosyal
207
207
  title: Genel bilgi
208
208
  visibility: Görünürlük
209
+ assembly_imports:
210
+ form:
211
+ document_legend: Bir belge ekle
209
212
  assembly_members:
210
213
  form:
211
214
  explanation: 'Görüntü kılavuzu:'
@@ -185,6 +185,9 @@ zh-CN:
185
185
  select_parent_assembly: 选择父程序集
186
186
  social_handlers: 社交活动
187
187
  title: 一般信息
188
+ assembly_imports:
189
+ form:
190
+ document_legend: 添加文档
188
191
  content_blocks:
189
192
  highlighted_assemblies:
190
193
  max_results: 显示元素的最大数量
@@ -206,6 +206,9 @@ zh-TW:
206
206
  select_parent_assembly: 選擇父組件
207
207
  social_handlers: 社群
208
208
  title: 基本資訊
209
+ assembly_imports:
210
+ form:
211
+ document_legend: 添加文檔
209
212
  assembly_members:
210
213
  form:
211
214
  explanation: '圖像的指導'
@@ -46,8 +46,8 @@ Decidim.register_participatory_space(:assemblies) do |participatory_space|
46
46
  end
47
47
 
48
48
  participatory_space.exports :assemblies do |export|
49
- export.collection do |participatory_space, _user|
50
- Decidim::Assembly.public_spaces.includes(:attachment_collections).where(id: participatory_space)
49
+ export.collection do |participatory_space, user|
50
+ Decidim::Assembly.visible_for(user).includes(:attachment_collections).where(id: participatory_space)
51
51
  end
52
52
 
53
53
  export.include_in_open_data = true
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-assemblies version.
5
5
  module Assemblies
6
6
  def self.version
7
- "0.31.1"
7
+ "0.31.2"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-assemblies
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.31.1
4
+ version: 0.31.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2026-01-28 00:00:00.000000000 Z
13
+ date: 2026-02-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: decidim-core
@@ -18,70 +18,70 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.31.1
21
+ version: 0.31.2
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 0.31.1
28
+ version: 0.31.2
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: decidim-admin
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.31.1
35
+ version: 0.31.2
36
36
  type: :development
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 0.31.1
42
+ version: 0.31.2
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: decidim-dev
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - '='
48
48
  - !ruby/object:Gem::Version
49
- version: 0.31.1
49
+ version: 0.31.2
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - '='
55
55
  - !ruby/object:Gem::Version
56
- version: 0.31.1
56
+ version: 0.31.2
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: decidim-meetings
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - '='
62
62
  - !ruby/object:Gem::Version
63
- version: 0.31.1
63
+ version: 0.31.2
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - '='
69
69
  - !ruby/object:Gem::Version
70
- version: 0.31.1
70
+ version: 0.31.2
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: decidim-proposals
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - '='
76
76
  - !ruby/object:Gem::Version
77
- version: 0.31.1
77
+ version: 0.31.2
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - '='
83
83
  - !ruby/object:Gem::Version
84
- version: 0.31.1
84
+ version: 0.31.2
85
85
  description: Assemblies component for decidim.
86
86
  email:
87
87
  - josepjaume@gmail.com