Update tests and lang’s for 4.0

This commit is contained in:
Will Rossiter 2017-09-18 14:16:24 +12:00
parent 9366ef603e
commit f294ab26d6
31 changed files with 875 additions and 898 deletions

View File

@ -1,5 +1,49 @@
de:
Comment:
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'Bitte geben Sie Ihren Kommentar ein'
COMMENT_MESSAGE_URL: 'Bitte geben Sie eine gültige URL ein'
EMAILADDRESS_MESSAGE_EMAIL: 'Bitte geben Sie eine gültige E-Mail-Adresse ein'
EMAILADDRESS_MESSAGE_REQUIRED: 'Bitte geben Sie Ihre E-Mail-Adresse ein'
POST: Absenden
PREVIEW: Vorschau
PREVIEWLABEL: Vorschau
YOURNAME: Name
YOURNAME_MESSAGE_REQUIRED: 'Bitte geben Sie Ihren Namen ein'
CommentsAdmin:
NeedsModeration: 'Benötigt Moderation'
CommentsInterface_pendingcomment_ss:
AWAITINGMODERATION: 'Ihr Kommentar wurde gespeichert und wird durch einen Moderator freigeschaltet.'
CommentsInterface_singlecomment_ss:
PBY: 'Geschrieben von'
CommentsInterface_ss:
AWAITINGMODERATION: 'Ihr Kommentar wurde gespeichert und wird durch einen Moderator freigeschaltet.'
COMMENTLOGINERROR: 'Sie können diese Seite nur kommentieren, wenn Sie eingeloggt sind'
COMMENTPERMISSIONERROR: 'und die nötige Berechtigung besitzen'
COMMENTPOSTLOGIN: Login
COMMENTS: Kommentare
COMMENTSDISABLED: 'Kommentare sind deaktiviert'
DELETEALLCOMMENTS: 'Alle Kommentare auf dieser Seite löschen'
LOGINTOPOSTCOMMENT: 'Login um zu kommentieren'
NEXT: weiter
NOCOMMENTSYET: 'Noch keine Kommentare auf dieser Seite.'
POSTCOM: Kommentieren
PREV: zurück
RSSFEEDALLCOMMENTS: 'RSS Feed für alle Kommentare'
RSSFEEDCOMMENTS: 'RSS Feed für Kommentare auf dieser Seite'
PageCommentInterface:
DELETEALLCOMMENTS: 'Alle Kommentare auf dieser Seite entfernen'
SilverStripe\Comments\Admin\CommentAdmin:
ADMIN_PERMISSION: 'Zugang zum Bereich ''Kommentare'''
MENUTITLE: Kommentare
Moderated: Moderiert
NeedsModeration: 'Benötigt Moderation'
SilverStripe\Comments\Controllers\CommentingController:
COMMENTS: Kommentare
EMAILADDRESS: 'E-Mail Adresse (wird nicht angezeigt)'
PERMISSIONFAILURE: 'Sie sind nicht berechtigt diese Seite zu kommentieren. Bitte stellen Sie sicher das Sie eingeloggt sind und die nötige Berechtigung besitzen.'
RSSTITLE: 'Kommentare RSS Feed'
WEBSITEURL: 'Website URL'
SilverStripe\Comments\Model\Comment:
ALLOWCOMMENTS: 'Kommentare Erlauben'
COMMENT: Kommentar
COMMENTBY: 'Kommentar von ''%s'''
@ -12,47 +56,3 @@ de:
PLURALNAME: Kommentare
SINGULARNAME: Kommentar
URL: URL
CommentAdmin:
ADMIN_PERMISSION: 'Zugang zum Bereich ''Kommentare'''
MENUTITLE: Kommentare
Moderated: Moderiert
NeedsModeration: 'Benötigt Moderation'
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'Bitte geben Sie Ihren Kommentar ein'
COMMENT_MESSAGE_URL: 'Bitte geben Sie eine gültige URL ein'
EMAILADDRESS_MESSAGE_EMAIL: 'Bitte geben Sie eine gültige E-Mail-Adresse ein'
EMAILADDRESS_MESSAGE_REQUIRED: 'Bitte geben Sie Ihre E-Mail-Adresse ein'
POST: Absenden
PREVIEW: Vorschau
PREVIEWLABEL: Vorschau
YOURNAME: 'Name'
YOURNAME_MESSAGE_REQUIRED: 'Bitte geben Sie Ihren Namen ein'
CommentingController:
COMMENTS: Kommentare
EMAILADDRESS: 'E-Mail Adresse (wird nicht angezeigt)'
PERMISSIONFAILURE: 'Sie sind nicht berechtigt diese Seite zu kommentieren. Bitte stellen Sie sicher das Sie eingeloggt sind und die nötige Berechtigung besitzen.'
RSSTITLE: 'Kommentare RSS Feed'
WEBSITEURL: 'Website URL'
CommentsAdmin:
NeedsModeration: 'Benötigt Moderation'
CommentsInterface_pendingcomment_ss:
AWAITINGMODERATION: 'Ihr Kommentar wurde gespeichert und wird durch einen Moderator freigeschaltet.'
CommentsInterface_singlecomment_ss:
PBY: 'Geschrieben von'
CommentsInterface_ss:
AWAITINGMODERATION: 'Ihr Kommentar wurde gespeichert und wird durch einen Moderator freigeschaltet.'
COMMENTLOGINERROR: 'Sie können diese Seite nur kommentieren, wenn Sie eingeloggt sind'
COMMENTPERMISSIONERROR: 'und die nötige Berechtigung besitzen'
COMMENTPOSTLOGIN: 'Login'
COMMENTS: Kommentare
COMMENTSDISABLED: 'Kommentare sind deaktiviert'
DELETEALLCOMMENTS: 'Alle Kommentare auf dieser Seite löschen'
LOGINTOPOSTCOMMENT: 'Login um zu kommentieren'
NEXT: weiter
NOCOMMENTSYET: 'Noch keine Kommentare auf dieser Seite.'
POSTCOM: 'Kommentieren'
PREV: zurück
RSSFEEDALLCOMMENTS: 'RSS Feed für alle Kommentare'
RSSFEEDCOMMENTS: 'RSS Feed für Kommentare auf dieser Seite'
PageCommentInterface:
DELETEALLCOMMENTS: 'Alle Kommentare auf dieser Seite entfernen'

View File

@ -1,30 +1,4 @@
en:
Comment:
ALLOWCOMMENTS: 'Allow Comments'
COMMENT: Comment
COMMENTBY: 'Comment by %s'
CREATED: 'Date posted'
EMAIL: Email
ISSPAM: 'Spam?'
MODERATED: 'Moderated?'
NAME: 'Author Name'
'ON': 'on'
OPTIONS: Options
OPTION_DESCRIPTION: 'Unmoderated and spam comments will not be displayed until approved'
PARENTTITLE: Parent
PLURALNAME: Comments
ParentComment_Title: 'This comment is a reply to the below'
SINGULARNAME: Comment
URL: URL
CommentAdmin:
ADMIN_PERMISSION: 'Access to ''Comments'' section'
ApprovedComments: Approved
Comments: Approved
MENUTITLE: Comments
Moderated: Moderated
NeedsModeration: 'Needs Moderation'
NewComments: New
SpamComments: Spam
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'Please enter your comment'
COMMENT_MESSAGE_URL: 'Please enter a valid URL'
@ -35,12 +9,6 @@ en:
PREVIEWLABEL: Preview
YOURNAME: 'Your name'
YOURNAME_MESSAGE_REQUIRED: 'Please enter your name'
CommentingController:
COMMENTS: Comments
EMAILADDRESS: 'Your email address (will not be published)'
PERMISSIONFAILURE: 'You''re not able to post comments to this page. Please ensure you are logged in and have an appropriate permission level.'
RSSTITLE: 'Comments RSS Feed'
WEBSITEURL: 'Your website URL'
Comments:
COMMENTSREQUIRELOGIN: 'Require login to comment'
CommentsAdmin:
@ -49,19 +17,6 @@ en:
NeedsModeration: 'Needs Moderation'
NewComments: New
SpamComments: Spam
CommentsExtension:
COMMENTOPTIONS: Comments
MODERATIONREQUIRED_NONE: 'No moderation required'
MODERATIONREQUIRED_NONMEMBERSONLY: 'Only moderate non-members'
MODERATIONREQUIRED_REQUIRED: 'Moderate all comments'
CommentsGridFieldAction:
APPROVE: Approve
COMMENTAPPROVED: 'Comment approved.'
COMMENTMARKEDSPAM: 'Comment marked as spam.'
SPAM: Spam
CommentsGridFieldConfig:
APPROVE: Approve
SPAM: Spam
CommentsInterface_pendingcomment_ss:
AWAITINGMODERATION: 'Your comment has been submitted and is now awaiting moderation.'
CommentsInterface_singlecomment_ss:
@ -87,3 +42,48 @@ en:
RSSFEEDCOMMENTS: 'RSS feed for comments on this page'
PageCommentInterface:
DELETEALLCOMMENTS: 'Delete all comments on this page'
SilverStripe\Comments\Admin\CommentAdmin:
ADMIN_PERMISSION: 'Access to ''Comments'' section'
ApprovedComments: Approved
Comments: Approved
MENUTITLE: Comments
Moderated: Moderated
NeedsModeration: 'Needs Moderation'
NewComments: New
SpamComments: Spam
SilverStripe\Comments\Admin\CommentsGridFieldAction:
APPROVE: Approve
COMMENTAPPROVED: 'Comment approved.'
COMMENTMARKEDSPAM: 'Comment marked as spam.'
SPAM: Spam
SilverStripe\Comments\Admin\CommentsGridFieldConfig:
APPROVE: Approve
SPAM: Spam
SilverStripe\Comments\Controllers\CommentingController:
COMMENTS: Comments
EMAILADDRESS: 'Your email address (will not be published)'
PERMISSIONFAILURE: 'You''re not able to post comments to this page. Please ensure you are logged in and have an appropriate permission level.'
RSSTITLE: 'Comments RSS Feed'
WEBSITEURL: 'Your website URL'
SilverStripe\Comments\Extensions\CommentsExtension:
COMMENTOPTIONS: Comments
MODERATIONREQUIRED_NONE: 'No moderation required'
MODERATIONREQUIRED_NONMEMBERSONLY: 'Only moderate non-members'
MODERATIONREQUIRED_REQUIRED: 'Moderate all comments'
SilverStripe\Comments\Model\Comment:
ALLOWCOMMENTS: 'Allow Comments'
COMMENT: Comment
COMMENTBY: 'Comment by %s'
CREATED: 'Date posted'
EMAIL: Email
ISSPAM: 'Spam?'
MODERATED: 'Moderated?'
NAME: 'Author Name'
'ON': 'on'
OPTIONS: Options
OPTION_DESCRIPTION: 'Unmoderated and spam comments will not be displayed until approved'
PARENTTITLE: Parent
PLURALNAME: Comments
ParentComment_Title: 'This comment is a reply to the below'
SINGULARNAME: Comment
URL: URL

View File

@ -1,29 +1,4 @@
eo:
Comment:
ALLOWCOMMENTS: 'Ebligi komentojn'
COMMENT: Komento
COMMENTBY: 'Komento de %s'
CREATED: 'Dato de afiŝo'
EMAIL: Retpoŝto
ISSPAM: 'Ĉu spamo?'
MODERATED: 'Ĉu kontrolata?'
NAME: 'Nomo de aŭtoro'
'ON': 'en'
OPTION_DESCRIPTION: 'Ne vidigos nekontrolitajn aŭ spamajn komentojn antaŭ aprobo'
PARENTTITLE: Patra
PLURALNAME: Komentoj
ParentComment_Title: 'Tiu komento estas respondo al la suba'
SINGULARNAME: Komento
URL: URL
CommentAdmin:
ADMIN_PERMISSION: 'Aliro al sekcio ''Komentoj'''
ApprovedComments: Aprobita
Comments: Aprobita
MENUTITLE: Komentoj
Moderated: Kontrolata
NeedsModeration: 'Bezonas kontrolon'
NewComments: Nova
SpamComments: Spamo
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'Bonvole enigu vian komenton'
COMMENT_MESSAGE_URL: 'Bonvole enigu validan URL-on'
@ -34,12 +9,6 @@ eo:
PREVIEWLABEL: Antaŭvido
YOURNAME: 'Via nomo'
YOURNAME_MESSAGE_REQUIRED: 'Bonvole enigu vian nomon'
CommentingController:
COMMENTS: Komentoj
EMAILADDRESS: 'Via retadreso (ne publikiĝos)'
PERMISSIONFAILURE: 'Vi ne povas afiŝi komentojn al ĉi tiu paĝo. Bonvole certigu ke vi jam ensalutis kaj havas taŭgan permeson.'
RSSTITLE: 'RSS-fluo de komentoj'
WEBSITEURL: 'Via reteja URL'
Comments:
COMMENTSREQUIRELOGIN: 'Necesas ensaluti por komenti'
CommentsAdmin:
@ -48,11 +17,6 @@ eo:
NeedsModeration: 'Bezonas kontrolon'
NewComments: Nova
SpamComments: Spamo
CommentsExtension:
COMMENTOPTIONS: Komentoj
MODERATIONREQUIRED_NONE: 'Kontrolado ne bezonatas'
MODERATIONREQUIRED_NONMEMBERSONLY: 'Kontroli nur nemembrojn'
MODERATIONREQUIRED_REQUIRED: 'Kontroli ĉiujn komentojn'
CommentsInterface_pendingcomment_ss:
AWAITINGMODERATION: 'Via komento afiŝiĝis kaj nun atendas kontrolon.'
CommentsInterface_singlecomment_ss:
@ -78,3 +42,39 @@ eo:
RSSFEEDCOMMENTS: 'RSS-fluo por komentoj pri ĉi tiu paĝo'
PageCommentInterface:
DELETEALLCOMMENTS: 'Forigi ĉiujn komentojn pri ĉi tiu paĝo'
SilverStripe\Comments\Admin\CommentAdmin:
ADMIN_PERMISSION: 'Aliro al sekcio ''Komentoj'''
ApprovedComments: Aprobita
Comments: Aprobita
MENUTITLE: Komentoj
Moderated: Kontrolata
NeedsModeration: 'Bezonas kontrolon'
NewComments: Nova
SpamComments: Spamo
SilverStripe\Comments\Controllers\CommentingController:
COMMENTS: Komentoj
EMAILADDRESS: 'Via retadreso (ne publikiĝos)'
PERMISSIONFAILURE: 'Vi ne povas afiŝi komentojn al ĉi tiu paĝo. Bonvole certigu ke vi jam ensalutis kaj havas taŭgan permeson.'
RSSTITLE: 'RSS-fluo de komentoj'
WEBSITEURL: 'Via reteja URL'
SilverStripe\Comments\Extensions\CommentsExtension:
COMMENTOPTIONS: Komentoj
MODERATIONREQUIRED_NONE: 'Kontrolado ne bezonatas'
MODERATIONREQUIRED_NONMEMBERSONLY: 'Kontroli nur nemembrojn'
MODERATIONREQUIRED_REQUIRED: 'Kontroli ĉiujn komentojn'
SilverStripe\Comments\Model\Comment:
ALLOWCOMMENTS: 'Ebligi komentojn'
COMMENT: Komento
COMMENTBY: 'Komento de %s'
CREATED: 'Dato de afiŝo'
EMAIL: Retpoŝto
ISSPAM: 'Ĉu spamo?'
MODERATED: 'Ĉu kontrolata?'
NAME: 'Nomo de aŭtoro'
'ON': en
OPTION_DESCRIPTION: 'Ne vidigos nekontrolitajn aŭ spamajn komentojn antaŭ aprobo'
PARENTTITLE: Patra
PLURALNAME: Komentoj
ParentComment_Title: 'Tiu komento estas respondo al la suba'
SINGULARNAME: Komento
URL: URL

View File

