diff --git a/client/coral-embed-stream/src/tabs/stream/containers/CommentBox.js b/client/coral-embed-stream/src/tabs/stream/containers/CommentBox.js index f16a410ad..a64356578 100644 --- a/client/coral-embed-stream/src/tabs/stream/containers/CommentBox.js +++ b/client/coral-embed-stream/src/tabs/stream/containers/CommentBox.js @@ -1,8 +1,9 @@ import React from 'react'; import PropTypes from 'prop-types'; -import t from 'coral-framework/services/i18n'; +import t, { timeago } from 'coral-framework/services/i18n'; import { can } from 'coral-framework/services/perms'; +import { isSuspended } from 'coral-framework/utils/user'; import Slot from 'coral-framework/components/Slot'; import { connect } from 'react-redux'; @@ -40,6 +41,17 @@ class CommentBox extends React.Component { currentUser, } = this.props; + if (isSuspended(currentUser)) { + notify( + 'error', + t( + 'error.temporarily_suspended', + timeago(currentUser.status.suspension.until) + ) + ); + return; + } + if (!can(currentUser, 'INTERACT_WITH_COMMUNITY')) { notify('error', t('error.NOT_AUTHORIZED')); return; diff --git a/client/coral-framework/services/i18n.js b/client/coral-framework/services/i18n.js index 1ec53c703..f467f7f53 100644 --- a/client/coral-framework/services/i18n.js +++ b/client/coral-framework/services/i18n.js @@ -5,6 +5,7 @@ import merge from 'lodash/merge'; import moment from 'moment'; import 'moment/locale/da'; +import 'moment/locale/de'; import 'moment/locale/es'; import 'moment/locale/fr'; import 'moment/locale/pt-br'; @@ -12,6 +13,7 @@ import 'moment/locale/pt-br'; import { createStorage } from 'coral-framework/services/storage'; import daTA from 'timeago.js/locales/da'; +import deTA from 'timeago.js/locales/de'; import esTA from 'timeago.js/locales/es'; import frTA from 'timeago.js/locales/fr'; import pt_BRTA from 'timeago.js/locales/pt_BR'; @@ -21,6 +23,7 @@ import nl from 'timeago.js/locales/nl'; import en from '../../../locales/en.yml'; import da from '../../../locales/da.yml'; +import de from '../../../locales/de.yml'; import es from '../../../locales/es.yml'; import fr from '../../../locales/fr.yml'; import pt_BR from '../../../locales/pt_BR.yml'; @@ -32,6 +35,7 @@ const defaultLanguage = process.env.TALK_DEFAULT_LANG; const translations = { ...en, ...da, + ...de, ...es, ...fr, ...nl_NL, @@ -86,6 +90,7 @@ export function setupTranslations() { ta.register('es', esTA); ta.register('da', daTA); + ta.register('de', deTA); ta.register('fr', frTA); ta.register('pt_BR', pt_BRTA); ta.register('zh_CN', zh_CNTA); @@ -113,17 +118,22 @@ export function timeago(time) { * any extra parameters are optional and replace a variable marked by {0}, {1}, etc in the translation. */ export function t(key, ...replacements) { - const fullKey = `${lang}.${key}`; - if (has(translations, fullKey)) { - let translation = get(translations, fullKey); + let translation; + if (has(translations[lang], key)) { + translation = get(translations[lang], key); + } else if (has(translations['en'], key)) { + translation = get(translations['en'], key); + console.warn(`${lang}.${key} language key not set`); + } + if (translation) { // replace any {n} with the arguments passed to this method replacements.forEach((str, i) => { translation = translation.replace(new RegExp(`\\{${i}\\}`, 'g'), str); }); return translation; } else { - console.warn(`${fullKey} language key not set`); + console.warn(`${lang}.${key} and en.${key} language key not set`); return key; } } diff --git a/client/coral-framework/utils/user.js b/client/coral-framework/utils/user.js index f50fca335..93dcd4db9 100644 --- a/client/coral-framework/utils/user.js +++ b/client/coral-framework/utils/user.js @@ -21,7 +21,7 @@ export const getReliability = reliabilityValue => { */ export const isSuspended = user => { - const suspensionUntil = get(user, 'state.status.suspension.until'); + const suspensionUntil = get(user, 'status.suspension.until'); return user && suspensionUntil && new Date(suspensionUntil) > new Date(); }; diff --git a/locales/da.yml b/locales/da.yml index fb8ed1350..a1d1fab73 100644 --- a/locales/da.yml +++ b/locales/da.yml @@ -12,11 +12,26 @@ da: note_reject_comment: "Hvis du banner denne bruger vil det også placere denne kommentar i den afviste kø" note_ban_user: "Hvis du banner denne bruger vil det forhindre dem i at redigere kommentarer eller fjerne noget" yes_ban_user: "Ja, Ban Bruger" + write_a_message: "Write a message" + send: "Send" + notify_ban_headline: "Notify the user of ban" + notify_ban_description: "This will notify the user by email that they have been banned from the community" + email_message_ban: "Dear {0},\n\nSomeone with access to your account has violated our community guidelines. As a result, your account has been banned. You will no longer be able to comment, like or report comments. if you think this has been done in error, please contact our community team." bio_offensive: "Denne biografi er stødende" cancel: "Afbryd" + confirm_email: + click_to_confirm: "Click below to confirm your email address" + confirm: "Confirm" + password_reset: + set_new_password: "Change Your Password" + new_password: "New Password" + new_password_help: "Password must be at least 8 characters" + confirm_new_password: "Confirm New Password" + change_password: "Change Password" characters_remaining: "tegn tilbage" comment: anon: "Anonym" + undo_reject: "Undo" ban_user: "Ban Bruger" comment: "Skriv en kommentar" edited: "Redigeret" @@ -46,6 +61,11 @@ da: reaction: "reaktion" reactions: "reaktioner" story: "Historie" + flagged_usernames: + notify_approved: '{0} approved username {1}' + notify_rejected: '{0} rejected username {1}' + notify_flagged: '{0} reported username {1}' + notify_changed: 'user {0} changed their username to {1}' community: account_creation_date: "Oprettelsedato for konto" active: "Aktive" @@ -75,6 +95,7 @@ da: status: "Status" username_and_email: "Brugernavn eller email-adresse" yes_ban_user: "Ja Ban Bruger" + commenter: "Commenter" configure: apply: "Anvend" banned_word_text: "Kommentarer, der indeholder disse ord eller sætninger (Ikke følsom over for store eller små bogstaver) fjernes automatisk fra kommentarstrømmen. Indtast et ord og tryk på Enter eller Tab for at tilføje. Indsæt eventuelt en kommasepareret liste." @@ -161,7 +182,14 @@ da: edit_window_timer_prefix: "Luk vindue: " second: "sekund" seconds_plural: "sekunder" + minute: "minute" + minutes_plural: "minutes" email: + suspended: + subject: "Your account has been suspended" + banned: + subject: "Your account has been banned" + body: "In accordance with The Coral Project’s community guidelines, your account has been banned. You are now longer allowed to comment, flag or engage with our community." confirm: has_been_requested: "Der er anmodet om en e-mail bekræftelse for følgende konto:" to_confirm: "For at bekræfte kontoen, skal du besøge følgende link:" @@ -175,13 +203,18 @@ da: embedlink: copy: "Kopier til udklipsholder" error: + COMMENT_PARENT_NOT_VISIBLE: "The comment that you're replying to has been removed or doesn't exist." + EMAIL_VERIFICATION_TOKEN_INVALID: "Email verification token is invalid." + PASSWORD_RESET_TOKEN_INVALID: "Your password reset link is invalid." COMMENT_TOO_SHORT: "Din kommentar skal indeholde noget" NOT_AUTHORIZED: "Du har ikke tilladelse til at udføre denne handling." NO_SPECIAL_CHARACTERS: "Brugernavne kan kun indeholder bogstaver og _" PASSWORD_LENGTH: "Adgangskoden er for kort" PROFANITY_ERROR: "Brugernavne må ikke inholde stødende indhold. Kontakt venligst administratoren, hvis du mener at dette er en fejl." + RATE_LIMIT_EXCEEDED: "Rate limit exceeded" USERNAME_IN_USE: "Brugernavnet er allerede i brug" USERNAME_REQUIRED: "Du skal indtaste et brugernavn" + EMAIL_NOT_VERIFIED: "E-mail address not verified" EDIT_WINDOW_ENDED: "Du kan ikke længere redigere denne kommentar. Tidsvinduet for at gøre det er udløbet." EDIT_USERNAME_NOT_AUTHORIZED: "Du har ikke tilladelse til at opdatere dit brugernavn." SAME_USERNAME_PROVIDED: "Du skal indsende et andet brugernavn." @@ -193,6 +226,7 @@ da: NOT_FOUND: "Ressource ikke fundet" ALREADY_EXISTS: "Ressource eksisterer allerede" INVALID_ASSET_URL: "Aktivitetswebadresse er ugyldig" + CANNOT_IGNORE_STAFF: "Cannot ignore Staff members." email: "Ikke en gylding e-mail" confirm_password: "Kodeordene matcher ikke. Tjek venligst igen." network_error: "Det lykkedes ikke at oprette forbindelse til serveren. Tjek din internetforbindelse og prøv igen." @@ -202,6 +236,7 @@ da: password: "Adgangskoden skal være mindst 8 tegn" username: "Brugernavne kan kun indeholde bogstaver og _" unexpected: "Der opstod en uventet fejl. Undskyld!" + temporarily_suspended: "Your account is currently suspended. It will be reactivated {0}. Please contact us if you have any questions." flag_comment: "Rapportér kommentar" flag_reason: "Årsag til rapportering (Valgfrit)" flag_username: "Rapporter brugernavn" @@ -220,6 +255,8 @@ da: error: "Brugernavne kan kun indeholde bogstaver og _" label: "Nyt brugernavn" msg: "Din konto er midlertidigt suspenderet, fordi dit brugernavn er blevet anset for upassende. For at gendanne din konto skal du indtaste et nyt brugernavn. Kontakt os venligst, hvis du har spørgsmål." + changed_name: + msg: "Your username change is under review by our moderation team." my_comments: "Mine kommentarer" my_profile: "Min profil" new_count: "Se {0} mere {1}" @@ -237,6 +274,24 @@ da: loading_results: "Indlæser resultater" marketing: "Dette ligner en annonce/markedsføring" moderate_this_stream: "Moderer denne strøm" + flags: + reasons: + user: + username_offensive: "Offensive" + username_nolike: "Dislike" + username_impersonating: "Impersonation" + username_spam: "Spam" + username_other: "Other" + comment: + comment_offensive: "Offensive" + comment_spam: "Spam" + comment_noagree: "Disagree" + comment_other: "Other" + suspect_word: "Suspect Word" + banned_word: "Banned Word" + body_count: "Body exceeds max length" + trust: "Trust" + links: "Link" modqueue: account: "konto flag" actions: "Handlinger" @@ -246,6 +301,7 @@ da: notify_accepted: "{0} accepteret kommentar {1}" notify_rejected: "{0} afvist kommentar {1}" notify_flagged: "{0} flagget kommentar {1}" + notify_reset: '{0} reset status of comment "{1}"' approve: "Godkend" approved: "Godkendt" ban_user: "Ban" @@ -254,6 +310,7 @@ da: empty_queue: "Ikke flere kommentarer til at moderer! Du har indhentet det hele. Gå ud og tag noget ☕️" flagged: "flagged" reported: "Rapporteret" + jump_to_queue: "Jump to specific queue" less_detail: "Færre detajler" likes: "Syntes godt om" million: "M" @@ -264,6 +321,7 @@ da: newest_first: "Nyeste først" navigation: "Navigation" next_comment: "Gå til næste kommentar" + next_queue: "Switch queues" oldest_first: "Ældste Først" premod: "pre-mod" prev_comment: "Gå til den forrige kommentar" @@ -275,15 +333,18 @@ da: shortcuts: "Genveje" show_shortcuts: "Vis genveje" singleview: "Zen mode" + sort: "Sort" thismenu: "Åben denne menu" thousand: "k" try_these: "Prøv disse" + toggle_search: "Open search" view_more_shortcuts: "Se flere genveje" my_comment_history: "Min kommentar Historie" name: "Navn" no_agree_comment: "Jeg er ikke enig med denne kommentar" no_like_bio: "Jeg kan ikke lide denne biografi" no_like_username: "Jeg kan ikke lide dette brugernavn" + already_flagged_username: "You have already flagged this username." other: "Andet" permalink: "Delen" personal_info: "Denne kommentar afslører personligt identificerbare oplysninger" @@ -307,6 +368,8 @@ da: all_comments: "Alle kommentarer" temporarily_suspended: "I overensstemmelse med {0}'s retningslinjer for fællesskabet er din konto midlertidigt suspenderet. Venligst tilslut dig samtalen {1}." comment_not_found: "Denne kommentar er blevet fjernet eller findes ikke." + no_comments: "There are no comments yet, why don’t you write one?" + no_comments_and_closed: "There were no comments on this article." step_1_header: "Rapportér et problem" step_2_header: "Hjælp os med at forstå" step_3_header: "Tak for din indsats" @@ -356,6 +419,19 @@ da: bio_flags: "flag for denne bio" user_bio: "Bruger Biografi" username_flags: "flag for dette brugernavn" + user_detail: + remove_suspension: "Remove Suspension" + suspend: "Suspend User" + remove_ban: "Remove Ban" + ban: "Ban User" + member_since: "Member Since" + email: "Email" + total_comments: "Total Comments" + reject_rate: "Reject Rate" + reports: "Reports" + all: "All" + rejected: "Rejected" + account_history: "Account History" user_impersonating: "Denne bruger efterligner" user_no_comment: "Du har aldrig efterladt en kommentar. Deltag i samtalen" username_offensive: "Dette brugernavn er stødende" @@ -382,3 +458,6 @@ da: description: "Tak fordi du installerede Talk! Vi sendte en email for at bekræfte din e-mail-adresse. Mens du færdigøre oprettelsen af kontoen, kan du begynde at engagere med dine læsere." launch: "Lancere Talk" close: "Luk dette installations program" + admin_sidebar: + view_options: "View Options" + sort_comments: "Sort Comments" diff --git a/locales/de.yml b/locales/de.yml new file mode 100644 index 000000000..069c8ddb3 --- /dev/null +++ b/locales/de.yml @@ -0,0 +1,462 @@ +de: + your_account_has_been_suspended: Ihr Zugang wurde vorübergehend gesperrt. + your_account_has_been_banned: Ihr Zugang wurde gesperrt. + your_username_has_been_rejected: Ihr Zugang wurde vorübergehend gesperrt, da Ihr Nutzername als unangemessen eingestuft wurde. Um Ihren Zugang wieder herzustellen, geben Sie bitte einen neuen Nutzernamen ein. + embed_comments_tab: Kommentare + bandialog: + are_you_sure: "Sind Sie sich sicher, dass Sie {0} sperren möchten?" + ban_user: "Nutzer sperren?" + banned_user: "Gesperrter Nutzer" + cancel: "Beenden" + note: "Notiz: {0}" + note_reject_comment: "Das Sperren dieses Nutzers wird auch diesen Kommentar in die Abgelehnt-Liste verschieben." + note_ban_user: "Nach dem Sperren wird dieser Nutzer weder Kommentare schreiben, noch anderweitig mit der Community interagieren können." + yes_ban_user: "Ja, Nutzer sperren" + write_a_message: "Nachricht schreiben" + send: "Senden" + notify_ban_headline: "Nutzer über Sperrung benachrichtigen" + notify_ban_description: "Dies wird den Nutzer per E-Mail über den Ausschluss aus der Community informieren" + email_message_ban: "Sehr geehrte/r {0},\n\nJemand mit Zugriff auf Ihr Konto hat gegen unsere Community-Richtlinien verstoßen. Daraufhin wurde Ihr Konto gesperrt. Sie können nun weder kommentieren noch anderweitig mit der Community interagieren. Falls Sie denken, dass es sich hierbei um einen Fehler handelt, nehmen Sie bitte Kontakt mit unseren Moderatoren auf." + bio_offensive: "Diese Biographie ist unangemessen" + cancel: "Abbrechen" + confirm_email: + click_to_confirm: "Unten klicken, um E-Mail-Adresse zu bestätigen" + confirm: "Bestätigen" + password_reset: + set_new_password: "Passwort ändern" + new_password: "Neues Passwort" + new_password_help: "Das Passwort benötigt mindestens 8 Zeichen" + confirm_new_password: "Neues Passwort bestätigen" + change_password: "Passwort ändern" + characters_remaining: "verbleibende Zeichen" + comment: + anon: "Anonym" + undo_reject: "Rückgängig machen" + ban_user: "Nutzer sperren" + comment: "Kommentar verfassen…" + edited: Bearbeitet + flagged: "markiert" + view_context: "Kontext ansehen" + comment_box: + post: "Senden" + cancel: "Abbrechen" + reply: "Antworten" + comment: "Kommentar verfassen" + name: "Name" + comment_post_notif: "Ihr Kommentar wurde versandt." + comment_post_notif_premod: "Vielen Dank für Ihren Kommentar. Unsere Moderatoren werden ihn in Kürze bearbeiten." + comment_post_banned_word: "Ihr Kommentar enthält ein oder mehrere Wörter, die unzulässig sind, daher wird er nicht veröffentlicht. Falls Sie dies als ungerechtfertigt ansehen, nehmen Sie bitte Kontakt zu unseren Moderatoren auf." + characters_remaining: "verbleibende Zeichen" + comment_offensive: "Dieser Kommentar ist unangemessen" + comment_singular: Kommentar + comment_plural: Kommentare + comment_post_banned_word: "Ihr Kommentar enthält ein oder mehrere Wörter, die unzulässig sind, daher wird er nicht veröffentlicht. Falls Sie dies als ungerechtfertigt ansehen, nehmen Sie bitte Kontakt zu unseren Moderatoren auf." + comment_post_notif: "Ihr Kommentar wurde veröffentlicht." + comment_post_notif_premod: "Vielen Dank für Ihren Kommentar. Unsere Moderatoren werden ihn in Kürze bearbeiten." + common: + copy: 'Kopieren' + error: 'Ein Problem ist aufgetreten.' + reply: 'antworten' + replies: 'Antworten' + reaction: 'Reaktion' + reactions: 'Reaktionen' + story: 'Artikel' + flagged_usernames: + notify_approved: '{0} hat Nutzername {1} freigegeben' + notify_rejected: '{0} hat Nutzername {1} abgelehnt' + notify_flagged: '{0} hat Nutzername {1} markiert' + notify_changed: 'Nutzer {0} hat Nutzernamen nach {1} geändert' + community: + account_creation_date: "Datum der Kontoerstellung" + active: Aktiv + admin: Administrator + ads_marketing: "Dies scheint Werbung zu sein" + are_you_sure: "Sind Sie sich sicher, dass Sie {0} sperren möchten?" + ban_user: "Nutzer sperren?" + banned: Gesperrt + banned_user: "Gesperrter Nutzer" + cancel: Abbrechen + dont_like_username: "Unsympathischer Nutzername" + flaggedaccounts: "Gemeldete Nutzernamen" + flags: Markierungen + impersonating: "Identität unklar" + loading: "Lädt Ergebnisse" + moderator: Moderator + newsroom_role: "Redaktionsrolle" + no_flagged_accounts: "Die Liste der gemeldeten Nutzer ist aktuell leer." + no_results: "Keine Nutzer mit entsprechendem Namen oder E-Mail-Adresse gefunden." + offensive: "Unangemessen" + other: Etwas anderes + people: Nutzer + role: "Rolle auswählen..." + select_status: "Status wählen..." + spam_ads: "Spam/Werbung" + staff: "Mitarbeiter" + status: Status + username_and_email: "Nutzername und E-Mail" + yes_ban_user: "Ja, Nutzer sperren" + commenter: "Kommentator" + configure: + apply: Anwenden + banned_word_text: "Kommentare, die diese Wörter oder Phrasen enthalten (unabhängig von Groß-/Kleinschreibung), werden automatisch aus dem Kommentarbereich entfernt. Geben Sie ein Wort ein und bestätigen Sie mit Eingabetaste oder Tab. Es ist auch möglich, einen komma-separierten Text einzufügen." + banned_words_title: "Liste der unzulässigen Wörter" + close: "Schließen" + close_after: "Kommentarbereich schließen nach" + close_stream: "Kommentarbereich schließen" + close_stream_configuration: "Dieser Kommentarbereich ist momentan geschlossen. Durch das Öffnen dieses Kommentarbereichs können neue Kommentare abgegeben und veröffentlicht werden." + closed_comments_desc: "Wird angezeigt, wenn der Kommentarbereich für den Artikel geschlossen ist." + closed_comments_label: "Nachricht verfassen..." + closed_stream_settings: "Mitteilung über Schließung" + comment_count_error: "Geben Sie eine gültige Zahl an." + comment_count_header: "Zeichenlimit für Kommentare festlegen" + comment_count_text_post: Zeichen + comment_count_text_pre: "Kommentar wird begrenzt auf" + comment_settings: Einstellungen + comment_stream: "Kommentarbereich" + comment_stream_will_close: "Der Kommentarbereich wird geschlossen" + community: Community + configure: Einstellungen + copy_and_paste: "Kopieren Sie diesen Code in Ihr CMS, um die Kommentarfunktion an entsprechender Stelle anzuzeigen." + custom_css_url: "Benutzerdefinierte CSS-URL" + custom_css_url_desc: "URL eines CSS-Stylesheets zum Überschreiben des Standard-Designs" + days: Tage + description: "Als Administrator können Sie die Einstellungen für den Kommentarbereich dieses Artikels anpassen:" + domain_list_text: "Geben Sie Domains an, für die diese Talk-Instanz freigegeben werden soll, z.B. für lokale Test- oder Produktionsumgebungen (Bsp.: localhost:3000 staging.domain.com domain.com)." + domain_list_title: "Zugelassene Domains" + edit_comment_timeframe_heading: "Zeitlimit zur Bearbeitung von Kommentaren" + edit_comment_timeframe_text_pre: "Kommentatoren haben" + edit_comment_timeframe_text_post: "Sekunden Zeit, um ihre Kommentare zu bearbeiten." + embed_comment_stream: "Kommentarbereich einbinden" + enable_premod_links_text: "Moderatoren müssen jeden Kommentar, der einen Link enthält, freigeben, bevor er veröffentlicht wird." + enable_pre_moderation: "Vormoderation aktivieren" + enable_pre_moderation_text: "Moderatoren müssen jeden Kommentar freigeben, bevor er veröffentlicht wird." + enable_premod_links: "Vormoderation für Kommentare mit Links aktivieren" + enable_premod: "Vormoderation aktivieren" + enable_premod_description: "Moderatoren müssen jeden Kommentar freigeben, bevor er veröffentlicht wird." + enable_premod_links_description: "Moderatoren müssen jeden Kommentar, der einen Link enthält, freigeben, bevor er veröffentlicht wird." + enable_questionbox: "Stellen Sie den Lesern eine Frage" + enable_questionbox_description: "Diese Frage erscheint am Anfang des Kommentarbereichs. Regen Sie eine Diskussion an." + hours: Stunden + include_comment_stream: "Einleitung zum Kommentarbereich" + include_comment_stream_desc: "Verfassen Sie eine Einleitung, die über jedem Kommentarbereich erscheint. Nützlich z.B. für Community-Richtlinien." + include_text: "Fügen Sie Ihren Text hier ein." + include_question_here: "Stellen Sie Ihre Frage hier:" + moderate: Moderieren + moderation_settings: "Moderations-Einstellungen" + open: "Öffnen" + open_stream: "Kommentarbereich öffnen" + open_stream_configuration: "Dieser Kommentarbereich ist momentan geöffnet. Nach dem Schließen dieses Kommentarbereich wird es nicht mehr möglich sein, zu kommentieren. Bestehende Kommentare bleiben sichtbar." + require_email_verification: "E-Mail-Bestätigung erforderlich" + require_email_verification_text: "Neue Nutzer müssen ihre E-Mail-Adresse bestätigen." + save_changes: "Änderungen speichern" + shortcuts: Tastaturkürzel + sign_out: "Abmelden" + stories: Artikel + stream_settings: "Einstellungen Kommentarbereich" + suspect_word_title: "Liste verdächtiger Wörter" + suspect_word_text: "Kommentare, die diese Wörter oder Phrasen enthalten (unabhängig von Groß-/Kleinschreibung), werden im Kommentarbereich markiert. Geben Sie ein Wort ein und bestätigen Sie mit Eingabetaste oder Tab. Es ist auch möglich, einen komma-separierten Text einzufügen." + tech_settings: "Technische Einstellungen" + title: "Kommentarbereich konfigurieren" + weeks: Wochen + wordlist: "Gesperrte Wörter" + continue: "Fortfahren" + createdisplay: + check_the_form: "Ungültige Eingabe. Bitte prüfen Sie die Felder." + continue: "Mit diesem Facebook-Nutzernamen fortfahren" + error_create: "Fehler beim Ändern des Nutzernamens" + fake_comment_body: "Dies ist ein Beispiel-Kommentar. Leser können im Kommentarbereich Meinungen und Gedanken mit der Redaktion austauschen." + fake_comment_date: "Vor einer Minute" + if_you_dont_change_your_name: "Wenn Sie Ihren Nutzernamen an diesem Punkt nicht ändern, wird Ihr Facebook-Name mit Ihren Kommentaren angezeigt." + required_field: "Pflichtfeld" + save: Speichern + special_characters: "Nutzernamen dürfen nur Buchstaben, Zahlen und _ enthalten" + username: Nutzername + write_your_username: "Nutzername bearbeiten" + your_username: "Ihr Nutzername erscheint an jedem Ihrer veröffentlichten Kommentare." + done: Fertig + edit_comment: + body_input_label: "Kommentar bearbeiten" + save_button: "Änderungen speichern" + edit_window_expired: "Sie können diesen Kommentar nicht mehr bearbeiten. Das Zeitfenster hierfür ist abgelaufen. Bitte schreiben Sie einen neuen Kommentar." + edit_window_expired_close: "Schließen" + edit_window_timer_prefix: "Verbleibende Zeit: " + second: "Sekunde" + seconds_plural: "Sekunden" + minute: "Minute" + minutes_plural: "Minuten" + email: + suspended: + subject: "Ihr Benutzerkonto wurde vorübergehend gesperrt" + banned: + subject: "Ihr Benutzerkonto wurde gesperrt" + body: "Entsprechend der Community-Richtlinien des Coral Project, wurde Ihr Benutzerkonto gesperrt. Sie dürfen ab sofort weder kommentieren noch an der Community teilnehmen." + confirm: + has_been_requested: "Für folgendes Nutzerkonto wurde eine E-Mail-Bestätigung angefordert:" + to_confirm: "Um Ihr Nutzerkonto zu bestätigen, öffnen Sie bitte folgenden Link:" + confirm_email: "E-Mail-Adresse bestätigen" + if_you_did_not: "Sollten Sie diese E-Mail nicht angefordert haben, können Sie diese Nachricht ignorieren." + subject: "Bestätigung der E-Mail-Adresse" + password_reset: + we_received_a_request: "Wir haben eine Anfrage erhalten, Ihr Passwort zurückzusetzen. Sollten Sie dies nicht angefordert haben, können Sie diese Nachricht ignorieren." + if_you_did: "Falls doch," + please_click: "klicken Sie bitte hier zum Zurücksetzen" + embedlink: + copy: "In die Zwischenablage kopieren" + error: + COMMENT_PARENT_NOT_VISIBLE: "Der Kommentar, auf den Sie antworten möchten, wurde entfernt oder existiert nicht." + EMAIL_VERIFICATION_TOKEN_INVALID: "Code zur E-Mail-Bestätigung ist ungültig." + PASSWORD_RESET_TOKEN_INVALID: "Ihr Link zum Passwort zurücksetzen ist ungültig." + COMMENT_TOO_SHORT: "Kommentare sollten mehr als ein Zeichen enthalten, bitte überprüfen Sie Ihren Kommentar und probieren Sie es erneut." + NOT_AUTHORIZED: "Sie sind nicht berechtigt, diese Aktion auszuführen." + NO_SPECIAL_CHARACTERS: "Benutzernamen dürfen nur Buchstaben, Zahlen und _ enthalten" + PASSWORD_LENGTH: "Passwort ist zu kurz" + PROFANITY_ERROR: "Nutzernamen dürfen nicht anstößig sein. Bei Fragen, wenden Sie sich an einen Administrator." + RATE_LIMIT_EXCEEDED: "Ratelimit überschritten" + USERNAME_IN_USE: "Nutzername bereits vergeben" + USERNAME_REQUIRED: "Nutzername muss angegeben werden" + EMAIL_NOT_VERIFIED: "E-Mail-Adresse nicht bestätigt" + EDIT_WINDOW_ENDED: "Sie können diesen Kommentar nicht mehr bearbeiten. Das Zeitfenster ist abgelaufen." + EDIT_USERNAME_NOT_AUTHORIZED: "Sie haben keine Berechtigung, Ihren Nutzernamen zu ändern." + SAME_USERNAME_PROVIDED: "Sie müssen einen anderen Nutzernamen wählen." + EMAIL_IN_USE: "E-Mail-Adresse bereits vergeben" + EMAIL_REQUIRED: "Eine E-Mail-Adresse ist erforderlich" + LOGIN_MAXIMUM_EXCEEDED: "Sie haben zu häufig erfolglos versucht, sich anzumelden. Bitte warten Sie." + PASSWORD_REQUIRED: "Passwort ist erforderlich" + COMMENTING_CLOSED: "Kommentarbereich ist bereits geschlossen" + NOT_FOUND: "Ressource nicht gefunden" + ALREADY_EXISTS: "Ressource existiert bereits" + INVALID_ASSET_URL: "Asset-URL ist ungültig" + CANNOT_IGNORE_STAFF: "Mitarbeiter können nicht ignoriert werden." + email: "E-Mail-Adresse ungültig" + confirm_password: "Passwörter nicht identisch. Bitte erneut überprüfen" + network_error: "Server-Verbindung fehlgeschlagen. Bitte überprüfen Sie ihre Internetverbindung und versuchen Sie es erneut." + email_not_verified: "E-Mail-Adresse {0} nicht bestätigt." + email_password: "E-Mail und/oder Passwort inkorrekt." + organization_name: "Namen von Organisationen dürfen nur Buchstaben und Zahlen enthalten." + password: "Passwort muss mindestens 8 Zeichen enthalten" + username: "Nutzernamen dürfen nur Buchstaben, Zahlen und _ enthalten" + unexpected: "Unerwarteter Fehler aufgetreten. Es tut uns leid!" + flag_comment: "Kommentar melden" + flag_reason: "Grund der Meldung (optional)" + flag_username: "Nutzername melden" + framework: + banned_account_header: "Ihr Konto ist aktuell gesperrt." + banned_account_body: "Dies bedeutet, dass Sie weder Kommentare schreiben, noch auf andere Weise mit der Community interagieren können." + comment: Kommentar + comment_is_ignored: "Dieser Kommentar ist nicht sichtbar, da Sie den Nutzer ignorieren." + comment_is_rejected: "Sie haben diesen Kommentar abgelehnt." + comment_is_hidden: "Dieser Kommentar ist nicht verfügbar." + comments: Kommentare + configure_stream: "Konfigurieren" + content_not_available: "Dieser Inhalt ist nicht verfügbar" + edit_name: + button: Senden + error: "Nutzernamen dürfen nur Buchstaben, Zahlen und _ enthalten" + label: "Neuer Nutzername" + msg: "Ihr Konto ist vorübergehend gesperrt, da Ihr Nutzername als unangemessen eingestuft wurde. Um Ihr Konto wieder herzustellen, geben Sie bitte einen neuen Nutzernamen ein. Bei Fragen, kontaktieren Sie uns bitte." + changed_name: + msg: "Die Änderung Ihres Nutzernamens wird von unseren Moderatoren geprüft." + my_comments: "Meine Kommentare" + my_profile: "Mein Profil" + new_count: "{0} {1} mehr anzeigen" + profile: Profil + show_all_comments: "Alle Kommentare anzeigen" + success_bio_update: "Ihre Biographie wurde aktualisiert" + success_name_update: "Ihr Nutzername wurde aktualisiert" + success_update_settings: "Ihre Änderungen wurden für den Kommentarbereich dieses Artikels angewandt" + show_all_replies: Alle Antworten anzeigen + show_more_replies: Weitere Antworten anzeigen + view_more_comments: "Weitere Kommentare anzeigen" + view_reply: "Antwort anzeigen" + from_settings_page: "Sie können Ihren Kommentarverlauf auf Ihrer Profilseite sehen." + like: Gefällt mir + loading_results: "Lädt Ergebnisse" + marketing: "Dies scheint Werbung zu sein" + moderate_this_stream: "Diesen Kommentarbereich moderieren" + flags: + reasons: + user: + username_offensive: "Unangemessen" + username_nolike: "Unerwünscht" + username_impersonating: "Identität unklar" + username_spam: "Spam" + username_other: "Anderes" + comment: + comment_offensive: "Unangemessen" + comment_spam: "Spam" + comment_noagree: "Andere Meinung" + comment_other: "Anderes" + suspect_word: "Verdächtiges Wort" + banned_word: "Unzulässiges Wort" + body_count: "Text überschreitet Zeichenlimit" + trust: "Vertrauen" + links: "Link" + modqueue: + account: "Konto-Markierungen" + actions: Aktionen + all: Alle + all_streams: "Alle Kommentarbereiche" + notify_edited: '{0} bearbeitete Kommentar "{1}"' + notify_accepted: '{0} genehmigte Kommentar "{1}"' + notify_rejected: '{0} lehnte Kommentar "{1}" ab' + notify_flagged: '{0} markierte Kommentar "{1}"' + notify_reset: '{0} setzte Status von "{1}" zurück' + approve: "Freigeben" + approved: "Freigegeben" + ban_user: "Sperren" + billion: Mrd + close: Schließen + empty_queue: "Keine weiteren Kommentare zu moderieren! Arbeite nicht zu viel, gönn’ dir eine Pause!" + flagged: markiert + reported: gemeldet + less_detail: "Weniger Details" + likes: Gefällt mir + million: Mio + mod_faster: "Schneller moderieren mit Tastaturkürzeln" + moderate: "Moderieren →" + more_detail: "Mehr Details" + new: Neu + newest_first: "Neueste zuerst" + navigation: Navigation + next_comment: "Gehe zum nächsten Kommentar" + toggle_search: "Suche öffnen" + next_queue: "Nächste Liste" + oldest_first: "Älteste zuerst" + premod: Unmoderiert + prev_comment: " Gehe zum vorherigen Kommentar" + reject: "Ablehnen" + rejected: "Abgelehnt" + reply: "Antworten" + select_stream: "Kommentarbereich wählen" + shift_key: "⇧" + shortcuts: "Tastaturkürzel" + sort: "Sortieren" + show_shortcuts: "Tastaturkürzel anzeigen" + singleview: "Zen-Modus" + thismenu: "Dieses Menü öffnen" + jump_to_queue: "Zu bestimmter Liste springen" + thousand: T + try_these: "Versuch’ diese" + view_more_shortcuts: "Weitere Tastaturkürzel anzeigen" + my_comment_history: "Mein Kommentarverlauf" + name: Name + no_agree_comment: "Ich bin mit diesem Kommentar nicht einverstanden" + no_like_bio: "Ich mag diese Biographie nicht" + no_like_username: "Ich mag diesen Nutzernamen nicht" + already_flagged_username: "Sie haben diesen Nutzernamen schon markiert." + other: Sonstiges + permalink: Teilen + personal_info: "Dieser Kommentar enthält zu viel personenbezogene Daten" + post: Post # Kontext? + profile: Profil + profile_settings: "Profil-Einstellungen" + reply: Antworten + report: Melden + report_notif: "Vielen Dank für Ihre Meldung. Unsere Moderatoren wurden informiert und werden sich in Kürze darum kümmern." + report_notif_remove: "Ihre Meldung wurde entfernt." + reported: Gemeldet + settings: + from_settings_page: "Sie können auf Ihrer Profilseite Ihren Kommentarverlauf einsehen." + my_comment_history: "Mein Kommentarverlauf" + profile: Profil + profile_settings: "Profil-Einstellungen" + sign_in: "Anmelden" + to_access: "um auf Profil zuzugreifen" + user_no_comment: "Keine Kommentare vorhanden. Nehmen Sie an der Diskussion teil!" + stream: + all_comments: "Alle Kommentare" + temporarily_suspended: "Entsprechend der Community-Regeln von {0} wurde Ihr Konto vorübergehend gesperrt. Nehmen Sie {1} wieder an der Diskussion teil." + comment_not_found: "Kommentar nicht gefunden" + no_comments: "Es gibt noch keine Kommentare. Schreiben Sie doch einen..." + no_comments_and_closed: "Es gab zu diesem Artikel keine Kommentare." + step_1_header: "Ein Problem melden" + step_2_header: "Begründung" + step_3_header: "Danke für Ihren Hinweis" + streams: + all: Alle + article: Artikel + closed: Geschlossen + empty_result: "Ihre Suche war ohne Ergebnisse. Versuchen Sie, Ihre Anfrage weiter zu fassen." + filter_streams: "Kommentarbereiche filtern" + newest: Neueste + oldest: Älteste + open: Offen + pubdate: "Veröffentlichungsdatum" + search: Suchen + sort_by: "Sortieren nach" + status: "Status" + stream_status: "Status" + suspenduser: + title_suspend: "Nutzer vorübergehend sperren" + description_suspend: "Sie sperren vorübergehend {0}. Dieser Kommentar wird auf die Abgelehnt-Liste verschoben und der Nutzer wird keine Aktionen ausführen können, bis die Sperrung abgelaufen ist." + select_duration: "Sperrdauer festlegen" + one_hour: "1 Stunde" + hours: "{0} Stunden" + days: "{0} Tage" + cancel: "Abbrechen" + suspend_user: "Nutzer vorübergehend sperren" + email_message_suspend: "Sehr geehrte/r {0}, entsprechend der Community-Richtlinien von {1} wurde Ihr Konto vorübergehend gesperrt. Während der Sperrung können Sie weder kommentieren noch andere Aktionen ausführen. Nehmen Sie {2} wieder an der Diskussion teil." + title_notify: "Den Nutzer über die vorübergehende Kontosperrung informieren" + notify_suspend_until: "Nutzer {0} wurde vorübergehend gesperrt. Diese Sperrung endet automatisch {1}." + description_notify: "Während der Sperrung hat der Nutzer keinen Zugriff auf das Konto." + write_message: "Nachricht verfassen" + send: Senden + reject_username: + username: Nutzername + no_cancel: "Nein, abbrechen" + description_reject: "Möchten Sie diesen Nutzer vorübergehend sperren (Grund: {0})? Der Nutzer kann das Konto erst wieder nach Änderung des {0} nutzen." + title_notify: "Nutzer über die vorübergehende Sperrung benachrichtigen" + description_notify: "Die Sperrung wird das Nutzerkonto vorübergehend deaktivieren." + title_reject: "Uns ist aufgefallen, dass Sie einen Nutzernamen abgelehnt haben" + suspend_user: "Nutzer vorübergehend sperren" + yes_suspend: "Ja, vorübergehend sperren" + email_message_reject: "Ein Community-Mitglied hat Ihren Nutzernamen zur Überprüfung gemeldet. Er wurde als unangemessen eingestuft und abgelehnt. Sie können Ihr Konto erst wieder voll nutzen, wenn Sie Ihren Namen ändern. Setzen Sie sich bei weiteren Fragen mit uns in Verbindung." + write_message: "Nachricht schreiben" + send: Senden + thank_you: "Vielen Dank für Ihre Nachricht. Wir nehmen Ihre Meldung ernst und ein Moderator wird sie umgehend prüfen." + user: + bio_flags: "Markierungen für diese Biographie" + user_bio: "Nutzer-Biographie" + username_flags: "Markierungen für diesen Nutzernamen" + user_detail: + remove_suspension: "Vorübergehende Sperrung aufheben" + suspend: "Nutzer vorübergehend sperren" + remove_ban: "Sperre aufheben" + ban: "Nutzer sperren" + member_since: "Mitglied seit" + email: "E-Mail" + total_comments: "Anzahl Kommentare" + reject_rate: "Ablehn-Rate" + reports: "Meldungen" + all: "Alle" + rejected: "Abgelehnte" + account_history: "Konto-Verlauf" + user_impersonating: "Gibt sich für jemand anderen aus" + user_no_comment: "Sie haben noch keinen Kommentar abgegeben. Teilen Sie Ihre Meinung mit uns!" + username_offensive: "Dieser Nutzername ist unangemessen" + view_conversation: "Diskussion ansehen" + install: + initial: + description: "Erstellen Sie in wenigen Schritten Ihre Talk-Community." + submit: "Los geht’s!" + add_organization: + description: "Geben Sie den Namen Ihrer Organisation ein. Dieser erscheint in E-Mails, wenn Sie neue Mitglieder einladen." + label: "Name der Organisation" + save: "Speichern" + create: + email: "E-Mail-Adresse" + username: "Nutzername" + password: "Passwort" + confirm_password: "Passwort bestätigen" + save: "Speichern" + permitted_domains: + title: "Zugelassene Domains" + description: "Geben Sie Domains an, für die diese Talk-Instanz freigegeben werden soll. Beispiel: localhost:3000 staging.domain.com domain.com." + submit: "Installation abschließen" + final: + description: "Danke, dass Sie Talk benutzen! Bitte bestätigen Sie Ihre E-Mail-Adresse über den Link, den wir an Sie versandt haben. Während Sie die Einrichtung Ihres Kontos abschließen, können Sie sich schon mit Ihren Lesern beschäftigen." + launch: "Talk starten" + close: "Schließen" + admin_sidebar: + view_options: "Ansichtsoptionen" + sort_comments: "Kommentare sortieren" diff --git a/locales/en.yml b/locales/en.yml index 97c37cc2f..1494ae28a 100644 --- a/locales/en.yml +++ b/locales/en.yml @@ -236,6 +236,7 @@ en: password: "Password must be at least 8 characters" username: "Usernames can contain letters numbers and _ only" unexpected: "Unexpected error occurred. Sorry!" + temporarily_suspended: "Your account is currently suspended. It will be reactivated {0}. Please contact us if you have any questions." flag_comment: "Report comment" flag_reason: "Reason for reporting (Optional)" flag_username: "Report username" diff --git a/locales/es.yml b/locales/es.yml index 17f028dfa..76599de73 100644 --- a/locales/es.yml +++ b/locales/es.yml @@ -19,9 +19,19 @@ es: email_message_ban: "Dear {0},\n\nSomeone with access to your account has violated our community guidelines. As a result, your account has been banned. You will no longer be able to comment, like or report comments. if you think this has been done in error, please contact our community team." bio_offensive: "Esta biografia es ofensiva" cancel: Cancelar + confirm_email: + click_to_confirm: "Click below to confirm your email address" + confirm: "Confirm" + password_reset: + set_new_password: "Change Your Password" + new_password: "New Password" + new_password_help: "Password must be at least 8 characters" + confirm_new_password: "Confirm New Password" + change_password: "Change Password" characters_remaining: "carácteres restantes" comment: anon: Anónimo + undo_reject: "Undo" ban_user: "Usuario Suspendido" comment: "Publicar un comentario" edited: Editado @@ -51,10 +61,16 @@ es: reaction: 'reacción' reactions: 'reacciones' story: 'Artículo' + flagged_usernames: + notify_approved: '{0} approved username {1}' + notify_rejected: '{0} rejected username {1}' + notify_flagged: '{0} reported username {1}' + notify_changed: 'user {0} changed their username to {1}' community: account_creation_date: "Fecha de creación de la cuenta" active: Activa admin: Administrator + ads_marketing: "This looks like an ad/marketing" are_you_sure: "¿Estas segura que quieres suspender a {0}?" ban_user: "¿Quieres suspender al Usuario?" banned: Suspendido @@ -169,6 +185,11 @@ es: minute: "minuto" minutes_plural: "minutos" email: + suspended: + subject: "Your account has been suspended" + banned: + subject: "Your account has been banned" + body: "In accordance with The Coral Project’s community guidelines, your account has been banned. You are now longer allowed to comment, flag or engage with our community." confirm: has_been_requested: "Un correo de confirmación ha sido pedido para la siguiente cuenta:" to_confirm: "Para confirmar la cuenta, por favor visitar el siguiente enlace:" @@ -183,32 +204,39 @@ es: copy: "Copiar al portapapeles" error: COMMENT_PARENT_NOT_VISIBLE: "El comentario a la que estás contestando ha sido eliminado o no existe." + EMAIL_VERIFICATION_TOKEN_INVALID: "Email verification token is invalid." + PASSWORD_RESET_TOKEN_INVALID: "Your password reset link is invalid." COMMENT_TOO_SHORT: "Tu comentario debe tener algo escrito" - COMMENTING_CLOSED: "Los comentarios ya estan cerrados" - confirm_password: "Las contraseñas no coinciden. Inténtelo nuevamente" - edit_window_ended: "No puedes editar este comentario. El tiempo de edición ha expirado." - edit_username_not_authorized: "No tiene permiso para editar el nombre de usuario." - email: "No es un correo válido" - email_in_use: "Este correo se encuentra en uso" - email_not_verified: "Correo {0} no confirmado." - email_password: "Correo y/o contraseña incorrecta." - email_required: "Se requiere un correo" - email_username_in_use: "Correo o nombre en uso." - INVALID_ASSET_URL: "La URL del articulo no es valida" - unexpected: "Lo siento. Ha habido un error no previsto." - login_maximum_exceeded: "Ha realizado demasiados intentos fallidos de usar la contraseña. Por favor espere." - network_error: "Error al conectar con el servidor. Compruebe su conexión a Internet y vuelva a intentarlo." NOT_AUTHORIZED: "Acción no autorizada." - NOT_FOUND: "Recurso no encontrado" NO_SPECIAL_CHARACTERS: "Los nombres pueden contener letras números y _" - organization_name: "El nombre de la organización debe contener letras y/o números." - password: "La contraseña debe tener por lo menos 8 caracteres" PASSWORD_LENGTH: "Contraseña es muy corta" - PASSWORD_REQUIRED: "Debe ingresar la contraseña" PROFANITY_ERROR: "Los nombres no pueden contener blasfemias. Por favor contacte al o la administradora si cree que esto es un error" - username: "Los nombres pueden contener letras números y _" + RATE_LIMIT_EXCEEDED: "Rate limit exceeded" USERNAME_IN_USE: "Este nombre ya está siendo usado." USERNAME_REQUIRED: "Debe ingresar un nombre" + EMAIL_NOT_VERIFIED: "E-mail address not verified" + EDIT_WINDOW_ENDED:: "No puedes editar este comentario. El tiempo de edición ha expirado." + EDIT_USERNAME_NOT_AUTHORIZED: "No tiene permiso para editar el nombre de usuario." + SAME_USERNAME_PROVIDED: "You must submit a different username." + EMAIL_IN_USE: "Este correo se encuentra en uso" + EMAIL_REQUIRED: "Se requiere un correo" + LOGIN_MAXIMUM_EXCEEDED: "Ha realizado demasiados intentos fallidos de usar la contraseña. Por favor espere." + PASSWORD_REQUIRED: "Debe ingresar la contraseña" + COMMENTING_CLOSED: "Los comentarios ya estan cerrados" + NOT_FOUND: "Recurso no encontrado" + ALREADY_EXISTS: "Resource already exists" + INVALID_ASSET_URL: "La URL del articulo no es valida" + CANNOT_IGNORE_STAFF: "Cannot ignore Staff members." + email: "No es un correo válido" + confirm_password: "Las contraseñas no coinciden. Inténtelo nuevamente" + network_error: "Error al conectar con el servidor. Compruebe su conexión a Internet y vuelva a intentarlo." + email_not_verified: "Correo {0} no confirmado." + email_password: "Correo y/o contraseña incorrecta." + organization_name: "El nombre de la organización debe contener letras y/o números." + password: "La contraseña debe tener por lo menos 8 caracteres" + username: "Los nombres pueden contener letras números y _" + unexpected: "Lo siento. Ha habido un error no previsto." + temporarily_suspended: "Your account is currently suspended. It will be reactivated {0}. Please contact us if you have any questions." flag_comment: "Reportar este comentario" flag_reason: "Razón por la que hacer este reporte (Opcional)" flag_username: "Reportar el nombre de usuario" @@ -227,6 +255,8 @@ es: error: "Nombres de usuarios pueden solamente incluir letras, números y _" label: "Nuevo Nombre" msg: "Tu cuenta está suspendida porque tu nombre de usuario ha sido considerado no apropiado para el espacio. Para recuperar la cuenta, por favor ingresar un nuevo nombre de usuario. Contáctanos si tienes alguna pregunta." + changed_name: + msg: "Your username change is under review by our moderation team." my_comments: "Mis Comentarios" my_profile: "Mi perfil" new_count: "Ver {0} más {1} " @@ -257,17 +287,29 @@ es: comment_spam: "Contiene spam" comment_noagree: "No está de acuerdo" comment_other: "Otra razón" + suspect_word: "Suspect Word" + banned_word: "Banned Word" + body_count: "Body exceeds max length" + trust: "Trust" + links: "Link" modqueue: account: "reportes de cuentas" actions: Acciones all: todos all_streams: "Todos los Hilos" + notify_edited: '{0} edited comment "{1}"' + notify_accepted: '{0} accepted comment "{1}"' + notify_rejected: '{0} rejected comment "{1}"' + notify_flagged: '{0} flagged comment "{1}"' + notify_reset: '{0} reset status of comment "{1}"' approve: "Aprobar" approved: "Aprobado" + ban_user: "Ban" billion: B close: Cerrar empty_queue: "¡No hay más comentarios para moderar! Tiempo para un ☕️" - flagged: Reportado + flagged: reportado + reported: reportado less_detail: "Menos detalles" likes: likes million: M @@ -293,6 +335,7 @@ es: show_shortcuts: "Mostrar Atajos" singleview: "Modo zen" thismenu: "Abrir este menu" + jump_to_queue: "Jump to specific queue" thousand: k try_these: "Intentar estos" view_more_shortcuts: "Ver más atajos" @@ -301,6 +344,7 @@ es: no_agree_comment: "No estoy de acuerdo con este comentario" no_like_bio: "No me gusta esta biografia" no_like_username: "No me gusta este nombre de usuario" + already_flagged_username: "You have already flagged this username." other: Otro permalink: Compartir personal_info: "Este comentario muestra información personal" @@ -320,46 +364,15 @@ es: sign_in: "Entrar" to_access: "para acceder al perfil" user_no_comment: "No has dejado aún ningún comentario. ¡Únete a la conversación!" - sign_in: - email_verify_cta: "Por favor confirme su correo." - request_new_verify_email: "Enviar otro correo:" - verify_email: "¡Gracias por crear una cuenta! Le enviamos un correo a la dirección que dio para confirmar su cuenta." - verify_email2: "Debe confirmarla antes de poder involucrarse en la comunidad." - not_you: "¿No eres tu?" - logged_in_as: "Entraste como" - facebook_sign_in: "Entrar con Facebook" - facebook_sign_up: "Registrarse con Facebook" - logout: "Salir" - sign_in: "Entrar" - sign_in_to_join: "Entrar para unirte a la conversación" - or: "O" - email: "Dirección de Correo" - password: "Contraseña" - forgot_your_pass: "¿Has olvidado tu contraseña?" - need_an_account: "¿Necesitas una cuenta?" - register: "Registrar" - sign_up: "Registro" - confirm_password: "Confirmar Contraseña" - username: "Nombre" - already_have_an_account: "¿Ya tienes una cuenta?" - recover_password: "Recuperar la contraseña" - email_in_use: "Este correo se encuentra en uso" - email_or_username_in_use: "Este correo ó nombre de usuario se encuentran en uso" - required_field: "Este campo es requerido" - passwords_dont_match: "Las contraseñas no coinciden." - special_characters: "Los nombres pueden contener letras, números y _" - sign_in_to_comment: "Entrar para comentar" - temporarily_suspended: "De acuerdo con la guía de la comunidad de {0}, su cuenta ha sido temporalmente suspendida. Por favor unirse a la conversación {1}." - check_the_form: "Formulario Inválido. Por favor, completa los campos" - step_1_header: "Reportar un problema" - step_2_header: "Ayúdanos a comprender" - step_3_header: "Gracias por tu participación" stream: all_comments: "Todos los comentarios" temporarily_suspended: "De acuerdo con la guía de la comunidad de {0}, su cuenta ha sido temporalmente suspendida. Por favor unirse a la conversación {1}." comment_not_found: "Este comentario ha sido eliminado o no existe." no_comments: "Todavía no hay comentarios. ¿Por qué no escribes uno?" no_comments_and_closed: "No hubo comentarios en este artículo." + step_1_header: "Reportar un problema" + step_2_header: "Ayúdanos a comprender" + step_3_header: "Gracias por tu participación" streams: all: "Todos" article: "Artículo" @@ -406,29 +419,45 @@ es: bio_flags: "reportes para este bio" user_bio: "Bio de Usuario" username_flags: "reportes para este nombre de usuario" + user_detail: + remove_suspension: "Remove Suspension" + suspend: "Suspend User" + remove_ban: "Remove Ban" + ban: "Ban User" + member_since: "Member Since" + email: "Email" + total_comments: "Total Comments" + reject_rate: "Reject Rate" + reports: "Reports" + all: "All" + rejected: "Rejected" + account_history: "Account History" user_impersonating: "Este usuario suplanta a alguien" user_no_comment: "No has dejado aún ningún comentario. ¡Únete a la conversación!" username_offensive: "Este nombre de usuario es ofensivo" view_conversation: "Ver Conversación" install: - INITIAL: - DESCRIPTION: "Vamos a crear su comunidad Talk en unos pocos pasos." - SUBMIT: "Empecemos" - ADD_ORGANIZATION: - DESCRIPTION: "Por favor díganos el nombre de su organización. Esta aparecerá en correos cuando se inviten a nuevos miembros del equipo." - LABEL: "Nombre de la Organización" - SAVE: "Guardar" - CREATE: - EMAIL: "Dirección de correo" - USERNAME: "Nombre de Usuario" - PASSWORD: "Contraseña" - CONFIRM_PASSWORD: "Confirmar Contraseña" - SAVE: "Guardar" - PERMITTED_DOMAINS: - TITLE: "Dominios permitidos" - DESCRIPTION: "Ingresar los dominios en donde estará Talk, por ejemplo sus ambientes locales, de staging y producción (ej. localhost:3000, staging.domain.com, domain.com)." - SUBMIT: "Terminar la Instalación" - FINAL: - DESCRIPTION: "¡Gracias por instalar Talk! Enviamos un correo para verificar su dirección de correo. Mientras esta terminando de configurar su cuenta, ya puede comenzar a involucrarse con sus lectores." - LAUNCH: "Iniciar Talk" - CLOSE: "Cerrar este instalador" + initial: + description: "Vamos a crear su comunidad Talk en unos pocos pasos." + submit: "Empecemos" + add_organization: + description: "Por favor díganos el nombre de su organización. Esta aparecerá en correos cuando se inviten a nuevos miembros del equipo." + label: "Nombre de la Organización" + save: "Guardar" + create: + email: "Dirección de correo" + username: "Nombre de Usuario" + password: "Contraseña" + confirm_password: "Confirmar Contraseña" + save: "Guardar" + permitted_domains: + title: "Dominios permitidos" + description: "Ingresar los dominios en donde estará Talk, por ejemplo sus ambientes locales, de staging y producción (ej. localhost:3000, staging.domain.com, domain.com)." + submit: "Terminar la Instalación" + final: + description: "¡Gracias por instalar Talk! Enviamos un correo para verificar su dirección de correo. Mientras esta terminando de configurar su cuenta, ya puede comenzar a involucrarse con sus lectores." + launch: "Iniciar Talk" + close: "Cerrar este instalador" + admin_sidebar: + view_options: "View Options" + sort_comments: "Sort Comments" diff --git a/locales/fr.yml b/locales/fr.yml index 6583662ea..50d9dedb7 100644 --- a/locales/fr.yml +++ b/locales/fr.yml @@ -1,19 +1,41 @@ fr: + your_account_has_been_suspended: Your account has been temporarily suspended. + your_account_has_been_banned: Your account has been banned. + your_username_has_been_rejected: Your account has been suspended because your username has been deemed inappropriate. To restore your account please enter a new username. + embed_comments_tab: Comments bandialog: are_you_sure: "Êtes-vous sûr de vouloir bannir {0}?" ban_user: "Bannir l'utilisateur ?" banned_user: "Utilisateur banni" cancel: Annuler note: "Remarque: bannir cet utilisateur rejettera également ce commentaire." + note_reject_comment: "Banning this user will also place this comment in the Rejected queue." + note_ban_user: "Banning this user will not let them comment, react to, or report comments." yes_ban_user: "Oui, bannir cet utilisateur" + write_a_message: "Write a message" + send: "Send" + notify_ban_headline: "Notify the user of ban" + notify_ban_description: "This will notify the user by email that they have been banned from the community" + email_message_ban: "Dear {0},\n\nSomeone with access to your account has violated our community guidelines. As a result, your account has been banned. You will no longer be able to comment, like or report comments. if you think this has been done in error, please contact our community team." bio_offensive: "Cette biographie est offensante" cancel: Annuler + confirm_email: + click_to_confirm: "Click below to confirm your email address" + confirm: "Confirm" + password_reset: + set_new_password: "Change Your Password" + new_password: "New Password" + new_password_help: "Password must be at least 8 characters" + confirm_new_password: "Confirm New Password" + change_password: "Change Password" characters_remaining: "caractères restants" comment: anon: Anonyme ban_user: "Bannir utilisateur" + undo_reject: "Undo" comment: "Publier un commentaire" flagged: signalé + edited: Edited view_context: "Afficher le contexte" comment_box: post: "Publier" @@ -25,12 +47,25 @@ fr: comment_post_notif_premod: "Merci d'avoir envoyé un commentaire. Notre équipe de modération passera en revue votre commentaire sous peu." comment_post_banned_word: "Votre commentaire contient un ou plusieurs mots qui ne sont pas autorisés, il ne sera pas publié. Si vous pensez qu'il y a une erreur, contactez notre équipe de modération." characters_remaining: "caractères restants" - comment_is_best: "Ce commentaire est l'un des meilleurs" comment_offensive: "Ce commentaire est offensant" + comment_singular: Commentaire comment_plural: Commentaires comment_post_banned_word: "Votre commentaire contient un ou plusieurs mots qui ne sont pas autorisés, il ne sera pas publié. Si vous pensez qu'il y a une erreur, contactez notre équipe de modération." comment_post_notif: "Votre commentaire a été publié." comment_post_notif_premod: "Merci d'avoir envoyé un commentaire. Notre équipe de modération passera en revue votre commentaire sous peu." + common: + copy: 'Copy' + error: 'An error has occurred.' + reply: 'reply' + replies: 'replies' + reaction: 'reaction' + reactions: 'reactions' + story: 'Story' + flagged_usernames: + notify_approved: '{0} approved username {1}' + notify_rejected: '{0} rejected username {1}' + notify_flagged: '{0} reported username {1}' + notify_changed: 'user {0} changed their username to {1}' community: account_creation_date: "Date de création du compte" active: Actif @@ -41,21 +76,26 @@ fr: banned: Banni banned_user: "Utilisateur banni" cancel: Signalé + dont_like_username: "Dislike username" flaggedaccounts: "Noms d'utilisateurs signalés" flags: Signalements + impersonating: Impersonation" loading: "Chargement des résultats" moderator: Modérateur newsroom_role: "Rôle de la salle de presse" no_flagged_accounts: "La liste des comptes signalés est vide." no_results: "Aucun utilisateur n'a été trouvé avec ce nom d'utilisateur ou cette adresse de messagerie. Ils se cachent !" - note: "Remarque: bannir cet utilisateur ne lui permettra pas de modifier les commentaires ou de supprimer quoi que ce soit." + offensive: "Offensive" + other: "Other" people: Gens role: "Sélectionnez le rôle ..." select_status: "Sélectionnez l'état ..." + spam_ads: "Spam/Ads" staff: "Équipe" status: Statut username_and_email: "Nom d'utilisateur et e-mail" yes_ban_user: "Oui bannir l'utilisateur" + commenter: "Commenter" configure: apply: Appliquer banned_word_text: "Les commentaires qui contiennent ces mots ou ces expressions (non sensibles à la casse) seront automatiquement supprimés du flux de commentaires. Tapez un mot et appuyez sur Entrée ou Tabulation pour ajouter. En option, envoyez une liste séparée par des virgules." @@ -120,6 +160,19 @@ fr: weeks: Semaines wordlist: "Mots interdits" continue: Continuer + createdisplay: + check_the_form: "Invalid Form. Please check the fields" + continue: "Continue with the same Facebook username" + error_create: "Error when changing username" + fake_comment_body: "This is an example comment. Readers can share their thoughts and opinions with newsrooms in the comments section." + fake_comment_date: "1 minute ago" + if_you_dont_change_your_name: "If you don't change your username at this step your Facebook display name will appear alongside of all your comments." + required_field: "Required field" + save: Save + special_characters: "Usernames can contain letters numbers and _ only" + username: Username + write_your_username: "Edit your username" + your_username: "Your username appears on every comment you post." done: Terminé edit_comment: body_input_label: "Modifier ce commentaire" @@ -131,26 +184,49 @@ fr: seconds_plural: "secondes" minute: "minute" minutes_plural: "minutes" - unexpected_error: "Erreur inattendue lors de l'enregistrement des modifications. Désolé !" + email: + suspended: + subject: "Your account has been suspended" + banned: + subject: "Your account has been banned" + body: "In accordance with The Coral Project’s community guidelines, your account has been banned. You are now longer allowed to comment, flag or engage with our community." + confirm: + has_been_requested: "A email confirmation has been requested for the following account:" + to_confirm: "To confirm the account, please visit the following link:" + confirm_email: "Confirm Email" + if_you_did_not: "If you did not request this, you can safely ignore this email." + subject: "Email Confirmation" + password_reset: + we_received_a_request: "We received a request to reset your password. If you did not request this change, you can ignore this email." + if_you_did: "If you did," + please_click: "please click here to reset password" embedlink: copy: "Copier dans le presse-papier" error: + COMMENT_PARENT_NOT_VISIBLE: "The comment that you're replying to has been removed or doesn't exist." + EMAIL_VERIFICATION_TOKEN_INVALID: "Email verification token is invalid." + PASSWORD_RESET_TOKEN_INVALID: "Your password reset link is invalid." COMMENT_TOO_SHORT: "Votre commentaire doit contenir quelque chose" NOT_AUTHORIZED: "Vous n'êtes pas autorisé à effectuer cette action." NO_SPECIAL_CHARACTERS: "Les noms d'utilisateur ne peuvent contenir que des lettres, des chiffres et \"_\" seulement" PASSWORD_LENGTH: "Le mot de passe est trop court" PROFANITY_ERROR: "Les noms d'utilisateur ne doivent pas contenir de mots offensants. Veuillez contacter l'administrateur si vous pensez qu'il y a une erreur." + RATE_LIMIT_EXCEEDED: "Rate limit exceeded" USERNAME_IN_USE: "Ce nom d'utilisateur est déjà pris" USERNAME_REQUIRED: "Doit entrer un nom d'utilisateur" + EMAIL_NOT_VERIFIED: "E-mail address not verified" EDIT_WINDOW_ENDED: "Vous ne pouvez plus modifier ce commentaire. La fenêtre de temps pour le faire a expiré." EDIT_USERNAME_NOT_AUTHORIZED: "Vous n'avez pas la permission de mettre à jour votre nom d'utilisateur." + SAME_USERNAME_PROVIDED: "You must submit a different username." EMAIL_IN_USE: "Adresse e-mail déjà utilisée" EMAIL_REQUIRED: "Une adresse email est requise" LOGIN_MAXIMUM_EXCEEDED: "Vous avez effectué trop de tentatives infructueuses pour entrer votre mot de passe. S'il vous plaît, attendez." PASSWORD_REQUIRED: "Doit entrer un mot de passe" COMMENTING_CLOSED: "Les commentaires sont déjà fermés" NOT_FOUND: "Ressource introuvable" + ALREADY_EXISTS: "Resource already exists" INVALID_ASSET_URL: "L'URL est invalide" + CANNOT_IGNORE_STAFF: "Cannot ignore Staff members." email: "Pas une adresse e-mail valide" confirm_password: "Les mots de passe ne correspondent pas. Vérifiez à nouveau" network_error: "Échec de connexion au serveur. Vérifiez votre connexion Internet et réessayez." @@ -159,12 +235,17 @@ fr: organization_name: "Le nom de l'organisation ne peut contenir que des lettres ou des chiffres." password: "Le mot de passe doit être d'au moins 8 caractères" username: "Les noms d'utilisateur ne peuvent contenir que des chiffres, des lettres et \"_\"" + unexpected: "Unexpected error occurred. Sorry!" + temporarily_suspended: "Your account is currently suspended. It will be reactivated {0}. Please contact us if you have any questions." flag_comment: "Signaler un commentaire" flag_reason: "Motif du signalement (facultatif)" flag_username: "Signaler un nom d'utilisateur" framework: - banned_account_msg: "Votre compte est actuellement suspendu. Cela signifie que vous ne pouvez pas Aimer Signaler ou Écrire des commentaires. Contactez-nous si vous avez des questions." + banned_account_header: "Your account is currently banned." + banned_account_body: "This means that you cannot Like, Report, or write comments." comment: commentaire + comment_is_rejected: "You have rejected this comment." + comment_is_hidden: "This comment is not available." comment_is_ignored: "Ce commentaire est caché car vous avez ignoré cet utilisateur." comments: commentaires configure_stream: "Configure le fil" @@ -174,6 +255,8 @@ fr: error: "Les noms d'utilisateur ne peuvent contenir que des chiffres, des lettres et \"_\"" label: "Nouveau nom d'utilisateur" msg: "Votre compte est actuellement suspendu car votre nom d'utilisateur a été jugé inapproprié. Pour restaurer votre compte, entrez un nouveau nom d'utilisateur. Contactez-nous si vous avez des questions." + changed_name: + msg: "Your username change is under review by our moderation team." my_comments: "Mes commentaires" my_profile: "Mon profil" new_count: "Voir {0} plus {1}" @@ -191,43 +274,68 @@ fr: loading_results: "Chargement des résultats" marketing: "Cela ressemble à du marketing / une publicité" moderate_this_stream: "Modifiez ce fil" + flags: + reasons: + user: + username_offensive: "Offensive" + username_nolike: "Dislike" + username_impersonating: "Impersonation" + username_spam: "Spam" + username_other: "Other" + comment: + comment_offensive: "Offensive" + comment_spam: "Spam" + comment_noagree: "Disagree" + comment_other: "Other" + suspect_word: "Suspect Word" + banned_word: "Banned Word" + body_count: "Body exceeds max length" + trust: "Trust" + links: "Link" modqueue: account: "Signalements du compte" actions: Actions all: tous all_streams: "Tous les fils" + notify_edited: '{0} edited comment "{1}"' + notify_accepted: '{0} accepted comment "{1}"' + notify_rejected: '{0} rejected comment "{1}"' + notify_flagged: '{0} flagged comment "{1}"' + notify_reset: '{0} reset status of comment "{1}"' approve: "Approuver" approved: "Approuvé" ban_user: "Bannir" billion: B close: Fermer - dont_like_username: "N'aime pas le nom d'utilisateur" empty_queue: "Plus de commentaires à modérer ! Vous avez terminé, allez prendre un ☕️" flagged: signalé - impersonating: "problème d'identité" + reported: signalé less_detail: "Moins de détails" likes: "J'aime" million: M mod_faster: "Modérer plus rapidement avec les raccourcis clavier" moderate: "Modérer →" more_detail: "Plus de détails" + new: New newest_first: "Le plus récent d'abord" navigation: Navigation next_comment: "Aller au prochain commentaire" - offensive: Offensant + toggle_search: "Open search" + next_queue: "Switch queues" oldest_first: "Le plus ancien d'abord" - other: Autre premod: Pre-modérer prev_comment: "Aller au commentaire précédent" reject: "Rejeter" rejected: "Rejeté" + reply: "Reply" select_stream: "Sélectionnez le fil" shift_key: ⇧ shortcuts: Raccourcis + sort: "Sort" show_shortcuts: "Afficher les raccourcis" singleview: "Mode zen" - spam_ads: Spam / Publicités thismenu: "Ouvrir ce menu" + jump_to_queue: "Jump to specific queue" thousand: k try_these: "Essayez ces" view_more_shortcuts: "Afficher plus de raccourcis" @@ -236,6 +344,7 @@ fr: no_agree_comment: "Je ne suis pas d'accord avec ce commentaire" no_like_bio: "Je n'aime pas cette biographie" no_like_username: "Je n'aime pas ce nom d'utilisateur" + already_flagged_username: "You have already flagged this username." other: Autre permalink: Partager personal_info: "Ce commentaire révèle des informations personnelles identifiables" @@ -247,7 +356,6 @@ fr: report_notif: "Merci de signaler ce commentaire. Notre équipe de modération a é té informée." report_notif_remove: "Votre signalement a été supprimé." reported: Signalé - set_best: "Sélectionner comme le meilleur" settings: from_settings_page: "Dans la page Profil, vous pouvez voir l'historique de vos commentaires." my_comment_history: "Mon historique de commentaires" @@ -260,6 +368,8 @@ fr: all_comments: "Tous les commentaires" temporarily_suspended: "Conformément à la charte d'utilisation des commentaires de {0}, votre compte a été temporairement suspendu. Merci de revenir dans la conversation {1}." comment_not_found: "Ce commentaire a été supprimé ou n'existe pas." + no_comments: "There are no comments yet, why don’t you write one?" + no_comments_and_closed: "There were no comments on this article." step_1_header: "Signaler un problème" step_2_header: "Aidez-nous à comprendre" step_3_header: "Merci pour votre participation" @@ -278,41 +388,50 @@ fr: status: "Statut du fil" stream_status: "Statut du fil" suspenduser: - bio: Bio - cancel: "Annuler" - days: "{0} jours" - description_0: "Voulez-vous interdire temporairement cet utilisateur en raison de leur {0} ? Cela va temporairement suspendre l'utilisateur jusqu'à ce qu'ils réécrivent leurs {0}." - description_1: "Suspendre cet utilisateur désactivera temporairement son compte." - description_notify: "Suspendre cet utilisateur désactivera temporairement son compte." - description_reject: "Voulez-vous interdire temporairement cet utilisateur en raison de leur {0}? Cela va temporairement suspendre l'utilisateur jusqu'à ce qu'ils réécrivent leurs {0}." - description_suspend: "Vous suspendez {0}. Ce commentaire sera rejeté, et {0} ne sera pas autorisé à aimer, à signaler, à répondre ou à publier jusqu'à ce que la suspension soit levée." - email: "Un autre membre de la communauté a récemment signalé votre nom d'utilisateur pour examen. En raison de son contenu, votre utilisateur a été rejeté. Cela signifie que vous ne pouvez plus commenter ou signaler du contenu jusqu'à ce que vous changiez votre nom d'utilisateur. Veuillez nous envoyer un e-mail si vous avez des questions ou des préoccupations." - email_subject: "Votre compte a été suspendu" - email_message_reject: "Un autre membre de la communauté a récemment signalé votre nom d'utilisateur pour examen. En raison de son contenu, votre nom d'utilisateur a été rejeté. Cela signifie que vous ne pouvez plus commenter, ni signaler du contenu jusqu'à ce que vous changiez votre nom d'utilisateur. Veuillez nous envoyer un e-mail si vous avez des questions ou des préoccupations." - email_message_suspend: "Cher {0},\n\nConformément à la charte des commentaires de {1}, votre compte a été temporairement suspendu. Pendant cette période, vous ne pourrez pas commenter, signaler ou participer à d'autres commentaires. \n\nMerci de revenir dans la conversation {2}." - error_email_message_empty: "Vous devez spécifier un message dans l'e-mail." - hours: "{0} heures" - no_cancel: "Pas d'annulation" - notify_suspend_until: "L'utilisateur {0} a été temporairement suspendu. Cette suspension se terminera automatiquement {1}." - one_hour: "1 heure" - send: Envoyer - select_duration: "Sélectionnez la durée de la suspension" - suspend_user: "Suspendre l'utilisateur" - title: "Suspendre un utilisateur" - title_0: "Nous avons remarqué que vous avez rejeté un nom d'utilisateur" - title_1: "Aviser l'utilisateur de sa suspension temporaire" - title_notify: "Aviser l'utilisateur de sa suspension temporaire" - title_reject: "Nous avons remarqué que vous avez rejeté un nom d'utilisateur" title_suspend: "Suspendre l'utilisateur" - username: "Nom d'utilisateur" + description_suspend: "Vous suspendez {0}. Ce commentaire sera rejeté, et {0} ne sera pas autorisé à aimer, à signaler, à répondre ou à publier jusqu'à ce que la suspension soit levée." + select_duration: "Sélectionnez la durée de la suspension" + one_hour: "1 heure" + hours: "{0} heures" + days: "{0} jours" + cancel: "Annuler" + suspend_user: "Suspendre l'utilisateur" + email_message_suspend: "Cher {0},\n\nConformément à la charte des commentaires de {1}, votre compte a été temporairement suspendu. Pendant cette période, vous ne pourrez pas commenter, signaler ou participer à d'autres commentaires. \n\nMerci de revenir dans la conversation {2}." + title_notify: "Aviser l'utilisateur de sa suspension temporaire" + notify_suspend_until: "L'utilisateur {0} a été temporairement suspendu. Cette suspension se terminera automatiquement {1}." + description_notify: "Suspendre cet utilisateur désactivera temporairement son compte." write_message: "Écrire un message" + send: Envoyer + reject_username: + username: "Nom d'utilisateur" + no_cancel: "Pas d'annulation" + description_reject: "Voulez-vous interdire temporairement cet utilisateur en raison de leur {0}? Cela va temporairement suspendre l'utilisateur jusqu'à ce qu'ils réécrivent leurs {0}." + title_notify: "Aviser l'utilisateur de sa suspension temporaire" + description_notify: "Suspendre cet utilisateur désactivera temporairement son compte." + title_reject: "Nous avons remarqué que vous avez rejeté un nom d'utilisateur" + suspend_user: "Suspendre l'utilisateur" yes_suspend: "Oui suspendre" + email_message_reject: "Un autre membre de la communauté a récemment signalé votre nom d'utilisateur pour examen. En raison de son contenu, votre nom d'utilisateur a été rejeté. Cela signifie que vous ne pouvez plus commenter, ni signaler du contenu jusqu'à ce que vous changiez votre nom d'utilisateur. Veuillez nous envoyer un e-mail si vous avez des questions ou des préoccupations." + write_message: "Écrire un message" + send: Envoyer thank_you: "Nous apprécions vos commentaires. Un modérateur passera en revue votre signalement. Merci pour votre aide." - unset_best: "Déselectionner comme le meilleur" user: bio_flags: "Signaler pour cette biographie" user_bio: "Bio de l'utilisateur" username_flags: "Signaler pour ce nom d'utilisateur" + user_detail: + remove_suspension: "Remove Suspension" + suspend: "Suspend User" + remove_ban: "Remove Ban" + ban: "Ban User" + member_since: "Member Since" + email: "Email" + total_comments: "Total Comments" + reject_rate: "Reject Rate" + reports: "Reports" + all: "All" + rejected: "Rejected" + account_history: "Account History" user_impersonating: "Cet utilisateur se fait passer pour quelqu'un d'autre" user_no_comment: "Vous n'avez jamais laissé de commentaire. Rejoignez la conversation !" username_offensive: "Ce nom d'utilisateur est offensant" @@ -339,3 +458,6 @@ fr: description: "Merci d'avoir installé Talk ! Nous avons envoyé un e-mail pour vérifier votre adresse électronique. Pendant que vous terminez la configuration, vous pouvez commencer à engager vos lecteurs dès maintenant." launch: "Lancer Talk" close: "Fermez cet installateur" + admin_sidebar: + view_options: "View Options" + sort_comments: "Sort Comments" diff --git a/locales/nl_NL.yml b/locales/nl_NL.yml index 5e72ed278..a17893bbc 100644 --- a/locales/nl_NL.yml +++ b/locales/nl_NL.yml @@ -61,6 +61,11 @@ nl_NL: reaction: 'reactie' reactions: 'reacties' story: 'Verhaal' + flagged_usernames: + notify_approved: '{0} approved username {1}' + notify_rejected: '{0} rejected username {1}' + notify_flagged: '{0} reported username {1}' + notify_changed: 'user {0} changed their username to {1}' community: account_creation_date: "Aanmaakdatum account" active: Actief @@ -231,6 +236,7 @@ nl_NL: password: "Wachtwoord moet minimaal 8 karakters lang zijn" username: "Gebruikersnamen kunnen alleen cijfers, letters en _ bevatten." unexpected: "Onverwachte fout opgetreden. Sorry!" + temporarily_suspended: "Your account is currently suspended. It will be reactivated {0}. Please contact us if you have any questions." flag_comment: "Rapporteer reactie" flag_reason: "Reden voor rapporteren (optioneel)" flag_username: "Rapporteer gebruikersnaam" @@ -249,6 +255,8 @@ nl_NL: error: "Gebruikersnamen kunnen alleen cijfers, letters en _ bevatten." label: "Nieuwe gebruikersnaam" msg: "Je account is momenteel geschorst omdat je gebruikersnaam ongepast is bevonden. Om je account te herstellen, moet je je gebruikersnaam herstellen. Neem contact met ons op wanneer je vragen hebt." + changed_name: + msg: "Your username change is under review by our moderation team." my_comments: "Mijn reacties" my_profile: "Mijn profiel" new_count: "Bekijk {0} meer {1}" @@ -336,6 +344,7 @@ nl_NL: no_agree_comment: "Ik ben het niet eens met deze reactie" no_like_bio: "Ik vind deze biografie niet leuk" no_like_username: "Ik vind deze gebruikersnaam niet leuk" + already_flagged_username: "You have already flagged this username." other: Ander permalink: Deel personal_info: "Deze reactie onthult persoonlijk identificeerbare gegevens." @@ -410,6 +419,19 @@ nl_NL: bio_flags: "Meldingen voor deze biografie" user_bio: "Gebruikers biografie" username_flags: "Meldingen voor deze gebruikersnaam" + user_detail: + remove_suspension: "Remove Suspension" + suspend: "Suspend User" + remove_ban: "Remove Ban" + ban: "Ban User" + member_since: "Member Since" + email: "Email" + total_comments: "Total Comments" + reject_rate: "Reject Rate" + reports: "Reports" + all: "All" + rejected: "Rejected" + account_history: "Account History" user_impersonating: "Deze gebruiker imiteert" user_no_comment: "Je hebt nog niet eerder gereageerd. Laat je mening horen!" username_offensive: "Dit is een aanstootgevende gebruikersnaam." @@ -436,3 +458,6 @@ nl_NL: description: "Dank voor het installeren van Talk! We hebben een bericht gestuurd om je e-mailadres te valideren. Terwijl je je account verder opzet, kun je alvast de interactie aangaan met je gebruikers." launch: "Start Talk" close: "Installatie afsluiten" + admin_sidebar: + view_options: "View Options" + sort_comments: "Sort Comments" diff --git a/locales/pt_BR.yml b/locales/pt_BR.yml index aaabb11a4..c64c17824 100644 --- a/locales/pt_BR.yml +++ b/locales/pt_BR.yml @@ -12,11 +12,26 @@ pt_BR: note_reject_comment: "Banir esse usuário também colocará esse comentário na fila rejeitada." note_ban_user: "Banir este usuário não os permitirá editar comentários ou remover qualquer coisa." yes_ban_user: "Sim, banir o usuário" + write_a_message: "Write a message" + send: "Send" + notify_ban_headline: "Notify the user of ban" + notify_ban_description: "This will notify the user by email that they have been banned from the community" + email_message_ban: "Dear {0},\n\nSomeone with access to your account has violated our community guidelines. As a result, your account has been banned. You will no longer be able to comment, like or report comments. if you think this has been done in error, please contact our community team." bio_offensive: "Esse perfil é ofensiva" cancel: "Cancelar" + confirm_email: + click_to_confirm: "Click below to confirm your email address" + confirm: "Confirm" + password_reset: + set_new_password: "Change Your Password" + new_password: "New Password" + new_password_help: "Password must be at least 8 characters" + confirm_new_password: "Confirm New Password" + change_password: "Change Password" characters_remaining: "caracteres restantes" comment: anon: "Anônimo" + undo_reject: "Undo" ban_user: "Banir o usuário" comment: "Escreva um comentário..." edited: Editado @@ -46,6 +61,11 @@ pt_BR: reaction: 'Reação' reactions: 'Reações' story: 'Conversas' + flagged_usernames: + notify_approved: '{0} approved username {1}' + notify_rejected: '{0} rejected username {1}' + notify_flagged: '{0} reported username {1}' + notify_changed: 'user {0} changed their username to {1}' community: account_creation_date: "Data de criação da conta" active: Ativo @@ -75,6 +95,7 @@ pt_BR: status: Situação username_and_email: "Nome de usuário e email" yes_ban_user: "Sim, banir este usuário" + commenter: "Commenter" configure: apply: Aplicar banned_word_text: "Os comentários que contenham essas palavras ou frases (não sensíveis a maiúsculas e minúsculas) serão automaticamente removidos da lista de comentários. Digite uma palavra e pressione Enter ou Tab para adicionar ou cole uma lista separada por vírgulas." @@ -164,6 +185,11 @@ pt_BR: minute: "minuto" minutes_plural: "minutos" email: + suspended: + subject: "Your account has been suspended" + banned: + subject: "Your account has been banned" + body: "In accordance with The Coral Project’s community guidelines, your account has been banned. You are now longer allowed to comment, flag or engage with our community." confirm: has_been_requested: "Uma confirmação de e-mail foi solicitada para a seguinte conta:" to_confirm: "Para confirmar a conta, visite este link: " @@ -177,13 +203,18 @@ pt_BR: embedlink: copy: "Copiar para área de transferência" error: + COMMENT_PARENT_NOT_VISIBLE: "The comment that you're replying to has been removed or doesn't exist." + EMAIL_VERIFICATION_TOKEN_INVALID: "Email verification token is invalid." + PASSWORD_RESET_TOKEN_INVALID: "Your password reset link is invalid." COMMENT_TOO_SHORT: "Seu comentário precisar ter mais de um caracter. Revise seu comentário e envie novamente" NOT_AUTHORIZED: "Você não está autorizado a executar esta ação." NO_SPECIAL_CHARACTERS: "Nomes de usuários podem conter números de letras e _ somente" PASSWORD_LENGTH: "A senha é muito curta" PROFANITY_ERROR: "Os nomes de usuários não devem conter palavrões. Entre em contato com o administrador se você acredita que isso seja incorreto." + RATE_LIMIT_EXCEEDED: "Rate limit exceeded" USERNAME_IN_USE: "Nome de usuário já em uso" USERNAME_REQUIRED: "Must input a username" + EMAIL_NOT_VERIFIED: "E-mail address not verified" EDIT_WINDOW_ENDED: "Você não pode mais editar esse comentário. O tempo expirou." EDIT_USERNAME_NOT_AUTHORIZED: "Você não tem permissão para revisar seu nome de usuário." SAME_USERNAME_PROVIDED: "Você deve enviar um nome de usuário diferente." @@ -195,6 +226,7 @@ pt_BR: NOT_FOUND: "Recurso não encontrado" ALREADY_EXISTS: "O recurso já existe" INVALID_ASSET_URL: "O URL do recurso é inválido" + CANNOT_IGNORE_STAFF: "Cannot ignore Staff members." email: "Não é um e-mail válido" confirm_password: "Suas senhas não coincidem. Por favor, tente novamente." network_error: "Falha ao conectar-se ao servidor. Verifique a sua conexão com a internet e tente novamente." @@ -212,6 +244,8 @@ pt_BR: banned_account_body: "Isso significa que você não pode curtir, informar ou escrever comentários." comment: comentário comment_is_ignored: "Este comentário está oculto porque você ignorou esse usuário." + comment_is_rejected: "You have rejected this comment." + comment_is_hidden: "This comment is not available." comments: comentários configure_stream: "Configurar" content_not_available: "Este conteúdo não está disponível" @@ -220,6 +254,8 @@ pt_BR: error: "Nomes de usuários podem conter números de letras e _ somente" label: "Novo usuário" msg: "Sua conta está suspensa porque seu nome de usuário foi considerado inapropriado. Para restaurar sua conta, insira um novo nome de usuário. Entre em contato conosco se você tiver alguma dúvida." + changed_name: + msg: "Your username change is under review by our moderation team." my_comments: "Meus comentários" my_profile: "Meu perfil" new_count: "Ver {0} {1}" @@ -237,6 +273,24 @@ pt_BR: loading_results: "Carregando resultados" marketing: "Isso parece um anúncio/marketing" moderate_this_stream: "Moderar comentários" + flags: + reasons: + user: + username_offensive: "Offensive" + username_nolike: "Dislike" + username_impersonating: "Impersonation" + username_spam: "Spam" + username_other: "Other" + comment: + comment_offensive: "Offensive" + comment_spam: "Spam" + comment_noagree: "Disagree" + comment_other: "Other" + suspect_word: "Suspect Word" + banned_word: "Banned Word" + body_count: "Body exceeds max length" + trust: "Trust" + links: "Link" modqueue: account: "contas marcadas" actions: Ações @@ -265,20 +319,22 @@ pt_BR: newest_first: "Mais novos primeiro" navigation: Navegação next_comment: "Vá para o próximo comentário" - offensive: Ofensiva + toggle_search: "Open search" + next_queue: "Switch queues" oldest_first: "Mais velhos primeiro" - other: Outro premod: pré-moderação prev_comment: "Vá para o comentário anterior" reject: "Rejeitar" rejected: "Rejeitado" + reply: "Reply" select_stream: "Selecione a lista" shift_key: "⇧" shortcuts: "Atalhos" + sort: "Sort" show_shortcuts: "Ver atalhos" singleview: "Modo zen" - spam_ads: Spam/Anuncios thismenu: "Abra este menu" + jump_to_queue: "Jump to specific queue" thousand: k try_these: "Tente este" view_more_shortcuts: "Ver mais atalhos" @@ -287,6 +343,7 @@ pt_BR: no_agree_comment: "Eu não concordo com este comentário" no_like_bio: "Eu não gosto dessa descrição de perfil" no_like_username: "Eu não gosto deste nome de usuário" + already_flagged_username: "You have already flagged this username." other: Outro permalink: Compartilhar personal_info: "Este comentário revela informações de identificação pessoal" @@ -310,6 +367,8 @@ pt_BR: all_comments: "Todos os comentários" temporarily_suspended: "De acordo com as diretrizes da comunidade de {0}, sua conta foi temporariamente suspensa. Por favor, volte para a conversa {1}." comment_not_found: "Este comentário foi removido ou não existe." + no_comments: "There are no comments yet, why don’t you write one?" + no_comments_and_closed: "There were no comments on this article." step_1_header: "Relatar um problema" step_2_header: "Ajude-nos a entender" step_3_header: "Obrigdo por sua contribuição" @@ -359,6 +418,19 @@ pt_BR: bio_flags: "Marcadas para este perfil" user_bio: "Perfil do usuário" username_flags: "Marcadas para este usuário" + user_detail: + remove_suspension: "Remove Suspension" + suspend: "Suspend User" + remove_ban: "Remove Ban" + ban: "Ban User" + member_since: "Member Since" + email: "Email" + total_comments: "Total Comments" + reject_rate: "Reject Rate" + reports: "Reports" + all: "All" + rejected: "Rejected" + account_history: "Account History" user_impersonating: "Este usuário está representando" user_no_comment: "Você nunca deixou um comentário. Participe da conversa!" username_offensive: "Esse nome de usuário é ofensivo" @@ -385,3 +457,6 @@ pt_BR: description: "Obrigado por instalar o Talk! Enviamos um e-mail para verificar seu endereço de e-mail. Enquanto você terminar de configurar a conta, você pode começar a se envolver com seus leitores agora." launch: "Iniciar Talk" close: "Feche este instalador" + admin_sidebar: + view_options: "View Options" + sort_comments: "Sort Comments" diff --git a/locales/zh_CN.yml b/locales/zh_CN.yml index b13343fcf..83f9cb7c2 100644 --- a/locales/zh_CN.yml +++ b/locales/zh_CN.yml @@ -12,8 +12,22 @@ zh_CN: note_reject_comment: "封禁该用户将使这条评论被移入“被拒”队列。" note_ban_user: "封禁该用户将使其无法编辑或删除评论。" yes_ban_user: "是的,封禁该用户" + write_a_message: "Write a message" + send: "Send" + notify_ban_headline: "Notify the user of ban" + notify_ban_description: "This will notify the user by email that they have been banned from the community" + email_message_ban: "Dear {0},\n\nSomeone with access to your account has violated our community guidelines. As a result, your account has been banned. You will no longer be able to comment, like or report comments. if you think this has been done in error, please contact our community team." bio_offensive: "该简介含有冒犯言语" cancel: "取消" + confirm_email: + click_to_confirm: "Click below to confirm your email address" + confirm: "Confirm" + password_reset: + set_new_password: "Change Your Password" + new_password: "New Password" + new_password_help: "Password must be at least 8 characters" + confirm_new_password: "Confirm New Password" + change_password: "Change Password" characters_remaining: "字符剩余可用" comment: anon: "匿名" @@ -47,6 +61,11 @@ zh_CN: reaction: '回应' reactions: '回应' story: '文章' + flagged_usernames: + notify_approved: '{0} approved username {1}' + notify_rejected: '{0} rejected username {1}' + notify_flagged: '{0} reported username {1}' + notify_changed: 'user {0} changed their username to {1}' community: account_creation_date: "账户创建日期" active: "活动中" @@ -184,6 +203,9 @@ zh_CN: embedlink: copy: "复制到粘贴板" error: + COMMENT_PARENT_NOT_VISIBLE: "The comment that you're replying to has been removed or doesn't exist." + EMAIL_VERIFICATION_TOKEN_INVALID: "Email verification token is invalid." + PASSWORD_RESET_TOKEN_INVALID: "Your password reset link is invalid." COMMENT_TOO_SHORT: "评论至少应有一个字符。请修改您的评论,再度尝试。" NOT_AUTHORIZED: "您没有权限进行该操作" NO_SPECIAL_CHARACTERS: "用户名只能包含字母、数字跟下划线" @@ -214,6 +236,7 @@ zh_CN: password: "密码长度须至少为 8 字符" username: "用户名只能包含字母、数字跟下划线" unexpected: "发生了异常错误。对不起!" + temporarily_suspended: "Your account is currently suspended. It will be reactivated {0}. Please contact us if you have any questions." flag_comment: "举报评论" flag_reason: "举报理由(可选)" flag_username: "举报用户名" @@ -232,6 +255,8 @@ zh_CN: error: "用户名只能包含字母、数字跟下划线" label: "新用户名" msg: "由于您的用户名不当,您的帐号目前被暂停使用。如要恢复您的帐户,请输入一个新的用户名。如有任何疑问,请与我们联系。" + changed_name: + msg: "Your username change is under review by our moderation team." my_comments: "我的评论" my_profile: "我的资料" new_count: "查看 {0} 更多 {1}" @@ -249,6 +274,24 @@ zh_CN: loading_results: "加载结果中" marketing: "这看起来像是广告" moderate_this_stream: "审查该流" + flags: + reasons: + user: + username_offensive: "Offensive" + username_nolike: "Dislike" + username_impersonating: "Impersonation" + username_spam: "Spam" + username_other: "Other" + comment: + comment_offensive: "Offensive" + comment_spam: "Spam" + comment_noagree: "Disagree" + comment_other: "Other" + suspect_word: "Suspect Word" + banned_word: "Banned Word" + body_count: "Body exceeds max length" + trust: "Trust" + links: "Link" modqueue: account: "帐户标记" actions: "操作" @@ -301,6 +344,7 @@ zh_CN: no_agree_comment: "我不同意该评论" no_like_bio: "我不喜欢这个简介" no_like_username: "我不喜欢这个用户名" + already_flagged_username: "You have already flagged this username." other: "其他" permalink: "分享" personal_info: "这个评论透露了可确定个人身份的信息" @@ -375,6 +419,19 @@ zh_CN: bio_flags: "对简介的举报" user_bio: "用户简介" username_flags: "对用户名的举报" + user_detail: + remove_suspension: "Remove Suspension" + suspend: "Suspend User" + remove_ban: "Remove Ban" + ban: "Ban User" + member_since: "Member Since" + email: "Email" + total_comments: "Total Comments" + reject_rate: "Reject Rate" + reports: "Reports" + all: "All" + rejected: "Rejected" + account_history: "Account History" user_impersonating: "冒名用户" user_no_comment: "您未曾发表评论。现在就来加入对话吧!" username_offensive: "用户名有冒犯性" @@ -401,3 +458,6 @@ zh_CN: description: "感谢您安装 Talk!我们已向您的邮箱发送一封验证邮件。当您进行帐号设置时,您可以开始跟您的读者开始互动。" launch: "启动 Talk" close: "关闭安装程序" + admin_sidebar: + view_options: "View Options" + sort_comments: "Sort Comments" diff --git a/locales/zh_TW.yml b/locales/zh_TW.yml index 8bcf50db5..d515f5c56 100644 --- a/locales/zh_TW.yml +++ b/locales/zh_TW.yml @@ -12,8 +12,22 @@ zh_TW: note_reject_comment: "封禁該用戶將使這條評論被移入“被拒”列表。" note_ban_user: "封禁該用戶將使其無法編輯或刪除評論。" yes_ban_user: "是的,封禁該用戶" + write_a_message: "Write a message" + send: "Send" + notify_ban_headline: "Notify the user of ban" + notify_ban_description: "This will notify the user by email that they have been banned from the community" + email_message_ban: "Dear {0},\n\nSomeone with access to your account has violated our community guidelines. As a result, your account has been banned. You will no longer be able to comment, like or report comments. if you think this has been done in error, please contact our community team." bio_offensive: "該介紹包含具有攻擊性的內容。" cancel: "取消" + confirm_email: + click_to_confirm: "Click below to confirm your email address" + confirm: "Confirm" + password_reset: + set_new_password: "Change Your Password" + new_password: "New Password" + new_password_help: "Password must be at least 8 characters" + confirm_new_password: "Confirm New Password" + change_password: "Change Password" characters_remaining: "剩餘字符數" comment: anon: "匿名用戶" @@ -47,6 +61,11 @@ zh_TW: reaction: '回應' reactions: '回應' story: '故事' + flagged_usernames: + notify_approved: '{0} approved username {1}' + notify_rejected: '{0} rejected username {1}' + notify_flagged: '{0} reported username {1}' + notify_changed: 'user {0} changed their username to {1}' community: account_creation_date: "賬戶創建日期" active: 激活 @@ -184,6 +203,9 @@ zh_TW: embedlink: copy: "覆制到剪貼板" error: + COMMENT_PARENT_NOT_VISIBLE: "The comment that you're replying to has been removed or doesn't exist." + EMAIL_VERIFICATION_TOKEN_INVALID: "Email verification token is invalid." + PASSWORD_RESET_TOKEN_INVALID: "Your password reset link is invalid." COMMENT_TOO_SHORT: "評論長度必須超過一個字符,請您修改評論後重試。" NOT_AUTHORIZED: "您無權執行該操作。" NO_SPECIAL_CHARACTERS: "用戶名只能包含字母、數字和下劃線" @@ -214,6 +236,7 @@ zh_TW: password: "密碼必須至少8個字符" username: "用戶名只能包含字母、數字和下劃線。" unexpected: "發生了意外錯誤。抱歉!" + temporarily_suspended: "Your account is currently suspended. It will be reactivated {0}. Please contact us if you have any questions." flag_comment: "舉報評論" flag_reason: "舉報原因(可選)" flag_username: "舉報用戶名" @@ -232,6 +255,8 @@ zh_TW: error: "用戶名只能包含字母、數字和下劃線。" label: "新用戶名" msg: "由於您的用戶名不當,您的帳號目前已被暫停使用。如要恢復您的帳戶,請輸入一個新的用戶名。如有任何疑問,請與我們聯繫。" + changed_name: + msg: "Your username change is under review by our moderation team." my_comments: "我的評論" my_profile: "我的概況" new_count: "查看{0}更多{1}" @@ -249,6 +274,24 @@ zh_TW: loading_results: "加載結果" marketing: "這看起來像是廣告/營銷" moderate_this_stream: "審核這個流" + flags: + reasons: + user: + username_offensive: "Offensive" + username_nolike: "Dislike" + username_impersonating: "Impersonation" + username_spam: "Spam" + username_other: "Other" + comment: + comment_offensive: "Offensive" + comment_spam: "Spam" + comment_noagree: "Disagree" + comment_other: "Other" + suspect_word: "Suspect Word" + banned_word: "Banned Word" + body_count: "Body exceeds max length" + trust: "Trust" + links: "Link" modqueue: account: "帳戶標記" actions: 操作 @@ -301,6 +344,7 @@ zh_TW: no_agree_comment: "我不同意這個評論" no_like_bio: "我不喜歡這個個人簡介" no_like_username: "我不喜歡這個用戶名" + already_flagged_username: "You have already flagged this username." other: 其他 permalink: 分享 personal_info: "該評論洩露了個人身份資訊" @@ -375,6 +419,19 @@ zh_TW: bio_flags: "該簡介的標記" user_bio: "用戶簡介" username_flags: "該用戶名的標記" + user_detail: + remove_suspension: "Remove Suspension" + suspend: "Suspend User" + remove_ban: "Remove Ban" + ban: "Ban User" + member_since: "Member Since" + email: "Email" + total_comments: "Total Comments" + reject_rate: "Reject Rate" + reports: "Reports" + all: "All" + rejected: "Rejected" + account_history: "Account History" user_impersonating: "此用戶正在冒充" user_no_comment: "您尚未評論過。加入對話吧!" username_offensive: "這個用戶名有冒犯性" @@ -401,3 +458,6 @@ zh_TW: description: "感謝安裝Talk!我們給您發送了一封郵件以驗證您的電子郵箱地址。在完成帳戶設置後,您即可開始與您的讀者互動。" launch: "啟動Talk" close: "關閉安裝程序" + admin_sidebar: + view_options: "View Options" + sort_comments: "Sort Comments" diff --git a/plugins/talk-plugin-akismet/client/translations.yml b/plugins/talk-plugin-akismet/client/translations.yml index af7217831..0d9b30a3e 100644 --- a/plugins/talk-plugin-akismet/client/translations.yml +++ b/plugins/talk-plugin-akismet/client/translations.yml @@ -1,3 +1,18 @@ +da: + error: + COMMENT_IS_SPAM: | + The language in this comment looks like spam. You can + edit the comment or submit it anyway for moderator review. + talk-plugin-akismet: + spam: "Spam" + spam_comment: "Spam" + detected: "Detected by Akismet" + still_spam: | + Thank you. Our moderation team will review your comment shortly. + flags: + reasons: + comment: + spam_comment: "Detected Spam" en: error: COMMENT_IS_SPAM: | @@ -12,4 +27,94 @@ en: flags: reasons: comment: - spam_comment: "Detected Spam" \ No newline at end of file + spam_comment: "Detected Spam" +es: + error: + COMMENT_IS_SPAM: | + The language in this comment looks like spam. You can + edit the comment or submit it anyway for moderator review. + talk-plugin-akismet: + spam: "Spam" + spam_comment: "Spam" + detected: "Detected by Akismet" + still_spam: | + Thank you. Our moderation team will review your comment shortly. + flags: + reasons: + comment: + spam_comment: "Detected Spam" +fr: + error: + COMMENT_IS_SPAM: | + The language in this comment looks like spam. You can + edit the comment or submit it anyway for moderator review. + talk-plugin-akismet: + spam: "Spam" + spam_comment: "Spam" + detected: "Detected by Akismet" + still_spam: | + Thank you. Our moderation team will review your comment shortly. + flags: + reasons: + comment: + spam_comment: "Detected Spam" +nl_NL: + error: + COMMENT_IS_SPAM: | + The language in this comment looks like spam. You can + edit the comment or submit it anyway for moderator review. + talk-plugin-akismet: + spam: "Spam" + spam_comment: "Spam" + detected: "Detected by Akismet" + still_spam: | + Thank you. Our moderation team will review your comment shortly. + flags: + reasons: + comment: + spam_comment: "Detected Spam" +pt_BR: + error: + COMMENT_IS_SPAM: | + The language in this comment looks like spam. You can + edit the comment or submit it anyway for moderator review. + talk-plugin-akismet: + spam: "Spam" + spam_comment: "Spam" + detected: "Detected by Akismet" + still_spam: | + Thank you. Our moderation team will review your comment shortly. + flags: + reasons: + comment: + spam_comment: "Detected Spam" +zh_CN: + error: + COMMENT_IS_SPAM: | + The language in this comment looks like spam. You can + edit the comment or submit it anyway for moderator review. + talk-plugin-akismet: + spam: "Spam" + spam_comment: "Spam" + detected: "Detected by Akismet" + still_spam: | + Thank you. Our moderation team will review your comment shortly. + flags: + reasons: + comment: + spam_comment: "Detected Spam" +zh_TW: + error: + COMMENT_IS_SPAM: | + The language in this comment looks like spam. You can + edit the comment or submit it anyway for moderator review. + talk-plugin-akismet: + spam: "Spam" + spam_comment: "Spam" + detected: "Detected by Akismet" + still_spam: | + Thank you. Our moderation team will review your comment shortly. + flags: + reasons: + comment: + spam_comment: "Detected Spam" diff --git a/plugins/talk-plugin-auth/client/translations.yml b/plugins/talk-plugin-auth/client/translations.yml index cdc34688d..92f7b96ec 100644 --- a/plugins/talk-plugin-auth/client/translations.yml +++ b/plugins/talk-plugin-auth/client/translations.yml @@ -1,3 +1,47 @@ +da: + sign_in: + email_verify_cta: "Please verify your email address." + request_new_verify_email: "Request another email" + verify_email: "Thank you for creating an account! We sent an email to the address you provided to verify your account." + verify_email2: "You must verify your account before engaging with the community." + not_you: "Not you?" + logged_in_as: "Signed in as" + facebook_sign_in: "Sign in with Facebook" + facebook_sign_up: "Sign up with Facebook" + logout: "Sign out" + sign_in: "Sign in" + sign_in_to_join: "Sign in to join the conversation" + or: "Or" + email: "E-mail Address" + password: "Password" + forgot_your_pass: "Forgot your password?" + need_an_account: "Need an account?" + register: "Register" + sign_up: "Sign Up" + confirm_password: "Confirm Password" + username: "Username" + already_have_an_account: "Already have an account?" + recover_password: "Recover password" + email_in_use: "Email address already in use" + email_or_username_in_use: "Email address or Username already in use" + required_field: "This field is required" + passwords_dont_match: "Passwords don't match." + special_characters: "Usernames can contain letters, numbers and _ only" + sign_in_to_comment: "Sign in to comment" + check_the_form: "Invalid Form. Please, check the fields" + createdisplay: + check_the_form: "Invalid Form. Please check the fields" + continue: "Continue with the same Facebook username" + error_create: "Error when changing username" + fake_comment_body: "This is an example comment. Readers can share their thoughts and opinions with newsrooms in the comments section." + fake_comment_date: "1 minute ago" + if_you_dont_change_your_name: "If you don't change your username at this step your Facebook display name will appear alongside of all your comments." + required_field: "Required field" + save: Save + special_characters: "Usernames can contain letters numbers and _ only" + username: Username + write_your_username: "Edit your username" + your_username: "Your username appears on every comment you post." en: sign_in: email_verify_cta: "Please verify your email address." @@ -42,6 +86,50 @@ en: username: Username write_your_username: "Edit your username" your_username: "Your username appears on every comment you post." +de: + sign_in: + email_verify_cta: "Bitte bestätigen Sie Ihre E-Mail-Adresse." + request_new_verify_email: "E-Mail-Bestätigung erneut anfordern" + verify_email: "Danke, dass Sie ein Konto eingerichtet haben! Wir haben eine Nachricht an Ihre E-Mail-Adresse geschickt, mit der Sie Ihr Konto bestätigen können." + verify_email2: "Sie müssen ihr Konto bestätigen, bevor Sie beginnen können." + not_you: "Nicht Ihr Name?" + logged_in_as: "Angemeldet als" + facebook_sign_in: "Mit Facebook anmelden" + facebook_sign_up: "Mit Facebook registrieren" + logout: "Abmelden" + sign_in: "Anmelden" + sign_in_to_join: "Anmelden, um zu diskutieren" + or: "Oder" + email: "E-Mail-Adresse" + password: "Passwort" + forgot_your_pass: "Passwort vergessen?" + need_an_account: "Brauchen Sie ein Konto?" + register: "Registrieren" + sign_up: "Registrieren" + confirm_password: "Passwort bestätigen" + username: "Nutzername" + already_have_an_account: "Konto bereits vorhanden?" + recover_password: "Passwort zurücksetzen" + email_in_use: "E-Mail-Adresse bereits vergeben" + email_or_username_in_use: "E-Mail-Adresse oder Nutzername bereits vergeben" + required_field: "Pflichtfeld" + passwords_dont_match: "Passwörter nicht identisch." + special_characters: "Nutzernamen dürfen nur Buchstaben, Zahlen und _ enthalten" + sign_in_to_comment: "Zum Kommentieren anmelden" + check_the_form: "Ungültige Eingabe. Bitte prüfen Sie Ihre Felder" + createdisplay: + check_the_form: "Ungültige Eingabe. Bitte prüfen Sie Ihre Felder" + continue: "Mit diesem Facebook-Profilnamen fortfahren" + error_create: "Fehler bei Änderung des Nutzernamens" + fake_comment_body: "Dies ist ein Beispiel-Kommentar. Leser können im Kommentarbereich Meinungen und Gedanken mit der Redaktion austauschen." + fake_comment_date: "Vor 1 Minute" + if_you_dont_change_your_name: "Wenn Sie Ihren Nutzernamen an diesem Punkt nicht ändern, wird Ihr Facebook-Name mit Ihren Kommentaren angezeigt." + required_field: "Pflichtfeld" + save: Speichern + special_characters: "Nutzernamen dürfen nur Buchstaben, Zahlen und _ enthalten" + username: Nutzername + write_your_username: "Nutzername bearbeiten" + your_username: "Ihr Nutzername erscheint an jedem Ihrer veröffentlichten Kommentare." es: sign_in: email_verify_cta: "Por favor confirme su correo." @@ -133,6 +221,94 @@ fr: username: "Nom d'utilisateur" write_your_username: "Modifier votre nom d'utilisateur" your_username: "Votre nom d'utilisateur apparaît sur chaque commentaire que vous publiez." +nl_NL: + sign_in: + email_verify_cta: "Please verify your email address." + request_new_verify_email: "Request another email" + verify_email: "Thank you for creating an account! We sent an email to the address you provided to verify your account." + verify_email2: "You must verify your account before engaging with the community." + not_you: "Not you?" + logged_in_as: "Signed in as" + facebook_sign_in: "Sign in with Facebook" + facebook_sign_up: "Sign up with Facebook" + logout: "Sign out" + sign_in: "Sign in" + sign_in_to_join: "Sign in to join the conversation" + or: "Or" + email: "E-mail Address" + password: "Password" + forgot_your_pass: "Forgot your password?" + need_an_account: "Need an account?" + register: "Register" + sign_up: "Sign Up" + confirm_password: "Confirm Password" + username: "Username" + already_have_an_account: "Already have an account?" + recover_password: "Recover password" + email_in_use: "Email address already in use" + email_or_username_in_use: "Email address or Username already in use" + required_field: "This field is required" + passwords_dont_match: "Passwords don't match." + special_characters: "Usernames can contain letters, numbers and _ only" + sign_in_to_comment: "Sign in to comment" + check_the_form: "Invalid Form. Please, check the fields" + createdisplay: + check_the_form: "Invalid Form. Please check the fields" + continue: "Continue with the same Facebook username" + error_create: "Error when changing username" + fake_comment_body: "This is an example comment. Readers can share their thoughts and opinions with newsrooms in the comments section." + fake_comment_date: "1 minute ago" + if_you_dont_change_your_name: "If you don't change your username at this step your Facebook display name will appear alongside of all your comments." + required_field: "Required field" + save: Save + special_characters: "Usernames can contain letters numbers and _ only" + username: Username + write_your_username: "Edit your username" + your_username: "Your username appears on every comment you post." +pt_BR: + sign_in: + email_verify_cta: "Please verify your email address." + request_new_verify_email: "Request another email" + verify_email: "Thank you for creating an account! We sent an email to the address you provided to verify your account." + verify_email2: "You must verify your account before engaging with the community." + not_you: "Not you?" + logged_in_as: "Signed in as" + facebook_sign_in: "Sign in with Facebook" + facebook_sign_up: "Sign up with Facebook" + logout: "Sign out" + sign_in: "Sign in" + sign_in_to_join: "Sign in to join the conversation" + or: "Or" + email: "E-mail Address" + password: "Password" + forgot_your_pass: "Forgot your password?" + need_an_account: "Need an account?" + register: "Register" + sign_up: "Sign Up" + confirm_password: "Confirm Password" + username: "Username" + already_have_an_account: "Already have an account?" + recover_password: "Recover password" + email_in_use: "Email address already in use" + email_or_username_in_use: "Email address or Username already in use" + required_field: "This field is required" + passwords_dont_match: "Passwords don't match." + special_characters: "Usernames can contain letters, numbers and _ only" + sign_in_to_comment: "Sign in to comment" + check_the_form: "Invalid Form. Please, check the fields" + createdisplay: + check_the_form: "Invalid Form. Please check the fields" + continue: "Continue with the same Facebook username" + error_create: "Error when changing username" + fake_comment_body: "This is an example comment. Readers can share their thoughts and opinions with newsrooms in the comments section." + fake_comment_date: "1 minute ago" + if_you_dont_change_your_name: "If you don't change your username at this step your Facebook display name will appear alongside of all your comments." + required_field: "Required field" + save: Save + special_characters: "Usernames can contain letters numbers and _ only" + username: Username + write_your_username: "Edit your username" + your_username: "Your username appears on every comment you post." zh_CN: sign_in: email_verify_cta: "请确认您的邮箱地址。" diff --git a/plugins/talk-plugin-author-menu/client/translations.yml b/plugins/talk-plugin-author-menu/client/translations.yml index f0e750842..34f270d50 100644 --- a/plugins/talk-plugin-author-menu/client/translations.yml +++ b/plugins/talk-plugin-author-menu/client/translations.yml @@ -1,6 +1,18 @@ +da: + talk-plugin-author-menu: en: talk-plugin-author-menu: +de: + talk-plugin-author-menu: es: talk-plugin-author-menu: +fr: + talk-plugin-author-menu: +nl_NL: + talk-plugin-author-menu: +pt_BR: + talk-plugin-author-menu: zh_CN: talk-plugin-author-menu: +zh_TW: + talk-plugin-author-menu: diff --git a/plugins/talk-plugin-featured-comments/client/translations.yml b/plugins/talk-plugin-featured-comments/client/translations.yml index 657875815..553f218c1 100644 --- a/plugins/talk-plugin-featured-comments/client/translations.yml +++ b/plugins/talk-plugin-featured-comments/client/translations.yml @@ -1,3 +1,18 @@ +da: + talk-plugin-featured-comments: + un_feature: Un-Feature + feature: Feature + featured: Featured + featured_comments: Featured Comments + go_to_conversation: Go to conversation + tooltip_description: Comments selected by our team as worth reading + notify_self_featured: 'The comment from {0} is now featured and approved' + notify_featured: '{0} featured and approved comment "{1}"' + notify_unfeatured: '{0} unfeatured comment "{1}"' + feature_comment: Feature comment? + are_you_sure: Are you sure you would like to feature this comment? + cancel: Cancel + yes_feature_comment: Yes, feature comment en: talk-plugin-featured-comments: un_feature: Un-Feature @@ -13,6 +28,21 @@ en: are_you_sure: Are you sure you would like to feature this comment? cancel: Cancel yes_feature_comment: Yes, feature comment +de: + talk-plugin-featured-comments: + un_feature: Empfehlung aufheben + feature: Empfehlen + featured: Empfohlen + featured_comments: Empfohlene Kommentare + go_to_conversation: Gehe zur Diskussion + tooltip_description: Von unserem Team als lesenswert ausgewählte Kommentare + notify_self_featured: 'Der Kommentar von {0} ist nun empfohlen und freigegeben' + notify_featured: '{0} hat Kommentar "{1}" empfohlen und freigegeben' + notify_unfeatured: '{0} hat die Empfehlung von "{1}" aufgehoben' + feature_comment: Kommentar empfehlen? + are_you_sure: Sind Sie sicher, dass Sie diesen Kommentar empfehlen möchten? + cancel: Abbrechen + yes_feature_comment: Ja, empfehlen es: talk-plugin-featured-comments: un_feature: Desmarcar @@ -25,6 +55,51 @@ es: are_you_sure: Está seguro que desea destacar este comentario? cancel: Cancelar yes_feature_comment: Si, destacar comentario +fr: + talk-plugin-featured-comments: + un_feature: Un-Feature + feature: Feature + featured: Featured + featured_comments: Featured Comments + go_to_conversation: Go to conversation + tooltip_description: Comments selected by our team as worth reading + notify_self_featured: 'The comment from {0} is now featured and approved' + notify_featured: '{0} featured and approved comment "{1}"' + notify_unfeatured: '{0} unfeatured comment "{1}"' + feature_comment: Feature comment? + are_you_sure: Are you sure you would like to feature this comment? + cancel: Cancel + yes_feature_comment: Yes, feature comment +nl_NL: + talk-plugin-featured-comments: + un_feature: Un-Feature + feature: Feature + featured: Featured + featured_comments: Featured Comments + go_to_conversation: Go to conversation + tooltip_description: Comments selected by our team as worth reading + notify_self_featured: 'The comment from {0} is now featured and approved' + notify_featured: '{0} featured and approved comment "{1}"' + notify_unfeatured: '{0} unfeatured comment "{1}"' + feature_comment: Feature comment? + are_you_sure: Are you sure you would like to feature this comment? + cancel: Cancel + yes_feature_comment: Yes, feature comment +pt_BR: + talk-plugin-featured-comments: + un_feature: Un-Feature + feature: Feature + featured: Featured + featured_comments: Featured Comments + go_to_conversation: Go to conversation + tooltip_description: Comments selected by our team as worth reading + notify_self_featured: 'The comment from {0} is now featured and approved' + notify_featured: '{0} featured and approved comment "{1}"' + notify_unfeatured: '{0} unfeatured comment "{1}"' + feature_comment: Feature comment? + are_you_sure: Are you sure you would like to feature this comment? + cancel: Cancel + yes_feature_comment: Yes, feature comment zh_CN: talk-plugin-featured-comments: un_feature: "取消精选" @@ -54,4 +129,4 @@ zh_TW: feature_comment: "設置為精選評論?" are_you_sure: "您確定要將這個評論設置為精選評論?" cancel: "取消" - yes_feature_comment: "確認精選" \ No newline at end of file + yes_feature_comment: "確認精選" diff --git a/plugins/talk-plugin-flag-details/client/translations.yml b/plugins/talk-plugin-flag-details/client/translations.yml index df7a14fe9..7346fdf79 100644 --- a/plugins/talk-plugin-flag-details/client/translations.yml +++ b/plugins/talk-plugin-flag-details/client/translations.yml @@ -1,9 +1,24 @@ +da: + talk-plugin-flag-details: + flags: Reports en: talk-plugin-flag-details: flags: Reports +de: + talk-plugin-flag-details: + flags: Markierungen es: talk-plugin-flag-details: flags: Reportes +fr: + talk-plugin-flag-details: + flags: Reports +nl_NL: + talk-plugin-flag-details: + flags: Reports +pt_BR: + talk-plugin-flag-details: + flags: Reports zh_CN: talk-plugin-flag-details: flags: "报告" diff --git a/plugins/talk-plugin-ignore-user/client/translations.yml b/plugins/talk-plugin-ignore-user/client/translations.yml index 4dc5968f2..2d4c2ebdd 100644 --- a/plugins/talk-plugin-ignore-user/client/translations.yml +++ b/plugins/talk-plugin-ignore-user/client/translations.yml @@ -1,3 +1,16 @@ +da: + talk-plugin-ignore-user: + section_title: Ignored users + section_info: Because you ignored the following commenters, their comments are hidden. + stop_ignoring: Stop ignoring + ignore_user: Ignore User + cancel: Cancel + confirmation: | + When you ignore a user, all comments they wrote on the site will be hidden from you. You can + undo this later from My Profile. + notify_success: | + You are now ignoring {0}. You can undo this action from My Profile. + confirmation_title: Ignore {0}? en: talk-plugin-ignore-user: section_title: Ignored users @@ -11,18 +24,68 @@ en: notify_success: | You are now ignoring {0}. You can undo this action from My Profile. confirmation_title: Ignore {0}? +de: + talk-plugin-ignore-user: + section_title: Ignorierte Nutzer + section_info: Weil Sie die folgenden Nutzer ignorieren, sind deren Kommentare versteckt. + stop_ignoring: Ignorieren beenden + ignore_user: Nutzer ignorieren + cancel: Abbrechen + confirmation: Wenn Sie Nutzer ignorieren, werden deren Kommentare auf der Seite für Sie unsichtbar. Diese Einstellung können Sie unter Mein Profil ändern. + notify_success: Sie ignorieren jetzt {0}. Sie können diese Einstellung unter Mein Profil wieder aufheben. + confirmation_title: "{0} ignorieren?" es: talk-plugin-ignore-user: section_title: "Usuarios ignorados" + section_info: Because you ignored the following commenters, their comments are hidden. stop_ignoring: "No ignorar más" + ignore_user: Ignore User + cancel: Cancel + confirmation: | + When you ignore a user, all comments they wrote on the site will be hidden from you. You can + undo this later from My Profile. + notify_success: | + You are now ignoring {0}. You can undo this action from My Profile. + confirmation_title: Ignore {0}? fr: talk-plugin-ignore-user: section_title: "Utilisateurs ignorés" -pt_Br: + section_info: Because you ignored the following commenters, their comments are hidden. + stop_ignoring: Stop ignoring + ignore_user: Ignore User + cancel: Cancel + confirmation: | + When you ignore a user, all comments they wrote on the site will be hidden from you. You can + undo this later from My Profile. + notify_success: | + You are now ignoring {0}. You can undo this action from My Profile. + confirmation_title: Ignore {0}? +nl_NL: + talk-plugin-ignore-user: + section_title: Ignored users + section_info: Because you ignored the following commenters, their comments are hidden. + stop_ignoring: Stop ignoring + ignore_user: Ignore User + cancel: Cancel + confirmation: | + When you ignore a user, all comments they wrote on the site will be hidden from you. You can + undo this later from My Profile. + notify_success: | + You are now ignoring {0}. You can undo this action from My Profile. + confirmation_title: Ignore {0}? +pt_BR: talk-plugin-ignore-user: section_title: "Usuários ignorados" section_info: "Porque você ignorou os seguintes comentadores, seus comentários estão ocultos." stop_ignoring: "Pare de ignorar" + ignore_user: Ignore User + cancel: Cancel + confirmation: | + When you ignore a user, all comments they wrote on the site will be hidden from you. You can + undo this later from My Profile. + notify_success: | + You are now ignoring {0}. You can undo this action from My Profile. + confirmation_title: Ignore {0}? zh_CN: talk-plugin-ignore-user: section_title: "被忽略用户" @@ -44,4 +107,4 @@ zh_TW: 當您屏蔽一個用戶,系統將對您隱藏所有他們在本站得評論。您稍後可以在個人檔案中撤銷這個操作。 notify_success: | 您將屏蔽 {0}。 您可以在個人檔案中撤銷該操作。 - confirmation_title: 屏蔽 {0}? \ No newline at end of file + confirmation_title: 屏蔽 {0}? diff --git a/plugins/talk-plugin-like/client/translations.yml b/plugins/talk-plugin-like/client/translations.yml index 9daeb22cb..5f44db4c7 100644 --- a/plugins/talk-plugin-like/client/translations.yml +++ b/plugins/talk-plugin-like/client/translations.yml @@ -1,11 +1,31 @@ +da: + talk-plugin-like: + like: Like + liked: Liked en: talk-plugin-like: like: Like liked: Liked +de: + talk-plugin-like: + like: Gefällt mir + liked: Gefällt mir es: talk-plugin-like: like: Me Gusta liked: Me Gustó +fr: + talk-plugin-like: + like: Like + liked: Liked +nl_NL: + talk-plugin-like: + like: Like + liked: Liked +pt_BR: + talk-plugin-like: + like: Like + liked: Liked zh_CN: talk-plugin-like: like: "喜欢" diff --git a/plugins/talk-plugin-love/client/translations.yml b/plugins/talk-plugin-love/client/translations.yml index e234bef79..eef4d68b1 100644 --- a/plugins/talk-plugin-love/client/translations.yml +++ b/plugins/talk-plugin-love/client/translations.yml @@ -1,11 +1,31 @@ +da: + talk-plugin-love: + love: Love + loved: Loved en: talk-plugin-love: love: Love loved: Loved +de: + talk-plugin-love: + love: Ich liebe es + loved: Ich liebe es es: talk-plugin-love: love: Amo loved: Amé +fr: + talk-plugin-love: + love: Love + loved: Loved +nl_NL: + talk-plugin-love: + love: Love + loved: Loved +pt_BR: + talk-plugin-love: + love: Love + loved: Loved zh_CN: talk-plugin-love: love: " 比心" diff --git a/plugins/talk-plugin-member-since/client/translations.yml b/plugins/talk-plugin-member-since/client/translations.yml index 364655bed..87a8dab6a 100644 --- a/plugins/talk-plugin-member-since/client/translations.yml +++ b/plugins/talk-plugin-member-since/client/translations.yml @@ -1,12 +1,27 @@ +da: + talk-plugin-member-since: + member_since: "Member Since" en: talk-plugin-member-since: member_since: "Member Since" +de: + talk-plugin-member-since: + member_since: "Mitglied seit" es: talk-plugin-member-since: member_since: "Miembro desde" +fr: + talk-plugin-member-since: + member_since: "Member Since" +nl_NL: + talk-plugin-member-since: + member_since: "Member Since" +pt_BR: + talk-plugin-member-since: + member_since: "Member Since" zh_CN: talk-plugin-member-since: member_since: "成员加入日期" zh_TW: talk-plugin-member-since: - member_since: "入會日期" \ No newline at end of file + member_since: "入會日期" diff --git a/plugins/talk-plugin-moderation-actions/client/translations.yml b/plugins/talk-plugin-moderation-actions/client/translations.yml index 7c352e9a1..ce3b9ead3 100644 --- a/plugins/talk-plugin-moderation-actions/client/translations.yml +++ b/plugins/talk-plugin-moderation-actions/client/translations.yml @@ -1,3 +1,27 @@ +da: + talk-plugin-moderation-actions: + reject_comment: "Reject" + approve_comment: "Approve" + approved_comment: "Approved" + moderation_actions: "Moderation Actions" + ban_user: "Ban User" + ban_user_dialog_sub: "Are you sure you would like to ban this user?" + ban_user_dialog_copy: "Note: Banning this user will also place this comment in the Rejected queue." + ban_user_dialog_cancel: "Cancel" + ban_user_dialog_yes: "Yes. Ban user" + ban_user_dialog_headline: "Ban User?" +de: + talk-plugin-moderation-actions: + reject_comment: "Ablehnen" + approve_comment: "Freigeben" + approved_comment: "Freigegeben" + moderation_actions: "Moderations-Aktionen" + ban_user: "Nutzer sperren" + ban_user_dialog_sub: "Sind Sie sicher, dass Sie diesen Nutzer dauerhaft sperren möchten?" + ban_user_dialog_copy: "Hinweis: Wenn Sie diesen Nutzer sperren, wird außerdem dieser Kommentar in die Abgelehnt-Liste verschoben." + ban_user_dialog_cancel: "Abbrechen" + ban_user_dialog_yes: "Ja, Nutzer sperren" + ban_user_dialog_headline: "Nutzer sperren?" en: talk-plugin-moderation-actions: reject_comment: "Reject" @@ -10,7 +34,6 @@ en: ban_user_dialog_cancel: "Cancel" ban_user_dialog_yes: "Yes. Ban user" ban_user_dialog_headline: "Ban User?" - es: talk-plugin-moderation-actions: reject_comment: "Rechazar" @@ -23,6 +46,42 @@ es: ban_user_dialog_cancel: "Cancelar" ban_user_dialog_yes: "Si. Banear usuario" ban_user_dialog_headline: "Banear Usuario?" +fr: + talk-plugin-moderation-actions: + reject_comment: "Reject" + approve_comment: "Approve" + approved_comment: "Approved" + moderation_actions: "Moderation Actions" + ban_user: "Ban User" + ban_user_dialog_sub: "Are you sure you would like to ban this user?" + ban_user_dialog_copy: "Note: Banning this user will also place this comment in the Rejected queue." + ban_user_dialog_cancel: "Cancel" + ban_user_dialog_yes: "Yes. Ban user" + ban_user_dialog_headline: "Ban User?" +nl_NL: + talk-plugin-moderation-actions: + reject_comment: "Reject" + approve_comment: "Approve" + approved_comment: "Approved" + moderation_actions: "Moderation Actions" + ban_user: "Ban User" + ban_user_dialog_sub: "Are you sure you would like to ban this user?" + ban_user_dialog_copy: "Note: Banning this user will also place this comment in the Rejected queue." + ban_user_dialog_cancel: "Cancel" + ban_user_dialog_yes: "Yes. Ban user" + ban_user_dialog_headline: "Ban User?" +pt_BR: + talk-plugin-moderation-actions: + reject_comment: "Reject" + approve_comment: "Approve" + approved_comment: "Approved" + moderation_actions: "Moderation Actions" + ban_user: "Ban User" + ban_user_dialog_sub: "Are you sure you would like to ban this user?" + ban_user_dialog_copy: "Note: Banning this user will also place this comment in the Rejected queue." + ban_user_dialog_cancel: "Cancel" + ban_user_dialog_yes: "Yes. Ban user" + ban_user_dialog_headline: "Ban User?" zh_CN: talk-plugin-moderation-actions: reject_comment: "拒绝" @@ -46,4 +105,4 @@ zh_TW: ban_user_dialog_copy: "注意: 禁止該用戶會同時將這條評論加入拒絕隊列。" ban_user_dialog_cancel: "取消" ban_user_dialog_yes: "是的。禁止用戶" - ban_user_dialog_headline: "禁止該用戶?" \ No newline at end of file + ban_user_dialog_headline: "禁止該用戶?" diff --git a/plugins/talk-plugin-offtopic/client/translations.json b/plugins/talk-plugin-offtopic/client/translations.json index 1d8d8afde..a7050c1fe 100644 --- a/plugins/talk-plugin-offtopic/client/translations.json +++ b/plugins/talk-plugin-offtopic/client/translations.json @@ -1,12 +1,32 @@ { + "da": { + "off_topic": "Off Topic", + "hide_off_topic": "Hide Off-Topic Comments" + }, "en": { "off_topic": "Off Topic", "hide_off_topic": "Hide Off-Topic Comments" }, + "de": { + "off_topic": "Off-Topic", + "hide_off_topic": "Off-Topic-Kommentare verbergen" + }, "es": { "off_topic": "Fuera de Tópico", "hide_off_topic": "Hide Off-Topic Comments" }, + "fr": { + "off_topic": "Off Topic", + "hide_off_topic": "Hide Off-Topic Comments" + }, + "nl_NL": { + "off_topic": "Off Topic", + "hide_off_topic": "Hide Off-Topic Comments" + }, + "pt_BR": { + "off_topic": "Off Topic", + "hide_off_topic": "Hide Off-Topic Comments" + }, "zh_CN": { "off_topic": "无关主题", "hide_off_topic": "隐藏与主题无关评论" diff --git a/plugins/talk-plugin-respect/client/translations.yml b/plugins/talk-plugin-respect/client/translations.yml index 2ee208da0..f4416b0c7 100644 --- a/plugins/talk-plugin-respect/client/translations.yml +++ b/plugins/talk-plugin-respect/client/translations.yml @@ -1,11 +1,31 @@ +da: + talk-plugin-respect: + respect: Respect + respected: Respected en: talk-plugin-respect: respect: Respect respected: Respected +de: + talk-plugin-respect: + respect: Respekt + respected: Respektiert es: talk-plugin-respect: respect: Respetar respected: Respetado +fr: + talk-plugin-respect: + respect: Respect + respected: Respected +nl_NL: + talk-plugin-respect: + respect: Respect + respected: Respected +pt_BR: + talk-plugin-respect: + respect: Respect + respected: Respected zh_CN: talk-plugin-respect: respect: "赞" diff --git a/plugins/talk-plugin-sort-most-liked/client/translations.yml b/plugins/talk-plugin-sort-most-liked/client/translations.yml index 67fcec6ea..0457d5d23 100644 --- a/plugins/talk-plugin-sort-most-liked/client/translations.yml +++ b/plugins/talk-plugin-sort-most-liked/client/translations.yml @@ -1,8 +1,24 @@ +da: + talk-plugin-sort-most-liked: + label: Most liked first en: talk-plugin-sort-most-liked: label: Most liked first +de: + talk-plugin-sort-most-liked: + label: Beliebteste zuerst es: talk-plugin-sort-most-liked: + label: Most liked first +fr: + talk-plugin-sort-most-liked: + label: Most liked first +nl_NL: + talk-plugin-sort-most-liked: + label: Most liked first +pt_BR: + talk-plugin-sort-most-liked: + label: Most liked first zh_CN: talk-plugin-sort-most-liked: label: "最被喜欢在前" diff --git a/plugins/talk-plugin-sort-most-loved/client/translations.yml b/plugins/talk-plugin-sort-most-loved/client/translations.yml index bc9283544..4bec16536 100644 --- a/plugins/talk-plugin-sort-most-loved/client/translations.yml +++ b/plugins/talk-plugin-sort-most-loved/client/translations.yml @@ -1,8 +1,24 @@ +da: + talk-plugin-sort-most-loved: + label: Most loved first en: talk-plugin-sort-most-loved: label: Most loved first +de: + talk-plugin-sort-most-loved: + label: Häufigste "Ich liebe es" zuerst es: talk-plugin-sort-most-loved: + label: Most loved first +fr: + talk-plugin-sort-most-loved: + label: Most loved first +nl_NL: + talk-plugin-sort-most-loved: + label: Most loved first +pt_BR: + talk-plugin-sort-most-loved: + label: Most loved first zh_CN: talk-plugin-sort-most-loved: label: "最多被比心在前" diff --git a/plugins/talk-plugin-sort-most-replied/client/translations.yml b/plugins/talk-plugin-sort-most-replied/client/translations.yml index ff95ed7dd..9d61741f2 100644 --- a/plugins/talk-plugin-sort-most-replied/client/translations.yml +++ b/plugins/talk-plugin-sort-most-replied/client/translations.yml @@ -1,8 +1,24 @@ +da: + talk-plugin-sort-most-replied: + label: Most replied first en: talk-plugin-sort-most-replied: label: Most replied first +de: + talk-plugin-sort-most-replied: + label: Häufigste Antworten zuerst es: talk-plugin-sort-most-replied: + label: Most replied first +fr: + talk-plugin-sort-most-replied: + label: Most replied first +nl_NL: + talk-plugin-sort-most-replied: + label: Most replied first +pt_BR: + talk-plugin-sort-most-replied: + label: Most replied first zh_CN: talk-plugin-sort-most-replied: label: "最多回复在前" diff --git a/plugins/talk-plugin-sort-most-respected/client/translations.yml b/plugins/talk-plugin-sort-most-respected/client/translations.yml index 6d514f839..1e238d2e0 100644 --- a/plugins/talk-plugin-sort-most-respected/client/translations.yml +++ b/plugins/talk-plugin-sort-most-respected/client/translations.yml @@ -1,8 +1,24 @@ +da: + talk-plugin-sort-most-respected: + label: Most respected first en: talk-plugin-sort-most-respected: label: Most respected first +de: + talk-plugin-sort-most-respected: + label: Häufigste "Respektiert" zuerst es: talk-plugin-sort-most-respected: + label: Most respected first +fr: + talk-plugin-sort-most-respected: + label: Most respected first +nl_NL: + talk-plugin-sort-most-respected: + label: Most respected first +pt_BR: + talk-plugin-sort-most-respected: + label: Most respected first zh_CN: talk-plugin-sort-most-respected: label: "最多被赞在前" diff --git a/plugins/talk-plugin-sort-newest/client/translations.yml b/plugins/talk-plugin-sort-newest/client/translations.yml index b172817dc..56bf9946c 100644 --- a/plugins/talk-plugin-sort-newest/client/translations.yml +++ b/plugins/talk-plugin-sort-newest/client/translations.yml @@ -1,8 +1,24 @@ +da: + talk-plugin-sort-newest: + label: Newest first en: talk-plugin-sort-newest: label: Newest first +de: + talk-plugin-sort-newest: + label: Neueste zuerst es: talk-plugin-sort-newest: + label: Newest first +fr: + talk-plugin-sort-newest: + label: Newest first +nl_NL: + talk-plugin-sort-newest: + label: Newest first +pt_BR: + talk-plugin-sort-newest: + label: Newest first zh_CN: talk-plugin-sort-newest: label: "最新发表在前" diff --git a/plugins/talk-plugin-sort-oldest/client/translations.yml b/plugins/talk-plugin-sort-oldest/client/translations.yml index bd30b488d..ab4f9e97d 100644 --- a/plugins/talk-plugin-sort-oldest/client/translations.yml +++ b/plugins/talk-plugin-sort-oldest/client/translations.yml @@ -1,8 +1,24 @@ +da: + talk-plugin-sort-oldest: + label: Oldest first en: talk-plugin-sort-oldest: label: Oldest first +de: + talk-plugin-sort-oldest: + label: Älteste zuerst es: talk-plugin-sort-oldest: + label: Oldest first +fr: + talk-plugin-sort-oldest: + label: Oldest first +nl_NL: + talk-plugin-sort-oldest: + label: Oldest first +pt_BR: + talk-plugin-sort-oldest: + label: Oldest first zh_CN: talk-plugin-sort-oldest: label: "最早发表在前" diff --git a/plugins/talk-plugin-subscriber/client/translations.yml b/plugins/talk-plugin-subscriber/client/translations.yml index f43eab042..33801a22b 100644 --- a/plugins/talk-plugin-subscriber/client/translations.yml +++ b/plugins/talk-plugin-subscriber/client/translations.yml @@ -1,9 +1,24 @@ +da: + talk-plugin-subscriber: + subscriber: "Subscriber" en: talk-plugin-subscriber: subscriber: "Subscriber" +de: + talk-plugin-subscriber: + subscriber: "Abonnent" es: talk-plugin-subscriber: subscriber: "Subscriptor" +fr: + talk-plugin-subscriber: + subscriber: "Subscriber" +nl_NL: + talk-plugin-subscriber: + subscriber: "Subscriber" +pt_BR: + talk-plugin-subscriber: + subscriber: "Subscriber" zh_CN: talk-plugin-subscriber: subscriber: "订阅用户" diff --git a/plugins/talk-plugin-toxic-comments/client/translations.yml b/plugins/talk-plugin-toxic-comments/client/translations.yml index c0250bde5..c6ee6d0a2 100644 --- a/plugins/talk-plugin-toxic-comments/client/translations.yml +++ b/plugins/talk-plugin-toxic-comments/client/translations.yml @@ -1,3 +1,21 @@ +da: + error: + COMMENT_IS_TOXIC: | + Are you sure? The language in this comment might violate our community guidelines. + You can edit the comment or submit it for moderator review. + talk-plugin-toxic-comments: + unlikely: "Unlikely" + highly_likely: "Highly Likely" + possibly: "Possibly" + likely: "Likely" + toxic_comment: "Toxic Comment" + still_toxic: | + This edited comment might still violate our community guidelines. + Our moderation team will review your comment shortly. + flags: + reasons: + comment: + toxic_comment: "Highly likely to be Toxic" en: error: COMMENT_IS_TOXIC: | @@ -16,11 +34,96 @@ en: reasons: comment: toxic_comment: "Highly likely to be Toxic" +de: + error: + COMMENT_IS_TOXIC: | + Sind Sie sicher? Die Formulierungen in Ihrem Kommentar könnten den Community-Richtlinien widersprechen. + Sie können ihren Kommentar bearbeiten oder zur Prüfung durch unsere Moderatoren einreichen. + talk-plugin-toxic-comments: + unlikely: Unwahrscheinlich + highly_likely: Höchstwahrscheinlich + possibly: Möglicherweise + likely: Wahrscheinlich + toxic_comment: Bösartiger Kommentar + still_toxic: | + Der bearbeitete Kommentar könnte noch immer den Community-Richtlinien widersprechen. + Unsere Moderatoren werden Ihren Kommentar in Kürze prüfen. + flags: + reasons: + comment: + toxic_comment: "Höchstwahrscheinlich bösartig" es: + error: + COMMENT_IS_TOXIC: | + Are you sure? The language in this comment might violate our community guidelines. + You can edit the comment or submit it for moderator review. + talk-plugin-toxic-comments: + unlikely: "Unlikely" + highly_likely: "Highly Likely" + possibly: "Possibly" + likely: "Likely" + toxic_comment: "Toxic Comment" + still_toxic: | + This edited comment might still violate our community guidelines. + Our moderation team will review your comment shortly. flags: reasons: comment: toxic_comment: "Muy probable que sea tóxico" +fr: + error: + COMMENT_IS_TOXIC: | + Are you sure? The language in this comment might violate our community guidelines. + You can edit the comment or submit it for moderator review. + talk-plugin-toxic-comments: + unlikely: "Unlikely" + highly_likely: "Highly Likely" + possibly: "Possibly" + likely: "Likely" + toxic_comment: "Toxic Comment" + still_toxic: | + This edited comment might still violate our community guidelines. + Our moderation team will review your comment shortly. + flags: + reasons: + comment: + toxic_comment: "Highly likely to be Toxic" +nl_NL: + error: + COMMENT_IS_TOXIC: | + Are you sure? The language in this comment might violate our community guidelines. + You can edit the comment or submit it for moderator review. + talk-plugin-toxic-comments: + unlikely: "Unlikely" + highly_likely: "Highly Likely" + possibly: "Possibly" + likely: "Likely" + toxic_comment: "Toxic Comment" + still_toxic: | + This edited comment might still violate our community guidelines. + Our moderation team will review your comment shortly. + flags: + reasons: + comment: + toxic_comment: "Highly likely to be Toxic" +pt_BR: + error: + COMMENT_IS_TOXIC: | + Are you sure? The language in this comment might violate our community guidelines. + You can edit the comment or submit it for moderator review. + talk-plugin-toxic-comments: + unlikely: "Unlikely" + highly_likely: "Highly Likely" + possibly: "Possibly" + likely: "Likely" + toxic_comment: "Toxic Comment" + still_toxic: | + This edited comment might still violate our community guidelines. + Our moderation team will review your comment shortly. + flags: + reasons: + comment: + toxic_comment: "Highly likely to be Toxic" zh_CN: error: COMMENT_IS_TOXIC: "您确定吗?此评论的表述可能违反了我们的社群指引方针。您可以编辑评论,或直接提交让管理人员审查。" diff --git a/plugins/talk-plugin-viewing-options/client/translations.yml b/plugins/talk-plugin-viewing-options/client/translations.yml index 09edbc0fc..c37090b12 100644 --- a/plugins/talk-plugin-viewing-options/client/translations.yml +++ b/plugins/talk-plugin-viewing-options/client/translations.yml @@ -1,11 +1,38 @@ +da: + talk-plugin-viewing-options: + viewing_options: "Viewing Options" + sort: Sorting + filter: Filtering en: talk-plugin-viewing-options: viewing_options: "Viewing Options" sort: Sorting filter: Filtering +de: + talk-plugin-viewing-options: + viewing_options: "Ansichtsoptionen" + sort: Sortieren + filter: Filtern es: talk-plugin-viewing-options: viewing_options: "Opciones de visualización" + sort: Sorting + filter: Filtering +fr: + talk-plugin-viewing-options: + viewing_options: "Viewing Options" + sort: Sorting + filter: Filtering +nl_NL: + talk-plugin-viewing-options: + viewing_options: "Viewing Options" + sort: Sorting + filter: Filtering +pt_BR: + talk-plugin-viewing-options: + viewing_options: "Viewing Options" + sort: Sorting + filter: Filtering zh_CN: talk-plugin-viewing-options: viewing_options: "查看选项" @@ -15,4 +42,4 @@ zh_TW: talk-plugin-viewing-options: viewing_options: "查看選項" sort: 排序 - filter: 過濾 \ No newline at end of file + filter: 過濾 diff --git a/serve.js b/serve.js index 49ddc9f3b..0e3552bab 100644 --- a/serve.js +++ b/serve.js @@ -96,7 +96,8 @@ async function serve({ jobs = false, websockets = false } = {}) { } catch (e) { // Check the error. switch (e) { - case (errors.ErrInstallLock, errors.ErrSettingsInit): + case errors.ErrInstallLock: + case errors.ErrSettingsInit: debug('setup is not currently available, migrations now being checked'); // The error was expected, just continue. diff --git a/services/i18n.js b/services/i18n.js index 7c237f903..666f15a59 100644 --- a/services/i18n.js +++ b/services/i18n.js @@ -2,7 +2,7 @@ const fs = require('fs'); const path = require('path'); const debug = require('debug')('talk:services:i18n'); const accepts = require('accepts'); -const _ = require('lodash'); +const { get, has, merge } = require('lodash'); const yaml = require('yamljs'); const plugins = require('./plugins'); const { DEFAULT_LANG } = require('../config'); @@ -27,7 +27,7 @@ let translations = fs .reduce((packs, contents) => { const pack = yaml.parse(contents); - return _.merge(packs, pack); + return merge(packs, pack); }, {}); // Create a list of all supported translations. @@ -55,30 +55,33 @@ const loadPluginTranslations = () => { const pack = yaml.parse(fs.readFileSync(filename, 'utf8')); - translations = _.merge(translations, pack); + translations = merge(translations, pack); }); loadedPluginTranslations = true; }; -const t = language => (key, ...replacements) => { +const t = lang => (key, ...replacements) => { // Loads the translations into the translations array from plugins. This is // done lazily to ensure that we don't have an import cycle. loadPluginTranslations(); - // Check if the translation exists on the object. - if (_.has(translations[language], key)) { - // Get the translation value. - let translation = _.get(translations[language], key); + let translation; + if (has(translations[lang], key)) { + translation = get(translations[lang], key); + } else if (has(translations['en'], key)) { + translation = get(translations['en'], key); + console.warn(`${lang}.${key} language key not set`); + } - // Replace any {n} with the arguments passed to this method. - replacements.forEach((str, n) => { - translation = translation.replace(new RegExp(`\\{${n}\\}`, 'g'), str); + if (translation) { + // replace any {n} with the arguments passed to this method + replacements.forEach((str, i) => { + translation = translation.replace(new RegExp(`\\{${i}\\}`, 'g'), str); }); - return translation; } else { - console.warn(`${key} language key not set`); + console.warn(`${lang}.${key} and en.${key} language key not set`); return key; } };