decidim-core 0.31.0.rc2 → 0.31.1

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 (109) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/activity_cell.rb +6 -0
  3. data/app/cells/decidim/card_g/show.erb +1 -1
  4. data/app/cells/decidim/notification/deleted.erb +12 -0
  5. data/app/cells/decidim/notification/not_available.erb +12 -0
  6. data/app/cells/decidim/notification_cell.rb +5 -1
  7. data/app/cells/decidim/share_widget/modal.erb +1 -1
  8. data/app/commands/decidim/destroy_account.rb +49 -4
  9. data/app/controllers/decidim/download_your_data_controller.rb +5 -2
  10. data/app/events/decidim/welcome_notification_event.rb +1 -1
  11. data/app/jobs/decidim/remove_search_indexes_job.rb +18 -0
  12. data/app/mailers/decidim/notifications_digest_mailer.rb +18 -1
  13. data/app/models/decidim/component.rb +3 -0
  14. data/app/models/decidim/notification.rb +12 -0
  15. data/app/models/decidim/private_export.rb +4 -0
  16. data/app/models/decidim/user.rb +4 -0
  17. data/app/models/decidim/user_base_entity.rb +1 -1
  18. data/app/packs/src/decidim/controllers/dropdown/controller.js +2 -2
  19. data/app/packs/src/decidim/controllers/multiple_mentions/controller.js +25 -2
  20. data/app/packs/src/decidim/datepicker/generate_datepicker.js +6 -0
  21. data/app/packs/src/decidim/datepicker/generate_timepicker.js +9 -0
  22. data/app/packs/src/decidim/editor/extensions/link/index.js +0 -1
  23. data/app/packs/src/decidim/editor/index.js +5 -1
  24. data/app/packs/src/decidim/editor/test/extensions/link.test.js +2 -2
  25. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_link.js +1 -1
  26. data/app/packs/src/decidim/index.js +10 -5
  27. data/app/packs/src/decidim/map/controller/markers.js +3 -1
  28. data/app/packs/stylesheets/decidim/_conversations.scss +1 -1
  29. data/app/packs/stylesheets/decidim/_dropdown.scss +22 -5
  30. data/app/packs/stylesheets/decidim/_filters.scss +1 -1
  31. data/app/packs/stylesheets/decidim/_footer.scss +5 -0
  32. data/app/packs/stylesheets/decidim/_modal.scss +5 -1
  33. data/app/packs/stylesheets/decidim/_modal_fingerprint.scss +1 -1
  34. data/app/presenters/decidim/log/user_presenter.rb +2 -1
  35. data/app/presenters/decidim/organization_presenter.rb +4 -0
  36. data/app/presenters/decidim/user_presenter.rb +6 -1
  37. data/app/services/decidim/download_your_data_exporter.rb +15 -4
  38. data/app/services/decidim/open_data_exporter.rb +2 -1
  39. data/app/views/decidim/download_your_data/_export.html.erb +1 -1
  40. data/app/views/decidim/export_mailer/download_your_data_export.html.erb +1 -1
  41. data/app/views/decidim/export_mailer/export.html.erb +1 -1
  42. data/app/views/decidim/manifests/show.json.erb +1 -0
  43. data/app/views/decidim/pages/_tabbed.html.erb +1 -1
  44. data/app/views/decidim/shared/_orders.html.erb +1 -1
  45. data/app/views/layouts/decidim/header/_main_links_mobile_account.html.erb +15 -1
  46. data/config/locales/ar.yml +0 -4
  47. data/config/locales/bg.yml +0 -8
  48. data/config/locales/ca-IT.yml +17 -13
  49. data/config/locales/ca.yml +15 -11
  50. data/config/locales/cs.yml +19 -19
  51. data/config/locales/de.yml +10 -21
  52. data/config/locales/el.yml +0 -3
  53. data/config/locales/en.yml +21 -17
  54. data/config/locales/es-MX.yml +14 -10
  55. data/config/locales/es-PY.yml +14 -10
  56. data/config/locales/es.yml +13 -9
  57. data/config/locales/eu.yml +67 -55
  58. data/config/locales/fa-IR.yml +3 -0
  59. data/config/locales/fi-plain.yml +22 -8
  60. data/config/locales/fi.yml +22 -8
  61. data/config/locales/fr-CA.yml +33 -12
  62. data/config/locales/fr.yml +33 -12
  63. data/config/locales/ga-IE.yml +0 -4
  64. data/config/locales/gl.yml +0 -3
  65. data/config/locales/hu.yml +0 -6
  66. data/config/locales/id-ID.yml +0 -3
  67. data/config/locales/it.yml +2 -3
  68. data/config/locales/ja.yml +46 -22
  69. data/config/locales/ko.yml +3 -0
  70. data/config/locales/lb.yml +0 -3
  71. data/config/locales/lt.yml +0 -5
  72. data/config/locales/lv.yml +0 -3
  73. data/config/locales/mt.yml +3 -0
  74. data/config/locales/nl.yml +0 -3
  75. data/config/locales/no.yml +0 -3
  76. data/config/locales/pl.yml +11 -7
  77. data/config/locales/pt-BR.yml +626 -5
  78. data/config/locales/pt.yml +0 -3
  79. data/config/locales/ro-RO.yml +480 -121
  80. data/config/locales/ru.yml +0 -4
  81. data/config/locales/sk.yml +0 -3
  82. data/config/locales/sl.yml +0 -1
  83. data/config/locales/sv.yml +28 -13
  84. data/config/locales/tr-TR.yml +0 -5
  85. data/config/locales/uk.yml +0 -3
  86. data/config/locales/vi.yml +3 -0
  87. data/config/locales/zh-CN.yml +0 -3
  88. data/config/locales/zh-TW.yml +0 -5
  89. data/db/data/20251108232118_add_dummy_migration.rb +11 -0
  90. data/db/data/20251125144141_add_short_name_to_organizations.rb +35 -0
  91. data/db/migrate/20250819110800_convert_private_exports_id_to_uuid.rb +55 -0
  92. data/db/migrate/20251031150928_add_short_name_to_organization.rb +7 -0
  93. data/decidim-core.gemspec +2 -0
  94. data/lib/decidim/core/engine.rb +9 -0
  95. data/lib/decidim/core/seeds.rb +2 -2
  96. data/lib/decidim/core/test/factories.rb +32 -2
  97. data/lib/decidim/core/test/shared_examples/comments_examples.rb +51 -1
  98. data/lib/decidim/core/test/shared_examples/fingerprint_examples.rb +13 -0
  99. data/lib/decidim/core/version.rb +1 -1
  100. data/lib/decidim/events/base_event.rb +4 -0
  101. data/lib/decidim/has_private_users.rb +1 -0
  102. data/lib/decidim/seeds.rb +1 -1
  103. data/lib/decidim/shakapacker/configuration.rb +5 -1
  104. data/lib/tasks/decidim_procfile.rake +1 -1
  105. data/lib/tasks/upgrade/clean.rake +11 -0
  106. data/lib/tasks/upgrade/decidim_fix_action_log.rake +28 -0
  107. data/lib/tasks/upgrade/decidim_remove_deleted_users_left_data_tasks.rake +30 -0
  108. data/lib/tasks/upgrade/fix_deleted_private_follows.rake +26 -0
  109. metadata +44 -6
@@ -6,7 +6,12 @@ module Decidim
6
6
  #
7
7
  class UserPresenter < SimpleDelegator
8
8
  include ActionView::Helpers::UrlHelper
9
- include Decidim::TranslatableAttributes
9
+ include Decidim::SanitizeHelper
10
+
11
+ # name sanitized
12
+ def name
13
+ decidim_sanitize_translated(__getobj__.name)
14
+ end
10
15
 
11
16
  #
12
17
  # nickname presented in a twitter-like style
@@ -22,14 +22,21 @@ module Decidim
22
22
  end
23
23
 
24
24
  # i18n-tasks-use t("decidim.download_your_data.show.download_your_data")
25
- def export
26
- user_export = user.private_exports.build
25
+ def export(retries: 0)
26
+ data.rewind
27
+ user_export = user.private_exports.build(file_size: data.length)
27
28
  user_export.export_type = name
28
- user_export.file.attach(io: data, filename: "#{name}.zip", content_type: "application/zip")
29
+ user_export.content_type = "application/zip"
29
30
  user_export.expires_at = Decidim.download_your_data_expiry_time.from_now
30
31
  user_export.metadata = {}
31
32
  user_export.save!
32
- user_export
33
+ user_export.file.attach(io: data, filename: "#{name}.zip", content_type: "application/zip")
34
+
35
+ return user_export.reload if user_export.reload.file.attached?
36
+ return user_export.reload if retries >= 3
37
+
38
+ user_export.destroy!
39
+ export(retries: retries + 1)
33
40
  end
34
41
 
35
42
  private
@@ -37,6 +44,10 @@ module Decidim
37
44
  attr_reader :user, :export_format, :name
38
45
 
39
46
  def data
47
+ @data ||= load_data!
48
+ end
49
+
50
+ def load_data!
40
51
  user_data, user_attachments = data_and_attachments_for_user
41
52
  buffer = Zip::OutputStream.write_buffer do |out|
42
53
  save_user_data(out, user_data)
@@ -117,9 +117,10 @@ module Decidim
117
117
  end
118
118
 
119
119
  def data_for_participatory_space(export_manifest)
120
- collection = participatory_spaces.flat_map do |participatory_space|
120
+ collection = participatory_spaces.filter { |space| space.manifest.name == export_manifest.manifest.name }.flat_map do |participatory_space|
121
121
  export_manifest.collection.call(participatory_space)
122
122
  end
123
+
123
124
  serializer = export_manifest.open_data_serializer.nil? ? export_manifest.serializer : export_manifest.open_data_serializer
124
125
  exporter = Decidim::Exporters::CSV.new(collection, serializer)
125
126
  get_help_definition(:spaces, exporter, export_manifest, collection.count) unless collection.empty?
@@ -2,7 +2,7 @@
2
2
  <td class="text-left p-4"><%= t(export.export_type, scope:"decidim.download_your_data.show") %></td>
3
3
  <td class="text-center"><%= export.expired? ? t("expired", scope:"decidim.download_your_data.show") : l(export.expires_at, format: :decidim_short) %></td>
4
4
  <td class="py-4">
5
- <%= button_to download_download_your_data_path(export),
5
+ <%= button_to download_download_your_data_path(uuid: export.uuid),
6
6
  class: "button button__sm button__transparent-secondary m-auto block",
7
7
  disabled: export.expired?,
8
8
  aria: { label: t("download", scope:"decidim.download_your_data.show") },
@@ -3,5 +3,5 @@
3
3
  </p>
4
4
 
5
5
  <p class="email-button email-button__cta">
6
- <%= link_to t(".download"), download_download_your_data_url(@private_export, host: @organization.host), class: "button expanded hollow button--sc" %>
6
+ <%= link_to t(".download"), download_download_your_data_url(uuid: @private_export.uuid, host: @organization.host), class: "button expanded hollow button--sc" %>
7
7
  </p>
@@ -3,5 +3,5 @@
3
3
  </p>
4
4
 
5
5
  <p class="email-button email-button__cta">
6
- <%= link_to t(".download"), download_download_your_data_url(@private_export, host: @organization.host), class: "button expanded hollow button--sc" %>
6
+ <%= link_to t(".download"), download_download_your_data_url(uuid: @private_export.uuid, host: @organization.host), class: "button expanded hollow button--sc" %>
7
7
  </p>
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "name": "<%= organization_params.html_name %>",
3
+ "short_name": "<%= organization_params.html_short_name %>",
3
4
  "lang": "<%= organization_params.default_locale %>",
4
5
  "description": "<%= organization_params.translated_description %>",
5
6
  "display": "<%= organization_params.pwa_display %>",
@@ -21,7 +21,7 @@
21
21
  <ul id="dropdown-menu-pages" class="vertical-tabs__list" role="menu">
22
22
  <% pages.each do |sibling| %>
23
23
  <li class="<%= "is-active" if page == sibling %>" role="menuitem">
24
- <%= link_to translated_attribute(sibling.title), page_path(sibling.slug), "aria-current": (page == sibling).to_s %>
24
+ <%= link_to translated_attribute(sibling.title), page_path(sibling.slug), "aria-current": ("page" if page == sibling) %>
25
25
  </li>
26
26
  <% end %>
27
27
  </ul>
@@ -9,6 +9,6 @@
9
9
  i18n_scope:,
10
10
  title: t("#{i18n_scope}.label"),
11
11
  role: :menuitem,
12
- class: "button button__sm button__text-secondary #{order_name == order ? "underline font-bold" : "font-normal"}" %>
12
+ class: "button button__sm button__text-secondary #{order_name == order ? "underline font-bold" : "font-normal"}", "aria-current": order_name == order ? "true" : "" %>
13
13
  <% end %>
14
14
  </div>
@@ -10,8 +10,9 @@
10
10
  </div>
11
11
 
12
12
  <div>
13
- <div class="main-bar__links-mobile__trigger" onclick="document.querySelector('#dropdown-trigger-links-mobile').click();document.querySelector('#dropdown-menu-account-mobile').removeAttribute('aria-modal')">
13
+ <div class="main-bar__links-mobile__trigger" tabindex="0" onclick="document.querySelector('#dropdown-trigger-links-mobile').click();document.querySelector('#dropdown-menu-account-mobile').removeAttribute('aria-modal')">
14
14
  <%= icon "close-line" %>
15
+ <p class="sr-only"><%= t("close", scope: "decidim.shared.flag_modal") %></p>
15
16
  </div>
16
17
  </div>
17
18
  </div>
@@ -37,3 +38,16 @@
37
38
  </ul>
38
39
  </div>
39
40
  </div>
41
+ <script type="text/javascript">
42
+ const closeDiv = document.querySelector('div.main-bar__links-mobile__trigger');
43
+ const menuDropdown = document.querySelector('#dropdown-menu-account-mobile');
44
+ const dropdownTrigger = document.querySelector('#dropdown-trigger-links-mobile');
45
+ // 32 is code for space bar and 13 is code for enter
46
+ closeDiv.addEventListener('keydown', function(e){
47
+ if (e.keyCode === 13 || e.keyCode === 32) {
48
+ menuDropdown.removeAttribute('aria-modal');
49
+ menuDropdown.setAttribute('aria-hidden', "true");
50
+ dropdownTrigger.focus();
51
+ }
52
+ })
53
+ </script>
@@ -885,7 +885,6 @@ ar:
885
885
  hello: مرحبا %{name}،
886
886
  intro:
887
887
  daily: 'هذه هي إخطارات اليوم الأخير بناءً على النشاط الذي تتابعه:'
888
- real_time: 'هذا تنبيه عن النشاط الذي تتبعّه:'
889
888
  weekly: 'هذه هي إخطارات الأسبوع الأخير بناءً على النشاط الذي تتابعه:'
890
889
  outro: لقد تلقيت هذه الإشعارات لأنك تتبع هذا المحتوى أو مؤلفيه. يمكنك إلغاء متابعتها من صفحات كل منهم.
891
890
  see_more: عرض المزيد من الإشعارات
@@ -934,13 +933,10 @@ ar:
934
933
  proposals_explanation: تقديم مقترحات ، ودعم المقترحات الحالية وتعزيز التغييرات التي تريد رؤيتها.
935
934
  footer_sub_hero:
936
935
  footer_sub_hero_headline: مرحبًا بكم على المنصة التشاركية لـ %{organization}.
937
- register: تسجيل
938
936
  hero:
939
937
  participate: مشاركة
940
938
  participate_title: المشاركة في مسارات المنصة
941
939
  welcome: مرحبًا بكم على %{organization}!
942
- sub_hero:
943
- register: تسجيل
944
940
  index:
945
941
  standalone_pages: صفحات
946
942
  subheading: انتقل من خلال صفحات المساعدة من %{name}
@@ -626,7 +626,6 @@ bg:
626
626
  files:
627
627
  file_cannot_be_processed: Файлът не може да бъде обработен
628
628
  file_resolution_too_large: Разделителната способност на файла е твърде голяма
629
- not_inside_organization: Файлът не е прикачен към никоя организация.
630
629
  internal_server_error:
631
630
  copied: Текстът е копиран!
632
631
  copy_error_message_clarification: Копирайте съобщението за грешка в клипборда
