decidim-core 0.29.5 → 0.29.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/author/badge.erb +6 -0
  3. data/app/cells/decidim/author/show.erb +8 -2
  4. data/app/cells/decidim/author_cell.rb +10 -0
  5. data/app/cells/decidim/profile/avatar.erb +0 -2
  6. data/app/cells/decidim/profile/badge.erb +3 -3
  7. data/app/cells/decidim/profile/details.erb +2 -1
  8. data/app/cells/decidim/user_activity_cell.rb +6 -1
  9. data/app/forms/decidim/user_group_form.rb +2 -0
  10. data/app/helpers/decidim/map_helper.rb +1 -1
  11. data/app/packs/src/decidim/form_filter.js +6 -0
  12. data/app/packs/src/decidim/map/controller/markers.js +3 -1
  13. data/app/packs/stylesheets/decidim/_author.scss +8 -0
  14. data/app/packs/stylesheets/decidim/_cards.scss +5 -1
  15. data/app/packs/stylesheets/decidim/_footer.scss +5 -0
  16. data/app/packs/stylesheets/decidim/_profile.scss +6 -6
  17. data/app/packs/stylesheets/decidim/editor.scss +3 -1
  18. data/app/validators/password_validator.rb +3 -1
  19. data/app/views/decidim/application/_document.html.erb +2 -2
  20. data/app/views/decidim/shared/_filters.html.erb +1 -1
  21. data/app/views/layouts/decidim/_application.html.erb +1 -1
  22. data/config/locales/ca-IT.yml +10 -10
  23. data/config/locales/ca.yml +8 -8
  24. data/config/locales/cs.yml +5 -0
  25. data/config/locales/de.yml +2 -1
  26. data/config/locales/eu.yml +41 -41
  27. data/config/locales/fr-CA.yml +1 -1
  28. data/config/locales/fr.yml +1 -1
  29. data/config/locales/it.yml +2 -0
  30. data/config/locales/ja.yml +1 -0
  31. data/config/locales/ru.yml +0 -1
  32. data/config/locales/sl.yml +0 -1
  33. data/lib/decidim/asset_router/storage.rb +8 -8
  34. data/lib/decidim/core/engine.rb +1 -0
  35. data/lib/decidim/core/version.rb +1 -1
  36. data/lib/decidim/form_builder.rb +1 -1
  37. data/lib/decidim/webpacker/configuration.rb +5 -1
  38. metadata +7 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a294fcf54a5fa31a1d5e44af9a717e30ab8eab2df35ae131b9873e0d600dc630
4
- data.tar.gz: 41703d211fa0d4d30c760cf00629bfebda559481e039298ac6a30679a46fe77c
3
+ metadata.gz: '0293edb76f03a2ec88239a03a69ebf7b771bbef9e3806a8b980effb128960829'
4
+ data.tar.gz: 9f62cf1fc970fd657a58f324f1e9f5f3c25083460c785b7fe8ae764266b4174d
5
5
  SHA512:
6
- metadata.gz: 28e137934317b858031cda83491fb067b5ee54349fb50f037c1c0e4aa6f223afeb13899e28df90492ee53b5097a09a3d7c1add57e4d0aa0b080997a706646c89
7
- data.tar.gz: 2e153e8e591bd91f1c6fb0ec14b5a7de5ce126191aa89ba698bf64a9a4389d4fb5e8bceb84cc5d43dc77f669b2549971c7d4e2cdfaed4cca6b8dce17172a3829
6
+ metadata.gz: cd6017ab26cefe7ec8b2e385e888f8e6066f8bdee5f4a2341c76bfb1c47c2f1c95f25b9595ef295e114a2d5570e7a076e6cfbba8707a671fe45c5e27b794d13c
7
+ data.tar.gz: a51e9c85be5604a8ea03c94e67d810e775285abb16d825eb8aba1b8559d20a6e7031b0a0c5c6b3ea24da5c6ca9a7664b28c7109f032c29ec809f24f7a67faf6f
@@ -0,0 +1,6 @@
1
+ <% if show_badge? %>
2
+ <span class="author__badge">
3
+ <%= icon "star-s-fill" %>
4
+ <span class="sr-only"><%= officialization_text %></span>
5
+ </span>
6
+ <% end %>
@@ -1,10 +1,15 @@
1
+ <%# If the options hash has the demo key it means we are in the decidim-design engine, so it is not a real-world scenario with actual users %>
2
+ <% tooltip = options.has_key?(:demo) ? { tooltip: render(:profile_minicard).html_safe } : nil %>
1
3
  <%= content_tag(:p, class: :author, data: ) do %>
2
- <%= content_tag :span, class: "author__container#{" is-compact" if layout == :compact}" do %>
4
+ <%= content_tag :span, class: "author__container#{" is-compact" if layout == :compact}", data: tooltip do %>
3
5
  <% if layout == :compact %>
4
6
  <%= render :avatar %>
5
7
 
6
8
  <span>
7
- <%= render :name %>
9
+ <span class="flex gap-2">
10
+ <%= render :name %>
11
+ <%= render :badge %>
12
+ </span>
8
13
 
9
14
  <% context_actions.each do |action| %>
10
15
  <%= render action %>
@@ -15,6 +20,7 @@
15
20
  <% else %>
16
21
  <%= render :avatar %>
17
22
  <%= render :name %>
23
+ <%= render :badge %>
18
24
  <% end %>
19
25
  <% end %>
20
26
 
@@ -186,5 +186,15 @@ module Decidim
186
186
 
187
187
  model.has_tooltip?
188
188
  end
189
+
190
+ def show_badge?
191
+ return false unless model.respond_to? :officialized?
192
+
193
+ model.officialized?
194
+ end
195
+
196
+ def officialization_text
197
+ translated_attribute(model.officialized_as).presence || t("decidim.profiles.show.officialized")
198
+ end
189
199
  end
190
200
  end
@@ -2,6 +2,4 @@
2
2
  <div class="profile__avatar">
3
3
  <%= image_tag avatar_url, alt: t("decidim.author.avatar", name: decidim_sanitize(presented_profile.name)) %>
4
4
  </div>
5
-
6
- <%= render :badge if show_badge? %>
7
5
  </div>
@@ -1,4 +1,4 @@
1
- <div class="profile__avatar-badge">
1
+ <span class="profile__details-badge">
2
2
  <%= icon "star-s-fill" %>
3
- <span class="sr-only"><%= officialization_text %></span>
4
- </div>
3
+ <%= officialization_text %>
4
+ </span>
@@ -1,7 +1,8 @@
1
1
  <div class="profile__details">
2
- <h1 class="h3">
2
+ <h1 class="h3 flex gap-2">
3
3
  <%= presented_profile.name %>
4
4
  <span class="sr-only"><%= tab_items.find { |tab_item| is_active_link?(tab_item[:path]) }&.dig(:text) %> (<%= presented_profile.name %>)</span>
5
+ <%= render :badge if show_badge? %>
5
6
  </h1>
6
7
  <div class="profile__details-data">
7
8
  <% details_items.each do |detail| %>
@@ -11,7 +11,12 @@ module Decidim
11
11
  end
12
12
 
13
13
  def activities
