decidim-comments 0.25.0.rc2 → 0.25.1
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.
- checksums.yaml +4 -4
- data/app/packs/src/decidim/comments/comments.component.js +24 -23
- data/app/packs/src/decidim/comments/comments.component.test.js +67 -2
- data/app/queries/decidim/comments/sorted_comments.rb +8 -6
- data/app/views/decidim/comments/comments/create.js.erb +2 -2
- data/app/views/decidim/comments/comments/update.js.erb +18 -4
- data/config/locales/ca.yml +18 -0
- data/config/locales/de.yml +18 -0
- data/config/locales/el.yml +44 -1
- data/config/locales/es-MX.yml +18 -0
- data/config/locales/es-PY.yml +18 -0
- data/config/locales/es.yml +18 -0
- data/config/locales/eu.yml +58 -0
- data/config/locales/ga-IE.yml +51 -0
- data/config/locales/lb.yml +162 -0
- data/config/locales/pl.yml +18 -0
- data/config/locales/pt.yml +46 -3
- data/config/locales/ro-RO.yml +60 -60
- data/config/locales/si-LK.yml +20 -0
- data/lib/decidim/comments/engine.rb +4 -0
- data/lib/decidim/comments/version.rb +1 -1
- data/lib/tasks/decidim_comments.rake +12 -1
- metadata +11 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4a5b6c36fa330c80091a3962638dc00b8053bfc94a9eccfbb8ed11074ddb1f63
|
|
4
|
+
data.tar.gz: ad533cc203a79d10f506f7181ef65a59eda8a8a666640d5cc54d3ea5d691964f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 817873be527ccc087a0ba059fcee7c47a73607dd8366ec2c10f22ff4fe2df01bb727badfa149c8541056680f0d3284441f6d73f092371f92aa8f60f03e564c64
|
|
7
|
+
data.tar.gz: 8be9c7a62a9da1b868a65aa8f38cd0a361ae1bf7095faac98fd9103450e5581498efa77b8ade6d93813279cc5d45a50a1cd4fc5485d841d6856f482ce1edc45e
|
|
@@ -37,12 +37,7 @@ export default class CommentsComponent {
|
|
|
37
37
|
this.mounted = true;
|
|
38
38
|
this._initializeComments(this.$element);
|
|
39
39
|
|
|
40
|
-
$(".order-by__dropdown .is-submenu-item a", this.$element).on(
|
|
41
|
-
"click.decidim-comments",
|
|
42
|
-
() => {
|
|
43
|
-
this._onInitOrder();
|
|
44
|
-
}
|
|
45
|
-
);
|
|
40
|
+
$(".order-by__dropdown .is-submenu-item a", this.$element).on("click.decidim-comments", () => this._onInitOrder());
|
|
46
41
|
}
|
|
47
42
|
}
|
|
48
43
|
|
|
@@ -68,14 +63,16 @@ export default class CommentsComponent {
|
|
|
68
63
|
* Adds a new thread to the comments section.
|
|
69
64
|
* @public
|
|
70
65
|
* @param {String} threadHtml - The HTML content for the thread.
|
|
66
|
+
* @param {Boolean} fromCurrentUser - A boolean indicating whether the user
|
|
67
|
+
* herself was the author of the new thread. Defaults to false.
|
|
71
68
|
* @returns {Void} - Returns nothing
|
|
72
69
|
*/
|
|
73
|
-
addThread(threadHtml) {
|
|
70
|
+
addThread(threadHtml, fromCurrentUser = false) {
|
|
74
71
|
const $parent = $(".comments:first", this.$element);
|
|
75
72
|
const $comment = $(threadHtml);
|
|
76
73
|
const $threads = $(".comment-threads", this.$element);
|
|
77
74
|
this._addComment($threads, $comment);
|
|
78
|
-
this._finalizeCommentCreation($parent);
|
|
75
|
+
this._finalizeCommentCreation($parent, fromCurrentUser);
|
|
79
76
|
}
|
|
80
77
|
|
|
81
78
|
/**
|
|
@@ -84,15 +81,17 @@ export default class CommentsComponent {
|
|
|
84
81
|
* @param {Number} commentId - The ID of the comment for which to add the
|
|
85
82
|
* reply to.
|
|
86
83
|
* @param {String} replyHtml - The HTML content for the reply.
|
|
84
|
+
* @param {Boolean} fromCurrentUser - A boolean indicating whether the user
|
|
85
|
+
* herself was the author of the new reply. Defaults to false.
|
|
87
86
|
* @returns {Void} - Returns nothing
|
|
88
87
|
*/
|
|
89
|
-
addReply(commentId, replyHtml) {
|
|
88
|
+
addReply(commentId, replyHtml, fromCurrentUser = false) {
|
|
90
89
|
const $parent = $(`#comment_${commentId}`);
|
|
91
90
|
const $comment = $(replyHtml);
|
|
92
91
|
const $replies = $(`#comment-${commentId}-replies`);
|
|
93
92
|
this._addComment($replies, $comment);
|
|
94
93
|
$replies.siblings(".comment__additionalreply").removeClass("hide");
|
|
95
|
-
this._finalizeCommentCreation($parent);
|
|
94
|
+
this._finalizeCommentCreation($parent, fromCurrentUser);
|
|
96
95
|
}
|
|
97
96
|
|
|
98
97
|
/**
|
|
@@ -170,18 +169,22 @@ export default class CommentsComponent {
|
|
|
170
169
|
* successfully.
|
|
171
170
|
* @private
|
|
172
171
|
* @param {jQuery} $parent - The parent comment element to finalize.
|
|
172
|
+
* @param {Boolean} fromCurrentUser - A boolean indicating whether the user
|
|
173
|
+
* herself was the author of the new comment.
|
|
173
174
|
* @returns {Void} - Returns nothing
|
|
174
175
|
*/
|
|
175
|
-
_finalizeCommentCreation($parent) {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
characterCounter
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
176
|
+
_finalizeCommentCreation($parent, fromCurrentUser) {
|
|
177
|
+
if (fromCurrentUser) {
|
|
178
|
+
const $add = $("> .add-comment", $parent);
|
|
179
|
+
const $text = $("textarea", $add);
|
|
180
|
+
const characterCounter = $text.data("remaining-characters-counter");
|
|
181
|
+
$text.val("");
|
|
182
|
+
if (characterCounter) {
|
|
183
|
+
characterCounter.updateStatus();
|
|
184
|
+
}
|
|
185
|
+
if (!$add.parent().is(".comments")) {
|
|
186
|
+
$add.addClass("hide");
|
|
187
|
+
}
|
|
185
188
|
}
|
|
186
189
|
|
|
187
190
|
// Restart the polling
|
|
@@ -207,9 +210,7 @@ export default class CommentsComponent {
|
|
|
207
210
|
order: this.order,
|
|
208
211
|
after: this.lastCommentId
|
|
209
212
|
}
|
|
210
|
-
}).done(() =>
|
|
211
|
-
this._pollComments();
|
|
212
|
-
});
|
|
213
|
+
}).done(() => this._pollComments());
|
|
213
214
|
}, this.pollingInterval);
|
|
214
215
|
}
|
|
215
216
|
|
|
@@ -558,17 +558,82 @@ describe("CommentsComponent", () => {
|
|
|
558
558
|
"This is a dynamically added comment"
|
|
559
559
|
));
|
|
560
560
|
});
|
|
561
|
+
|
|
562
|
+
it("does not clear the comment form text area", () => {
|
|
563
|
+
const commentSection = addComment[addComment.length - 1];
|
|
564
|
+
const textArea = $("textarea", commentSection);
|
|
565
|
+
textArea.val("I am writing a new comment...");
|
|
566
|
+
|
|
567
|
+
const newThread = generateCommentThread(999, "This is a dynamically added comment");
|
|
568
|
+
subject.addThread(newThread);
|
|
569
|
+
|
|
570
|
+
expect(textArea.val()).toEqual("I am writing a new comment...");
|
|
571
|
+
});
|
|
572
|
+
|
|
573
|
+
describe("as the current user", () => {
|
|
574
|
+
it("clears the comment form text area", () => {
|
|
575
|
+
const commentSection = addComment[addComment.length - 1];
|
|
576
|
+
const textArea = $("textarea", commentSection);
|
|
577
|
+
textArea.val("I am writing a new comment...");
|
|
578
|
+
|
|
579
|
+
const newThread = generateCommentThread(999, "This is a dynamically added comment");
|
|
580
|
+
subject.addThread(newThread, true);
|
|
581
|
+
|
|
582
|
+
expect(textArea.val()).toEqual("");
|
|
583
|
+
});
|
|
584
|
+
});
|
|
561
585
|
});
|
|
562
586
|
|
|
563
587
|
describe("addReply", () => {
|
|
588
|
+
const newReply = generateSingleComment(999, "This is a dynamically added reply");
|
|
589
|
+
|
|
564
590
|
it("adds a new reply to an existing thread", () => {
|
|
565
|
-
|
|
566
|
-
subject.addReply(450, newThread);
|
|
591
|
+
subject.addReply(450, newReply);
|
|
567
592
|
|
|
568
593
|
expect(subject.$element.html()).toEqual(expect.stringContaining(
|
|
569
594
|
"This is a dynamically added reply"
|
|
570
595
|
));
|
|
571
596
|
});
|
|
597
|
+
|
|
598
|
+
it("does not clear the reply comment form text area", () => {
|
|
599
|
+
const commentSection = $("#comment450-reply", subject.$element);
|
|
600
|
+
const textArea = $("textarea", commentSection);
|
|
601
|
+
textArea.val("I am writing a new comment...");
|
|
602
|
+
|
|
603
|
+
subject.addReply(450, newReply);
|
|
604
|
+
|
|
605
|
+
expect(textArea.val()).toEqual("I am writing a new comment...");
|
|
606
|
+
});
|
|
607
|
+
|
|
608
|
+
it("does not hide the reply form", () => {
|
|
609
|
+
const commentSection = $("#comment450-reply", subject.$element);
|
|
610
|
+
commentSection.removeClass("hide");
|
|
611
|
+
|
|
612
|
+
subject.addReply(450, newReply);
|
|
613
|
+
|
|
614
|
+
expect(commentSection.hasClass("hide")).toBeFalsy();
|
|
615
|
+
});
|
|
616
|
+
|
|
617
|
+
describe("as the current user", () => {
|
|
618
|
+
it("clears the comment form text area", () => {
|
|
619
|
+
const commentSection = $("#comment450-reply", subject.$element);
|
|
620
|
+
const textArea = $("textarea", commentSection);
|
|
621
|
+
textArea.val("I am writing a new comment...");
|
|
622
|
+
|
|
623
|
+
subject.addReply(450, newReply, true);
|
|
624
|
+
|
|
625
|
+
expect(textArea.val()).toEqual("");
|
|
626
|
+
});
|
|
627
|
+
|
|
628
|
+
it("hides the reply form", () => {
|
|
629
|
+
const commentSection = $("#comment450-reply", subject.$element);
|
|
630
|
+
commentSection.removeClass("hide");
|
|
631
|
+
|
|
632
|
+
subject.addReply(450, newReply, true);
|
|
633
|
+
|
|
634
|
+
expect(commentSection.hasClass("hide")).toBeTruthy();
|
|
635
|
+
});
|
|
636
|
+
});
|
|
572
637
|
});
|
|
573
638
|
});
|
|
574
639
|
|
|
@@ -33,12 +33,6 @@ module Decidim
|
|
|
33
33
|
scope = base_scope
|
|
34
34
|
.not_hidden
|
|
35
35
|
.includes(:author, :user_group, :up_votes, :down_votes)
|
|
36
|
-
if @options[:after]
|
|
37
|
-
scope = scope.where(
|
|
38
|
-
"decidim_comments_comments.id > ?",
|
|
39
|
-
@options[:after]
|
|
40
|
-
)
|
|
41
|
-
end
|
|
42
36
|
|
|
43
37
|
case @options[:order_by]
|
|
44
38
|
when "older"
|
|
@@ -60,6 +54,14 @@ module Decidim
|
|
|
60
54
|
id = @options[:id]
|
|
61
55
|
return Comment.where(root_commentable: commentable, id: id) if id.present?
|
|
62
56
|
|
|
57
|
+
after = @options[:after]
|
|
58
|
+
if after.present?
|
|
59
|
+
return Comment.where(root_commentable: commentable).where(
|
|
60
|
+
"decidim_comments_comments.id > ?",
|
|
61
|
+
after
|
|
62
|
+
)
|
|
63
|
+
end
|
|
64
|
+
|
|
63
65
|
Comment.where(commentable: commentable)
|
|
64
66
|
end
|
|
65
67
|
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
var $comments = $("#" + rootCommentableId);
|
|
7
7
|
var component = $comments.data("comments");
|
|
8
8
|
if (inReplyTo) {
|
|
9
|
-
component.addReply(inReplyTo, commentHtml);
|
|
9
|
+
component.addReply(inReplyTo, commentHtml, true);
|
|
10
10
|
} else {
|
|
11
|
-
component.addThread(commentHtml);
|
|
11
|
+
component.addThread(commentHtml, true);
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
// Update the comments count
|
|
@@ -1,8 +1,22 @@
|
|
|
1
1
|
$(() => {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
var rootCommentableId = <%== "comments-for-#{@comment.commentable.commentable_type.demodulize}-#{@comment.commentable.id}".to_json %>;
|
|
3
|
+
var $comments = $("#" + rootCommentableId);
|
|
4
|
+
var config = $comments.data("decidim-comments");
|
|
5
|
+
|
|
6
|
+
component = new Decidim.CommentsComponent($comments, config);
|
|
7
|
+
component.unmountComponent();
|
|
8
|
+
|
|
9
|
+
var commentHtml = '<%== j(render partial: "edited_comment", locals: { comment: @comment }).strip %>';
|
|
10
|
+
var commentId = <%= @comment.id.to_json %>;
|
|
11
|
+
var $comment = $("#comment_<%= @comment.id %>");
|
|
6
12
|
|
|
7
13
|
$comment.replaceWith(commentHtml);
|
|
14
|
+
|
|
15
|
+
$comments = $("#" + rootCommentableId);
|
|
16
|
+
$comments.foundation();
|
|
17
|
+
|
|
18
|
+
// Re-create the component
|
|
19
|
+
component = new Decidim.CommentsComponent($comments, $comments.data("decidim-comments"));
|
|
20
|
+
component.mountComponent();
|
|
21
|
+
$comments.data("comments", component);
|
|
8
22
|
});
|
data/config/locales/ca.yml
CHANGED
|
@@ -19,6 +19,10 @@ ca:
|
|
|
19
19
|
comments:
|
|
20
20
|
create:
|
|
21
21
|
error: S'ha produït un error en crear el comentari.
|
|
22
|
+
delete:
|
|
23
|
+
error: El comentari no s'ha pogut eliminar.
|
|
24
|
+
update:
|
|
25
|
+
error: S'ha produït un error en actualitzar el comentari.
|
|
22
26
|
comments_count: Número de comentaris
|
|
23
27
|
comments_title: Comentaris
|
|
24
28
|
last_activity:
|
|
@@ -53,7 +57,12 @@ ca:
|
|
|
53
57
|
alignment:
|
|
54
58
|
against: En contra
|
|
55
59
|
in_favor: A favor
|
|
60
|
+
confirm_destroy: Segur que vols esborrar aquest comentari?
|
|
61
|
+
delete: Esborrar
|
|
62
|
+
deleted_at: Comentari esborrat el %{date}
|
|
56
63
|
deleted_user: Participant eliminada
|
|
64
|
+
edit: Editar
|
|
65
|
+
edited: Editat
|
|
57
66
|
hide_replies: Oculta les respostes
|
|
58
67
|
reply: Respondre
|
|
59
68
|
report:
|
|
@@ -68,6 +77,7 @@ ca:
|
|
|
68
77
|
spam: Conté "clickbait", publicitat o estafes.
|
|
69
78
|
title: Notificar contingut inapropiat
|
|
70
79
|
show_replies: Mostra %{replies_count} respostes
|
|
80
|
+
single_comment_link_title: Obtenir enllaç
|
|
71
81
|
comment_order_selector:
|
|
72
82
|
order:
|
|
73
83
|
best_rated: Més ben valorats
|
|
@@ -90,6 +100,14 @@ ca:
|
|
|
90
100
|
other: "%{count} comentaris"
|
|
91
101
|
down_vote_button:
|
|
92
102
|
text: No estic d'acord amb aquest comentari
|
|
103
|
+
edit_comment_modal_form:
|
|
104
|
+
close: Tancar
|
|
105
|
+
form:
|
|
106
|
+
body:
|
|
107
|
+
label: Comentar
|
|
108
|
+
placeholder: Què opines sobre això?
|
|
109
|
+
submit: Enviar
|
|
110
|
+
title: Edita el teu comentari
|
|
93
111
|
up_vote_button:
|
|
94
112
|
text: Estic d'acord amb aquest comentari
|
|
95
113
|
events:
|
data/config/locales/de.yml
CHANGED
|
@@ -19,6 +19,10 @@ de:
|
|
|
19
19
|
comments:
|
|
20
20
|
create:
|
|
21
21
|
error: Beim Erstellen des Kommentars ist ein Fehler aufgetreten.
|
|
22
|
+
delete:
|
|
23
|
+
error: Die Sendung konnte nicht gelöscht werden.
|
|
24
|
+
update:
|
|
25
|
+
error: Beim Erstellen des Kommentars ist ein Fehler aufgetreten.
|
|
22
26
|
comments_count: Kommentaranzahl
|
|
23
27
|
comments_title: Kommentare
|
|
24
28
|
last_activity:
|
|
@@ -53,7 +57,12 @@ de:
|
|
|
53
57
|
alignment:
|
|
54
58
|
against: Gegen
|
|
55
59
|
in_favor: Zugunsten
|
|
60
|
+
confirm_destroy: Bist du sicher, dass du diesen Kommentar löschen willst?
|
|
61
|
+
delete: Löschen
|
|
62
|
+
deleted_at: Kommentar gelöscht am %{date}
|
|
56
63
|
deleted_user: Gelöschter Benutzer
|
|
64
|
+
edit: Bearbeiten
|
|
65
|
+
edited: Bearbeitet
|
|
57
66
|
hide_replies: Antworten verbergen
|
|
58
67
|
reply: Antworten
|
|
59
68
|
report:
|
|
@@ -68,6 +77,7 @@ de:
|
|
|
68
77
|
spam: Enthält Clickbait, Werbung, Scams oder Script Bots.
|
|
69
78
|
title: Ungeeigneten Inhalt melden
|
|
70
79
|
show_replies: '%{replies_count} Antworten anzeigen'
|
|
80
|
+
single_comment_link_title: Link erhalten
|
|
71
81
|
comment_order_selector:
|
|
72
82
|
order:
|
|
73
83
|
best_rated: Am besten bewertet
|
|
@@ -90,6 +100,14 @@ de:
|
|
|
90
100
|
other: "%{count} Kommentare"
|
|
91
101
|
down_vote_button:
|
|
92
102
|
text: Ich bin mit diesem Kommentar nicht einverstanden
|
|
103
|
+
edit_comment_modal_form:
|
|
104
|
+
close: Schliessen
|
|
105
|
+
form:
|
|
106
|
+
body:
|
|
107
|
+
label: Kommentar
|
|
108
|
+
placeholder: Was denken Sie darüber?
|
|
109
|
+
submit: Senden
|
|
110
|
+
title: Kommentar bearbeiten
|
|
93
111
|
up_vote_button:
|
|
94
112
|
text: Ich stimme diesem Kommentar zu
|
|
95
113
|
events:
|
data/config/locales/el.yml
CHANGED
|
@@ -16,9 +16,18 @@ el:
|
|
|
16
16
|
other: Ψήφοι
|
|
17
17
|
decidim:
|
|
18
18
|
comments:
|
|
19
|
+
comments:
|
|
20
|
+
create:
|
|
21
|
+
error: Υπήρξε ένα πρόβλημα στη δημιουργία του σχολίου.
|
|
22
|
+
delete:
|
|
23
|
+
error: Το σχόλιο δεν μπορούσε να διαγραφεί.
|
|
24
|
+
update:
|
|
25
|
+
error: Υπήρξε ένα πρόβλημα στην ενημέρωση του σχολίου.
|
|
19
26
|
comments_count: Αριθμός σχολίων
|
|
27
|
+
comments_title: Σχόλια
|
|
20
28
|
last_activity:
|
|
21
29
|
new_comment_at_html: "<span>Νέο σχόλιο στο %{link}</span>"
|
|
30
|
+
view: Προβολή
|
|
22
31
|
votes:
|
|
23
32
|
create:
|
|
24
33
|
error: Υπήρξε ένα πρόβλημα κατά την ψηφοφορία του σχολίου.
|
|
@@ -34,7 +43,13 @@ el:
|
|
|
34
43
|
user_group_id:
|
|
35
44
|
label: Σχόλιο ως
|
|
36
45
|
opinion:
|
|
37
|
-
|
|
46
|
+
label: Η γνώμη σας για το θέμα αυτό
|
|
47
|
+
negative: Αρνητική
|
|
48
|
+
negative_selected: Η γνώμη σας για το θέμα αυτό είναι αρνητική
|
|
49
|
+
neutral: Ουδέτερη
|
|
50
|
+
neutral_selected: Η γνώμη σας για το θέμα αυτό είναι ουδέτερη
|
|
51
|
+
positive: Θετική
|
|
52
|
+
positive_selected: Η γνώμη σας για το θέμα αυτό είναι θετική
|
|
38
53
|
remaining_characters: "%{count} χαρακτήρες απομένουν"
|
|
39
54
|
remaining_characters_1: "%{count} χαρακτήρας απομένει"
|
|
40
55
|
title: Προσθέστε το σχόλιό σας
|
|
@@ -42,7 +57,12 @@ el:
|
|
|
42
57
|
alignment:
|
|
43
58
|
against: Κατά
|
|
44
59
|
in_favor: Υπέρ
|
|
60
|
+
confirm_destroy: Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το σχόλιο;
|
|
61
|
+
delete: Διαγραφή
|
|
62
|
+
deleted_at: Σχόλιο διεγράφη στις %{date}
|
|
45
63
|
deleted_user: Διαγραμμένος συμμετέχων
|
|
64
|
+
edit: Επεξεργασία
|
|
65
|
+
edited: Επεξεργασμένο
|
|
46
66
|
hide_replies: Απόκρυψη απαντήσεων
|
|
47
67
|
reply: Απάντηση
|
|
48
68
|
report:
|
|
@@ -57,6 +77,7 @@ el:
|
|
|
57
77
|
spam: Περιέχει clickbait, διαφημίσεις, απάτες ή script bot.
|
|
58
78
|
title: Αναφορά ακατάλληλου περιεχομένου
|
|
59
79
|
show_replies: Εμφάνιση %{replies_count} απαντήσεων
|
|
80
|
+
single_comment_link_title: Αποκτήστε σύνδεσμο
|
|
60
81
|
comment_order_selector:
|
|
61
82
|
order:
|
|
62
83
|
best_rated: Με την καλύτερη βαθμολογία
|
|
@@ -67,14 +88,26 @@ el:
|
|
|
67
88
|
comment_thread:
|
|
68
89
|
title: Συζήτηση με τον συντάκτη %{authorName}
|
|
69
90
|
comments:
|
|
91
|
+
blocked_comments_for_unauthorized_user_warning: Πρέπει να επαληθευτείτε για να σχολιάσετε αυτή τη στιγμή, αλλά μπορείτε να διαβάσετε τα προηγούμενα.
|
|
70
92
|
blocked_comments_for_user_warning: Δεν μπορείτε να σχολιάσετε αυτήν τη στιγμή, αλλά μπορείτε να διαβάσετε τα προηγούμενα σχόλια.
|
|
71
93
|
blocked_comments_warning: Τα σχόλια είναι απενεργοποιημένα αυτήν τη στιγμή, αλλά μπορείτε να διαβάσετε τα προηγούμενα σχόλια.
|
|
72
94
|
comment_details_title: Λεπτομέρειες σχολίων
|
|
73
95
|
loading: Φόρτωση σχολίων...
|
|
74
96
|
single_comment_warning: Μπορείτε να δείτε τα υπόλοιπα σχόλια <a href="%{url}">εδώ</a>.
|
|
75
97
|
single_comment_warning_title: Βλέπετε ένα μόνο σχόλιο
|
|
98
|
+
title:
|
|
99
|
+
one: "%{count} σχόλιο"
|
|
100
|
+
other: "%{count} σχόλια"
|
|
76
101
|
down_vote_button:
|
|
77
102
|
text: Δεν συμφωνώ με αυτό το σχόλιο
|
|
103
|
+
edit_comment_modal_form:
|
|
104
|
+
close: Κλείσιμο
|
|
105
|
+
form:
|
|
106
|
+
body:
|
|
107
|
+
label: Σχόλιο
|
|
108
|
+
placeholder: Τι πιστεύετε γι' αυτό;
|
|
109
|
+
submit: Αποστολή
|
|
110
|
+
title: Επεξεργαστείτε το σχόλιό σας
|
|
78
111
|
up_vote_button:
|
|
79
112
|
text: Συμφωνώ με αυτό το σχόλιο
|
|
80
113
|
events:
|
|
@@ -94,6 +127,16 @@ el:
|
|
|
94
127
|
email_outro: Λάβατε αυτήν την ειδοποίηση επειδή ακολουθείτε το στοιχείο «%{resource_title}» ή τον συντάκτη του. Μπορείτε να σταματήσετε να την ακολουθείτε από τον προηγούμενο σύνδεσμο.
|
|
95
128
|
email_subject: Υπάρχει ένα νέο σχόλιο από τον συντάκτη %{author_name} στο στοιχείο %{resource_title}
|
|
96
129
|
notification_title: Υπάρχει ένα νέο σχόλιο από τον συντάκτη<a href="%{author_path}">%{author_name} %{author_nickname}</a> στο στοιχείο <a href="%{resource_path}">%{resource_title}</a>
|
|
130
|
+
comment_downvoted:
|
|
131
|
+
email_intro: Το σχόλιό σας στο "%{resource_title}" έχει καταψηφιστεί. Τώρα έχει συνολικές ψήφους %{upvotes} υπέρ και %{downvotes} κατά.
|
|
132
|
+
email_outro: Λάβατε αυτή την ειδοποίηση επειδή είστε ο συγγραφέας αυτού του σχολίου.
|
|
133
|
+
email_subject: Το σχόλιό σας στο "%{resource_title}" έχει καταψηφιστεί.
|
|
134
|
+
notification_title: Το <a href="%{resource_path}">σχόλιό</a> σας στο "%{resource_title}" έχει καταψηφιστεί. Τώρα έχει συνολικές ψήφους %{upvotes} υπέρ και %{downvotes} κατά.
|
|
135
|
+
comment_upvoted:
|
|
136
|
+
email_intro: Το σχόλιό σας στο "%{resource_title}" έχει υπερψηφιστεί. Τώρα έχει συνολικές ψήφους %{upvotes} υπέρ και %{downvotes} κατά.
|
|
137
|
+
email_outro: Λάβατε αυτή την ειδοποίηση επειδή είστε ο συγγραφέας αυτού του σχολίου.
|
|
138
|
+
email_subject: Το σχόλιό σας στο "%{resource_title}" έχει υπςρψηφιστεί.
|
|
139
|
+
notification_title: Το <a href="%{resource_path}">σχόλιό</a> σας στο "%{resource_title}" έχει υπερψηφιστεί. Τώρα έχει συνολικές ψήφους %{upvotes} υπέρ και %{downvotes} κατά.
|
|
97
140
|
reply_created:
|
|
98
141
|
email_intro: "Ο συντάκτης %{author_name} απάντησε στο σχόλιό σας στο στοιχείο %{resource_title}. Μπορείτε να το διαβάσετε σε αυτήν τη σελίδα:"
|
|
99
142
|
email_outro: Λάβατε αυτήν την ειδοποίηση, επειδή το σχόλιό σας απαντήθηκε.
|
data/config/locales/es-MX.yml
CHANGED
|
@@ -19,6 +19,10 @@ es-MX:
|
|
|
19
19
|
comments:
|
|
20
20
|
create:
|
|
21
21
|
error: Se ha producido un error al crear el comentario.
|
|
22
|
+
delete:
|
|
23
|
+
error: El comentario no pudo ser eliminado.
|
|
24
|
+
update:
|
|
25
|
+
error: Se ha producido un error al actualizar el comentario.
|
|
22
26
|
comments_count: Número de comentarios
|
|
23
27
|
comments_title: Comentarios
|
|
24
28
|
last_activity:
|
|
@@ -53,7 +57,12 @@ es-MX:
|
|
|
53
57
|
alignment:
|
|
54
58
|
against: En contra
|
|
55
59
|
in_favor: A favor
|
|
60
|
+
confirm_destroy: '¿Seguro que quieres eliminar este comentario?'
|
|
61
|
+
delete: Eliminar
|
|
62
|
+
deleted_at: Comentario eliminado el %{date}
|
|
56
63
|
deleted_user: Usuario eliminado
|
|
64
|
+
edit: Editar
|
|
65
|
+
edited: Editado
|
|
57
66
|
hide_replies: Ocultar respuestas
|
|
58
67
|
reply: Respuesta
|
|
59
68
|
report:
|
|
@@ -68,6 +77,7 @@ es-MX:
|
|
|
68
77
|
spam: Contiene clickbait, publicidad o estafas.
|
|
69
78
|
title: Notificar contenido inapropiado
|
|
70
79
|
show_replies: Mostrar %{replies_count} respuestas
|
|
80
|
+
single_comment_link_title: Obtener enlace
|
|
71
81
|
comment_order_selector:
|
|
72
82
|
order:
|
|
73
83
|
best_rated: Mejor valoración
|
|
@@ -90,6 +100,14 @@ es-MX:
|
|
|
90
100
|
other: "%{count} comentarios"
|
|
91
101
|
down_vote_button:
|
|
92
102
|
text: No estoy de acuerdo con este comentario
|
|
103
|
+
edit_comment_modal_form:
|
|
104
|
+
close: Cerrar
|
|
105
|
+
form:
|
|
106
|
+
body:
|
|
107
|
+
label: Comentario
|
|
108
|
+
placeholder: '¿Qué opinas sobre esto?'
|
|
109
|
+
submit: Enviar
|
|
110
|
+
title: Edita tu comentario
|
|
93
111
|
up_vote_button:
|
|
94
112
|
text: Estoy de acuerdo con este comentario
|
|
95
113
|
events:
|
data/config/locales/es-PY.yml
CHANGED
|
@@ -19,6 +19,10 @@ es-PY:
|
|
|
19
19
|
comments:
|
|
20
20
|
create:
|
|
21
21
|
error: Se ha producido un error al crear el comentario.
|
|
22
|
+
delete:
|
|
23
|
+
error: El comentario no pudo ser eliminado.
|
|
24
|
+
update:
|
|
25
|
+
error: Se ha producido un error al actualizar el comentario.
|
|
22
26
|
comments_count: Número de comentarios
|
|
23
27
|
comments_title: Comentarios
|
|
24
28
|
last_activity:
|
|
@@ -53,7 +57,12 @@ es-PY:
|
|
|
53
57
|
alignment:
|
|
54
58
|
against: En contra
|
|
55
59
|
in_favor: A favor
|
|
60
|
+
confirm_destroy: '¿Seguro que quieres eliminar este comentario?'
|
|
61
|
+
delete: Eliminar
|
|
62
|
+
deleted_at: Comentario eliminado el %{date}
|
|
56
63
|
deleted_user: Usuario eliminado
|
|
64
|
+
edit: Editar
|
|
65
|
+
edited: Editado
|
|
57
66
|
hide_replies: Ocultar respuestas
|
|
58
67
|
reply: Respuesta
|
|
59
68
|
report:
|
|
@@ -68,6 +77,7 @@ es-PY:
|
|
|
68
77
|
spam: Contiene clickbait, publicidad o estafas.
|
|
69
78
|
title: Notificar contenido inapropiado
|
|
70
79
|
show_replies: Mostrar %{replies_count} respuestas
|
|
80
|
+
single_comment_link_title: Obtener enlace
|
|
71
81
|
comment_order_selector:
|
|
72
82
|
order:
|
|
73
83
|
best_rated: Mejor valoración
|
|
@@ -90,6 +100,14 @@ es-PY:
|
|
|
90
100
|
other: "%{count} comentarios"
|
|
91
101
|
down_vote_button:
|
|
92
102
|
text: No estoy de acuerdo con este comentario
|
|
103
|
+
edit_comment_modal_form:
|
|
104
|
+
close: Cerrar
|
|
105
|
+
form:
|
|
106
|
+
body:
|
|
107
|
+
label: Comentario
|
|
108
|
+
placeholder: '¿Qué opinas sobre esto?'
|
|
109
|
+
submit: Enviar
|
|
110
|
+
title: Edita tu comentario
|
|
93
111
|
up_vote_button:
|
|
94
112
|
text: Estoy de acuerdo con este comentario
|
|
95
113
|
events:
|
data/config/locales/es.yml
CHANGED
|
@@ -19,6 +19,10 @@ es:
|
|
|
19
19
|
comments:
|
|
20
20
|
create:
|
|
21
21
|
error: Se ha producido un error al crear el comentario.
|
|
22
|
+
delete:
|
|
23
|
+
error: El comentario no pudo ser eliminado.
|
|
24
|
+
update:
|
|
25
|
+
error: Se ha producido un error al actualizar el comentario.
|
|
22
26
|
comments_count: Número de comentarios
|
|
23
27
|
comments_title: Comentarios
|
|
24
28
|
last_activity:
|
|
@@ -53,7 +57,12 @@ es:
|
|
|
53
57
|
alignment:
|
|
54
58
|
against: En contra
|
|
55
59
|
in_favor: A favor
|
|
60
|
+
confirm_destroy: '¿Seguro que quieres eliminar este comentario?'
|
|
61
|
+
delete: Eliminar
|
|
62
|
+
deleted_at: Comentario eliminado el %{date}
|
|
56
63
|
deleted_user: Participante eliminada
|
|
64
|
+
edit: Editar
|
|
65
|
+
edited: Editado
|
|
57
66
|
hide_replies: Ocultar respuestas
|
|
58
67
|
reply: Respuesta
|
|
59
68
|
report:
|
|
@@ -68,6 +77,7 @@ es:
|
|
|
68
77
|
spam: Contiene clickbait, publicidad o estafas.
|
|
69
78
|
title: Notificar contenido inapropiado
|
|
70
79
|
show_replies: Mostrar %{replies_count} respuestas
|
|
80
|
+
single_comment_link_title: Obtener enlace
|
|
71
81
|
comment_order_selector:
|
|
72
82
|
order:
|
|
73
83
|
best_rated: Mejor valoración
|
|
@@ -90,6 +100,14 @@ es:
|
|
|
90
100
|
other: "%{count} comentarios"
|
|
91
101
|
down_vote_button:
|
|
92
102
|
text: No estoy de acuerdo con este comentario
|
|
103
|
+
edit_comment_modal_form:
|
|
104
|
+
close: Cerrar
|
|
105
|
+
form:
|
|
106
|
+
body:
|
|
107
|
+
label: Comentario
|
|
108
|
+
placeholder: '¿Qué opinas sobre esto?'
|
|
109
|
+
submit: Enviar
|
|
110
|
+
title: Edita tu comentario
|
|
93
111
|
up_vote_button:
|
|
94
112
|
text: Estoy de acuerdo con este comentario
|
|
95
113
|
events:
|