@ -1,37 +1,14 @@
es:
Comment:
ALLOWCOMMENTS: 'Permitir comentarios'
COMMENT: Comentario
COMMENTBY: 'Comentario por %s'
CREATED: 'Fecha de publicación'
EMAIL: Email
ISSPAM: '¿Spam?'
MODERATED: '¿Moderado?'
NAME: 'Nombre del autor'
PARENTTITLE: Padre
PLURALNAME: Comentarios
SINGULARNAME: Comentario
URL: URL
CommentAdmin:
ADMIN_PERMISSION: 'Acceder a la sección ''Comentarios'''
MENUTITLE: Comentarios
Moderated: Moderado
NeedsModeration: 'Necesita moderación'
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'Por favor, ingres su comentario'
COMMENT_MESSAGE_URL: 'Por favor, ingrese una URL válida'
EMAILADDRESS_MESSAGE_EMAIL: 'Por favor, ingrse una dirección de correo válida'
EMAILADDRESS_MESSAGE_REQUIRED: 'Por favor, ingrese su dirección de correo'
POST: Publicar
PREVIEW: Vista previa
PREVIEWLABEL: Vista previa
PREVIEW: 'Vista previa'
PREVIEWLABEL: 'Vista previa'
YOURNAME: 'Su nombre'
YOURNAME_MESSAGE_REQUIRED: 'Por favor, ingrese su nombre'
CommentingController:
COMMENTS: Comentarios
EMAILADDRESS: 'Su dirección de correo (no se publicará)'
PERMISSIONFAILURE: 'Ud no puede publicar comentarios en esta página. Por favor asegúrese que haya iniciado sesión y que tenga el adecuado nivel de permisos.'
WEBSITEURL: 'URL de su sitio Web'
CommentsAdmin:
NeedsModeration: 'Necesita moderación'
CommentsInterface_pendingcomment_ss:
@ -53,3 +30,26 @@ es:
PREV: anterior
PageCommentInterface:
DELETEALLCOMMENTS: 'Eliminar todos los comentarios de esta página'
SilverStripe\Comments\Admin\CommentAdmin:
ADMIN_PERMISSION: 'Acceder a la sección ''Comentarios'''
MENUTITLE: Comentarios
Moderated: Moderado
NeedsModeration: 'Necesita moderación'
SilverStripe\Comments\Controllers\CommentingController:
COMMENTS: Comentarios
EMAILADDRESS: 'Su dirección de correo (no se publicará)'
PERMISSIONFAILURE: 'Ud no puede publicar comentarios en esta página. Por favor asegúrese que haya iniciado sesión y que tenga el adecuado nivel de permisos.'
WEBSITEURL: 'URL de su sitio Web'
SilverStripe\Comments\Model\Comment:
ALLOWCOMMENTS: 'Permitir comentarios'
COMMENT: Comentario
COMMENTBY: 'Comentario por %s'
CREATED: 'Fecha de publicación'
EMAIL: Email
ISSPAM: '¿Spam?'
MODERATED: '¿Moderado?'
NAME: 'Nombre del autor'
PARENTTITLE: Padre
PLURALNAME: Comentarios
SINGULARNAME: Comentario
URL: URL

View File

@ -1,64 +1,28 @@
fa_IR:
Comment:
ALLOWCOMMENTS: 'اجازه نشر دیدگاه'
COMMENT: دیدگاه
COMMENTBY: 'دیدگاه توسط %s'
CREATED: 'تاریخ ارسال'
EMAIL: ایمیل
ISSPAM: 'هرزنوشت؟'
MODERATED: 'مدیریت شده؟'
NAME: 'نام نگارنده'
'ON': 'در'
OPTION_DESCRIPTION: 'دیدگاه‌های مدیریت نشده و هرزنوشت‌ها تا زمان تایید به نمایش در نخواهند آمد'
PARENTTITLE: والد
PLURALNAME: دیدگاه‌ها
ParentComment_Title: 'این دیدگاه پاسخی است به زیر'
SINGULARNAME: دیدگاه
URL: نشانی اینترنتی
CommentAdmin:
ADMIN_PERMISSION: 'دسترسی به بخش ''دیدگاه‌ها'''
ApprovedComments: تایید شده
Comments: تایید شده
MENUTITLE: دیدگاه‌ها
Moderated: مدیریت شده
NeedsModeration: 'نیازمند مدیریت'
NewComments: تازه
SpamComments: هرزنوشت
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'لطفاً دیدگاه خود را وارد نمایید'
COMMENT_MESSAGE_URL: 'لطفاً نشانی اینترنتی معتبر وارد نمایید'
EMAILADDRESS_MESSAGE_EMAIL: 'لطفاً نشانی ایمیل معتبر وارد نمایید'
EMAILADDRESS_MESSAGE_REQUIRED: 'لطفاً نشانی ایمیل خود را وارد نمایید'
POST: ارسال
PREVIEW: پیش‌نمایش
PREVIEWLABEL: پیش‌نمایش
PREVIEW: 'پیش‌نمایش'
PREVIEWLABEL: 'پیش‌نمایش'
YOURNAME: 'نام شما'
YOURNAME_MESSAGE_REQUIRED: 'لطفاً نام خود را وارد نمایید'
CommentingController:
COMMENTS: دیدگاه‌ها
EMAILADDRESS: 'ایمیل شما (منتشر نخواهد شد)'
PERMISSIONFAILURE: 'شما نمی‌توانید در این صفحه دیدگاهی درج نمایید. لطفاً اطمینان حاصل نمایید که وارد سایت شده‌اید و از سطح دسترسی دسترسی مناسب برخوردار هستید.'
RSSTITLE: 'خوراک آراس‌اس دیدگاه‌ها'
WEBSITEURL: 'نشانی وب‌سایت شما'
Comments:
COMMENTSREQUIRELOGIN: 'درج دیدگاه نیازمند ورود شما به سایت است'
CommentsAdmin:
ApprovedComments: تایید شده
Comments: تایید شده
ApprovedComments: 'تایید شده'
Comments: 'تایید شده'
NeedsModeration: 'نیازمند مدیریت'
NewComments: تازه
SpamComments: هرزنوشت
CommentsExtension:
COMMENTOPTIONS: دیدگاه‌ها
MODERATIONREQUIRED_NONE: 'نیاز به مدیریت ندارد'
MODERATIONREQUIRED_NONMEMBERSONLY: 'تنها مدیریت کاربران غیر عضو'
MODERATIONREQUIRED_REQUIRED: 'مدیریت تمامی دیدگاه‌ها'
CommentsInterface_pendingcomment_ss:
AWAITINGMODERATION: 'دیدگاه شما ارسال شده و هم‌اکنون در انتظار بررسی است.'
CommentsInterface_singlecomment_ss:
APPROVE: 'تایید کن'
ISNTSPAM: 'هرزنوشت نیست'
ISSPAM: 'هرزنوشته'
ISSPAM: هرزنوشته
PBY: 'ارسال شده توسط'
REMCOM: 'رد کردن'
CommentsInterface_ss:
@ -78,3 +42,39 @@ fa_IR:
RSSFEEDCOMMENTS: 'خوراک آر‌اس‌اس دیدگاه‌های این صفحه'
PageCommentInterface:
DELETEALLCOMMENTS: 'حذف تمامی دیدگاه‌ها در این صفحه'
SilverStripe\Comments\Admin\CommentAdmin:
ADMIN_PERMISSION: 'دسترسی به بخش ''دیدگاه‌ها'''
ApprovedComments: 'تایید شده'
Comments: 'تایید شده'
MENUTITLE: دیدگاه‌ها
Moderated: 'مدیریت شده'
NeedsModeration: 'نیازمند مدیریت'
NewComments: تازه
SpamComments: هرزنوشت
SilverStripe\Comments\Controllers\CommentingController:
COMMENTS: دیدگاه‌ها
EMAILADDRESS: 'ایمیل شما (منتشر نخواهد شد)'
PERMISSIONFAILURE: 'شما نمی‌توانید در این صفحه دیدگاهی درج نمایید. لطفاً اطمینان حاصل نمایید که وارد سایت شده‌اید و از سطح دسترسی دسترسی مناسب برخوردار هستید.'
RSSTITLE: 'خوراک آراس‌اس دیدگاه‌ها'
WEBSITEURL: 'نشانی وب‌سایت شما'
SilverStripe\Comments\Extensions\CommentsExtension:
COMMENTOPTIONS: دیدگاه‌ها
MODERATIONREQUIRED_NONE: 'نیاز به مدیریت ندارد'
MODERATIONREQUIRED_NONMEMBERSONLY: 'تنها مدیریت کاربران غیر عضو'
MODERATIONREQUIRED_REQUIRED: 'مدیریت تمامی دیدگاه‌ها'
SilverStripe\Comments\Model\Comment:
ALLOWCOMMENTS: 'اجازه نشر دیدگاه'
COMMENT: دیدگاه
COMMENTBY: 'دیدگاه توسط %s'
CREATED: 'تاریخ ارسال'
EMAIL: 'ایمیل'
ISSPAM: هرزنوشت؟
MODERATED: 'مدیریت شده؟'
NAME: 'نام نگارنده'
'ON': در
OPTION_DESCRIPTION: 'دیدگاه‌های مدیریت نشده و هرزنوشت‌ها تا زمان تایید به نمایش در نخواهند آمد'
PARENTTITLE: والد
PLURALNAME: دیدگاه‌ها
ParentComment_Title: 'این دیدگاه پاسخی است به زیر'
SINGULARNAME: دیدگاه
URL: 'نشانی اینترنتی'

View File

@ -1,44 +1,20 @@
fi:
Comment:
ALLOWCOMMENTS: 'Salli kommentointi'
COMMENT: Komentti
COMMENTBY: 'Kommentoija: %s'
CREATED: 'Kirjoitettu'
EMAIL: Sähköposti
ISSPAM: 'Spämmiä?'
MODERATED: 'Moderoitu?'
NAME: 'Kirjoittajan nimi'
'ON': 'pvm'
PARENTTITLE: Isäntä
PLURALNAME: Kommentit
SINGULARNAME: Komentti
URL: URL-osoite
CommentAdmin:
MENUTITLE: Kommentit
Moderated: Moderoitu
NeedsModeration: 'Tarvitsee moderointia'
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'Ole hyvä ja kommentoi'
COMMENT_MESSAGE_URL: 'URL-osoitteen on oltava kelvollinen'
EMAILADDRESS_MESSAGE_EMAIL: 'Sähköpostiosoitteen on oltava kelvollinen'
EMAILADDRESS_MESSAGE_REQUIRED: 'Sähköpostiosoitteesi'
EMAILADDRESS_MESSAGE_REQUIRED: Sähköpostiosoitteesi
POST: Lähetä
PREVIEW: Esikatselu
PREVIEWLABEL: Esikatselu
YOURNAME: 'Nimesi'
YOURNAME_MESSAGE_REQUIRED: 'Nimesi'
CommentingController:
COMMENTS: Kommentit
EMAILADDRESS: 'Sähköpostiosoitteesi (ei julkaista)'
PERMISSIONFAILURE: 'Et voi kommentoida tätä sivua. Varmista, että olet kirjatuneena ja että käyttöoikeutesi ovat riittävät.'
RSSTITLE: 'Kommenttien RSS-syöte'
WEBSITEURL: 'WWW-sivustosi osoite'
YOURNAME: Nimesi
YOURNAME_MESSAGE_REQUIRED: Nimesi
CommentsAdmin:
NeedsModeration: 'Tarvitsee moderointia'
CommentsInterface_pendingcomment_ss:
AWAITINGMODERATION: 'Kommenttisi on lähetetty ja on moderoitavana.'
CommentsInterface_singlecomment_ss:
PBY: 'Lähettänyt'
PBY: Lähettänyt
CommentsInterface_ss:
AWAITINGMODERATION: 'Kommenttisi on lähetetty ja on moderoitavana.'
COMMENTLOGINERROR: 'Et voi kommentoida ennen kuin olet kirjautunut sisään'
@ -55,3 +31,27 @@ fi:
RSSFEEDCOMMENTS: 'RSS-syöte tämän sivun kommenteista'
PageCommentInterface:
DELETEALLCOMMENTS: 'Poista kaikki tämän sivun kommentit'
SilverStripe\Comments\Admin\CommentAdmin:
MENUTITLE: Kommentit
Moderated: Moderoitu
NeedsModeration: 'Tarvitsee moderointia'
SilverStripe\Comments\Controllers\CommentingController:
COMMENTS: Kommentit
EMAILADDRESS: 'Sähköpostiosoitteesi (ei julkaista)'
PERMISSIONFAILURE: 'Et voi kommentoida tätä sivua. Varmista, että olet kirjatuneena ja että käyttöoikeutesi ovat riittävät.'
RSSTITLE: 'Kommenttien RSS-syöte'
WEBSITEURL: 'WWW-sivustosi osoite'
SilverStripe\Comments\Model\Comment:
ALLOWCOMMENTS: 'Salli kommentointi'
COMMENT: Komentti
COMMENTBY: 'Kommentoija: %s'
CREATED: Kirjoitettu
EMAIL: Sähköposti
ISSPAM: 'Spämmiä?'
MODERATED: 'Moderoitu?'
NAME: 'Kirjoittajan nimi'
'ON': pvm
PARENTTITLE: Isäntä
PLURALNAME: Kommentit
SINGULARNAME: Komentti
URL: URL-osoite

View File

@ -1,21 +1,4 @@
fr:
Comment:
ALLOWCOMMENTS: 'Autoriser Commentaires'
COMMENT: Commentaire
COMMENTBY: 'Commentaire par %s'
CREATED: 'Date de publication'
EMAIL: Email
ISSPAM: 'Spam?'
MODERATED: 'Modéré?'
NAME: 'Nom de l''Auteur'
PARENTTITLE: Parent
PLURALNAME: Commentaires
SINGULARNAME: Commentaire
URL: URL
CommentAdmin:
MENUTITLE: Commentaires
Moderated: Modéré
NeedsModeration: 'Besoin de modération'
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'Saisissez votre commentaire'
COMMENT_MESSAGE_URL: 'Saisissez une URl valide'
@ -26,16 +9,8 @@ fr:
PREVIEWLABEL: Aperçu
YOURNAME: 'Votre Nom'
YOURNAME_MESSAGE_REQUIRED: 'Saisissez votre nom'
CommentingController:
COMMENTS: Commentaires
EMAILADDRESS: 'Votre adresse e-mail (ne sera pas publiée)'
PERMISSIONFAILURE: 'Vous n''avez pas l''autorisation de commenter cette page. Assurez vous d''être connecté et d''avoir le bon niveau de d''autorisation.'
RSSTITLE: 'Flux RSS de Commentaires'
WEBSITEURL: 'URl de votre site web'
CommentsAdmin:
NeedsModeration: 'Besoin de Modération'
CommentsExtension:
COMMENTOPTIONS: Commentaires
CommentsInterface_pendingcomment_ss:
AWAITINGMODERATION: 'Votre commentaire a été soumis à modération.'
CommentsInterface_singlecomment_ss:
@ -57,3 +32,29 @@ fr:
RSSFEEDCOMMENTS: 'Flux RSS de commentaires de cette page'
PageCommentInterface:
DELETEALLCOMMENTS: 'Supprimer tout les commentaires de cette page'
SilverStripe\Comments\Admin\CommentAdmin:
ADMIN_PERMISSION: 'Accès à la section Commentaires'
MENUTITLE: Commentaires
Moderated: Modéré
NeedsModeration: 'Besoin de modération'
SilverStripe\Comments\Controllers\CommentingController:
COMMENTS: Commentaires
EMAILADDRESS: 'Votre adresse e-mail (ne sera pas publiée)'
PERMISSIONFAILURE: 'Vous n''avez pas l''autorisation de commenter cette page. Assurez vous d''être connecté et d''avoir le bon niveau de d''autorisation.'
RSSTITLE: 'Flux RSS de Commentaires'
WEBSITEURL: 'URl de votre site web'
SilverStripe\Comments\Extensions\CommentsExtension:
COMMENTOPTIONS: Commentaires
SilverStripe\Comments\Model\Comment:
ALLOWCOMMENTS: 'Autoriser Commentaires'
COMMENT: Commentaire
COMMENTBY: 'Commentaire par %s'
CREATED: 'Date de publication'
EMAIL: Email
ISSPAM: 'Spam?'
MODERATED: 'Modéré?'
NAME: 'Nom de l''Auteur'
PARENTTITLE: Parent
PLURALNAME: Commentaires
SINGULARNAME: Commentaire
URL: URL

