decidim-admin 0.31.0 → 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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/app/commands/decidim/admin/destroy_participatory_space_private_user.rb +10 -0
  3. data/app/commands/decidim/admin/publish_component.rb +1 -0
  4. data/app/commands/decidim/admin/unpublish_component.rb +1 -0
  5. data/app/helpers/decidim/admin/moderations/reports_helper.rb +1 -1
  6. data/app/jobs/decidim/admin/destroy_private_users_follows_job.rb +37 -0
  7. data/app/packs/src/decidim/admin/draggable-table.js +34 -16
  8. data/app/packs/src/decidim/admin/sort_list.component.js +3 -2
  9. data/config/locales/ar.yml +4 -11
  10. data/config/locales/bg.yml +5 -21
  11. data/config/locales/bs-BA.yml +14 -1
  12. data/config/locales/ca-IT.yml +14 -11
  13. data/config/locales/ca.yml +14 -11
  14. data/config/locales/cs.yml +18 -12
  15. data/config/locales/de.yml +12 -9
  16. data/config/locales/el.yml +4 -14
  17. data/config/locales/en.yml +9 -6
  18. data/config/locales/eo.yml +4 -0
  19. data/config/locales/es-MX.yml +13 -10
  20. data/config/locales/es-PY.yml +13 -10
  21. data/config/locales/es.yml +14 -11
  22. data/config/locales/eu.yml +17 -14
  23. data/config/locales/fi-plain.yml +9 -6
  24. data/config/locales/fi.yml +8 -5
  25. data/config/locales/fr-CA.yml +17 -14
  26. data/config/locales/fr.yml +17 -14
  27. data/config/locales/ga-IE.yml +7 -10
  28. data/config/locales/gl.yml +7 -10
  29. data/config/locales/he-IL.yml +9 -1
  30. data/config/locales/hu.yml +6 -23
  31. data/config/locales/id-ID.yml +7 -0
  32. data/config/locales/is-IS.yml +7 -0
  33. data/config/locales/it.yml +1 -25
  34. data/config/locales/ja.yml +14 -11
  35. data/config/locales/kaa.yml +5 -3
  36. data/config/locales/ko.yml +6 -3
  37. data/config/locales/lb.yml +8 -11
  38. data/config/locales/lt.yml +5 -20
  39. data/config/locales/lv.yml +11 -2
  40. data/config/locales/nl.yml +7 -10
  41. data/config/locales/no.yml +7 -10
  42. data/config/locales/pl.yml +11 -20
  43. data/config/locales/pt-BR.yml +221 -12
  44. data/config/locales/pt.yml +8 -12
  45. data/config/locales/ro-RO.yml +10 -25
  46. data/config/locales/ru.yml +12 -2
  47. data/config/locales/sk.yml +11 -2
  48. data/config/locales/sl.yml +4 -0
  49. data/config/locales/sq-AL.yml +8 -9
  50. data/config/locales/sr-CS.yml +14 -1
  51. data/config/locales/sv.yml +10 -19
  52. data/config/locales/th-TH.yml +5 -1
  53. data/config/locales/tr-TR.yml +109 -19
  54. data/config/locales/uk.yml +7 -0
  55. data/config/locales/zh-CN.yml +11 -1
  56. data/config/locales/zh-TW.yml +4 -19
  57. data/lib/decidim/admin/test/admin_participatory_space_access_examples.rb +18 -0
  58. data/lib/decidim/admin/test/filters_participatory_space_users_examples.rb +1 -1
  59. data/lib/decidim/admin/version.rb +1 -1
  60. metadata +9 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1a18821f267957557f668de950f6b69c0ccb296745f6496515a640b0241a24fc
4
- data.tar.gz: ea1d40254eaa5fc9e4206dbb5dd55b4594a5991496f5b2ab453f1f202f243649
3
+ metadata.gz: d110ef43c233b77200f138b72584896463dee1813b906685e4637c88637b3a54
4
+ data.tar.gz: 641c6aef13e321e1a02366baa60b066487dfd13fe4211a31bc9e587dc3fa2c02
5
5
  SHA512:
6
- metadata.gz: abc44471ea4fc4fd90c1a1104245a66388e44bd97d23904bf0b2078601c3312dc5bd5d0a3d87279695d6bcdd829797076f020bee0e1800bbf7298c5d3b4e1fc1
7
- data.tar.gz: 1e8567d9f8d8f4f3ddcda49964c7cdb8868df8f90f1c3ba9831e9d0d98abe0ef4ee0e8fe9e4a03caacccff0a46c0cff1d7b78faf487dfb0efb543cbe925fee7d
6
+ metadata.gz: 3faf5780e1e72ca596c93b0fb90d234505bdb2fe5bb8f676d6ba4c6b024099a6acd7bc93f02e8f961a26c096447c57d57f405c3acb2001c03beaef2373fb1a21
7
+ data.tar.gz: 4ca230542c3add54929384084bf0201f24b155820f323110178b291edc729d6afe9689b081fe398ec4cf5951c26617c8c2b37cf36bcf7e762b54a9f4c7a5e7fd
@@ -13,6 +13,16 @@ module Decidim
13
13
  }
14
14
  }
15
15
  end
16
+
17
+ def run_after_hooks
18
+ return unless resource.privatable_to.respond_to?(:private_space?)
19
+ return unless resource.privatable_to.private_space?
20
+ return if resource.privatable_to.respond_to?(:is_transparent) && resource.privatable_to.is_transparent?
21
+
22
+ # When private user is destroyed, a hook to destroy the follows of user on private non-transparent assembly
23
+ # or private participatory process and the follows of their children
24
+ DestroyPrivateUsersFollowsJob.perform_later(resource.decidim_user_id, resource.privatable_to)
25
+ end
16
26
  end
17
27
  end
18
28
  end
@@ -19,6 +19,7 @@ module Decidim
19
19
  def call
20
20
  publish_component
21
21
  publish_event unless component.previously_published?
22
+ component.manifest.run_hooks(:publish, component)
22
23
 
23
24
  broadcast(:ok)
24
25
  end
@@ -18,6 +18,7 @@ module Decidim
18
18
  # Broadcasts :ok if unpublished, :invalid otherwise.
19
19
  def call
20
20
  unpublish_component
21
+ component.manifest.run_hooks(:unpublish, component)
21
22
 
22
23
  broadcast(:ok)
23
24
  end
@@ -19,7 +19,7 @@ module Decidim
19
19
  when User
20
20
  content_tag :li do
21
21
  link_to current_or_new_conversation_path_with(author), target: "_blank", rel: "noopener" do
22
- "#{author.name} #{icon "mail-send-line"}".html_safe
22
+ "#{author.presenter.name} #{icon "mail-send-line"}".html_safe
23
23
  end
24
24
  end
25
25
  when Decidim::Meetings::Meeting
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Admin
5
+ class DestroyPrivateUsersFollowsJob < ApplicationJob
6
+ queue_as :default
7
+
8
+ def perform(decidim_user_id, space)
9
+ return unless space.respond_to?(:private_space?)
10
+
11
+ return unless space.private_space?
12
+
13
+ return if space.respond_to?(:is_transparent) && space.is_transparent?
14
+
15
+ user = Decidim::User.find_by(id: decidim_user_id)
16
+
17
+ return if user.blank?
18
+
19
+ return if space.respond_to?(:can_participate?) && space.can_participate?(user)
20
+
21
+ follows = Decidim::Follow.where(user: user)
22
+ follows.where(followable: space).destroy_all
23
+
24
+ destroy_children_follows(follows, space)
25
+ end
26
+
27
+ def destroy_children_follows(follows, space)
28
+ follows.map do |follow|
29
+ object = follow.followable.presence
30
+ next unless object.respond_to?(:decidim_component_id)
31
+
32
+ follow.destroy if space.component_ids.include?(object.decidim_component_id)
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -4,30 +4,48 @@ import createSortList from "src/decidim/admin/sort_list.component"
4
4
  * Draggable table
5
5
  *
6
6
  * This script is used to make a table draggable.
7
- * It works with two data attributes:
7
+ * It works with the following data attributes:
8
8
  *
9
9
  * - data-draggable-table: The table that will be draggable.
10
10
  * - data-sort-url: The URL where the order will be sent.
11
+ * - data-draggable-handle: (optional) CSS selector for the drag handle element.
12
+ * When specified, dragging can only be initiated from this element.
13
+ * - data-draggable-placeholder: (optional) HTML for the placeholder element.
11
14
  */
12
15
  document.addEventListener("turbo:load", () => {
13
- createSortList("[data-draggable-table]", {
14
- onSortUpdate: ($children) => {
15
- const children = $children.toArray();
16
+ document.querySelectorAll("[data-draggable-table]").forEach((container) => {
17
+ const options = {
18
+ forcePlaceholderSize: true,
19
+ onSortUpdate: ($children) => {
20
+ const children = $children.toArray();
16
21
 
17
- if (children.length === 0) {
18
- return;
19
- }
22
+ if (children.length === 0) {
23
+ return;
24
+ }
25
+
26
+ const parent = children[0].parentNode;
27
+ const sortUrl = parent.dataset.sortUrl;
28
+ const order = children.map((child) => child.dataset.recordId);
20
29
 
21
- const parent = children[0].parentNode;
22
- const sortUrl = parent.dataset.sortUrl;
23
- const order = children.map((child) => child.dataset.recordId);
30
+ if (sortUrl && sortUrl !== "#") {
31
+ $.ajax({
32
+ method: "PUT",
33
+ url: sortUrl,
34
+ contentType: "application/json",
35
+ data: JSON.stringify({ order_ids: order }) // eslint-disable-line camelcase
36
+ });
37
+ }
38
+ }
39
+ };
24
40
 
25
- $.ajax({
26
- method: "PUT",
27
- url: sortUrl,
28
- contentType: "application/json",
29
- data: JSON.stringify({ order_ids: order }) // eslint-disable-line camelcase
30
- });
41
+ // Read optional configuration from data attributes
42
+ if (container.dataset.draggableHandle) {
43
+ options.handle = container.dataset.draggableHandle;
31
44
  }
45
+ if (container.dataset.draggablePlaceholder) {
46
+ options.placeholder = container.dataset.draggablePlaceholder;
47
+ }
48
+
49
+ createSortList(container, options);
32
50
  });
33
51
  })
@@ -6,7 +6,7 @@ class SortListComponent {
6
6
  /**
7
7
  * Creates a sortable list using hmtl5sortable function.
8
8
  *
9
- * @param {String} sortListSelector The list selector that has to be sortable.
9
+ * @param {String|HTMLElement} sortListSelector The list selector or element that has to be sortable.
10
10
  * @param {Object} options An object containing the same options as html5sortable. It also includes
11
11
  * an extra option `onSortUpdate`, a callback which returns the children collection
12
12
  * whenever the list order has been changed.
@@ -14,7 +14,8 @@ class SortListComponent {
14
14
  * @returns {void} Nothing.
15
15
  */
16
16
  constructor(sortListSelector, options) {
17
- if ($(sortListSelector).length > 0) {
17
+ const $element = $(sortListSelector);
18
+ if ($element.length > 0) {
18
19
  sortable(sortListSelector, options)[0].addEventListener("sortupdate", (event) => {
19
20
  const $children = $(event.target).children();
20
21
 
@@ -36,7 +36,6 @@ ar:
36
36
  id: المعرف ID
37
37
  newsletter:
38
38
  body: النص
39
- send_to_all_users: إرسال إلى كافة المستخدمين
40
39
  send_to_followers: إرسال إلى المتابِعين
41
40
  send_to_participants: إرسال إلى المشتركين
42
41
  subject: الموضوع
@@ -93,7 +92,7 @@ ar:
93
92
  youtube_handler: مُعرّف حساب يوتيوب
94
93
  participatory_space_private_user:
95
94
  email: البريد الإلكتروني
96
- name: الإسم
95
+ name: الاسم
97
96
  participatory_space_private_user_csv_import:
98
97
  file: ملف
99
98
  scope:
@@ -345,16 +344,9 @@ ar:
345
344
  'false': Officialized
346
345
  'true': غير رسمي
347
346
  participatory_space_private_users:
348
- user_invitation_accepted_at_not_null:
349
- label: تم قبول الدعوة
350
- values:
351
- 'false': لم يتم القبول
352
- 'true': تم قبوله
353
347
  user_invitation_sent_at_not_null:
354
- label: تم إرسال الدعوة
355
348
  values:
356
- 'false': لم يتم الارسال
357
- 'true': تم الإرسال
349
+ 'false': غير مرسَلة
358
350
  private_space_eq:
359
351
  label: خاص
360
352
  values:
@@ -666,6 +658,8 @@ ar:
666
658
  destroy:
667
659
  error: حدثت مشكلة في حذف مشارك خاص لهذه المساحة التشاركية.
668
660
  success: المشاركة الفضاء الفضاء وصول المشاركين دمرت بنجاح.
661
+ edit:
662
+ update: تحديث
669
663
  index:
670
664
  title: المشاركة الفضاء المشارك الخاص
671
665
  new:
@@ -680,7 +674,6 @@ ar:
680
674
  empty: ليس لديك أي مشاركين خاصين.
681
675
  explanation: لديك %{count} مشاركين خاصين.
682
676
  title: حذف جميع المشاركين الخاصين
683
- upload: حمّل
684
677
  reminders:
685
678
  new:
686
679
  submit: إرسال
@@ -36,7 +36,6 @@ bg:
36
36
  id: ID
37
37
  newsletter:
38
38
  body: Тяло
39
- send_to_all_users: Изпращане до всички потребители
40
39
  send_to_followers: Изпращане до последователите
41
40
  send_to_participants: Изпращане до участниците
42
41
  subject: Тема
@@ -94,6 +93,8 @@ bg:
94
93
  participatory_space_private_user:
95
94
  email: Имейл
96
95
  name: Име
96
+ participatory_space_private_user_csv_import:
97
+ file: Файл
97
98
  scope:
98
99
  code: Код
99
100
  name: Име
@@ -271,7 +272,6 @@ bg:
271
272
  block_user:
272
273
  new:
273
274
  action: Блокирайте акаунта и изпратете обосновка
274
- already_reported_html: Продължавайки с това действие, вие също ще скриете съдържанието за всички участници.
275
275
  description: Блокирането на потребител ще направи акаунта му неизползваем. Можете да предоставите във вашата обосновка всякакви насоки относно начините, по които бихте обмислили деблокирането на потребителя.
276
276
  justification: Обосновка
277
277
  title: Блокиране на потребител %{name}
@@ -361,7 +361,6 @@ bg:
361
361
  form:
362
362
  domain_too_short: Домейнът е твърде кратък
363
363
  update:
364
- error: Неуспешно актуализиране на списъка с разрешени външни домейни
365
364
  success: Списъкът с разрешени външни домейни е актуализиран успешно.
366
365
  exports:
367
366
  export_as: "%{name} като %{export_format}"
@@ -399,16 +398,9 @@ bg:
399
398
  'false': Официализирано
400
399
  'true': Неофициализирано
401
400
  participatory_space_private_users:
402
- user_invitation_accepted_at_not_null:
403
- label: Поканата е приета
404
- values:
405
- 'false': Не се приема
406
- 'true': Прието
407
401
  user_invitation_sent_at_not_null:
408
- label: Поканата е изпратена
409
402
  values:
410
403
  'false': Не е изпратено
411
- 'true': Изпратено
412
404
  private_space_eq:
413
405
  label: Частни
414
406
  values:
@@ -712,6 +704,7 @@ bg:
712
704
  participants_help: Изпраща бюлетина до всички потвърдени потребители, които са участвали в някое от избраните пространства за участие в списъка.
713
705
  recipients_count: Този бюлетин ще бъде изпратен на <strong id='recipients_count'>%{count}</strong> потребители.
714
706
  select_spaces: Изберете пространства, за да сегментирате бюлетина
707
+ send_to_all_users: Изпращане до всички потребители
715
708
  title: Изберете получатели, на които да бъде изпратено
716
709
  warning: "<strong>Внимание:</strong> Този бюлетин ще бъде изпратен само на потребители, които са включили <em>Искам да получавам бюлетини</em> в настройките си за известия."
717
710
  send:
@@ -794,16 +787,14 @@ bg:
794
787
  destroy:
795
788
  error: Възникна проблем при изтриването на частен участник за това пространство за участие.
796
789
  success: Достъпът на частния участник до пространството за участие беше премахнат успешно.
790
+ edit:
791
+ update: Актуализация
797
792
  index:
798
- import_via_csv: Импортиране чрез CSV
799
793
  title: Пространство за участие на частен участник
800
794
  new:
801
795
  create: Създаване
802
796
  title: Ново пространство за участие на частен участник.
803
797
  participatory_space_private_users_csv_imports:
804
- create:
805
- invalid: Възникна проблем при четенето на CSV файла. Моля, уверете се, че сте следвали инструкциите.
806
- success: Файлът във формат CSV беше качен успешно; изпращаме имейл с покана на участниците. Това може да отнеме известно време.
807
798
  new:
808
799
  csv_upload:
809
800
  title: Качете своя CSV файл
@@ -813,13 +804,7 @@ bg:
813
804
  empty: Нямате частни участници.
814
805
  explanation: Имате %{count} частни участници.
815
806
  title: Изтрийте частни участници
816
- example_file: 'Примерен файл:'
817
- explanation: Качете своя файл във формат CSV. Трябва да съдържа две колони — електронната поща в първата колона и името в последната колона от файла (електронна поща, име) — за потребителите, които искате да добавите в пространството за участие, без заглавки.
818
- explanation_example: |
819
- john.doe@example.org%{csv_col_sep}John Doe
820
- jane.doe@example.org%{csv_col_sep}Jane Doe
821
807
  title: Импортирайте частни участници чрез CSV
822
- upload: Качване
823
808
  reminders:
824
809
  create:
825
810
  error: Възникна проблем при създаването на напомняния.
@@ -986,7 +971,6 @@ bg:
986
971
  last_day: Предният ден
987
972
  last_month: Миналия месец
988
973
  last_week: Последната седмица
989
- no_users_count_statistics_yet: Все още няма статистика за броя на потребителите.
990
974
  participants: Участници
991
975
  forms:
992
976
  errors:
@@ -59,6 +59,11 @@ bs:
59
59
  welcome_notification_body: Glavni tekst obaveštenja dobrodošlice
60
60
  welcome_notification_subject: Naslov obaveštenja dobrodošlice
61
61
  youtube_handler: Administrator YouTube-a
62
+ participatory_space_private_user:
63
+ email: E-pošta
64
+ name: Ime
65
+ participatory_space_private_user_csv_import:
66
+ file: Fajl
62
67
  scope:
63
68
  code: Kod
64
69
  name: Ime
@@ -217,6 +222,10 @@ bs:
217
222
  values:
218
223
  'false': Službeno
219
224
  'true': Neslužbeno
225
+ participatory_space_private_users:
226
+ user_invitation_sent_at_not_null:
227
+ values:
228
+ 'false': Nije poslato
220
229
  private_space_eq:
221
230
  label: Privatno
222
231
  values:
@@ -399,7 +408,6 @@ bs:
399
408
  participants_help: Pošalji bilten svim potvrđenim učesnicima koji su učestvovali u bilo kojem od odabranih prostora za učešće sa liste.
400
409
  recipients_count: Ovaj bilten biće dostavljen %{count} korisnicima.
401
410
  select_spaces: Izaberite prostore da podelite bilten
402
- send_to_all_users: Pošalji svim korisnicima
403
411
  title: Izaberi primaoce za dostavu
404
412
  warning: "Pažnja: Ovaj bilten će biti poslan samo korisnicima koji su aktivirali Želim da dobijam biltene u svojim podešavanjima obaveštenja."
405
413
  show:
@@ -445,6 +453,11 @@ bs:
445
453
  update:
446
454
  error: Pojavio se problem pri ažuriranju ove organizacije.
447
455
  success: Organizacija je uspešno ažurirana.
456
+ participatory_space_private_users:
457
+ edit:
458
+ update: Ažuriraj
459
+ new:
460
+ create: Stvori
448
461
  shared:
449
462
  gallery:
450
463
  add_images: Dodaj slike
@@ -36,7 +36,7 @@ ca-IT:
36
36
  id: ID
37
37
  newsletter:
38
38
  body: Cos
39
- send_to_all_users: Envia a totes les usuàries
39
+ send_to_all_users: Envia a totes les participants
40
40
  send_to_followers: Envia a totes les seguidores
41
41
  send_to_participants: Envia a les participants
42
42
  subject: Assumpte
@@ -126,6 +126,9 @@ ca-IT:
126
126
  show_in_footer: Mostra al peu de pàgina
127
127
  title: Títol
128
128
  weight: Ordre de posició
129
+ taxonomy:
130
+ item_name: Nom de l'element
131
+ parent_id: Taxonomia mare
129
132
  user_group_csv_verification:
130
133
  file: Fitxer
131
134
  errors:
@@ -300,7 +303,7 @@ ca-IT:
300
303
  title: Bloquejar usuàries
301
304
  new:
302
305
  action: Bloquejar compte i enviar justificació
303
- already_reported_html: Si segueixes amb aquesta acció, amagaràs tots els continguts de la participant.
306
+ already_reported_html: Si segueixes amb aquesta acció, amagaràs tots els continguts de les participants.
304
307
  description: El bloqueig d'una usuària deixarà el seu compte inutilitzable. Pots proporcionar en la teva justificació els criteris sota els quals consideraries desbloquejar-la.
305
308
  justification: Justificació
306
309
  title: Bloquejar a la usuària %{name}
@@ -317,7 +320,7 @@ ca-IT:
317
320
  success: El component s'ha creat correctament.
318
321
  success_landing_page: Component creat amb èxit. Pots afegir un bloc de contingut per aquest component a la pàgina d'inici de l'espai de participació. <a href="%{landing_page_path}">Vés a la pàgina d'inici</a> per a configurar-la.
319
322
  edit:
320
- title: Edita el component
323
+ title: Configura el component
321
324
  update: Actualitzar
322
325
  form:
323
326
  default_step_settings: Configuració per defecte
@@ -394,7 +397,7 @@ ca-IT:
394
397
  form:
395
398
  domain_too_short: El domini és massa curt
396
399
  update:
397
- error: S'ha produït un error en actualitzar el llistat de domininis externs permesos
400
+ error: S'ha produït un error en actualitzar el llistat de dominis externs permesos.
398
401
  success: El llistat de dominis externs permesos s'ha actualitzat correctament.
399
402
  exports:
400
403
  export_as: "%{name} com a %{export_format}"
@@ -438,9 +441,9 @@ ca-IT:
438
441
  'false': No acceptada
439
442
  'true': Acceptada
440
443
  user_invitation_sent_at_not_null:
441
- label: S'ha enviat la invitació
444
+ label: Invitació enviada
442
445
  values:
443
- 'false': No enviada
446
+ 'false': No enviat
444
447
  'true': Enviada
445
448
  private_space_eq:
446
449
  label: Privat
@@ -810,7 +813,7 @@ ca-IT:
810
813
  select_users_for_participatory_space: Enviar el butlletí informatiu a un o més espais de participació
811
814
  select_users_general: Enviar un butlletí general
812
815
  select_verification_types: Seleccionar mètodes de verificació
813
- send_to_all_users: Envia a totes les participants
816
+ send_to_all_users: Envia a totes les usuàries
814
817
  send_to_verified_users: Enviar a usuàries verificades
815
818
  title: Selecciona les destinatàries a lliurar
816
819
  verified_users_help: Envia un butlletí informatiu a tots els usuaris confirmats i verificats amb qualsevol dels mètodes de verificació seleccionats.
@@ -928,9 +931,9 @@ ca-IT:
928
931
  update: Actualitzar
929
932
  index:
930
933
  import_via_csv: Importar des de CSV
931
- publish_all: Publicar tot
934
+ publish_all: Publicar totes
932
935
  title: Participant de l'espai participatiu privat
933
- unpublish_all: Despublicar tot
936
+ unpublish_all: Despublicar totes
934
937
  new:
935
938
  create: Crear
936
939
  title: Nova participant de l'espai privat.
@@ -962,7 +965,7 @@ ca-IT:
962
965
  john.doe@example.org%{csv_col_sep}John Doe
963
966
  jane.doe@example.org%{csv_col_sep}Jane Doe
964
967
  title: Importar participant privades via CSV
965
- upload: Carrega
968
+ upload: Carregar
966
969
  reminders:
967
970
  create:
968
971
  error: Hi ha hagut un problema en crear els recordatoris.
@@ -1271,7 +1274,7 @@ ca-IT:
1271
1274
  last_day: El darrer dia
1272
1275
  last_month: El darrer mes
1273
1276
  last_week: La darrera setmana
1274
- no_users_count_statistics_yet: Encara no hi ha estadístiques de recompte d’usuàries.
1277
+ no_users_count_statistics_yet: Encara no hi ha estadístiques de recompte de participants.
1275
1278
  participants: Participants
1276
1279
  forms:
1277
1280
  errors:
@@ -36,7 +36,7 @@ ca:
36
36
  id: ID
37
37
  newsletter:
38
38
  body: Cos
39
- send_to_all_users: Envia a totes les usuàries
39
+ send_to_all_users: Envia a totes les participants
40
40
  send_to_followers: Envia a totes les seguidores
41
41
  send_to_participants: Envia a les participants
42
42
  subject: Assumpte
@@ -126,6 +126,9 @@ ca:
126
126
  show_in_footer: Mostra al peu de pàgina
127
127
  title: Títol
128
128
  weight: Ordre de posició
129
+ taxonomy:
130
+ item_name: Nom de l'element
131
+ parent_id: Taxonomia mare
129
132
  user_group_csv_verification:
130
133
  file: Fitxer
131
134
  errors:
@@ -300,7 +303,7 @@ ca:
300
303
  title: Bloquejar usuàries
301
304
  new:
302
305
  action: Bloquejar compte i enviar justificació
303
- already_reported_html: Si segueixes amb aquesta acció, amagaràs tots els continguts de la participant.
306
+ already_reported_html: Si segueixes amb aquesta acció, amagaràs tots els continguts de les participants.
304
307
  description: El bloqueig d'una usuària deixarà el seu compte inutilitzable. Pots proporcionar en la teva justificació els criteris sota els quals consideraries desbloquejar-la.
305
308
  justification: Justificació
306
309
  title: Bloquejar a la usuària %{name}
@@ -317,7 +320,7 @@ ca:
317
320
  success: El component s'ha creat correctament.
318
321
  success_landing_page: Component creat amb èxit. Pots afegir un bloc de contingut per aquest component a la pàgina d'inici de l'espai de participació. <a href="%{landing_page_path}">Vés a la pàgina d'inici</a> per a configurar-la.
319
322
  edit:
320
- title: Edita el component
323
+ title: Configura el component
321
324
  update: Actualitzar
322
325
  form:
323
326
  default_step_settings: Configuració per defecte
@@ -394,7 +397,7 @@ ca:
394
397
  form:
395
398
  domain_too_short: El domini és massa curt
396
399
  update:
397
- error: S'ha produït un error en actualitzar el llistat de domininis externs permesos
400
+ error: S'ha produït un error en actualitzar el llistat de dominis externs permesos.
398
401
  success: El llistat de dominis externs permesos s'ha actualitzat correctament.
399
402
  exports:
400
403
  export_as: "%{name} com a %{export_format}"
@@ -438,9 +441,9 @@ ca:
438
441
  'false': No acceptada
439
442
  'true': Acceptada
440
443
  user_invitation_sent_at_not_null:
441
- label: S'ha enviat la invitació
444
+ label: Invitació enviada
442
445
  values:
443
- 'false': No enviada
446
+ 'false': No enviat
444
447
  'true': Enviada
445
448
  private_space_eq:
446
449
  label: Privat
@@ -810,7 +813,7 @@ ca:
810
813
  select_users_for_participatory_space: Enviar el butlletí informatiu a un o més espais de participació
811
814
  select_users_general: Enviar un butlletí general
812
815
  select_verification_types: Seleccionar mètodes de verificació
813
- send_to_all_users: Envia a totes les participants
816
+ send_to_all_users: Envia a totes les usuàries
814
817
  send_to_verified_users: Enviar a usuàries verificades
815
818
  title: Selecciona les destinatàries a lliurar
816
819
  verified_users_help: Envia un butlletí informatiu a tots els usuaris confirmats i verificats amb qualsevol dels mètodes de verificació seleccionats.
@@ -928,9 +931,9 @@ ca:
928
931
  update: Actualitzar
929
932
  index:
930
933
  import_via_csv: Importar des de CSV
931
- publish_all: Publicar tot
934
+ publish_all: Publicar totes
932
935
  title: Participant de l'espai participatiu privat
933
- unpublish_all: Despublicar tot
936
+ unpublish_all: Despublicar totes
934
937
  new:
935
938
  create: Crear
936
939
  title: Nova participant de l'espai privat.
@@ -962,7 +965,7 @@ ca:
962
965
  john.doe@example.org%{csv_col_sep}John Doe
963
966
  jane.doe@example.org%{csv_col_sep}Jane Doe
964
967
  title: Importar participant privades via CSV
965
- upload: Carrega
968
+ upload: Carregar
966
969
  reminders:
967
970
  create:
968
971
  error: Hi ha hagut un problema en crear els recordatoris.
@@ -1271,7 +1274,7 @@ ca:
1271
1274
  last_day: El darrer dia
1272
1275
  last_month: El darrer mes
1273
1276
  last_week: La darrera setmana
1274
- no_users_count_statistics_yet: Encara no hi ha estadístiques de recompte d’usuàries.
1277
+ no_users_count_statistics_yet: Encara no hi ha estadístiques de recompte de participants.
1275
1278
  participants: Participants
1276
1279
  forms:
1277
1280
  errors: