mirror of
https://github.com/glitch-soc/mastodon.git
synced 2024-11-27 10:30:15 -05:00
Merge commit 'd49343ed11b3c08c4e81ecd70e17e01bd30154a6' into glitch-soc/merge-upstream
This commit is contained in:
commit
7b46517c38
@ -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.
|
||||
|
67
Gemfile.lock
67
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)
|
||||
@ -374,7 +373,7 @@ GEM
|
||||
json-ld-preloaded (3.3.0)
|
||||
json-ld (~> 3.3)
|
||||
rdf (~> 3.3)
|
||||
json-schema (4.2.0)
|
||||
json-schema (4.3.0)
|
||||
addressable (>= 2.8)
|
||||
jsonapi-renderer (0.2.2)
|
||||
jwt (2.7.1)
|
||||
@ -423,7 +422,7 @@ GEM
|
||||
net-imap
|
||||
net-pop
|
||||
net-smtp
|
||||
marcel (1.0.2)
|
||||
marcel (1.0.4)
|
||||
mario-redis-lock (1.2.1)
|
||||
redis (>= 3.0.5)
|
||||
matrix (0.4.2)
|
||||
@ -434,7 +433,7 @@ GEM
|
||||
memory_profiler (1.0.1)
|
||||
mime-types (3.5.2)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2023.1205)
|
||||
mime-types-data (3.2024.0305)
|
||||
mini_mime (1.1.5)
|
||||
mini_portile2 (2.8.5)
|
||||
minitest (5.22.3)
|
||||
@ -456,7 +455,7 @@ GEM
|
||||
timeout
|
||||
net-smtp (0.4.0.1)
|
||||
net-protocol
|
||||
nio4r (2.5.9)
|
||||
nio4r (2.7.1)
|
||||
nokogiri (1.16.3)
|
||||
mini_portile2 (~> 2.8.2)
|
||||
racc (~> 1.4)
|
||||
@ -511,7 +510,7 @@ GEM
|
||||
pghero (3.4.1)
|
||||
activerecord (>= 6)
|
||||
posix-spawn (0.3.15)
|
||||
premailer (1.21.0)
|
||||
premailer (1.23.0)
|
||||
addressable
|
||||
css_parser (>= 1.12.0)
|
||||
htmlentities (>= 4.0.0)
|
||||
@ -618,7 +617,7 @@ GEM
|
||||
railties (>= 5.2)
|
||||
rexml (3.2.6)
|
||||
rotp (6.3.0)
|
||||
rouge (4.1.2)
|
||||
rouge (4.2.1)
|
||||
rpam2 (4.0.2)
|
||||
rqrcode (2.2.0)
|
||||
chunky_png (~> 1.0)
|
||||
@ -668,7 +667,7 @@ GEM
|
||||
rubocop-performance (1.20.2)
|
||||
rubocop (>= 1.48.1, < 2.0)
|
||||
rubocop-ast (>= 1.30.0, < 2.0)
|
||||
rubocop-rails (2.24.0)
|
||||
rubocop-rails (2.24.1)
|
||||
activesupport (>= 4.2.0)
|
||||
rack (>= 1.1)
|
||||
rubocop (>= 1.33.0, < 2.0)
|
||||
@ -763,7 +762,7 @@ GEM
|
||||
tty-cursor (~> 0.7)
|
||||
tty-screen (~> 0.8)
|
||||
wisper (~> 2.0)
|
||||
tty-screen (0.8.1)
|
||||
tty-screen (0.8.2)
|
||||
twitter-text (3.1.0)
|
||||
idn-ruby
|
||||
unf (~> 0.1.0)
|
||||
@ -773,7 +772,7 @@ GEM
|
||||
tzinfo (>= 1.0.0)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.8.2)
|
||||
unf_ext (0.0.9.1)
|
||||
unicode-display_width (2.5.0)
|
||||
uri (0.12.2)
|
||||
validate_email (0.1.6)
|
||||
@ -796,7 +795,7 @@ GEM
|
||||
webfinger (1.2.0)
|
||||
activesupport
|
||||
httpclient (>= 2.4)
|
||||
webmock (3.22.0)
|
||||
webmock (3.23.0)
|
||||
addressable (>= 2.8.0)
|
||||
crack (>= 0.3.2)
|
||||
hashdiff (>= 0.4.0, < 2.0.0)
|
||||
@ -956,4 +955,4 @@ RUBY VERSION
|
||||
ruby 3.2.2p53
|
||||
|
||||
BUNDLED WITH
|
||||
2.5.4
|
||||
2.5.7
|
||||
|
@ -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 {# гадзіны}} таму",
|
||||
|
@ -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 {# часа}}",
|
||||
|
@ -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}}",
|
||||
|
@ -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",
|
||||
|
@ -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}}",
|
||||
|
@ -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}}",
|
||||
|
@ -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",
|
||||
|
@ -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}}",
|
||||
|
@ -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}}",
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -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}}",
|
||||
|
@ -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}}",
|
||||
|
@ -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",
|
||||
|
@ -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}}",
|
||||
|
@ -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 {# שעות}}",
|
||||
|
@ -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}}",
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -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} 시간 전",
|
||||
|
@ -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}}",
|
||||
|
@ -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ų}}",
|
||||
|
@ -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}",
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -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}}",
|
||||
|
@ -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}}",
|
||||
|
@ -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ë",
|
||||
|
@ -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",
|
||||
|
@ -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 {# ชั่วโมง}}ที่แล้ว",
|
||||
|
@ -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",
|
||||
|
@ -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 {# годин}} тому",
|
||||
|
@ -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ờ}}",
|
||||
|
@ -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 {# 小时}}前",
|
||||
|
@ -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 {# 小時}}前",
|
||||
|
@ -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 {# 小時}}前",
|
||||
|
@ -2890,7 +2890,8 @@ $ui-header-height: 55px;
|
||||
}
|
||||
}
|
||||
|
||||
.layout-single-column .ui__header {
|
||||
.layout-single-column {
|
||||
.ui__header {
|
||||
display: flex;
|
||||
background: var(--background-color-tint);
|
||||
border-bottom: 1px solid var(--background-border-color);
|
||||
@ -2909,6 +2910,12 @@ $ui-header-height: 55px;
|
||||
.error-column {
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
|
||||
.column-header,
|
||||
.column-back-button {
|
||||
border-top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: $no-gap-breakpoint - 285px - 1px) {
|
||||
@ -3466,10 +3473,6 @@ $ui-header-height: 55px;
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
@media screen and (max-width: $no-gap-breakpoint) {
|
||||
border-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.column-header__back-button {
|
||||
@ -4233,10 +4236,6 @@ a.status-card {
|
||||
padding-top: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: $no-gap-breakpoint) {
|
||||
border-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.column-header__buttons {
|
||||
|
@ -46,12 +46,16 @@ class AdminMailer < ApplicationMailer
|
||||
end
|
||||
|
||||
def new_software_updates
|
||||
@software_updates = SoftwareUpdate.all.to_a.sort_by(&:gem_version)
|
||||
|
||||
locale_for_account(@me) do
|
||||
mail subject: default_i18n_subject(instance: @instance)
|
||||
end
|
||||
end
|
||||
|
||||
def new_critical_software_updates
|
||||
@software_updates = SoftwareUpdate.where(urgent: true).to_a.sort_by(&:gem_version)
|
||||
|
||||
headers['Priority'] = 'urgent'
|
||||
headers['X-Priority'] = '1'
|
||||
headers['Importance'] = 'high'
|
||||
|
@ -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
|
||||
|
||||
|
@ -136,12 +136,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
|
||||
|
||||
|
@ -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
|
||||
|
@ -30,12 +30,14 @@ class Admin::Import
|
||||
|
||||
csv_converter = lambda do |field, field_info|
|
||||
case field_info.header
|
||||
when '#domain', '#public_comment'
|
||||
when '#domain'
|
||||
field&.downcase&.strip
|
||||
when '#public_comment'
|
||||
field&.strip
|
||||
when '#severity'
|
||||
field&.strip&.to_sym
|
||||
field&.downcase&.strip&.to_sym
|
||||
when '#reject_media', '#reject_reports', '#obfuscate'
|
||||
ActiveModel::Type::Boolean.new.cast(field)
|
||||
ActiveModel::Type::Boolean.new.cast(field&.downcase)
|
||||
else
|
||||
field
|
||||
end
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -113,7 +113,7 @@ class Status < ApplicationRecord
|
||||
scope :without_reblogs, -> { where(statuses: { reblog_of_id: nil }) }
|
||||
scope :tagged_with, ->(tag_ids) { joins(:statuses_tags).where(statuses_tags: { tag_id: tag_ids }) }
|
||||
scope :not_excluded_by_account, ->(account) { where.not(account_id: account.excluded_from_timeline_account_ids) }
|
||||
scope :not_domain_blocked_by_account, ->(account) { account.excluded_from_timeline_domains.blank? ? left_outer_joins(:account) : left_outer_joins(:account).where('accounts.domain IS NULL OR accounts.domain NOT IN (?)', account.excluded_from_timeline_domains) }
|
||||
scope :not_domain_blocked_by_account, ->(account) { account.excluded_from_timeline_domains.blank? ? left_outer_joins(:account) : left_outer_joins(:account).merge(Account.not_domain_blocked_by_account(account)) }
|
||||
scope :tagged_with_all, lambda { |tag_ids|
|
||||
Array(tag_ids).map(&:to_i).reduce(self) do |result, id|
|
||||
result.where(<<~SQL.squish, tag_id: id)
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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 %>
|
||||
|
@ -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 %>
|
||||
|
@ -1,5 +1,3 @@
|
||||
- instance_presenter = InstancePresenter.new
|
||||
|
||||
= content_for :heading do
|
||||
.email-desktop-flex
|
||||
.email-header-left
|
||||
|
@ -43,13 +43,13 @@ hu:
|
||||
title: Emailcím megerősítése
|
||||
reset_password_instructions:
|
||||
action: Jelszó módosítása
|
||||
explanation: A fiókodhoz tartozó jelszó módosítását kezdeményezted.
|
||||
extra: Amennyiben nem te kezdeményezted a módosítást, kérjük tekintsd ezt az emailt tárgytalannak. A jelszavad változatlan marad mindaddig, amíg újat nem hozol létre a fenti linkre kattintva.
|
||||
explanation: Új jelszót kértél a fiókodhoz.
|
||||
extra: Ha nem te kérted, tekintsd ezt az e-mailt tárgytalannak. A jelszavad változatlan marad mindaddig, amíg újat nem hozol létre a fenti hivatkozásra kattintva.
|
||||
subject: 'Mastodon: Jelszóvisszaállítási utasítások'
|
||||
title: Jelszó visszaállítása
|
||||
two_factor_disabled:
|
||||
explanation: A bejelentkezés most már csupán email címmel és jelszóval lehetséges.
|
||||
subject: Kétlépcsős azonosítás kikapcsolva
|
||||
subject: 'Mastodon: kétlépcsős hitelesítés letiltva'
|
||||
subtitle: A kétlépcsős hitelesítés a fiókodhoz ki lett kapcsolva.
|
||||
title: Kétlépcsős hitelesítés kikapcsolva
|
||||
two_factor_enabled:
|
||||
|
@ -43,7 +43,7 @@ hu:
|
||||
new: Új alkalmazás
|
||||
scopes: Hatókörök
|
||||
show: Megjelenítés
|
||||
title: Alkalmazásaid
|
||||
title: Saját alkalmazások
|
||||
new:
|
||||
title: Új alkalmazás
|
||||
show:
|
||||
@ -77,7 +77,7 @@ hu:
|
||||
never_used: Soha sem volt használva
|
||||
scopes: Jogosultságok
|
||||
superapp: Belső
|
||||
title: Hitelesített alkalmazásaid
|
||||
title: Hitelesített saját alkalmazások
|
||||
errors:
|
||||
messages:
|
||||
access_denied: Az erőforrás tulajdonosa vagy az engedélyező kiszolgáló elutasította a kérést.
|
||||
|
@ -25,27 +25,27 @@ hu:
|
||||
admin:
|
||||
account_actions:
|
||||
action: Művelet végrehajtása
|
||||
title: "%{acct} moderálása"
|
||||
title: 'Moderálási művelet végrehajtása ezen: %{acct}'
|
||||
account_moderation_notes:
|
||||
create: Új moderációs bejegyzés
|
||||
created_msg: Moderációs bejegyzés létrehozva!
|
||||
destroyed_msg: Moderációs bejegyzés törölve!
|
||||
create: Megjegyzés hagyása
|
||||
created_msg: A moderációs megjegyzés sikeresen létrehozva!
|
||||
destroyed_msg: A moderációs megjegyzés sikeresen törölve!
|
||||
accounts:
|
||||
add_email_domain_block: Email domain tiltólistára vétele
|
||||
add_email_domain_block: E-mail-domain tiltólistára vétele
|
||||
approve: Jóváhagyás
|
||||
approved_msg: A %{username} fiók regisztrációs kérelmét sikeresen elfogadtuk
|
||||
approved_msg: "%{username} regisztrációja sikeresen elfogadva"
|
||||
are_you_sure: Biztos vagy benne?
|
||||
avatar: Profilkép
|
||||
by_domain: Domain
|
||||
change_email:
|
||||
changed_msg: Az emailt sikeresen megváltoztattuk!
|
||||
current_email: Jelenlegi e-mail
|
||||
label: E-mail megváltoztatása
|
||||
new_email: Új e-mail
|
||||
submit: E-mail megváltoztatása
|
||||
title: "%{username} felhasználó e-mail változás"
|
||||
changed_msg: Az e-mail-cím sikeresen megváltozott!
|
||||
current_email: Jelenlegi e-mail-cím
|
||||
label: E-mail-cím megváltoztatása
|
||||
new_email: Új e-mail-cím
|
||||
submit: E-mail-cím megváltoztatása
|
||||
title: "%{username} e-mail-címének megváltoztatása"
|
||||
change_role:
|
||||
changed_msg: A szerepet sikeresen megváltoztattuk!
|
||||
changed_msg: A szerep sikeresen megváltoztatva!
|
||||
label: Szerep megváltoztatása
|
||||
no_role: Nincs szerep
|
||||
title: "%{username} szerepének megváltoztatása"
|
||||
@ -1224,7 +1224,7 @@ hu:
|
||||
archive_takeout:
|
||||
date: Dátum
|
||||
download: Archívum letöltése
|
||||
hint_html: Itt kérhető egy archív az összes <strong>feltöltött bejegyzésedről és médiádról</strong>. Az exportált adatok ActivityPub formátumban lesznek, melyet bármilyen szabványos program tud olvasni. 7 naponként kérhetsz ilyen archívot.
|
||||
hint_html: Itt kérhetsz egy archívumot az összes <strong>bejegyzésedről és médiáfájlodról</strong>. Az exportált adatok ActivityPub formátumban lesznek, mely bármilyen szabványos programmal olvasható. 7 naponta kérhetsz ilyen archívumot.
|
||||
in_progress: Archívum összeállítása…
|
||||
request: Archívum kérése
|
||||
size: Méret
|
||||
|
@ -1659,15 +1659,25 @@ is:
|
||||
import: Flytja inn
|
||||
import_and_export: Inn- og útflutningur
|
||||
migrate: Yfirfærsla notandaaðgangs
|
||||
notifications: Tilkynningar í tölvupósti
|
||||
preferences: Kjörstillingar
|
||||
profile: Notandasnið
|
||||
relationships: Fylgist með og fylgjendur
|
||||
severed_relationships: Rofin tengsl
|
||||
statuses_cleanup: Sjálfvirk eyðing færslna
|
||||
strikes: Umsýsla refsinga
|
||||
two_factor_authentication: Tveggja-þátta auðkenning
|
||||
webauthn_authentication: Öryggislyklar
|
||||
severed_relationships:
|
||||
download: Sækja (%{count})
|
||||
event_type:
|
||||
account_suspension: Frysting notandaaðgangsins (%{target_name})
|
||||
domain_block: Frysting netþjónsins (%{target_name})
|
||||
user_domain_block: Þú útilokaðir %{target_name}
|
||||
lost_followers: Tapaðir fylgjendur
|
||||
lost_follows: Tapað sem þú fylgist með
|
||||
preamble: Þú gætir misst einhverja sem þú fylgist með og eins fylgjendur þegar þú útilokar lén eða þegar umsjónarmenn netþjónsins þíns ákveða að frysta fjartengdan netþjón. Þegar slíkt gerist, geturðu sótt lista yfir slík skemmd tengsl, til að yfirfara og mögulega flytja inn á öðrum netþjóni.
|
||||
purged: Upplýsingum um þennan netþjón hefur verið eytt af stjórnendum netþjónsins þíns.
|
||||
type: Atburður
|
||||
statuses:
|
||||
attached:
|
||||
|
@ -1944,6 +1944,11 @@ sl:
|
||||
follows_subtitle: Sledite dobro znanim računom
|
||||
follows_title: Komu slediti
|
||||
follows_view_more: Pokaži več oseb za sledenje
|
||||
hashtags_recent_count:
|
||||
few: "%{people} osebe v zadnjih dveh dneh"
|
||||
one: "%{people} oseba v zadnjih dveh dneh"
|
||||
other: "%{people} oseb v zadnjih dveh dneh"
|
||||
two: "%{people} osebi v zadnjih dveh dneh"
|
||||
hashtags_subtitle: Raziščite, kaj je v trendu zadnja dva dni
|
||||
hashtags_title: Ključniki v trendu
|
||||
hashtags_view_more: Pokaži več ključnikov v trendu
|
||||
|
@ -4,46 +4,50 @@ class MigrateInteractionSettingsToPolicy < ActiveRecord::Migration[7.1]
|
||||
disable_ddl_transaction!
|
||||
|
||||
# Dummy classes, to make migration possible across version changes
|
||||
class Account < ApplicationRecord
|
||||
has_one :user, inverse_of: :account
|
||||
has_one :notification_policy, inverse_of: :account
|
||||
end
|
||||
|
||||
class User < ApplicationRecord
|
||||
belongs_to :account
|
||||
belongs_to :notification_policy, foreign_key: 'account_id', primary_key: 'account_id', optional: true, inverse_of: false
|
||||
end
|
||||
|
||||
class NotificationPolicy < ApplicationRecord
|
||||
belongs_to :account
|
||||
end
|
||||
class NotificationPolicy < ApplicationRecord; end
|
||||
|
||||
def up
|
||||
User.includes(account: :notification_policy).find_each do |user|
|
||||
deserialized_settings = Oj.load(user.attributes_before_type_cast['settings'])
|
||||
|
||||
next if deserialized_settings.nil?
|
||||
|
||||
policy = user.account.notification_policy || user.account.build_notification_policy
|
||||
requires_new_policy = false
|
||||
|
||||
if deserialized_settings['interactions.must_be_follower']
|
||||
policy.filter_not_followers = true
|
||||
requires_new_policy = true
|
||||
end
|
||||
|
||||
if deserialized_settings['interactions.must_be_following']
|
||||
policy.filter_not_following = true
|
||||
requires_new_policy = true
|
||||
end
|
||||
|
||||
unless deserialized_settings['interactions.must_be_following_dm']
|
||||
policy.filter_private_mentions = false
|
||||
requires_new_policy = true
|
||||
end
|
||||
|
||||
policy.save if requires_new_policy && policy.changed?
|
||||
User.includes(:notification_policy).in_batches do |users|
|
||||
NotificationPolicy.upsert_all(users.filter_map { |user| policy_for_user(user) })
|
||||
end
|
||||
end
|
||||
|
||||
def down; end
|
||||
|
||||
private
|
||||
|
||||
def policy_for_user(user)
|
||||
deserialized_settings = Oj.load(user.attributes_before_type_cast['settings'])
|
||||
return if deserialized_settings.nil?
|
||||
|
||||
requires_new_policy = false
|
||||
|
||||
policy = {
|
||||
account_id: user.account_id,
|
||||
filter_not_followers: false,
|
||||
filter_not_following: false,
|
||||
filter_private_mentions: true,
|
||||
}
|
||||
|
||||
if deserialized_settings['interactions.must_be_follower']
|
||||
policy[:filter_not_followers] = true
|
||||
requires_new_policy = true
|
||||
end
|
||||
|
||||
if deserialized_settings['interactions.must_be_following']
|
||||
policy[:filter_not_following] = true
|
||||
requires_new_policy = true
|
||||
end
|
||||
|
||||
unless deserialized_settings['interactions.must_be_following_dm']
|
||||
policy[:filter_private_mentions] = false
|
||||
requires_new_policy = true
|
||||
end
|
||||
|
||||
policy if requires_new_policy
|
||||
end
|
||||
end
|
||||
|
@ -4,51 +4,51 @@ class MigrateInteractionSettingsToPolicyAgain < ActiveRecord::Migration[7.1]
|
||||
disable_ddl_transaction!
|
||||
|
||||
# Dummy classes, to make migration possible across version changes
|
||||
class Account < ApplicationRecord
|
||||
has_one :user, inverse_of: :account
|
||||
has_one :notification_policy, inverse_of: :account
|
||||
end
|
||||
|
||||
class User < ApplicationRecord
|
||||
belongs_to :account
|
||||
belongs_to :notification_policy, foreign_key: 'account_id', primary_key: 'account_id', optional: true, inverse_of: false
|
||||
end
|
||||
|
||||
class NotificationPolicy < ApplicationRecord
|
||||
belongs_to :account
|
||||
end
|
||||
class NotificationPolicy < ApplicationRecord; end
|
||||
|
||||
def up
|
||||
User.includes(account: :notification_policy).find_each do |user|
|
||||
deserialized_settings = Oj.load(user.attributes_before_type_cast['settings'])
|
||||
|
||||
next if deserialized_settings.nil?
|
||||
|
||||
# If the user has configured a notification policy, don't override it
|
||||
next if user.account.notification_policy.present?
|
||||
|
||||
policy = user.account.build_notification_policy
|
||||
requires_new_policy = false
|
||||
|
||||
if deserialized_settings['interactions.must_be_follower']
|
||||
policy.filter_not_followers = true
|
||||
requires_new_policy = true
|
||||
end
|
||||
|
||||
if deserialized_settings['interactions.must_be_following']
|
||||
policy.filter_not_following = true
|
||||
requires_new_policy = true
|
||||
end
|
||||
|
||||
unless deserialized_settings['interactions.must_be_following_dm']
|
||||
policy.filter_private_mentions = false
|
||||
requires_new_policy = true
|
||||
end
|
||||
|
||||
policy.save if requires_new_policy && policy.changed?
|
||||
rescue ActiveRecord::RecordNotUnique
|
||||
next
|
||||
User.includes(:notification_policy).in_batches do |users|
|
||||
NotificationPolicy.insert_all(users.filter_map { |user| policy_for_user(user) })
|
||||
end
|
||||
end
|
||||
|
||||
def down; end
|
||||
|
||||
private
|
||||
|
||||
def policy_for_user(user)
|
||||
deserialized_settings = Oj.load(user.attributes_before_type_cast['settings'])
|
||||
return if deserialized_settings.nil?
|
||||
return if user.notification_policy.present?
|
||||
|
||||
requires_new_policy = false
|
||||
|
||||
policy = {
|
||||
account_id: user.account_id,
|
||||
filter_not_followers: false,
|
||||
filter_not_following: false,
|
||||
filter_private_mentions: true,
|
||||
}
|
||||
|
||||
if deserialized_settings['interactions.must_be_follower']
|
||||
policy[:filter_not_followers] = true
|
||||
requires_new_policy = true
|
||||
end
|
||||
|
||||
if deserialized_settings['interactions.must_be_following']
|
||||
policy[:filter_not_following] = true
|
||||
requires_new_policy = true
|
||||
end
|
||||
|
||||
unless deserialized_settings['interactions.must_be_following_dm']
|
||||
policy[:filter_private_mentions] = false
|
||||
requires_new_policy = true
|
||||
end
|
||||
|
||||
policy if requires_new_policy
|
||||
end
|
||||
end
|
||||
|
@ -10,20 +10,17 @@ RSpec.describe AfterBlockDomainFromAccountService do
|
||||
let(:alice) { Fabricate(:account, username: 'alice') }
|
||||
|
||||
before do
|
||||
NotificationPermission.create!(account: alice, from_account: wolf)
|
||||
|
||||
wolf.follow!(alice)
|
||||
alice.follow!(dog)
|
||||
end
|
||||
|
||||
around do |example|
|
||||
Sidekiq::Testing.fake! do
|
||||
example.run
|
||||
end
|
||||
end
|
||||
it 'purge followers from blocked domain, remove notification permissions, sends `Reject->Follow`, and records severed relationships', :aggregate_failures do
|
||||
expect { subject.call(alice, 'evil.org') }
|
||||
.to change { wolf.following?(alice) }.from(true).to(false)
|
||||
.and change { NotificationPermission.exists?(account: alice, from_account: wolf) }.from(true).to(false)
|
||||
|
||||
it 'purges followers from blocked domain, sends them Reject->Follow, and records severed relationships', :aggregate_failures do
|
||||
subject.call(alice, 'evil.org')
|
||||
|
||||
expect(wolf.following?(alice)).to be false
|
||||
expect(ActivityPub::DeliveryWorker.jobs.pluck('args')).to contain_exactly(
|
||||
[a_string_including('"type":"Reject"'), alice.id, wolf.inbox_url],
|
||||
[a_string_including('"type":"Undo"'), alice.id, dog.inbox_url]
|
||||
|
@ -11,11 +11,13 @@ RSpec.describe BlockService do
|
||||
let(:bob) { Fabricate(:account, username: 'bob') }
|
||||
|
||||
before do
|
||||
subject.call(sender, bob)
|
||||
NotificationPermission.create!(account: sender, from_account: bob)
|
||||
end
|
||||
|
||||
it 'creates a blocking relation' do
|
||||
expect(sender.blocking?(bob)).to be true
|
||||
it 'creates a blocking relation and removes notification permissions' do
|
||||
expect { subject.call(sender, bob) }
|
||||
.to change { sender.blocking?(bob) }.from(false).to(true)
|
||||
.and change { NotificationPermission.exists?(account: sender, from_account: bob) }.from(true).to(false)
|
||||
end
|
||||
end
|
||||
|
||||
|
44
yarn.lock
44
yarn.lock
@ -6513,12 +6513,12 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"css-declaration-sorter@npm:^7.1.1":
|
||||
version: 7.1.1
|
||||
resolution: "css-declaration-sorter@npm:7.1.1"
|
||||
"css-declaration-sorter@npm:^7.2.0":
|
||||
version: 7.2.0
|
||||
resolution: "css-declaration-sorter@npm:7.2.0"
|
||||
peerDependencies:
|
||||
postcss: ^8.0.9
|
||||
checksum: 10c0/bea446e441bafde21c3c7b3f7639559311da12eea140db7ee3c61e4f41df455b7b098df107f99bc0cca32a5020841cc94bf8a2d5efb1b383e51f9de478c4816e
|
||||
checksum: 10c0/d8516be94f8f2daa233ef021688b965c08161624cbf830a4d7ee1099429437c0ee124d35c91b1c659cfd891a68e8888aa941726dab12279bc114aaed60a94606
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -6680,12 +6680,12 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"cssnano-preset-default@npm:^6.1.1":
|
||||
version: 6.1.1
|
||||
resolution: "cssnano-preset-default@npm:6.1.1"
|
||||
"cssnano-preset-default@npm:^6.1.2":
|
||||
version: 6.1.2
|
||||
resolution: "cssnano-preset-default@npm:6.1.2"
|
||||
dependencies:
|
||||
browserslist: "npm:^4.23.0"
|
||||
css-declaration-sorter: "npm:^7.1.1"
|
||||
css-declaration-sorter: "npm:^7.2.0"
|
||||
cssnano-utils: "npm:^4.0.2"
|
||||
postcss-calc: "npm:^9.0.1"
|
||||
postcss-colormin: "npm:^6.1.0"
|
||||
@ -6716,7 +6716,7 @@ __metadata:
|
||||
postcss-unique-selectors: "npm:^6.0.4"
|
||||
peerDependencies:
|
||||
postcss: ^8.4.31
|
||||
checksum: 10c0/dc5927c8538778f859b781dc1fb10f0082cd7b3afdba30e835e472dbf51724d4f18e5170587761150142284a371d6c9d2c3b51d29826c08d2b9dd86a929597ee
|
||||
checksum: 10c0/af99021f936763850f5f35dc9e6a9dfb0da30856dea36e0420b011da2a447099471db2a5f3d1f5f52c0489da186caf9a439d8f048a80f82617077efb018333fa
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -6730,14 +6730,14 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"cssnano@npm:^6.0.1":
|
||||
version: 6.1.1
|
||||
resolution: "cssnano@npm:6.1.1"
|
||||
version: 6.1.2
|
||||
resolution: "cssnano@npm:6.1.2"
|
||||
dependencies:
|
||||
cssnano-preset-default: "npm:^6.1.1"
|
||||
cssnano-preset-default: "npm:^6.1.2"
|
||||
lilconfig: "npm:^3.1.1"
|
||||
peerDependencies:
|
||||
postcss: ^8.4.31
|
||||
checksum: 10c0/2db52c2f5e314f05efec8977de392886ef0e7e08568ac45446f2303218180e317cee64c6c0c6d2c1d70a7f339fcead75384e09e187b88ccacd7f9fd51919fdf1
|
||||
checksum: 10c0/4df0dc0389b34b38acb09b7cfb07267b0eda95349c6d5e9b7666acc7200bb33359650869a60168e9d878298b05f4ad2c7f070815c90551720a3f4e1037f79691
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -8211,8 +8211,8 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"express@npm:^4.17.1, express@npm:^4.18.2":
|
||||
version: 4.19.1
|
||||
resolution: "express@npm:4.19.1"
|
||||
version: 4.19.2
|
||||
resolution: "express@npm:4.19.2"
|
||||
dependencies:
|
||||
accepts: "npm:~1.3.8"
|
||||
array-flatten: "npm:1.1.1"
|
||||
@ -8245,7 +8245,7 @@ __metadata:
|
||||
type-is: "npm:~1.6.18"
|
||||
utils-merge: "npm:1.0.1"
|
||||
vary: "npm:~1.1.2"
|
||||
checksum: 10c0/1cf6d3c095131f0d730105fac23a713083604d4f3ad9364df53cade50662abcfee2f6f8a955fdf164a5ee63f09f457da0b70cbed435ad302fa6f14162a9757f9
|
||||
checksum: 10c0/e82e2662ea9971c1407aea9fc3c16d6b963e55e3830cd0ef5e00b533feda8b770af4e3be630488ef8a752d7c75c4fcefb15892868eeaafe7353cb9e3e269fdcb
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -14047,12 +14047,12 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"prom-client@npm:^15.0.0":
|
||||
version: 15.1.0
|
||||
resolution: "prom-client@npm:15.1.0"
|
||||
version: 15.1.1
|
||||
resolution: "prom-client@npm:15.1.1"
|
||||
dependencies:
|
||||
"@opentelemetry/api": "npm:^1.4.0"
|
||||
tdigest: "npm:^0.1.1"
|
||||
checksum: 10c0/c10781adbf49225298e44da5396a51a0bd4d0cddc3c7e237ba50e888e12ead26a8f98261f362a442f1bbcdaddd6e7302d5675b37beac67ea9b6f82e4d39fb3cc
|
||||
checksum: 10c0/b3e6a58fc0ef87cf5b0badf06d7d79c24ac93ba47cccfaad95faeba79824c6a7724d74a257e7268d691245c847173818c16c8153054cccf16b8f033c37c74129
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -14355,8 +14355,8 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"react-intl@npm:^6.4.2":
|
||||
version: 6.6.3
|
||||
resolution: "react-intl@npm:6.6.3"
|
||||
version: 6.6.4
|
||||
resolution: "react-intl@npm:6.6.4"
|
||||
dependencies:
|
||||
"@formatjs/ecma402-abstract": "npm:1.18.2"
|
||||
"@formatjs/icu-messageformat-parser": "npm:2.7.6"
|
||||
@ -14374,7 +14374,7 @@ __metadata:
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
checksum: 10c0/8a924931668f1bf6364bb41c09fdb54972b8e3372f0768a31478dc3f8a846920caa4dc04ab3950195baa6dbf58a148f43a6a221d5795be2cbb6f4f374a5921d6
|
||||
checksum: 10c0/bd874ad3a56b0198903c02c878cfa23b5ae9a44d2c74fd4f01ddb602c97a8115de8cebed00b44f7dc5fb3031e5ef0f9cfb4bdabd105b99a785352462deb106d3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user