decidim-blogs 0.26.10 → 0.27.0.rc1

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 (82) hide show
  1. checksums.yaml +4 -4
  2. data/app/commands/decidim/blogs/admin/create_post.rb +1 -1
  3. data/app/commands/decidim/blogs/admin/update_post.rb +6 -3
  4. data/app/controllers/decidim/blogs/admin/posts_controller.rb +6 -2
  5. data/app/forms/decidim/blogs/admin/post_form.rb +27 -7
  6. data/app/helpers/decidim/blogs/admin/posts_helper.rb +15 -0
  7. data/app/models/decidim/blogs/post.rb +9 -17
  8. data/app/presenters/decidim/blogs/admin_log/post_presenter.rb +36 -0
  9. data/app/presenters/decidim/blogs/official_author_presenter.rb +14 -0
  10. data/app/presenters/decidim/blogs/post_presenter.rb +7 -1
  11. data/app/views/decidim/blogs/admin/posts/_form.html.erb +4 -4
  12. data/app/views/decidim/blogs/admin/posts/edit.html.erb +0 -1
  13. data/app/views/decidim/blogs/admin/posts/index.html.erb +0 -1
  14. data/app/views/decidim/blogs/admin/posts/new.html.erb +0 -1
  15. data/app/views/decidim/blogs/posts/_posts.html.erb +2 -1
  16. data/app/views/decidim/blogs/posts/show.html.erb +4 -3
  17. data/config/locales/am-ET.yml +1 -0
  18. data/config/locales/ar.yml +5 -10
  19. data/config/locales/bg.yml +1 -0
  20. data/config/locales/ca.yml +12 -11
  21. data/config/locales/cs.yml +11 -10
  22. data/config/locales/da.yml +1 -0
  23. data/config/locales/de.yml +5 -10
  24. data/config/locales/el.yml +5 -14
  25. data/config/locales/en.yml +10 -10
  26. data/config/locales/eo.yml +1 -0
  27. data/config/locales/es-MX.yml +11 -10
  28. data/config/locales/es-PY.yml +11 -10
  29. data/config/locales/es.yml +12 -11
  30. data/config/locales/et.yml +1 -0
  31. data/config/locales/eu.yml +29 -34
  32. data/config/locales/fi-plain.yml +11 -10
  33. data/config/locales/fi.yml +11 -10
  34. data/config/locales/fr-CA.yml +5 -10
  35. data/config/locales/fr.yml +5 -10
  36. data/config/locales/ga-IE.yml +4 -0
  37. data/config/locales/gl.yml +5 -1
  38. data/config/locales/hr.yml +1 -0
  39. data/config/locales/hu.yml +4 -18
  40. data/config/locales/id-ID.yml +4 -0
  41. data/config/locales/is-IS.yml +5 -1
  42. data/config/locales/it.yml +5 -1
  43. data/config/locales/ja.yml +9 -9
  44. data/config/locales/ko.yml +1 -0
  45. data/config/locales/lb.yml +5 -1
  46. data/config/locales/lt.yml +1 -92
  47. data/config/locales/lv.yml +4 -0
  48. data/config/locales/mt.yml +1 -0
  49. data/config/locales/nl.yml +9 -5
  50. data/config/locales/no.yml +5 -1
  51. data/config/locales/om-ET.yml +1 -0
  52. data/config/locales/pl.yml +5 -1
  53. data/config/locales/pt-BR.yml +6 -14
  54. data/config/locales/pt.yml +5 -1
  55. data/config/locales/ro-RO.yml +5 -10
  56. data/config/locales/ru.yml +4 -22
  57. data/config/locales/si-LK.yml +1 -0
  58. data/config/locales/sk.yml +4 -0
  59. data/config/locales/sl.yml +1 -0
  60. data/config/locales/so-SO.yml +1 -0
  61. data/config/locales/sr-CS.yml +1 -0
  62. data/config/locales/sv.yml +6 -9
  63. data/config/locales/sw-KE.yml +1 -0
  64. data/config/locales/ti-ER.yml +1 -0
  65. data/config/locales/tr-TR.yml +4 -6
  66. data/config/locales/uk.yml +4 -0
  67. data/config/locales/val-ES.yml +1 -0
  68. data/config/locales/vi.yml +1 -0
  69. data/config/locales/zh-CN.yml +4 -0
  70. data/config/locales/zh-TW.yml +1 -89
  71. data/lib/decidim/blogs/component.rb +9 -3
  72. data/lib/decidim/blogs/version.rb +1 -1
  73. metadata +22 -29
  74. data/config/environment.rb +0 -3
  75. data/config/locales/fa-IR.yml +0 -1
  76. data/config/locales/gn-PY.yml +0 -1
  77. data/config/locales/ka-GE.yml +0 -1
  78. data/config/locales/kaa.yml +0 -23
  79. data/config/locales/lo-LA.yml +0 -1
  80. data/config/locales/oc-FR.yml +0 -1
  81. data/config/locales/sq-AL.yml +0 -1
  82. data/config/locales/th-TH.yml +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b895bd8a397dfc7fbbdb65dce57abfba0deb3797019cb2ca8c3693c4688c6827