14
- context[:activities]
14
+ resource_ids_to_filter = context[:activities].select { |log| log[:action] == "delete" && log[:resource_type] == "Decidim::Comments::Comment" }.map(&:resource_id)
15
+ if resource_ids_to_filter.any?
16
+ context[:activities].where.not("resource_id in (?) AND resource_type = ?", resource_ids_to_filter, "Decidim::Comments::Comment")
17
+ else
18
+ context[:activities]
19
+ end
15
20
  end
16
21
 
17
22
  def resource_types
@@ -16,10 +16,12 @@ module Decidim
16
16
  attribute :phone
17
17
 
18
18
  validates :name, presence: true
19
+ validates :name, format: { with: Decidim::UserBaseEntity::REGEXP_NAME }
19
20
  validates :email, presence: true, "valid_email_2/email": { disposable: true }
20
21
  validates :nickname, presence: true
21
22
 
22
23
  validates :nickname, length: { maximum: Decidim::User.nickname_max_length, allow_blank: true }
24
+ validates :nickname, format: { with: Decidim::UserBaseEntity::REGEXP_NICKNAME }
23
25
  validates :avatar, passthru: { to: Decidim::UserGroup }
24
26
 
25
27
  validate :unique_document_number
@@ -81,7 +81,7 @@ module Decidim
81
81
 
82
82
  help = content_tag(:div, class: "map__skip-container") do
83
83
  sr_content = content_tag(:p, t("screen_reader_explanation", scope: "decidim.map.dynamic"), class: "sr-only")
84
- link = link_to(t("skip_button", scope: "decidim.map.dynamic"), "##{bottom_id}", class: "map__skip")
84
+ link = link_to(t("skip_button", scope: "decidim.map.dynamic"), "##{bottom_id}", class: "map__skip", "data-skip-to-content": true)
85
85
 
86
86
  sr_content + link
87
87
  end