View File

@ -1,5 +1,48 @@
hu:
Comment:
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'Szöveg megadása'
COMMENT_MESSAGE_URL: 'Kérjük adjon meg egy működő linket'
EMAILADDRESS_MESSAGE_EMAIL: 'Kérjük adjon meg egy e-mail címet'
EMAILADDRESS_MESSAGE_REQUIRED: 'Kérjük adja meg az e-mail címét'
POST: Elküld
PREVIEW: Előnézet
PREVIEWLABEL: Előnézet
YOURNAME: 'Az Ön neve'
YOURNAME_MESSAGE_REQUIRED: 'Kérjük adja meg nevét'
CommentsAdmin:
NeedsModeration: 'Moderálás szükséges'
CommentsInterface_pendingcomment_ss:
AWAITINGMODERATION: 'Hozzászólását moderálásra továbbítottuk'
CommentsInterface_singlecomment_ss:
PBY: Feladó
CommentsInterface_ss:
AWAITINGMODERATION: 'Hozzászólását moderálásra továbbítottuk'
COMMENTLOGINERROR: 'A hozzászóláshoz be kell jelentkeznie'
COMMENTPERMISSIONERROR: 'és rendelkeznie kell a megfelelő jogosultsággal'
COMMENTPOSTLOGIN: Bejelentkezés
COMMENTS: Hozzászólások
COMMENTSDISABLED: 'A hozzászólások le vannak tiltva '
LOGINTOPOSTCOMMENT: 'A hozzászóláshoz jelentkezzen be '
NEXT: következő
NOCOMMENTSYET: 'Nem érkeztek hozzászólások'
POSTCOM: 'Küldjön egy hozzászólást'
PREV: előző
RSSFEEDALLCOMMENTS: 'Összes hozzászólás RSS-ben'
RSSFEEDCOMMENTS: 'Oldal hozzászólásai RSS-ben'
PageCommentInterface:
DELETEALLCOMMENTS: 'Oldal összes hozzászólásának törlése'
SilverStripe\Comments\Admin\CommentAdmin:
ADMIN_PERMISSION: '''Hozzászólások'' mező elérése'
MENUTITLE: Hozzászólások
Moderated: Moderált
NeedsModeration: 'Moderálás szükséges'
SilverStripe\Comments\Controllers\CommentingController:
COMMENTS: 'A hosszászólás szövege'
EMAILADDRESS: 'Az Ön e-mail címe (nem látható)'
PERMISSIONFAILURE: 'Ön csak a bejelentkezést követően, és a megfelelő jogosultság birtokában hozhat létre hozzászólást.'
RSSTITLE: 'Hozzászólások RSS-ben'
WEBSITEURL: 'Az Ön webcíme'
SilverStripe\Comments\Model\Comment:
ALLOWCOMMENTS: 'Hozzászólások engedélyezve'
COMMENT: Hozzászólás
COMMENTBY: 'Létrehozta %s'
@ -12,46 +55,3 @@ hu:
PLURALNAME: Hozzászólások
SINGULARNAME: Hozzászólás
URL: Link
CommentAdmin:
ADMIN_PERMISSION: '''Hozzászólások'' mező elérése'
MENUTITLE: Hozzászólások
Moderated: Moderált
NeedsModeration: 'Moderálás szükséges'
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'Szöveg megadása'
COMMENT_MESSAGE_URL: 'Kérjük adjon meg egy működő linket'
EMAILADDRESS_MESSAGE_EMAIL: 'Kérjük adjon meg egy e-mail címet'
EMAILADDRESS_MESSAGE_REQUIRED: 'Kérjük adja meg az e-mail címét'
POST: Elküld
PREVIEW: Előnézet
PREVIEWLABEL: Előnézet
YOURNAME: 'Az Ön neve'
YOURNAME_MESSAGE_REQUIRED: 'Kérjük adja meg nevét'
CommentingController:
COMMENTS: A hosszászólás szövege
EMAILADDRESS: 'Az Ön e-mail címe (nem látható)'
PERMISSIONFAILURE: 'Ön csak a bejelentkezést követően, és a megfelelő jogosultság birtokában hozhat létre hozzászólást.'
RSSTITLE: 'Hozzászólások RSS-ben'
WEBSITEURL: 'Az Ön webcíme'
CommentsAdmin:
NeedsModeration: 'Moderálás szükséges'
CommentsInterface_pendingcomment_ss:
AWAITINGMODERATION: 'Hozzászólását moderálásra továbbítottuk'
CommentsInterface_singlecomment_ss:
PBY: 'Feladó'
CommentsInterface_ss:
AWAITINGMODERATION: 'Hozzászólását moderálásra továbbítottuk'
COMMENTLOGINERROR: 'A hozzászóláshoz be kell jelentkeznie'
COMMENTPERMISSIONERROR: 'és rendelkeznie kell a megfelelő jogosultsággal'
COMMENTPOSTLOGIN: 'Bejelentkezés'
COMMENTS: Hozzászólások
COMMENTSDISABLED: 'A hozzászólások le vannak tiltva '
LOGINTOPOSTCOMMENT: 'A hozzászóláshoz jelentkezzen be '
NEXT: következő
NOCOMMENTSYET: 'Nem érkeztek hozzászólások'
POSTCOM: 'Küldjön egy hozzászólást'
PREV: előző
RSSFEEDALLCOMMENTS: 'Összes hozzászólás RSS-ben'
RSSFEEDCOMMENTS: 'Oldal hozzászólásai RSS-ben'
PageCommentInterface:
DELETEALLCOMMENTS: 'Oldal összes hozzászólásának törlése'

View File

@ -1,21 +1,4 @@
id:
Comment:
ALLOWCOMMENTS: 'Bolehkan Komentar'
COMMENT: Komentar
COMMENTBY: 'Komentar oleh %s'
CREATED: 'Tanggal kirim'
EMAIL: Email
ISSPAM: 'Spam?'
MODERATED: 'Moderasi?'
NAME: 'Nama Penulis'
PARENTTITLE: Induk
PLURALNAME: Komentar
SINGULARNAME: Komentar
URL: URL
CommentAdmin:
MENUTITLE: Komentar
Moderated: Dimoderasi
NeedsModeration: 'Perlu Moderasi'
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'Ketikkan komentar Anda'
COMMENT_MESSAGE_URL: 'Isikan URL yang valid'
@ -26,12 +9,6 @@ id:
PREVIEWLABEL: Pratinjau
YOURNAME: 'Nama Anda'
YOURNAME_MESSAGE_REQUIRED: 'Isikan nama Anda'
CommentingController:
COMMENTS: Komentar
EMAILADDRESS: 'Alamat email Anda (tidak akan diterbitkan)'
PERMISSIONFAILURE: 'Anda tidak dapat mengomentari laman ini. Mohon pastikan Anda sudah login dan mendapatkan hak akses yang sesuai.'
RSSTITLE: 'Sindikasi RSS Komentar'
WEBSITEURL: 'URL situs Anda'
CommentsAdmin:
NeedsModeration: 'Perlu Moderasi'
CommentsInterface_pendingcomment_ss:
@ -54,3 +31,26 @@ id:
RSSFEEDCOMMENTS: 'Sindikasi RSS untuk komentar di laman ini'
PageCommentInterface:
DELETEALLCOMMENTS: 'Hapus semua komentar di laman ini'
SilverStripe\Comments\Admin\CommentAdmin:
MENUTITLE: Komentar
Moderated: Dimoderasi
NeedsModeration: 'Perlu Moderasi'
SilverStripe\Comments\Controllers\CommentingController:
COMMENTS: Komentar
EMAILADDRESS: 'Alamat email Anda (tidak akan diterbitkan)'
PERMISSIONFAILURE: 'Anda tidak dapat mengomentari laman ini. Mohon pastikan Anda sudah login dan mendapatkan hak akses yang sesuai.'
RSSTITLE: 'Sindikasi RSS Komentar'
WEBSITEURL: 'URL situs Anda'
SilverStripe\Comments\Model\Comment:
ALLOWCOMMENTS: 'Bolehkan Komentar'
COMMENT: Komentar
COMMENTBY: 'Komentar oleh %s'
CREATED: 'Tanggal kirim'
EMAIL: Email
ISSPAM: 'Spam?'
MODERATED: 'Moderasi?'
NAME: 'Nama Penulis'
PARENTTITLE: Induk
PLURALNAME: Komentar
SINGULARNAME: Komentar
URL: URL

View File

@ -1,29 +1,4 @@
lt:
Comment:
ALLOWCOMMENTS: 'Leisti komentarus'
COMMENT: Komentaras
COMMENTBY: 'Komentarą parašė ''%s'''
CREATED: 'Paskelbimo data'
EMAIL: E. paštas
ISSPAM: 'Šlamštas?'
MODERATED: 'Patvirtintas?'
NAME: 'Autoriaus Vardas'
'ON': 'į'
OPTION_DESCRIPTION: 'Nepatvirtinti komentarai nebus rodomi, kol jie atskirai nebus patvirtinti'
PARENTTITLE: Priklauso
PLURALNAME: Komentarai
ParentComment_Title: 'Šis komentaras yra atsakymas į žemiau esantį'
SINGULARNAME: Komentaras
URL: URL adresas
CommentAdmin:
ADMIN_PERMISSION: 'Patekti į ''Komentarų'' dalį'
ApprovedComments: Patvirtinti
Comments: Patvirtinti
MENUTITLE: Komentarai
Moderated: Patvirtinti
NeedsModeration: 'Laukia patvirtinimo'
NewComments: Nauji
SpamComments: Šlamštas
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'Prašome parašyti savo komentarą'
COMMENT_MESSAGE_URL: 'Prašome įvesti teisingą URL adresą'
@ -34,12 +9,6 @@ lt:
PREVIEWLABEL: Peržiūra
YOURNAME: 'Jūsų vardas'
YOURNAME_MESSAGE_REQUIRED: 'Prašome įvesti savo vardą'
CommentingController:
COMMENTS: Komentarai
EMAILADDRESS: 'Jūsų el.pašto adresas (nebus skelbiamas)'
PERMISSIONFAILURE: 'Jūs negalite skelbti komentarų šiame puslapyje. Įsitikinkite, kad esate prisijungęs ir turite atitinkamą teisių lygį.'
RSSTITLE: 'Komentarų RSS srautas'
WEBSITEURL: 'Jūsų svetainės nuoroda'
Comments:
COMMENTSREQUIRELOGIN: 'Būtina prisijungti komentavimui'
CommentsAdmin:
@ -47,20 +16,15 @@ lt:
Comments: Patvirtinti
NeedsModeration: 'Laukia patvirtinimo'
NewComments: Nauji
SpamComments: Šlamštas
CommentsExtension:
COMMENTOPTIONS: Komentarai
MODERATIONREQUIRED_NONE: 'Nereikalauja patvirtinimo'
MODERATIONREQUIRED_NONMEMBERSONLY: 'Tvirtinti tik neregistruotų vartotojų'
MODERATIONREQUIRED_REQUIRED: 'Tvirtinti visus komentarus'
SpamComments: 'Šlamštas'
CommentsInterface_pendingcomment_ss:
AWAITINGMODERATION: 'Jūsų komentaras išsiųstas ir laukia patvirtinimo.'
CommentsInterface_singlecomment_ss:
APPROVE: 'patvirtinti'
APPROVE: patvirtinti
ISNTSPAM: 'ne šlamštas'
ISSPAM: 'šlamštas'
PBY: 'Paskelbė'
REMCOM: 'ištrinti'
ISSPAM: šlamštas
PBY: Paskelbė
REMCOM: ištrinti
CommentsInterface_ss:
AWAITINGMODERATION: 'Jūsų komentaras išsiųstas ir laukia patvirtinimo.'
COMMENTLOGINERROR: 'Negalite rašyti komentarų, jeigu nesate prisijungę'
@ -78,3 +42,39 @@ lt:
RSSFEEDCOMMENTS: 'Šio puslapio komentarų RSS'
PageCommentInterface:
DELETEALLCOMMENTS: 'Ištrinti visus komentarus šiame puslapyje'
SilverStripe\Comments\Admin\CommentAdmin:
ADMIN_PERMISSION: 'Patekti į ''Komentarų'' dalį'
ApprovedComments: Patvirtinti
Comments: Patvirtinti
MENUTITLE: Komentarai
Moderated: Patvirtinti
NeedsModeration: 'Laukia patvirtinimo'
NewComments: Nauji
SpamComments: 'Šlamštas'
SilverStripe\Comments\Controllers\CommentingController:
COMMENTS: Komentarai
EMAILADDRESS: 'Jūsų el.pašto adresas (nebus skelbiamas)'
PERMISSIONFAILURE: 'Jūs negalite skelbti komentarų šiame puslapyje. Įsitikinkite, kad esate prisijungęs ir turite atitinkamą teisių lygį.'
RSSTITLE: 'Komentarų RSS srautas'
WEBSITEURL: 'Jūsų svetainės nuoroda'
SilverStripe\Comments\Extensions\CommentsExtension:
COMMENTOPTIONS: Komentarai
MODERATIONREQUIRED_NONE: 'Nereikalauja patvirtinimo'
MODERATIONREQUIRED_NONMEMBERSONLY: 'Tvirtinti tik neregistruotų vartotojų'
MODERATIONREQUIRED_REQUIRED: 'Tvirtinti visus komentarus'
SilverStripe\Comments\Model\Comment:
ALLOWCOMMENTS: 'Leisti komentarus'
COMMENT: Komentaras
COMMENTBY: 'Komentarą parašė ''%s'''
CREATED: 'Paskelbimo data'
EMAIL: 'E. paštas'
ISSPAM: 'Šlamštas?'
MODERATED: 'Patvirtintas?'
NAME: 'Autoriaus Vardas'
'ON': į
OPTION_DESCRIPTION: 'Nepatvirtinti komentarai nebus rodomi, kol jie atskirai nebus patvirtinti'
PARENTTITLE: Priklauso
PLURALNAME: Komentarai
ParentComment_Title: 'Šis komentaras yra atsakymas į žemiau esantį'
SINGULARNAME: Komentaras
URL: 'URL adresas'

View File

@ -1,25 +1,7 @@
nb:
Comment:
ALLOWCOMMENTS: 'Tillat kommentarer'
COMMENT: Kommentar
ISSPAM: 'Spam?'
MODERATED: 'Moderert?'
NAME: 'Navn'
PLURALNAME: Kommentarer
SINGULARNAME: Kommentar
CommentAdmin:
MENUTITLE: Kommentarer
Moderated: Moderert
NeedsModeration: 'Trenger moderering'
CommentInterface:
POST: Legg ut
YOURNAME: 'Navn'
CommentingController:
COMMENTS: Kommentar
EMAILADDRESS: 'Epostadresse (blir ikke publisert)'
PERMISSIONFAILURE: 'Du kan ikke kommentere på denne siden. Vennligst sjekk at du er innlogget og har et passende tilgangsnivå.'
RSSTITLE: 'RSS-feed for kommentarer'
WEBSITEURL: 'Hjemmeside'
POST: 'Legg ut'
YOURNAME: Navn
CommentsAdmin:
NeedsModeration: 'Trenger moderering'
CommentsInterface_pendingcomment_ss:
@ -41,3 +23,21 @@ nb:
RSSFEEDCOMMENTS: 'RSS-feed for kommentarer på denne siden'
PageCommentInterface:
DELETEALLCOMMENTS: 'Fjern alle kommentarer på denne siden'
SilverStripe\Comments\Admin\CommentAdmin:
MENUTITLE: Kommentarer
Moderated: Moderert
NeedsModeration: 'Trenger moderering'
SilverStripe\Comments\Controllers\CommentingController:
COMMENTS: Kommentar
EMAILADDRESS: 'Epostadresse (blir ikke publisert)'
PERMISSIONFAILURE: 'Du kan ikke kommentere på denne siden. Vennligst sjekk at du er innlogget og har et passende tilgangsnivå.'
RSSTITLE: 'RSS-feed for kommentarer'
WEBSITEURL: Hjemmeside
SilverStripe\Comments\Model\Comment:
ALLOWCOMMENTS: 'Tillat kommentarer'
COMMENT: Kommentar
ISSPAM: 'Spam?'
MODERATED: 'Moderert?'
NAME: Navn
PLURALNAME: Kommentarer
SINGULARNAME: Kommentar

