decidim-blogs 0.29.1 → 0.30.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/blogs/content_blocks/highlighted_posts_cell.rb +0 -3
  3. data/app/commands/decidim/blogs/create_post.rb +35 -0
  4. data/app/commands/decidim/blogs/update_post.rb +21 -0
  5. data/app/controllers/decidim/blogs/admin/posts_controller.rb +12 -9
  6. data/app/controllers/decidim/blogs/posts_controller.rb +61 -1
  7. data/app/forms/decidim/blogs/admin/post_form.rb +1 -1
  8. data/app/forms/decidim/blogs/post_form.rb +52 -0
  9. data/app/helpers/decidim/blogs/posts_helper.rb +5 -0
  10. data/app/helpers/decidim/blogs/posts_select_helper.rb +32 -0
  11. data/app/models/decidim/blogs/post.rb +2 -1
  12. data/app/packs/stylesheets/blogs.scss +0 -20
  13. data/app/permissions/decidim/blog/permissions.rb +85 -2
  14. data/app/presenters/decidim/blogs/admin_log/post_presenter.rb +1 -1
  15. data/app/presenters/decidim/blogs/post_presenter.rb +25 -1
  16. data/app/views/decidim/blogs/admin/posts/_actions.html.erb +21 -0
  17. data/app/views/decidim/blogs/admin/posts/_post-tr.html.erb +25 -0
  18. data/app/views/decidim/blogs/admin/posts/_posts-thead.html.erb +9 -0
  19. data/app/views/decidim/blogs/admin/posts/index.html.erb +16 -55
  20. data/app/views/decidim/blogs/admin/posts/manage_trash.html.erb +20 -0
  21. data/app/views/decidim/blogs/posts/_actions.html.erb +7 -14
  22. data/app/views/decidim/blogs/posts/_form.html.erb +11 -0
  23. data/app/views/decidim/blogs/posts/_menu_actions.html.erb +21 -0
  24. data/app/views/decidim/blogs/posts/_schema_org_blog_posting_post.html.erb +3 -0
  25. data/app/views/decidim/blogs/posts/edit.html.erb +21 -0
  26. data/app/views/decidim/blogs/posts/index.html.erb +16 -1
  27. data/app/views/decidim/blogs/posts/new.html.erb +21 -0
  28. data/app/views/decidim/blogs/posts/show.html.erb +15 -6
  29. data/config/locales/ar.yml +3 -2
  30. data/config/locales/bg.yml +0 -4
  31. data/config/locales/bn-BD.yml +1 -0
  32. data/config/locales/bs-BA.yml +9 -0
  33. data/config/locales/ca.yml +58 -3
  34. data/config/locales/cs.yml +39 -4
  35. data/config/locales/de.yml +58 -3
  36. data/config/locales/el.yml +0 -4
  37. data/config/locales/en.yml +58 -3
  38. data/config/locales/es-MX.yml +58 -3
  39. data/config/locales/es-PY.yml +58 -3
  40. data/config/locales/es.yml +58 -3
  41. data/config/locales/eu.yml +64 -9
  42. data/config/locales/fi-plain.yml +39 -4
  43. data/config/locales/fi.yml +39 -4
  44. data/config/locales/fr-CA.yml +32 -2
  45. data/config/locales/fr.yml +32 -2
  46. data/config/locales/ga-IE.yml +0 -1
  47. data/config/locales/gl.yml +0 -2
  48. data/config/locales/hu.yml +0 -4
  49. data/config/locales/id-ID.yml +0 -2
  50. data/config/locales/is-IS.yml +0 -2
  51. data/config/locales/it.yml +0 -2
  52. data/config/locales/ja.yml +57 -2
  53. data/config/locales/kaa.yml +0 -1
  54. data/config/locales/ko.yml +0 -3
  55. data/config/locales/lb.yml +0 -2
  56. data/config/locales/lt.yml +0 -4
  57. data/config/locales/lv.yml +0 -2
  58. data/config/locales/nl.yml +0 -2
  59. data/config/locales/no.yml +0 -2
  60. data/config/locales/pl.yml +0 -4
  61. data/config/locales/pt-BR.yml +0 -4
  62. data/config/locales/pt.yml +0 -2
  63. data/config/locales/ro-RO.yml +20 -2
  64. data/config/locales/ru.yml +0 -4
  65. data/config/locales/sk.yml +0 -2
  66. data/config/locales/sl.yml +0 -5
  67. data/config/locales/sq-AL.yml +0 -4
  68. data/config/locales/sv.yml +58 -3
  69. data/config/locales/tr-TR.yml +0 -2
  70. data/config/locales/uk.yml +0 -2
  71. data/config/locales/zh-CN.yml +0 -2
  72. data/config/locales/zh-TW.yml +0 -4
  73. data/db/migrate/20200827153709_add_commentable_counter_cache_to_posts.rb +1 -1
  74. data/db/migrate/20210310120514_add_followable_counter_cache_to_blogs.rb +1 -1
  75. data/db/migrate/20240828103324_add_deleted_at_to_decidim_blogs_posts.rb +8 -0
  76. data/decidim-blogs.gemspec +2 -2
  77. data/lib/decidim/api/blogs_type.rb +5 -8
  78. data/lib/decidim/api/post_type.rb +15 -2
  79. data/lib/decidim/blogs/admin_engine.rb +7 -1
  80. data/lib/decidim/blogs/component.rb +27 -0
  81. data/lib/decidim/blogs/engine.rb +1 -1
  82. data/lib/decidim/blogs/post_serializer.rb +70 -0
  83. data/lib/decidim/blogs/schema_org_blog_posting_post_serializer.rb +81 -0
  84. data/lib/decidim/blogs/test/factories.rb +16 -1
  85. data/lib/decidim/blogs/version.rb +1 -1
  86. data/lib/decidim/blogs.rb +2 -0
  87. metadata +37 -19