@@ -1014,11 +1013,9 @@ bg:
1014
1013
  same_language: Съдържанието е публикувано на предпочитания от вас език (%{language}), поради което в този имейл не се показва автоматичен превод.
1015
1014
  translated_text: 'Автоматично преведен текст:'
1016
1015
  notifications:
1017
- action_error: Възникна проблем при актуализирането на известията.
1018
1016
  no_notifications: Още няма известия.
1019
1017
  show:
1020
1018
  missing_event: Упс, това известие принадлежи на съдържание, което вече не е налично. Можете да го подминете.
1021
- moderated: Съдържанието е модерирано
1022
1019
  notifications_digest_mailer:
1023
1020
  header:
1024
1021
  daily: Ежедневно обобщение на известията
@@ -1082,13 +1079,10 @@ bg:
1082
1079
  footer_sub_hero:
1083
1080
  footer_sub_hero_body_html: Нека изградим по-отворено, прозрачно и задружно общество.<br /> Присъединете се, участвайте и решавайте.
1084
1081
  footer_sub_hero_headline: Добре дошли в платформата за сътрудничество %{organization}!
1085
- register: Регистрация
1086
1082
  hero:
1087
1083
  participate: Участвайте
1088
1084
  participate_title: Участвайте в процесите на платформата
1089
1085
  welcome: Добре дошли в %{organization}!
1090
- sub_hero:
1091
- register: Регистрация
1092
1086
  index:
1093
1087
  standalone_pages: Страници
1094
1088
  subheading: Придвижвайте се в помощта на %{name}
@@ -1350,8 +1344,6 @@ bg:
1350
1344
  subject: Получихте покана да управлявате %{organization}
1351
1345
  invite_collaborator:
1352
1346
  subject: Получихте покана да сътрудничите на %{organization}
1353
- invite_private_user:
1354
- subject: Поканени сте в частен процес на сътрудничество в %{organization}
1355
1347
  organization_admin_invitation_instructions:
1356
1348
  subject: Получихте покана да управлявате %{organization}
1357
1349
  password_change:
@@ -199,6 +199,7 @@ ca-IT:
199
199
  success: El teu compte s'ha eliminat correctament.
200
200
  download_your_data_export:
201
201
  export_expired: L'exportació ha caducat. Intenta generar una nova exportació.
202
+ export_not_found: L'exportació a la qual has accedit no existeix o no tens accés o permisos per descarregar-la
202
203
  file_no_exists: L'arxiu no existeix
203
204
  notice: La descàrrega de les teves dades està en curs. Rebràs un correu electrònic quan estigui completa.
204
205
  email_change:
@@ -784,7 +785,7 @@ ca-IT:
784
785
  reason: Els motius d'aquest informe de moderació
785
786
  updated_at: La data i hora de la darrera actualització d'aquest informe de moderació
786
787
  users:
787
- about: L'àlies d'aquesta usuària
788
+ about: La descripció de perfil d'aquesta participant
788
789
  accepted_tos_version: La data en què la usuària va acceptar els Termes i Condicions d'ús d'aquesta plataforma
789
790
  admin: Si aquesta usuària és una administradora
790
791
  confirmation_sent_at: La data i l'hora en què es va enviar la confirmació
@@ -795,7 +796,7 @@ ca-IT:
795
796
  delete_reason: La raó donada per eliminar a aquesta usuària
796
797
  deleted_at: La data i l'hora en què es va eliminar aquesta usuària
797
798
  email: L'adreça de correu electrònic d'aquesta usuària
798
- followers_count: El nombre de participants que segueixen aquesta participant
799
+ followers_count: El nombre de participants que segueixen a aquesta participant
799
800
  following_count: El nombre de participants a què segueix aquesta participant
800
801
  id: L'identificador únic d'aquesta usuària
801
802
  invitation_accepted_at: La data i l'hora en què es va acceptar la invitació
@@ -808,11 +809,11 @@ ca-IT:
808
809
  locale: La configuració regional (idioma) que ha seleccionat aquesta usuària
809
810
  managed: Si es tracta d'una usuària gestionada (impersonada) o no
810
811
  name: El nom d'usuària de la usuària
811
- newsletter_notifications_at: La data i l'hora en què aquesta usuària va rebre un butlletí informatiu per darrera vegada
812
+ newsletter_notifications_at: La data i l'hora en què aquesta usuària es va subscriure per rebre el butlletí informatiu
812
813
  nickname: L'àlies d'aquesta usuària
813
814
  notification_settings: La configuració de les notificacions que ha seleccionat aquesta usuària
814
815
  notifications_sending_frequency: La freqüència amb què aquesta usuària rep les notificacions
815
- officialized_as: La descripció de l'oficialització (Alcaldia, Conselleria, etc.)
816
+ officialized_as: La descripció de l'oficialització (Alcaldia, Regidoria, etc.)
816
817
  officialized_at: La data i l'hora en què aquesta usuària va ser oficialitzada
817
818
  organization: L'organització a la qual pertany aquesta usuària
818
819
  password_updated_at: La data en què van canviar per darrera vegada les seves contrasenyes
@@ -850,7 +851,7 @@ ca-IT:
850
851
  files:
851
852
  file_cannot_be_processed: No s'ha pogut processar el fitxer
852
853
  file_resolution_too_large: La resolució de l'arxiu és massa gran
853
- not_inside_organization: L'arxiu no està relacionat amb cap organització
854
+ not_inside_organization: L'arxiu no està vinculat a cap organització.
854
855
  internal_server_error:
855
856
  copied: Text copiat!
