diff --git a/.rubocop.yml b/.rubocop.yml index d968346f6b..541da330c7 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -41,12 +41,6 @@ Layout/FirstHashElementIndentation: Layout/LineLength: Max: 320 # Default of 120 causes a duplicate entry in generated todo file -# Reason: -# https://docs.rubocop.org/rubocop/cops_lint.html#lintuselessaccessmodifier -Lint/UselessAccessModifier: - ContextCreatingMethods: - - class_methods - ## Disable most Metrics/*Length cops # Reason: those are often triggered and force significant refactors when this happend # but the team feel they are not really improving the code quality. diff --git a/Gemfile.lock b/Gemfile.lock index b341ca84b3..ad70d82740 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -99,20 +99,20 @@ GEM ast (2.4.2) attr_encrypted (4.0.0) encryptor (~> 3.0.0) - attr_required (1.0.1) + attr_required (1.0.2) awrence (1.2.1) aws-eventstream (1.3.0) - aws-partitions (1.873.0) - aws-sdk-core (3.190.1) + aws-partitions (1.899.0) + aws-sdk-core (3.191.4) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.8) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.75.0) - aws-sdk-core (~> 3, >= 3.188.0) + aws-sdk-kms (1.78.0) + aws-sdk-core (~> 3, >= 3.191.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.142.0) - aws-sdk-core (~> 3, >= 3.189.0) + aws-sdk-s3 (1.146.0) + aws-sdk-core (~> 3, >= 3.191.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.8) aws-sigv4 (1.8.0) @@ -132,7 +132,7 @@ GEM erubi (>= 1.0.0) rack (>= 0.9.0) rouge (>= 1.0.0) - better_html (2.0.2) + better_html (2.1.1) actionview (>= 6.0) activesupport (>= 6.0) ast (~> 2.0) @@ -140,9 +140,9 @@ GEM parser (>= 2.4) smart_properties bigdecimal (3.1.7) - bindata (2.4.15) - binding_of_caller (1.0.0) - debug_inspector (>= 0.0.1) + bindata (2.5.0) + binding_of_caller (1.0.1) + debug_inspector (>= 1.2.0) blurhash (0.1.7) bootsnap (1.18.3) msgpack (~> 1.2) @@ -167,7 +167,7 @@ GEM xpath (~> 3.2) case_transform (0.2) activesupport - cbor (0.5.9.6) + cbor (0.5.9.8) charlock_holmes (0.7.7) chewy (7.5.1) activesupport (>= 5.2) @@ -182,13 +182,13 @@ GEM cose (1.3.0) cbor (~> 0.5.9) openssl-signature_algorithm (~> 1.0) - crack (0.4.6) + crack (1.0.0) bigdecimal rexml crass (1.0.6) - css_parser (1.14.0) + css_parser (1.16.0) addressable - csv (3.2.8) + csv (3.3.0) database_cleaner-active_record (2.1.0) activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) @@ -197,7 +197,7 @@ GEM debug (1.9.1) irb (~> 1.10) reline (>= 0.3.8) - debug_inspector (1.1.0) + debug_inspector (1.2.0) devise (4.9.3) bcrypt (~> 3.0) orm_adapter (~> 0.1) @@ -217,8 +217,7 @@ GEM discard (1.3.0) activerecord (>= 4.2, < 8) docile (1.4.0) - domain_name (0.5.20190701) - unf (>= 0.0.5, < 1.0.0) + domain_name (0.6.20240107) doorkeeper (5.6.9) railties (>= 5) dotenv (2.8.1) @@ -242,11 +241,11 @@ GEM mail (~> 2.7) encryptor (3.0.0) erubi (1.12.0) - et-orbi (1.2.7) + et-orbi (1.2.10) tzinfo - excon (0.109.0) + excon (0.110.0) fabrication (2.31.0) - faker (3.2.3) + faker (3.3.0) i18n (>= 1.8.11, < 2) faraday (1.10.3) faraday-em_http (~> 1.0) @@ -275,7 +274,7 @@ GEM faraday (~> 1.0) fast_blank (1.0.1) fastimage (2.3.0) - ffi (1.15.5) + ffi (1.16.3) ffi-compiler (1.0.1) ffi (>= 1.0.0) rake @@ -291,7 +290,7 @@ GEM fog-core (~> 2.1) fog-json (>= 1.0) formatador (1.1.0) - fugit (1.8.1) + fugit (1.10.1) et-orbi (~> 1, >= 1.2.7) raabro (~> 1.4) fuubar (2.5.1) @@ -423,7 +422,7 @@ GEM net-imap net-pop net-smtp - marcel (1.0.2) + marcel (1.0.4) mario-redis-lock (1.2.1) redis (>= 3.0.5) matrix (0.4.2) @@ -434,7 +433,7 @@ GEM memory_profiler (1.0.1) mime-types (3.5.2) mime-types-data (~> 3.2015) - mime-types-data (3.2023.1205) + mime-types-data (3.2024.0305) mini_mime (1.1.5) mini_portile2 (2.8.5) minitest (5.22.3) @@ -456,7 +455,7 @@ GEM timeout net-smtp (0.4.0.1) net-protocol - nio4r (2.5.9) + nio4r (2.7.1) nokogiri (1.16.3) mini_portile2 (~> 2.8.2) racc (~> 1.4) @@ -511,7 +510,7 @@ GEM pghero (3.4.1) activerecord (>= 6) posix-spawn (0.3.15) - premailer (1.21.0) + premailer (1.23.0) addressable css_parser (>= 1.12.0) htmlentities (>= 4.0.0) @@ -618,7 +617,7 @@ GEM railties (>= 5.2) rexml (3.2.6) rotp (6.3.0) - rouge (4.1.2) + rouge (4.2.1) rpam2 (4.0.2) rqrcode (2.2.0) chunky_png (~> 1.0) @@ -668,7 +667,7 @@ GEM rubocop-performance (1.20.2) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.30.0, < 2.0) - rubocop-rails (2.24.0) + rubocop-rails (2.24.1) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) @@ -763,7 +762,7 @@ GEM tty-cursor (~> 0.7) tty-screen (~> 0.8) wisper (~> 2.0) - tty-screen (0.8.1) + tty-screen (0.8.2) twitter-text (3.1.0) idn-ruby unf (~> 0.1.0) @@ -773,7 +772,7 @@ GEM tzinfo (>= 1.0.0) unf (0.1.4) unf_ext - unf_ext (0.0.8.2) + unf_ext (0.0.9.1) unicode-display_width (2.5.0) uri (0.12.2) validate_email (0.1.6) @@ -796,7 +795,7 @@ GEM webfinger (1.2.0) activesupport httpclient (>= 2.4) - webmock (3.22.0) + webmock (3.23.0) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) @@ -956,4 +955,4 @@ RUBY VERSION ruby 3.2.2p53 BUNDLED WITH - 2.5.4 + 2.5.7 diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 668afe7fde..d46d0674a4 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -160,6 +160,15 @@ module ApplicationHelper output.compact_blank.join(' ') end + def theme_style_tags(theme) + if theme == 'system' + concat stylesheet_pack_tag('mastodon-light', media: 'not all and (prefers-color-scheme: dark)', crossorigin: 'anonymous') + concat stylesheet_pack_tag('default', media: '(prefers-color-scheme: dark)', crossorigin: 'anonymous') + else + stylesheet_pack_tag theme, media: 'all', crossorigin: 'anonymous' + end + end + def cdn_host Rails.configuration.action_controller.asset_host end diff --git a/app/javascript/mastodon/features/emoji/__tests__/emoji-test.js b/app/javascript/mastodon/features/emoji/__tests__/emoji-test.js index 7b917ac43b..9d6ff5226a 100644 --- a/app/javascript/mastodon/features/emoji/__tests__/emoji-test.js +++ b/app/javascript/mastodon/features/emoji/__tests__/emoji-test.js @@ -22,23 +22,23 @@ describe('emoji', () => { it('does unicode', () => { expect(emojify('\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66')).toEqual( - '👩‍👩‍👦‍👦'); + '👩‍👩‍👦‍👦'); expect(emojify('👨‍👩‍👧‍👧')).toEqual( - '👨‍👩‍👧‍👧'); - expect(emojify('👩‍👩‍👦')).toEqual('👩‍👩‍👦'); + '👨‍👩‍👧‍👧'); + expect(emojify('👩‍👩‍👦')).toEqual('👩‍👩‍👦'); expect(emojify('\u2757')).toEqual( - '❗'); + '❗'); }); it('does multiple unicode', () => { expect(emojify('\u2757 #\uFE0F\u20E3')).toEqual( - '❗ #️⃣'); + '❗ #️⃣'); expect(emojify('\u2757#\uFE0F\u20E3')).toEqual( - '❗#️⃣'); + '❗#️⃣'); expect(emojify('\u2757 #\uFE0F\u20E3 \u2757')).toEqual( - '❗ #️⃣ ❗'); + '❗ #️⃣ ❗'); expect(emojify('foo \u2757 #\uFE0F\u20E3 bar')).toEqual( - 'foo ❗ #️⃣ bar'); + 'foo ❗ #️⃣ bar'); }); it('ignores unicode inside of tags', () => { @@ -46,16 +46,16 @@ describe('emoji', () => { }); it('does multiple emoji properly (issue 5188)', () => { - expect(emojify('👌🌈💕')).toEqual('👌🌈💕'); - expect(emojify('👌 🌈 💕')).toEqual('👌 🌈 💕'); + expect(emojify('👌🌈💕')).toEqual('👌🌈💕'); + expect(emojify('👌 🌈 💕')).toEqual('👌 🌈 💕'); }); it('does an emoji that has no shortcode', () => { - expect(emojify('👁‍🗨')).toEqual('👁‍🗨'); + expect(emojify('👁‍🗨')).toEqual('👁‍🗨'); }); it('does an emoji whose filename is irregular', () => { - expect(emojify('↙️')).toEqual('↙️'); + expect(emojify('↙️')).toEqual('↙️'); }); it('avoid emojifying on invisible text', () => { @@ -67,11 +67,11 @@ describe('emoji', () => { it('avoid emojifying on invisible text with nested tags', () => { expect(emojify('😇')) - .toEqual('😇'); + .toEqual('😇'); expect(emojify('😇')) - .toEqual('😇'); + .toEqual('😇'); expect(emojify('😇')) - .toEqual('😇'); + .toEqual('😇'); }); it('does not emojify emojis with textual presentation VS15 character', () => { @@ -79,19 +79,19 @@ describe('emoji', () => { .toEqual('✴︎'); }); - it('does an simple emoji properly', () => { + it('does a simple emoji properly', () => { expect(emojify('♀♂')) - .toEqual('♀♂'); + .toEqual('♀♂'); }); it('does an emoji containing ZWJ properly', () => { expect(emojify('💂‍♀️💂‍♂️')) - .toEqual('💂\u200D♀️💂\u200D♂️'); + .toEqual('💂\u200D♀️💂\u200D♂️'); }); it('keeps ordering as expected (issue fixed by PR 20677)', () => { expect(emojify('

💕 #foo test: foo.

')) - .toEqual('

💕 #foo test: foo.

'); + .toEqual('

💕 #foo test: foo.

