diff --git a/client/coral-admin/src/containers/ModerationQueue/ModerationContainer.js b/client/coral-admin/src/containers/ModerationQueue/ModerationContainer.js index a6d3527c7..61352b921 100644 --- a/client/coral-admin/src/containers/ModerationQueue/ModerationContainer.js +++ b/client/coral-admin/src/containers/ModerationQueue/ModerationContainer.js @@ -163,6 +163,7 @@ class ModerationContainer extends Component { activeTab={activeTab} singleView={moderation.singleView} selectedIndex={this.state.selectedIndex} + bannedWords={settings.wordlist.banned} suspectWords={settings.wordlist.suspect} showBanUserDialog={props.showBanUserDialog} acceptComment={props.acceptComment} diff --git a/client/coral-admin/src/containers/ModerationQueue/ModerationQueue.js b/client/coral-admin/src/containers/ModerationQueue/ModerationQueue.js index b90b59f81..79b4ce7e4 100644 --- a/client/coral-admin/src/containers/ModerationQueue/ModerationQueue.js +++ b/client/coral-admin/src/containers/ModerationQueue/ModerationQueue.js @@ -24,6 +24,7 @@ const ModerationQueue = ({comments, selectedIndex, commentCount, singleView, loa commentType={activeTab} selected={i === selectedIndex} suspectWords={props.suspectWords} + bannedWords={props.bannedWords} actions={actionsMap[status]} showBanUserDialog={props.showBanUserDialog} acceptComment={props.acceptComment} @@ -47,6 +48,7 @@ const ModerationQueue = ({comments, selectedIndex, commentCount, singleView, loa }; ModerationQueue.propTypes = { + bannedWords: PropTypes.arrayOf(PropTypes.string).isRequired, suspectWords: PropTypes.arrayOf(PropTypes.string).isRequired, currentAsset: PropTypes.object, showBanUserDialog: PropTypes.func.isRequired, diff --git a/client/coral-admin/src/containers/ModerationQueue/components/Comment.js b/client/coral-admin/src/containers/ModerationQueue/components/Comment.js index 36ff7763a..3dd5526fe 100644 --- a/client/coral-admin/src/containers/ModerationQueue/components/Comment.js +++ b/client/coral-admin/src/containers/ModerationQueue/components/Comment.js @@ -19,6 +19,7 @@ const lang = new I18n(translations); const Comment = ({actions = [], ...props}) => { const links = linkify.getMatches(props.comment.body); + const linkText = links ? links.map(link => link.raw) : []; const actionSummaries = props.comment.action_summaries; return (
  • @@ -49,9 +50,9 @@ const Comment = ({actions = [], ...props}) => {

    - - - +

    {links ? Contains Link : null} @@ -77,6 +78,7 @@ Comment.propTypes = { acceptComment: PropTypes.func.isRequired, rejectComment: PropTypes.func.isRequired, suspectWords: PropTypes.arrayOf(PropTypes.string).isRequired, + bannedWords: PropTypes.arrayOf(PropTypes.string).isRequired, currentAsset: PropTypes.object, comment: PropTypes.shape({ body: PropTypes.string.isRequired, @@ -92,9 +94,4 @@ Comment.propTypes = { }) }; -const linkStyles = { - backgroundColor: 'rgb(255, 219, 135)', - padding: '1px 2px' -}; - export default Comment; diff --git a/client/coral-admin/src/translations.json b/client/coral-admin/src/translations.json index 13538e224..d39c8f175 100644 --- a/client/coral-admin/src/translations.json +++ b/client/coral-admin/src/translations.json @@ -147,21 +147,49 @@ "es": { "errors": { "NOT_AUTHORIZED": "Acción no autorizada.", - "LOGIN_MAXIMUM_EXCEEDED": "Ha realizado demasiados intentos fallidos de contraseña. Por favor espera." + "LOGIN_MAXIMUM_EXCEEDED": "Ha realizado demasiados intentos fallidos de colocar la contraseña. Por favor espere." }, "community": { "username_and_email": "Usuario y E-mail", "account_creation_date": "Fecha de creación de la cuenta", "newsroom_role": "Rol en la redacción", - "admin": "Administrador", - "moderator": "Moderador", + "admin": "Administradora", + "moderator": "Moderadora", "role": "Seleccionar rol...", - "no-results": "No se encontraron usuarios con ese nombre de usuario o correo electronico.", + "no-results": "No se encontraron usuarixs con ese nombre de usuario o e-mail.", "status": "Estado", "select-status": "Seleccionar estado...", "active": "Activa", "banned": "Suspendido", "banned-user": "Usuario Suspendido", + "loading": "Cargando resultados", + "flaggedaccounts": "Nombres de Usuario Reportados", + "people": "Gente", + "no-flagged-accounts": "No hay ninguna cuenta reportada.", + "I don't like this username": "No me gusta ese nombre de usuario", + "This user is impersonating": "Suplantación", + "This looks like an ad/marketing": "Spam/Propaganda", + "This username is offensive": "Ofensivo", + "Other": "Otros", + "ban_user": "Quieres suspender al Usuario?", + "are_you_sure": "Estas segura que quieres suspender a {0}?", + "note": "Nota: Suspender a este usuario no le va a permitir (al usuario) borrar ni editar ni comentar.", + "cancel": "Cancelar", + "yes_ban_user": "Si, Suspendan el usuario" + }, + "suspenduser": { + "title": "Suspendiendo un usuario", + "title_0": "¿Esta queriendo suspender un usuario?", + "description_0": "¿Le gustaría suspender a esta usuaria temporalmente devido a su nombre de usuario? Si lo hace sus comentarios serán escondidos temporalmente hasta que el usuario pueda cambiar su nombre.", + "title_1": "Enviarle un correo al usuario informandole que su cuenta fue suspendida", + "description_1": "Si suspende a este usuario, su cuenta va a ser deshabilitada y todos sus comentarios escondidos del sitio.", + "no_cancel": "No, cancelar", + "yes_suspend": "Si, suspender", + "send": "Enviar", + "username": "nombre de usuario", + "email_subject": "Su cuenta ha sido suspendida temporalmente", + "email": "Una persona de la comunidad recientemente marcó su nombre de usuario para ser revisado. Por su contenido, el nombre de usuario ha sido rechazado. Esto quiere decir que no puede comentar, gustar o marcar contenido hasta que modifique su nombre de usuario. Por favor, envienos un correo si tiene alguna pregunta o comentario.", + "write_message": "Escribir un mensaje", "loading": "Cargando resultados" }, "modqueue": { @@ -181,34 +209,34 @@ "banned_user": "Usuario Suspendido" }, "user": { - "user_bio": "", - "bio_flags": "", - "username_flags": "" + "user_bio": "marcas para este usuario", + "bio_flags": "marcas para esta biografia", + "username_flags": "marcas para este nombre de usuario" }, "configure": { - "closed-stream-settings": "Mensaje cuando los comentarios están cerrados en el artículo", + "closed-stream-settings": "Mensaje a enviar cuando los comentarios están cerrados en el artículo", "stream-settings": "Configuración de Comentarios", "moderation-settings": "Configuración de Moderación", - "tech-settings": "Configuración Technical", + "tech-settings": "Configuración Técnica", "custom-css-url": "URL CSS a medida", - "custom-css-url-desc": "URL de una hoja de estilo que va a sobrescribir los estilos por defecto de Embed Stream. Puede ser interna o externa.", + "custom-css-url-desc": "URL de una hoja de estilo que va a sobrescribir los estilos por defecto del hilo de comentarios. Puede ser interna o externa.", "dashboard": "Panel", "enable-pre-moderation": "Habilitar pre-moderación", "enable-pre-moderation-text": "Los moderadores deben aprobar cada comentario antes de que sea publicado.", - "require-email-verification": "Necesita confirmación de correo", - "require-email-verification-text": "Nuevos usuarios deben verificar sus correos antes de comentar", + "require-email-verification": "Necesita confirmación de e-mail", + "require-email-verification-text": "Nuevos usuarios deben verificar sus e-mails antes de comentar", "include-comment-stream": "Incluir la Descripción a un Hilo de Comentario para los y las Lectoras.", "include-comment-stream-desc": "Escribir un mensaje que será agregado a la parte de arriba del tu hilo de comentarios. Por ejemplo, un tema, guias de comunidad, etc.", "include-text": "Incluir tu texto aqui.", "comment-settings": "Configuración de Comentarios", "embed-comment-stream": "Colocar Hilo de Comentarios", - "enable-premod-links": "Pre-Moderar Commentarios que contienen Links", - "enable-premod-links-text": "Los y las Moderadoras deben probar cualquier comentario que contengan links antes de su publicación.", - "wordlist": "Palabras Suspendidas y Suspechosas", - "banned-word-text": "Comentarios que contengan estas palabras o frases, no separadas por comas y en mayusculas o minusuculas, serán automaticamente separadas de los comentarios publicados.", - "suspect-word-text": "Comments which contain these words or phrases (not case-sensitive) will be highlighted in the comment stream. Type a word and press Enter or Tab to add. Optionally paste a comma-separated list.", - "banned-words-title": "Banned words list", - "suspect-words-title": "Suspect words list", + "enable-premod-links": "Pre-Moderar Commentarios que contienen Enlaces", + "enable-premod-links-text": "Los y las Moderadoras deben aprobar cualquier comentario que contengan links antes de su publicación.", + "wordlist": "Palabras Suspendidas y Sospechosas", + "banned-word-text": "Comentarios que contengan estas palabras o frases, no separadas por comas y en mayusculas o minusuculas, serán automaticamente marcadas para separar los comentarios publicados.", + "suspect-word-text": "Comentarios que contengan estas palabras o frases, considerando mayusculas y minusculas, serán automaticamente destacadas en los comentarios publicados. Escribir una palabra y apretar Enter o Tabulador para agergarla. Opcionalmente pegar una lista separada por coma.", + "banned-words-title": "Lista de palabras prohibidas", + "suspect-words-title": "Lista de palabras sospechosas", "save-changes": "Guardar Cambios", "copy-and-paste": "Copiar y pegar el código de más abajo en tu CMS para colocar la caja de comentarios en tus articulos", "moderate": "Moderar", @@ -227,21 +255,21 @@ "comment-count-text-post": " caracteres", "comment-count-error": "Por favor escribe un número válido.", "domain-list-title": "Lista de Dominios Permitidos", - "domain-list-text": "Agrega dominios permitidos a Talk, e.g. tu localhost, staging y ambientes de production (ex. localhost:3000, staging.domain.com, domain.com)." + "domain-list-text": "Agrega dominios permitidos a Talk, por ejemplo tu localhost, staging y ambientes de producción (ej. localhost:3000, staging.domain.com, domain.com)." }, "embedlink": { "copy": "Copiar" }, "bandialog": { - "ban_user": "Quieres suspender el Usuario?", - "are_you_sure": "Estas segura que quieres suspender a {0}?", - "note": "Nota: Suspender este usuario también va a colocar este comentario en la cola de Rechazados.", + "ban_user": "¿Quieres suspender el Usuario?", + "are_you_sure": "¿Estás segura que quieres suspender a {0}?", + "note": "Nota: Suspender a este usuario también va a colocar este comentario en la cola de Rechazados.", "cancel": "Cancelar", "yes_ban_user": "Si, Suspendan el usuario" }, "dashbord": { "next-update": "{0} minutos hasta la siguiente actualización.", - "auto-update": "Los datos se actualizan automaticamente cada 5 minutos o cuando Recargas.", + "auto-update": "Los datos se actualizan automaticamente cada 5 minutos o cuando recargas.", "no_flags": "¡Nadie ha marcado nada en los últimos 5 minutos! ¡Bravo!", "no_likes": "A nadie le ha gustado algún comentario en los últimos 5 minutos. Todo tranquilo.", "flags": "Marcados", @@ -249,21 +277,19 @@ "comment_count": "comentarios" }, "streams": { - "empty_result": "No se encuentro articulo con esta busqueda. Tal vez extender la busqueda?", - "search": "", - "filter-streams": "", - "stream-status": "", - "all": "", - "open": "", - "closed": "", - "newest": "", - "oldest": "", - "sort-by": "", - "open": "", - "closed": "", + "empty_result": "No se encuentro articulo con esta busqueda. ¿Tal vez puedas extender la busqueda?", + "search": "buscar", + "filter-streams": "Filtrar Hilos de Comentarios", + "stream-status": "Estado del Hilo de Comentarios", + "all": "todxs", + "open": "abrir", + "closed": "cerrado", + "newest": "más nuevoß", + "oldest": "más viejo", + "sort-by": "ordenar por", "article": "artículo", - "pubdate": "", - "status": "" + "pubdate": "Fecha de Pblicación", + "status": "Estado" } } } diff --git a/client/coral-configure/translations.json b/client/coral-configure/translations.json index a40c12bc1..a72166ed4 100644 --- a/client/coral-configure/translations.json +++ b/client/coral-configure/translations.json @@ -20,8 +20,8 @@ "description": "Como Administrador/a puedes modificar las opciones de los comentarios en este artículo", "enablePremod": "Activar Pre Moderación", "enablePremodDescription": "Los y las Moderadoras deben aprobar cualquier comentario antes de su publicación", - "enablePremodLinks": "Pre-Moderar Commentarios que contienen Links", - "enablePremodLinksDescription": "Los y las Moderadoras deben probar cualquier comentario que contengan links antes de su publicación.", + "enablePremodLinks": "Pre-Moderar Comentarios que contienen Enlaces", + "enablePremodLinksDescription": "Los y las moderadoras deben aprobar cualquier comentario que contengan enlaces antes de su publicación.", "enableQuestionBox": "Hacer una pregunta a los y las lectoras.", "enableQuestionBoxDescription": "Esta pregunta aparecera en la parte de arriba del hilo de comentarios.", "includeQuestionHere": "Escribir la pregunta aquí." diff --git a/client/coral-embed-stream/src/Embed.js b/client/coral-embed-stream/src/Embed.js index 52fdf06f5..a3d2a24a9 100644 --- a/client/coral-embed-stream/src/Embed.js +++ b/client/coral-embed-stream/src/Embed.js @@ -160,7 +160,6 @@ class Embed extends Component { charCount={asset.settings.charCountEnable && asset.settings.charCount} /> : null } -
    :

    {asset.settings.closedMessage}

    @@ -170,6 +169,7 @@ class Embed extends Component { refetch={refetch} offset={signInOffset}/>} {loggedIn && user && } + {loggedIn && } { highlightedComment &&