856
857
  copy_error_message_clarification: Missatge d'error copiat amb el porta-retalls
@@ -1149,6 +1150,7 @@ ca-IT:
1149
1150
  create_with_space: "%{user_name} ha creat %{resource_name} a %{space_name}"
1150
1151
  delete: "%{user_name} ha eliminat %{resource_name}"
1151
1152
  delete_with_space: "%{user_name} ha eliminat %{resource_name} en %{space_name}"
1153
+ publish: "%{user_name} ha publicat %{resource_name}"
1152
1154
  publish_with_space: "%{user_name} ha publicat %{resource_name} en %{space_name}"
1153
1155
  unknown_action: "%{user_name} ha realitzat una acció a %{resource_name}"
1154
1156
  unknown_action_with_space: "%{user_name} ha realitzat una acció a %{resource_name} en %{space_name}"
@@ -1290,11 +1292,13 @@ ca-IT:
1290
1292
  same_language: El contingut s'ha publicat en la teva llengua de preferència (%{language}), és per això que no es mostra cap traducció automàtica en aquest correu electrònic.
1291
1293
  translated_text: 'Text de la traducció automàtica:'
1292
1294
  notifications:
1293
- action_error: S'ha produït un error en actualitzar les notificacions.
1295
+ action_error: S'ha produït un error en actualitzar la configuració de les notificacions.
1294
1296
  no_notifications: Encara no hi ha notificacions.
1295
1297
  show:
1298
+ deleted: El contingut ha estat eliminat per l'autora.
1296
1299
  missing_event: Vaja, aquesta notificació pertany a un element que ja no està disponible. Pots descartar-la.
1297
- moderated: Contingut moderat
1300
+ moderated: El contingut s'ha amagat correctament a través de la moderació.
1301
+ not_available: Vaja, aquesta notificació pertany a un element que ja no està disponible. Pots descartar-la.
1298
1302
  notifications_digest_mailer:
1299
1303
  header:
1300
1304
  daily: Resum diari de notificacions
@@ -1446,9 +1450,9 @@ ca-IT:
1446
1450
  title: Com obrir i treballar amb aquests fitxers
1447
1451
  license:
1448
1452
  body_1_html: Aquesta base de dades de "%{organization_name}" està disponible sota %{link_database}. Qualsevol dret sobre els continguts individuals de la base de dades està sota la llicència %{link_contents}.
1449
- license_contents_link: https://opendatacommons.org/licenses/dbcl/1-0/
1453
+ license_contents_link: https://opendatacommons.org/licenses/dbcl/1.0/
1450
1454
  license_contents_name: Llicència dels continguts a la base de dades
1451
- license_database_link: https://opendatacommons.org/licenses/odbl/1-0/
1455
+ license_database_link: https://opendatacommons.org/licenses/odbl/1.0/
1452
1456
  license_database_name: Llicència Oberta per a base de dades
1453
1457
  title: Llicència
1454
1458
  title: Dades obertes
@@ -1471,7 +1475,7 @@ ca-IT:
1471
1475
  footer_sub_hero:
1472
1476
  footer_sub_hero_body_html: Construïm una societat més oberta, transparent i col·laborativa.<br /> Uneix-te, participa i decideix.
1473
1477
  footer_sub_hero_headline: Benvinguda a la plataforma participativa %{organization}.
1474
- register: Registra't
1478
+ register: Crear un compte
1475
1479
  hero:
1476
1480
  participate: Participa
1477
1481
  participate_title: Participa en els processos de la plataforma
@@ -1479,7 +1483,7 @@ ca-IT:
1479
1483
  statistics:
1480
1484
  headline: Estadístiques
1481
1485
  sub_hero:
1482
- register: Registra't
1486
+ register: Crear un compte
1483
1487
  register_title: Crea un compte
1484
1488
  index:
1485
1489
  standalone_pages: Pàgines
@@ -2170,8 +2174,8 @@ ca-IT:
2170
2174
  profile: Perfil
2171
2175
  title: Configuració de la participant
2172
2176
  locale:
2173
- name: Català
2174
- name_with_error: Català (error!)
2177
+ name: Alguerés
2178
+ name_with_error: Alguerés (error!)
2175
2179
  number:
2176
2180
  currency:
2177
2181
  format:
@@ -199,6 +199,7 @@ ca:
199
199
  success: El teu compte s'ha eliminat correctament.
200
200
  download_your_data_export:
201
201
  export_expired: L'exportació ha caducat. Intenta generar una nova exportació.
202
+ export_not_found: L'exportació a la qual has accedit no existeix o no tens accés o permisos per descarregar-la
202
203
  file_no_exists: L'arxiu no existeix
203
204
  notice: La descàrrega de les teves dades està en curs. Rebràs un correu electrònic quan estigui completa.
204
205
  email_change:
@@ -784,7 +785,7 @@ ca:
784
785
  reason: Els motius d'aquest informe de moderació
785
786
  updated_at: La data i hora de la darrera actualització d'aquest informe de moderació
786
787
  users:
787
- about: L'àlies d'aquesta usuària
788
+ about: La descripció de perfil d'aquesta participant
788
789
  accepted_tos_version: La data en què la usuària va acceptar els Termes i Condicions d'ús d'aquesta plataforma
789
790
  admin: Si aquesta usuària és una administradora
790
791
  confirmation_sent_at: La data i l'hora en què es va enviar la confirmació
@@ -795,7 +796,7 @@ ca:
795
796
  delete_reason: La raó donada per eliminar a aquesta usuària
796
797
  deleted_at: La data i l'hora en què es va eliminar aquesta usuària
