+ );
+};
+
+Account.propTypes = {
+ size: PropTypes.number,
+ account: ImmutablePropTypes.record,
+ onFollow: PropTypes.func,
+ onBlock: PropTypes.func,
+ onMute: PropTypes.func,
+ onMuteNotifications: PropTypes.func,
+ intl: PropTypes.object.isRequired,
+ hidden: PropTypes.bool,
+ minimal: PropTypes.bool,
+ defaultAction: PropTypes.string,
+ withBio: PropTypes.bool,
+};
+
+export default Account;
diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json
index 910d6cb06e..dabefd1f45 100644
--- a/app/javascript/mastodon/locales/bg.json
+++ b/app/javascript/mastodon/locales/bg.json
@@ -297,6 +297,7 @@
"filter_modal.select_filter.subtitle": "Изберете съществуваща категория или създайте нова",
"filter_modal.select_filter.title": "Филтриране на публ.",
"filter_modal.title.status": "Филтриране на публ.",
+ "filtered_notifications_banner.mentions": "{count, plural, one {споменаване} other {споменавания}}",
"filtered_notifications_banner.pending_requests": "Известията от {count, plural, =0 {никого, когото може да познавате} one {едно лице, което може да познавате} other {# души, които може да познавате}}",
"filtered_notifications_banner.title": "Филтрирани известия",
"firehose.all": "Всичко",
diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json
index a1ba25fede..8b52cdb3cc 100644
--- a/app/javascript/mastodon/locales/de.json
+++ b/app/javascript/mastodon/locales/de.json
@@ -536,11 +536,11 @@
"onboarding.follows.empty": "Bedauerlicherweise können aktuell keine Ergebnisse angezeigt werden. Du kannst die Suche verwenden oder den Reiter „Entdecken“ auswählen, um neue Leute zum Folgen zu finden – oder du versuchst es später erneut.",
"onboarding.follows.lead": "Deine Startseite ist der primäre Anlaufpunkt, um Mastodon zu erleben. Je mehr Profilen du folgst, umso aktiver und interessanter wird sie. Damit du direkt loslegen kannst, gibt es hier ein paar Vorschläge:",
"onboarding.follows.title": "Personalisiere deine Startseite",
- "onboarding.profile.discoverable": "Mein Profil auffindbar machen",
+ "onboarding.profile.discoverable": "Mein Profil darf entdeckt werden",
"onboarding.profile.discoverable_hint": "Wenn du entdeckt werden möchtest, dann können deine Beiträge in Suchergebnissen und Trends erscheinen. Dein Profil kann ebenfalls anderen mit ähnlichen Interessen vorgeschlagen werden.",
"onboarding.profile.display_name": "Anzeigename",
"onboarding.profile.display_name_hint": "Dein richtiger Name oder dein Fantasiename …",
- "onboarding.profile.lead": "Du kannst das später in den Einstellungen vervollständigen, wo noch mehr Anpassungsmöglichkeiten zur Verfügung stehen.",
+ "onboarding.profile.lead": "Du kannst dein Profil später in den Einstellungen vervollständigen. Dort stehen weitere Anpassungsmöglichkeiten zur Verfügung.",
"onboarding.profile.note": "Über mich",
"onboarding.profile.note_hint": "Du kannst andere @Profile erwähnen oder #Hashtags verwenden …",
"onboarding.profile.save_and_continue": "Speichern und fortfahren",
@@ -556,16 +556,16 @@
"onboarding.start.title": "Du hast es geschafft!",
"onboarding.steps.follow_people.body": "Interessanten Profilen zu folgen ist das, was Mastodon ausmacht.",
"onboarding.steps.follow_people.title": "Personalisiere deine Startseite",
- "onboarding.steps.publish_status.body": "Begrüße die Welt mit Text, Fotos, Videos oder Umfragen {emoji}",
+ "onboarding.steps.publish_status.body": "Begrüße die Welt mit Text, Fotos, Videos oder Umfragen. {emoji}",
"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 Freund*innen 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!",
"onboarding.tips.migration": "Wusstest du schon? Wenn du das Gefühl hast, dass {domain} in Zukunft nicht die richtige Serverwahl für dich ist, kannst du auf einen anderen Mastodon-Server umziehen, ohne deine Follower zu verlieren. Du kannst sogar deinen eigenen Server betreiben!",
- "onboarding.tips.verification": "Wusstest du schon? Du kannst dein Konto verifizieren, indem du auf deiner Website auf dein Mastodon-Profil verlinkst und den Link deiner Website zu deinem Profil hinzufügst. Keine Gebühren oder Dokumente erforderlich!",
+ "onboarding.tips.verification": "Wusstest du schon? Du kannst dein Konto verifizieren, indem du auf deiner Website auf dein Mastodon-Profil verlinkst und den Link deiner Website zu deinem Profil hinzufügst. Völlig kostenlos und ohne Dokumente einsenden zu müssen!",
"password_confirmation.exceeds_maxlength": "Passwortbestätigung überschreitet die maximal erlaubte Zeichenanzahl",
"password_confirmation.mismatching": "Passwortbestätigung stimmt nicht überein",
"picture_in_picture.restore": "Zurücksetzen",
diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json
index 90a48b6343..33161f8882 100644
--- a/app/javascript/mastodon/locales/id.json
+++ b/app/javascript/mastodon/locales/id.json
@@ -123,6 +123,7 @@
"column.directory": "Jelajahi profil",
"column.domain_blocks": "Domain tersembunyi",
"column.favourites": "Favorit",
+ "column.firehose": "Feed yang sedang berlangsung",
"column.follow_requests": "Permintaan mengikuti",
"column.home": "Beranda",
"column.lists": "List",
@@ -143,7 +144,9 @@
"community.column_settings.remote_only": "Hanya jarak jauh",
"compose.language.change": "Ganti bahasa",
"compose.language.search": "Telusuri bahasa...",
+ "compose.published.body": "Postingan diterbitkan.",
"compose.published.open": "Buka",
+ "compose.saved.body": "Postingan tersimpan.",
"compose_form.direct_message_warning_learn_more": "Pelajari lebih lanjut",
"compose_form.encryption_warning": "Kiriman di Mastodon tidak dienkripsi secara end-to-end. Jangan bagikan informasi sensitif melalui Mastodon.",
"compose_form.hashtag_warning": "Kiriman ini tidak akan didaftarkan di bawah tagar apapun selama tidak diatur ke publik. Hanya kiriman publik yang dapat dicari dengan tagar.",
@@ -151,11 +154,19 @@
"compose_form.lock_disclaimer.lock": "terkunci",
"compose_form.placeholder": "Apa yang ada di pikiran Anda?",
"compose_form.poll.duration": "Durasi japat",
+ "compose_form.poll.multiple": "Pilihan ganda",
+ "compose_form.poll.option_placeholder": "Opsi {number}",
+ "compose_form.poll.single": "Pilih Satu",
"compose_form.poll.switch_to_multiple": "Ubah japat menjadi pilihan ganda",
"compose_form.poll.switch_to_single": "Ubah japat menjadi pilihan tunggal",
+ "compose_form.poll.type": "Gaya",
+ "compose_form.publish": "Postingan",
"compose_form.publish_form": "Terbitkan",
+ "compose_form.reply": "Balas",
+ "compose_form.save_changes": "Perbarui",
"compose_form.spoiler.marked": "Hapus peringatan tentang isi konten",
"compose_form.spoiler.unmarked": "Tambahkan peringatan tentang isi konten",
+ "compose_form.spoiler_placeholder": "Peringatan konten (opsional)",
"confirmation_modal.cancel": "Batal",
"confirmations.block.confirm": "Blokir",
"confirmations.cancel_follow_request.confirm": "Batalkan permintaan",
@@ -166,12 +177,15 @@
"confirmations.delete_list.message": "Apakah Anda yakin untuk menghapus daftar ini secara permanen?",
"confirmations.discard_edit_media.confirm": "Buang",
"confirmations.discard_edit_media.message": "Anda belum menyimpan perubahan deskripsi atau pratinjau media, buang saja?",
+ "confirmations.domain_block.confirm": "Blokir server",
"confirmations.domain_block.message": "Apakah Anda benar-benar yakin untuk memblokir keseluruhan {domain}? Dalam kasus tertentu beberapa pemblokiran atau penyembunyian lebih baik.",
"confirmations.edit.confirm": "Ubah",
+ "confirmations.edit.message": "Mengubah akan menimpa pesan yang sedang anda tulis. Apakah anda yakin ingin melanjutkan?",
"confirmations.logout.confirm": "Keluar",
"confirmations.logout.message": "Apakah Anda yakin ingin keluar?",
"confirmations.mute.confirm": "Bisukan",
"confirmations.redraft.confirm": "Hapus dan susun ulang",
+ "confirmations.redraft.message": "Apakah anda yakin ingin menghapus postingan ini dan menyusun ulang postingan ini? Favorit dan peningkatan akan hilang, dan balasan ke postingan asli tidak akan terhubung ke postingan manapun.",
"confirmations.reply.confirm": "Balas",
"confirmations.reply.message": "Membalas sekarang akan menimpa pesan yang sedang Anda buat. Anda yakin ingin melanjutkan?",
"confirmations.unfollow.confirm": "Berhenti mengikuti",
@@ -180,6 +194,7 @@
"conversation.mark_as_read": "Tandai sudah dibaca",
"conversation.open": "Lihat percakapan",
"conversation.with": "Dengan {names}",
+ "copy_icon_button.copied": "Disalin ke clipboard",
"copypaste.copied": "Disalin",
"copypaste.copy_to_clipboard": "Salin ke clipboard",
"directory.federated": "Dari fediverse yang dikenal",
@@ -191,7 +206,27 @@
"dismissable_banner.community_timeline": "Ini adalah kiriman publik terkini dari orang yang akunnya berada di {domain}.",
"dismissable_banner.dismiss": "Abaikan",
"dismissable_banner.explore_links": "Cerita berita ini sekarang sedang dibicarakan oleh orang di server ini dan lainnya dalam jaringan terdesentralisasi.",
+ "dismissable_banner.explore_statuses": "Ini adalah postingan dari seluruh web sosial yang mendapatkan daya tarik saat ini. Postingan baru dengan lebih banyak peningkatan dan favorit memiliki peringkat lebih tinggi.",
"dismissable_banner.explore_tags": "Tagar ini sekarang sedang tren di antara orang di server ini dan lainnya dalam jaringan terdesentralisasi.",
+ "dismissable_banner.public_timeline": "Ini adalah postingan publik dari orang-orang di web sosial yang diikuti oleh {domain}.",
+ "domain_block_modal.block": "Blokir server",
+ "domain_block_modal.block_account_instead": "Blokir @{name} saja",
+ "domain_block_modal.they_can_interact_with_old_posts": "Orang-orang dari server ini dapat berinteraksi dengan kiriman lama anda.",
+ "domain_block_modal.they_cant_follow": "Tidak ada seorangpun dari server ini yang dapat mengikuti anda.",
+ "domain_block_modal.they_wont_know": "Mereka tidak akan tahu bahwa mereka diblokir.",
+ "domain_block_modal.title": "Blokir domain?",
+ "domain_block_modal.you_will_lose_followers": "Semua pengikut anda dari server ini akan dihapus.",
+ "domain_block_modal.you_wont_see_posts": "Anda tidak akan melihat postingan atau notifikasi dari pengguna di server ini.",
+ "domain_pill.activitypub_lets_connect": "Ini memungkinkan anda terhubung dan berinteraksi dengan orang-orang tidak hanya di Mastodon, tetapi juga di berbagai aplikasi sosial.",
+ "domain_pill.activitypub_like_language": "ActivityPub seperti bahasa yang digunakan Mastodon dengan jejaring sosial lainnya.",
+ "domain_pill.server": "Server",
+ "domain_pill.their_handle": "Nama penggunanya:",
+ "domain_pill.their_server": "Rumah digital mereka, di mana semua postingan mereka tersedia.",
+ "domain_pill.their_username": "Pengenal unik mereka di server tersebut. Itu memungkinkan dapat mencari pengguna dengan nama yang sama di server lain.",
+ "domain_pill.username": "Nama pengguna",
+ "domain_pill.whats_in_a_handle": "Apa itu nama pengguna?",
+ "domain_pill.who_they_are": "Karena nama pengguna menunjukkan siapa seseorang dan di mana server mereka berada, anda dapat berinteraksi dengan orang-orang di seluruh web sosial .",
+ "domain_pill.your_handle": "Nama pengguna anda:",
"embed.instructions": "Sematkan kiriman ini di situs web Anda dengan menyalin kode di bawah ini.",
"embed.preview": "Tampilan akan seperti ini nantinya:",
"emoji_button.activity": "Aktivitas",
@@ -260,6 +295,10 @@
"follow_request.authorize": "Izinkan",
"follow_request.reject": "Tolak",
"follow_requests.unlocked_explanation": "Meskipun akun Anda tidak dikunci, staf {domain} menyarankan Anda untuk meninjau permintaan mengikuti dari akun-akun ini secara manual.",
+ "follow_suggestions.curated_suggestion": "Pilihan staf",
+ "follow_suggestions.dismiss": "Jangan tampilkan lagi",
+ "follow_suggestions.hints.featured": "Profil ini telah dipilih sendiri oleh tim {domain}.",
+ "follow_suggestions.hints.friends_of_friends": "Profil ini populer di kalangan orang yang anda ikuti.",
"followed_tags": "Tagar yang diikuti",
"footer.about": "Tentang",
"footer.directory": "Direktori profil",
diff --git a/app/javascript/mastodon/locales/ig.json b/app/javascript/mastodon/locales/ig.json
index a9b300fa4f..90253743fc 100644
--- a/app/javascript/mastodon/locales/ig.json
+++ b/app/javascript/mastodon/locales/ig.json
@@ -20,6 +20,7 @@
"column.bookmarks": "Ebenrụtụakā",
"column.home": "Be",
"column.lists": "Ndepụta",
+ "column.notifications": "Nziọkwà",
"column.pins": "Pinned post",
"column_header.pin": "Gbado na profaịlụ gị",
"column_subheading.settings": "Mwube",
@@ -42,17 +43,28 @@
"confirmations.reply.confirm": "Zaa",
"confirmations.unfollow.confirm": "Kwụsị iso",
"conversation.delete": "Hichapụ nkata",
+ "disabled_account_banner.account_settings": "Mwube akaụntụ",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
"dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
+ "domain_pill.username": "Ahaojiaru",
"embed.instructions": "Embed this status on your website by copying the code below.",
+ "emoji_button.activity": "Mmemme",
+ "emoji_button.label": "Tibanye emoji",
"emoji_button.search": "Chọọ...",
+ "emoji_button.symbols": "Ọdịmara",
"empty_column.account_timeline": "No posts found",
"empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}",
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
"errors.unexpected_crash.report_issue": "Kpesa nsogbu",
+ "explore.trending_links": "Akụkọ",
+ "firehose.all": "Ha niine",
+ "follow_request.authorize": "Nye ikike",
"footer.privacy_policy": "Iwu nzuzu",
"getting_started.heading": "Mbido",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
+ "home.column_settings.show_replies": "Gosi nzaghachị",
+ "home.hide_announcements": "Zoo ọkwa",
+ "home.show_announcements": "Gosi ọkwa",
"keyboard_shortcuts.back": "to navigate back",
"keyboard_shortcuts.blocked": "to open blocked users list",
"keyboard_shortcuts.boost": "to boost",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index 30c9eb77a9..f20d93753b 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -298,7 +298,7 @@
"filter_modal.select_filter.title": "この投稿をフィルターする",
"filter_modal.title.status": "投稿をフィルターする",
"filtered_notifications_banner.mentions": "{count, plural, one {メンション} other {メンション}}",
- "filtered_notifications_banner.pending_requests": "{count, plural, =0 {アカウント} other {#アカウント}}からの通知がブロックされています",
+ "filtered_notifications_banner.pending_requests": "{count, plural, =0 {通知がブロックされているアカウントはありません} other {#アカウントからの通知がブロックされています}}",
"filtered_notifications_banner.title": "ブロック済みの通知",
"firehose.all": "すべて",
"firehose.local": "このサーバー",
diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json
index 1bb73db238..6bda11058f 100644
--- a/app/javascript/mastodon/locales/pt-BR.json
+++ b/app/javascript/mastodon/locales/pt-BR.json
@@ -297,6 +297,7 @@
"filter_modal.select_filter.subtitle": "Use uma categoria existente ou crie uma nova",
"filter_modal.select_filter.title": "Filtrar esta publicação",
"filter_modal.title.status": "Filtrar uma publicação",
+ "filtered_notifications_banner.mentions": "{count, plural, one {menção} other {menções}}",
"filtered_notifications_banner.pending_requests": "Notificações de {count, plural, =0 {no one} one {one person} other {# people}} que você talvez conheça",
"filtered_notifications_banner.title": "Notificações filtradas",
"firehose.all": "Tudo",
diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json
index 80c2031128..2b9f0a51b9 100644
--- a/app/javascript/mastodon/locales/sv.json
+++ b/app/javascript/mastodon/locales/sv.json
@@ -297,6 +297,7 @@
"filter_modal.select_filter.subtitle": "Använd en befintlig kategori eller skapa en ny",
"filter_modal.select_filter.title": "Filtrera detta inlägg",
"filter_modal.title.status": "Filtrera ett inlägg",
+ "filtered_notifications_banner.mentions": "{count, plural, one {mention} other {mentions}}",
"filtered_notifications_banner.pending_requests": "Aviseringar från {count, plural, =0 {ingen} one {en person} other {# personer}} du kanske känner",
"filtered_notifications_banner.title": "Filtrerade aviseringar",
"firehose.all": "Allt",
diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json
index 0b328c7386..3ca9a8d11e 100644
--- a/app/javascript/mastodon/locales/zh-HK.json
+++ b/app/javascript/mastodon/locales/zh-HK.json
@@ -297,6 +297,7 @@
"filter_modal.select_filter.subtitle": "使用既有類別,或創建一個新類別",
"filter_modal.select_filter.title": "過濾此帖文",
"filter_modal.title.status": "過濾一則帖文",
+ "filtered_notifications_banner.mentions": "{count, plural, one {則提及} other {則提及}}",
"filtered_notifications_banner.pending_requests": "來自 {count, plural, =0 {0 位} other {# 位}}你可能認識的人的通知",
"filtered_notifications_banner.title": "已過濾之通知",
"firehose.all": "全部",
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index 9324fb2ee0..f1131f4644 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -2015,7 +2015,19 @@ a .account__avatar {
white-space: nowrap;
display: flex;
align-items: center;
- gap: 4px;
+ gap: 8px;
+
+ .icon-button {
+ border: 1px solid var(--background-border-color);
+ border-radius: 4px;
+ box-sizing: content-box;
+ padding: 5px;
+
+ .icon {
+ width: 24px;
+ height: 24px;
+ }
+ }
}
.account-authorize {
diff --git a/app/lib/link_details_extractor.rb b/app/lib/link_details_extractor.rb
index bb031986d6..bec7d3a455 100644
--- a/app/lib/link_details_extractor.rb
+++ b/app/lib/link_details_extractor.rb
@@ -156,7 +156,7 @@ class LinkDetailsExtractor
end
def title
- html_entities.decode(structured_data&.headline || opengraph_tag('og:title') || document.xpath('//title').map(&:content).first)
+ html_entities.decode(structured_data&.headline || opengraph_tag('og:title') || document.xpath('//title').map(&:content).first).strip
end
def description
diff --git a/app/models/account_moderation_note.rb b/app/models/account_moderation_note.rb
index ff399bab0c..ad49b24229 100644
--- a/app/models/account_moderation_note.rb
+++ b/app/models/account_moderation_note.rb
@@ -13,10 +13,12 @@
#
class AccountModerationNote < ApplicationRecord
+ CONTENT_SIZE_LIMIT = 500
+
belongs_to :account
belongs_to :target_account, class_name: 'Account'
scope :latest, -> { reorder('created_at DESC') }
- validates :content, presence: true, length: { maximum: 500 }
+ validates :content, presence: true, length: { maximum: CONTENT_SIZE_LIMIT }
end
diff --git a/app/models/account_note.rb b/app/models/account_note.rb
index 9bc704d988..317e6873fa 100644
--- a/app/models/account_note.rb
+++ b/app/models/account_note.rb
@@ -14,9 +14,11 @@
class AccountNote < ApplicationRecord
include RelationshipCacheable
+ COMMENT_SIZE_LIMIT = 2_000
+
belongs_to :account
belongs_to :target_account, class_name: 'Account'
validates :account_id, uniqueness: { scope: :target_account_id }
- validates :comment, length: { maximum: 2_000 }
+ validates :comment, length: { maximum: COMMENT_SIZE_LIMIT }
end
diff --git a/app/models/invite.rb b/app/models/invite.rb
index c0cbc58458..2fe9f22fbe 100644
--- a/app/models/invite.rb
+++ b/app/models/invite.rb
@@ -19,12 +19,14 @@
class Invite < ApplicationRecord
include Expireable
+ COMMENT_SIZE_LIMIT = 420
+
belongs_to :user, inverse_of: :invites
has_many :users, inverse_of: :invite, dependent: nil
scope :available, -> { where(expires_at: nil).or(where('expires_at >= ?', Time.now.utc)) }
- validates :comment, length: { maximum: 420 }
+ validates :comment, length: { maximum: COMMENT_SIZE_LIMIT }
before_validation :set_code
diff --git a/app/models/report.rb b/app/models/report.rb
index df7e3d2efc..3df5a20e18 100644
--- a/app/models/report.rb
+++ b/app/models/report.rb
@@ -26,6 +26,8 @@ class Report < ApplicationRecord
include Paginable
include RateLimitable
+ COMMENT_SIZE_LIMIT = 1_000
+
rate_limit by: :account, family: :reports
belongs_to :account
@@ -46,7 +48,7 @@ class Report < ApplicationRecord
# A report is considered local if the reporter is local
delegate :local?, to: :account
- validates :comment, length: { maximum: 1_000 }, if: :local?
+ validates :comment, length: { maximum: COMMENT_SIZE_LIMIT }, if: :local?
validates :rule_ids, absence: true, if: -> { (category_changed? || rule_ids_changed?) && !violation? }
validate :validate_rule_ids, if: -> { (category_changed? || rule_ids_changed?) && violation? }
diff --git a/app/models/report_note.rb b/app/models/report_note.rb
index 74b46027e8..b5c40a18b1 100644
--- a/app/models/report_note.rb
+++ b/app/models/report_note.rb
@@ -13,10 +13,12 @@
#
class ReportNote < ApplicationRecord
+ CONTENT_SIZE_LIMIT = 500
+
belongs_to :account
belongs_to :report, inverse_of: :notes, touch: true
scope :latest, -> { reorder(created_at: :desc) }
- validates :content, presence: true, length: { maximum: 500 }
+ validates :content, presence: true, length: { maximum: CONTENT_SIZE_LIMIT }
end
diff --git a/app/models/rule.rb b/app/models/rule.rb
index f28dc2ffeb..99a36397aa 100644
--- a/app/models/rule.rb
+++ b/app/models/rule.rb
@@ -15,9 +15,11 @@
class Rule < ApplicationRecord
include Discard::Model
+ TEXT_SIZE_LIMIT = 300
+
self.discard_column = :deleted_at
- validates :text, presence: true, length: { maximum: 300 }
+ validates :text, presence: true, length: { maximum: TEXT_SIZE_LIMIT }
scope :ordered, -> { kept.order(priority: :asc, id: :asc) }
end
diff --git a/app/models/user_invite_request.rb b/app/models/user_invite_request.rb
index 2b76c88b94..9dd6775166 100644
--- a/app/models/user_invite_request.rb
+++ b/app/models/user_invite_request.rb
@@ -12,6 +12,8 @@
#
class UserInviteRequest < ApplicationRecord
+ TEXT_SIZE_LIMIT = 420
+
belongs_to :user, inverse_of: :invite_request
- validates :text, presence: true, length: { maximum: 420 }
+ validates :text, presence: true, length: { maximum: TEXT_SIZE_LIMIT }
end
diff --git a/config/locales/de.yml b/config/locales/de.yml
index 67aad15873..27073ff9ee 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -1046,7 +1046,7 @@ de:
apply_for_account: Konto beantragen
captcha_confirmation:
help_html: Falls du Probleme beim Lösen des CAPTCHA hast, dann kannst uns über %{email} kontaktieren und wir werden versuchen, dir zu helfen.
- hint_html: Fast geschafft! Wir müssen uns vergewissern, dass du ein Mensch bist (damit wir Spam verhindern können!). Bitte löse das CAPTCHA und klicke auf „Weiter“.
+ hint_html: Fast geschafft! Wir müssen uns vergewissern, dass du ein Mensch bist (damit wir Spam verhindern können!). Bitte löse das CAPTCHA und klicke auf „Fortfahren“.
title: Sicherheitsüberprüfung
confirmations:
awaiting_review: Deine E-Mail-Adresse wurde bestätigt und das Team von %{domain} überprüft nun deine Registrierung. Sobald es dein Konto genehmigt, wirst du eine E-Mail erhalten.
diff --git a/config/locales/devise.de.yml b/config/locales/devise.de.yml
index 73fa1fa60e..032132cf5c 100644
--- a/config/locales/devise.de.yml
+++ b/config/locales/devise.de.yml
@@ -25,7 +25,7 @@ de:
explanation_when_pending: Du hast dich für eine Einladung bei %{host} mit dieser E-Mail-Adresse beworben. Sobald du deine E-Mail-Adresse bestätigt hast, werden wir deine Anfrage überprüfen. Du kannst dich in dieser Zeit nicht anmelden. Wenn deine Anfrage abgelehnt wird, werden deine Daten entfernt – von dir ist keine weitere Handlung notwendig. Wenn du das nicht warst, dann kannst du diese E-Mail ignorieren.
extra_html: Bitte beachte auch die Serverregeln und unsere Datenschutzerklärung.
subject: 'Mastodon: Anleitung zum Bestätigen deines Kontos auf %{instance}'
- title: Verifiziere E-Mail-Adresse
+ title: Verifiziere deine E-Mail-Adresse
email_changed:
explanation: 'Die E-Mail-Adresse deines Kontos wird geändert zu:'
extra: Wenn du deine E-Mail-Adresse nicht geändert hast, ist es wahrscheinlich, dass sich jemand Zugang zu deinem Konto verschafft hat. Bitte ändere sofort dein Passwort oder kontaktiere die Administrator*innen des Servers, wenn du aus deinem Konto ausgesperrt bist.
diff --git a/config/locales/devise.eo.yml b/config/locales/devise.eo.yml
index af1769aa66..193fecc757 100644
--- a/config/locales/devise.eo.yml
+++ b/config/locales/devise.eo.yml
@@ -12,6 +12,7 @@ eo:
last_attempt: Vi ankoraŭ povas provi unufoje antaŭ ol via konto estos ŝlosita.
locked: Via konto estas ŝlosita.
not_found_in_database: Nevalida %{authentication_keys} aŭ pasvorto.
+ omniauth_user_creation_failure: Eraro okazis kreinte konton por ĉi tiu identeco.
pending: Via konto ankoraŭ estas kontrolata.
timeout: Via seanco eksvalidiĝis. Bonvolu ensaluti denove por daŭrigi.
unauthenticated: Vi devas ensaluti aŭ registriĝi antaŭ ol daŭrigi.
@@ -39,7 +40,7 @@ eo:
explanation: Retajpu la novan adreson por ŝanĝi vian retpoŝtadreson.
extra: Se ĉi tiu ŝanĝo ne estis komencita de vi, bonvolu ignori ĉi tiun retmesaĝon. La retadreso por la Mastodon-konto ne ŝanĝiĝos se vi ne aliras la supran ligilon.
subject: 'Mastodon: Konfirmi retpoŝton por %{instance}'
- title: Kontrolu retpoŝtadreson
+ title: Kontroli retpoŝtadreson
reset_password_instructions:
action: Ŝanĝi pasvorton
explanation: Vi petis novan pasvorton por via konto.
diff --git a/config/locales/doorkeeper.bg.yml b/config/locales/doorkeeper.bg.yml
index 8e026794ee..7633156d78 100644
--- a/config/locales/doorkeeper.bg.yml
+++ b/config/locales/doorkeeper.bg.yml
@@ -174,6 +174,7 @@ bg:
read:filters: преглед на вашите филтри
read:follows: преглед на вашите последвания
read:lists: преглед на вашите списъци
+ read:me: четене само на основните сведения за акаунта ви
read:mutes: преглед на вашите заглушавания
read:notifications: преглед на вашите известия
read:reports: преглед на вашите докладвания
diff --git a/config/locales/doorkeeper.ca.yml b/config/locales/doorkeeper.ca.yml
index 9706f3db70..80827a87da 100644
--- a/config/locales/doorkeeper.ca.yml
+++ b/config/locales/doorkeeper.ca.yml
@@ -174,6 +174,7 @@ ca:
read:filters: mira els teus filtres
read:follows: mira els teus seguiments
read:lists: mira les teves llistes
+ read:me: llegir només la informació bàsica del vostre compte
read:mutes: mira els teus silenciats
read:notifications: mira les teves notificacions
read:reports: mira els teus informes
diff --git a/config/locales/doorkeeper.da.yml b/config/locales/doorkeeper.da.yml
index 2c8b0d13e1..ed10e14e24 100644
--- a/config/locales/doorkeeper.da.yml
+++ b/config/locales/doorkeeper.da.yml
@@ -174,6 +174,7 @@ da:
read:filters: se dine filtre
read:follows: se dine følger
read:lists: se dine lister
+ read:me: læs kun kontoens basisoplysninger
read:mutes: se dine tavsgørelser
read:notifications: se dine notifikationer
read:reports: se dine anmeldelser
diff --git a/config/locales/doorkeeper.de.yml b/config/locales/doorkeeper.de.yml
index 552dfeba37..80d612255b 100644
--- a/config/locales/doorkeeper.de.yml
+++ b/config/locales/doorkeeper.de.yml
@@ -174,6 +174,7 @@ de:
read:filters: deine Filter einsehen
read:follows: sehen, wem du folgst
read:lists: deine Listen sehen
+ read:me: nur deine grundlegenden Kontoinformationen lesen
read:mutes: deine Stummschaltungen einsehen
read:notifications: deine Benachrichtigungen sehen
read:reports: deine Meldungen sehen
diff --git a/config/locales/doorkeeper.es-AR.yml b/config/locales/doorkeeper.es-AR.yml
index 532db1f30d..47cfc451aa 100644
--- a/config/locales/doorkeeper.es-AR.yml
+++ b/config/locales/doorkeeper.es-AR.yml
@@ -174,6 +174,7 @@ es-AR:
read:filters: ver tus filtros
read:follows: ver qué cuentas seguís
read:lists: ver tus listas
+ read:me: leer solo la información básica de tu cuenta
read:mutes: ver qué cuentas silenciaste
read:notifications: ver tus notificaciones
read:reports: ver tus denuncias
diff --git a/config/locales/doorkeeper.es-MX.yml b/config/locales/doorkeeper.es-MX.yml
index 082d656bc5..e56e0df3ba 100644
--- a/config/locales/doorkeeper.es-MX.yml
+++ b/config/locales/doorkeeper.es-MX.yml
@@ -174,6 +174,7 @@ es-MX:
read:filters: ver tus filtros
read:follows: ver a quién sigues
read:lists: ver tus listas
+ read:me: leer solo la información básica de tu cuenta
read:mutes: ver a quién has silenciado
read:notifications: ver tus notificaciones
read:reports: ver tus informes
diff --git a/config/locales/doorkeeper.es.yml b/config/locales/doorkeeper.es.yml
index 002f813b32..44e165a215 100644
--- a/config/locales/doorkeeper.es.yml
+++ b/config/locales/doorkeeper.es.yml
@@ -174,6 +174,7 @@ es:
read:filters: ver tus filtros
read:follows: ver a quién sigues
read:lists: ver tus listas
+ read:me: leer solo la información básica de tu cuenta
read:mutes: ver a quién has silenciado
read:notifications: ver tus notificaciones
read:reports: ver tus informes
diff --git a/config/locales/doorkeeper.eu.yml b/config/locales/doorkeeper.eu.yml
index e7963672fa..88a63f698b 100644
--- a/config/locales/doorkeeper.eu.yml
+++ b/config/locales/doorkeeper.eu.yml
@@ -174,6 +174,7 @@ eu:
read:filters: ikusi zure iragazkiak
read:follows: ikusi zuk jarraitutakoak
read:lists: ikusi zure zerrendak
+ read:me: irakurri soilik zure kontuaren oinarrizko informazioa
read:mutes: ikusi zuk mutututakoak
read:notifications: ikusi zure jakinarazpenak
read:reports: ikusi zure salaketak
diff --git a/config/locales/doorkeeper.fi.yml b/config/locales/doorkeeper.fi.yml
index fea01d1076..ae8963c76f 100644
--- a/config/locales/doorkeeper.fi.yml
+++ b/config/locales/doorkeeper.fi.yml
@@ -174,6 +174,7 @@ fi:
read:filters: katso suodattimiasi
read:follows: katso seurattujasi
read:lists: katso listojasi
+ read:me: lue tilisi perustietoja
read:mutes: katso mykistyksiäsi
read:notifications: katso ilmoituksiasi
read:reports: katso raporttejasi
diff --git a/config/locales/doorkeeper.fo.yml b/config/locales/doorkeeper.fo.yml
index 78f8701ae9..4f5cc5a645 100644
--- a/config/locales/doorkeeper.fo.yml
+++ b/config/locales/doorkeeper.fo.yml
@@ -174,6 +174,7 @@ fo:
read:filters: síggja tíni filtur
read:follows: síggja hvørji tú fylgir
read:lists: síggja tínar listar
+ read:me: les bara grundleggjandi upplýsingar av tínari kontu
read:mutes: síggja tínar doyvingar
read:notifications: síggja tínar fráboðanir
read:reports: síggja tínar meldingar
diff --git a/config/locales/doorkeeper.gl.yml b/config/locales/doorkeeper.gl.yml
index aa0eae2844..d34c58decc 100644
--- a/config/locales/doorkeeper.gl.yml
+++ b/config/locales/doorkeeper.gl.yml
@@ -174,6 +174,7 @@ gl:
read:filters: ver os filtros
read:follows: ver a quen segues
read:lists: ver as tuas listaxes
+ read:me: ler só a información básica da túa conta
read:mutes: ver a quen tes acalado
read:notifications: ver as notificacións
read:reports: ver as túas denuncias
diff --git a/config/locales/doorkeeper.he.yml b/config/locales/doorkeeper.he.yml
index 9030e45e0c..a6376fa4c1 100644
--- a/config/locales/doorkeeper.he.yml
+++ b/config/locales/doorkeeper.he.yml
@@ -174,6 +174,7 @@ he:
read:filters: צפייה במסננים
read:follows: צפייה בנעקבים
read:lists: צפיה ברשימותיך
+ read:me: לקריאה בלבד של פרטי חשבונך הבסיסיים
read:mutes: צפיה במושתקיך
read:notifications: צפיה בהתראותיך
read:reports: צפיה בדוחותיך
diff --git a/config/locales/doorkeeper.hu.yml b/config/locales/doorkeeper.hu.yml
index 3822e9c202..28ce283ffa 100644
--- a/config/locales/doorkeeper.hu.yml
+++ b/config/locales/doorkeeper.hu.yml
@@ -174,6 +174,7 @@ hu:
read:filters: szűrök megtekintése
read:follows: követések megtekintése
read:lists: listák megtekintése
+ read:me: csak a fiókod alapvető adatainak elolvasása
read:mutes: némítások megtekintése
read:notifications: értesítések megtekintése
read:reports: bejelentések megtekintése
diff --git a/config/locales/doorkeeper.ia.yml b/config/locales/doorkeeper.ia.yml
index b41531a1b1..fd7d7a0836 100644
--- a/config/locales/doorkeeper.ia.yml
+++ b/config/locales/doorkeeper.ia.yml
@@ -87,6 +87,7 @@ ia:
read:filters: vider tu filtros
read:follows: vider tu sequites
read:lists: vider tu listas
+ read:me: leger solmente le information basic de tu conto
read:notifications: vider tu notificationes
read:reports: vider tu reportos
read:statuses: vider tote le messages
diff --git a/config/locales/doorkeeper.is.yml b/config/locales/doorkeeper.is.yml
index c1e2d4cfc3..995d507f5b 100644
--- a/config/locales/doorkeeper.is.yml
+++ b/config/locales/doorkeeper.is.yml
@@ -174,6 +174,7 @@ is:
read:filters: skoða síurnar þínar
read:follows: sjá hverjum þú fylgist með
read:lists: skoða listana þína
+ read:me: lesa einungis grunnupplýsingar aðgangsins þíns
read:mutes: skoða hverja þú þaggar
read:notifications: sjá tilkynningarnar þínar
read:reports: skoða skýrslurnar þína
diff --git a/config/locales/doorkeeper.it.yml b/config/locales/doorkeeper.it.yml
index 3fd998fc4a..f39f784665 100644
--- a/config/locales/doorkeeper.it.yml
+++ b/config/locales/doorkeeper.it.yml
@@ -174,6 +174,7 @@ it:
read:filters: visualizzare i tuoi filtri
read:follows: visualizzare i tuoi seguiti
read:lists: visualizzare i tuoi elenchi
+ read:me: leggi solo le informazioni di base del tuo account
read:mutes: visualizzare i tuoi silenziamenti
read:notifications: visualizzare le tue notifiche
read:reports: visualizzare le tue segnalazioni
diff --git a/config/locales/doorkeeper.ko.yml b/config/locales/doorkeeper.ko.yml
index 4721e3acdb..12674cc125 100644
--- a/config/locales/doorkeeper.ko.yml
+++ b/config/locales/doorkeeper.ko.yml
@@ -174,6 +174,7 @@ ko:
read:filters: 필터 보기
read:follows: 팔로우 보기
read:lists: 리스트 보기
+ read:me: 내 계정의 기본 정보만을 읽습니다
read:mutes: 뮤트 보기
read:notifications: 알림 보기
read:reports: 신고 보기
diff --git a/config/locales/doorkeeper.nl.yml b/config/locales/doorkeeper.nl.yml
index b3e6e79a1a..9554c0ee6f 100644
--- a/config/locales/doorkeeper.nl.yml
+++ b/config/locales/doorkeeper.nl.yml
@@ -174,6 +174,7 @@ nl:
read:filters: jouw filters bekijken
read:follows: de accounts die jij volgt bekijken
read:lists: jouw lijsten bekijken
+ read:me: alleen de basisgegevens van jouw account lezen
read:mutes: jouw genegeerde gebruikers bekijken
read:notifications: jouw meldingen bekijken
read:reports: jouw gerapporteerde berichten bekijken
diff --git a/config/locales/doorkeeper.nn.yml b/config/locales/doorkeeper.nn.yml
index 0e5d1ca455..ab0380c6fa 100644
--- a/config/locales/doorkeeper.nn.yml
+++ b/config/locales/doorkeeper.nn.yml
@@ -174,6 +174,7 @@ nn:
read:filters: sjå filtera dine
read:follows: sjå fylgjarane dine
read:lists: sjå listene dine
+ read:me: les berre kontoen din sin grunnleggjande informasjon
read:mutes: sjå kven du har målbunde
read:notifications: sjå varsla dine
read:reports: sjå rapportane dine
diff --git a/config/locales/doorkeeper.pl.yml b/config/locales/doorkeeper.pl.yml
index 226c0d403c..eefca2de65 100644
--- a/config/locales/doorkeeper.pl.yml
+++ b/config/locales/doorkeeper.pl.yml
@@ -174,6 +174,7 @@ pl:
read:filters: dostęp do filtrów
read:follows: dostęp do listy obserwowanych
read:lists: dostęp do Twoich list
+ read:me: odczytaj tylko podstawowe informacje o koncie
read:mutes: dostęp do listy wyciszonych
read:notifications: możliwość odczytu powiadomień
read:reports: dostęp do Twoich zgłoszeń
diff --git a/config/locales/doorkeeper.pt-BR.yml b/config/locales/doorkeeper.pt-BR.yml
index d7e9353b59..150b4339e4 100644
--- a/config/locales/doorkeeper.pt-BR.yml
+++ b/config/locales/doorkeeper.pt-BR.yml
@@ -174,6 +174,7 @@ pt-BR:
read:filters: ver seus filtros
read:follows: ver quem você segue
read:lists: ver suas listas
+ read:me: ler só as informações básicas da sua conta
read:mutes: ver seus silenciados
read:notifications: ver suas notificações
read:reports: ver suas denúncias
diff --git a/config/locales/doorkeeper.sl.yml b/config/locales/doorkeeper.sl.yml
index a613308b28..55e00ff96d 100644
--- a/config/locales/doorkeeper.sl.yml
+++ b/config/locales/doorkeeper.sl.yml
@@ -174,6 +174,7 @@ sl:
read:filters: oglejte si svoje filtre
read:follows: oglejte si svoje sledilce
read:lists: oglejte si svoje sezname
+ read:me: preberi le osnovne podatke računa
read:mutes: oglejte si svoje utišane
read:notifications: oglejte si svoja obvestila
read:reports: oglejte si svoje prijave
diff --git a/config/locales/doorkeeper.sv.yml b/config/locales/doorkeeper.sv.yml
index f2c8bd34b8..d336f08c56 100644
--- a/config/locales/doorkeeper.sv.yml
+++ b/config/locales/doorkeeper.sv.yml
@@ -174,6 +174,7 @@ sv:
read:filters: se dina filter
read:follows: se vem du följer
read:lists: se dina listor
+ read:me: läs endast den grundläggande informationen för ditt konto
read:mutes: se dina tystningar
read:notifications: se dina notiser
read:reports: se dina rapporter
diff --git a/config/locales/doorkeeper.tr.yml b/config/locales/doorkeeper.tr.yml
index 47a15e1b8a..f5ebbc5fd8 100644
--- a/config/locales/doorkeeper.tr.yml
+++ b/config/locales/doorkeeper.tr.yml
@@ -174,6 +174,7 @@ tr:
read:filters: süzgeçlerinizi görün
read:follows: takip ettiklerinizi görün
read:lists: listelerinizi görün
+ read:me: hesabınızın sadece temel bilgilerini okuma
read:mutes: sessize aldıklarınızı görün
read:notifications: bildirimlerinizi görün
read:reports: raporlarınızı görün
diff --git a/config/locales/doorkeeper.uk.yml b/config/locales/doorkeeper.uk.yml
index 8af404a736..ac7fbbe15d 100644
--- a/config/locales/doorkeeper.uk.yml
+++ b/config/locales/doorkeeper.uk.yml
@@ -180,6 +180,7 @@ uk:
read:filters: бачити Ваші фільтри
read:follows: бачити Ваші підписки
read:lists: бачити Ваші списки
+ read:me: читайте лише основну інформацію вашого облікового запису
read:mutes: бачити ваші нехтування
read:notifications: бачити Ваші сповіщення
read:reports: бачити Ваші скарги
diff --git a/config/locales/doorkeeper.vi.yml b/config/locales/doorkeeper.vi.yml
index 8375795273..84684d24ca 100644
--- a/config/locales/doorkeeper.vi.yml
+++ b/config/locales/doorkeeper.vi.yml
@@ -174,6 +174,7 @@ vi:
read:filters: xem bộ lọc
read:follows: xem những người theo dõi
read:lists: xem danh sách
+ read:me: chỉ đọc thông tin cơ bản tài khoản
read:mutes: xem những người đã ẩn
read:notifications: xem thông báo
read:reports: xem báo cáo của bạn
diff --git a/config/locales/doorkeeper.zh-CN.yml b/config/locales/doorkeeper.zh-CN.yml
index 36c7fb8127..73f1f9725c 100644
--- a/config/locales/doorkeeper.zh-CN.yml
+++ b/config/locales/doorkeeper.zh-CN.yml
@@ -174,6 +174,7 @@ zh-CN:
read:filters: 查看你的过滤器
read:follows: 查看你的关注
read:lists: 查看你的列表
+ read:me: 只读取你账户的基本信息
read:mutes: 查看你的隐藏列表
read:notifications: 查看你的通知
read:reports: 查看你的举报
diff --git a/config/locales/doorkeeper.zh-HK.yml b/config/locales/doorkeeper.zh-HK.yml
index 79629b12fe..76d13a74a5 100644
--- a/config/locales/doorkeeper.zh-HK.yml
+++ b/config/locales/doorkeeper.zh-HK.yml
@@ -174,6 +174,7 @@ zh-HK:
read:filters: 檢視你的過濾條件
read:follows: 檢視你關注的人
read:lists: 檢視你的清單
+ read:me: 僅讀取帳號的基本資訊
read:mutes: 檢視被你靜音的人
read:notifications: 檢視你的通知
read:reports: 檢視你的檢舉
diff --git a/config/locales/doorkeeper.zh-TW.yml b/config/locales/doorkeeper.zh-TW.yml
index f2250b79cb..86827a7122 100644
--- a/config/locales/doorkeeper.zh-TW.yml
+++ b/config/locales/doorkeeper.zh-TW.yml
@@ -174,6 +174,7 @@ zh-TW:
read:filters: 檢視您的過濾條件
read:follows: 檢視您跟隨之使用者
read:lists: 檢視您的列表
+ read:me: 僅讀取您的帳號基本資訊
read:mutes: 檢視您靜音的人
read:notifications: 檢視您的通知
read:reports: 檢視您的檢舉
diff --git a/config/locales/eo.yml b/config/locales/eo.yml
index d59eadd528..749f80687d 100644
--- a/config/locales/eo.yml
+++ b/config/locales/eo.yml
@@ -74,7 +74,7 @@ eo:
follows: Sekvatoj
header: Kapa bildo
inbox_url: Enira URL
- invite_request_text: 가입하려는 이유
+ invite_request_text: Kialoj por aliĝi
invited_by: Invitita de
ip: IP
joined: Aliĝis
@@ -104,7 +104,7 @@ eo:
no_role_assigned: Sen rolo
not_subscribed: Ne abonita
pending: Pritraktata recenzo
- perform_full_suspension: Suspendi
+ perform_full_suspension: Haltigi
previous_strikes: Antaǔaj admonoj
previous_strikes_description_html:
one: Ĉi tiu konto havas unu admonon.
@@ -121,7 +121,7 @@ eo:
remote_suspension_reversible_hint_html: La konto estas suspendita, kaj la datumoj estos komplete forigitaj je %{date}. Ĝis tiam, la konto povas esti malsuspendita sen flankefiko. Se vi deziras tuj forigi ĉiujn datumojn de la konto, vi povas fari tion sube.
remove_avatar: Forigi la profilbildon
remove_header: Forigi kapan bildon
- removed_avatar_msg: La rolfiguro de %{username} estas sukcese forigita
+ removed_avatar_msg: La profilbildo de %{username} estas sukcese forigita
removed_header_msg: Kapbildo de %{username} suksece forigita
resend_confirmation:
already_confirmed: Ĉi tiu uzanto jam estas konfirmita
@@ -184,7 +184,7 @@ eo:
create_domain_block: Krei Blokadon De Domajno
create_email_domain_block: Krei Blokadon De Retpoŝta Domajno
create_ip_block: Krei IP-regulon
- create_unavailable_domain: Krei nehaveblan domajnon
+ create_unavailable_domain: Krei Nehaveblan Domajnon
create_user_role: Krei Rolon
demote_user: Malpromocii Uzanton
destroy_announcement: Forigi Anoncon
@@ -193,9 +193,9 @@ eo:
destroy_domain_allow: Forigi Domajnan Permeson
destroy_domain_block: Forigi blokadon de domajno
destroy_email_domain_block: Forigi blokadon de retpoŝta domajno
- destroy_instance: Forigi domajnon
+ destroy_instance: Forigi Domajnon
destroy_ip_block: Forigi IP-regulon
- destroy_status: Forigi mesaĝon
+ destroy_status: Forigi Afiŝon
destroy_unavailable_domain: Forigi Nehaveblan Domajnon
destroy_user_role: Detrui Rolon
disable_2fa_user: Malebligi 2FA
@@ -285,7 +285,7 @@ eo:
update_custom_emoji_html: "%{name} ĝisdatigis la emoĝion %{target}"
update_domain_block_html: "%{name} ĝisdatigis domajnblokon por %{target}"
update_ip_block_html: "%{name} ŝanĝis regulon por IP %{target}"
- update_status_html: "%{name} ĝisdatigis mesaĝon de %{target}"
+ update_status_html: "%{name} ĝisdatigis afiŝon de %{target}"
update_user_role_html: "%{name} ŝanĝis la rolon %{target}"
deleted_account: forigita konto
empty: Neniu ĵurnalo trovita.
@@ -567,7 +567,7 @@ eo:
disable: Malebligi
disabled: Malebligita
enable: Ebligi
- enable_hint: Post ebligo, via servilo abonos ĉiujn publikajn mesaĝojn de tiu ripetilo, kaj komencos sendi publikajn mesaĝojn de la servilo al ĝi.
+ enable_hint: Post ebligo, via servilo abonos ĉiujn publikajn mesaĝojn de tiu ripetilo, kaj komencos sendi publikajn afiŝojn de la servilo al ĝi.
enabled: Ebligita
inbox_url: URL de la ripetilo
pending: Atendante aprobon de la ripetilo
@@ -587,7 +587,7 @@ eo:
action_log: Ĵurnalo de revizo
action_taken_by: Ago farita de
actions:
- delete_description_html: Raportitaj mesaĝoj forigotas kaj admono rekorditas.
+ delete_description_html: Raportitaj afiŝoj estos forigita kaj admono estos rekordita por helpi vin indiki estontajn afiŝojn de la sama konto kontraŭ reguloj.
mark_as_sensitive_description_html: La audovidaĵo en la raportita mesaĝo markotas kiel sentema kaj admono rekorditas.
other_description_html: Vidu pli da ebloj por regi la sintenon de la konto kaj por personigi la komunikadon kun la raportita konto.
resolve_description_html: Nenio okazotas al la raportita konto kaj la raporto fermotas.
@@ -634,7 +634,7 @@ eo:
resolved: Solvitaj
resolved_msg: Signalo sukcese solvita!
skip_to_actions: Salti al agoj
- status: Mesaĝoj
+ status: Afiŝo
statuses: Raportita enhavo
statuses_description_html: Sentema enhavo referencitas kun la raportita konto
summary:
@@ -787,6 +787,7 @@ eo:
types:
major: Ĉefa eldono
minor: Neĉefa eldono
+ version: Versio
statuses:
account: Skribanto
application: Aplikaĵo
@@ -803,12 +804,12 @@ eo:
media:
title: Aŭdovidaĵoj
metadata: Metadatumoj
- no_status_selected: Neniu mesaĝo estis ŝanĝita ĉar neniu estis elektita
+ no_status_selected: Neniu afiŝo estis ŝanĝita ĉar neniu estis elektita
open: Malfermi afiŝojn
original_status: Originala afiŝo
reblogs: Reblogaĵoj
status_changed: Afiŝo ŝanĝiĝis
- title: Mesaĝoj de la konto
+ title: Afiŝoj de la konto
trending: Popularaĵoj
visibility: Videbleco
with_media: Kun aŭdovidaĵoj
@@ -816,7 +817,7 @@ eo:
actions:
delete_statuses: "%{name} forigis afiŝojn de %{target}"
disable: "%{name} frostigis la konton de %{target}"
- mark_statuses_as_sensitive: "%{name} markis mesaĝojn de %{target} kiel sentemaj"
+ mark_statuses_as_sensitive: "%{name} markis afiŝojn de %{target} kiel tiklan"
none: "%{name} sendis averton al %{target}"
sensitive: "%{name} markis konton de %{target} kiel sentema"
silence: "%{name} limigis la konton de %{target}"
@@ -827,6 +828,8 @@ eo:
system_checks:
database_schema_check:
message_html: Estas pritraktataj datumbazaj migradoj. Bonvolu ekzekuti ilin por certigi, ke la apliko kondutas kiel atendite
+ elasticsearch_preset:
+ action: Legi dokumentaron
elasticsearch_running_check:
message_html: Ne eblas konekti Elasticsearch. Bonvolu kontroli ke ĝi funkcias, aǔ malŝaltu plentekstan serĉon
elasticsearch_version_check:
@@ -940,7 +943,7 @@ eo:
admin_mailer:
new_appeal:
actions:
- delete_statuses: por forigi iliajn mesaĝojn
+ delete_statuses: por forigi iliajn afiŝojn
disable: por frostigi ties konton
mark_statuses_as_sensitive: por marki iliajn mesaĝojn kiel sentemaj
none: averto
@@ -991,7 +994,7 @@ eo:
unsubscribe: Malabonu
view: 'Vidi:'
view_profile: Vidi profilon
- view_status: Vidi mesaĝon
+ view_status: Vidi afiŝon
applications:
created: Aplikaĵo sukcese kreita
destroyed: Aplikaĵo sukcese forigita
@@ -1131,7 +1134,7 @@ eo:
recipient: Senditas por
reject_appeal: Malakcepti apelacion
status: 'Afiŝo #%{id}'
- status_removed: Mesaĝo jam forigitas de sistemo
+ status_removed: Afiŝo jam estas forigita de sistemo
title: "%{action} de %{date}"
title_actions:
delete_statuses: Forigo de afiŝo
@@ -1199,8 +1202,8 @@ eo:
edit:
add_keyword: Aldoni ĉefvorton
keywords: Ĉefvortoj
- statuses: Individuaj mesaĝoj
- statuses_hint_html: Ĉi tiu filtrilo kongruas kelkajn mesaĝojn. Kontrolu mesaĝojn de la filtrilo.
+ statuses: Individuaj afiŝoj
+ statuses_hint_html: Ĉi tiu filtrilo kongruas kelkajn afiŝojn. Kontroli afiŝojn de la filtrilo.
title: Ŝanĝi filtrilojn
errors:
deprecated_api_multiple_keywords: Ĉi tiuj parametroj ne povas ŝanĝitis de ĉi tiu programaro. Uzu pli novan programaron.
@@ -1218,8 +1221,8 @@ eo:
one: "%{count} afiŝo"
other: "%{count} afiŝoj"
statuses_long:
- one: "%{count} mesaĝo kaŝita"
- other: "%{count} mesaĝoj kaŝita"
+ one: "%{count} afiŝo estas kaŝita"
+ other: "%{count} afiŝoj estas kaŝitaj"
title: Filtriloj
new:
save: Konservi novan filtrilon
@@ -1230,7 +1233,7 @@ eo:
remove: Forigi de filtrilo
index:
hint: Ĉi tiu filtrilo kongruas kelkaj mesaĝoj sendepende de aliaj kriterioj.
- title: Filtritaj mesaĝoj
+ title: Filtritaj afiŝoj
generic:
all: Ĉio
all_items_on_page_selected_html:
@@ -1644,16 +1647,16 @@ eo:
interaction_exceptions_explanation: Sciu ke estas neniu garantio ke mesaĝo estos forigita se ĝi iras sub la limo de diskonigoj aŭ stelumoj post atingi ĝin.
keep_direct: Konservi rektajn mesaĝojn
keep_direct_hint: Ne forigos viajn rektajn mesagôjn
- keep_media: Konservi mesaĝojn kun aŭdovidaj aldonaĵoj
+ keep_media: Konservi afiŝojn kun aŭdovidaj aldonaĵoj
keep_media_hint: Ne forigi mesaĝojn kiuj enhavas aŭdovidajn aldonaĵojn
- keep_pinned: Konservi alpinglitajn mesaĝojn
+ keep_pinned: Konservi alpinglitajn afiŝojn
keep_pinned_hint: Ne forigi viajn ajn alpinglitajn mesaĝojn
keep_polls: Konservi enketojn
keep_polls_hint: Ne forigi viajn ajn enketojn
- keep_self_bookmark: Konservi mesaĝojn kiun vi legsignis
+ keep_self_bookmark: Konservi afiŝojn kiun vi legsignis
keep_self_bookmark_hint: Ne forigi viajn siajn mesaĝojn se vi legsignis ilin
- keep_self_fav: Konservi mesaĝojn kiujn vi stelumis
- keep_self_fav_hint: Ne forigi proprajn mesaĝojn se vi stelumis ilin
+ keep_self_fav: Konservi afiŝojn kiujn vi stelumis
+ keep_self_fav_hint: Ne forigi proprajn afiŝojn se vi stelumis ilin
min_age:
'1209600': 2 semajnoj
'15778476': 6 monatoj
@@ -1664,7 +1667,7 @@ eo:
'63113904': 2 jaroj
'7889238': 3 monatoj
min_age_label: Aĝlimo
- min_favs: Konservi mesaĝojn stelumitajn almenaŭ
+ min_favs: Konservi afiŝojn stelumitajn almenaŭ
min_favs_hint: Oni ne forigas viajn afiŝojn, kiuj estas diskonigitaj almenaŭ ĉi tiun nombron da fojoj. Lasu malplena por forigi afiŝojn sendepende de iliaj nombroj da diskonigoj
min_reblogs: Konservi diskonitajn mesaĝojn almenau
min_reblogs_hint: Oni ne forigas viajn afiŝojn kiuj estas diskonigitaj almenaŭ ĉi tiun nombron da fojoj. Lasu malplena por forigi afiŝojn sendepende de iliaj nombroj da diskonigoj
@@ -1738,11 +1741,11 @@ eo:
silence: Vi ankorau povas uzi vian konton, sed nur personoj kiuj jam sekvas vin vidos viajn mesaĝojn en tiu ĉi servilo, kaj vi eble estos ekskluzive el diversaj malkovrigaj funkcioj. Tamen, aliaj ankoraŭ povas permane eksekvi vin.
suspend: Vi ne povas uzi vian konton plu, kaj via profilo kaj aliaj datumoj ne estas disponeblaj plu.
reason: 'Kialo:'
- statuses: 'Mesaĝoj ripetitaj:'
+ statuses: 'Afiŝoj citataj:'
subject:
- delete_statuses: Viaj mesaĝoj ĉe %{acct} forigitas
+ delete_statuses: Viaj afiŝoj ĉe %{acct} estas forigitaj
disable: Via konto %{acct} estas frostigita
- mark_statuses_as_sensitive: Viaj mesaĝoj ĉe %{acct} markitas kiel sentemaj
+ mark_statuses_as_sensitive: Viaj afiŝoj ĉe %{acct} estas markitaj kiel tiklemaj
none: Averto por %{acct}
sensitive: Viaj mesaĝoj ĉe %{acct} markitas kiel sentemaj malantau ol nun
silence: Oni limigis vian konton %{acct}
diff --git a/config/locales/ia.yml b/config/locales/ia.yml
index a167b5d8cd..6c99293156 100644
--- a/config/locales/ia.yml
+++ b/config/locales/ia.yml
@@ -15,17 +15,27 @@ ia:
instance_actor_flash: Iste conto es un agente virtual usate pro representar le servitor mesme e non alcun usator individual. Illo es usate pro le federation e non debe esser suspendite.
last_active: ultime activitate
link_verified_on: Le proprietate de iste ligamine ha essite verificate le %{date}
+ nothing_here: Il ha nihil ci!
+ pin_errors:
+ following: Tu debe primo sequer le persona que tu vole indorsar
posts:
one: Message
other: Messages
posts_tab_heading: Messages
admin:
+ account_actions:
+ action: Exequer action
+ title: Exequer action de moderation sur %{acct}
account_moderation_notes:
create: Lassar un nota
created_msg: Nota de moderation create con successo!
+ destroyed_msg: Nota de moderation destruite con successo!
accounts:
add_email_domain_block: Blocar dominio de e-mail
+ approve: Approbar
+ approved_msg: Demanda de inscription de %{username} approbate con successo
are_you_sure: Es tu secur?
+ avatar: Avatar
by_domain: Dominio
change_email:
changed_msg: Email cambiate con successo!
@@ -34,6 +44,11 @@ ia:
new_email: Nove e-mail
submit: Cambiar e-mail
title: Cambiar e-mail pro %{username}
+ change_role:
+ changed_msg: Rolo cambiate con successo!
+ label: Cambiar rolo
+ no_role: Necun rolo
+ title: Cambiar rolo pro %{username}
confirm: Confirmar
confirmed: Confirmate
confirming: In confirmation
@@ -42,25 +57,59 @@ ia:
deleted: Delite
demote: Degradar
destroyed_msg: Le datos de %{username} ora es in cauda pro su imminente deletion
+ disable: Gelar
+ disable_sign_in_token_auth: Disactivar le authentication per token in e-mail
disable_two_factor_authentication: Disactivar 2FA
+ disabled: Gelate
display_name: Nomine visibile
domain: Dominio
edit: Modificar
email: E-mail
email_status: Stato de e-mail
+ enable: Disgelar
+ enable_sign_in_token_auth: Activar le authentication per token in e-mail
enabled: Activate
+ enabled_msg: Conto de %{username} disgelate con successo
followers: Sequitores
+ follows: Sequites
+ header: Capite
+ inbox_url: URL de cassa de entrata
+ invite_request_text: Motivos pro le inscription
+ invited_by: Invitate per
+ ip: IP
+ joined: Inscription
location:
all: Toto
+ local: Local
+ remote: Remote
title: Location
+ login_status: Stato de session
+ media_attachments: Annexos multimedial
+ memorialize: Render commemorative
+ memorialized: Conto commemorative
+ memorialized_msg: "%{username} ha essite convertite in un conto commemorative"
moderation:
active: Active
all: Toto
disabled: Disactivate
+ pending: In tractamento
+ silenced: Limitate
+ suspended: Suspendite
+ title: Moderation
moderation_notes: Notas de moderation
most_recent_activity: Activitate plus recente
most_recent_ip: IP plus recente
+ no_account_selected: Necun conto ha essite cambiate perque necun ha essite seligite
+ no_limits_imposed: Necun limite imponite
+ no_role_assigned: Necun rolo assignate
+ not_subscribed: Non subscribite
+ pending: Attende revision
+ perform_full_suspension: Suspender
+ previous_strikes: Previe admonitiones
+ promote: Promover
+ protocol: Protocollo
public: Public
+ push_subscription_expires: Subscription PuSH expira le
redownload: Actualisar profilo
resend_confirmation:
already_confirmed: Iste usator jam es confirmate
@@ -237,6 +286,9 @@ ia:
updated_at: Actualisate
view_profile: Vider profilo
roles:
+ assigned_users:
+ one: "%{count} usator"
+ other: "%{count} usatores"
everyone: Permissiones predefinite
privileges:
delete_user_data: Deler le datos de usator
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index 4c22335eaa..9cb9cadee9 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -1671,6 +1671,9 @@ pt-BR:
domain_block: Suspensão do servidor (%{target_name})
user_domain_block: Você bloqueou %{target_name}
lost_followers: Seguidores perdidos
+ lost_follows: Seguidores perdidos
+ preamble: Você poderá perder seguidores e seguidores quando bloquear um domínio ou quando os seus moderadores decidirem suspender um servidor remoto. Quando isso acontecer, você poderá baixar listas de relações desfeitas, a serem inspecionadas e possivelmente importadas para outro servidor.
+ purged: As informações sobre este servidor foram eliminadas pelos administradores do seu servidor.
type: Evento
statuses:
attached:
@@ -1765,6 +1768,7 @@ pt-BR:
contrast: Mastodon (Alto contraste)
default: Mastodon (Noturno)
mastodon-light: Mastodon (Diurno)
+ system: Automático (usar tema do sistema)
time:
formats:
default: "%H:%M em %d de %b de %Y"
diff --git a/config/locales/simple_form.ia.yml b/config/locales/simple_form.ia.yml
index 2f04ce982e..7012cdb1cd 100644
--- a/config/locales/simple_form.ia.yml
+++ b/config/locales/simple_form.ia.yml
@@ -30,6 +30,7 @@ ia:
defaults:
autofollow: Invitar a sequer tu conto
avatar: Pictura de profilo
+ chosen_languages: Filtrar linguas
confirm_new_password: Confirmar nove contrasigno
confirm_password: Confirmar contrasigno
current_password: Contrasigno actual
@@ -39,6 +40,7 @@ ia:
new_password: Nove contrasigno
password: Contrasigno
setting_advanced_layout: Activar le interfacie web avantiate
+ setting_always_send_emails: Sempre inviar notificationes per e-mail
setting_default_language: Lingua de publication
setting_display_media_default: Predefinite
setting_display_media_hide_all: Celar toto
diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml
index 676f5e37a3..c3eea9f118 100644
--- a/config/locales/simple_form.pt-BR.yml
+++ b/config/locales/simple_form.pt-BR.yml
@@ -116,6 +116,7 @@ pt-BR:
sign_up_requires_approval: Novas inscrições exigirão sua aprovação
severity: Escolha o que acontecerá com as solicitações deste IP
rule:
+ hint: Opcional. Forneça mais detalhes sobre a regra
text: Descreva uma regra ou requisito para os usuários neste servidor. Tente mantê-la curta e simples.
sessions:
otp: 'Digite o código de dois fatores gerado pelo aplicativo no seu celular ou use um dos códigos de recuperação:'
diff --git a/db/migrate/20240217171534_remove_defaults_for_status_pins_timestamps.rb b/db/migrate/20240217171534_remove_defaults_for_status_pins_timestamps.rb
new file mode 100644
index 0000000000..301371a02d
--- /dev/null
+++ b/db/migrate/20240217171534_remove_defaults_for_status_pins_timestamps.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+
+class RemoveDefaultsForStatusPinsTimestamps < ActiveRecord::Migration[7.1]
+ def change
+ change_column_default :status_pins, :created_at, from: -> { 'CURRENT_TIMESTAMP' }, to: nil
+ change_column_default :status_pins, :updated_at, from: -> { 'CURRENT_TIMESTAMP' }, to: nil
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index c39da8e099..0e4dffe4f3 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -1031,8 +1031,8 @@ ActiveRecord::Schema[7.1].define(version: 2024_03_22_161611) do
create_table "status_pins", force: :cascade do |t|
t.bigint "account_id", null: false
t.bigint "status_id", null: false
- t.datetime "created_at", precision: nil, default: -> { "now()" }, null: false
- t.datetime "updated_at", precision: nil, default: -> { "now()" }, null: false
+ t.datetime "created_at", precision: nil, null: false
+ t.datetime "updated_at", precision: nil, null: false
t.index ["account_id", "status_id"], name: "index_status_pins_on_account_id_and_status_id", unique: true
t.index ["status_id"], name: "index_status_pins_on_status_id"
end