commit 04d56be808e0143559963a3b2167a56ad75563d2 Author: Darko Luketic Date: Sat Mar 2 17:07:45 2024 +0100 first commit diff --git a/427.patch b/427.patch new file mode 100644 index 0000000..bf7a732 --- /dev/null +++ b/427.patch @@ -0,0 +1,575 @@ +diff --git a/app/javascript/mastodon/features/compose/components/compose_form.jsx b/app/javascript/mastodon/features/compose/components/compose_form.jsx +index 9222b2dc8..962310a28 100644 +--- a/app/javascript/mastodon/features/compose/components/compose_form.jsx ++++ b/app/javascript/mastodon/features/compose/components/compose_form.jsx +@@ -100,7 +100,7 @@ class ComposeForm extends ImmutablePureComponent { + const fulltext = this.getFulltextForCharacterCounting(); + const isOnlyWhitespace = fulltext.length !== 0 && fulltext.trim().length === 0; + +- return !(isSubmitting || isUploading || isChangingUpload || length(fulltext) > 500 || (isOnlyWhitespace && !anyMedia)); ++ return !(isSubmitting || isUploading || isChangingUpload || length(fulltext) > 5000 || (isOnlyWhitespace && !anyMedia)); + }; + + handleSubmit = (e) => { +@@ -297,7 +297,7 @@ class ComposeForm extends ImmutablePureComponent { + + +
+- ++ +
+ + +diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json +index 76b37ef44..ebc64709e 100644 +--- a/app/javascript/mastodon/locales/de.json ++++ b/app/javascript/mastodon/locales/de.json +@@ -3,10 +3,10 @@ + "about.contact": "Kontakt:", + "about.disclaimer": "Mastodon ist eine freie, quelloffene Software und eine Marke der Mastodon gGmbH.", + "about.domain_blocks.no_reason_available": "Grund unbekannt", +- "about.domain_blocks.preamble": "Mastodon erlaubt es dir grundsätzlich, alle Inhalte von allen Nutzer*innen auf allen Servern im Fediverse zu sehen und mit ihnen zu interagieren. Für diesen Server gibt es aber ein paar Ausnahmen.", ++ "about.domain_blocks.preamble": "Mastodon erlaubt es dir grundsätzlich, alle Inhalte von allen Nutzern auf allen Servern im Fediverse zu sehen und mit ihnen zu interagieren. Für diesen Server gibt es aber ein paar Ausnahmen.", + "about.domain_blocks.silenced.explanation": "Alle Inhalte und Profile dieses Servers werden zunächst nicht angezeigt. Du kannst die Profile und Inhalte aber dennoch sehen, wenn du explizit nach diesen suchst oder diesen folgst.", + "about.domain_blocks.silenced.title": "Stummgeschaltet", +- "about.domain_blocks.suspended.explanation": "Es werden keine Daten von diesem Server verarbeitet, gespeichert oder ausgetauscht, sodass eine Interaktion oder Kommunikation mit Nutzer*innen dieses Servers nicht möglich ist.", ++ "about.domain_blocks.suspended.explanation": "Es werden keine Daten von diesem Server verarbeitet, gespeichert oder ausgetauscht, sodass eine Interaktion oder Kommunikation mit Nutzern dieses Servers nicht möglich ist.", + "about.domain_blocks.suspended.title": "Gesperrt", + "about.not_available": "Diese Informationen sind auf diesem Server nicht verfügbar.", + "about.powered_by": "Ein dezentralisiertes soziales Netzwerk, angetrieben von {mastodon}", +@@ -71,14 +71,14 @@ + "account.unmute_notifications_short": "Stummschaltung der Benachrichtigungen aufheben", + "account.unmute_short": "Stummschaltung aufheben", + "account_note.placeholder": "Notiz durch Klicken hinzufügen", +- "admin.dashboard.daily_retention": "Verweildauer der Benutzer*innen pro Tag nach der Registrierung", +- "admin.dashboard.monthly_retention": "Verweildauer der Benutzer*innen pro Monat nach der Registrierung", ++ "admin.dashboard.daily_retention": "Verweildauer der Benutzer pro Tag nach der Registrierung", ++ "admin.dashboard.monthly_retention": "Verweildauer der Benutzer pro Monat nach der Registrierung", + "admin.dashboard.retention.average": "Durchschnitt", + "admin.dashboard.retention.cohort": "Monat der Registrierung", + "admin.dashboard.retention.cohort_size": "Neue Konten", + "admin.impact_report.instance_accounts": "Kontenprofile, die dadurch gelöscht würden", +- "admin.impact_report.instance_followers": "Follower, die unsere Nutzer*innen verlieren würden", +- "admin.impact_report.instance_follows": "Follower, die deren Nutzer*innen verlieren würden", ++ "admin.impact_report.instance_followers": "Follower, die unsere Nutzer verlieren würden", ++ "admin.impact_report.instance_follows": "Follower, die deren Nutzer verlieren würden", + "admin.impact_report.title": "Zusammenfassung der Auswirkung", + "alert.rate_limited.message": "Bitte versuche es nach {retry_time, time, medium} erneut.", + "alert.rate_limited.title": "Anfragelimit überschritten", +@@ -195,7 +195,7 @@ + "copypaste.copy_to_clipboard": "In die Zwischenablage kopieren", + "directory.federated": "Aus bekanntem Fediverse", + "directory.local": "Nur von der Domain {domain}", +- "directory.new_arrivals": "Neue Benutzer*innen", ++ "directory.new_arrivals": "Neue Benutzer", + "directory.recently_active": "Kürzlich aktiv", + "disabled_account_banner.account_settings": "Kontoeinstellungen", + "disabled_account_banner.text": "Dein Konto {disabledAccount} ist derzeit deaktiviert.", +@@ -275,7 +275,7 @@ + "firehose.remote": "Andere Server", + "follow_request.authorize": "Genehmigen", + "follow_request.reject": "Ablehnen", +- "follow_requests.unlocked_explanation": "Auch wenn dein Konto öffentlich bzw. nicht geschützt ist, haben die Moderator*innen von {domain} gedacht, dass du diesen Follower lieber manuell bestätigen solltest.", ++ "follow_requests.unlocked_explanation": "Auch wenn dein Konto öffentlich bzw. nicht geschützt ist, haben die Moderatoren von {domain} gedacht, dass du diesen Follower lieber manuell bestätigen solltest.", + "followed_tags": "Gefolgte Hashtags", + "footer.about": "Über", + "footer.directory": "Profilverzeichnis", +@@ -372,7 +372,7 @@ + "lightbox.next": "Vor", + "lightbox.previous": "Zurück", + "limited_account_hint.action": "Profil trotzdem anzeigen", +- "limited_account_hint.title": "Dieses Profil wurde von den Moderator*innen von {domain} ausgeblendet.", ++ "limited_account_hint.title": "Dieses Profil wurde von den Moderatoren von {domain} ausgeblendet.", + "link_preview.author": "Von {name}", + "lists.account.add": "Zur Liste hinzufügen", + "lists.account.remove": "Von der Liste entfernen", +@@ -491,7 +491,7 @@ + "onboarding.steps.publish_status.title": "Erstelle deinen ersten Beitrag", + "onboarding.steps.setup_profile.body": "Mit einem vollständigen Profil interagieren andere eher mit dir.", + "onboarding.steps.setup_profile.title": "Personalisiere dein Profil", +- "onboarding.steps.share_profile.body": "Lass deine Freund*innen wissen, wie sie dich auf Mastodon finden können", ++ "onboarding.steps.share_profile.body": "Lass deine Freunde wissen, wie sie dich auf Mastodon finden können", + "onboarding.steps.share_profile.title": "Teile dein Mastodon-Profil", + "onboarding.tips.2fa": "Wusstest du schon? Du kannst die Sicherheit deines Kontos erhöhen, indem du die Zwei-Faktor-Authentisierung in deinen Kontoeinstellungen aktivierst. Dafür ist keine Telefonnummer notwendig und es funktioniert jede beliebige TOTP-App!", + "onboarding.tips.accounts_from_other_servers": "Wusstest du schon? Da Mastodon dezentralisiert ist, werden einige Profile, denen du begegnest, auf anderen Servern als deinem bereitgestellt. Und trotzdem kannst du uneingeschränkt mit ihnen interagieren! Der Servername befindet sich in der zweiten Hälfte ihres Profilnamens!", +@@ -604,7 +604,7 @@ + "search_results.see_all": "Alle ansehen", + "search_results.statuses": "Beiträge", + "search_results.title": "Suchergebnisse für {q}", +- "server_banner.about_active_users": "Personen, die diesen Server in den vergangenen 30 Tagen verwendet haben (monatlich aktive Nutzer*innen)", ++ "server_banner.about_active_users": "Personen, die diesen Server in den vergangenen 30 Tagen verwendet haben (monatlich aktive Nutzer)", + "server_banner.active_users": "aktive Profile", + "server_banner.administered_by": "Verwaltet von:", + "server_banner.introduction": "{domain} ist Teil eines dezentralisierten sozialen Netzwerks, angetrieben von {mastodon}.", +diff --git a/app/serializers/rest/instance_serializer.rb b/app/serializers/rest/instance_serializer.rb +index 14aeda946..402458650 100644 +--- a/app/serializers/rest/instance_serializer.rb ++++ b/app/serializers/rest/instance_serializer.rb +@@ -11,7 +11,7 @@ class REST::InstanceSerializer < ActiveModel::Serializer + + attributes :domain, :title, :version, :source_url, :description, + :usage, :thumbnail, :languages, :configuration, +- :registrations ++ :registrations, :max_post_chars + + has_one :contact, serializer: ContactSerializer + has_many :rules, serializer: REST::RuleSerializer +@@ -102,4 +102,8 @@ class REST::InstanceSerializer < ActiveModel::Serializer + def markdown + @markdown ||= Redcarpet::Markdown.new(Redcarpet::Render::HTML, no_images: true) + end ++ ++ def max_post_chars ++ 5000 ++ end + end +diff --git a/app/validators/status_length_validator.rb b/app/validators/status_length_validator.rb +index dc841ded3..9cb1ec94b 100644 +--- a/app/validators/status_length_validator.rb ++++ b/app/validators/status_length_validator.rb +@@ -1,7 +1,7 @@ + # frozen_string_literal: true + + class StatusLengthValidator < ActiveModel::Validator +- MAX_CHARS = 500 ++ MAX_CHARS = 5000 + URL_PLACEHOLDER_CHARS = 23 + URL_PLACEHOLDER = 'x' * 23 + +diff --git a/config/locales/de.yml b/config/locales/de.yml +index d72b0a608..dd8c6f0e9 100644 +--- a/config/locales/de.yml ++++ b/config/locales/de.yml +@@ -171,11 +171,11 @@ de: + action_logs: + action_types: + approve_appeal: Einspruch zulassen +- approve_user: Benutzer*in genehmigen ++ approve_user: Benutzer genehmigen + assigned_to_self_report: Meldung zuweisen + change_email_user: E-Mail-Adresse des Kontos ändern + change_role_user: Rolle des Profils ändern +- confirm_user: Benutzer*in bestätigen ++ confirm_user: Benutzer bestätigen + create_account_warning: Warnung erstellen + create_announcement: Ankündigung erstellen + create_canonical_email_block: E-Mail-Sperre erstellen +@@ -186,7 +186,7 @@ de: + create_ip_block: IP-Regel erstellen + create_unavailable_domain: Nicht verfügbare Domain erstellen + create_user_role: Rolle erstellen +- demote_user: Benutzer*in herabstufen ++ demote_user: Benutzer herabstufen + destroy_announcement: Ankündigung löschen + destroy_canonical_email_block: E-Mail-Sperre entfernen + destroy_custom_emoji: Eigenes Emojis löschen +@@ -201,14 +201,14 @@ de: + disable_2fa_user: 2FA deaktivieren + disable_custom_emoji: Eigenes Emoji deaktivieren + disable_sign_in_token_auth_user: E-Mail-Token-Authentisierung für dieses Konto deaktivieren +- disable_user: Benutzer*in deaktivieren ++ disable_user: Benutzer deaktivieren + enable_custom_emoji: Eigenes Emoji aktivieren + enable_sign_in_token_auth_user: E-Mail-Token-Authentisierung für dieses Konto aktivieren +- enable_user: Benutzer*in aktivieren ++ enable_user: Benutzer aktivieren + memorialize_account: Gedenkkonto +- promote_user: Benutzer*in hochstufen ++ promote_user: Benutzer hochstufen + reject_appeal: Einspruch ablehnen +- reject_user: Benutzer*in ablehnen ++ reject_user: Benutzer ablehnen + remove_avatar_user: Profilbild entfernen + reopen_report: Meldung wieder eröffnen + resend_user: Bestätigungs-E-Mail erneut senden +@@ -290,7 +290,7 @@ de: + deleted_account: gelöschtes Konto + empty: Protokolle nicht gefunden. + filter_by_action: Nach Aktion filtern +- filter_by_user: Nach Benutzer*in filtern ++ filter_by_user: Nach Benutzer filtern + title: Protokoll + announcements: + destroyed_msg: Ankündigung erfolgreich gelöscht! +@@ -360,8 +360,8 @@ de: + one: "%{count} ungeprüfter Hashtag" + other: "%{count} ungeprüfte Hashtags" + pending_users_html: +- one: "%{count} unerledigte*r Benutzer*in" +- other: "%{count} unerledigte Benutzer*innen" ++ one: "%{count} unerledigte Benutzer" ++ other: "%{count} unerledigte Benutzer" + resolved_reports: geklärte Meldungen + software: Programme + sources: Registrierungsort +@@ -414,7 +414,7 @@ de: + obfuscate: Domain-Name verschleiern + obfuscate_hint: Den Domain-Namen öffentlich nur teilweise bekannt geben, sofern die Liste der Domain-Beschränkungen aktiviert ist + private_comment: Interne bzw. nicht-öffentliche Notiz +- private_comment_hint: Kommentar zu dieser Domain-Beschränkung für die interne Nutzung durch die Moderator*innen. ++ private_comment_hint: Kommentar zu dieser Domain-Beschränkung für die interne Nutzung durch die Moderatoren. + public_comment: Öffentliche Notiz + public_comment_hint: Öffentlicher Hinweis zu dieser Domain-Beschränkung, sofern das Veröffentlichen von Sperrlisten grundsätzlich aktiviert ist. + reject_media: Mediendateien ablehnen +@@ -459,7 +459,7 @@ de: + title: Domains importieren + no_file: Keine Datei ausgewählt + follow_recommendations: +- description_html: "Follower-Empfehlungen helfen neuen Nutzer*innen, interessante Inhalte schnell zu finden. Wenn ein*e Nutzer*in noch nicht genug mit anderen interagiert hat, um personalisierte Follower-Empfehlungen zu erhalten, werden stattdessen diese Profile vorgeschlagen. Sie werden täglich, basierend auf einer Mischung aus am meisten interagierenden Konten und jenen mit den meisten Followern für eine bestimmte Sprache neu berechnet." ++ description_html: "Follower-Empfehlungen helfen neuen Nutzern, interessante Inhalte schnell zu finden. Wenn ein Nutzer noch nicht genug mit anderen interagiert hat, um personalisierte Follower-Empfehlungen zu erhalten, werden stattdessen diese Profile vorgeschlagen. Sie werden täglich, basierend auf einer Mischung aus am meisten interagierenden Konten und jenen mit den meisten Followern für eine bestimmte Sprache neu berechnet." + language: Für Sprache + status: Status + suppress: Folgeempfehlung unterbinden +@@ -562,7 +562,7 @@ de: + relays: + add_new: Neues Relay hinzufügen + delete: Entfernen +- description_html: Ein Föderierungsrelay ist ein vermittelnder Server, der eine große Anzahl öffentlicher Beiträge zwischen Servern, die das Relay abonnieren und zu ihm veröffentlichen, austauscht. Es kann kleinen und mittleren Servern dabei helfen, Inhalte des Fediverse zu entdecken, was andernfalls das manuelle Folgen anderer Leute auf externen Servern durch lokale Nutzer*innen erfordern würde. ++ description_html: Ein Föderierungsrelay ist ein vermittelnder Server, der eine große Anzahl öffentlicher Beiträge zwischen Servern, die das Relay abonnieren und zu ihm veröffentlichen, austauscht. Es kann kleinen und mittleren Servern dabei helfen, Inhalte des Fediverse zu entdecken, was andernfalls das manuelle Folgen anderer Leute auf externen Servern durch lokale Nutzer erfordern würde. + disable: Ausschalten + disabled: Ausgeschaltet + enable: Einschalten +@@ -597,7 +597,7 @@ de: + add_to_report: Meldung ergänzen + are_you_sure: Bist du dir sicher? + assign_to_self: Mir zuweisen +- assigned: Zugewiesene*r Moderator*in ++ assigned: Zugewiesener Moderator + by_target_domain: Domain des gemeldeten Kontos + cancel: Abbrechen + category: Kategorie +@@ -622,7 +622,7 @@ de: + delete: Löschen + placeholder: Bitte beschreibe, welche Maßnahmen bzw. Sanktionen ergriffen worden sind, und führe alles auf, was es Erwähnenswertes zu diesem Profil zu berichten gibt … + title: Notizen +- notes_description_html: Notiz an dich und andere Moderator*innen hinterlassen ++ notes_description_html: Notiz an dich und andere Moderatoren hinterlassen + processed_msg: Meldung Nr. %{id} erfolgreich bearbeitet + quick_actions_description_html: 'Führe eine schnelle Aktion aus oder scrolle nach unten, um gemeldete Inhalte zu sehen:' + remote_user_placeholder: das externe Profil von %{instance} +@@ -673,54 +673,54 @@ de: + moderation: Moderation + special: Besonderheit + delete: Entfernen +- description_html: Mit Rollen kannst du die Funktionen und Bereiche von Mastodon anpassen, auf die deine Benutzer*innen zugreifen können. ++ description_html: Mit Rollen kannst du die Funktionen und Bereiche von Mastodon anpassen, auf die deine Benutzer zugreifen können. + edit: Rolle „%{name}“ bearbeiten + everyone: Standard +- everyone_full_description_html: Das ist die Basis-Rolle, die für alle Benutzer*innen gilt – auch für diejenigen ohne zugewiesene Rolle. Alle anderen Rollen erben Berechtigungen davon. ++ everyone_full_description_html: Das ist die Basis-Rolle, die für alle Benutzer gilt – auch für diejenigen ohne zugewiesene Rolle. Alle anderen Rollen erben Berechtigungen davon. + permissions_count: + one: "%{count} Berechtigung" + other: "%{count} Berechtigungen" + privileges: +- administrator: Administrator*in +- administrator_description: Benutzer*innen mit dieser Berechtigung werden alle Beschränkungen umgehen ++ administrator: Administrator ++ administrator_description: Benutzer mit dieser Berechtigung werden alle Beschränkungen umgehen + delete_user_data: Kontodaten löschen +- delete_user_data_description: Erlaubt Benutzer*innen, die Daten anderer Benutzer*innen sofort zu löschen ++ delete_user_data_description: Erlaubt Benutzer, die Daten anderer Benutzer sofort zu löschen + invite_users: Leute einladen +- invite_users_description: Erlaubt bereits registrierten Benutzer*innen, neue Leute zum Server einzuladen ++ invite_users_description: Erlaubt bereits registrierten Benutzern, neue Leute zum Server einzuladen + manage_announcements: Ankündigungen verwalten + manage_announcements_description: Erlaubt Profilen, Ankündigungen auf dem Server zu verwalten + manage_appeals: Einsprüche verwalten +- manage_appeals_description: Erlaubt es Benutzer*innen, Entscheidungen der Moderator*innen zu widersprechen ++ manage_appeals_description: Erlaubt es Benutzern, Entscheidungen der Moderatoren zu widersprechen + manage_blocks: Sperrungen verwalten +- manage_blocks_description: Erlaubt Benutzer*innen das Sperren von E-Mail-Providern und IP-Adressen ++ manage_blocks_description: Erlaubt Benutzern das Sperren von E-Mail-Providern und IP-Adressen + manage_custom_emojis: Eigene Emojis verwalten +- manage_custom_emojis_description: Erlaubt es Benutzer*innen, eigene Emojis auf dem Server zu verwalten ++ manage_custom_emojis_description: Erlaubt es Benutzern, eigene Emojis auf dem Server zu verwalten + manage_federation: Föderation verwalten +- manage_federation_description: Erlaubt Benutzer*innen, Domains anderer Mastodon-Server zu sperren oder zuzulassen – und die Zustellbarkeit zu steuern ++ manage_federation_description: Erlaubt Benutzern, Domains anderer Mastodon-Server zu sperren oder zuzulassen – und die Zustellbarkeit zu steuern + manage_invites: Einladungen verwalten +- manage_invites_description: Erlaubt es Benutzer*innen, Einladungslinks zu durchsuchen und zu deaktivieren ++ manage_invites_description: Erlaubt es Benutzern, Einladungslinks zu durchsuchen und zu deaktivieren + manage_reports: Meldungen verwalten +- manage_reports_description: Erlaubt es Benutzer*innen, Meldungen zu überprüfen und Vorfälle zu moderieren ++ manage_reports_description: Erlaubt es Benutzern, Meldungen zu überprüfen und Vorfälle zu moderieren + manage_roles: Rollen verwalten +- manage_roles_description: Erlaubt es Benutzer*innen, Rollen, die sich unterhalb der eigenen Rolle befinden, zu verwalten und zuzuweisen ++ manage_roles_description: Erlaubt es Benutzern, Rollen, die sich unterhalb der eigenen Rolle befinden, zu verwalten und zuzuweisen + manage_rules: Serverregeln verwalten +- manage_rules_description: Erlaubt es Benutzer*innen, Serverregeln zu ändern ++ manage_rules_description: Erlaubt es Benutzern, Serverregeln zu ändern + manage_settings: Einstellungen verwalten +- manage_settings_description: Erlaubt Nutzer*innen, Einstellungen dieses Servers zu ändern ++ manage_settings_description: Erlaubt Nutzern, Einstellungen dieses Servers zu ändern + manage_taxonomies: Hashtags verwalten +- manage_taxonomies_description: Ermöglicht Benutzer*innen, die Trends zu überprüfen und die Hashtag-Einstellungen zu aktualisieren ++ manage_taxonomies_description: Ermöglicht Benutzern, die Trends zu überprüfen und die Hashtag-Einstellungen zu aktualisieren + manage_user_access: Kontozugriff verwalten +- manage_user_access_description: Erlaubt es Benutzer*innen, die Zwei-Faktor-Authentisierung (2FA) anderer zu deaktivieren, ihre E-Mail-Adresse zu ändern und ihr Passwort zurückzusetzen ++ manage_user_access_description: Erlaubt es Benutzern, die Zwei-Faktor-Authentisierung (2FA) anderer zu deaktivieren, ihre E-Mail-Adresse zu ändern und ihr Passwort zurückzusetzen + manage_users: Konten verwalten +- manage_users_description: Erlaubt es Benutzer*innen, die Details anderer Profile einzusehen und diese Accounts zu moderieren ++ manage_users_description: Erlaubt es Benutzern, die Details anderer Profile einzusehen und diese Accounts zu moderieren + manage_webhooks: Webhooks verwalten +- manage_webhooks_description: Erlaubt es Benutzer*innen, Webhooks für administrative Vorkommnisse einzurichten ++ manage_webhooks_description: Erlaubt es Benutzern, Webhooks für administrative Vorkommnisse einzurichten + view_audit_log: Audit-Log anzeigen +- view_audit_log_description: Erlaubt es Benutzer*innen, den Verlauf der administrativen Handlungen auf diesem Server einzusehen ++ view_audit_log_description: Erlaubt es Benutzern, den Verlauf der administrativen Handlungen auf diesem Server einzusehen + view_dashboard: Dashboard anzeigen +- view_dashboard_description: Gewährt Benutzer*innen den Zugriff auf das Dashboard und verschiedene Metriken ++ view_dashboard_description: Gewährt Benutzern den Zugriff auf das Dashboard und verschiedene Metriken + view_devops: DevOps +- view_devops_description: Erlaubt es Benutzer*innen, auf die Sidekiq- und pgHero-Dashboards zuzugreifen ++ view_devops_description: Erlaubt es Benutzern, auf die Sidekiq- und pgHero-Dashboards zuzugreifen + title: Rollen + rules: + add_new: Regel hinzufügen +@@ -733,7 +733,7 @@ de: + about: + manage_rules: Serverregeln verwalten + preamble: Schildere ausführlich, wie dein Server betrieben, moderiert und finanziert wird. +- rules_hint: Es gibt einen eigenen Bereich für Regeln, die deine Benutzer*innen einhalten müssen. ++ rules_hint: Es gibt einen eigenen Bereich für Regeln, die deine Benutzer einhalten müssen. + title: Über + appearance: + preamble: Passe das Webinterface von Mastodon an. +@@ -743,9 +743,9 @@ de: + title: Branding + captcha_enabled: + desc_html: Dies beruht auf externen Skripten von hCaptcha, die ein Sicherheits- und Datenschutzproblem darstellen könnten. Darüber hinaus kann das den Registrierungsprozess für manche Menschen (insbesondere für Menschen mit Behinderung) erheblich erschweren. Aus diesen Gründen solltest du alternative Maßnahmen in Betracht ziehen, z. B. eine Registrierung basierend auf einer Einladung oder auf Genehmigungen. +- title: Neue Nutzer*innen müssen ein CAPTCHA lösen, um das Konto zu bestätigen ++ title: Neue Nutzer müssen ein CAPTCHA lösen, um das Konto zu bestätigen + content_retention: +- preamble: Lege fest, wie lange Inhalte von Nutzer*innen auf deinem Mastodon-Server gespeichert bleiben. ++ preamble: Lege fest, wie lange Inhalte von Nutzern auf deinem Mastodon-Server gespeichert bleiben. + title: Aufbewahrung von Inhalten + default_noindex: + desc_html: Betrifft alle Profile, die diese Einstellung bei sich nicht geändert haben +@@ -762,7 +762,7 @@ de: + domain_blocks: + all: Allen + disabled: Niemandem +- users: Für angemeldete lokale Benutzer*innen ++ users: Für angemeldete lokale Benutzer + registrations: + preamble: Lege fest, wer auf deinem Server ein Konto erstellen darf. + title: Registrierungen +@@ -773,7 +773,7 @@ de: + open: Alle können sich registrieren + security: + authorized_fetch: Authentisierung von föderierten Servern erforderlich machen +- authorized_fetch_hint: Das Anfordern einer Authentisierung von föderierten Servern ermöglicht ein strengeres Durchsetzen von Sperren sowohl auf Ebene der Benutzer*innen als auch des Servers. Allerdings ist das mit Leistungseinbußen verbunden, reduziert die Reichweite deiner Antworten und kann zu Kompatibilitätsproblemen mit einigen föderierten Diensten führen. Darüber hinaus wird das Abrufen deiner öffentlichen Beiträge und Konten durch spezialisierte Akteur*innen nicht verhindert. ++ authorized_fetch_hint: Das Anfordern einer Authentisierung von föderierten Servern ermöglicht ein strengeres Durchsetzen von Sperren sowohl auf Ebene der Benutzer als auch des Servers. Allerdings ist das mit Leistungseinbußen verbunden, reduziert die Reichweite deiner Antworten und kann zu Kompatibilitätsproblemen mit einigen föderierten Diensten führen. Darüber hinaus wird das Abrufen deiner öffentlichen Beiträge und Konten durch spezialisierte Akteure nicht verhindert. + authorized_fetch_overridden_hint: Diese Einstellung wird derzeit von einer Umgebungsvariable überschrieben und kann daher nicht geändert werden. + federation_authentication: Authentisierung von föderierten Servern durchsetzen + title: Servereinstellungen +@@ -793,7 +793,7 @@ de: + patch: Revision — Fehlerbehebungen und einfach zu implementierende Änderungen + version: Version + statuses: +- account: Autor*in ++ account: Autor + application: Anwendung + back_to_account: Zurück zum Konto + back_to_report: Zurück zur Seite mit den Meldungen +@@ -864,10 +864,10 @@ de: + message_html: Ein Mastodon-Update für Fehlerbehebungen ist verfügbar. + upload_check_privacy_error: + action: Für weitere Informationen hier klicken +- message_html: "Die Konfiguration deines Servers ist fehlerhaft. Die Privatsphäre deiner Benutzer*innen ist gefährdet." ++ message_html: "Die Konfiguration deines Servers ist fehlerhaft. Die Privatsphäre deiner Benutzer ist gefährdet." + upload_check_privacy_error_object_storage: + action: Für weitere Informationen hier klicken +- message_html: "Die Konfiguration deines Objektspeichers ist fehlerhaft. Die Privatsphäre deiner Benutzer*innen ist gefährdet." ++ message_html: "Die Konfiguration deines Objektspeichers ist fehlerhaft. Die Privatsphäre deiner Benutzer ist gefährdet." + tags: + review: Prüfstatus + updated_msg: Hashtag-Einstellungen erfolgreich aktualisiert +@@ -878,13 +878,13 @@ de: + disallow: Verbieten + links: + allow: Link erlauben +- allow_provider: Herausgeber*in erlauben +- description_html: Dies sind Links, die derzeit von zahlreichen Konten geteilt werden und die deinem Server aufgefallen sind. Die Benutzer*innen können darüber herausfinden, was in der Welt vor sich geht. Die Links werden allerdings erst dann öffentlich vorgeschlagen, wenn du die Herausgeber*innen genehmigt hast. Du kannst alternativ aber auch nur einzelne URLs zulassen oder ablehnen. ++ allow_provider: Herausgeber erlauben ++ description_html: Dies sind Links, die derzeit von zahlreichen Konten geteilt werden und die deinem Server aufgefallen sind. Die Benutzer können darüber herausfinden, was in der Welt vor sich geht. Die Links werden allerdings erst dann öffentlich vorgeschlagen, wenn du die Herausgeber genehmigt hast. Du kannst alternativ aber auch nur einzelne URLs zulassen oder ablehnen. + disallow: Link verbieten +- disallow_provider: Herausgeber*in verbieten ++ disallow_provider: Herausgeber verbieten + no_link_selected: Keine Links wurden geändert, da keine ausgewählt wurden + publishers: +- no_publisher_selected: Keine Herausgeber*innen wurden geändert, da keine ausgewählt wurden ++ no_publisher_selected: Keine Herausgeber wurden geändert, da keine ausgewählt wurden + shared_by_over_week: + one: In den vergangenen 7 Tagen von einem Profil geteilt + other: In den vergangenen 7 Tagen von %{count} Profilen geteilt +@@ -894,9 +894,9 @@ de: + only_allowed: Nur Genehmigte + pending_review: Überprüfung ausstehend + preview_card_providers: +- allowed: Links von diesem/dieser Herausgeber*in können im Trend liegen ++ allowed: Links von diesem/dieser Herausgeber können im Trend liegen + description_html: Dies sind Domains, von denen Links oft auf deinem Server geteilt werden. Links werden nicht öffentlich trenden, es sei denn, die Domain des Links wird genehmigt. Deine Zustimmung (oder Ablehnung) erstreckt sich auf Subdomains. +- rejected: Links von diesem/dieser Herausgeber*in werden nicht im Trend liegen ++ rejected: Links von diesem/dieser Herausgeber werden nicht im Trend liegen + title: Herausgeber + rejected: Abgelehnt + statuses: +@@ -906,7 +906,7 @@ de: + disallow: Beitrag verbieten + disallow_account: Profil verweigern + no_status_selected: Die im Trend liegenden Beiträge wurden nicht geändert, da keine ausgewählt wurden +- not_discoverable: Autor*in hat sich dafür entschieden, nicht entdeckt zu werden ++ not_discoverable: Autor hat sich dafür entschieden, nicht entdeckt zu werden + shared_by: + one: Einmal geteilt oder favorisiert + other: "%{friendly_count}-mal geteilt oder favorisiert" +@@ -919,7 +919,7 @@ de: + tag_servers_dimension: Aktivste Server + tag_servers_measure: Server + tag_uses_measure: insgesamt +- description_html: Diese Hashtags werden derzeit in vielen Beiträgen verwendet, die dein Server sieht. Dies kann deinen Nutzer*innen helfen, herauszufinden, worüber die Leute im Moment am meisten schreiben. Hashtags werden erst dann öffentlich angezeigt, wenn du sie genehmigst. ++ description_html: Diese Hashtags werden derzeit in vielen Beiträgen verwendet, die dein Server sieht. Dies kann deinen Nutzer helfen, herauszufinden, worüber die Leute im Moment am meisten schreiben. Hashtags werden erst dann öffentlich angezeigt, wenn du sie genehmigst. + listable: Kann vorgeschlagen werden + no_tag_selected: Keine Hashtags wurden geändert, da keine ausgewählt wurden + not_listable: Wird nicht vorgeschlagen +@@ -1076,8 +1076,8 @@ de: + accept: Akzeptieren + back: Zurück + invited_by: 'Du kannst %{domain} beitreten – dank der Einladung von:' +- preamble: Diese werden von den Moderator*innen von %{domain} festgelegt und durchgesetzt. +- preamble_invited: Bevor du fortfährst, beachte bitte die Grundregeln der Moderator*innen von %{domain}. ++ preamble: Diese werden von den Moderatoren von %{domain} festgelegt und durchgesetzt. ++ preamble_invited: Bevor du fortfährst, beachte bitte die Grundregeln der Moderatoren von %{domain}. + title: Einige Grundregeln. + title_invited: Du wurdest eingeladen. + security: Sicherheit +@@ -1092,7 +1092,7 @@ de: + preamble_html: Melde dich mit deinen Zugangsdaten für %{domain} an. Solltest du dein Konto auf einem anderen Server registriert haben, ist eine Anmeldung hier nicht möglich. + title: Bei %{domain} anmelden + sign_up: +- manual_review: Registrierungen für den Server %{domain} werden manuell durch unsere Moderator*innen überprüft. Um uns dabei zu unterstützen, schreibe etwas über dich und sage uns, weshalb du ein Konto auf %{domain} anlegen möchtest. ++ manual_review: Registrierungen für den Server %{domain} werden manuell durch unsere Moderatoren überprüft. Um uns dabei zu unterstützen, schreibe etwas über dich und sage uns, weshalb du ein Konto auf %{domain} anlegen möchtest. + preamble: Mit einem Konto auf diesem Mastodon-Server kannst du jeder anderen Person im Netzwerk folgen, unabhängig davon, wo ihr Konto registriert ist. + title: Lass uns dein Konto auf %{domain} einrichten. + status: +@@ -1161,7 +1161,7 @@ de: + approve_appeal: Einspruch annehmen + associated_report: Zugehörige Meldung + created_at: Datum +- description_html: Dies sind Maßnahmen, die gegen dein Konto ergriffen worden sind, und Warnungen, die dir die Mitarbeiter*innen von %{instance} gesendet haben. ++ description_html: Dies sind Maßnahmen, die gegen dein Konto ergriffen worden sind, und Warnungen, die dir die Mitarbeiter von %{instance} gesendet haben. + recipient: Adressiert an + reject_appeal: Einspruch ablehnen + status: "%{id}. Beitrag" +@@ -1786,9 +1786,9 @@ de: + spam: Spam + violation: Inhalt verstößt gegen die folgenden Serverregeln + explanation: +- delete_statuses: Einige deiner Beiträge haben gegen eine oder mehrere Serverregeln verstoßen und wurden daher von den Moderator*innen von %{instance} entfernt. ++ delete_statuses: Einige deiner Beiträge haben gegen eine oder mehrere Serverregeln verstoßen und wurden daher von den Moderatoren von %{instance} entfernt. + disable: Du kannst dein Konto nicht mehr verwenden, aber dein Profil und deine anderen Daten bleiben erhalten. Du kannst eine Sicherung deiner Daten anfordern, die Kontoeinstellungen ändern oder dein Konto löschen. +- mark_statuses_as_sensitive: Ein oder mehrere deiner Beiträge wurden von den Moderator*innen von %{instance} mit einer Inhaltswarnung versehen. Das bedeutet, dass die Medien in den Beiträgen erst angeklickt werden müssen, bevor sie angezeigt werden. Beim Verfassen der nächsten Beiträge kannst du auch selbst eine Inhaltswarnung für hochgeladene Medien festlegen. ++ mark_statuses_as_sensitive: Ein oder mehrere deiner Beiträge wurden von den Moderatoren von %{instance} mit einer Inhaltswarnung versehen. Das bedeutet, dass die Medien in den Beiträgen erst angeklickt werden müssen, bevor sie angezeigt werden. Beim Verfassen der nächsten Beiträge kannst du auch selbst eine Inhaltswarnung für hochgeladene Medien festlegen. + sensitive: Von nun an werden alle deine hochgeladenen Mediendateien mit einer Inhaltswarnung versehen und hinter einer Warnung versteckt. + silence: Du kannst dein Konto weiterhin verwenden, aber nur Personen, die dir bereits folgen, sehen deine Beiträge auf diesem Server. Ebenso kannst du aus verschiedenen Suchfunktionen ausgeschlossen werden. Andere können dir jedoch weiterhin manuell folgen. + suspend: Du kannst dein Konto nicht mehr verwenden und dein Profil und andere Daten sind nicht mehr verfügbar. Du kannst dich immer noch anmelden, um eine Sicherung deiner Daten anzufordern, bis die Daten innerhalb von 30 Tagen vollständig gelöscht wurden. Allerdings werden wir einige Daten speichern, um zu verhindern, dass du die Sperrung umgehst. +@@ -1817,7 +1817,7 @@ de: + final_action: Mit erstem Beitrag starten + final_step: 'Fang jetzt an zu posten! Selbst ohne Follower werden deine öffentlichen Beiträge von anderen gesehen, zum Beispiel in der lokalen Timeline oder über die Hashtags. Möglicherweise möchtest du dich allen mit dem Hashtag #neuhier vorstellen.' + full_handle: Dein vollständiger Profilname +- full_handle_hint: Deinen vollständigen Profilnamen kannst du deinen Freund*innen mitteilen, damit sie dich anschreiben oder dir von einem anderen Server folgen können. ++ full_handle_hint: Deinen vollständigen Profilnamen kannst du deinen Freunden mitteilen, damit sie dich anschreiben oder dir von einem anderen Server folgen können. + subject: Willkommen bei Mastodon! + title: Willkommen an Bord, %{name}! + users: +diff --git a/config/locales/doorkeeper.de.yml b/config/locales/doorkeeper.de.yml +index cc7b88a28..4cc4b3dea 100644 +--- a/config/locales/doorkeeper.de.yml ++++ b/config/locales/doorkeeper.de.yml +@@ -80,7 +80,7 @@ de: + title: Deine autorisierten Anwendungen + errors: + messages: +- access_denied: Diese Anfrage wurde von den Inhaber*innen oder durch den Autorisierungsserver abgelehnt. ++ access_denied: Diese Anfrage wurde von den Inhaberen oder durch den Autorisierungsserver abgelehnt. + credential_flow_not_configured: Das Konto konnte nicht gefunden werden, da Doorkeeper.configure.resource_owner_from_credentials nicht konfiguriert ist. + invalid_client: 'Client-Authentisierung ist fehlgeschlagen: Client unbekannt, keine Authentisierung mitgeliefert oder Authentisierungsmethode wird nicht unterstützt.' + invalid_grant: Die beigefügte Autorisierung ist ungültig, abgelaufen, wurde widerrufen oder einem anderen Client ausgestellt, oder der Weiterleitungs-URI stimmt nicht mit der Autorisierungs-Anfrage überein. +diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml +index fcf92e29f..d0cea9440 100644 +--- a/config/locales/simple_form.de.yml ++++ b/config/locales/simple_form.de.yml +@@ -16,14 +16,14 @@ de: + acct: Gib profilname@domain des Kontos an, zu dem du umziehen möchtest + account_warning_preset: + text: Du kannst die Syntax wie für Beiträge verwenden – z. B. URLs, Hashtags und Erwähnungen +- title: "(Optional) Für Empfänger*in nicht sichtbar" ++ title: "(Optional) Für Empfänger nicht sichtbar" + admin_account_action: + include_statuses: Die Person wird sehen, welche Inhalte dich zu dieser Maßnahme veranlasst haben +- send_email_notification: Benutzer*in wird eine Erklärung erhalten, was mit dem Konto geschehen ist ++ send_email_notification: Benutzer wird eine Erklärung erhalten, was mit dem Konto geschehen ist + text_html: (Optional) Du kannst die Syntax wie für Beiträge verwenden. Du kannst Warnvorlagen hinzufügen, um Zeit zu sparen + type_html: Wähle aus, wie mit %{acct} vorgegangen werden soll + types: +- disable: Benutzer*in daran hindern, das Konto verwenden zu können, aber die Inhalte nicht löschen oder ausblenden. ++ disable: Benutzer daran hindern, das Konto verwenden zu können, aber die Inhalte nicht löschen oder ausblenden. + none: Dem Konto eine Warnung zusenden, ohne dabei eine andere Aktion vorzunehmen. + sensitive: Erzwingen, dass alle Medienanhänge dieses Profils mit einer Inhaltswarnung versehen werden. + silence: Verhindert, dass dieses Profil öffentlich sichtbare Beiträge verfassen kann, und verbirgt alle Beiträge und Benachrichtigungen vor Personen, die diesem Profil nicht folgen. Alle Meldungen zu diesem Konto werden geschlossen. +@@ -34,7 +34,7 @@ de: + ends_at: "(Optional) Die Ankündigung wird zu diesem Zeitpunkt automatisch zurückgezogen" + scheduled_at: Leer lassen, um die Ankündigung sofort zu veröffentlichen + starts_at: "(Optional) Für den Fall, dass deine Ankündigung an einen bestimmten Zeitraum gebunden ist" +- text: Du kannst die Syntax wie für Beiträge verwenden. Bitte berücksichtige den Platz, den die Ankündigung auf dem Bildschirm der Benutzer*innen einnehmen wird ++ text: Du kannst die Syntax wie für Beiträge verwenden. Bitte berücksichtige den Platz, den die Ankündigung auf dem Bildschirm der Benutzer einnehmen wird + appeal: + text: Du kannst nur einmal Einspruch gegen eine Maßnahme einlegen + defaults: +@@ -77,8 +77,8 @@ de: + warn: Den gefilterten Beitrag hinter einer Warnung, die den Filtertitel beinhaltet, ausblenden + form_admin_settings: + activity_api_enabled: Anzahl der wöchentlichen Beiträge, aktiven Profile und Registrierungen auf diesem Server +- backups_retention_period: Behalte die Archive, die von den Benutzer*innen erstellt worden sind, für die angegebene Anzahl an Tagen. +- bootstrap_timeline_accounts: Diese Konten werden bei den Follower-Empfehlungen für neu registrierte Nutzer*innen oben angeheftet. ++ backups_retention_period: Behalte die Archive, die von den Benutzer erstellt worden sind, für die angegebene Anzahl an Tagen. ++ bootstrap_timeline_accounts: Diese Konten werden bei den Follower-Empfehlungen für neu registrierte Nutzer oben angeheftet. + closed_registrations_message: Wird angezeigt, wenn Registrierungen deaktiviert sind + content_cache_retention_period: Sowohl alle Beiträge als auch geteilte Beiträge von anderen Servern werden nach der angegebenen Anzahl von Tagen gelöscht. Alle zugehörigen Lesezeichen, Favoriten und geteilte Beiträge werden ebenfalls verloren gehen. Dies kann nicht mehr rückgängig gemacht werden. + custom_css: Du kannst benutzerdefinierte Stile auf die Web-Version von Mastodon anwenden. +@@ -89,7 +89,7 @@ de: + require_invite_text: Wenn Registrierungen eine manuelle Genehmigung erfordern, dann werden Nutzer einen Grund für ihre Registrierung angeben müssen + site_contact_email: Wie man dich bei rechtlichen oder Support-Anfragen erreichen kann. + site_contact_username: Wie man dich auf Mastodon erreichen kann. +- site_extended_description: Alle zusätzlichen Informationen, die für Besucher*innen und deine Benutzer*innen nützlich sein könnten. Kann mit der Markdown-Syntax formatiert werden. ++ site_extended_description: Alle zusätzlichen Informationen, die für Besucher und deine Benutzer nützlich sein könnten. Kann mit der Markdown-Syntax formatiert werden. + site_short_description: Eine kurze Beschreibung zur eindeutigen Identifizierung des Servers. Wer betreibt ihn, für wen ist er bestimmt? + site_terms: Verwende eine eigene Datenschutzerklärung oder lasse das Feld leer, um die allgemeine Vorlage zu verwenden. Kann mit der Markdown-Syntax formatiert werden. + site_title: Wie Personen neben dem Domainnamen auf deinen Server verweisen können. +@@ -132,7 +132,7 @@ de: + color: Farbe, die für diese Rolle in der gesamten Benutzerschnittstelle verwendet wird, als RGB im Hexadezimalsystem + highlighted: Dies macht die Rolle öffentlich im Profil sichtbar + name: Name der Rolle, der auch öffentlich als Badge angezeigt wird, sofern dies unten aktiviert ist +- permissions_as_keys: Benutzer*innen mit dieser Rolle haben Zugriff auf... ++ permissions_as_keys: Benutzer mit dieser Rolle haben Zugriff auf... + position: Höhere Rollen entscheiden über Konfliktlösungen zu gewissen Situationen. Bestimmte Aktionen können nur mit geringfügigeren Rollen durchgeführt werden + webhook: + events: Zu sendende Ereignisse auswählen +diff --git a/spec/validators/note_length_validator_spec.rb b/spec/validators/note_length_validator_spec.rb +index 66fccad3e..bf3fc532e 100644 +--- a/spec/validators/note_length_validator_spec.rb ++++ b/spec/validators/note_length_validator_spec.rb +@@ -3,10 +3,10 @@ + require 'rails_helper' + + describe NoteLengthValidator do +- subject { described_class.new(attributes: { note: true }, maximum: 500) } ++ subject { described_class.new(attributes: { note: true }, maximum: 5000) } + + describe '#validate' do +- it 'adds an error when text is over 500 characters' do ++ it 'adds an error when text is over 5000 characters' do + text = 'a' * 520 + account = instance_double(Account, note: text, errors: activemodel_errors) +