@@ -206,6 +206,12 @@ export default class FormFilterComponent {
206
206
  this.changeEvents = false;
207
207
  this._clearForm();
208
208
 
209
+ // Prevent filtering again on anchor link "Skip to main content", "Skip map", or "Skip to results"
210
+ const filterSkipValues = [...document.querySelectorAll("[data-skip-to-content]")].map((el) => el.hash);
211
+ if (filterSkipValues.includes(window.location.hash)) {
212
+ return;
213
+ }
214
+
209
215
  const filterParams = this._parseLocationFilterValues();
210
216
  const currentOrder = this._parseLocationOrderValue();
211
217
 
@@ -67,7 +67,9 @@ export default class MapMarkersController extends MapController {
67
67
  }
68
68
 
69
69
  clearMarkers() {
70
- this.map.removeLayer(this.markerClusters);
70
+ if (this.markerClusters !== null) {
71
+ this.map.removeLayer(this.markerClusters);
72
+ }
71
73
  this.markerClusters = new L.MarkerClusterGroup();
72
74
  this.map.addLayer(this.markerClusters);
73
75
  }
@@ -14,6 +14,10 @@
14
14
 
15
15
  &-container {
16
16
  @apply rounded-full overflow-hidden inline-block w-6 h-6 align-top;
17
+
18
+ &:focus-within {
19
+ @apply ring-2 ring-primary;
20
+ }
17
21
  }
18
22
 
19
23
  &-counter {
@@ -29,6 +33,10 @@
29
33
  @apply text-secondary font-semibold;
30
34
  }
31
35
 
36
+ &__badge svg {
37
+ @apply grid overflow-hidden place-items-center bg-primary rounded-full w-4 h-4 text-white fill-current;
38
+ }
39
+
32
40
  &__metadata {
33
41
  @apply flex items-center gap-1 text-gray-2 text-sm;
34
42
 
@@ -59,7 +59,11 @@
59
59
  }
60
60
 
61
61
  &-title {
62
- @apply h4 text-secondary;
62
+ @apply h4;
63
+ }
64
+
65
+ a &-title {
66
+ @apply text-secondary;
63
67
 
64
68
  overflow: hidden;
65
69
  display: -webkit-box;
@@ -4,6 +4,11 @@ footer {
4
4
 
5
5
  &__top {
6
6
  @apply hidden lg:flex flex-row gap-8 container py-10;
7
+
8
+ .prose a,
9
+ .prose strong {
10
+ @apply text-white;
11
+ }
7
12
  }
8
13
 
9
14
  &__down {
@@ -9,18 +9,18 @@
9
9
  &-container {
10
10
  @apply w-24 h-24 relative;
11
11
  }
12
+ }
13
+
14
+ &__details {
15
+ @apply pb-3 space-y-2;
12
16
 
13
17
  &-badge {
14
- @apply absolute top-full right-0 -translate-y-full grid place-items-center w-6 h-6 rounded-full overflow-hidden bg-primary border border-white;
18
+ @apply flex items-center gap-1 text-sm text-gray-2;
15
19
 
16
20
  svg {
17
- @apply w-4 h-4 text-white fill-current;
21
+ @apply w-4 h-4 inline-block bg-primary rounded-full text-white fill-current;
18
22
  }
19
23
  }
20
- }
21
-
22
- &__details {
23
- @apply pb-3 space-y-2;
24
24
 
25
25
  &-data {
26
26
  @apply flex flex-wrap gap-x-6 gap-y-4;
@@ -89,7 +89,9 @@
89
89
  }
90
90
 
91
91
  .ProseMirror {
92
- @apply relative p-2.5 outline-0 min-h-full prose max-w-none prose-headings:first:mt-0 prose-p:first:mt-0 prose-ul:first:mt-0 prose-ol:first:mt-0 prose-blockquote:first:mt-0 prose-pre:first:mt-0;
92
+ @apply relative p-2.5 outline-0 resize-y overflow-hidden prose max-w-none prose-headings:first:mt-0 prose-p:first:mt-0 prose-ul:first:mt-0 prose-ol:first:mt-0 prose-blockquote:first:mt-0 prose-pre:first:mt-0;
93
+
94
+ min-height: inherit;
93
95
 
94
96
  &.ProseMirror-focused,
95
97
  &.dialog-open {
@@ -55,7 +55,9 @@ class PasswordValidator < ActiveModel::EachValidator
55
55
  attr_reader :record, :attribute, :value
56
56
 
57
57
  def get_message(reason)
58
- I18n.t "password_validator.#{reason}"
58
+ I18n.t! "password_validator.#{reason}"
59
+ rescue I18n::MissingTranslationData
60
+ I18n.t "password_validator.fallback"
59
61
  end
60
62
 
61
63
  def organization
@@ -1,8 +1,8 @@
1
1
  <div id="<%= dom_id(document) %>">
2
2
  <div class="card__list-content">
3
- <%= link_to document.url, target: "_blank", rel: "noopener noreferrer", class: "card__list-title", title: t("decidim.application.document.download") do %>
3
+ <span class="card__list-title">
4
4
  <%= h attachment_title(document) %>
5
- <% end %>
5
+ </span>
6
6
  <% if document.description.present? %>
7
7
  <div class="card__list-text"><%= decidim_escape_translated(document.description) %></div>
8
8
  <% end %>
@@ -14,7 +14,7 @@
14
14
 
15
15
  <div id="dropdown-menu-filters">
16
16
  <% if local_assigns.has_key?(:skip_to_id) %>
17
- <%= link_to t("skip", scope: "decidim.shared.filter_form_help"), "##{skip_to_id}", class: "filter-skip", role: "menuitem" %>
17
+ <%= link_to t("skip", scope: "decidim.shared.filter_form_help"), "##{skip_to_id}", class: "filter-skip", role: "menuitem", "data-skip-to-content": true %>
18
18
  <% end %>
19
19
 
20
20
  <p id="filter-help-text" class="filter-help" role="menuitem" aria-disabled="true"><%= t("help", scope: "decidim.shared.filter_form_help") %></p>
@@ -8,7 +8,7 @@
8
8
 
9
9
  <body class="text-black text-md form-defaults<%= yield (:body_class) %>">
10
10
  <!--noindex--><!--googleoff: all-->
11
- <%= link_to t("skip_button", scope: "decidim.accessibility"), "#content", class: "layout-container__skip" %>
11
+ <%= link_to t("skip_button", scope: "decidim.accessibility"), "#content", class: "layout-container__skip", "data-skip-to-content": true %>
12
12
  <%= cell("decidim/data_consent", current_organization) %>
13
13
  <!--googleon: all--><!--/noindex-->
14
14
 
@@ -57,7 +57,7 @@ ca-IT:
57
57
  decidim/attachment_created_event: Arxiu adjunt
58
58
  decidim/component_published_event: Component actiu
59
59
  decidim/demoted_membership: Ja no ets una administradora del grup
60
- decidim/gamification/badge_earned_event: Insígnia obtinguda
60
+ decidim/gamification/badge_earned_event: Ensenya obtinguda
61
61
  decidim/gamification/level_up_event: Has pujat de nivell
62
62
  decidim/invited_to_group_event: Convidada al grup
63
63
  decidim/join_request_accepted_event: Sol·licitud d'incorporació acceptada
@@ -967,7 +967,7 @@ ca-IT:
967
967
  dropzone: Arrossega-hi els arxius o fes clic per a pujar-los
968
968
  explanation: Guia per a %{attribute}
969
969
  gamification:
970
- all_badges_link: Veure totes les insígnies disponibles.
970
+ all_badges_link: Veure totes les ensenyes disponibles.
971
971
  badges:
972
972
  followers:
973
973
  conditions:
@@ -980,11 +980,11 @@ ca-IT:
980
980
  unearned_another: Aquesta participant encara no té seguidores.
981
981
  unearned_own: Encara no et segueix ningú.
982
982
  index:
983
- badge_title: "Insígnia %{name}"
983
+ badge_title: "Ensenya %{name}"
984
984
  how: Com pots aconseguir-la
985
- page_description: Les insígnies són reconeixements de les accions de les participants i del progrés en la plataforma. A mesura que comencis a descobrir, participar i interactuar amb la plataforma, n'obtindràs de diferents tipus. Aquí tens la llista d'insígnies i algunes formes d'aconseguir-les.
986
- title: Insígnies
987
- description: Les insígnies són reconeixements de les accions de les participants i del progrés en la plataforma. A mesura que comencis a descobrir, participar i interactuar amb la plataforma, n'obtindràs de diferents tipus.
985
+ page_description: Les ensenyes són reconeixements de les accions de les participants i del progrés en la plataforma. A mesura que comencis a descobrir, participar i interactuar amb la plataforma, n'obtindràs de diferents tipus. Aquí tens la llista d'ensenyes i algunes formes d'aconseguir-les.
986
+ title: Ensenyes
987
+ description: Les ensenyes són reconeixements de les accions de les participants i del progrés en la plataforma. A mesura que comencis a descobrir, participar i interactuar amb la plataforma, n'obtindràs de diferents tipus.
988
988
  level: Nivell %{level}
989
989
  reached_top: Has arribat al màxim nivell d'aquesta ensenya.
990
990
  title: Què són les ensenyes?
@@ -1412,7 +1412,7 @@ ca-IT:
1412
1412
  default_officialization_text_for_users: Aquesta participant està verificada públicament. S'ha verificat que el seu nom o la seva funció es correspon amb el seu nom i funció reals.
1413
1413
  show:
1414
1414
  activity: Activitat
1415
- badges: Insígnies
1415
+ badges: Ensenyes
1416
1416
  conversations: Converses
1417
1417
  followers: Seguidores
1418
1418
  following: Seguint
@@ -1664,7 +1664,7 @@ ca-IT:
1664
1664
  show:
1665
1665
  version_index: Versió %{index} de %{total}
1666
1666
  welcome_notification:
1667
- default_body: <p>Hola {{name}}, gràcies per unir-te a {{organization}} et donem la benvinguda!</p><ul><li>Si vole fer-te una idea ràpida de que pots fer-hi, fes una ullada a la <a href="{{help_url}}">Secció d'ajuda</a>.</li><li>Una vegada l'hagis llegit rebràs la teva primera ensenya. Aquí trobaràs un <a href="{{badges_url}}">llistat de totes les ensenyes</a>que pots aconsegui participant a {{organization}}</li><li>. Per acabar, però no per això menys important, uneix-te a d'altres persones, comparteix amb elles d'estar compromesa i de participar a {{organization}}. Fes propostes, comentaris, debat, pensa en com contribuir a un bé comú, aporta arguments per mirar de convèncer, escolta i llegeix per convèncer-te, expressa les teves idees de manera concreta i directa, respon amb paciència i decisió, defensa les teves idees i resta oberta de ment per a col·laborar i unir-te a les idees d'altra gent.</li></ul>
1667
+ default_body: <p>Hola {{name}}, gràcies per unir-te a {{organization}} i benvinguda!</p><ul><li>Si vols fer-te una idea ràpida del que pots fer aquí, fes un cop d'ull a la secció d'<a href="{{help_url}}">Ajuda</a>.</li><li>Un cop l'hagis llegit obtindràs la teva primera ensenya. Aquí tens la <a href="{{badges_url}}">llista</a> de totes les ensenyes que pots anar aconseguint a mesura que participis a {{organization}}</li><li>Finalment, però no per això menys important, uneix-te a altres persones, comparteix amb elles l'experiència d'implicar-se i participar a {{organization}}. Fes propostes, comenta, debat, pensa en com contribuir al bé comú, aporta arguments per convèncer, escolta i llegeix per convèncer-te, expressa les teves idees de manera concreta i directa, respon amb paciència i decisió, defensa les teves idees i manté la ment oberta a col·laborar i sumar-te a les idees d'altres persones.</li></ul>
1668
1668
  default_subject: Gràcies per unir-te a {{organization}}!
1669
1669
  wizard_step_form:
1670
1670
  wizard_aside:
@@ -2051,8 +2051,8 @@ ca-IT:
2051
2051
  title: Configuració de la participant
2052
2052
  user_groups: Grups
2053
2053
  locale:
2054
- name: Català
2055
- name_with_error: Català (error!)
2054
+ name: Alguerés
2055
+ name_with_error: Alguerés (error!)
2056
2056
  password_validator:
2057
2057
  denied: no és vàlid
2058
2058
  domain_included_in_password: és massa semblant a aquest nom de domini
@@ -57,7 +57,7 @@ ca:
57
57
  decidim/attachment_created_event: Arxiu adjunt
58
58
  decidim/component_published_event: Component actiu
59
59
  decidim/demoted_membership: Ja no ets una administradora del grup
60
- decidim/gamification/badge_earned_event: Insígnia obtinguda
60
+ decidim/gamification/badge_earned_event: Ensenya obtinguda
61
61
  decidim/gamification/level_up_event: Has pujat de nivell
62
62
  decidim/invited_to_group_event: Convidada al grup
63
63
  decidim/join_request_accepted_event: Sol·licitud d'incorporació acceptada
@@ -967,7 +967,7 @@ ca:
967
967
  dropzone: Arrossega-hi els arxius o fes clic per a pujar-los
968
968
  explanation: Guia per a %{attribute}
969
969
  gamification:
970
- all_badges_link: Veure totes les insígnies disponibles.
970
+ all_badges_link: Veure totes les ensenyes disponibles.
971
971
  badges:
972
972
  followers:
973
973
  conditions:
@@ -980,11 +980,11 @@ ca:
980
980
  unearned_another: Aquesta participant encara no té seguidores.
981
981
  unearned_own: Encara no et segueix ningú.
982
982
  index:
983
- badge_title: "Insígnia %{name}"
983
+ badge_title: "Ensenya %{name}"
984
984
  how: Com pots aconseguir-la
985
- page_description: Les insígnies són reconeixements de les accions de les participants i del progrés en la plataforma. A mesura que comencis a descobrir, participar i interactuar amb la plataforma, n'obtindràs de diferents tipus. Aquí tens la llista d'insígnies i algunes formes d'aconseguir-les.
986
- title: Insígnies
987
- description: Les insígnies són reconeixements de les accions de les participants i del progrés en la plataforma. A mesura que comencis a descobrir, participar i interactuar amb la plataforma, n'obtindràs de diferents tipus.
985
+ page_description: Les ensenyes són reconeixements de les accions de les participants i del progrés en la plataforma. A mesura que comencis a descobrir, participar i interactuar amb la plataforma, n'obtindràs de diferents tipus. Aquí tens la llista d'ensenyes i algunes formes d'aconseguir-les.
986
+ title: Ensenyes
987
+ description: Les ensenyes són reconeixements de les accions de les participants i del progrés en la plataforma. A mesura que comencis a descobrir, participar i interactuar amb la plataforma, n'obtindràs de diferents tipus.
988
988
  level: Nivell %{level}
989
989
  reached_top: Has arribat al màxim nivell d'aquesta ensenya.
990
990
  title: Què són les ensenyes?
@@ -1412,7 +1412,7 @@ ca:
1412
1412
  default_officialization_text_for_users: Aquesta participant està verificada públicament. S'ha verificat que el seu nom o la seva funció es correspon amb el seu nom i funció reals.
1413
1413
  show:
1414
1414
  activity: Activitat
1415
- badges: Insígnies
1415
+ badges: Ensenyes
1416
1416
  conversations: Converses
1417
1417
  followers: Seguidores
1418
1418
  following: Seguint
@@ -1664,7 +1664,7 @@ ca:
1664
1664
  show:
1665
1665
  version_index: Versió %{index} de %{total}
1666
1666
  welcome_notification:
1667
- default_body: <p>Hola {{name}}, gràcies per unir-te a {{organization}} et donem la benvinguda!</p><ul><li>Si vole fer-te una idea ràpida de que pots fer-hi, fes una ullada a la <a href="{{help_url}}">Secció d'ajuda</a>.</li><li>Una vegada l'hagis llegit rebràs la teva primera ensenya. Aquí trobaràs un <a href="{{badges_url}}">llistat de totes les ensenyes</a>que pots aconsegui participant a {{organization}}</li><li>. Per acabar, però no per això menys important, uneix-te a d'altres persones, comparteix amb elles d'estar compromesa i de participar a {{organization}}. Fes propostes, comentaris, debat, pensa en com contribuir a un bé comú, aporta arguments per mirar de convèncer, escolta i llegeix per convèncer-te, expressa les teves idees de manera concreta i directa, respon amb paciència i decisió, defensa les teves idees i resta oberta de ment per a col·laborar i unir-te a les idees d'altra gent.</li></ul>
1667
+ default_body: <p>Hola {{name}}, gràcies per unir-te a {{organization}} i benvinguda!</p><ul><li>Si vols fer-te una idea ràpida del que pots fer aquí, fes un cop d'ull a la secció d'<a href="{{help_url}}">Ajuda</a>.</li><li>Un cop l'hagis llegit obtindràs la teva primera ensenya. Aquí tens la <a href="{{badges_url}}">llista</a> de totes les ensenyes que pots anar aconseguint a mesura que participis a {{organization}}</li><li>Finalment, però no per això menys important, uneix-te a altres persones, comparteix amb elles l'experiència d'implicar-se i participar a {{organization}}. Fes propostes, comenta, debat, pensa en com contribuir al bé comú, aporta arguments per convèncer, escolta i llegeix per convèncer-te, expressa les teves idees de manera concreta i directa, respon amb paciència i decisió, defensa les teves idees i manté la ment oberta a col·laborar i sumar-te a les idees d'altres persones.</li></ul>
1668
1668
  default_subject: Gràcies per unir-te a {{organization}}!
1669
1669
  wizard_step_form:
1670
1670
  wizard_aside:
@@ -1032,6 +1032,8 @@ cs:
1032
1032
  title: Jaké jsou odznaky?
1033
1033
  group_admins:
1034
1034
  actions:
1035
+ confirm_modal:
1036
+ ok_add: Přidat administrátora
1035
1037
  demote_admin: Odstranit admin
1036
1038
  demote:
1037
1039
  error: Při odebrání tohoto účastníka ze seznamu administrátorů došlo k chybě.
@@ -1061,6 +1063,9 @@ cs:
1061
1063
  error: Při přijímání této žádosti o připojení došlo k chybě.
1062
1064
  success: Žádost o připojení byla úspěšně přijata.
1063
1065
  actions:
1066
+ confirm_modal:
1067
+ ok_remove: Odebrat člena
1068
+ title_remove: Odebrat člena
1064
1069
  promote_to_admin: Udělat adminem
1065
1070
  remove_from_group: Odstranit uživatele
1066
1071
  index:
@@ -628,7 +628,7 @@ de:
628
628
  newsletter_title: Kontakterlaubnis
629
629
  sign_up: Konto erstellen
630
630
  subtitle: Erstellen Sie ein Konto, um auf der Plattform teilzunehmen.
631
- terms: die Nutzungsbedingungen
631
+ terms: den Nutzungsbedingungen
632
632
  tos_agreement: Mit der Anmeldung stimmen Sie %{link} zu.
633
633
  tos_title: Nutzungsbedingungen
634
634
  username_help: Öffentlich sichtbarer Name, der in Ihren Beiträgen angezeigt wird. Um Anonymität zu gewährleisten, kann es sich um einen beliebigen Namen handeln.
@@ -1285,6 +1285,7 @@ de:
1285
1285
  success: Newslettereinstellungen wurden erfolgreich aktualisiert.
1286
1286
  newsletters_opt_in_mailer:
1287
1287
  notify:
1288
+ body_1: Die Verarbeitung personenbezogener Daten und deren Schutz wird für uns alle immer wichtiger. Mit der Datenschutz-Grundverordnung (DSGV) vom 25. Mai 2018 haben Einzelpersonen eine bessere Kontrolle über ihre personenbezogenen Daten. Aus diesem Grund benötigen wir Ihr "OK" um weiterhin relevante Informationen über die Aktivitäten von %{organization_name} zu senden.
1288
1289
  body_2: 'Wie können Sie uns Ihre Zustimmung geben? Klicken Sie einfach auf den folgenden Knopf:'
1289
1290
  body_3: Mit dieser Zustimmung können Sie weiterhin Informationen über die Dienste der Plattform erhalten. Wenn wir im Gegenteil keine positive Bestätigung von Ihnen erhalten, werden wir Ihnen keine Nachrichten mehr senden. Wenn Sie bestätigen, dass Sie weiterhin informiert werden möchten, haben Sie jederzeit die Möglichkeit, den Vorgang abzubrechen.
1290
1291
  button: Ja, ich möchte weiterhin relevante Informationen erhalten
@@ -216,7 +216,7 @@ eu:
216
216
  actions:
217
217
  cancel: Ezeztatu
218
218
  password_change:
219
- alert: Pasahitza aldatu behar duzu aurrera jarraitu ahal izateko.
219
+ alert: Aurrera jarraitu ahal izateko pasahitza aldatu behar duzu.
220
220
  notification: Administratzaile rola duten parte-hartzaileek pasahitza aldatu behar dute %{days} egunik behin.
221
221
  admin_log:
222
222
  area:
@@ -318,7 +318,7 @@ eu:
318
318
  amendable:
319
319
  button: Zuzendu %{model_name}
320
320
  error: Errore bat egon da baliabide hau aldatzean.
321
- promote_button: '%{model_name}suspertzea'
321
+ promote_button: Sustatu %{model_name} (e) ra
322
322
  promote_confirm_text: Ziur al zaude zuzenketa hau sustatu nahi duzula?
323
323
  promote_help_text: Zuzenketa hau sustatu eta %{model_name} independiente gisa argitara dezakezu.
324
324
  amendments:
@@ -374,7 +374,7 @@ eu:
374
374
  heading: Aldaketa berrikustea
375
375
  send: Onartu aldaketa
376
376
  update_draft:
377
- error: Arazoa egon da zuzenketa-zirriborroa eguneratzean.
377
+ error: Arazo bat egon da zuzenketa-zirriborroa eguneratzean.
378
378
  success: Zuzenketa-zirriborroa zuzen eguneratu da.
379
379
  withdraw:
380
380
  error: Arazo bat egon da zuzenketa kentzean.
@@ -433,9 +433,9 @@ eu:
433
433
  expires_at: '%{timestamp} iraungitzen da'
434
434
  foo_authorization:
435
435
  fields:
436
- bar: Barra
437
- foo: foo
438
- name: foo baimena
436
+ bar: Bar
437
+ foo: Foo
438
+ name: Foo baimena
439
439
  granted_at: Onartua %{timestamp}
440
440
  sms:
441
441
  explanation: Bidali zure telefono mugikorraren zenbakia zure identitatea egiaztatzeko.
@@ -444,7 +444,7 @@ eu:
444
444
  authorization_modals:
445
445
  content:
446
446
  expired:
447
- authorize: Errebokatu "%{authorization}" rekin
447
+ authorize: Baimendu berriro "%{authorization}" sakatuta
448
448
  explanation: Zure baimena iraungi da. Ekintza hau burutzeko, "%{authorization}" berrantolatu behar duzu.
449
449
  title: Baimena iraungi egin da
450
450
  incomplete:
@@ -462,7 +462,7 @@ eu:
462
462
  pending:
463
463
  explanation: Ekintza hau burutzeko, "%{authorization}" baimena eduki behar duzu, baina zure baimena oraindik garatzen ari da.
464
464
  resume: Egiaztatu zure %{authorization} baimenaren garapena.
465
- title: Baimena oraindik ere egiten ari da
465
+ title: Baimena oraindik gaizatzen ari da
466
466
  unauthorized:
467
467
  explanation: Sentitzen dugu, baina ezin diozu heldu ekintza honi, zure baimen-datuetako batzuk ez datozelako bat.
468
468
  invalid_field: "%{field} datu-eremuaren balioa %{value} ez da baliozkoa."
@@ -479,12 +479,12 @@ eu:
479
479
  body_2: 'Arrazoia: %{justification}'
480
480
  greetings: Agur, <br/>%{organization_name}<br/><a href="%{organization_url}">%{organization_url}</a>
481
481
  hello: Kaixo,
482
- subject: '%{organization_name} k zure kontua blokeatu du'
482
+ subject: '%{organization_name}-eko administrazaileak zure kontua blokeatu du'
483
483
  collapsible_list:
484
484
  hidden_elements_count:
485
485
  one: eta bat gehiago
486
486
  other: eta %{count} gehiago
487
- see_less: "(ikusi gutxiago)"
487
+ see_less: "(gutxiago ikusi)"
488
488
  components:
489
489
  component_order_selector:
490
490
  no_content: Ezin izan dugu aurkitu irizpide hau duen edukirik.
@@ -503,7 +503,7 @@ eu:
503
503
  dummy:
504
504
  actions:
505
505
  bar: Barra
506
- foo: foo
506
+ foo: Foo
507
507
  name: Balizko osagaia
508
508
  settings:
509
509
  global:
@@ -540,7 +540,7 @@ eu:
540
540
  button_url: Ekintzaren botoiaren URLa
541
541
  description: Deskribapena
542
542
  footer_sub_hero:
543
- name: Oinaren azpi-heroiaren pankarta
543
+ name: Azpi-heroko bannerra orri-oinean
544
544
  global_menu:
545
545
  name: Menu globala
546
546
  hero:
@@ -616,12 +616,12 @@ eu:
616
616
  nickname_help: Zure ezizena %{organization}-an. Letrak, zenbakiak, '-' eta '_' soilik eduki ditzake.
617
617
  sign_up: Mesedez, osatu zure profila
618
618
  subtitle: Mesedez, bete hurrengo formularioa kontua sortzen amaitzeko
619
- username_help: Zure mezuetan agertuko den izen publikoa. Anonimatua bermatze aldera, edozein izen izan daiteke.
619
+ username_help: Zure mezuetan agertzen den izen publikoa. Anonimotasuna bermatzeko helburuarekin, edozein izen izan daiteke.
620
620
  registrations:
621
621
  create:
622
622
  error: Arazo bat izan da kontua sortzean.
623
623
  new:
624
- already_have_an_account?: Baduzu kontu bat?
624
+ already_have_an_account?: Ba al duzu konturen bat?
625
625
  log_in: Hasi saioa
626
626
  newsletter: Jaso nahi dut informazio garrantzitsua biltzen duen aldizkako buletina
627
627
  newsletter_title: Harremanetarako baimena
@@ -630,13 +630,13 @@ eu:
630
630
  terms: zerbitzuaren baldintzak
631
631
  tos_agreement: 'Erregistratzean, hau onartzen duzu: %{link}.'
632
632
  tos_title: Zerbitzuaren baldintzak
633
- username_help: Zure mezuetan agertuko den izen publikoa. Anonimatua bermatze aldera, edozein izen izan daiteke.
633
+ username_help: Zure mezuetan agertzen den izen publikoa. Anonimotasuna bermatzeko helburuarekin, edozein izen izan daiteke.
634
634
  sessions:
635
635
  new:
636
636
  are_you_new?: Berria zara plataforman?
637
637
  register: Sortu zure kontua
638
638
  sign_in_disabled: Kanpoko kontu batez sartu ahal zara.
639
- sign_up_disabled: Kontuak sortzea desgaituta dago, sartzeko lehendik dagoen kontu bat erabil dezakezu.
639
+ sign_up_disabled: Kontu-sorkuntza desgaituta dago. Ohar bat erabil dezakezu atzipenerako.
640
640
  user:
641
641
  timed_out: Denbora luzeegi egon zara jarduerarik gabe, eta zure saioa automatikoki itxi da. Parte hartzen jarraitu nahi baduzu, hasi saioa berriro.
642
642
  shared:
@@ -706,13 +706,13 @@ eu:
706
706
  not_inside_organization: Fitxategia ez dago erakunde batekin erlazionatuta
707
707
  internal_server_error:
708
708
  copied: Testua kopiatuta!
709
- copy_error_message_clarification: Errore-mezua arbelean kopiatuta
709
+ copy_error_message_clarification: Kopiatu errore-mezua arbelean
710
710
  copy_to_clipboard: Kopiatu arbelera
711
711
  date_and_time: Data eta ordua
712
712
  reference: Erreferentzia
713
713
  request_method: Eskaera-metodoa
714
- title: Arazo bat egon da gure serbidorearekin
715
- try_later: Mesedez, saiatu berriro geroago. Erroreak jarraitzen badu, mesedez, kopiatu ondoko informazio hau eta bidali plataformaren mantentzaileei partekatu nahi duzun bestelako informazioarekin batera.
714
+ title: Arazo bat egon da gure zerbitzarian
715
+ try_later: Mesedez, geroago saiatu berriro. Erroreak jarraitzen badu, mesedez, kopiatu ondoko informazio hau eta bidali plataformaren mantentzaileei partekatu nahi duzun bestelako informazioarekin batera.
716
716
  unknown: Ezezaguna
717
717
  url: URL
718
718
  user: Parte-hartzailearen ID
@@ -759,12 +759,12 @@ eu:
759
759
  affected_user:
760
760
  email_intro: '%{amendable_title} k zuzenketa ukatu egin du. Orrialde honetan ikus dezakezu:'
761
761
  email_outro: 'Jakinarazpen hau jaso duzu honen egilea zarelako: %{amendable_title}.'
762
- email_subject: Aldaketa %{amendable_title} %{emendation_author_nickname} k ukatua
762
+ email_subject: Aldaketa %{amendable_title} %{emendation_author_nickname} egileak ukatua
763
763
  notification_title: <a href="%{emendation_author_path}">%{emendation_author_nickname}</a> k egindako <a href="%{emendation_path}">zuzenketa <a href="%{amendable_path}">%{amendable_title}</a> k ukatu du.
764
764
  follower:
765
765
  email_intro: 'Aldaketa ukatu egin da %{amendable_title}. Orrialde honetatik ikus dezakezu:'
766
766
  email_outro: Jakinarazpen hau jaso duzu %{amendable_title} jarraitzen duzulako. Aurreko estekan jakinarazpenak jasotzeari utzi ahal diozu.
767
- email_subject: '%{emendation_author_nickname} k baztertu du %{amendable_title} aldaketa'
767
+ email_subject: '%{emendation_author_nickname} egileak baztertu du %{amendable_title} aldaketa'
768
768
  notification_title: <a href="%{emendation_author_path}">%{emendation_author_nickname}</a> k sortutako <a href="%{emendation_path}">zuzenketa </a> <a href="%{amendable_path}">%{amendable_title}</a> k ukatu du.
769
769
  emendation_promoted:
770
770
  follower:
@@ -901,7 +901,7 @@ eu:
901
901
  followers_count:
902
902
  one: "Jarraitzaile %{count}"
903
903
  other: "%{count} jarraitzaile"
904
- no_followers: Ez da jarraitzailerik oraindik.
904
+ no_followers: Oraindik ez dago jarraitzailerik.
905
905
  following:
906
906
  following_count:
907
907
  one: "batek jarraitzaitzen du"
@@ -933,7 +933,7 @@ eu:
933
933
  message_1: Irudi bat edo dokumentu bat izan behar da.
934
934
  message_2: Irudietarako, erabili batez ere irudi etzanak; zerbitzuak irudia mozten du.
935
935
  icon:
936
- explanation: 'Jarraibideak irudirako:'
936
+ explanation: 'Irudirako jarraibideak:'
937
937
  message_1: Irudi karratua izan behar da.
938
938
  message_2: Irudi honetarako gomendatzen den tamaina da 512x512.
939
939
  image:
@@ -968,7 +968,7 @@ eu:
968
968
  dropzone: Bota fitxategiak hona edo egin klik igotzeko
969
969
  explanation: Gida honetarako %{attribute}
970
970
  gamification:
971
- all_badges_link: Ikusi eskuragarri dauden txapak.
971
+ all_badges_link: Ikusi eskuragarri dauden bereizgarri guztiak.
972
972
  badges:
973
973
  followers:
974
974
  conditions:
@@ -1350,7 +1350,7 @@ eu:
1350
1350
  pad_iframe:
1351
1351
  disclaimer: Ohar-blok honen edukiak erregistratutako parte-hartzaileek idatzi dituzte eta euren iritziak adierazi dituzte. %{organization} erakundea ezin da bere edukien erantzule izan.
1352
1352
  explanation: Erabili ohar-blok hau topaketan zehar oharrak modu kolaboratiboan hartzeko, gero akta idaztea errazagoa izan dadin.
1353
- pad: pad
1353
+ pad: Pad
1354
1354
  pages:
1355
1355
  home:
1356
1356
  extended:
@@ -1374,7 +1374,7 @@ eu:
1374
1374
  headline: '%{organization} erakundearen egungo egoera'
1375
1375
  sub_hero:
1376
1376
  register: Alta eman
1377
- register_title: Sortu kontu bat
1377
+ register_title: Kontu bat sortu
1378
1378
  index:
1379
1379
  standalone_pages: Orrialdeak
1380
1380
  subheading: Nabigatu %{name} gunearen laguntza-orrietan
@@ -1390,7 +1390,7 @@ eu:
1390
1390
  success: Bikain! Onartu dituzu zerbitzuaren baldintzak.
1391
1391
  form:
1392
1392
  agreement: Ados nago baldintza hauekin
1393
- legend: Adostu zerbitzuaren baldintzak
1393
+ legend: Zerbitzuaren baldintzak onartzen ditut
1394
1394
  refuse:
1395
1395
  modal_body: Onartzen ez baduzu, ezin izango duzu plataforman parte hartu, <a href="%{download_your_data_path}">zure datuak deskargatu ahal dituzu</a> eta/edo <a href="%{delete_path}">zure kontua ezabatu</a>.
1396
1396
  modal_btn_continue: Onartu baldintzak eta jarraitu
@@ -1398,9 +1398,9 @@ eu:
1398
1398
  modal_button: Ez onartu baldintzak
1399
1399
  modal_title: Benetan ez dituzu onartzen zerbitzuaren baldintza eguneratuak?
1400
1400
  required_review:
1401
- alert: "Gure zerbitzu baldintzak eguneratu ditugu., berrikusi, mesedez.\n"
1401
+ alert: Gure zerbitzu baldintzak eguneratu ditugu, berrikusi, mesedez.
1402
1402
  body: Mesedez, hartu tarte bat erabilerarako gure baldintzak eta irizpideak berrikusteko. Bestela, ezin izango duzu plataforman parte hartu.
1403
- title: 'Eskatuta: berrikusi eguneraketak gure zerbitzuaren baldintzetan'
1403
+ title: 'Beharrezkoa: berrikusi eguneratzeak gure erabilera-baldintzetan'
1404
1404
  passwords:
1405
1405
  update:
1406
1406
  error: Arazo bat egon da pasahitza eguneratzean.
@@ -1453,7 +1453,7 @@ eu:
1453
1453
  content: Erreportatutako edukia
1454
1454
  details: Xehetasunak
1455
1455
  hello: 'Kaixo, %{name}:'
1456
- manage_moderations: Kudeatu moderazioak
1456
+ manage_moderations: Moderazioak kudeatu
1457
1457
  participatory_space: Partaidetza espazioa
1458
1458
  reason: Arrazoia
1459
1459
  report_html: <p>Hurrengo <a href="%{url}">edukia</a>automatikoki ezkutatu da</p>
@@ -1716,7 +1716,7 @@ eu:
1716
1716
  message: 'Zuregana jotzen dugu jakinarazteko zure posta elektronikoa aldatu dela honengatik: %{email}.'
1717
1717
  subject: Helnbide elektronikoa aldatu da
1718
1718
  invitation_instructions:
1719
- accept: Onartu gonbita
1719
+ accept: Gonbita onartu
1720
1720
  accept_until: 'Gonbidapen hau data honetan iraungiko da: %{due_date}.'
1721
1721
  decline: Deuseztatu gonbita
1722
1722
  hello: Kaixo, %{email},
@@ -1729,21 +1729,21 @@ eu:
1729
1729
  someone_invited_you_as_private_user: Norbaitek %{application} ko parte-hartzaile pribatu gisa gonbidatu zaitu, beheko estekan onar dezakezu.
1730
1730
  subject: Gonbidapenaren argibideak
1731
1731
  invite_admin:
1732
- subject: Gonbita jaso duzu %{organization} kudeatzeko
1732
+ subject: '%{organization} kudeatzeko gonbita jaso duzu'
1733
1733
  invite_collaborator:
1734
1734
  subject: 'Gonbita jaso duzu erakunde honekin lankidetzan aritzeko: %{organization}'
1735
1735
  invite_private_user:
1736
1736
  subject: Gonbidatu zaituzte partaidetza-prozesu pribatu batean %{organization} erakundean
1737
1737
  organization_admin_invitation_instructions:
1738
- subject: Gonbita jaso duzu %{organization} kudeatzeko
1738
+ subject: '%{organization} erakundea kudeatzeko gonbita jaso duzu'
1739
1739
  password_change:
1740
1740
  greeting: Kaixo, %{recipient}!
1741
- message: Zuregana jotzen dugu jakinarazteko zure pasahitza zuzen aldatu dela.
1741
+ message: Zuregana jotzen dugu zure pasahitza zuzen aldatu dela jakinarazteko.
1742
1742
  subject: Pasahitza aldatu da
1743
1743
  reset_password_instructions:
1744
- action: Aldatu nire pasahitza
1744
+ action: Nire pasahitza aldatu
1745
1745
  greeting: Kaixo %{recipient}!
1746
- instruction: Norbaitek zure pasahitza aldatzeko esteka eskatu du, eta beheko estekan egin dezakezu.
1746
+ instruction: Norbaitek esteka bat eskatu du zure pasahitza aldatzeko, eta beheko estekaren bidez egin dezakezu.
1747
1747
  instruction_2: Ez baduzu hori eskatu, ez egin kasurik mezu honi.
1748
1748
  instruction_3: Zure pasahitza ez da aldatuko aurreko estekara sartu eta beste bat sortu arte.
1749
1749
  subject: Berrezarri pasahitzaren argibideak
@@ -1845,12 +1845,12 @@ eu:
1845
1845
  close: Itxi leihoa
1846
1846
  toolbar:
1847
1847
  control:
1848
- blockquote: Aipu blokea
1848
+ blockquote: Aipamena
1849
1849
  bold: Lodia
1850
1850
  bulletList: Zerrenda desordenatua
1851
1851
  codeBlock: Kode blokea
1852
1852
  common:
1853
- eraseStyles: Ezabatu estiloak
1853
+ eraseStyles: Estiloak ezabatu
1854
1854
  hardBreak: Lerro-jauzia
1855
1855
  heading: Testu estiloa
1856
1856
  image: Irudia
@@ -1911,7 +1911,7 @@ eu:
1911
1911
  long_words: luzeegiak diren hitzak ditu (35 karaktere baino gehiago)
1912
1912
  must_start_with_caps: letra larriz hasi behartu
1913
1913
  nesting_too_deep: ezin da egon azpikategoria batean
1914
- not_found: ezin izan da aurkitu. Lehenago konturik sortu duzu?
1914
+ not_found: ezin izan da aurkitu. Aurretik kontu bat sortu duzu?
1915
1915
  not_locked: ez dago itxita
1916
1916
  not_saved:
1917
1917
  one: 'Errore bat egon da zure eskaera prozesatzean:'
@@ -2015,7 +2015,7 @@ eu:
2015
2015
  aria_label: '%{title} Nabigazio-menua'
2016
2016
  notifications_dashboard:
2017
2017
  mark_all_as_read: Markatu dena irakurritako gisa
2018
- mark_as_read: Markatu irakurrita bezala
2018
+ mark_as_read: Irakurrita bezala markatu
2019
2019
  offline_banner:
2020
2020
  cache_version_page: Kontuz! Off-line lan egiten ari zara. Bisitatzen ari zaren orriaren cache bertsioa da hau, agian edukia ez dago eguneratuta.
2021
2021
  social_media_links:
@@ -2026,7 +2026,7 @@ eu:
2026
2026
  youtube: "%{organization} YouTuben"
2027
2027
  timeout_modal:
2028
2028
  body: Jarduerarik gabe egon zara %{minutes} minututan. Aktibatu gabe jarraitzen baduzu, deskonektatuko zaitugu zure segurtasunerako.
2029
- continue_session: Jarraitu saioa
2029
+ continue_session: Saioa jarraitu
2030
2030
  log_out: Amaitu saioa
2031
2031
  title: Saioan jarraitu nahi duzu?
2032
2032
  user_menu:
@@ -1144,7 +1144,7 @@ fr-CA:
1144
1144
  members:
1145
1145
  no_members: Ce groupe d'utilisateurs n'a encore aucun membre.
1146
1146
  menu:
1147
- help: Aide
1147
+ help: Aidez-moi
1148
1148
  home: Accueil
1149
1149
  messaging:
1150
1150
  conversation_mailer:
@@ -1144,7 +1144,7 @@ fr:
1144
1144
  members:
1145
1145
  no_members: Ce groupe d'utilisateurs n'a encore aucun membre.
1146
1146
  menu:
1147
- help: Aide
1147
+ help: Aidez-moi
1148
1148
  home: Accueil
1149
1149
  messaging:
1150
1150
  conversation_mailer:
@@ -433,6 +433,8 @@ it:
433
433
  description: Descrisione
434
434
  footer_sub_hero:
435
435
  name: Banner di sub eroe di piè di pagina
436
+ global_menu:
437
+ name: Menu globale
436
438
  hero_settings_form:
437
439
  background_image: Immagine di sfondo
438
440
  welcome_text: Testo di benvenuto
@@ -1249,6 +1249,7 @@ ja:
1249
1249
  main_image: メイン画像
1250
1250
  newsletters:
1251
1251
  unsubscribe:
1252
+ check_subscription_html: 配信を再開したい場合は、<a href="%{link}" target="_blank">設定ページ</a>からいつでもサブスクリプションを再開できます。
1252
1253
  error: 購読解除中に問題が発生しました。
1253
1254
  subscription_preferences: サブスクリプションの設定を更新しました。 %{organization_name} からニュースレターを受け取ることはできなくなりました。
1254
1255
  success: 購読解除に成功しました。
@@ -431,7 +431,6 @@ ru:
431
431
  managed_users:
432
432
  expired_session: Текущий сеанс выступления в роли участника истек.
433
433
  menu:
434
- help: Справка
435
434
  home: Главная
436
435
  messaging:
437
436
  conversation_mailer:
@@ -20,7 +20,6 @@ sl:
20
20
  linked_classes:
21
21
  meeting: Sestanki
22
22
  menu:
23
- help: Pomoč
24
23
  home: Domov
25
24
  messaging:
26
25
  conversations:
@@ -44,20 +44,20 @@ module Decidim
44
44
  # @param options The options for the URL that are the normal route options
45
45
  # Rails route helpers accept
46
46
  # @return [String] The URL of the asset
47
- def url(**)
47
+ def url(**options)
48
48
  case asset
49
49
  when ActiveStorage::Attached
50
- ensure_current_host(asset.record, **)
51
- blob_url(**)
50
+ ensure_current_host(asset.record, **options)
51
+ blob_url(**options.except(:host))
52
52
  when ActiveStorage::Blob
53
- blob_url(**)
53
+ blob_url(**options)
54
54
  else # ActiveStorage::VariantWithRecord, ActiveStorage::Variant
55
55
  if blob && blob.attachments.any?
56
- ensure_current_host(blob.attachments.first&.record, **)
57
- representation_url(**)
56
+ ensure_current_host(blob.attachments.first&.record, **options)
57
+ representation_url(**options.except(:host))
58
58
  else
59
- ensure_current_host(nil, **)
60
- representation_url(**, only_path: true)
59
+ ensure_current_host(nil, **options)
60
+ representation_url(**options.except(:host), only_path: true)
61
61
  end
62
62
  end
63
63
  end
@@ -447,6 +447,7 @@ module Decidim
447
447
  end
448
448
 
449
449
  initializer "decidim_core.add_cells_view_paths" do
450
+ Cell::ViewModel.view_paths << Rails.root.join("app/views") # for partials
450
451
  Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Core::Engine.root}/app/cells")
451
452
  Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Core::Engine.root}/app/cells/amendable")
452
453
  Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Core::Engine.root}/app/views") # for partials
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-core version.
5
5
  module Core
6
6
  def self.version
7
- "0.29.5"
7
+ "0.29.7"
8
8
  end
9
9
  end
10
10
  end
@@ -232,7 +232,7 @@ module Decidim
232
232
  disabled: options[:disabled],
233
233
  options: editor_options[:editor]
234
234
  }
235
- ) { content_tag(:div, nil, class: "editor-input", style: "height: #{lines}rem") }
235
+ ) { content_tag(:div, nil, class: "editor-input", style: "min-height: #{lines}rem") }
236
236
  template += error_for(name, options) if error?(name)