4
- data.tar.gz: d95f3785d20ce88b5e6284ec848c3ca7820de28b39bf20d999cd93e1ce7e2e8a
3
+ metadata.gz: 88768c7f46aed92952e6f183bee4e4bab6fb48f8115a5153c4ae05fdbd35412e
4
+ data.tar.gz: 1dd3686bc2bf1aa6b5e11de03036cf074b18cae89899b4f2628f114cdb2cda07
5
5
  SHA512:
6
- metadata.gz: d6e28e097191366475dc8070ffc67678c4031edd60be481a3e2dd240471b6a6dd207c9dfad80c5734e43c39c8dabbb40d2a349824ccb7011e6e72c2f867c074f
7
- data.tar.gz: a5c94e89af36bb6fcb82db4a94de0c9595e4fc2713fc177ee6e080a11eb9950e61c45074c9ce1a0e698bfdfe9739a462205c30a135bf299b632dfe7495b027af
6
+ metadata.gz: 7996256e0b234c48573fec40afb363224d8c22bdf6cee5eae3a7c3cfccb276124529aa304331226ad21412c7951d162708dfbd489b635df34b46ee8f6daf46ec
7
+ data.tar.gz: d9f1b715694ed3414c299cab3eb2b75018fd2fa37ed344cc672181b4156572a735438b8866aa8d4a46216d341fab71b73ffce57d85f893e647309af86f488af1
@@ -5,7 +5,7 @@ module Decidim
5
5
  module Admin
6
6
  # This command is executed when the user creates a Post from the admin
7
7
  # panel.
8
- class CreatePost < Rectify::Command
8
+ class CreatePost < Decidim::Command
9
9
  def initialize(form, current_user)
10
10
  @form = form
11
11
  @current_user = current_user
@@ -5,14 +5,15 @@ module Decidim
5
5
  module Admin
6
6
  # This command is executed when the user changes a Blog from the admin
7
7
  # panel.
8
- class UpdatePost < Rectify::Command
8
+ class UpdatePost < Decidim::Command
9
9
  # Initializes a UpdateBlog Command.
10
10
  #
11
11
  # form - The form from which to get the data.
12
12
  # blog - The current instance of the page to be updated.
13
- def initialize(form, post)
13
+ def initialize(form, post, user)
14
14
  @form = form
15
15
  @post = post
16
+ @user = user
16
17
  end
17
18
 
18
19
  # Updates the blog if valid.
@@ -33,7 +34,9 @@ module Decidim
33
34
  attr_reader :form, :post
34
35
 
35
36
  def update_post!
