Merge commit '05eda8d19330a9c27c0cf07de19a87edff269057' into glitch-soc/merge-upstream

shrike
Claire 2024-04-06 20:01:25 +02:00
commit 903dc53522
74 changed files with 686 additions and 160 deletions

View File

@ -125,6 +125,22 @@
], ],
groupName: null, // We dont want them to belong to any group groupName: null, // We dont want them to belong to any group
}, },
{
// Group all RuboCop packages with `rubocop` in the same PR
matchManagers: ['bundler'],
matchPackageNames: ['rubocop'],
matchPackagePrefixes: ['rubocop-'],
matchUpdateTypes: ['patch', 'minor'],
groupName: 'RuboCop (non-major)',
},
{
// Group all RSpec packages with `rspec` in the same PR
matchManagers: ['bundler'],
matchPackageNames: ['rspec'],
matchPackagePrefixes: ['rspec-'],
matchUpdateTypes: ['patch', 'minor'],
groupName: 'RSpec (non-major)',
},
// Add labels depending on package manager // Add labels depending on package manager
{ matchManagers: ['npm', 'nvm'], addLabels: ['javascript'] }, { matchManagers: ['npm', 'nvm'], addLabels: ['javascript'] },
{ matchManagers: ['bundler', 'ruby-version'], addLabels: ['ruby'] }, { matchManagers: ['bundler', 'ruby-version'], addLabels: ['ruby'] },

View File

@ -114,6 +114,7 @@ jobs:
- '3.0' - '3.0'
- '3.1' - '3.1'
- '.ruby-version' - '.ruby-version'
- '3.3'
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -189,6 +190,7 @@ jobs:
- '3.0' - '3.0'
- '3.1' - '3.1'
- '.ruby-version' - '.ruby-version'
- '3.3'
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -288,6 +290,7 @@ jobs:
- '3.0' - '3.0'
- '3.1' - '3.1'
- '.ruby-version' - '.ruby-version'
- '3.3'
search-image: search-image:
- docker.elastic.co/elasticsearch/elasticsearch:7.17.13 - docker.elastic.co/elasticsearch/elasticsearch:7.17.13
include: include:

View File

@ -90,7 +90,7 @@ gem 'sidekiq-bulk', '~> 0.2.0'
gem 'simple-navigation', '~> 4.4' gem 'simple-navigation', '~> 4.4'
gem 'simple_form', '~> 5.2' gem 'simple_form', '~> 5.2'
gem 'stoplight', '~> 3.0.1' gem 'stoplight', '~> 3.0.1'
gem 'strong_migrations', '1.7.0' gem 'strong_migrations', '1.8.0'
gem 'tty-prompt', '~> 0.23', require: false gem 'tty-prompt', '~> 0.23', require: false
gem 'twitter-text', '~> 3.1.0' gem 'twitter-text', '~> 3.1.0'
gem 'tzinfo-data', '~> 1.2023' gem 'tzinfo-data', '~> 1.2023'

View File

@ -139,7 +139,7 @@ GEM
erubi (~> 1.4) erubi (~> 1.4)
parser (>= 2.4) parser (>= 2.4)
smart_properties smart_properties
bigdecimal (3.1.6) bigdecimal (3.1.7)
bindata (2.4.15) bindata (2.4.15)
binding_of_caller (1.0.0) binding_of_caller (1.0.0)
debug_inspector (>= 0.0.1) debug_inspector (>= 0.0.1)
@ -213,7 +213,7 @@ GEM
devise_pam_authenticatable2 (9.2.0) devise_pam_authenticatable2 (9.2.0)
devise (>= 4.0.0) devise (>= 4.0.0)
rpam2 (~> 4.0) rpam2 (~> 4.0)
diff-lcs (1.5.0) diff-lcs (1.5.1)
discard (1.3.0) discard (1.3.0)
activerecord (>= 4.2, < 8) activerecord (>= 4.2, < 8)
docile (1.4.0) docile (1.4.0)
@ -225,8 +225,7 @@ GEM
dotenv-rails (2.8.1) dotenv-rails (2.8.1)
dotenv (= 2.8.1) dotenv (= 2.8.1)
railties (>= 3.2) railties (>= 3.2)
drb (2.2.0) drb (2.2.1)
ruby2_keywords
ed25519 (1.3.0) ed25519 (1.3.0)
elasticsearch (7.13.3) elasticsearch (7.13.3)
elasticsearch-api (= 7.13.3) elasticsearch-api (= 7.13.3)
@ -438,7 +437,7 @@ GEM
mime-types-data (3.2023.1205) mime-types-data (3.2023.1205)
mini_mime (1.1.5) mini_mime (1.1.5)
mini_portile2 (2.8.5) mini_portile2 (2.8.5)
minitest (5.21.2) minitest (5.22.3)
msgpack (1.7.2) msgpack (1.7.2)
multi_json (1.15.0) multi_json (1.15.0)
multipart-post (2.3.0) multipart-post (2.3.0)
@ -500,7 +499,7 @@ GEM
openssl-signature_algorithm (1.3.0) openssl-signature_algorithm (1.3.0)
openssl (> 2.0) openssl (> 2.0)
orm_adapter (0.5.0) orm_adapter (0.5.0)
ox (2.14.17) ox (2.14.18)
parallel (1.24.0) parallel (1.24.0)
parser (3.3.0.5) parser (3.3.0.5)
ast (~> 2.4.1) ast (~> 2.4.1)
@ -535,7 +534,7 @@ GEM
activesupport (>= 3.0.0) activesupport (>= 3.0.0)
raabro (1.4.0) raabro (1.4.0)
racc (1.7.3) racc (1.7.3)
rack (2.2.8.1) rack (2.2.9)
rack-attack (6.7.0) rack-attack (6.7.0)
rack (>= 1.0, < 4) rack (>= 1.0, < 4)
rack-cors (2.0.2) rack-cors (2.0.2)
@ -601,7 +600,7 @@ GEM
link_header (~> 0.0, >= 0.0.8) link_header (~> 0.0, >= 0.0.8)
rdf-normalize (0.7.0) rdf-normalize (0.7.0)
rdf (~> 3.3) rdf (~> 3.3)
rdoc (6.6.2) rdoc (6.6.3.1)
psych (>= 4.0.0) psych (>= 4.0.0)
redcarpet (3.6.0) redcarpet (3.6.0)
redis (4.8.1) redis (4.8.1)
@ -635,21 +634,21 @@ GEM
rspec-mocks (3.13.0) rspec-mocks (3.13.0)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0) rspec-support (~> 3.13.0)
rspec-rails (6.1.1) rspec-rails (6.1.2)
actionpack (>= 6.1) actionpack (>= 6.1)
activesupport (>= 6.1) activesupport (>= 6.1)
railties (>= 6.1) railties (>= 6.1)
rspec-core (~> 3.12) rspec-core (~> 3.13)
rspec-expectations (~> 3.12) rspec-expectations (~> 3.13)
rspec-mocks (~> 3.12) rspec-mocks (~> 3.13)
rspec-support (~> 3.12) rspec-support (~> 3.13)
rspec-sidekiq (4.1.0) rspec-sidekiq (4.1.0)
rspec-core (~> 3.0) rspec-core (~> 3.0)
rspec-expectations (~> 3.0) rspec-expectations (~> 3.0)
rspec-mocks (~> 3.0) rspec-mocks (~> 3.0)
sidekiq (>= 5, < 8) sidekiq (>= 5, < 8)
rspec-support (3.13.1) rspec-support (3.13.1)
rubocop (1.60.2) rubocop (1.62.1)
json (~> 2.3) json (~> 2.3)
language_server-protocol (>= 3.17.0) language_server-protocol (>= 3.17.0)
parallel (~> 1.10) parallel (~> 1.10)
@ -657,24 +656,24 @@ GEM
rainbow (>= 2.2.2, < 4.0) rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0) regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0) rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.30.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0)
ruby-progressbar (~> 1.7) ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0) unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.30.0) rubocop-ast (1.31.2)
parser (>= 3.2.1.0) parser (>= 3.3.0.4)
rubocop-capybara (2.20.0) rubocop-capybara (2.20.0)
rubocop (~> 1.41) rubocop (~> 1.41)
rubocop-factory_bot (2.25.0) rubocop-factory_bot (2.25.1)
rubocop (~> 1.33) rubocop (~> 1.41)
rubocop-performance (1.20.2) rubocop-performance (1.20.2)
rubocop (>= 1.48.1, < 2.0) rubocop (>= 1.48.1, < 2.0)
rubocop-ast (>= 1.30.0, < 2.0) rubocop-ast (>= 1.30.0, < 2.0)
rubocop-rails (2.23.1) rubocop-rails (2.24.0)
activesupport (>= 4.2.0) activesupport (>= 4.2.0)
rack (>= 1.1) rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0) rubocop (>= 1.33.0, < 2.0)
rubocop-ast (>= 1.30.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0)
rubocop-rspec (2.26.1) rubocop-rspec (2.27.1)
rubocop (~> 1.40) rubocop (~> 1.40)
rubocop-capybara (~> 2.17) rubocop-capybara (~> 2.17)
rubocop-factory_bot (~> 2.22) rubocop-factory_bot (~> 2.22)
@ -735,7 +734,7 @@ GEM
stoplight (3.0.2) stoplight (3.0.2)
redlock (~> 1.0) redlock (~> 1.0)
stringio (3.1.0) stringio (3.1.0)
strong_migrations (1.7.0) strong_migrations (1.8.0)
activerecord (>= 5.2) activerecord (>= 5.2)
swd (1.3.0) swd (1.3.0)
activesupport (>= 3) activesupport (>= 3)
@ -941,7 +940,7 @@ DEPENDENCIES
simplecov-lcov (~> 0.8) simplecov-lcov (~> 0.8)
stackprof stackprof
stoplight (~> 3.0.1) stoplight (~> 3.0.1)
strong_migrations (= 1.7.0) strong_migrations (= 1.8.0)
test-prof test-prof
thor (~> 1.2) thor (~> 1.2)
tty-prompt (~> 0.23) tty-prompt (~> 0.23)

View File

@ -33,7 +33,7 @@ class SeveredRelationshipsController < ApplicationController
def following_data def following_data
CSV.generate(headers: ['Account address', 'Show boosts', 'Notify on new posts', 'Languages'], write_headers: true) do |csv| CSV.generate(headers: ['Account address', 'Show boosts', 'Notify on new posts', 'Languages'], write_headers: true) do |csv|
@event.severed_relationships.active.where(local_account: current_account).includes(:remote_account).reorder(id: :desc).each do |follow| @event.severed_relationships.active.about_local_account(current_account).includes(:remote_account).reorder(id: :desc).each do |follow|
csv << [acct(follow.target_account), follow.show_reblogs, follow.notify, follow.languages&.join(', ')] csv << [acct(follow.target_account), follow.show_reblogs, follow.notify, follow.languages&.join(', ')]
end end
end end
@ -41,7 +41,7 @@ class SeveredRelationshipsController < ApplicationController
def followers_data def followers_data
CSV.generate(headers: ['Account address'], write_headers: true) do |csv| CSV.generate(headers: ['Account address'], write_headers: true) do |csv|
@event.severed_relationships.passive.where(local_account: current_account).includes(:remote_account).reorder(id: :desc).each do |follow| @event.severed_relationships.passive.about_local_account(current_account).includes(:remote_account).reorder(id: :desc).each do |follow|
csv << [acct(follow.account)] csv << [acct(follow.account)]
end end
end end

View File

