diff --git a/Gemfile.lock b/Gemfile.lock index 2de80b018c..920209f6c3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -193,9 +193,9 @@ GEM railties (>= 4.1.0) responders warden (~> 1.2.3) - devise-two-factor (6.2.0) + devise-two-factor (6.3.1) activesupport (>= 7.0, < 8.2) - devise (~> 4.0) + devise (>= 4.0, < 5.0) railties (>= 7.0, < 8.2) rotp (~> 6.0) devise_pam_authenticatable2 (9.2.0) @@ -700,7 +700,7 @@ GEM readline (~> 0.0) rdf-normalize (0.7.0) rdf (~> 3.3) - rdoc (7.0.3) + rdoc (7.1.0) erb psych (>= 4.0.0) tsort diff --git a/app/controllers/api/v1/accounts/notes_controller.rb b/app/controllers/api/v1/accounts/notes_controller.rb index 6d115631a2..b9b58b23d4 100644 --- a/app/controllers/api/v1/accounts/notes_controller.rb +++ b/app/controllers/api/v1/accounts/notes_controller.rb @@ -9,9 +9,9 @@ class Api::V1::Accounts::NotesController < Api::BaseController def create if params[:comment].blank? - AccountNote.find_by(account: current_account, target_account: @account)&.destroy + current_account.account_notes.find_by(target_account: @account)&.destroy else - @note = AccountNote.find_or_initialize_by(account: current_account, target_account: @account) + @note = current_account.account_notes.find_or_initialize_by(target_account: @account) @note.comment = params[:comment] @note.save! if @note.changed? end diff --git a/app/javascript/mastodon/locales/be.json b/app/javascript/mastodon/locales/be.json index dd621d37fd..095fee741d 100644 --- a/app/javascript/mastodon/locales/be.json +++ b/app/javascript/mastodon/locales/be.json @@ -187,6 +187,7 @@ "bundle_modal_error.close": "Закрыць", "bundle_modal_error.message": "Падчас загрузкі гэтага экрана штосьці пайшло не так.", "bundle_modal_error.retry": "Паспрабуйце зноў", + "callout.dismiss": "Адхіліць", "carousel.current": "Слайд {current, number} з {max, number}", "carousel.slide": "Слайд {current, number} з {max, number}", "closed_registrations.other_server_instructions": "Паколькі Mastodon дэцэнтралізаваны, вы можаце стварыць уліковы запіс на іншым серверы і працягваць узаемадзейнічаць з ім.", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "Знайсці іншы сервер", "closed_registrations_modal.preamble": "Mastodon дэцэнтралізаваны, так што дзе б вы ні стварылі ўліковы запіс, вы зможаце падпісвацца і камунікаваць з кім хочаце на гэтым серверы. Вы нават можаце стварыць свой!", "closed_registrations_modal.title": "Рэгістрацыя ў Mastodon", + "collections.create_a_collection_hint": "Стварыце калекцыю, каб параіць або падзяліцца сваімі любімымі ўліковымі запісамі з іншымі.", + "collections.create_collection": "Стварыць калекцыю", + "collections.delete_collection": "Выдаліць калекцыю", + "collections.error_loading_collections": "Адбылася памылка падчас загрузкі Вашых калекцый.", + "collections.no_collections_yet": "Пакуль няма калекцый.", + "collections.view_collection": "Глядзець калекцыю", "column.about": "Пра нас", "column.blocks": "Заблакіраваныя карыстальнікі", "column.bookmarks": "Закладкі", + "column.collections": "Мае калекцыі", "column.community": "Лакальная стужка", "column.create_list": "Стварыць спіс", "column.direct": "Прыватныя згадванні", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 2e0d7aee04..1a25cd95d8 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -57,6 +57,7 @@ "account.go_to_profile": "Vés al perfil", "account.hide_reblogs": "Amaga els impulsos de @{name}", "account.in_memoriam": "En Memòria.", + "account.joined_long": "Membre des de {date}", "account.joined_short": "S'hi va unir", "account.languages": "Canvia les llengües subscrites", "account.link_verified_on": "La propietat d'aquest enllaç es va verificar el dia {date}", @@ -90,6 +91,8 @@ "account.unmute": "Deixa de silenciar @{name}", "account.unmute_notifications_short": "Deixa de silenciar les notificacions", "account.unmute_short": "Deixa de silenciar", + "account_fields_modal.close": "Tanca", + "account_fields_modal.title": "Informació de {name}", "account_note.placeholder": "Clica per a afegir-hi una nota", "admin.dashboard.daily_retention": "Ràtio de retenció d'usuaris per dia, després de registrar-se", "admin.dashboard.monthly_retention": "Ràtio de retenció d'usuaris per mes, després de registrar-se", @@ -158,6 +161,7 @@ "bundle_modal_error.close": "Tanca", "bundle_modal_error.message": "S'ha produït un error en carregar aquesta pantalla.", "bundle_modal_error.retry": "Torna-ho a provar", + "callout.dismiss": "Omet", "carousel.current": "Diapositiva {current, number} / {max, number}", "carousel.slide": "Diapositiva {current, number} de {max, number}", "closed_registrations.other_server_instructions": "Com que Mastodon és descentralitzat, pots crear un compte en un altre servidor i continuar interactuant amb aquest.", @@ -165,9 +169,16 @@ "closed_registrations_modal.find_another_server": "Troba un altre servidor", "closed_registrations_modal.preamble": "Mastodon és descentralitzat. Per tant, tinguis on tinguis el compte, seràs capaç de seguir i interactuar amb tothom des d'aquest servidor. Fins i tot pots tenir el compte en el teu propi servidor!", "closed_registrations_modal.title": "Registrant-se a Mastodon", + "collections.create_a_collection_hint": "Creeu una coŀlecció per a recomanar o compartir amb d'altres els vostres comptes preferits.", + "collections.create_collection": "Crea una coŀlecció", + "collections.delete_collection": "Elimina la coŀlecció", + "collections.error_loading_collections": "Hi ha hagut un error en carregar les vostres coŀleccions.", + "collections.no_collections_yet": "Encara no hi ha coŀleccions.", + "collections.view_collection": "Mostra la coŀlecció", "column.about": "Quant a", "column.blocks": "Usuaris blocats", "column.bookmarks": "Marcadors", + "column.collections": "Les meves coŀleccions", "column.community": "Línia de temps local", "column.create_list": "Crea una llista", "column.direct": "Mencions privades", @@ -425,6 +436,7 @@ "footer.source_code": "Mostra el codi font", "footer.status": "Estat", "footer.terms_of_service": "Condicions de servei", + "form_field.optional": "(opcional)", "generic.saved": "Desat", "getting_started.heading": "Primeres passes", "hashtag.admin_moderation": "Obre la interfície de moderació per a #{name}", @@ -562,6 +574,7 @@ "load_pending": "{count, plural, one {# element nou} other {# elements nous}}", "loading_indicator.label": "Es carrega…", "media_gallery.hide": "Amaga", + "minicard.more_items": "+{count}", "moved_to_account_banner.text": "El teu compte {disabledAccount} està desactivat perquè l'has mogut a {movedToAccount}.", "mute_modal.hide_from_notifications": "Amaga de les notificacions", "mute_modal.hide_options": "Amaga les opcions", @@ -1027,7 +1040,7 @@ "visibility_modal.direct_quote_warning.title": "Les cites no es poden incrustar a les mencions privades", "visibility_modal.header": "Visibilitat i interacció", "visibility_modal.helper.direct_quoting": "No es poden citar mencions privades fetes a Mastondon.", - "visibility_modal.helper.privacy_editing": "La visibilitat no es pot canviar després de publicar una publicació.", + "visibility_modal.helper.privacy_editing": "La visibilitat no es pot canviar després s'ha fet una publicació.", "visibility_modal.helper.privacy_private_self_quote": "Les autocites de publicacions privades no es poden fer públiques.", "visibility_modal.helper.private_quoting": "No es poden citar publicacions fetes a Mastodon només per a seguidors.", "visibility_modal.helper.unlisted_quoting": "Quan la gent us citi, les seves publicacions quedaran amagades de les línies de temps de tendències.", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index a16fa45c5c..dbc4726c85 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -187,6 +187,7 @@ "bundle_modal_error.close": "Luk", "bundle_modal_error.message": "Noget gik galt under indlæsningen af denne skærm.", "bundle_modal_error.retry": "Forsøg igen", + "callout.dismiss": "Afvis", "carousel.current": "Dias {current, number} / {max, number}", "carousel.slide": "Dias {current, number} af {max, number}", "closed_registrations.other_server_instructions": "Eftersom Mastodon er decentraliseret, kan du oprette en konto på en anden server og stadig interagere med denne.", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "Find en anden server", "closed_registrations_modal.preamble": "Mastodon er decentraliseret, så uanset hvor du opretter din konto, vil du være i stand til at følge og interagere med hvem som helst på denne server. Du kan endda selv være vært for den!", "closed_registrations_modal.title": "Oprettelse på Mastodon", + "collections.create_a_collection_hint": "Opret en samling for at anbefale eller dele dine yndlingskonti med andre.", + "collections.create_collection": "Opret samling", + "collections.delete_collection": "Slet samling", + "collections.error_loading_collections": "Der opstod en fejl under indlæsning af dine samlinger.", + "collections.no_collections_yet": "Ingen samlinger endnu.", + "collections.view_collection": "Vis samling", "column.about": "Om", "column.blocks": "Blokerede brugere", "column.bookmarks": "Bogmærker", + "column.collections": "Mine samlinger", "column.community": "Lokal tidslinje", "column.create_list": "Opret liste", "column.direct": "Private omtaler", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 7da4faf181..a866ddf284 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -178,7 +178,7 @@ "bundle_column_error.copy_stacktrace": "Fehlerbericht kopieren", "bundle_column_error.error.body": "Die angeforderte Seite konnte nicht dargestellt werden. Dies könnte auf einen Fehler in unserem Code oder auf ein Browser-Kompatibilitätsproblem zurückzuführen sein.", "bundle_column_error.error.title": "Oh nein!", - "bundle_column_error.network.body": "Beim Versuch, diese Seite zu laden, ist ein Fehler aufgetreten. Dies könnte auf ein vorübergehendes Problem mit deiner Internetverbindung oder diesem Server zurückzuführen sein.", + "bundle_column_error.network.body": "Beim Laden dieser Seite ist ein Fehler aufgetreten. Die Ursache könnte ein vorübergehendes Problem mit deiner Internetverbindung oder diesem Server sein.", "bundle_column_error.network.title": "Netzwerkfehler", "bundle_column_error.retry": "Erneut versuchen", "bundle_column_error.return": "Zurück zur Startseite", @@ -187,6 +187,7 @@ "bundle_modal_error.close": "Schließen", "bundle_modal_error.message": "Beim Laden des Inhalts ist etwas schiefgelaufen.", "bundle_modal_error.retry": "Erneut versuchen", + "callout.dismiss": "Verwerfen", "carousel.current": "Seite {current, number}/{max, number}", "carousel.slide": "Seite {current, number} von {max, number}", "closed_registrations.other_server_instructions": "Da Mastodon dezentralisiert ist, kannst du dich auch woanders im Fediverse registrieren und trotzdem mit diesem Server in Kontakt bleiben.", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "Anderen Server suchen", "closed_registrations_modal.preamble": "Mastodon ist dezentralisiert, das heißt, unabhängig davon, wo du dein Konto erstellst, kannst du jedem Profil auf diesem Server folgen und mit ihm interagieren. Du kannst sogar deinen eigenen Mastodon-Server hosten!", "closed_registrations_modal.title": "Bei Mastodon registrieren", + "collections.create_a_collection_hint": "Erstelle eine Sammlung, um deine Lieblingsprofile anderen zu empfehlen oder sie zu teilen.", + "collections.create_collection": "Sammlung erstellen", + "collections.delete_collection": "Sammlung löschen", + "collections.error_loading_collections": "Beim Laden deiner Sammlungen ist ein Fehler aufgetreten.", + "collections.no_collections_yet": "Bisher keine Sammlungen vorhanden.", + "collections.view_collection": "Sammlungen anzeigen", "column.about": "Über", "column.blocks": "Blockierte Profile", "column.bookmarks": "Lesezeichen", + "column.collections": "Meine Sammlungen", "column.community": "Lokale Timeline", "column.create_list": "Liste erstellen", "column.direct": "Private Erwähnungen", @@ -605,7 +613,7 @@ "mute_modal.you_wont_see_mentions": "Du wirst keine Beiträge sehen, die dieses Profil erwähnen.", "mute_modal.you_wont_see_posts": "Deine Beiträge können von diesem stummgeschalteten Profil weiterhin gesehen werden, aber du wirst dessen Beiträge nicht mehr sehen.", "navigation_bar.about": "Über", - "navigation_bar.account_settings": "Passwort und Sicherheit", + "navigation_bar.account_settings": "Passwort & Sicherheit", "navigation_bar.administration": "Administration", "navigation_bar.advanced_interface": "Erweitertes Webinterface öffnen", "navigation_bar.automated_deletion": "Automatisiertes Löschen", diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index 8b86158a23..8e5cf51d0d 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -187,6 +187,7 @@ "bundle_modal_error.close": "Κλείσιμο", "bundle_modal_error.message": "Κάτι πήγε στραβά κατά τη φόρτωση αυτής της οθόνης.", "bundle_modal_error.retry": "Δοκίμασε ξανά", + "callout.dismiss": "Απόρριψη", "carousel.current": "Διαφάνεια {current, number} / {max, number}", "carousel.slide": "Διαφάνεια {current, number} από {max, number}", "closed_registrations.other_server_instructions": "Καθώς το Mastodon είναι αποκεντρωμένο, μπορείς να δημιουργήσεις λογαριασμό σε άλλον διακομιστή αλλά να συνεχίσεις να αλληλεπιδράς με αυτόν.", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "Βρες άλλον διακομιστή", "closed_registrations_modal.preamble": "Το Mastodon είναι αποκεντρωμένο, οπότε ανεξάρτητα από το πού θα δημιουργήσεις τον λογαριασμό σου, μπορείς να ακολουθήσεις και να αλληλεπιδράσεις με οποιονδήποτε σε αυτόν τον διακομιστή. Μπορείς ακόμη και να κάνεις τον δικό σου!", "closed_registrations_modal.title": "Εγγραφή στο Mastodon", + "collections.create_a_collection_hint": "Δημιουργήστε μια συλλογή για να προτείνετε ή να μοιραστείτε τους αγαπημένους σας λογαριασμούς με άλλους.", + "collections.create_collection": "Δημιουργία συλλογής", + "collections.delete_collection": "Διαγραφή συλλογής", + "collections.error_loading_collections": "Παρουσιάστηκε σφάλμα κατά την προσπάθεια φόρτωσης των συλλογών σας.", + "collections.no_collections_yet": "Καμία συλλογή ακόμη.", + "collections.view_collection": "Προβολή συλλογής", "column.about": "Σχετικά με", "column.blocks": "Αποκλεισμένοι χρήστες", "column.bookmarks": "Σελιδοδείκτες", + "column.collections": "Οι συλλογές μου", "column.community": "Τοπική ροή", "column.create_list": "Δημιουργία λίστας", "column.direct": "Ιδιωτικές επισημάνσεις", diff --git a/app/javascript/mastodon/locales/en-GB.json b/app/javascript/mastodon/locales/en-GB.json index 42678744b6..5c5d992188 100644 --- a/app/javascript/mastodon/locales/en-GB.json +++ b/app/javascript/mastodon/locales/en-GB.json @@ -187,6 +187,7 @@ "bundle_modal_error.close": "Close", "bundle_modal_error.message": "Something went wrong while loading this screen.", "bundle_modal_error.retry": "Try again", + "callout.dismiss": "Dismiss", "carousel.current": "Slide {current, number} / {max, number}", "carousel.slide": "Slide {current, number} of {max, number}", "closed_registrations.other_server_instructions": "Since Mastodon is decentralised, you can create an account on another server and still interact with this one.", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "Find another server", "closed_registrations_modal.preamble": "Mastodon is decentralised, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", "closed_registrations_modal.title": "Signing up on Mastodon", + "collections.create_a_collection_hint": "Create a collection to recommend or share your favourite accounts with others.", + "collections.create_collection": "Create collection", + "collections.delete_collection": "Delete collection", + "collections.error_loading_collections": "There was an error when trying to load your collections.", + "collections.no_collections_yet": "No collections yet.", + "collections.view_collection": "View collection", "column.about": "About", "column.blocks": "Blocked users", "column.bookmarks": "Bookmarks", + "column.collections": "My collections", "column.community": "Local timeline", "column.create_list": "Create list", "column.direct": "Private mentions", diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index 72ab261702..1d5b8f35cf 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -799,7 +799,7 @@ "privacy.private.short": "Followers", "privacy.public.long": "Anyone on and off Mastodon", "privacy.public.short": "Public", - "privacy.quote.anyone": "{visibility}, anyone can quote", + "privacy.quote.anyone": "{visibility}, quotes allowed", "privacy.quote.disabled": "{visibility}, quotes disabled", "privacy.quote.limited": "{visibility}, quotes limited", "privacy.unlisted.additional": "This behaves exactly like public, except the post will not appear in live feeds or hashtags, explore, or Mastodon search, even if you are opted-in account-wide.", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index dd0a3850bc..7e87e5c4fd 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -187,6 +187,7 @@ "bundle_modal_error.close": "Cerrar", "bundle_modal_error.message": "Algo salió mal al cargar esta pantalla.", "bundle_modal_error.retry": "Intentá de nuevo", + "callout.dismiss": "Descartar", "carousel.current": "Diapositiva {current, number} / {max, number}", "carousel.slide": "Diapositiva {current, number} de {max, number}", "closed_registrations.other_server_instructions": "Ya que Mastodon es descentralizado, podés crearte una cuenta en otro servidor y todavía interactuar con éste.", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "Buscar otro servidor", "closed_registrations_modal.preamble": "Mastodon es descentralizado, por lo que no importa dónde creés tu cuenta, podrás seguir e interactuar con cualquier persona en este servidor. ¡Incluso podés montar tu propio servidor!", "closed_registrations_modal.title": "Registrarse en Mastodon", + "collections.create_a_collection_hint": "Creá una colección para recomendar o compartir tus cuentas favoritas con otras personas.", + "collections.create_collection": "Crear colección", + "collections.delete_collection": "Eliminar colección", + "collections.error_loading_collections": "Hubo un error al intentar cargar tus colecciones.", + "collections.no_collections_yet": "No hay colecciones aún.", + "collections.view_collection": "Abrir colección", "column.about": "Información", "column.blocks": "Usuarios bloqueados", "column.bookmarks": "Marcadores", + "column.collections": "Mis colecciones", "column.community": "Línea temporal local", "column.create_list": "Crear lista", "column.direct": "Menciones privadas", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index b41e411db5..5e66b7b067 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -187,6 +187,7 @@ "bundle_modal_error.close": "Cerrar", "bundle_modal_error.message": "Algo ha fallado al cargar esta pantalla.", "bundle_modal_error.retry": "Inténtalo de nuevo", + "callout.dismiss": "Descartar", "carousel.current": "Diapositiva {current, number} / {max, number}", "carousel.slide": "Diapositiva {current, number} de {max, number}", "closed_registrations.other_server_instructions": "Como Mastodon es descentralizado, puedes crear una cuenta en otro servidor y seguir interactuando con este.", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "Buscar otro servidor", "closed_registrations_modal.preamble": "Mastodon es descentralizado, por lo que no importa dónde crees tu cuenta, podrás seguir e interactuar con cualquier persona en este servidor. ¡Incluso puedes alojarlo tú mismo!", "closed_registrations_modal.title": "Registrarse en Mastodon", + "collections.create_a_collection_hint": "Crea una colección para recomendar o compartir tus cuentas favoritas con otras personas.", + "collections.create_collection": "Crear colección", + "collections.delete_collection": "Eliminar colección", + "collections.error_loading_collections": "Se produjo un error al intentar cargar tus colecciones.", + "collections.no_collections_yet": "No hay colecciones todavía.", + "collections.view_collection": "Ver colección", "column.about": "Acerca de", "column.blocks": "Usuarios bloqueados", "column.bookmarks": "Marcadores", + "column.collections": "Mis colecciones", "column.community": "Cronología local", "column.create_list": "Crear lista", "column.direct": "Menciones privadas", diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json index e4c303153d..c5dd1afa22 100644 --- a/app/javascript/mastodon/locales/et.json +++ b/app/javascript/mastodon/locales/et.json @@ -454,6 +454,7 @@ "footer.source_code": "Lähtekood", "footer.status": "Olek", "footer.terms_of_service": "Kasutustingimused", + "form_field.optional": "(valikuline)", "generic.saved": "Salvestatud", "getting_started.heading": "Alustamine", "hashtag.admin_moderation": "Ava modereerimisliides #{name} jaoks", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 999680635c..16d7d5006d 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -187,6 +187,7 @@ "bundle_modal_error.close": "Sulje", "bundle_modal_error.message": "Jotain meni pieleen tätä näyttöä ladattaessa.", "bundle_modal_error.retry": "Yritä uudelleen", + "callout.dismiss": "Hylkää", "carousel.current": "Dia {current, number} / {max, number}", "carousel.slide": "Dia {current, number} / {max, number}", "closed_registrations.other_server_instructions": "Koska Mastodon on hajautettu, voit luoda tilin toiselle palvelimelle ja olla silti vuorovaikutuksessa tämän kanssa.", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "Etsi toinen palvelin", "closed_registrations_modal.preamble": "Mastodon on hajautettu, joten riippumatta siitä, missä luot tilisi, voit seurata ja olla vuorovaikutuksessa kenen tahansa kanssa tällä palvelimella. Voit jopa isännöidä palvelinta!", "closed_registrations_modal.title": "Rekisteröityminen Mastodoniin", + "collections.create_a_collection_hint": "Luomalla kokoelman voit suositella tai jakaa suosikkitilejäsi muiden kanssa.", + "collections.create_collection": "Luo kokoelma", + "collections.delete_collection": "Poista kokoelma", + "collections.error_loading_collections": "Kokoelmien latauksessa tapahtui virhe.", + "collections.no_collections_yet": "Ei vielä kokoelmia.", + "collections.view_collection": "Näytä kokoelma", "column.about": "Tietoja", "column.blocks": "Estetyt käyttäjät", "column.bookmarks": "Kirjanmerkit", + "column.collections": "Omat kokoelmat", "column.community": "Paikallinen aikajana", "column.create_list": "Luo lista", "column.direct": "Yksityismaininnat", diff --git a/app/javascript/mastodon/locales/fo.json b/app/javascript/mastodon/locales/fo.json index aac6797b04..51200d5a41 100644 --- a/app/javascript/mastodon/locales/fo.json +++ b/app/javascript/mastodon/locales/fo.json @@ -187,6 +187,7 @@ "bundle_modal_error.close": "Lat aftur", "bundle_modal_error.message": "Okkurt gekk galið, tá hendan síðan bleiv innlisin.", "bundle_modal_error.retry": "Royn umaftur", + "callout.dismiss": "Avvís", "carousel.current": "Glæra {current, number} / {max, number}", "carousel.slide": "Glæra {current, number} av {max, number}", "closed_registrations.other_server_instructions": "Av tí at Mastodon er desentraliserað, kanst tú stovna eina kontu á einum øðrum ambætara og framvegis virka saman við hesum ambætaranum.", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "Finn ein annan ambætara", "closed_registrations_modal.preamble": "Mastodon er desentraliserað, so óansæð hvar tú stovnar tína kontu, so ber til hjá tær at fylgja og virka saman við einum og hvørjum á hesum ambætaranum. Tað ber enntá til at hýsa tí sjálvi!", "closed_registrations_modal.title": "At stovna kontu á Mastodon", + "collections.create_a_collection_hint": "Ger eitt savn sum kann brúkast til at viðmæla ella deila yndiskontur við øðrum.", + "collections.create_collection": "Ger savn", + "collections.delete_collection": "Strika savn", + "collections.error_loading_collections": "Ein feilur hendi, tá tú royndi at finna fram søvnini hjá tær.", + "collections.no_collections_yet": "Eingi søvn enn.", + "collections.view_collection": "Vís savn", "column.about": "Um", "column.blocks": "Bannaðir brúkarar", "column.bookmarks": "Bókamerki", + "column.collections": "Míni søvn", "column.community": "Lokal tíðarlinja", "column.create_list": "Ger lista", "column.direct": "Privatar umrøður", @@ -454,6 +462,7 @@ "footer.source_code": "Vís keldukotuna", "footer.status": "Støða", "footer.terms_of_service": "Tænastutreytir", + "form_field.optional": "(valfrítt)", "generic.saved": "Goymt", "getting_started.heading": "At byrja", "hashtag.admin_moderation": "Lat umsjónarmarkamót upp fyri #{name}", diff --git a/app/javascript/mastodon/locales/fr-CA.json b/app/javascript/mastodon/locales/fr-CA.json index 7c8fc6358b..d7dad1a26a 100644 --- a/app/javascript/mastodon/locales/fr-CA.json +++ b/app/javascript/mastodon/locales/fr-CA.json @@ -187,6 +187,7 @@ "bundle_modal_error.close": "Fermer", "bundle_modal_error.message": "Un problème s'est produit lors du chargement de cet écran.", "bundle_modal_error.retry": "Réessayer", + "callout.dismiss": "Rejeter", "carousel.current": "Diapositive {current, number} / {max, number}", "carousel.slide": "Diapositive {current, number} de {max, number}", "closed_registrations.other_server_instructions": "Puisque Mastodon est décentralisé, vous pouvez créer un compte sur un autre serveur et interagir quand même avec celui-ci.", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "Trouver un autre serveur", "closed_registrations_modal.preamble": "Mastodon est décentralisé, donc peu importe où vous créez votre compte, vous serez en mesure de suivre et d'interagir avec quiconque sur ce serveur. Vous pouvez même l'héberger vous-même!", "closed_registrations_modal.title": "S'inscrire sur Mastodon", + "collections.create_a_collection_hint": "Créer une collection pour recommander ou partager vos comptes préférés.", + "collections.create_collection": "Créer une collection", + "collections.delete_collection": "Supprimer la collection", + "collections.error_loading_collections": "Une erreur s'est produite durant le chargement de vos collections.", + "collections.no_collections_yet": "Aucune collection pour le moment.", + "collections.view_collection": "Voir la collection", "column.about": "À propos", "column.blocks": "Comptes bloqués", "column.bookmarks": "Signets", + "column.collections": "Mes collections", "column.community": "Fil local", "column.create_list": "Créer une liste", "column.direct": "Mention privée", @@ -454,6 +462,7 @@ "footer.source_code": "Voir le code source", "footer.status": "État", "footer.terms_of_service": "Conditions d’utilisation", + "form_field.optional": "(facultatif)", "generic.saved": "Sauvegardé", "getting_started.heading": "Pour commencer", "hashtag.admin_moderation": "Ouvrir l'interface de modération pour #{name}", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 456258ca2e..cc60da91fc 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -187,6 +187,7 @@ "bundle_modal_error.close": "Fermer", "bundle_modal_error.message": "Un problème s'est produit lors du chargement de cet écran.", "bundle_modal_error.retry": "Réessayer", + "callout.dismiss": "Rejeter", "carousel.current": "Diapositive {current, number} / {max, number}", "carousel.slide": "Diapositive {current, number} de {max, number}", "closed_registrations.other_server_instructions": "Puisque Mastodon est décentralisé, vous pouvez créer un compte sur un autre serveur et interagir quand même avec celui-ci.", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "Trouver un autre serveur", "closed_registrations_modal.preamble": "Mastodon est décentralisé : peu importe où vous créez votre compte, vous serez en mesure de suivre et d'interagir avec quiconque sur ce serveur. Vous pouvez même l'héberger !", "closed_registrations_modal.title": "Inscription sur Mastodon", + "collections.create_a_collection_hint": "Créer une collection pour recommander ou partager vos comptes préférés.", + "collections.create_collection": "Créer une collection", + "collections.delete_collection": "Supprimer la collection", + "collections.error_loading_collections": "Une erreur s'est produite durant le chargement de vos collections.", + "collections.no_collections_yet": "Aucune collection pour le moment.", + "collections.view_collection": "Voir la collection", "column.about": "À propos", "column.blocks": "Utilisateurs bloqués", "column.bookmarks": "Marque-pages", + "column.collections": "Mes collections", "column.community": "Fil public local", "column.create_list": "Créer une liste", "column.direct": "Mentions privées", @@ -454,6 +462,7 @@ "footer.source_code": "Voir le code source", "footer.status": "État", "footer.terms_of_service": "Conditions d’utilisation", + "form_field.optional": "(facultatif)", "generic.saved": "Sauvegardé", "getting_started.heading": "Pour commencer", "hashtag.admin_moderation": "Ouvrir l'interface de modération pour #{name}", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index fdf6ee865a..ad272e270a 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -187,6 +187,7 @@ "bundle_modal_error.close": "Pechar", "bundle_modal_error.message": "Algo fallou mentras cargaba esta páxina.", "bundle_modal_error.retry": "Téntao de novo", + "callout.dismiss": "Desbotar", "carousel.current": "Filmina {current, number} / {max, number}", "carousel.slide": "Filmina {current, number} de {max, number}", "closed_registrations.other_server_instructions": "Cómo Mastodon é descentralizado, podes crear unha conta noutro servidor e interactuar igualmente con este.", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "Atopa outro servidor", "closed_registrations_modal.preamble": "Mastodon é descentralizado, así que non importa onde crees a conta, poderás seguir e interactuar con calquera conta deste servidor. Incluso podes ter o teu servidor!", "closed_registrations_modal.title": "Crear conta en Mastodon", + "collections.create_a_collection_hint": "Crear unha colección para recomendar ou compartir as túas contas favoritas.", + "collections.create_collection": "Crear colección", + "collections.delete_collection": "Eliminar colección", + "collections.error_loading_collections": "Houbo un erro ao intentar cargar as túas coleccións.", + "collections.no_collections_yet": "Aínda non tes coleccións.", + "collections.view_collection": "Ver colección", "column.about": "Sobre", "column.blocks": "Usuarias bloqueadas", "column.bookmarks": "Marcadores", + "column.collections": "As miñas coleccións", "column.community": "Cronoloxía local", "column.create_list": "Crear lista", "column.direct": "Mencións privadas", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index f01e43968c..ef4f648770 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -187,6 +187,7 @@ "bundle_modal_error.close": "לסגור", "bundle_modal_error.message": "משהו השתבש בעת טעינת המסך הזה.", "bundle_modal_error.retry": "לנסות שוב", + "callout.dismiss": "לבטל", "carousel.current": "שקופית{current, number} מתוך {max, number}", "carousel.slide": "שקופית {current, number} מתוך {max, number}", "closed_registrations.other_server_instructions": "מכיוון שמסטודון היא רשת מבוזרת, ניתן ליצור חשבון על שרת נוסף ועדיין לקיים קשר עם משתמשים בשרת זה.", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "חיפוש שרת אחר", "closed_registrations_modal.preamble": "מסטודון הוא רשת מבוזרת, כך שלא משנה היכן החשבון שלך, קיימת האפשרות לעקוב ולתקשר עם משתמשים בשרת הזה. אפשר אפילו להריץ שרת בעצמך!", "closed_registrations_modal.title": "להרשם למסטודון", + "collections.create_a_collection_hint": "יצירת אוסף כדי להמליץ או לשתף את החשבונות החביבים עליך עם אחרים.", + "collections.create_collection": "יצירת אוסף", + "collections.delete_collection": "מחיקת האוסף", + "collections.error_loading_collections": "חלה שגיאה בנסיון לטעון את אוספיך.", + "collections.no_collections_yet": "עוד אין אוספים.", + "collections.view_collection": "צפיה באוסף", "column.about": "אודות", "column.blocks": "משתמשים חסומים", "column.bookmarks": "סימניות", + "column.collections": "האוספים שלי", "column.community": "פיד שרת מקומי", "column.create_list": "יצירת רשימה", "column.direct": "הודעות פרטיות", @@ -454,6 +462,7 @@ "footer.source_code": "צפיה בקוד המקור", "footer.status": "מצב", "footer.terms_of_service": "תנאי השירות", + "form_field.optional": "(אפשרות)", "generic.saved": "נשמר", "getting_started.heading": "בואו נתחיל", "hashtag.admin_moderation": "פתיחת ממשק פיקוח דיון עבור #{name}", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 26d9658dbd..b405b5b095 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -194,9 +194,16 @@ "closed_registrations_modal.find_another_server": "Másik kiszolgáló keresése", "closed_registrations_modal.preamble": "A Mastodon decentralizált, így teljesen mindegy, hol hozod létre a fiókodat, követhetsz és kapcsolódhatsz bárkivel ezen a kiszolgálón is. Saját magad is üzemeltethetsz kiszolgálót!", "closed_registrations_modal.title": "Regisztráció a Mastodonra", + "collections.create_a_collection_hint": "Gyűjtemény létrehozása a kedvenc fiókok másoknak való ajánlásához.", + "collections.create_collection": "Gyűjtemény létrehozása", + "collections.delete_collection": "Gyűjtemény törlése", + "collections.error_loading_collections": "Hiba történt a gyűjtemények betöltése során.", + "collections.no_collections_yet": "Még nincsenek gyűjtemények.", + "collections.view_collection": "Gyűjtemény megtekintése", "column.about": "Névjegy", "column.blocks": "Letiltott felhasználók", "column.bookmarks": "Könyvjelzők", + "column.collections": "Saját gyűjtemények", "column.community": "Helyi idővonal", "column.create_list": "Lista létrehozása", "column.direct": "Személyes említések", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index 0aaaaa1297..f1b2e5ff38 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -187,6 +187,7 @@ "bundle_modal_error.close": "Loka", "bundle_modal_error.message": "Eitthvað fór úrskeiðis við að hlaða inn þessum skjá.", "bundle_modal_error.retry": "Reyndu aftur", + "callout.dismiss": "Vísa frá", "carousel.current": "Skyggna {current, number} / {max, number}", "carousel.slide": "Skyggna {current, number} af {max, number}", "closed_registrations.other_server_instructions": "Þar sem Mastodon er ekki miðstýrt, þá getur þú búið til aðgang á öðrum þjóni, en samt haft samskipti við þennan.", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "Finna annan netþjón", "closed_registrations_modal.preamble": "Mastodon er ekki miðstýrt, svo það skiptir ekki máli hvar þú býrð til aðgang; þú munt get fylgt eftir og haft samskipti við hvern sem er á þessum þjóni. Þú getur jafnvel hýst þinn eigin Mastodon þjón!", "closed_registrations_modal.title": "Að nýskrá sig á Mastodon", + "collections.create_a_collection_hint": "Búðu til safn með eftirlætisnotendunum þínum til að deila eða mæla með við aðra.", + "collections.create_collection": "Búa til safn", + "collections.delete_collection": "Eyða safni", + "collections.error_loading_collections": "Villa kom upp þegar reynt var að hlaða inn söfnunum þínum.", + "collections.no_collections_yet": "Engin söfn ennþá.", + "collections.view_collection": "Skoða safn", "column.about": "Um hugbúnaðinn", "column.blocks": "Útilokaðir notendur", "column.bookmarks": "Bókamerki", + "column.collections": "Söfnin mín", "column.community": "Staðvær tímalína", "column.create_list": "Búa til lista", "column.direct": "Einkaspjall", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index 88b548e533..e9128ee8b1 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -187,6 +187,7 @@ "bundle_modal_error.close": "Chiudi", "bundle_modal_error.message": "Si è verificato un errore durante il caricamento di questa schermata.", "bundle_modal_error.retry": "Riprova", + "callout.dismiss": "Ignora", "carousel.current": "Diapositiva {current, number} / {max, number}", "carousel.slide": "Diapositiva {current, number} di {max, number}", "closed_registrations.other_server_instructions": "Poiché Mastodon è decentralizzato, puoi creare un profilo su un altro server, pur continuando a interagire con questo.", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "Trova un altro server", "closed_registrations_modal.preamble": "Mastodon è decentralizzato, quindi, non importa dove crei il tuo profilo, potrai seguire e interagire con chiunque su questo server. Anche se sei tu stesso a ospitarlo!", "closed_registrations_modal.title": "Registrazione su Mastodon", + "collections.create_a_collection_hint": "Crea una collezione per consigliare o condividere i tuoi account preferiti con altri.", + "collections.create_collection": "Crea la collezione", + "collections.delete_collection": "Cancella la collezione", + "collections.error_loading_collections": "Si è verificato un errore durante il tentativo di caricare le tue collezioni.", + "collections.no_collections_yet": "Nessuna collezione ancora.", + "collections.view_collection": "Visualizza la collezione", "column.about": "Info", "column.blocks": "Utenti bloccati", "column.bookmarks": "Segnalibri", + "column.collections": "Le mie collezioni", "column.community": "Cronologia locale", "column.create_list": "Crea lista", "column.direct": "Menzioni private", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index bec46ab52e..313a05cb95 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -57,7 +57,7 @@ "account.go_to_profile": "Ga naar profiel", "account.hide_reblogs": "Boosts van @{name} verbergen", "account.in_memoriam": "In memoriam.", - "account.joined_long": "Lid geworden op {date}", + "account.joined_long": "Geregistreerd op {date}", "account.joined_short": "Geregistreerd op", "account.languages": "Getoonde talen wijzigen", "account.link_verified_on": "Eigendom van deze link is gecontroleerd op {date}", @@ -92,7 +92,7 @@ "account.unmute_notifications_short": "Meldingen niet langer negeren", "account.unmute_short": "Niet langer negeren", "account_fields_modal.close": "Sluiten", - "account_fields_modal.title": "{name}'s info", + "account_fields_modal.title": "Info over {name}", "account_note.placeholder": "Klik om een opmerking toe te voegen", "admin.dashboard.daily_retention": "Retentiegraad van gebruikers per dag, vanaf registratie", "admin.dashboard.monthly_retention": "Retentiegraad van gebruikers per maand, vanaf registratie", @@ -187,6 +187,7 @@ "bundle_modal_error.close": "Sluiten", "bundle_modal_error.message": "Er ging iets mis tijdens het laden van dit scherm.", "bundle_modal_error.retry": "Opnieuw proberen", + "callout.dismiss": "Afwijzen", "carousel.current": "Bericht {current, number} / {max, number}", "carousel.slide": "Bericht {current, number} van {max, number}", "closed_registrations.other_server_instructions": "Omdat Mastodon gedecentraliseerd is, kun je op een andere server een account registreren en vanaf daar nog steeds met deze server communiceren.", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "Een andere server zoeken", "closed_registrations_modal.preamble": "Mastodon is gedecentraliseerd. Op welke server je ook een account hebt, je kunt overal vandaan mensen op deze server volgen en er mee interactie hebben. Je kunt zelfs zelf een Mastodon-server hosten!", "closed_registrations_modal.title": "Registreren op Mastodon", + "collections.create_a_collection_hint": "Een verzameling aanmaken om je favoriete accounts aan te bevelen of te delen met anderen.", + "collections.create_collection": "Verzameling aanmaken", + "collections.delete_collection": "Verzameling verwijderen", + "collections.error_loading_collections": "Er is een fout opgetreden bij het laden van je verzamelingen.", + "collections.no_collections_yet": "Nog geen verzamelingen.", + "collections.view_collection": "Verzameling bekijken", "column.about": "Over", "column.blocks": "Geblokkeerde gebruikers", "column.bookmarks": "Bladwijzers", + "column.collections": "Mijn verzamelingen", "column.community": "Lokale tijdlijn", "column.create_list": "Lijst aanmaken", "column.direct": "Privéberichten", @@ -454,6 +462,7 @@ "footer.source_code": "Broncode bekijken", "footer.status": "Status", "footer.terms_of_service": "Gebruiksvoorwaarden", + "form_field.optional": "(optioneel)", "generic.saved": "Opgeslagen", "getting_started.heading": "Aan de slag", "hashtag.admin_moderation": "Moderatie-omgeving van #{name} openen", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index f7aa78d128..7a037beb87 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -57,6 +57,7 @@ "account.go_to_profile": "Przejdź do profilu", "account.hide_reblogs": "Ukryj podbicia od @{name}", "account.in_memoriam": "Ku pamięci.", + "account.joined_long": "Dołączył(a) dnia {date}", "account.joined_short": "Dołączył(a)", "account.languages": "Zmień subskrybowane języki", "account.link_verified_on": "Własność tego odnośnika została potwierdzona {date}", @@ -90,6 +91,8 @@ "account.unmute": "Nie wyciszaj @{name}", "account.unmute_notifications_short": "Nie wyciszaj powiadomień", "account.unmute_short": "Nie wyciszaj", + "account_fields_modal.close": "Zamknij", + "account_fields_modal.title": "Informacje o {name}", "account_note.placeholder": "Kliknij, aby dodać notatkę", "admin.dashboard.daily_retention": "Wskaźnik utrzymania użytkowników według dni od rejestracji", "admin.dashboard.monthly_retention": "Wskaźnik utrzymania użytkowników według miesięcy od rejestracji", @@ -126,6 +129,8 @@ "annual_report.summary.archetype.booster.desc_self": "Pozostałeś na polowaniu na posty do wzmocnienia i wzmocnienia innych twórców doskonałym celem.", "annual_report.summary.archetype.booster.name": "Łucznik", "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.desc_public": "Wiemy, że {name} był(a) tam gdzieś i cieszył(a) się Mastodonem na swój własny, cichy sposób.", + "annual_report.summary.archetype.lurker.desc_self": "Wiemy, że byłeś(-aś) tam gdzieś i cieszyłeś(-aś) się Mastodonem na swój własny, cichy sposób.", "annual_report.summary.archetype.lurker.name": "Stoik", "annual_report.summary.archetype.oracle.name": "Wyrocznia", "annual_report.summary.archetype.pollster.name": "Zastanawiacz", diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json index 458552b442..255719a455 100644 --- a/app/javascript/mastodon/locales/pt-PT.json +++ b/app/javascript/mastodon/locales/pt-PT.json @@ -187,6 +187,7 @@ "bundle_modal_error.close": "Fechar", "bundle_modal_error.message": "Algo correu mal ao carregar este ecrã.", "bundle_modal_error.retry": "Tenta de novo", + "callout.dismiss": "Descartar", "carousel.current": "Slide {current, number} / {max, number}", "carousel.slide": "Slide {current, number} de {max, number}", "closed_registrations.other_server_instructions": "Visto que o Mastodon é descentralizado, podes criar uma conta noutro servidor e interagir com este na mesma.", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "Procurar outro servidor", "closed_registrations_modal.preamble": "O Mastodon é descentralizado, por isso não importa onde a tua conta é criada, pois continuarás a poder acompanhar e interagir com qualquer um neste servidor. Podes até alojar o teu próprio servidor!", "closed_registrations_modal.title": "Criar uma conta no Mastodon", + "collections.create_a_collection_hint": "Crie uma coleção para recomendar ou partilhar as suas contas favoritas com outras pessoas.", + "collections.create_collection": "Criar coleção", + "collections.delete_collection": "Eliminar coleção", + "collections.error_loading_collections": "Ocorreu um erro ao tentar carregar as suas coleções.", + "collections.no_collections_yet": "Ainda não existem coleções.", + "collections.view_collection": "Ver coleções", "column.about": "Sobre", "column.blocks": "Utilizadores bloqueados", "column.bookmarks": "Marcadores", + "column.collections": "As minhas coleções", "column.community": "Cronologia local", "column.create_list": "Criar lista", "column.direct": "Menções privadas", diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json index c7f2b15d12..c7aeff8ed2 100644 --- a/app/javascript/mastodon/locales/sl.json +++ b/app/javascript/mastodon/locales/sl.json @@ -21,10 +21,12 @@ "account.block_domain": "Blokiraj domeno {domain}", "account.block_short": "Blokiraj", "account.blocked": "Blokirano", + "account.blocking": "Blokirano", "account.cancel_follow_request": "Umakni zahtevo za sledenje", "account.copy": "Kopiraj povezavo do profila", "account.direct": "Zasebno omeni @{name}", "account.disable_notifications": "Ne obveščaj me več, ko ima @{name} novo objavo", + "account.domain_blocking": "Blokirana domena", "account.edit_profile": "Uredi profil", "account.edit_profile_short": "Uredi", "account.enable_notifications": "Obvesti me, ko ima @{name} novo objavo", @@ -45,6 +47,7 @@ "account.followers": "Sledilci", "account.followers.empty": "Nihče še ne sledi temu uporabniku.", "account.followers_counter": "{count, plural, one {{counter} sledilec} two {{counter} sledilca} few {{counter} sledilci} other {{counter} sledilcev}}", + "account.followers_you_know_counter": "{counter} znanih", "account.following": "Sledim", "account.following_counter": "{count, plural, one {{counter} sleden} two {{counter} sledena} few {{counter} sledeni} other {{counter} sledenih}}", "account.follows.empty": "Ta uporabnik še ne sledi nikomur.", @@ -87,6 +90,7 @@ "account.unmute_notifications_short": "Izklopi utišanje obvestil", "account.unmute_short": "Povrni glas", "account_fields_modal.close": "Zapri", + "account_fields_modal.title": "Podatki o: {name}", "account_note.placeholder": "Kliknite, da dodate opombo", "admin.dashboard.daily_retention": "Mera ohranjanja uporabnikov po dnevih od registracije", "admin.dashboard.monthly_retention": "Mera ohranjanja uporabnikov po mesecih od registracije", @@ -113,6 +117,11 @@ "annual_report.announcement.action_dismiss": "Ne, hvala", "annual_report.nav_item.badge": "Nov", "annual_report.shared_page.donate": "Prispevaj", + "annual_report.shared_page.footer": "S {heart} ustvarila ekipa Mastodon", + "annual_report.summary.archetype.booster.name": "Lokostrelec", + "annual_report.summary.archetype.die_drei_fragezeichen": "???", + "annual_report.summary.archetype.lurker.name": "Stoik", + "annual_report.summary.archetype.oracle.name": "Orakelj", "annual_report.summary.archetype.replier.name": "Metulj", "annual_report.summary.archetype.reveal": "Razkrij moj arhetip", "annual_report.summary.archetype.title_public": "Arhetip {name}", @@ -153,14 +162,21 @@ "bundle_modal_error.close": "Zapri", "bundle_modal_error.message": "Med nalaganjem prikaza je prišlo do napake.", "bundle_modal_error.retry": "Poskusi znova", + "callout.dismiss": "Opusti", + "carousel.current": "Prosojnica {current, number} / {max, number}", + "carousel.slide": "Prosojnica {current, number} od {max, number}", "closed_registrations.other_server_instructions": "Ker je Mastodon decentraliziran, lahko ustvarite račun na drugem strežniku in ste še vedno v interakciji s tem.", "closed_registrations_modal.description": "Odpiranje računa na domeni {domain} trenutno ni možno, upoštevajte pa, da ne potrebujete računa prav na domeni {domain}, da bi uporabljali Mastodon.", "closed_registrations_modal.find_another_server": "Najdi drug strežnik", "closed_registrations_modal.preamble": "Mastodon je decentraliziran, kar pomeni, da ni pomembno, kje ustvarite svoj račun; od koder koli je mogoče slediti in komunicirati z vsemi s tega strežnika. Strežnik lahko gostite tudi sami!", "closed_registrations_modal.title": "Registracija v Mastodon", + "collections.create_collection": "Ustvari zbirko", + "collections.delete_collection": "Izbriši zbirko", + "collections.view_collection": "Pokaži zbirko", "column.about": "O programu", "column.blocks": "Blokirani uporabniki", "column.bookmarks": "Zaznamki", + "column.collections": "Moje zbirke", "column.community": "Krajevna časovnica", "column.create_list": "Ustvari seznam", "column.direct": "Zasebne omembe", @@ -223,6 +239,7 @@ "confirmations.delete_list.confirm": "Izbriši", "confirmations.delete_list.message": "Ali ste prepričani, da želite trajno izbrisati ta seznam?", "confirmations.delete_list.title": "Želite izbrisati seznam?", + "confirmations.discard_draft.confirm": "Opusti in nadaljuj", "confirmations.discard_draft.edit.cancel": "Nadaljuj z urejanjem", "confirmations.discard_draft.post.cancel": "Nadaljuj na osnutku", "confirmations.discard_edit_media.confirm": "Opusti", @@ -297,6 +314,7 @@ "domain_pill.your_handle": "Vaša ročica:", "domain_pill.your_server": "Vaše digitalno domovanje, kjer bivajo vse vaše objave. Vam ni všeč? Kadar koli ga prenesite med strežniki in z njim tudi svoje sledilce.", "domain_pill.your_username": "Vaš edinstveni identifikator na tem strežniku. Uporabnike z istim uporabniškim imenom je možno najti na različnih strežnikih.", + "dropdown.empty": "Izberite možnost", "embed.instructions": "Vstavite to objavo na svojo spletno stran tako, da kopirate spodnjo kodo.", "embed.preview": "Takole bo videti:", "emoji_button.activity": "Dejavnost", @@ -346,6 +364,8 @@ "explore.trending_links": "Novice", "explore.trending_statuses": "Objave", "explore.trending_tags": "Ključniki", + "featured_carousel.current": "Objava {current, number} / {max, number}", + "featured_carousel.slide": "Objava {current, number} od {max, number}", "filter_modal.added.context_mismatch_explanation": "Ta kategorija filtra ne velja za kontekst, v katerem ste dostopali do te objave. Če želite, da je objava filtrirana tudi v tem kontekstu, morate urediti filter.", "filter_modal.added.context_mismatch_title": "Neujemanje konteksta!", "filter_modal.added.expired_explanation": "Ta kategorija filtra je pretekla. Morali boste spremeniti datum veljavnosti, da bo veljal še naprej.", @@ -397,6 +417,7 @@ "footer.source_code": "Pokaži izvorno kodo", "footer.status": "Stanje", "footer.terms_of_service": "Pogoji uporabe", + "form_field.optional": "(neobvezno)", "generic.saved": "Shranjeno", "getting_started.heading": "Kako začeti", "hashtag.admin_moderation": "Odpri vmesnik za moderiranje za #{name}", @@ -486,6 +507,7 @@ "keyboard_shortcuts.toggle_hidden": "Pokaži/skrij besedilo za CW", "keyboard_shortcuts.toggle_sensitivity": "Pokaži/skrij predstavnosti", "keyboard_shortcuts.toot": "Začni povsem novo objavo", + "keyboard_shortcuts.top": "Premakni na vrh seznama", "keyboard_shortcuts.translate": "za prevod objave", "keyboard_shortcuts.unfocus": "Odstrani pozornost z območja za sestavljanje besedila/iskanje", "keyboard_shortcuts.up": "Premakni navzgor po seznamu", @@ -529,6 +551,7 @@ "load_pending": "{count, plural, one {# nov element} two {# nova elementa} few {# novi elementi} other {# novih elementov}}", "loading_indicator.label": "Nalaganje …", "media_gallery.hide": "Skrij", + "minicard.more_items": "+{count}", "moved_to_account_banner.text": "Vaš račun {disabledAccount} je trenutno onemogočen, ker ste se prestavili na {movedToAccount}.", "mute_modal.hide_from_notifications": "Skrijte se pred obvestili", "mute_modal.hide_options": "Skrij možnosti", @@ -555,6 +578,8 @@ "navigation_bar.follows_and_followers": "Sledenja in sledilci", "navigation_bar.import_export": "Uvoz in izvoz", "navigation_bar.lists": "Seznami", + "navigation_bar.live_feed_local": "Vir v živo (krajevno)", + "navigation_bar.live_feed_public": "Vir v živo (javno)", "navigation_bar.logout": "Odjava", "navigation_bar.moderation": "Moderiranje", "navigation_bar.more": "Več", @@ -865,11 +890,16 @@ "status.mute_conversation": "Utišaj pogovor", "status.open": "Razširi to objavo", "status.pin": "Pripni na profil", + "status.quote": "Citiraj", "status.quote.cancel": "Prekliči citat", + "status.quote_error.blocked_account_hint.title": "Ta objava je skrita, ker ste blokirali up. @{name}.", + "status.quote_error.blocked_domain_hint.title": "Ta objava je skrita, ker ste blokirali {domain}.", "status.quote_error.filtered": "Skrito zaradi enega od vaših filtrov", "status.quote_error.limited_account_hint.action": "Vseeno pokaži", "status.quote_error.limited_account_hint.title": "Ta račun so moderatorji {domain} skrili.", + "status.quote_error.muted_account_hint.title": "Ta objava je skrita, ker ste utišali up. @{name}.", "status.quote_error.not_available": "Objava ni na voljo", + "status.quote_error.revoked": "Avtor je umaknil objavo", "status.quote_followers_only": "Samo sledilci lahko citirajo to objavo", "status.quote_policy_change": "Spremenite, kdo lahko citira", "status.quote_private": "Zasebnih objav ni možno citirati", @@ -926,6 +956,7 @@ "upload_button.label": "Dodajte slike, video ali zvočno datoteko", "upload_error.limit": "Omejitev prenosa datoteke je presežena.", "upload_error.poll": "Prenos datoteke z anketami ni dovoljen.", + "upload_error.quote": "Prenos datoteke s citati ni dovoljen.", "upload_form.drag_and_drop.instructions": "Predstavnostno priponko lahko poberete tako, da pritisnete preslednico ali vnašalko. S puščicami na tipkovnici premikate priponko v posamezno smer. Priponko lahko odložite na novem položaju s ponovnim pritiskom na preslednico ali vnašalko ali pa dejanje prekličete s tipko ubežnica.", "upload_form.drag_and_drop.on_drag_cancel": "Premikanje priponke je preklicano. Predstavnostna priponka {item} je padla nazaj na prejšnje mesto.", "upload_form.drag_and_drop.on_drag_end": "Predstavnostna priponka {item} je padla nazaj.", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index da78d70192..76c176fe75 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -185,6 +185,7 @@ "bundle_modal_error.close": "Mbylle", "bundle_modal_error.message": "Diç shkoi ters, teksa ngarkohej kjo skenë.", "bundle_modal_error.retry": "Riprovoni", + "callout.dismiss": "Hidhe tej", "carousel.current": "Diapozitivi {current, number} / {max, number}", "carousel.slide": "Diapozitivi {current, number} nga {max, number} gjithsej", "closed_registrations.other_server_instructions": "Ngaqë Mastodon-i është i decentralizuar, mund të krijoni një llogari në një tjetër shërbyes dhe prapë të ndëveproni me këtë këtu.", @@ -192,9 +193,16 @@ "closed_registrations_modal.find_another_server": "Gjeni shërbyes tjetër", "closed_registrations_modal.preamble": "Mastodon-i është i decentralizuar, ndaj pavarësisht se ku krijoni llogarinë tuaj, do të jeni në gjendje të ndiqni dhe ndërveproni me këdo në këtë shërbyes. Mundeni madje edhe ta strehoni ju vetë!", "closed_registrations_modal.title": "Po regjistroheni në Mastodon", + "collections.create_a_collection_hint": "Krijoni një koleksion për ta rekomanduar, ose për të ndarë me të tjerët llogaritë tuaja të parapëlqyera.", + "collections.create_collection": "Krijoni koleksion", + "collections.delete_collection": "Fshije koleksionin", + "collections.error_loading_collections": "Pati një gabim teksa provohej të ngarkoheshin koleksionet tuaj.", + "collections.no_collections_yet": "Ende pa koleksione.", + "collections.view_collection": "Shiheni koleksionin", "column.about": "Mbi", "column.blocks": "Përdorues të bllokuar", "column.bookmarks": "Faqerojtës", + "column.collections": "Koleksionet e mi", "column.community": "Rrjedhë kohore vendore", "column.create_list": "Krijo listë", "column.direct": "Përmendje private", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index 67b8aea8c1..9636c188ea 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -57,6 +57,7 @@ "account.go_to_profile": "Gå till profilen", "account.hide_reblogs": "Dölj boostar från @{name}", "account.in_memoriam": "Till minne av.", + "account.joined_long": "Gick med {date}", "account.joined_short": "Gick med", "account.languages": "Ändra vilka språk du helst vill se i ditt flöde", "account.link_verified_on": "Ägarskap för denna länk kontrollerades den {date}", @@ -90,6 +91,8 @@ "account.unmute": "Sluta tysta @{name}", "account.unmute_notifications_short": "Aktivera aviseringsljud", "account.unmute_short": "Avtysta", + "account_fields_modal.close": "Stäng", + "account_fields_modal.title": "{name}s info", "account_note.placeholder": "Klicka för att lägga till anteckning", "admin.dashboard.daily_retention": "Användarlojalitet per dag efter registrering", "admin.dashboard.monthly_retention": "Användarlojalitet per månad efter registrering", @@ -184,6 +187,7 @@ "bundle_modal_error.close": "Stäng", "bundle_modal_error.message": "Något gick fel när skärmen laddades.", "bundle_modal_error.retry": "Försök igen", + "callout.dismiss": "Avfärda", "carousel.current": "Bild{current, number} / {max, number}", "carousel.slide": "Bild {current, number} av {max, number}", "closed_registrations.other_server_instructions": "Eftersom Mastodon är decentraliserat kan du skapa ett konto på en annan server och fortfarande interagera med denna.", @@ -191,9 +195,16 @@ "closed_registrations_modal.find_another_server": "Hitta en annan server", "closed_registrations_modal.preamble": "Mastodon är decentraliserat så oavsett var du skapar ditt konto kommer du att kunna följa och interagera med någon på denna server. Du kan också köra din egen server!", "closed_registrations_modal.title": "Registrera sig på Mastodon", + "collections.create_a_collection_hint": "Skapa en samling för att rekommendera eller dela dina favoritkonton med andra.", + "collections.create_collection": "Skapa samling", + "collections.delete_collection": "Radera samling", + "collections.error_loading_collections": "Det uppstod ett fel när dina samlingar skulle laddas.", + "collections.no_collections_yet": "Inga samlingar än.", + "collections.view_collection": "Visa samling", "column.about": "Om", "column.blocks": "Blockerade användare", "column.bookmarks": "Bokmärken", + "column.collections": "Mina samlingar", "column.community": "Lokal tidslinje", "column.create_list": "Skapa lista", "column.direct": "Privata omnämnande", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 1d8a0a247f..33431b8b44 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -194,9 +194,16 @@ "closed_registrations_modal.find_another_server": "Başka sunucu bul", "closed_registrations_modal.preamble": "Mastodon merkeziyetsizdir, bu yüzden hesabınızı nerede oluşturursanız oluşturun, bu sunucudaki herhangi birini takip edebilecek veya onunla etkileşebileceksiniz. Hatta kendi sunucunuzu bile barındırabilirsiniz!", "closed_registrations_modal.title": "Mastodon'a kayıt olmak", + "collections.create_a_collection_hint": "En sevdiğiniz hesapları başkalarına önermek veya paylaşmak için bir koleksiyon oluşturun.", + "collections.create_collection": "Koleksiyon oluştur", + "collections.delete_collection": "Koleksiyonu sil", + "collections.error_loading_collections": "Koleksiyonlarınızı yüklemeye çalışırken bir hata oluştu.", + "collections.no_collections_yet": "Henüz hiçbir koleksiyon yok.", + "collections.view_collection": "Koleksiyonu görüntüle", "column.about": "Hakkında", "column.blocks": "Engellenen kullanıcılar", "column.bookmarks": "Yer İşaretleri", + "column.collections": "Koleksiyonlarım", "column.community": "Yerel ağ akışı", "column.create_list": "Liste oluştur", "column.direct": "Özel bahsetmeler", @@ -454,6 +461,7 @@ "footer.source_code": "Kaynak kodu görüntüle", "footer.status": "Durum", "footer.terms_of_service": "Hizmet şartları", + "form_field.optional": "(isteğe bağlı)", "generic.saved": "Kaydet", "getting_started.heading": "Başlarken", "hashtag.admin_moderation": "#{name} için denetim arayüzünü açın", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index dc50f9ba78..72e22a380d 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -187,6 +187,7 @@ "bundle_modal_error.close": "Đóng", "bundle_modal_error.message": "Đã có lỗi xảy ra trong khi tải màn hình này.", "bundle_modal_error.retry": "Thử lại", + "callout.dismiss": "Bỏ qua", "carousel.current": "Slide {current, number} / {max, number}", "carousel.slide": "Slide {current, number} trong {max, number}", "closed_registrations.other_server_instructions": "Tạo tài khoản trên máy chủ khác và vẫn tương tác với máy chủ này.", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "Tìm máy chủ khác", "closed_registrations_modal.preamble": "Mastodon liên hợp nên bất kể bạn tạo tài khoản ở đâu, bạn cũng sẽ có thể theo dõi và tương tác với mọi người trên máy chủ này. Bạn thậm chí có thể tự mở máy chủ!", "closed_registrations_modal.title": "Đăng ký Mastodon", + "collections.create_a_collection_hint": "Tạo một collection để giới thiệu hoặc chia sẻ những tài khoản yêu thích của bạn với người khác.", + "collections.create_collection": "Tạo collection", + "collections.delete_collection": "Xóa collection", + "collections.error_loading_collections": "Đã xảy ra lỗi khi tải những collection của bạn.", + "collections.no_collections_yet": "Chưa có collection.", + "collections.view_collection": "Xem collection", "column.about": "Giới thiệu", "column.blocks": "Người đã chặn", "column.bookmarks": "Những tút đã lưu", + "column.collections": "Collection của tôi", "column.community": "Máy chủ này", "column.create_list": "Tạo danh sách", "column.direct": "Nhắn riêng", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index eb01202ba9..9667c7621d 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -187,6 +187,7 @@ "bundle_modal_error.close": "关闭", "bundle_modal_error.message": "加载此页面时发生了错误。", "bundle_modal_error.retry": "重试", + "callout.dismiss": "忽略", "carousel.current": "幻灯片 {current, number} / {max, number}", "carousel.slide": "第 {current, number} 张幻灯片,共 {max, number} 张", "closed_registrations.other_server_instructions": "基于 Mastodon 去中心化的特性,你可以其他服务器上创建账号,并继续与此服务器互动。", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "查找其他服务器", "closed_registrations_modal.preamble": "Mastodon 是去中心化的,所以无论在哪个实例创建账号,都可以关注本服务器上的账号并与之交流。 或者你还可以自己搭建实例!", "closed_registrations_modal.title": "注册 Mastodon 账号", + "collections.create_a_collection_hint": "创建用于向其他人推荐或分享你最喜欢账号的收藏列表。", + "collections.create_collection": "创建收藏列表", + "collections.delete_collection": "删除收藏列表", + "collections.error_loading_collections": "加载您的收藏列表时发生错误。", + "collections.no_collections_yet": "尚无收藏列表。", + "collections.view_collection": "查看收藏列表", "column.about": "关于", "column.blocks": "屏蔽的用户", "column.bookmarks": "书签", + "column.collections": "我的收藏列表", "column.community": "本站时间线", "column.create_list": "创建列表", "column.direct": "私下提及", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 1775e93b44..fa3a536c05 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -187,6 +187,7 @@ "bundle_modal_error.close": "關閉", "bundle_modal_error.message": "載入此畫面時發生錯誤。", "bundle_modal_error.retry": "重試", + "callout.dismiss": "關閉", "carousel.current": "頁面 {current, number} / {max, number}", "carousel.slide": "{max, number} 頁中之第 {current, number} 頁", "closed_registrations.other_server_instructions": "因為 Mastodon 是去中心化的,所以您也能於其他伺服器上建立帳號,並仍然與此伺服器互動。", @@ -194,9 +195,16 @@ "closed_registrations_modal.find_another_server": "尋找另一個伺服器", "closed_registrations_modal.preamble": "Mastodon 是去中心化的,所以無論您於哪個伺服器新增帳號,都可以與此伺服器上的任何人跟隨及互動。您甚至能自行架設自己的伺服器!", "closed_registrations_modal.title": "註冊 Mastodon", + "collections.create_a_collection_hint": "建立用以向其他人推薦或分享您最喜愛帳號之收藏名單。", + "collections.create_collection": "建立收藏名單", + "collections.delete_collection": "刪除收藏名單", + "collections.error_loading_collections": "讀取您的收藏名單時發生錯誤。", + "collections.no_collections_yet": "您沒有任何收藏名單。", + "collections.view_collection": "檢視收藏名單", "column.about": "關於", "column.blocks": "已封鎖使用者", "column.bookmarks": "書籤", + "column.collections": "我的收藏名單", "column.community": "本站時間軸", "column.create_list": "建立列表", "column.direct": "私訊", diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index 28fb454620..0bc0603a24 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -144,7 +144,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity # Accounts that are tagged but are not in the audience are not # supposed to be notified explicitly - @silenced_account_ids = @mentions.map(&:account_id) - accounts_in_audience.map(&:id) + @silenced_account_ids = @mentions.filter_map { |mention| mention.account_id if mention.account.local? } - accounts_in_audience.map(&:id) end def postprocess_audience_and_deliver diff --git a/app/models/concerns/account/associations.rb b/app/models/concerns/account/associations.rb index e1684d2560..c66a26c00f 100644 --- a/app/models/concerns/account/associations.rb +++ b/app/models/concerns/account/associations.rb @@ -9,6 +9,7 @@ module Account::Associations # Association where account owns record with_options inverse_of: :account do has_many :account_moderation_notes + has_many :account_notes has_many :account_pins has_many :account_warnings has_many :aliases, class_name: 'AccountAlias' @@ -45,6 +46,7 @@ module Account::Associations # Association where account is targeted by record with_options foreign_key: :target_account_id, inverse_of: :target_account do has_many :strikes, class_name: 'AccountWarning' + has_many :targeted_account_notes, class_name: 'AccountNote' has_many :targeted_moderation_notes, class_name: 'AccountModerationNote' has_many :targeted_reports, class_name: 'Report' end diff --git a/app/models/concerns/account/interactions.rb b/app/models/concerns/account/interactions.rb index d4a415ee31..e204ddb795 100644 --- a/app/models/concerns/account/interactions.rb +++ b/app/models/concerns/account/interactions.rb @@ -23,9 +23,6 @@ module Account::Interactions # Hashtag follows has_many :tag_follows, inverse_of: :account, dependent: :destroy - # Account notes - has_many :account_notes, dependent: :destroy - # Block relationships with_options class_name: 'Block', dependent: :destroy do has_many :block_relationships, foreign_key: 'account_id', inverse_of: :account diff --git a/app/views/admin/dashboard/index.html.haml b/app/views/admin/dashboard/index.html.haml index c3b7933293..d2ff6e4a00 100644 --- a/app/views/admin/dashboard/index.html.haml +++ b/app/views/admin/dashboard/index.html.haml @@ -6,11 +6,7 @@ - unless @system_checks.empty? .flash-message-stack - - @system_checks.each do |message| - .flash-message{ class: message.critical ? 'alert' : 'warning' } - = t("admin.system_checks.#{message.key}.message_html", value: message.value ? content_tag(:strong, message.value) : nil) - - if message.action - = link_to t("admin.system_checks.#{message.key}.action"), message.action + = render collection: @system_checks, partial: 'admin/system_check/messages/message' .dashboard .dashboard__item diff --git a/app/views/admin/reports/_comment.html.haml b/app/views/admin/reports/_comment.html.haml index 2b3af15c49..9ccd05eb24 100644 --- a/app/views/admin/reports/_comment.html.haml +++ b/app/views/admin/reports/_comment.html.haml @@ -1,12 +1,12 @@ - if report.account.instance_actor? %p= t('admin.reports.comment_description_html', name: content_tag(:strong, site_hostname, class: 'username')) -- elsif report.account.local? +- elsif report.local? %p= t('admin.reports.comment_description_html', name: content_tag(:strong, report.account.username, class: 'username')) - else %p= t('admin.reports.comment_description_html', name: t('admin.reports.remote_user_placeholder', instance: report.account.domain)) .report-notes .report-notes__item - - if report.account.local? && !report.account.instance_actor? + - if report.local? && !report.account.instance_actor? = image_tag report.account.avatar.url, class: 'report-notes__item__avatar' - else = image_tag(full_asset_url('avatars/original/missing.png', skip_pipeline: true), class: 'report-notes__item__avatar') @@ -14,7 +14,7 @@ %span.username - if report.account.instance_actor? = site_hostname - - elsif report.account.local? + - elsif report.local? = link_to report.account.username, admin_account_path(report.account_id) - else = link_to report.account.domain, admin_instance_path(report.account.domain) diff --git a/app/views/admin/reports/_header_details.html.haml b/app/views/admin/reports/_header_details.html.haml index cf81670845..91242f0eaf 100644 --- a/app/views/admin/reports/_header_details.html.haml +++ b/app/views/admin/reports/_header_details.html.haml @@ -10,7 +10,7 @@ .report-header__details__item__content - if report.account.instance_actor? = site_hostname - - elsif report.account.local? + - elsif report.local? = admin_account_link_to report.account - else = report.account.domain @@ -28,7 +28,7 @@ = t('admin.reports.resolved') - else = t('admin.reports.unresolved') - - if report.account.local? && !report.target_account.local? + - if report.local? && !report.target_account.local? .report-header__details__item .report-header__details__item__header %strong= t('admin.reports.forwarded') diff --git a/app/views/admin/reports/index.html.haml b/app/views/admin/reports/index.html.haml index e08218a05d..b910e1aab5 100644 --- a/app/views/admin/reports/index.html.haml +++ b/app/views/admin/reports/index.html.haml @@ -51,7 +51,7 @@ .report-card__summary__item__reported-by - if report.account.instance_actor? = site_hostname - - elsif report.account.local? + - elsif report.local? = admin_account_link_to report.account - else = report.account.domain diff --git a/app/views/admin/reports/show.html.haml b/app/views/admin/reports/show.html.haml index 86f87f197e..af92b05768 100644 --- a/app/views/admin/reports/show.html.haml +++ b/app/views/admin/reports/show.html.haml @@ -7,7 +7,7 @@ - else = link_to t('admin.reports.mark_as_unresolved'), reopen_admin_report_path(@report), method: :post, class: 'button' -- unless @report.account.local? || @report.target_account.local? +- unless @report.local? || @report.target_account.local? .flash-message= t('admin.reports.forwarded_replies_explanation') .report-header diff --git a/app/views/admin/system_check/messages/_message.html.haml b/app/views/admin/system_check/messages/_message.html.haml new file mode 100644 index 0000000000..650c2be738 --- /dev/null +++ b/app/views/admin/system_check/messages/_message.html.haml @@ -0,0 +1,4 @@ +.flash-message{ class: message.critical ? 'alert' : 'warning' } + = t("admin.system_checks.#{message.key}.message_html", value: message.value ? tag.strong(message.value) : nil) + - if message.action + = link_to t("admin.system_checks.#{message.key}.action"), message.action diff --git a/app/views/admin_mailer/new_report.text.erb b/app/views/admin_mailer/new_report.text.erb index 8482225abe..1b7355ada8 100644 --- a/app/views/admin_mailer/new_report.text.erb +++ b/app/views/admin_mailer/new_report.text.erb @@ -1,3 +1,3 @@ -<%= raw(@report.account.local? ? t('admin_mailer.new_report.body', target: @report.target_account.pretty_acct, reporter: @report.account.pretty_acct) : t('admin_mailer.new_report.body_remote', target: @report.target_account.acct, domain: @report.account.domain)) %> +<%= raw(@report.local? ? t('admin_mailer.new_report.body', target: @report.target_account.pretty_acct, reporter: @report.account.pretty_acct) : t('admin_mailer.new_report.body_remote', target: @report.target_account.acct, domain: @report.account.domain)) %> <%= raw t('application_mailer.view')%> <%= admin_report_url(@report) %> diff --git a/app/workers/move_worker.rb b/app/workers/move_worker.rb index 43238b72b2..eb0ba5e1bb 100644 --- a/app/workers/move_worker.rb +++ b/app/workers/move_worker.rb @@ -84,17 +84,17 @@ class MoveWorker end def copy_account_notes! - AccountNote.where(target_account: @source_account).find_each do |note| + @source_account.targeted_account_notes.find_each do |note| text = I18n.with_locale(note.account.user_locale.presence || I18n.default_locale) do I18n.t('move_handler.copy_account_note_text', acct: @source_account.acct) end - new_note = AccountNote.find_by(account: note.account, target_account: @target_account) + new_note = @target_account.targeted_account_notes.find_by(account: note.account) if new_note.nil? begin - AccountNote.create!(account: note.account, target_account: @target_account, comment: [text, note.comment].join("\n")) + @target_account.targeted_account_notes.create!(account: note.account, comment: [text, note.comment].join("\n")) rescue ActiveRecord::RecordInvalid - AccountNote.create!(account: note.account, target_account: @target_account, comment: note.comment) + @target_account.targeted_account_notes.create!(account: note.account, comment: note.comment) end else new_note.update!(comment: [text, note.comment, "\n", new_note.comment].join("\n")) @@ -129,7 +129,7 @@ class MoveWorker end def add_account_note_if_needed!(account, id) - return if AccountNote.exists?(account: account, target_account: @target_account) + return if @target_account.targeted_account_notes.exists?(account:) text = I18n.with_locale(account.user_locale.presence || I18n.default_locale) do I18n.t(id, acct: @source_account.acct) diff --git a/config/locales/da.yml b/config/locales/da.yml index fe49f5b3c5..25c7619cb7 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -2044,7 +2044,7 @@ da: lost_recovery_codes: Gendannelseskoder giver dig mulighed for at få adgang til din konto igen, hvis du mister din telefon. Hvis du har mistet dine gendannelseskoder, kan du generere dem igen her. Dine gamle gendannelseskoder vil blive ugyldige. methods: Tofaktormetoder otp: Godkendelses-app - recovery_codes: Sikkerhedskopieret gendannelseskoder + recovery_codes: Reserve-gendannelseskoder recovery_codes_regenerated: Gendannelseskoder er regenereret recovery_instructions_html: Mister du nogensinde adgang til din mobil, kan en af gendannelseskoderne nedenfor bruges til at opnå adgang til din konto. Opbevar disse et sikkert sted. De kan f.eks. udskrives og gemmes sammen med andre vigtige dokumenter. webauthn: Sikkerhedsnøgler diff --git a/config/locales/de.yml b/config/locales/de.yml index 2cc27c5af6..7db19f067a 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -1695,7 +1695,7 @@ de: notification_mailer: admin: report: - subject: "%{name} hat eine Meldung eingereicht" + subject: "%{name} reichte eine Meldung ein" sign_up: subject: "%{name} registrierte sich" favourite: diff --git a/config/locales/devise.da.yml b/config/locales/devise.da.yml index 0326535bef..a4aff6a6ef 100644 --- a/config/locales/devise.da.yml +++ b/config/locales/devise.da.yml @@ -89,8 +89,8 @@ da: success: Godkendt fra %{kind}-konto. passwords: no_token: Denne side er kun tilgængelig via linket fra en e-mail til adgangskodenulstillings. Husk i den forbindelse at benytte den fuldstændige URL fra e-mailen. - send_instructions: Er din e-mailadresse allerede registreret, e-mailes du et link til adgangskodenulstilling. Tjek spammappen, hvis e-mailen ikke ses i indbakken indenfor få minutter. - send_paranoid_instructions: Er din e-mailadresse allerede registreret, e-mailes du et link til adgangskodenulstilling. Tjek spammappen, hvis e-mailen ikke ses i indbakken indenfor få minutter. + send_instructions: Hvis din e-mailadresse findes i vores database, vil du inden for få minutter modtage et link til adgangskodenulstilling på din e-mailadresse. Tjek din spam-mappe, hvis du ikke har modtaget denne e-mail. + send_paranoid_instructions: Hvis din e-mailadresse findes i vores database, vil du inden for få minutter modtage et link til adgangskodenulstilling på din e-mailadresse. Tjek din spam-mappe, hvis du ikke har modtaget denne e-mail. updated: Din adgangskode er skiftet, og du er nu logget ind. updated_not_active: Din adgangskode er skiftet. registrations: diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 805c6532b0..427810a745 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -1971,13 +1971,13 @@ nl: unlisted_long: Niet zichtbaar in de zoekresultaten van Mastodon, onder trends, hashtags en op openbare tijdlijnen statuses_cleanup: enabled: Automatisch oude berichten verwijderen - enabled_hint: Verwijder uw berichten automatisch zodra ze een bepaalde leeftijdsgrens bereiken, tenzij ze overeenkomen met een van de onderstaande uitzonderingen + enabled_hint: Verwijder jouw berichten automatisch zodra ze een bepaalde leeftijdsgrens bereiken, tenzij ze overeenkomen met een van de onderstaande uitzonderingen exceptions: Uitzonderingen explanation: Geautomatiseerde verwijdering wordt uitgevoerd met lage prioriteit. Er kan een vertraging optreden tussen het bereiken van de leeftijdsgrens en het verwijderen. ignore_favs: Favorieten negeren ignore_reblogs: Boosts negeren interaction_exceptions: Uitzonderingen op basis van interacties - interaction_exceptions_explanation: Berichten die tijdelijk de drempel voor favorieten of boosten overschrijden, kunnen worden bewaard, zelfs als ze later worden verlaagd. + interaction_exceptions_explanation: Berichten die tijdelijk de opgegeven drempel voor favorieten of boosten overschrijden kunnen worden bewaard, zelfs als ze later weer onder die drempel komen. keep_direct: Privéberichten behouden keep_direct_hint: Verwijdert geen enkel privébericht van jou keep_media: Berichten met mediabijlagen behouden diff --git a/config/locales/simple_form.da.yml b/config/locales/simple_form.da.yml index 6b5247e803..b1dd7ba81b 100644 --- a/config/locales/simple_form.da.yml +++ b/config/locales/simple_form.da.yml @@ -131,7 +131,7 @@ da: hint: Valgfrit. Oplys yderligere detaljer om reglen text: Beskriv på en kort og enkel form en regel/krav for brugere på denne server sessions: - otp: 'Angiv tofaktorkoden generet af din mobil-app eller brug en af genoprettelseskoderne:' + otp: 'Angiv tofaktorkoden generet af din mobil-app eller brug en af dine gendannelseskoder:' webauthn: Er det en USB-nøgle, så sørg for at isætte den og, om nødvendigt, åbne den manuelt. settings: indexable: Din profilside kan fremgå i søgeresultater på Google, Bing mv. diff --git a/config/locales/simple_form.sl.yml b/config/locales/simple_form.sl.yml index 7cddf46aaf..a6b2b96d2b 100644 --- a/config/locales/simple_form.sl.yml +++ b/config/locales/simple_form.sl.yml @@ -54,6 +54,7 @@ sl: password: Uporabite najmanj 8 znakov phrase: Se bo ujemal, ne glede na začetnice v besedilu ali opozorilo o vsebini objave scopes: Do katerih API-jev bo imel program dostop. Če izberete obseg najvišje ravni, vam ni treba izbrati posameznih. + setting_advanced_layout: Prikaži Mastodon v večstolpčni postavitvi, kar prikaže časovnico, obbvestila in tretji stolpec po izboru. Ne priporočamo za manjše zaslone. setting_aggregate_reblogs: Ne prikažite novih izpostavitev za objave, ki so bile nedavno izpostavljene (vpliva samo na novo prejete izpostavitve) setting_always_send_emails: Običajno e-obvestila ne bodo poslana, če ste na Mastodonu dejavni setting_default_sensitive: Občutljivi mediji so privzeto skriti in jih je mogoče razkriti s klikom @@ -269,6 +270,7 @@ sl: content_cache_retention_period: Obdobje hranjenja vsebine z ostalih strežnikov custom_css: CSS po meri favicon: Ikona spletne strani + landing_page: Ciljna stran za nove obiskovalce mascot: Maskota po meri (opuščeno) media_cache_retention_period: Obdobje hrambe predpomnilnika predstavnosti min_age: Spodnja starostna meja diff --git a/config/locales/sl.yml b/config/locales/sl.yml index 2abd3600e7..b577eb45a5 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -266,6 +266,7 @@ sl: create_relay_html: "%{name} je ustvaril/a rele %{target}" create_unavailable_domain_html: "%{name} je prekinil/a dostavo v domeno %{target}" create_user_role_html: "%{name} je ustvaril/a vlogo %{target}" + create_username_block_html: "%{name} je dodal/a pravilo za uporabniška imena, ki vsebujejo %{target}" demote_user_html: "%{name} je ponižal/a uporabnika %{target}" destroy_announcement_html: "%{name} je izbrisal/a obvestilo %{target}" destroy_canonical_email_block_html: "%{name} je odstranil/a s črnega seznama e-pošto s ključnikom %{target}" @@ -279,6 +280,7 @@ sl: destroy_status_html: "%{name} je odstranil/a objavo uporabnika %{target}" destroy_unavailable_domain_html: "%{name} je nadaljeval/a dostav v domeno %{target}" destroy_user_role_html: "%{name} je izbrisal/a vlogo %{target}" + destroy_username_block_html: "%{name} je odstranil/a pravilo za uporabniška imena, ki vsebujejo %{target}" disable_2fa_user_html: "%{name} je onemogočil/a dvofaktorsko zahtevo za uporabnika %{target}" disable_custom_emoji_html: "%{name} je onemogočil/a emotikone %{target}" disable_relay_html: "%{name} je onemogočil/a rele %{target}" @@ -313,6 +315,7 @@ sl: update_report_html: "%{name} je posodobil poročilo %{target}" update_status_html: "%{name} je posodobil/a objavo uporabnika %{target}" update_user_role_html: "%{name} je spremenil/a vlogo %{target}" + update_username_block_html: "%{name} je posodobil/a pravilo za uporabniška imena, ki vsebujejo %{target}" deleted_account: izbrisan račun empty: Ni najdenih zapisnikov. filter_by_action: Filtriraj po dejanjih @@ -869,6 +872,7 @@ sl: public: Vsi landing_page: values: + local_feed: Krajevni vir trends: Trendi registrations: moderation_recommandation: Preden prijave odprete za vse poskrbite, da imate v ekipi moderatorjev zadosti aktivnih članov. @@ -931,6 +935,7 @@ sl: title: Objave računa - @%{name} trending: V trendu view_publicly: Prikaži javno + view_quoted_post: Pokaži citirano objavo visibility: Vidnost with_media: Z mediji strikes: @@ -1333,8 +1338,11 @@ sl: prompt: Potrdite geslo za nadaljevanje color_scheme: auto: Samodejno + dark: Temno + light: Svetlo contrast: auto: Samodejno + high: Visoko crypto: errors: invalid_key: ni veljaven ključ Ed25519 ali Curve25519 @@ -1409,6 +1417,7 @@ sl: other: Drugo emoji_styles: auto: Samodejno + native: Domoroden errors: '400': Zahteva, ki ste jo oddali, je neveljavna ali nepravilno oblikovana. '403': Nimate dovoljenja za ogled te strani. @@ -2236,4 +2245,5 @@ sl: otp_required: Za uporabo varnostnih ključev morate najprej omogočiti 2FA (dvostopenjsko overjanje). registered_on: Datum registracije %{date} wrapstodon: + description: Oglejte si, kako je %{name} letos uporabljal/a Mastodon! title: Wrapstodon %{year} za %{name} diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 4f1c03a46a..557ae88e3d 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -8,7 +8,7 @@ zh-CN: title: 关于本站 accounts: errors: - cannot_be_added_to_collections: 此账号无法被添加到关注列表内。 + cannot_be_added_to_collections: 此账号无法被添加到收藏列表内。 followers: other: 关注者 following: 正在关注 diff --git a/spec/models/account_spec.rb b/spec/models/account_spec.rb index c9adaaff39..11e7f5e02b 100644 --- a/spec/models/account_spec.rb +++ b/spec/models/account_spec.rb @@ -6,6 +6,11 @@ RSpec.describe Account do it_behaves_like 'Account::Search' it_behaves_like 'Reviewable' + describe 'Associations' do + it { is_expected.to have_many(:account_notes).inverse_of(:account) } + it { is_expected.to have_many(:targeted_account_notes).inverse_of(:target_account) } + end + context 'with an account record' do subject { Fabricate(:account) } diff --git a/spec/models/instance_moderation_note_spec.rb b/spec/models/instance_moderation_note_spec.rb index 011b001cc7..23e6e3d5e1 100644 --- a/spec/models/instance_moderation_note_spec.rb +++ b/spec/models/instance_moderation_note_spec.rb @@ -14,24 +14,12 @@ RSpec.describe InstanceModerationNote do end end - describe 'validations' do - it 'is invalid if the content is empty' do - note = Fabricate.build(:instance_moderation_note, domain: 'mastodon.example', content: '') - expect(note.valid?).to be false - end + describe 'Validations' do + subject { Fabricate.build :instance_moderation_note } - it 'is invalid if content is longer than character limit' do - note = Fabricate.build(:instance_moderation_note, domain: 'mastodon.example', content: comment_over_limit) - expect(note.valid?).to be false - end - - it 'is valid even if the instance does not exist yet' do - note = Fabricate.build(:instance_moderation_note, domain: 'non-existent.example', content: 'test comment') - expect(note.valid?).to be true - end - - def comment_over_limit - Faker::Lorem.paragraph_by_chars(number: described_class::CONTENT_SIZE_LIMIT * 2) - end + it { is_expected.to allow_value('non-existent.example').for(:domain) } + it { is_expected.to validate_length_of(:content).is_at_most(described_class::CONTENT_SIZE_LIMIT) } + it { is_expected.to validate_presence_of(:content) } + it { is_expected.to validate_presence_of(:domain) } end end diff --git a/spec/models/report_spec.rb b/spec/models/report_spec.rb index 0bee7dfed1..3fa545ee04 100644 --- a/spec/models/report_spec.rb +++ b/spec/models/report_spec.rb @@ -156,6 +156,10 @@ RSpec.describe Report do end end + describe 'Delegations' do + it { is_expected.to delegate_method(:local?).to(:account) } + end + describe 'Validations' do let(:remote_account) { Fabricate(:account, domain: 'example.com', protocol: :activitypub, inbox_url: 'http://example.com/inbox') } diff --git a/yarn.lock b/yarn.lock index ac574cfe5b..27b4c76088 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14258,18 +14258,15 @@ __metadata: linkType: hard "vite-tsconfig-paths@npm:^6.0.0": - version: 6.0.3 - resolution: "vite-tsconfig-paths@npm:6.0.3" + version: 6.0.5 + resolution: "vite-tsconfig-paths@npm:6.0.5" dependencies: debug: "npm:^4.1.1" globrex: "npm:^0.1.2" tsconfck: "npm:^3.0.3" peerDependencies: vite: "*" - peerDependenciesMeta: - vite: - optional: true - checksum: 10c0/75cfe470f1ec0e776b2aec1d2e71316d5e1214f485fce7daaed4e4789d6f667881fb85d98129b6463a5b70c7524ef258b401c4871ed8b6318ac45cc892ee778a + checksum: 10c0/c62dd84804b9d2d35460146bda0bb752d270043d805df0e806ade6a9bbf37c5ad5da8a29d822b89931821545c201bc7ca07c594f245aebabe92d51d0cd1b63df languageName: node linkType: hard