36
- post.update!(
37
+ Decidim.traceability.update!(
38
+ post,
39
+ @user,
37
40
  title: form.title,
38
41
  body: form.body,
39
42
  author: form.author
@@ -6,6 +6,7 @@ module Decidim
6
6
  # This controller allows the create or update a blog.
7
7
  class PostsController < Admin::ApplicationController
8
8
  helper UserGroupHelper
9
+ helper PostsHelper
9
10
 
10
11
  def new
11
12
  enforce_permission_to :create, :blogpost
@@ -38,7 +39,7 @@ module Decidim
38
39
  enforce_permission_to :update, :blogpost, blogpost: post
39
40
  @form = form(PostForm).from_params(params, current_component: current_component)
40
41
 
41
- UpdatePost.call(@form, post) do
42
+ UpdatePost.call(@form, post, current_user) do
42
43
  on(:ok) do
43
44
  flash[:notice] = I18n.t("posts.update.success", scope: "decidim.blogs.admin")
44
45
  redirect_to posts_path
@@ -53,7 +54,10 @@ module Decidim
53
54
 
54
55
  def destroy
55
56
  enforce_permission_to :destroy, :blogpost, blogpost: post
56
- post.destroy!
57
+
58
+ Decidim.traceability.perform_action!("delete", post, current_user) do
59
+ post.destroy!
60
+ end
57
61
 
58
62
  flash[:notice] = I18n.t("posts.destroy.success", scope: "decidim.blogs.admin")
59
63
 
@@ -10,24 +10,44 @@ module Decidim
10
10
  translatable_attribute :title, String
11
11
  translatable_attribute :body, String
12
12
 
13
- attribute :user_group_id, Integer
13
+ attribute :decidim_author_id, Integer
14
14
 
15
15
  validates :title, translatable_presence: true
16
16
  validates :body, translatable_presence: true
17
+ validate :can_set_author
17
18
 
18
- def map_model(post)
19
- self.user_group_id = post.author.id if post.author.is_a?(Decidim::UserGroup)
19
+ def map_model(model)
20
+ self.decidim_author_id = nil if model.author.is_a? Decidim::Organization
20
21
  end
21
22
 
22
- def user_group
23
- @user_group ||= Decidim::UserGroup.find_by(
23
+ def user_or_group
24
+ @user_or_group ||= Decidim::UserBaseEntity.find_by(
24
25
  organization: current_organization,
25
- id: user_group_id.to_i
26
+ id: decidim_author_id
26
27
  )
27
28
  end
28
29
 
29
30
  def author
30
- user_group || current_user
31
+ user_or_group || current_organization
32
+ end
33
+
34
+ private
35
+
36
+ def can_set_author
37
+ return if author == current_user.organization
38
+ return if author == current_user
39
+ return if user_groups.include? author
40
+ return if author == post&.author
41
+
42
+ errors.add(:decidim_author_id, :invalid)
43
+ end
44
+
45
+ def post
46
+ @post ||= Post.find_by(id: id)
47
+ end
48
+
49
+ def user_groups
50
+ @user_groups ||= Decidim::UserGroups::ManageableUserGroups.for(current_user).verified
31
51
  end
32
52
  end
33
53
  end
@@ -18,6 +18,21 @@ module Decidim
18
18
  body = translated_attribute(post.body)
19
19
  CGI.unescapeHTML html_truncate(body, max_length: max_length)
20
20
  end
21
+
22
+ def post_author_select_field(form, name, _options = {})
23
+ select_options = [
24
+ [current_organization.name, ""],
25
+ [current_user.name, current_user.id]
26
+ ]
27
+ current_user_groups = Decidim::UserGroups::ManageableUserGroups.for(current_user).verified
28
+
29
+ select_options += current_user_groups.map { |g| [g.name, g.id] } if current_organization.user_groups_enabled? && current_user_groups.any?
30
+ unless form.object.author.is_a?(Organization) || select_options.pluck(1).include?(form.object.author.id)
31
+ select_options << [form.object.author.name, form.object.author.id]
32
+ end
33
+
34
+ form.select(name, select_options)
35
+ end
21
36
  end
22
37
  end
23
38
  end
@@ -14,7 +14,6 @@ module Decidim
14
14
  include Decidim::Searchable
15
15
  include Decidim::Endorsable
16
16
  include Decidim::Followable
17
- include Decidim::Reportable
18
17
  include Decidim::TranslatableResource
19
18
  include Traceable
20
19
  include Loggable
@@ -40,6 +39,10 @@ module Decidim
40
39
  participatory_space.try(:visible?) && component.try(:published?)
41
40
  end
42
41
 
42
+ def self.log_presenter_class_for(_log)
43
+ Decidim::Blogs::AdminLog::PostPresenter
44
+ end
45
+
43
46
  # Public: Overrides the `comments_have_alignment?` Commentable concern method.
44
47
  def comments_have_alignment?
45
48
  true
@@ -56,7 +59,11 @@ module Decidim
56
59
  end
57
60
 
58
61
  def official?
59
- author.nil?
62
+ author.is_a?(Decidim::Organization)
63
+ end
64
+
65
+ def user_group?
66
+ author.is_a?(Decidim::UserGroup)
60
67
  end
61
68
 
62
69
  def users_to_notify_on_comment_created
@@ -66,21 +73,6 @@ module Decidim
66
73
  def attachment_context
67
74
  :admin
68
75
  end
69
-
70
- # Public: Overrides the `reported_content_url` Reportable concern method.
71
- def reported_content_url
72
- ResourceLocatorPresenter.new(self).url
73
- end
74
-
75
- # Public: Overrides the `reported_attributes` Reportable concern method.
76
- def reported_attributes
77
- [:title, :body]
78
- end
79
-
80
- # Public: Overrides the `reported_searchable_content_extras` Reportable concern method.
81
- def reported_searchable_content_extras
82
- [normalized_author.name]
83
- end
84
76
  end
85
77
  end
86
78
  end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Blogs
5
+ module AdminLog
6
+ # This class holds the logic to present a `Decidim::Blogs::Post`
7
+ # for the `AdminLog` log.
8
+ #
9
+ # Usage should be automatic and you shouldn't need to call this class
10
+ # directly, but here's an example:
11
+ #
12
+ # action_log = Decidim::ActionLog.last
13
+ # view_helpers # => this comes from the views
14
+ # PostPresenter.new(action_log, view_helpers).present
15
+ class PostPresenter < Decidim::Log::BasePresenter
16
+ private
17
+
18
+ def action_string
19
+ case action
20
+ when "create", "delete", "update"
21
+ "decidim.blogs.admin_log.post.#{action}"
22
+ else
23
+ super
24
+ end
25
+ end
26
+
27
+ def diff_fields_mapping
28
+ {
29
+ title: :i18n,
30
+ body: :i18n
31
+ }
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Blogs
5
+ #
6
+ # A dummy presenter to abstract out the author of an official post.
7
+ #
8
+ class OfficialAuthorPresenter < Decidim::OfficialAuthorPresenter
9
+ def name
10
+ I18n.t("decidim.blogs.models.post.fields.official_blog_post")
11
+ end
12
+ end
13
+ end
14
+ end
@@ -7,7 +7,13 @@ module Decidim
7
7
  #
8
8
  class PostPresenter < SimpleDelegator
9
9
  def author
10
- @author ||= Decidim::UserPresenter.new(super)
10
+ @author ||= if official?
11
+ Decidim::Blogs::OfficialAuthorPresenter.new
12
+ elsif user_group?
13
+ Decidim::UserGroupPresenter.new(super)
14
+ else
15
+ Decidim::UserPresenter.new(super)
16
+ end
11
17
  end
12
18
  end
13
19
  end
@@ -3,16 +3,16 @@
3
3
  <h2 class="card-title"><%= title %></h2>
4
4
  </div>
5
5
  <div class="card-section">
6
- <% if current_organization.user_groups_enabled? && Decidim::UserGroups::ManageableUserGroups.for(current_user).verified.any? %>
6
+
7
7
  <div class="field">
8
- <%= user_group_select_field form, :user_group_id, label: t("decidim.blogs.actions.user_group_id") %>
8
+ <%= post_author_select_field form, :decidim_author_id, label: t("decidim.blogs.actions.author_id") %>
9
9
  </div>
10
- <% end %>
10
+
11
11
  <div class="row column">
12
12
  <%= form.translated :text_field, :title, autofocus: true %>
13
13
  </div>
14
14
  <div class="row column">
15
- <%= form.translated :editor, :body, lines: 30 %>
15
+ <%= form.translated :editor, :body, toolbar: :full, lines: 30, label: t("models.components.body", scope: "decidim.blogs.admin") %>
16
16
  </div>
17
17
  </div>
18
18
  </div>
@@ -1,4 +1,3 @@
1
- <% add_decidim_page_title(t(".title")) %>
2
1
  <%= decidim_form_for(@form, html: { class: "form edit_post" }) do |f| %>
3
2
  <%= render partial: "form", object: f, locals: { title: t(".title") } %>
4
3
 
@@ -1,4 +1,3 @@
1
- <% add_decidim_page_title(t(".title")) %>
2
1
  <div class="card">
3
2
  <div class="card-divider">
4
3
  <h2 class="card-title">
@@ -1,4 +1,3 @@
1
- <% add_decidim_page_title(t(".title")) %>
2
1
  <%= decidim_form_for(@form, html: { class: "form new_post" }) do |f| %>
3
2
  <%= render partial: "form", object: f, locals: { title: t(".title") } %>
4
3
 
@@ -12,7 +12,8 @@
12
12
  </h2>
13
13
  <% end %>
14
14
  <div class="card__author">
15
- <%= cell "decidim/author", present(post.author), from: post, has_actions: true %>
15
+ <% post_presenter = Decidim::Blogs::PostPresenter.new(post) %>
16
+ <%= cell "decidim/author", post_presenter.author, from: post, has_actions: true %>
16
17
  </div>
17
18
  </div>
18
19
  <%= decidim_sanitize_editor post_description(post) %>
@@ -23,7 +23,9 @@
23
23
  <% end %>
24
24
  </div>
25
25
  <h2 class="heading2"><%= translated_attribute post.title %></h2>
26
- <%= cell "decidim/author", present(post.author), from: post %>
26
+
27
+ <% post_presenter = Decidim::Blogs::PostPresenter.new(post) %>
28
+ <%= cell "decidim/author", post_presenter.author, from: post %>
27
29
  </div>
28
30
  <div class="row">
29
31
  <% if show_endorsements_card? %>
@@ -50,11 +52,10 @@
50
52
  <% end %>
51
53
  <div class="columns mediumlarge-8 <%= "mediumlarge-pull-4" if show_endorsements_card? %>">
52
54
  <div class="section">
53
- <%= decidim_sanitize_editor_admin translated_attribute post.body %>
55
+ <%= decidim_sanitize_editor translated_attribute post.body %>
54
56
  </div>
55
57
  <%= cell "decidim/endorsers_list", post %>
56
58
  </div>
57
59
  </div>
58
60
  <%= attachments_for post %>
59
61
  <%= comments_for post %>
60
- <%= cell("decidim/flag_modal", post) %>
@@ -1 +1,2 @@
1
+ ---
1
2
  am:
@@ -1,11 +1,6 @@
1
+ ---
1
2
  ar:
2
3
  activemodel:
3
- attributes:
4
- post:
5
- body: النص
6
- decidim_author_id: المؤلف
7
- published_at: موعد النشر
8
- title: العنوان
9
4
  models:
10
5
  decidim/blogs/create_post_event: بلوق وظيفة جديدة
11
6
  activerecord:
@@ -20,14 +15,16 @@ ar:
20
15
  decidim:
21
16
  blogs:
22
17
  actions:
18
+ author_id: إنشاء مشاركة كـ
23
19
  confirm_destroy: هل أنت متأكد أنك تريد حذف هذه المشاركة؟
24
20
  destroy: حذف
25
21
  edit: تعديل
26
22
  new: منشور جديد
27
23
  title: أفعال
28
- user_group_id: إنشاء مشاركة كـ
29
24
  admin:
30
25
  models:
26
+ components:
27
+ body: الجسم
31
28
  post:
32
29
  name: بريد
33
30
  posts:
@@ -55,7 +52,7 @@ ar:
55
52
  author: مؤلف
56
53
  body: الجسم
57
54
  created_at: أنشئت في
58
- title: العنوان
55
+ title: عنوان
59
56
  posts:
60
57
  show:
61
58
  back: العودة إلى القائمة
@@ -68,10 +65,8 @@ ar:
68
65
  components:
69
66
  blogs:
70
67
  actions:
71
- comment: التعليق
72
68
  create: إنشاء
73
69
  destroy: حذف
74
- endorse: تأييد
75
70
  update: تحديث
76
71
  name: مدونة
77
72
  settings:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  bg:
2
3
  activemodel:
3
4
  models:
@@ -1,11 +1,6 @@
1
+ ---
1
2
  ca:
2
3
  activemodel:
3
- attributes:
4
- post:
5
- body: Cos del text
6
- decidim_author_id: Autoria
7
- published_at: Hora de publicació
8
- title: Títol
9
4
  models:
10
5
  decidim/blogs/create_post_event: Nova publicació al blog
11
6
  activerecord:
@@ -16,14 +11,16 @@ ca:
16
11
  decidim:
17
12
  blogs:
18
13
  actions:
19
- confirm_destroy: Segur que vols eliminar aquesta publicació?
14
+ author_id: Crear publicació com
15
+ confirm_destroy: Estàs segura que vols eliminar aquesta publicació?
20
16
  destroy: Suprimeix
21
17
  edit: Edita
22
18
  new: Nova publicació
23
19
  title: Accions
24
- user_group_id: Crear publicació com
25
20
  admin:
26
21
  models:
22
+ components:
23
+ body: Cos
27
24
  post:
28
25
  name: Publicar
29
26
  posts:
@@ -43,6 +40,11 @@ ca:
43
40
  update:
44
41
  invalid: S'ha produït un error en guardar la publicació.
45
42
  success: S'ha desat la publicació correctament
43
+ admin_log:
44
+ post:
45
+ create: "%{user_name} ha creat el post %{resource_name} al blog de %{space_name}"
46
+ delete: "%{user_name} ha eliminat el post %{resource_name} del blog de %{space_name}"
47
+ update: "%{user_name} ha actualitzat el post %{resource_name} en el blog de %{space_name}"
46
48
  last_activity:
47
49
  new_post_at_html: "<span>Nova publicació a %{link}</span>"
48
50
  models:
@@ -51,7 +53,8 @@ ca:
51
53
  author: Autora
52
54
  body: Cos
53
55
  created_at: Creat el
54
- title: Títol
56
+ official_blog_post: Post oficial
57
+ title: títol
55
58
  posts:
56
59
  show:
57
60
  back: Tornar al llistat
@@ -64,10 +67,8 @@ ca:
64
67
  components:
65
68
  blogs:
66
69
  actions:
67
- comment: Comentar
68
70
  create: Crear
69
71
  destroy: Esborrar
70
- endorse: Adherir-se
71
72
  update: Actualitzar
72
73
  name: Blog
73
74
  settings:
@@ -1,11 +1,6 @@
1
+ ---
1
2
  cs:
2
3
  activemodel:
3
- attributes:
4
- post:
5
- body: Tělo zprávy
6
- decidim_author_id: Autor
7
- published_at: Čas zveřejnění
8
- title: Název
9
4
  models:
10
5
  decidim/blogs/create_post_event: Nový blogový příspěvek
11
6
  activerecord:
@@ -18,14 +13,16 @@ cs:
18
13
  decidim:
19
14
  blogs:
20
15
  actions:
16
+ author_id: Vytvořit příspěvek jako
21
17
  confirm_destroy: Opravdu chcete tento příspěvek smazat?
22
18
  destroy: Smazat
23
19
  edit: Upravit
24
20
  new: Nový příspěvek
25
21
  title: Akce
26
- user_group_id: Vytvořit příspěvek jako
27
22
  admin:
28
23
  models:
24
+ components:
25
+ body: Tělo
29
26
  post:
30
27
  name: Příspěvek
31
28
  posts:
@@ -45,6 +42,11 @@ cs:
45
42
  update:
46
43
  invalid: Při ukládání příspěvku došlo k chybám.
47
44
  success: Příspěvek byl úspěšně uložen
45
+ admin_log:
46
+ post:
47
+ create: "%{user_name} vytvořil příspěvek %{resource_name} v %{space_name}"
48
+ delete: "%{user_name} odstranil příspěvek %{resource_name} z %{space_name}"
49
+ update: "%{user_name} aktualizoval příspěvek %{resource_name} v %{space_name}"
48
50
  last_activity:
49
51
  new_post_at_html: "<span>Nový příspěvek v %{link}</span>"
50
52
  models:
@@ -53,7 +55,8 @@ cs:
53
55
  author: Autor
54
56
  body: Tělo
55
57
  created_at: Vytvořeno v
56
- title: Název
58
+ official_blog_post: Oficiální příspěvek
59
+ title: titulek
57
60
  posts:
58
61
  show:
59
62
  back: Zpět na seznam
@@ -66,10 +69,8 @@ cs:
66
69
  components:
67
70
  blogs:
68
71
  actions:
69
- comment: Komentář
70
72
  create: Vytvořit
71
73
  destroy: Smazat
72
- endorse: Schválit
73
74
  update: Aktualizovat
74
75
  name: Blog
75
76
  settings:
@@ -1 +1,2 @@
1
+ ---
1
2
  da:
@@ -1,11 +1,6 @@
1
+ ---
1
2
  de:
2
3
  activemodel:
3
- attributes:
4
- post:
5
- body: Haupttext
6
- decidim_author_id: Autor*in
7
- published_at: Veröffentlicht am
8
- title: Titel
9
4
  models:
10
5
  decidim/blogs/create_post_event: Neuer Blogeintrag
11
6
  activerecord:
@@ -16,14 +11,16 @@ de:
16
11
  decidim:
17
12
  blogs:
18
13
  actions:
14
+ author_id: Beitrag erstellen als
19
15
  confirm_destroy: Möchten Sie diesen Beitrag wirklich löschen?
20
16
  destroy: Löschen
21
17
  edit: Bearbeiten
22
18
  new: Neuer Beitrag
23
19
  title: Aktionen
24
- user_group_id: Beitrag erstellen als
25
20
  admin:
26
21
  models:
22
+ components:
23
+ body: Haupttext
27
24
  post:
28
25
  name: Post
29
26
  posts:
@@ -50,7 +47,7 @@ de:
50
47
  fields:
51
48
  author: Autor
52
49
  body: Haupttext
53
- created_at: Erstellt am
50
+ created_at: Hergestellt in
54
51
  title: Titel
55
52
  posts:
56
53
  show:
@@ -64,10 +61,8 @@ de:
64
61
  components:
65
62
  blogs:
66
63
  actions:
67
- comment: Kommentieren
68
64
  create: Erstellen
69
65
  destroy: Löschen
70
- endorse: Unterstützen
71
66
  update: Aktualisieren
72
67
  name: Blog
73
68
  settings:
@@ -1,11 +1,6 @@
1
+ ---
1
2
  el:
2
3
  activemodel:
3
- attributes:
4
- post:
5
- body: Σώμα
6
- decidim_author_id: Συντάκτης
7
- published_at: Ώρα δημοσίευσης
8
- title: Τίτλος
9
4
  models:
10
5
  decidim/blogs/create_post_event: Νέα ανάρτηση ιστολογίου
11
6
  activerecord:
@@ -16,14 +11,16 @@ el:
16
11
  decidim:
17
12
  blogs:
18
13
  actions:
14
+ author_id: Δημιουργία ανάρτησης ως
19
15
  confirm_destroy: Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτήν τη δημοσίευση;
20
16
  destroy: Διαγραφή
21
17
  edit: Επεξεργασία
22
18
  new: Νέα δημοσίευση
23
19
  title: Ενέργειες
24
- user_group_id: Δημιουργία ανάρτησης ως
25
20
  admin:
26
21
  models:
22
+ components:
23
+ body: Σώμα
27
24
  post:
28
25
  name: Δημοσίευση
29
26
  posts:
@@ -51,7 +48,7 @@ el:
51
48
  author: Συντάκτης
52
49
  body: Σώμα
53
50
  created_at: Δημιουργήθηκε στις
54
- title: Τίτλος
51
+ title: τίτλος
55
52
  posts:
56
53
  show:
57
54
  back: Επιστροφή στη λίστα
@@ -63,12 +60,6 @@ el:
63
60
  read_more: Διαβάστε περισσότερα
64
61
  components:
65
62
  blogs:
66
- actions:
67
- comment: Σχόλιο
68
- create: Δημιουργία
69
- destroy: Διαγραφή
70
- endorse: Επιδοκιμασία
71
- update: Ενημέρωση
72
63
  name: Ιστολόγιο
73
64
  settings:
74
65
  global: