diff --git a/admin/templates/comments.html.twig b/admin/templates/comments.html.twig
index 6fea510..b78920f 100644
--- a/admin/templates/comments.html.twig
+++ b/admin/templates/comments.html.twig
@@ -75,6 +75,13 @@
});
+ {% if grav.twig.warning_message|length %}
+
diff --git a/blueprints.yaml b/blueprints.yaml
index 9caf823..4a188aa 100644
--- a/blueprints.yaml
+++ b/blueprints.yaml
@@ -29,19 +29,9 @@ form:
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool
- pingbacks:
- type: toggle
- label: Pingbacks
- highlight: 1
- default: 0
- options:
- 1: PLUGIN_ADMIN.ENABLED
- 0: PLUGIN_ADMIN.DISABLED
- validate:
- type: bool
commenting:
type: toggle
- label: Commenting
+ label: PLUGIN_COMMENTS.COMMENTS
highlight: 1
default: 0
options:
@@ -49,3 +39,59 @@ form:
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool
+ nested:
+ type: toggle
+ label: PLUGIN_COMMENTS.COMMENTS_NESTED
+ highlight: 1
+ default: 0
+ options:
+ 1: PLUGIN_ADMIN.ENABLED
+ 0: PLUGIN_ADMIN.DISABLED
+ validate:
+ type: bool
+ pingbacks:
+ type: toggle
+ label: PLUGIN_COMMENTS.COMMENTS_PINGBACKS
+ highlight: 1
+ default: 0
+ options:
+ 1: PLUGIN_ADMIN.ENABLED
+ 0: PLUGIN_ADMIN.DISABLED
+ validate:
+ type: bool
+ recaptcha:
+ type: toggle
+ label: PLUGIN_COMMENTS.RECAPTCHA
+ highlight: 1
+ default: 0
+ options:
+ 1: PLUGIN_ADMIN.ENABLED
+ 0: PLUGIN_ADMIN.DISABLED
+ validate:
+ type: bool
+ akismet:
+ type: toggle
+ label: PLUGIN_COMMENTS.AKISMET
+ highlight: 1
+ default: 0
+ options:
+ 1: PLUGIN_ADMIN.ENABLED
+ 0: PLUGIN_ADMIN.DISABLED
+ validate:
+ type: bool
+ akismet_apikey:
+ type: text
+ label: PLUGIN_COMMENTS.AKISMET_APIKEY
+ highlight: 1
+ default:
+ options:
+ 1: PLUGIN_ADMIN.ENABLED
+ 0: PLUGIN_ADMIN.DISABLED
+ akismet_site:
+ type: text
+ label: PLUGIN_COMMENTS.AKISMET_SITE_OVERRIDE
+ highlight: 1
+ default:
+ options:
+ 1: PLUGIN_ADMIN.ENABLED
+ 0: PLUGIN_ADMIN.DISABLED
diff --git a/comments.php b/comments.php
index b1b0b7f..2070221 100644
--- a/comments.php
+++ b/comments.php
@@ -17,6 +17,8 @@ use RocketTheme\Toolbox\File\File;
use RocketTheme\Toolbox\Event\Event;
use Symfony\Component\Yaml\Yaml;
+require_once 'extern/akismet/Akismet.class.php';
+
class CommentsPlugin extends Plugin
{
protected $route = 'comments';
@@ -27,6 +29,8 @@ class CommentsPlugin extends Plugin
protected $comments_cache_id;
protected $pingbacks_cache_id;
+ protected $akismet_enabled;
+
/**
* @return array
*/
@@ -85,6 +89,7 @@ class CommentsPlugin extends Plugin
$this->grav['twig']->pingbacks_enabled = $this->pingbacks_enabled;
$this->grav['twig']->comments = $this->fetchComments();
$this->grav['twig']->pingbacks = $this->fetchPingbacks();
+ $this->grav['twig']->akismet_enabled = $this->grav['config']->get('plugins.comments.akismet');
}
/**
@@ -117,6 +122,8 @@ class CommentsPlugin extends Plugin
$this->commenting_enabled = $this->grav['config']->get('plugins.comments.commenting');
$this->pingbacks_enabled = $this->grav['config']->get('plugins.comments.pingbacks');
+
+ $this->akismet_enabled = $this->grav['config']->get('plugins.comments.akismet');
}
/**
@@ -124,8 +131,6 @@ class CommentsPlugin extends Plugin
*/
public function initializeFrontend()
{
- $this->calculateEnable();
-
$this->enable([
'onTwigTemplatePaths' => ['onTwigTemplatePaths', 0],
]);
@@ -182,6 +187,8 @@ class CommentsPlugin extends Plugin
*/
public function onPluginsInitialized()
{
+ $this->calculateEnable();
+
if ($this->isAdmin()) {
$this->initializeAdmin();
} else {
@@ -218,7 +225,7 @@ class CommentsPlugin extends Plugin
$name = filter_var(urldecode($post['name']), FILTER_SANITIZE_STRING);
$email = filter_var(urldecode($post['email']), FILTER_SANITIZE_STRING);
$title = filter_var(urldecode($post['title']), FILTER_SANITIZE_STRING);
- $site = filter_var(urldecode($post['site']), FILTER_SANITIZE_STRING);
+ $site = isset($post['site']) ? filter_var(urldecode($post['site']), FILTER_SANITIZE_STRING) : "";
if (isset($this->grav['user'])) {
$user = $this->grav['user'];
@@ -232,6 +239,25 @@ class CommentsPlugin extends Plugin
$language = $this->grav['language'];
$lang = $language->getLanguage();
+ if ($this->akismet_enabled) {
+ $key = $this->grav['config']->get('plugins.comments.akismet_apikey');
+ $url_override = $this->grav['config']->get('plugins.comments.akismet_site');
+ $url = !empty($url_override) ? $url_override : $_SERVER['HTTP_HOST'];
+
+ $akismet = new \Akismet($url, $key);
+ $akismet->setCommentAuthor($name);
+ $akismet->setCommentAuthorEmail($email);
+ $akismet->setCommentAuthorURL($site);
+ $akismet->setCommentContent($text);
+ //$akismet->setPermalink($comment->post->permalink);
+ //try {
+ $spam = ($akismet->isCommentSpam()) ? 'spam' : 'ham';
+ //return;
+ //} catch (Exception $e) {
+ // EventLog::log($e->getMessage(), 'notice', 'comment', 'HabariAkismet');
+ //}
+ }
+
$filename = DATA_DIR . 'comments';
$filename .= ($lang ? '/' . $lang : '');
$filename .= $path . '.yaml';
@@ -245,7 +271,8 @@ class CommentsPlugin extends Plugin
'date' => date('D, d M Y H:i:s', time()),
'author' => $name,
'email' => $email,
- 'site' => $site
+ 'site' => $site,
+ 'approved' => ( !isset($spam) || $spam == 'ham' ? 'true' : 'false' )
];
} else {
$data = array(
@@ -256,7 +283,8 @@ class CommentsPlugin extends Plugin
'date' => date('D, d M Y H:i:s', time()),
'author' => $name,
'email' => $email,
- 'site' => $site
+ 'site' => $site,
+ 'approved' => ( !isset($spam) || $spam == 'ham' ? 'true' : 'false' )
])
);
}
@@ -451,6 +479,20 @@ class CommentsPlugin extends Plugin
public function onTwigAdminTemplatePaths()
{
$this->grav['twig']->twig_paths[] = __DIR__ . '/admin/templates';
+ $this->grav['twig']->akismet_enabled = $this->akismet_enabled;
+
+ if ($this->akismet_enabled) {
+ $key = $this->grav['config']->get('plugins.comments.akismet_apikey');
+ $url_override = $this->grav['config']->get('plugins.comments.akismet_site');
+ $url = !empty($url_override) ? $url_override : $_SERVER['HTTP_HOST'];
+
+ $akismet = new \Akismet($url, $key);
+ if ($akismet->isKeyValid()) {
+ $this->grav['twig']->warning_message = "";
+ } else {
+ $this->grav['twig']->warning_message = sprintf("Akismet API key \"%s\" is invalid for the url \"%s\". Provide a correct url override or make sure you're registered. Please check to make sure the key is entered correctly.", $key, $url);
+ }
+ }
}
/**
@@ -459,6 +501,8 @@ class CommentsPlugin extends Plugin
public function onAdminMenu()
{
$this->grav['twig']->plugins_hooked_nav['PLUGIN_COMMENTS.COMMENTS'] = ['route' => $this->route, 'icon' => 'fa-file-text'];
+
+
}
/**
diff --git a/comments.yaml b/comments.yaml
index 3115067..7c414f2 100644
--- a/comments.yaml
+++ b/comments.yaml
@@ -1,6 +1,8 @@
enabled: true
pingbacks: true
commenting: true
+akismet_enabled: true
+warning_message: ""
enable_on_routes:
- '/blog'
@@ -28,7 +30,7 @@ form:
required: true
- name: blah
- label: PLUGIN_COMMENTS.EMAIL_LABEL
+ label: PLUGIN_COMMENTS.SITE_LABEL
placeholder: "https://leetnightshade.com"
type: text
validate:
diff --git a/extern/habariakismet/vendor/Akismet.class.php b/extern/akismet/Akismet.class.php
similarity index 100%
rename from extern/habariakismet/vendor/Akismet.class.php
rename to extern/akismet/Akismet.class.php
diff --git a/extern/habariakismet/habariakismet.plugin.php b/extern/habariakismet/habariakismet.plugin.php
deleted file mode 100644
index aa6399d..0000000
--- a/extern/habariakismet/habariakismet.plugin.php
+++ /dev/null
@@ -1,148 +0,0 @@
-plugin_id()) {
- $actions[] = _t('Configure');
- }
-
- return $actions;
- }
-
- public function action_plugin_ui($plugin_id, $action)
- {
- if ($plugin_id == $this->plugin_id()) {
- switch ($action) {
- case _t('Configure'):
-
- $form = new FormUI(strtolower(get_class($this)));
- $form->append('select', 'provider', 'habariakismet__provider', _t('Service'));
- $form->provider->options = array(
- 'Akismet' => 'Akismet',
- 'TypePad AntiSpam' => 'TypePad AntiSpam'
- );
- $api_key = $form->append('text', 'api_key', 'habariakismet__api_key', _t('API Key'));
- $api_key->add_validator('validate_required');
- $api_key->add_validator(array($this, 'validate_api_key'));
- $form->append('submit', 'save', 'Save');
- $form->out();
- break;
- }
- }
- }
-
- public function validate_api_key($key, $control, $form)
- {
- $endpoint = ($form->provider->value == 'Akismet') ? self::SERVER_AKISMET : self::SERVER_TYPEPAD;
-
- $a = new Akismet(Site::get_url('habari'), $key);
- $a->setAkismetServer($endpoint);
-
- if (!$a->isKeyValid()) {
- return array(sprintf(_t('Sorry, the %s API key %s is
invalid. Please check to make sure the key is entered correctly.'), $form->provider->value, $key));
- }
-
- return array();
- }
-
- public function set_priorities()
- {
- return array(
- 'action_comment_insert_before' => 1
- );
- }
-
- public function action_comment_insert_before(Comment $comment)
- {
- $api_key = Options::get('habariakismet__api_key');
- $provider = Options::get('habariakismet__provider');
-
- if ($api_key == null || $provider == null) {
- return;
- }
-
- $endpoint = ($provider == 'Akismet') ? self::SERVER_AKISMET : self::SERVER_TYPEPAD;
-
- $a = new Akismet(Site::get_url('habari'), $api_key);
- $a->setAkismetServer($endpoint);
- $a->setCommentAuthor($comment->name);
- $a->setCommentAuthorEmail($comment->email);
- $a->setCommentAuthorURL($comment->url);
- $a->setCommentContent($comment->content);
- $a->setPermalink($comment->post->permalink);
-
- try {
- $comment->status = ($a->isCommentSpam()) ? 'spam' : 'ham';
- return;
- } catch (Exception $e) {
- EventLog::log($e->getMessage(), 'notice', 'comment', 'HabariAkismet');
- }
- }
-
- public function action_admin_moderate_comments($action, $comments, $handler)
- {
- $false_negatives = 0;
- $false_positives = 0;
-
- $provider = Options::get('habariakismet__provider');
- $endpoint = ($provider == 'Akismet') ? self::SERVER_AKISMET : self::SERVER_TYPEPAD;
-
- $a = new Akismet(Site::get_url('habari'), Options::get('habariakismet__api_key'));
- $a->setAkismetServer($endpoint);
-
- foreach ($comments as $comment) {
- switch ($action) {
- case 'spam':
- if ($comment->status == Comment::STATUS_APPROVED || $comment->status == Comment::STATUS_UNAPPROVED) {
- $a->setCommentAuthor($comment->name);
- $a->setCommentAuthorEmail($comment->email);
- $a->setCommentAuthorURL($comment->url);
- $a->setCommentContent($comment->content);
-
- $a->submitSpam();
-
- $false_negatives++;
- }
-
- break;
- case 'approved':
- if ($comment->status == Comment::STATUS_SPAM) {
- $a->setCommentAuthor($comment->name);
- $a->setCommentAuthorEmail($comment->email);
- $a->setCommentAuthorURL($comment->url);
- $a->setCommentContent($comment->content);
-
- $a->submitHam();
-
- $false_positives++;
- }
-
- break;
- }
- }
-
- if ($false_negatives) {
- Session::notice(_t('Reported %d false negatives to %s.', array($false_negatives, $provider)));
- }
-
- if ($false_positives) {
- Session::notice(_t('Reported %d false positives to %s.', array($false_positives, $provider)));
- }
- }
-}
-
-?>
diff --git a/extern/habariakismet/habariakismet.plugin.xml b/extern/habariakismet/habariakismet.plugin.xml
deleted file mode 100644
index b1c59a4..0000000
--- a/extern/habariakismet/habariakismet.plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
- Habari Akismet
- Apache Software License 2.0
- http://habariproject.org
- The Habari Community
- 0.2
- 98bdb03a-a7e5-4c2a-a875-dcfe1d89f130
-
-
\ No newline at end of file
diff --git a/languages.yaml b/languages.yaml
index 173ba3c..ebb2ecc 100644
--- a/languages.yaml
+++ b/languages.yaml
@@ -1,7 +1,13 @@
de:
PLUGIN_COMMENTS:
ADD_COMMENT: Kommentar hinzufügen
+ AKISMET: Akismet
+ AKISMET_APIKEY: Akismet API Key
+ AKISMET_SITE_OVERRIDE: Akismet Site Override
COMMENTS: Kommentare
+ COMMENTS_NESTED: Nested Comments
+ COMMENTS_NONE: There are no comments yet.
+ COMMENTS_PINGBACKS: Pingbacks
EMAIL_NOT_CONFIGURED: Email nicht konfiguriert
NEW_COMMENT_EMAIL_SUBJECT: 'Neuer Kommentar für %1$s'
NEW_COMMENT_EMAIL_BODY: '
Ein neuer Kommentar am %1$s von %3$s (%4$s).
Seite: %2$s
Text: %5$s
'
@@ -16,14 +22,21 @@ de:
EMAIL_PLACEHOLDER: "Email-Adresse eingeben"
MESSAGE_LABEL: "Kommentar"
MESSAGE_PLACEHOLDER: "Kommentar eingeben"
+ RECAPTCHA: reCAPTCHA
+ SITE_LABEL: Site
SUBMIT_COMMENT_BUTTON_TEXT: "Absenden"
EMAIL_NEW_COMMENT_SUBJECT: "[Neuer Kommentar] von {{ form.value.name|e }}"
THANK_YOU_MESSAGE: "Vielen Dank für den Kommentar!"
+ WARNINGS: Warnings
en:
PLUGIN_COMMENTS:
ADD_COMMENT: Add a comment
+ AKISMET: Akismet
+ AKISMET_APIKEY: Akismet API Key
+ AKISMET_SITE_OVERRIDE: Akismet Site Override
COMMENTS: Comments
+ COMMENTS_NESTED: Nested Comments
COMMENTS_NONE: There are no comments yet.
COMMENTS_PINGBACKS: Pingbacks
EMAIL_NOT_CONFIGURED: Email not configured
@@ -40,14 +53,23 @@ en:
EMAIL_PLACEHOLDER: "Enter your email address"
MESSAGE_LABEL: "Comment"
MESSAGE_PLACEHOLDER: "Enter your comment"
+ RECAPTCHA: reCAPTCHA
+ SITE_LABEL: Site
SUBMIT_COMMENT_BUTTON_TEXT: "Submit"
EMAIL_NEW_COMMENT_SUBJECT: "[New Comment] from {{ form.value.name|e }}"
THANK_YOU_MESSAGE: "Thank you for writing your comment!"
+ WARNINGS: Warnings
es:
PLUGIN_COMMENTS:
ADD_COMMENT: Agregar un comentario
+ AKISMET: Akismet
+ AKISMET_APIKEY: Akismet API Key
+ AKISMET_SITE_OVERRIDE: Akismet Site Override
COMMENTS: Comentarios
+ COMMENTS_NESTED: Nested Comments
+ COMMENTS_NONE: There are no comments yet.
+ COMMENTS_PINGBACKS: Pingbacks
EMAIL_NOT_CONFIGURED: El Email no está configurado
NEW_COMMENT_EMAIL_SUBJECT: 'Nuevo comentario en %1$s'
NEW_COMMENT_EMAIL_BODY: '
Un nuevo comentario se hizo en %1$s por %3$s (%4$s).
Page: %2$s
Text: %5$s
'
@@ -62,14 +84,23 @@ es:
EMAIL_PLACEHOLDER: "Escriba su email"
MESSAGE_LABEL: "Comentario"
MESSAGE_PLACEHOLDER: "Escriba su comentario"
+ RECAPTCHA: reCAPTCHA
+ SITE_LABEL: Site
SUBMIT_COMMENT_BUTTON_TEXT: "Enviar"
EMAIL_NEW_COMMENT_SUBJECT: "[Nuevo comentario] de {{ form.value.name|e }}"
THANK_YOU_MESSAGE: "Gracias por escribir su comentario!"
+ WARNINGS: Warnings
fr:
PLUGIN_COMMENTS:
ADD_COMMENT: Ajouter un commentaire
+ AKISMET: Akismet
+ AKISMET_APIKEY: Akismet API Key
+ AKISMET_SITE_OVERRIDE: Akismet Site Override
COMMENTS: Commentaires
+ COMMENTS_NESTED: Nested Comments
+ COMMENTS_NONE: There are no comments yet.
+ COMMENTS_PINGBACKS: Pingbacks
EMAIL_NOT_CONFIGURED: E-mail non configuré
NEW_COMMENT_EMAIL_SUBJECT: 'Nouveau commentaire sur %1$s'
NEW_COMMENT_EMAIL_BODY: '
Un nouveau commentaire a été publié sur %1$s par %3$s (%4$s).
Page : %2$s
Texte : %5$s
'
@@ -84,14 +115,23 @@ fr:
EMAIL_PLACEHOLDER: "Indiquez votre adresse e-mail"
MESSAGE_LABEL: "Commentaire"
MESSAGE_PLACEHOLDER: "Rédigez votre commentaire"
+ RECAPTCHA: reCAPTCHA
+ SITE_LABEL: Site
SUBMIT_COMMENT_BUTTON_TEXT: "Envoyer"
EMAIL_NEW_COMMENT_SUBJECT: "[Nouveau commentaire] de {{ form.value.name|e }}"
THANK_YOU_MESSAGE: "Merci d'avoir rédigé votre commentaire !"
+ WARNINGS: Warnings
hr:
PLUGIN_COMMENTS:
ADD_COMMENT: Dodaj komentar
+ AKISMET: Akismet
+ AKISMET_APIKEY: Akismet API Key
+ AKISMET_SITE_OVERRIDE: Akismet Site Override
COMMENTS: Komentari
+ COMMENTS_NESTED: Nested Comments
+ COMMENTS_NONE: There are no comments yet.
+ COMMENTS_PINGBACKS: Pingbacks
EMAIL_NOT_CONFIGURED: Email adresa nije podešena
NEW_COMMENT_EMAIL_SUBJECT: 'Novi komentar na %1$s'
NEW_COMMENT_EMAIL_BODY: '
Novi komentar je napisan na %1$s od %3$s (%4$s).
Stranica:: %2$s
Tekst: %5$s
'
@@ -106,14 +146,23 @@ hr:
EMAIL_PLACEHOLDER: "Unesite email adresu"
MESSAGE_LABEL: "Komentar"
MESSAGE_PLACEHOLDER: "Unesite komentar"
+ RECAPTCHA: reCAPTCHA
+ SITE_LABEL: Site
SUBMIT_COMMENT_BUTTON_TEXT: "Pošalji"
EMAIL_NEW_COMMENT_SUBJECT: "[Novi komentar] od {{ form.value.name|e }}"
THANK_YOU_MESSAGE: "Hvala Vam što ste napisali svoj komentar!"
+ WARNINGS: Warnings
it:
PLUGIN_COMMENTS:
ADD_COMMENT: Aggiungi un commento
+ AKISMET: Akismet
+ AKISMET_APIKEY: Akismet API Key
+ AKISMET_SITE_OVERRIDE: Akismet Site Override
COMMENTS: Commenti
+ COMMENTS_NESTED: Nested Comments
+ COMMENTS_NONE: There are no comments yet.
+ COMMENTS_PINGBACKS: Pingbacks
EMAIL_NOT_CONFIGURED: Email non configurata
NEW_COMMENT_EMAIL_SUBJECT: 'Nuovo commento su %1$s'
NEW_COMMENT_EMAIL_BODY: '
Un nuovo commento è stato postato su %1$s da %3$s (%4$s).
Pagina: %2$s
Testo: %5$s
'
@@ -128,14 +177,23 @@ it:
EMAIL_PLACEHOLDER: "Inserisci il tuo indirizzo email"
MESSAGE_LABEL: "Messaggio"
MESSAGE_PLACEHOLDER: "Inserisci il tuo commento"
+ RECAPTCHA: reCAPTCHA
+ SITE_LABEL: Site
SUBMIT_COMMENT_BUTTON_TEXT: "Invia"
EMAIL_NEW_COMMENT_SUBJECT: "[Nuovo commento] da {{ form.value.name|e }}"
THANK_YOU_MESSAGE: "Grazie per il tuo commento!"
+ WARNINGS: Warnings
ja:
PLUGIN_COMMENTS:
ADD_COMMENT: コメントを追加する
+ AKISMET: Akismet
+ AKISMET_APIKEY: Akismet API Key
+ AKISMET_SITE_OVERRIDE: Akismet Site Override
COMMENTS: コメント
+ COMMENTS_NESTED: Nested Comments
+ COMMENTS_NONE: There are no comments yet.
+ COMMENTS_PINGBACKS: Pingbacks
EMAIL_NOT_CONFIGURED: メールアドレスは設定さていません
NEW_COMMENT_EMAIL_SUBJECT: '%1$sについて新しいコメント'
NEW_COMMENT_EMAIL_BODY: '
新しいコメントが%1$sについて%3$sから(%4$s)書かれた.
ページー : %2$s
文書 : %5$s
'
@@ -150,14 +208,23 @@ ja:
EMAIL_PLACEHOLDER: "ご自分のメールアドレスをここに..."
MESSAGE_LABEL: "コメント"
MESSAGE_PLACEHOLDER: "コメントをここに"
+ RECAPTCHA: reCAPTCHA
+ SITE_LABEL: Site
SUBMIT_COMMENT_BUTTON_TEXT: "送信する"
EMAIL_NEW_COMMENT_SUBJECT: "[新しいコメント]、 {{ form.value.name|e }}から"
THANK_YOU_MESSAGE: "コメントを書いてくださいましてありがとうございました!"
+ WARNINGS: Warnings
pl:
PLUGIN_COMMENTS:
ADD_COMMENT: Dodaj komentarz
+ AKISMET: Akismet
+ AKISMET_APIKEY: Akismet API Key
+ AKISMET_SITE_OVERRIDE: Akismet Site Override
COMMENTS: Komentarzy
+ COMMENTS_NESTED: Nested Comments
+ COMMENTS_NONE: There are no comments yet.
+ COMMENTS_PINGBACKS: Pingbacks
EMAIL_NOT_CONFIGURED: Email jest nie skofigurowany
NEW_COMMENT_EMAIL_SUBJECT: 'Nowy komentarz %1$s'
NEW_COMMENT_EMAIL_BODY: '
Pojawił się nowy komentarz, napisany %1$s przez %3$s (%4$s).
Strona: %2$s
Treść: %5$s
'
@@ -170,7 +237,13 @@ pl:
ru:
PLUGIN_COMMENTS:
ADD_COMMENT: Добавить комментарий
+ AKISMET: Akismet
+ AKISMET_APIKEY: Akismet API Key
+ AKISMET_SITE_OVERRIDE: Akismet Site Override
COMMENTS: Комментарии
+ COMMENTS_NESTED: Nested Comments
+ COMMENTS_NONE: There are no comments yet.
+ COMMENTS_PINGBACKS: Pingbacks
EMAIL_NOT_CONFIGURED: Email не настроен
NEW_COMMENT_EMAIL_SUBJECT: 'Новый комментарий к %1$s'
NEW_COMMENT_EMAIL_BODY: '
Новый комментарий был сделан на %1$s by %3$s (%4$s).
Страница: %2$s
Текст: %5$s
'
@@ -183,7 +256,13 @@ ru:
pt-br:
PLUGIN_COMMENTS:
ADD_COMMENT: Escreva um comentário
+ AKISMET: Akismet
+ AKISMET_APIKEY: Akismet API Key
+ AKISMET_SITE_OVERRIDE: Akismet Site Override
COMMENTS: Comentários
+ COMMENTS_NESTED: Nested Comments
+ COMMENTS_NONE: There are no comments yet.
+ COMMENTS_PINGBACKS: Pingbacks
EMAIL_NOT_CONFIGURED: E-mail não configurado
NEW_COMMENT_EMAIL_SUBJECT: 'Novo comentário em %1$s'
NEW_COMMENT_EMAIL_BODY: '
Um novo comentário foi feito em %1$s por %3$s (%4$s).
Página: %2$s
Texto: %5$s
'
@@ -198,14 +277,23 @@ pt-br:
EMAIL_PLACEHOLDER: "Escreva seu e-mail. Ex.: seunome@provedor.com.br"
MESSAGE_LABEL: "Comentário"
MESSAGE_PLACEHOLDER: "Escreva seu comentário"
+ RECAPTCHA: reCAPTCHA
+ SITE_LABEL: Site
SUBMIT_COMMENT_BUTTON_TEXT: "Enviar"
EMAIL_NEW_COMMENT_SUBJECT: "[Novo comentário] de {{ form.value.name|e }}"
THANK_YOU_MESSAGE: "Obrigada por enviar seu comentário!"
+ WARNINGS: Warnings
ro:
PLUGIN_COMMENTS:
ADD_COMMENT: 'Adăugați un comentariu'
+ AKISMET: Akismet
+ AKISMET_APIKEY: Akismet API Key
+ AKISMET_SITE_OVERRIDE: Akismet Site Override
COMMENTS: 'Comentarii'
+ COMMENTS_NESTED: Nested Comments
+ COMMENTS_NONE: There are no comments yet.
+ COMMENTS_PINGBACKS: Pingbacks
EMAIL_NOT_CONFIGURED: 'Adresa de email nu este configurată'
NEW_COMMENT_EMAIL_SUBJECT: 'Comentariu nou pentru %1$s'
NEW_COMMENT_EMAIL_BODY: '
Un nou comentariu a fost adăugat la %1$s de către %3$s (%4$s).
Pagină: %2$s
Text: %5$s
'
@@ -220,14 +308,23 @@ ro:
EMAIL_PLACEHOLDER: "Introduceți adresa Dvs. de email"
MESSAGE_LABEL: "Comentariu"
MESSAGE_PLACEHOLDER: "Scrieți comentariul Dvs."
+ RECAPTCHA: reCAPTCHA
+ SITE_LABEL: Site
SUBMIT_COMMENT_BUTTON_TEXT: "Trimiteți"
EMAIL_NEW_COMMENT_SUBJECT: "[Comentariu nou] from {{ form.value.name|e }}"
THANK_YOU_MESSAGE: "Vă mulțumim pentru comentariu!"
+ WARNINGS: Warnings
no:
PLUGIN_COMMENTS:
ADD_COMMENT: Skriv en kommentar
+ AKISMET: Akismet
+ AKISMET_APIKEY: Akismet API Key
+ AKISMET_SITE_OVERRIDE: Akismet Site Override
COMMENTS: Kommentarer
+ COMMENTS_NESTED: Nested Comments
+ COMMENTS_NONE: There are no comments yet.
+ COMMENTS_PINGBACKS: Pingbacks
EMAIL_NOT_CONFIGURED: Epost er ikke konfigurert
NEW_COMMENT_EMAIL_SUBJECT: 'Ny kommentar på %1$s'
NEW_COMMENT_EMAIL_BODY: '
En ny kommentar er skrevet på %1$s av %3$s (%4$s).
Side: %2$s
Tekst: %5$s
'
@@ -242,6 +339,9 @@ no:
EMAIL_PLACEHOLDER: "Skriv din epost adresse"
MESSAGE_LABEL: "Kommentar"
MESSAGE_PLACEHOLDER: "Skriv din kommentar"
+ RECAPTCHA: reCAPTCHA
+ SITE_LABEL: Site
SUBMIT_COMMENT_BUTTON_TEXT: "Send"
EMAIL_NEW_COMMENT_SUBJECT: "[Ny kommentar] fra {{ form.value.name|e }}"
THANK_YOU_MESSAGE: "Takk for din kommentar!"
+ WARNINGS: Warnings