797
798
  email: L'adreça de correu electrònic d'aquesta usuària
798
- followers_count: El nombre de participants que segueixen aquesta participant
799
+ followers_count: El nombre de participants que segueixen a aquesta participant
799
800
  following_count: El nombre de participants a què segueix aquesta participant
800
801
  id: L'identificador únic d'aquesta usuària
801
802
  invitation_accepted_at: La data i l'hora en què es va acceptar la invitació
@@ -808,11 +809,11 @@ ca:
808
809
  locale: La configuració regional (idioma) que ha seleccionat aquesta usuària
809
810
  managed: Si es tracta d'una usuària gestionada (impersonada) o no
810
811
  name: El nom d'usuària de la usuària
811
- newsletter_notifications_at: La data i l'hora en què aquesta usuària va rebre un butlletí informatiu per darrera vegada
812
+ newsletter_notifications_at: La data i l'hora en què aquesta usuària es va subscriure per rebre el butlletí informatiu
812
813
  nickname: L'àlies d'aquesta usuària
813
814
  notification_settings: La configuració de les notificacions que ha seleccionat aquesta usuària
814
815
  notifications_sending_frequency: La freqüència amb què aquesta usuària rep les notificacions
815
- officialized_as: La descripció de l'oficialització (Alcaldia, Conselleria, etc.)
816
+ officialized_as: La descripció de l'oficialització (Alcaldia, Regidoria, etc.)
816
817
  officialized_at: La data i l'hora en què aquesta usuària va ser oficialitzada
817
818
  organization: L'organització a la qual pertany aquesta usuària
818
819
  password_updated_at: La data en què van canviar per darrera vegada les seves contrasenyes
@@ -850,7 +851,7 @@ ca:
850
851
  files:
851
852
  file_cannot_be_processed: No s'ha pogut processar el fitxer
852
853
  file_resolution_too_large: La resolució de l'arxiu és massa gran
853
- not_inside_organization: L'arxiu no està relacionat amb cap organització
854
+ not_inside_organization: L'arxiu no està vinculat a cap organització.
854
855
  internal_server_error:
855
856
  copied: Text copiat!
856
857
  copy_error_message_clarification: Missatge d'error copiat amb el porta-retalls
@@ -1149,6 +1150,7 @@ ca:
1149
1150
  create_with_space: "%{user_name} ha creat %{resource_name} a %{space_name}"
1150
1151
  delete: "%{user_name} ha eliminat %{resource_name}"
1151
1152
  delete_with_space: "%{user_name} ha eliminat %{resource_name} en %{space_name}"
1153
+ publish: "%{user_name} ha publicat %{resource_name}"
1152
1154
  publish_with_space: "%{user_name} ha publicat %{resource_name} en %{space_name}"
1153
1155
  unknown_action: "%{user_name} ha realitzat una acció a %{resource_name}"
1154
1156
  unknown_action_with_space: "%{user_name} ha realitzat una acció a %{resource_name} en %{space_name}"
@@ -1290,11 +1292,13 @@ ca:
1290
1292
  same_language: El contingut s'ha publicat en la teva llengua de preferència (%{language}), és per això que no es mostra cap traducció automàtica en aquest correu electrònic.
1291
1293
  translated_text: 'Text de la traducció automàtica:'
1292
1294
  notifications:
1293
- action_error: S'ha produït un error en actualitzar les notificacions.
1295
+ action_error: S'ha produït un error en actualitzar la configuració de les notificacions.
1294
1296
  no_notifications: Encara no hi ha notificacions.
1295
1297
  show:
1298
+ deleted: El contingut ha estat eliminat per l'autora.
1296
1299
  missing_event: Vaja, aquesta notificació pertany a un element que ja no està disponible. Pots descartar-la.
1297
- moderated: Contingut moderat
1300
+ moderated: El contingut s'ha amagat correctament a través de la moderació.
1301
+ not_available: Vaja, aquesta notificació pertany a un element que ja no està disponible. Pots descartar-la.
1298
1302
  notifications_digest_mailer:
1299
1303
  header:
1300
1304
  daily: Resum diari de notificacions
@@ -1446,9 +1450,9 @@ ca:
1446
1450
  title: Com obrir i treballar amb aquests fitxers
1447
1451
  license:
1448
1452
  body_1_html: Aquesta base de dades de "%{organization_name}" està disponible sota %{link_database}. Qualsevol dret sobre els continguts individuals de la base de dades està sota la llicència %{link_contents}.
1449
- license_contents_link: https://opendatacommons.org/licenses/dbcl/1-0/
1453
+ license_contents_link: https://opendatacommons.org/licenses/dbcl/1.0/
1450
1454
  license_contents_name: Llicència dels continguts a la base de dades
1451
- license_database_link: https://opendatacommons.org/licenses/odbl/1-0/
1455
+ license_database_link: https://opendatacommons.org/licenses/odbl/1.0/
1452
1456
  license_database_name: Llicència Oberta per a base de dades
1453
1457
  title: Llicència
1454
1458
  title: Dades obertes
@@ -1471,7 +1475,7 @@ ca:
1471
1475
  footer_sub_hero:
1472
1476
  footer_sub_hero_body_html: Construïm una societat més oberta, transparent i col·laborativa.<br /> Uneix-te, participa i decideix.
1473
1477
  footer_sub_hero_headline: Benvinguda a la plataforma participativa %{organization}.
1474
- register: Registra't
1478
+ register: Crear un compte
1475
1479
  hero:
1476
1480
  participate: Participa
