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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a0e368d7c967fbbadf3d8b8b1ccb568c0d013f67167eef0007772758f9e1b1a4
4
- data.tar.gz: 8235ff94668c55ec576442a620851e70a60753e3475fa904b3f91e1394f40c02
3
+ metadata.gz: 4a5b6c36fa330c80091a3962638dc00b8053bfc94a9eccfbb8ed11074ddb1f63
4
+ data.tar.gz: ad533cc203a79d10f506f7181ef65a59eda8a8a666640d5cc54d3ea5d691964f
5
5
  SHA512:
6
- metadata.gz: fd688c1e740ef402ed0013475369601f19dc7242856315ac4993829300ded40df137a85ff307467171cc389974b0103f3167204d4c0c2abd7fce41e8ecd17001
7
- data.tar.gz: bd0be8a17ad9d33682d4896eab5a4bc961871b59b4e7886b09a678e04f1e692f1900a77d9e1041c4310588f4ab376eb3e5a0b018eb0d17c69d86fbc0819ad923
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
- const $add = $("> .add-comment", $parent);
177
- const $text = $("textarea", $add);
178
- const characterCounter = $text.data("remaining-characters-counter");
179
- $text.val("");
180
- if (characterCounter) {
181
- characterCounter.updateStatus();
182
- }
183
- if (!$add.parent().is(".comments")) {
184
- $add.addClass("hide");
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
- const newThread = generateSingleComment(999, "This is a dynamically added reply");
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
- const commentHtml = '<%== j(render partial: "edited_comment", locals: { comment: @comment }).strip %>';
3
- const commentId = <%= @comment.id.to_json %>;
4
- const $comment = $("#comment_<%= @comment.id %>");
5
- const $editCommentModal = $("#editCommentModal<%= @comment.id %>");
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
  });
@@ -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:
@@ -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:
@@ -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
- neutral: Ούτε ικανοποιημένος/η ούτε δυσαρεστημένος/η
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: Λάβατε αυτήν την ειδοποίηση, επειδή το σχόλιό σας απαντήθηκε.
@@ -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:
@@ -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:
@@ -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: