decidim-blogs 0.26.10 → 0.27.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
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: