diff --git a/.rubocop.yml b/.rubocop.yml
index f604ee237c..121fc70fae 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 3bab8a508d..e372c6c7e3 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)
@@ -670,7 +669,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)
@@ -765,7 +764,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)
@@ -775,7 +774,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)
@@ -798,7 +797,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)
@@ -959,4 +958,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 1b4046bd31..fff78fddba 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -166,6 +166,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('😄bar😴😇'))
- .toEqual('😄bar😴
');
+ .toEqual('😄bar😴
');
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('
');
+ .toEqual('
');
});
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 f0b01673ca..1f469aced7 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/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index 9c95081f65..9a0b3715f0 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -2983,24 +2983,31 @@ $ui-header-height: 55px;
}
}
- .layout-single-column .ui__header {
- display: flex;
- background: var(--background-color-tint);
- border-bottom: 1px solid var(--background-border-color);
- }
+ .layout-single-column {
+ .ui__header {
+ display: flex;
+ background: var(--background-color-tint);
+ border-bottom: 1px solid var(--background-border-color);
+ }
- .column > .scrollable,
- .tabs-bar__wrapper .column-header,
- .tabs-bar__wrapper .column-back-button {
- border-left: 0;
- border-right: 0;
- }
+ .column > .scrollable,
+ .tabs-bar__wrapper .column-header,
+ .tabs-bar__wrapper .column-back-button {
+ border-left: 0;
+ border-right: 0;
+ }
- .column-header,
- .column-back-button,
- .scrollable,
- .error-column {
- border-radius: 0 !important;
+ .column-header,
+ .column-back-button,
+ .scrollable,
+ .error-column {
+ border-radius: 0 !important;
+ }
+
+ .column-header,
+ .column-back-button {
+ border-top: 0;
+ }
}
}
@@ -3559,10 +3566,6 @@ $ui-header-height: 55px;
&:hover {
text-decoration: underline;
}
-
- @media screen and (max-width: $no-gap-breakpoint) {
- border-top: 0;
- }
}
.column-header__back-button {
@@ -4381,10 +4384,6 @@ a.status-card {
padding-top: 16px;
}
}
-
- @media screen and (max-width: $no-gap-breakpoint) {
- border-top: 0;
- }
}
.column-header__buttons {
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 80e734df94..c0da9a15c6 100644
--- a/app/mailers/admin_mailer.rb
+++ b/app/mailers/admin_mailer.rb
@@ -54,12 +54,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 7c29051cec..de1122773d 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -140,12 +140,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 13927dbdf4..7a21abec46 100644
--- a/app/models/admin/import.rb
+++ b/app/models/admin/import.rb
@@ -30,14 +30,16 @@ 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', '#reject_favourite', '#reject_send_sensitive',
'#reject_hashtag', '#reject_straight_follow', '#reject_new_follow', '#hidden', '#detect_invalid_subscription',
'#reject_reply_exclude_followers', '#reject_friend', '#block_trends'
- 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