View File

@ -1,30 +1,9 @@
nl:
Comment:
ALLOWCOMMENTS: 'Reacties toestaan'
COMMENT: Reactie
ISSPAM: 'Spam?'
MODERATED: 'Gemodereerd?'
NAME: 'Auteur'
'ON': 'op'
PLURALNAME: Reacties
SINGULARNAME: Reactie
CommentAdmin:
MENUTITLE: Reacties
Moderated: Gemodereerd
NeedsModeration: 'Wacht op moderatie'
CommentInterface:
POST: Plaats reactie
YOURNAME: 'Naam'
CommentingController:
COMMENTS: Reacties
EMAILADDRESS: 'E-mail adres (wordt niet gepubliceerd)'
PERMISSIONFAILURE: 'Je mag geen reacties plaatsen op deze pagina. Log a.u.b. eerst in en controleer je gebruikersrechten.'
RSSTITLE: 'Reacties RSS feed'
WEBSITEURL: 'Website URL'
POST: 'Plaats reactie'
YOURNAME: Naam
CommentsAdmin:
NeedsModeration: 'Wacht op moderatie'
CommentsExtension:
COMMENTOPTIONS: Reacties
CommentsInterface_pendingcomment_ss:
AWAITINGMODERATION: 'Je reactie is verstuurd en is in afwachting van moderatie.'
CommentsInterface_singlecomment_ss:
@ -32,7 +11,7 @@ nl:
CommentsInterface_ss:
COMMENTLOGINERROR: 'Je moet ingelogd zijn om reacties te kunnen plaatsen'
COMMENTPERMISSIONERROR: 'en controleer je gebruikersrechten'
COMMENTPOSTLOGIN: 'Inloggen'
COMMENTPOSTLOGIN: Inloggen
COMMENTS: Reacties
COMMENTSDISABLED: 'Reacties plaatsen is uitgeschakeld'
LOGINTOPOSTCOMMENT: 'Log in om een reactie te plaatsen'
@ -44,3 +23,24 @@ nl:
RSSFEEDCOMMENTS: 'RSS feed voor reacties op deze pagina'
PageCommentInterface:
DELETEALLCOMMENTS: 'Verwijder alle reacties op deze pagina'
SilverStripe\Comments\Admin\CommentAdmin:
MENUTITLE: Reacties
Moderated: Gemodereerd
NeedsModeration: 'Wacht op moderatie'
SilverStripe\Comments\Controllers\CommentingController:
COMMENTS: Reacties
EMAILADDRESS: 'E-mail adres (wordt niet gepubliceerd)'
PERMISSIONFAILURE: 'Je mag geen reacties plaatsen op deze pagina. Log a.u.b. eerst in en controleer je gebruikersrechten.'
RSSTITLE: 'Reacties RSS feed'
WEBSITEURL: 'Website URL'
SilverStripe\Comments\Extensions\CommentsExtension:
COMMENTOPTIONS: Reacties
SilverStripe\Comments\Model\Comment:
ALLOWCOMMENTS: 'Reacties toestaan'
COMMENT: Reactie
ISSPAM: 'Spam?'
MODERATED: 'Gemodereerd?'
NAME: Auteur
'ON': op
PLURALNAME: Reacties
SINGULARNAME: Reactie

View File

@ -1,45 +1,14 @@
pl_PL:
Comment:
ALLOWCOMMENTS: 'Zezwól na komentarze'
COMMENT: Komentarz
COMMENTBY: 'Komentarz %s'
CREATED: 'Data opublikowania'
EMAIL: Email
ISSPAM: 'Spam?'
MODERATED: 'Moderowane?'
NAME: 'Autor'
'ON': 'na'
OPTION_DESCRIPTION: 'Niemoderowane i oznaczone jako spam komentarze nie będą wyświetlane do momentu zatwierdzenia'
PARENTTITLE: Rodzic
PLURALNAME: Komentarze
ParentComment_Title: 'Ten komentarz jest odpowiedzią na komentarz poniżej'
SINGULARNAME: Komentarz
URL: URL
CommentAdmin:
ADMIN_PERMISSION: 'Dostęp do sekcji "Komentarze"'
ApprovedComments: Zatwierdzone
Comments: Zatwierdzone
MENUTITLE: Komentarze
Moderated: Moderowane
NeedsModeration: 'Wymaga moderacji'
NewComments: Nowy
SpamComments: Spam
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'Wprowadź swój komentarz'
COMMENT_MESSAGE_URL: 'Wprowadź poprawny adres URL'
EMAILADDRESS_MESSAGE_EMAIL: 'Wprowadź poprawny adres email'
EMAILADDRESS_MESSAGE_REQUIRED: 'Wprowadź swój adres email'
POST: Wyślij
PREVIEW: Podgląd
PREVIEWLABEL: Podgląd
PREVIEW: 'Podgląd'
PREVIEWLABEL: 'Podgląd'
YOURNAME: 'Twoja nazwa'
YOURNAME_MESSAGE_REQUIRED: 'Wprowadź swoje imie'
CommentingController:
COMMENTS: Komentarze
EMAILADDRESS: 'Twój adres email (nie będzie widoczny)'
PERMISSIONFAILURE: 'Nie można dodać komentarza na tej stronie. Upewnij się, że jesteś zalogowany i masz odpowednie uprawnienia.'
RSSTITLE: 'Komentarze z RSS'
WEBSITEURL: 'Adres Twojej strony'
Comments:
COMMENTSREQUIRELOGIN: 'Zaloguj się aby dodać komentarz'
CommentsAdmin:
@ -48,24 +17,19 @@ pl_PL:
NeedsModeration: 'Wymagają moderacji'
NewComments: Nowe
SpamComments: Spam
CommentsExtension:
COMMENTOPTIONS: Komentarze
MODERATIONREQUIRED_NONE: 'Komentarze nie wymagają moderacji'
MODERATIONREQUIRED_NONMEMBERSONLY: 'Moderuj tylko niezarejestrowanych użytkowników'
MODERATIONREQUIRED_REQUIRED: 'Moderuj wszystkie komentarze'
CommentsInterface_pendingcomment_ss:
AWAITINGMODERATION: 'Twój komentarz został wysłany i czeka na akceptację przez moderatora.'
CommentsInterface_singlecomment_ss:
APPROVE: 'zatwierdź'
APPROVE: zatwierdź
ISNTSPAM: 'nie spam'
ISSPAM: 'oznacz spam'
PBY: 'Dodany przez'
REMCOM: 'odrzuć'
REMCOM: odrzuć
CommentsInterface_ss:
AWAITINGMODERATION: 'Twój komentarz został wysłany i czeka na akceptację przez moderatora.'
COMMENTLOGINERROR: 'Nie można dodać komentarza dopóki nie będziesz zalogowany'
COMMENTPERMISSIONERROR: 'i że masz odpowiednie uprawnienia'
COMMENTPOSTLOGIN: 'Zaloguj'
COMMENTPOSTLOGIN: Zaloguj
COMMENTS: Komentarze
COMMENTSDISABLED: 'Dodawanie komentarzy zostało wyłączone'
DELETEALLCOMMENTS: 'Usuń wszystkie komentarze na tej stronie'
@ -78,3 +42,39 @@ pl_PL:
RSSFEEDCOMMENTS: 'Kanał RSS dla komentarzy na tej stronie'
PageCommentInterface:
DELETEALLCOMMENTS: 'Usuń wszystkie komentarze na tej stronie'
SilverStripe\Comments\Admin\CommentAdmin:
ADMIN_PERMISSION: 'Dostęp do sekcji "Komentarze"'
ApprovedComments: Zatwierdzone
Comments: Zatwierdzone
MENUTITLE: Komentarze
Moderated: Moderowane
NeedsModeration: 'Wymaga moderacji'
NewComments: Nowy
SpamComments: Spam
SilverStripe\Comments\Controllers\CommentingController:
COMMENTS: Komentarze
EMAILADDRESS: 'Twój adres email (nie będzie widoczny)'
PERMISSIONFAILURE: 'Nie można dodać komentarza na tej stronie. Upewnij się, że jesteś zalogowany i masz odpowednie uprawnienia.'
RSSTITLE: 'Komentarze z RSS'
WEBSITEURL: 'Adres Twojej strony'
SilverStripe\Comments\Extensions\CommentsExtension:
COMMENTOPTIONS: Komentarze
MODERATIONREQUIRED_NONE: 'Komentarze nie wymagają moderacji'
MODERATIONREQUIRED_NONMEMBERSONLY: 'Moderuj tylko niezarejestrowanych użytkowników'
MODERATIONREQUIRED_REQUIRED: 'Moderuj wszystkie komentarze'
SilverStripe\Comments\Model\Comment:
ALLOWCOMMENTS: 'Zezwól na komentarze'
COMMENT: Komentarz
COMMENTBY: 'Komentarz %s'
CREATED: 'Data opublikowania'
EMAIL: Email
ISSPAM: 'Spam?'
MODERATED: 'Moderowane?'
NAME: Autor
'ON': na
OPTION_DESCRIPTION: 'Niemoderowane i oznaczone jako spam komentarze nie będą wyświetlane do momentu zatwierdzenia'
PARENTTITLE: Rodzic
PLURALNAME: Komentarze
ParentComment_Title: 'Ten komentarz jest odpowiedzią na komentarz poniżej'
SINGULARNAME: Komentarz
URL: URL

View File

@ -1,5 +1,47 @@
ro:
Comment:
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'Vă rugăm să introduceți un comentariu'
COMMENT_MESSAGE_URL: 'Vă rugăm să introduceți un URL valid'
EMAILADDRESS_MESSAGE_EMAIL: 'Vă rugăm să introduceți uo adresă de e-mail validă'
EMAILADDRESS_MESSAGE_REQUIRED: 'Vă rugăm să vă introduceți adresa de e-mail'
POST: Publică
PREVIEW: 'Vizualizare înaintea publicării'
PREVIEWLABEL: 'Vizualizare înaintea publicării'
YOURNAME: 'Numele dvs.'
YOURNAME_MESSAGE_REQUIRED: 'Vă rugăm să vă introduceți numele'
CommentsAdmin:
NeedsModeration: 'Necesită moderare'
CommentsInterface_pendingcomment_ss:
AWAITINGMODERATION: 'Comentariul dvs. a fost trimis și așteaptă să fie moderat.'
CommentsInterface_singlecomment_ss:
PBY: 'Publicat de'
CommentsInterface_ss:
AWAITINGMODERATION: 'Comentariul dvs. a fost trimis și așteaptă să fie moderat.'
COMMENTLOGINERROR: 'Publicarea de comentarii necesită autentificare pe site'
COMMENTPERMISSIONERROR: 'și că aveți nivelul de permisiune corespunzător'
COMMENTPOSTLOGIN: Autentificare
COMMENTS: Comentarii
COMMENTSDISABLED: 'Postarea de comentarii a fost dezactivată'
LOGINTOPOSTCOMMENT: 'Autentificaţi-vă pentru a publica un comentariu'
NEXT: următorul
NOCOMMENTSYET: 'Nimeni nu a comentat încă pe aceasta pagină.'
POSTCOM: 'Publicaţi-vă comentariul'
PREV: anteriorul
RSSFEEDALLCOMMENTS: 'RSS pentru toate comentariile'
RSSFEEDCOMMENTS: 'RSS pentru comentariile de pe această pagină'
PageCommentInterface:
DELETEALLCOMMENTS: 'Ştergeţi toate comentariile de pe această pagină'
SilverStripe\Comments\Admin\CommentAdmin:
MENUTITLE: Commentarii
Moderated: Moderat
NeedsModeration: 'Necesită moderare'
SilverStripe\Comments\Controllers\CommentingController:
COMMENTS: Commentarii
EMAILADDRESS: 'Adresa dvs. de e-mail (nu va fi publicată)'
PERMISSIONFAILURE: 'Nu puteţi publica comentarii pe această pagină. Vă rugăm să vă asiguaţi că sunteți autentificat și că aveşi nivelul de permisiune corespunzător.'
RSSTITLE: 'RSS feed pentru comentarii'
WEBSITEURL: 'URL Site web'
SilverStripe\Comments\Model\Comment:
ALLOWCOMMENTS: 'Acceptare comentarii'
COMMENT: Comentariu
COMMENTBY: 'Comentat de %s'
@ -12,45 +54,3 @@ ro:
PLURALNAME: Comentarii
SINGULARNAME: Comentariu
URL: URL
CommentAdmin:
MENUTITLE: Commentarii
Moderated: Moderat
NeedsModeration: 'Necesită moderare'
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'Vă rugăm să introduceți un comentariu'
COMMENT_MESSAGE_URL: 'Vă rugăm să introduceți un URL valid'
EMAILADDRESS_MESSAGE_EMAIL: 'Vă rugăm să introduceți uo adresă de e-mail validă'
EMAILADDRESS_MESSAGE_REQUIRED: 'Vă rugăm să vă introduceți adresa de e-mail'
POST: Publică
PREVIEW: Vizualizare înaintea publicării
PREVIEWLABEL: Vizualizare înaintea publicării
YOURNAME: 'Numele dvs.'
YOURNAME_MESSAGE_REQUIRED: 'Vă rugăm să vă introduceți numele'
CommentingController:
COMMENTS: Commentarii
EMAILADDRESS: 'Adresa dvs. de e-mail (nu va fi publicată)'
PERMISSIONFAILURE: 'Nu puteţi publica comentarii pe această pagină. Vă rugăm să vă asiguaţi că sunteți autentificat și că aveşi nivelul de permisiune corespunzător.'
RSSTITLE: 'RSS feed pentru comentarii'
WEBSITEURL: 'URL Site web'
CommentsAdmin:
NeedsModeration: 'Necesită moderare'
CommentsInterface_pendingcomment_ss:
AWAITINGMODERATION: 'Comentariul dvs. a fost trimis și așteaptă să fie moderat.'
CommentsInterface_singlecomment_ss:
PBY: 'Publicat de'
CommentsInterface_ss:
AWAITINGMODERATION: 'Comentariul dvs. a fost trimis și așteaptă să fie moderat.'
COMMENTLOGINERROR: 'Publicarea de comentarii necesită autentificare pe site'
COMMENTPERMISSIONERROR: 'și că aveți nivelul de permisiune corespunzător'
COMMENTPOSTLOGIN: 'Autentificare'
COMMENTS: Comentarii
COMMENTSDISABLED: 'Postarea de comentarii a fost dezactivată'
LOGINTOPOSTCOMMENT: 'Autentificaţi-vă pentru a publica un comentariu'
NEXT: următorul
NOCOMMENTSYET: 'Nimeni nu a comentat încă pe aceasta pagină.'
POSTCOM: 'Publicaţi-vă comentariul'
PREV: anteriorul
RSSFEEDALLCOMMENTS: 'RSS pentru toate comentariile'
RSSFEEDCOMMENTS: 'RSS pentru comentariile de pe această pagină'
PageCommentInterface:
DELETEALLCOMMENTS: 'Ştergeţi toate comentariile de pe această pagină'

View File

@ -1,21 +1,4 @@
ru:
Comment:
ALLOWCOMMENTS: 'Разрешить комментарии'
COMMENT: Комментарий
COMMENTBY: 'Комментарий автора %s'
CREATED: 'Дата добавления'
EMAIL: Email
ISSPAM: 'Спам?'
MODERATED: 'Проверено?'
NAME: 'Автор'
PARENTTITLE: Родительская
PLURALNAME: Комментарии
SINGULARNAME: Комментарий
URL: URL
CommentAdmin:
MENUTITLE: Комментарии
NewComments: Новый
SpamComments: Спам
CommentInterface:
COMMENT_MESSAGE_URL: 'Пожалуйста, задайте действительный URL-адрес'
EMAILADDRESS_MESSAGE_EMAIL: 'Пожалуйста, укажите действительный электронный адрес'
@ -23,13 +6,8 @@ ru:
POST: Отправить
PREVIEW: Просмотр
PREVIEWLABEL: Просмотр
YOURNAME: 'Имя'
YOURNAME: Имя
YOURNAME_MESSAGE_REQUIRED: 'Пожалуйста, укажите своё имя'
CommentingController:
COMMENTS: Комментарии
EMAILADDRESS: 'Ваш электронный адрес (не будет опубликован)'
RSSTITLE: 'RSS-лента комментариев'
WEBSITEURL: 'Адрес вашего сайта'
CommentsInterface_pendingcomment_ss:
AWAITINGMODERATION: 'Ваш комментарий отправлен и ожидает проверки.'
CommentsInterface_singlecomment_ss:
@ -44,3 +22,25 @@ ru:
NOCOMMENTSYET: 'Комментариев на этой странице пока нет.'
PageCommentInterface:
DELETEALLCOMMENTS: 'Удалить все комментарии на этой странице'
SilverStripe\Comments\Admin\CommentAdmin:
MENUTITLE: Комментарии
NewComments: Новый
SpamComments: Спам
SilverStripe\Comments\Controllers\CommentingController:
COMMENTS: Комментарии
EMAILADDRESS: 'Ваш электронный адрес (не будет опубликован)'
RSSTITLE: 'RSS-лента комментариев'
WEBSITEURL: 'Адрес вашего сайта'
SilverStripe\Comments\Model\Comment:
ALLOWCOMMENTS: 'Разрешить комментарии'
COMMENT: Комментарий
COMMENTBY: 'Комментарий автора %s'
CREATED: 'Дата добавления'
EMAIL: Email
ISSPAM: 'Спам?'
MODERATED: 'Проверено?'
NAME: Автор
PARENTTITLE: 'Родительская'
PLURALNAME: Комментарии
SINGULARNAME: Комментарий
URL: URL

View File

@ -1,5 +1,28 @@
sk_SK:
Comment:
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'Pridaj scoj komentár'
COMMENT_MESSAGE_URL: 'Vlož platbú adresu URL'
POST: Odoslať
PREVIEW: Náhľad
PREVIEWLABEL: Náhľad
YOURNAME: 'Vaše meno'
YOURNAME_MESSAGE_REQUIRED: 'Vlož svoje meno'
CommentsAdmin:
NeedsModeration: 'Vyžaduje schválenie'
CommentsInterface_ss:
COMMENTLOGINERROR: 'Komentáre môže pridávať len prihlásený užívateľ'
COMMENTS: Komentáre
COMMENTSDISABLED: 'Už nie je možné pridávať nové komentáre'
SilverStripe\Comments\Admin\CommentAdmin:
MENUTITLE: Komentáre
Moderated: Odsúhlasený
NeedsModeration: 'Vyžaduje odsúhlasenie'
SilverStripe\Comments\Controllers\CommentingController:
COMMENTS: Komentáre
EMAILADDRESS: 'Váš e-mail (nebude zverejnený)'
RSSTITLE: 'RSS feed komentárov'
WEBSITEURL: 'Vaša web stránka'
SilverStripe\Comments\Model\Comment:
ALLOWCOMMENTS: 'Povoliť komentáre'
COMMENT: Komentár
COMMENTBY: 'Komentáre od %s'
@ -11,27 +34,4 @@ sk_SK:
PARENTTITLE: Rodič
PLURALNAME: Komentáre
SINGULARNAME: Komentár
URL: Web adresa
CommentAdmin:
MENUTITLE: Komentáre
Moderated: Odsúhlasený
NeedsModeration: 'Vyžaduje odsúhlasenie'
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'Pridaj scoj komentár'
COMMENT_MESSAGE_URL: 'Vlož platbú adresu URL'
POST: Odoslať
PREVIEW: Náhľad
PREVIEWLABEL: Náhľad
YOURNAME: 'Vaše meno'
YOURNAME_MESSAGE_REQUIRED: 'Vlož svoje meno'
CommentingController:
COMMENTS: Komentáre
EMAILADDRESS: 'Váš e-mail (nebude zverejnený)'
RSSTITLE: 'RSS feed komentárov'
WEBSITEURL: 'Vaša web stránka'
CommentsAdmin:
NeedsModeration: 'Vyžaduje schválenie'
CommentsInterface_ss:
COMMENTLOGINERROR: 'Komentáre môže pridávať len prihlásený užívateľ'
COMMENTS: Komentáre
COMMENTSDISABLED: 'Už nie je možné pridávať nové komentáre'
URL: 'Web adresa'

View File

@ -1,21 +1,4 @@
sr@latin:
Comment:
ALLOWCOMMENTS: 'Dozvoli komentare'
COMMENT: Komentar
COMMENTBY: 'Autor komentara %s'
CREATED: 'Datum objavljivanja'
EMAIL: Elektronska pošta
ISSPAM: 'Zlonameran?'
MODERATED: 'Uređen?'
NAME: 'Ime autora'
PARENTTITLE: Roditelj
PLURALNAME: Komentari
SINGULARNAME: Komentar
URL: URL
CommentAdmin:
MENUTITLE: Komentari
Moderated: Uređen
NeedsModeration: 'Potrebno uređivanje'
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'Molimo unesite komentar'
COMMENT_MESSAGE_URL: 'Molimo Vas da unesete ispravan URL'
@ -26,18 +9,12 @@ sr@latin:
PREVIEWLABEL: Prikaz
YOURNAME: 'Vaše ime'
YOURNAME_MESSAGE_REQUIRED: 'Molimo Vas da unesete Vaše ime'
CommentingController:
COMMENTS: Komentari
EMAILADDRESS: 'Vaša adresa elektronske pošte (neće biti objavljeno)'
PERMISSIONFAILURE: 'Niste u mogućnosti da objavljujete komentare na ovoj strani. Molimo Vas da proverite da li ste prijavljeni i da li imate odgovarajući nivo ovlašćenja.'
RSSTITLE: 'RSS Feed komentara'
WEBSITEURL: 'URL Vašeg sajta'
CommentsAdmin:
NeedsModeration: 'Potrebno uređivanje'
CommentsInterface_pendingcomment_ss:
AWAITINGMODERATION: 'Vaš komentar je prosleđen i sada čeka uređivanje.'
CommentsInterface_singlecomment_ss:
PBY: 'Objavio'
PBY: Objavio
CommentsInterface_ss:
AWAITINGMODERATION: 'Vaš komentar je prosleđen i sada čeka uređivanje.'
COMMENTLOGINERROR: 'Ne možete objavljivati komentare dok se ne prijavite'
@ -54,3 +31,26 @@ sr@latin:
RSSFEEDCOMMENTS: 'RSS feed za komentare na ovoj strani'
PageCommentInterface:
DELETEALLCOMMENTS: 'Obriši sve komentare na ovoj strani'
SilverStripe\Comments\Admin\CommentAdmin:
MENUTITLE: Komentari
Moderated: Uređen
NeedsModeration: 'Potrebno uređivanje'
SilverStripe\Comments\Controllers\CommentingController:
COMMENTS: Komentari
EMAILADDRESS: 'Vaša adresa elektronske pošte (neće biti objavljeno)'
PERMISSIONFAILURE: 'Niste u mogućnosti da objavljujete komentare na ovoj strani. Molimo Vas da proverite da li ste prijavljeni i da li imate odgovarajući nivo ovlašćenja.'
RSSTITLE: 'RSS Feed komentara'
WEBSITEURL: 'URL Vašeg sajta'
SilverStripe\Comments\Model\Comment:
ALLOWCOMMENTS: 'Dozvoli komentare'
COMMENT: Komentar
COMMENTBY: 'Autor komentara %s'
CREATED: 'Datum objavljivanja'
EMAIL: 'Elektronska pošta'
ISSPAM: 'Zlonameran?'
MODERATED: 'Uređen?'
NAME: 'Ime autora'
PARENTTITLE: Roditelj
PLURALNAME: Komentari
SINGULARNAME: Komentar
URL: URL

View File

@ -1,21 +1,4 @@
sv:
Comment:
ALLOWCOMMENTS: 'Tillåt kommentarer'
COMMENT: Kommentarer
COMMENTBY: 'Kommentar av %s'
CREATED: 'Datum'
EMAIL: E-post
ISSPAM: 'Spam?'
MODERATED: 'Modererad?'
NAME: 'Författare'
PARENTTITLE: Överordnad sida
PLURALNAME: Kommentarer
SINGULARNAME: Kommentar
URL: URL
CommentAdmin:
MENUTITLE: Kommentarer
Moderated: Modererad
NeedsModeration: 'Kräver moderering'
CommentInterface:
COMMENT_MESSAGE_REQUIRED: 'Var vänlig och skriv in din kommentar'
COMMENT_MESSAGE_URL: 'Var vänlig och ange en korrekt URL'
@ -26,12 +9,6 @@ sv:
PREVIEWLABEL: Förhandsgranska
YOURNAME: 'Ditt namn'
YOURNAME_MESSAGE_REQUIRED: 'Var vänlig och skriv in ditt namn'
CommentingController:
COMMENTS: Kommentarer
EMAILADDRESS: 'Din e-postadress (kommer inte att publiceras)'
PERMISSIONFAILURE: 'Du kan inte skriva kommentarer på denna sida. Vänligen kontrollera att du är inloggad och har de användarrättigheter som krävs.'
RSSTITLE: 'RSS-flöde med kommentarer'
WEBSITEURL: 'Din hemsidas URL'
CommentsAdmin:
NeedsModeration: 'Kräver moderering'
CommentsInterface_pendingcomment_ss:
@ -54,3 +31,26 @@ sv:
RSSFEEDCOMMENTS: 'RSS-flöde för kommentarer på denna sida'
PageCommentInterface:
DELETEALLCOMMENTS: 'Radera alla kommenterar på den här sidan'
SilverStripe\Comments\Admin\CommentAdmin:
MENUTITLE: Kommentarer
Moderated: Modererad
NeedsModeration: 'Kräver moderering'
SilverStripe\Comments\Controllers\CommentingController:
COMMENTS: Kommentarer
EMAILADDRESS: 'Din e-postadress (kommer inte att publiceras)'
PERMISSIONFAILURE: 'Du kan inte skriva kommentarer på denna sida. Vänligen kontrollera att du är inloggad och har de användarrättigheter som krävs.'
RSSTITLE: 'RSS-flöde med kommentarer'
WEBSITEURL: 'Din hemsidas URL'
SilverStripe\Comments\Model\Comment:
ALLOWCOMMENTS: 'Tillåt kommentarer'
COMMENT: Kommentarer
COMMENTBY: 'Kommentar av %s'
CREATED: Datum
EMAIL: E-post
ISSPAM: 'Spam?'
MODERATED: 'Modererad?'
NAME: Författare
PARENTTITLE: 'Överordnad sida'
PLURALNAME: Kommentarer
SINGULARNAME: Kommentar
URL: URL

View File

@ -11,6 +11,7 @@ use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\Form;
use SilverStripe\Security\PermissionProvider;
use SilverStripe\Security\Security;
use SilverStripe\View\SSViewer;
/**
* Comment administration system within the CMS
@ -25,6 +26,8 @@ class CommentAdmin extends LeftAndMain implements PermissionProvider
private static $menu_title = 'Comments';
private static $menu_icon_class = 'font-icon-comment';
private static $allowed_actions = array(
'approvedmarked',
'deleteall',
@ -36,12 +39,14 @@ class CommentAdmin extends LeftAndMain implements PermissionProvider
'unmoderated'
);
private static $required_permission_codes = 'CMS_ACCESS_CommentAdmin';
public function providePermissions()
{
return array(
"CMS_ACCESS_CommentAdmin" => array(
'name' => _t('CommentAdmin.ADMIN_PERMISSION', "Access to 'Comments' section"),
'category' => _t('Permission.CMS_ACCESS_CATEGORY', 'CMS Access')
'name' => _t('SilverStripe\\Comments\\Admin\\CommentAdmin.ADMIN_PERMISSION', "Access to 'Comments' section"),
'category' => _t('SilverStripe\\Security\\Permission.CMS_ACCESS_CATEGORY', 'CMS Access')
)
);
}
@ -66,7 +71,7 @@ class CommentAdmin extends LeftAndMain implements PermissionProvider
$newGrid = new CommentsGridField(
'NewComments',
_t('CommentsAdmin.NewComments', 'New'),
'',
$newComments,
CommentsGridFieldConfig::create()
);
@ -75,7 +80,7 @@ class CommentAdmin extends LeftAndMain implements PermissionProvider
$approvedGrid = new CommentsGridField(
'ApprovedComments',
_t('CommentsAdmin.ApprovedComments', 'Approved'),
'',
$approvedComments,
CommentsGridFieldConfig::create()
);
@ -84,7 +89,7 @@ class CommentAdmin extends LeftAndMain implements PermissionProvider
$spamGrid = new CommentsGridField(
'SpamComments',
_t('CommentsAdmin.SpamComments', 'Spam'),
'',
$spamComments,
CommentsGridFieldConfig::create()
);
@ -95,27 +100,25 @@ class CommentAdmin extends LeftAndMain implements PermissionProvider
$fields = new FieldList(
$root = new TabSet(
'Root',
'Comments',
new Tab(
'NewComments',
_t('CommentAdmin.NewComments', 'New') . ' ' . $newCount,
_t(__CLASS__.'.NewComments', 'New') . ' ' . $newCount,
$newGrid
),
new Tab(
'ApprovedComments',
_t('CommentAdmin.ApprovedComments', 'Approved') . ' ' . $approvedCount,
_t(__CLASS__.'.ApprovedComments', 'Approved') . ' ' . $approvedCount,
$approvedGrid
),
new Tab(
'SpamComments',
_t('CommentAdmin.SpamComments', 'Spam') . ' ' . $spamCount,
_t(__CLASS__.'.SpamComments', 'Spam') . ' ' . $spamCount,
$spamGrid
)
)
);
$root->setTemplate('CMSTabSet');
$actions = new FieldList();
$form = new Form(
@ -129,7 +132,7 @@ class CommentAdmin extends LeftAndMain implements PermissionProvider
$form->setTemplate($this->getTemplatesWithSuffix('_EditForm'));
if ($form->Fields()->hasTabset()) {
$form->Fields()->findOrMakeTab('Root')->setTemplate('CMSTabSet');
// $form->Fields()->findOrMakeTab('Root')->setTemplate('CMSTabSet');
$form->addExtraClass('center ss-tabset cms-tabset ' . $this->BaseCSSClasses());
}

View File

@ -4,6 +4,7 @@ namespace SilverStripe\Comments\Admin;
use SilverStripe\Forms\FormField;
use SilverStripe\Forms\GridField\GridField;
use SilverStripe\View\HTML;
class CommentsGridField extends GridField
{
@ -20,7 +21,7 @@ class CommentsGridField extends GridField
$attributes['class'] .= ' spam';
}
return FormField::create_tag(
return HTML::createTag(
'tr',
$attributes,
$content

View File

@ -62,7 +62,7 @@ class CommentsGridFieldAction implements GridField_ColumnProvider, GridField_Act
$field .= GridField_FormAction::create(
$gridField,
'CustomAction' . $record->ID . 'Spam',
_t('CommentsGridFieldAction.SPAM', 'Spam'),
_t('SilverStripe\\Comments\\Admin\\CommentsGridFieldAction.SPAM', 'Spam'),
'spam',
array('RecordID' => $record->ID)
)->Field();
@ -72,7 +72,7 @@ class CommentsGridFieldAction implements GridField_ColumnProvider, GridField_Act
$field .= GridField_FormAction::create(
$gridField,
'CustomAction' . $record->ID . 'Approve',
_t('CommentsGridFieldAction.APPROVE', 'Approve'),
_t('SilverStripe\\Comments\\Admin\\CommentsGridFieldAction.APPROVE', 'Approve'),
'approve',
array('RecordID' => $record->ID)
)->Field();
@ -101,7 +101,7 @@ class CommentsGridFieldAction implements GridField_ColumnProvider, GridField_Act
// output a success message to the user
Controller::curr()->getResponse()->setStatusCode(
200,
_t('CommentsGridFieldAction.COMMENTMARKEDSPAM', 'Comment marked as spam.')
_t('SilverStripe\\Comments\\Admin\\CommentsGridFieldAction.COMMENTMARKEDSPAM', 'Comment marked as spam.')
);
}
@ -112,7 +112,7 @@ class CommentsGridFieldAction implements GridField_ColumnProvider, GridField_Act
// output a success message to the user
Controller::curr()->getResponse()->setStatusCode(
200,
_t('CommentsGridFieldAction.COMMENTAPPROVED', 'Comment approved.')
_t('SilverStripe\\Comments\\Admin\\CommentsGridFieldAction.COMMENTAPPROVED', 'Comment approved.')
);
}
}

View File

@ -35,7 +35,7 @@ class CommentsGridFieldConfig extends GridFieldConfig_RecordEditor
$manager->addBulkAction(
'spam',
_t('CommentsGridFieldConfig.SPAM', 'Spam'),
_t('SilverStripe\\Comments\\Admin\\CommentsGridFieldConfig.SPAM', 'Spam'),
Handler::class,
array(
'isAjax' => true,
@ -46,7 +46,7 @@ class CommentsGridFieldConfig extends GridFieldConfig_RecordEditor
$manager->addBulkAction(
'approve',
_t('CommentsGridFieldConfig.APPROVE', 'Approve'),
_t('SilverStripe\\Comments\\Admin\\CommentsGridFieldConfig.APPROVE', 'Approve'),
Handler::class,
array(
'isAjax' => true,

View File

@ -190,6 +190,26 @@ class CommentingController extends Controller
return singleton(CommentsExtension::class)->getCommentsOption($key);
}
/**
* Returns all the commenting options for the current instance.
*
* @return array
*/
public function getOptions()
{
if ($record = $this->getOwnerRecord()) {
return $record->getCommentsOptions();
}
// Otherwise a singleton of that record
if ($class = $this->getParentClass()) {
return singleton($class)->getCommentsOptions();
}
// Otherwise just use the default options
return singleton(CommentsExtension::class)->getCommentsOptions();
}
/**
* Workaround for generating the link to this controller
*
@ -254,7 +274,7 @@ class CommentingController extends Controller
}
}
$title = _t('CommentingController.RSSTITLE', "Comments RSS Feed");
$title = _t('SilverStripe\\Comments\\Controllers\\CommentingController.RSSTITLE', "Comments RSS Feed");
$comments = new PaginatedList($comments, $request);
$comments->setPageLength($this->getOption('comments_per_page'));
@ -455,7 +475,7 @@ class CommentingController extends Controller
*/
public function CommentsForm()
{
return Injector::inst()->create(CommentForm::class, __FUNCTION__, $this->owner);
return Injector::inst()->create(CommentForm::class, __FUNCTION__, $this);
}

View File

@ -61,43 +61,43 @@ class CommentsExtension extends DataExtension
*
* @config
*/
private static $comments = array(
private static $comments = [
'enabled' => true,
'enabled_cms' => false,
'require_login' => false,
'require_login_cms' => false,
'required_permission' => false,
// 'enabled_cms' => false,
// 'require_login' => false,
// 'require_login_cms' => false,
// 'required_permission' => false,
'include_js' => true,
'use_gravatar' => false,
// 'use_gravatar' => false,
'gravatar_size' => 80,
'gravatar_default' => 'identicon',
'gravatar_rating' => 'g',
'show_comments_when_disabled' => false,
// 'show_comments_when_disabled' => false,
'order_comments_by' => '"Created" DESC',
'order_replies_by' => false,
// 'order_replies_by' => false,
'comments_per_page' => 10,
'comments_holder_id' => 'comments-holder',
'comment_permalink_prefix' => 'comment-',
'require_moderation' => false,
'require_moderation_nonmembers' => false,
'require_moderation_cms' => false,
'frontend_moderation' => false,
'frontend_spam' => false,
'html_allowed' => false,
'html_allowed_elements' => array('a', 'img', 'i', 'b'),
'use_preview' => false,
'nested_comments' => false,
// 'require_moderation' => false,
// 'require_moderation_nonmembers' => false,
// 'require_moderation_cms' => false,
// 'frontend_moderation' => false,
// 'frontend_spam' => false,
// 'html_allowed' => false,
'html_allowed_elements' => ['a', 'img', 'i', 'b'],
// 'use_preview' => false,
// 'nested_comments' => false,
'nested_depth' => 2,
);
];
/**
* @var array
*/
private static $db = array(
private static $db = [
'ProvideComments' => 'Boolean',
'ModerationRequired' => 'Enum(\'None,Required,NonMembersOnly\',\'None\')',
'CommentsRequireLogin' => 'Boolean',
);
];
/**
* {@inheritDoc}
@ -152,11 +152,11 @@ class CommentsExtension extends DataExtension
*/
public function updateSettingsFields(FieldList $fields)
{
$options = FieldGroup::create()->setTitle(_t('CommentsExtension.COMMENTOPTIONS', 'Comments'));
$options = FieldGroup::create()->setTitle(_t('SilverStripe\\Comments\\Extensions\\CommentsExtension.COMMENTOPTIONS', 'Comments'));
// Check if enabled setting should be cms configurable
if ($this->owner->getCommentsOption('enabled_cms')) {
$options->push(new CheckboxField('ProvideComments', _t('Comment.ALLOWCOMMENTS', 'Allow Comments')));
$options->push(new CheckboxField('ProvideComments', _t('SilverStripe\\Comments\\Model\\Comment.ALLOWCOMMENTS', 'Allow Comments')));
}
// Check if we should require users to login to comment
@ -179,11 +179,11 @@ class CommentsExtension extends DataExtension
// Check if moderation should be enabled via cms configurable
if ($this->owner->getCommentsOption('require_moderation_cms')) {
$moderationField = new DropdownField('ModerationRequired', _t('CommentsExtension.COMMENTMODERATION', 'Comment Moderation'), array(
'None' => _t('CommentsExtension.MODERATIONREQUIRED_NONE', 'No moderation required'),
'Required' => _t('CommentsExtension.MODERATIONREQUIRED_REQUIRED', 'Moderate all comments'),
$moderationField = new DropdownField('ModerationRequired', _t('SilverStripe\\Comments\\Extensions\\CommentsExtension.COMMENTMODERATION', 'Comment Moderation'), array(
'None' => _t('SilverStripe\\Comments\\Extensions\\CommentsExtension.MODERATIONREQUIRED_NONE', 'No moderation required'),
'Required' => _t('SilverStripe\\Comments\\Extensions\\CommentsExtension.MODERATIONREQUIRED_REQUIRED', 'Moderate all comments'),
'NonMembersOnly' => _t(
'CommentsExtension.MODERATIONREQUIRED_NONMEMBERSONLY',
'SilverStripe\\Comments\\Extensions\\CommentsExtension.MODERATIONREQUIRED_NONMEMBERSONLY',
'Only moderate non-members'
),
));
@ -493,9 +493,10 @@ class CommentsExtension extends DataExtension
}
/**
* Get the commenting option for this object
* Get the commenting option for this object.
*
* This can be overridden in any instance or extension to customise the option available
* This can be overridden in any instance or extension to customise the
* option available.
*
* @param string $key
*
@ -503,10 +504,9 @@ class CommentsExtension extends DataExtension
*/
public function getCommentsOption($key)
{
$settings = $this->owner // In case singleton is called on the extension directly
? $this->owner->config()->comments
: Config::inst()->get(__CLASS__, 'comments');
$settings = $this->getCommentsOptions();
$value = null;
if (isset($settings[$key])) {
$value = $settings[$key];
}
@ -515,9 +515,24 @@ class CommentsExtension extends DataExtension
if ($this->owner) {
$this->owner->extend('updateCommentsOption', $key, $value);
}
return $value;
}
/**
* @return array
*/
public function getCommentsOptions()
{
if ($this->owner) {
$settings = $this->owner->config()->comments;
} else {
$settings = Config::inst()->get(__CLASS__, 'comments');
}
return $settings;
}
/**
* Add moderation functions to the current fieldlist
*
@ -561,13 +576,19 @@ class CommentsExtension extends DataExtension
if ($fields->hasTabSet()) {
$tabs = new TabSet(
'Comments',
new Tab('CommentsNewCommentsTab', _t('CommentAdmin.NewComments', 'New') . ' ' . $newCount,
new Tab(
'CommentsNewCommentsTab',
_t('SilverStripe\\Comments\\Admin\\CommentAdmin.NewComments', 'New') . ' ' . $newCount,
$newGrid
),
new Tab('CommentsCommentsTab', _t('CommentAdmin.Comments', 'Approved') . ' ' . $approvedCount,
new Tab(
'CommentsCommentsTab',
_t('SilverStripe\\Comments\\Admin\\CommentAdmin.Comments', 'Approved') . ' ' . $approvedCount,
$approvedGrid
),
new Tab('CommentsSpamCommentsTab', _t('CommentAdmin.SpamComments', 'Spam') . ' ' . $spamCount,
new Tab(
'CommentsSpamCommentsTab',
_t('SilverStripe\\Comments\\Admin\\CommentAdmin.SpamComments', 'Spam') . ' ' . $spamCount,
$spamGrid
)
);

View File

@ -18,13 +18,18 @@ use SilverStripe\Core\Convert;
use SilverStripe\Security\Security;
use SilverStripe\Comments\Model\Comment;
use SilverStripe\Control\Controller;
use SilverStripe\Comments\Controllers\CommentingController;
use SilverStripe\Core\Config\Config;
class CommentForm extends Form
{
public function __construct($name, $controller)
/**
* @param string $name
* @param CommentingController $controller
*/
public function __construct($name, CommentingController $controller)
{
$usePreview = $controller->getOption('use_preview');
$nameRequired = _t('CommentInterface.YOURNAME_MESSAGE_REQUIRED', 'Please enter your name');
$emailRequired = _t('CommentInterface.EMAILADDRESS_MESSAGE_REQUIRED', 'Please enter your email address');
$emailInvalid = _t('CommentInterface.EMAILADDRESS_MESSAGE_EMAIL', 'Please enter a valid email address');
@ -40,18 +45,18 @@ class CommentForm extends Form
// Email
EmailField::create(
'Email',
_t('CommentingController.EMAILADDRESS', 'Your email address (will not be published)')
_t('SilverStripe\\Comments\\Controllers\\CommentingController.EMAILADDRESS', 'Your email address (will not be published)')
)
->setCustomValidationMessage($emailRequired)
->setAttribute('data-msg-required', $emailRequired)
->setAttribute('data-msg-email', $emailInvalid)
->setAttribute('data-rule-email', true),
// Url
TextField::create('URL', _t('CommentingController.WEBSITEURL', 'Your website URL'))
TextField::create('URL', _t('SilverStripe\\Comments\\Controllers\\CommentingController.WEBSITEURL', 'Your website URL'))
->setAttribute('data-msg-url', $urlInvalid)
->setAttribute('data-rule-url', true),
// Comment
TextareaField::create('Comment', _t('CommentingController.COMMENTS', 'Comments'))
TextareaField::create('Comment', _t('SilverStripe\\Comments\\Controllers\\CommentingController.COMMENTS', 'Comments'))
->setCustomValidationMessage($commentRequired)
->setAttribute('data-msg-required', $commentRequired)
),
@ -139,13 +144,14 @@ class CommentForm extends Form
'URL' => isset($data['URL']) ? $data['URL'] : '',
'Email' => isset($data['Email']) ? $data['Email'] : ''
));
// allow previous value to fill if comment not stored in cookie (i.e. validation error)
$prevComment = Cookie::get('CommentsForm_Comment');
if ($prevComment && $prevComment != '') {
$this->loadDataFrom(array('Comment' => $prevComment));
}
}
}
/**
@ -192,7 +198,7 @@ class CommentForm extends Form
return Security::permissionFailure(
$this,
_t(
'CommentingController.PERMISSIONFAILURE',
'SilverStripe\\Comments\\Controllers\\CommentingController.PERMISSIONFAILURE',
"You're not able to post comments to this page. Please ensure you are logged in and have an "
. 'appropriate permission level.'
)
@ -269,5 +275,4 @@ class CommentForm extends Form
return $this->controller->redirect(Controller::join_links($url, "#{$hash}"));
}
}

View File

@ -248,14 +248,14 @@ class Comment extends DataObject
{
$labels = parent::fieldLabels($includerelations);
$labels['Name'] = _t('Comment.NAME', 'Author Name');
$labels['Comment'] = _t('Comment.COMMENT', 'Comment');
$labels['Email'] = _t('Comment.EMAIL', 'Email');
$labels['URL'] = _t('Comment.URL', 'URL');
$labels['IsSpam'] = _t('Comment.ISSPAM', 'Spam?');
$labels['Moderated'] = _t('Comment.MODERATED', 'Moderated?');
$labels['ParentTitle'] = _t('Comment.PARENTTITLE', 'Parent');
$labels['Created'] = _t('Comment.CREATED', 'Date posted');
$labels['Name'] = _t('SilverStripe\\Comments\\Model\\Comment.NAME', 'Author Name');
$labels['Comment'] = _t('SilverStripe\\Comments\\Model\\Comment.COMMENT', 'Comment');
$labels['Email'] = _t('SilverStripe\\Comments\\Model\\Comment.EMAIL', 'Email');
$labels['URL'] = _t('SilverStripe\\Comments\\Model\\Comment.URL', 'URL');
$labels['IsSpam'] = _t('SilverStripe\\Comments\\Model\\Comment.ISSPAM', 'Spam?');
$labels['Moderated'] = _t('SilverStripe\\Comments\\Model\\Comment.MODERATED', 'Moderated?');
$labels['ParentTitle'] = _t('SilverStripe\\Comments\\Model\\Comment.PARENTTITLE', 'Parent');
$labels['Created'] = _t('SilverStripe\\Comments\\Model\\Comment.CREATED', 'Date posted');
return $labels;
}
@ -623,11 +623,11 @@ class Comment extends DataObject
*/
public function getTitle()
{
$title = sprintf(_t('Comment.COMMENTBY', 'Comment by %s', 'Name'), $this->getAuthorName());
$title = sprintf(_t('SilverStripe\\Comments\\Model\\Comment.COMMENTBY', 'Comment by %s', 'Name'), $this->getAuthorName());
if ($parent = $this->Parent()) {
if ($parent->Title) {
$title .= sprintf(' %s %s', _t('Comment.ON', 'on'), $parent->Title);
$title .= sprintf(' %s %s', _t('SilverStripe\\Comments\\Model\\Comment.ON', 'on'), $parent->Title);
}
}
@ -653,9 +653,9 @@ class Comment extends DataObject
CheckboxField::create('Moderated', $this->fieldLabel('Moderated')),
CheckboxField::create('IsSpam', $this->fieldLabel('IsSpam')),
))
->setTitle(_t('Comment.OPTIONS', 'Options'))
->setTitle(_t('SilverStripe\\Comments\\Model\\Comment.OPTIONS', 'Options'))
->setDescription(_t(
'Comment.OPTION_DESCRIPTION',
'SilverStripe\\Comments\\Model\\Comment.OPTION_DESCRIPTION',
'Unmoderated and spam comments will not be displayed until approved'
))
);
@ -673,7 +673,7 @@ class Comment extends DataObject
if (($parent = $this->ParentComment()) && $parent->exists()) {
$fields->push(new HeaderField(
'ParentComment_Title',
_t('Comment.ParentComment_Title', 'This comment is a reply to the below')
_t('SilverStripe\\Comments\\Model\\Comment.ParentComment_Title', 'This comment is a reply to the below')
));
// Created date
// FIXME - the method setName in DatetimeField is not chainable, hence
@ -760,6 +760,7 @@ class Comment extends DataObject
{
$gravatar = '';
$use_gravatar = $this->getOption('use_gravatar');
if ($use_gravatar) {
$gravatar = 'http://www.gravatar.com/avatar/' . md5(strtolower(trim($this->Email)));
$gravatarsize = $this->getOption('gravatar_size');

View File

@ -5,7 +5,7 @@ namespace SilverStripe\Comments\Tests;
use SilverStripe\Comments\Admin\CommentAdmin;
use SilverStripe\Dev\SapphireTest;
use SilverStripe\i18n\i18n;
use SilverStripe\Security\Member;
use SilverStripe\Security\Security;
class CommentAdminTest extends SapphireTest
{
@ -22,53 +22,20 @@ class CommentAdminTest extends SapphireTest
i18n::set_locale('fr');
$expected = array(
'CMS_ACCESS_CommentAdmin' => array(
# FIXME - this is a bug, missing from lang.yml files
'name' => 'Access to \'Comments\' section',
'category' => 'Accès au CMS'
'name' => 'Accès à la section Commentaires',
'category' => 'CMS Access' // missing in core
)
);
$this->assertEquals($expected, $commentAdmin->providePermissions());
i18n::set_locale($locale);
$expected = array(
'CMS_ACCESS_CommentAdmin' => array(
# FIXME - this is a bug, missing from lang.yml files
'name' => 'Access to \'Comments\' section',
'category' => 'CMS Access'
)
);
$this->assertEquals($expected, $commentAdmin->providePermissions());
}
public function testGetEditForm()
{
$commentAdmin = new CommentAdmin();
$this->logInWithPermission('CMS_ACCESS_CommentAdmin');
$form = $commentAdmin->getEditForm();
$names = $this->getFormFieldNames($form);
$expected = array(
'NewComments',
'ApprovedComments',
'SpamComments'
);
$this->assertEquals($expected, $names);
if ($member = Member::currentUser()) {
$member->logOut();
}
$form = $commentAdmin->getEditForm();
}
private function getFormFieldNames($form)
{
$result = array();
$fields = $form->Fields();
$tab = $fields->findOrMakeTab('Root');
$fields = $tab->FieldList();
foreach ($fields as $field) {
array_push($result, $field->getName());
}
return $result;
}
}

View File

@ -15,10 +15,6 @@ use SilverStripe\ORM\DataObject;
use SilverStripe\Security\Member;
use SilverStripe\Security\SecurityToken;
/**
* @package comments
* @subpackage tests
*/
class CommentingControllerTest extends FunctionalTest
{
/**
@ -43,10 +39,14 @@ class CommentingControllerTest extends FunctionalTest
SecurityToken::inst()->disable();
}
parent::tearDown();
Config::unnest();
}
public function setUp()
{
Config::nest(); // additional nesting here necessary
parent::setUp();
$this->securityEnabled = SecurityToken::inst()->is_enabled();
@ -54,6 +54,39 @@ class CommentingControllerTest extends FunctionalTest
$this->autoFollowRedirection = false;
}
public function testCommentsFormUsePreview()
{
$parent = $this->objFromFixture(CommentableItem::class, 'first');
$commController = new CommentingController();
$commController->setOwnerRecord($parent);
$form = $commController->CommentsForm();
$commentsFields = $form->Fields()->first()->FieldList();
$expected = array('Name', 'Email', 'URL', 'Comment');
CommentTestHelper::assertFieldNames($this, $expected, $commentsFields);
// test with preview on
Config::modify()->merge(CommentableItem::class, 'comments', array(
'use_preview' => true
));
$parent = $this->objFromFixture(CommentableItem::class, 'first');
$commController = new CommentingController();
$commController->setOwnerRecord($parent);
$this->objFromFixture(Comment::class, 'firstComAChild1')->delete();
$this->objFromFixture(Comment::class, 'firstComAChild2')->delete();
$this->objFromFixture(Comment::class, 'firstComAChild3')->delete();
SecurityToken::inst()->disable();
$this->autoFollowRedirection = false;
$form = $commController->CommentsForm();
$commentsFields = $form->Fields()->first()->FieldList();
$expected = array('Name', 'Email', 'URL', 'Comment', 'PreviewComment');
CommentTestHelper::assertFieldNames($this, $expected, $commentsFields);
}
public function testApproveUnmoderatedComment()
{
SecurityToken::inst()->disable();
@ -185,7 +218,7 @@ class CommentingControllerTest extends FunctionalTest
*/
/*
public function testCommentsFormLoadMemberData() {
Config::inst()->update('CommentableItem', 'comments', array(
Config::modify()->set('CommentableItem', 'comments', array(
'use_preview' => false
));
$this->logInAs('visitor');
@ -204,38 +237,6 @@ class CommentingControllerTest extends FunctionalTest
}
*/
public function testCommentsFormUsePreview()
{
// test with preview on
Config::inst()->update(CommentableItem::class, 'comments', array(
'use_preview' => true
));
$this->objFromFixture(Comment::class, 'firstComAChild1')->delete();
$this->objFromFixture(Comment::class, 'firstComAChild2')->delete();
$this->objFromFixture(Comment::class, 'firstComAChild3')->delete();
SecurityToken::inst()->disable();
$this->autoFollowRedirection = false;
$parent = $this->objFromFixture(CommentableItem::class, 'first');
$commController = new CommentingController();
$commController->setOwnerRecord($parent);
$form = $commController->CommentsForm();
$commentsFields = $form->Fields()->first()->FieldList();
$expected = array('Name', 'Email', 'URL', 'Comment', 'PreviewComment');
CommentTestHelper::assertFieldNames($this, $expected, $commentsFields);
// Turn off preview. Assert lack of preview field
Config::inst()->update(CommentableItem::class, 'comments', array(
'use_preview' => false
));
$form = $commController->CommentsForm();
$commentsFields = $form->Fields()->first()->FieldList();
$expected = array('Name', 'Email', 'URL', 'Comment');
CommentTestHelper::assertFieldNames($this, $expected, $commentsFields);
}
public function testCommentsForm()
{
$this->autoFollowRedirection = true;

View File

@ -18,7 +18,7 @@ class CommentsExtensionTest extends SapphireTest
/**
* {@inheritDoc}
*/
protected static $fixture_file = 'comments/tests/CommentsTest.yml';
protected static $fixture_file = 'CommentsTest.yml';
/**
* {@inheritDoc}
@ -35,7 +35,7 @@ class CommentsExtensionTest extends SapphireTest
Config::nest();
// Set good default values
Config::inst()->update(CommentsExtension::class, 'comments', array(
Config::modify()->set(CommentsExtension::class, 'comments', array(
'enabled' => true,
'enabled_cms' => false,
'require_login' => false,
@ -53,7 +53,7 @@ class CommentsExtensionTest extends SapphireTest
);
// Configure this dataobject
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'enabled_cms' => true
));
}
@ -64,9 +64,20 @@ class CommentsExtensionTest extends SapphireTest
parent::tearDown();
}
public function testGetCommentsOption()
{
Config::modify()->set(CommentableItem::class, 'comments', [
'comments_holder_id' => 'some-option'
]);
$item = $this->objFromFixture(CommentableItem::class, 'first');
$this->assertEquals('some-option', $item->getCommentsOption('comments_holder_id'));
}
public function testPopulateDefaults()
{
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'require_moderation_cms' => true,
'require_moderation' => true,
'require_moderation_nonmembers' => true
@ -77,7 +88,7 @@ class CommentsExtensionTest extends SapphireTest
$this->assertTrue($item->CommentsRequireLogin);
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'require_moderation_cms' => true,
'require_moderation' => true,
'require_moderation_nonmembers' => true
@ -87,7 +98,6 @@ class CommentsExtensionTest extends SapphireTest
$item->populateDefaults();
$this->assertFalse($item->CommentsRequireLogin);
}
public function testUpdateSettingsFields()
@ -99,7 +109,7 @@ class CommentsExtensionTest extends SapphireTest
{
// the 3 options take precedence in this order, executed if true
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'require_moderation_cms' => true,
'require_moderation' => true,
'require_moderation_nonmembers' => true
@ -122,21 +132,21 @@ class CommentsExtensionTest extends SapphireTest
$this->assertEquals('NonMembersOnly', $item->getModerationRequired());
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'require_moderation_cms' => false,
'require_moderation' => true,
'require_moderation_nonmembers' => true
));
$this->assertEquals('Required', $item->getModerationRequired());
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'require_moderation_cms' => false,
'require_moderation' => false,
'require_moderation_nonmembers' => true
));
$this->assertEquals('NonMembersOnly', $item->getModerationRequired());
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'require_moderation_cms' => false,
'require_moderation' => false,
'require_moderation_nonmembers' => false
@ -146,7 +156,7 @@ class CommentsExtensionTest extends SapphireTest
public function testGetCommentsRequireLogin()
{
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'require_login_cms' => true
));
@ -158,12 +168,12 @@ class CommentsExtensionTest extends SapphireTest
$item->CommentsRequireLogin = false;
$this->assertFalse($item->getCommentsRequireLogin());
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'require_login_cms' => false,
'require_login' => false
));
$this->assertFalse($item->getCommentsRequireLogin());
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'require_login_cms' => false,
'require_login' => true
));
@ -173,7 +183,7 @@ class CommentsExtensionTest extends SapphireTest
public function testAllComments()
{
$item = $this->objFromFixture(CommentableItem::class, 'first');
$this->assertEquals(4, $items->AllComments()->count());
$this->assertEquals(4, $item->AllComments()->count());
}
public function testAllVisibleComments()
@ -183,28 +193,28 @@ class CommentsExtensionTest extends SapphireTest
}
$item = $this->objFromFixture(CommentableItem::class, 'second');
$this->assertEquals(4, $items->AllVisibleComments()->count());
$this->assertEquals(4, $item->AllVisibleComments()->count());
}
public function testComments()
{
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'nested_comments' => false
));
$item = $this->objFromFixture(CommentableItem::class, 'first');
$this->assertEquals(4, $items->Comments()->count());
$this->assertEquals(4, $item->Comments()->count());
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'nested_comments' => true
));
$this->assertEquals(1, $items->Comments()->count());
$this->assertEquals(1, $item->Comments()->count());
}
public function testGetCommentsEnabled()
{
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'enabled_cms' => true
));
@ -218,12 +228,12 @@ class CommentsExtensionTest extends SapphireTest
public function testGetCommentHolderID()
{
$item = $this->objFromFixture(CommentableItem::class, 'first');
Config::inst()->update(CommentableItem::class, 'comments', array(
'comments_holder_id' => 'comments-holder',
Config::modify()->set(CommentableItem::class, 'comments', array(
'comments_holder_id' => 'commentid_test1',
));
$this->assertEquals('commentid_test1', $item->getCommentHolderID());
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'comments_holder_id' => 'commtentid_test_another',
));
$this->assertEquals('commtentid_test_another', $item->getCommentHolderID());
@ -251,7 +261,7 @@ class CommentsExtensionTest extends SapphireTest
public function testGetCommentRSSLink()
{
Config::inst()->update('SilverStripe\\Control\\Director', 'alternate_base_url', 'http://unittesting.local');
Config::modify()->set('SilverStripe\\Control\\Director', 'alternate_base_url', 'http://unittesting.local');
$item = $this->objFromFixture(CommentableItem::class, 'first');
$link = $item->getCommentRSSLink();
@ -260,7 +270,7 @@ class CommentsExtensionTest extends SapphireTest
public function testGetCommentRSSLinkPage()
{
Config::inst()->update('SilverStripe\\Control\\Director', 'alternate_base_url', 'http://unittesting.local');
Config::modify()->set('SilverStripe\\Control\\Director', 'alternate_base_url', 'http://unittesting.local');
$item = $this->objFromFixture(CommentableItem::class, 'first');
$page = $item->getCommentRSSLinkPage();
@ -272,7 +282,7 @@ class CommentsExtensionTest extends SapphireTest
public function testCommentsForm()
{
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'include_js' => false,
'comments_holder_id' => 'comments-holder',
));
@ -287,21 +297,20 @@ class CommentsExtensionTest extends SapphireTest
$this->assertContains($expected, $cf);
$this->assertContains('<h4>Post your comment</h4>', $cf);
// check the comments form exists
$expected = '<input type="text" name="Name" value="ADMIN User" class="text" id="comments-holder_Name" required="required"';
$expected = '<input type="text" name="Name"';
$this->assertContains($expected, $cf);
$expected = '<input type="email" name="Email" value="ADMIN@example.org" class="email text" id="comments-holder_Email"';
$expected = '<input type="email" name="Email"';
$this->assertContains($expected, $cf);
$expected = '<input type="text" name="URL" class="text" id="comments-holder_URL" data-msg-url="Please enter a valid URL"';
$expected = '<input type="text" name="URL"';
$this->assertContains($expected, $cf);
$expected = '<input type="hidden" name="ParentID" value="' . $item->ID . '" class="hidden" id="comments-holder_ParentID" />';
$expected = '<input type="hidden" name="ParentID"';
$this->assertContains($expected, $cf);
$expected = '<textarea name="Comment" class="textarea" id="comments-holder_Comment" required="required"';
$expected = '<textarea name="Comment"';
$this->assertContains($expected, $cf);
$expected = '<input type="submit" name="action_doPostComment" value="Post" class="action" id="comments-holder_action_doPostComment"';
@ -321,41 +330,6 @@ class CommentsExtensionTest extends SapphireTest
$expected = '<p>Reply to firstComA 3</p>';
$this->assertContains($expected, $cf);
// Check for JS inclusion
$backend = Requirements::backend();
$this->assertEquals(
array(),
$backend->getJavascript()
);
Config::inst()->update(
CommentableItem::class,
'comments',
array(
'include_js' => true
)
);
$cf = $item->CommentsForm();
$backend = Requirements::backend();
$javascriptRequirements = $backend->getJavascript();
$expected = array(
'framework/admin/thirdparty/jquery/jquery.js',
'framework/admin/thirdparty/jquery-entwine/dist/jquery.entwine-dist.js',
'framework/admin/thirdparty/jquery-form/jquery.form.js',
'comments/thirdparty/jquery-validate/jquery.validate.min.js',
/**
* @todo: Is there a replacement for this? The docs are unclear
*/
// 'framework/admin/client/src/i18n.js',
'comments/javascript/lang/en.js',
'comments/javascript/CommentsInterface.js'
);
foreach ($expected as $javascript) {
$this->assertArrayHasKey($javascript, $javascriptRequirements);
};
}
public function testAttachedToSiteTree()
@ -402,11 +376,6 @@ class CommentsExtensionTest extends SapphireTest
$this->assertEquals(4, sizeof($results));
}
public function testGetCommentsOption()
{
$this->markTestSkipped('TODO');
}
public function testUpdateModerationFields()
{
$this->markTestSkipped('TODO');
@ -414,7 +383,7 @@ class CommentsExtensionTest extends SapphireTest
public function testUpdateCMSFields()
{
Config::inst()->update(
Config::modify()->set(
CommentableItem::class,
'comments',
array(
@ -426,35 +395,29 @@ class CommentsExtensionTest extends SapphireTest
$item->ProvideComments = true;
$item->write();
$fields = $item->getCMSFields();
CommentTestHelper::assertFieldsForTab(
$this,
'Root.Comments',
array('CommentsNewCommentsTab', 'CommentsCommentsTab', 'CommentsSpamCommentsTab'),
$fields
);
CommentTestHelper::assertFieldsForTab(
$this,
'Root.Comments.CommentsNewCommentsTab',
'Comments.CommentsNewCommentsTab',
array('NewComments'),
$fields
);
CommentTestHelper::assertFieldsForTab(
$this,
'Root.Comments.CommentsCommentsTab',
'Comments.CommentsCommentsTab',
array('ApprovedComments'),
$fields
);
CommentTestHelper::assertFieldsForTab(
$this,
'Root.Comments.CommentsSpamCommentsTab',
'Comments.CommentsSpamCommentsTab',
array('SpamComments'),
$fields
);
Config::inst()->update(
Config::modify()->set(
CommentableItem::class,
'comments',
array(
@ -474,7 +437,7 @@ class CommentsExtensionTest extends SapphireTest
$fields
);
Config::inst()->update(
Config::modify()->set(
CommentableItem::class,
'comments',
array(

View File

@ -2,6 +2,8 @@
namespace SilverStripe\Comments\Tests;
use HTMLPurifier_Config;
use HTMLPurifier;
use ReflectionClass;
use SilverStripe\Comments\Extensions\CommentsExtension;
use SilverStripe\Comments\Model\Comment;
@ -17,14 +19,12 @@ use SilverStripe\Dev\TestOnly;
use SilverStripe\i18n\i18n;
use SilverStripe\ORM\DataObject;
use SilverStripe\Security\Member;
use SilverStripe\Security\Security;
use SilverStripe\Security\Permission;
/**
* @package comments
*/
class CommentsTest extends FunctionalTest
{
protected static $fixture_file = 'comments/tests/CommentsTest.yml';
protected static $fixture_file = 'CommentsTest.yml';
protected static $extra_dataobjects = array(
CommentableItem::class,
@ -38,22 +38,9 @@ class CommentsTest extends FunctionalTest
Config::nest();
// Set good default values
Config::inst()->update(CommentsExtension::class, 'comments', array(
Config::modify()->merge(CommentsExtension::class, 'comments', array(
'enabled' => true,
'enabled_cms' => false,
'require_login' => false,
'require_login_cms' => false,
'required_permission' => false,
'require_moderation_nonmembers' => false,
'require_moderation' => false,
'require_moderation_cms' => false,
'frontend_moderation' => false,
'frontend_spam' => false,
));
// Configure this dataobject
Config::inst()->update(CommentableItem::class, 'comments', array(
'enabled_cms' => true
'comment_permalink_prefix' => 'comment-'
));
}
@ -67,14 +54,13 @@ class CommentsTest extends FunctionalTest
{
// comments don't require moderation so unmoderated comments can be
// shown but not spam posts
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'require_moderation_nonmembers' => false,
'require_moderation' => false,
'require_moderation_cms' => false,
));
$item = $this->objFromFixture(CommentableItem::class, 'spammed');
$this->assertEquals('None', $item->ModerationRequired);
$this->assertDOSEquals(array(
array('Name' => 'Comment 1'),
@ -82,12 +68,10 @@ class CommentsTest extends FunctionalTest
), $item->Comments(), 'Only 2 non spam posts should be shown');
// when moderated, only moderated, non spam posts should be shown.
Config::inst()->update(CommentableItem::class, 'comments', array('require_moderation_nonmembers' => true));
$this->assertEquals('NonMembersOnly', $item->ModerationRequired);
Config::modify()->set(CommentableItem::class, 'comments', array('require_moderation_nonmembers' => true));
// Check that require_moderation overrides this option
Config::inst()->update(CommentableItem::class, 'comments', array('require_moderation' => true));
$this->assertEquals('Required', $item->ModerationRequired);
Config::modify()->set(CommentableItem::class, 'comments', array('require_moderation' => true));
$this->assertDOSEquals(array(
array('Name' => 'Comment 3')
@ -95,14 +79,14 @@ class CommentsTest extends FunctionalTest
$this->assertEquals(1, $item->Comments()->Count());
// require_moderation_nonmembers still filters out unmoderated comments
Config::inst()->update(CommentableItem::class, 'comments', array('require_moderation' => false));
Config::modify()->set(CommentableItem::class, 'comments', array('require_moderation' => false));
$this->assertEquals(1, $item->Comments()->Count());
Config::inst()->update(CommentableItem::class, 'comments', array('require_moderation_nonmembers' => false));
Config::modify()->set(CommentableItem::class, 'comments', array('require_moderation_nonmembers' => false));
$this->assertEquals(2, $item->Comments()->Count());
// With unmoderated comments set to display in frontend
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'require_moderation' => true,
'frontend_moderation' => true
));
@ -112,7 +96,7 @@ class CommentsTest extends FunctionalTest
$this->assertEquals(2, $item->Comments()->Count());
// With spam comments set to display in frontend
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'require_moderation' => true,
'frontend_moderation' => false,
'frontend_spam' => true,
@ -127,7 +111,7 @@ class CommentsTest extends FunctionalTest
// With spam and unmoderated comments set to display in frontend
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'require_moderation' => true,
'frontend_moderation' => true,
'frontend_spam' => true,
@ -146,15 +130,14 @@ class CommentsTest extends FunctionalTest
*/
public function testCommentCMSModerationList()
{
// comments don't require moderation so unmoderated comments can be
// shown but not spam posts
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->merge(CommentableItem::class, 'comments', array(
'require_moderation' => true,
'require_moderation_cms' => true,
));
$item = $this->objFromFixture(CommentableItem::class, 'spammed');
$this->assertEquals('None', $item->ModerationRequired);
$this->assertEquals('None', $item->getModerationRequired());
$this->assertDOSEquals(array(
array('Name' => 'Comment 1'),
@ -164,12 +147,13 @@ class CommentsTest extends FunctionalTest
// when moderated, only moderated, non spam posts should be shown.
$item->ModerationRequired = 'NonMembersOnly';
$item->write();
$this->assertEquals('NonMembersOnly', $item->ModerationRequired);
$this->assertEquals('NonMembersOnly', $item->getModerationRequired());
// Check that require_moderation overrides this option
$item->ModerationRequired = 'Required';
$item->write();
$this->assertEquals('Required', $item->ModerationRequired);
$this->assertEquals('Required', $item->getModerationRequired());
$this->assertDOSEquals(array(
array('Name' => 'Comment 3')
@ -188,7 +172,7 @@ class CommentsTest extends FunctionalTest
public function testCanPostComment()
{
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'require_login' => false,
'require_login_cms' => false,
'required_permission' => false,
@ -204,7 +188,7 @@ class CommentsTest extends FunctionalTest
$this->assertTrue($item->canPostComment());
// Test permission required to post
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'require_login' => true,
'required_permission' => 'POSTING_PERMISSION',
));
@ -218,7 +202,7 @@ class CommentsTest extends FunctionalTest
$this->assertTrue($item->canPostComment());
// Test require login to post, but not any permissions
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'required_permission' => false,
));
$this->assertTrue($item->CommentsRequireLogin);
@ -230,7 +214,7 @@ class CommentsTest extends FunctionalTest
$this->assertTrue($item->canPostComment());
// Test options set via CMS
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'require_login' => true,
'require_login_cms' => true,
));
@ -452,7 +436,7 @@ class CommentsTest extends FunctionalTest
// Add p for paragraph
// NOTE: The config method appears to append to the existing array
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'html_allowed_elements' => array('p'),
));
@ -488,7 +472,7 @@ class CommentsTest extends FunctionalTest
$this->markTestSkipped('HTMLPurifier class not found');
}
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'html_allowed_elements' => array('p'),
));
@ -524,8 +508,7 @@ class CommentsTest extends FunctionalTest
*/
public function testDefaultEnabled()
{
// Ensure values are set via cms (not via config)
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->merge(CommentableItem::class, 'comments', array(
'enabled_cms' => true,
'require_moderation_cms' => true,
'require_login_cms' => true
@ -550,31 +533,32 @@ class CommentsTest extends FunctionalTest
// With default = false
// Because of config rules about falsey values, apply config to object directly
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'enabled' => false,
'require_login' => true,
'require_moderation' => true
));
$obj = new CommentableItem();
$this->assertFalse((bool)$obj->getCommentsOption('enabled'), 'Default setting is disabled');
$this->assertFalse((bool)$obj->ProvideComments);
$this->assertEquals('Required', $obj->ModerationRequired);
$this->assertTrue((bool)$obj->CommentsRequireLogin);
$obj = new CommentableItemEnabled();
$this->assertTrue((bool)$obj->ProvideComments);
$this->assertEquals('Required', $obj->ModerationRequired);
$this->assertTrue((bool)$obj->CommentsRequireLogin);
$obj = new CommentableItemDisabled();
$this->assertFalse((bool)$obj->ProvideComments);
$this->assertEquals('None', $obj->ModerationRequired);
$this->assertFalse((bool)$obj->CommentsRequireLogin);
}
/*
When a parent comment is deleted, remove the children
*/
public function testOnBeforeDelete()
{
$comment = $this->objFromFixture(Comment::class, 'firstComA');
@ -592,8 +576,8 @@ class CommentsTest extends FunctionalTest
$comment->delete();
// assert that the new child been deleted
$this->assertFalse(DataObject::get_by_id(Comment::class, $commentID));
$this->assertFalse(DataObject::get_by_id(Comment::class, $childCommentID));
$this->assertNull(DataObject::get_by_id(Comment::class, $commentID));
$this->assertNull(DataObject::get_by_id(Comment::class, $childCommentID));
}
public function testRequireDefaultRecords()
@ -672,11 +656,6 @@ class CommentsTest extends FunctionalTest
$this->assertEquals($expected, $labels);
}
public function testGetOption()
{
$this->markTestSkipped('TODO');
}
public function testGetParent()
{
$comment = $this->objFromFixture(Comment::class, 'firstComA');
@ -793,21 +772,21 @@ class CommentsTest extends FunctionalTest
public function testGetMember()
{
$this->logInAs('visitor');
$current = Member::currentUser();
$current = Security::getCurrentUser();
$comment = $this->objFromFixture(Comment::class, 'firstComA');
$method = $this->getMethod('getMember');
// null case
$member = $method->invokeArgs($comment, array());
$this->assertEquals($current, $member);
$this->assertEquals($current->ID, $member->ID);
// numeric ID case
$member = $method->invokeArgs($comment, array($current->ID));
$this->assertEquals($current, $member);
$this->assertEquals($current->ID, $member->ID);
// identity case
$member = $method->invokeArgs($comment, array($current));
$this->assertEquals($current, $member);
$this->assertEquals($current->ID, $member->ID);
}
public function testGetAuthorName()
@ -993,6 +972,11 @@ class CommentsTest extends FunctionalTest
public function testPurifyHtml()
{
if (!class_exists(HTMLPurifier_Config::class)) {
$this->markTestSkipped('HTMLPurifier class not found');
return;
}
$comment = $this->objFromFixture(Comment::class, 'firstComA');
$dirtyHTML = '<p><script>alert("w00t")</script>my comment</p>';
@ -1005,41 +989,48 @@ class CommentsTest extends FunctionalTest
public function testGravatar()
{
// Turn gravatars on
Config::inst()->update(CommentableItem::class, 'comments', array(
'use_gravatar' => true
Config::modify()->set(CommentableItem::class, 'comments', array(
'use_gravatar' => true,
'gravatar_size' => 80,
'gravatar_default' => 'identicon',
'gravatar_rating' => 'g'
));
$comment = $this->objFromFixture(Comment::class, 'firstComA');
$this->assertEquals(
'http://www.gravatar.com/avatar/d41d8cd98f00b204e9800998ecf8427e?s'
. '=80&d=identicon&r=g',
$comment->gravatar()
$comment->Gravatar()
);
// Turn gravatars off
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'use_gravatar' => false
));
$comment = $this->objFromFixture(Comment::class, 'firstComA');
$this->assertEquals(
'',
$comment->gravatar()
$comment->Gravatar()
);
}
public function testGetRepliesEnabled()
{
$comment = $this->objFromFixture(Comment::class, 'firstComA');
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->merge(CommentableItem::class, 'comments', array(
'nested_comments' => false
));
$comment = $this->objFromFixture(Comment::class, 'firstComA');
$this->assertFalse($comment->getRepliesEnabled());
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->merge(CommentableItem::class, 'comments', array(
'nested_comments' => true,
'nested_depth' => 4
));
$this->assertTrue($comment->getRepliesEnabled());
$comment->Depth = 4;
@ -1047,15 +1038,17 @@ class CommentsTest extends FunctionalTest
// 0 indicates no limit for nested_depth
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'nested_comments' => true,
'nested_depth' => 0
));
$comment = $this->objFromFixture(Comment::class, 'firstComA');
$comment->Depth = 234;
$this->assertTrue($comment->getRepliesEnabled());
$comment->markUnapproved();
$this->assertFalse($comment->getRepliesEnabled());
$comment->markSpam();
$this->assertFalse($comment->getRepliesEnabled());
@ -1065,15 +1058,18 @@ class CommentsTest extends FunctionalTest
public function testAllReplies()
{
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'nested_comments' => true,
'nested_depth' => 4
));
$comment = $this->objFromFixture(Comment::class, 'firstComA');
$this->assertEquals(
3,
$comment->allReplies()->count()
);
$child = new Comment();
$child->Name = 'Fred Smith';
$child->Comment = 'This is a child comment';
@ -1088,7 +1084,7 @@ class CommentsTest extends FunctionalTest
$comment->allReplies()->count()
);
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'nested_comments' => false
));
@ -1099,7 +1095,7 @@ class CommentsTest extends FunctionalTest
{
CommentableItem::add_extension(CommentsExtension::class);
$this->logInWithPermission('ADMIN');
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'nested_comments' => true,
'nested_depth' => 4
));
@ -1137,7 +1133,7 @@ class CommentsTest extends FunctionalTest
$item->ModerationRequired = 'Required';
$item->write();
Config::inst()->update(CommentableItemDisabled::class, 'comments', array(
Config::modify()->set(CommentableItemDisabled::class, 'comments', array(
'nested_comments' => true,
'nested_depth' => 4,
'frontend_moderation' => true
@ -1151,7 +1147,7 @@ class CommentsTest extends FunctionalTest
);
// Turn off nesting, empty array should be returned
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'nested_comments' => false
));
@ -1165,25 +1161,26 @@ class CommentsTest extends FunctionalTest
public function testPagedReplies()
{
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->merge(CommentableItem::class, 'comments', array(
'nested_comments' => true,
'nested_depth' => 4,
'comments_per_page' => 2 #Force 2nd page for 3 items
'comments_per_page' => 2
));
$comment = $this->objFromFixture(Comment::class, 'firstComA');
$pagedList = $comment->pagedReplies();
$this->assertEquals(
2,
$pagedList->TotalPages()
);
$this->assertEquals(
3,
$pagedList->getTotalItems()
);
//TODO - 2nd page requires controller
//
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'nested_comments' => false
));
@ -1192,7 +1189,7 @@ class CommentsTest extends FunctionalTest
public function testReplyForm()
{
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'nested_comments' => false,
'nested_depth' => 4
));
@ -1204,13 +1201,14 @@ class CommentsTest extends FunctionalTest
$this->assertNull($form);
// parent item so show form
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'nested_comments' => true,
'nested_depth' => 4
));
$form = $comment->replyForm();
$form = $comment->ReplyForm();
$this->assertNotNull($form);
$names = array();
foreach ($form->Fields() as $field) {
array_push($names, $field->getName());
}
@ -1237,7 +1235,7 @@ class CommentsTest extends FunctionalTest
public function testUpdateDepth()
{
Config::inst()->update(CommentableItem::class, 'comments', array(
Config::modify()->set(CommentableItem::class, 'comments', array(
'nested_comments' => true,
'nested_depth' => 4
));

View File

@ -9,10 +9,6 @@ use SilverStripe\ORM\DataObject;
use SilverStripe\Security\Member;
use SilverStripe\Security\Permission;
/**
* @package comments
* @subpackage tests
*/
class CommentableItem extends DataObject implements TestOnly
{
private static $db = array(