237
237
  template += editor_upload(editor_image, editor_options[:upload])
238
238
  template.html_safe
@@ -64,7 +64,11 @@ module Decidim
64
64
  end
65
65
 
66
66
  def configuration_file_path
67
- @configuration_file_path ||= File.join(app_path, "tmp/webpacker_runtime.yml")
67
+ @configuration_file_path ||= if defined?(Rails) && Rails.env.test?
68
+ File.join(app_path, "tmp/webpacker_runtime#{ENV.fetch("TEST_ENV_NUMBER", "")}.yml")
69
+ else
70
+ File.join(app_path, "tmp/webpacker_runtime.yml")
71
+ end
68
72
  end
69
73
 
70
74
  def original_configuration_file_path
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.29.5
4
+ version: 0.29.7
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: 2025-09-23 00:00:00.000000000 Z
13
+ date: 2025-11-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: concurrent-ruby
@@ -772,28 +772,28 @@ dependencies:
772
772
  requirements:
773
773
  - - '='
774
774
  - !ruby/object:Gem::Version
775
- version: 0.29.5
775
+ version: 0.29.7
776
776
  type: :development
777
777
  prerelease: false
778
778
  version_requirements: !ruby/object:Gem::Requirement
779
779
  requirements:
780
780
  - - '='