@@ -1,18 +1,11 @@
1
- <div class="blog__actions">
2
- <div class="blog__actions-left">
3
- <% if endorsements_enabled? %>
4
- <%= endorsement_buttons_cell(post) %>
5
- <% end %>
1
+ <section class="layout-main__section layout-main__buttons pt-10" data-buttons>
2
+ <%= cell("decidim/endorsement_block", post) %>
6
3
 
7
- <%= cell "decidim/comments_button", nil %>
8
- </div>
9
-
10
- <div class="blog__actions-right">
11
- <%= follow_button_for(post, false, button_classes: "button button__sm button__text-secondary") %>
4
+ <%= cell "decidim/comments_button", nil %>
12
5
 
13
- <%= cell "decidim/share_button", nil %>
14
- <%= cell "decidim/report_button", post %>
6
+ <div class="ml-auto lg:ml-0">
7
+ <%= cell "decidim/share_widget", post %>
15
8
  </div>
16
- </div>
9
+ </section>
17
10
 
18
- <%= cell "decidim/endorsers_list", post, layout: :full %>
11
+ <%= cell "decidim/endorsers_list", post %>
@@ -0,0 +1,11 @@
1
+ <div>
2
+ <%= fo_post_author_select_field form, :decidim_author_id, label: t(".author_id") %>
3
+ </div>
4
+
5
+ <div>
6
+ <%= form.text_field :title, label: t(".title"), autofocus: true, class: "js-hashtags", hashtaggable: true %>
7
+ </div>
8
+
9
+ <div>
10
+ <%= text_editor_for(form, :body, label: t(".body"), hashtaggable: true, value: translated_attribute(form.object.body)) %>
11
+ </div>
@@ -0,0 +1,21 @@
1
+
2
+ <% if allowed_to?(:update, :blogpost, blogpost: post) %>
3
+ <li role="menuitem">
4
+ <%= link_to edit_post_path(post), class: "button button__sm button__text button__text-secondary" do %>
5
+ <span><%= t("button_edit", scope: "decidim.blogs.posts.menu_actions") %></span>
6
+ <%= icon "pencil-line" %>
7
+ <% end %>
8
+ </li>
9
+ <% end %>
10
+
11
+ <% if allowed_to?(:destroy, :blogpost, blogpost: post) %>
12
+ <li role="menuitem">
13
+ <%= link_to post_path(post),
14
+ method: :delete,
15
+ class: "button button__sm button__text button__text-secondary",
16
+ data: { confirm: t("button_destroy_confirm", scope: "decidim.blogs.posts.menu_actions") } do %>
17
+ <span><%= t("button_destroy", scope: "decidim.blogs.posts.menu_actions") %></span>
18
+ <%= icon "delete-bin-line" %>
19
+ <% end %>
20
+ </li>
21
+ <% end %>
@@ -0,0 +1,3 @@
1
+ <script type="application/ld+json">
2
+ <%== render_schema_org_blog_posting_post(post) %>
3
+ </script>
@@ -0,0 +1,21 @@
1
+ <%= render layout: "layouts/decidim/shared/layout_center" do %>
2
+ <div class="text-center py-10">
3
+ <h1 class="title-decorator inline-block text-left">
4
+ <%= t("title", scope: "decidim.blogs.posts.edit") %>
5
+ </h1>
6
+ </div>
7
+
8
+ <%= decidim_form_for(@form, html: { class: "form edit_post" }) do |f| %>
9
+ <div class="form__wrapper">
10
+ <%= render partial: "form", object: f %>
11
+ </div>
12
+
13
+ <div class="form__wrapper-block flex-col-reverse md:flex-row justify-between">
14
+ <%= link_to :back, class: "button button__sm md:button__lg button__text-secondary" do %>
15
+ <%= icon "arrow-left-line" %>
16
+ <%= t("back", scope: "decidim.blogs.posts.edit") %>
17
+ <% end %>
18
+ <%= f.submit t("button", scope: "decidim.blogs.posts.edit"), class: "button button__sm md:button__lg button__secondary", data: { disable: true } %>
19
+ </div>
20
+ <% end %>
21
+ <% end %>
@@ -1,9 +1,24 @@
1
- <% add_decidim_page_title component_name %>
1
+ <% add_decidim_meta_tags(
2
+ description: translated_attribute(current_component.participatory_space.try(:description)),
3
+ title: t("decidim.components.pagination.page_title",
4
+ component_name: component_name,
5
+ current_page: paginate_posts.current_page,
6
+ total_pages: paginate_posts.total_pages ),
7
+ url: posts_url,
8
+ resource: current_component) %>
9
+
2
10
  <%= append_javascript_pack_tag "decidim_blogs" %>
3
11
  <%= append_stylesheet_pack_tag "decidim_blogs" %>
4
12
 
5
13
  <% content_for :aside do %>
6
14
  <h1 class="title-decorator"><%= component_name %></h1>
15
+
16
+ <% if allowed_to?(:create, :blogpost) %>
17
+ <%= action_authorized_link_to :create, new_post_path, permissions_holder: current_component, class: "button button__xl button__secondary w-full", data: { "redirect_url" => new_post_path } do %>
18
+ <span><%= t("new_post", scope: "decidim.blogs.posts.index") %></span>
19
+ <%= icon "add-line" %>
20
+ <% end %>
21
+ <% end %>
7
22
  <% end %>
8
23
 
9
24
  <%= render layout: "layouts/decidim/shared/layout_two_col" do %>
@@ -0,0 +1,21 @@
1
+ <%= render layout: "layouts/decidim/shared/layout_center" do %>
2
+ <div class="text-center py-10">
3
+ <h1 class="title-decorator inline-block text-left">
4
+ <%= t("title", scope: "decidim.blogs.posts.new") %>
5
+ </h1>
6
+ </div>
7
+
8
+ <%= decidim_form_for(@form, html: { class: "form form-defaults new_post" }) do |f| %>
9
+ <div class="form__wrapper">
10
+ <%= render partial: "form", object: f %>
11
+ </div>
12
+
13
+ <div class="form__wrapper-block flex-col-reverse md:flex-row justify-between">
14
+ <%= link_to :back, class: "button button__sm md:button__lg button__text-secondary" do %>
15
+ <%= icon "arrow-left-line" %>
16
+ <%= t("back", scope: "decidim.blogs.posts.new") %>
17
+ <% end %>
18
+ <%= f.submit t("button", scope: "decidim.blogs.posts.new"), class: "button button__sm md:button__lg button__secondary", data: { disable: true } %>
19
+ </div>
20
+ <% end %>
21
+ <% end %>
@@ -1,10 +1,10 @@
1
1
  <% provide(:title, translated_attribute(post.title)) %>
2
2
 
3
- <% add_decidim_meta_tags({
4
- title: translated_attribute(post.title),
5
- description: translated_attribute(post.body),
6
- url: post_url(post.id)
7
- }) %>
3
+ <% add_decidim_meta_tags(
4
+ title: translated_attribute(post.title),
5
+ description: translated_attribute(post.body),
6
+ url: post_url(post.id),
7
+ resource: post) %>
8
8
 
9
9
  <%
10
10
  edit_link(
@@ -20,6 +20,8 @@
20
20
 
21
21
  <%= render layout: "layouts/decidim/shared/layout_center", locals: { columns: 8 } do %>
22
22
 
23
+ <%= render partial: "schema_org_blog_posting_post" %>
24
+
23
25
  <section class="layout-main__section layout-main__heading">
24
26
  <div class="flex justify-center">
25
27
  <h1 class="title-decorator my-12"><%= translated_attribute post.title %></h1>
@@ -32,7 +34,14 @@
32
34
  <% end %>
33
35
 
34
36
  <div class="layout-author">
35
- <%= cell "decidim/author", post_presenter.author, from: post, context_actions: [:date], layout: :compact %>
37
+ <div class="relative flex items-center justify-center w-full">
38
+ <div class="w-10/12 flex items-center gap-4">
39
+ <%= cell "decidim/author", post_presenter.author, from: post, context_actions: [:date], layout: :compact %>
40
+ </div>
41
+ <%= render "decidim/shared/resource_actions", resource: post do %>
42
+ <%= render "decidim/blogs/posts/menu_actions", post: post %>
43
+ <% end %>
44
+ </div>
36
45
  </div>
37
46
  </section>
38
47
 
@@ -22,8 +22,6 @@ ar:
22
22
  blogs:
23
23
  actions:
24
24
  author_id: إنشاء مشاركة كـ
25
- confirm_destroy: هل أنت متأكد أنك تريد حذف هذه المشاركة؟
26
- destroy: حذف
27
25
  edit: تعديل
28
26
  new: منشور جديد
29
27
  title: أفعال
@@ -44,6 +42,9 @@ ar:
44
42
  create: "%{user_name} أنشأ منشور المدونة %{resource_name} في %{space_name}"
45
43
  delete: "%{user_name} حذف منشور المدونة%{resource_name} من %{space_name}"
46
44
  update: "%{user_name} حدث منشور المدونة %{resource_name} في %{space_name}"
45
+ content_blocks:
46
+ highlighted_posts:
47
+ name: المنشورات
47
48
  last_activity:
48
49
  new_post: 'منشور جديد:'
49
50
  models:
@@ -18,8 +18,6 @@ bg:
18
18
  blogs:
19
19
  actions:
20
20
  author_id: Създаване на публикация като
21
- confirm_destroy: Сигурни ли сте, че желаете да изтриете тази публикация?
22
- destroy: Изтрий
23
21
  edit: Редактирай
24
22
  new: Нова публикация
25
23
  title: Активности
@@ -28,8 +26,6 @@ bg:
28
26
  create:
29
27
  invalid: Възникна проблем при създаването на тази публикация.
30
28
  success: Публикацията беше създадена успешно.
31
- destroy:
32
- success: Публикацията беше изтрита успешно.
33
29
  edit:
34
30
  save: Актуализация
35
31
  title: Редактиране на поста
@@ -0,0 +1 @@
1
+ bn:
@@ -0,0 +1,9 @@
1
+ ---
2
+ bs:
3
+ decidim:
4
+ components:
5
+ blogs:
6
+ settings:
7
+ step:
8
+ endorsements_blocked: Podržavanja su onemogućena
9
+ endorsements_enabled: Podržavanja su omogućena
@@ -15,27 +15,34 @@ ca:
15
15
  one: Publicació
16
16
  other: Publicacions
17
17
  decidim:
18
+ admin:
19
+ admin_log:
20
+ changeset:
21
+ posts: Entrades al blog
18
22
  blogs:
19
23
  actions:
20
24
  author_id: Crear publicació com
21
- confirm_destroy: Segur que vols eliminar aquesta publicació?
22
- destroy: Suprimeix
25
+ confirm_delete_post: Segur que vols eliminar aquesta publicació?
26
+ deleted_posts_info: Els resultats eliminats es poden restaurar des de la paperera.
23
27
  edit: Edita
24
28
  new: Nova publicació
25
29
  title: Accions
30
+ view_deleted_posts: Veure les publicacions eliminades
26
31
  admin:
27
32
  posts:
28
33
  create:
29
34
  invalid: S'ha produït un error en crear aquesta publicació.
30
35
  success: Publicació creada correctament.
31
36
  destroy:
32
- success: La publicació s'ha eliminat correctament.
37
+ success: La publicació s'ha esborrat correctament.
33
38
  edit:
34
39
  save: Actualitza
35
40
  title: Editar publicació
36
41
  index:
37
42
  not_published_yet: No publicada encara.
38
43
  title: Publicacions
44
+ manage_trash:
45
+ title: Publicacions eliminades
39
46
  new:
40
47
  create: Crear
41
48
  title: Crea una publicació
@@ -46,6 +53,8 @@ ca:
46
53
  post:
47
54
  create: "%{user_name} ha creat el post %{resource_name} al blog de %{space_name}"
48
55
  delete: "%{user_name} ha eliminat el post %{resource_name} del blog de %{space_name}"
56
+ restore: "%{user_name} ha restaurat la publicació %{resource_name} al blog de %{space_name}"
57
+ soft_delete: "%{user_name} ha mogut la publicació %{resource_name} des del blog de %{space_name} a la paperera"
49
58
  update: "%{user_name} ha actualitzat el post %{resource_name} en el blog de %{space_name}"
50
59
  content_blocks:
51
60
  highlighted_posts:
@@ -63,11 +72,28 @@ ca:
63
72
  published_at: Hora de publicació
64
73
  title: Títol
65
74
  posts:
75
+ edit:
76
+ back: Tornar a la publicació
77
+ button: Actualitzar
78
+ title: Editar la publicació
79
+ form:
80
+ author_id: Autoria
81
+ body: Cos del text
82
+ title: Títol
66
83
  index:
67
84
  count:
68
85
  one: "%{count} publicació"
69
86
  other: "%{count} publicacions"
70
87
  empty: Encara no hi ha cap publicació.
88
+ new_post: Nova publicació
89
+ menu_actions:
90
+ button_destroy: Eliminar la publicació
91
+ button_destroy_confirm: Segur que vols eliminar aquesta publicació?
92
+ button_edit: Editar la publicació
93
+ new:
94
+ back: Tornar a la publicació
95
+ button: Nova publicació
96
+ title: Crear una nova publicació
71
97
  components:
72
98
  blogs:
73
99
  actions:
@@ -82,6 +108,7 @@ ca:
82
108
  announcement: Avís
83
109
  comments_enabled: Comentaris habilitats
84
110
  comments_max_length: Longitud màxima dels comentaris (deixa 0 si vols mantenir la configuració per defecte)
111
+ creation_enabled_for_participants: Les participants poden crear noves entrades en el blog
85
112
  step:
86
113
  announcement: Avís
87
114
  comments_blocked: Comentaris bloquejats
@@ -94,5 +121,33 @@ ca:
94
121
  email_outro: Has rebut aquesta notificació perquè estàs seguint l'espai "%{participatory_space_title}". Pots deixar de seguir-lo des de l'enllaç anterior.
95
122
  email_subject: Nova publicació publicada a %{participatory_space_title}
96
123
  notification_title: La publicació <a href="%{resource_path}">%{resource_title}</a> ha estat publicada a %{participatory_space_title}
124
+ open_data:
125
+ help:
126
+ post_comments:
127
+ alignment: Si aquest comentari va ser a favor, en contra o neutral
128
+ author: El nom d'usuària de la participant que va fer aquest comentari
129
+ body: El comentari pròpiament
130
+ commentable_id: L'identificador únic d'allò que es podia comentar
131
+ commentable_type: La tipologia d'allò sobre el que es va fer el comentari (si va ser un resultat, una proposta, etc.)
132
+ created_at: La data en què es va crear aquest comentari
133
+ depth: El lloc on es troba aquest comentari a la terna de comentaris (si és un comentari, una resposta a un comentari, o la resposta d'una resposta)
134
+ id: L'identificador id d'aquest comentari
135
+ locale: La configuració regional (idioma) que la participant tenia en deixar aquest comentari
136
+ root_commentable_url: L'URL (adreça web) del recurs que enllaça amb aquest comentari
137
+ user_group: El nom del grup d'usuàries que va fer aquest comentari (si n'hi ha)
138
+ posts:
139
+ author: La informació de l'autoria
140
+ body: El contingut de la publicació
141
+ comments_count: El número de comentaris que té aquesta publicació
142
+ component: El component al qual pertany aquesta publicació
143
+ created_at: La data en què es va crear aquesta publicació
144
+ endorsements_count: El número d'adhesions que té aquesta publicació
145
+ follows_count: El número de seguidores que té aquesta publicació
146
+ id: L'identificador únic de la publicació
147
+ participatory_space: A quin espai pertany aquesta publicació (procés participatiu, assemblea, etc.)
148
+ published_at: La data en què es va publicar aquesta entrada al blog
149
+ title: El títol de la publicació
150
+ updated_at: La data de la darrera actualització d'aquesta publicació
151
+ url: L'URL d'aquesta publicació
97
152
  statistics:
98
153
  posts_count: Publicacions
@@ -17,27 +17,32 @@ cs:
17
17
  many: Příspěvky
18
18
  other: Příspěvky
19
19
  decidim:
20
+ admin:
21
+ admin_log:
22
+ changeset:
23
+ posts: Příspěvky
20
24
  blogs:
21
25
  actions:
22
26
  author_id: Vytvořit příspěvek jako
23
- confirm_destroy: Opravdu chcete tento příspěvek smazat?
24
- destroy: Smazat
27
+ confirm_delete_post: Opravdu chcete odstranit tento příspěvek?
28
+ deleted_posts_info: Smazané příspěvky mohou být obnoveny z koše.
25
29
  edit: Upravit
26
30
  new: Nový příspěvek
27
31
  title: Akce
32
+ view_deleted_posts: Zobrazit odstraněné příspěvky
28
33
  admin:
29
34
  posts:
30
35
  create:
31
36
  invalid: Při vytváření tohoto příspěvku nastal problém.
32
37
  success: Příspěvek byl úspěšně vytvořen.
33
- destroy:
34
- success: Příspěvek byl úspěšně smazán.
35
38
  edit:
36
39
  save: Aktualizovat
37
40
  title: Upravit příspěvek
38
41
  index:
39
42
  not_published_yet: Zatím nezveřejněno.
40
43
  title: Příspěvky
44
+ manage_trash:
45
+ title: Smazané příspěvky
41
46
  new:
42
47
  create: Vytvořit
43
48
  title: Vytvořit příspěvek
@@ -48,6 +53,8 @@ cs:
48
53
  post:
49
54
  create: "%{user_name} vytvořil příspěvek %{resource_name} v %{space_name}"
50
55
  delete: "%{user_name} odstranil příspěvek %{resource_name} z %{space_name}"
56
+ restore: "%{user_name} obnovil příspěvek %{resource_name} v %{space_name}"
57
+ soft_delete: "%{user_name} přesunul příspěvek %{resource_name} v %{space_name} do koše"
51
58
  update: "%{user_name} aktualizoval příspěvek %{resource_name} v %{space_name}"
52
59
  content_blocks:
53
60
  highlighted_posts:
@@ -98,5 +105,33 @@ cs:
98
105
  email_outro: Obdrželi jste toto oznámení, protože sledujete "%{participatory_space_title}". Můžete ho zrušit z předchozího odkazu.
99
106
  email_subject: Nový příspěvek publikován v %{participatory_space_title}
100
107
  notification_title: Příspěvek <a href="%{resource_path}">%{resource_title}</a> byl zveřejněn ve %{participatory_space_title}
108
+ open_data:
109
+ help:
110
+ post_comments:
111
+ alignment: Pokud byl tento komentář příznivý, proti nebo neutrální
112
+ author: Jméno účastníka, který vytvořil tento komentář
113
+ body: Samotný komentář
114
+ commentable_id: Jedinečné ID komentáře
115
+ commentable_type: Typ komentáře (pokud byl výsledek, návrh atd.)
116
+ created_at: Datum, kdy byl komentář vytvořen
117
+ depth: Místo, kde se tento komentář nachází je ve třech komentářích (pokud se jedná o odpověď nebo odpověď na odpověď)
118
+ id: ID pro tento komentář
119
+ locale: Lokalizace (jazyk), kterou měl účastník při opuštění tohoto komentáře
120
+ root_commentable_url: Adresa URL zdroje, který má vazbu na tento komentář
121
+ user_group: Název skupiny uživatelů, která přidala tento komentář (pokud existuje)
122
+ posts:
123
+ author: Informace autora
124
+ body: Tělo příspěvku
125
+ comments_count: Počet komentářů, které má tento příspěvek
126
+ component: Komponenta, do které příspěvek patří,
127
+ created_at: Datum, kdy byl příspěvek vytvořen
128
+ endorsements_count: Počet podpor, které má tento příspěvek
129
+ follows_count: Počet sledujících tohoto příspěvku
130
+ id: Jedinečný identifikátor tohoto příspěvku
131
+ participatory_space: Do kterého prostoru (např. účastnický proces nebo Shromáždění) patří tento příspěvek
132
+ published_at: Datum zveřejnění tohoto příspěvku
133
+ title: Název příspěvku
134
+ updated_at: Poslední datum, kdy byl příspěvek aktualizován
135
+ url: URL pro tento příspěvek
101
136
  statistics:
102
137
  posts_count: Příspěvky
@@ -15,27 +15,34 @@ de:
15
15
  one: Post
16
16
  other: Beiträge
17
17
  decidim:
18
+ admin:
19
+ admin_log:
20
+ changeset:
21
+ posts: Beiträge
18
22
  blogs:
19
23
  actions:
20
24
  author_id: Beitrag erstellen als
21
- confirm_destroy: Möchten Sie diesen Beitrag wirklich löschen?
22
- destroy: Löschen
25
+ confirm_delete_post: Möchten Sie diesen Beitrag wirklich löschen?
26
+ deleted_posts_info: Gelöschte Beiträge können aus dem Papierkorb wiederhergestellt werden.
23
27
  edit: Bearbeiten
24
28
  new: Neuer Beitrag
25
29
  title: Aktionen
30
+ view_deleted_posts: Gelöschte Beiträge anzeigen
26
31
  admin:
27
32
  posts:
28
33
  create:
29
34
  invalid: Beim Erstellen dieses Beitrags ist ein Problem aufgetreten.
30
35
  success: Beitrag wurde erfolgreich erstellt.
31
36
  destroy:
32
- success: Beitrag wurde erfolgreich gelöscht.
37
+ success: Beitrag erfolgreich gelöscht.
33
38
  edit:
34
39
  save: Aktualisieren
35
40
  title: Post bearbeiten
36
41
  index:
37
42
  not_published_yet: Noch nicht veröffentlicht.
38
43
  title: Beiträge
44
+ manage_trash:
45
+ title: Gelöschte Beiträge
39
46
  new:
40
47
  create: Erstellen
41
48
  title: Post erstellen
@@ -46,6 +53,8 @@ de:
46
53
  post:
47
54
  create: "%{user_name} hat den Blogpost %{resource_name} in %{space_name} erstellt"
48
55
  delete: "%{user_name} hat den Blogpost %{resource_name} in %{space_name} gelöscht"
56
+ restore: "%{user_name} hat den Blogbeitrag %{resource_name} in %{space_name} wiederhergestellt"
57
+ soft_delete: "%{user_name} hat den Blogbeitrag %{resource_name} in %{space_name} in den Papierkorb verschoben"
49
58
  update: "%{user_name} hat den Blogpost %{resource_name} in %{space_name} aktualisiert"
50
59
  content_blocks:
51
60
  highlighted_posts:
@@ -63,11 +72,28 @@ de:
63
72
  published_at: Veröffentlicht am
64
73
  title: Titel
65
74
  posts:
75
+ edit:
76
+ back: Zurück zum Beitrag
77
+ button: Aktualisieren
78
+ title: Beitrag bearbeiten
79
+ form:
80
+ author_id: Autor*in
81
+ body: Inhalt
82
+ title: Titel
66
83
  index:
67
84
  count:
68
85
  one: "%{count} Beitrag"
69
86
  other: "%{count} Beiträge"
70
87
  empty: Es sind noch keine Beiträge vorhanden.
88
+ new_post: Neuer Beitrag
89
+ menu_actions:
90
+ button_destroy: Beitrag löschen
91
+ button_destroy_confirm: Möchten Sie diesen Beitrag wirklich löschen?
92
+ button_edit: Beitrag bearbeiten
93
+ new:
94
+ back: Zurück zu den Beiträgen
95
+ button: Erstellen
96
+ title: Neuen Beitrag verfassen
71
97
  components:
72
98
  blogs:
73
99
  actions:
@@ -82,6 +108,7 @@ de:
82
108
  announcement: Ankündigung
83
109
  comments_enabled: Kommentare aktiviert
84
110
  comments_max_length: Maximale Länge der Kommentare (0 für Standardwert)
111
+ creation_enabled_for_participants: Teilnehmende können Beiträge erstellen
85
112
  step:
86
113
  announcement: Ankündigung
87
114
  comments_blocked: Kommentare blockiert
@@ -94,5 +121,33 @@ de:
94
121
  email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie "%{participatory_space_title}" folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
95
122
  email_subject: Neuer Beitrag in %{participatory_space_title}
96
123
  notification_title: Der Beitrag <a href="%{resource_path}">%{resource_title}</a> wurde in %{participatory_space_title} veröffentlicht
124
+ open_data:
125
+ help:
126
+ post_comments:
127
+ alignment: Ob dieser Kommentar zustimmend, ablehnend oder neutral war
128
+ author: Der Name des Teilnehmenden, der diesen Kommentar erstellt hat
129
+ body: Der Kommentar selbst
130
+ commentable_id: Die eindeutige ID des kommentierten Objekts
131
+ commentable_type: Die Art des kommentierten Objekts (ob es ein Ergebnis, Vorschlag o.ä. war)
132
+ created_at: Das Erstellungsdatum des Kommentars
133
+ depth: Die Position dieses Kommentars im Thread (ob es sich um eine Antwort oder eine Antwort auf eine Antwort handelt)
134
+ id: Die ID dieses Kommentars
135
+ locale: Die eingestellte Plattformsprache der kommentierenden Person
136
+ root_commentable_url: Die URL der mit dem Kommentar verbundenen Ressource
137
+ user_group: Der Name der Gruppe, die diesen Kommentar erstellt hat (falls vorhanden)
138
+ posts:
139
+ author: Die Informationen des Autors
140
+ body: Der Inhalt des Beitrags
141
+ comments_count: Die Anzahl Kommentare zu diesem Beitrag
142
+ component: Komponente, zu der dieses Beitrag gehört
143
+ created_at: Erstellungsdatum dieses Beitrags
144
+ endorsements_count: Die Anzahl Unterstützungen dieses Beitrags
145
+ follows_count: Die Anzahl Folgende dieses Beitrags
146
+ id: Die eindeutige Bezeichnung des Beitrags
147
+ participatory_space: Zu welchem Bereich dieser Beitrag gehört (z.B. Partizipationsprozesse oder Gremien)
148
+ published_at: Veröffentlichungsdatum des Beitrags
149
+ title: Der Titel des Beitrags
150
+ updated_at: Letztes Aktualisierungsdatum dieses Beitrags
151
+ url: Die URL für diesen Beitrag
97
152
  statistics:
98
153
  posts_count: Beiträge
@@ -18,8 +18,6 @@ el:
18
18
  blogs:
19
19
  actions:
20
20
  author_id: Δημιουργία ανάρτησης ως
21
- confirm_destroy: Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτήν τη δημοσίευση;
22
- destroy: Διαγραφή
23
21
  edit: Επεξεργασία
24
22
  new: Νέα δημοσίευση
25
23
  title: Ενέργειες
@@ -28,8 +26,6 @@ el:
28
26
  create:
29
27
  invalid: Υπήρξε ένα πρόβλημα κατά τη δημιουργία αυτής της ανάρτησης.
30
28
  success: Η ανάρτηση δημιουργήθηκε επιτυχώς.
31
- destroy:
32
- success: Η ανάρτηση διαγράφηκε επιτυχώς.
33
29
  edit:
34
30
  save: Ενημέρωση
35
31
  title: Επεξεργασία ανάρτησης