commontator 4.11.1 → 5.0.0
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/README.md +6 -5
- data/app/controllers/commontator/application_controller.rb +4 -4
- data/app/controllers/commontator/comments_controller.rb +15 -15
- data/app/controllers/commontator/subscriptions_controller.rb +1 -1
- data/app/controllers/commontator/threads_controller.rb +5 -5
- data/app/mailers/commontator/subscriptions_mailer.rb +25 -37
- data/app/models/commontator/comment.rb +11 -11
- data/app/models/commontator/subscription.rb +2 -2
- data/app/models/commontator/thread.rb +9 -9
- data/app/views/commontator/comments/_actions.html.erb +8 -8
- data/app/views/commontator/comments/_body.html.erb +1 -1
- data/app/views/commontator/comments/_form.html.erb +3 -3
- data/app/views/commontator/comments/_list.html.erb +3 -3
- data/app/views/commontator/comments/_show.html.erb +8 -8
- data/app/views/commontator/comments/_votes.html.erb +16 -16
- data/app/views/commontator/comments/cancel.js.erb +5 -5
- data/app/views/commontator/comments/create.js.erb +9 -9
- data/app/views/commontator/comments/delete.js.erb +7 -7
- data/app/views/commontator/comments/edit.js.erb +2 -2
- data/app/views/commontator/comments/new.js.erb +4 -4
- data/app/views/commontator/comments/update.js.erb +1 -1
- data/app/views/commontator/comments/vote.js.erb +3 -3
- data/app/views/commontator/shared/_thread.html.erb +6 -6
- data/app/views/commontator/subscriptions/_link.html.erb +5 -5
- data/app/views/commontator/subscriptions/subscribe.js.erb +3 -3
- data/app/views/commontator/subscriptions_mailer/comment_created.html.erb +6 -6
- data/app/views/commontator/threads/_reply.html.erb +6 -6
- data/app/views/commontator/threads/_show.html.erb +33 -33
- data/app/views/commontator/threads/_show.js.erb +7 -7
- data/app/views/commontator/threads/show.js.erb +6 -6
- data/config/initializers/commontator.rb +43 -38
- data/config/locales/de.yml +100 -0
- data/config/locales/en.yml +26 -27
- data/config/locales/pt-BR.yml +78 -0
- data/config/locales/ru.yml +25 -26
- data/config/locales/zh.yml +26 -27
- data/config/routes.rb +4 -4
- data/db/migrate/0_install_commontator.rb +17 -17
- data/lib/commontator.rb +2 -2
- data/lib/commontator/acts_as_commontable.rb +14 -12
- data/lib/commontator/acts_as_commontator.rb +5 -5
- data/lib/commontator/shared_helper.rb +6 -6
- data/lib/commontator/version.rb +1 -1
- data/lib/tasks/commontator_tasks.rake +2 -2
- data/spec/controllers/commontator/comments_controller_spec.rb +76 -75
- data/spec/controllers/commontator/subscriptions_controller_spec.rb +26 -27
- data/spec/controllers/commontator/threads_controller_spec.rb +42 -41
- data/spec/dummy/app/controllers/dummy_models_controller.rb +1 -1
- data/spec/dummy/app/views/layouts/application.html.erb +1 -2
- data/spec/dummy/config/application.rb +1 -1
- data/spec/dummy/config/environments/development.rb +1 -2
- data/spec/dummy/config/environments/production.rb +1 -2
- data/spec/dummy/config/environments/test.rb +1 -2
- data/spec/dummy/config/initializers/commontator.rb +7 -7
- data/spec/dummy/config/routes.rb +2 -3
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/1_create_dummy_models.rb +2 -3
- data/spec/dummy/db/migrate/2_create_dummy_users.rb +2 -3
- data/spec/dummy/db/migrate/3_acts_as_votable_migration.rb +4 -10
- data/spec/dummy/db/schema.rb +45 -48
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +413 -0
- data/spec/dummy/log/test.log +33690 -0
- data/spec/lib/commontator/commontable_config_spec.rb +4 -5
- data/spec/lib/commontator/commontator_config_spec.rb +4 -5
- data/spec/lib/commontator_spec.rb +2 -3
- data/spec/mailers/commontator/subscriptions_mailer_spec.rb +2 -3
- data/spec/models/commontator/comment_spec.rb +10 -10
- data/spec/rails_helper.rb +3 -2
- metadata +64 -44
@@ -2,7 +2,6 @@
|
|
2
2
|
# All settings are initially set to their default values
|
3
3
|
|
4
4
|
# Note: Do not "return" from a Proc, use "next" instead if necessary
|
5
|
-
# "return" in a lambda is OK
|
6
5
|
Commontator.configure do |config|
|
7
6
|
# Engine Configuration
|
8
7
|
|
@@ -11,8 +10,8 @@ Commontator.configure do |config|
|
|
11
10
|
# Arguments: the current controller (ActionController::Base)
|
12
11
|
# Returns: the current user (acts_as_commontator)
|
13
12
|
# The default works for Devise and similar authentication plugins
|
14
|
-
# Default:
|
15
|
-
config.current_user_proc =
|
13
|
+
# Default: ->(controller) { controller.current_user }
|
14
|
+
config.current_user_proc = ->(controller) { controller.current_user }
|
16
15
|
|
17
16
|
# javascript_proc
|
18
17
|
# Type: Proc
|
@@ -23,8 +22,8 @@ Commontator.configure do |config|
|
|
23
22
|
# Objects visible in view templates can be accessed
|
24
23
|
# through the view object (for example, view.flash)
|
25
24
|
# However, the view does not include the main application's helpers
|
26
|
-
# Default:
|
27
|
-
config.javascript_proc =
|
25
|
+
# Default: ->(view) { '$("#error_explanation").remove();' }
|
26
|
+
config.javascript_proc = ->(view) { '$("#error_explanation").remove();' }
|
28
27
|
|
29
28
|
|
30
29
|
|
@@ -34,8 +33,8 @@ Commontator.configure do |config|
|
|
34
33
|
# Type: Proc
|
35
34
|
# Arguments: a user (acts_as_commontator)
|
36
35
|
# Returns: the user's name (String)
|
37
|
-
# Default:
|
38
|
-
config.user_name_proc =
|
36
|
+
# Default: ->(user) { I18n.t('commontator.anonymous') } (all users are anonymous)
|
37
|
+
config.user_name_proc = ->(user) { I18n.t('commontator.anonymous') }
|
39
38
|
|
40
39
|
# user_link_proc
|
41
40
|
# Type: Proc
|
@@ -45,8 +44,8 @@ Commontator.configure do |config|
|
|
45
44
|
# If anything non-blank is returned, the user's name in comments
|
46
45
|
# comments will become a hyperlink pointing to this path
|
47
46
|
# The main application's routes can be accessed through the app_routes object
|
48
|
-
# Default:
|
49
|
-
config.user_link_proc =
|
47
|
+
# Default: ->(user, app_routes) { '' } (no link)
|
48
|
+
config.user_link_proc = ->(user, app_routes) { '' }
|
50
49
|
|
51
50
|
# user_avatar_proc
|
52
51
|
# Type: Proc
|
@@ -60,12 +59,12 @@ Commontator.configure do |config|
|
|
60
59
|
# allows de-anonymization attacks against their email addresses
|
61
60
|
# If you absolutely want to keep users' email addresses or identities secret,
|
62
61
|
# do not use Gravatar or similar services
|
63
|
-
# Default:
|
64
|
-
#
|
65
|
-
#
|
66
|
-
config.user_avatar_proc =
|
67
|
-
|
68
|
-
|
62
|
+
# Default: ->(user, view) {
|
63
|
+
# view.commontator_gravatar_image_tag(user, 1, s: 60, d: 'mm')
|
64
|
+
# }
|
65
|
+
config.user_avatar_proc = ->(user, view) {
|
66
|
+
view.commontator_gravatar_image_tag(user, 1, s: 60, d: 'mm')
|
67
|
+
}
|
69
68
|
|
70
69
|
# user_email_proc
|
71
70
|
# Type: Proc
|
@@ -76,8 +75,8 @@ Commontator.configure do |config|
|
|
76
75
|
# to Gravatar, so you should always return the user's email address (if using Gravatar)
|
77
76
|
# If the mailer argument is not nil, then Commontator intends to send an email to
|
78
77
|
# the address returned; you can prevent it from being sent by returning a blank String
|
79
|
-
# Default:
|
80
|
-
config.user_email_proc =
|
78
|
+
# Default: ->(user, mailer) { user.try(:email) || '' }
|
79
|
+
config.user_email_proc = ->(user, mailer) { user.try(:email) || '' }
|
81
80
|
|
82
81
|
|
83
82
|
|
@@ -100,16 +99,16 @@ Commontator.configure do |config|
|
|
100
99
|
# Arguments: a thread (Commontator::Thread), a user (acts_as_commontator)
|
101
100
|
# Returns: a Boolean, true if and only if the user should be allowed to read that thread
|
102
101
|
# Note: can be called with a user object that is nil (if they are not logged in)
|
103
|
-
# Default:
|
104
|
-
config.thread_read_proc =
|
102
|
+
# Default: ->(thread, user) { true } (anyone can read any thread)
|
103
|
+
config.thread_read_proc = ->(thread, user) { true }
|
105
104
|
|
106
105
|
# thread_moderator_proc
|
107
106
|
# Type: Proc
|
108
107
|
# Arguments: a thread (Commontator::Thread), a user (acts_as_commontator)
|
109
108
|
# Returns: a Boolean, true if and only if the user is a moderator for that thread
|
110
109
|
# If you want global moderators, make this proc true for them regardless of thread
|
111
|
-
# Default:
|
112
|
-
config.thread_moderator_proc =
|
110
|
+
# Default: ->(thread, user) { false } (no moderators)
|
111
|
+
config.thread_moderator_proc = ->(thread, user) { false }
|
113
112
|
|
114
113
|
# comment_editing
|
115
114
|
# Type: Symbol
|
@@ -161,8 +160,8 @@ Commontator.configure do |config|
|
|
161
160
|
# Returns: vote count to be displayed (String)
|
162
161
|
# pos is the number of likes, or the rating, or the reputation
|
163
162
|
# neg is the number of dislikes, if applicable, or 0 otherwise
|
164
|
-
# Default:
|
165
|
-
config.vote_count_proc =
|
163
|
+
# Default: ->(thread, pos, neg) { "%+d" % (pos - neg) }
|
164
|
+
config.vote_count_proc = ->(thread, pos, neg) { "%+d" % (pos - neg) }
|
166
165
|
|
167
166
|
# comment_order
|
168
167
|
# Type: Symbol
|
@@ -217,10 +216,12 @@ Commontator.configure do |config|
|
|
217
216
|
# Arguments: a thread (Commontator::Thread)
|
218
217
|
# Returns: the address emails are sent "from" (String)
|
219
218
|
# Important: If using subscriptions, change this to at least match your domain name
|
220
|
-
# Default:
|
221
|
-
#
|
222
|
-
|
223
|
-
|
219
|
+
# Default: ->(thread) {
|
220
|
+
# "no-reply@#{Rails.application.class.parent.to_s.downcase}.com"
|
221
|
+
# }
|
222
|
+
config.email_from_proc = ->(thread) {
|
223
|
+
"no-reply@#{Rails.application.class.parent.to_s.downcase}.com"
|
224
|
+
}
|
224
225
|
|
225
226
|
# commontable_name_proc
|
226
227
|
# Type: Proc
|
@@ -228,9 +229,9 @@ Commontator.configure do |config|
|
|
228
229
|
# Returns: a name that refers to the commontable object (String)
|
229
230
|
# If you have multiple commontable models, you can also pass this
|
230
231
|
# configuration value as an argument to acts_as_commontable for each one
|
231
|
-
# Default:
|
232
|
+
# Default: ->(thread) {
|
232
233
|
# "#{thread.commontable.class.name} ##{thread.commontable.id}" }
|
233
|
-
config.commontable_name_proc =
|
234
|
+
config.commontable_name_proc = ->(thread) {
|
234
235
|
"#{thread.commontable.class.name} ##{thread.commontable.id}" }
|
235
236
|
|
236
237
|
# comment_url_proc
|
@@ -240,12 +241,13 @@ Commontator.configure do |config|
|
|
240
241
|
# Returns: a String containing the url of the view that displays the given comment
|
241
242
|
# This usually is the commontable's "show" page
|
242
243
|
# The main application's routes can be accessed through the app_routes object
|
243
|
-
# Default:
|
244
|
-
#
|
245
|
-
#
|
244
|
+
# Default: ->(comment, app_routes) {
|
245
|
+
# app_routes.polymorphic_url(comment.thread.commontable, anchor: "comment_#{comment.id}_div")
|
246
|
+
# }
|
246
247
|
# (defaults to the commontable's show url with an anchor pointing to the comment's div)
|
247
|
-
config.comment_url_proc =
|
248
|
-
app_routes.polymorphic_url(comment.thread.commontable, anchor: "comment_#{comment.id}_div")
|
248
|
+
config.comment_url_proc = ->(comment, app_routes) {
|
249
|
+
app_routes.polymorphic_url(comment.thread.commontable, anchor: "comment_#{comment.id}_div")
|
250
|
+
}
|
249
251
|
|
250
252
|
# mentions_enabled
|
251
253
|
# Type: Boolean
|
@@ -260,6 +262,7 @@ Commontator.configure do |config|
|
|
260
262
|
# Type: Proc
|
261
263
|
# Arguments:
|
262
264
|
# the current user (acts_as_commontator)
|
265
|
+
# the current thread (Commontator::Thread)
|
263
266
|
# the search query inputted by user (String)
|
264
267
|
# Returns: an ActiveRecord Relation object
|
265
268
|
# Important notes:
|
@@ -272,8 +275,10 @@ Commontator.configure do |config|
|
|
272
275
|
# Make sure to handle SQL escaping properly and that the
|
273
276
|
# attribute being searched does not contain sensitive information.
|
274
277
|
#
|
275
|
-
# Default:
|
276
|
-
#
|
277
|
-
|
278
|
-
|
278
|
+
# Default: ->(current_user, query) {
|
279
|
+
# current_user.class.where('username LIKE ?', "#{query}%")
|
280
|
+
# }
|
281
|
+
config.user_mentions_proc = ->(current_user, thread, query) {
|
282
|
+
current_user.class.where('username LIKE ?', "#{query}%")
|
283
|
+
}
|
279
284
|
end
|
@@ -0,0 +1,100 @@
|
|
1
|
+
# Files in the config/locales directory are used for internationalization
|
2
|
+
# and are automatically loaded by Rails. If you want to use locales other
|
3
|
+
# than English, add the necessary files in this directory.
|
4
|
+
#
|
5
|
+
# To use the locales, use `I18n.t`:
|
6
|
+
#
|
7
|
+
# I18n.t 'hello'
|
8
|
+
#
|
9
|
+
# In views, this is aliased to just `t`:
|
10
|
+
#
|
11
|
+
# <%= t('hello') %>
|
12
|
+
#
|
13
|
+
# To use a different locale, set it with `I18n.locale`:
|
14
|
+
#
|
15
|
+
# I18n.locale = :es
|
16
|
+
#
|
17
|
+
# This would use the information in config/locales/es.yml.
|
18
|
+
#
|
19
|
+
# To learn more, please read the Rails Internationalization guide
|
20
|
+
# available at http://guides.rubyonrails.org/i18n.html.
|
21
|
+
|
22
|
+
---
|
23
|
+
de:
|
24
|
+
activerecord:
|
25
|
+
attributes:
|
26
|
+
commontator/comment:
|
27
|
+
body: Kommentar
|
28
|
+
creator: Ersteller
|
29
|
+
editor: Bearbeiter
|
30
|
+
thread: Diskussion
|
31
|
+
commontator/subscription:
|
32
|
+
subscriber: Subscriber
|
33
|
+
thread: Diskussion
|
34
|
+
commontator/thread:
|
35
|
+
commontable: Commontable
|
36
|
+
models:
|
37
|
+
commontator/comment:
|
38
|
+
one: Kommentar
|
39
|
+
other: Kommentare
|
40
|
+
commontator/subscription:
|
41
|
+
one: Subscription
|
42
|
+
other: Subscriptions
|
43
|
+
commontator/thread:
|
44
|
+
one: Diskussion
|
45
|
+
other: Diskussionen
|
46
|
+
commontator:
|
47
|
+
anonymous: Anonymous
|
48
|
+
comment:
|
49
|
+
actions:
|
50
|
+
cancel: Abbrechen
|
51
|
+
confirm_delete: "Sind Sie sicher, dass sie diesen Kommentar löschen wollen?"
|
52
|
+
create: "Kommentar speichern"
|
53
|
+
delete: Löschen
|
54
|
+
edit: Bearbeiten
|
55
|
+
new: "Neuer Kommentar"
|
56
|
+
undelete: Löschen rückgängig
|
57
|
+
update: "Kommentar bearbeiten"
|
58
|
+
errors:
|
59
|
+
already_deleted: "Dieser Kommentar wurde bereits gelöscht."
|
60
|
+
create: "Kommentar kann nicht veröffentlicht werden:"
|
61
|
+
double_posted: "Kommentar ist ein Duplikat."
|
62
|
+
not_deleted: "Dieser Kommentar wurde nicht gelöscht.."
|
63
|
+
update: "Kommentar kann nicht bearbeitet werden:"
|
64
|
+
status:
|
65
|
+
created_at: "Veröffentlich am %{created_at}."
|
66
|
+
deleted_by: "Kommentar gelöscht von %{deleter_name}."
|
67
|
+
updated_at: "Bearbeitet von %{editor_name} am %{updated_at}."
|
68
|
+
email:
|
69
|
+
comment_created:
|
70
|
+
body: "%{creator_name} kommentierte zu %{commontable_name}:"
|
71
|
+
subject: "%{creator_name} veröffentlichte einen Kommentar zu %{commontable_name}"
|
72
|
+
thread_link_html: "<a href=\"%{comment_url}\">Hier klicken</a> um alle Kommentare zu %{commontable_name} zu sehen."
|
73
|
+
require_login: "Sie müssen sich anmelden bevor sie einen Kommentar veröffentlichen können."
|
74
|
+
subscription:
|
75
|
+
actions:
|
76
|
+
confirm_unsubscribe: "Sind Sie sicher, dass sie keine Nachrichten mehr zur Diskussion erhalten möchten?"
|
77
|
+
subscribe: Subscribe
|
78
|
+
unsubscribe: Unsubscribe
|
79
|
+
errors:
|
80
|
+
already_subscribed: "Sie erhalten zu der Diskussion bereits Aktualisierungen"
|
81
|
+
not_subscribed: "Sie erhalten zu der Diskussion keine Nachrichten."
|
82
|
+
thread:
|
83
|
+
actions:
|
84
|
+
show_all: "Alle Kommentare anzeigen"
|
85
|
+
filter: "Kommentare filtern"
|
86
|
+
close: "Diskussion beenden"
|
87
|
+
confirm_close: "Sind Sie sicher, dass sie die Diskussion schliessen wollen?"
|
88
|
+
reopen: "Diskussion wieder eröffnen"
|
89
|
+
show: "Kommentare anzeigen"
|
90
|
+
hide: "Kommentare ausblenden"
|
91
|
+
errors:
|
92
|
+
already_closed: "Diese Diskussion ist bereits geschlossen."
|
93
|
+
not_closed: "Diese Diskussion ist nicht geschlossen."
|
94
|
+
status:
|
95
|
+
cannot_post: "Zurzeit können keine neuen Kommentare verfasst werden."
|
96
|
+
closed: "Kommentare (geschlossen von %{closer_name})"
|
97
|
+
open: Kommentare
|
98
|
+
time:
|
99
|
+
formats:
|
100
|
+
commontator: "%d. %B %Y um %H:%m %Z"
|
data/config/locales/en.yml
CHANGED
@@ -19,34 +19,34 @@
|
|
19
19
|
# To learn more, please read the Rails Internationalization guide
|
20
20
|
# available at http://guides.rubyonrails.org/i18n.html.
|
21
21
|
|
22
|
-
---
|
23
|
-
en:
|
24
|
-
activerecord:
|
25
|
-
attributes:
|
26
|
-
commontator/comment:
|
22
|
+
---
|
23
|
+
en:
|
24
|
+
activerecord:
|
25
|
+
attributes:
|
26
|
+
commontator/comment:
|
27
27
|
body: Comment
|
28
28
|
creator: Creator
|
29
29
|
editor: Editor
|
30
30
|
thread: Discussion
|
31
|
-
commontator/subscription:
|
31
|
+
commontator/subscription:
|
32
32
|
subscriber: Subscriber
|
33
33
|
thread: Discussion
|
34
|
-
commontator/thread:
|
34
|
+
commontator/thread:
|
35
35
|
commontable: Commontable
|
36
|
-
models:
|
37
|
-
commontator/comment:
|
36
|
+
models:
|
37
|
+
commontator/comment:
|
38
38
|
one: comment
|
39
39
|
other: comments
|
40
|
-
commontator/subscription:
|
40
|
+
commontator/subscription:
|
41
41
|
one: subscription
|
42
42
|
other: subscriptions
|
43
|
-
commontator/thread:
|
43
|
+
commontator/thread:
|
44
44
|
one: thread
|
45
45
|
other: threads
|
46
|
-
commontator:
|
46
|
+
commontator:
|
47
47
|
anonymous: Anonymous
|
48
|
-
comment:
|
49
|
-
actions:
|
48
|
+
comment:
|
49
|
+
actions:
|
50
50
|
cancel: Cancel
|
51
51
|
confirm_delete: "Are you sure you want to delete this comment?"
|
52
52
|
create: "Post Comment"
|
@@ -55,33 +55,32 @@ en:
|
|
55
55
|
new: "New Comment"
|
56
56
|
undelete: Undelete
|
57
57
|
update: "Modify Comment"
|
58
|
-
errors:
|
58
|
+
errors:
|
59
59
|
already_deleted: "This comment has already been deleted."
|
60
60
|
create: "This comment could not be posted because:"
|
61
61
|
double_posted: "is a duplicate of another comment."
|
62
62
|
not_deleted: "This comment is not deleted."
|
63
63
|
update: "This comment could not be modified because:"
|
64
|
-
status:
|
64
|
+
status:
|
65
65
|
created_at: "Posted on %{created_at}."
|
66
66
|
deleted_by: "Comment deleted by %{deleter_name}."
|
67
67
|
updated_at: "Last modified by %{editor_name} on %{updated_at}."
|
68
|
-
email:
|
69
|
-
comment_created:
|
68
|
+
email:
|
69
|
+
comment_created:
|
70
70
|
body: "%{creator_name} commented on %{commontable_name}:"
|
71
71
|
subject: "%{creator_name} posted a comment on %{commontable_name}"
|
72
72
|
thread_link_html: "<a href=\"%{comment_url}\">Click here</a> to view all comments on %{commontable_name}."
|
73
|
-
undisclosed_recipients: "Undisclosed Recipients"
|
74
73
|
require_login: "You must login before you can post a comment."
|
75
|
-
subscription:
|
76
|
-
actions:
|
74
|
+
subscription:
|
75
|
+
actions:
|
77
76
|
confirm_unsubscribe: "Are you sure you want to unsubscribe from this discussion?"
|
78
77
|
subscribe: Subscribe
|
79
78
|
unsubscribe: Unsubscribe
|
80
|
-
errors:
|
79
|
+
errors:
|
81
80
|
already_subscribed: "You are already subscribed to this discussion."
|
82
81
|
not_subscribed: "You are not subscribed to this discussion."
|
83
|
-
thread:
|
84
|
-
actions:
|
82
|
+
thread:
|
83
|
+
actions:
|
85
84
|
show_all: "Show All Comments"
|
86
85
|
filter: "Filter Comments"
|
87
86
|
close: "Close Discussion"
|
@@ -92,10 +91,10 @@ en:
|
|
92
91
|
errors:
|
93
92
|
already_closed: "This discussion has already been closed."
|
94
93
|
not_closed: "This discussion is not closed."
|
95
|
-
status:
|
94
|
+
status:
|
96
95
|
cannot_post: "New comments cannot be posted at this time."
|
97
96
|
closed: "Comments (Closed by %{closer_name})"
|
98
97
|
open: Comments
|
99
|
-
time:
|
100
|
-
formats:
|
98
|
+
time:
|
99
|
+
formats:
|
101
100
|
commontator: "%b %d %Y at %I:%M%p %Z"
|
@@ -0,0 +1,78 @@
|
|
1
|
+
pt-BR:
|
2
|
+
activerecord:
|
3
|
+
attributes:
|
4
|
+
commontator/comment:
|
5
|
+
body: Comentário
|
6
|
+
creator: Criador
|
7
|
+
editor: Editor
|
8
|
+
thread: Discussão
|
9
|
+
commontator/subscription:
|
10
|
+
subscriber: Assinante
|
11
|
+
thread: Discussão
|
12
|
+
commontator/thread:
|
13
|
+
commontable: Comentável
|
14
|
+
models:
|
15
|
+
commontator/comment:
|
16
|
+
one: comentário
|
17
|
+
other: comentários
|
18
|
+
commontator/subscription:
|
19
|
+
one: inscrição
|
20
|
+
other: incrições
|
21
|
+
commontator/thread:
|
22
|
+
one: tópico
|
23
|
+
other: tópicos
|
24
|
+
commontator:
|
25
|
+
anonymous: Anônimo
|
26
|
+
comment:
|
27
|
+
actions:
|
28
|
+
cancel: Cancelar
|
29
|
+
confirm_delete: "Tem certeza que deseja remover esse comentário?"
|
30
|
+
create: "Postar comentário"
|
31
|
+
delete: Deletar
|
32
|
+
edit: Editar
|
33
|
+
new: "Novo comentário"
|
34
|
+
undelete: Desfazer
|
35
|
+
update: "Editar comentário"
|
36
|
+
errors:
|
37
|
+
already_deleted: "esse comentário já foi removido."
|
38
|
+
create: "Esse comentário não pôde ser postado porque:"
|
39
|
+
double_posted: "é um comentário duplicado."
|
40
|
+
not_deleted: "Esse comentário não foi removido."
|
41
|
+
update: "Esse comentário não pôde ser editado porque:"
|
42
|
+
status:
|
43
|
+
created_at: "Postado em %{created_at}."
|
44
|
+
deleted_by: "Comentário removido por %{deleter_name}."
|
45
|
+
updated_at: "Última edição por %{editor_name} em %{updated_at}."
|
46
|
+
email:
|
47
|
+
comment_created:
|
48
|
+
body: "%{creator_name} comentou em %{commontable_name}:"
|
49
|
+
subject: "%{creator_name} postou um comentário em %{commontable_name}"
|
50
|
+
thread_link_html: "<a href=\"%{comment_url}\">Clique aqui</a> para ver todos os comentários em %{commontable_name}."
|
51
|
+
require_login: "Você deve fazer login para postar um comentário."
|
52
|
+
subscription:
|
53
|
+
actions:
|
54
|
+
confirm_unsubscribe: "Tem certeza que deseja cancelar sua inscrição nessa discussão?"
|
55
|
+
subscribe: Inscrever-se
|
56
|
+
unsubscribe: Cancelar inscrição
|
57
|
+
errors:
|
58
|
+
already_subscribed: "Você já está inscrito nessa discussão."
|
59
|
+
not_subscribed: "Você não está inscrito nessa discussão."
|
60
|
+
thread:
|
61
|
+
actions:
|
62
|
+
show_all: "Mostrar todos os comentários"
|
63
|
+
filter: "Filtrar comentários"
|
64
|
+
close: "Fechar discussão"
|
65
|
+
confirm_close: "Tem certeza que deseja fechar a discussão?"
|
66
|
+
reopen: "Reabrir discussão"
|
67
|
+
show: "Mostrar comentários"
|
68
|
+
hide: "Esconder comentários"
|
69
|
+
errors:
|
70
|
+
already_closed: "Essa discussão já foi fechada."
|
71
|
+
not_closed: "Essa discussão não está fechada."
|
72
|
+
status:
|
73
|
+
cannot_post: "Não é possível postar novos comentários."
|
74
|
+
closed: "Comentários (Fechado por %{closer_name})"
|
75
|
+
open: Comentários
|
76
|
+
time:
|
77
|
+
formats:
|
78
|
+
commontator: "%b %d %Y às %I:%M%p %Z"
|