'); }); }); }); diff --git a/app/javascript/mastodon/features/emoji/emoji.js b/app/javascript/mastodon/features/emoji/emoji.js index 5918a65ed7..e4aad302f6 100644 --- a/app/javascript/mastodon/features/emoji/emoji.js +++ b/app/javascript/mastodon/features/emoji/emoji.js @@ -17,8 +17,13 @@ const emojiFilenames = (emojis) => { const darkEmoji = emojiFilenames(['🎱', '🐜', '⚫', '🖤', '⬛', '◼️', '◾', '◼️', '✒️', '▪️', '💣', '🎳', '📷', '📸', '♣️', '🕶️', '✴️', '🔌', '💂‍♀️', '📽️', '🍳', '🦍', '💂', '🔪', '🕳️', '🕹️', '🕋', '🖊️', '🖋️', '💂‍♂️', '🎤', '🎓', '🎥', '🎼', '♠️', '🎩', '🦃', '📼', '📹', '🎮', '🐃', '🏴', '🐞', '🕺', '📱', '📲', '🚲', '🪮', '🐦‍⬛']); const lightEmoji = emojiFilenames(['👽', '⚾', '🐔', '☁️', '💨', '🕊️', '👀', '🍥', '👻', '🐐', '❕', '❔', '⛸️', '🌩️', '🔊', '🔇', '📃', '🌧️', '🐏', '🍚', '🍙', '🐓', '🐑', '💀', '☠️', '🌨️', '🔉', '🔈', '💬', '💭', '🏐', '🏳️', '⚪', '⬜', '◽', '◻️', '▫️', '🪽', '🪿']); -const emojiFilename = (filename) => { - const borderedEmoji = (document.body && document.body.classList.contains('theme-mastodon-light')) ? lightEmoji : darkEmoji; +/** + * @param {string} filename + * @param {"light" | "dark" } colorScheme + * @returns {string} + */ +const emojiFilename = (filename, colorScheme) => { + const borderedEmoji = colorScheme === "light" ? lightEmoji : darkEmoji; return borderedEmoji.includes(filename) ? (filename + '_border') : filename; }; @@ -92,12 +97,30 @@ const emojifyTextNode = (node, customEmojis) => { const { filename, shortCode } = unicodeMapping[unicode_emoji]; const title = shortCode ? `:${shortCode}:` : ''; - replacement = document.createElement('img'); - replacement.setAttribute('draggable', 'false'); - replacement.setAttribute('class', 'emojione'); - replacement.setAttribute('alt', unicode_emoji); - replacement.setAttribute('title', title); - replacement.setAttribute('src', `${assetHost}/emoji/${emojiFilename(filename)}.svg`); + replacement = document.createElement('picture'); + + const isSystemTheme = !!document.body?.classList.contains('theme-system'); + + if(isSystemTheme) { + let source = document.createElement('source'); + source.setAttribute('media', '(prefers-color-scheme: dark)'); + source.setAttribute('srcset', `${assetHost}/emoji/${emojiFilename(filename, "dark")}.svg`); + replacement.appendChild(source); + } + + let img = document.createElement('img'); + img.setAttribute('draggable', 'false'); + img.setAttribute('class', 'emojione'); + img.setAttribute('alt', unicode_emoji); + img.setAttribute('title', title); + + let theme = "light"; + + if(!isSystemTheme && !document.body?.classList.contains('theme-mastodon-light')) + theme = "dark"; + + img.setAttribute('src', `${assetHost}/emoji/${emojiFilename(filename, theme)}.svg`); + replacement.appendChild(img); } // Add the processed-up-to-now string and the emoji replacement diff --git a/app/javascript/mastodon/locales/be.json b/app/javascript/mastodon/locales/be.json index 754b7156b8..fe186222a7 100644 --- a/app/javascript/mastodon/locales/be.json +++ b/app/javascript/mastodon/locales/be.json @@ -471,7 +471,6 @@ "notification.own_poll": "Ваша апытанне скончылася", "notification.poll": "Апытанне, дзе вы прынялі ўдзел, скончылася", "notification.reblog": "{name} пашырыў ваш допіс", - "notification.severed_relationships": "Зносіны з {name} былі разарваныя", "notification.status": "Новы допіс ад {name}", "notification.update": "Допіс {name} адрэдагаваны", "notification_requests.accept": "Прыняць", @@ -589,8 +588,6 @@ "refresh": "Абнавiць", "regeneration_indicator.label": "Загрузка…", "regeneration_indicator.sublabel": "Пачакайце, рыхтуем вашу стужку!", - "relationship_severance_notification.types.user_domain_block": "Вы заблакіравалі гэты дамен", - "relationship_severance_notification.view": "Праглядзець", "relative_time.days": "{number} д", "relative_time.full.days": "{number, plural, one {# дзень} few {# дні} many {# дзён} other {# дня}} таму", "relative_time.full.hours": "{number, plural, one {# гадзіна} few {# гадзіны} many {# гадзін} other {# гадзіны}} таму", diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index 4670a6e2d6..b7a236d60b 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -471,7 +471,6 @@ "notification.own_poll": "Анкетата ви приключи", "notification.poll": "Анкета, в която гласувахте, приключи", "notification.reblog": "{name} подсили ваша публикация", - "notification.severed_relationships": "Връзката с {name} е прекъсната", "notification.status": "{name} току-що публикува", "notification.update": "{name} промени публикация", "notification_requests.accept": "Приемам", @@ -484,6 +483,8 @@ "notifications.column_settings.admin.sign_up": "Нови регистрации:", "notifications.column_settings.alert": "Известия на работния плот", "notifications.column_settings.favourite": "Любими:", + "notifications.column_settings.filter_bar.advanced": "Показване на всички категории", + "notifications.column_settings.filter_bar.category": "Лента за бърз филтър", "notifications.column_settings.follow": "Нови последователи:", "notifications.column_settings.follow_request": "Нови заявки за последване:", "notifications.column_settings.mention": "Споменавания:", @@ -588,12 +589,6 @@ "refresh": "Опресняване", "regeneration_indicator.label": "Зареждане…", "regeneration_indicator.sublabel": "Подготовка на началния ви инфоканал!", - "relationship_severance_notification.purged_data": "прочистено от администраторите", - "relationship_severance_notification.relationships": "{count, plural, one {# връзка} other {# връзки}}", - "relationship_severance_notification.types.account_suspension": "Акаунтът е спрян", - "relationship_severance_notification.types.domain_block": "Домейнът е спрян", - "relationship_severance_notification.types.user_domain_block": "Блокирахте този домейн", - "relationship_severance_notification.view": "Преглед", "relative_time.days": "{number} д.", "relative_time.full.days": "преди {number, plural, one {# ден} other {# дни}}", "relative_time.full.hours": "преди {number, plural, one {# час} other {# часа}}", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index c95e8a9502..eee6d281d0 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -298,6 +298,7 @@ "filter_modal.select_filter.title": "Filtra aquest tut", "filter_modal.title.status": "Filtra un tut", "filtered_notifications_banner.pending_requests": "Notificacions {count, plural, =0 {de ningú} one {d'una persona} other {de # persones}} que potser coneixes", + "filtered_notifications_banner.private_mentions": "{count, plural, one {menció privada} other {mencions privades}}", "filtered_notifications_banner.title": "Notificacions filtrades", "firehose.all": "Tots", "firehose.local": "Aquest servidor", @@ -471,7 +472,11 @@ "notification.own_poll": "La teva enquesta ha finalitzat", "notification.poll": "Ha finalitzat una enquesta en què has votat", "notification.reblog": "{name} t'ha impulsat", - "notification.severed_relationships": "S'han eliminat les relacions amb {name}", + "notification.relationships_severance_event": "Connexions perdudes amb {name}", + "notification.relationships_severance_event.account_suspension": "Un administrador de {from} ha suspès {target}; això vol dir que ja no en podreu rebre actualitzacions o interactuar-hi.", + "notification.relationships_severance_event.domain_block": "Un administrador de {from} ha blocat {target}, incloent-hi {followersCount} dels vostres seguidors i {followingCount, plural, one {# compte} other {# comptes}} que seguiu.", + "notification.relationships_severance_event.learn_more": "Per a saber-ne més", + "notification.relationships_severance_event.user_domain_block": "Heu blocat {target}, eliminant {followersCount} dels vostres seguidors i {followingCount, plural, one {# compte} other {# comptes}} que seguiu.", "notification.status": "{name} acaba de publicar", "notification.update": "{name} ha editat un tut", "notification_requests.accept": "Accepta", @@ -484,6 +489,8 @@ "notifications.column_settings.admin.sign_up": "Registres nous:", "notifications.column_settings.alert": "Notificacions d'escriptori", "notifications.column_settings.favourite": "Favorits:", + "notifications.column_settings.filter_bar.advanced": "Mostra totes les categories", + "notifications.column_settings.filter_bar.category": "Barra ràpida de filtres", "notifications.column_settings.follow": "Nous seguidors:", "notifications.column_settings.follow_request": "Noves sol·licituds de seguiment:", "notifications.column_settings.mention": "Mencions:", @@ -588,12 +595,6 @@ "refresh": "Actualitza", "regeneration_indicator.label": "Es carrega…", "regeneration_indicator.sublabel": "Es prepara la teva línia de temps d'Inici!", - "relationship_severance_notification.purged_data": "purgat pels administradors", - "relationship_severance_notification.relationships": "{count, plural, one {# relació} other {# relacions}}", - "relationship_severance_notification.types.account_suspension": "S'ha suspès el compte", - "relationship_severance_notification.types.domain_block": "S'ha suspès el domini", - "relationship_severance_notification.types.user_domain_block": "Heu blocat aquest domini", - "relationship_severance_notification.view": "Visualitza", "relative_time.days": "{number}d", "relative_time.full.days": "fa {number, plural, one {# dia} other {# dies}}", "relative_time.full.hours": "fa {number, plural, one {# hora} other {# hores}}", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index 97468c6272..2e5fb21fef 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -296,6 +296,7 @@ "filter_modal.select_filter.title": "Filtrér dette indlæg", "filter_modal.title.status": "Filtrér et indlæg", "filtered_notifications_banner.pending_requests": "Notifikationer fra {count, plural, =0 {ingen} one {én person} other {# personer}} du måske kender", + "filtered_notifications_banner.private_mentions": "{count, plural, one {privat omtale} other {private omtaler}}", "filtered_notifications_banner.title": "Filtrerede notifikationer", "firehose.all": "Alle", "firehose.local": "Denne server", @@ -469,6 +470,11 @@ "notification.own_poll": "Din afstemning er afsluttet", "notification.poll": "En afstemning, hvori du stemte, er slut", "notification.reblog": "{name} boostede dit indlæg", + "notification.relationships_severance_event": "Mistede forbindelser med {name}", + "notification.relationships_severance_event.account_suspension": "En admin fra {from} har suspenderet {target}, hvofor opdateringer herfra eller interaktion hermed ikke længer er mulig.", + "notification.relationships_severance_event.domain_block": "En admin fra {from} har blokeret {target}, herunder {followersCount} tilhængere og {followingCount, plural, one {# konto, der} other {# konti, som}} følges.", + "notification.relationships_severance_event.learn_more": "Læs mere", + "notification.relationships_severance_event.user_domain_block": "{target} er blevet blokeret, og {followersCount} tilhængere samt {followingCount, plural, one {# konto, der} other {# konti, som}} følges, er hermed fjernet.", "notification.status": "{name} har netop postet", "notification.update": "{name} redigerede et indlæg", "notification_requests.accept": "Acceptér", @@ -587,12 +593,6 @@ "refresh": "Genindlæs", "regeneration_indicator.label": "Indlæser…", "regeneration_indicator.sublabel": "Din hjemmetidslinje klargøres!", - "relationship_severance_notification.purged_data": "renset af administratorer", - "relationship_severance_notification.relationships": "{count, plural, one {# forhold} other {# forhold}}", - "relationship_severance_notification.types.account_suspension": "Konto er blevet suspenderet", - "relationship_severance_notification.types.domain_block": "Domæne er blevet suspenderet", - "relationship_severance_notification.types.user_domain_block": "Dette domæne blev blokeret", - "relationship_severance_notification.view": "Vis", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# dag} other {# dage}} siden", "relative_time.full.hours": "{number, plural, one {# time} other {# timer}} siden", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 8cc77c0725..b1d0b3ec14 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -298,6 +298,7 @@ "filter_modal.select_filter.title": "Diesen Beitrag filtern", "filter_modal.title.status": "Beitrag per Filter ausblenden", "filtered_notifications_banner.pending_requests": "Benachrichtigungen von {count, plural, =0 {keinem Profil, das du möglicherweise kennst} one {einem Profil, das du möglicherweise kennst} other {# Profilen, die du möglicherweise kennst}}", + "filtered_notifications_banner.private_mentions": "{count, plural, one {private Erwähnung} other {private Erwähnungen}}", "filtered_notifications_banner.title": "Gefilterte Benachrichtigungen", "firehose.all": "Alles", "firehose.local": "Dieser Server", @@ -471,7 +472,11 @@ "notification.own_poll": "Deine Umfrage ist beendet", "notification.poll": "Eine Umfrage, an der du teilgenommen hast, ist beendet", "notification.reblog": "{name} teilte deinen Beitrag", - "notification.severed_relationships": "Beziehungen zu {name} getrennt", + "notification.relationships_severance_event": "Verbindungen mit {name} verloren", + "notification.relationships_severance_event.account_suspension": "Ein Admin von {from} hat {target} gesperrt. Du wirst von diesem Profil keine Updates mehr erhalten und auch nicht mit ihm interagieren können.", + "notification.relationships_severance_event.domain_block": "Ein Admin von {from} hat {target} blockiert – darunter {followersCount} deiner Follower und {followingCount, plural, one {# Konto, dem} other {# Konten, denen}} du folgst.", + "notification.relationships_severance_event.learn_more": "Mehr erfahren", + "notification.relationships_severance_event.user_domain_block": "Du hast {target} blockiert – {followersCount} deiner Follower und {followingCount, plural, one {# Konto, dem} other {# Konten, denen}} du folgst, wurden entfernt.", "notification.status": "{name} hat gerade etwas gepostet", "notification.update": "{name} bearbeitete einen Beitrag", "notification_requests.accept": "Akzeptieren", @@ -590,12 +595,6 @@ "refresh": "Aktualisieren", "regeneration_indicator.label": "Wird geladen …", "regeneration_indicator.sublabel": "Deine Startseite wird gerade vorbereitet!", - "relationship_severance_notification.purged_data": "von Administrator*innen entfernt", - "relationship_severance_notification.relationships": "{count, plural, one {# Beziehung} other {# Beziehungen}}", - "relationship_severance_notification.types.account_suspension": "Konto wurde gesperrt", - "relationship_severance_notification.types.domain_block": "Domain wurde gesperrt", - "relationship_severance_notification.types.user_domain_block": "Du hast diese Domain blockiert", - "relationship_severance_notification.view": "Anzeigen", "relative_time.days": "{number} T.", "relative_time.full.days": "vor {number, plural, one {# Tag} other {# Tagen}}", "relative_time.full.hours": "vor {number, plural, one {# Stunde} other {# Stunden}}", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index a9db8831e2..c14edac6bf 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -298,6 +298,7 @@ "filter_modal.select_filter.title": "Filtrar este mensaje", "filter_modal.title.status": "Filtrar un mensaje", "filtered_notifications_banner.pending_requests": "Notificaciones de {count, plural, =0 {nadie} one {una persona} other {# personas}} que podrías conocer", + "filtered_notifications_banner.private_mentions": "{count, plural, one {mención privada} other {menciones privadas}}", "filtered_notifications_banner.title": "Notificaciones filtradas", "firehose.all": "Todos", "firehose.local": "Este servidor", @@ -471,7 +472,11 @@ "notification.own_poll": "Tu encuesta finalizó", "notification.poll": "Finalizó una encuesta en la que votaste", "notification.reblog": "{name} adhirió a tu mensaje", - "notification.severed_relationships": "Relaciones con {name} cortadas", + "notification.relationships_severance_event": "Conexiones perdidas con {name}", + "notification.relationships_severance_event.account_suspension": "Un administrador de {from} suspendió a {target}, lo que significa que ya no podés recibir actualizaciones de esa cuenta o interactuar con la misma.", + "notification.relationships_severance_event.domain_block": "Un administrador de {from} bloqueó a {target}, incluyendo {followersCount} de tus seguidores y {followingCount, plural, one {# cuenta} other {# cuentas}} que seguís.", + "notification.relationships_severance_event.learn_more": "Aprendé más", + "notification.relationships_severance_event.user_domain_block": "Bloqueaste a {target}, eliminando {followersCount} de tus seguidores y {followingCount, plural, one {# cuenta} other {# cuentas}} que seguís.", "notification.status": "{name} acaba de enviar un mensaje", "notification.update": "{name} editó un mensaje", "notification_requests.accept": "Aceptar", @@ -590,12 +595,6 @@ "refresh": "Refrescar", "regeneration_indicator.label": "Cargando…", "regeneration_indicator.sublabel": "¡Se está preparando tu línea temporal principal!", - "relationship_severance_notification.purged_data": "purgada por administradores", - "relationship_severance_notification.relationships": "{count, plural, one {# relación} other {# relaciones}}", - "relationship_severance_notification.types.account_suspension": "La cuenta fue suspendida", - "relationship_severance_notification.types.domain_block": "El dominio fue suspendido", - "relationship_severance_notification.types.user_domain_block": "Bloqueaste este dominio", - "relationship_severance_notification.view": "Ver", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural,one {hace # día} other {hace # días}}", "relative_time.full.hours": "{number, plural,one {hace # hora} other {hace # horas}}", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index dea71a9351..fd32d9d903 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -471,7 +471,11 @@ "notification.own_poll": "Tu encuesta ha terminado", "notification.poll": "Una encuesta en la que has votado ha terminado", "notification.reblog": "{name} ha retooteado tu estado", - "notification.severed_relationships": "Se han cortado las relaciones con {name}", + "notification.relationships_severance_event": "Conexiones perdidas con {name}", + "notification.relationships_severance_event.account_suspension": "Un administrador de {from} ha suspendido {target}, lo que significa que ya no puedes recibir actualizaciones de sus cuentas o interactuar con ellas.", + "notification.relationships_severance_event.domain_block": "Un administrador de {from} ha bloqueado {target}, incluyendo {followersCount} de tus seguidores y {followingCount, plural, one {# cuenta} other {# cuentas}} que sigues.", + "notification.relationships_severance_event.learn_more": "Más información", + "notification.relationships_severance_event.user_domain_block": "Has bloqueado {target}, eliminando {followersCount} de tus seguidores y {followingCount, plural, one {# cuenta} other {# cuentas}} que sigues.", "notification.status": "{name} acaba de publicar", "notification.update": "{name} editó una publicación", "notification_requests.accept": "Aceptar", @@ -590,12 +594,6 @@ "refresh": "Actualizar", "regeneration_indicator.label": "Cargando…", "regeneration_indicator.sublabel": "¡Tu historia de inicio se está preparando!", - "relationship_severance_notification.purged_data": "purgado por administradores", - "relationship_severance_notification.relationships": "{count, plural, one {# relación} other {# relaciones}}", - "relationship_severance_notification.types.account_suspension": "La cuenta ha sido suspendida", - "relationship_severance_notification.types.domain_block": "El dominio ha sido suspendido", - "relationship_severance_notification.types.user_domain_block": "Bloqueaste este dominio", - "relationship_severance_notification.view": "Ver", "relative_time.days": "{number} d", "relative_time.full.days": "{number, plural, one {# día} other {# días hace}}", "relative_time.full.hours": "{number, plural, one {# hora} other {# horas}} hace", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index 64bcf7d9c0..9c15a3cae4 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -471,7 +471,11 @@ "notification.own_poll": "Tu encuesta ha terminado", "notification.poll": "Una encuesta en la que has votado ha terminado", "notification.reblog": "{name} ha impulsado tu publicación", - "notification.severed_relationships": "Se han cortado las relaciones con {name}", + "notification.relationships_severance_event": "Conexiones perdidas con {name}", + "notification.relationships_severance_event.account_suspension": "Un administrador de {from} ha suspendido {target}, lo que significa que ya no puedes recibir actualizaciones de sus cuentas o interactuar con ellas.", + "notification.relationships_severance_event.domain_block": "Un administrador de {from} ha bloqueado {target}, incluyendo {followersCount} de tus seguidores y {followingCount, plural, one {# cuenta} other {# cuentas}} que sigues.", + "notification.relationships_severance_event.learn_more": "Más información", + "notification.relationships_severance_event.user_domain_block": "Has bloqueado {target}, eliminando {followersCount} de tus seguidores y {followingCount, plural, one {# cuenta} other {# cuentas}} que sigues.", "notification.status": "{name} acaba de publicar", "notification.update": "{name} editó una publicación", "notification_requests.accept": "Aceptar", @@ -590,12 +594,6 @@ "refresh": "Actualizar", "regeneration_indicator.label": "Cargando…", "regeneration_indicator.sublabel": "¡Tu historia de inicio se está preparando!", - "relationship_severance_notification.purged_data": "purgado por administradores", - "relationship_severance_notification.relationships": "{count, plural, one {# relación} other {# relaciones}}", - "relationship_severance_notification.types.account_suspension": "La cuenta ha sido suspendida", - "relationship_severance_notification.types.domain_block": "El dominio ha sido suspendido", - "relationship_severance_notification.types.user_domain_block": "Bloqueaste este dominio", - "relationship_severance_notification.view": "Ver", "relative_time.days": "{number} d", "relative_time.full.days": "hace {number, plural, one {# día} other {# días}}", "relative_time.full.hours": "hace {number, plural, one {# hora} other {# horas}}", diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json index 8c3c5f9845..40fec4f49c 100644 --- a/app/javascript/mastodon/locales/eu.json +++ b/app/javascript/mastodon/locales/eu.json @@ -471,7 +471,9 @@ "notification.own_poll": "Zure inkesta amaitu da", "notification.poll": "Zuk erantzun duzun inkesta bat bukatu da", "notification.reblog": "{name}(e)k bultzada eman dio zure bidalketari", - "notification.severed_relationships": "{name} erabiltzailearekin zenuen erlazioa galdu da", + "notification.relationships_severance_event": "{name} erabiltzailearekin galdutako konexioak", + "notification.relationships_severance_event.account_suspension": "{from} zerbitzariko administratzaile batek {target} bertan behera utzi du, hau da, ezin izango dituzu jaso hango eguneratzerik edo hangoekin elkarreragin.", + "notification.relationships_severance_event.learn_more": "Informazio gehiago", "notification.status": "{name} erabiltzaileak bidalketa egin berri du", "notification.update": "{name} erabiltzaileak bidalketa bat editatu du", "notification_requests.accept": "Onartu", @@ -590,12 +592,6 @@ "refresh": "Berritu", "regeneration_indicator.label": "Kargatzen…", "regeneration_indicator.sublabel": "Zure hasiera-jarioa prestatzen ari da!", - "relationship_severance_notification.purged_data": "administratzaileek kendua", - "relationship_severance_notification.relationships": "{count, plural, one {Erlazio #} other {# erlazio}}", - "relationship_severance_notification.types.account_suspension": "Kontua bertan behera utzi da", - "relationship_severance_notification.types.domain_block": "Domeinua bertan behera utzi da", - "relationship_severance_notification.types.user_domain_block": "Domeinu hau blokeatu duzu", - "relationship_severance_notification.view": "Ikusi", "relative_time.days": "{number}e", "relative_time.full.days": "Duela {number, plural, one {egun #} other {# egun}}", "relative_time.full.hours": "Duela {number, plural, one {ordu #} other {# ordu}}", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 16670d9ffe..9dfa61ef4a 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -298,6 +298,7 @@ "filter_modal.select_filter.title": "Suodata tämä julkaisu", "filter_modal.title.status": "Suodata julkaisu", "filtered_notifications_banner.pending_requests": "Ilmoitukset {count, plural, =0 {ei keltään} one {yhdeltä henkilöltä} other {# henkilöltä}}, jonka saatat tuntea", + "filtered_notifications_banner.private_mentions": "{count, plural, one {yksityismaininta} other {yksityismainintaa}}", "filtered_notifications_banner.title": "Suodatetut ilmoitukset", "firehose.all": "Kaikki", "firehose.local": "Tämä palvelin", @@ -471,7 +472,7 @@ "notification.own_poll": "Äänestyksesi on päättynyt", "notification.poll": "Kysely, johon osallistuit, on päättynyt", "notification.reblog": "{name} tehosti julkaisuasi", - "notification.severed_relationships": "Suhteet palvelimeen {name} katkenneet", + "notification.relationships_severance_event.learn_more": "Lue lisää", "notification.status": "{name} julkaisi juuri", "notification.update": "{name} muokkasi julkaisua", "notification_requests.accept": "Hyväksy", @@ -590,12 +591,6 @@ "refresh": "Päivitä", "regeneration_indicator.label": "Ladataan…", "regeneration_indicator.sublabel": "Kotisyötettäsi valmistellaan!", - "relationship_severance_notification.purged_data": "ylläpitäjien tyhjentämä", - "relationship_severance_notification.relationships": "{count, plural, one {# suhde} other {# suhdetta}}", - "relationship_severance_notification.types.account_suspension": "Tili on jäädytetty", - "relationship_severance_notification.types.domain_block": "Verkkotunnus on jäädytetty", - "relationship_severance_notification.types.user_domain_block": "Estit tämän verkkotunnuksen", - "relationship_severance_notification.view": "Näytä", "relative_time.days": "{number} pv", "relative_time.full.days": "{number, plural, one {# päivä} other {# päivää}} sitten", "relative_time.full.hours": "{number, plural, one {# tunti} other {# tuntia}} sitten", diff --git a/app/javascript/mastodon/locales/fo.json b/app/javascript/mastodon/locales/fo.json index c86829ee30..b8722ee319 100644 --- a/app/javascript/mastodon/locales/fo.json +++ b/app/javascript/mastodon/locales/fo.json @@ -298,6 +298,7 @@ "filter_modal.select_filter.title": "Filtrera hendan postin", "filter_modal.title.status": "Filtrera ein post", "filtered_notifications_banner.pending_requests": "Fráboðanir frá {count, plural, =0 {ongum} one {einum persóni} other {# persónum}}, sum tú kanska kennir", + "filtered_notifications_banner.private_mentions": "{count, plural, one {privat umrøða} other {privatar umrøður}}", "filtered_notifications_banner.title": "Sáldaðar fráboðanir", "firehose.all": "Allar", "firehose.local": "Hesin ambætarin", @@ -471,7 +472,11 @@ "notification.own_poll": "Tín atkvøðugreiðsla er endað", "notification.poll": "Ein atkvøðugreiðsla, har tú hevur atkvøtt, er endað", "notification.reblog": "{name} lyfti tín post", - "notification.severed_relationships": "Tilknýti við {name} avbrotið", + "notification.relationships_severance_event": "Mist sambond við {name}", + "notification.relationships_severance_event.account_suspension": "Ein umsitari frá {from} hevur gjørt {target} óvirkna, sum merkir, at tú ikki kanst móttaka dagføringar ella virka saman við teimum longur.", + "notification.relationships_severance_event.domain_block": "Ein umsitari frá {from} hevur blokerað {target}, íroknað {followersCount} av tínum fylgjarum og {followingCount, plural, one {# kontu} other {# kontur}}, sum tú fylgir.", + "notification.relationships_severance_event.learn_more": "Lær meira", + "notification.relationships_severance_event.user_domain_block": "Tú hevur blokerað {target}, strikað {followersCount} av tínum fylgjarum og {followingCount, plural, one {# kontu} other {# kontur}}, sum tú fylgir.", "notification.status": "{name} hevur júst postað", "notification.update": "{name} rættaði ein post", "notification_requests.accept": "Góðtak", @@ -590,12 +595,6 @@ "refresh": "Endurles", "regeneration_indicator.label": "Innlesur…", "regeneration_indicator.sublabel": "Tín heimarás verður gjørd klár!", - "relationship_severance_notification.purged_data": "reinsað av umsitarum", - "relationship_severance_notification.relationships": "{count, plural, one {# tilknýti} other {# tilknýti}}", - "relationship_severance_notification.types.account_suspension": "Kontan er ógildað", - "relationship_severance_notification.types.domain_block": "Økisnavn er ógildað", - "relationship_severance_notification.types.user_domain_block": "Tú hevur forðað hesum økisnavni", - "relationship_severance_notification.view": "Vís", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# dagur} other {# dagar}} síðani", "relative_time.full.hours": "{number, plural, one {# tími} other {# tímar}} síðani", diff --git a/app/javascript/mastodon/locales/fr-CA.json b/app/javascript/mastodon/locales/fr-CA.json index 1e1c78f29d..ab4a3f309c 100644 --- a/app/javascript/mastodon/locales/fr-CA.json +++ b/app/javascript/mastodon/locales/fr-CA.json @@ -471,7 +471,6 @@ "notification.own_poll": "Votre sondage est terminé", "notification.poll": "Un sondage auquel vous avez participé est terminé", "notification.reblog": "{name} a boosté votre message", - "notification.severed_relationships": "Relation avec {name} rompues", "notification.status": "{name} vient de publier", "notification.update": "{name} a modifié une publication", "notification_requests.accept": "Accepter", @@ -588,12 +587,6 @@ "refresh": "Actualiser", "regeneration_indicator.label": "Chargement…", "regeneration_indicator.sublabel": "Votre fil d'accueil est en cours de préparation!", - "relationship_severance_notification.purged_data": "supprimées par les administrateurs", - "relationship_severance_notification.relationships": "{count, plural, one {# relation} other {# relations}}", - "relationship_severance_notification.types.account_suspension": "Le compte a été suspendu", - "relationship_severance_notification.types.domain_block": "Le domaine a été suspendu", - "relationship_severance_notification.types.user_domain_block": "Vous avez bloqué ce domaine", - "relationship_severance_notification.view": "Afficher", "relative_time.days": "{number} j", "relative_time.full.days": "il y a {number, plural, one {# jour} other {# jours}}", "relative_time.full.hours": "il y a {number, plural, one {# heure} other {# heures}}", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index af5ed66bd8..5ae6fac9f7 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -471,7 +471,6 @@ "notification.own_poll": "Votre sondage est terminé", "notification.poll": "Un sondage auquel vous avez participé vient de se terminer", "notification.reblog": "{name} a partagé votre message", - "notification.severed_relationships": "Relation avec {name} rompues", "notification.status": "{name} vient de publier", "notification.update": "{name} a modifié un message", "notification_requests.accept": "Accepter", @@ -588,12 +587,6 @@ "refresh": "Actualiser", "regeneration_indicator.label": "Chargement…", "regeneration_indicator.sublabel": "Votre fil principal est en cours de préparation !", - "relationship_severance_notification.purged_data": "supprimées par les administrateurs", - "relationship_severance_notification.relationships": "{count, plural, one {# relation} other {# relations}}", - "relationship_severance_notification.types.account_suspension": "Le compte a été suspendu", - "relationship_severance_notification.types.domain_block": "Le domaine a été suspendu", - "relationship_severance_notification.types.user_domain_block": "Vous avez bloqué ce domaine", - "relationship_severance_notification.view": "Afficher", "relative_time.days": "{number} j", "relative_time.full.days": "il y a {number, plural, one {# jour} other {# jours}}", "relative_time.full.hours": "il y a {number, plural, one {# heure} other {# heures}}", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index 612e363774..d835a46863 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -471,7 +471,6 @@ "notification.own_poll": "Thàinig an cunntas-bheachd agad gu crìoch", "notification.poll": "Thàinig cunntas-bheachd sa bhòt thu gu crìoch", "notification.reblog": "Bhrosnaich {name} am post agad", - "notification.severed_relationships": "Chaidh na dàimhean le {name} a dhealachadh", "notification.status": "Phostaich {name} rud", "notification.update": "Dheasaich {name} post", "notification_requests.accept": "Gabh ris", @@ -588,12 +587,6 @@ "refresh": "Ath-nuadhaich", "regeneration_indicator.label": "’Ga luchdadh…", "regeneration_indicator.sublabel": "Tha do dhachaigh ’ga ullachadh!", - "relationship_severance_notification.purged_data": "chaidh a phurgaideachadh leis na rianairean", - "relationship_severance_notification.relationships": "{count, plural, one {# dàimh} two {# dhàimh} few {# dàimhean} other {# dàimh}}", - "relationship_severance_notification.types.account_suspension": "Chaidh cunntas a chur à rèim", - "relationship_severance_notification.types.domain_block": "Chaidh àrainn a chur à rèim", - "relationship_severance_notification.types.user_domain_block": "Bhac thu an àrainn seo", - "relationship_severance_notification.view": "Seall", "relative_time.days": "{number}l", "relative_time.full.days": "{number, plural, one {# latha} two {# latha} few {# làithean} other {# latha}} air ais", "relative_time.full.hours": "{number, plural, one {# uair a thìde} two {# uair a thìde} few {# uairean a thìde} other {# uair a thìde}} air ais", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 57d13205fb..20de52d30c 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -471,7 +471,6 @@ "notification.own_poll": "A túa enquisa rematou", "notification.poll": "Rematou a enquisa na que votaches", "notification.reblog": "{name} compartiu a túa publicación", - "notification.severed_relationships": "Cortouse a relación con {name}", "notification.status": "{name} publicou", "notification.update": "{name} editou unha publicación", "notification_requests.accept": "Aceptar", @@ -484,6 +483,8 @@ "notifications.column_settings.admin.sign_up": "Novas usuarias:", "notifications.column_settings.alert": "Notificacións de escritorio", "notifications.column_settings.favourite": "Favoritas:", + "notifications.column_settings.filter_bar.advanced": "Mostrar todas as categorías", + "notifications.column_settings.filter_bar.category": "Barra de filtrado rápido", "notifications.column_settings.follow": "Novas seguidoras:", "notifications.column_settings.follow_request": "Novas peticións de seguimento:", "notifications.column_settings.mention": "Mencións:", @@ -588,12 +589,6 @@ "refresh": "Actualizar", "regeneration_indicator.label": "Estase a cargar…", "regeneration_indicator.sublabel": "Estase a preparar a túa cronoloxía de inicio!", - "relationship_severance_notification.purged_data": "purgada pola administración", - "relationship_severance_notification.relationships": "{count, plural, one {# relación} other {# relacións}}", - "relationship_severance_notification.types.account_suspension": "A conta foi suspendida", - "relationship_severance_notification.types.domain_block": "O dominio foi suspendido", - "relationship_severance_notification.types.user_domain_block": "Bloqueaches este dominio", - "relationship_severance_notification.view": "Ver", "relative_time.days": "{number}d", "relative_time.full.days": "hai {number, plural, one {# día} other {# días}}", "relative_time.full.hours": "hai {number, plural, one {# hora} other {# horas}}", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index 82dec2d863..155708cfae 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -298,6 +298,7 @@ "filter_modal.select_filter.title": "סינון ההודעה הזו", "filter_modal.title.status": "סנן הודעה", "filtered_notifications_banner.pending_requests": "{count, plural,=0 {אין התראות ממשתמשים ה}one {התראה אחת ממישהו/מישהי ה}two {יש התראותיים ממשתמשים }other {יש # התראות ממשתמשים }}מוכרים לך", + "filtered_notifications_banner.private_mentions": "{count, plural, one {איזכור פרטי} other {איזכורים פרטיים}}", "filtered_notifications_banner.title": "התראות מסוננות", "firehose.all": "הכל", "firehose.local": "שרת זה", @@ -471,7 +472,11 @@ "notification.own_poll": "הסקר שלך הסתיים", "notification.poll": "סקר שהצבעת בו הסתיים", "notification.reblog": "הודעתך הודהדה על ידי {name}", - "notification.severed_relationships": "חתכתם כל קשר עם {name}", + "notification.relationships_severance_event": "אבד הקשר עם {name}", + "notification.relationships_severance_event.account_suspension": "מנהל.ת משרת {from} השע(ת)ה את {target}, ולפיכך לא תעודכנו יותר על ידם ולא תוכלו להיות איתם בקשר.", + "notification.relationships_severance_event.domain_block": "מנהל.ת מאתר {from} חסמו את {target} ובכלל זה {followersCount} מעוקביך וגם {followingCount, plural, one {חשבון אחד} two {שני חשבונות} many {# חשבונות} other {# חשבונות}} מבין נעקביך.", + "notification.relationships_severance_event.learn_more": "למידע נוסף", + "notification.relationships_severance_event.user_domain_block": "חסמת את {target} ובכלל זה {followersCount} מעוקביך וגם {followingCount, plural, one {חשבון אחד} two {שני חשבונות} many {# חשבונות} other {# חשבונות}} מבין נעקביך.", "notification.status": "{name} הרגע פרסמו", "notification.update": "{name} ערכו הודעה", "notification_requests.accept": "לקבל", @@ -590,12 +595,6 @@ "refresh": "רענון", "regeneration_indicator.label": "טוען…", "regeneration_indicator.sublabel": "פיד הבית שלך בהכנה!", - "relationship_severance_notification.purged_data": "המידע נמחק על ידי ההנהלה", - "relationship_severance_notification.relationships": "{count, plural, one {קשר אחד} other {# קשרים}}", - "relationship_severance_notification.types.account_suspension": "החשבון הושעה", - "relationship_severance_notification.types.domain_block": "השרת הושעה", - "relationship_severance_notification.types.user_domain_block": "חסמת שרת זה", - "relationship_severance_notification.view": "הצג", "relative_time.days": "{number} ימים", "relative_time.full.days": "לפני {number, plural, one {# יום} other {# ימים}}", "relative_time.full.hours": "לפני {number, plural, one {# שעה} other {# שעות}}", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index d9dfd01a26..c8e57c526f 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -298,6 +298,7 @@ "filter_modal.select_filter.title": "E bejegyzés szűrése", "filter_modal.title.status": "Egy bejegyzés szűrése", "filtered_notifications_banner.pending_requests": "Értesítések {count, plural, =0 {nincsenek} one {egy valósztínűleg ismerős személytől} other {# valószínűleg ismerős személytől}}", + "filtered_notifications_banner.private_mentions": "{count, plural, one {privát említés} other {privát említés}}", "filtered_notifications_banner.title": "Szűrt értesítések", "firehose.all": "Összes", "firehose.local": "Ez a kiszolgáló", @@ -471,7 +472,11 @@ "notification.own_poll": "A szavazásod véget ért", "notification.poll": "Egy szavazás, melyben részt vettél, véget ért", "notification.reblog": "{name} megtolta a bejegyzésedet", - "notification.severed_relationships": "A kapcsolatok megszakítva ezzel: {name}", + "notification.relationships_severance_event": "Elvesztek a kapcsolatok vele: {name}", + "notification.relationships_severance_event.account_suspension": "Egy admin a {from} kiszolgálóról felfüggesztette {target} fiókot, ami azt jelenti, hogy mostantól nem tudsz vele interaktálni vagy tőle értesítéseket kapni.", + "notification.relationships_severance_event.domain_block": "Egy admin a {from} kiszolgálón letiltotta {target} domaint, beleértve {followersCount} követődet és {followingCount, plural, one {#} other {#}} általad követett személyt.", + "notification.relationships_severance_event.learn_more": "További információk", + "notification.relationships_severance_event.user_domain_block": "Letiltottad a(z) {target} domaint, ezzel eltávolítva {followersCount} követőt és {followingCount, plural, one {#} other {#}} követett fiókot.", "notification.status": "{name} bejegyzést tett közzé", "notification.update": "{name} szerkesztett egy bejegyzést", "notification_requests.accept": "Elfogadás", @@ -484,6 +489,8 @@ "notifications.column_settings.admin.sign_up": "Új regisztrálók:", "notifications.column_settings.alert": "Asztali értesítések", "notifications.column_settings.favourite": "Kedvencek:", + "notifications.column_settings.filter_bar.advanced": "Minden kategória megjelenítése", + "notifications.column_settings.filter_bar.category": "Gyorsszűrő sáv", "notifications.column_settings.follow": "Új követők:", "notifications.column_settings.follow_request": "Új követési kérelmek:", "notifications.column_settings.mention": "Megemlítések:", @@ -588,12 +595,6 @@ "refresh": "Frissítés", "regeneration_indicator.label": "Betöltés…", "regeneration_indicator.sublabel": "A saját idővonalad épp készül!", - "relationship_severance_notification.purged_data": "rendszergazdák által véglegesen törölve", - "relationship_severance_notification.relationships": "{count, plural, one {# kapcsolat} other {# kapcsolat}}", - "relationship_severance_notification.types.account_suspension": "A fiók fel van függesztve", - "relationship_severance_notification.types.domain_block": "A domain fel van függesztve", - "relationship_severance_notification.types.user_domain_block": "Blokkoltad ezt a domaint", - "relationship_severance_notification.view": "Megtekintés", "relative_time.days": "{number}n", "relative_time.full.days": "{number, plural, one {# napja} other {# napja}}", "relative_time.full.hours": "{number, plural, one {# órája} other {# órája}}", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index b65df2fc51..6bcc79f707 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -298,6 +298,7 @@ "filter_modal.select_filter.title": "Sía þessa færslu", "filter_modal.title.status": "Sía færslu", "filtered_notifications_banner.pending_requests": "Tilkynningar frá {count, plural, =0 {engum} one {einum aðila} other {# aðilum}} sem þú gætir þekkt", + "filtered_notifications_banner.private_mentions": "{count, plural, one {einkaspjall} other {einkaspjöll}}", "filtered_notifications_banner.title": "Síaðar tilkynningar", "firehose.all": "Allt", "firehose.local": "þessum netþjóni", @@ -471,6 +472,8 @@ "notification.own_poll": "Könnuninni þinni er lokið", "notification.poll": "Könnun sem þú tókst þátt í er lokið", "notification.reblog": "{name} endurbirti færsluna þína", + "notification.relationships_severance_event": "Missti tengingar við {name}", + "notification.relationships_severance_event.learn_more": "Kanna nánar", "notification.status": "{name} sendi inn rétt í þessu", "notification.update": "{name} breytti færslu", "notification_requests.accept": "Samþykkja", @@ -589,8 +592,6 @@ "refresh": "Endurlesa", "regeneration_indicator.label": "Hleð inn…", "regeneration_indicator.sublabel": "Verið er að útbúa heimastreymið þitt!", - "relationship_severance_notification.relationships": "{count, plural, one {# tengsl} other {# tengsl}}", - "relationship_severance_notification.view": "Skoða", "relative_time.days": "{number}d", "relative_time.full.days": "Fyrir {number, plural, one {# degi} other {# dögum}} síðan", "relative_time.full.hours": "Fyrir {number, plural, one {# klukkustund} other {# klukkustundum}} síðan", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index 090278b83b..eddab5f37f 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -471,7 +471,9 @@ "notification.own_poll": "Il tuo sondaggio è terminato", "notification.poll": "Un sondaggio in cui hai votato è terminato", "notification.reblog": "{name} ha rebloggato il tuo post", - "notification.severed_relationships": "Relazioni interrotte con {name}", + "notification.relationships_severance_event": "Connessioni perse con {name}", + "notification.relationships_severance_event.account_suspension": "Un amministratore da {from} ha sospeso {target}, il che significa che non puoi più ricevere aggiornamenti da loro o interagire con loro.", + "notification.relationships_severance_event.learn_more": "Scopri di più", "notification.status": "{name} ha appena pubblicato un post", "notification.update": "{name} ha modificato un post", "notification_requests.accept": "Accetta", @@ -590,12 +592,6 @@ "refresh": "Ricarica", "regeneration_indicator.label": "Caricamento…", "regeneration_indicator.sublabel": "Il feed della tua home è in preparazione!", - "relationship_severance_notification.purged_data": "rimossi dagli amministratori", - "relationship_severance_notification.relationships": "{count, plural,one {# relazione} other {# relazioni}}", - "relationship_severance_notification.types.account_suspension": "L'account è stato sospeso", - "relationship_severance_notification.types.domain_block": "Il dominio è stato sospeso", - "relationship_severance_notification.types.user_domain_block": "Hai bloccato questo dominio", - "relationship_severance_notification.view": "Visualizza", "relative_time.days": "{number}g", "relative_time.full.days": "{number, plural, one {# giorno} other {# giorni}} fa", "relative_time.full.hours": "{number, plural, one {# ora} other {# ore}} fa", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index 5553636f26..e15089d0c0 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -471,7 +471,6 @@ "notification.own_poll": "설문을 마침", "notification.poll": "참여한 설문이 종료됨", "notification.reblog": "{name} 님이 부스트했습니다", - "notification.severed_relationships": "{name} 님과의 관계가 단절되었습니다", "notification.status": "{name} 님이 방금 게시물을 올렸습니다", "notification.update": "{name} 님이 게시물을 수정했습니다", "notification_requests.accept": "수락", @@ -589,12 +588,6 @@ "refresh": "새로고침", "regeneration_indicator.label": "불러오는 중…", "regeneration_indicator.sublabel": "홈 피드를 준비하고 있습니다!", - "relationship_severance_notification.purged_data": "관리자에 의해 제거되었습니다", - "relationship_severance_notification.relationships": "{count, plural, other {# 건의 관계}}", - "relationship_severance_notification.types.account_suspension": "계정이 정지되었습니다", - "relationship_severance_notification.types.domain_block": "도메인이 정지되었습니다", - "relationship_severance_notification.types.user_domain_block": "내가 이 도메인을 차단했습니다", - "relationship_severance_notification.view": "보기", "relative_time.days": "{number}일 전", "relative_time.full.days": "{number} 일 전", "relative_time.full.hours": "{number} 시간 전", diff --git a/app/javascript/mastodon/locales/lad.json b/app/javascript/mastodon/locales/lad.json index 1eb8aa4abc..dd76baaf67 100644 --- a/app/javascript/mastodon/locales/lad.json +++ b/app/javascript/mastodon/locales/lad.json @@ -571,8 +571,6 @@ "refresh": "Arefreska", "regeneration_indicator.label": "Eskargando…", "regeneration_indicator.sublabel": "Tu linya de tiempo prinsipala esta preparando!", - "relationship_severance_notification.types.user_domain_block": "Blokates este domeno", - "relationship_severance_notification.view": "Mira", "relative_time.days": "{number} d", "relative_time.full.days": "antes {number, plural, one {# diya} other {# diyas}}", "relative_time.full.hours": "antes {number, plural, one {# ora} other {# oras}}", diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json index 728485b2bc..f9ef7e242c 100644 --- a/app/javascript/mastodon/locales/lt.json +++ b/app/javascript/mastodon/locales/lt.json @@ -555,9 +555,6 @@ "refresh": "Atnaujinti", "regeneration_indicator.label": "Kraunama…", "regeneration_indicator.sublabel": "Ruošiamas tavo pagrindinis srautas!", - "relationship_severance_notification.relationships": "{count, plural, one {# santykis} few {# santykiai} many {# santykio} other {# santykių}}", - "relationship_severance_notification.types.user_domain_block": "Užblokavai šį domeną", - "relationship_severance_notification.view": "Peržiūrėti", "relative_time.days": "{number} d.", "relative_time.full.days": "prieš {number, plural, one {# dieną} few {# dienas} many {# dienos} other {# dienų}}", "relative_time.full.hours": "prieš {number, plural, one {# valandą} few {# valandas} many {# valandos} other {# valandų}}", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index 21fa46faa6..55ceb564b6 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -626,7 +626,7 @@ "status.direct_indicator": "Pieminēts privāti", "status.edit": "Labot", "status.edited_x_times": "Labots {count, plural, one {{count} reizi} other {{count} reizes}}", - "status.embed": "Iestrādāt", + "status.embed": "Iegult", "status.favourite": "Izlasē", "status.filter": "Filtrē šo ziņu", "status.filtered": "Filtrēts", @@ -634,7 +634,7 @@ "status.history.created": "{name} izveidoja {date}", "status.history.edited": "{name} laboja {date}", "status.load_more": "Ielādēt vairāk", - "status.media.open": "Noklikšķini, lai atvērtu", + "status.media.open": "Jānoklikšķina, lai atvērtu", "status.media.show": "Noklikšķini, lai parādītu", "status.media_hidden": "Multivides ir paslēpts", "status.mention": "Pieminēt @{name}", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index 1e710bda45..c47831b389 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -298,6 +298,7 @@ "filter_modal.select_filter.title": "Dit bericht filteren", "filter_modal.title.status": "Een bericht filteren", "filtered_notifications_banner.pending_requests": "Meldingen van {count, plural, =0 {niemand} one {één persoon} other {# mensen}} die je misschien kent", + "filtered_notifications_banner.private_mentions": "{count, plural, one {privébericht} other {privéberichten}}", "filtered_notifications_banner.title": "Gefilterde meldingen", "firehose.all": "Alles", "firehose.local": "Deze server", @@ -471,7 +472,11 @@ "notification.own_poll": "Jouw peiling is beëindigd", "notification.poll": "Een peiling waaraan jij hebt meegedaan is beëindigd", "notification.reblog": "{name} boostte jouw bericht", - "notification.severed_relationships": "Volgrelaties met {name} verbroken", + "notification.relationships_severance_event": "Verloren verbindingen met {name}", + "notification.relationships_severance_event.account_suspension": "Een beheerder van {from} heeft {target} geschorst, wat betekent dat je geen updates meer van hen kunt ontvangen of met hen kunt communiceren.", + "notification.relationships_severance_event.domain_block": "Een beheerder van {from} heeft {target} geblokkeerd, inclusief {followersCount} van jouw volgers en {followingCount, plural, one {# account} other {# accounts}} die jij volgt.", + "notification.relationships_severance_event.learn_more": "Meer informatie", + "notification.relationships_severance_event.user_domain_block": "Je hebt {target} geblokkeerd, waarmee je {followersCount} van je volgers en {followingCount, plural, one {# account} other {# accounts}} die jij volgt, bent verloren.", "notification.status": "{name} heeft zojuist een bericht geplaatst", "notification.update": "{name} heeft een bericht bewerkt", "notification_requests.accept": "Accepteren", @@ -590,12 +595,6 @@ "refresh": "Vernieuwen", "regeneration_indicator.label": "Aan het laden…", "regeneration_indicator.sublabel": "Jouw starttijdlijn wordt aangemaakt!", - "relationship_severance_notification.purged_data": "verwijderd door beheerders", - "relationship_severance_notification.relationships": "{count, plural, one {# volgrelatie} other {# volgrelaties}}", - "relationship_severance_notification.types.account_suspension": "Account is opgeschort", - "relationship_severance_notification.types.domain_block": "Domein is opgeschort", - "relationship_severance_notification.types.user_domain_block": "Je hebt dit domein geblokkeerd", - "relationship_severance_notification.view": "Weergeven", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# dag} other {# dagen}} geleden", "relative_time.full.hours": "{number, plural, one {# uur} other {# uur}} geleden", diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json index 7742d83e17..ab44c691d1 100644 --- a/app/javascript/mastodon/locales/nn.json +++ b/app/javascript/mastodon/locales/nn.json @@ -298,6 +298,7 @@ "filter_modal.select_filter.title": "Filtrer dette innlegget", "filter_modal.title.status": "Filtrer eit innlegg", "filtered_notifications_banner.pending_requests": "Varsel frå {count, plural, =0 {ingen} one {ein person} other {# folk}} du kanskje kjenner", + "filtered_notifications_banner.private_mentions": "{count, plural, one {privat omtale} other {private omtaler}}", "filtered_notifications_banner.title": "Filtrerte varslingar", "firehose.all": "Alle", "firehose.local": "Denne tenaren", @@ -471,7 +472,11 @@ "notification.own_poll": "Rundspørjinga di er ferdig", "notification.poll": "Ei rundspørjing du har røysta i er ferdig", "notification.reblog": "{name} framheva innlegget ditt", - "notification.severed_relationships": "Forholda med {name} er brotne", + "notification.relationships_severance_event": "Tapte samband med {name}", + "notification.relationships_severance_event.account_suspension": "Ein administrator på {from} har utvist {target}, som tyder at du ikkje lenger får oppdateringar frå dei eller kan samhandla med dei.", + "notification.relationships_severance_event.domain_block": "Ein administrator på {from} har blokkert {target}, inkludert {followersCount} av fylgjarane dine og {followingCount, plural, one {# konto} other {# kontoar}} du fylgjer.", + "notification.relationships_severance_event.learn_more": "Lær meir", + "notification.relationships_severance_event.user_domain_block": "Du har blokkert {target}, fjerna {followersCount} av fylgjarane dine og {followingCount, plural, one {# konto} other {# kontoar}} du fylgjer.", "notification.status": "{name} la nettopp ut", "notification.update": "{name} redigerte eit innlegg", "notification_requests.accept": "Godkjenn", @@ -484,6 +489,8 @@ "notifications.column_settings.admin.sign_up": "Nyleg registrerte:", "notifications.column_settings.alert": "Skrivebordsvarsel", "notifications.column_settings.favourite": "Favorittar:", + "notifications.column_settings.filter_bar.advanced": "Vis alle kategoriar", + "notifications.column_settings.filter_bar.category": "Snøggfilterline", "notifications.column_settings.follow": "Nye fylgjarar:", "notifications.column_settings.follow_request": "Ny fylgjarførespurnader:", "notifications.column_settings.mention": "Omtalar:", @@ -588,12 +595,6 @@ "refresh": "Oppdater", "regeneration_indicator.label": "Lastar…", "regeneration_indicator.sublabel": "Heimetidslina di vert førebudd!", - "relationship_severance_notification.purged_data": "sletta av administratorar", - "relationship_severance_notification.relationships": "{count, plural, one {# forhold} other {# forhold}}", - "relationship_severance_notification.types.account_suspension": "Kontoen er utvist", - "relationship_severance_notification.types.domain_block": "Domenet er utestengt", - "relationship_severance_notification.types.user_domain_block": "Du blokkerte dette domenet", - "relationship_severance_notification.view": "Sjå", "relative_time.days": "{number}dg", "relative_time.full.days": "{number, plural, one {# dag} other {# dagar}} sidan", "relative_time.full.hours": "{number, plural, one {# time} other {# timar}} sidan", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index 3ee134d6c5..718aa32d2e 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -298,6 +298,7 @@ "filter_modal.select_filter.title": "Filtruj ten wpis", "filter_modal.title.status": "Filtruj wpis", "filtered_notifications_banner.pending_requests": "Powiadomienia od {count, plural, =0 {żadnej osoby którą możesz znać} one {# osoby którą możesz znać} other {# osób które możesz znać}}", + "filtered_notifications_banner.private_mentions": "{count, plural, one {prywatna wzmianka} few {prywatne wzmianki} other {prywatnych wzmianek}}", "filtered_notifications_banner.title": "Powiadomienia filtrowane", "firehose.all": "Wszystko", "firehose.local": "Ten serwer", @@ -471,7 +472,10 @@ "notification.own_poll": "Twoje głosowanie zakończyło się", "notification.poll": "Głosowanie w którym brałeś(-aś) udział zakończyło się", "notification.reblog": "Twój post został podbity przez {name}", - "notification.severed_relationships": "Zerwano związki z {name}", + "notification.relationships_severance_event": "Utracone związki z {name}", + "notification.relationships_severance_event.account_suspension": "Administrator z {from} zawiesił {target}, więc nie dostaniesz wieści ani nie wejdziesz w interakcje z użytkownikami z tego serwera.", + "notification.relationships_severance_event.domain_block": "Administrator z {from} zablokował {target}, w tym {followersCount} z Twoich obserwujących i {followingCount, plural, one {# konto} other {# konta}} które obserwujesz.", + "notification.relationships_severance_event.learn_more": "Dowiedz się więcej", "notification.status": "{name} opublikował(a) nowy wpis", "notification.update": "{name} edytował(a) post", "notification_requests.accept": "Akceptuj", @@ -590,12 +594,6 @@ "refresh": "Odśwież", "regeneration_indicator.label": "Ładuję…", "regeneration_indicator.sublabel": "Twoja oś czasu jest przygotowywana!", - "relationship_severance_notification.purged_data": "wyczyszczone przez administratorów", - "relationship_severance_notification.relationships": "{count, plural, one {# związek} few {# związki} other {# związków}}", - "relationship_severance_notification.types.account_suspension": "Konto zostało zawieszone", - "relationship_severance_notification.types.domain_block": "Domena została zawieszona", - "relationship_severance_notification.types.user_domain_block": "Domena przez ciebie blokowana", - "relationship_severance_notification.view": "Pokaż", "relative_time.days": "{number} dni", "relative_time.full.days": "{number, plural, one {# dzień} few {# dni} many {# dni} other {# dni}} temu", "relative_time.full.hours": "{number, plural, one {# godzinę} few {# godziny} many {# godzin} other {# godzin}} temu", diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json index 6732973d5a..3f7f198ef9 100644 --- a/app/javascript/mastodon/locales/pt-PT.json +++ b/app/javascript/mastodon/locales/pt-PT.json @@ -471,7 +471,6 @@ "notification.own_poll": "A sua votação terminou", "notification.poll": "Uma votação em que participaste chegou ao fim", "notification.reblog": "{name} reforçou a tua publicação", - "notification.severed_relationships": "Relações com {name} cessadas", "notification.status": "{name} acabou de publicar", "notification.update": "{name} editou uma publicação", "notification_requests.accept": "Aceitar", @@ -590,12 +589,6 @@ "refresh": "Actualizar", "regeneration_indicator.label": "A carregar…", "regeneration_indicator.sublabel": "A tua página inicial está a ser preparada!", - "relationship_severance_notification.purged_data": "purgado pelos administradores", - "relationship_severance_notification.relationships": "{count, plural,one {# relação} other {# relações}}", - "relationship_severance_notification.types.account_suspension": "A conta foi suspensa", - "relationship_severance_notification.types.domain_block": "O domínio foi suspenso", - "relationship_severance_notification.types.user_domain_block": "Bloqueou este domínio", - "relationship_severance_notification.view": "Visualizar", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural,one {# dia} other {# dias}} atrás", "relative_time.full.hours": "{number, plural,one {# hora}other {# horas}} atrás", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index 0ab1475699..d143fda52b 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -445,6 +445,7 @@ "notification.own_poll": "Vaša anketa sa skončila", "notification.poll": "Anketa, v ktorej ste hlasovali, sa skončila", "notification.reblog": "{name} zdieľa váš príspevok", + "notification.relationships_severance_event.learn_more": "Zisti viac", "notification.status": "{name} uverejňuje niečo nové", "notification.update": "{name} upravuje príspevok", "notification_requests.accept": "Prijať", @@ -557,8 +558,6 @@ "refresh": "Obnoviť", "regeneration_indicator.label": "Načítavanie…", "regeneration_indicator.sublabel": "Váš domovský kanál sa pripravuje.", - "relationship_severance_notification.types.user_domain_block": "Túto doménu si zablokoval/a", - "relationship_severance_notification.view": "Zobraziť", "relative_time.days": "{number} dní", "relative_time.full.days": "Pred {number, plural, one {# dňom} other {# dňami}}", "relative_time.full.hours": "Pred {number, plural, one {# hodinou} other {# hodinami}}", diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json index d31b410804..80b52ac100 100644 --- a/app/javascript/mastodon/locales/sl.json +++ b/app/javascript/mastodon/locales/sl.json @@ -471,7 +471,6 @@ "notification.own_poll": "Vaša anketa je zaključena", "notification.poll": "Anketa, v kateri ste sodelovali, je zaključena", "notification.reblog": "{name} je izpostavila/a vašo objavo", - "notification.severed_relationships": "Veze z {name} prekinjene", "notification.status": "{name} je pravkar objavil/a", "notification.update": "{name} je uredil(a) objavo", "notification_requests.accept": "Sprejmi", @@ -484,6 +483,8 @@ "notifications.column_settings.admin.sign_up": "Novi vpisi:", "notifications.column_settings.alert": "Namizna obvestila", "notifications.column_settings.favourite": "Priljubljeni:", + "notifications.column_settings.filter_bar.advanced": "Prikaži vse kategorije", + "notifications.column_settings.filter_bar.category": "Vrstica za hitro filtriranje", "notifications.column_settings.follow": "Novi sledilci:", "notifications.column_settings.follow_request": "Nove prošnje za sledenje:", "notifications.column_settings.mention": "Omembe:", @@ -588,12 +589,6 @@ "refresh": "Osveži", "regeneration_indicator.label": "Nalaganje …", "regeneration_indicator.sublabel": "Vaš domači vir se pripravlja!", - "relationship_severance_notification.purged_data": "očistili skrbniki", - "relationship_severance_notification.relationships": "{count, plural, one {# veza} two {# vezi} few {# veze} other {# vez}}", - "relationship_severance_notification.types.account_suspension": "Račun je bil suspendiran", - "relationship_severance_notification.types.domain_block": "Domena je bila suspendirana", - "relationship_severance_notification.types.user_domain_block": "Domeno ste blokirali", - "relationship_severance_notification.view": "Pogled", "relative_time.days": "{number} d", "relative_time.full.days": "{number, plural, one {pred # dnem} two {pred # dnevoma} few {pred # dnevi} other {pred # dnevi}}", "relative_time.full.hours": "{number, plural, one {pred # uro} two {pred # urama} few {pred # urami} other {pred # urami}}", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index d69231d823..026e198206 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -297,6 +297,7 @@ "filter_modal.select_filter.subtitle": "Përdorni një kategori ekzistuese, ose krijoni një të re", "filter_modal.select_filter.title": "Filtroje këtë postim", "filter_modal.title.status": "Filtroni një postim", + "filtered_notifications_banner.private_mentions": "{count, plural, one {përmendje private} other {përmendje private}}", "filtered_notifications_banner.title": "Njoftime të filtruar", "firehose.all": "Krejt", "firehose.local": "Këtë shërbyes", @@ -470,7 +471,11 @@ "notification.own_poll": "Pyetësori juaj ka përfunduar", "notification.poll": "Ka përfunduar një pyetësor ku keni votuar", "notification.reblog": "{name} përforcoi mesazhin tuaj", - "notification.severed_relationships": "Marrëdhëniet me {name} u ndërprenë", + "notification.relationships_severance_event": "Lidhje të humbura me {name}", + "notification.relationships_severance_event.account_suspension": "Një përgjegjës nga {from} ka pezulluar {target}, që do të thotë se s’mund të merrni më përditësime prej tij, apo të ndërveproni me të.", + "notification.relationships_severance_event.domain_block": "Një përgjegjës nga {from} ka bllokuar {target}, përfshi {followersCount} të ndjekësve tuaj dhe {followingCount, plural, one {# llogari} other {# llogari}} që ndiqni.", + "notification.relationships_severance_event.learn_more": "Mësoni më tepër", + "notification.relationships_severance_event.user_domain_block": "Keni bllokuar {target}, duke hequr {followersCount} nga ndjekësit tuaj dhe {followingCount, plural, one {# llogari} other {# llogari}} që ndiqni.", "notification.status": "{name} sapo postoi", "notification.update": "{name} përpunoi një postim", "notification_requests.accept": "Pranoje", @@ -587,12 +592,6 @@ "refresh": "Rifreskoje", "regeneration_indicator.label": "Po ngarkohet…", "regeneration_indicator.sublabel": "Prurja juaj vetjake po përgatitet!", - "relationship_severance_notification.purged_data": "spastruar nga përgjegjës", - "relationship_severance_notification.relationships": "{count, plural, one {# marrëdhënie} other {# marrëdhënie}}", - "relationship_severance_notification.types.account_suspension": "Llogaria është pezulluar", - "relationship_severance_notification.types.domain_block": "Përkatësia është pezulluar", - "relationship_severance_notification.types.user_domain_block": "E bllokuat këtë përkatësi", - "relationship_severance_notification.view": "Shiheni", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# ditë} other {# ditë}} më parë", "relative_time.full.hours": "{number, plural, one {# orë} other {# orë}} më parë", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index b28b4826d4..770daf3786 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -459,6 +459,7 @@ "notification.own_poll": "Din röstning har avslutats", "notification.poll": "En omröstning du röstat i har avslutats", "notification.reblog": "{name} boostade ditt inlägg", + "notification.relationships_severance_event.learn_more": "Läs mer", "notification.status": "{name} publicerade just ett inlägg", "notification.update": "{name} redigerade ett inlägg", "notification_requests.accept": "Godkänn", @@ -573,11 +574,6 @@ "refresh": "Läs om", "regeneration_indicator.label": "Laddar…", "regeneration_indicator.sublabel": "Ditt hemmaflöde förbereds!", - "relationship_severance_notification.purged_data": "rensad av administratörer", - "relationship_severance_notification.types.account_suspension": "Ditt konto har blivit avstängt", - "relationship_severance_notification.types.domain_block": "Domänen har stängts av", - "relationship_severance_notification.types.user_domain_block": "Du blockerade denna domän", - "relationship_severance_notification.view": "Visa", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# dag} other {# dagar}} sedan", "relative_time.full.hours": "{number, plural, one {# timme} other {# timmar}} sedan", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index 4490f038ca..952ed5adf5 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -298,6 +298,7 @@ "filter_modal.select_filter.title": "กรองโพสต์นี้", "filter_modal.title.status": "กรองโพสต์", "filtered_notifications_banner.pending_requests": "การแจ้งเตือนจาก {count, plural, =0 {ไม่มีใคร} other {# คน}} ที่คุณอาจรู้จัก", + "filtered_notifications_banner.private_mentions": "{count, plural, other {การกล่าวถึงแบบส่วนตัว}}", "filtered_notifications_banner.title": "การแจ้งเตือนที่กรองอยู่", "firehose.all": "ทั้งหมด", "firehose.local": "เซิร์ฟเวอร์นี้", @@ -471,7 +472,11 @@ "notification.own_poll": "การสำรวจความคิดเห็นของคุณได้สิ้นสุดแล้ว", "notification.poll": "การสำรวจความคิดเห็นที่คุณได้ลงคะแนนได้สิ้นสุดแล้ว", "notification.reblog": "{name} ได้ดันโพสต์ของคุณ", - "notification.severed_relationships": "ตัดขาดความสัมพันธ์กับ {name} แล้ว", + "notification.relationships_severance_event": "สูญเสียการเชื่อมต่อกับ {name}", + "notification.relationships_severance_event.account_suspension": "ผู้ดูแลจาก {from} ได้ระงับ {target} ซึ่งหมายความว่าคุณจะไม่สามารถรับการอัปเดตจากเขาหรือโต้ตอบกับเขาได้อีกต่อไป", + "notification.relationships_severance_event.domain_block": "ผู้ดูแลจาก {from} ได้ปิดกั้น {target} รวมถึง {followersCount} ผู้ติดตามของคุณและ {followingCount, plural, other {# บัญชี}}ที่คุณติดตาม", + "notification.relationships_severance_event.learn_more": "เรียนรู้เพิ่มเติม", + "notification.relationships_severance_event.user_domain_block": "คุณได้ปิดกั้น {target} เอา {followersCount} ผู้ติดตามของคุณและ {followingCount, plural, other {# บัญชี}}ที่คุณติดตามออก", "notification.status": "{name} เพิ่งโพสต์", "notification.update": "{name} ได้แก้ไขโพสต์", "notification_requests.accept": "ยอมรับ", @@ -590,12 +595,6 @@ "refresh": "รีเฟรช", "regeneration_indicator.label": "กำลังโหลด…", "regeneration_indicator.sublabel": "กำลังเตรียมฟีดหน้าแรกของคุณ!", - "relationship_severance_notification.purged_data": "ล้างข้อมูลโดยผู้ดูแล", - "relationship_severance_notification.relationships": "{count, plural, other {# ความสัมพันธ์}}", - "relationship_severance_notification.types.account_suspension": "ระงับบัญชีแล้ว", - "relationship_severance_notification.types.domain_block": "ระงับโดเมนแล้ว", - "relationship_severance_notification.types.user_domain_block": "คุณได้ปิดกั้นโดเมนนี้", - "relationship_severance_notification.view": "ดู", "relative_time.days": "{number} วัน", "relative_time.full.days": "{number, plural, other {# วัน}}ที่แล้ว", "relative_time.full.hours": "{number, plural, other {# ชั่วโมง}}ที่แล้ว", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 12d82c70ec..8dcd2d202d 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -298,6 +298,7 @@ "filter_modal.select_filter.title": "Bu gönderiyi süzgeçle", "filter_modal.title.status": "Bir gönderi süzgeçle", "filtered_notifications_banner.pending_requests": "Bildiğiniz {count, plural, =0 {hiç kimseden} one {bir kişiden} other {# kişiden}} bildirim", + "filtered_notifications_banner.private_mentions": "{count, plural, one {özel değinme} other {özel değinme}}", "filtered_notifications_banner.title": "Filtrelenmiş bildirimler", "firehose.all": "Tümü", "firehose.local": "Bu sunucu", @@ -471,7 +472,11 @@ "notification.own_poll": "Anketiniz sona erdi", "notification.poll": "Oy verdiğiniz bir anket sona erdi", "notification.reblog": "{name} gönderini yeniden paylaştı", - "notification.severed_relationships": "{name} ile ilişkiler koptu", + "notification.relationships_severance_event": "{name} ile bağlantılar koptu", + "notification.relationships_severance_event.account_suspension": "{from} yöneticisi, {target} askıya aldı, bunun anlamı onlardan artık güncelleme alamayacak veya etkileşemeyeceksiniz demektir.", + "notification.relationships_severance_event.domain_block": "{from} yöneticisi {target} engelledi, {followersCount} takipçiniz ve takip ettiğiniz {followingCount, plural, one {# hesap} other {# hesap}} buna dahil.", + "notification.relationships_severance_event.learn_more": "Daha fazlası", + "notification.relationships_severance_event.user_domain_block": "{target} engellediniz, takipçilerinizden {followersCount} ve takip eden {followingCount, plural, one {# hesap} other {# hesap}} kaldırılıyor.", "notification.status": "{name} az önce gönderdi", "notification.update": "{name} bir gönderiyi düzenledi", "notification_requests.accept": "Onayla", @@ -590,12 +595,6 @@ "refresh": "Yenile", "regeneration_indicator.label": "Yükleniyor…", "regeneration_indicator.sublabel": "Ana akışın hazırlanıyor!", - "relationship_severance_notification.purged_data": "yöneticiler tarafından temizlendi", - "relationship_severance_notification.relationships": "{count, plural, one {# ilişki} other {# ilişki}}", - "relationship_severance_notification.types.account_suspension": "Hesap askıya alındı", - "relationship_severance_notification.types.domain_block": "Alan adı askıya alındı", - "relationship_severance_notification.types.user_domain_block": "Bu alan adını engellediniz", - "relationship_severance_notification.view": "Görüntüle", "relative_time.days": "{number}d", "relative_time.full.days": "{number, plural, one {# gün} other {# gün}} önce", "relative_time.full.hours": "{number, plural, one {# saat} other {# saat}} önce", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index f2e58f0937..0648fde5b3 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -460,7 +460,9 @@ "notification.own_poll": "Ваше опитування завершилося", "notification.poll": "Опитування, у якому ви голосували, скінчилося", "notification.reblog": "{name} поширює ваш допис", - "notification.severed_relationships": "Зв'язки з {name} розірвані", + "notification.relationships_severance_event": "Втрачено з'єднання з {name}", + "notification.relationships_severance_event.account_suspension": "Адміністратор з {from} призупинив {target}, що означає, що ви більше не можете отримувати оновлення від них або взаємодіяти з ними.", + "notification.relationships_severance_event.learn_more": "Дізнатися більше", "notification.status": "{name} щойно дописує", "notification.update": "{name} змінює допис", "notification_requests.accept": "Прийняти", @@ -575,12 +577,6 @@ "refresh": "Оновити", "regeneration_indicator.label": "Завантаження…", "regeneration_indicator.sublabel": "Хвилинку, ми готуємо вашу стрічку!", - "relationship_severance_notification.purged_data": "очищено адміністраторами", - "relationship_severance_notification.relationships": "{count, plural, one {# зв'язок} few {# зв'язки} many {# зв'язків} other {# зв'язок}}", - "relationship_severance_notification.types.account_suspension": "Обліковий запис призупинено", - "relationship_severance_notification.types.domain_block": "Домен призупинено", - "relationship_severance_notification.types.user_domain_block": "Ви заблокували цей домен", - "relationship_severance_notification.view": "Вигляд", "relative_time.days": "{number}д", "relative_time.full.days": "{number, plural, one {# день} few {# дні} other {# днів}} тому", "relative_time.full.hours": "{number, plural, one {# година} few {# години} other {# годин}} тому", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 9b09d21450..58c025494c 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -298,6 +298,7 @@ "filter_modal.select_filter.title": "Lọc tút này", "filter_modal.title.status": "Lọc một tút", "filtered_notifications_banner.pending_requests": "Thông báo từ {count, plural, =0 {không ai} other {# người}} bạn có thể biết", + "filtered_notifications_banner.private_mentions": "{count, plural, other {lượt nhắc}}", "filtered_notifications_banner.title": "Thông báo đã lọc", "firehose.all": "Toàn bộ", "firehose.local": "Máy chủ này", @@ -471,7 +472,11 @@ "notification.own_poll": "Cuộc bình chọn của bạn đã kết thúc", "notification.poll": "Cuộc bình chọn đã kết thúc", "notification.reblog": "{name} đăng lại tút của bạn", - "notification.severed_relationships": "Mối quan hệ với {name} bị cắt đứt", + "notification.relationships_severance_event": "Mất kết nối với {name}", + "notification.relationships_severance_event.account_suspension": "Quản trị viên {from} đã vô hiệu hóa {target}, điều này có nghĩa là bạn không còn có thể nhận được cập nhật từ họ hoặc tương tác với họ nữa.", + "notification.relationships_severance_event.domain_block": "Quản trị viên {from} đã chặn {target}, bao gồm {followersCount} người theo dõi bạn và {followingCount, plural, other {# người}} mà bạn theo dõi.", + "notification.relationships_severance_event.learn_more": "Tìm hiểu thêm", + "notification.relationships_severance_event.user_domain_block": "Bạn đã chặn {target}, xóa {followersCount} người theo dõi bạn và {followingCount, plural, other {# người}} theo dõi bạn.", "notification.status": "{name} đăng tút mới", "notification.update": "{name} đã sửa tút", "notification_requests.accept": "Chấp nhận", @@ -484,6 +489,8 @@ "notifications.column_settings.admin.sign_up": "Người mới tham gia:", "notifications.column_settings.alert": "Báo trên máy tính", "notifications.column_settings.favourite": "Lượt thích:", + "notifications.column_settings.filter_bar.advanced": "Toàn bộ", + "notifications.column_settings.filter_bar.category": "Thanh lọc nhanh", "notifications.column_settings.follow": "Người theo dõi:", "notifications.column_settings.follow_request": "Yêu cầu theo dõi:", "notifications.column_settings.mention": "Lượt nhắc đến:", @@ -588,12 +595,6 @@ "refresh": "Làm mới", "regeneration_indicator.label": "Đang tải…", "regeneration_indicator.sublabel": "Trang chủ của bạn đang được cập nhật!", - "relationship_severance_notification.purged_data": "bị quản trị viên xóa", - "relationship_severance_notification.relationships": "{count, plural, other {# mối quan hệ}}", - "relationship_severance_notification.types.account_suspension": "Người này đã bị vô hiệu hóa", - "relationship_severance_notification.types.domain_block": "Máy chủ này đã bị vô hiệu hóa", - "relationship_severance_notification.types.user_domain_block": "Bạn đã chặn máy chủ này", - "relationship_severance_notification.view": "Chi tiết", "relative_time.days": "{number} ngày", "relative_time.full.days": "{number, plural, other {# ngày}}", "relative_time.full.hours": "{number, plural, other {# giờ}}", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 52a98d0005..ca82c8d7c0 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -298,6 +298,7 @@ "filter_modal.select_filter.title": "过滤此嘟文", "filter_modal.title.status": "过滤一条嘟文", "filtered_notifications_banner.pending_requests": "来自你可能认识的 {count, plural, =0 {0 个人} other {# 个人}}的通知", + "filtered_notifications_banner.private_mentions": "{count, plural, other {私下提及}}", "filtered_notifications_banner.title": "通知(已过滤)", "firehose.all": "全部", "firehose.local": "此服务器", @@ -471,7 +472,11 @@ "notification.own_poll": "你的投票已经结束", "notification.poll": "你参与的一个投票已经结束", "notification.reblog": "{name} 转发了你的嘟文", - "notification.severed_relationships": "与 {name} 的关系已被切断", + "notification.relationships_severance_event": "与 {name} 的联系已断开", + "notification.relationships_severance_event.account_suspension": "一名来自 {from} 的管理员已经封禁了{target},这意味着你将无法再收到他们的更新或与他们互动。", + "notification.relationships_severance_event.domain_block": "一名来自 {from} 的管理员已经屏蔽了 {target},其中包括你的 {followersCount} 个关注者和 {followingCount, plural, other {# 个关注}}。", + "notification.relationships_severance_event.learn_more": "了解更多", + "notification.relationships_severance_event.user_domain_block": "你已经屏蔽了 {target},移除了你的 {followersCount} 个关注者和 {followingCount, plural, other {# 个关注}}。", "notification.status": "{name} 刚刚发布嘟文", "notification.update": "{name} 编辑了嘟文", "notification_requests.accept": "接受", @@ -590,12 +595,6 @@ "refresh": "刷新", "regeneration_indicator.label": "加载中…", "regeneration_indicator.sublabel": "你的主页动态正在准备中!", - "relationship_severance_notification.purged_data": "被管理员清除", - "relationship_severance_notification.relationships": "{count, plural, other {# 条关系}}", - "relationship_severance_notification.types.account_suspension": "账户已被封禁", - "relationship_severance_notification.types.domain_block": "域名已被封禁", - "relationship_severance_notification.types.user_domain_block": "你屏蔽了这个域名", - "relationship_severance_notification.view": "查看", "relative_time.days": "{number} 天前", "relative_time.full.days": "{number, plural, one {# 天} other {# 天}}前", "relative_time.full.hours": "{number, plural, one {# 小时} other {# 小时}}前", diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json index 68be293df9..d618b68e2d 100644 --- a/app/javascript/mastodon/locales/zh-HK.json +++ b/app/javascript/mastodon/locales/zh-HK.json @@ -471,7 +471,6 @@ "notification.own_poll": "你的投票已結束", "notification.poll": "你參與過的一個投票已經結束", "notification.reblog": "{name} 轉推你的文章", - "notification.severed_relationships": "已斷絕與 {name} 的關係", "notification.status": "{name} 剛發表了文章", "notification.update": "{name} 編輯了帖文", "notification_requests.accept": "接受", @@ -588,12 +587,6 @@ "refresh": "重新整理", "regeneration_indicator.label": "載入中……", "regeneration_indicator.sublabel": "你的主頁時間軸正在準備中!", - "relationship_severance_notification.purged_data": "已被管理員清除", - "relationship_severance_notification.relationships": "{count, plural, one {# 個關係} other {# 個關係}}", - "relationship_severance_notification.types.account_suspension": "帳號已被停權", - "relationship_severance_notification.types.domain_block": "網域已被停權", - "relationship_severance_notification.types.user_domain_block": "你封鎖了此網域", - "relationship_severance_notification.view": "查看", "relative_time.days": "{number}日前", "relative_time.full.days": "{number, plural, one {# 天} other {# 天}}前", "relative_time.full.hours": "{number, plural, one {# 小時} other {# 小時}}前", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index d8e1e1e32b..22f5420f83 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -298,6 +298,7 @@ "filter_modal.select_filter.title": "過濾此嘟文", "filter_modal.title.status": "過濾一則嘟文", "filtered_notifications_banner.pending_requests": "來自您可能認識的 {count, plural, =0 {0 人} other {# 人}} 之通知", + "filtered_notifications_banner.private_mentions": "{count, plural, other {# 則私訊}}", "filtered_notifications_banner.title": "已過濾之通知", "firehose.all": "全部", "firehose.local": "本站", @@ -471,7 +472,11 @@ "notification.own_poll": "您的投票已結束", "notification.poll": "您曾投過的投票已經結束", "notification.reblog": "{name} 已轉嘟您的嘟文", - "notification.severed_relationships": "已斷絕與 {name} 之服務關係", + "notification.relationships_severance_event": "與 {name} 失去連結", + "notification.relationships_severance_event.account_suspension": "{from} 之管理員已將 {target} 停權,意味著您將不再收到來自他們的更新或與之互動。", + "notification.relationships_severance_event.domain_block": "{from} 之管理員已將 {target} 封鎖,包含 {followersCount} 名您的跟隨者及 {followingCount, plural, other {#}} 名您跟隨的帳號。", + "notification.relationships_severance_event.learn_more": "了解更多", + "notification.relationships_severance_event.user_domain_block": "您已將 {target} 封鎖,將移除 {followersCount} 名您的跟隨者及 {followingCount, plural, other {#}} 名您跟隨的帳號。", "notification.status": "{name} 剛剛嘟文", "notification.update": "{name} 已編輯嘟文", "notification_requests.accept": "接受", @@ -590,12 +595,6 @@ "refresh": "重新整理", "regeneration_indicator.label": "載入中…", "regeneration_indicator.sublabel": "您的首頁時間軸正在準備中!", - "relationship_severance_notification.purged_data": "已被管理員清除", - "relationship_severance_notification.relationships": "{count, plural, other {# 個服務關係}}", - "relationship_severance_notification.types.account_suspension": "該帳號已被停權", - "relationship_severance_notification.types.domain_block": "該網域已被停權", - "relationship_severance_notification.types.user_domain_block": "您已封鎖此網域", - "relationship_severance_notification.view": "檢視", "relative_time.days": "{number} 天", "relative_time.full.days": "{number, plural, other {# 天}}前", "relative_time.full.hours": "{number, plural, one {# 小時} other {# 小時}}前", diff --git a/app/lib/themes.rb b/app/lib/themes.rb index 243ffb9ab9..4010d84435 100644 --- a/app/lib/themes.rb +++ b/app/lib/themes.rb @@ -11,6 +11,6 @@ class Themes end def names - @conf.keys + ['system'] + @conf.keys end end diff --git a/app/mailers/admin_mailer.rb b/app/mailers/admin_mailer.rb index 8990b2a847..8dd7b6e59f 100644 --- a/app/mailers/admin_mailer.rb +++ b/app/mailers/admin_mailer.rb @@ -46,12 +46,16 @@ class AdminMailer < ApplicationMailer end def new_software_updates + @software_updates = SoftwareUpdate.all.to_a.sort_by(&:gem_version) + locale_for_account(@me) do mail subject: default_i18n_subject(instance: @instance) end end def new_critical_software_updates + @software_updates = SoftwareUpdate.where(urgent: true).to_a.sort_by(&:gem_version) + headers['Priority'] = 'urgent' headers['X-Priority'] = '1' headers['Importance'] = 'high' diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index 96fcd51efa..f8c1c9a8d0 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -5,10 +5,11 @@ class UserMailer < Devise::Mailer helper :accounts helper :application - helper :instance - helper :statuses + helper :mascot helper :formatting + helper :instance helper :routing + helper :statuses before_action :set_instance diff --git a/app/models/account.rb b/app/models/account.rb index 322a29248e..3739709a13 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -132,12 +132,13 @@ class Account < ApplicationRecord scope :auditable, -> { where(id: Admin::ActionLog.select(:account_id).distinct) } scope :searchable, -> { without_unapproved.without_suspended.where(moved_to_account_id: nil) } scope :discoverable, -> { searchable.without_silenced.where(discoverable: true).joins(:account_stat) } - scope :by_recent_status, -> { includes(:account_stat).merge(AccountStat.order('last_status_at DESC NULLS LAST')).references(:account_stat) } + scope :by_recent_status, -> { includes(:account_stat).merge(AccountStat.by_recent_status).references(:account_stat) } scope :by_recent_activity, -> { left_joins(:user, :account_stat).order(coalesced_activity_timestamps.desc).order(id: :desc) } scope :popular, -> { order('account_stats.followers_count desc') } scope :by_domain_and_subdomains, ->(domain) { where(domain: Instance.by_domain_and_subdomains(domain).select(:domain)) } scope :not_excluded_by_account, ->(account) { where.not(id: account.excluded_from_timeline_account_ids) } scope :not_domain_blocked_by_account, ->(account) { where(arel_table[:domain].eq(nil).or(arel_table[:domain].not_in(account.excluded_from_timeline_domains))) } + scope :dormant, -> { joins(:account_stat).merge(AccountStat.without_recent_activity) } after_update_commit :trigger_update_webhooks diff --git a/app/models/account_stat.rb b/app/models/account_stat.rb index 0fea7732e9..14aa7ef800 100644 --- a/app/models/account_stat.rb +++ b/app/models/account_stat.rb @@ -20,6 +20,9 @@ class AccountStat < ApplicationRecord belongs_to :account, inverse_of: :account_stat + scope :by_recent_status, -> { order(arel_table[:last_status_at].desc.nulls_last) } + scope :without_recent_activity, -> { where(last_status_at: [nil, ...1.month.ago]) } + update_index('accounts', :account) def following_count diff --git a/app/models/admin/import.rb b/app/models/admin/import.rb index 0fd4bdb824..c12c9a86b9 100644 --- a/app/models/admin/import.rb +++ b/app/models/admin/import.rb @@ -30,12 +30,14 @@ class Admin::Import csv_converter = lambda do |field, field_info| case field_info.header - when '#domain', '#public_comment' + when '#domain' + field&.downcase&.strip + when '#public_comment' field&.strip when '#severity' - field&.strip&.to_sym + field&.downcase&.strip&.to_sym when '#reject_media', '#reject_reports', '#obfuscate' - ActiveModel::Type::Boolean.new.cast(field) + ActiveModel::Type::Boolean.new.cast(field&.downcase) else field end diff --git a/app/models/form/import.rb b/app/models/form/import.rb index fc83d9c58c..3cc4af064f 100644 --- a/app/models/form/import.rb +++ b/app/models/form/import.rb @@ -111,12 +111,14 @@ class Form::Import csv_converter = lambda do |field, field_info| case field_info.header when 'Show boosts', 'Notify on new posts', 'Hide notifications' - ActiveModel::Type::Boolean.new.cast(field) + ActiveModel::Type::Boolean.new.cast(field&.downcase) when 'Languages' field&.split(',')&.map(&:strip)&.presence when 'Account address' field.strip.gsub(/\A@/, '') - when '#domain', '#uri', 'List name' + when '#domain' + field&.strip&.downcase + when '#uri', 'List name' field.strip else field diff --git a/app/models/preview_card_trend.rb b/app/models/preview_card_trend.rb index da2ea2f8c8..58155971a3 100644 --- a/app/models/preview_card_trend.rb +++ b/app/models/preview_card_trend.rb @@ -15,5 +15,7 @@ class PreviewCardTrend < ApplicationRecord include RankedTrend belongs_to :preview_card + scope :allowed, -> { where(allowed: true) } + scope :not_allowed, -> { where(allowed: false) } end diff --git a/app/models/relationship_filter.rb b/app/models/relationship_filter.rb index d686f9ed89..828610e46a 100644 --- a/app/models/relationship_filter.rb +++ b/app/models/relationship_filter.rb @@ -114,7 +114,7 @@ class RelationshipFilter def activity_scope(value) case value when 'dormant' - Account.joins(:account_stat).where(account_stat: { last_status_at: [nil, ...1.month.ago] }) + Account.dormant else raise Mastodon::InvalidParameterError, "Unknown activity: #{value}" end diff --git a/app/models/trends/links.rb b/app/models/trends/links.rb index 76e50aa7a2..0650c4109d 100644 --- a/app/models/trends/links.rb +++ b/app/models/trends/links.rb @@ -86,8 +86,8 @@ class Trends::Links < Trends::Base def request_review PreviewCardTrend.pluck('distinct language').flat_map do |language| - score_at_threshold = PreviewCardTrend.where(language: language, allowed: true).by_rank.ranked_below(options[:review_threshold]).first&.score || 0 - preview_card_trends = PreviewCardTrend.where(language: language, allowed: false).joins(:preview_card) + score_at_threshold = PreviewCardTrend.where(language: language).allowed.by_rank.ranked_below(options[:review_threshold]).first&.score || 0 + preview_card_trends = PreviewCardTrend.where(language: language).not_allowed.joins(:preview_card) preview_card_trends.filter_map do |trend| preview_card = trend.preview_card diff --git a/app/services/after_block_domain_from_account_service.rb b/app/services/after_block_domain_from_account_service.rb index adb17845cc..fc5dc65681 100644 --- a/app/services/after_block_domain_from_account_service.rb +++ b/app/services/after_block_domain_from_account_service.rb @@ -12,6 +12,7 @@ class AfterBlockDomainFromAccountService < BaseService @domain_block_event = nil clear_notifications! + clear_notification_permissions! remove_follows! reject_existing_followers! reject_pending_follow_requests! @@ -31,6 +32,10 @@ class AfterBlockDomainFromAccountService < BaseService Notification.where(account: @account).where(from_account: Account.where(domain: @domain)).in_batches.delete_all end + def clear_notification_permissions! + NotificationPermission.where(account: @account, from_account: Account.where(domain: @domain)).in_batches.delete_all + end + def reject_existing_followers! @account.passive_relationships.where(account: Account.where(domain: @domain)).includes(:account).reorder(nil).in_batches do |follows| domain_block_event.import_from_passive_follows!(follows) diff --git a/app/services/block_service.rb b/app/services/block_service.rb index 266a0f4b9d..98229d98c0 100644 --- a/app/services/block_service.rb +++ b/app/services/block_service.rb @@ -10,6 +10,8 @@ class BlockService < BaseService UnfollowService.new.call(target_account, account) if target_account.following?(account) RejectFollowService.new.call(target_account, account) if target_account.requested?(account) + NotificationPermission.where(account: account, from_account: target_account).destroy_all + block = account.block!(target_account) BlockWorker.perform_async(account.id, target_account.id) diff --git a/app/views/admin/rules/_rule.html.haml b/app/views/admin/rules/_rule.html.haml index a0896fe806..5f37f69354 100644 --- a/app/views/admin/rules/_rule.html.haml +++ b/app/views/admin/rules/_rule.html.haml @@ -5,7 +5,7 @@ .announcements-list__item__action-bar .announcements-list__item__meta - = rule.text + = rule.hint %div = table_link_to 'trash', t('admin.rules.delete'), admin_rule_path(rule), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, rule) diff --git a/app/views/admin_mailer/new_critical_software_updates.text.erb b/app/views/admin_mailer/new_critical_software_updates.text.erb index 63c170dc0d..e4886c2621 100644 --- a/app/views/admin_mailer/new_critical_software_updates.text.erb +++ b/app/views/admin_mailer/new_critical_software_updates.text.erb @@ -1,3 +1,7 @@ <%= raw t('admin_mailer.new_critical_software_updates.body') %> +<% @software_updates.each do |update| %> +- Mastodon #{update.version}: #{update.release_notes} +<% end %> + <%= raw t('application_mailer.view')%> <%= admin_software_updates_url %> diff --git a/app/views/admin_mailer/new_software_updates.text.erb b/app/views/admin_mailer/new_software_updates.text.erb index 96808f3cb3..7612b7c59f 100644 --- a/app/views/admin_mailer/new_software_updates.text.erb +++ b/app/views/admin_mailer/new_software_updates.text.erb @@ -1,3 +1,7 @@ <%= raw t('admin_mailer.new_software_updates.body') %> +<% @software_updates.each do |update| %> +- Mastodon #{update.version}: #{update.release_notes} +<% end %> + <%= raw t('application_mailer.view')%> <%= admin_software_updates_url %> diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 449657f8ca..0cd7fc9f44 100755 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -27,7 +27,7 @@ %title= html_title = stylesheet_pack_tag 'common', media: 'all', crossorigin: 'anonymous' - = stylesheet_pack_tag current_theme, media: 'all', crossorigin: 'anonymous' + = theme_style_tags current_theme -# Needed for the wicg-inert polyfill. It needs to be on it's own