1477
1481
  participate_title: Participa en els processos de la plataforma
@@ -1479,7 +1483,7 @@ ca:
1479
1483
  statistics:
1480
1484
  headline: Estadístiques
1481
1485
  sub_hero:
1482
- register: Registra't
1486
+ register: Crear un compte
1483
1487
  register_title: Crea un compte
1484
1488
  index:
1485
1489
  standalone_pages: Pàgines
@@ -798,7 +798,6 @@ cs:
798
798
  created_at: Datum, kdy byla konverzace vytvořena
799
799
  id: Jedinečný identifikátor pro tuto konverzaci
800
800
  messages: Zprávy této konverzace
801
- updated_at: Datum, kdy byla tato konverzace naposledy aktualizována
802
801
  notifications:
803
802
  created_at: Datum a čas, kdy bylo oznámení vytvořeno
804
803
  event_class: Třída události, která spustila oznámení
@@ -823,7 +822,6 @@ cs:
823
822
  reason: Důvod této zprávy
824
823
  updated_at: Datum a čas poslední aktualizace této zprávy
825
824
  users:
826
- about: Životopis tohoto uživatele
827
825
  accepted_tos_version: Datum, kdy uživatel přijal podmínky poskytování služeb této platformy
828
826
  admin: Zda je tento uživatel administrátorem
829
827
  confirmation_sent_at: Datum a čas, kdy bylo potvrzení odesláno
@@ -834,7 +832,6 @@ cs:
834
832
  delete_reason: Důvod pro odstranění tohoto uživatele
835
833
  deleted_at: Datum a čas, kdy byl tento uživatel odstraněn
836
834
  email: E-mailová adresa tohoto uživatele
837
- followers_count: Počet účastníků, kteří sledují tohoto uživatele
838
835
  following_count: Počet účastníků, které tento uživatel sleduje
839
836
  id: Jedinečný identifikátor tohoto uživatele
840
837
  invitation_accepted_at: Datum a čas, kdy byla pozvánka přijata
@@ -842,16 +839,12 @@ cs:
842
839
  invitation_sent_at: Datum a čas, kdy byla pozvánka odeslána
843
840
  invitations_count: Počet pozvánek zaslaných tomuto uživateli
844
841
  invited_by: Uživatel, který pozval tohoto uživatele
845
- last_sign_in_at: Datum a čas posledního přihlášení
846
- last_sign_in_ip: IP adresa posledního přihlášení
847
842
  locale: Lokalizace (jazyk), kterou tento uživatel vybral
848
843
  managed: Zda je tento uživatel spravován jiným uživatelem
849
844
  name: Jméno tohoto uživatele
850
- newsletter_notifications_at: Datum a čas, kdy tento uživatel obdržel zpravodaj
851
845
  nickname: Přezdívka tohoto uživatele
852
846
  notification_settings: Nastavení oznámení, které tento uživatel vybral
853
847
  notifications_sending_frequency: Četnost oznámení, která tento uživatel obdrží
854
- officialized_as: Název oficializace (poradce, starosta atd.)
855
848
  officialized_at: Datum a čas, kdy byl tento uživatel oficializován
856
849
  organization: Organizace, do které tento uživatel patří,
857
850
  password_updated_at: Datum poslední změny hesla
@@ -889,7 +882,6 @@ cs:
889
882
  files:
890
883
  file_cannot_be_processed: Soubor nelze zpracovat
891
884
  file_resolution_too_large: Rozlišení souboru je příliš velké
892
- not_inside_organization: Soubor není připojen k žádné organizaci
893
885
  internal_server_error:
894
886
  copied: Text zkopírován!
895
887
  copy_error_message_clarification: Kopírovat chybovou zprávu do schránky
@@ -1078,7 +1070,6 @@ cs:
1078
1070
  file:
1079
1071
  explanation: 'Pokyny pro soubor:'
1080
1072
  message_1: Jedná se o obrázek nebo dokument.
1081
- message_2: Pokud se jedná o obrázek, měl by to být obrázek na šířku, který neobsahuje žádný text. Služba obrázek ořízne.
1082
1073
  icon:
1083
1074
  explanation: 'Pokyny pro ikonu:'
1084
1075
  message_1: Musí to být čtvercový obrázek.
@@ -1302,6 +1293,7 @@ cs:
1302
1293
  success: Nastavení Zpravodaje bylo úspěšně aktualizováno.
1303
1294
  newsletters_opt_in_mailer:
1304
1295
  notify:
1296
+ body_1: Zpracování osobních údajů a jejich ochrana jsou pro nás všechny stále důležitější. Díky obecnému nařízení o ochraně osobních údajů (GDPR) z 25. května 2018 mají jednotlivci lepší kontrolu nad svými osobními údaji. Z tohoto důvodu potřebujeme váš „souhlas“ s tím, abychom vám i nadále zasílali relevantní informace o aktivitách %{organization_name}.
1305
1297
  body_2: 'Jak nám můžete dát svůj souhlas? Stačí kliknout na následující tlačítko:'
1306
1298
  body_3: S tímto souhlasem budete moci pokračovat v přijímání informací o službách platformy. Pokud naopak nedostaneme pozitivní potvrzení z vašeho hlediska, přestaneme vám posílat naše zprávy. Pokud potvrdíte, že chcete být stále informováni, máte vždy možnost kdykoli zrušit.
1307
1299
  button: Ano, chci i nadále přijímat relevantní informace
@@ -1315,11 +1307,13 @@ cs:
1315
1307
  same_language: Obsah byl zveřejněn ve vašem preferovaném jazyce (%{language}), proto se v tomto e-mailu nezobrazuje automatický překlad.
1316
1308
  translated_text: 'Automaticky přeložený text:'
1317
1309
  notifications:
1318
- action_error: Při aktualizaci oznámení došlo k chybě.
1310
+ action_error: Při aktualizaci nastavení oznámení došlo k chybě.
1319
1311
  no_notifications: Zatím žádné oznámení.
1320
1312
  show:
1313
+ deleted: Obsah byl autorem odstraněn.
1321
1314
  missing_event: Jejda, toto oznámení patří k položce, která již není k dispozici. Můžete ho zahodit.
1322
- moderated: Obsah upraven
1315
+ moderated: Obsah byl skrytý moderováním.
1316
+ not_available: Jejda, toto oznámení patří k položce, která již není k dispozici. Můžete ho zahodit.
1323
1317
  notifications_digest_mailer:
1324
1318
  header:
1325
1319
  daily: Denní výběr oznámení
@@ -1468,9 +1462,9 @@ cs:
1468
1462
  title: Jak tyto soubory otevřít a pracovat s nimi
1469
1463
  license:
1470
1464
  body_1_html: Tato databáze %{organization_name} je k dispozici pod %{link_database}. Jakákoli práva v jednotlivém obsahu databáze jsou licencována pod %{link_contents}.
1471
- license_contents_link: http://opendatacommons.org/licenses/dbcl/1.0/
1465
+ license_contents_link: https://opendatacommons.org/licenses/dbcl/1.0/
1472
1466
  license_contents_name: Licence obsahu databáze
1473
- license_database_link: http://opendatacommons.org/licenses/odbl/1.0/
1467
+ license_database_link: https://opendatacommons.org/licenses/odbl/1.0/
1474
1468
  license_database_name: Open Database License
1475
1469
  title: Licence
1476
1470
  title: Otevřená data
@@ -1493,7 +1487,7 @@ cs:
1493
1487
  footer_sub_hero:
1494
1488
  footer_sub_hero_body_html: Vytvořme otevřenější, transparentnější a více spolupracující společnost.<br /> Připojte se, účastněte se a rozhodujte.
1495
1489
  footer_sub_hero_headline: Vítejte na %{organization} participační platformě.
1496
- register: Registrovat
1490
+ register: Vytvořit účet
1497
1491
  hero:
1498
1492
  participate: Účastnit se
1499
1493
  participate_title: Účast na procesech platformy
@@ -1501,7 +1495,7 @@ cs:
1501
1495
  statistics:
1502
1496
  headline: Statistiky
1503
1497
  sub_hero:
1504
- register: Registrovat
1498
+ register: Vytvořit účet
1505
1499
  register_title: Vytvořit účet
1506
1500
  index:
1507
1501
  standalone_pages: Stránky
@@ -1741,6 +1735,16 @@ cs:
1741
1735
  instructions_1: Pokud máte přístup k tomuto e-mailovému účtu, zkontrolujte prosím svou doručenou poštu pro pokyny.
1742
1736
  notify_deprecation_to_owner:
1743
1737
  greeting: Dobrý den %{name},
1738
+ set_password: Nastavte své heslo
1739
+ subject: Důležitá aktualizace vašeho profilu skupiny
1740
+ notify_user_group_patched:
1741
+ body_3_html: Abychom mohli pokračovat v přístupu k vašemu účtu a sdílet přístup, potřebujeme, abyste si nastavili nový e-mail a heslo. Vezměte prosím na vědomí, že každý člen vaší skupiny obdrží tento e-mail. Chcete-li zajistit trvalý přístup, musíte se interně dohodnout na sdílených přihlašovacích údajích (e-mail a heslo), které budou všichni používat.
1742
+ greeting: Dobrý den %{name},
1743
+ instructions_1_html: 'K přihlášení použijte následující dočasné přihlašovací údaje: <br><br> Uživatelské jméno: <strong>%{email}</strong> <br> heslo: <strong>%{password}</strong><br><br>'
1744
+ instructions_2_html: Nastavte novou e-mailovou adresu a heslo.
1745
+ instructions_3_html: Sdílejte vybrané přihlašovací údaje s vašimi kolegy, aby celá skupina mohla pokračovat v přístupu k účtu.
1746
+ instructions_title_html: "<strong>Co potřebujete udělat</strong>"
1747
+ subject: Důležitá aktualizace vašeho profilu skupiny
1744
1748
  user_report_mailer:
1745
1749
  notify:
1746
1750
  body_1: Uživatel %{user} byl nahlášen od %{token}
@@ -1841,8 +1845,6 @@ cs:
1841
1845
  subject: Byli jste pozváni ke spravování organizace %{organization}
1842
1846
  invite_collaborator:
1843
1847
  subject: Byli jste pozváni ke spolupráci na organizaci %{organization}
1844
- invite_private_user:
1845
- subject: Byli jste pozváni k soukromé účasti na organizaci %{organization}
1846
1848
  organization_admin_invitation_instructions:
1847
1849
  subject: Byli jste pozváni ke spravování organizace %{organization}
1848
1850
  password_change:
@@ -2129,8 +2131,6 @@ cs:
2129
2131
  description_html: Spravujete účastníka <b>%{user_name}</b>.
2130
2132
  language_chooser:
2131
2133
  choose_language: Vyberte jazyk
2132
- navigation:
2133
- aria_label: Navigační menu - %{title}
2134
2134
  notifications_dashboard:
2135
2135
  mark_all_as_read: Označit vše jako přečtené
2136
2136
  mark_as_read: Označit jako přečtené