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