decidim-blogs 0.29.2 → 0.30.0.rc2

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 (72) 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/post_form.rb +52 -0
  8. data/app/helpers/decidim/blogs/posts_helper.rb +5 -0
  9. data/app/helpers/decidim/blogs/posts_select_helper.rb +32 -0
  10. data/app/models/decidim/blogs/post.rb +2 -1
  11. data/app/packs/stylesheets/blogs.scss +0 -20
  12. data/app/permissions/decidim/blog/permissions.rb +85 -2
  13. data/app/presenters/decidim/blogs/admin_log/post_presenter.rb +1 -1
  14. data/app/presenters/decidim/blogs/post_presenter.rb +25 -1
  15. data/app/views/decidim/blogs/admin/posts/_actions.html.erb +21 -0
  16. data/app/views/decidim/blogs/admin/posts/_post-tr.html.erb +25 -0
  17. data/app/views/decidim/blogs/admin/posts/_posts-thead.html.erb +9 -0
  18. data/app/views/decidim/blogs/admin/posts/index.html.erb +16 -55
  19. data/app/views/decidim/blogs/admin/posts/manage_trash.html.erb +20 -0
  20. data/app/views/decidim/blogs/posts/_actions.html.erb +7 -14
  21. data/app/views/decidim/blogs/posts/_form.html.erb +11 -0
  22. data/app/views/decidim/blogs/posts/_menu_actions.html.erb +21 -0
  23. data/app/views/decidim/blogs/posts/_schema_org_blog_posting_post.html.erb +3 -0
  24. data/app/views/decidim/blogs/posts/edit.html.erb +21 -0
  25. data/app/views/decidim/blogs/posts/index.html.erb +16 -1
  26. data/app/views/decidim/blogs/posts/new.html.erb +21 -0
  27. data/app/views/decidim/blogs/posts/show.html.erb +15 -6
  28. data/config/locales/ar.yml +0 -1
  29. data/config/locales/bg.yml +0 -3
  30. data/config/locales/ca.yml +58 -3
  31. data/config/locales/cs.yml +57 -2
  32. data/config/locales/de.yml +58 -3
  33. data/config/locales/el.yml +0 -3
  34. data/config/locales/en.yml +58 -3
  35. data/config/locales/es-MX.yml +58 -3
  36. data/config/locales/es-PY.yml +58 -3
  37. data/config/locales/es.yml +58 -3
  38. data/config/locales/eu.yml +58 -3
  39. data/config/locales/fi-plain.yml +57 -2
  40. data/config/locales/fi.yml +57 -2
  41. data/config/locales/fr-CA.yml +32 -2
  42. data/config/locales/fr.yml +32 -2
  43. data/config/locales/gl.yml +0 -1
  44. data/config/locales/hu.yml +0 -3
  45. data/config/locales/ja.yml +57 -2
  46. data/config/locales/kaa.yml +0 -1
  47. data/config/locales/ko.yml +0 -2
  48. data/config/locales/lt.yml +0 -3
  49. data/config/locales/nl.yml +0 -1
  50. data/config/locales/no.yml +0 -1
  51. data/config/locales/pl.yml +0 -3
  52. data/config/locales/pt-BR.yml +0 -3
  53. data/config/locales/ro-RO.yml +92 -24
  54. data/config/locales/ru.yml +0 -3
  55. data/config/locales/sq-AL.yml +0 -3
  56. data/config/locales/sv.yml +58 -3
  57. data/config/locales/zh-TW.yml +0 -3
  58. data/db/migrate/20200827153709_add_commentable_counter_cache_to_posts.rb +1 -1
  59. data/db/migrate/20210310120514_add_followable_counter_cache_to_blogs.rb +1 -1
  60. data/db/migrate/20240828103324_add_deleted_at_to_decidim_blogs_posts.rb +8 -0
  61. data/decidim-blogs.gemspec +1 -1
  62. data/lib/decidim/api/blogs_type.rb +4 -5
  63. data/lib/decidim/api/post_type.rb +2 -2
  64. data/lib/decidim/blogs/admin_engine.rb +7 -1
  65. data/lib/decidim/blogs/component.rb +27 -0
  66. data/lib/decidim/blogs/engine.rb +1 -1
  67. data/lib/decidim/blogs/post_serializer.rb +70 -0
  68. data/lib/decidim/blogs/schema_org_blog_posting_post_serializer.rb +81 -0
  69. data/lib/decidim/blogs/test/factories.rb +9 -0
  70. data/lib/decidim/blogs/version.rb +1 -1
  71. data/lib/decidim/blogs.rb +2 -0
  72. metadata +34 -18
@@ -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,7 +22,6 @@ ar:
22
22
  blogs:
23
23
  actions:
24
24
  author_id: إنشاء مشاركة كـ
25
- destroy: حذف
26
25
  edit: تعديل
27
26
  new: منشور جديد
28
27
  title: أفعال
@@ -18,7 +18,6 @@ bg:
18
18
  blogs:
19
19
  actions:
20
20
  author_id: Създаване на публикация като
21
- destroy: Изтрий
22
21
  edit: Редактирай
23
22
  new: Нова публикация
24
23
  title: Активности
@@ -27,8 +26,6 @@ bg:
27
26
  create:
28
27
  invalid: Възникна проблем при създаването на тази публикация.
29
28
  success: Публикацията беше създадена успешно.
30
- destroy:
31
- success: Публикацията беше изтрита успешно.
32
29
  edit:
33
30
  save: Актуализация
34
31
  title: Редактиране на поста
@@ -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: Esborrar
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,14 +17,19 @@ 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 odstranit tento příspěvek?
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:
@@ -38,6 +43,8 @@ cs:
38
43
  index:
39
44
  not_published_yet: Zatím nezveřejněno.
40
45
  title: Příspěvky
46
+ manage_trash:
47
+ title: Smazané příspěvky
41
48
  new:
42
49
  create: Vytvořit
43
50
  title: Vytvořit příspěvek
@@ -48,6 +55,8 @@ cs:
48
55
  post:
49
56
  create: "%{user_name} vytvořil příspěvek %{resource_name} v %{space_name}"
50
57
  delete: "%{user_name} odstranil příspěvek %{resource_name} z %{space_name}"
58
+ restore: "%{user_name} obnovil příspěvek %{resource_name} v %{space_name}"
59
+ soft_delete: "%{user_name} přesunul příspěvek %{resource_name} v %{space_name} do koše"
51
60
  update: "%{user_name} aktualizoval příspěvek %{resource_name} v %{space_name}"
52
61
  content_blocks:
53
62
  highlighted_posts:
@@ -65,6 +74,14 @@ cs:
65
74
  published_at: Čas zveřejnění
66
75
  title: Název
67
76
  posts:
77
+ edit:
78
+ back: Zpět na příspěvek
79
+ button: Aktualizovat
80
+ title: Upravit příspěvek
81
+ form:
82
+ author_id: Autor
83
+ body: Tělo
84
+ title: Název
68
85
  index:
69
86
  count:
70
87
  one: "%{count} příspěvek"
@@ -72,6 +89,15 @@ cs:
72
89
  many: "%{count} příspěvků"
73
90
  other: "%{count} příspěvků"
74
91
  empty: Zatím nejsou žádné příspěvky.
92
+ new_post: Nový příspěvek
93
+ menu_actions:
94
+ button_destroy: Smazat příspěvek
95
+ button_destroy_confirm: Opravdu chcete smazat tento příspěvek?
96
+ button_edit: Upravit příspěvek
97
+ new:
98
+ back: Zpět na příspěvky
99
+ button: Vytvořit
100
+ title: Vytvořit nový příspěvek
75
101
  components:
76
102
  blogs:
77
103
  actions:
@@ -86,6 +112,7 @@ cs:
86
112
  announcement: Oznámení
87
113
  comments_enabled: Komentáře povoleny
88
114
  comments_max_length: Maximální délka komentáře (ponechte 0 pro výchozí hodnotu)
115
+ creation_enabled_for_participants: Účastníci mohou vytvářet příspěvky
89
116
  step:
90
117
  announcement: Oznámení
91
118
  comments_blocked: Komentáře byly blokovány
@@ -98,5 +125,33 @@ cs:
98
125
  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
126
  email_subject: Nový příspěvek publikován v %{participatory_space_title}
100
127
  notification_title: Příspěvek <a href="%{resource_path}">%{resource_title}</a> byl zveřejněn ve %{participatory_space_title}
128
+ open_data:
129
+ help:
130
+ post_comments:
131
+ alignment: Pokud byl tento komentář příznivý, proti nebo neutrální
132
+ author: Jméno účastníka, který vytvořil tento komentář
133
+ body: Samotný komentář
134
+ commentable_id: Jedinečné ID komentáře
135
+ commentable_type: Typ komentáře (pokud byl výsledek, návrh atd.)
136
+ created_at: Datum, kdy byl komentář vytvořen
137
+ depth: Místo, kde se tento komentář nachází je ve třech komentářích (pokud se jedná o odpověď nebo odpověď na odpověď)
138
+ id: ID pro tento komentář
139
+ locale: Lokalizace (jazyk), kterou měl účastník při opuštění tohoto komentáře
140
+ root_commentable_url: Adresa URL zdroje, který má vazbu na tento komentář
141
+ user_group: Název skupiny uživatelů, která přidala tento komentář (pokud existuje)
142
+ posts:
143
+ author: Informace autora
144
+ body: Tělo příspěvku
145
+ comments_count: Počet komentářů, které má tento příspěvek
146
+ component: Komponenta, do které příspěvek patří,
147
+ created_at: Datum, kdy byl příspěvek vytvořen
148
+ endorsements_count: Počet podpor, které má tento příspěvek
149
+ follows_count: Počet sledujících tohoto příspěvku
150
+ id: Jedinečný identifikátor tohoto příspěvku
151
+ participatory_space: Do kterého prostoru (např. účastnický proces nebo Shromáždění) patří tento příspěvek
152
+ published_at: Datum zveřejnění tohoto příspěvku
153
+ title: Název příspěvku
154
+ updated_at: Poslední datum, kdy byl příspěvek aktualizován
155
+ url: URL pro tento příspěvek
101
156
  statistics:
102
157
  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,7 +18,6 @@ el:
18
18
  blogs:
19
19
  actions:
20
20
  author_id: Δημιουργία ανάρτησης ως
21
- destroy: Διαγραφή
22
21
  edit: Επεξεργασία
23
22
  new: Νέα δημοσίευση
24
23
  title: Ενέργειες
@@ -27,8 +26,6 @@ el:
27
26
  create:
28
27
  invalid: Υπήρξε ένα πρόβλημα κατά τη δημιουργία αυτής της ανάρτησης.
29
28
  success: Η ανάρτηση δημιουργήθηκε επιτυχώς.
30
- destroy:
31
- success: Η ανάρτηση διαγράφηκε επιτυχώς.
32
29
  edit:
33
30
  save: Ενημέρωση
34
31
  title: Επεξεργασία ανάρτησης