decidim-blogs 0.19.0 → 0.22.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/images/decidim/blogs/icon.svg +1 -3
- data/app/cells/decidim/blogs/post_m/footer.erb +1 -1
- data/app/cells/decidim/blogs/post_m_cell.rb +6 -0
- data/app/helpers/decidim/blogs/application_helper.rb +2 -0
- data/app/models/decidim/blogs/post.rb +14 -0
- data/app/types/decidim/blogs/blogs_type.rb +30 -0
- data/app/types/decidim/blogs/post_input_filter.rb +29 -0
- data/app/types/decidim/blogs/post_input_sort.rb +15 -0
- data/app/types/decidim/blogs/post_type.rb +24 -0
- data/app/views/decidim/blogs/posts/_posts.html.erb +4 -4
- data/app/views/decidim/blogs/posts/_sidebar_blog.html.erb +1 -1
- data/app/views/decidim/blogs/posts/show.html.erb +34 -9
- data/config/locales/bg-BG.yml +13 -0
- data/config/locales/ca.yml +4 -0
- data/config/locales/cs.yml +16 -12
- data/config/locales/da-DK.yml +1 -0
- data/config/locales/de.yml +4 -0
- data/config/locales/el-GR.yml +1 -0
- data/config/locales/el.yml +83 -0
- data/config/locales/en.yml +4 -0
- data/config/locales/es-MX.yml +4 -0
- data/config/locales/es-PY.yml +4 -0
- data/config/locales/es.yml +4 -0
- data/config/locales/et-EE.yml +1 -0
- data/config/locales/fi-plain.yml +4 -0
- data/config/locales/fi.yml +8 -4
- data/config/locales/fr-CA.yml +83 -0
- data/config/locales/fr.yml +4 -0
- data/config/locales/ga-IE.yml +1 -0
- data/config/locales/hr-HR.yml +1 -0
- data/config/locales/hu.yml +4 -0
- data/config/locales/is-IS.yml +56 -0
- data/config/locales/it.yml +4 -0
- data/config/locales/ja-JP.yml +82 -0
- data/config/locales/lt-LT.yml +1 -0
- data/config/locales/lv-LV.yml +84 -0
- data/config/locales/mt-MT.yml +1 -0
- data/config/locales/nl.yml +4 -0
- data/config/locales/no.yml +78 -0
- data/config/locales/pl.yml +32 -28
- data/config/locales/pt-BR.yml +1 -1
- data/config/locales/pt.yml +28 -24
- data/config/locales/ro-RO.yml +84 -0
- data/config/locales/ru.yml +2 -0
- data/config/locales/sk-SK.yml +85 -0
- data/config/locales/sk.yml +85 -0
- data/config/locales/sl.yml +5 -0
- data/config/locales/sr-CS.yml +13 -0
- data/config/locales/sv.yml +4 -0
- data/db/migrate/20191212162606_add_user_group_author_to_blogs.rb +7 -0
- data/db/migrate/20200128094730_add_endorsements_counter_cache_to_blogs.rb +7 -0
- data/db/migrate/20200320105910_index_foreign_keys_in_decidim_blogs_posts.rb +7 -0
- data/lib/decidim/blogs/component.rb +8 -0
- data/lib/decidim/blogs/test/factories.rb +8 -0
- data/lib/decidim/blogs/version.rb +1 -1
- metadata +50 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8cb8f64bfea127fa2fde23cbf25c4729458115557822aaede26bc61a823b1d65
|
4
|
+
data.tar.gz: '0878193e5097a3bd752acf469c757d524b8cb36406188c95a9fcac65847d03d7'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba1c230788c9de43e8a24fd3c0c43c2eba1184ea759cdb6753174f96400e21056228203f97814b5dcf78649151d0477b478fc4eeae333ca961257273db78aba7
|
7
|
+
data.tar.gz: 500d550159483b842488c88d1766496c653ce2e04caaab0263af3856ec70c68a71e5d9ce4c3c6bc7b5dd485ea1b09f8f27bda512907c2c7065cead0f8c7e6cfb
|
@@ -1,3 +1 @@
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36">
|
2
|
-
<path d="M18 0C8.07 0 0 8.07 0 18s8.07 18 18 18 18-8.071 18-18S27.93 0 18 0zm0 2c8.85 0 16 7.152 16 16 0 8.848-7.15 16-16 16-8.848 0-16-7.152-16-16C2 9.152 9.152 2 18 2zm-7 9a1 1 0 1 0 0 2h14a1 1 0 1 0 0-2H11zm0 4a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H11zm0 4a1 1 0 1 0 0 2h14a1 1 0 1 0 0-2H11zm0 4a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H11z"/>
|
3
|
-
</svg>
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path d="M18 0C8.07 0 0 8.07 0 18s8.07 18 18 18 18-8.071 18-18S27.93 0 18 0zm0 2c8.85 0 16 7.152 16 16 0 8.848-7.15 16-16 16-8.848 0-16-7.152-16-16C2 9.152 9.152 2 18 2zm-7 9a1 1 0 1 0 0 2h14a1 1 0 1 0 0-2H11zm0 4a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H11zm0 4a1 1 0 1 0 0 2h14a1 1 0 1 0 0-2H11zm0 4a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H11z"/></svg>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div class="card__footer card__footer--spaces">
|
2
2
|
<div class="card__support">
|
3
|
-
<%= link_to t("decidim.blogs.posts.show.view"), resource_path, class: "card__button button--sc light button small
|
3
|
+
<%= link_to t("decidim.blogs.posts.show.view"), resource_path, class: "card__button button--sc light button small" %>
|
4
4
|
</div>
|
5
5
|
</div>
|
@@ -11,6 +11,9 @@ module Decidim
|
|
11
11
|
include Decidim::HasComponent
|
12
12
|
include Decidim::Authorable
|
13
13
|
include Decidim::Comments::Commentable
|
14
|
+
include Decidim::Searchable
|
15
|
+
include Decidim::Endorsable
|
16
|
+
include Decidim::Followable
|
14
17
|
include Traceable
|
15
18
|
include Loggable
|
16
19
|
|
@@ -20,6 +23,13 @@ module Decidim
|
|
20
23
|
|
21
24
|
scope :created_at_desc, -> { order(arel_table[:created_at].desc) }
|
22
25
|
|
26
|
+
searchable_fields(
|
27
|
+
participatory_space: { component: :participatory_space },
|
28
|
+
A: :title,
|
29
|
+
D: :body,
|
30
|
+
datetime: :created_at
|
31
|
+
)
|
32
|
+
|
23
33
|
# Public: Overrides the `commentable?` Commentable concern method.
|
24
34
|
def commentable?
|
25
35
|
component.settings.comments_enabled?
|
@@ -48,6 +58,10 @@ module Decidim
|
|
48
58
|
def user_allowed_to_comment?(user)
|
49
59
|
can_participate_in_space?(user)
|
50
60
|
end
|
61
|
+
|
62
|
+
def users_to_notify_on_comment_created
|
63
|
+
followers
|
64
|
+
end
|
51
65
|
end
|
52
66
|
end
|
53
67
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Blogs
|
5
|
+
BlogsType = GraphQL::ObjectType.define do
|
6
|
+
interfaces [-> { Decidim::Core::ComponentInterface }]
|
7
|
+
|
8
|
+
name "Blogs"
|
9
|
+
description "A blogs component of a participatory space."
|
10
|
+
|
11
|
+
connection :posts,
|
12
|
+
type: PostType.connection_type,
|
13
|
+
description: "List all posts",
|
14
|
+
function: PostListHelper.new(model_class: Post)
|
15
|
+
field :post,
|
16
|
+
type: PostType,
|
17
|
+
description: "Finds one post",
|
18
|
+
function: PostFinderHelper.new(model_class: Post)
|
19
|
+
end
|
20
|
+
|
21
|
+
class PostListHelper < Decidim::Core::ComponentListBase
|
22
|
+
argument :order, PostInputSort, "Provides several methods to order the results"
|
23
|
+
argument :filter, PostInputFilter, "Provides several methods to filter the results"
|
24
|
+
end
|
25
|
+
|
26
|
+
class PostFinderHelper < Decidim::Core::ComponentFinderBase
|
27
|
+
argument :id, !types.ID, "The ID of the post"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Blogs
|
5
|
+
class PostInputFilter < Decidim::Core::BaseInputFilter
|
6
|
+
include Decidim::Core::HasTimestampInputFilter
|
7
|
+
|
8
|
+
graphql_name "PostFilter"
|
9
|
+
description "A type used for filtering posts inside a participatory space.
|
10
|
+
|
11
|
+
A typical query would look like:
|
12
|
+
|
13
|
+
```
|
14
|
+
{
|
15
|
+
participatoryProcesses {
|
16
|
+
components {
|
17
|
+
...on Blogs {
|
18
|
+
posts(filter:{ createdBefore: \"2020-01-01\" }) {
|
19
|
+
id
|
20
|
+
}
|
21
|
+
}
|
22
|
+
}
|
23
|
+
}
|
24
|
+
}
|
25
|
+
```
|
26
|
+
"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Blogs
|
5
|
+
class PostInputSort < Decidim::Core::BaseInputSort
|
6
|
+
include Decidim::Core::HasTimestampInputSort
|
7
|
+
include Decidim::Core::HasEndorsableInputSort
|
8
|
+
|
9
|
+
graphql_name "PostSort"
|
10
|
+
description "A type used for sorting blog posts"
|
11
|
+
|
12
|
+
argument :id, String, "Sort by ID, valid values are ASC or DESC", required: false
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Blogs
|
5
|
+
# This type represents a Post.
|
6
|
+
PostType = GraphQL::ObjectType.define do
|
7
|
+
interfaces [
|
8
|
+
-> { Decidim::Comments::CommentableInterface },
|
9
|
+
-> { Decidim::Core::AttachableInterface },
|
10
|
+
-> { Decidim::Core::AuthorableInterface },
|
11
|
+
-> { Decidim::Core::TraceableInterface },
|
12
|
+
-> { Decidim::Core::EndorsableInterface },
|
13
|
+
-> { Decidim::Core::TimestampsInterface }
|
14
|
+
]
|
15
|
+
|
16
|
+
name "Post"
|
17
|
+
description "A post"
|
18
|
+
|
19
|
+
field :id, !types.ID, "The internal ID of this post"
|
20
|
+
field :title, Decidim::Core::TranslatedFieldType, "The title for this post"
|
21
|
+
field :body, Decidim::Core::TranslatedFieldType, "The body of this post"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
<div class="row small-12">
|
2
2
|
<% paginate_posts.each do |post| %>
|
3
|
-
<
|
3
|
+
<div class="card card--post">
|
4
4
|
<div class="card__content">
|
5
5
|
<div class="card__header">
|
6
6
|
<%= link_to post, class: "card__link" do %>
|
7
|
-
<
|
7
|
+
<h3 class="card__title">
|
8
8
|
<%= translated_attribute post.title %>
|
9
|
-
</
|
9
|
+
</h3>
|
10
10
|
<% end %>
|
11
11
|
<div class="card__author">
|
12
12
|
<%= cell "decidim/author", present(post.author), from: post %>
|
@@ -14,7 +14,7 @@
|
|
14
14
|
</div>
|
15
15
|
<%= decidim_sanitize post_description(post) %>
|
16
16
|
</div>
|
17
|
-
</
|
17
|
+
</div>
|
18
18
|
<% end %>
|
19
19
|
</div>
|
20
20
|
<%= decidim_paginate paginate_posts %>
|
@@ -9,7 +9,7 @@
|
|
9
9
|
<div class="author-data author-data--nopadding">
|
10
10
|
<%= render partial: "datetime", locals: { post: post } %> ·
|
11
11
|
<%= link_to "#{post_path(post)}#comments", title: t(".comments") do %>
|
12
|
-
<%= icon "comment-square", class: "icon--small", aria_label:
|
12
|
+
<%= icon "comment-square", class: "icon--small", aria_label: t(".comments"), role: "img" %>
|
13
13
|
<%= post.comments.count %>
|
14
14
|
<%= t(".comments") %>
|
15
15
|
<% end %>
|
@@ -14,18 +14,43 @@
|
|
14
14
|
blogpost: post
|
15
15
|
)
|
16
16
|
%>
|
17
|
+
|
18
|
+
<div class="row column view-header">
|
19
|
+
<%= link_to :posts, class: "small hollow" do %>
|
20
|
+
<%= icon "chevron-left", class: "icon--small", role: "img", "aria-hidden": true %>
|
21
|
+
<%= t(".back") %>
|
22
|
+
<% end %>
|
23
|
+
<h2 class="heading2"><%= translated_attribute post.title %></h2>
|
24
|
+
<%= cell "decidim/author", present(post.author), from: post %>
|
25
|
+
</div>
|
17
26
|
<div class="row">
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
27
|
+
<% if show_endorsements_card? %>
|
28
|
+
<div class="columns section view-side mediumlarge-4 mediumlarge-push-8 large-3 large-push-9">
|
29
|
+
<div class="card">
|
30
|
+
<div class="card__content">
|
31
|
+
<div class="row collapse buttons__row">
|
32
|
+
<% if endorsements_enabled? %>
|
33
|
+
<div class="column small-9 collapse">
|
34
|
+
<%= endorsement_buttons_cell(post) %>
|
35
|
+
</div>
|
36
|
+
<% end %>
|
37
|
+
<div class="column collapse <%= endorsements_enabled? ? "small-3" : "" %>">
|
38
|
+
<%= link_to "#comments", class: "button small compact hollow button--nomargin expanded" do %>
|
39
|
+
<%= icon "comment-square", class: "icon--small", aria_label: t(".comments"), role: "img" %> <%= post.comments.count %>
|
40
|
+
<% end %>
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
<br>
|
44
|
+
<%= follow_button_for(post) %>
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
</div>
|
48
|
+
<% end %>
|
49
|
+
<div class="columns mediumlarge-8 mediumlarge-pull-4">
|
23
50
|
<div class="section">
|
24
|
-
|
51
|
+
<%= decidim_sanitize translated_attribute post.body %>
|
25
52
|
</div>
|
26
|
-
|
27
|
-
<div id="most-commented" class="columns medium-5 mediumlarge-4 large-4">
|
28
|
-
<%= render partial: "sidebar_blog", locals: { posts: posts_most_commented } %>
|
53
|
+
<%= cell "decidim/endorsers_list", post %>
|
29
54
|
</div>
|
30
55
|
</div>
|
31
56
|
<%= attachments_for post %>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
bg:
|
2
|
+
activemodel:
|
3
|
+
models:
|
4
|
+
decidim/blogs/create_post_event: Нова блог публикация
|
5
|
+
activerecord:
|
6
|
+
models:
|
7
|
+
decidim/blogs/post:
|
8
|
+
one: Публикация
|
9
|
+
other: Публикации
|
10
|
+
decidim:
|
11
|
+
blogs:
|
12
|
+
actions:
|
13
|
+
confirm_destroy: Сигурни ли сте, че желаете да изтриете тази публикация?
|
data/config/locales/ca.yml
CHANGED
@@ -48,6 +48,8 @@ ca:
|
|
48
48
|
title: títol
|
49
49
|
posts:
|
50
50
|
show:
|
51
|
+
back: Tornar al llistat
|
52
|
+
comments: Comentaris
|
51
53
|
view: Veure
|
52
54
|
sidebar_blog:
|
53
55
|
comments: comentaris
|
@@ -63,6 +65,8 @@ ca:
|
|
63
65
|
step:
|
64
66
|
announcement: Avís
|
65
67
|
comments_blocked: Comentaris bloquejats
|
68
|
+
endorsements_blocked: Adhesions bloquejades
|
69
|
+
endorsements_enabled: Adhesions habilitades
|
66
70
|
events:
|
67
71
|
blogs:
|
68
72
|
post_created:
|
data/config/locales/cs.yml
CHANGED
@@ -13,7 +13,7 @@ cs:
|
|
13
13
|
blogs:
|
14
14
|
actions:
|
15
15
|
confirm_destroy: Opravdu chcete tento příspěvek smazat?
|
16
|
-
destroy:
|
16
|
+
destroy: Smazat
|
17
17
|
edit: Upravit
|
18
18
|
new: Nový příspěvek
|
19
19
|
title: Akce
|
@@ -22,23 +22,23 @@ cs:
|
|
22
22
|
components:
|
23
23
|
body: Tělo
|
24
24
|
post:
|
25
|
-
name:
|
25
|
+
name: Příspěvek
|
26
26
|
posts:
|
27
27
|
create:
|
28
28
|
invalid: Při vytváření tohoto příspěvku došlo k potížím
|
29
|
-
success:
|
29
|
+
success: Příspěvek byl úspěšně vytvořen
|
30
30
|
destroy:
|
31
|
-
success:
|
31
|
+
success: Příspěvek byl úspěšně odstraněn
|
32
32
|
edit:
|
33
|
-
save:
|
33
|
+
save: Aktualizovat
|
34
34
|
index:
|
35
35
|
title: Příspěvky
|
36
36
|
new:
|
37
37
|
create: Vytvořit
|
38
|
-
title:
|
38
|
+
title: Vytvořit příspěvek
|
39
39
|
update:
|
40
40
|
invalid: Při ukládání příspěvku došlo k chybám.
|
41
|
-
success:
|
41
|
+
success: Příspěvek byl úspěšně uložen
|
42
42
|
last_activity:
|
43
43
|
new_post_at_html: "<span>Nový příspěvek v %{link}</span>"
|
44
44
|
models:
|
@@ -46,11 +46,13 @@ cs:
|
|
46
46
|
fields:
|
47
47
|
author: Autor
|
48
48
|
body: Tělo
|
49
|
-
created_at: Vytvořeno
|
50
|
-
title:
|
49
|
+
created_at: Vytvořeno v
|
50
|
+
title: titulek
|
51
51
|
posts:
|
52
52
|
show:
|
53
|
-
|
53
|
+
back: Zpět na seznam
|
54
|
+
comments: Komentáře
|
55
|
+
view: Zobrazit
|
54
56
|
sidebar_blog:
|
55
57
|
comments: komentáře
|
56
58
|
most_commented_posts: Nejvíce komentované příspěvky
|
@@ -65,11 +67,13 @@ cs:
|
|
65
67
|
step:
|
66
68
|
announcement: Oznámení
|
67
69
|
comments_blocked: Komentáře byly blokovány
|
70
|
+
endorsements_blocked: Schvalování blokováno
|
71
|
+
endorsements_enabled: Schvalování povoleno
|
68
72
|
events:
|
69
73
|
blogs:
|
70
74
|
post_created:
|
71
|
-
email_intro:
|
72
|
-
email_outro:
|
75
|
+
email_intro: Příspěvek "%{resource_title}" byl zveřejněn v "%{participatory_space_title}", který sledujete.
|
76
|
+
email_outro: Obdrželi jste toto oznámení, protože sledujete "%{participatory_space_title}". Můžete ho zrušit z předchozího odkazu.
|
73
77
|
email_subject: Nový příspěvek publikován v %{participatory_space_title}
|
74
78
|
notification_title: Příspěvek <a href="%{resource_path}">%{resource_title}</a> byl zveřejněn ve %{participatory_space_title}
|
75
79
|
pages:
|
@@ -0,0 +1 @@
|
|
1
|
+
da:
|
data/config/locales/de.yml
CHANGED
@@ -48,6 +48,8 @@ de:
|
|
48
48
|
title: Titel
|
49
49
|
posts:
|
50
50
|
show:
|
51
|
+
back: Zurück zur Liste
|
52
|
+
comments: Kommentare
|
51
53
|
view: Aussicht
|
52
54
|
sidebar_blog:
|
53
55
|
comments: Bemerkungen
|
@@ -63,6 +65,8 @@ de:
|
|
63
65
|
step:
|
64
66
|
announcement: Ankündigung
|
65
67
|
comments_blocked: Kommentare blockiert
|
68
|
+
endorsements_blocked: Unterstützung deaktiviert
|
69
|
+
endorsements_enabled: Unterstützung aktiviert
|
66
70
|
events:
|
67
71
|
blogs:
|
68
72
|
post_created:
|
@@ -0,0 +1 @@
|
|
1
|
+
el:
|
@@ -0,0 +1,83 @@
|
|
1
|
+
el:
|
2
|
+
activemodel:
|
3
|
+
models:
|
4
|
+
decidim/blogs/create_post_event: Νέα δημοσίευση ιστολογίου
|
5
|
+
activerecord:
|
6
|
+
models:
|
7
|
+
decidim/blogs/post:
|
8
|
+
one: Δημοσίευση
|
9
|
+
other: Δημοσιεύσεις
|
10
|
+
decidim:
|
11
|
+
blogs:
|
12
|
+
actions:
|
13
|
+
confirm_destroy: Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτήν τη δημοσίευση;
|
14
|
+
destroy: Διαγραφή
|
15
|
+
edit: Επεξεργασία
|
16
|
+
new: Νέα δημοσίευση
|
17
|
+
title: Ενέργειες
|
18
|
+
admin:
|
19
|
+
models:
|
20
|
+
components:
|
21
|
+
body: Σώμα
|
22
|
+
post:
|
23
|
+
name: Δημοσίευση
|
24
|
+
posts:
|
25
|
+
create:
|
26
|
+
invalid: Υπήρξε ένα πρόβλημα κατά τη δημιουργία αυτής της δημοσίευσης
|
27
|
+
success: Η δημοσίευση δημιουργήθηκε με επιτυχία
|
28
|
+
destroy:
|
29
|
+
success: Η δημοσίευση διαγράφηκε με επιτυχία
|
30
|
+
edit:
|
31
|
+
save: Ενημέρωση
|
32
|
+
index:
|
33
|
+
title: Δημοσιεύσεις
|
34
|
+
new:
|
35
|
+
create: Δημιουργία
|
36
|
+
title: Δημιουργία δημοσίευσης
|
37
|
+
update:
|
38
|
+
invalid: Υπήρξε ένα πρόβλημα κατά την αποθήκευση της δημοσίευσης.
|
39
|
+
success: Η δημοσίευση αποθηκεύτηκε με επιτυχία
|
40
|
+
last_activity:
|
41
|
+
new_post_at_html: "<span>Νέα δημοσίευση στις %{link}</span>"
|
42
|
+
models:
|
43
|
+
post:
|
44
|
+
fields:
|
45
|
+
author: Συντάκτης
|
46
|
+
body: Σώμα
|
47
|
+
created_at: Δημιουργήθηκε στις
|
48
|
+
title: τίτλος
|
49
|
+
posts:
|
50
|
+
show:
|
51
|
+
back: Επιστροφή στη λίστα
|
52
|
+
comments: Σχόλια
|
53
|
+
view: Προβολή
|
54
|
+
sidebar_blog:
|
55
|
+
comments: σχόλια
|
56
|
+
most_commented_posts: Δημοσιεύσεις με τα περισσότερα σχόλια
|
57
|
+
read_more: Διαβάστε περισσότερα
|
58
|
+
components:
|
59
|
+
blogs:
|
60
|
+
name: Ιστολόγιο
|
61
|
+
settings:
|
62
|
+
global:
|
63
|
+
announcement: Ανακοίνωση
|
64
|
+
comments_enabled: Τα σχόλια ενεργοποιήθηκαν
|
65
|
+
step:
|
66
|
+
announcement: Ανακοίνωση
|
67
|
+
comments_blocked: Τα σχόλια αποκλείστηκαν
|
68
|
+
endorsements_blocked: Επιδοκιμασίες αποκλεισμένες
|
69
|
+
endorsements_enabled: Επιδοκιμασίες ενεργοποιημένες
|
70
|
+
events:
|
71
|
+
blogs:
|
72
|
+
post_created:
|
73
|
+
email_intro: Η δημοσίευση «%{resource_title}» έχει δημοσιευτεί στον χώρο συμμετοχής «%{participatory_space_title}» που ακολουθείτε.
|
74
|
+
email_outro: Λάβατε αυτήν την ειδοποίηση επειδή ακολουθείτε τον χώρο συμμετοχής «%{participatory_space_title}». Μπορείτε να σταματήσετε να τον ακολουθείτε από τον προηγούμενο σύνδεσμο.
|
75
|
+
email_subject: Νέα δημοσίευση δημοσιεύτηκε στον χώρο συμμετοχής %{participatory_space_title}
|
76
|
+
notification_title: Η δημοσίευση <a href="%{resource_path}">%{resource_title}</a> δημοσιεύτηκε στον χώρο συμμετοχής %{participatory_space_title}
|
77
|
+
pages:
|
78
|
+
home:
|
79
|
+
statistics:
|
80
|
+
posts_count: Δημοσιεύσεις
|
81
|
+
participatory_processes:
|
82
|
+
statistics:
|
83
|
+
posts_count: Δημοσιεύσεις
|