diff --git a/frontend/app/locales/bp.json b/frontend/app/locales/bp.json
new file mode 100644
index 00000000..cea3d85e
--- /dev/null
+++ b/frontend/app/locales/bp.json
@@ -0,0 +1,164 @@
+{
+ "auth.back": "Back",
+ "auth.email-address": "Email Address",
+ "auth.loading": "Loading...",
+ "auth.oauth-source": "Use Social Network",
+ "auth.oauth-button": "Sign In with {provider}",
+ "auth.or": "or",
+ "auth.signin": "Sign In",
+ "auth.submit": "Submit",
+ "auth.symbols-restriction": "Username must contain only letters, numbers, underscores or spaces",
+ "auth.user-not-found": "No user was found",
+ "auth.username": "Username",
+ "authPanel.disable-comments": "Disable comments",
+ "authPanel.disabled-cookies": "Disable third-party cookies blocking to login or open comments in",
+ "authPanel.enable-comments": "Enable comments",
+ "authPanel.enable-cookies": "Allow cookies to login and comment",
+ "authPanel.hide-settings": "Hide settings",
+ "authPanel.logged-as": "You logged in as",
+ "authPanel.logout": "Logout?",
+ "authPanel.new-page": "new page",
+ "authPanel.read-only": "Read-only",
+ "authPanel.request-to-delete-data": "Request my data removal",
+ "authPanel.show-settings": "Show settings",
+ "blockingDuration.day": "For a day",
+ "blockingDuration.month": "For a month",
+ "blockingDuration.permanently": "Permanently",
+ "blockingDuration.week": "For a week",
+ "comment.block": "Block",
+ "comment.block-user": "Do you want to block {userName} {duration}?",
+ "comment.blocked-user": "Blocked",
+ "comment.blocking-period": "Blocking period",
+ "comment.cancel": "Cancel",
+ "comment.controversy": "Controversy: {value}",
+ "comment.copied": "Copied!",
+ "comment.copy": "Copy",
+ "comment.delete": "Delete",
+ "comment.delete-message": "Do you want to delete this comment?",
+ "comment.deleted-comment": "This comment was deleted",
+ "comment.deleted-user": "Deleted",
+ "comment.edit": "Edit",
+ "comment.expired-time": "Editing time has expired.",
+ "comment.go-to-parent": "Go to parent comment",
+ "comment.hide": "Hide",
+ "comment.hide-user-comment": "Do you want to hide comments of {userName}?",
+ "comment.pin": "Pin",
+ "comment.pin-comment": "Do you want to pin this comment?",
+ "comment.reply": "Reply",
+ "comment.time": "{day} at {time}",
+ "comment.toggle-verification": "Toggle verification",
+ "comment.unblock": "Unblock",
+ "comment.unblock-user": "Do you want to unblock this user?",
+ "comment.unpin": "Unpin",
+ "comment.unpin-comment": "Do you want to unpin this comment?",
+ "comment.unverified-user": "Unverified user",
+ "comment.unverify-user": "Do you want to unverify {userName}?",
+ "comment.verified-user": "Verified user",
+ "comment.verify-user": "Do you want to verify {userName}?",
+ "comment.vote-error": "Voting error: {voteErrorMessage}",
+ "commentForm.anonymous-uploading-disabled": "Image uploading is disabled for anonymous users. Please log in not as anonymous user to be able to attach images.",
+ "commentForm.exceeded-size": "{fileName} exceeds size limit of {maxImageSize}",
+ "commentForm.input-placeholder": "Your comment here",
+ "commentForm.new-comment": "New comment",
+ "commentForm.notice-about-styling": "Styling with Markdown is supported",
+ "commentForm.preview": "Preview",
+ "commentForm.reply": "Reply",
+ "commentForm.save": "Save",
+ "commentForm.send": "Send",
+ "commentForm.subscribe-by": "Subscribe by",
+ "commentForm.subscribe-or": "or",
+ "commentForm.unauthorized-uploading-disabled": "Image uploading is disabled for unauthorized users. You should login before uploading.",
+ "commentForm.unexpected-error": "Something went wrong. Please try again a bit later.",
+ "commentForm.upload-file-fail": "{fileName} upload failed with \"{errorMessage}\"",
+ "commentForm.uploading": "Uploading...",
+ "commentForm.uploading-file": "uploading {fileName}...",
+ "commentSort.sort-by": "Sort by",
+ "commentsSort.best": "Best",
+ "commentsSort.least-controversial": "Least controversial",
+ "commentsSort.least-recently-updated": "Least recently updated",
+ "commentsSort.most-controversial": "Most controversial",
+ "commentsSort.newest": "Newest",
+ "commentsSort.oldest": "Oldest",
+ "commentsSort.recently-updated": "Recently updated",
+ "commentsSort.worst": "Worst",
+ "errors.0": "Something went wrong. Please try again a bit later.",
+ "errors.1": "Comment cannot be found. Please refresh the page and try again.",
+ "errors.10": "It is too late to edit the comment.",
+ "errors.11": "Comment already has reply, editing is not possible.",
+ "errors.12": "Cannot save voting result. Please try again a bit later.",
+ "errors.13": "You cannot vote for your own comment.",
+ "errors.14": "You have already voted for the comment.",
+ "errors.15": "Too many votes for the comment.",
+ "errors.16": "Min score reached for the comment.",
+ "errors.17": "Action rejected. Please try again a bit later.",
+ "errors.18": "Requested file cannot be found.",
+ "errors.2": "Failed to unmarshal incoming request.",
+ "errors.3": "You don't have permission for this operation.",
+ "errors.4": "Invalid comment data.",
+ "errors.5": "Comment cannot be found. Please refresh the page and try again.",
+ "errors.6": "Site cannot be found. Please refresh the page and try again.",
+ "errors.7": "User has been blocked.",
+ "errors.8": "User has been blocked.",
+ "errors.9": "Comment changing failed. Please try again a bit later.",
+ "errors.failed-fetch": "Failed to fetch. Please check your internet connection or try again a bit later",
+ "errors.forbidden": "Forbidden.",
+ "errors.not-authorized": "Not authorized.",
+ "errors.to-many-request": "You have reached maximum request limit.",
+ "errors.unexpected-error": "Something went wrong.",
+ "root.pinned-comments": "Pinned comments",
+ "root.powered-by": "Powered by Remark42",
+ "root.show-more": "Show more",
+ "settings.block": "block",
+ "settings.block-time": "until {day} at {time}",
+ "settings.block-user": "Do you want to block {userName}?",
+ "settings.blocked-users-header": "Blocked users:",
+ "settings.blocked-users-title": "Blocked users",
+ "settings.hidden-user-header": "Hidden users:",
+ "settings.hidden-users-title": "Hidden users",
+ "settings.hide": "hide",
+ "settings.no-blocked-users": "There are no blocked users.",
+ "settings.no-hidden-users": "There are no hidden users.",
+ "settings.permanently": "permanently",
+ "settings.show": "show",
+ "settings.unblock": "unblock",
+ "settings.unblock-user": "Do you want to unblock {userName}?",
+ "settings.unknown": "unknown",
+ "subscribeByEmail.back": "Back",
+ "subscribeByEmail.close": "Close",
+ "subscribeByEmail.email": "Email",
+ "subscribeByEmail.have-been-subscribed": "You have been subscribed on updates by email",
+ "subscribeByEmail.have-been-unsubscribed": "You have been unsubscribed by email to updates",
+ "subscribeByEmail.only-registered-users": "Available only for registered users",
+ "subscribeByEmail.submit": "Submit",
+ "subscribeByEmail.subscribe": "Subscribe",
+ "subscribeByEmail.subscribe-by-email": "Subscribe by Email",
+ "subscribeByEmail.subscribe-to-replies": "Subscribe to replies",
+ "subscribeByEmail.subscribed": "You are subscribed on updates by email",
+ "subscribeByEmail.unsubscribe": "Unsubscribe",
+ "subscribeByRSS.button-title": "Subscribe by RSS",
+ "subscribeByRSS.replies": "Replies",
+ "subscribeByRSS.site": "Site",
+ "subscribeByRSS.thread": "Thread",
+ "subscribeByRSS.title": "RSS",
+ "token": "Token",
+ "token.expired": "Token is expired",
+ "token.invalid": "Token is invalid",
+ "toolbar.attach-image": "Attach the image, drag & drop or paste from clipboard",
+ "toolbar.bold": "Add bold text {shortcut}",
+ "toolbar.code": "Insert a code",
+ "toolbar.header": "Add header text",
+ "toolbar.italic": "Add italic text {shortcut}",
+ "toolbar.link": "Add a link {shortcut}",
+ "toolbar.ordered-list": "Add a numbered list",
+ "toolbar.quote": "Insert a quote",
+ "toolbar.unordered-list": "Add a bulleted list",
+ "user-info.last-comments": "Last comments by {userName}",
+ "user-info.unexpected-error": "Something went wrong",
+ "vote.anonymous": "Anonymous users can't vote",
+ "vote.deleted": "Can't vote for deleted comment",
+ "vote.guest": "Sign in to vote",
+ "vote.only-positive": "Only positive score allowed",
+ "vote.only-post-page": "Voting allowed only on post's page",
+ "vote.own-comment": "Can't vote for your own comment",
+ "vote.readonly": "Can't vote on read-only topics"
+}
diff --git a/frontend/app/locales/de.json b/frontend/app/locales/de.json
index abc79aca..fcb9e4ee 100644
--- a/frontend/app/locales/de.json
+++ b/frontend/app/locales/de.json
@@ -1,163 +1,164 @@
{
"auth.back": "Zurück",
- "auth.email-address": "E-Mailadresse",
- "auth.loading": "Laden...",
- "auth.oauth-button": "Sign In with {provider}",
+ "auth.email-address": "E-Mail-Adresse",
+ "auth.loading": "Wird geladen ...",
+ "auth.oauth-source": "Soziales Netzwerk verwenden",
+ "auth.oauth-button": "Mit {provider} anmelden",
"auth.or": "oder",
"auth.signin": "Einloggen",
"auth.submit": "Absenden",
- "auth.symbols-restriction": "Der Benutzername muss mit einem Buchstaben beginnen und darf nur lateinische Buchstaben, Zahlen, Unterstriche und Leerzeichen enthalten",
+ "auth.symbols-restriction": "Der Benutzername darf nur Buchstaben, Zahlen, Unterstriche oder Leerzeichen enthalten",
"auth.user-not-found": "Benutzer konnte nicht gefunden werden",
"auth.username": "Benutzername",
"authPanel.disable-comments": "Kommentarfunktion deaktivieren",
- "authPanel.disabled-cookies": "Deaktiviere die Sperre von Drittanbieter-Cookies, um die Kommentarfunktion zu verwenden",
+ "authPanel.disabled-cookies": "Deaktivieren Sie die Blockierung von Drittanbieter-Cookies, um sich anzumelden oder Kommentare im Folgenden zu öffnen:",
"authPanel.enable-comments": "Kommentarfunktion aktivieren",
- "authPanel.enable-cookies": "Cookies zulassen, um die Kommentarfunktion zu verwenden",
- "authPanel.hide-settings": "Einstellungen verstecken",
- "authPanel.logged-as": "Du hast dich angemeldet als",
+ "authPanel.enable-cookies": "Cookies für die Anmeldung und das Kommentieren zulassen",
+ "authPanel.hide-settings": "Einstellungen ausblenden",
+ "authPanel.logged-as": "Sie haben sich angemeldet als",
"authPanel.logout": "Abmelden?",
"authPanel.new-page": "neue Seite",
- "authPanel.read-only": "Nur-Lesen",
- "authPanel.request-to-delete-data": "Löschung meiner Daten anfragen",
+ "authPanel.read-only": "Schreibgeschützt",
+ "authPanel.request-to-delete-data": "Löschung meiner Daten anfordern",
"authPanel.show-settings": "Einstellungen anzeigen",
"blockingDuration.day": "Für einen Tag",
"blockingDuration.month": "Für einen Monat",
"blockingDuration.permanently": "Dauerhaft",
"blockingDuration.week": "Für eine Woche",
- "comment.block": "Blockieren",
- "comment.block-user": "Möchtest du den Benutzer {userName} wirklich {duration} blockieren?",
- "comment.blocked-user": "Blockiert",
- "comment.blocking-period": "Blockierdauer",
+ "comment.block": "Sperren",
+ "comment.block-user": "Möchten Sie {userName} wirklich {duration} sperren?",
+ "comment.blocked-user": "Gesperrt",
+ "comment.blocking-period": "Sperrdauer",
"comment.cancel": "Abbrechen",
- "comment.controversy": "Kontroversen: {value}",
- "comment.copied": "In die Zwischenablage kopiert!",
+ "comment.controversy": "Strittigkeit: {value}",
+ "comment.copied": "Kopiert!",
"comment.copy": "Kopieren",
"comment.delete": "Löschen",
- "comment.delete-message": "Möchtest du diesen Kommentar wirklich löschen?",
- "comment.deleted-comment": "Dieser Kommentar wurde soeben gelöscht",
+ "comment.delete-message": "Möchten Sie diesen Kommentar löschen?",
+ "comment.deleted-comment": "Dieser Kommentar wurde gelöscht",
"comment.deleted-user": "Gelöscht",
"comment.edit": "Bearbeiten",
"comment.expired-time": "Die Zeit für eine Bearbeitung ist abgelaufen.",
"comment.go-to-parent": "Gehe zum übergeordneten Kommentar",
"comment.hide": "Ausblenden",
- "comment.hide-user-comment": "Möchtest du die Kommentare von Benutzer {userName} wirklich ausblenden?",
+ "comment.hide-user-comment": "Möchten Sie die Kommentare von {userName} wirklich ausblenden?",
"comment.pin": "Anheften",
- "comment.pin-comment": "Möchtest du diesen Kommentar wirklich oben anheften?",
+ "comment.pin-comment": "Möchten Sie diesen Kommentar wirklich oben anheften?",
"comment.reply": "Antworten",
"comment.time": "{day} um {time}",
"comment.toggle-verification": "Bestätigung umschalten",
- "comment.unblock": "Freigeben",
- "comment.unblock-user": "Möchtest du diesen Benutzer wirklich wieder freigeben?",
- "comment.unpin": "Ablösen",
- "comment.unpin-comment": "Möchtest du diesen Kommentar wirklich wieder ablösen?",
+ "comment.unblock": "Entsperren",
+ "comment.unblock-user": "Möchten Sie diesen Benutzer wirklich entsperren?",
+ "comment.unpin": "Loslösen",
+ "comment.unpin-comment": "Möchten Sie diesen Kommentar wirklich loslösen?",
"comment.unverified-user": "Unbestätigter Benutzer",
- "comment.unverify-user": "Möchtest du den Benutzer {userName} wirklich nicht mehr bestätigen?",
+ "comment.unverify-user": "Möchten Sie den Benutzer {userName} wirklich als unbestätigt speichern?",
"comment.verified-user": "Bestätigter Benutzer",
- "comment.verify-user": "Möchtest du den Benutzer {userName} wirklich bestätigen?",
+ "comment.verify-user": "Möchten Sie den Benutzer {userName} wirklich bestätigen?",
"comment.vote-error": "Fehler beim Abstimmen: {voteErrorMessage}",
- "commentForm.anonymous-uploading-disabled": "Image uploading is disabled for anonymous users. Please log in not as anonymous user to be able to attach images.",
+ "commentForm.anonymous-uploading-disabled": "Das Hochladen von Bildern ist für anonyme Benutzer deaktiviert. Bitte melden Sie sich an, um Bilder hochladen zu können.",
"commentForm.exceeded-size": "Die Datei {fileName} überschreitet das Größenlimit von {maxImageSize}",
- "commentForm.input-placeholder": "Gib hier deinen Kommentar ein",
+ "commentForm.input-placeholder": "Geben Sie hier Ihren Kommentar ein",
"commentForm.new-comment": "Neuer Kommentar",
- "commentForm.notice-about-styling": "Hier kannst du Markdown verwenden",
+ "commentForm.notice-about-styling": "Hier können Sie Markdown verwenden",
"commentForm.preview": "Vorschau",
"commentForm.reply": "Antworten",
"commentForm.save": "Speichern",
"commentForm.send": "Abschicken",
- "commentForm.subscribe-by": "Abonniere die Kommentare als",
+ "commentForm.subscribe-by": "Abonnieren mit",
"commentForm.subscribe-or": "oder",
"commentForm.unauthorized-uploading-disabled": "Der Upload von Bildern ist nur für registrierte Benutzer möglich. Bitte melde dich zuvor an.",
- "commentForm.unexpected-error": "Leider ist etwas schiefgegangen. Bitte versuche es später erneut.",
- "commentForm.upload-file-fail": "Der Upload der Datei {fileName} ist mit folgendem Fehler fehlgeschlagen: \"{errorMessage}\"",
- "commentForm.uploading": "Lade hoch...",
- "commentForm.uploading-file": "Lade {fileName} hoch...",
+ "commentForm.unexpected-error": "Leider ist etwas schiefgegangen. Bitte versuchen Sie es später erneut.",
+ "commentForm.upload-file-fail": "Der Upload der Datei {fileName} ist fehlgeschlagen: \"{errorMessage}\"",
+ "commentForm.uploading": "Upload wird durchgeführt...",
+ "commentForm.uploading-file": "{fileName} wird hochgeladen...",
"commentSort.sort-by": "Sortieren nach",
"commentsSort.best": "Beste",
- "commentsSort.least-controversial": "Am wenigsten diskutiert",
- "commentsSort.least-recently-updated": "Vor langer Zeit geändert",
- "commentsSort.most-controversial": "Am meisten diskutiert",
+ "commentsSort.least-controversial": "Am wenigsten umstritten",
+ "commentsSort.least-recently-updated": "Am längsten nicht aktualisierte",
+ "commentsSort.most-controversial": "Am meisten umstritten",
"commentsSort.newest": "Neueste",
"commentsSort.oldest": "Älteste",
- "commentsSort.recently-updated": "Kürzlich geändert",
+ "commentsSort.recently-updated": "Kürzlich aktualisierte",
"commentsSort.worst": "Schlechteste",
- "errors.0": "Leider ist etwas schiefgegangen. Bitte versuche es später erneut.",
- "errors.1": "Kommentar nicht gefunden. Bitte lade die Seite neu und versuche es erneut.",
+ "errors.0": "Leider ist etwas schiefgegangen. Bitte versuchen Sie es später erneut.",
+ "errors.1": "Kommentar nicht gefunden. Bitte laden Sie die Seite neu und versuchen Sie es erneut.",
"errors.10": "Das Zeitfenster für das Bearbeiten des Kommentars ist verstrichen.",
"errors.11": "Auf diesen Kommentar wurde bereits geantwortet, daher ist eine Änderung nicht mehr möglich.",
- "errors.12": "Konnte das Abstimmungsergebnis nicht speichern. Bitte versuche es später erneut.",
- "errors.13": "Du kannst nicht für deinen eigenen Kommentar abstimmen.",
- "errors.14": "Du hast für diesen Kommentar bereits abstimmt.",
+ "errors.12": "Das Abstimmungsergebnis konnte nicht gespeichert werden. Bitte versuchen Sie es etwas später erneut.",
+ "errors.13": "Sie können nicht für Ihren eigenen Kommentar abstimmen.",
+ "errors.14": "Sie haben bereits für den Kommentar abgestimmt.",
"errors.15": "Für diesen Kommentar wurden bereits zu viele Stimmen abgegeben.",
- "errors.16": "Die Mindest-Bewertung für diesen Kommentar wurde erreicht.",
- "errors.17": "Vorgang abgelehnt. Bitte versuche es später erneut.",
- "errors.18": "Die angeforderte Datei konnte nicht nicht gefunden werden.",
- "errors.2": "Konnte die eingehende Anfrage nicht in ihre ursprüngliche Form umwandeln (Failed to unmarshal incoming request.)",
- "errors.3": "Du hast für diesen Vorgang keine ausreichende Berechtigung.",
- "errors.4": "Fehlerhafte Kommentar-Daten.",
- "errors.5": "Kommentar nicht gefunden. Bitte lade die Seite neu und versuche es erneut.",
- "errors.6": "Site nicht gefunden. Bitte lade die Seite neu und versuche es erneut.",
- "errors.7": "Der Benutzer wurde blockiert.",
- "errors.8": "Dieser Beitrag ist schreibgeschützt.",
- "errors.9": "Ändern des Kommentars fehlgeschlagen. Bitte versuche es später erneut.",
- "errors.failed-fetch": "Fehler beim Abholen der Daten. Bitte prüfe deine Internetverbindung oder versuche es später erneut (Failed to fetch.)",
- "errors.forbidden": "Zugriff verweigert. Hast du den Token korrekt eingegeben?",
+ "errors.16": "Die Mindestpunktzahl für diesen Kommentar wurde erreicht.",
+ "errors.17": "Vorgang abgelehnt. Bitte versuchen Sie es später noch einmal.",
+ "errors.18": "Die angeforderte Datei wurde nicht gefunden.",
+ "errors.2": "Die eingehende Anfrage konnte nicht verarbeitet werden.",
+ "errors.3": "Für diesen Vorgang haben Sie keine ausreichende Berechtigung.",
+ "errors.4": "Ungültige Kommentardaten.",
+ "errors.5": "Kommentar nicht gefunden. Bitte laden Sie die Seite neu und versuchen Sie es erneut.",
+ "errors.6": "Site nicht gefunden. Bitte laden Sie die Seite neu und versuchen Sie es erneut.",
+ "errors.7": "Benutzer wurde gesperrt.",
+ "errors.8": "Benutzer wurde gesperrt.",
+ "errors.9": "Änderungen konnten nicht gespeichert werden. Bitte versuchen Sie es später noch einmal.",
+ "errors.failed-fetch": "Abruf fehlgeschlagen. Bitte prüfen Sie Ihre Internetverbindung oder versuchen Sie es etwas später erneut",
+ "errors.forbidden": "Verboten.",
"errors.not-authorized": "Nicht autorisiert.",
- "errors.to-many-request": "Du hast das maximale Anfragelimit erreicht.",
+ "errors.to-many-request": "Sie haben das maximale Anfragelimit erreicht.",
"errors.unexpected-error": "Leider ist etwas schiefgegangen.",
"root.pinned-comments": "Angeheftete Kommentare",
- "root.powered-by": "Powered by Remark42",
- "root.show-more": "Weitere anzeigen",
- "settings.block": "Blockieren",
- "settings.block-time": "Bis {day} um {time}",
- "settings.block-user": "Möchtest du den Benutzer {userName} wirklich blockieren?",
- "settings.blocked-users-header": "Blockierte Benutzer:",
- "settings.blocked-users-title": "Blockierte Benutzer",
+ "root.powered-by": "Unterstützt von Remark42",
+ "root.show-more": "Mehr anzeigen",
+ "settings.block": "Sperren",
+ "settings.block-time": "bis {day} um {time}",
+ "settings.block-user": "Möchten Sie den Benutzer {userName} wirklich sperren?",
+ "settings.blocked-users-header": "Gesperrte Benutzer:",
+ "settings.blocked-users-title": "Gesperrte Benutzer",
"settings.hidden-user-header": "Ausgeblendete Benutzer:",
"settings.hidden-users-title": "Ausgeblendete Benutzer",
"settings.hide": "Ausblenden",
- "settings.no-blocked-users": "Im Moment sind keine Benutzer blockiert.",
+ "settings.no-blocked-users": "Im Moment sind keine Benutzer gesperrt.",
"settings.no-hidden-users": "Im Moment sind keine Benutzer ausgeblendet.",
"settings.permanently": "Dauerhaft",
"settings.show": "Anzeigen",
- "settings.unblock": "Freigeben",
- "settings.unblock-user": "Möchtest du den Benutzer {userName} wirklich wieder freigeben?",
+ "settings.unblock": "Entsperren",
+ "settings.unblock-user": "Möchten Sie den Benutzer {userName} wirklich entsperren?",
"settings.unknown": "Unbekannt",
"subscribeByEmail.back": "Zurück",
"subscribeByEmail.close": "Schließen",
- "subscribeByEmail.email": "Mit einer E-Mailadresse",
- "subscribeByEmail.have-been-subscribed": "Du hast soeben die Neuigkeiten per E-Mail abonniert",
- "subscribeByEmail.have-been-unsubscribed": "Du hast soeben die Neuigkeiten per E-Mail abbestellt",
+ "subscribeByEmail.email": "E-Mail",
+ "subscribeByEmail.have-been-subscribed": "Sie haben sich für Neuigkeiten per E-Mail angemeldet",
+ "subscribeByEmail.have-been-unsubscribed": "Sie haben sich für Neuigkeiten per E-Mail abgemeldet",
"subscribeByEmail.only-registered-users": "Diese Funktion ist nur für registrierte Benutzer verfügbar",
"subscribeByEmail.submit": "Absenden",
"subscribeByEmail.subscribe": "Abonnieren",
- "subscribeByEmail.subscribe-by-email": "Abonniere die Kommentare per E-Mail",
- "subscribeByEmail.subscribe-to-replies": "Abonniere die Antworten",
- "subscribeByEmail.subscribed": "Du hast die Neuigkeiten per E-Mail abonniert",
- "subscribeByEmail.unsubscribe": "Abbestellen",
- "subscribeByRSS.button-title": "Abonniere die Kommentare als RSS-Feed",
+ "subscribeByEmail.subscribe-by-email": "Per E-Mail abonnieren",
+ "subscribeByEmail.subscribe-to-replies": "Antworten abonnieren",
+ "subscribeByEmail.subscribed": "Sie sind für Neuigkeiten per E-Mail abonniert",
+ "subscribeByEmail.unsubscribe": "Abmelden",
+ "subscribeByRSS.button-title": "Als RSS-Feed abonnieren",
"subscribeByRSS.replies": "Antworten",
- "subscribeByRSS.site": "Seite",
- "subscribeByRSS.thread": "Thema",
+ "subscribeByRSS.site": "Site",
+ "subscribeByRSS.thread": "Thread",
"subscribeByRSS.title": "RSS-Feed",
"token": "Token",
- "token.expired": "Der Token ist abgelaufen",
- "token.invalid": "Token is invalid",
- "toolbar.attach-image": "Ein Bild einfügen, entweder per Drag & Drop oder aus der Zwischenablage",
+ "token.expired": "Token ist abgelaufen",
+ "token.invalid": "Token ist ungültig",
+ "toolbar.attach-image": "Bild als Anhang, per Drag & Drop oder aus der Zwischenablage einfügen",
"toolbar.bold": "Text fett hervorheben {shortcut}",
- "toolbar.code": "Quelltext / Code einfügen",
+ "toolbar.code": "Code einfügen",
"toolbar.header": "Überschrift einfügen",
"toolbar.italic": "Text kursiv hervorheben {shortcut}",
- "toolbar.link": "Link / URL einfügen {shortcut}",
- "toolbar.ordered-list": "Nummerierte Aufzählung einfügen",
+ "toolbar.link": "Link einfügen {shortcut}",
+ "toolbar.ordered-list": "Nummerierte Liste einfügen",
"toolbar.quote": "Zitat einfügen",
- "toolbar.unordered-list": "Ungeordnete Aufzählung einfügen",
+ "toolbar.unordered-list": "Aufzählungsliste einfügen",
"user-info.last-comments": "Kommentare von Benutzer {userName}",
"user-info.unexpected-error": "Leider ist etwas schiefgegangen.",
"vote.anonymous": "Anonyme Benutzer können leider nicht abstimmen",
- "vote.deleted": "Du kannst nicht für einen gelöschten Kommentar abstimmen",
- "vote.guest": "Melde dich an um abzustimmen",
- "vote.only-positive": "Es sind nur positive Bewertungen erlaubt",
+ "vote.deleted": "Sie können nicht für einen gelöschten Kommentar abstimmen",
+ "vote.guest": "Melden Sie sich an, um abzustimmen",
+ "vote.only-positive": "Nur positive Punktzahl erlaubt",
"vote.only-post-page": "Die Abstimmung ist nur auf der Artikelseite erlaubt",
- "vote.own-comment": "Du kannst nicht für deinen eigenen Kommentar abstimmen",
- "vote.readonly": "Du kannst nicht für Nur-Lesen-Themen abstimmen"
+ "vote.own-comment": "Sie können nicht für Ihren eigenen Kommentar abstimmen",
+ "vote.readonly": "Sie können nicht bei schreibgeschützten Themen abstimmen"
}
diff --git a/frontend/app/locales/es.json b/frontend/app/locales/es.json
index 91e6d5ba..e3585d12 100644
--- a/frontend/app/locales/es.json
+++ b/frontend/app/locales/es.json
@@ -2,7 +2,8 @@
"auth.back": "Volver",
"auth.email-address": "Dirección de correo electrónico",
"auth.loading": "Cargando...",
- "auth.oauth-button": "Sign In with {provider}",
+ "auth.oauth-source": "Acceda a través de sus redes sociales",
+ "auth.oauth-button": "Inicie sesión con {provider}",
"auth.or": "o",
"auth.signin": "Acceder",
"auth.submit": "Enviar",
@@ -55,7 +56,7 @@
"comment.verified-user": "Usuario verificado",
"comment.verify-user": "¿Quieres verificar a {userName}?",
"comment.vote-error": "Error al votar: {voteErrorMessage}",
- "commentForm.anonymous-uploading-disabled": "Image uploading is disabled for anonymous users. Please log in not as anonymous user to be able to attach images.",
+ "commentForm.anonymous-uploading-disabled": "La carga de imágenes está deshabilitada para usuarios anónimos. Inicie sesión como usuario no anónimo para poder adjuntar imágenes.",
"commentForm.exceeded-size": "{fileName} excede el tamaño máximo de {maxImageSize}",
"commentForm.input-placeholder": "Tu comentario aquí",
"commentForm.new-comment": "Nuevo comentario",
@@ -68,7 +69,7 @@
"commentForm.subscribe-or": "o",
"commentForm.unauthorized-uploading-disabled": "La subida de imágenes está deshabilitada para usuarios no autenticados. Deberías acceder antes de subir imágenes.",
"commentForm.unexpected-error": "Algo salió mal. Por favor vuelve a intentar más tarde.",
- "commentForm.upload-file-fail": "la subida de {fileName} falló con \"{errorMessage}\"",
+ "commentForm.upload-file-fail": "La subida de {fileName} falló con \"{errorMessage}\"",
"commentForm.uploading": "Subiendo...",
"commentForm.uploading-file": "subiendo {fileName}...",
"commentSort.sort-by": "Ordernar por",
@@ -105,7 +106,7 @@
"errors.to-many-request": "Has llegado al límite de peticiones.",
"errors.unexpected-error": "Algo salió mal.",
"root.pinned-comments": "Comentarios anclados",
- "root.powered-by": "Powered by Remark42",
+ "root.powered-by": "Con la tecnología de Remark42",
"root.show-more": "Mostrar más",
"settings.block": "bloquear",
"settings.block-time": "hasta el {day} a las {time}",
@@ -141,7 +142,7 @@
"subscribeByRSS.title": "RSS",
"token": "Token",
"token.expired": "Token expirado",
- "token.invalid": "Token is invalid",
+ "token.invalid": "El token no es válido",
"toolbar.attach-image": "Adjunta la imágen, arrastra y suelta, o pega desde el portapapeles",
"toolbar.bold": "Agrega texto en negrita {shortcut}",
"toolbar.code": "Inserta un código",
diff --git a/frontend/app/locales/fr.json b/frontend/app/locales/fr.json
index 3d20c430..9170033b 100644
--- a/frontend/app/locales/fr.json
+++ b/frontend/app/locales/fr.json
@@ -1,29 +1,30 @@
{
"auth.back": "Retour",
- "auth.email-address": "Adresse email",
+ "auth.email-address": "Adresse e-mail",
"auth.loading": "Chargement...",
- "auth.oauth-button": "Connexion avec {provider}",
+ "auth.oauth-source": "Utiliser les réseaux sociaux",
+ "auth.oauth-button": "Se connecter avec {provider}",
"auth.or": "ou",
"auth.signin": "Se connecter",
- "auth.submit": "Soumettre",
+ "auth.submit": "Valider",
"auth.symbols-restriction": "Le nom d'utilisateur ne doit contenir que des lettres, nombres, tirets bas et espaces.",
"auth.user-not-found": "Aucun utilisateur n'a été trouvé",
"auth.username": "Nom d'utilisateur",
"authPanel.disable-comments": "Désactiver les commentaires",
- "authPanel.disabled-cookies": "Activez les cookies pour vous connecter ou ouvrez les commentaires dans une",
- "authPanel.enable-comments": "Activer les commentaires",
+ "authPanel.disabled-cookies": "Desactiver les cookies tiers pour vous connecter ou ouvrez les commentaires dans une",
+ "authPanel.enable-comments": "Permettre les commentaires",
"authPanel.enable-cookies": "Activez les cookies pour vous connecter et commenter",
"authPanel.hide-settings": "Cacher les paramètres",
"authPanel.logged-as": "Vous êtes connecté en tant que",
- "authPanel.logout": "Se déconnecter",
+ "authPanel.logout": "Se déconnecter ?",
"authPanel.new-page": "nouvelle page",
"authPanel.read-only": "Lecture seule",
"authPanel.request-to-delete-data": "Demander la suppression de mes données",
"authPanel.show-settings": "Afficher les paramètres",
- "blockingDuration.day": "pour un jour",
- "blockingDuration.month": "pour un mois",
- "blockingDuration.permanently": "définitivement",
- "blockingDuration.week": "pour une semaine",
+ "blockingDuration.day": "Pour un jour",
+ "blockingDuration.month": "Pour un mois",
+ "blockingDuration.permanently": "Définitivement",
+ "blockingDuration.week": "Pour une semaine",
"comment.block": "Bloquer",
"comment.block-user": "Voulez-vous bloquer {userName} {duration} ?",
"comment.blocked-user": "Bloqué",
@@ -39,8 +40,8 @@
"comment.edit": "Modifier",
"comment.expired-time": "La période de modification est expirée.",
"comment.go-to-parent": "Aller au commentaire parent",
- "comment.hide": "Cacher",
- "comment.hide-user-comment": "Voulez-vous cacher les commentaires de {userName} ?",
+ "comment.hide": "Masquer",
+ "comment.hide-user-comment": "Voulez-vous masquer les commentaires de {userName} ?",
"comment.pin": "Epingler",
"comment.pin-comment": "Voulez-vous épingler ce commentaire ?",
"comment.reply": "Répondre",
@@ -51,61 +52,61 @@
"comment.unpin": "Désépingler",
"comment.unpin-comment": "Voulez-vous désépingler ce commentaire ?",
"comment.unverified-user": "Utilisateur non vérifié",
- "comment.unverify-user": "Voulez-vous marquer {userName} comme non vérifié ?",
+ "comment.unverify-user": "Voulez-vous signaler {userName} comme non vérifié ?",
"comment.verified-user": "Utilisateur vérifié",
"comment.verify-user": "Voulez-vous marquer {userName} comme vérifié ?",
- "comment.vote-error": "Erreur lors du vote : {voteErrorMessage}",
- "commentForm.anonymous-uploading-disabled": "Le partage d'images est désactivé pour les utilisateurs anonymes. Veuillez vous connecter.",
+ "comment.vote-error": "Erreur de vote : {voteErrorMessage}",
+ "commentForm.anonymous-uploading-disabled": "Le chargement d'image est désactivé pour les utilisateurs anonymes. Pour joindre des images, veuillez vous connecter.",
"commentForm.exceeded-size": "Le fichier {fileName} dépasse la taille limite de {maxImageSize}",
"commentForm.input-placeholder": "Votre commentaire ici",
"commentForm.new-comment": "Nouveau commentaire",
- "commentForm.notice-about-styling": "La syntaxe Markdown est supportée",
+ "commentForm.notice-about-styling": "La syntaxe Markdown est prise en charge",
"commentForm.preview": "Prévisualiser",
"commentForm.reply": "Répondre",
"commentForm.save": "Enregistrer",
"commentForm.send": "Envoyer",
"commentForm.subscribe-by": "Suivre par",
"commentForm.subscribe-or": "ou",
- "commentForm.unauthorized-uploading-disabled": "Le partage d'images est désactivé pour les utilisateurs non autorisés. Veuillez vous connecter.",
- "commentForm.unexpected-error": "Quelque chose s'est mal passé. Veuillez réessayer plus tard.",
+ "commentForm.unauthorized-uploading-disabled": "Le chargement d'image est désactivé pour les utilisateurs non autorisés. Il est nécessaire de se connecter.",
+ "commentForm.unexpected-error": "Une erreur s'est produite. Veuillez réessayer un peu plus tard.",
"commentForm.upload-file-fail": "Le téléchargement de {fileName} a échoué : \"{errorMessage}\"",
"commentForm.uploading": "Téléchargement en cours...",
"commentForm.uploading-file": "téléchargement de {fileName}...",
- "commentSort.sort-by": "Tri : ",
- "commentsSort.best": "Le meilleur en premier",
- "commentsSort.least-controversial": "Le moins controversé en premier",
- "commentsSort.least-recently-updated": "Mis à jour le moins récemment en premier",
- "commentsSort.most-controversial": "Le plus controversé en premier",
- "commentsSort.newest": "Le plus récent en premier",
- "commentsSort.oldest": "Le plus vieux en premier",
- "commentsSort.recently-updated": "Mis à jour le plus récemment en premier",
- "commentsSort.worst": "Le pire en premier",
- "errors.0": "Quelque chose s'est mal passé. Veuillez réessayer plus tard.",
+ "commentSort.sort-by": "Trier par",
+ "commentsSort.best": "Le meilleur",
+ "commentsSort.least-controversial": "Le moins controversé",
+ "commentsSort.least-recently-updated": "Mis à jour le moins récemment",
+ "commentsSort.most-controversial": "Le plus controversé",
+ "commentsSort.newest": "Le plus récent",
+ "commentsSort.oldest": "Le plus ancien",
+ "commentsSort.recently-updated": "Mis à jour récemment",
+ "commentsSort.worst": "Le pire",
+ "errors.0": "Une erreur s'est produite. Veuillez réessayer un peu plus tard.",
"errors.1": "Commentaire introuvable. Rafraichissez la page et réessayez.",
- "errors.10": "La période d'édition de ce commentaire a expiré, vous ne pouvez plus l'éditer.",
- "errors.11": "Il y a déjà des réponses à ce commentaire, vous ne pouvez plus l'éditer.",
- "errors.12": "Impossible d'enregistrer votre vote. Veuillez réessayer plus tard.",
+ "errors.10": "Il n'est plus possible de modifier ce commentaire.",
+ "errors.11": "Il y a déjà des réponses à ce commentaire, il n'est plus possible de l'éditer.",
+ "errors.12": "Impossible d'enregistrer le vote. Veuillez réessayer un peu plus tard.",
"errors.13": "Vous ne pouvez pas voter pour votre propre commentaire.",
"errors.14": "Vous avez déjà voté pour ce commentaire.",
"errors.15": "Il y a trop de votes pour ce commentaire.",
- "errors.16": "Le score de ce commentaire ne peut pas descendre plus bas.",
- "errors.17": "Action rejetée. Veuillez réessayer plus tard.",
- "errors.18": "Le fichier demandé ne peut pas être trouvé.",
- "errors.2": "Failed to unmarshal incoming request.",
- "errors.3": "Vous n'avez pas l'autorisation de faire ceci.",
- "errors.4": "Données de commentaire invalides.",
+ "errors.16": "Ce commentaire a déjà le score minimum.",
+ "errors.17": "Action rejetée. Veuillez réessayer un peu plus tard.",
+ "errors.18": "Le fichier demandé est introuvable.",
+ "errors.2": "Échec du traitement de la requête entrante.",
+ "errors.3": "Vous n'avez pas l'autorisation d'effectuer cette opération.",
+ "errors.4": "Données de commentaire non valides.",
"errors.5": "Commentaire introuvable. Rafraichissez la page et réessayez.",
"errors.6": "Site introuvable. Rafraichissez la page et réessayez.",
"errors.7": "L'utilisateur a été bloqué.",
"errors.8": "L'utilisateur a été bloqué.",
- "errors.9": "Comment changing failed. Please try again a bit later.",
+ "errors.9": "La modification du commentaire a échoué. Veuillez réessayer un peu plus tard.",
"errors.failed-fetch": "Impossible de récupérer les donnés. Veuillez vérifier votre connexion Internet ou réessayez plus tard",
"errors.forbidden": "Interdit.",
"errors.not-authorized": "Non autorisé.",
- "errors.to-many-request": "You have reached maximum request limit.",
- "errors.unexpected-error": "Une erreur inattendue s'est produite.",
+ "errors.to-many-request": "Vous avez atteint la limite maximale de requêtes.",
+ "errors.unexpected-error": "Un problème est survenu.",
"root.pinned-comments": "Commentaires épinglés",
- "root.powered-by": "Propulsé par Remark42",
+ "root.powered-by": "Powered by Remark42",
"root.show-more": "Afficher plus",
"settings.block": "bloquer",
"settings.block-time": "jusqu'au {day} à {time}",
@@ -114,7 +115,7 @@
"settings.blocked-users-title": "Utilisateurs bloqués",
"settings.hidden-user-header": "Utilisateurs cachés :",
"settings.hidden-users-title": "Utilisateurs cachés",
- "settings.hide": "cacher",
+ "settings.hide": "masquer",
"settings.no-blocked-users": "Il n'y a pas d'utilisateurs bloqués.",
"settings.no-hidden-users": "Il n'y a pas d'utilisateurs cachés.",
"settings.permanently": "définitivement",
@@ -124,40 +125,40 @@
"settings.unknown": "inconnu",
"subscribeByEmail.back": "Retour",
"subscribeByEmail.close": "Fermer",
- "subscribeByEmail.email": "Email",
- "subscribeByEmail.have-been-subscribed": "Vous vous êtes abonné par email aux mises à jour",
- "subscribeByEmail.have-been-unsubscribed": "Votre abonnement par email aux mises à jour a été interrompu.",
- "subscribeByEmail.only-registered-users": "Disponible uniquement aux utilisateurs enregistrés",
- "subscribeByEmail.submit": "Soumettre",
+ "subscribeByEmail.email": "E-mail",
+ "subscribeByEmail.have-been-subscribed": "Vous vous êtes abonné·e aux mises à jour par e-mail",
+ "subscribeByEmail.have-been-unsubscribed": "Votre abonnement aux mises à jour par e-mail a été interrompu",
+ "subscribeByEmail.only-registered-users": "Disponible uniquement pour les utilisateurs enregistrés",
+ "subscribeByEmail.submit": "Valider",
"subscribeByEmail.subscribe": "S'abonner",
- "subscribeByEmail.subscribe-by-email": "S'abonner par email",
+ "subscribeByEmail.subscribe-by-email": "S'abonner par e-mail",
"subscribeByEmail.subscribe-to-replies": "S'abonner aux réponses",
- "subscribeByEmail.subscribed": "Vous êtes abonné par email aux mises à jour",
+ "subscribeByEmail.subscribed": "Vous êtes abonné·e aux mises à jour par e-mail",
"subscribeByEmail.unsubscribe": "Se désabonner",
"subscribeByRSS.button-title": "S'abonner au flux RSS",
"subscribeByRSS.replies": "Réponses",
"subscribeByRSS.site": "Site",
- "subscribeByRSS.thread": "Sujet",
+ "subscribeByRSS.thread": "Fil d'actualités",
"subscribeByRSS.title": "RSS",
"token": "Jeton",
"token.expired": "Le jeton a expiré",
- "token.invalid": "Le jeton est invalide",
- "toolbar.attach-image": "Cliquez pour joindre une image, glissez-déposez-la ou collez-la du presse-papier",
+ "token.invalid": "Le jeton n'est pas valide",
+ "toolbar.attach-image": "Joindre une image, la glisser-déposer ou la coller à partir du presse-papier",
"toolbar.bold": "Ajouter du texte en gras {shortcut}",
"toolbar.code": "Insérer du code",
- "toolbar.header": "Ajouter un titre",
+ "toolbar.header": "Ajouter un titre texte",
"toolbar.italic": "Ajouter du texte en italique {shortcut}",
"toolbar.link": "Ajouter un lien {shortcut}",
"toolbar.ordered-list": "Ajouter une liste numérotée",
"toolbar.quote": "Insérer une citation",
"toolbar.unordered-list": "Ajouter une liste à puces",
"user-info.last-comments": "Derniers commentaires par {userName}",
- "user-info.unexpected-error": "Quelque chose s'est mal passé",
+ "user-info.unexpected-error": "Un problème est survenu",
"vote.anonymous": "Les utilisateurs anonymes ne peuvent pas voter",
"vote.deleted": "Vous ne pouvez pas voter pour un commentaire supprimé",
"vote.guest": "Connectez-vous pour voter",
- "vote.only-positive": "Vous ne pouvez voter que positivement",
- "vote.only-post-page": "Vous ne pouvez voter que sur la page de l'article",
+ "vote.only-positive": "Seul un score positif est autorisé",
+ "vote.only-post-page": "Le vote est possible seulement sur la page de l'article",
"vote.own-comment": "Vous ne pouvez pas voter pour votre propre commentaire.",
"vote.readonly": "Vous ne pouvez pas voter sur un sujet en lecture seule"
}
diff --git a/frontend/app/locales/ja.json b/frontend/app/locales/ja.json
new file mode 100644
index 00000000..cea3d85e
--- /dev/null
+++ b/frontend/app/locales/ja.json
@@ -0,0 +1,164 @@
+{
+ "auth.back": "Back",
+ "auth.email-address": "Email Address",
+ "auth.loading": "Loading...",
+ "auth.oauth-source": "Use Social Network",
+ "auth.oauth-button": "Sign In with {provider}",
+ "auth.or": "or",
+ "auth.signin": "Sign In",
+ "auth.submit": "Submit",
+ "auth.symbols-restriction": "Username must contain only letters, numbers, underscores or spaces",
+ "auth.user-not-found": "No user was found",
+ "auth.username": "Username",
+ "authPanel.disable-comments": "Disable comments",
+ "authPanel.disabled-cookies": "Disable third-party cookies blocking to login or open comments in",
+ "authPanel.enable-comments": "Enable comments",
+ "authPanel.enable-cookies": "Allow cookies to login and comment",
+ "authPanel.hide-settings": "Hide settings",
+ "authPanel.logged-as": "You logged in as",
+ "authPanel.logout": "Logout?",
+ "authPanel.new-page": "new page",
+ "authPanel.read-only": "Read-only",
+ "authPanel.request-to-delete-data": "Request my data removal",
+ "authPanel.show-settings": "Show settings",
+ "blockingDuration.day": "For a day",
+ "blockingDuration.month": "For a month",
+ "blockingDuration.permanently": "Permanently",
+ "blockingDuration.week": "For a week",
+ "comment.block": "Block",
+ "comment.block-user": "Do you want to block {userName} {duration}?",
+ "comment.blocked-user": "Blocked",
+ "comment.blocking-period": "Blocking period",
+ "comment.cancel": "Cancel",
+ "comment.controversy": "Controversy: {value}",
+ "comment.copied": "Copied!",
+ "comment.copy": "Copy",
+ "comment.delete": "Delete",
+ "comment.delete-message": "Do you want to delete this comment?",
+ "comment.deleted-comment": "This comment was deleted",
+ "comment.deleted-user": "Deleted",
+ "comment.edit": "Edit",
+ "comment.expired-time": "Editing time has expired.",
+ "comment.go-to-parent": "Go to parent comment",
+ "comment.hide": "Hide",
+ "comment.hide-user-comment": "Do you want to hide comments of {userName}?",
+ "comment.pin": "Pin",
+ "comment.pin-comment": "Do you want to pin this comment?",
+ "comment.reply": "Reply",
+ "comment.time": "{day} at {time}",
+ "comment.toggle-verification": "Toggle verification",
+ "comment.unblock": "Unblock",
+ "comment.unblock-user": "Do you want to unblock this user?",
+ "comment.unpin": "Unpin",
+ "comment.unpin-comment": "Do you want to unpin this comment?",
+ "comment.unverified-user": "Unverified user",
+ "comment.unverify-user": "Do you want to unverify {userName}?",
+ "comment.verified-user": "Verified user",
+ "comment.verify-user": "Do you want to verify {userName}?",
+ "comment.vote-error": "Voting error: {voteErrorMessage}",
+ "commentForm.anonymous-uploading-disabled": "Image uploading is disabled for anonymous users. Please log in not as anonymous user to be able to attach images.",
+ "commentForm.exceeded-size": "{fileName} exceeds size limit of {maxImageSize}",
+ "commentForm.input-placeholder": "Your comment here",
+ "commentForm.new-comment": "New comment",
+ "commentForm.notice-about-styling": "Styling with Markdown is supported",
+ "commentForm.preview": "Preview",
+ "commentForm.reply": "Reply",
+ "commentForm.save": "Save",
+ "commentForm.send": "Send",
+ "commentForm.subscribe-by": "Subscribe by",
+ "commentForm.subscribe-or": "or",
+ "commentForm.unauthorized-uploading-disabled": "Image uploading is disabled for unauthorized users. You should login before uploading.",
+ "commentForm.unexpected-error": "Something went wrong. Please try again a bit later.",
+ "commentForm.upload-file-fail": "{fileName} upload failed with \"{errorMessage}\"",
+ "commentForm.uploading": "Uploading...",
+ "commentForm.uploading-file": "uploading {fileName}...",
+ "commentSort.sort-by": "Sort by",
+ "commentsSort.best": "Best",
+ "commentsSort.least-controversial": "Least controversial",
+ "commentsSort.least-recently-updated": "Least recently updated",
+ "commentsSort.most-controversial": "Most controversial",
+ "commentsSort.newest": "Newest",
+ "commentsSort.oldest": "Oldest",
+ "commentsSort.recently-updated": "Recently updated",
+ "commentsSort.worst": "Worst",
+ "errors.0": "Something went wrong. Please try again a bit later.",
+ "errors.1": "Comment cannot be found. Please refresh the page and try again.",
+ "errors.10": "It is too late to edit the comment.",
+ "errors.11": "Comment already has reply, editing is not possible.",
+ "errors.12": "Cannot save voting result. Please try again a bit later.",
+ "errors.13": "You cannot vote for your own comment.",
+ "errors.14": "You have already voted for the comment.",
+ "errors.15": "Too many votes for the comment.",
+ "errors.16": "Min score reached for the comment.",
+ "errors.17": "Action rejected. Please try again a bit later.",
+ "errors.18": "Requested file cannot be found.",
+ "errors.2": "Failed to unmarshal incoming request.",
+ "errors.3": "You don't have permission for this operation.",
+ "errors.4": "Invalid comment data.",
+ "errors.5": "Comment cannot be found. Please refresh the page and try again.",
+ "errors.6": "Site cannot be found. Please refresh the page and try again.",
+ "errors.7": "User has been blocked.",
+ "errors.8": "User has been blocked.",
+ "errors.9": "Comment changing failed. Please try again a bit later.",
+ "errors.failed-fetch": "Failed to fetch. Please check your internet connection or try again a bit later",
+ "errors.forbidden": "Forbidden.",
+ "errors.not-authorized": "Not authorized.",
+ "errors.to-many-request": "You have reached maximum request limit.",
+ "errors.unexpected-error": "Something went wrong.",
+ "root.pinned-comments": "Pinned comments",
+ "root.powered-by": "Powered by Remark42",
+ "root.show-more": "Show more",
+ "settings.block": "block",
+ "settings.block-time": "until {day} at {time}",
+ "settings.block-user": "Do you want to block {userName}?",
+ "settings.blocked-users-header": "Blocked users:",
+ "settings.blocked-users-title": "Blocked users",
+ "settings.hidden-user-header": "Hidden users:",
+ "settings.hidden-users-title": "Hidden users",
+ "settings.hide": "hide",
+ "settings.no-blocked-users": "There are no blocked users.",
+ "settings.no-hidden-users": "There are no hidden users.",
+ "settings.permanently": "permanently",
+ "settings.show": "show",
+ "settings.unblock": "unblock",
+ "settings.unblock-user": "Do you want to unblock {userName}?",
+ "settings.unknown": "unknown",
+ "subscribeByEmail.back": "Back",
+ "subscribeByEmail.close": "Close",
+ "subscribeByEmail.email": "Email",
+ "subscribeByEmail.have-been-subscribed": "You have been subscribed on updates by email",
+ "subscribeByEmail.have-been-unsubscribed": "You have been unsubscribed by email to updates",
+ "subscribeByEmail.only-registered-users": "Available only for registered users",
+ "subscribeByEmail.submit": "Submit",
+ "subscribeByEmail.subscribe": "Subscribe",
+ "subscribeByEmail.subscribe-by-email": "Subscribe by Email",
+ "subscribeByEmail.subscribe-to-replies": "Subscribe to replies",
+ "subscribeByEmail.subscribed": "You are subscribed on updates by email",
+ "subscribeByEmail.unsubscribe": "Unsubscribe",
+ "subscribeByRSS.button-title": "Subscribe by RSS",
+ "subscribeByRSS.replies": "Replies",
+ "subscribeByRSS.site": "Site",
+ "subscribeByRSS.thread": "Thread",
+ "subscribeByRSS.title": "RSS",
+ "token": "Token",
+ "token.expired": "Token is expired",
+ "token.invalid": "Token is invalid",
+ "toolbar.attach-image": "Attach the image, drag & drop or paste from clipboard",
+ "toolbar.bold": "Add bold text {shortcut}",
+ "toolbar.code": "Insert a code",
+ "toolbar.header": "Add header text",
+ "toolbar.italic": "Add italic text {shortcut}",
+ "toolbar.link": "Add a link {shortcut}",
+ "toolbar.ordered-list": "Add a numbered list",
+ "toolbar.quote": "Insert a quote",
+ "toolbar.unordered-list": "Add a bulleted list",
+ "user-info.last-comments": "Last comments by {userName}",
+ "user-info.unexpected-error": "Something went wrong",
+ "vote.anonymous": "Anonymous users can't vote",
+ "vote.deleted": "Can't vote for deleted comment",
+ "vote.guest": "Sign in to vote",
+ "vote.only-positive": "Only positive score allowed",
+ "vote.only-post-page": "Voting allowed only on post's page",
+ "vote.own-comment": "Can't vote for your own comment",
+ "vote.readonly": "Can't vote on read-only topics"
+}
diff --git a/frontend/app/locales/ko.json b/frontend/app/locales/ko.json
new file mode 100644
index 00000000..a4049652
--- /dev/null
+++ b/frontend/app/locales/ko.json
@@ -0,0 +1,164 @@
+{
+ "auth.back": "뒤로",
+ "auth.email-address": "이메일 주소",
+ "auth.loading": "로드 중…",
+ "auth.oauth-source": "소셜 네트워크 사용",
+ "auth.oauth-button": "{provider}(으)로 로그인",
+ "auth.or": "또는",
+ "auth.signin": "로그인",
+ "auth.submit": "확인",
+ "auth.symbols-restriction": "사용자 이름에는 문자, 숫자, 밑줄 또는 공백만 포함되어야 합니다",
+ "auth.user-not-found": "사용자를 찾을 수 없습니다",
+ "auth.username": "사용자 이름",
+ "authPanel.disable-comments": "댓글 비활성화",
+ "authPanel.disabled-cookies": "로그인 또는 다음에서 댓글 열기를 차단하는 타사 쿠키 비활성화",
+ "authPanel.enable-comments": "댓글 활성화",
+ "authPanel.enable-cookies": "로그인 및 댓글 작업을 할 수 있도록 쿠키 허용",
+ "authPanel.hide-settings": "설정 숨기기",
+ "authPanel.logged-as": "다음으로 로그인되어 있습니다",
+ "authPanel.logout": "로그아웃하시겠어요?",
+ "authPanel.new-page": "새 페이지",
+ "authPanel.read-only": "읽기 전용",
+ "authPanel.request-to-delete-data": "내 데이터 제거 요청",
+ "authPanel.show-settings": "설정 표시",
+ "blockingDuration.day": "1일",
+ "blockingDuration.month": "1개월",
+ "blockingDuration.permanently": "영구적으로",
+ "blockingDuration.week": "1주일",
+ "comment.block": "차단",
+ "comment.block-user": "{userName} 님을 {duration}간 차단하시겠어요?",
+ "comment.blocked-user": "차단됨",
+ "comment.blocking-period": "차단 기간",
+ "comment.cancel": "취소",
+ "comment.controversy": "논쟁: {value}",
+ "comment.copied": "복사됨!",
+ "comment.copy": "복사",
+ "comment.delete": "삭제",
+ "comment.delete-message": "이 댓글을 삭제하시겠어요?",
+ "comment.deleted-comment": "이 댓글이 삭제되었습니다",
+ "comment.deleted-user": "삭제됨",
+ "comment.edit": "편집",
+ "comment.expired-time": "편집 시간이 만료되었습니다.",
+ "comment.go-to-parent": "상위 댓글로 이동",
+ "comment.hide": "숨기기",
+ "comment.hide-user-comment": "{userName} 님의 댓글을 숨기시겠어요?",
+ "comment.pin": "고정",
+ "comment.pin-comment": "이 댓글을 고정하시겠어요?",
+ "comment.reply": "답변하기",
+ "comment.time": "{day} {time}",
+ "comment.toggle-verification": "확인 상태 설정",
+ "comment.unblock": "차단 해제",
+ "comment.unblock-user": "이 사용자를 차단 해제하시겠어요?",
+ "comment.unpin": "고정 해제",
+ "comment.unpin-comment": "이 댓글을 고정 해제하시겠어요?",
+ "comment.unverified-user": "확인되지 않은 사용자",
+ "comment.unverify-user": "{userName} 님을 미확인 처리하시겠어요?",
+ "comment.verified-user": "확인된 사용자",
+ "comment.verify-user": "{userName} 님을 확인 처리하시겠어요?",
+ "comment.vote-error": "투표 오류: {voteErrorMessage}",
+ "commentForm.anonymous-uploading-disabled": "익명의 사용자는 이미지를 업로드할 수 없습니다. 이미지를 첨부하려면 익명이 아닌 사용자로 로그인하세요.",
+ "commentForm.exceeded-size": "{fileName}의 크기가 {maxImageSize} 한도를 초과합니다",
+ "commentForm.input-placeholder": "코멘트를 입력하세요",
+ "commentForm.new-comment": "새 댓글",
+ "commentForm.notice-about-styling": "Markdown을 사용하여 스타일을 지정할 수 있습니다",
+ "commentForm.preview": "미리보기",
+ "commentForm.reply": "답변하기",
+ "commentForm.save": "저장",
+ "commentForm.send": "보내기",
+ "commentForm.subscribe-by": "다음으로 구독",
+ "commentForm.subscribe-or": "또는",
+ "commentForm.unauthorized-uploading-disabled": "권한이 없는 사용자는 이미지를 업로드할 수 없습니다. 업로드하려면 로그인해야 합니다.",
+ "commentForm.unexpected-error": "문제가 발생했습니다. 잠시 후 다시 시도해 주세요.",
+ "commentForm.upload-file-fail": "{fileName} 업로드가 \"{errorMessage}\"(으)로 실패했습니다",
+ "commentForm.uploading": "업로드 중...",
+ "commentForm.uploading-file": "{fileName} 업로드 중...",
+ "commentSort.sort-by": "정렬:",
+ "commentsSort.best": "최고",
+ "commentsSort.least-controversial": "논쟁이 적은 순",
+ "commentsSort.least-recently-updated": "오래된 업데이트 순",
+ "commentsSort.most-controversial": "논쟁이 많은 순",
+ "commentsSort.newest": "최신 순",
+ "commentsSort.oldest": "오래된 순",
+ "commentsSort.recently-updated": "최신 업데이트 순",
+ "commentsSort.worst": "최저",
+ "errors.0": "문제가 발생했습니다. 잠시 후 다시 시도해 주세요.",
+ "errors.1": "댓글을 찾을 수 없습니다. 페이지를 새로고침하여 다시 시도하세요.",
+ "errors.10": "댓글을 추가하기에 너무 늦었습니다.",
+ "errors.11": "댓글에 답변이 이미 추가되어 편집할 수 없습니다.",
+ "errors.12": "투표 결과를 저장할 수 없습니다. 잠시 후 다시 시도해 주세요.",
+ "errors.13": "자신의 댓글에는 투표할 수 없습니다.",
+ "errors.14": "댓글에 이미 투표했습니다.",
+ "errors.15": "댓글에 너무 많이 투표했습니다.",
+ "errors.16": "댓글이 최소 점수에 도달했습니다.",
+ "errors.17": "작업이 거부되었습니다. 잠시 후 다시 시도해 주세요.",
+ "errors.18": "요청한 파일을 찾을 수 없습니다.",
+ "errors.2": "수신 요청 처리가 실패했습니다.",
+ "errors.3": "이 작업을 수행할 수 있는 권한이 없습니다.",
+ "errors.4": "댓글 데이터가 유효하지 않습니다.",
+ "errors.5": "댓글을 찾을 수 없습니다. 페이지를 새로고침하여 다시 시도하세요.",
+ "errors.6": "사이트를 찾을 수 없습니다. 페이지를 새로고침하여 다시 시도하세요.",
+ "errors.7": "사용자가 차단되었습니다.",
+ "errors.8": "사용자가 차단되었습니다.",
+ "errors.9": "댓글 변경이 실패했습니다. 잠시 후 다시 시도해 주세요.",
+ "errors.failed-fetch": "가져오기가 실패했습니다. 인터넷 연결을 확인하거나 잠시 후 다시 시도해 주세요.",
+ "errors.forbidden": "허용되지 않습니다.",
+ "errors.not-authorized": "권한이 없습니다.",
+ "errors.to-many-request": "최대 요청 한도에 도달했습니다.",
+ "errors.unexpected-error": "문제가 발생했습니다.",
+ "root.pinned-comments": "고정된 댓글",
+ "root.powered-by": "Remark42 제공",
+ "root.show-more": "더보기",
+ "settings.block": "차단",
+ "settings.block-time": "{day} {time}까지",
+ "settings.block-user": "{userName} 님을 차단하시겠어요?",
+ "settings.blocked-users-header": "차단한 사용자:",
+ "settings.blocked-users-title": "차단한 사용자",
+ "settings.hidden-user-header": "숨긴 사용자:",
+ "settings.hidden-users-title": "숨긴 사용자",
+ "settings.hide": "숨기기",
+ "settings.no-blocked-users": "차단한 사용자가 없습니다.",
+ "settings.no-hidden-users": "숨긴 사용자가 없습니다.",
+ "settings.permanently": "영구적으로",
+ "settings.show": "표시",
+ "settings.unblock": "차단 해제",
+ "settings.unblock-user": "{userName} 님을 차단 해제하시겠어요?",
+ "settings.unknown": "알 수 없음",
+ "subscribeByEmail.back": "뒤로",
+ "subscribeByEmail.close": "닫기",
+ "subscribeByEmail.email": "이메일",
+ "subscribeByEmail.have-been-subscribed": "이메일을 통한 업데이트를 구독했습니다",
+ "subscribeByEmail.have-been-unsubscribed": "이메일을 통한 업데이트를 구독 해지했습니다",
+ "subscribeByEmail.only-registered-users": "등록된 사용자만 이용할 수 있습니다",
+ "subscribeByEmail.submit": "확인",
+ "subscribeByEmail.subscribe": "구독",
+ "subscribeByEmail.subscribe-by-email": "이메일로 업데이트 구독",
+ "subscribeByEmail.subscribe-to-replies": "답변 구독하기",
+ "subscribeByEmail.subscribed": "이메일로 업데이트를 구독 중입니다",
+ "subscribeByEmail.unsubscribe": "구독 해지",
+ "subscribeByRSS.button-title": "RSS로 업데이트 구독",
+ "subscribeByRSS.replies": "답변",
+ "subscribeByRSS.site": "사이트",
+ "subscribeByRSS.thread": "스레드",
+ "subscribeByRSS.title": "RSS",
+ "token": "토큰",
+ "token.expired": "토큰이 만료되었습니다",
+ "token.invalid": "토큰이 유효하지 않습니다",
+ "toolbar.attach-image": "이미지를 첨부하거나 드래그앤드롭하거나 클립보드에서 붙여넣으세요",
+ "toolbar.bold": "굵은 텍스트 추가 {shortcut}",
+ "toolbar.code": "코드 삽입",
+ "toolbar.header": "헤더 텍스트 추가",
+ "toolbar.italic": "기울임꼴 텍스트 추가 {shortcut}",
+ "toolbar.link": "링크 추가 {shortcut}",
+ "toolbar.ordered-list": "숫자 지정된 목록 추가",
+ "toolbar.quote": "인용구 삽입",
+ "toolbar.unordered-list": "글머리 기호가 지정된 목록 추가",
+ "user-info.last-comments": "{userName} 님의 마지막 댓글",
+ "user-info.unexpected-error": "문제가 발생했습니다",
+ "vote.anonymous": "익명의 사용자는 투표할 수 없습니다",
+ "vote.deleted": "삭제된 댓글에는 투표할 수 없습니다",
+ "vote.guest": "투표하려면 로그인하세요",
+ "vote.only-positive": "점수는 양수로만 입력할 수 있습니다",
+ "vote.only-post-page": "게시물의 페이지에서만 투표할 수 있습니다",
+ "vote.own-comment": "자신의 댓글에는 투표할 수 없습니다",
+ "vote.readonly": "읽기 전용 항목에는 투표할 수 없습니다"
+}
diff --git a/frontend/app/locales/ru.json b/frontend/app/locales/ru.json
index 0b06fffe..25df1896 100644
--- a/frontend/app/locales/ru.json
+++ b/frontend/app/locales/ru.json
@@ -1,7 +1,8 @@
{
"auth.back": "Назад",
- "auth.email-address": "Email адрес",
+ "auth.email-address": "Адрес эл. почты",
"auth.loading": "Загрузка...",
+ "auth.oauth-source": "Использовать социальные сети",
"auth.oauth-button": "Войти через {provider}",
"auth.or": "или",
"auth.signin": "Войти",
@@ -9,22 +10,22 @@
"auth.symbols-restriction": "Имя пользователя должно начинаться с буквы и содержать только латинские буквы, цифры, знаки подчеркивания и пробелы",
"auth.user-not-found": "Пользователь не найден",
"auth.username": "Имя пользователя",
- "authPanel.disable-comments": "Выключить комментарии",
- "authPanel.disabled-cookies": "Disable third-party cookies blocking to login or open comments in",
+ "authPanel.disable-comments": "Отключить комментарии",
+ "authPanel.disabled-cookies": "Отключите блокировку сторонних файлов cookie, чтобы авторизоваться или открыть комментарии в",
"authPanel.enable-comments": "Включить комментарии",
- "authPanel.enable-cookies": "Allow cookies to login and comment",
- "authPanel.hide-settings": "Спрятать настройки",
+ "authPanel.enable-cookies": "Разрешите использование файлов cookie, чтобы авторизоваться и комментировать",
+ "authPanel.hide-settings": "Скрыть настройки",
"authPanel.logged-as": "Вы вошли как",
"authPanel.logout": "Выйти?",
- "authPanel.new-page": "новая страница",
+ "authPanel.new-page": "новой странице",
"authPanel.read-only": "Только для чтения",
- "authPanel.request-to-delete-data": "Запросить удаление моих данных",
+ "authPanel.request-to-delete-data": "Запросить удаление своих данных",
"authPanel.show-settings": "Показать настройки",
"blockingDuration.day": "На день",
"blockingDuration.month": "На месяц",
"blockingDuration.permanently": "Навсегда",
"blockingDuration.week": "На неделю",
- "comment.block": "Блокировать",
+ "comment.block": "Заблокировать",
"comment.block-user": "Заблокировать пользователя {userName} {duration}?",
"comment.blocked-user": "Заблокирован",
"comment.blocking-period": "Период блокировки",
@@ -33,131 +34,131 @@
"comment.copied": "Скопировано!",
"comment.copy": "Копировать",
"comment.delete": "Удалить",
- "comment.delete-message": "Удалить комментарий?",
- "comment.deleted-comment": "Комментарий был удалён",
- "comment.deleted-user": "Удалён",
+ "comment.delete-message": "Удалить этот комментарий?",
+ "comment.deleted-comment": "Комментарий удален",
+ "comment.deleted-user": "Удален",
"comment.edit": "Редактировать",
"comment.expired-time": "Время редактирования истекло.",
- "comment.go-to-parent": "Go to parent comment",
- "comment.hide": "Спрятать",
- "comment.hide-user-comment": "Спрятать комментарии от пользователя {userName}?",
+ "comment.go-to-parent": "Перейти к началу ветки",
+ "comment.hide": "Скрыть",
+ "comment.hide-user-comment": "Скрыть комментарии от пользователя {userName}?",
"comment.pin": "Закрепить",
"comment.pin-comment": "Закрепить комментарий?",
"comment.reply": "Ответить",
"comment.time": "{day} в {time}",
- "comment.toggle-verification": "Изменить статут подлинности учетной записи",
+ "comment.toggle-verification": "Изменить статус учетной записи",
"comment.unblock": "Разблокировать",
- "comment.unblock-user": "Разбокировать пользователя?",
+ "comment.unblock-user": "Разблокировать пользователя?",
"comment.unpin": "Открепить",
"comment.unpin-comment": "Открепить комментарий?",
- "comment.unverified-user": " Не проверенная на подлинность учетная запись",
- "comment.unverify-user": "Убрать статус подлинности учетной записи для {userName}?",
- "comment.verified-user": "Подлинная учетная запись",
- "comment.verify-user": "Подвердить подлинность учетной записи для {userName}?",
+ "comment.unverified-user": "Неподтвержденная учетная запись",
+ "comment.unverify-user": "Отменить подтверждение учетной записи для {userName}?",
+ "comment.verified-user": "Подтвержденная учетная запись",
+ "comment.verify-user": "Подтвердить учетную запись для {userName}?",
"comment.vote-error": "Ошибка голосования: {voteErrorMessage}",
- "commentForm.anonymous-uploading-disabled": "Image uploading is disabled for anonymous users. Please log in not as anonymous user to be able to attach images.",
- "commentForm.exceeded-size": "Размер файла {fileName} должен быть меньше чем {maxImageSize}",
- "commentForm.input-placeholder": "Написать комментарий",
+ "commentForm.anonymous-uploading-disabled": "Анонимные пользователи не могут загружать изображения. Для загрузки изображений войдите под своим именем.",
+ "commentForm.exceeded-size": "Размер файла {fileName} не должен превышать {maxImageSize}",
+ "commentForm.input-placeholder": "Оставьте здесь свой комментарий",
"commentForm.new-comment": "Новый комментарий",
- "commentForm.notice-about-styling": "Поддерживается Markdown форматирование",
+ "commentForm.notice-about-styling": "Поддерживается разметка Markdown",
"commentForm.preview": "Предпросмотр",
"commentForm.reply": "Ответить",
"commentForm.save": "Сохранить",
"commentForm.send": "Отправить",
- "commentForm.subscribe-by": "Подписаться",
+ "commentForm.subscribe-by": "Подписаться на обновления по",
"commentForm.subscribe-or": "или",
- "commentForm.unauthorized-uploading-disabled": "Загрузка изображений не доступна для неавторизированных пользователей. Авторизуйтесь для загрузки изображений.",
- "commentForm.unexpected-error": "Что-то пошло не так, попробуйте еще раз чуть позже.",
- "commentForm.upload-file-fail": "{fileName} невозможно загрузить из-за ошибки: \"{errorMessage}\"",
+ "commentForm.unauthorized-uploading-disabled": "Неавторизированные пользователи не могут загружать изображения. Авторизуйтесь для загрузки изображений.",
+ "commentForm.unexpected-error": "Что-то пошло не так. Попробуйте еще раз позже.",
+ "commentForm.upload-file-fail": "Ошибка загрузки {fileName}: \"{errorMessage}\"",
"commentForm.uploading": "Загрузка...",
- "commentForm.uploading-file": "Загрузка {fileName}...",
+ "commentForm.uploading-file": "загрузка {fileName}...",
"commentSort.sort-by": "Сортировать по",
"commentsSort.best": "Лучшие",
"commentsSort.least-controversial": "Наименее спорные",
- "commentsSort.least-recently-updated": "Давно обновленные",
+ "commentsSort.least-recently-updated": "Обновленные давно",
"commentsSort.most-controversial": "Наиболее спорные",
- "commentsSort.newest": "Новые",
- "commentsSort.oldest": "Старые",
- "commentsSort.recently-updated": "Недавно обновленные",
+ "commentsSort.newest": "Самые новые",
+ "commentsSort.oldest": "Самые старые",
+ "commentsSort.recently-updated": "Обновленные недавно",
"commentsSort.worst": "Худшие",
- "errors.0": "Что-то пошло не так, попробуйте еще раз чуть позже.",
- "errors.1": "Комментарий не найден. Перезагрузите страницу и попробуйте еще раз.",
+ "errors.0": "Что-то пошло не так. Попробуйте еще раз позже.",
+ "errors.1": "Комментарий не найден. Обновите страницу и попробуйте еще раз.",
"errors.10": "Время редактирования комментария истекло.",
- "errors.11": "На ваш комментарий уже ответили, редактирование не доступно.",
- "errors.12": "Не удалось проголосовать. Попробуйте еще раз чуть позже.",
- "errors.13": "Вы не можете голосовать за свой комментарий.",
+ "errors.11": "Редактирование недоступно, поскольку на комментарий уже ответили.",
+ "errors.12": "Не удалось проголосовать. Повторите попытку позже.",
+ "errors.13": "Вы не можете голосовать за свои комментарии.",
"errors.14": "Вы уже голосовали за этот комментарий.",
- "errors.15": "Слишком много голосов за комментарий.",
- "errors.16": "Min score reached for the comment.",
- "errors.17": "Действие отклонено. Попробуйте еще раз чуть позже.",
- "errors.18": "Запрашиваемый файл не найден.",
+ "errors.15": "У комментария превышено предельно допустимое количество голосов.",
+ "errors.16": "Для комментария достигнута минимально допустимая оценка.",
+ "errors.17": "Действие отклонено. Повторите попытку позже.",
+ "errors.18": "Не удалось найти запрошенный файл.",
"errors.2": "Не удалось обработать ответ от сервера.",
- "errors.3": "Недостаточно прав на совершение этого действия.",
- "errors.4": "Invalid comment data.",
- "errors.5": "Комментарий не найден. Перезагрузите страницу и попробуйте еще раз.",
- "errors.6": "Сайт не найден. Перезагрузите страницу и попробуйте еще раз.",
+ "errors.3": "У вас недостаточно прав для выполнения этого действия.",
+ "errors.4": "Комментарий содержит недопустимые данные.",
+ "errors.5": "Комментарий не найден. Обновите страницу и попробуйте еще раз.",
+ "errors.6": "Сайт не найден. Обновите страницу и попробуйте еще раз.",
"errors.7": "Пользователь был заблокирован.",
"errors.8": "Пользователь был заблокирован.",
- "errors.9": "Не удалось сохранить изменения. Попробуйте еще раз чуть позже.",
- "errors.failed-fetch": "Нет ответа с сервера. Проверьте ваше соединение с интернетом или попробуйте позже.",
+ "errors.9": "Не удалось сохранить изменения. Попробуйте еще раз позже.",
+ "errors.failed-fetch": "Сервер не отвечает. Проверьте подключение к Интернету или попробуйте позже.",
"errors.forbidden": "Запрещено.",
"errors.not-authorized": "Не авторизован.",
- "errors.to-many-request": "Слишком много запросов.",
+ "errors.to-many-request": "Достигнуто максимальное число запросов.",
"errors.unexpected-error": "Что-то пошло не так.",
- "root.pinned-comments": "Закреплённые комментарии",
- "root.powered-by": "Powered by Remark42",
- "root.show-more": "Показать ещё",
+ "root.pinned-comments": "Закрепленные комментарии",
+ "root.powered-by": "Работает на базе Remark42",
+ "root.show-more": "Показать еще",
"settings.block": "блокировать",
- "settings.block-time": "до {day} в {time}",
+ "settings.block-time": "до {day} {time}",
"settings.block-user": "Заблокировать пользователя {userName}?",
"settings.blocked-users-header": "Заблокированные пользователи:",
"settings.blocked-users-title": "Заблокированные пользователи",
"settings.hidden-user-header": "Скрытые пользователи:",
"settings.hidden-users-title": "Скрытые пользователи",
- "settings.hide": "Спрятать",
+ "settings.hide": "скрыть",
"settings.no-blocked-users": "Нет заблокированных пользователей.",
"settings.no-hidden-users": "Нет скрытых пользователей.",
"settings.permanently": "навсегда",
- "settings.show": "Показать",
+ "settings.show": "показать",
"settings.unblock": "разблокировать",
"settings.unblock-user": "Разблокировать пользователя {userName}?",
- "settings.unknown": "безымянный",
+ "settings.unknown": "нет данных",
"subscribeByEmail.back": "Назад",
"subscribeByEmail.close": "Закрыть",
- "subscribeByEmail.email": "Email",
- "subscribeByEmail.have-been-subscribed": "Вы были подписаны на обновления по email",
- "subscribeByEmail.have-been-unsubscribed": "Вы были отписаны от обновлений по email",
- "subscribeByEmail.only-registered-users": "Доступно только для зарегистрированных пользователей",
+ "subscribeByEmail.email": "Эл. почта",
+ "subscribeByEmail.have-been-subscribed": "Вы подписались на обновления по эл. почте",
+ "subscribeByEmail.have-been-unsubscribed": "Вы отписались от обновлений по эл. почте",
+ "subscribeByEmail.only-registered-users": "Только для зарегистрированных пользователей",
"subscribeByEmail.submit": "Отправить",
"subscribeByEmail.subscribe": "Подписаться",
- "subscribeByEmail.subscribe-by-email": "Подписаться по Email",
+ "subscribeByEmail.subscribe-by-email": "Подписаться на обновления по эл. почте",
"subscribeByEmail.subscribe-to-replies": "Подписаться на ответы",
- "subscribeByEmail.subscribed": "Вы были подписаны на обновления по email",
- "subscribeByEmail.unsubscribe": "Отказаться от подписки",
- "subscribeByRSS.button-title": "Подписаться по RSS",
+ "subscribeByEmail.subscribed": "Вы подписались на обновления по эл. почте",
+ "subscribeByEmail.unsubscribe": "Отписаться",
+ "subscribeByRSS.button-title": "Подписаться на обновления по RSS",
"subscribeByRSS.replies": "Ответы",
"subscribeByRSS.site": "Сайт",
"subscribeByRSS.thread": "Ветка",
"subscribeByRSS.title": "RSS",
"token": "Токен",
"token.expired": "Время действия токена истекло",
- "token.invalid": "Token is invalid",
- "toolbar.attach-image": "Прикрепить изображение, перетащите или вставьте изображение из буфера обмена",
- "toolbar.bold": "Жирный {shortcut}",
- "toolbar.code": "Код",
- "toolbar.header": "Заголовок",
- "toolbar.italic": "Курсив {shortcut}",
- "toolbar.link": "Ссылка {shortcut}",
- "toolbar.ordered-list": "Упорядоченный список",
- "toolbar.quote": "Цитата",
- "toolbar.unordered-list": "Неупорядоченный список",
+ "token.invalid": "Токен недействителен",
+ "toolbar.attach-image": "Прикрепить изображение, перетащить или вставить изображение из буфера обмена",
+ "toolbar.bold": "Добавить полужирный текст {shortcut}",
+ "toolbar.code": "Вставить фрагмент кода",
+ "toolbar.header": "Добавить заголовок",
+ "toolbar.italic": "Добавить курсивный текст {shortcut}",
+ "toolbar.link": "Добавить ссылку {shortcut}",
+ "toolbar.ordered-list": "Добавить нумерованный список",
+ "toolbar.quote": "Вставить цитату",
+ "toolbar.unordered-list": "Добавить маркированный список",
"user-info.last-comments": "Последние комментарии {userName}",
"user-info.unexpected-error": "Что-то пошло не так",
- "vote.anonymous": "Нельзя голосовать анонимному пользователю",
- "vote.deleted": "Нельзя голосовать за удалённый комментарий",
- "vote.guest": "Войдите в систему для голосование",
+ "vote.anonymous": "Анонимные пользователи не могут голосовать",
+ "vote.deleted": "Нельзя голосовать за удаленный комментарий",
+ "vote.guest": "Войдите, чтобы проголосовать",
"vote.only-positive": "Разрешены только положительные оценки",
- "vote.only-post-page": "Голосование возможно только для статей",
+ "vote.only-post-page": "Голосовать можно только на странице поста",
"vote.own-comment": "Вы не можете голосовать за свои комментарии",
- "vote.readonly": "Нельзя головать за комментарии, которые в режиме только для чтения"
+ "vote.readonly": "Вы не можете голосовать за комментарии, которые доступны только для чтения"
}
diff --git a/frontend/app/locales/tr.json b/frontend/app/locales/tr.json
index e228f9f4..0891b240 100644
--- a/frontend/app/locales/tr.json
+++ b/frontend/app/locales/tr.json
@@ -2,7 +2,8 @@
"auth.back": "Geri",
"auth.email-address": "E-posta adresi",
"auth.loading": "Yükleniyor...",
- "auth.oauth-button": "Sign In with {provider}",
+ "auth.oauth-source": "Sosyal Ağ Kullan",
+ "auth.oauth-button": "{provider} ile Oturum Aç",
"auth.or": "veya",
"auth.signin": "Giriş yap",
"auth.submit": "Gönder",
@@ -91,7 +92,7 @@
"errors.16": "Yorum için en alt skora ulaşıldı.",
"errors.17": "Eylem reddedildi. Lütfen daha sonra tekrar deneyin.",
"errors.18": "İstenilen dosya bulunamadı.",
- "errors.2": "Failed to unmarshal incoming request.",
+ "errors.2": "Gelen talep işlenemedi.",
"errors.3": "Bu işlemi yapmak için yetkiniz yok.",
"errors.4": "Yorum verisi geçersiz.",
"errors.5": "Yorum bulunamadı. Lütfen sayfayı yenileyip tekrar deneyin.",
@@ -141,7 +142,7 @@
"subscribeByRSS.title": "RSS",
"token": "Parola",
"token.expired": "Eski parola",
- "token.invalid": "Token is invalid",
+ "token.invalid": "Geçersiz parola",
"toolbar.attach-image": "Resim ekleyin, sürükleyip-bıraın veya kopyaladığınız resmi yapıştırın",
"toolbar.bold": "Kalın yazı ekle {shortcut}",
"toolbar.code": "Kod ekle",
diff --git a/frontend/app/locales/zh.json b/frontend/app/locales/zh.json
index 6debca47..829f3a96 100644
--- a/frontend/app/locales/zh.json
+++ b/frontend/app/locales/zh.json
@@ -1,17 +1,17 @@
{
"auth.back": "返回",
- "auth.email-address": "Email 地址",
+ "auth.email-address": "电子邮件地址",
"auth.loading": "加载中...",
"auth.oauth-source": "使用社交网络",
- "auth.oauth-button": "从 {provider} 登陆",
+ "auth.oauth-button": "使用 {provider} 登录",
"auth.or": "或",
"auth.signin": "登录",
"auth.submit": "提交",
- "auth.symbols-restriction": "用户名必须以字母开头并且只能包含字母、数字、下划线或空格",
- "auth.user-not-found": "找不到用户",
+ "auth.symbols-restriction": "用户名只能包含字母、数字、下划线或空格",
+ "auth.user-not-found": "未找到用户",
"auth.username": "用户名",
"authPanel.disable-comments": "禁用评论",
- "authPanel.disabled-cookies": "禁用第三方 Cookie 阻止登录或在其中打开评论",
+ "authPanel.disabled-cookies": "禁用第三方 Cookie,以登录或在以下方面打开评论:",
"authPanel.enable-comments": "启用评论",
"authPanel.enable-cookies": "允许使用 Cookie 登录并发表评论",
"authPanel.hide-settings": "隐藏设置",
@@ -19,45 +19,45 @@
"authPanel.logout": "登出?",
"authPanel.new-page": "新页面",
"authPanel.read-only": "只读",
- "authPanel.request-to-delete-data": "请求删除我的数据",
+ "authPanel.request-to-delete-data": "要求删除我的数据",
"authPanel.show-settings": "显示设置",
"blockingDuration.day": "一天",
"blockingDuration.month": "一个月",
"blockingDuration.permanently": "永久",
"blockingDuration.week": "一周",
- "comment.block": "封禁",
- "comment.block-user": "是否封禁 {userName} {duration}?",
- "comment.blocked-user": "已封禁用户",
- "comment.blocking-period": "封禁期限",
+ "comment.block": "封锁",
+ "comment.block-user": "是否封锁 {userName} {duration}?",
+ "comment.blocked-user": "已封锁用户",
+ "comment.blocking-period": "封锁期限",
"comment.cancel": "取消",
- "comment.controversy": "争议: {value}",
+ "comment.controversy": "争议:{value}",
"comment.copied": "已复制!",
"comment.copy": "复制",
"comment.delete": "删除",
- "comment.delete-message": "是否删除这条评论?",
+ "comment.delete-message": "您是否要删除这条评论?",
"comment.deleted-comment": "此评论已删除",
- "comment.deleted-user": "已删除用户",
+ "comment.deleted-user": "已删除评论",
"comment.edit": "编辑",
"comment.expired-time": "编辑时间已过期",
"comment.go-to-parent": "转到父评论",
"comment.hide": "隐藏",
"comment.hide-user-comment": "您要隐藏 {userName} 的评论吗?",
- "comment.pin": "置顶",
- "comment.pin-comment": "您要置顶此评论吗?",
+ "comment.pin": "固定",
+ "comment.pin-comment": "您要固定此评论吗?",
"comment.reply": "回复",
"comment.time": "{day} {time}",
- "comment.toggle-verification": "切换认证",
- "comment.unblock": "解除封禁",
- "comment.unblock-user": "您是否要取消封禁此用户?",
- "comment.unpin": "取消置顶",
- "comment.unpin-comment": "您要取消置顶此评论吗?",
- "comment.unverified-user": "未认证的用户",
- "comment.unverify-user": "您是否要取消认证 {userName}?",
- "comment.verified-user": "认证用户",
- "comment.verify-user": "您是否要设置 {userName} 为认证用户?",
+ "comment.toggle-verification": "切换验证",
+ "comment.unblock": "解除封锁",
+ "comment.unblock-user": "您是否要解除封锁此用户?",
+ "comment.unpin": "取消固定",
+ "comment.unpin-comment": "您是否要取消固定此评论?",
+ "comment.unverified-user": "未验证的用户",
+ "comment.unverify-user": "您是否要为 {userName} 取消验证?",
+ "comment.verified-user": "已验证的用户",
+ "comment.verify-user": "您是否要验证 {userName}?",
"comment.vote-error": "投票失败: {voteErrorMessage}",
"commentForm.anonymous-uploading-disabled": "匿名用户无法上传图片。上传之前,您应该先以非匿名用户登录。",
- "commentForm.exceeded-size": "{fileName} 超出了 {maxImageSize} 的大小限制",
+ "commentForm.exceeded-size": "{fileName} 超出了 {maxImageSize} 大小的限制",
"commentForm.input-placeholder": "在此填写评论",
"commentForm.new-comment": "新评论",
"commentForm.notice-about-styling": "支持使用 Markdown 样式",
@@ -68,97 +68,97 @@
"commentForm.subscribe-by": "订阅评论:",
"commentForm.subscribe-or": "或",
"commentForm.unauthorized-uploading-disabled": "未经授权的用户无法上传图片。上传之前,您应该先登录。",
- "commentForm.unexpected-error": "出了些问题,请稍后再试。",
+ "commentForm.unexpected-error": "出了些问题,请稍后再试。",
"commentForm.upload-file-fail": "{fileName} 上传失败,错误信息: \"{errorMessage}\"",
"commentForm.uploading": "上传中...",
"commentForm.uploading-file": "{fileName} 上传中...",
- "commentSort.sort-by": "排序方式",
+ "commentSort.sort-by": "排序依据",
"commentsSort.best": "最佳",
- "commentsSort.least-controversial": "争议最小",
- "commentsSort.least-recently-updated": "最近更新最少",
+ "commentsSort.least-controversial": "争议最少",
+ "commentsSort.least-recently-updated": "最早更新",
"commentsSort.most-controversial": "争议最多",
"commentsSort.newest": "最新",
"commentsSort.oldest": "最旧",
- "commentsSort.recently-updated": "最近更新最多",
+ "commentsSort.recently-updated": "最近更新",
"commentsSort.worst": "最差",
"errors.0": "出了些问题,请稍后再试。",
"errors.1": "找不到评论。请刷新页面,然后重试。",
- "errors.10": "编辑评论为时已晚。",
- "errors.11": "评论已回复,无法编辑。",
+ "errors.10": "现在编辑评论已经太晚了。",
+ "errors.11": "评论已有回复,无法编辑。",
"errors.12": "无法保存投票结果,请稍后再试。",
"errors.13": "您不能为自己的评论投票。",
- "errors.14": "您已经对评论投了赞成票。",
- "errors.15": "该评论的投票太多。",
+ "errors.14": "你已经为评论投票了。",
+ "errors.15": "评论的票数太多。",
"errors.16": "该评论已达到最低分数。",
"errors.17": "操作被拒绝,请稍后再试。",
"errors.18": "找不到请求的文件。",
- "errors.2": "无法解组传入的请求。",
+ "errors.2": "处理传入请求失败。",
"errors.3": "您无权执行此操作。",
- "errors.4": "无效的评论数据。",
+ "errors.4": "评论数据无效。",
"errors.5": "找不到评论。请刷新页面,然后重试。",
"errors.6": "找不到网站。请刷新页面,然后重试。",
- "errors.7": "用户已被封禁。",
- "errors.8": "用户已被封禁。",
+ "errors.7": "用户已被封锁。",
+ "errors.8": "用户已被封锁。",
"errors.9": "评论更改失败,请稍后再试。",
"errors.failed-fetch": "请求失败,请检查您的互联网连接或稍后再试。",
- "errors.forbidden": "禁止访问",
+ "errors.forbidden": "禁止",
"errors.not-authorized": "未经授权。",
"errors.to-many-request": "您已达到最大请求数限制。",
"errors.unexpected-error": "出了些问题。",
- "root.pinned-comments": "置顶的评论",
- "root.powered-by": "本站评论系统由 Remark42 驱动",
+ "root.pinned-comments": "固定的评论",
+ "root.powered-by": "由 Remark42 提供支持",
"root.show-more": "显示更多",
- "settings.block": "封禁",
+ "settings.block": "封锁",
"settings.block-time": "直到 {day} {time}",
- "settings.block-user": "您要封禁 {userName} 吗?",
- "settings.blocked-users-header": "已封禁用户:",
- "settings.blocked-users-title": "已封禁用户",
- "settings.hidden-user-header": "已隐藏评论用户:",
- "settings.hidden-users-title": "已隐藏评论用户",
+ "settings.block-user": "您要封锁 {userName} 吗?",
+ "settings.blocked-users-header": "已封锁的用户:",
+ "settings.blocked-users-title": "已封锁的用户",
+ "settings.hidden-user-header": "被隐藏的用户:",
+ "settings.hidden-users-title": "被隐藏的用户",
"settings.hide": "隐藏",
- "settings.no-blocked-users": "没有被封禁的用户。",
- "settings.no-hidden-users": "没有被隐藏评论的用户。",
- "settings.permanently": "永久地",
+ "settings.no-blocked-users": "没有被封锁的用户。",
+ "settings.no-hidden-users": "没有被隐藏的用户。",
+ "settings.permanently": "永久",
"settings.show": "显示",
- "settings.unblock": "解除封禁",
- "settings.unblock-user": "你想解除对 {userName} 的封禁?",
+ "settings.unblock": "解除封锁",
+ "settings.unblock-user": "你想解除对 {userName} 的封锁?",
"settings.unknown": "未知",
"subscribeByEmail.back": "返回",
"subscribeByEmail.close": "关闭",
- "subscribeByEmail.email": "Email",
+ "subscribeByEmail.email": "电子邮件",
"subscribeByEmail.have-been-subscribed": "您已通过电子邮件订阅了更新通知",
"subscribeByEmail.have-been-unsubscribed": "您已退订电子邮件更新通知",
"subscribeByEmail.only-registered-users": "仅适用于注册用户",
"subscribeByEmail.submit": "提交",
"subscribeByEmail.subscribe": "订阅",
- "subscribeByEmail.subscribe-by-email": "通过邮件订阅",
+ "subscribeByEmail.subscribe-by-email": "通过电子邮件订阅",
"subscribeByEmail.subscribe-to-replies": "订阅回复",
"subscribeByEmail.subscribed": "您当前通过电子邮件订阅了更新通知",
"subscribeByEmail.unsubscribe": "退订",
"subscribeByRSS.button-title": "通过 RSS 订阅",
"subscribeByRSS.replies": "回复",
- "subscribeByRSS.site": "站点",
- "subscribeByRSS.thread": "主题",
+ "subscribeByRSS.site": "网站",
+ "subscribeByRSS.thread": "会话",
"subscribeByRSS.title": "RSS",
- "token": "票据",
- "token.expired": "票据已经过期",
- "token.invalid": "无效票据",
- "toolbar.attach-image": "可以从剪贴板拖放或粘贴来上传图片",
- "toolbar.bold": "添加粗体 {shortcut}",
+ "token": "令牌",
+ "token.expired": "令牌已经过期",
+ "token.invalid": "令牌无效",
+ "toolbar.attach-image": "附加、拖放或从剪贴板粘贴图片",
+ "toolbar.bold": "添加粗体文字 {shortcut}",
"toolbar.code": "插入代码",
"toolbar.header": "添加标题文字",
"toolbar.italic": "添加斜体文字 {shortcut}",
"toolbar.link": "添加链接 {shortcut}",
- "toolbar.ordered-list": "添加有序编号列表",
+ "toolbar.ordered-list": "添加编号列表",
"toolbar.quote": "插入引用文本",
- "toolbar.unordered-list": "添加无序项目列表",
- "user-info.last-comments": "最近的评论由 {userName} 发表",
- "user-info.unexpected-error": "出问题了",
+ "toolbar.unordered-list": "添加项目符号列表",
+ "user-info.last-comments": "最近由 {userName} 发表的评论",
+ "user-info.unexpected-error": "出了些问题",
"vote.anonymous": "匿名用户无法投票",
"vote.deleted": "无法为已删除的评论投票",
"vote.guest": "登录以投票",
"vote.only-positive": "只允许正面分数",
"vote.only-post-page": "只能在文章页面上投票",
- "vote.own-comment": "无法给自己的评论投票",
- "vote.readonly": "无法对只读主题进行投票"
+ "vote.own-comment": "无法为自己的评论投票",
+ "vote.readonly": "无法为只读主题投票"
}