@ -38,7 +38,6 @@ const messages = defineMessages({
reblog: { id: 'notification.reblog', defaultMessage: '{name} boosted your status' }, reblog: { id: 'notification.reblog', defaultMessage: '{name} boosted your status' },
status: { id: 'notification.status', defaultMessage: '{name} just posted' }, status: { id: 'notification.status', defaultMessage: '{name} just posted' },
update: { id: 'notification.update', defaultMessage: '{name} edited a post' }, update: { id: 'notification.update', defaultMessage: '{name} edited a post' },
severedRelationships: { id: 'notification.severed_relationships', defaultMessage: 'Relationships with {name} severed' },
adminSignUp: { id: 'notification.admin.sign_up', defaultMessage: '{name} signed up' }, adminSignUp: { id: 'notification.admin.sign_up', defaultMessage: '{name} signed up' },
adminReport: { id: 'notification.admin.report', defaultMessage: '{name} reported {target}' }, adminReport: { id: 'notification.admin.report', defaultMessage: '{name} reported {target}' },
}); });
@ -375,7 +374,7 @@ class Notification extends ImmutablePureComponent {
<Icon id='unlink' icon={LinkOffIcon} /> <Icon id='unlink' icon={LinkOffIcon} />
<span title={notification.get('created_at')}> <span title={notification.get('created_at')}>
<FormattedMessage id='notification.severedRelationships' defaultMessage='Relationships with {name} severed' values={{ name: notification.getIn(['event', 'target_name']) }} /> <FormattedMessage id='notification.severed_relationships' defaultMessage='Relationships with {name} severed' values={{ name: notification.getIn(['event', 'target_name']) }} />
</span> </span>
</div> </div>

View File

@ -434,7 +434,7 @@
"mute_modal.they_can_mention_and_follow": "Могат да ви споменават и последват, но няма да ги виждате.", "mute_modal.they_can_mention_and_follow": "Могат да ви споменават и последват, но няма да ги виждате.",
"mute_modal.they_wont_know": "Няма да узнаят, че са били заглушени.", "mute_modal.they_wont_know": "Няма да узнаят, че са били заглушени.",
"mute_modal.title": "Заглушавате ли потребител?", "mute_modal.title": "Заглушавате ли потребител?",
"mute_modal.you_wont_see_mentions": "Няма да виждате споменаващи ги публикации.", "mute_modal.you_wont_see_mentions": "Няма да виждате споменаващите ги публикации.",
"mute_modal.you_wont_see_posts": "Още могат да виждат публикациите ви, но вие техните не.", "mute_modal.you_wont_see_posts": "Още могат да виждат публикациите ви, но вие техните не.",
"navigation_bar.about": "Относно", "navigation_bar.about": "Относно",
"navigation_bar.advanced_interface": "Отваряне в разширен уебинтерфейс", "navigation_bar.advanced_interface": "Отваряне в разширен уебинтерфейс",
@ -471,6 +471,8 @@
"notification.own_poll": "Анкетата ви приключи", "notification.own_poll": "Анкетата ви приключи",
"notification.poll": "Анкета, в която гласувахте, приключи", "notification.poll": "Анкета, в която гласувахте, приключи",
"notification.reblog": "{name} подсили ваша публикация", "notification.reblog": "{name} подсили ваша публикация",
"notification.severedRelationships": "Връзката с {name} е прекъсната",
"notification.severed_relationships": "Връзката с {name} е прекъсната",
"notification.status": "{name} току-що публикува", "notification.status": "{name} току-що публикува",
"notification.update": "{name} промени публикация", "notification.update": "{name} промени публикация",
"notification_requests.accept": "Приемам", "notification_requests.accept": "Приемам",
@ -587,6 +589,12 @@
"refresh": "Опресняване", "refresh": "Опресняване",
"regeneration_indicator.label": "Зареждане…", "regeneration_indicator.label": "Зареждане…",
"regeneration_indicator.sublabel": "Подготовка на началния ви инфоканал!", "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.days": "{number} д.",
"relative_time.full.days": "преди {number, plural, one {# ден} other {# дни}}", "relative_time.full.days": "преди {number, plural, one {# ден} other {# дни}}",
"relative_time.full.hours": "преди {number, plural, one {# час} other {# часа}}", "relative_time.full.hours": "преди {number, plural, one {# час} other {# часа}}",

View File

@ -471,6 +471,8 @@
"notification.own_poll": "La teva enquesta ha finalitzat", "notification.own_poll": "La teva enquesta ha finalitzat",
"notification.poll": "Ha finalitzat una enquesta en què has votat", "notification.poll": "Ha finalitzat una enquesta en què has votat",
"notification.reblog": "{name} t'ha impulsat", "notification.reblog": "{name} t'ha impulsat",
"notification.severedRelationships": "S'han eliminat les relacions amb {name}",
"notification.severed_relationships": "S'han eliminat les relacions amb {name}",
"notification.status": "{name} acaba de publicar", "notification.status": "{name} acaba de publicar",
"notification.update": "{name} ha editat un tut", "notification.update": "{name} ha editat un tut",
"notification_requests.accept": "Accepta", "notification_requests.accept": "Accepta",
@ -587,6 +589,12 @@
"refresh": "Actualitza", "refresh": "Actualitza",
"regeneration_indicator.label": "Es carrega…", "regeneration_indicator.label": "Es carrega…",
"regeneration_indicator.sublabel": "Es prepara la teva línia de temps d'Inici!", "regeneration_indicator.sublabel": "Es prepara la teva línia de temps d'Inici!",
"relationship_severance_notification.purged_data": "ho han purgat els 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": "Veure",
"relative_time.days": "{number}d", "relative_time.days": "{number}d",
"relative_time.full.days": "fa {number, plural, one {# dia} other {# dies}}", "relative_time.full.days": "fa {number, plural, one {# dia} other {# dies}}",
"relative_time.full.hours": "fa {number, plural, one {# hora} other {# hores}}", "relative_time.full.hours": "fa {number, plural, one {# hora} other {# hores}}",

View File

@ -469,6 +469,7 @@
"notification.own_poll": "Din afstemning er afsluttet", "notification.own_poll": "Din afstemning er afsluttet",
"notification.poll": "En afstemning, hvori du stemte, er slut", "notification.poll": "En afstemning, hvori du stemte, er slut",
"notification.reblog": "{name} boostede dit indlæg", "notification.reblog": "{name} boostede dit indlæg",
"notification.severedRelationships": "Forhold med {name} afbrudt",
"notification.status": "{name} har netop postet", "notification.status": "{name} har netop postet",
"notification.update": "{name} redigerede et indlæg", "notification.update": "{name} redigerede et indlæg",
"notification_requests.accept": "Acceptér", "notification_requests.accept": "Acceptér",
@ -585,6 +586,12 @@
"refresh": "Genindlæs", "refresh": "Genindlæs",
"regeneration_indicator.label": "Indlæser…", "regeneration_indicator.label": "Indlæser…",
"regeneration_indicator.sublabel": "Din hjemmetidslinje klargøres!", "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.days": "{number}d",
"relative_time.full.days": "{number, plural, one {# dag} other {# dage}} siden", "relative_time.full.days": "{number, plural, one {# dag} other {# dage}} siden",
"relative_time.full.hours": "{number, plural, one {# time} other {# timer}} siden", "relative_time.full.hours": "{number, plural, one {# time} other {# timer}} siden",

View File

@ -471,7 +471,6 @@
"notification.own_poll": "Your poll has ended", "notification.own_poll": "Your poll has ended",
"notification.poll": "A poll you have voted in has ended", "notification.poll": "A poll you have voted in has ended",
"notification.reblog": "{name} boosted your post", "notification.reblog": "{name} boosted your post",
"notification.severedRelationships": "Relationships with {name} severed",
"notification.severed_relationships": "Relationships with {name} severed", "notification.severed_relationships": "Relationships with {name} severed",
"notification.status": "{name} just posted", "notification.status": "{name} just posted",
"notification.update": "{name} edited a post", "notification.update": "{name} edited a post",

View File

@ -471,6 +471,8 @@
"notification.own_poll": "Zure inkesta amaitu da", "notification.own_poll": "Zure inkesta amaitu da",
"notification.poll": "Zuk erantzun duzun inkesta bat bukatu da", "notification.poll": "Zuk erantzun duzun inkesta bat bukatu da",
"notification.reblog": "{name}(e)k bultzada eman dio zure bidalketari", "notification.reblog": "{name}(e)k bultzada eman dio zure bidalketari",
"notification.severedRelationships": "{name} erabiltzailearekin zenuen erlazioa galdu da",
"notification.severed_relationships": "{name} erabiltzailearekin zenuen erlazioa galdu da",
"notification.status": "{name} erabiltzaileak bidalketa egin berri du", "notification.status": "{name} erabiltzaileak bidalketa egin berri du",
"notification.update": "{name} erabiltzaileak bidalketa bat editatu du", "notification.update": "{name} erabiltzaileak bidalketa bat editatu du",
"notification_requests.accept": "Onartu", "notification_requests.accept": "Onartu",
@ -587,6 +589,12 @@
"refresh": "Berritu", "refresh": "Berritu",
"regeneration_indicator.label": "Kargatzen…", "regeneration_indicator.label": "Kargatzen…",
"regeneration_indicator.sublabel": "Zure hasiera-jarioa prestatzen ari da!", "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.days": "{number}e",
"relative_time.full.days": "Duela {number, plural, one {egun #} other {# egun}}", "relative_time.full.days": "Duela {number, plural, one {egun #} other {# egun}}",
"relative_time.full.hours": "Duela {number, plural, one {ordu #} other {# ordu}}", "relative_time.full.hours": "Duela {number, plural, one {ordu #} other {# ordu}}",

View File

@ -471,6 +471,8 @@
"notification.own_poll": "Äänestyksesi on päättynyt", "notification.own_poll": "Äänestyksesi on päättynyt",
"notification.poll": "Kysely, johon osallistuit, on päättynyt", "notification.poll": "Kysely, johon osallistuit, on päättynyt",
"notification.reblog": "{name} tehosti julkaisuasi", "notification.reblog": "{name} tehosti julkaisuasi",
"notification.severedRelationships": "Suhteet palvelimeen {name} katkenneet",
"notification.severed_relationships": "Suhteet palvelimeen {name} katkenneet",
"notification.status": "{name} julkaisi juuri", "notification.status": "{name} julkaisi juuri",
"notification.update": "{name} muokkasi julkaisua", "notification.update": "{name} muokkasi julkaisua",
"notification_requests.accept": "Hyväksy", "notification_requests.accept": "Hyväksy",
@ -587,6 +589,12 @@
"refresh": "Päivitä", "refresh": "Päivitä",
"regeneration_indicator.label": "Ladataan…", "regeneration_indicator.label": "Ladataan…",
"regeneration_indicator.sublabel": "Kotisyötettäsi valmistellaan!", "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.days": "{number} pv",
"relative_time.full.days": "{number, plural, one {# päivä} other {# päivää}} sitten", "relative_time.full.days": "{number, plural, one {# päivä} other {# päivää}} sitten",
"relative_time.full.hours": "{number, plural, one {# tunti} other {# tuntia}} sitten", "relative_time.full.hours": "{number, plural, one {# tunti} other {# tuntia}} sitten",

View File

@ -471,6 +471,8 @@
"notification.own_poll": "Tín atkvøðugreiðsla er endað", "notification.own_poll": "Tín atkvøðugreiðsla er endað",
"notification.poll": "Ein atkvøðugreiðsla, har tú hevur atkvøtt, er endað", "notification.poll": "Ein atkvøðugreiðsla, har tú hevur atkvøtt, er endað",
"notification.reblog": "{name} lyfti tín post", "notification.reblog": "{name} lyfti tín post",
"notification.severedRelationships": "Tilknýti við {name} avbrotið",
"notification.severed_relationships": "Tilknýti við {name} avbrotið",
"notification.status": "{name} hevur júst postað", "notification.status": "{name} hevur júst postað",
"notification.update": "{name} rættaði ein post", "notification.update": "{name} rættaði ein post",
"notification_requests.accept": "Góðtak", "notification_requests.accept": "Góðtak",
@ -587,6 +589,12 @@
"refresh": "Endurles", "refresh": "Endurles",
"regeneration_indicator.label": "Innlesur…", "regeneration_indicator.label": "Innlesur…",
"regeneration_indicator.sublabel": "Tín heimarás verður gjørd klár!", "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.days": "{number}d",
"relative_time.full.days": "{number, plural, one {# dagur} other {# dagar}} síðani", "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", "relative_time.full.hours": "{number, plural, one {# tími} other {# tímar}} síðani",

View File

@ -471,6 +471,8 @@
"notification.own_poll": "Thàinig an cunntas-bheachd agad gu crìoch", "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.poll": "Thàinig cunntas-bheachd sa bhòt thu gu crìoch",
"notification.reblog": "Bhrosnaich {name} am post agad", "notification.reblog": "Bhrosnaich {name} am post agad",
"notification.severedRelationships": "Chaidh na dàimhean le {name} a dhealachadh",
"notification.severed_relationships": "Chaidh na dàimhean le {name} a dhealachadh",
"notification.status": "Phostaich {name} rud", "notification.status": "Phostaich {name} rud",
"notification.update": "Dheasaich {name} post", "notification.update": "Dheasaich {name} post",
"notification_requests.accept": "Gabh ris", "notification_requests.accept": "Gabh ris",
@ -514,7 +516,7 @@
"notifications.policy.filter_not_followers_title": "Daoine nach eil gad leantainn", "notifications.policy.filter_not_followers_title": "Daoine nach eil gad leantainn",
"notifications.policy.filter_not_following_hint": "Gus an aontaich thu riutha a làimh", "notifications.policy.filter_not_following_hint": "Gus an aontaich thu riutha a làimh",
"notifications.policy.filter_not_following_title": "Daoine nach eil thu a leantainn", "notifications.policy.filter_not_following_title": "Daoine nach eil thu a leantainn",
"notifications.policy.filter_private_mentions_hint": "Criathraichte ach ma tha e a freagairt do dhiomradh agad fhèin no ma tha thu a leantainn an seòladair", "notifications.policy.filter_private_mentions_hint": "Criathraichte ach ma tha e a freagairt do dhiomradh agad fhèin no ma tha thu a leantainn an t-seòladair",
"notifications.policy.filter_private_mentions_title": "Iomraidhean prìobhaideach o choigrich", "notifications.policy.filter_private_mentions_title": "Iomraidhean prìobhaideach o choigrich",
"notifications.policy.title": "Falamhaich na brathan o…", "notifications.policy.title": "Falamhaich na brathan o…",
"notifications_permission_banner.enable": "Cuir brathan deasga an comas", "notifications_permission_banner.enable": "Cuir brathan deasga an comas",
@ -587,6 +589,11 @@
"refresh": "Ath-nuadhaich", "refresh": "Ath-nuadhaich",
"regeneration_indicator.label": "Ga luchdadh…", "regeneration_indicator.label": "Ga luchdadh…",
"regeneration_indicator.sublabel": "Tha do dhachaigh ga ullachadh!", "regeneration_indicator.sublabel": "Tha do dhachaigh ga ullachadh!",
"relationship_severance_notification.purged_data": "chaidh a phurgaideachadh leis na rianairean",
"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.days": "{number}l",
"relative_time.full.days": "{number, plural, one {# latha} two {# latha} few {# làithean} other {# latha}} air ais", "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", "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",

View File

@ -471,6 +471,8 @@
"notification.own_poll": "A szavazásod véget ért", "notification.own_poll": "A szavazásod véget ért",
"notification.poll": "Egy szavazás, melyben részt vettél, véget ért", "notification.poll": "Egy szavazás, melyben részt vettél, véget ért",
"notification.reblog": "{name} megtolta a bejegyzésedet", "notification.reblog": "{name} megtolta a bejegyzésedet",
"notification.severedRelationships": "A kapcsolatok megszakítva ezzel: {name}",
"notification.severed_relationships": "A kapcsolatok megszakítva ezzel: {name}",
"notification.status": "{name} bejegyzést tett közzé", "notification.status": "{name} bejegyzést tett közzé",
"notification.update": "{name} szerkesztett egy bejegyzést", "notification.update": "{name} szerkesztett egy bejegyzést",
"notification_requests.accept": "Elfogadás", "notification_requests.accept": "Elfogadás",
@ -587,6 +589,12 @@
"refresh": "Frissítés", "refresh": "Frissítés",
"regeneration_indicator.label": "Betöltés…", "regeneration_indicator.label": "Betöltés…",
"regeneration_indicator.sublabel": "A saját idővonalad épp készül!", "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.days": "{number}n",
"relative_time.full.days": "{number, plural, one {# napja} other {# napja}}", "relative_time.full.days": "{number, plural, one {# napja} other {# napja}}",
"relative_time.full.hours": "{number, plural, one {# órája} other {# órája}}", "relative_time.full.hours": "{number, plural, one {# órája} other {# órája}}",

View File

@ -220,7 +220,7 @@
"domain_pill.activitypub_lets_connect": "이것은 마스토돈 뿐만이 아니라 다른 소셜 앱들을 넘나들며 사람들을 연결하고 상호작용 할 수 있게 합니다.", "domain_pill.activitypub_lets_connect": "이것은 마스토돈 뿐만이 아니라 다른 소셜 앱들을 넘나들며 사람들을 연결하고 상호작용 할 수 있게 합니다.",
"domain_pill.activitypub_like_language": "액티비티펍은 마스토돈이 다른 소셜 네트워크와 대화할 때 쓰는 언어 같은 것입니다.", "domain_pill.activitypub_like_language": "액티비티펍은 마스토돈이 다른 소셜 네트워크와 대화할 때 쓰는 언어 같은 것입니다.",
"domain_pill.server": "서버", "domain_pill.server": "서버",
"domain_pill.their_handle": "의 핸들:", "domain_pill.their_handle": "이 사람의 핸들:",
"domain_pill.their_server": "그의 게시물이 살고 있는 디지털 거처입니다.", "domain_pill.their_server": "그의 게시물이 살고 있는 디지털 거처입니다.",
"domain_pill.their_username": "그의 서버에서 유일한 식별자입니다. 다른 서버에서 같은 사용자명을 가진 사용자를 찾을 수도 있습니다.", "domain_pill.their_username": "그의 서버에서 유일한 식별자입니다. 다른 서버에서 같은 사용자명을 가진 사용자를 찾을 수도 있습니다.",
"domain_pill.username": "사용자명", "domain_pill.username": "사용자명",
@ -471,6 +471,8 @@
"notification.own_poll": "설문을 마침", "notification.own_poll": "설문을 마침",
"notification.poll": "참여한 설문이 종료됨", "notification.poll": "참여한 설문이 종료됨",
"notification.reblog": "{name} 님이 부스트했습니다", "notification.reblog": "{name} 님이 부스트했습니다",
"notification.severedRelationships": "{name} 님과의 관계가 단절되었습니다",
"notification.severed_relationships": "{name} 님과의 관계가 단절되었습니다",
"notification.status": "{name} 님이 방금 게시물을 올렸습니다", "notification.status": "{name} 님이 방금 게시물을 올렸습니다",
"notification.update": "{name} 님이 게시물을 수정했습니다", "notification.update": "{name} 님이 게시물을 수정했습니다",
"notification_requests.accept": "수락", "notification_requests.accept": "수락",
@ -587,6 +589,12 @@
"refresh": "새로고침", "refresh": "새로고침",
"regeneration_indicator.label": "불러오는 중…", "regeneration_indicator.label": "불러오는 중…",
"regeneration_indicator.sublabel": "홈 피드를 준비하고 있습니다!", "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.days": "{number}일 전",
"relative_time.full.days": "{number} 일 전", "relative_time.full.days": "{number} 일 전",
"relative_time.full.hours": "{number} 시간 전", "relative_time.full.hours": "{number} 시간 전",

View File

@ -91,7 +91,10 @@
"audio.hide": "Eskonde audio", "audio.hide": "Eskonde audio",
"block_modal.show_less": "Amostra manko", "block_modal.show_less": "Amostra manko",
"block_modal.show_more": "Amostra mas", "block_modal.show_more": "Amostra mas",
"block_modal.they_cant_mention": "No te puede enmentar ni segir.",
"block_modal.they_will_know": "Puede ver ke esta blokado.",
"block_modal.title": "Bloka utilizador?", "block_modal.title": "Bloka utilizador?",
"block_modal.you_wont_see_mentions": "No veras publikasyones ke lo enmentan.",
"boost_modal.combo": "Puedes klikar {combo} para ometer esto la proksima vez", "boost_modal.combo": "Puedes klikar {combo} para ometer esto la proksima vez",
"bundle_column_error.copy_stacktrace": "Kopia el raporto de yerro", "bundle_column_error.copy_stacktrace": "Kopia el raporto de yerro",
"bundle_column_error.error.body": "La pajina solisitada no pudo ser renderada. Podria ser por un yerro en muestro kodiche o un problem de kompatibilita kon el navigador.", "bundle_column_error.error.body": "La pajina solisitada no pudo ser renderada. Podria ser por un yerro en muestro kodiche o un problem de kompatibilita kon el navigador.",
@ -205,9 +208,16 @@
"dismissable_banner.explore_tags": "Estas etiketas estan agora popularas en la red sosyala. Etiketas uzadas por mas djente aparesen primero.", "dismissable_banner.explore_tags": "Estas etiketas estan agora popularas en la red sosyala. Etiketas uzadas por mas djente aparesen primero.",
"dismissable_banner.public_timeline": "Estas son las publikasyones publikas mas resientes de personas en la red sosyala a las kualas la djente de {domain} sige.", "dismissable_banner.public_timeline": "Estas son las publikasyones publikas mas resientes de personas en la red sosyala a las kualas la djente de {domain} sige.",
"domain_block_modal.block": "Bloka sirvidor", "domain_block_modal.block": "Bloka sirvidor",
"domain_block_modal.block_account_instead": "Bloka @{name} en su lugar",
"domain_block_modal.they_cant_follow": "Dingun de este sirvidor puede segirte.",
"domain_block_modal.they_wont_know": "No savra ke tiene sido blokado.",
"domain_block_modal.title": "Bloka el domeno?", "domain_block_modal.title": "Bloka el domeno?",
"domain_block_modal.you_will_lose_followers": "Se efasaran todos tus suivantes de este sirvidor.",
"domain_pill.server": "Sirvidor", "domain_pill.server": "Sirvidor",
"domain_pill.their_handle": "Su alias:",
"domain_pill.username": "Nombre de utilizador", "domain_pill.username": "Nombre de utilizador",
"domain_pill.whats_in_a_handle": "En ke konsiste el alias?",
"domain_pill.your_handle": "Tu alias:",
"embed.instructions": "Enkrusta esta publikasyon en tu sitio internetiko kopiando este kodiche.", "embed.instructions": "Enkrusta esta publikasyon en tu sitio internetiko kopiando este kodiche.",
"embed.preview": "Paresera ansina:", "embed.preview": "Paresera ansina:",
"emoji_button.activity": "Aktivita", "emoji_button.activity": "Aktivita",
@ -404,6 +414,13 @@
"loading_indicator.label": "Eskargando…", "loading_indicator.label": "Eskargando…",
"media_gallery.toggle_visible": "{number, plural, one {Eskonde imaje} other {Eskonde imajes}}", "media_gallery.toggle_visible": "{number, plural, one {Eskonde imaje} other {Eskonde imajes}}",
"moved_to_account_banner.text": "Tu kuento {disabledAccount} esta aktualmente inkapasitado porke transferates a {movedToAccount}.", "moved_to_account_banner.text": "Tu kuento {disabledAccount} esta aktualmente inkapasitado porke transferates a {movedToAccount}.",
"mute_modal.hide_from_notifications": "Eskonde de avizos",
"mute_modal.hide_options": "Eskonde opsyones",
"mute_modal.indefinite": "Asta ke desho de silensyarlo",
"mute_modal.show_options": "Amostra opsyones",
"mute_modal.they_wont_know": "No savra ke tiene sido silensyado.",
"mute_modal.title": "Silensiar utilizador?",
"mute_modal.you_wont_see_mentions": "No veras publikasyones ke lo enmentan.",
"navigation_bar.about": "Sovre mozotros", "navigation_bar.about": "Sovre mozotros",
"navigation_bar.advanced_interface": "Avre en la enterfaz avanzada", "navigation_bar.advanced_interface": "Avre en la enterfaz avanzada",
"navigation_bar.blocks": "Utilizadores blokados", "navigation_bar.blocks": "Utilizadores blokados",
@ -553,6 +570,8 @@
"refresh": "Arefreska", "refresh": "Arefreska",
"regeneration_indicator.label": "Eskargando…", "regeneration_indicator.label": "Eskargando…",
"regeneration_indicator.sublabel": "Tu linya de tiempo prinsipala esta preparando!", "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.days": "{number} d",
"relative_time.full.days": "antes {number, plural, one {# diya} other {# diyas}}", "relative_time.full.days": "antes {number, plural, one {# diya} other {# diyas}}",
"relative_time.full.hours": "antes {number, plural, one {# ora} other {# oras}}", "relative_time.full.hours": "antes {number, plural, one {# ora} other {# oras}}",

View File

@ -236,7 +236,7 @@
"empty_column.lists": "Pašlaik Tev nav neviena saraksta. Kad tādu izveidosi, tas parādīsies šeit.", "empty_column.lists": "Pašlaik Tev nav neviena saraksta. Kad tādu izveidosi, tas parādīsies šeit.",
"empty_column.mutes": "Neviens lietotājs vēl nav apklusināts.", "empty_column.mutes": "Neviens lietotājs vēl nav apklusināts.",
"empty_column.notifications": "Tev vēl nav paziņojumu. Kad citi cilvēki ar Tevi mijiedarbosies, Tu to redzēsi šeit.", "empty_column.notifications": "Tev vēl nav paziņojumu. Kad citi cilvēki ar Tevi mijiedarbosies, Tu to redzēsi šeit.",
"empty_column.public": "Šeit nekā nav! Ieraksti kaut ko publiski vai seko lietotājiem no citiem serveriem, lai iegūtu saturu", "empty_column.public": "Šeit nekā nav. Ieraksti kaut ko publiski vai seko lietotājiem no citiem serveriem, lai iegūtu saturu",
"error.unexpected_crash.explanation": "Koda kļūdas vai pārlūkprogrammas saderības problēmas dēļ šo lapu nevarēja parādīt pareizi.", "error.unexpected_crash.explanation": "Koda kļūdas vai pārlūkprogrammas saderības problēmas dēļ šo lapu nevarēja parādīt pareizi.",
"error.unexpected_crash.explanation_addons": "Šo lapu nevarēja parādīt pareizi. Šo kļūdu, iespējams, izraisīja pārlūkprogrammas papildinājums vai automātiskās tulkošanas rīki.", "error.unexpected_crash.explanation_addons": "Šo lapu nevarēja parādīt pareizi. Šo kļūdu, iespējams, izraisīja pārlūkprogrammas papildinājums vai automātiskās tulkošanas rīki.",
"error.unexpected_crash.next_steps": "Mēģini atsvaidzināt lapu. Ja tas nepalīdz, iespējams, varēsi lietot Mastodon, izmantojot citu pārlūkprogrammu vai lietotni.", "error.unexpected_crash.next_steps": "Mēģini atsvaidzināt lapu. Ja tas nepalīdz, iespējams, varēsi lietot Mastodon, izmantojot citu pārlūkprogrammu vai lietotni.",
@ -265,6 +265,7 @@
"filter_modal.select_filter.subtitle": "Izmanto esošu kategoriju vai izveido jaunu", "filter_modal.select_filter.subtitle": "Izmanto esošu kategoriju vai izveido jaunu",
"filter_modal.select_filter.title": "Filtrēt šo ziņu", "filter_modal.select_filter.title": "Filtrēt šo ziņu",
"filter_modal.title.status": "Filtrēt ziņu", "filter_modal.title.status": "Filtrēt ziņu",
"filtered_notifications_banner.pending_requests": "Paziņojumi no {count, plural, =0 {neviena} one {viena cilvēka} other {# cilvēkiem}}, ko Tu varētu zināt",
"firehose.all": "Visi", "firehose.all": "Visi",
"firehose.local": "Šis serveris", "firehose.local": "Šis serveris",
"firehose.remote": "Citi serveri", "firehose.remote": "Citi serveri",
@ -273,6 +274,7 @@
"follow_requests.unlocked_explanation": "Lai gan Tavs konts nav slēgts, {domain} darbinieki iedomājās, ka Tu varētu vēlēties pašrocīgi pārskatīt sekošanas pieprasījumus no šiem kontiem.", "follow_requests.unlocked_explanation": "Lai gan Tavs konts nav slēgts, {domain} darbinieki iedomājās, ka Tu varētu vēlēties pašrocīgi pārskatīt sekošanas pieprasījumus no šiem kontiem.",
"follow_suggestions.curated_suggestion": "Darbinieku izvēle", "follow_suggestions.curated_suggestion": "Darbinieku izvēle",
"follow_suggestions.dismiss": "Vairs nerādīt", "follow_suggestions.dismiss": "Vairs nerādīt",
"follow_suggestions.personalized_suggestion": "Pielāgots ieteikums",
"follow_suggestions.view_all": "Skatīt visu", "follow_suggestions.view_all": "Skatīt visu",
"follow_suggestions.who_to_follow": "Kam sekot", "follow_suggestions.who_to_follow": "Kam sekot",
"followed_tags": "Sekojamie tēmturi", "followed_tags": "Sekojamie tēmturi",
@ -413,7 +415,7 @@
"navigation_bar.security": "Drošība", "navigation_bar.security": "Drošība",
"not_signed_in_indicator.not_signed_in": "Ir jāpiesakās, lai piekļūtu šim resursam.", "not_signed_in_indicator.not_signed_in": "Ir jāpiesakās, lai piekļūtu šim resursam.",
"notification.admin.report": "{name} ziņoja par {target}", "notification.admin.report": "{name} ziņoja par {target}",
"notification.admin.sign_up": "{name} ir pierakstījies", "notification.admin.sign_up": "{name} pierakstījās",
"notification.favourite": "{name} pievienoja tavu ziņu izlasei", "notification.favourite": "{name} pievienoja tavu ziņu izlasei",
"notification.follow": "{name} uzsāka Tev sekot", "notification.follow": "{name} uzsāka Tev sekot",
"notification.follow_request": "{name} nosūtīja Tev sekošanas pieprasījumu", "notification.follow_request": "{name} nosūtīja Tev sekošanas pieprasījumu",
@ -464,7 +466,7 @@
"onboarding.compose.template": "Sveiki, #Mastodon!", "onboarding.compose.template": "Sveiki, #Mastodon!",
"onboarding.follows.empty": "Diemžēl pašlaik nevar parādīt rezultātus. Vari mēģināt izmantot meklēšanu vai pārlūkot izpētes lapu, lai atrastu cilvēkus, kuriem sekot, vai vēlāk mēģināt vēlreiz.", "onboarding.follows.empty": "Diemžēl pašlaik nevar parādīt rezultātus. Vari mēģināt izmantot meklēšanu vai pārlūkot izpētes lapu, lai atrastu cilvēkus, kuriem sekot, vai vēlāk mēģināt vēlreiz.",
"onboarding.follows.lead": "Tava mājas plūsma ir galvenais veids, kā izbaudīt Mastodon. Jo vairāk cilvēku sekosi, jo aktīvāk un interesantāk tas būs. Lai sāktu, šeit ir daži ieteikumi:", "onboarding.follows.lead": "Tava mājas plūsma ir galvenais veids, kā izbaudīt Mastodon. Jo vairāk cilvēku sekosi, jo aktīvāk un interesantāk tas būs. Lai sāktu, šeit ir daži ieteikumi:",
"onboarding.follows.title": "Populārs Mastodon", "onboarding.follows.title": "Pielāgo savu mājas barotni",
"onboarding.profile.discoverable": "Padarīt manu profilu atklājamu", "onboarding.profile.discoverable": "Padarīt manu profilu atklājamu",
"onboarding.profile.display_name": "Attēlojamais vārds", "onboarding.profile.display_name": "Attēlojamais vārds",
"onboarding.profile.display_name_hint": "Tavs pilnais vārds vai Tavs joku vārds…", "onboarding.profile.display_name_hint": "Tavs pilnais vārds vai Tavs joku vārds…",
@ -482,7 +484,7 @@
"onboarding.start.skip": "Nav nepieciešama palīdzība darba sākšanai?", "onboarding.start.skip": "Nav nepieciešama palīdzība darba sākšanai?",
"onboarding.start.title": "Tev tas izdevās!", "onboarding.start.title": "Tev tas izdevās!",
"onboarding.steps.follow_people.body": "Tu pats veido savu plūsmu. Piepildīsim to ar interesantiem cilvēkiem.", "onboarding.steps.follow_people.body": "Tu pats veido savu plūsmu. Piepildīsim to ar interesantiem cilvēkiem.",
"onboarding.steps.follow_people.title": "Sekot {count, plural, one {one person} other {# cilvēkiem}}", "onboarding.steps.follow_people.title": "Pielāgo savu mājas barotni",
"onboarding.steps.publish_status.body": "Sveicini pasauli ar tekstu, fotoattēliem, video, vai aptaujām {emoji}", "onboarding.steps.publish_status.body": "Sveicini pasauli ar tekstu, fotoattēliem, video, vai aptaujām {emoji}",
"onboarding.steps.publish_status.title": "Izveido savu pirmo ziņu", "onboarding.steps.publish_status.title": "Izveido savu pirmo ziņu",
"onboarding.steps.setup_profile.body": "Palielini mijiedarbību ar aptverošu profilu!", "onboarding.steps.setup_profile.body": "Palielini mijiedarbību ar aptverošu profilu!",
@ -492,14 +494,14 @@
"onboarding.tips.2fa": "<strong>Vai zināji?</strong> Tu vari aizsargāt savu kontu, konta iestatījumos iestatot divpakāpju autentifikāciju. Tas darbojas ar jebkuru Tevis izvēlētu TOTP lietotni, nav nepieciešams tālruņa numurs!", "onboarding.tips.2fa": "<strong>Vai zināji?</strong> Tu vari aizsargāt savu kontu, konta iestatījumos iestatot divpakāpju autentifikāciju. Tas darbojas ar jebkuru Tevis izvēlētu TOTP lietotni, nav nepieciešams tālruņa numurs!",
"onboarding.tips.accounts_from_other_servers": "<strong>Vai zināji?</strong> Tā kā Mastodon ir decentralizēts, daži profili, ar kuriem saskaraties, tiks mitināti citos, nevis tavos serveros. Un tomēr tu varat sazināties ar viņiem nevainojami! Viņu serveris atrodas viņu lietotājvārda otrajā pusē!", "onboarding.tips.accounts_from_other_servers": "<strong>Vai zināji?</strong> Tā kā Mastodon ir decentralizēts, daži profili, ar kuriem saskaraties, tiks mitināti citos, nevis tavos serveros. Un tomēr tu varat sazināties ar viņiem nevainojami! Viņu serveris atrodas viņu lietotājvārda otrajā pusē!",
"onboarding.tips.migration": "<strong>Vai zināji?</strong> Ja uzskati, ka {domain} nākotnē nav lieliska servera izvēle, vari pāriet uz citu Mastodon serveri, nezaudējot savus sekotājus. Tu pat vari mitināt savu serveri!", "onboarding.tips.migration": "<strong>Vai zināji?</strong> Ja uzskati, ka {domain} nākotnē nav lieliska servera izvēle, vari pāriet uz citu Mastodon serveri, nezaudējot savus sekotājus. Tu pat vari mitināt savu serveri!",
"onboarding.tips.verification": "<strong>Vai zināji?</strong> Tu vari verificēt savu kontu, ievietojot saiti uz savu Mastodon profilu savā vietnē un pievienojot vietni savam profilam. Nav nepieciešami nekādi maksājumi vai dokumenti!", "onboarding.tips.verification": "<strong>Vai zināji?</strong> Tu vari apliecināt savu kontu, ievietojot savā tīmekļvietnē saiti uz savu Mastodon profilu un pievienojot tīmekļvietni savam profilam. Nav nepieciešami nekādi maksājumi vai dokumenti.",
"password_confirmation.exceeds_maxlength": "Paroles apstiprināšana pārsniedz maksimālo paroles garumu", "password_confirmation.exceeds_maxlength": "Paroles apstiprināšana pārsniedz maksimālo paroles garumu",
"password_confirmation.mismatching": "Paroles apstiprinājums neatbilst", "password_confirmation.mismatching": "Paroles apstiprinājums neatbilst",
"picture_in_picture.restore": "Novietot atpakaļ", "picture_in_picture.restore": "Novietot atpakaļ",
"poll.closed": "Pabeigta", "poll.closed": "Pabeigta",
"poll.refresh": "Atsvaidzināt", "poll.refresh": "Atsvaidzināt",
"poll.reveal": "Skatīt rezultātus", "poll.reveal": "Skatīt rezultātus",
"poll.total_people": "{count, plural, zero {# cilvēku} one {# persona} other {# cilvēki}}", "poll.total_people": "{count, plural, zero {# cilvēku} one {# cilvēks} other {# cilvēki}}",
"poll.total_votes": "{count, plural, zero {# balsojumu} one {# balsojums} other {# balsojumi}}", "poll.total_votes": "{count, plural, zero {# balsojumu} one {# balsojums} other {# balsojumi}}",
"poll.vote": "Balsot", "poll.vote": "Balsot",
"poll.voted": "Tu balsoji par šo atbildi", "poll.voted": "Tu balsoji par šo atbildi",

View File

@ -471,6 +471,8 @@
"notification.own_poll": "Jouw peiling is beëindigd", "notification.own_poll": "Jouw peiling is beëindigd",
"notification.poll": "Een peiling waaraan jij hebt meegedaan is beëindigd", "notification.poll": "Een peiling waaraan jij hebt meegedaan is beëindigd",
"notification.reblog": "{name} boostte jouw bericht", "notification.reblog": "{name} boostte jouw bericht",
"notification.severedRelationships": "Volgrelaties met {name} verbroken",
"notification.severed_relationships": "Volgrelaties met {name} verbroken",
"notification.status": "{name} heeft zojuist een bericht geplaatst", "notification.status": "{name} heeft zojuist een bericht geplaatst",
"notification.update": "{name} heeft een bericht bewerkt", "notification.update": "{name} heeft een bericht bewerkt",
"notification_requests.accept": "Accepteren", "notification_requests.accept": "Accepteren",
@ -587,6 +589,12 @@
"refresh": "Vernieuwen", "refresh": "Vernieuwen",
"regeneration_indicator.label": "Aan het laden…", "regeneration_indicator.label": "Aan het laden…",
"regeneration_indicator.sublabel": "Jouw starttijdlijn wordt aangemaakt!", "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.days": "{number}d",
"relative_time.full.days": "{number, plural, one {# dag} other {# dagen}} geleden", "relative_time.full.days": "{number, plural, one {# dag} other {# dagen}} geleden",
"relative_time.full.hours": "{number, plural, one {# uur} other {# uur}} geleden", "relative_time.full.hours": "{number, plural, one {# uur} other {# uur}} geleden",

View File

@ -32,7 +32,7 @@
"account.featured_tags.last_status_never": "Ingen innlegg", "account.featured_tags.last_status_never": "Ingen innlegg",
"account.featured_tags.title": "{name} sine framheva emneknaggar", "account.featured_tags.title": "{name} sine framheva emneknaggar",
"account.follow": "Fylg", "account.follow": "Fylg",
"account.follow_back": "Følg tilbake", "account.follow_back": "Fylg tilbake",
"account.followers": "Fylgjarar", "account.followers": "Fylgjarar",
"account.followers.empty": "Ingen fylgjer denne brukaren enno.", "account.followers.empty": "Ingen fylgjer denne brukaren enno.",
"account.followers_counter": "{count, plural, one {{counter} fylgjar} other {{counter} fylgjarar}}", "account.followers_counter": "{count, plural, one {{counter} fylgjar} other {{counter} fylgjarar}}",
@ -79,8 +79,8 @@
"admin.dashboard.retention.cohort": "Registrert månad", "admin.dashboard.retention.cohort": "Registrert månad",
"admin.dashboard.retention.cohort_size": "Nye brukarar", "admin.dashboard.retention.cohort_size": "Nye brukarar",
"admin.impact_report.instance_accounts": "Kontoprofilar dette vil sletta", "admin.impact_report.instance_accounts": "Kontoprofilar dette vil sletta",
"admin.impact_report.instance_followers": "Følgjarar våre brukarar vil mista", "admin.impact_report.instance_followers": "Fylgjarar som brukarane våre ville mista",
"admin.impact_report.instance_follows": "Følgjarar deira brukarar vil mista", "admin.impact_report.instance_follows": "Fylgjarar som brukarane deira ville mista",
"admin.impact_report.title": "Samandrag av konsekvensane", "admin.impact_report.title": "Samandrag av konsekvensane",
"alert.rate_limited.message": "Ver venleg å prøv på nytt etter {retry_time, time, medium}.", "alert.rate_limited.message": "Ver venleg å prøv på nytt etter {retry_time, time, medium}.",
"alert.rate_limited.title": "Redusert kapasitet", "alert.rate_limited.title": "Redusert kapasitet",
@ -89,7 +89,7 @@
"announcement.announcement": "Kunngjering", "announcement.announcement": "Kunngjering",
"attachments_list.unprocessed": "(ubehandla)", "attachments_list.unprocessed": "(ubehandla)",
"audio.hide": "Gøym lyd", "audio.hide": "Gøym lyd",
"block_modal.remote_users_caveat": "Vi vil be tenaren {domain} om å respektere di avgjerd. Det kan ikkje garanterast at det vert etterfølgd, sidan nokre tenarar kan handtere blokkering ulikt. Offentlege innlegg kan framleis vere synlege for ikkje-innlogga brukarar.", "block_modal.remote_users_caveat": "Me vil be tenaren {domain} om å respektere di avgjerd. Me kan ikkje garantera at det vert gjort, sidan nokre tenarar kan handtera blokkering ulikt. Offentlege innlegg kan framleis vera synlege for ikkje-innlogga brukarar.",
"block_modal.show_less": "Vis mindre", "block_modal.show_less": "Vis mindre",
"block_modal.show_more": "Vis meir", "block_modal.show_more": "Vis meir",
"block_modal.they_cant_mention": "Dei kan ikkje nemna eller fylgja deg.", "block_modal.they_cant_mention": "Dei kan ikkje nemna eller fylgja deg.",
@ -208,7 +208,7 @@
"dismissable_banner.explore_links": "Desse nyhendesakene snakkast om av folk på denne og andre tenarar på det desentraliserte nettverket no.", "dismissable_banner.explore_links": "Desse nyhendesakene snakkast om av folk på denne og andre tenarar på det desentraliserte nettverket no.",
"dismissable_banner.explore_statuses": "Dette er innlegg frå det desentraliserte nettverket som er i støytet i dag. Nye statusar som er mykje framheva og merkte som favorittar er rangert høgare.", "dismissable_banner.explore_statuses": "Dette er innlegg frå det desentraliserte nettverket som er i støytet i dag. Nye statusar som er mykje framheva og merkte som favorittar er rangert høgare.",
"dismissable_banner.explore_tags": "Desse emneknaggane er populære blant folk på denne tenaren og andre tenarar i det desentraliserte nettverket nett no.", "dismissable_banner.explore_tags": "Desse emneknaggane er populære blant folk på denne tenaren og andre tenarar i det desentraliserte nettverket nett no.",
"dismissable_banner.public_timeline": "Dette er dei nyaste offentlege innlegga frå menneske på det sosiale nettet som folk på {domain} følgjer.", "dismissable_banner.public_timeline": "Dette er dei nyaste offentlege innlegga frå menneske på det sosiale nettet som folk på {domain} fylgjer.",
"domain_block_modal.block": "Blokker tenaren", "domain_block_modal.block": "Blokker tenaren",
"domain_block_modal.block_account_instead": "Blokker @{name} i staden", "domain_block_modal.block_account_instead": "Blokker @{name} i staden",
"domain_block_modal.they_can_interact_with_old_posts": "Folk på denne tenaren kan samhandla med dei gamle innlegga dine.", "domain_block_modal.they_can_interact_with_old_posts": "Folk på denne tenaren kan samhandla med dei gamle innlegga dine.",
@ -228,7 +228,7 @@
"domain_pill.who_they_are": "Sidan handtak seier kven nokon er og kvar dei er, kan du interagere med folk på tvers av det sosiale nettverket av <button>plattformar som støttar ActivityPub</button>.", "domain_pill.who_they_are": "Sidan handtak seier kven nokon er og kvar dei er, kan du interagere med folk på tvers av det sosiale nettverket av <button>plattformar som støttar ActivityPub</button>.",
"domain_pill.who_you_are": "Sidan handtaket ditt seier kven du er og kvar du er, kan folk interagere med deg på tvers av det sosiale nettverket av <button>plattformar som støttar ActivityPub</button>.", "domain_pill.who_you_are": "Sidan handtaket ditt seier kven du er og kvar du er, kan folk interagere med deg på tvers av det sosiale nettverket av <button>plattformar som støttar ActivityPub</button>.",
"domain_pill.your_handle": "Handtaket ditt:", "domain_pill.your_handle": "Handtaket ditt:",
"domain_pill.your_server": "Din digitale heim, som alle postane dine bur i. Liker du ikkje dette? Overfør tenarar når som helst og ta med følgjarane dine òg.", "domain_pill.your_server": "Din digitale heim, der alle innlegga dine bur i. Liker du ikkje dette? Byt til ein ny tenar når som helst og ta med fylgjarane dine òg.",
"domain_pill.your_username": "Din unike identifikator på denne tenaren. Det er mogleg å finne brukarar med same brukarnamn på forskjellige tenarar.", "domain_pill.your_username": "Din unike identifikator på denne tenaren. Det er mogleg å finne brukarar med same brukarnamn på forskjellige tenarar.",
"embed.instructions": "Bygg inn denne statusen på nettsida di ved å kopiera koden nedanfor.", "embed.instructions": "Bygg inn denne statusen på nettsida di ved å kopiera koden nedanfor.",
"embed.preview": "Slik kjem det til å sjå ut:", "embed.preview": "Slik kjem det til å sjå ut:",
@ -259,16 +259,16 @@
"empty_column.explore_statuses": "Ingenting er i støytet nett no. Prøv igjen seinare!", "empty_column.explore_statuses": "Ingenting er i støytet nett no. Prøv igjen seinare!",
"empty_column.favourited_statuses": "Du har ingen favoritt-statusar ennå. Når du merkjer ein som favoritt, dukkar han opp her.", "empty_column.favourited_statuses": "Du har ingen favoritt-statusar ennå. Når du merkjer ein som favoritt, dukkar han opp her.",
"empty_column.favourites": "Ingen har merkt denne statusen som favoritt enno. Når nokon gjer det, dukkar dei opp her.", "empty_column.favourites": "Ingen har merkt denne statusen som favoritt enno. Når nokon gjer det, dukkar dei opp her.",
"empty_column.follow_requests": "Du har ingen følgjeførespurnadar ennå. Når du får ein, så vil den dukke opp her.", "empty_column.follow_requests": "Ingen har spurt om å fylgja deg enno. Når nokon gjer det, vil det dukka opp her.",
"empty_column.followed_tags": "Du fylgjer ingen emneknaggar enno. Når du gjer det, vil dei syna her.", "empty_column.followed_tags": "Du fylgjer ingen emneknaggar enno. Når du gjer det, vil dei syna her.",
"empty_column.hashtag": "Det er ingenting i denne emneknaggen enno.", "empty_column.hashtag": "Det er ingenting i denne emneknaggen enno.",
"empty_column.home": "Heime-tidslina di er tom! Følg fleire folk for å fylle ho med innhald. {suggestions}", "empty_column.home": "Heime-tidslina di er tom! Fylg fleire folk for å fylla ho med innhald. {suggestions}.",
"empty_column.list": "Det er ingenting i denne lista enno. Når medlemer av denne lista legg ut nye statusar, så dukkar dei opp her.", "empty_column.list": "Det er ingenting i denne lista enno. Når medlemer av denne lista legg ut nye statusar, så dukkar dei opp her.",
"empty_column.lists": "Du har ingen lister enno. Når du lagar ei, så dukkar ho opp her.", "empty_column.lists": "Du har ingen lister enno. Når du lagar ei, så dukkar ho opp her.",
"empty_column.mutes": "Du har ikkje målbunde nokon enno.", "empty_column.mutes": "Du har ikkje målbunde nokon enno.",
"empty_column.notification_requests": "Ferdig! Her er det ingenting. Når du får nye varsel, kjem dei opp her slik du har valt.", "empty_column.notification_requests": "Ferdig! Her er det ingenting. Når du får nye varsel, kjem dei opp her slik du har valt.",
"empty_column.notifications": "Du har ingen varsel enno. Kommuniser med andre for å starte samtalen.", "empty_column.notifications": "Du har ingen varsel enno. Kommuniser med andre for å starte samtalen.",
"empty_column.public": "Det er ingenting her! Skriv noko offentleg, eller følg brukarar frå andre tenarar manuelt for å fylle det opp", "empty_column.public": "Det er ingenting her! Skriv noko offentleg, eller fylg brukarar frå andre tenarar manuelt for å få meir her",
"error.unexpected_crash.explanation": "På grunn av eit nettlesarkompatibilitetsproblem eller ein feil i koden vår, kunne ikkje denne sida bli vist slik den skal.", "error.unexpected_crash.explanation": "På grunn av eit nettlesarkompatibilitetsproblem eller ein feil i koden vår, kunne ikkje denne sida bli vist slik den skal.",
"error.unexpected_crash.explanation_addons": "Denne sida kunne ikkje visast som den skulle. Feilen kjem truleg frå ei nettleserutviding eller frå automatiske omsetjingsverktøy.", "error.unexpected_crash.explanation_addons": "Denne sida kunne ikkje visast som den skulle. Feilen kjem truleg frå ei nettleserutviding eller frå automatiske omsetjingsverktøy.",
"error.unexpected_crash.next_steps": "Prøv å lasta inn sida på nytt. Hjelper ikkje dette kan du framleis nytta Mastodon i ein annan nettlesar eller app.", "error.unexpected_crash.next_steps": "Prøv å lasta inn sida på nytt. Hjelper ikkje dette kan du framleis nytta Mastodon i ein annan nettlesar eller app.",
@ -315,7 +315,7 @@
"follow_suggestions.personalized_suggestion": "Personleg forslag", "follow_suggestions.personalized_suggestion": "Personleg forslag",
"follow_suggestions.popular_suggestion": "Populært forslag", "follow_suggestions.popular_suggestion": "Populært forslag",
"follow_suggestions.view_all": "Vis alle", "follow_suggestions.view_all": "Vis alle",
"follow_suggestions.who_to_follow": "Kven som skal følgjast", "follow_suggestions.who_to_follow": "Kven du kan fylgja",
"followed_tags": "Fylgde emneknaggar", "followed_tags": "Fylgde emneknaggar",
"footer.about": "Om", "footer.about": "Om",
"footer.directory": "Profilmappe", "footer.directory": "Profilmappe",
@ -471,6 +471,8 @@
"notification.own_poll": "Rundspørjinga di er ferdig", "notification.own_poll": "Rundspørjinga di er ferdig",
"notification.poll": "Ei rundspørjing du har røysta i er ferdig", "notification.poll": "Ei rundspørjing du har røysta i er ferdig",
"notification.reblog": "{name} framheva innlegget ditt", "notification.reblog": "{name} framheva innlegget ditt",
"notification.severedRelationships": "Forholda med {name} er brotne",
"notification.severed_relationships": "Forholda med {name} er brotne",
"notification.status": "{name} la nettopp ut", "notification.status": "{name} la nettopp ut",
"notification.update": "{name} redigerte eit innlegg", "notification.update": "{name} redigerte eit innlegg",
"notification_requests.accept": "Godkjenn", "notification_requests.accept": "Godkjenn",
@ -574,8 +576,8 @@
"privacy.change": "Endre personvernet på innlegg", "privacy.change": "Endre personvernet på innlegg",
"privacy.direct.long": "Alle nemnde i innlegget", "privacy.direct.long": "Alle nemnde i innlegget",
"privacy.direct.short": "Spesifikke folk", "privacy.direct.short": "Spesifikke folk",
"privacy.private.long": "Berre dine følgjarar", "privacy.private.long": "Berre dei som fylgjer deg",
"privacy.private.short": "Følgjarar", "privacy.private.short": "Fylgjarar",
"privacy.public.long": "Kven som helst på og av Mastodon", "privacy.public.long": "Kven som helst på og av Mastodon",
"privacy.public.short": "Offentleg", "privacy.public.short": "Offentleg",
"privacy.unlisted.additional": "Dette er akkurat som offentleg, bortsett frå at innlegga ikkje dukkar opp i direktestraumar eller merkelappar, i oppdagingar eller Mastodon-søk, sjølv om du har sagt ja til at kontoen skal vera synleg.", "privacy.unlisted.additional": "Dette er akkurat som offentleg, bortsett frå at innlegga ikkje dukkar opp i direktestraumar eller merkelappar, i oppdagingar eller Mastodon-søk, sjølv om du har sagt ja til at kontoen skal vera synleg.",
@ -587,6 +589,12 @@
"refresh": "Oppdater", "refresh": "Oppdater",
"regeneration_indicator.label": "Lastar…", "regeneration_indicator.label": "Lastar…",
"regeneration_indicator.sublabel": "Heimetidslina di vert førebudd!", "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.days": "{number}dg",
"relative_time.full.days": "{number, plural, one {# dag} other {# dagar}} sidan", "relative_time.full.days": "{number, plural, one {# dag} other {# dagar}} sidan",
"relative_time.full.hours": "{number, plural, one {# time} other {# timar}} sidan", "relative_time.full.hours": "{number, plural, one {# time} other {# timar}} sidan",

View File

@ -35,11 +35,13 @@
"account.following": "Слідуєте", "account.following": "Слідуєте",
"account.follows.empty": "Сись хосновач щи никого не слідує.", "account.follows.empty": "Сись хосновач щи никого не слідує.",
"account.go_to_profile": "Перейти на профіл", "account.go_to_profile": "Перейти на профіл",
"account.hide_reblogs": "Спрятати друленя уд @{name}",
"account.joined_short": "Датум прикапчованя", "account.joined_short": "Датум прикапчованя",
"account.languages": "Поміняти убрані языкы", "account.languages": "Поміняти убрані языкы",
"account.link_verified_on": "Властность сього удкликованя было звірено {date}", "account.link_verified_on": "Властность сього удкликованя было звірено {date}",
"account.media": "Медіа", "account.media": "Медіа",
"account.moved_to": "Хосновач {name} указав, ож новый профіл йим є:", "account.moved_to": "Хосновач {name} указав, ож новый профіл йим є:",
"account.mute": "Стишити {name}",
"account.mute_notifications_short": "Стишити голошіня", "account.mute_notifications_short": "Стишити голошіня",
"account.mute_short": "Стишити", "account.mute_short": "Стишити",
"account.muted": "Стишено", "account.muted": "Стишено",
@ -52,8 +54,22 @@
"account.requested": "Чекат ся на пудтвердженя. Нажміт убы удмінити запрос на слідованя", "account.requested": "Чекат ся на пудтвердженя. Нажміт убы удмінити запрос на слідованя",
"account.requested_follow": "Хосновач {name} просит ся пудписати ся на вас", "account.requested_follow": "Хосновач {name} просит ся пудписати ся на вас",
"account.share": "Пошырити профіл хосновача {name}", "account.share": "Пошырити профіл хосновача {name}",
"account.show_reblogs": "Указати друленя уд {name}",
"account.unblock": "Розблоковати {name}", "account.unblock": "Розблоковати {name}",
"account.unblock_domain": "Розблоковати домен {domain}", "account.unblock_domain": "Розблоковати домен {domain}",
"account.unblock_short": "Розблоковати",
"account.unendorse": "Не указовати на профілови",
"account.unfollow": "Удписати ся",
"account.unmute_notifications_short": "Указовати голошіня",
"account.unmute_short": "Указовати",
"account_note.placeholder": "Клопкніт обы додати примітку",
"admin.dashboard.retention.cohort_size": "Нові хосновачі",
"admin.impact_report.instance_accounts": "Профілі из акаунтув, котрі ся удалят",
"admin.impact_report.instance_followers": "Пудписникы, котрых стратят наші хосновачі",
"admin.impact_report.instance_follows": "Пудписникы, котрых стратят їхні хосновачі",
"admin.impact_report.title": "Вплыв цілком",
"alert.rate_limited.message": "Попробуйте зась по {retry_time, time, medium}.",
"alert.rate_limited.title": "Частота обмежена",
"bundle_column_error.return": "Вернути ся на головну", "bundle_column_error.return": "Вернути ся на головну",
"bundle_column_error.routing.body": "Не можеме найти сяку сторунку. Бизувні сьте, ож URL у адресному шорикови є добрый?", "bundle_column_error.routing.body": "Не можеме найти сяку сторунку. Бизувні сьте, ож URL у адресному шорикови є добрый?",
"bundle_column_error.routing.title": "404", "bundle_column_error.routing.title": "404",

View File

@ -553,6 +553,7 @@
"refresh": "Obnoviť", "refresh": "Obnoviť",
"regeneration_indicator.label": "Načítavanie…", "regeneration_indicator.label": "Načítavanie…",
"regeneration_indicator.sublabel": "Váš domovský kanál sa pripravuje.", "regeneration_indicator.sublabel": "Váš domovský kanál sa pripravuje.",
"relationship_severance_notification.view": "Zobraziť",
"relative_time.days": "{number} dní", "relative_time.days": "{number} dní",
"relative_time.full.days": "Pred {number, plural, one {# dňom} other {# dňami}}", "relative_time.full.days": "Pred {number, plural, one {# dňom} other {# dňami}}",
"relative_time.full.hours": "Pred {number, plural, one {# hodinou} other {# hodinami}}", "relative_time.full.hours": "Pred {number, plural, one {# hodinou} other {# hodinami}}",

View File

@ -471,6 +471,8 @@
"notification.own_poll": "Vaša anketa je zaključena", "notification.own_poll": "Vaša anketa je zaključena",
"notification.poll": "Anketa, v kateri ste sodelovali, je zaključena", "notification.poll": "Anketa, v kateri ste sodelovali, je zaključena",
"notification.reblog": "{name} je izpostavila/a vašo objavo", "notification.reblog": "{name} je izpostavila/a vašo objavo",
"notification.severedRelationships": "Veze z {name} prekinjene",
"notification.severed_relationships": "Veze z {name} prekinjene",
"notification.status": "{name} je pravkar objavil/a", "notification.status": "{name} je pravkar objavil/a",
"notification.update": "{name} je uredil(a) objavo", "notification.update": "{name} je uredil(a) objavo",
"notification_requests.accept": "Sprejmi", "notification_requests.accept": "Sprejmi",
@ -516,7 +518,7 @@
"notifications.policy.filter_not_following_title": "Ljudje, ki jim ne sledite", "notifications.policy.filter_not_following_title": "Ljudje, ki jim ne sledite",
"notifications.policy.filter_private_mentions_hint": "Filtrirano, razen če je odgovor na vašo lastno omembo ali če sledite pošiljatelju", "notifications.policy.filter_private_mentions_hint": "Filtrirano, razen če je odgovor na vašo lastno omembo ali če sledite pošiljatelju",
"notifications.policy.filter_private_mentions_title": "Neželene zasebne omembe", "notifications.policy.filter_private_mentions_title": "Neželene zasebne omembe",
"notifications.policy.title": "Skrij obvestila od …", "notifications.policy.title": "Filtriraj obvestila od …",
"notifications_permission_banner.enable": "Omogoči obvestila na namizju", "notifications_permission_banner.enable": "Omogoči obvestila na namizju",
"notifications_permission_banner.how_to_control": "Če želite prejemati obvestila, ko Mastodon ni odprt, omogočite namizna obvestila. Natančno lahko nadzirate, katere vrste interakcij naj tvorijo namizna obvestila; ko so omogočena, za to uporabite gumb {icon} zgoraj.", "notifications_permission_banner.how_to_control": "Če želite prejemati obvestila, ko Mastodon ni odprt, omogočite namizna obvestila. Natančno lahko nadzirate, katere vrste interakcij naj tvorijo namizna obvestila; ko so omogočena, za to uporabite gumb {icon} zgoraj.",
"notifications_permission_banner.title": "Nikoli ne zamudite ničesar", "notifications_permission_banner.title": "Nikoli ne zamudite ničesar",
@ -587,6 +589,12 @@
"refresh": "Osveži", "refresh": "Osveži",
"regeneration_indicator.label": "Nalaganje …", "regeneration_indicator.label": "Nalaganje …",
"regeneration_indicator.sublabel": "Vaš domači vir se pripravlja!", "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.days": "{number} d",
"relative_time.full.days": "{number, plural, one {pred # dnem} two {pred # dnevoma} few {pred # dnevi} other {pred # dnevi}}", "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}}", "relative_time.full.hours": "{number, plural, one {pred # uro} two {pred # urama} few {pred # urami} other {pred # urami}}",

View File

@ -584,6 +584,12 @@
"refresh": "Rifreskoje", "refresh": "Rifreskoje",
"regeneration_indicator.label": "Po ngarkohet…", "regeneration_indicator.label": "Po ngarkohet…",
"regeneration_indicator.sublabel": "Prurja juaj vetjake po përgatitet!", "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.days": "{number}d",
"relative_time.full.days": "{number, plural, one {# ditë} other {# ditë}} më parë", "relative_time.full.days": "{number, plural, one {# ditë} other {# ditë}} më parë",
"relative_time.full.hours": "{number, plural, one {# orë} other {# orë}} më parë", "relative_time.full.hours": "{number, plural, one {# orë} other {# orë}} më parë",

View File

@ -89,6 +89,14 @@
"announcement.announcement": "Оголошення", "announcement.announcement": "Оголошення",
"attachments_list.unprocessed": "(не оброблено)", "attachments_list.unprocessed": "(не оброблено)",
"audio.hide": "Сховати аудіо", "audio.hide": "Сховати аудіо",
"block_modal.remote_users_caveat": "Ми попросимо сервер {domain} поважати ваше рішення. Однак дотримання вимог не гарантується, оскільки деякі сервери можуть обробляти блоки по-різному. Загальнодоступні дописи все ще можуть бути видимими для користувачів, які не увійшли в систему.",
"block_modal.show_less": "Згорнути",
"block_modal.show_more": "Розгорнути",
"block_modal.they_cant_mention": "Вони не можуть згадувати та стежити за вами.",
"block_modal.they_cant_see_posts": "Вони не можуть бачити ваших дописів, а ви бачитимете їхні.",
"block_modal.they_will_know": "Вони можуть бачити, що вони заблоковані.",
"block_modal.title": "Заблокувати користувача?",
"block_modal.you_wont_see_mentions": "Ви не бачитимете дописів, де їх згадано.",
"boost_modal.combo": "Ви можете натиснути {combo}, щоби пропустити це наступного разу", "boost_modal.combo": "Ви можете натиснути {combo}, щоби пропустити це наступного разу",
"bundle_column_error.copy_stacktrace": "Копіювати звіт про помилку", "bundle_column_error.copy_stacktrace": "Копіювати звіт про помилку",
"bundle_column_error.error.body": "Неможливо показати запитану сторінку. Це може бути спричинено помилкою у нашому коді, або через проблему сумісності з браузером.", "bundle_column_error.error.body": "Неможливо показати запитану сторінку. Це може бути спричинено помилкою у нашому коді, або через проблему сумісності з браузером.",
@ -169,6 +177,7 @@
"confirmations.delete_list.message": "Ви впевнені, що хочете видалити цей список назавжди?", "confirmations.delete_list.message": "Ви впевнені, що хочете видалити цей список назавжди?",
"confirmations.discard_edit_media.confirm": "Відкинути", "confirmations.discard_edit_media.confirm": "Відкинути",
"confirmations.discard_edit_media.message": "У вас є незбережені зміни в описі медіа або попереднього перегляду, все одно відкинути їх?", "confirmations.discard_edit_media.message": "У вас є незбережені зміни в описі медіа або попереднього перегляду, все одно відкинути їх?",
"confirmations.domain_block.confirm": "Блокувати сервер",
"confirmations.domain_block.message": "Ви точно, точно впевнені, що хочете заблокувати весь домен {domain}? У більшості випадків для нормальної роботи краще заблокувати або приховати лише деяких користувачів. Ви не зможете бачити контент з цього домену у будь-яких стрічках або ваших сповіщеннях. Ваші підписники з цього домену будуть відписані від вас.", "confirmations.domain_block.message": "Ви точно, точно впевнені, що хочете заблокувати весь домен {domain}? У більшості випадків для нормальної роботи краще заблокувати або приховати лише деяких користувачів. Ви не зможете бачити контент з цього домену у будь-яких стрічках або ваших сповіщеннях. Ваші підписники з цього домену будуть відписані від вас.",
"confirmations.edit.confirm": "Змінити", "confirmations.edit.confirm": "Змінити",
"confirmations.edit.message": "Редагування перезапише повідомлення, яке ви зараз пишете. Ви впевнені, що хочете продовжити?", "confirmations.edit.message": "Редагування перезапише повідомлення, яке ви зараз пишете. Ви впевнені, що хочете продовжити?",
@ -200,6 +209,16 @@
"dismissable_banner.explore_statuses": "Ці дописи з цього та інших серверів децентралізованої мережі зараз набирають популярності на цьому сервері. Новіші дописи з частішим поширенням та додаванням до вподобаного мають вищий рейтинг.", "dismissable_banner.explore_statuses": "Ці дописи з цього та інших серверів децентралізованої мережі зараз набирають популярності на цьому сервері. Новіші дописи з частішим поширенням та додаванням до вподобаного мають вищий рейтинг.",
"dismissable_banner.explore_tags": "Ці хештеги зараз набирають популярності серед людей на цьому та інших серверах децентралізованої мережі. Хештеги, які використовуються більшою кількістю людей, мають вищий рейтинг.", "dismissable_banner.explore_tags": "Ці хештеги зараз набирають популярності серед людей на цьому та інших серверах децентралізованої мережі. Хештеги, які використовуються більшою кількістю людей, мають вищий рейтинг.",
"dismissable_banner.public_timeline": "Це найновіші загальнодоступні дописи від людей в соціальній мережі, на які підписані люди в {domain}.", "dismissable_banner.public_timeline": "Це найновіші загальнодоступні дописи від людей в соціальній мережі, на які підписані люди в {domain}.",
"domain_block_modal.block": "Блокувати сервер",
"domain_block_modal.block_account_instead": "Блокувати @{name} натомість",
"domain_block_modal.they_can_interact_with_old_posts": "Люди з цього сервера можуть взаємодіяти зі своїми старими дописами.",
"domain_block_modal.they_cant_follow": "Ніхто з цього сервера не може слідкувати за вами.",
"domain_block_modal.they_wont_know": "Вони не знають, що їх заблоковано.",
"domain_block_modal.title": "Заблокувати домен?",
"domain_block_modal.you_will_lose_followers": "Усіх ваших підписників з цього сервера буде вилучено.",
"domain_block_modal.you_wont_see_posts": "Ви не бачитимете дописів і сповіщень від користувачів на цьому сервері.",
"domain_pill.server": "Сервер",
"domain_pill.username": "Ім'я користувача",
"embed.instructions": "Вбудуйте цей допис до вашого вебсайту, скопіювавши код нижче.", "embed.instructions": "Вбудуйте цей допис до вашого вебсайту, скопіювавши код нижче.",
"embed.preview": "Ось який вигляд це матиме:", "embed.preview": "Ось який вигляд це матиме:",
"emoji_button.activity": "Діяльність", "emoji_button.activity": "Діяльність",
@ -397,6 +416,15 @@
"loading_indicator.label": "Завантаження…", "loading_indicator.label": "Завантаження…",
"media_gallery.toggle_visible": "{number, plural, one {Приховати зображення} other {Приховати зображення}}", "media_gallery.toggle_visible": "{number, plural, one {Приховати зображення} other {Приховати зображення}}",
"moved_to_account_banner.text": "Ваш обліковий запис {disabledAccount} наразі вимкнений, оскільки вас перенесено до {movedToAccount}.", "moved_to_account_banner.text": "Ваш обліковий запис {disabledAccount} наразі вимкнений, оскільки вас перенесено до {movedToAccount}.",
"mute_modal.hide_from_notifications": "Сховати зі сповіщень",
"mute_modal.hide_options": "Сховати опції",
"mute_modal.indefinite": "Доки я не перестану ігнорувати їх",
"mute_modal.show_options": "Показати опції",
"mute_modal.they_can_mention_and_follow": "Вони зможуть згадувати та стежити за вами, але ви їх не бачитимете.",
"mute_modal.they_wont_know": "Вони не знатимуть, що їх ігнорують.",
"mute_modal.title": "Ігнорувати користувача?",
"mute_modal.you_wont_see_mentions": "Ви не бачитимете дописів, де їх згадано.",
"mute_modal.you_wont_see_posts": "Вони все ще можуть бачити ваші дописи, але ви не бачитимете їхніх.",
"navigation_bar.about": "Про застосунок", "navigation_bar.about": "Про застосунок",
"navigation_bar.advanced_interface": "Відкрити в розширеному вебінтерфейсі", "navigation_bar.advanced_interface": "Відкрити в розширеному вебінтерфейсі",
"navigation_bar.blocks": "Заблоковані користувачі", "navigation_bar.blocks": "Заблоковані користувачі",
@ -432,6 +460,8 @@
"notification.own_poll": "Ваше опитування завершилося", "notification.own_poll": "Ваше опитування завершилося",
"notification.poll": "Опитування, у якому ви голосували, скінчилося", "notification.poll": "Опитування, у якому ви голосували, скінчилося",
"notification.reblog": "{name} поширює ваш допис", "notification.reblog": "{name} поширює ваш допис",
"notification.severedRelationships": "Зв'язки з {name} розірвані",
"notification.severed_relationships": "Зв'язки з {name} розірвані",
"notification.status": "{name} щойно дописує", "notification.status": "{name} щойно дописує",
"notification.update": "{name} змінює допис", "notification.update": "{name} змінює допис",
"notification_requests.accept": "Прийняти", "notification_requests.accept": "Прийняти",
@ -544,6 +574,12 @@
"refresh": "Оновити", "refresh": "Оновити",
"regeneration_indicator.label": "Завантаження…", "regeneration_indicator.label": "Завантаження…",
"regeneration_indicator.sublabel": "Хвилинку, ми готуємо вашу стрічку!", "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.days": "{number}д",
"relative_time.full.days": "{number, plural, one {# день} few {# дні} other {# днів}} тому", "relative_time.full.days": "{number, plural, one {# день} few {# дні} other {# днів}} тому",
"relative_time.full.hours": "{number, plural, one {# година} few {# години} other {# годин}} тому", "relative_time.full.hours": "{number, plural, one {# година} few {# години} other {# годин}} тому",

View File

@ -471,6 +471,8 @@
"notification.own_poll": "你的投票已经结束", "notification.own_poll": "你的投票已经结束",
"notification.poll": "你参与的一个投票已经结束", "notification.poll": "你参与的一个投票已经结束",
"notification.reblog": "{name} 转发了你的嘟文", "notification.reblog": "{name} 转发了你的嘟文",
"notification.severedRelationships": "与 {name} 的关系已被切断",
"notification.severed_relationships": "与 {name} 的关系已被切断",
"notification.status": "{name} 刚刚发布嘟文", "notification.status": "{name} 刚刚发布嘟文",
"notification.update": "{name} 编辑了嘟文", "notification.update": "{name} 编辑了嘟文",
"notification_requests.accept": "接受", "notification_requests.accept": "接受",
@ -587,6 +589,12 @@
"refresh": "刷新", "refresh": "刷新",
"regeneration_indicator.label": "加载中…", "regeneration_indicator.label": "加载中…",
"regeneration_indicator.sublabel": "你的主页动态正在准备中!", "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.days": "{number} 天前",
"relative_time.full.days": "{number, plural, one {# 天} other {# 天}}前", "relative_time.full.days": "{number, plural, one {# 天} other {# 天}}前",
"relative_time.full.hours": "{number, plural, one {# 小时} other {# 小时}}前", "relative_time.full.hours": "{number, plural, one {# 小时} other {# 小时}}前",

View File

@ -471,6 +471,8 @@
"notification.own_poll": "您的投票已結束", "notification.own_poll": "您的投票已結束",
"notification.poll": "您曾投過的投票已經結束", "notification.poll": "您曾投過的投票已經結束",
"notification.reblog": "{name} 已轉嘟您的嘟文", "notification.reblog": "{name} 已轉嘟您的嘟文",
"notification.severedRelationships": "已斷絕與 {name} 之服務關係",
"notification.severed_relationships": "已斷絕與 {name} 之服務關係",
"notification.status": "{name} 剛剛嘟文", "notification.status": "{name} 剛剛嘟文",
"notification.update": "{name} 已編輯嘟文", "notification.update": "{name} 已編輯嘟文",
"notification_requests.accept": "接受", "notification_requests.accept": "接受",
@ -587,6 +589,12 @@
"refresh": "重新整理", "refresh": "重新整理",
"regeneration_indicator.label": "載入中…", "regeneration_indicator.label": "載入中…",
"regeneration_indicator.sublabel": "您的首頁時間軸正在準備中!", "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.days": "{number} 天",
"relative_time.full.days": "{number, plural, other {# 天}}前", "relative_time.full.days": "{number, plural, other {# 天}}前",
"relative_time.full.hours": "{number, plural, one {# 小時} other {# 小時}}前", "relative_time.full.hours": "{number, plural, one {# 小時} other {# 小時}}前",

View File

@ -29,6 +29,6 @@ class AccountRelationshipSeveranceEvent < ApplicationRecord
private private
def set_relationships_count! def set_relationships_count!
self.relationships_count = severed_relationships.where(local_account: account).count self.relationships_count = severed_relationships.about_local_account(account).count
end end
end end

View File

@ -48,13 +48,13 @@ module Account::Merging
record.update_attribute(:account_warning_id, id) record.update_attribute(:account_warning_id, id)
end end
SeveredRelationship.where(local_account_id: other_account.id).reorder(nil).find_each do |record| SeveredRelationship.about_local_account(other_account).reorder(nil).find_each do |record|
record.update_attribute(:local_account_id, id) record.update_attribute(:local_account_id, id)
rescue ActiveRecord::RecordNotUnique rescue ActiveRecord::RecordNotUnique
next next
end end
SeveredRelationship.where(remote_account_id: other_account.id).reorder(nil).find_each do |record| SeveredRelationship.about_remote_account(other_account).reorder(nil).find_each do |record|
record.update_attribute(:remote_account_id, id) record.update_attribute(:remote_account_id, id)
rescue ActiveRecord::RecordNotUnique rescue ActiveRecord::RecordNotUnique
next next

View File

@ -16,7 +16,7 @@ class RelationshipSeveranceEvent < ApplicationRecord
has_many :severed_relationships, inverse_of: :relationship_severance_event, dependent: :delete_all has_many :severed_relationships, inverse_of: :relationship_severance_event, dependent: :delete_all
enum type: { enum :type, {
domain_block: 0, domain_block: 0,
user_domain_block: 1, user_domain_block: 1,
account_suspension: 2, account_suspension: 2,

View File

@ -20,12 +20,13 @@ class SeveredRelationship < ApplicationRecord
belongs_to :local_account, class_name: 'Account' belongs_to :local_account, class_name: 'Account'
belongs_to :remote_account, class_name: 'Account' belongs_to :remote_account, class_name: 'Account'
enum direction: { enum :direction, {
passive: 0, # analogous to `local_account.passive_relationships` passive: 0, # analogous to `local_account.passive_relationships`
active: 1, # analogous to `local_account.active_relationships` active: 1, # analogous to `local_account.active_relationships`
} }
scope :about_local_account, ->(account) { where(local_account: account) } scope :about_local_account, ->(account) { where(local_account: account) }
scope :about_remote_account, ->(account) { where(remote_account: account) }
scope :active, -> { where(direction: :active) } scope :active, -> { where(direction: :active) }
scope :passive, -> { where(direction: :passive) } scope :passive, -> { where(direction: :passive) }

View File

@ -185,6 +185,7 @@ class DeleteAccountService < BaseService
# polymorphically associated notifications generated by this account # polymorphically associated notifications generated by this account
Notification.where(from_account: @account).in_batches.delete_all Notification.where(from_account: @account).in_batches.delete_all
NotificationRequest.where(from_account: @account).in_batches.delete_all
end end
def purge_favourites! def purge_favourites!

View File

@ -8,7 +8,6 @@ class SuspendAccountService < BaseService
def call(account) def call(account)
return unless account.suspended? return unless account.suspended?
@relationship_severance_event = nil
@account = account @account = account
reject_remote_follows! reject_remote_follows!
@ -16,7 +15,6 @@ class SuspendAccountService < BaseService
unmerge_from_home_timelines! unmerge_from_home_timelines!
unmerge_from_list_timelines! unmerge_from_list_timelines!
privatize_media_attachments! privatize_media_attachments!
notify_of_severed_relationships!
end end
private private
@ -38,8 +36,6 @@ class SuspendAccountService < BaseService
[Oj.dump(serialize_payload(follow, ActivityPub::RejectFollowSerializer)), follow.target_account_id, @account.inbox_url] [Oj.dump(serialize_payload(follow, ActivityPub::RejectFollowSerializer)), follow.target_account_id, @account.inbox_url]
end end
relationship_severance_event.import_from_passive_follows!(follows)
follows.each(&:destroy) follows.each(&:destroy)
end end
end end
@ -105,21 +101,7 @@ class SuspendAccountService < BaseService
end end
end end
def notify_of_severed_relationships!
return if @relationship_severance_event.nil?
# TODO: check how efficient that query is, also check `push_bulk`/`perform_bulk`
@relationship_severance_event.affected_local_accounts.reorder(nil).find_each do |account|
event = AccountRelationshipSeveranceEvent.create!(account: account, relationship_severance_event: @relationship_severance_event)
LocalNotificationWorker.perform_async(account.id, event.id, 'AccountRelationshipSeveranceEvent', 'severed_relationships')
end
end
def signed_activity_json def signed_activity_json
@signed_activity_json ||= Oj.dump(serialize_payload(@account, ActivityPub::UpdateSerializer, signer: @account)) @signed_activity_json ||= Oj.dump(serialize_payload(@account, ActivityPub::UpdateSerializer, signer: @account))
end end
def relationship_severance_event
@relationship_severance_event ||= RelationshipSeveranceEvent.create!(type: :account_suspension, target_name: @account.acct)
end
end end

View File

@ -21,13 +21,13 @@
%td{ rowspan: 2 }= t('severed_relationships.purged') %td{ rowspan: 2 }= t('severed_relationships.purged')
- else - else
%td %td
- count = event.severed_relationships.active.where(local_account: current_account).count - count = event.severed_relationships.active.about_local_account(current_account).count
- if count.zero? - if count.zero?
= t('generic.none') = t('generic.none')
- else - else
= table_link_to 'download', t('severed_relationships.download', count: count), following_severed_relationship_path(event, format: :csv) = table_link_to 'download', t('severed_relationships.download', count: count), following_severed_relationship_path(event, format: :csv)
%td %td
- count = event.severed_relationships.passive.where(local_account: current_account).count - count = event.severed_relationships.passive.about_local_account(current_account).count
- if count.zero? - if count.zero?
= t('generic.none') = t('generic.none')
- else - else

View File

@ -1,4 +1,5 @@
# frozen_string_literal: true # frozen_string_literal: true
# Be sure to restart your server when you modify this file. # Be sure to restart your server when you modify this file.
# ActiveSupport::Reloader.to_prepare do # ActiveSupport::Reloader.to_prepare do

View File

@ -1704,6 +1704,7 @@ be:
import: Імпарт import: Імпарт
import_and_export: Імпарт і экспарт import_and_export: Імпарт і экспарт
migrate: Перамяшчэнне ўліковага запісу migrate: Перамяшчэнне ўліковага запісу
notifications: Email апавяшчэнні
preferences: Налады preferences: Налады
profile: Профіль profile: Профіль
relationships: Падпіскі і падпісчыкі relationships: Падпіскі і падпісчыкі

View File

@ -1659,10 +1659,22 @@ bg:
preferences: Предпочитания preferences: Предпочитания
profile: Профил profile: Профил
relationships: Последвания и последователи relationships: Последвания и последователи
severed_relationships: Прекъснати връзки
statuses_cleanup: Автоматично изтриване на публикации statuses_cleanup: Автоматично изтриване на публикации
strikes: Модериране на предупреждения strikes: Модериране на предупреждения
two_factor_authentication: Двустепенно удостоверяване two_factor_authentication: Двустепенно удостоверяване
webauthn_authentication: Ключове за сигурност webauthn_authentication: Ключове за сигурност
severed_relationships:
download: Изтегляне (%{count})
event_type:
account_suspension: Спиране на акаунта (%{target_name})
domain_block: Спиране на сървъра (%{target_name})
user_domain_block: Блокирахте %{target_name}
lost_followers: Загубени последователи
lost_follows: Загубени последвания
preamble: Може да загубите последванията и последователите, блокирайки домейн или когато модераторите ви решават да спрат отдалечен сървър. Случавайки се това, вие ще може да изтеглите списъците с прекъснати връзки, които да се проверят и възможно да се внесат на друг сървър.
purged: Сведенията за този сървър са били прочистени от администраторите на сървъра ви.
type: Събитие
statuses: statuses:
attached: attached:
audio: audio:

View File

@ -1659,10 +1659,22 @@ ca:
preferences: Preferències preferences: Preferències
profile: Perfil profile: Perfil
relationships: Seguits i seguidors relationships: Seguits i seguidors
severed_relationships: Relacions eliminades
statuses_cleanup: Esborrat automàtic de tuts statuses_cleanup: Esborrat automàtic de tuts
strikes: Accions de mediació strikes: Accions de mediació
two_factor_authentication: Autenticació de dos factors two_factor_authentication: Autenticació de dos factors
webauthn_authentication: Claus de seguretat webauthn_authentication: Claus de seguretat
severed_relationships:
download: Baixa (%{count})
event_type:
account_suspension: Suspensió del compte (%{target_name})
domain_block: Suspensió del servidor (%{target_name})
user_domain_block: Heu blocat %{target_name}
lost_followers: Seguidors perduts
lost_follows: Seguiments perduts
preamble: Quan bloqueu un domini o els vostres moderadors decideixen suspendre un servidor remot, es poden perdre seguidors i seguiments. Si això passa, podeu baixar-vos la llista de relacions trencades per a revisar-la i, si voleu, importar-les a un altre servidor.
purged: Els administradors del vostre servidor han purgat la informació relativa a aquest servidor.
type: Esdeveniment
statuses: statuses:
attached: attached:
audio: audio:

View File

@ -1659,10 +1659,21 @@ da:
preferences: Præferencer preferences: Præferencer
profile: Offentlig profil profile: Offentlig profil
relationships: Følger og følgere relationships: Følger og følgere
severed_relationships: Afbrudte forhold
statuses_cleanup: Auto-indlægssletning statuses_cleanup: Auto-indlægssletning
strikes: Moderationsadvarsler strikes: Moderationsadvarsler
two_factor_authentication: Tofaktorgodkendelse two_factor_authentication: Tofaktorgodkendelse
webauthn_authentication: Sikkerhedsnøgler webauthn_authentication: Sikkerhedsnøgler
severed_relationships:
download: Download (%{count})
event_type:
account_suspension: Kontosuspendering (%{target_name})
domain_block: Serversuspendering (%{target_name})
user_domain_block: "%{target_name} blev blokeret"
lost_followers: Tabte følgere
preamble: Der kan mistes fulgte objekter og følgere, når et domæne blokeres eller moderatorerne beslutter at suspendere en ekstern server. Når det sker, kan der downloades lister over afbrudte relationer til inspektion og mulig import på anden server.
purged: Oplysninger om denne server er blevet renset af serveradministratoreren.
type: Begivenhed
statuses: statuses:
attached: attached:
audio: audio:

View File

@ -6,7 +6,7 @@ lv:
send_instructions: Pēc dažām minūtēm saņemsi e-pastu ar norādījumiem, kā apstiprināt savu e-pasta adresi. Lūdzu, pārbaudi spama mapi, ja neesi saņēmis šo e-pastu. send_instructions: Pēc dažām minūtēm saņemsi e-pastu ar norādījumiem, kā apstiprināt savu e-pasta adresi. Lūdzu, pārbaudi spama mapi, ja neesi saņēmis šo e-pastu.
send_paranoid_instructions: Ja tava e-pasta adrese ir mūsu datu bāzē, pēc dažām minūtēm saņemsi e-pastu ar norādījumiem, kā apstiprināt savu e-pasta adresi. Lūdzu, pārbaudi spama mapi, ja neesi saņēmis šo e-pastu. send_paranoid_instructions: Ja tava e-pasta adrese ir mūsu datu bāzē, pēc dažām minūtēm saņemsi e-pastu ar norādījumiem, kā apstiprināt savu e-pasta adresi. Lūdzu, pārbaudi spama mapi, ja neesi saņēmis šo e-pastu.
failure: failure:
already_authenticated: Jau esi pierakstījies. already_authenticated: Tu jau esi pieteicies.
inactive: Tavs konts vēl nav aktivizēts. inactive: Tavs konts vēl nav aktivizēts.
invalid: Nederīga %{authentication_keys} vai parole. invalid: Nederīga %{authentication_keys} vai parole.
last_attempt: Tev ir vēl viens mēģinājums, pirms tavs konts tiks bloķēts. last_attempt: Tev ir vēl viens mēģinājums, pirms tavs konts tiks bloķēts.
@ -22,7 +22,7 @@ lv:
action: Apstiprini savu e-pasta adresi action: Apstiprini savu e-pasta adresi
action_with_app: Apstiprināt un atgriezties %{app} action_with_app: Apstiprināt un atgriezties %{app}
explanation: Ar šo e-pasta adresi esi izveidojis kontu vietnē %{host}. Tu esi viena klikšķa attālumā no tā aktivizēšanas. Ja tas nebiji tu, lūdzu, ignorē šo e-pasta ziņojumu. explanation: Ar šo e-pasta adresi esi izveidojis kontu vietnē %{host}. Tu esi viena klikšķa attālumā no tā aktivizēšanas. Ja tas nebiji tu, lūdzu, ignorē šo e-pasta ziņojumu.
explanation_when_pending: Tu pieteicies uzaicinājumam uz %{host} ar šo e-pasta adresi. Kad būsi apstiprinājis savu e-pasta adresi, mēs izskatīsim pieteikumu. Tu vari pierakstīties, lai mainītu savu informāciju vai dzēstu savu kontu, taču nevari piekļūt lielākajai daļai funkciju, kamēr tavs konts nav apstiprināts. Ja tavs pieteikums tiks noraidīts, tavi dati tiks noņemti, tāpēc tev nebūs jāveic nekādas darbības. Ja tas nebiji tu, lūdzu, ignorē šo e-pasta ziņojumu. explanation_when_pending: Tu pieteicies uzaicinājumam uz %{host} ar šo e-pasta adresi. Kad būsi apstiprinājis savu e-pasta adresi, mēs izskatīsim pieteikumu. Tu vari pieteikties, lai mainītu savu informāciju vai izdzēstu savu kontu, taču Tu nevari piekļūt lielākajai daļai iespēju, kamēr Tavs konts nav apstiprināts. Ja Tavs pieteikums tiks noraidīts, Tavi dati tiks noņemti, tāpēc Tev nebūs jāveic nekādas darbības. Ja tas nebiji Tu, lūgums neņemt vērā šo e-pasta ziņojumu.
extra_html: Lūdzu, pārskati arī <a href="%{terms_path}">servera noteikumus</a> un <a href="%{policy_path}"> mūsu pakalpojumu sniegšanas noteikumus</a>. extra_html: Lūdzu, pārskati arī <a href="%{terms_path}">servera noteikumus</a> un <a href="%{policy_path}"> mūsu pakalpojumu sniegšanas noteikumus</a>.
subject: 'Mastodon: Apstiprināšanas norādījumi %{instance}' subject: 'Mastodon: Apstiprināšanas norādījumi %{instance}'
title: Apstiprini savu e-pasta adresi title: Apstiprini savu e-pasta adresi
@ -90,7 +90,7 @@ lv:
no_token: Tu nevari piekļūt šai lapai, ja neesi saņēmis paroles atiestatīšanas e-pasta ziņojumu. Ja ienāci no paroles atiestatīšanas e-pasta, lūdzu, pārliecinies, vai izmanto visu norādīto URL. no_token: Tu nevari piekļūt šai lapai, ja neesi saņēmis paroles atiestatīšanas e-pasta ziņojumu. Ja ienāci no paroles atiestatīšanas e-pasta, lūdzu, pārliecinies, vai izmanto visu norādīto URL.
send_instructions: Ja tava e-pasta adrese ir mūsu datu bāzē, pēc dažām minūtēm uz savu e-pasta adresi saņemsi paroles atkopšanas saiti. Lūdzu, pārbaudi spama mapi, ja neesi saņēmis šo e-pastu. send_instructions: Ja tava e-pasta adrese ir mūsu datu bāzē, pēc dažām minūtēm uz savu e-pasta adresi saņemsi paroles atkopšanas saiti. Lūdzu, pārbaudi spama mapi, ja neesi saņēmis šo e-pastu.
send_paranoid_instructions: Ja tava e-pasta adrese ir mūsu datu bāzē, pēc dažām minūtēm uz savu e-pasta adresi saņemsi paroles atkopšanas saiti. Lūdzu, pārbaudi spama mapi, ja neesi saņēmis šo e-pastu. send_paranoid_instructions: Ja tava e-pasta adrese ir mūsu datu bāzē, pēc dažām minūtēm uz savu e-pasta adresi saņemsi paroles atkopšanas saiti. Lūdzu, pārbaudi spama mapi, ja neesi saņēmis šo e-pastu.
updated: Tava parole ir veiksmīgi nomainīta. Tagad tu esi pierakstījies. updated: Tava parole tika veiksmīgi nomainīta. Tu tagad esi pieteicies.
updated_not_active: Tava parole ir veiksmīgi nomainīta. updated_not_active: Tava parole ir veiksmīgi nomainīta.
registrations: registrations:
destroyed: Visu labu! Tavs konts ir veiksmīgi atcelts. Mēs ceram tevi drīz atkal redzēt. destroyed: Visu labu! Tavs konts ir veiksmīgi atcelts. Mēs ceram tevi drīz atkal redzēt.
@ -103,7 +103,7 @@ lv:
updated: Tavs konts ir veiksmīgi atjaunināts. updated: Tavs konts ir veiksmīgi atjaunināts.
sessions: sessions:
already_signed_out: Veiksmīgi izrakstījies. already_signed_out: Veiksmīgi izrakstījies.
signed_in: Veiksmīgi pierakstījies. signed_in: Veiksmīgi pieteicies.
signed_out: Veiksmīgi izrakstījies. signed_out: Veiksmīgi izrakstījies.
unlocks: unlocks:
send_instructions: Pēc dažām minūtēm tu saņemsi e-pastu ar norādījumiem, kā atbloķēt savu kontu. Lūdzu, pārbaudi spama mapi, ja neesi saņēmis šo e-pastu. send_instructions: Pēc dažām minūtēm tu saņemsi e-pastu ar norādījumiem, kā atbloķēt savu kontu. Lūdzu, pārbaudi spama mapi, ja neesi saņēmis šo e-pastu.

View File

@ -66,11 +66,11 @@ nn:
subject: 'Mastodon: Instruksjonar for å opne kontoen igjen' subject: 'Mastodon: Instruksjonar for å opne kontoen igjen'
webauthn_credential: webauthn_credential:
added: added:
explanation: Følgende sikkerhetsnøkkel har blitt lagt til i kontoen din explanation: Denne tryggingsnykjelen er lagt til kontoen din
subject: 'Mastodon: Ny sikkerheitsnøkkel' subject: 'Mastodon: Ny sikkerheitsnøkkel'
title: Ein ny sikkerheitsnøkkel har blitt lagt til title: Ein ny sikkerheitsnøkkel har blitt lagt til
deleted: deleted:
explanation: Den følgande sikkerheitsnøkkelen har blitt sletta frå kontoen din explanation: Denne tryggingsnykjelen er sletta frå kontoen din
subject: 'Mastodon: Sikkerheitsnøkkel sletta' subject: 'Mastodon: Sikkerheitsnøkkel sletta'
title: Ein av sikkerheitsnøklane dine har blitt sletta title: Ein av sikkerheitsnøklane dine har blitt sletta
webauthn_disabled: webauthn_disabled:

View File

@ -164,7 +164,7 @@ nl:
admin:write:ip_blocks: moderatieacties op geblokkeerde IP-adressen uitvoeren admin:write:ip_blocks: moderatieacties op geblokkeerde IP-adressen uitvoeren
admin:write:reports: moderatieacties op rapportages uitvoeren admin:write:reports: moderatieacties op rapportages uitvoeren
crypto: end-to-end-encryptie gebruiken crypto: end-to-end-encryptie gebruiken
follow: relaties tussen accounts bewerken follow: volgrelaties tussen accounts bewerken
push: jouw pushmeldingen ontvangen push: jouw pushmeldingen ontvangen
read: alle gegevens van jouw account lezen read: alle gegevens van jouw account lezen
read:accounts: informatie accounts bekijken read:accounts: informatie accounts bekijken

View File

@ -130,7 +130,7 @@ zh-TW:
favourites: 最愛 favourites: 最愛
filters: 過濾器 filters: 過濾器
follow: 跟隨、靜音與封鎖 follow: 跟隨、靜音與封鎖
follows: 跟隨的使用者 follows: 正在跟隨
lists: 列表 lists: 列表
media: 多媒體附加檔案 media: 多媒體附加檔案
mutes: 靜音 mutes: 靜音

View File

@ -597,6 +597,9 @@ es-AR:
actions_description_html: Decidí qué medidas tomar para resolver esta denuncia. Si tomás una acción punitiva contra la cuenta denunciada, se le enviará a dicha cuenta una notificación por correo electrónico, excepto cuando se seleccione la categoría <strong>Spam</strong>. actions_description_html: Decidí qué medidas tomar para resolver esta denuncia. Si tomás una acción punitiva contra la cuenta denunciada, se le enviará a dicha cuenta una notificación por correo electrónico, excepto cuando se seleccione la categoría <strong>Spam</strong>.
actions_description_remote_html: Decidí qué medidas tomar para resolver esta denuncia. Esto sólo afectará la forma en que <strong>tu servidor</strong> se comunica con esta cuenta remota y maneja su contenido. actions_description_remote_html: Decidí qué medidas tomar para resolver esta denuncia. Esto sólo afectará la forma en que <strong>tu servidor</strong> se comunica con esta cuenta remota y maneja su contenido.
add_to_report: Agregar más a la denuncia add_to_report: Agregar más a la denuncia
already_suspended_badges:
local: Ya suspendido en este servidor
remote: Ya suspendido en su servidor
are_you_sure: "¿Estás seguro?" are_you_sure: "¿Estás seguro?"
assign_to_self: Asignármela a mí assign_to_self: Asignármela a mí
assigned: Moderador asignado assigned: Moderador asignado

View File

@ -597,6 +597,9 @@ es:
actions_description_html: Decide qué medidas tomar para resolver esta denuncia. Si tomas una acción punitiva contra la cuenta denunciada, se le enviará a dicha cuenta una notificación por correo electrónico, excepto cuando se seleccione la categoría <strong>Spam</strong>. actions_description_html: Decide qué medidas tomar para resolver esta denuncia. Si tomas una acción punitiva contra la cuenta denunciada, se le enviará a dicha cuenta una notificación por correo electrónico, excepto cuando se seleccione la categoría <strong>Spam</strong>.
actions_description_remote_html: Decide qué medidas tomar para resolver este informe. Esto solo afectará a la forma en que <strong>tu servidor</strong> se comunica con esta cuenta remota y gestiona su contenido. actions_description_remote_html: Decide qué medidas tomar para resolver este informe. Esto solo afectará a la forma en que <strong>tu servidor</strong> se comunica con esta cuenta remota y gestiona su contenido.
add_to_report: Añadir más al reporte add_to_report: Añadir más al reporte
already_suspended_badges:
local: Ya suspendido en este servidor
remote: Ya suspendido en su servidor
are_you_sure: "¿Estás seguro?" are_you_sure: "¿Estás seguro?"
assign_to_self: Asignármela a mí assign_to_self: Asignármela a mí
assigned: Moderador asignado assigned: Moderador asignado

View File

@ -1663,10 +1663,22 @@ eu:
preferences: Hobespenak preferences: Hobespenak
profile: Profila profile: Profila
relationships: Jarraitutakoak eta jarraitzaileak relationships: Jarraitutakoak eta jarraitzaileak
severed_relationships: Indartutako erlazioak
statuses_cleanup: Bidalketak automatikoki ezabatzea statuses_cleanup: Bidalketak automatikoki ezabatzea
strikes: Moderazio neurriak strikes: Moderazio neurriak
two_factor_authentication: Bi faktoreetako autentifikazioa two_factor_authentication: Bi faktoreetako autentifikazioa
webauthn_authentication: Segurtasun gakoak webauthn_authentication: Segurtasun gakoak
severed_relationships:
download: Deskargatu (%{count})
event_type:
account_suspension: Kontua bertan behera uztea (%{target_name})
domain_block: Domeinua bertan behera uztea (%{target_name})
user_domain_block: "%{target_name} blokeatu duzu"
lost_followers: Galdutako jarraitzaileak
lost_follows: Jarraitzeari utzi diozun jendea
preamble: Jarraitzaileak gal ditzakezu, baita jendea jarraitzeari utzi domeinu bat blokeatzen duzunean edo moderatzaileek urruneko zerbitzari bat bertan behera uztea erabakitzen badute. Hau gertatzean, galdutako erlazioen zerrendak deskargatu ahalko dituzu, aztertzeko eta agian, beste zerbitzari batean inportatzeko.
purged: Zerbitzari honen informazioa kendu du zerbitzariko administratzaileak.
type: Gertaera
statuses: statuses:
attached: attached:
audio: audio:

View File

@ -1659,10 +1659,22 @@ fi:
preferences: Ominaisuudet preferences: Ominaisuudet
profile: Julkinen profiili profile: Julkinen profiili
relationships: Seuratut ja seuraajat relationships: Seuratut ja seuraajat
severed_relationships: Katkenneet suhteet
statuses_cleanup: Autom. julkaisujen poisto statuses_cleanup: Autom. julkaisujen poisto
strikes: Valvontavaroitukset strikes: Valvontavaroitukset
two_factor_authentication: Kaksivaiheinen todennus two_factor_authentication: Kaksivaiheinen todennus
webauthn_authentication: Suojausavaimet webauthn_authentication: Suojausavaimet
severed_relationships:
download: Lataa (%{count})
event_type:
account_suspension: Tilin jäädytys (%{target_name})
domain_block: Palvelimen jäädytys (%{target_name})
user_domain_block: Estit käyttäjän %{target_name}
lost_followers: Menetetyt seuraajat
lost_follows: Menetetyt seuratut
preamble: Voit menettää seurattusi ja seuraajasi, kun estät verkkotunnuksen tai kun valvojasi päättävät jäädyttää etäpalvelimen. Kun näin tapahtuu, voit ladata luetteloita katkenneista suhteista, jotta voit tarkastella niitä ja mahdollisesti viedä ne toiselle palvelimelle.
purged: Palvelimesi ylläpitäjät ovat tyhjentäneet tämän palvelimen tiedot.
type: Tapahtuma
statuses: statuses:
attached: attached:
audio: audio:

View File

@ -1659,10 +1659,22 @@ fo:
preferences: Stillingar preferences: Stillingar
profile: Vangi profile: Vangi
relationships: Fylging og fylgjarar relationships: Fylging og fylgjarar
severed_relationships: Avbrotin tilknýti
statuses_cleanup: Sjálvvirkandi striking av postum statuses_cleanup: Sjálvvirkandi striking av postum
strikes: Umsjónaratsóknir strikes: Umsjónaratsóknir
two_factor_authentication: Váttan í tveimum stigum two_factor_authentication: Váttan í tveimum stigum
webauthn_authentication: Trygdarlyklar webauthn_authentication: Trygdarlyklar
severed_relationships:
download: Niðurtøkur (%{count})
event_type:
account_suspension: Kontuógilding (%{target_name})
domain_block: Ambætara-ógilding (%{target_name})
user_domain_block: Tú hevur forðað %{target_name}
lost_followers: Mistir fylgjarar
lost_follows: Mist fylgi
preamble: Tá ið tú forðar einum økisnavni, ella tínir umsitarar velja at avgilda ein fjarambætara, kanst tú missa fylgi og fylgjarar. Um tað hendir, kanst tú taka ein lista av avbrotnum tilknýtum niður, sum tú kanst eftirhyggja og møguliga innflyta á ein nýggjan ambætara.
purged: Umsitararnir fyri tín ambætara hava tømt upplýsingar um henda ambætara úr skipanini.
type: Tiltak
statuses: statuses:
attached: attached:
audio: audio:

View File

@ -621,6 +621,9 @@ gd:
actions_description_html: Socraich dè a nì thu airson an gearan seo fhuasgladh. Ma chuireas tu peanas air a chunntas le gearan air, gheibh iad brath air a phost-d mura tagh thu an roinn-seòrsa <strong>Spama</strong>. actions_description_html: Socraich dè a nì thu airson an gearan seo fhuasgladh. Ma chuireas tu peanas air a chunntas le gearan air, gheibh iad brath air a phost-d mura tagh thu an roinn-seòrsa <strong>Spama</strong>.
actions_description_remote_html: Cuir romhad dè an gnìomh a ghabhas tu airson an gearan seo fhuasgladh. Cha bheir seo buaidh ach air mar a làimhsicheas am frithealaiche <strong>agadsa</strong> an cunntas cèin seo is mar a nì e conaltradh leis. actions_description_remote_html: Cuir romhad dè an gnìomh a ghabhas tu airson an gearan seo fhuasgladh. Cha bheir seo buaidh ach air mar a làimhsicheas am frithealaiche <strong>agadsa</strong> an cunntas cèin seo is mar a nì e conaltradh leis.
add_to_report: Cuir barrachd ris a ghearan add_to_report: Cuir barrachd ris a ghearan
already_suspended_badges:
local: Chaidh an cur à rèim air an fhrithealaiche seo mu thràth
remote: Chaidh an cur à rèim air an fhrithealaiche aca-san mu thràth
are_you_sure: A bheil thu cinnteach? are_you_sure: A bheil thu cinnteach?
assign_to_self: Iomruin dhomh-sa assign_to_self: Iomruin dhomh-sa
assigned: Maor iomruinte assigned: Maor iomruinte
@ -1704,13 +1707,25 @@ gd:
import: Ion-phortadh import: Ion-phortadh
import_and_export: Ion-phortadh ⁊ às-phortadh import_and_export: Ion-phortadh ⁊ às-phortadh
migrate: Imrich cunntais migrate: Imrich cunntais
notifications: Brathan puist-d
preferences: Roghainnean preferences: Roghainnean
profile: Pròifil phoblach profile: Pròifil phoblach
relationships: Dàimhean leantainn relationships: Dàimhean leantainn
severed_relationships: Dàimhean dealaichte
statuses_cleanup: Sguabadh às phostaichean statuses_cleanup: Sguabadh às phostaichean
strikes: Rabhaidhean na maorsainneachd strikes: Rabhaidhean na maorsainneachd
two_factor_authentication: Dearbhadh dà-cheumnach two_factor_authentication: Dearbhadh dà-cheumnach
webauthn_authentication: Iuchraichean tèarainteachd webauthn_authentication: Iuchraichean tèarainteachd
severed_relationships:
download: Luchdaich a-nuas (%{count})
event_type:
account_suspension: Cunntas à rèim (%{target_name})
domain_block: Frithealaiche à rèim (%{target_name})
user_domain_block: Bhac thu %{target_name}
lost_followers: An luchd-leantainn a chaill thu
lost_follows: Daoine nach lean thu tuilleadh
purged: Chaidh am fiosrachadh mun fhrithealaiche seo a phurgaideachadh le rianairean an fhrithealaiche agad.
type: Tachartas
statuses: statuses:
attached: attached:
audio: audio:

View File

@ -1655,14 +1655,26 @@ hu:
import: Importálás import: Importálás
import_and_export: Import és export import_and_export: Import és export
migrate: Fiók átirányítása migrate: Fiók átirányítása
notifications: E-mail értesítések notifications: E-mail-értesítések
preferences: Beállítások preferences: Beállítások
profile: Profil profile: Profil
relationships: Követések és követők relationships: Követések és követők
severed_relationships: Megszakított kapcsolatok
statuses_cleanup: Bejegyzések automatikus törlése statuses_cleanup: Bejegyzések automatikus törlése
strikes: Moderációs felrótt vétségek strikes: Moderációs felrótt vétségek
two_factor_authentication: Kétlépcsős hitelesítés two_factor_authentication: Kétlépcsős hitelesítés
webauthn_authentication: Biztonsági kulcsok webauthn_authentication: Biztonsági kulcsok
severed_relationships:
download: Letöltés (%{count})
event_type:
account_suspension: Fiók felfüggesztése (%{target_name})
domain_block: Kiszolgáló felfüggesztése (%{target_name})
user_domain_block: 'Blokkoltad ezt: %{target_name}'
lost_followers: Elvesztett követők
lost_follows: Elvesztett követések
preamble: Ha blokkolsz egy domaint, vagy ha a moderátorok úgy döntenek, hogy blokkolnak egy távoli kiszolgálót, akkor követőket és követéseket veszíthetsz. Amikor ez megtörténik, akkor letöltheted a megszakadt kapcsolatokat, hogy átvizsgáld őket, és esetleg egy másik kiszolgálón importáld őket.
purged: A kiszolgáló információit a kiszolgálód rendszergazdái véglegesen eltávolították.
type: Esemény
statuses: statuses:
attached: attached:
audio: audio:

View File

@ -1635,10 +1635,22 @@ ko:
preferences: 환경설정 preferences: 환경설정
profile: 공개 프로필 profile: 공개 프로필
relationships: 팔로잉과 팔로워 relationships: 팔로잉과 팔로워
severed_relationships: 단절된 관계들
statuses_cleanup: 게시물 자동 삭제 statuses_cleanup: 게시물 자동 삭제
strikes: 중재 기록 strikes: 중재 기록
two_factor_authentication: 2단계 인증 two_factor_authentication: 2단계 인증
webauthn_authentication: 보안 키 webauthn_authentication: 보안 키
severed_relationships:
download: 다운로드 (%{count})
event_type:
account_suspension: 계정 정지 (%{target_name})
domain_block: 서버 정지 (%{target_name})
user_domain_block: 내가 %{target_name}을 차단했습니다
lost_followers: 잃은 팔로워
lost_follows: 잃은 팔로우
preamble: 내가 도메인을 차단하거나 중재진이 다른 서버를 정지하기로 결정했다면 내 팔로우와 팔로워를 잃게 됩니다. 그런 일이 일어났다면 그로 인해 단절된 관계들의 목록을 다운로드 받아 확인하고 다른 서버에서 불러올 수 있습니다.
purged: 이 서버에 대한 정보는 관리자에 의해 삭제되었습니다.
type: 이벤트
statuses: statuses:
attached: attached:
audio: audio:

View File

@ -1655,6 +1655,7 @@ lad:
import: Importo import: Importo
import_and_export: Importo i eksporto import_and_export: Importo i eksporto
migrate: Migrasyon de kuento migrate: Migrasyon de kuento
notifications: Avizos por posta elektronika
preferences: Preferensyas preferences: Preferensyas
profile: Profil publiko profile: Profil publiko
relationships: Segidos i suivantes relationships: Segidos i suivantes
@ -1662,6 +1663,9 @@ lad:
strikes: Amonestamientos de moderasyon strikes: Amonestamientos de moderasyon
two_factor_authentication: Autentifikasyon en dos pasos two_factor_authentication: Autentifikasyon en dos pasos
webauthn_authentication: Yaves de sigurita webauthn_authentication: Yaves de sigurita
severed_relationships:
download: Abasha (%{count})
type: Evenimiento
statuses: statuses:
attached: attached:
audio: audio:
@ -1862,6 +1866,9 @@ lad:
follows_subtitle: Sige kuentos konesidos follows_subtitle: Sige kuentos konesidos
follows_title: A ken segir follows_title: A ken segir
follows_view_more: Ve mas personas para segir follows_view_more: Ve mas personas para segir
hashtags_recent_count:
one: "%{people} persona en los ultimos 2 diyas"
other: "%{people} personas en los ultimos 2 diyas"
hashtags_subtitle: Eksplora los trendes de los ultimos 2 diyas hashtags_subtitle: Eksplora los trendes de los ultimos 2 diyas
hashtags_title: Etiketas en trend hashtags_title: Etiketas en trend
hashtags_view_more: Ve mas etiketas en trend hashtags_view_more: Ve mas etiketas en trend

View File

@ -16,9 +16,9 @@ lv:
instance_actor_flash: Šis konts ir virtuāls aktieris, ko izmanto, lai pārstāvētu pašu serveri, nevis atsevišķu lietotāju. To izmanto federācijas nolūkos, un to nevajadzētu apturēt. instance_actor_flash: Šis konts ir virtuāls aktieris, ko izmanto, lai pārstāvētu pašu serveri, nevis atsevišķu lietotāju. To izmanto federācijas nolūkos, un to nevajadzētu apturēt.
last_active: pēdējā aktivitāte last_active: pēdējā aktivitāte
link_verified_on: Šīs saites piederība tika pārbaudīta %{date} link_verified_on: Šīs saites piederība tika pārbaudīta %{date}
nothing_here: Te nekā nav! nothing_here: Šeit nekā nav.
pin_errors: pin_errors:
following: Tev jau ir jāseko personai, kuru vēlies apstiprināt following: Tev ir jāseko personai, kuru vēlies atbalstīt
posts: posts:
one: Ziņa one: Ziņa
other: Ziņas other: Ziņas
@ -575,7 +575,7 @@ lv:
relays: relays:
add_new: Pievienot jaunu releju add_new: Pievienot jaunu releju
delete: Dzēst delete: Dzēst
description_html: "<strong>Federācijas relejs</strong> ir starpniekserveris, kas apmainās ar lielu publisko ziņu apjomu starp serveriem, kas to abonē un publicē. <strong>Tas var palīdzēt maziem un vidējiem serveriem atklāt saturu no federācijas</strong>, pretējā gadījumā vietējiem lietotājiem manuāli jāseko citām personām attālos serveros." description_html: "<strong>Federācijas pārraidītājs</strong> ir starpniekserveris, kas apmainās ar lielu publisko ierakstu apjomu starp serveriem, kas to abonē un publicē tajā. <strong>Tas var palīdzēt maziem un vidējiem serveriem atklāt saturu fediversā</strong>, pretējā gadījumā vietējiem lietotājiem būtu pasrocīgi jāseko citiem cilvēkiem attālos serveros."
disable: Atspējot disable: Atspējot
disabled: Atspējots disabled: Atspējots
enable: Iespējot enable: Iespējot
@ -659,7 +659,7 @@ lv:
actions: actions:
delete_html: Noņemt aizskarošās ziņas delete_html: Noņemt aizskarošās ziņas
mark_as_sensitive_html: Atzīmēt aizskarošo ziņu multivides saturu kā sensitīvu mark_as_sensitive_html: Atzīmēt aizskarošo ziņu multivides saturu kā sensitīvu
silence_html: Ievērojami ierobežojiet <strong>@%{acct}</strong> sasniedzamību, padarot viņa profilu un saturu redzamu tikai personām, kas jau seko viņiem vai manuāli meklē profilu silence_html: Ievērojami ierobežo <strong>@%{acct}</strong> sasniedzamību, padarot viņa profilu un saturu redzamu tikai cilvēkiem, kas jau seko tam vai pašrocīgi uzmeklē profilu
suspend_html: Apturēt <strong>@%{acct}</strong>, padarot viņu profilu un saturu nepieejamu un neiespējamu mijiedarbību ar suspend_html: Apturēt <strong>@%{acct}</strong>, padarot viņu profilu un saturu nepieejamu un neiespējamu mijiedarbību ar
close_report: 'Atzīmēt ziņojumu #%{id} kā atrisinātu' close_report: 'Atzīmēt ziņojumu #%{id} kā atrisinātu'
close_reports_html: Atzīmējiet <strong>visus</strong> pārskatus par <strong>@%{acct}</strong> kā atrisinātus close_reports_html: Atzīmējiet <strong>visus</strong> pārskatus par <strong>@%{acct}</strong> kā atrisinātus
@ -902,9 +902,9 @@ lv:
publishers: publishers:
no_publisher_selected: Neviens publicētājs netika mainīts, jo neviens netika atlasīts no_publisher_selected: Neviens publicētājs netika mainīts, jo neviens netika atlasīts
shared_by_over_week: shared_by_over_week:
one: Pēdējās nedēļas laikā kopīgoja viena persona one: Pēdējās nedēļas laikā kopīgoja viens cilvēks
other: Pēdējās nedēļas laikā kopīgoja %{count} cilvēki other: Pēdējās nedēļas laikā kopīgoja %{count} cilvēki
zero: Pēdējās nedēļas laikā kopīgoja %{count} personas zero: Pēdējās nedēļas laikā kopīgoja %{count} cilvēku
title: Populārākās saites title: Populārākās saites
usage_comparison: Šodien kopīgots %{today} reizes, salīdzinot ar %{yesterday} vakar usage_comparison: Šodien kopīgots %{today} reizes, salīdzinot ar %{yesterday} vakar
not_allowed_to_trend: Popularizešana nav atļauta not_allowed_to_trend: Popularizešana nav atļauta
@ -944,7 +944,7 @@ lv:
not_trendable: Neparādīsies pie tendencēm not_trendable: Neparādīsies pie tendencēm
not_usable: Nevar tikt lietots not_usable: Nevar tikt lietots
peaked_on_and_decaying: Sasniedza maksimumu %{date}, tagad samazinās peaked_on_and_decaying: Sasniedza maksimumu %{date}, tagad samazinās
title: Populārākie tēmturi title: Izplatīti tēmturi
trendable: Var parādīsies pie tendencēm trendable: Var parādīsies pie tendencēm
trending_rank: 'Populārākie #%{rank}' trending_rank: 'Populārākie #%{rank}'
usable: Var tikt lietots usable: Var tikt lietots
@ -952,7 +952,7 @@ lv:
used_by_over_week: used_by_over_week:
one: Pēdējās nedēļas laikā izmantoja viens cilvēks one: Pēdējās nedēļas laikā izmantoja viens cilvēks
other: Pēdējās nedēļas laikā izmantoja %{count} cilvēki other: Pēdējās nedēļas laikā izmantoja %{count} cilvēki
zero: Pēdējās nedēļas laikā izmantoja %{count} personas zero: Pēdējās nedēļas laikā izmantoja %{count} cilvēku
title: Tendences title: Tendences
trending: Populārākie trending: Populārākie
warning_presets: warning_presets:
@ -1015,7 +1015,7 @@ lv:
new_trending_statuses: new_trending_statuses:
title: Populārākās ziņas title: Populārākās ziņas
new_trending_tags: new_trending_tags:
title: Populārākie tēmturi title: Izplatīti tēmturi
subject: Tiek pārskatītas jaunas tendences %{instance} subject: Tiek pārskatītas jaunas tendences %{instance}
aliases: aliases:
add_new: Izveidot aizstājvārdu add_new: Izveidot aizstājvārdu
@ -1040,7 +1040,7 @@ lv:
salutation: "%{name}," salutation: "%{name},"
settings: 'Mainīt e-pasta uztādījumus: %{link}' settings: 'Mainīt e-pasta uztādījumus: %{link}'
unsubscribe: Atcelt abonēšanu unsubscribe: Atcelt abonēšanu
view: 'Skatījums:' view: 'Skatīt:'
view_profile: Skatīt profilu view_profile: Skatīt profilu
view_status: Skatīt ziņu view_status: Skatīt ziņu
applications: applications:
@ -1119,7 +1119,7 @@ lv:
title: Pierakstīties %{domain} title: Pierakstīties %{domain}
sign_up: sign_up:
manual_review: Reģistrācijas domēnā %{domain} manuāli pārbauda mūsu moderatori. Lai palīdzētu mums apstrādāt tavu reģistrāciju, uzraksti mazliet par sevi un to, kāpēc vēlies kontu %{domain}. manual_review: Reģistrācijas domēnā %{domain} manuāli pārbauda mūsu moderatori. Lai palīdzētu mums apstrādāt tavu reģistrāciju, uzraksti mazliet par sevi un to, kāpēc vēlies kontu %{domain}.
preamble: Izmantojot kontu šajā Mastodon serverī, tu varēsi sekot jebkurai citai personai tīklā neatkarīgi no tā, kur tiek mitināts viņas konts. preamble: Ar kontu šajā Mastodon serverī varēsi sekot jebkuram citam tīklā esošam cilvēkam neatkarīgi no tā, kur tiek mitināts viņa konts.
title: Atļauj tevi iestatīt %{domain}. title: Atļauj tevi iestatīt %{domain}.
status: status:
account_status: Konta statuss account_status: Konta statuss
@ -1351,7 +1351,7 @@ lv:
following_html: Tu gatavojies <strong>sekot</strong> līdz pat <strong>%{total_items} kontiem</strong> no <strong>%{filename}</strong>. following_html: Tu gatavojies <strong>sekot</strong> līdz pat <strong>%{total_items} kontiem</strong> no <strong>%{filename}</strong>.
lists_html: Tu gatavojies pievienot līdz pat <strong>%{total_items} kontiem</strong> no <strong>%{filename}</strong> saviem <strong>sarakstiem</strong>. Jauni saraksti tiks izveidoti, ja nav saraksta, ko pievienot. lists_html: Tu gatavojies pievienot līdz pat <strong>%{total_items} kontiem</strong> no <strong>%{filename}</strong> saviem <strong>sarakstiem</strong>. Jauni saraksti tiks izveidoti, ja nav saraksta, ko pievienot.
muting_html: Tu gatavojies <strong>noklusināt</strong> līdz pat <strong>%{total_items} kontiem</strong> no <strong>%{filename}</strong>. muting_html: Tu gatavojies <strong>noklusināt</strong> līdz pat <strong>%{total_items} kontiem</strong> no <strong>%{filename}</strong>.
preface: Tu vari importēt datus, kurus esi eksportējis no cita servera, piemēram, to personu sarakstu, kurām tu seko vai kuras bloķē. preface: Tu vari ievietot datus, kurus esi izguvis no cita servera, kā, piemēram, cilvēku sarakstu, kuriem Tu seko vai kurus bloķē.
recent_imports: Nesen importēts recent_imports: Nesen importēts
states: states:
finished: Pabeigts finished: Pabeigts
@ -1481,7 +1481,7 @@ lv:
report: report:
subject: "%{name} iesniedza ziņojumu" subject: "%{name} iesniedza ziņojumu"
sign_up: sign_up:
subject: "%{name} ir pierakstījies" subject: "%{name} pierakstījās"
favourite: favourite:
body: 'Tavu ziņu izlasei pievienoja %{name}:' body: 'Tavu ziņu izlasei pievienoja %{name}:'
subject: "%{name} pievienoja tavu ziņu izlasei" subject: "%{name} pievienoja tavu ziņu izlasei"
@ -1708,9 +1708,9 @@ lv:
reblog: Izceltu ierakstu nevar piespraust reblog: Izceltu ierakstu nevar piespraust
poll: poll:
total_people: total_people:
one: "%{count} persona" one: "%{count} cilvēks"
other: "%{count} cilvēki" other: "%{count} cilvēki"
zero: "%{count} personu" zero: "%{count} cilvēku"
total_votes: total_votes:
one: "%{count} balss" one: "%{count} balss"
other: "%{count} balsis" other: "%{count} balsis"
@ -1826,7 +1826,7 @@ lv:
explanation: explanation:
delete_statuses: Tika konstatēts, ka dažas no tavām ziņām pārkāpj vienu vai vairākas kopienas vadlīnijas, un rezultātā %{instance} moderatori tās noņēma. delete_statuses: Tika konstatēts, ka dažas no tavām ziņām pārkāpj vienu vai vairākas kopienas vadlīnijas, un rezultātā %{instance} moderatori tās noņēma.
disable: Tu vairs nevari izmantot savu kontu, taču tavs profils un citi dati paliek neskarti. Tu vari pieprasīt savu datu dublējumu, mainīt konta iestatījumus vai dzēst kontu. disable: Tu vairs nevari izmantot savu kontu, taču tavs profils un citi dati paliek neskarti. Tu vari pieprasīt savu datu dublējumu, mainīt konta iestatījumus vai dzēst kontu.
mark_statuses_as_sensitive: "%{instance} moderatori dažas no tavām ziņām ir atzīmējušas kā sensitīvas. Tas nozīmē, ka cilvēkiem būs jāpieskaras ziņās esošajai multividei, pirms tiek parādīts priekšskatījums. Tu arī pats vari atzīmēt mediju kā sensitīvu, kad tādu publicēsi turpmāk." mark_statuses_as_sensitive: "%{instance} moderatori dažus no Taviem ierakstiem ir atzīmējuši kā jutīgus. Tas nozīmē, ka cilvēkiem būs jāpiesit ierakstos esošajiem informāijas nesējiem, pirms tiek attēlots priekšskatījums. Tu arī pats vari atzīmēt informācijas nesēju kā jutīgu, kad nākotnē tādu ievietosi."
sensitive: No šī brīža visi augšupielādētie multivides faili tiks atzīmēti kā sensitīvi un paslēpti aiz klikšķa brīdinājuma. sensitive: No šī brīža visi augšupielādētie multivides faili tiks atzīmēti kā sensitīvi un paslēpti aiz klikšķa brīdinājuma.
silence: Tu joprojām vari izmantot savu kontu, taču tikai tie cilvēki, kuri jau tev seko, redzēs tavas ziņas šajā serverī, un tev var tikt liegtas dažādas atklāšanas funkcijas. Tomēr citi joprojām var tev manuāli sekot. silence: Tu joprojām vari izmantot savu kontu, taču tikai tie cilvēki, kuri jau tev seko, redzēs tavas ziņas šajā serverī, un tev var tikt liegtas dažādas atklāšanas funkcijas. Tomēr citi joprojām var tev manuāli sekot.
suspend: Tu vairs nevari izmantot savu kontu, un tavs profils un citi dati vairs nav pieejami. Tu joprojām vari pieteikties, lai pieprasītu savu datu dublēšanu, līdz dati tiks pilnībā noņemti aptuveni 30 dienu laikā, taču mēs saglabāsim dažus pamata datus, lai neļautu tev izvairīties no apturēšanas. suspend: Tu vairs nevari izmantot savu kontu, un tavs profils un citi dati vairs nav pieejami. Tu joprojām vari pieteikties, lai pieprasītu savu datu dublēšanu, līdz dati tiks pilnībā noņemti aptuveni 30 dienu laikā, taču mēs saglabāsim dažus pamata datus, lai neļautu tev izvairīties no apturēšanas.
@ -1849,8 +1849,15 @@ lv:
silence: Konts ierobežots silence: Konts ierobežots
suspend: Konts apturēts suspend: Konts apturēts
welcome: welcome:
edit_profile_action: Pielāgot
edit_profile_title: Pielāgo savu profilu
explanation: Šeit ir daži padomi, kā sākt darbu explanation: Šeit ir daži padomi, kā sākt darbu
feature_creativity: Mastodon nodrošina skaņas, video un attēlu ierakstus, pieejamības aprakstus, aptaujas, satura brīdinājumus, animētus profila attēlus, pielāgotas emocijzīmes, sīktēlu apgriešanas vadīklas un vēl, lai palīdzētu Tev sevi izpaust tiešsaistē. Vai Tu izplati savu mākslu, mūziku vai aplādes, Mastodon ir šeit ar Tevi. feature_creativity: Mastodon nodrošina skaņas, video un attēlu ierakstus, pieejamības aprakstus, aptaujas, satura brīdinājumus, animētus profila attēlus, pielāgotas emocijzīmes, sīktēlu apgriešanas vadīklas un vēl, lai palīdzētu Tev sevi izpaust tiešsaistē. Vai Tu izplati savu mākslu, mūziku vai aplādes, Mastodon ir šeit ar Tevi.
follow_title: Pielāgo savu mājas barotni
hashtags_recent_count:
one: "%{people} cilvēks pēdējās 2 dienās"
other: "%{people} cilvēki pēdējās 2 dienās"
zero: "%{people} cilvēku pēdējās divās dienās"
subject: Laipni lūgts Mastodon subject: Laipni lūgts Mastodon
title: Laipni lūgts uz borta, %{name}! title: Laipni lūgts uz borta, %{name}!
users: users:
@ -1859,11 +1866,11 @@ lv:
invalid_otp_token: Nederīgs divfaktora kods invalid_otp_token: Nederīgs divfaktora kods
otp_lost_help_html: Ja esi zaudējis piekļuvi abiem, tu vari sazināties ar %{email} otp_lost_help_html: Ja esi zaudējis piekļuvi abiem, tu vari sazināties ar %{email}
seamless_external_login: Tu esi pieteicies, izmantojot ārēju pakalpojumu, tāpēc paroles un e-pasta iestatījumi nav pieejami. seamless_external_login: Tu esi pieteicies, izmantojot ārēju pakalpojumu, tāpēc paroles un e-pasta iestatījumi nav pieejami.
signed_in_as: 'Pierakstījies kā:' signed_in_as: 'Pieteicies kā:'
verification: verification:
extra_instructions_html: <strong>Padoms.</strong> saite tavā vietnē var būt neredzama. Svarīga daļa ir <code>rel="me"</code>, kas novērš uzdošanos vietnēs ar lietotāju ģenerētu saturu. Tu vari pat lapas galvenē izmantot tagu <code>link</code>, nevis <code>a</code>, taču HTML ir jābūt pieejamam, neizpildot JavaScript. extra_instructions_html: <strong>Padoms:</strong> saite Tavā vietnē var būt neredzama. Svarīga daļa ir <code>rel="me"</code>, kas novērš uzdošanos vietnēs ar lietotāju izveidotu saturu. Tu pat vari lapas galvenē izmantot tagu <code>link</code>, nevis <code>a</code>, taču HTML ir jābūt pieejamam bez JavaScript izpildīšanas.
here_is_how: Lūk, kā here_is_how: Lūk, kā
hint_html: "<strong>Ikviens var apliecināt savu identitāti Mastodon.</strong> Pamatojoties uz atvērtiem tīmekļa standartiem, tagad un uz visiem laikiem bez maksas. Viss, kas tev nepieciešams, ir personīga vietne, pēc kuras cilvēki tevi atpazīst. Kad no sava profila izveidosi saiti uz šo vietni, mēs pārbaudīsim, vai vietne novirza atpakaļ uz tavu profilu, un tajā tiks parādīts vizuāls indikators." hint_html: "<strong>Ikviens var apliecināt savu identitāti Mastodon.</strong> Balstīts uz atvērtiem tīmekļa standartiem, tagad un uz visiem laikiem bez maksas. Viss, kas Tev nepieciešams, ir personīga vietne, pēc kuras cilvēki Tevi atpazīst. Kad savā profilu sasaistīsi ar šo tīmekļvietni, mēs pārbaudīsim, vai tīmekļvietnei ir saite uz Tavu profilu, un tajā tiks parādīts redzama norāde."
instructions_html: Ievieto starpliktuvē un ielīmē tālāk norādīto kodu savas tīmekļvietnes HTML! Tad pievieno savas tīmekļvietnes adresi vienā no papildu laukiem savā profila cilnē "Labot profilu" un saglabā izmaiņas! instructions_html: Ievieto starpliktuvē un ielīmē tālāk norādīto kodu savas tīmekļvietnes HTML! Tad pievieno savas tīmekļvietnes adresi vienā no papildu laukiem savā profila cilnē "Labot profilu" un saglabā izmaiņas!
verification: Pārbaude verification: Pārbaude
verified_links: Tavas verifikācijas saites verified_links: Tavas verifikācijas saites

View File

@ -560,7 +560,7 @@ nl:
no_ip_block_selected: Er zijn geen IP-regels veranderd, omdat er geen een was geselecteerd no_ip_block_selected: Er zijn geen IP-regels veranderd, omdat er geen een was geselecteerd
title: IP-regels title: IP-regels
relationships: relationships:
title: Relaties van %{acct} title: Volgrelaties van %{acct}
relays: relays:
add_new: Nieuwe relayserver toevoegen add_new: Nieuwe relayserver toevoegen
delete: Verwijderen delete: Verwijderen
@ -1572,7 +1572,7 @@ nl:
moved: Verhuisd moved: Verhuisd
mutual: Wederzijds mutual: Wederzijds
primary: Primair primary: Primair
relationship: Relatie relationship: Volgrelatie
remove_selected_domains: Alle volgers van de geselecteerde domeinen verwijderen remove_selected_domains: Alle volgers van de geselecteerde domeinen verwijderen
remove_selected_followers: Geselecteerde volgers verwijderen remove_selected_followers: Geselecteerde volgers verwijderen
remove_selected_follows: Geselecteerde gebruikers ontvolgen remove_selected_follows: Geselecteerde gebruikers ontvolgen
@ -1659,10 +1659,22 @@ nl:
preferences: Voorkeuren preferences: Voorkeuren
profile: Openbaar profiel profile: Openbaar profiel
relationships: Volgers en gevolgde accounts relationships: Volgers en gevolgde accounts
severed_relationships: Verbroken volgrelaties
statuses_cleanup: Automatisch berichten verwijderen statuses_cleanup: Automatisch berichten verwijderen
strikes: Vastgestelde overtredingen strikes: Vastgestelde overtredingen
two_factor_authentication: Tweestapsverificatie two_factor_authentication: Tweestapsverificatie
webauthn_authentication: Beveiligingssleutels webauthn_authentication: Beveiligingssleutels
severed_relationships:
download: Downloaden (%{count})
event_type:
account_suspension: Accountschorsing (%{target_name})
domain_block: Serverschorsing (%{target_name})
user_domain_block: Je hebt %{target_name} geblokkeerd
lost_followers: Verloren volgers
lost_follows: Verloren gevolgde accounts
preamble: Je kan gevolgde accounts en volgers verliezen wanneer je een domein blokkeert of wanneer de moderators van jouw server beslissen om een externe server op te schorten. Wanneer dat gebeurt, kun je lijsten van verbroken volgrelaties downloaden, deze inspecteren en mogelijk importeren op een andere server.
purged: Informatie over deze server is verwijderd door de beheerders van jouw server.
type: Gebeurtenis
statuses: statuses:
attached: attached:
audio: audio:

View File

@ -391,7 +391,7 @@ nn:
remove_all_data: Dette vil fjerna alt innhald, media og profildata for kontoar som tilhøyrer dette domenet frå din tenar. remove_all_data: Dette vil fjerna alt innhald, media og profildata for kontoar som tilhøyrer dette domenet frå din tenar.
stop_communication: Tenaren din vil slutta å kommunisera med desse tenarane. stop_communication: Tenaren din vil slutta å kommunisera med desse tenarane.
title: Stadfest domeneblokkering for %{domain} title: Stadfest domeneblokkering for %{domain}
undo_relationships: Dette vil oppheve alle følgar-relasjonar mellom kontoane dine og kontoar på desse tenerane. undo_relationships: Dette vil oppheve alle fylgjar-relasjonar mellom kontoane dine og kontoar på desse tenerane.
created_msg: Domeneblokkering blir nå behandlet created_msg: Domeneblokkering blir nå behandlet
destroyed_msg: Domeneblokkering har nå blitt angret destroyed_msg: Domeneblokkering har nå blitt angret
domain: Domene domain: Domene
@ -404,7 +404,7 @@ nn:
create: Lag blokkering create: Lag blokkering
hint: Domeneblokkeringen vil ikke hindre opprettelse av kontooppføringer i databasen, men vil retroaktivt og automatisk benytte spesifikke moderasjonsmetoder på de kontoene. hint: Domeneblokkeringen vil ikke hindre opprettelse av kontooppføringer i databasen, men vil retroaktivt og automatisk benytte spesifikke moderasjonsmetoder på de kontoene.
severity: severity:
desc_html: "<strong>Målbind</strong> gjer kontoen sine postear usynlege for alle som ikkje følger den. <strong>Utvis</strong> fjernar alt innhald, media og profildata frå kontoen. Bruk <strong>Ingen</strong> viss du berre vil fjerne mediafiler." desc_html: "<strong>Avgrens</strong> gjer innlegg frå kontoar på dette domenet usynlege for alle som ikkje fylgjer dei. <strong>Utvis</strong> fjernar alt innhald, media og profildata frå kontoar på dette domenet frå tenaren din. Bruk <strong>Ingen</strong> viss du berre vil avvisa mediafiler."
noop: Ingen noop: Ingen
silence: Målbind silence: Målbind
suspend: Utvis suspend: Utvis
@ -499,8 +499,8 @@ nn:
dashboard: dashboard:
instance_accounts_dimension: Mest fylgde kontoar instance_accounts_dimension: Mest fylgde kontoar
instance_accounts_measure: lagrede kontoer instance_accounts_measure: lagrede kontoer
instance_followers_measure: våre følgere der instance_followers_measure: fylgjarane våre der
instance_follows_measure: deres følgere her instance_follows_measure: fylgjarane deira her
instance_languages_dimension: Mest brukte språk instance_languages_dimension: Mest brukte språk
instance_media_attachments_measure: lagrede mediavedlegg instance_media_attachments_measure: lagrede mediavedlegg
instance_reports_measure: rapporter om dem instance_reports_measure: rapporter om dem
@ -834,7 +834,7 @@ nn:
sensitive: "%{name} markerte %{target} sin konto som ømtolig" sensitive: "%{name} markerte %{target} sin konto som ømtolig"
silence: "%{name} begrenset %{target}s konto" silence: "%{name} begrenset %{target}s konto"
suspend: "%{name} utviste %{target} sin konto" suspend: "%{name} utviste %{target} sin konto"
appeal_approved: Klage tatt til følge appeal_approved: Anka
appeal_pending: Klage behandles appeal_pending: Klage behandles
appeal_rejected: Anken er avvist appeal_rejected: Anken er avvist
system_checks: system_checks:
@ -1013,7 +1013,7 @@ nn:
created_msg: Laga eit nytt kallenamn. No kan du setja i gang med flyttinga frå den gamle kontoen. created_msg: Laga eit nytt kallenamn. No kan du setja i gang med flyttinga frå den gamle kontoen.
deleted_msg: Fjerna kallenamnet. No vert det ikkje lenger mogeleg å flytta frå den andre kontoen til denne. deleted_msg: Fjerna kallenamnet. No vert det ikkje lenger mogeleg å flytta frå den andre kontoen til denne.
empty: Du har inkje alias. empty: Du har inkje alias.
hint_html: Dersom du vil flytte fra en annen konto til den, kan du lage et alias her, som er påkrevd før du kan gå videre med å flytte følgere fra den gamle kontoen til den nye. Handlingen i seg selv er <strong>harmløs og reversibel</strong>. <strong>Kontoflyttingen har blitt satt i gang fra den gamle kontoen</strong>. hint_html: Viss du vil flytta frå ein annan konto til denne, kan du laga eit alias her. Det treng du før du kan halda fram med å flytta fylgjarar frå den gamle kontoen til dnene. Denne handlinga er i seg sjølv <strong>harmlaus og kan angrast</strong>. <strong>Du har starta overføringa frå den gamle kontoen</strong>.
remove: Fjern aliaslenking remove: Fjern aliaslenking
appearance: appearance:
advanced_web_interface: Avansert nettgrensesnitt advanced_web_interface: Avansert nettgrensesnitt
@ -1110,7 +1110,7 @@ nn:
title: Logg inn på %{domain} title: Logg inn på %{domain}
sign_up: sign_up:
manual_review: Når du lagar ein konto på %{domain}, vil moderatorane våre gå gjennom påmeldinga di manuelt. For å hjelpa oss med påmeldinga di, er det fint om du skriv litt om deg sjølv og kvifor du vil ha ein konto på %{domain}. manual_review: Når du lagar ein konto på %{domain}, vil moderatorane våre gå gjennom påmeldinga di manuelt. For å hjelpa oss med påmeldinga di, er det fint om du skriv litt om deg sjølv og kvifor du vil ha ein konto på %{domain}.
preamble: Med en konto på denne Mastodon-tjeneren vil du kunne følge andre personer på nettverket, uansett hvor kontoen deres holder til. preamble: Med ein konto på denne Mastodon-tenaren kan du fylgja andre folk på nettverket, uansett kvar dei har brukarkontoen sin.
title: La oss få deg satt i gang på %{domain}. title: La oss få deg satt i gang på %{domain}.
status: status:
account_status: Kontostatus account_status: Kontostatus
@ -1170,7 +1170,7 @@ nn:
strikes: strikes:
action_taken: Handling utført action_taken: Handling utført
appeal: Klage appeal: Klage
appeal_approved: Denne advarselens klage ble tatt til følge og er ikke lenger gyldig appeal_approved: Denne handlinga er anka og er ikkje lenger gyldig
appeal_rejected: Klagen ble avvist appeal_rejected: Klagen ble avvist
appeal_submitted_at: Klage levert appeal_submitted_at: Klage levert
appealed_msg: Din klage har blitt levert. Du får beskjed om den blir godkjent. appealed_msg: Din klage har blitt levert. Du får beskjed om den blir godkjent.
@ -1424,7 +1424,7 @@ nn:
migrations: migrations:
acct: Flytta til acct: Flytta til
cancel: Avbryt omdirigeringen cancel: Avbryt omdirigeringen
cancel_explanation: Å avbryte omdirigeringen vil reaktivere din nåværende konto, men vil ikke bringe tilbake følgere som har blitt flyttet til den kontoen. cancel_explanation: Viss du avbryt omdirigeringa, vil det ta i bruk at den noverande kontoen din, men det vil ikkje få tilbake fylgjarar som er flytte til den andre kontoen.
cancelled_msg: Avbrøt omdirigeringen med suksess. cancelled_msg: Avbrøt omdirigeringen med suksess.
errors: errors:
already_moved: er den same kontoen som du allereie har flytta til already_moved: er den same kontoen som du allereie har flytta til
@ -1435,7 +1435,7 @@ nn:
followers_count: Fylgjarar då kontoen vart flytta followers_count: Fylgjarar då kontoen vart flytta
incoming_migrations: Flyttar frå ein annan konto incoming_migrations: Flyttar frå ein annan konto
incoming_migrations_html: For å flytta frå ein annnan konto til denne må du fyrst <a href="%{path}">laga eit kallenamn til kontoen</a>. incoming_migrations_html: For å flytta frå ein annnan konto til denne må du fyrst <a href="%{path}">laga eit kallenamn til kontoen</a>.
moved_msg: Kontoen din omdirigeres nå til %{acct}, og følgerne dine blir flyttet over. moved_msg: Kontoen din vidaresender no til %{acct}, og fylgjarane dine blir flytte over dit.
not_redirecting: Kontoen din omdirigeres ikke til noen andre kontoer for øyeblikket. not_redirecting: Kontoen din omdirigeres ikke til noen andre kontoer for øyeblikket.
on_cooldown: Du har nylig overført kontoen din. Denne funksjonen blir tilgjengelig igjen om %{count} dager. on_cooldown: Du har nylig overført kontoen din. Denne funksjonen blir tilgjengelig igjen om %{count} dager.
past_migrations: Tidlegare vandringar past_migrations: Tidlegare vandringar
@ -1448,7 +1448,7 @@ nn:
before: 'Før du fortsetter, vennligst les disse notisene nøye:' before: 'Før du fortsetter, vennligst les disse notisene nøye:'
cooldown: Etter flytting er det en nedkjølingsperiode der du ikke vil kunne flytte igjen cooldown: Etter flytting er det en nedkjølingsperiode der du ikke vil kunne flytte igjen
disabled_account: Din nåværende konto vil ikke være fullt brukbar etterpå. Men du vil ha tilgang til dataeksportering såvel som reaktivering. disabled_account: Din nåværende konto vil ikke være fullt brukbar etterpå. Men du vil ha tilgang til dataeksportering såvel som reaktivering.
followers: Denne handlingen vil flytte alle følgere fra den nåværende kontoen til den nye kontoen followers: Denne handlinga flyttar alle fylgjarar frå denne kontoen til den nye
only_redirect_html: Alternativt kan du velge å <a href="%{path}">bare legge ut en omdirigering på profilen din</a>. only_redirect_html: Alternativt kan du velge å <a href="%{path}">bare legge ut en omdirigering på profilen din</a>.
other_data: Inkje anna data flyttast av seg sjølve other_data: Inkje anna data flyttast av seg sjølve
redirect: Profilen til din nåværende konto vil bli oppdatert med en omdirigeringsnotis og bli fjernet fra søk redirect: Profilen til din nåværende konto vil bli oppdatert med en omdirigeringsnotis og bli fjernet fra søk
@ -1564,7 +1564,7 @@ nn:
dormant: I dvale dormant: I dvale
follow_failure: Greidde ikkje fylgja alle kontoane du valde. follow_failure: Greidde ikkje fylgja alle kontoane du valde.
follow_selected_followers: Følg valgte tilhengere follow_selected_followers: Følg valgte tilhengere
followers: Følgere followers: Fylgjarar
following: Følginger following: Følginger
invited: Innboden invited: Innboden
last_active: Sist aktiv last_active: Sist aktiv
@ -1659,10 +1659,22 @@ nn:
preferences: Innstillingar preferences: Innstillingar
profile: Profil profile: Profil
relationships: Fylgjar og fylgjarar relationships: Fylgjar og fylgjarar
severed_relationships: Brotne forhold
statuses_cleanup: Automatisert sletting av innlegg statuses_cleanup: Automatisert sletting av innlegg
strikes: Modereringsadvarsler strikes: Modereringsadvarsler
two_factor_authentication: Tostegsautorisering two_factor_authentication: Tostegsautorisering
webauthn_authentication: Sikkerhetsnøkler webauthn_authentication: Sikkerhetsnøkler
severed_relationships:
download: Last ned (%{count})
event_type:
account_suspension: Utestenging av konto (%{target_name})
domain_block: Tenarutestenging (%{target_name})
user_domain_block: Du blokkerte %{target_name}
lost_followers: Mista fylgjarar
lost_follows: Mista fylgjer
preamble: Du kan mista fylgjarar og folk du fylgjer når du blokkerer eit domene eller når moderatorar avgjer å utestenga ein annan tenar. Når det skjer, vil du kunne lasta ned ei liste over brotne forhold, slik at du kan sjå gjennom ho og kanskje importera ho på ein annan tenar.
purged: Informasjonen om denne tenaren er sletta av administratorane på tenaren din.
type: Hending
statuses: statuses:
attached: attached:
audio: audio:

View File

@ -1711,10 +1711,22 @@ pl:
preferences: Preferencje preferences: Preferencje
profile: Profil profile: Profil
relationships: Obserwowani i obserwujący relationships: Obserwowani i obserwujący
severed_relationships: Zerwane związki
statuses_cleanup: Automatyczne usuwanie wpisów statuses_cleanup: Automatyczne usuwanie wpisów
strikes: Ostrzeżenia moderacyjne strikes: Ostrzeżenia moderacyjne
two_factor_authentication: Uwierzytelnianie dwuetapowe two_factor_authentication: Uwierzytelnianie dwuetapowe
webauthn_authentication: Klucze bezpieczeństwa webauthn_authentication: Klucze bezpieczeństwa
severed_relationships:
download: Pobierz (%{count})
event_type:
account_suspension: Zawieszenie konta (%{target_name})
domain_block: Zawieszenie serwera (%{target_name})
user_domain_block: Zablokowano %{target_name}
lost_followers: Utraceni obserwujący
lost_follows: Utracone obserwowania
preamble: Możesz stracić obserwowania i obserwujących kiedy zablokujesz domenę albo kiedy twoi moderatorzy postanowią zawiesić obcy serwer. W tym wypadku będziesz móc pobrać listę zerwanych związków do przejrzenia i potencjalnego importu na innym serwerze.
purged: Informacje o tym serwerze zostały wyczyszczone przez administratora twojego serwera.
type: Zdarzenie
statuses: statuses:
attached: attached:
audio: audio:

View File

@ -6,7 +6,7 @@ lv:
discoverable: Tavas publiskās ziņas un profils var tikt piedāvāti vai ieteikti dažādās Mastodon vietās, un tavs profils var tikt ieteikts citiem lietotājiem. discoverable: Tavas publiskās ziņas un profils var tikt piedāvāti vai ieteikti dažādās Mastodon vietās, un tavs profils var tikt ieteikts citiem lietotājiem.
display_name: Tavs pilnais vārds vai tavs joku vārds. display_name: Tavs pilnais vārds vai tavs joku vārds.
fields: Tava mājas lapa, vietniekvārdi, vecums, viss, ko vēlies. fields: Tava mājas lapa, vietniekvārdi, vecums, viss, ko vēlies.
indexable: Tavas publiskās ziņas var tikt parādītas Mastodon meklēšanas rezultātos. Personas, kuras ir mijiedarbojušās ar tavām ziņām, var tās meklēt neatkarīgi no tā. indexable: Tavi publiskie ieraksti var tikt parādīti Mastodon meklēšanas iznākumā. Cilvēki, kuri ir mijiedarbojušies ar Taviem ierakstiem, var tos meklēt neatkarīgi no tā.
note: 'Tu vari @minēt citus cilvēkus vai #mirkļbirkas.' note: 'Tu vari @minēt citus cilvēkus vai #mirkļbirkas.'
show_collections: Cilvēki varēs pārlūkot Tavus sekotājus un sekojamos. Cilvēki, kuriem Tu seko, redzēs, ka Tu seko viņiem neatkarīgi no tā. show_collections: Cilvēki varēs pārlūkot Tavus sekotājus un sekojamos. Cilvēki, kuriem Tu seko, redzēs, ka Tu seko viņiem neatkarīgi no tā.
unlocked: Cilvēki varēs tev sekot, neprasot apstiprinājumu. Noņem atzīmi, ja vēlies pārskatīt sekošanas pieprasījumus un izvēlēties, pieņemt vai noraidīt jaunus sekotājus. unlocked: Cilvēki varēs tev sekot, neprasot apstiprinājumu. Noņem atzīmi, ja vēlies pārskatīt sekošanas pieprasījumus un izvēlēties, pieņemt vai noraidīt jaunus sekotājus.
@ -44,7 +44,7 @@ lv:
context: Viens vai vairāki konteksti, kur jāpiemēro filtrs context: Viens vai vairāki konteksti, kur jāpiemēro filtrs
current_password: Drošības nolūkos, lūdzu, ievadi pašreizējā konta paroli current_password: Drošības nolūkos, lūdzu, ievadi pašreizējā konta paroli
current_username: Lai apstiprinātu, lūdzu, ievadi pašreizējā konta paroli current_username: Lai apstiprinātu, lūdzu, ievadi pašreizējā konta paroli
digest: Sūta tikai pēc ilgstošas neaktivitātes un tikai tad, ja savas prombūtnes laikā neesi saņēmis personiskas ziņas digest: Tiek nosūtīts tikai pēc ilgstošas bezdarbības un tikai tad, ja savas prombūtnes laikā esi saņēmis jebkādas personīgas ziņas
email: Tev tiks nosūtīts apstiprinājuma e-pasts email: Tev tiks nosūtīts apstiprinājuma e-pasts
header: WEBP, PNG, GIF vai JPG. Ne vairāk kā %{size}. Tiks samazināts līdz %{dimensions}px header: WEBP, PNG, GIF vai JPG. Ne vairāk kā %{size}. Tiks samazināts līdz %{dimensions}px
inbox_url: Nokopē URL no tā releja sākumlapas, kuru vēlies izmantot inbox_url: Nokopē URL no tā releja sākumlapas, kuru vēlies izmantot

View File

@ -1199,6 +1199,9 @@ sk:
profile: Profil profile: Profil
relationships: Sledovania a následovatelia relationships: Sledovania a následovatelia
two_factor_authentication: Dvojfázové overenie two_factor_authentication: Dvojfázové overenie
severed_relationships:
lost_followers: Stratení nasledovatelia
lost_follows: Stratené sledovania
statuses: statuses:
attached: attached:
description: 'Priložené: %{attached}' description: 'Priložené: %{attached}'

View File

@ -1711,10 +1711,22 @@ sl:
preferences: Nastavitve preferences: Nastavitve
profile: Profil profile: Profil
relationships: Sledenja in sledilci relationships: Sledenja in sledilci
severed_relationships: Prekinjene veze
statuses_cleanup: Samodejno brisanje objav statuses_cleanup: Samodejno brisanje objav
strikes: Ukrepi morediranja strikes: Ukrepi morediranja
two_factor_authentication: Dvofaktorsko overjanje two_factor_authentication: Dvofaktorsko overjanje
webauthn_authentication: Varnostni ključi webauthn_authentication: Varnostni ključi
severed_relationships:
download: Prejmi (%{count})
event_type:
account_suspension: Suspendiranje računa (%{target_name})
domain_block: Suspendiranje strežnika (%{target_name})
user_domain_block: Blokirali ste %{target_name}
lost_followers: Izgubljeni sledilci
lost_follows: Izgubljena sledeni
preamble: Če blokirate domeno ali če se vaši moderatorji odločijo suspendirati oddaljen strežnik, lahko izgubite sledene in sledilce. Ko se to zgodi, boste lahko prejeli sezname prekinjenih vez za pregled in morebitno uvažanje na drugem strežniku.
purged: Podatke o tem strežniku so očistili skrbniki vašega strežnika.
type: Dogodek
statuses: statuses:
attached: attached:
audio: audio:

View File

@ -1659,6 +1659,13 @@ sq:
strikes: Paralajmërime nga moderimi strikes: Paralajmërime nga moderimi
two_factor_authentication: Mirëfilltësim Dyfaktorësh two_factor_authentication: Mirëfilltësim Dyfaktorësh
webauthn_authentication: Kyçe sigurie webauthn_authentication: Kyçe sigurie
severed_relationships:
event_type:
account_suspension: Pezullim llogarie (%{target_name})
domain_block: Pezullim shërbyesi (%{target_name})
user_domain_block: Bllokuat %{target_name}
purged: Hollësitë rreth këtij shërbyesi janë spastuar nga përgjegjësit e shërbyesit tuaj.
type: Akt
statuses: statuses:
attached: attached:
audio: audio:

View File

@ -1711,10 +1711,22 @@ uk:
preferences: Налаштування preferences: Налаштування
profile: Загальнодоступний профіль profile: Загальнодоступний профіль
relationships: Підписки та підписники relationships: Підписки та підписники
severed_relationships: Розірвані зв'язки
statuses_cleanup: Автовидалення допису statuses_cleanup: Автовидалення допису
strikes: Попередження модераторів strikes: Попередження модераторів
two_factor_authentication: Двофакторна автентифікація two_factor_authentication: Двофакторна автентифікація
webauthn_authentication: Ключі безпеки webauthn_authentication: Ключі безпеки
severed_relationships:
download: Завантажити (%{count})
event_type:
account_suspension: Призупинення облікового запису (%{target_name})
domain_block: Призупинення сервера (%{target_name})
user_domain_block: Ви заблокували %{target_name}
lost_followers: Втрачені підписники
lost_follows: Втрачені підписки
preamble: Ви можете втратити підписки та підписників, коли ви блокуєте домен або коли модератори вирішують призупинити віддалений сервер. Коли це станеться, ви зможете завантажити списки розірваних зв'язків, які мають бути перевірені та, можливо, імпортовані на іншому сервері.
purged: Інформацію про цей сервер очищені адміністраторами вашого сервера.
type: Подія
statuses: statuses:
attached: attached:
audio: audio:
@ -1911,8 +1923,41 @@ uk:
apps_ios_action: Завантажити з App Store apps_ios_action: Завантажити з App Store
apps_step: Завантажити наші офіційні застосунки. apps_step: Завантажити наші офіційні застосунки.
apps_title: Застосунки Mastodon apps_title: Застосунки Mastodon
checklist_subtitle: 'Розпочнімо у цій новій соціальній межі:'
checklist_title: Контрольний список привітання
edit_profile_action: Персоналізувати
edit_profile_step: Інші, ймовірно, швидше взаємодіятимуть з вами, якщо ви заповните профіль.
edit_profile_title: Персоналізуйте свій профіль
explanation: Ось кілька порад для початку explanation: Ось кілька порад для початку
feature_action: Докладніше feature_action: Докладніше
feature_audience: Mastodon надає унікальну можливість керувати своєю аудиторією без посередників. Маючи сервер Mastodon, розгорнутий на власній інфраструктурі, його користувачі можуть взаємодіяти з будь-яким іншим сервером Mastodon, не віддаючи контроль у чужі руки.
feature_audience_title: Формуйте свою аудиторію з впевненістю
feature_control: Тільки ви знаєте, що саме хочете бачити на своєму сервері. Немає алгоритмів або реклами, що марнують ваш час. Слідкуйте за будь-яким сервером Mastodon з одного облікового запису та отримуйте повідомлення в хронологічному порядку, і зробіть ваш куточок інтернету трохи схожим на вас.
feature_control_title: Керуйте своєю стрічкою
feature_creativity: Mastodon підтримує дописи з аудіо, відео та зображеннями, опис для доступності, опитування, попередження про вміст, анімовані аватари, користувацькі емодзі, мініатюри, керування кадруванням мініатюр та багато іншого. Чи викладаєте ви своє мистецтво, чи музику або подкаст, Mastodon тут для вас.
feature_creativity_title: Необмежена творчість
feature_moderation: Mastodon повертає прийняття рішень у ваші руки. На відміну від соціальних мереж, що належать корпораціям, які спускають свої правила згори, кожен сервер Mastodon встановлює свої правила і норми, яких дотримуються на місцевому рівні, що робить їх найгнучкішими для задовільнення потреб різних груп людей. Приєднуйтесь до сервера з правилами, з якими ви згодні, або створіть свій власний.
feature_moderation_title: Модерація, якою вона має бути
follow_action: Підписатися
follow_step: Ви керуєте головною стрічкою. Заповнюйте її цікавими людьми.
follow_title: Персоналізуйте домашню стрічку
follows_subtitle: Стежте за відомими обліковими записами
follows_title: На кого підписатися
follows_view_more: Переглянути більше людей, щоб підписатися
hashtags_recent_count:
few: "%{people} особи за останні 2 дні"
many: "%{people} осіб за останні 2 дні"
one: "%{people} особа за останні 2 дні"
other: "%{people} особа за останні 2 дні"
hashtags_subtitle: Дізнавайтеся, що було популярним минулі 2 дні
hashtags_title: Популярні хештеги
hashtags_view_more: Переглянути більше популярних хештеґів
post_action: Створити
post_step: Привітайтеся зі світом, з текстом, світлинами, відео та опитуваннями.
post_title: Напишіть свій перший допис
share_action: Поділитися
share_step: Розкажіть друзям, як знайти вас на Mastodon.
share_title: Поділіться своїм профілем Mastodon
sign_in_action: Увійти sign_in_action: Увійти
subject: Ласкаво просимо до Mastodon subject: Ласкаво просимо до Mastodon
title: Ласкаво просимо, %{name}! title: Ласкаво просимо, %{name}!

View File

@ -585,6 +585,9 @@ vi:
actions_description_html: Nếu áp đặt trừng phạt, một email thông báo sẽ được gửi cho người này, ngoại trừ <strong>Spam</strong>. actions_description_html: Nếu áp đặt trừng phạt, một email thông báo sẽ được gửi cho người này, ngoại trừ <strong>Spam</strong>.
actions_description_remote_html: Chọn hành động cần thực hiện để xử lý báo cáo này. Điều này sẽ chỉ ảnh hưởng đến cách máy chủ <strong>của bạn</strong> giao tiếp với tài khoản này và xử lý nội dung của nó. actions_description_remote_html: Chọn hành động cần thực hiện để xử lý báo cáo này. Điều này sẽ chỉ ảnh hưởng đến cách máy chủ <strong>của bạn</strong> giao tiếp với tài khoản này và xử lý nội dung của nó.
add_to_report: Bổ sung báo cáo add_to_report: Bổ sung báo cáo
already_suspended_badges:
local: Đã vô hiệu hóa trên máy chủ này
remote: Đã vô hiệu hóa trên máy chủ khác
are_you_sure: Bạn có chắc không? are_you_sure: Bạn có chắc không?
assign_to_self: Giao cho tôi assign_to_self: Giao cho tôi
assigned: Người xử lý assigned: Người xử lý
@ -1626,6 +1629,7 @@ vi:
import: Nhập dữ liệu import: Nhập dữ liệu
import_and_export: Dữ liệu import_and_export: Dữ liệu
migrate: Chuyển tài khoản sang máy chủ khác migrate: Chuyển tài khoản sang máy chủ khác
notifications: Thông báo email
preferences: Chung preferences: Chung
profile: Hồ sơ profile: Hồ sơ
relationships: Quan hệ relationships: Quan hệ

View File

@ -1633,10 +1633,22 @@ zh-CN:
preferences: 首选项 preferences: 首选项
profile: 个人资料 profile: 个人资料
relationships: 关注管理 relationships: 关注管理
severed_relationships: 已断开的关系
statuses_cleanup: 自动删除嘟文 statuses_cleanup: 自动删除嘟文
strikes: 操作记录 strikes: 操作记录
two_factor_authentication: 双因素认证 two_factor_authentication: 双因素认证
webauthn_authentication: 安全密钥 webauthn_authentication: 安全密钥
severed_relationships:
download: 下载 (%{count})
event_type:
account_suspension: 账户被封禁 (%{target_name})
domain_block: 服务器被封禁 (%{target_name})
user_domain_block: 你屏蔽了 %{target_name}
lost_followers: 失去的关注者
lost_follows: 失去的关注
preamble: 当你屏蔽一个域名或你的管理员决定封禁一个外站服务器时,你可能会失去关注和粉丝。在这种情况下,你可以下载被切断的关系的列表,进行检查以便导入另一个服务器。
purged: 关于此服务器的信息已被你所在服务器的管理员清除。
type: 事件
statuses: statuses:
attached: attached:
audio: audio:

View File

@ -1331,7 +1331,7 @@ zh-TW:
muting: 正在匯入已靜音帳號 muting: 正在匯入已靜音帳號
type: 匯入類型 type: 匯入類型
type_groups: type_groups:
constructive: 跟隨與書籤 constructive: 跟隨與書籤
destructive: 封鎖與靜音 destructive: 封鎖與靜音
types: types:
blocking: 您封鎖的使用者列表 blocking: 您封鎖的使用者列表
@ -1635,10 +1635,22 @@ zh-TW:
preferences: 偏好設定 preferences: 偏好設定
profile: 個人檔案 profile: 個人檔案
relationships: 跟隨中與跟隨者 relationships: 跟隨中與跟隨者
severed_relationships: 已斷絕服務關係
statuses_cleanup: 自動嘟文刪除 statuses_cleanup: 自動嘟文刪除
strikes: 管理警告 strikes: 管理警告
two_factor_authentication: 兩階段驗證 two_factor_authentication: 兩階段驗證
webauthn_authentication: 安全金鑰 webauthn_authentication: 安全金鑰
severed_relationships:
download: 下載 (%{count} 份)
event_type:
account_suspension: 停權帳號 (%{target_name})
domain_block: 停權伺服器 (%{target_name})
user_domain_block: 您已封鎖 %{target_name}
lost_followers: 失去之跟隨者
lost_follows: 失去之跟隨中
preamble: 當您封鎖網域或您的管理員決定停權遠端伺服器時,您可能失去跟隨中或跟隨者。當此發生時,您能下載斷絕服務關係之列表並於其他伺服器中檢視或匯入資料。
purged: 關於此伺服器已被您的伺服器管理員清除之資訊
type: 事件
statuses: statuses:
attached: attached:
audio: audio:

View File

@ -36,8 +36,8 @@ class MigrateInteractionSettingsToPolicy < ActiveRecord::Migration[7.1]
requires_new_policy = true requires_new_policy = true
end end
if deserialized_settings['interactions.must_be_following_dm'] unless deserialized_settings['interactions.must_be_following_dm']
policy.filter_private_mentions = true policy.filter_private_mentions = false
requires_new_policy = true requires_new_policy = true
end end

View File

@ -0,0 +1,54 @@
# frozen_string_literal: true
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
end
class NotificationPolicy < ApplicationRecord
belongs_to :account
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
end
end
def down; end
end

View File

@ -10,7 +10,7 @@
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[7.1].define(version: 2024_03_20_163441) do ActiveRecord::Schema[7.1].define(version: 2024_03_21_160706) do
# These are extensions that must be enabled in order to support this database # These are extensions that must be enabled in order to support this database
enable_extension "plpgsql" enable_extension "plpgsql"

View File

@ -42,7 +42,7 @@ module Mastodon::CLI
class SeveredRelationship < ApplicationRecord; end class SeveredRelationship < ApplicationRecord; end
class DomainBlock < ApplicationRecord class DomainBlock < ApplicationRecord
enum severity: { silence: 0, suspend: 1, noop: 2 } enum :severity, { silence: 0, suspend: 1, noop: 2 }
scope :by_severity, -> { in_order_of(:severity, %w(noop silence suspend)).order(:domain) } scope :by_severity, -> { in_order_of(:severity, %w(noop silence suspend)).order(:domain) }
end end
@ -131,7 +131,7 @@ module Mastodon::CLI
end end
end end
if ActiveRecord::Base.connection.table_exists?(:severed_relationships) if db_table_exists?(:severed_relationships)
SeveredRelationship.where(local_account_id: other_account.id).reorder(nil).find_each do |record| SeveredRelationship.where(local_account_id: other_account.id).reorder(nil).find_each do |record|
record.update_attribute(:local_account_id, id) record.update_attribute(:local_account_id, id)
rescue ActiveRecord::RecordNotUnique rescue ActiveRecord::RecordNotUnique

View File

@ -105,6 +105,12 @@ namespace :tests do
exit(1) exit(1)
end end
policy = NotificationPolicy.find_by(account: User.find(1).account)
unless policy.filter_private_mentions == false && policy.filter_not_following == true
puts 'Notification policy not migrated as expected'
exit(1)
end
puts 'No errors found. Database state is consistent with a successful migration process.' puts 'No errors found. Database state is consistent with a successful migration process.'
end end
@ -181,7 +187,8 @@ namespace :tests do
INSERT INTO "settings" INSERT INTO "settings"
(id, thing_type, thing_id, var, value, created_at, updated_at) (id, thing_type, thing_id, var, value, created_at, updated_at)
VALUES VALUES
(5, 'User', 4, 'default_language', E'--- kmr\n', now(), now()); (5, 'User', 4, 'default_language', E'--- kmr\n', now(), now()),
(6, 'User', 1, 'interactions', E'--- !ruby/hash:ActiveSupport::HashWithIndifferentAccess\nmust_be_follower: false\nmust_be_following: true\nmust_be_following_dm: false\n', now(), now());
SQL SQL
end end

View File

@ -22,10 +22,20 @@ RSpec.describe 'Policies' do
it_behaves_like 'forbidden for wrong scope', 'write write:notifications' it_behaves_like 'forbidden for wrong scope', 'write write:notifications'
context 'with no options' do context 'with no options' do
it 'returns http success', :aggregate_failures do it 'returns json with expected attributes', :aggregate_failures do
subject subject
expect(response).to have_http_status(200) expect(response).to have_http_status(200)
expect(body_as_json).to include(
filter_not_following: false,
filter_not_followers: false,
filter_new_accounts: false,
filter_private_mentions: true,
summary: a_hash_including(
pending_requests_count: '1',
pending_notifications_count: '0'
)
)
end end
end end
end end
@ -35,14 +45,25 @@ RSpec.describe 'Policies' do
put '/api/v1/notifications/policy', headers: headers, params: params put '/api/v1/notifications/policy', headers: headers, params: params
end end
let(:params) { {} } let(:params) { { filter_not_following: true } }
it_behaves_like 'forbidden for wrong scope', 'read read:notifications' it_behaves_like 'forbidden for wrong scope', 'read read:notifications'
it 'returns http success' do it 'changes notification policy and returns an updated json object', :aggregate_failures do
subject expect { subject }
.to change { NotificationPolicy.find_or_initialize_by(account: user.account).filter_not_following }.from(false).to(true)
expect(response).to have_http_status(200) expect(response).to have_http_status(200)
expect(body_as_json).to include(
filter_not_following: true,
filter_not_followers: false,
filter_new_accounts: false,
filter_private_mentions: true,
summary: a_hash_including(
pending_requests_count: '0',
pending_notifications_count: '0'
)
)
end end
end end
end end

View File

@ -82,15 +82,10 @@ RSpec.describe 'Requests' do
it_behaves_like 'forbidden for wrong scope', 'read read:notifications' it_behaves_like 'forbidden for wrong scope', 'read read:notifications'
it 'returns http success' do it 'returns http success and dismisses the notification request', :aggregate_failures do
subject subject
expect(response).to have_http_status(200) expect(response).to have_http_status(200)
end
it 'dismisses the notification request' do
subject
expect(notification_request.reload.dismissed?).to be true expect(notification_request.reload.dismissed?).to be true
end end

View File

@ -85,14 +85,10 @@ RSpec.describe SuspendAccountService, :sidekiq_inline do
account.follow!(local_followee) account.follow!(local_followee)
end end
it 'sends a Reject Follow activity, and records severed relationships', :aggregate_failures do it 'sends a Reject Follow activity', :aggregate_failures do
subject subject
expect(a_request(:post, account.inbox_url).with { |req| match_reject_follow_request(req, account, local_followee) }).to have_been_made.once expect(a_request(:post, account.inbox_url).with { |req| match_reject_follow_request(req, account, local_followee) }).to have_been_made.once
severed_relationships = local_followee.severed_relationships.to_a
expect(severed_relationships.count).to eq 1
expect(severed_relationships.map { |rel| [rel.account, rel.target_account] }).to contain_exactly([account, local_followee])
end end
end end
end end

View File

@ -37,7 +37,7 @@
"@types/uuid": "^9.0.0", "@types/uuid": "^9.0.0",
"@types/ws": "^8.5.9", "@types/ws": "^8.5.9",
"eslint-define-config": "^2.0.0", "eslint-define-config": "^2.0.0",
"pino-pretty": "^10.3.1", "pino-pretty": "^11.0.0",
"typescript": "^5.0.4" "typescript": "^5.0.4"
}, },
"optionalDependencies": { "optionalDependencies": {

View File

@ -2889,7 +2889,7 @@ __metadata:
pg-connection-string: "npm:^2.6.0" pg-connection-string: "npm:^2.6.0"
pino: "npm:^8.17.2" pino: "npm:^8.17.2"
pino-http: "npm:^9.0.0" pino-http: "npm:^9.0.0"
pino-pretty: "npm:^10.3.1" pino-pretty: "npm:^11.0.0"
prom-client: "npm:^15.0.0" prom-client: "npm:^15.0.0"
typescript: "npm:^5.0.4" typescript: "npm:^5.0.4"
utf-8-validate: "npm:^6.0.3" utf-8-validate: "npm:^6.0.3"
@ -3008,8 +3008,8 @@ __metadata:
linkType: hard linkType: hard
"@reduxjs/toolkit@npm:^2.0.1": "@reduxjs/toolkit@npm:^2.0.1":
version: 2.2.1 version: 2.2.2
resolution: "@reduxjs/toolkit@npm:2.2.1" resolution: "@reduxjs/toolkit@npm:2.2.2"
dependencies: dependencies:
immer: "npm:^10.0.3" immer: "npm:^10.0.3"
redux: "npm:^5.0.1" redux: "npm:^5.0.1"
@ -3023,7 +3023,7 @@ __metadata:
optional: true optional: true
react-redux: react-redux:
optional: true optional: true
checksum: 10c0/675f816b311d6d703259e00c73977c9c5968e41b039d6d149e34e9084d5e6718aff3b692d2b7697974fb57a056687932117da1dd5202d392811d8d4e91d09322 checksum: 10c0/d749181b1bc071698517cba7ce05c42ddfe99363019249722b4dfa3afc71b3a6e4cb9885af574cf81c5d6515f68201ebfedddb5c14b262c941a45112fdc66ce3
languageName: node languageName: node
linkType: hard linkType: hard
@ -6295,10 +6295,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"cookie@npm:0.5.0": "cookie@npm:0.6.0":
version: 0.5.0 version: 0.6.0
resolution: "cookie@npm:0.5.0" resolution: "cookie@npm:0.6.0"
checksum: 10c0/c01ca3ef8d7b8187bae434434582288681273b5a9ed27521d4d7f9f7928fe0c920df0decd9f9d3bbd2d14ac432b8c8cf42b98b3bdd5bfe0e6edddeebebe8b61d checksum: 10c0/f2318b31af7a31b4ddb4a678d024514df5e705f9be5909a192d7f116cfb6d45cbacf96a473fa733faa95050e7cff26e7832bb3ef94751592f1387b71c8956686
languageName: node languageName: node
linkType: hard linkType: hard
@ -8204,15 +8204,15 @@ __metadata:
linkType: hard linkType: hard
"express@npm:^4.17.1, express@npm:^4.18.2": "express@npm:^4.17.1, express@npm:^4.18.2":
version: 4.18.3 version: 4.19.1
resolution: "express@npm:4.18.3" resolution: "express@npm:4.19.1"
dependencies: dependencies:
accepts: "npm:~1.3.8" accepts: "npm:~1.3.8"
array-flatten: "npm:1.1.1" array-flatten: "npm:1.1.1"
body-parser: "npm:1.20.2" body-parser: "npm:1.20.2"
content-disposition: "npm:0.5.4" content-disposition: "npm:0.5.4"
content-type: "npm:~1.0.4" content-type: "npm:~1.0.4"
cookie: "npm:0.5.0" cookie: "npm:0.6.0"
cookie-signature: "npm:1.0.6" cookie-signature: "npm:1.0.6"
debug: "npm:2.6.9" debug: "npm:2.6.9"
depd: "npm:2.0.0" depd: "npm:2.0.0"
@ -8238,7 +8238,7 @@ __metadata:
type-is: "npm:~1.6.18" type-is: "npm:~1.6.18"
utils-merge: "npm:1.0.1" utils-merge: "npm:1.0.1"
vary: "npm:~1.1.2" vary: "npm:~1.1.2"
checksum: 10c0/0b9eeafbac549e3c67d92d083bf1773e358359f41ad142b92121935c6348d29079b75054555b3f62de39263fffc8ba06898b09fdd3e213e28e714c03c5d9f44c checksum: 10c0/1cf6d3c095131f0d730105fac23a713083604d4f3ad9364df53cade50662abcfee2f6f8a955fdf164a5ee63f09f457da0b70cbed435ad302fa6f14162a9757f9
languageName: node languageName: node
linkType: hard linkType: hard
@ -13006,9 +13006,9 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"pino-pretty@npm:^10.3.1": "pino-pretty@npm:^11.0.0":
version: 10.3.1 version: 11.0.0
resolution: "pino-pretty@npm:10.3.1" resolution: "pino-pretty@npm:11.0.0"
dependencies: dependencies:
colorette: "npm:^2.0.7" colorette: "npm:^2.0.7"
dateformat: "npm:^4.6.3" dateformat: "npm:^4.6.3"
@ -13026,7 +13026,7 @@ __metadata:
strip-json-comments: "npm:^3.1.1" strip-json-comments: "npm:^3.1.1"
bin: bin:
pino-pretty: bin.js pino-pretty: bin.js
checksum: 10c0/6964fba5acc7a9f112e4c6738d602e123daf16cb5f6ddc56ab4b6bb05059f28876d51da8f72358cf1172e95fa12496b70465431a0836df693c462986d050686b checksum: 10c0/d42213f3fdf19d92152b0a14683b2bb8443423739c81ab7c1181a5dac0e0ca7621d232c8264ece81edc01106ca2a8e165783daca0a902f0fde480027075d5540
languageName: node languageName: node
linkType: hard linkType: hard