781
781
  - !ruby/object:Gem::Version
782
- version: 0.29.5
782
+ version: 0.29.7
783
783
  - !ruby/object:Gem::Dependency
784
784
  name: decidim-dev
785
785
  requirement: !ruby/object:Gem::Requirement
786
786
  requirements:
787
787
  - - '='
788
788
  - !ruby/object:Gem::Version
789
- version: 0.29.5
789
+ version: 0.29.7
790
790
  type: :development
791
791
  prerelease: false
792
792
  version_requirements: !ruby/object:Gem::Requirement
793
793
  requirements:
794
794
  - - '='
795
795
  - !ruby/object:Gem::Version
796
- version: 0.29.5
796
+ version: 0.29.7
797
797
  description: Adds core features so other engines can hook into the framework.
798
798
  email:
799
799
  - josepjaume@gmail.com
@@ -831,6 +831,7 @@ files:
831
831
  - app/cells/decidim/attachments_link_tab_cell.rb
832
832
  - app/cells/decidim/author/avatar.erb
833
833
  - app/cells/decidim/author/avatar_image.erb
834
+ - app/cells/decidim/author/badge.erb
834
835
  - app/cells/decidim/author/cancelled_on.erb
835
836
  - app/cells/decidim/author/comments.erb
836
837
  - app/cells/decidim/author/contact.erb