Merge pull request #970 from ThibG/glitch-soc/merge-upstream

Merge upstream changes
main
ThibG 6 years ago committed by GitHub
commit bb316fafff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -6,7 +6,7 @@ ruby '>= 2.4.0', '< 2.7.0'
gem 'pkg-config', '~> 1.3'
gem 'puma', '~> 3.12'
gem 'rails', '~> 5.2.2'
gem 'rails', '~> 5.2.3'
gem 'thor', '~> 0.20'
gem 'hamlit-rails', '~> 0.2'
@ -15,7 +15,7 @@ gem 'makara', '~> 0.4'
gem 'pghero', '~> 2.2'
gem 'dotenv-rails', '~> 2.7'
gem 'aws-sdk-s3', '~> 1.35', require: false
gem 'aws-sdk-s3', '~> 1.36', require: false
gem 'fog-core', '<= 2.1.0'
gem 'fog-openstack', '~> 0.3', require: false
gem 'paperclip', '~> 6.0'
@ -30,7 +30,7 @@ gem 'charlock_holmes', '~> 0.7.6'
gem 'iso-639'
gem 'chewy', '~> 5.0'
gem 'cld3', '~> 3.2.3'
gem 'devise', '~> 4.5'
gem 'devise', '~> 4.6'
gem 'devise-two-factor', '~> 3.0'
group :pam_authentication, optional: true do
@ -86,7 +86,7 @@ gem 'strong_migrations', '~> 0.3'
gem 'tty-command', '~> 0.8', require: false
gem 'tty-prompt', '~> 0.18', require: false
gem 'twitter-text', '~> 1.14'
gem 'tzinfo-data', '~> 1.2018'
gem 'tzinfo-data', '~> 1.2019'
gem 'webpacker', '~> 4.0'
gem 'webpush'

@ -15,25 +15,25 @@ GIT
GEM
remote: https://rubygems.org/
specs:
actioncable (5.2.2.1)
actionpack (= 5.2.2.1)
actioncable (5.2.3)
actionpack (= 5.2.3)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailer (5.2.2.1)
actionpack (= 5.2.2.1)
actionview (= 5.2.2.1)
activejob (= 5.2.2.1)
actionmailer (5.2.3)
actionpack (= 5.2.3)
actionview (= 5.2.3)
activejob (= 5.2.3)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
actionpack (5.2.2.1)
actionview (= 5.2.2.1)
activesupport (= 5.2.2.1)
actionpack (5.2.3)
actionview (= 5.2.3)
activesupport (= 5.2.3)
rack (~> 2.0)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionview (5.2.2.1)
activesupport (= 5.2.2.1)
actionview (5.2.3)
activesupport (= 5.2.3)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
@ -44,20 +44,20 @@ GEM
case_transform (>= 0.2)
jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
active_record_query_trace (1.6.2)
activejob (5.2.2.1)
activesupport (= 5.2.2.1)
activejob (5.2.3)
activesupport (= 5.2.3)
globalid (>= 0.3.6)
activemodel (5.2.2.1)
activesupport (= 5.2.2.1)
activerecord (5.2.2.1)
activemodel (= 5.2.2.1)
activesupport (= 5.2.2.1)
activemodel (5.2.3)
activesupport (= 5.2.3)
activerecord (5.2.3)
activemodel (= 5.2.3)
activesupport (= 5.2.3)
arel (>= 9.0)
activestorage (5.2.2.1)
actionpack (= 5.2.2.1)
activerecord (= 5.2.2.1)
activestorage (5.2.3)
actionpack (= 5.2.3)
activerecord (= 5.2.3)
marcel (~> 0.3.1)
activesupport (5.2.2.1)
activesupport (5.2.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
@ -76,8 +76,8 @@ GEM
av (0.9.0)
cocaine (~> 0.5.3)
aws-eventstream (1.0.2)
aws-partitions (1.146.0)
aws-sdk-core (3.48.2)
aws-partitions (1.147.0)
aws-sdk-core (3.48.3)
aws-eventstream (~> 1.0, >= 1.0.2)
aws-partitions (~> 1.0)
aws-sigv4 (~> 1.1)
@ -85,7 +85,7 @@ GEM
aws-sdk-kms (1.16.0)
aws-sdk-core (~> 3, >= 3.48.2)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.35.0)
aws-sdk-s3 (1.36.0)
aws-sdk-core (~> 3, >= 3.48.2)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.0)
@ -99,7 +99,7 @@ GEM
rack (>= 0.9.0)
binding_of_caller (0.8.0)
debug_inspector (>= 0.0.1)
bootsnap (1.4.1)
bootsnap (1.4.2)
msgpack (~> 1.0)
brakeman (4.5.0)
browser (2.5.3)
@ -165,7 +165,7 @@ GEM
rack (>= 1)
rake (> 10, < 13)
thor (~> 0.19)
devise (4.5.0)
devise (4.6.2)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 4.1.0, < 6.0)
@ -348,7 +348,7 @@ GEM
mini_mime (1.0.1)
mini_portile2 (2.4.0)
minitest (5.11.3)
msgpack (1.2.6)
msgpack (1.2.9)
multi_json (1.13.1)
multipart-post (2.0.0)
necromancer (0.4.0)
@ -436,18 +436,18 @@ GEM
rack
rack-test (1.1.0)
rack (>= 1.0, < 3)
rails (5.2.2.1)
actioncable (= 5.2.2.1)
actionmailer (= 5.2.2.1)
actionpack (= 5.2.2.1)
actionview (= 5.2.2.1)
activejob (= 5.2.2.1)
activemodel (= 5.2.2.1)
activerecord (= 5.2.2.1)
activestorage (= 5.2.2.1)
activesupport (= 5.2.2.1)
rails (5.2.3)
actioncable (= 5.2.3)
actionmailer (= 5.2.3)
actionpack (= 5.2.3)
actionview (= 5.2.3)
activejob (= 5.2.3)
activemodel (= 5.2.3)
activerecord (= 5.2.3)
activestorage (= 5.2.3)
activesupport (= 5.2.3)
bundler (>= 1.3.0)
railties (= 5.2.2.1)
railties (= 5.2.3)
sprockets-rails (>= 2.0.0)
rails-controller-testing (1.0.4)
actionpack (>= 5.0.1.x)
@ -463,9 +463,9 @@ GEM
railties (>= 5.0, < 6)
rails-settings-cached (0.6.6)
rails (>= 4.2.0)
railties (5.2.2.1)
actionpack (= 5.2.2.1)
activesupport (= 5.2.2.1)
railties (5.2.3)
actionpack (= 5.2.3)
activesupport (= 5.2.3)
method_source
rake (>= 0.8.7)
thor (>= 0.19.0, < 2.0)
@ -501,9 +501,9 @@ GEM
regexp_parser (1.3.0)
request_store (1.4.1)
rack (>= 1.4)
responders (2.4.0)
actionpack (>= 4.2.0, < 5.3)
railties (>= 4.2.0, < 5.3)
responders (2.4.1)
actionpack (>= 4.2.0, < 6.0)
railties (>= 4.2.0, < 6.0)
rotp (2.1.2)
rpam2 (4.0.2)
rqrcode (0.10.1)
@ -625,15 +625,15 @@ GEM
unf (~> 0.1.0)
tzinfo (1.2.5)
thread_safe (~> 0.1)
tzinfo-data (1.2018.9)
tzinfo-data (1.2019.1)
tzinfo (>= 1.0.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.5)
unicode-display_width (1.5.0)
uniform_notifier (1.12.1)
warden (1.2.7)
rack (>= 1.0)
warden (1.2.8)
rack (>= 2.0.6)
webmock (3.5.1)
addressable (>= 2.3.6)
crack (>= 0.3.2)
@ -660,7 +660,7 @@ DEPENDENCIES
active_record_query_trace (~> 1.6)
addressable (~> 2.6)
annotate (~> 2.7)
aws-sdk-s3 (~> 1.35)
aws-sdk-s3 (~> 1.36)
better_errors (~> 2.5)
binding_of_caller (~> 0.7)
bootsnap (~> 1.4)
@ -679,7 +679,7 @@ DEPENDENCIES
climate_control (~> 0.2)
concurrent-ruby
derailed_benchmarks
devise (~> 4.5)
devise (~> 4.6)
devise-two-factor (~> 3.0)
devise_pam_authenticatable2 (~> 9.2)
doorkeeper (~> 5.0)
@ -739,7 +739,7 @@ DEPENDENCIES
pundit (~> 2.0)
rack-attack (~> 5.4)
rack-cors (~> 1.0)
rails (~> 5.2.2)
rails (~> 5.2.3)
rails-controller-testing (~> 1.0)
rails-i18n (~> 5.1)
rails-settings-cached (~> 0.6)
@ -769,7 +769,7 @@ DEPENDENCIES
tty-command (~> 0.8)
tty-prompt (~> 0.18)
twitter-text (~> 1.14)
tzinfo-data (~> 1.2018)
tzinfo-data (~> 1.2019)
webmock (~> 3.5)
webpacker (~> 4.0)
webpush

@ -32,13 +32,14 @@ class RelationshipsController < ApplicationController
def relationships_scope
scope = begin
if following_relationship?
current_account.following.joins(:account_stat)
current_account.following.eager_load(:account_stat).reorder(nil)
else
current_account.followers.joins(:account_stat)
current_account.followers.eager_load(:account_stat).reorder(nil)
end
end
scope.merge!(Follow.recent)
scope.merge!(Follow.recent) if params[:order].blank? || params[:order] == 'recent'
scope.merge!(Account.by_recent_status) if params[:order] == 'active'
scope.merge!(mutual_relationship_scope) if mutual_relationship?
scope.merge!(moved_account_scope) if params[:status] == 'moved'
scope.merge!(primary_account_scope) if params[:status] == 'primary'
@ -85,7 +86,7 @@ class RelationshipsController < ApplicationController
end
def current_params
params.slice(:page, :status, :relationship, :by_domain, :activity).permit(:page, :status, :relationship, :by_domain, :activity)
params.slice(:page, :status, :relationship, :by_domain, :activity, :order).permit(:page, :status, :relationship, :by_domain, :activity, :order)
end
def action_from_button

@ -7,7 +7,7 @@ module Admin::FilterHelper
CUSTOM_EMOJI_FILTERS = %i(local remote by_domain shortcode).freeze
TAGS_FILTERS = %i(hidden).freeze
INSTANCES_FILTERS = %i(limited by_domain).freeze
FOLLOWERS_FILTERS = %i(relationship status by_domain activity).freeze
FOLLOWERS_FILTERS = %i(relationship status by_domain activity order).freeze
FILTERS = ACCOUNT_FILTERS + REPORT_FILTERS + INVITE_FILTER + CUSTOM_EMOJI_FILTERS + TAGS_FILTERS + INSTANCES_FILTERS + FOLLOWERS_FILTERS

@ -111,8 +111,8 @@ module StreamEntriesHelper
end
def poll_summary(status)
return unless status.poll
status.poll.options.map { |o| "[ ] #{o}" }.join("\n")
return unless status.preloadable_poll
status.preloadable_poll.options.map { |o| "[ ] #{o}" }.join("\n")
end
def status_description(status)

@ -212,7 +212,7 @@ class Header extends ImmutablePureComponent {
<div className='account__header__bar'>
<div className='account__header__tabs'>
<a className='avatar' href={account.get('url')} target='_blank'>
<a className='avatar' href={account.get('url')} rel='noopener' target='_blank'>
<Avatar account={account} size={90} />
</a>

@ -5,7 +5,6 @@
"account.block_domain": "إخفاء كل شيئ قادم من إسم النطاق {domain}",
"account.blocked": "محظور",
"account.direct": "رسالة خاصة إلى @{name}",
"account.disclaimer_full": "قد لا تعكس المعلومات أدناه الملف الشخصي الكامل للمستخدم.",
"account.domain_blocked": "النطاق مخفي",
"account.edit_profile": "تعديل الملف الشخصي",
"account.endorse": "خاصّية على الملف الشخصي",
@ -36,7 +35,6 @@
"account.unfollow": "إلغاء المتابعة",
"account.unmute": "إلغاء الكتم عن @{name}",
"account.unmute_notifications": "إلغاء كتم إخطارات @{name}",
"account.view_full_profile": "عرض الملف الشخصي كاملا",
"alert.unexpected.message": "لقد طرأ هناك خطأ غير متوقّع.",
"alert.unexpected.title": "المعذرة !",
"boost_modal.combo": "يمكنك/ي ضغط {combo} لتخطّي هذه في المرّة القادمة",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "النص غير مخفي",
"compose_form.spoiler_placeholder": "تنبيه عن المحتوى",
"confirmation_modal.cancel": "إلغاء",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "حجب",
"confirmations.block.message": "هل أنت متأكد أنك تريد حجب {name} ؟",
"confirmations.delete.confirm": "حذف",

@ -5,7 +5,6 @@
"account.block_domain": "Anubrir tolo de {domain}",
"account.blocked": "Blocked",
"account.direct": "Unviar un mensaxe direutu a @{name}",
"account.disclaimer_full": "La información d'embaxo podría reflexar de mou incompletu'l perfil del usuariu.",
"account.domain_blocked": "Dominiu anubríu",
"account.edit_profile": "Editar el perfil",
"account.endorse": "Destacar nel perfil",
@ -36,7 +35,6 @@
"account.unfollow": "Unfollow",
"account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "Ver el perfil completu",
"alert.unexpected.message": "Asocedió un fallu inesperáu.",
"alert.unexpected.title": "¡Ups!",
"boost_modal.combo": "Pues primir {combo} pa saltar esto la próxima vegada",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "El testu va anubrise",
"compose_form.spoiler_placeholder": "Escribi equí l'avertencia",
"confirmation_modal.cancel": "Encaboxar",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "¿De xuru que quies bloquiar a {name}?",
"confirmations.delete.confirm": "Delete",

@ -5,7 +5,6 @@
"account.block_domain": "Hide everything from {domain}",
"account.blocked": "Blocked",
"account.direct": "Direct Message @{name}",
"account.disclaimer_full": "Information below may reflect the user's profile incompletely.",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Редактирай профила си",
"account.endorse": "Feature on profile",
@ -36,7 +35,6 @@
"account.unfollow": "Не следвай",
"account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile",
"alert.unexpected.message": "An unexpected error occurred.",
"alert.unexpected.title": "Oops!",
"boost_modal.combo": "You can press {combo} to skip this next time",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Text is not hidden",
"compose_form.spoiler_placeholder": "Content warning",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",

@ -5,7 +5,6 @@
"account.block_domain": "{domain} থেকে সব সরিয়ে ফেলুন",
"account.blocked": "বন্ধ করা হয়েছে",
"account.direct": "@{name}কে সরকারি পাঠান",
"account.disclaimer_full": "নিচে ব্যবহারকারীর তথ্য অসম্পূর্ণভাবে দেখতে পারে ।",
"account.domain_blocked": "বেবিসিটটি সরানো আছে",
"account.edit_profile": "Edit profile",
"account.endorse": "Feature on profile",
@ -36,7 +35,6 @@
"account.unfollow": "Unfollow",
"account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile",
"alert.unexpected.message": "An unexpected error occurred.",
"alert.unexpected.title": "Oops!",
"boost_modal.combo": "You can press {combo} to skip this next time",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Text is not hidden",
"compose_form.spoiler_placeholder": "Write your warning here",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",

@ -5,7 +5,6 @@
"account.block_domain": "Amaga-ho tot de {domain}",
"account.blocked": "Bloquejat",
"account.direct": "Missatge directe @{name}",
"account.disclaimer_full": "La informació següent pot reflectir incompleta el perfil de l'usuari.",
"account.domain_blocked": "Domini ocult",
"account.edit_profile": "Editar el perfil",
"account.endorse": "Recomanar en el teu perfil",
@ -36,7 +35,6 @@
"account.unfollow": "Deixa de seguir",
"account.unmute": "Treure silenci de @{name}",
"account.unmute_notifications": "Activar notificacions de @{name}",
"account.view_full_profile": "Mostra el perfil complet",
"alert.unexpected.message": "S'ha produït un error inesperat.",
"alert.unexpected.title": "Vaja!",
"boost_modal.combo": "Pots premer {combo} per saltar-te això el proper cop",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Text no ocult",
"compose_form.spoiler_placeholder": "Escriu l'avís aquí",
"confirmation_modal.cancel": "Cancel·la",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Bloca",
"confirmations.block.message": "Estàs segur que vols blocar {name}?",
"confirmations.delete.confirm": "Suprimeix",

@ -5,7 +5,6 @@
"account.block_domain": "Piattà tuttu da {domain}",
"account.blocked": "Bluccatu",
"account.direct": "Missaghju direttu @{name}",
"account.disclaimer_full": "Ghjè pussibule chì linfurmazione quì sottu ùn rifletta micca u prufile sanu di lutilizatore.",
"account.domain_blocked": "Duminiu piattatu",
"account.edit_profile": "Mudificà u prufile",
"account.endorse": "Fà figurà nant'à u prufilu",
@ -36,7 +35,6 @@
"account.unfollow": "Ùn siguità più",
"account.unmute": "Ùn piattà più @{name}",
"account.unmute_notifications": "Ùn piattà più nutificazione da @{name}",
"account.view_full_profile": "Vede tuttu u prufile",
"alert.unexpected.message": "Un prublemu inaspettatu hè accadutu.",
"alert.unexpected.title": "Uups!",
"boost_modal.combo": "Pudete appughjà nant'à {combo} per saltà quessa a prussima volta",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Testu micca piattatu",
"compose_form.spoiler_placeholder": "Scrive u vostr'avertimentu quì",
"confirmation_modal.cancel": "Annullà",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Bluccà",
"confirmations.block.message": "Site sicuru·a che vulete bluccà @{name}?",
"confirmations.delete.confirm": "Toglie",

@ -5,7 +5,6 @@
"account.block_domain": "Skrýt vše z {domain}",
"account.blocked": "Blokován/a",
"account.direct": "Poslat přímou zprávu uživateli @{name}",
"account.disclaimer_full": "Níže uvedené informace nemusejí zcela odrážet profil uživatele.",
"account.domain_blocked": "Doména skryta",
"account.edit_profile": "Upravit profil",
"account.endorse": "Představit na profilu",
@ -36,7 +35,6 @@
"account.unfollow": "Přestat sledovat",
"account.unmute": "Odkrýt uživatele @{name}",
"account.unmute_notifications": "Odkrýt oznámení od uživatele @{name}",
"account.view_full_profile": "Zobrazit celý profil",
"alert.unexpected.message": "Objevila se neočekávaná chyba.",
"alert.unexpected.title": "Jejda!",
"boost_modal.combo": "Příště můžete pro přeskočení kliknout na {combo}",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Text není skrytý",
"compose_form.spoiler_placeholder": "Sem napište vaše varování",
"confirmation_modal.cancel": "Zrušit",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Blokovat",
"confirmations.block.message": "Jste si jistý/á, že chcete zablokovat uživatele {name}?",
"confirmations.delete.confirm": "Smazat",

@ -5,7 +5,6 @@
"account.block_domain": "Cuddio popeth rhag {domain}",
"account.blocked": "Blociwyd",
"account.direct": "Neges breifat @{name}",
"account.disclaimer_full": "Gall y wybodaeth isod adlewyrchu darlun anghyflawn o broffil defnyddiwr.",
"account.domain_blocked": "Parth wedi ei guddio",
"account.edit_profile": "Golygu proffil",
"account.endorse": "Arddangos ar fy mhroffil",
@ -36,7 +35,6 @@
"account.unfollow": "Dad-ddilyn",
"account.unmute": "Dad-dawelu @{name}",
"account.unmute_notifications": "Dad-dawelu hysbysiadau o @{name}",
"account.view_full_profile": "Gweld proffil llawn",
"alert.unexpected.message": "Digwyddodd gwall annisgwyl.",
"alert.unexpected.title": "Wps!",
"boost_modal.combo": "Mae modd gwasgu {combo} er mwyn sgipio hyn tro nesa",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Nid yw'r testun wedi ei guddio",
"compose_form.spoiler_placeholder": "Ysgrifenwch eich rhybudd yma",
"confirmation_modal.cancel": "Canslo",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Blocio",
"confirmations.block.message": "Ydych chi'n sicr eich bod eisiau blocio {name}?",
"confirmations.delete.confirm": "Dileu",

@ -5,7 +5,6 @@
"account.block_domain": "Skjul alt fra {domain}",
"account.blocked": "Blokeret",
"account.direct": "Send en direkte besked til @{name}",
"account.disclaimer_full": "Nedenstående oplysninger reflekterer ikke nødvendigvis brugerens profil fuldstændigt.",
"account.domain_blocked": "Domænet er blevet skjult",
"account.edit_profile": "Rediger profil",
"account.endorse": "Fremhæv på profil",
@ -36,7 +35,6 @@
"account.unfollow": "Følg ikke længere",
"account.unmute": "Fjern dæmpningen af @{name}",
"account.unmute_notifications": "Fjern dæmpningen af notifikationer fra @{name}",
"account.view_full_profile": "Se fuld profil",
"alert.unexpected.message": "Der opstod en uventet fejl.",
"alert.unexpected.title": "Ups!",
"boost_modal.combo": "Du kan trykke {combo} for at springe dette over næste gang",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Teksten er ikke skjult",
"compose_form.spoiler_placeholder": "Skriv din advarsel her",
"confirmation_modal.cancel": "Annuller",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Bloker",
"confirmations.block.message": "Er du sikker på, du vil blokere {name}?",
"confirmations.delete.confirm": "Slet",

@ -5,7 +5,6 @@
"account.block_domain": "Alles von {domain} verstecken",
"account.blocked": "Blockiert",
"account.direct": "Direktnachricht an @{name}",
"account.disclaimer_full": "Das Profil wird möglicherweise unvollständig wiedergegeben.",
"account.domain_blocked": "Domain versteckt",
"account.edit_profile": "Profil bearbeiten",
"account.endorse": "Auf Profil hervorheben",
@ -36,7 +35,6 @@
"account.unfollow": "Entfolgen",
"account.unmute": "@{name} nicht mehr stummschalten",
"account.unmute_notifications": "Benachrichtigungen von @{name} einschalten",
"account.view_full_profile": "Vollständiges Profil anzeigen",
"alert.unexpected.message": "Ein unerwarteter Fehler ist aufgetreten.",
"alert.unexpected.title": "Hoppla!",
"boost_modal.combo": "Du kannst {combo} drücken, um dies beim nächsten Mal zu überspringen",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Text ist nicht versteckt",
"compose_form.spoiler_placeholder": "Inhaltswarnung",
"confirmation_modal.cancel": "Abbrechen",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Blockieren",
"confirmations.block.message": "Bist du dir sicher, dass du {name} blockieren möchtest?",
"confirmations.delete.confirm": "Löschen",

@ -479,6 +479,10 @@
"defaultMessage": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"id": "confirmations.reply.message"
},
{
"defaultMessage": "Block & Report",
"id": "confirmations.block.block_and_report"
},
{
"defaultMessage": "Are you sure you want to block {name}?",
"id": "confirmations.block.message"
@ -526,6 +530,10 @@
"defaultMessage": "Hide entire domain",
"id": "confirmations.domain_block.confirm"
},
{
"defaultMessage": "Block & Report",
"id": "confirmations.block.block_and_report"
},
{
"defaultMessage": "Are you sure you want to unfollow {name}?",
"id": "confirmations.unfollow.message"
@ -553,24 +561,40 @@
{
"descriptors": [
{
"defaultMessage": "Mention @{name}",
"id": "account.mention"
"defaultMessage": "Unfollow",
"id": "account.unfollow"
},
{
"defaultMessage": "Direct message @{name}",
"id": "account.direct"
"defaultMessage": "Follow",
"id": "account.follow"
},
{
"defaultMessage": "Edit profile",
"id": "account.edit_profile"
"defaultMessage": "Awaiting approval. Click to cancel follow request",
"id": "account.requested"
},
{
"defaultMessage": "Unblock @{name}",
"id": "account.unblock"
},
{
"defaultMessage": "Unfollow",
"id": "account.unfollow"
"defaultMessage": "Edit profile",
"id": "account.edit_profile"
},
{
"defaultMessage": "Ownership of this link was checked on {date}",
"id": "account.link_verified_on"
},
{
"defaultMessage": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
"id": "account.locked_info"
},
{
"defaultMessage": "Mention @{name}",
"id": "account.mention"
},
{
"defaultMessage": "Direct message @{name}",
"id": "account.direct"
},
{
"defaultMessage": "Unmute @{name}",
@ -584,10 +608,6 @@
"defaultMessage": "Mute @{name}",
"id": "account.mute"
},
{
"defaultMessage": "Follow",
"id": "account.follow"
},
{
"defaultMessage": "Report @{name}",
"id": "account.report"
@ -664,59 +684,6 @@
"defaultMessage": "Open moderation interface for @{name}",
"id": "status.admin_account"
},
{
"defaultMessage": "Information below may reflect the user's profile incompletely.",
"id": "account.disclaimer_full"
},
{
"defaultMessage": "View full profile",
"id": "account.view_full_profile"
},
{
"defaultMessage": "Toots",
"id": "account.posts"
},
{
"defaultMessage": "Follows",
"id": "account.follows"
},
{
"defaultMessage": "Followers",
"id": "account.followers"
}
],
"path": "app/javascript/mastodon/features/account/components/action_bar.json"
},
{
"descriptors": [
{
"defaultMessage": "Unfollow",
"id": "account.unfollow"
},
{
"defaultMessage": "Follow",
"id": "account.follow"
},
{
"defaultMessage": "Awaiting approval. Click to cancel follow request",
"id": "account.requested"
},
{
"defaultMessage": "Unblock @{name}",
"id": "account.unblock"
},
{
"defaultMessage": "Edit profile",
"id": "account.edit_profile"
},
{
"defaultMessage": "Ownership of this link was checked on {date}",
"id": "account.link_verified_on"
},
{
"defaultMessage": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
"id": "account.locked_info"
},
{
"defaultMessage": "Follows you",
"id": "account.follows_you"
@ -736,6 +703,18 @@
{
"defaultMessage": "Bot",
"id": "account.badges.bot"
},
{
"defaultMessage": "Toots",
"id": "account.posts"
},
{
"defaultMessage": "Follows",
"id": "account.follows"
},
{
"defaultMessage": "Followers",
"id": "account.followers"
}
],
"path": "app/javascript/mastodon/features/account/components/header.json"
@ -2099,6 +2078,10 @@
"defaultMessage": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"id": "confirmations.reply.message"
},
{
"defaultMessage": "Block & Report",
"id": "confirmations.block.block_and_report"
},
{
"defaultMessage": "Are you sure you want to block {name}?",
"id": "confirmations.block.message"
@ -2148,6 +2131,10 @@
"defaultMessage": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"id": "confirmations.reply.message"
},
{
"defaultMessage": "Block & Report",
"id": "confirmations.block.block_and_report"
},
{
"defaultMessage": "Are you sure you want to block {name}?",
"id": "confirmations.block.message"

@ -5,7 +5,6 @@
"account.block_domain": "Απόκρυψε τα πάντα από το {domain}",
"account.blocked": "Αποκλεισμένος/η",
"account.direct": "Προσωπικό μήνυμα προς @{name}",
"account.disclaimer_full": "Οι παρακάτω πληροφορίες μπορει να μην αντανακλούν το προφίλ του χρήστη επαρκως.",
"account.domain_blocked": "Κρυμμένος τομέας",
"account.edit_profile": "Επεξεργασία προφίλ",
"account.endorse": "Προβολή στο προφίλ",
@ -36,7 +35,6 @@
"account.unfollow": "Διακοπή παρακολούθησης",
"account.unmute": "Διακοπή αποσιώπησης του/της @{name}",
"account.unmute_notifications": "Διακοπή αποσιώπησης ειδοποιήσεων του/της @{name}",
"account.view_full_profile": "Δες το πλήρες προφίλ",
"alert.unexpected.message": "Προέκυψε απροσδόκητο σφάλμα.",
"alert.unexpected.title": "Εεπ!",
"boost_modal.combo": "Μπορείς να πατήσεις {combo} για να το προσπεράσεις αυτό την επόμενη φορά",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Μη κρυμμένο κείμενο",
"compose_form.spoiler_placeholder": "Γράψε την προειδοποίησή σου εδώ",
"confirmation_modal.cancel": "Άκυρο",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Απόκλεισε",
"confirmations.block.message": "Σίγουρα θες να αποκλείσεις τον/την {name};",
"confirmations.delete.confirm": "Διέγραψε",

@ -5,7 +5,6 @@
"account.block_domain": "Hide everything from {domain}",
"account.blocked": "Blocked",
"account.direct": "Direct message @{name}",
"account.disclaimer_full": "Information below may reflect the user's profile incompletely.",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Edit profile",
"account.endorse": "Feature on profile",
@ -36,7 +35,6 @@
"account.unfollow": "Unfollow",
"account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile",
"alert.unexpected.message": "An unexpected error occurred.",
"alert.unexpected.title": "Oops!",
"boost_modal.combo": "You can press {combo} to skip this next time",
@ -89,6 +87,7 @@
"compose_form.spoiler.unmarked": "Text is not hidden",
"compose_form.spoiler_placeholder": "Write your warning here",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",

@ -5,7 +5,6 @@
"account.block_domain": "Kaŝi ĉion de {domain}",
"account.blocked": "Blokita",
"account.direct": "Rekte mesaĝi @{name}",
"account.disclaimer_full": "Subaj informoj povas reflekti la profilon de la uzanto nekomplete.",
"account.domain_blocked": "Domajno kaŝita",
"account.edit_profile": "Redakti profilon",
"account.endorse": "Montri en profilo",
@ -36,7 +35,6 @@
"account.unfollow": "Ne plu sekvi",
"account.unmute": "Malsilentigi @{name}",
"account.unmute_notifications": "Malsilentigi sciigojn de @{name}",
"account.view_full_profile": "Vidi plenan profilon",
"alert.unexpected.message": "Neatendita eraro okazis.",
"alert.unexpected.title": "Ups!",
"boost_modal.combo": "Vi povas premi {combo} por preterpasi sekvafoje",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Teksto ne kaŝita",
"compose_form.spoiler_placeholder": "Skribu vian averton ĉi tie",
"confirmation_modal.cancel": "Nuligi",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Bloki",
"confirmations.block.message": "Ĉu vi certas, ke vi volas bloki {name}?",
"confirmations.delete.confirm": "Forigi",

@ -1,11 +1,10 @@
{
"account.add_or_remove_from_list": "Agregar o Quitar listas",
"account.badges.bot": "Robot",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Bot",
"account.block": "Bloquear",
"account.block_domain": "Ocultar todo de {domain}",
"account.blocked": "Bloqueado",
"account.direct": "Direct Message @{name}",
"account.disclaimer_full": "La siguiente información del usuario puede estar incompleta.",
"account.domain_blocked": "Dominio oculto",
"account.edit_profile": "Editar perfil",
"account.endorse": "Mostrar en perfil",
@ -16,8 +15,8 @@
"account.follows.empty": "Este usuario todavía no sigue a nadie.",
"account.follows_you": "Te sigue",
"account.hide_reblogs": "Ocultar retoots de @{name}",
"account.link_verified_on": "La legitimidad de este enlace fue verificada el {date}",
"account.locked_info": "Esta cuenta está bloqueada. Su propietario aprueba manualmente quién puede seguirlo.",
"account.link_verified_on": "Ownership of this link was checked on {date}",
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
"account.media": "Media",
"account.mention": "Mencionar a @{name}",
"account.moved_to": "{name} se ha mudado a:",
@ -36,9 +35,8 @@
"account.unfollow": "Dejar de seguir",
"account.unmute": "Dejar de silenciar a @{name}",
"account.unmute_notifications": "Dejar de silenciar las notificaciones de @{name}",
"account.view_full_profile": "Ver perfil completo",
"alert.unexpected.message": "Hubo un error inesperado.",
"alert.unexpected.title": "¡Oups!",
"alert.unexpected.title": "Oops!",
"boost_modal.combo": "Puedes presionar {combo} para saltear este aviso la próxima vez",
"bundle_column_error.body": "Algo salió mal al cargar este componente.",
"bundle_column_error.retry": "Inténtalo de nuevo",
@ -73,10 +71,10 @@
"compose_form.lock_disclaimer": "Tu cuenta no está bloqueada. Todos pueden seguirte para ver tus toots solo para seguidores.",
"compose_form.lock_disclaimer.lock": "bloqueado",
"compose_form.placeholder": "¿En qué estás pensando?",
"compose_form.poll.add_option": "Añadir una opción",
"compose_form.poll.duration": "Duración de la encuesta",
"compose_form.poll.option_placeholder": "Opción {number}",
"compose_form.poll.remove_option": "Eliminar esta opción",
"compose_form.poll.add_option": "Add a choice",
"compose_form.poll.duration": "Poll duration",
"compose_form.poll.option_placeholder": "Choice {number}",
"compose_form.poll.remove_option": "Remove this choice",
"compose_form.publish": "Tootear",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.marked": "Material marcado como sensible",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Texto no oculto",
"compose_form.spoiler_placeholder": "Advertencia de contenido",
"confirmation_modal.cancel": "Cancelar",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Bloquear",
"confirmations.block.message": "¿Estás seguro de que quieres bloquear a {name}?",
"confirmations.delete.confirm": "Eliminar",
@ -97,8 +96,8 @@
"confirmations.mute.message": "¿Estás seguro de que quieres silenciar a {name}?",
"confirmations.redraft.confirm": "Borrar y volver a borrador",
"confirmations.redraft.message": "Estás seguro de que quieres borrar este estado y volverlo a borrador? Perderás todas las respuestas, impulsos y favoritos asociados a él, y las respuestas a la publicación original quedarán huérfanos.",
"confirmations.reply.confirm": "Responder",
"confirmations.reply.message": "Responder ahora sobrescribirá el mensaje que está escribiendo. ¿Realmente quieres continuar?",
"confirmations.reply.confirm": "Reply",
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"confirmations.unfollow.confirm": "Dejar de seguir",
"confirmations.unfollow.message": "¿Estás seguro de que quieres dejar de seguir a {name}?",
"embed.instructions": "Añade este toot a tu sitio web con el siguiente código.",
@ -117,7 +116,7 @@
"emoji_button.search_results": "Resultados de búsqueda",
"emoji_button.symbols": "Símbolos",
"emoji_button.travel": "Viajes y lugares",
"empty_column.account_timeline": "¡No hay toot aquí!",
"empty_column.account_timeline": "No toots here!",
"empty_column.blocks": "Aún no has bloqueado a ningún usuario.",
"empty_column.community": "La línea de tiempo local está vacía. ¡Escribe algo para empezar la fiesta!",
"empty_column.direct": "Aún no tienes ningún mensaje directo. Cuando envíes o recibas uno, se mostrará aquí.",
@ -132,49 +131,49 @@
"empty_column.lists": "No tienes ninguna lista. cuando crees una, se mostrará aquí.",
"empty_column.mutes": "Aún no has silenciado a ningún usuario.",
"empty_column.notifications": "No tienes ninguna notificación aún. Interactúa con otros para empezar una conversación.",
"empty_column.public": "¡No hay nada aquí! Escribir algo públicamente, o seguir manualmente a personas de otras instancias para rellenarlo",
"empty_column.public": "¡No hay nada aquí! Escribe algo públicamente, o sigue usuarios de otras instancias manualmente para llenarlo",
"follow_request.authorize": "Autorizar",
"follow_request.reject": "Rechazar",
"getting_started.developers": "Desarrolladores",
"getting_started.directory": "Directorio de perfiles",
"getting_started.directory": "Profile directory",
"getting_started.documentation": "Documentation",
"getting_started.heading": "Primeros pasos",
"getting_started.invite": "Invitar usuarios",
"getting_started.open_source_notice": "Mastodon es software libre. Puedes contribuir o reportar errores en {github}.",
"getting_started.security": "Seguridad",
"getting_started.terms": "Términos de servicio",
"hashtag.column_header.tag_mode.all": "y {additional}",
"hashtag.column_header.tag_mode.any": "o {additional}",
"hashtag.column_header.tag_mode.none": "sin {additional}",
"hashtag.column_settings.select.no_options_message": "No se han encontrado sugerencias",
"hashtag.column_settings.select.placeholder": "Añadir etiquetas…",
"hashtag.column_settings.tag_mode.all": "Todos estos elementos",
"hashtag.column_settings.tag_mode.any": "Al menos uno de estos elementos",
"hashtag.column_settings.tag_mode.none": "Ninguno de estos elementos",
"hashtag.column_settings.tag_toggle": "Incluir etiquetas adicionales en esta columna",
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
"hashtag.column_settings.select.no_options_message": "No suggestions found",
"hashtag.column_settings.select.placeholder": "Enter hashtags…",
"hashtag.column_settings.tag_mode.all": "All of these",
"hashtag.column_settings.tag_mode.any": "Any of these",
"hashtag.column_settings.tag_mode.none": "None of these",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Mostrar retoots",
"home.column_settings.show_replies": "Mostrar respuestas",
"intervals.full.days": "{number, plural, one {# día} other {# días}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
"introduction.federation.action": "Siguiente",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
"introduction.federation.action": "Next",
"introduction.federation.federated.headline": "Federated",
"introduction.federation.federated.text": "Los mensajes públicos de otras instancias del fediverso aparecerán en la historia pública global.",
"introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
"introduction.federation.home.headline": "Home",
"introduction.federation.home.text": "Los mensajes de las personas a las que sigues aparecerán en el hilo de inicio. Puedes rastrear a cualquiera en cualquier instancia!",
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
"introduction.federation.local.headline": "Local",
"introduction.federation.local.text": "Los mensajes públicos de personas en el mismo servidor que aparecerán en la historia pública local.",
"introduction.interactions.action": "Termina el tutorial!",
"introduction.interactions.favourite.headline": "Favoritos",
"introduction.interactions.favourite.text": "Puedes guardar un toot para más tarde, y hacer saber a su autor-ice que te gustó, promocionándolo.",
"introduction.interactions.reblog.headline": "Compartir de nuevo",
"introduction.interactions.reblog.text": "Puedes compartir los toots de otras personas con tus suscriptores si los vuelves a compartir.",
"introduction.interactions.reply.headline": "Responder",
"introduction.interactions.reply.text": "Puedes responder a los toots de otras personas y a los tuyos propios, los cuales te seguirán en una conversación.",
"introduction.welcome.action": "¡Vámonos!",
"introduction.welcome.headline": "Primeros pasos",
"introduction.welcome.text": "Bienvenidos al fediverso! En unos momentos, podrás enviar mensajes y hablar con tus amigos en una gran variedad de instancias. Pero esta instancia, {domain}, es especial - aloja tu perfil, así que recuerda su nombre.",
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
"introduction.interactions.action": "Finish tutorial!",
"introduction.interactions.favourite.headline": "Favourite",
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
"introduction.interactions.reblog.headline": "Boost",
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
"introduction.interactions.reply.headline": "Reply",
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
"introduction.welcome.action": "Let's go!",
"introduction.welcome.headline": "First steps",
"introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
"keyboard_shortcuts.back": "volver atrás",
"keyboard_shortcuts.blocked": "abrir una lista de usuarios bloqueados",
"keyboard_shortcuts.boost": "retootear",
@ -213,7 +212,7 @@
"lists.account.remove": "Quitar de lista",
"lists.delete": "Delete list",
"lists.edit": "Editar lista",
"lists.edit.submit": "Cambiar el título",
"lists.edit.submit": "Change title",
"lists.new.create": "Añadir lista",
"lists.new.title_placeholder": "Título de la nueva lista",
"lists.search": "Buscar entre la gente a la que sigues",
@ -247,35 +246,35 @@
"notification.favourite": "{name} marcó tu estado como favorito",
"notification.follow": "{name} te empezó a seguir",
"notification.mention": "{name} te ha mencionado",
"notification.poll": "Una encuesta en la que ha participado ha finalizado",
"notification.poll": "A poll you have voted in has ended",
"notification.reblog": "{name} ha retooteado tu estado",
"notifications.clear": "Limpiar notificaciones",
"notifications.clear_confirmation": "¿Seguro que quieres limpiar permanentemente todas tus notificaciones?",
"notifications.column_settings.alert": "Notificaciones de escritorio",
"notifications.column_settings.favourite": "Favoritos:",
"notifications.column_settings.filter_bar.advanced": "Mostrar todas las categorías",
"notifications.column_settings.filter_bar.category": "Barra de filtro rápido",
"notifications.column_settings.filter_bar.show": "Mostrar",
"notifications.column_settings.filter_bar.advanced": "Display all categories",
"notifications.column_settings.filter_bar.category": "Quick filter bar",
"notifications.column_settings.filter_bar.show": "Show",
"notifications.column_settings.follow": "Nuevos seguidores:",
"notifications.column_settings.mention": "Menciones:",
"notifications.column_settings.poll": "Resultados de la encuesta:",
"notifications.column_settings.poll": "Poll results:",
"notifications.column_settings.push": "Notificaciones push",
"notifications.column_settings.reblog": "Retoots:",
"notifications.column_settings.show": "Mostrar en columna",
"notifications.column_settings.sound": "Reproducir sonido",
"notifications.filter.all": "Todo",
"notifications.filter.boosts": "Retoots",
"notifications.filter.favourites": "Favoritos",
"notifications.filter.follows": "Suscriptores",
"notifications.filter.mentions": "Menciones",
"notifications.filter.polls": "Resultados de la encuesta",
"notifications.filter.all": "All",
"notifications.filter.boosts": "Boosts",
"notifications.filter.favourites": "Favourites",
"notifications.filter.follows": "Follows",
"notifications.filter.mentions": "Mentions",
"notifications.filter.polls": "Poll results",
"notifications.group": "{count} notificaciones",
"poll.closed": "Cerrado",
"poll.refresh": "Actualización",
"poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
"poll.vote": "Votar",
"poll_button.add_poll": "Crear una encuesta",
"poll_button.remove_poll": "Eliminar la encuesta",
"poll.closed": "Closed",
"poll.refresh": "Refresh",
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
"poll.vote": "Vote",
"poll_button.add_poll": "Add a poll",
"poll_button.remove_poll": "Remove poll",
"privacy.change": "Ajustar privacidad",
"privacy.direct.long": "Sólo mostrar a los usuarios mencionados",
"privacy.direct.short": "Directo",
@ -295,7 +294,7 @@
"reply_indicator.cancel": "Cancelar",
"report.forward": "Reenviar a {target}",
"report.forward_hint": "Esta cuenta es de otro servidor. ¿Enviar una copia anonimizada del informe allí también?",
"report.hint": "El informe será enviado a los moderadores de su jurisdicción. Usted puede explicar por qué está reportando la cuenta a continuación:",
"report.hint": "El informe se enviará a los moderadores de tu instancia. Puedes proporcionar una explicación de por qué informas sobre esta cuenta a continuación:",
"report.placeholder": "Comentarios adicionales",
"report.submit": "Publicar",
"report.target": "Reportando",
@ -310,12 +309,12 @@
"search_results.hashtags": "Etiquetas",
"search_results.statuses": "Toots",
"search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
"status.admin_account": "Abrir la interfaz de moderación para @{name}",
"status.admin_status": "Abrir este estatuto en la interfaz de moderación",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.block": "Block @{name}",
"status.cancel_reblog_private": "Des-impulsar",
"status.cannot_reblog": "Este toot no puede retootearse",
"status.copy": "Copiar el enlace al piojo",
"status.copy": "Copy link to status",
"status.delete": "Borrar",
"status.detailed_status": "Vista de conversación detallada",
"status.direct": "Mensaje directo a @{name}",
@ -331,7 +330,7 @@
"status.open": "Expandir estado",
"status.pin": "Fijar",
"status.pinned": "Toot fijado",
"status.read_more": "Para saber más",
"status.read_more": "Read more",
"status.reblog": "Retootear",
"status.reblog_private": "Implusar a la audiencia original",
"status.reblogged_by": "Retooteado por {name}",
@ -347,29 +346,29 @@
"status.show_less_all": "Mostrar menos para todo",
"status.show_more": "Mostrar más",
"status.show_more_all": "Mostrar más para todo",
"status.show_thread": "Mostrar la conversación",
"status.show_thread": "Show thread",
"status.unmute_conversation": "Dejar de silenciar conversación",
"status.unpin": "Dejar de fijar",
"suggestions.dismiss": "Rechazar la sugerencia",
"suggestions.header": "Usted puede estar interesado en…",
"suggestions.dismiss": "Dismiss suggestion",
"suggestions.header": "You might be interested in…",
"tabs_bar.federated_timeline": "Federado",
"tabs_bar.home": "Inicio",
"tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Notificaciones",
"tabs_bar.search": "Buscar",
"time_remaining.days": "{number, plural, one {# dia} other {# dias}} restantes",
"time_remaining.hours": "{number, plural, one {# hora} other {# horas}} restantes",
"time_remaining.minutes": "{number, plural, one {# minuto} other {# minutos}} restantes",
"time_remaining.moments": "Unos momentos más",
"time_remaining.seconds": "{number, plural, one {# segundo} other {# segundos}} restantes",
"trends.count_by_accounts": "{count} {rawCount, plural, one {persona} other {personas}} discuten",
"time_remaining.days": "{number, plural, one {# day} other {# days}} left",
"time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left",
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
"ui.beforeunload": "Tu borrador se perderá si sales de Mastodon.",
"upload_area.title": "Arrastra y suelta para subir",
"upload_button.label": "Subir multimedia (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Se ha excedido el tamaño máximo de envío de archivos.",
"upload_error.poll": "No se permite enviar archivos con las encuestas.",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Describir para los usuarios con dificultad visual",
"upload_form.focus": "Modificar la vista previa",
"upload_form.focus": "Recortar",
"upload_form.undo": "Borrar",
"upload_progress.label": "Subiendo…",
"video.close": "Cerrar video",

@ -5,7 +5,6 @@
"account.block_domain": "Ezkutatu {domain} domeinuko guztia",
"account.blocked": "Blokeatuta",
"account.direct": "Mezu zuzena @{name}(r)i",
"account.disclaimer_full": "Baliteke beheko informazioak erabiltzailearen profilaren zati bat baino ez erakustea.",
"account.domain_blocked": "Ezkutatutako domeinua",
"account.edit_profile": "Aldatu profila",
"account.endorse": "Nabarmendu profilean",
@ -36,7 +35,6 @@
"account.unfollow": "Jarraitzeari utzi",
"account.unmute": "Desmututu @{name}",
"account.unmute_notifications": "Desmututu @{name}(r)en jakinarazpenak",
"account.view_full_profile": "Ikusi profil osoa",
"alert.unexpected.message": "Ustekabeko errore bat gertatu da.",
"alert.unexpected.title": "Ene!",
"boost_modal.combo": "{combo} sakatu dezakezu hurrengoan hau saltatzeko",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Testua ez dago ezkutatuta",
"compose_form.spoiler_placeholder": "Idatzi zure abisua hemen",
"confirmation_modal.cancel": "Utzi",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Ziur {name} blokeatu nahi duzula?",
"confirmations.delete.confirm": "Ezabatu",

@ -5,7 +5,6 @@
"account.block_domain": "پنهان‌سازی همه چیز از سرور {domain}",
"account.blocked": "مسدودشده",
"account.direct": "پیغام خصوصی به @{name}",
"account.disclaimer_full": "اطلاعات زیر ممکن است نمایهٔ این کاربر را به تمامی نشان ندهد.",
"account.domain_blocked": "دامین پنهان‌شده",
"account.edit_profile": "ویرایش نمایه",
"account.endorse": "نمایش در نمایه",
@ -36,7 +35,6 @@
"account.unfollow": "پایان پیگیری",
"account.unmute": "باصدا کردن @{name}",
"account.unmute_notifications": "باصداکردن اعلان‌ها از طرف @{name}",
"account.view_full_profile": "نمایش نمایهٔ کامل",
"alert.unexpected.message": "خطای پیش‌بینی‌نشده‌ای رخ داد.",
"alert.unexpected.title": "ای وای!",
"boost_modal.combo": "دکمهٔ {combo} را بزنید تا دیگر این را نبینید",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "نوشته پنهان نیست",
"compose_form.spoiler_placeholder": "هشدار محتوا",
"confirmation_modal.cancel": "بی‌خیال",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "مسدود کن",
"confirmations.block.message": "آیا واقعاً می‌خواهید {name} را مسدود کنید؟",
"confirmations.delete.confirm": "پاک کن",

@ -5,7 +5,6 @@
"account.block_domain": "Piilota kaikki sisältö verkkotunnuksesta {domain}",
"account.blocked": "Estetty",
"account.direct": "Viesti käyttäjälle @{name}",
"account.disclaimer_full": "Alla olevat käyttäjän profiilitiedot saattavat olla epätäydellisiä.",
"account.domain_blocked": "Verkko-osoite piilotettu",
"account.edit_profile": "Muokkaa",
"account.endorse": "Suosittele profiilissasi",
@ -36,7 +35,6 @@
"account.unfollow": "Lakkaa seuraamasta",
"account.unmute": "Poista käyttäjän @{name} mykistys",
"account.unmute_notifications": "Poista mykistys käyttäjän @{name} ilmoituksilta",
"account.view_full_profile": "Näytä koko profiili",
"alert.unexpected.message": "Tapahtui odottamaton virhe.",
"alert.unexpected.title": "Hups!",
"boost_modal.combo": "Ensi kerralla voit ohittaa tämän painamalla {combo}",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Teksti ei ole piilotettu",
"compose_form.spoiler_placeholder": "Sisältövaroitus",
"confirmation_modal.cancel": "Peruuta",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Estä",
"confirmations.block.message": "Haluatko varmasti estää käyttäjän {name}?",
"confirmations.delete.confirm": "Poista",

@ -1,14 +1,13 @@
{
"account.add_or_remove_from_list": "Ajouter ou Retirer des listes",
"account.add_or_remove_from_list": "Ajouter ou retirer des listes",
"account.badges.bot": "Bot",
"account.block": "Bloquer @{name}",
"account.block_domain": "Tout masquer venant de {domain}",
"account.blocked": "Bloqué",
"account.direct": "Envoyer un message direct à @{name}",
"account.disclaimer_full": "Les données ci-dessous peuvent ne pas refléter ce profil dans sa totalité.",
"account.domain_blocked": "Domaine caché",
"account.edit_profile": "Modifier le profil",
"account.endorse": "Épingler sur le profil",
"account.endorse": "Figure sur le profil",
"account.follow": "Suivre",
"account.followers": "Abonné⋅e⋅s",
"account.followers.empty": "Personne ne suit cet utilisateur·rice pour linstant.",
@ -16,14 +15,14 @@
"account.follows.empty": "Cet·te utilisateur·rice ne suit personne pour linstant.",
"account.follows_you": "Vous suit",
"account.hide_reblogs": "Masquer les partages de @{name}",
"account.link_verified_on": "La légitimité de ce lien a été vérifiée le {date}",
"account.locked_info": "Ce compte est verrouillé. Son propriétaire approuve manuellement qui peut le suivre.",
"account.link_verified_on": "La propriété de ce lien a été vérifiée le {date}",
"account.locked_info": "Ce compte est verrouillé. Son propriétaire approuve manuellement qui peut le ou la suivre.",
"account.media": "Média",
"account.mention": "Mentionner @{name}",
"account.moved_to": "{name} a déménagé vers:",
"account.mute": "Masquer @{name}",
"account.mute_notifications": "Ignorer les notifications de @{name}",
"account.muted": "En sourdine",
"account.muted": "Silencé",
"account.posts": "Pouets",
"account.posts_with_replies": "Pouets et réponses",
"account.report": "Signaler @{name}",
@ -36,10 +35,9 @@
"account.unfollow": "Ne plus suivre",
"account.unmute": "Ne plus masquer @{name}",
"account.unmute_notifications": "Réactiver les notifications de @{name}",
"account.view_full_profile": "Afficher le profil complet",
"alert.unexpected.message": "Une erreur inattendue sest produite.",
"alert.unexpected.title": "Oups!",
"boost_modal.combo": "Vous pouvez appuyer sur {combo} pour pouvoir passer ceci la prochaine fois",
"boost_modal.combo": "Vous pouvez appuyer sur {combo} pour pouvoir passer ceci, la prochaine fois",
"bundle_column_error.body": "Une erreur sest produite lors du chargement de ce composant.",
"bundle_column_error.retry": "Réessayer",
"bundle_column_error.title": "Erreur réseau",
@ -67,16 +65,16 @@
"column_header.unpin": "Retirer",
"column_subheading.settings": "Paramètres",
"community.column_settings.media_only": "Média uniquement",
"compose_form.direct_message_warning": "Ce pouet sera uniquement envoyé aux personnes mentionnées.",
"compose_form.direct_message_warning": "Ce pouet sera uniquement envoyé aux personnes mentionnées. Cependant, ladministration de votre instance et des instances réceptrices pourront inspecter ce message.",
"compose_form.direct_message_warning_learn_more": "En savoir plus",
"compose_form.hashtag_warning": "Ce pouet ne sera pas listé dans les recherches par hashtag car sa visibilité est réglée sur \"non listé\". Seuls les pouets avec une visibilité \"publique\" peuvent être recherchés par hashtag.",
"compose_form.lock_disclaimer": "Votre compte nest pas {locked}. Tout le monde peut vous suivre et voir vos pouets privés.",
"compose_form.lock_disclaimer.lock": "verrouillé",
"compose_form.placeholder": "Quavez-vous en tête?",
"compose_form.poll.add_option": "Ajouter une option",
"compose_form.poll.duration": "Durée du sondage",
"compose_form.poll.option_placeholder": "Option {number}",
"compose_form.poll.remove_option": "Retirer cette option",
"compose_form.poll.add_option": "Add a choice",
"compose_form.poll.duration": "Poll duration",
"compose_form.poll.option_placeholder": "Choice {number}",
"compose_form.poll.remove_option": "Remove this choice",
"compose_form.publish": "Pouet",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.marked": "Média marqué comme sensible",
@ -85,14 +83,15 @@
"compose_form.spoiler.unmarked": "Le texte nest pas caché",
"compose_form.spoiler_placeholder": "Écrivez ici votre avertissement",
"confirmation_modal.cancel": "Annuler",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Bloquer",
"confirmations.block.message": "Confirmez-vous le blocage de {name}?",
"confirmations.delete.confirm": "Supprimer",
"confirmations.delete.message": "Confirmez-vous la suppression de ce pouet?",
"confirmations.delete_list.confirm": "Supprimer",
"confirmations.delete_list.message": "Êtes-vous sûr·e de vouloir définitivement supprimer cette liste?",
"confirmations.delete_list.message": "Êtes-vous sûr·e de vouloir supprimer définitivement cette liste?",
"confirmations.domain_block.confirm": "Masquer le domaine entier",
"confirmations.domain_block.message": "Êtes-vous vraiment, vraiment sûr⋅e de vouloir bloquer {domain} en entier? Dans la plupart des cas, quelques blocages ou masquages ciblés sont suffisants et préférables. Vous ne verrez plus de contenu provenant de ce domaine, ni dans vos fils publics, ni dans vos notifications. Vos abonné·e·s utilisant ce domaine seront retiré·e·s.",
"confirmations.domain_block.message": "Êtes-vous vraiment, vraiment sûr⋅e de vouloir bloquer {domain} en entier? Dans la plupart des cas, quelques blocages ou masquages ciblés sont suffisants et préférables. Vous ne verrez plus de contenu provenant de ce domaine, ni dans fils publics, ni dans vos notifications. Vos abonné·e·s utilisant ce domaine seront retiré·e·s.",
"confirmations.mute.confirm": "Masquer",
"confirmations.mute.message": "Confirmez-vous le masquage de {name}?",
"confirmations.redraft.confirm": "Effacer et ré-écrire",
@ -103,15 +102,15 @@
"confirmations.unfollow.message": "Voulez-vous arrêter de suivre {name}?",
"embed.instructions": "Intégrez ce statut à votre site en copiant le code ci-dessous.",
"embed.preview": "Il apparaîtra comme cela:",
"emoji_button.activity": "Activité",
"emoji_button.custom": "Personnalisé",
"emoji_button.activity": "Activités",
"emoji_button.custom": "Personnalisés",
"emoji_button.flags": "Drapeaux",
"emoji_button.food": "Nourriture & Boisson",
"emoji_button.label": "Insérer un émoji",
"emoji_button.nature": "Nature",
"emoji_button.not_found": "Pas démoji!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Objets",
"emoji_button.people": "Personnes",
"emoji_button.people": "Personnages",
"emoji_button.recent": "Fréquemment utilisés",
"emoji_button.search": "Recherche…",
"emoji_button.search_results": "Résultats de la recherche",
@ -122,7 +121,7 @@
"empty_column.community": "Le fil public local est vide. Écrivez donc quelque chose pour le remplir!",
"empty_column.direct": "Vous navez pas encore de messages directs. Lorsque vous en enverrez ou recevrez un, il saffichera ici.",
"empty_column.domain_blocks": "Il ny a aucun domaine caché pour le moment.",
"empty_column.favourited_statuses": "Vous navez aucun pouet favori pour le moment. Lorsque vous en mettrez un en favori, il apparaîtra ici.",
"empty_column.favourited_statuses": "Vous navez aucun pouet favoris pour le moment. Lorsque vous en mettrez un en favori, il apparaîtra ici.",
"empty_column.favourites": "Personne na encore mis ce pouet en favori. Lorsque quelquun le fera, il apparaîtra ici.",
"empty_column.follow_requests": "Vous navez pas encore de demande de suivi. Lorsque vous en recevrez une, elle apparaîtra ici.",
"empty_column.hashtag": "Il ny a encore aucun contenu associé à ce hashtag.",
@ -155,8 +154,8 @@
"home.column_settings.basic": "Basique",
"home.column_settings.show_reblogs": "Afficher les partages",
"home.column_settings.show_replies": "Afficher les réponses",
"intervals.full.days": "{number, plural, one {# jour} other {# jours}}",
"intervals.full.hours": "{number, plural, one {# heure} other {# heures}}",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
"introduction.federation.action": "Suivant",
"introduction.federation.federated.headline": "Fil public global",
@ -174,7 +173,7 @@
"introduction.interactions.reply.text": "Vous pouvez répondre aux pouets d'autres personnes et à vos propres pouets, ce qui les enchaînera dans une conversation.",
"introduction.welcome.action": "Allons-y !",
"introduction.welcome.headline": "Premiers pas",
"introduction.welcome.text": "Bienvenue dans le fediverse ! Dans quelques instants, vous pourrez diffuser des messages et parler à vos amis sur une grande variété d'instances. Mais cette instance, {domain}, est spécial - elle héberge votre profil, alors souvenez-vous de son nom.",
"introduction.welcome.text": "Bienvenue dans le fediverse ! Dans quelques instants, vous pourrez diffuser des messages et parler à vos amis sur une grande variété de serveurs. Mais ce serveur, {domain}, est spécial - il héberge votre profil, alors souvenez-vous de son nom.",
"keyboard_shortcuts.back": "pour revenir en arrière",
"keyboard_shortcuts.blocked": "pour ouvrir une liste dutilisateur·rice·s bloqué·e·s",
"keyboard_shortcuts.boost": "pour partager",
@ -247,7 +246,7 @@
"notification.favourite": "{name} a ajouté à ses favoris:",
"notification.follow": "{name} vous suit",
"notification.mention": "{name} vous a mentionné:",
"notification.poll": "Un sondage auquel vous avez participé s'est terminé",
"notification.poll": "A poll you have voted in has ended",
"notification.reblog": "{name} a partagé votre statut:",
"notifications.clear": "Nettoyer les notifications",
"notifications.clear_confirmation": "Voulez-vous vraiment supprimer toutes vos notifications?",
@ -258,7 +257,7 @@
"notifications.column_settings.filter_bar.show": "Afficher",
"notifications.column_settings.follow": "Nouveaux⋅elles abonné⋅e·s:",
"notifications.column_settings.mention": "Mentions:",
"notifications.column_settings.poll": "Résultats du sondage :",
"notifications.column_settings.poll": "Poll results:",
"notifications.column_settings.push": "Notifications",
"notifications.column_settings.reblog": "Partages:",
"notifications.column_settings.show": "Afficher dans la colonne",
@ -268,14 +267,14 @@
"notifications.filter.favourites": "Favoris",
"notifications.filter.follows": "Abonné·e·s",
"notifications.filter.mentions": "Mentions",
"notifications.filter.polls": "Résultats du sondage",
"notifications.filter.polls": "Poll results",
"notifications.group": "{count} notifications",
"poll.closed": "Fermé",
"poll.refresh": "Actualiser",
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
"poll.vote": "Voter",
"poll_button.add_poll": "Créer un sondage",
"poll_button.remove_poll": "Retirer le sondage",
"poll_button.add_poll": "Add a poll",
"poll_button.remove_poll": "Remove poll",
"privacy.change": "Ajuster la confidentialité du message",
"privacy.direct.long": "Nenvoyer quaux personnes mentionnées",
"privacy.direct.short": "Direct",
@ -367,7 +366,7 @@
"upload_area.title": "Glissez et déposez pour envoyer",
"upload_button.label": "Joindre un média (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Taille maximale d'envoi de fichier dépassée.",
"upload_error.poll": "L'envoi de fichiers n'est pas autorisé avec les sondages.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Décrire pour les malvoyant·e·s",
"upload_form.focus": "Modifier laperçu",
"upload_form.undo": "Supprimer",

@ -5,7 +5,6 @@
"account.block_domain": "Ocultar calquer contido de {domain}",
"account.blocked": "Bloqueada",
"account.direct": "Mensaxe directa @{name}",
"account.disclaimer_full": "A información inferior podería mostrar un perfil incompleto da usuaria.",
"account.domain_blocked": "Dominio agochado",
"account.edit_profile": "Editar perfil",
"account.endorse": "Mostrado no perfil",
@ -36,7 +35,6 @@
"account.unfollow": "Non seguir",
"account.unmute": "Non acalar @{name}",
"account.unmute_notifications": "Desbloquear as notificacións de @{name}",
"account.view_full_profile": "Ver o perfil completo",
"alert.unexpected.message": "Aconteceu un fallo non agardado.",
"alert.unexpected.title": "Vaia!",
"boost_modal.combo": "Pulse {combo} para saltar esto a próxima vez",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "O texto non está agochado",
"compose_form.spoiler_placeholder": "Escriba o aviso aquí",
"confirmation_modal.cancel": "Cancelar",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Bloquear",
"confirmations.block.message": "Está segura de querer bloquear a {name}?",
"confirmations.delete.confirm": "Borrar",

@ -5,7 +5,6 @@
"account.block_domain": "להסתיר הכל מהקהילה {domain}",
"account.blocked": "Blocked",
"account.direct": "Direct Message @{name}",
"account.disclaimer_full": "המידע להלן עשוי להיות לא עדכני או לא שלם.",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "עריכת פרופיל",
"account.endorse": "Feature on profile",
@ -36,7 +35,6 @@
"account.unfollow": "הפסקת מעקב",
"account.unmute": "הפסקת השתקת @{name}",
"account.unmute_notifications": "להפסיק הסתרת הודעות מעם @{name}",
"account.view_full_profile": "הצגת פרופיל מלא",
"alert.unexpected.message": "אירעה שגיאה בלתי צפויה.",
"alert.unexpected.title": "אופס!",
"boost_modal.combo": "ניתן להקיש {combo} כדי לדלג בפעם הבאה",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Text is not hidden",
"compose_form.spoiler_placeholder": "אזהרת תוכן",
"confirmation_modal.cancel": "ביטול",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "לחסום",
"confirmations.block.message": "לחסום את {name}?",
"confirmations.delete.confirm": "למחוק",

@ -5,7 +5,6 @@
"account.block_domain": "Sakrij sve sa {domain}",
"account.blocked": "Blocked",
"account.direct": "Direct Message @{name}",
"account.disclaimer_full": "Ovaj korisnik je sa druge instance. Ovaj broj bi mogao biti veći.",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Uredi profil",
"account.endorse": "Feature on profile",
@ -36,7 +35,6 @@
"account.unfollow": "Prestani slijediti",
"account.unmute": "Poništi utišavanje @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile",
"alert.unexpected.message": "An unexpected error occurred.",
"alert.unexpected.title": "Oops!",
"boost_modal.combo": "Možeš pritisnuti {combo} kako bi ovo preskočio sljedeći put",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Text is not hidden",
"compose_form.spoiler_placeholder": "Upozorenje o sadržaju",
"confirmation_modal.cancel": "Otkaži",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Blokiraj",
"confirmations.block.message": "Želiš li sigurno blokirati {name}?",
"confirmations.delete.confirm": "Obriši",

@ -5,7 +5,6 @@
"account.block_domain": "Minden elrejtése innen: {domain}",
"account.blocked": "Blocked",
"account.direct": "Direct Message @{name}",
"account.disclaimer_full": "Az alul található információk hiányosan mutathatják be a felhasználót.",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Profil szerkesztése",
"account.endorse": "Feature on profile",
@ -36,7 +35,6 @@
"account.unfollow": "Követés abbahagyása",
"account.unmute": "@{name} kinémítása",
"account.unmute_notifications": "@{name} értesítéseinek kinémítása",
"account.view_full_profile": "Teljes profil megtekintése",
"alert.unexpected.message": "An unexpected error occurred.",
"alert.unexpected.title": "Oops!",
"boost_modal.combo": "Megnyomhatod {combo}, hogy átugord következő alkalommal",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Text is not hidden",
"compose_form.spoiler_placeholder": "Figyelmeztetését írja ide",
"confirmation_modal.cancel": "Bezár",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Letilt",
"confirmations.block.message": "Biztos benne, hogy le szeretné tiltani {name}?",
"confirmations.delete.confirm": "Töröl",

@ -5,7 +5,6 @@
"account.block_domain": "Թաքցնել ամենը հետեւյալ տիրույթից՝ {domain}",
"account.blocked": "Blocked",
"account.direct": "Direct Message @{name}",
"account.disclaimer_full": "Ներքոհիշյալը կարող է ոչ ամբողջությամբ արտացոլել օգտատիրոջ էջի տվյալները։",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Խմբագրել անձնական էջը",
"account.endorse": "Feature on profile",
@ -36,7 +35,6 @@
"account.unfollow": "Չհետեւել",
"account.unmute": "Ապալռեցնել @{name}֊ին",
"account.unmute_notifications": "Միացնել ծանուցումները @{name}֊ից",
"account.view_full_profile": "Դիտել ամբողջական տարբերակը։",
"alert.unexpected.message": "An unexpected error occurred.",
"alert.unexpected.title": "Oops!",
"boost_modal.combo": "Կարող ես սեղմել {combo}՝ սա հաջորդ անգամ բաց թողնելու համար",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Text is not hidden",
"compose_form.spoiler_placeholder": "Գրիր նախազգուշացումդ այստեղ",
"confirmation_modal.cancel": "Չեղարկել",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Արգելափակել",
"confirmations.block.message": "Վստա՞հ ես, որ ուզում ես արգելափակել {name}֊ին։",
"confirmations.delete.confirm": "Ջնջել",

@ -5,7 +5,6 @@
"account.block_domain": "Sembunyikan segalanya dari {domain}",
"account.blocked": "Terblokir",
"account.direct": "Direct Message @{name}",
"account.disclaimer_full": "Informasi di bawah mungkin tidak mencerminkan profil user secara lengkap.",
"account.domain_blocked": "Domain disembunyikan",
"account.edit_profile": "Ubah profil",
"account.endorse": "Feature on profile",
@ -36,7 +35,6 @@
"account.unfollow": "Berhenti mengikuti",
"account.unmute": "Berhenti membisukan @{name}",
"account.unmute_notifications": "Munculkan notifikasi dari @{name}",
"account.view_full_profile": "Lihat profil lengkap",
"alert.unexpected.message": "An unexpected error occurred.",
"alert.unexpected.title": "Oops!",
"boost_modal.combo": "Anda dapat menekan {combo} untuk melewati ini",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Teks tidak tersembunyi",
"compose_form.spoiler_placeholder": "Peringatan konten",
"confirmation_modal.cancel": "Batal",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Blokir",
"confirmations.block.message": "Apa anda yakin ingin memblokir {name}?",
"confirmations.delete.confirm": "Hapus",

@ -5,7 +5,6 @@
"account.block_domain": "Hide everything from {domain}",
"account.blocked": "Blocked",
"account.direct": "Direct Message @{name}",
"account.disclaimer_full": "Information below may reflect the user's profile incompletely.",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Modifikar profilo",
"account.endorse": "Feature on profile",
@ -36,7 +35,6 @@
"account.unfollow": "Ne plus sequar",
"account.unmute": "Ne plus celar @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile",
"alert.unexpected.message": "An unexpected error occurred.",
"alert.unexpected.title": "Oops!",
"boost_modal.combo": "Tu povas presar sur {combo} por omisar co en la venonta foyo",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Text is not hidden",
"compose_form.spoiler_placeholder": "Averto di kontenajo",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",

@ -5,7 +5,6 @@
"account.block_domain": "Nascondi tutto da {domain}",
"account.blocked": "Bloccato",
"account.direct": "Invia messaggio diretto a @{name}",
"account.disclaimer_full": "Il profilo dell'utente mostrato qui sotto potrebbe essere incompleto.",
"account.domain_blocked": "Dominio nascosto",
"account.edit_profile": "Modifica profilo",
"account.endorse": "Metti in evidenza sul profilo",
@ -36,7 +35,6 @@
"account.unfollow": "Non seguire",
"account.unmute": "Non silenziare @{name}",
"account.unmute_notifications": "Non silenziare più le notifiche da @{name}",
"account.view_full_profile": "Vedi profilo completo",
"alert.unexpected.message": "Si è verificato un errore inatteso.",
"alert.unexpected.title": "Oops!",
"boost_modal.combo": "Puoi premere {combo} per saltare questo passaggio la prossima volta",
@ -73,10 +71,10 @@
"compose_form.lock_disclaimer": "Il tuo account non è {bloccato}. Chiunque può decidere di seguirti per vedere i tuoi post per soli seguaci.",
"compose_form.lock_disclaimer.lock": "bloccato",
"compose_form.placeholder": "A cosa stai pensando?",
"compose_form.poll.add_option": "Aggiungi un'opzione",
"compose_form.poll.duration": "Durata del sondaggio",
"compose_form.poll.option_placeholder": "Opzione {number}",
"compose_form.poll.remove_option": "Elimina questa opzione",
"compose_form.poll.add_option": "Add a choice",
"compose_form.poll.duration": "Poll duration",
"compose_form.poll.option_placeholder": "Choice {number}",
"compose_form.poll.remove_option": "Remove this choice",
"compose_form.publish": "Toot",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.marked": "Questo media è contrassegnato come sensibile",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Il testo non è nascosto",
"compose_form.spoiler_placeholder": "Content warning",
"confirmation_modal.cancel": "Annulla",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Blocca",
"confirmations.block.message": "Sei sicuro di voler bloccare {name}?",
"confirmations.delete.confirm": "Cancella",
@ -151,13 +150,13 @@
"hashtag.column_settings.tag_mode.all": "Tutti questi",
"hashtag.column_settings.tag_mode.any": "Uno o più di questi",
"hashtag.column_settings.tag_mode.none": "Nessuno di questi",
"hashtag.column_settings.tag_toggle": "Includi tag aggiuntivi in questa colonna",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"home.column_settings.basic": "Semplice",
"home.column_settings.show_reblogs": "Mostra post condivisi",
"home.column_settings.show_replies": "Mostra risposte",
"intervals.full.days": "{number, plural, one {# giorno} other {# giorni}}",
"intervals.full.hours": "{number, plural, one {# ora} other {# ore}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minuti}}",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
"introduction.federation.action": "Avanti",
"introduction.federation.federated.headline": "Federated",
"introduction.federation.federated.text": "I post pubblici provenienti da altri server del fediverse saranno mostrati nella timeline federata.",
@ -247,7 +246,7 @@
"notification.favourite": "{name} ha apprezzato il tuo post",
"notification.follow": "{name} ha iniziato a seguirti",
"notification.mention": "{name} ti ha menzionato",
"notification.poll": "Un sondaggio in cui hai votato è terminato",
"notification.poll": "A poll you have voted in has ended",
"notification.reblog": "{name} ha condiviso il tuo post",
"notifications.clear": "Cancella notifiche",
"notifications.clear_confirmation": "Vuoi davvero cancellare tutte le notifiche?",
@ -258,7 +257,7 @@
"notifications.column_settings.filter_bar.show": "Mostra",
"notifications.column_settings.follow": "Nuovi seguaci:",
"notifications.column_settings.mention": "Menzioni:",
"notifications.column_settings.poll": "Risultati di sondaggi:",
"notifications.column_settings.poll": "Poll results:",
"notifications.column_settings.push": "Notifiche push",
"notifications.column_settings.reblog": "Post condivisi:",
"notifications.column_settings.show": "Mostra in colonna",
@ -268,14 +267,14 @@
"notifications.filter.favourites": "Apprezzati",
"notifications.filter.follows": "Seguaci",
"notifications.filter.mentions": "Menzioni",
"notifications.filter.polls": "Risultati di sondaggi",
"notifications.filter.polls": "Poll results",
"notifications.group": "{count} notifiche",
"poll.closed": "Chiuso",
"poll.refresh": "Aggiorna",
"poll.total_votes": "{count, plural, one {# voto} other {# voti}}",
"poll.vote": "Vota",
"poll_button.add_poll": "Crea un sondaggio",
"poll_button.remove_poll": "Elimina sondaggio",
"poll_button.add_poll": "Add a poll",
"poll_button.remove_poll": "Remove poll",
"privacy.change": "Modifica privacy del post",
"privacy.direct.long": "Invia solo a utenti menzionati",
"privacy.direct.short": "Diretto",
@ -367,7 +366,7 @@
"upload_area.title": "Trascina per caricare",
"upload_button.label": "Aggiungi file multimediale",
"upload_error.limit": "Limite al caricamento di file superato.",
"upload_error.poll": "Nei sondaggi non è permesso il caricamento di file.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Descrizione per utenti con disabilità visive",
"upload_form.focus": "Modifica anteprima",
"upload_form.undo": "Cancella",

@ -5,7 +5,6 @@
"account.block_domain": "{domain}全体を非表示",
"account.blocked": "ブロック済み",
"account.direct": "@{name}さんにダイレクトメッセージ",
"account.disclaimer_full": "以下の情報は不正確な可能性があります。",
"account.domain_blocked": "ドメイン非表示中",
"account.edit_profile": "プロフィールを編集",
"account.endorse": "プロフィールで紹介する",
@ -36,7 +35,6 @@
"account.unfollow": "フォロー解除",
"account.unmute": "@{name}さんのミュートを解除",
"account.unmute_notifications": "@{name}さんからの通知を受け取るようにする",
"account.view_full_profile": "全ての情報を見る",
"alert.unexpected.message": "不明なエラーが発生しました。",
"alert.unexpected.title": "エラー!",
"boost_modal.combo": "次からは{combo}を押せばスキップできます",
@ -89,6 +87,7 @@
"compose_form.spoiler.unmarked": "閲覧注意が設定されていません",
"compose_form.spoiler_placeholder": "ここに警告を書いてください",
"confirmation_modal.cancel": "キャンセル",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "ブロック",
"confirmations.block.message": "本当に{name}さんをブロックしますか?",
"confirmations.delete.confirm": "削除",

@ -5,7 +5,6 @@
"account.block_domain": "დაიმალოს ყველაფერი დომენიდან {domain}",
"account.blocked": "დაიბლოკა",
"account.direct": "პირდაპირი წერილი @{name}-ს",
"account.disclaimer_full": "ქვემოთ მოცემულმა ინფორმაციამ შეიძლება სრულად არ ასახოს მომხმარებლის პროფილი.",
"account.domain_blocked": "დომენი დამალულია",
"account.edit_profile": "პროფილის ცვლილება",
"account.endorse": "გამორჩევა პროფილზე",
@ -36,7 +35,6 @@
"account.unfollow": "ნუღარ მიჰყვები",
"account.unmute": "ნუღარ აჩუმებ @{name}-ს",
"account.unmute_notifications": "ნუღარ აჩუმებ შეტყობინებებს @{name}-სგან",
"account.view_full_profile": "სრული პროფილის ჩვენება",
"alert.unexpected.message": "წარმოიშვა მოულოდნელი შეცდომა.",
"alert.unexpected.title": "უპს!",
"boost_modal.combo": "შეგიძლიათ დააჭიროთ {combo}-ს რათა შემდეგ ჯერზე გამოტოვოთ ეს",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "ტექსტი არაა დამალული",
"compose_form.spoiler_placeholder": "თქვენი გაფრთხილება დაწერეთ აქ",
"confirmation_modal.cancel": "უარყოფა",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "ბლოკი",
"confirmations.block.message": "დარწმუნებული ხართ, გსურთ დაბლოკოთ {name}?",
"confirmations.delete.confirm": "გაუქმება",

@ -5,7 +5,6 @@
"account.block_domain": "Домендегі барлығын бұғатта {domain}",
"account.blocked": "Бұғатталды",
"account.direct": "Жеке хат @{name}",
"account.disclaimer_full": "Қолданушы туралы барлық мәліметті көрсетпеуі мүмкін.",
"account.domain_blocked": "Домен жабық",
"account.edit_profile": "Профильді өңдеу",
"account.endorse": "Профильде рекомендеу",
@ -36,7 +35,6 @@
"account.unfollow": "Оқымау",
"account.unmute": "@{name} ескертпелерін қосу",
"account.unmute_notifications": "@{name} ескертпелерін көрсету",
"account.view_full_profile": "Толқы профилін көрсету",
"alert.unexpected.message": "Бір нәрсе дұрыс болмады.",
"alert.unexpected.title": "Өй!",
"boost_modal.combo": "Келесіде өткізіп жіберу үшін басыңыз {combo}",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Мәтін жасырылмаған",
"compose_form.spoiler_placeholder": "Ескертуіңізді осында жазыңыз",
"confirmation_modal.cancel": "Қайтып алу",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Бұғаттау",
"confirmations.block.message": "{name} атты қолданушыны бұғаттайтыныңызға сенімдісіз бе?",
"confirmations.delete.confirm": "Өшіру",

@ -5,7 +5,6 @@
"account.block_domain": "{domain} 전체를 숨김",
"account.blocked": "차단 됨",
"account.direct": "@{name}으로부터의 다이렉트 메시지",
"account.disclaimer_full": "여기 있는 정보는 유저의 프로파일을 정확히 반영하지 못 할 수도 있습니다.",
"account.domain_blocked": "도메인 숨겨짐",
"account.edit_profile": "프로필 편집",
"account.endorse": "프로필에 나타내기",
@ -36,7 +35,6 @@
"account.unfollow": "팔로우 해제",
"account.unmute": "뮤트 해제",
"account.unmute_notifications": "@{name}의 알림 뮤트 해제",
"account.view_full_profile": "전체 프로필 보기",
"alert.unexpected.message": "예측하지 못한 에러가 발생했습니다.",
"alert.unexpected.title": "앗!",
"boost_modal.combo": "{combo}를 누르면 다음부터 이 과정을 건너뛸 수 있습니다",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "열람주의가 설정 되어 있지 않습니다",
"compose_form.spoiler_placeholder": "경고",
"confirmation_modal.cancel": "취소",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "차단",
"confirmations.block.message": "정말로 {name}를 차단하시겠습니까?",
"confirmations.delete.confirm": "삭제",

@ -5,7 +5,6 @@
"account.block_domain": "Slēpt visu no {domain}",
"account.blocked": "Bloķēts",
"account.direct": "Privātā ziņa @{name}",
"account.disclaimer_full": "Informācija zemāk var nepilnīgi atspoguļot lietotāja profilu.",
"account.domain_blocked": "Domēns ir paslēpts",
"account.edit_profile": "Labot profilu",
"account.endorse": "Izcelts profilā",
@ -36,7 +35,6 @@
"account.unfollow": "Nesekot",
"account.unmute": "Noņemt apklusinājumu no lietotāja @{name}",
"account.unmute_notifications": "Rādīt paziņojumus no lietotāja @{name}",
"account.view_full_profile": "Apskatīt pilnu profilu",
"alert.unexpected.message": "Negaidīta kļūda.",
"alert.unexpected.title": "Ups!",
"boost_modal.combo": "Nospied {combo} lai izlaistu šo nākamreiz",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Teksts nav paslēpts",
"compose_form.spoiler_placeholder": "Ieraksti Savu brīdinājuma tekstu šeit",
"confirmation_modal.cancel": "Atcelt",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Bloķēt",
"confirmations.block.message": "Vai tiešām vēlies bloķēt lietotāju {name}?",
"confirmations.delete.confirm": "Dzēst",

@ -5,7 +5,6 @@
"account.block_domain": "Hide everything from {domain}",
"account.blocked": "Blocked",
"account.direct": "Direct message @{name}",
"account.disclaimer_full": "Information below may reflect the user's profile incompletely.",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Edit profile",
"account.endorse": "Feature on profile",
@ -36,7 +35,6 @@
"account.unfollow": "Unfollow",
"account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile",
"alert.unexpected.message": "An unexpected error occurred.",
"alert.unexpected.title": "Oops!",
"boost_modal.combo": "You can press {combo} to skip this next time",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Text is not hidden",
"compose_form.spoiler_placeholder": "Write your warning here",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",

@ -5,7 +5,6 @@
"account.block_domain": "Verberg alles van {domain}",
"account.blocked": "Geblokkeerd",
"account.direct": "Direct Message @{name}",
"account.disclaimer_full": "De informatie hieronder kan een incompleet beeld geven van dit gebruikersprofiel.",
"account.domain_blocked": "Domein verborgen",
"account.edit_profile": "Profiel bewerken",
"account.endorse": "Op profiel weergeven",
@ -36,7 +35,6 @@
"account.unfollow": "Ontvolgen",
"account.unmute": "@{name} niet langer negeren",
"account.unmute_notifications": "@{name} meldingen niet langer negeren",
"account.view_full_profile": "Volledig profiel tonen",
"alert.unexpected.message": "Er deed zich een onverwachte fout voor",
"alert.unexpected.title": "Oeps!",
"boost_modal.combo": "Je kunt {combo} klikken om dit de volgende keer over te slaan",
@ -73,10 +71,10 @@
"compose_form.lock_disclaimer": "Jouw account is niet {locked}. Iedereen kan jou volgen en kan de toots zien die je alleen aan jouw volgers hebt gericht.",
"compose_form.lock_disclaimer.lock": "besloten",
"compose_form.placeholder": "Wat wil je kwijt?",
"compose_form.poll.add_option": "Keuze toevoegen",
"compose_form.poll.duration": "Duur van de poll",
"compose_form.poll.option_placeholder": "Keuze {number}",
"compose_form.poll.remove_option": "Deze keuze verwijderen",
"compose_form.poll.add_option": "Add a choice",
"compose_form.poll.duration": "Poll duration",
"compose_form.poll.option_placeholder": "Choice {number}",
"compose_form.poll.remove_option": "Remove this choice",
"compose_form.publish": "Toot",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.marked": "Media is als gevoelig gemarkeerd",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Tekst is niet verborgen",
"compose_form.spoiler_placeholder": "Waarschuwingstekst",
"confirmation_modal.cancel": "Annuleren",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Blokkeren",
"confirmations.block.message": "Weet je het zeker dat je {name} wilt blokkeren?",
"confirmations.delete.confirm": "Verwijderen",
@ -155,9 +154,9 @@
"home.column_settings.basic": "Algemeen",
"home.column_settings.show_reblogs": "Boosts tonen",
"home.column_settings.show_replies": "Reacties tonen",
"intervals.full.days": "{number, plural, one {# dag} other {# dagen}}",
"intervals.full.hours": "{number, plural, one {# uur} other {# uur}}",
"intervals.full.minutes": "{number, plural, one {# minuut} other {# minuten}}",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
"introduction.federation.action": "Volgende",
"introduction.federation.federated.headline": "Globaal",
"introduction.federation.federated.text": "Openbare toots van mensen op andere servers in de fediverse verschijnen op de globale tijdlijn.",
@ -247,7 +246,7 @@
"notification.favourite": "{name} voegde jouw toot als favoriet toe",
"notification.follow": "{name} volgt jou nu",
"notification.mention": "{name} vermeldde jou",
"notification.poll": "Een poll waarin jij hebt gestemd is beëindigd",
"notification.poll": "A poll you have voted in has ended",
"notification.reblog": "{name} boostte jouw toot",
"notifications.clear": "Meldingen verwijderen",
"notifications.clear_confirmation": "Weet je het zeker dat je al jouw meldingen wilt verwijderen?",
@ -258,7 +257,7 @@
"notifications.column_settings.filter_bar.show": "Tonen",
"notifications.column_settings.follow": "Nieuwe volgers:",
"notifications.column_settings.mention": "Vermeldingen:",
"notifications.column_settings.poll": "Pollresultaten:",
"notifications.column_settings.poll": "Poll results:",
"notifications.column_settings.push": "Pushmeldingen",
"notifications.column_settings.reblog": "Boosts:",
"notifications.column_settings.show": "In kolom tonen",
@ -268,14 +267,14 @@
"notifications.filter.favourites": "Favorieten",
"notifications.filter.follows": "Die jij volgt",
"notifications.filter.mentions": "Vermeldingen",
"notifications.filter.polls": "Pollresultaten",
"notifications.filter.polls": "Poll results",
"notifications.group": "{count} meldingen",
"poll.closed": "Gesloten",
"poll.refresh": "Vernieuwen",
"poll.total_votes": "{count, plural, one {# stem} other {# stemmen}}",
"poll.vote": "Stemmen",
"poll_button.add_poll": "Poll toevoegen",
"poll_button.remove_poll": "Poll verwijderen",
"poll_button.add_poll": "Add a poll",
"poll_button.remove_poll": "Remove poll",
"privacy.change": "Zichtbaarheid toot aanpassen",
"privacy.direct.long": "Alleen aan vermelde gebruikers tonen",
"privacy.direct.short": "Direct",
@ -367,7 +366,7 @@
"upload_area.title": "Hierin slepen om te uploaden",
"upload_button.label": "Media toevoegen (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Uploadlimiet van bestand overschreden.",
"upload_error.poll": "Bestanden uploaden is met polls niet toegestaan.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Omschrijf dit voor mensen met een visuele beperking",
"upload_form.focus": "Voorvertoning aanpassen",
"upload_form.undo": "Verwijderen",

@ -5,7 +5,6 @@
"account.block_domain": "Skjul alt fra {domain}",
"account.blocked": "Blocked",
"account.direct": "Direct Message @{name}",
"account.disclaimer_full": "Informasjonen nedenfor kan gi et ufullstendig bilde av brukerens profil.",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Rediger profil",
"account.endorse": "Feature on profile",
@ -36,7 +35,6 @@
"account.unfollow": "Avfølg",
"account.unmute": "Avdemp @{name}",
"account.unmute_notifications": "Vis varsler fra @{name}",
"account.view_full_profile": "Vis hele profilen",
"alert.unexpected.message": "An unexpected error occurred.",
"alert.unexpected.title": "Oops!",
"boost_modal.combo": "You kan trykke {combo} for å hoppe over dette neste gang",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Text is not hidden",
"compose_form.spoiler_placeholder": "Innholdsadvarsel",
"confirmation_modal.cancel": "Avbryt",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Blokkèr",
"confirmations.block.message": "Er du sikker på at du vil blokkere {name}?",
"confirmations.delete.confirm": "Slett",

@ -5,7 +5,6 @@
"account.block_domain": "Tot amagar del domeni {domain}",
"account.blocked": "Blocat",
"account.direct": "Escriure un MP a @{name}",
"account.disclaimer_full": "Aquelas informacions de perfil pòdon èsser incomplètas.",
"account.domain_blocked": "Domeni amagat",
"account.edit_profile": "Modificar lo perfil",
"account.endorse": "Mostrar pel perfil",
@ -36,7 +35,6 @@
"account.unfollow": "Quitar de sègre",
"account.unmute": "Quitar de rescondre @{name}",
"account.unmute_notifications": "Mostrar las notificacions de @{name}",
"account.view_full_profile": "Veire lo perfil complèt",
"alert.unexpected.message": "Una error ses producha.",
"alert.unexpected.title": "Ops!",
"boost_modal.combo": "Podètz botar {combo} per passar aquò lo còp que ven",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Lo tèxte es pas rescondut",
"compose_form.spoiler_placeholder": "Escrivètz lavertiment aquí",
"confirmation_modal.cancel": "Anullar",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Blocar",
"confirmations.block.message": "Volètz vertadièrament blocar {name}?",
"confirmations.delete.confirm": "Escafar",

@ -5,7 +5,6 @@
"account.block_domain": "Blokuj wszystko z {domain}",
"account.blocked": "Zablokowany(-a)",
"account.direct": "Wyślij wiadomość bezpośrednią do @{name}",
"account.disclaimer_full": "Poniższe informacje mogą nie odwzorowywać bezbłędnie profilu użytkownika.",
"account.domain_blocked": "Ukryto domenę",
"account.edit_profile": "Edytuj profil",
"account.endorse": "Polecaj na profilu",
@ -36,7 +35,6 @@
"account.unfollow": "Przestań śledzić",
"account.unmute": "Cofnij wyciszenie @{name}",
"account.unmute_notifications": "Cofnij wyciszenie powiadomień od @{name}",
"account.view_full_profile": "Wyświetl pełny profil",
"alert.unexpected.message": "Wystąpił nieoczekiwany błąd.",
"alert.unexpected.title": "O nie!",
"boost_modal.combo": "Naciśnij {combo}, aby pominąć to następnym razem",
@ -89,6 +87,7 @@
"compose_form.spoiler.unmarked": "Tekst nie jest ukryty",
"compose_form.spoiler_placeholder": "Wprowadź swoje ostrzeżenie o zawartości",
"confirmation_modal.cancel": "Anuluj",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Zablokuj",
"confirmations.block.message": "Czy na pewno chcesz zablokować {name}?",
"confirmations.delete.confirm": "Usuń",
@ -155,7 +154,7 @@
"hashtag.column_settings.tag_mode.all": "Wszystkie",
"hashtag.column_settings.tag_mode.any": "Dowolne",
"hashtag.column_settings.tag_mode.none": "Żadne",
"hashtag.column_settings.tag_toggle": "Dołącz dodatkowe znaczniki dla tej kolumny",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"home.column_settings.basic": "Podstawowe",
"home.column_settings.show_reblogs": "Pokazuj podbicia",
"home.column_settings.show_replies": "Pokazuj odpowiedzi",
@ -252,7 +251,7 @@
"notification.favourite": "{name} dodał(a) Twój wpis do ulubionych",
"notification.follow": "{name} zaczął(-ęła) Cię śledzić",
"notification.mention": "{name} wspomniał(a) o tobie",
"notification.poll": "Ankieta, w której głosowałeś zakończyła się",
"notification.poll": "A poll you have voted in has ended",
"notification.reblog": "{name} podbił(a) Twój wpis",
"notifications.clear": "Wyczyść powiadomienia",
"notifications.clear_confirmation": "Czy na pewno chcesz bezpowrotnie usunąć wszystkie powiadomienia?",
@ -263,7 +262,7 @@
"notifications.column_settings.filter_bar.show": "Pokaż",
"notifications.column_settings.follow": "Nowi śledzący:",
"notifications.column_settings.mention": "Wspomnienia:",
"notifications.column_settings.poll": "Wyniki sondaży:",
"notifications.column_settings.poll": "Poll results:",
"notifications.column_settings.push": "Powiadomienia push",
"notifications.column_settings.reblog": "Podbicia:",
"notifications.column_settings.show": "Pokaż w kolumnie",
@ -273,7 +272,7 @@
"notifications.filter.favourites": "Ulubione",
"notifications.filter.follows": "Śledzenia",
"notifications.filter.mentions": "Wspomienia",
"notifications.filter.polls": "Wyniki badania",
"notifications.filter.polls": "Poll results",
"notifications.group": "{count, number} {count, plural, one {powiadomienie} few {powiadomienia} many {powiadomień} more {powiadomień}}",
"poll.closed": "Zamknięte",
"poll.refresh": "Odśwież",

@ -5,7 +5,6 @@
"account.block_domain": "Esconder tudo de {domain}",
"account.blocked": "Bloqueado",
"account.direct": "Direct Message @{name}",
"account.disclaimer_full": "As informações abaixo podem refletir o perfil do usuário de maneira incompleta.",
"account.domain_blocked": "Domínio escondido",
"account.edit_profile": "Editar perfil",
"account.endorse": "Destacar no perfil",
@ -36,7 +35,6 @@
"account.unfollow": "Deixar de seguir",
"account.unmute": "Não silenciar @{name}",
"account.unmute_notifications": "Retirar silêncio das notificações vindas de @{name}",
"account.view_full_profile": "Ver perfil completo",
"alert.unexpected.message": "Um erro inesperado ocorreu.",
"alert.unexpected.title": "Oops!",
"boost_modal.combo": "Você pode pressionar {combo} para ignorar este diálogo na próxima vez",
@ -73,10 +71,10 @@
"compose_form.lock_disclaimer": "A sua conta não está {locked}. Qualquer pessoa pode te seguir e visualizar postagens direcionadas a apenas seguidores.",
"compose_form.lock_disclaimer.lock": "trancada",
"compose_form.placeholder": "No que você está pensando?",
"compose_form.poll.add_option": "Adicionar uma opção",
"compose_form.poll.duration": "Duração da enquete",
"compose_form.poll.option_placeholder": "Opção {number}",
"compose_form.poll.remove_option": "Remover essa opção",
"compose_form.poll.add_option": "Add a choice",
"compose_form.poll.duration": "Poll duration",
"compose_form.poll.option_placeholder": "Choice {number}",
"compose_form.poll.remove_option": "Remove this choice",
"compose_form.publish": "Publicar",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.marked": "Mídia está marcada como sensível",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "O texto não está escondido",
"compose_form.spoiler_placeholder": "Aviso de conteúdo",
"confirmation_modal.cancel": "Cancelar",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Bloquear",
"confirmations.block.message": "Você tem certeza de que quer bloquear {name}?",
"confirmations.delete.confirm": "Excluir",
@ -146,17 +145,17 @@
"hashtag.column_header.tag_mode.all": "e {additional}",
"hashtag.column_header.tag_mode.any": "ou {additional}",
"hashtag.column_header.tag_mode.none": "sem {additional}",
"hashtag.column_settings.select.no_options_message": "Nenhuma sugestão encontrada",
"hashtag.column_settings.select.placeholder": "Adicione as hashtags…",
"hashtag.column_settings.select.no_options_message": "No suggestions found",
"hashtag.column_settings.select.placeholder": "Enter hashtags…",
"hashtag.column_settings.tag_mode.all": "Todas essas",
"hashtag.column_settings.tag_mode.any": "Qualquer uma dessas",
"hashtag.column_settings.tag_mode.none": "Nenhuma dessas",
"hashtag.column_settings.tag_toggle": "Incluir outras hashtags nessa coluna",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Mostrar compartilhamentos",
"home.column_settings.show_replies": "Mostrar as respostas",
"intervals.full.days": "{number, plural, one {# dia} other {# dias}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
"introduction.federation.action": "Próximo",
"introduction.federation.federated.headline": "Federated",
@ -213,7 +212,7 @@
"lists.account.remove": "Remover da lista",
"lists.delete": "Delete list",
"lists.edit": "Editar lista",
"lists.edit.submit": "Mudar o título",
"lists.edit.submit": "Change title",
"lists.new.create": "Adicionar lista",
"lists.new.title_placeholder": "Novo título da lista",
"lists.search": "Procurar entre as pessoas que você segue",
@ -247,7 +246,7 @@
"notification.favourite": "{name} adicionou a sua postagem aos favoritos",
"notification.follow": "{name} te seguiu",
"notification.mention": "{name} te mencionou",
"notification.poll": "Uma enquete em que você votou chegou ao fim",
"notification.poll": "A poll you have voted in has ended",
"notification.reblog": "{name} compartilhou a sua postagem",
"notifications.clear": "Limpar notificações",
"notifications.clear_confirmation": "Você tem certeza de que quer limpar todas as suas notificações permanentemente?",
@ -258,7 +257,7 @@
"notifications.column_settings.filter_bar.show": "Mostrar",
"notifications.column_settings.follow": "Novos seguidores:",
"notifications.column_settings.mention": "Menções:",
"notifications.column_settings.poll": "Resultados da enquete:",
"notifications.column_settings.poll": "Poll results:",
"notifications.column_settings.push": "Enviar notificações",
"notifications.column_settings.reblog": "Compartilhamento:",
"notifications.column_settings.show": "Mostrar nas colunas",
@ -268,14 +267,14 @@
"notifications.filter.favourites": "Favoritos",
"notifications.filter.follows": "Seguidores",
"notifications.filter.mentions": "Menções",
"notifications.filter.polls": "Resultados da enquete",
"notifications.filter.polls": "Poll results",
"notifications.group": "{count} notificações",
"poll.closed": "Fechada",
"poll.refresh": "Atualizar",
"poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
"poll.closed": "Closed",
"poll.refresh": "Refresh",
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
"poll.vote": "Votar",
"poll_button.add_poll": "Adicionar uma enquete",
"poll_button.remove_poll": "Remover enquete",
"poll_button.add_poll": "Add a poll",
"poll_button.remove_poll": "Remove poll",
"privacy.change": "Ajustar a privacidade da mensagem",
"privacy.direct.long": "Apenas para usuários mencionados",
"privacy.direct.short": "Direta",
@ -315,7 +314,7 @@
"status.block": "Block @{name}",
"status.cancel_reblog_private": "Desfazer compartilhamento",
"status.cannot_reblog": "Esta postagem não pode ser compartilhada",
"status.copy": "Copiar o link para o status",
"status.copy": "Copy link to status",
"status.delete": "Excluir",
"status.detailed_status": "Visão detalhada da conversa",
"status.direct": "Enviar mensagem direta a @{name}",
@ -357,17 +356,17 @@
"tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Notificações",
"tabs_bar.search": "Buscar",
"time_remaining.days": "{number, plural, one {# day} other {# days}} restantes",
"time_remaining.hours": "{number, plural, one {# hour} other {# hours}} restantes",
"time_remaining.minutes": "{number, plural, one {# minuto} other {# minutos}}restantes",
"time_remaining.moments": "Momentos restantes",
"time_remaining.seconds": "{number, plural, one {# segundo} other {# segundos}} restantes",
"time_remaining.days": "{number, plural, one {# day} other {# days}} left",
"time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left",
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {pessoa} other {pessoas}} falando sobre",
"ui.beforeunload": "Seu rascunho será perdido se você sair do Mastodon.",
"upload_area.title": "Arraste e solte para enviar",
"upload_button.label": "Adicionar mídia (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Limite de envio de arquivos excedido.",
"upload_error.poll": "Envio de arquivos não é permitido com enquetes.",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Descreva a imagem para deficientes visuais",
"upload_form.focus": "Ajustar foco",
"upload_form.undo": "Remover",

@ -5,7 +5,6 @@
"account.block_domain": "Esconder tudo do domínio {domain}",
"account.blocked": "Bloqueado",
"account.direct": "Mensagem directa @{name}",
"account.disclaimer_full": "As informações abaixo podem reflectir o perfil do utilizador de forma incompleta.",
"account.domain_blocked": "Domínio escondido",
"account.edit_profile": "Editar perfil",
"account.endorse": "Atributo no perfil",
@ -36,7 +35,6 @@
"account.unfollow": "Deixar de seguir",
"account.unmute": "Não silenciar @{name}",
"account.unmute_notifications": "Deixar de silenciar @{name}",
"account.view_full_profile": "Ver perfil completo",
"alert.unexpected.message": "Ocorreu um erro inesperado.",
"alert.unexpected.title": "Bolas!",
"boost_modal.combo": "Pode clicar {combo} para não voltar a ver",
@ -73,10 +71,10 @@
"compose_form.lock_disclaimer": "A tua conta não está {locked}. Qualquer pessoa pode seguir-te e ver as publicações direcionadas apenas a seguidores.",
"compose_form.lock_disclaimer.lock": "fechada",
"compose_form.placeholder": "Em que estás a pensar?",
"compose_form.poll.add_option": "Adicionar uma opção",
"compose_form.poll.duration": "Duração do inquérito",
"compose_form.poll.option_placeholder": "Opção {number}",
"compose_form.poll.remove_option": "Remover esta opção",
"compose_form.poll.add_option": "Add a choice",
"compose_form.poll.duration": "Poll duration",
"compose_form.poll.option_placeholder": "Choice {number}",
"compose_form.poll.remove_option": "Remove this choice",
"compose_form.publish": "Publicar",
"compose_form.publish_loud": "{publicar}!",
"compose_form.sensitive.marked": "Media marcado como sensível",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "O texto não está escondido",
"compose_form.spoiler_placeholder": "Escreve o teu aviso aqui",
"confirmation_modal.cancel": "Cancelar",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Bloquear",
"confirmations.block.message": "De certeza que queres bloquear {name}?",
"confirmations.delete.confirm": "Eliminar",
@ -155,9 +154,9 @@
"home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Mostrar as partilhas",
"home.column_settings.show_replies": "Mostrar as respostas",
"intervals.full.days": "{number, plural, one {# día} other {# días}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
"intervals.full.minutes": "{number, plural, one {# minuta} other {# minutas}}",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
"introduction.federation.action": "Seguinte",
"introduction.federation.federated.headline": "Federated",
"introduction.federation.federated.text": "Publicações públicas de outros servidores do fediverse aparecerão na cronologia federativa.",
@ -247,7 +246,7 @@
"notification.favourite": "{name} adicionou o teu post aos favoritos",
"notification.follow": "{name} seguiu-te",
"notification.mention": "{name} mencionou-te",
"notification.poll": "Um inquérito no qual você participou terminou",
"notification.poll": "A poll you have voted in has ended",
"notification.reblog": "{name} partilhou o teu post",
"notifications.clear": "Limpar notificações",
"notifications.clear_confirmation": "Queres mesmo limpar todas as notificações?",
@ -258,7 +257,7 @@
"notifications.column_settings.filter_bar.show": "Mostrar",
"notifications.column_settings.follow": "Novos seguidores:",
"notifications.column_settings.mention": "Menções:",
"notifications.column_settings.poll": "Resultados do inquérito:",
"notifications.column_settings.poll": "Poll results:",
"notifications.column_settings.push": "Notificações Push",
"notifications.column_settings.reblog": "Partilhas:",
"notifications.column_settings.show": "Mostrar nas colunas",
@ -268,14 +267,14 @@
"notifications.filter.favourites": "Favoritas",
"notifications.filter.follows": "Seguimento",
"notifications.filter.mentions": "Referências",
"notifications.filter.polls": "Resultados do inquérito",
"notifications.filter.polls": "Poll results",
"notifications.group": "{count} notificações",
"poll.closed": "Fechado",
"poll.refresh": "Recarregar",
"poll.total_votes": "{contar, plural, um {# vote} outro {# votes}}",
"poll.vote": "Votar",
"poll_button.add_poll": "Criar um questionário",
"poll_button.remove_poll": "Excluir o questionário",
"poll_button.add_poll": "Add a poll",
"poll_button.remove_poll": "Remove poll",
"privacy.change": "Ajustar a privacidade da mensagem",
"privacy.direct.long": "Apenas para utilizadores mencionados",
"privacy.direct.short": "Directo",
@ -367,7 +366,7 @@
"upload_area.title": "Arraste e solte para enviar",
"upload_button.label": "Adicionar media",
"upload_error.limit": "Limite máximo do ficheiro a carregar excedido.",
"upload_error.poll": "Não se permite enviar arquivos com as pesquisas.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Descrição da imagem para pessoas com dificuldades visuais",
"upload_form.focus": "Alterar previsualização",
"upload_form.undo": "Apagar",

@ -5,7 +5,6 @@
"account.block_domain": "Ascunde tot de la {domain}",
"account.blocked": "Blocat",
"account.direct": "Mesaj direct @{name}",
"account.disclaimer_full": "Informațiile de mai jos pot reflecta profilul utilizatorului incomplet.",
"account.domain_blocked": "Domeniu ascuns",
"account.edit_profile": "Editează profilul",
"account.endorse": "Redistribuie pe profil",
@ -36,7 +35,6 @@
"account.unfollow": "Nu mai urmări",
"account.unmute": "Activează notificările de la @{name}",
"account.unmute_notifications": "Activează notificările de la @{name}",
"account.view_full_profile": "Vezi profilul complet",
"alert.unexpected.message": "A apărut o eroare neașteptată.",
"alert.unexpected.title": "Hopa!",
"boost_modal.combo": "Poți apăsa {combo} pentru a omite asta data viitoare",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Textul nu este ascuns",
"compose_form.spoiler_placeholder": "Scrie averitzarea aici",
"confirmation_modal.cancel": "Anulează",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Blochează",
"confirmations.block.message": "Ești sigur că vrei să blochezi {name}?",
"confirmations.delete.confirm": "Șterge",

@ -1,11 +1,10 @@
{
"account.add_or_remove_from_list": "Добавить или удалить из списков",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Бот",
"account.block": "Блокировать",
"account.block_domain": "Блокировать все с {domain}",
"account.blocked": "Заблокирован(а)",
"account.direct": "Написать @{name}",
"account.disclaimer_full": "Нижеуказанная информация может не полностью отражать профиль пользователя.",
"account.domain_blocked": "Домен скрыт",
"account.edit_profile": "Изменить профиль",
"account.endorse": "Рекомендовать в профиле",
@ -15,16 +14,16 @@
"account.follows": "Подписки",
"account.follows.empty": "Этот пользователь ни на кого не подписан.",
"account.follows_you": "Подписан(а) на Вас",
"account.hide_reblogs": "Скрыть продвижения",
"account.link_verified_on": "Владелец данной ссылки был проверен {date}",
"account.locked_info": "Статус конфиденциальности этой учетной записи заблокирован. Владелец вручную проверяет, кто может следить за ними.",
"account.hide_reblogs": "Скрыть продвижения от @{name}",
"account.link_verified_on": "Ownership of this link was checked on {date}",
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
"account.media": "Медиа",
"account.mention": "Упомянуть",
"account.moved_to": "Ищите {name} здесь:",
"account.mute": "Заглушить",
"account.mute_notifications": "Скрыть уведомления от @{name}",
"account.muted": "Приглушён",
"account.posts": "Тутс",
"account.posts": "Посты",
"account.posts_with_replies": "Посты и ответы",
"account.report": "Пожаловаться",
"account.requested": "Ожидает подтверждения",
@ -34,9 +33,8 @@
"account.unblock_domain": "Разблокировать {domain}",
"account.unendorse": "Не рекомендовать в профиле",
"account.unfollow": "Отписаться",
"account.unmute": "Показывать @{name}",
"account.unmute": "Снять глушение",
"account.unmute_notifications": "Показывать уведомления от @{name}",
"account.view_full_profile": "Показать полный профиль",
"alert.unexpected.message": "Что-то пошло не так.",
"alert.unexpected.title": "Ой!",
"boost_modal.combo": "Нажмите {combo}, чтобы пропустить это в следующий раз",
@ -67,16 +65,16 @@
"column_header.unpin": "Открепить",
"column_subheading.settings": "Настройки",
"community.column_settings.media_only": "Только с медиа",
"compose_form.direct_message_warning": "Этот зуб будет отправлен только указанным пользователям.",
"compose_form.direct_message_warning": "Этот статус будет виден только упомянутым пользователям.",
"compose_form.direct_message_warning_learn_more": "Узнать больше",
"compose_form.hashtag_warning": "Этот пост не будет показывается в поиске по хэштегу, т.к. он непубличный. Только публичные посты можно найти в поиске по хэштегу.",
"compose_form.lock_disclaimer": "Ваш аккаунт не {locked}. Любой человек может подписаться на Вас и просматривать посты для подписчиков.",
"compose_form.lock_disclaimer.lock": "закрыт",
"compose_form.placeholder": "Что у тебя на уме?",
"compose_form.poll.add_option": "Добавить выбор",
"compose_form.poll.duration": "Продолжительность опроса",
"compose_form.poll.option_placeholder": "Выбор {number}",
"compose_form.poll.remove_option": "Удалить этот выбор",
"compose_form.placeholder": "О чем Вы думаете?",
"compose_form.poll.add_option": "Add a choice",
"compose_form.poll.duration": "Poll duration",
"compose_form.poll.option_placeholder": "Choice {number}",
"compose_form.poll.remove_option": "Remove this choice",
"compose_form.publish": "Трубить",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.marked": "Медиафайлы не отмечены как чувствительные",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Текст не скрыт",
"compose_form.spoiler_placeholder": "Текст предупреждения",
"confirmation_modal.cancel": "Отмена",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Заблокировать",
"confirmations.block.message": "Вы уверены, что хотите заблокировать {name}?",
"confirmations.delete.confirm": "Удалить",
@ -92,13 +91,13 @@
"confirmations.delete_list.confirm": "Удалить",
"confirmations.delete_list.message": "Вы действительно хотите навсегда удалить этот список?",
"confirmations.domain_block.confirm": "Блокировать весь домен",
"confirmations.domain_block.message": "Ты действительно, действительно уверен, что хочешь заблокировать весь домен? В большинстве случаев достаточно и предпочтительно несколько направленных блоков или глушителей. Вы не увидите содержимое этого домена ни в каких публичных временных рамках, ни в ваших уведомлениях. Ваши последователи из этого домена будут удалены.",
"confirmations.domain_block.message": "Вы на самом деле уверены, что хотите блокировать весь {domain}? В большинстве случаев нескольких отдельных блокировок или глушений достаточно.",
"confirmations.mute.confirm": "Заглушить",
"confirmations.mute.message": "Вы уверены, что хотите заглушить {name}?",
"confirmations.redraft.confirm": "Удалить и исправить",
"confirmations.redraft.message": "Вы уверены, что хотите удалить этот статус и превратить в черновик? Вы потеряете все ответы, продвижения и отметки 'нравится' к нему.",
"confirmations.reply.confirm": "Ответить",
"confirmations.reply.message": "Ответ сейчас перезапишет сообщение, которое вы в данный момент создаете. Ты уверен, что хочешь продолжить?",
"confirmations.reply.confirm": "Reply",
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"confirmations.unfollow.confirm": "Отписаться",
"confirmations.unfollow.message": "Вы уверены, что хотите отписаться от {name}?",
"embed.instructions": "Встройте этот статус на Вашем сайте, скопировав код внизу.",
@ -117,7 +116,7 @@
"emoji_button.search_results": "Результаты поиска",
"emoji_button.symbols": "Символы",
"emoji_button.travel": "Путешествия",
"empty_column.account_timeline": "Никаких сапогов!",
"empty_column.account_timeline": "No toots here!",
"empty_column.blocks": "Вы ещё никого не заблокировали.",
"empty_column.community": "Локальная лента пуста. Напишите что-нибудь, чтобы разогреть народ!",
"empty_column.direct": "У Вас пока нет личных сообщений. Когда Вы начнёте их отправлять или получать, они появятся здесь.",
@ -132,49 +131,49 @@
"empty_column.lists": "У Вас ещё нет списков. Все созданные Вами списки будут показаны здесь.",
"empty_column.mutes": "Вы ещё никого не заглушили.",
"empty_column.notifications": "У Вас еще нет уведомлений. Заведите знакомство с другими пользователями, чтобы начать разговор.",
"empty_column.public": "Здесь ничего нет! Напишите что-нибудь публично или вручную следите за пользователями с других серверов, чтобы заполнить его",
"empty_column.public": "Здесь ничего нет! Опубликуйте что-нибудь или подпишитесь на пользователей с других узлов, чтобы заполнить ленту.",
"follow_request.authorize": "Авторизовать",
"follow_request.reject": "Отказать",
"getting_started.developers": "Для разработчиков",
"getting_started.directory": "Каталог профиля",
"getting_started.directory": "Profile directory",
"getting_started.documentation": "Документация",
"getting_started.heading": "Добро пожаловать",
"getting_started.invite": "Пригласить людей",
"getting_started.open_source_notice": "Mastodon - сервис с открытым исходным кодом. Вы можете помочь проекту или сообщить о проблемах на GitHub по адресу {github}.",
"getting_started.security": "Безопасность",
"getting_started.terms": "Условия использования",
"hashtag.column_header.tag_mode.all": "и {additional}",
"hashtag.column_header.tag_mode.any": "или {additional}",
"hashtag.column_header.tag_mode.none": "без {additional}",
"hashtag.column_settings.select.no_options_message": "Никаких предложений не найдено",
"hashtag.column_settings.select.placeholder": "Введите хэштэги…",
"hashtag.column_settings.tag_mode.all": "Все это",
"hashtag.column_settings.tag_mode.any": "Что-нибудь из этого",
"hashtag.column_settings.tag_mode.none": "Ничего из этого",
"hashtag.column_settings.tag_toggle": "Включить дополнительные теги для этого столбца",
"hashtag.column_header.tag_mode.all": "and {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}",
"hashtag.column_settings.select.no_options_message": "No suggestions found",
"hashtag.column_settings.select.placeholder": "Enter hashtags…",
"hashtag.column_settings.tag_mode.all": "All of these",
"hashtag.column_settings.tag_mode.any": "Any of these",
"hashtag.column_settings.tag_mode.none": "None of these",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"home.column_settings.basic": "Основные",
"home.column_settings.show_reblogs": "Показывать продвижения",
"home.column_settings.show_replies": "Показывать ответы",
"intervals.full.days": "{number, plural, one {# дни} other {# день}}",
"intervals.full.hours": "{number, plural, one {# час} other {# часы}}",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
"introduction.federation.action": "Следующий",
"introduction.federation.action": "Next",
"introduction.federation.federated.headline": "Federated",
"introduction.federation.federated.text": "Публичные посты с других серверов федерации будут отображаться на шкале времени федерации.",
"introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
"introduction.federation.home.headline": "Home",
"introduction.federation.home.text": "Сообщения от людей, за которыми вы следите, будут появляться в вашем домашнем корме. Вы можете следовать за любым на любом сервере!",
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
"introduction.federation.local.headline": "Local",
"introduction.federation.local.text": "Публичные сообщения от людей на том же сервере, что и вы, будут отображаться на локальной шкале времени.",
"introduction.interactions.action": "Закончи урок!",
"introduction.interactions.favourite.headline": "Любимый",
"introduction.interactions.favourite.text": "Вы можете оставить зуб на потом, и дать автору понять, что он вам понравился, отдавая предпочтение.",
"introduction.interactions.reblog.headline": "Ускорение",
"introduction.interactions.reblog.text": "Вы можете поделиться с другими людьми чересчур с вашими последователями, повышая их.",
"introduction.interactions.reply.headline": "Ответить",
"introduction.interactions.reply.text": "Вы можете ответить на чужие и свои собственные сигналы, которые будут связывать их в цепь в разговоре.",
"introduction.welcome.action": "Пошли!",
"introduction.welcome.headline": "Первые шаги",
"introduction.welcome.text": "Добро пожаловать во вселенную! Через несколько минут вы сможете транслировать сообщения и общаться со своими друзьями на различных серверах. Но этот сервер, {домен}, является специальным - он содержит ваш профиль, так что запомните его имя.",
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
"introduction.interactions.action": "Finish tutorial!",
"introduction.interactions.favourite.headline": "Favourite",
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
"introduction.interactions.reblog.headline": "Boost",
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
"introduction.interactions.reply.headline": "Reply",
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
"introduction.welcome.action": "Let's go!",
"introduction.welcome.headline": "First steps",
"introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
"keyboard_shortcuts.back": "перейти назад",
"keyboard_shortcuts.blocked": "чтобы открыть список заблокированных",
"keyboard_shortcuts.boost": "продвинуть пост",
@ -213,17 +212,17 @@
"lists.account.remove": "Убрать из списка",
"lists.delete": "Удалить список",
"lists.edit": "Изменить список",
"lists.edit.submit": "Изменить название",
"lists.edit.submit": "Change title",
"lists.new.create": "Новый список",
"lists.new.title_placeholder": "Заголовок списка",
"lists.search": "Искать из ваших подписок",
"lists.subheading": "Ваши списки",
"loading_indicator.label": "Загрузка",
"loading_indicator.label": "Загрузка...",
"media_gallery.toggle_visible": "Показать/скрыть",
"missing_indicator.label": "Не найдено",
"missing_indicator.sublabel": "Запрашиваемый ресурс не найден",
"mute_modal.hide_notifications": "Убрать уведомления от этого пользователя?",
"navigation_bar.apps": "Мобильные приложения",
"navigation_bar.apps": "Mobile apps",
"navigation_bar.blocks": "Список блокировки",
"navigation_bar.community_timeline": "Локальная лента",
"navigation_bar.compose": "Создать новый статус",
@ -234,8 +233,8 @@
"navigation_bar.favourites": "Понравившееся",
"navigation_bar.filters": "Заглушенные слова",
"navigation_bar.follow_requests": "Запросы на подписку",
"navigation_bar.info": "Об этом сервере",
"navigation_bar.keyboard_shortcuts": "Горячие клавиши",
"navigation_bar.info": "Об узле",
"navigation_bar.keyboard_shortcuts": "Сочетания клавиш",
"navigation_bar.lists": "Списки",
"navigation_bar.logout": "Выйти",
"navigation_bar.mutes": "Список глушения",
@ -247,35 +246,35 @@
"notification.favourite": "{name} понравился Ваш статус",
"notification.follow": "{name} подписался(-лась) на Вас",
"notification.mention": "{name} упомянул(а) Вас",
"notification.poll": "Опрос, за который вы проголосовали, закончился",
"notification.poll": "A poll you have voted in has ended",
"notification.reblog": "{name} продвинул(а) Ваш статус",
"notifications.clear": "Очистить уведомления",
"notifications.clear_confirmation": "Вы уверены, что хотите очистить все уведомления?",
"notifications.column_settings.alert": "Десктопные уведомления",
"notifications.column_settings.favourite": "Нравится:",
"notifications.column_settings.filter_bar.advanced": "Показать все категории",
"notifications.column_settings.filter_bar.category": "Быстрая панель фильтрации",
"notifications.column_settings.filter_bar.show": "Показать",
"notifications.column_settings.filter_bar.advanced": "Display all categories",
"notifications.column_settings.filter_bar.category": "Quick filter bar",
"notifications.column_settings.filter_bar.show": "Show",
"notifications.column_settings.follow": "Новые подписчики:",
"notifications.column_settings.mention": "Упоминания:",
"notifications.column_settings.poll": "Результаты опроса:",
"notifications.column_settings.poll": "Poll results:",
"notifications.column_settings.push": "Push-уведомления",
"notifications.column_settings.reblog": "Продвижения:",
"notifications.column_settings.show": "Показывать в колонке",
"notifications.column_settings.sound": "Проигрывать звук",
"notifications.filter.all": "Все",
"notifications.filter.boosts": "Ускорение",
"notifications.filter.favourites": "Избранное",
"notifications.filter.follows": "Следит",
"notifications.filter.mentions": "Упоминания",
"notifications.filter.polls": "Результаты опроса",
"notifications.group": "{count} уведомления",
"poll.closed": "Закрытый",
"poll.refresh": "освежающий",
"poll.total_votes": "{count, plural, one {# голосовать} other {# голосов}}",
"poll.vote": "Голосуйте",
"poll_button.add_poll": "Добавить опрос",
"poll_button.remove_poll": "Удалить опрос",
"notifications.filter.all": "All",
"notifications.filter.boosts": "Boosts",
"notifications.filter.favourites": "Favourites",
"notifications.filter.follows": "Follows",
"notifications.filter.mentions": "Mentions",
"notifications.filter.polls": "Poll results",
"notifications.group": "{count} уведомл.",
"poll.closed": "Closed",
"poll.refresh": "Refresh",
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
"poll.vote": "Vote",
"poll_button.add_poll": "Add a poll",
"poll_button.remove_poll": "Remove poll",
"privacy.change": "Изменить видимость статуса",
"privacy.direct.long": "Показать только упомянутым",
"privacy.direct.short": "Направленный",
@ -295,7 +294,7 @@
"reply_indicator.cancel": "Отмена",
"report.forward": "Переслать для {target}",
"report.forward_hint": "Этот аккаунт расположен на другом сервере. Отправить туда анонимную копию Вашей жалобы?",
"report.hint": "Отчет будет отправлен модераторам вашего сервера. Ниже вы можете объяснить, почему вы сообщаете об этой учетной записи:",
"report.hint": "Жалоба будет отправлена модераторам Вашего сервера. Вы также можете указать подробную причину жалобы ниже:",
"report.placeholder": "Комментарий",
"report.submit": "Отправить",
"report.target": "Жалуемся на {target}",
@ -310,12 +309,12 @@
"search_results.hashtags": "Хэштеги",
"search_results.statuses": "Посты",
"search_results.total": "{count, number} {count, plural, one {результат} few {результата} many {результатов} other {результатов}}",
"status.admin_account": "Откройте интерфейс модерации для @{name}",
"status.admin_status": "Откройте этот статус в интерфейсе модерации",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.block": "Заблокировать @{name}",
"status.cancel_reblog_private": "Не продвигать",
"status.cannot_reblog": "Этот статус не может быть продвинут",
"status.copy": "Скопировать ссылку на статус",
"status.copy": "Copy link to status",
"status.delete": "Удалить",
"status.detailed_status": "Подробный просмотр обсуждения",
"status.direct": "Написать @{name}",
@ -331,7 +330,7 @@
"status.open": "Развернуть статус",
"status.pin": "Закрепить в профиле",
"status.pinned": "Закреплённый статус",
"status.read_more": "Подробнее",
"status.read_more": "Read more",
"status.reblog": "Продвинуть",
"status.reblog_private": "Продвинуть для своей аудитории",
"status.reblogged_by": "{name} продвинул(а)",
@ -347,30 +346,30 @@
"status.show_less_all": "Свернуть для всех",
"status.show_more": "Развернуть",
"status.show_more_all": "Развернуть для всех",
"status.show_thread": "Показать нить",
"status.show_thread": "Show thread",
"status.unmute_conversation": "Снять глушение с треда",
"status.unpin": "Открепить от профиля",
"suggestions.dismiss": "Отказаться от предложения",
"suggestions.header": "Вам может быть интересно…",
"suggestions.dismiss": "Dismiss suggestion",
"suggestions.header": "You might be interested in…",
"tabs_bar.federated_timeline": "Глобальная",
"tabs_bar.home": "Главная",
"tabs_bar.local_timeline": "Локальная",
"tabs_bar.notifications": "Уведомления",
"tabs_bar.search": "Поиск",
"time_remaining.days": "{number, plural, one {# день} other {# дни}} осталось",
"time_remaining.hours": "{number, plural, one {# час} other {# часы}} осталось",
"time_remaining.minutes": "{number, plural, one {# минута} other {# минуты}} oсталось",
"time_remaining.moments": "Оставшиеся моменты",
"time_remaining.seconds": "{number, plural, one {# секунда} other {# секунды}} oсталось",
"time_remaining.days": "{number, plural, one {# day} other {# days}} left",
"time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left",
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "Популярно у {count} {rawCount, plural, one {человека} few {человек} many {человек} other {человек}}",
"ui.beforeunload": "Ваш черновик будет утерян, если вы покинете Mastodon.",
"upload_area.title": "Перетащите сюда, чтобы загрузить",
"upload_button.label": "Добавить медиа (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "Превышение лимита загрузки файлов.",
"upload_error.poll": "Загрузка файлов с опросами не разрешена.",
"upload_button.label": "Добавить медиаконтент",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.description": "Описать для людей с нарушениями зрения",
"upload_form.focus": "Изменить предварительный просмотр",
"upload_form.undo": "Удалить",
"upload_form.focus": "Обрезать",
"upload_form.undo": "Отменить",
"upload_progress.label": "Загрузка...",
"video.close": "Закрыть видео",
"video.exit_fullscreen": "Покинуть полноэкранный режим",

@ -5,7 +5,6 @@
"account.block_domain": "Ukry všetko z {domain}",
"account.blocked": "Blokovaný/á",
"account.direct": "Súkromná správa pre @{name}",
"account.disclaimer_full": "Inofrmácie uvedené nižšie nemusia byť úplným odrazom uživateľovho účtu.",
"account.domain_blocked": "Doména ukrytá",
"account.edit_profile": "Upraviť profil",
"account.endorse": "Zobrazuj na profile",
@ -36,7 +35,6 @@
"account.unfollow": "Prestaň následovať",
"account.unmute": "Prestaň ignorovať @{name}",
"account.unmute_notifications": "Zrušiť stlmenie oznámení od @{name}",
"account.view_full_profile": "Pozri celý profil",
"alert.unexpected.message": "Vyskytla sa nečakaná chyba.",
"alert.unexpected.title": "Oops!",
"boost_modal.combo": "Nabudúce môžeš kliknúť {combo} pre preskočenie",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Text nieje ukrytý",
"compose_form.spoiler_placeholder": "Sem napíš tvoje varovanie",
"confirmation_modal.cancel": "Zruš",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Blokuj",
"confirmations.block.message": "Si si istý/á, že chceš blokovať {name}?",
"confirmations.delete.confirm": "Vymaž",

@ -5,7 +5,6 @@
"account.block_domain": "Skrij vse iz {domain}",
"account.blocked": "Blokirano",
"account.direct": "Neposredno sporočilo @{name}",
"account.disclaimer_full": "Spodnje informacije lahko nepopolno prikazujejo profil uporabnika.",
"account.domain_blocked": "Skrita domena",
"account.edit_profile": "Uredi profil",
"account.endorse": "Zmožnost profila",
@ -36,7 +35,6 @@
"account.unfollow": "Prenehaj slediti",
"account.unmute": "Odtišaj @{name}",
"account.unmute_notifications": "Vklopi obvestila od @{name}",
"account.view_full_profile": "Ogled celotnega profila",
"alert.unexpected.message": "Zgodila se je nepričakovana napaka.",
"alert.unexpected.title": "Uups!",
"boost_modal.combo": "Če želite naslednjič preskočiti to, lahko pritisnete {combo}",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Besedilo ni skrito",
"compose_form.spoiler_placeholder": "Napišite opozorilo tukaj",
"confirmation_modal.cancel": "Prekliči",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Ali ste prepričani, da želite blokirati {name}?",
"confirmations.delete.confirm": "Delete",

@ -5,7 +5,6 @@
"account.block_domain": "Fshih gjithçka prej {domain}",
"account.blocked": "E bllokuar",
"account.direct": "Mesazh i drejtpërdrejt për @{name}",
"account.disclaimer_full": "Të dhënat më poshtë mund ta pasqyrojnë pjesërisht profilin e përdoruesit.",
"account.domain_blocked": "Përkatësi e fshehur",
"account.edit_profile": "Përpunoni profilin",
"account.endorse": "Pasqyrojeni në profil",
@ -36,7 +35,6 @@
"account.unfollow": "Resht së ndjekuri",
"account.unmute": "Ktheji zërin @{name}",
"account.unmute_notifications": "Hiqua ndalimin e shfaqjes njoftimeve nga @{name}",
"account.view_full_profile": "Shihni profilin e plotë",
"alert.unexpected.message": "Ndodhi një gabim të papritur.",
"alert.unexpected.title": "Hëm!",
"boost_modal.combo": "Mund të shtypni {combo}, që të anashkalohet kjo herës tjetër",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Teksti sështë i fshehur",
"compose_form.spoiler_placeholder": "Shkruani këtu sinjalizimin tuaj",
"confirmation_modal.cancel": "Anuloje",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Bllokoje",
"confirmations.block.message": "Jeni i sigurt se doni të bllokohet {name}?",
"confirmations.delete.confirm": "Fshije",

@ -5,7 +5,6 @@
"account.block_domain": "Sakrij sve sa domena {domain}",
"account.blocked": "Blocked",
"account.direct": "Direct Message @{name}",
"account.disclaimer_full": "Navedene informacije možda ne odslikavaju korisnički profil u potpunosti.",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Izmeni profil",
"account.endorse": "Feature on profile",
@ -36,7 +35,6 @@
"account.unfollow": "Otprati",
"account.unmute": "Ukloni ućutkavanje korisniku @{name}",
"account.unmute_notifications": "Uključi nazad obaveštenja od korisnika @{name}",
"account.view_full_profile": "Vidi ceo profil",
"alert.unexpected.message": "An unexpected error occurred.",
"alert.unexpected.title": "Oops!",
"boost_modal.combo": "Možete pritisnuti {combo} da preskočite ovo sledeći put",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Text is not hidden",
"compose_form.spoiler_placeholder": "Ovde upišite upozorenje",
"confirmation_modal.cancel": "Poništi",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Blokiraj",
"confirmations.block.message": "Da li ste sigurni da želite da blokirate korisnika {name}?",
"confirmations.delete.confirm": "Obriši",

@ -5,7 +5,6 @@
"account.block_domain": "Сакриј све са домена {domain}",
"account.blocked": "Блокиран",
"account.direct": "Директна порука @{name}",
"account.disclaimer_full": "Наведене информације можда не одсликавају кориснички профил у потпуности.",
"account.domain_blocked": "Домен сакривен",
"account.edit_profile": "Измени профил",
"account.endorse": "Приказати на профилу",
@ -36,7 +35,6 @@
"account.unfollow": "Отпрати",
"account.unmute": "Уклони ућуткавање кориснику @{name}",
"account.unmute_notifications": "Укључи назад обавештења од корисника @{name}",
"account.view_full_profile": "Види цео профил",
"alert.unexpected.message": "Појавила се неочекивана грешка.",
"alert.unexpected.title": "Упс!",
"boost_modal.combo": "Можете притиснути {combo} да прескочите ово следећи пут",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Текст није сакривен",
"compose_form.spoiler_placeholder": "Овде упишите упозорење",
"confirmation_modal.cancel": "Поништи",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Блокирај",
"confirmations.block.message": "Да ли сте сигурни да желите да блокирате корисника {name}?",
"confirmations.delete.confirm": "Обриши",

@ -5,7 +5,6 @@
"account.block_domain": "Dölj allt från {domain}",
"account.blocked": "Blockerad",
"account.direct": "Direktmeddelande @{name}",
"account.disclaimer_full": "Informationen nedan kan spegla användarens profil ofullständigt.",
"account.domain_blocked": "Domän dold",
"account.edit_profile": "Redigera profil",
"account.endorse": "Feature on profile",
@ -36,7 +35,6 @@
"account.unfollow": "Sluta följa",
"account.unmute": "Ta bort tystad @{name}",
"account.unmute_notifications": "Återaktivera notifikationer från @{name}",
"account.view_full_profile": "Visa hela profilen",
"alert.unexpected.message": "Ett oväntat fel uppstod.",
"alert.unexpected.title": "Oops!",
"boost_modal.combo": "Du kan trycka {combo} för att slippa denna nästa gång",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Texten är inte dold",
"compose_form.spoiler_placeholder": "Skriv din varning här",
"confirmation_modal.cancel": "Ångra",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Blockera",
"confirmations.block.message": "Är du säker att du vill blockera {name}?",
"confirmations.delete.confirm": "Ta bort",

@ -5,7 +5,6 @@
"account.block_domain": "Hide everything from {domain}",
"account.blocked": "Blocked",
"account.direct": "Direct message @{name}",
"account.disclaimer_full": "Information below may reflect the user's profile incompletely.",
"account.domain_blocked": "Domain hidden",
"account.edit_profile": "Edit profile",
"account.endorse": "Feature on profile",
@ -36,7 +35,6 @@
"account.unfollow": "Unfollow",
"account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile",
"alert.unexpected.message": "An unexpected error occurred.",
"alert.unexpected.title": "Oops!",
"boost_modal.combo": "You can press {combo} to skip this next time",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Text is not hidden",
"compose_form.spoiler_placeholder": "Write your warning here",
"confirmation_modal.cancel": "Cancel",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Block",
"confirmations.block.message": "Are you sure you want to block {name}?",
"confirmations.delete.confirm": "Delete",

@ -5,7 +5,6 @@
"account.block_domain": "{domain} నుంచి అన్నీ దాచిపెట్టు",
"account.blocked": "బ్లాక్ అయినవి",
"account.direct": "@{name}కు నేరుగా సందేశం పంపు",
"account.disclaimer_full": "క్రింది సమాచారం వాడుకరి యొక్క ప్రొఫైల్ను అసంపూర్తిగా ప్రతిబింబించవచ్చు.",
"account.domain_blocked": "డొమైన్ దాచిపెట్టబడినది",
"account.edit_profile": "ప్రొఫైల్ని సవరించండి",
"account.endorse": "ప్రొఫైల్లో చూపించు",
@ -36,7 +35,6 @@
"account.unfollow": "అనుసరించవద్దు",
"account.unmute": "@{name}పై మ్యూట్ ని తొలగించు",
"account.unmute_notifications": "@{name} నుంచి ప్రకటనలపై మ్యూట్ ని తొలగించు",
"account.view_full_profile": "పూర్తి ప్రొఫైల్ను చూడండి",
"alert.unexpected.message": "అనుకోని తప్పు జరిగినది.",
"alert.unexpected.title": "అయ్యో!",
"boost_modal.combo": "మీరు తదుపరిసారి దీనిని దాటవేయడానికి {combo} నొక్కవచ్చు",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "పాఠ్యం దాచబడలేదు",
"compose_form.spoiler_placeholder": "ఇక్కడ మీ హెచ్చరికను రాయండి",
"confirmation_modal.cancel": "రద్దు చెయ్యి",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "బ్లాక్ చేయి",
"confirmations.block.message": "మీరు ఖచ్చితంగా {name}ని బ్లాక్ చేయాలనుకుంటున్నారా?",
"confirmations.delete.confirm": "తొలగించు",

@ -5,7 +5,6 @@
"account.block_domain": "ซ่อนทุกอย่างจาก {domain}",
"account.blocked": "ปิดกั้นอยู่",
"account.direct": "ส่งข้อความโดยตรงถึง @{name}",
"account.disclaimer_full": "Information below may reflect the user's profile incompletely.",
"account.domain_blocked": "ซ่อนโดเมนอยู่",
"account.edit_profile": "แก้ไขโปรไฟล์",
"account.endorse": "Feature on profile",
@ -36,7 +35,6 @@
"account.unfollow": "เลิกติดตาม",
"account.unmute": "เลิกปิดเสียง @{name}",
"account.unmute_notifications": "เลิกปิดเสียงการแจ้งเตือนจาก @{name}",
"account.view_full_profile": "ดูโปรไฟล์แบบเต็ม",
"alert.unexpected.message": "เกิดข้อผิดพลาดที่ไม่คาดคิด",
"alert.unexpected.title": "อุปส์!",
"boost_modal.combo": "You can press {combo} to skip this next time",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Text is not hidden",
"compose_form.spoiler_placeholder": "เขียนคำเตือนของคุณที่นี่",
"confirmation_modal.cancel": "ยกเลิก",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "ปิดกั้น",
"confirmations.block.message": "คุณแน่ใจหรือไม่ว่าต้องการปิดกั้น {name}?",
"confirmations.delete.confirm": "ลบ",

@ -5,7 +5,6 @@
"account.block_domain": "{domain} alanından her şeyi gizle",
"account.blocked": "Engellenmiş",
"account.direct": "Direct Message @{name}",
"account.disclaimer_full": "Aşağıdaki bilgiler, kullanıcının profilini tam olarak yansıtmayabilir.",
"account.domain_blocked": "Alan adı gizlendi",
"account.edit_profile": "Profili düzenle",
"account.endorse": "Profildeki özellik",
@ -36,7 +35,6 @@
"account.unfollow": "Takipten vazgeç",
"account.unmute": "Sesi aç @{name}",
"account.unmute_notifications": "@{name} kullanıcısından bildirimleri aç",
"account.view_full_profile": "Tüm profili görüntüle",
"alert.unexpected.message": "Beklenmedik bir hata oluştu.",
"alert.unexpected.title": "Hay aksi!",
"boost_modal.combo": "Bir dahaki sefere {combo} tuşuna basabilirsiniz",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Metin gizli değil",
"compose_form.spoiler_placeholder": "İçerik uyarısı",
"confirmation_modal.cancel": "İptal",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Engelle",
"confirmations.block.message": "{name} kullanıcısını engellemek istiyor musunuz?",
"confirmations.delete.confirm": "Sil",

@ -5,7 +5,6 @@
"account.block_domain": "Заглушити {domain}",
"account.blocked": "Заблоковані",
"account.direct": "Пряме повідомлення @{name}",
"account.disclaimer_full": "Інфомація знизу може відображати профіль користувача неповністю.",
"account.domain_blocked": "Домен приховано",
"account.edit_profile": "Редагувати профіль",
"account.endorse": "Feature on profile",
@ -36,7 +35,6 @@
"account.unfollow": "Відписатися",
"account.unmute": "Зняти глушення @{name}",
"account.unmute_notifications": "Показувати сповіщення від @{name}",
"account.view_full_profile": "Показати профіль повністю",
"alert.unexpected.message": "Трапилась неочікувана помилка.",
"alert.unexpected.title": "Ой!",
"boost_modal.combo": "Ви можете натиснути {combo}, щоб пропустити це наступного разу",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "Текст видимий",
"compose_form.spoiler_placeholder": "Попередження щодо прихованого тексту",
"confirmation_modal.cancel": "Відмінити",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "Заблокувати",
"confirmations.block.message": "Ви впевнені, що хочете заблокувати {name}?",
"confirmations.delete.confirm": "Видалити",

@ -5,7 +5,6 @@
"account.block_domain": "隐藏来自 {domain} 的内容",
"account.blocked": "已屏蔽",
"account.direct": "发送私信给 @{name}",
"account.disclaimer_full": "此处显示的信息可能不是全部内容。",
"account.domain_blocked": "网站已屏蔽",
"account.edit_profile": "修改个人资料",
"account.endorse": "Feature on profile",
@ -36,7 +35,6 @@
"account.unfollow": "取消关注",
"account.unmute": "不再隐藏 @{name}",
"account.unmute_notifications": "不再隐藏来自 @{name} 的通知",
"account.view_full_profile": "查看完整资料",
"alert.unexpected.message": "发生了意外错误。",
"alert.unexpected.title": "哎呀!",
"boost_modal.combo": "下次按住 {combo} 即可跳过此提示",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "正文未被折叠",
"compose_form.spoiler_placeholder": "折叠部分的警告消息",
"confirmation_modal.cancel": "取消",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "屏蔽",
"confirmations.block.message": "你确定要屏蔽 {name} 吗?",
"confirmations.delete.confirm": "删除",

@ -5,7 +5,6 @@
"account.block_domain": "隱藏來自 {domain} 的一切文章",
"account.blocked": "封鎖",
"account.direct": "私訊 @{name}",
"account.disclaimer_full": "下列資料不一定完整。",
"account.domain_blocked": "服務站被隱藏",
"account.edit_profile": "修改個人資料",
"account.endorse": "Feature on profile",
@ -36,7 +35,6 @@
"account.unfollow": "取消關注",
"account.unmute": "取消 @{name} 的靜音",
"account.unmute_notifications": "取消來自 @{name} 通知的靜音",
"account.view_full_profile": "查看完整資料",
"alert.unexpected.message": "發生不可預期的錯誤。",
"alert.unexpected.title": "噢!",
"boost_modal.combo": "如你想在下次路過這顯示,請按{combo}",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "文字沒有被隱藏",
"compose_form.spoiler_placeholder": "敏感警告訊息",
"confirmation_modal.cancel": "取消",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "封鎖",
"confirmations.block.message": "你確定要封鎖{name}嗎?",
"confirmations.delete.confirm": "刪除",

@ -5,7 +5,6 @@
"account.block_domain": "隱藏來自 {domain} 的所有嘟文",
"account.blocked": "已封鎖",
"account.direct": "傳私訊給 @{name}",
"account.disclaimer_full": "下方的使用者個人資料不一定完整。",
"account.domain_blocked": "已隱藏網域",
"account.edit_profile": "編輯個人資料",
"account.endorse": "在個人資料推薦對方",
@ -36,7 +35,6 @@
"account.unfollow": "取消關注",
"account.unmute": "不再靜音 @{name}",
"account.unmute_notifications": "不再靜音來自 @{name} 的通知",
"account.view_full_profile": "查看完整資料",
"alert.unexpected.message": "發生了非預期的錯誤。",
"alert.unexpected.title": "哎呀!",
"boost_modal.combo": "下次您可以按 {combo} 跳過",
@ -85,6 +83,7 @@
"compose_form.spoiler.unmarked": "正文未被隱藏",
"compose_form.spoiler_placeholder": "請在此處寫入警告訊息",
"confirmation_modal.cancel": "取消",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.confirm": "封鎖",
"confirmations.block.message": "你確定要封鎖 {name} ",
"confirmations.delete.confirm": "刪除",

@ -47,6 +47,10 @@ class ActivityPub::Activity::Announce < ActivityPub::Activity
followed_by_local_accounts? || requested_through_relay? || reblog_of_local_status?
end
def requested_through_relay?
super || Relay.find_by(inbox_url: @account.inbox_url)&.enabled?
end
def reblog_of_local_status?
status_from_uri(object_uri)&.account&.local?
end

@ -68,7 +68,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
thread: replied_to_status,
conversation: conversation_from_uri(@object['conversation']),
media_attachment_ids: process_attachments.take(4).map(&:id),
owned_poll: process_poll,
poll: process_poll,
}
end
end
@ -240,11 +240,11 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
end
def poll_vote?
return false if replied_to_status.nil? || replied_to_status.poll.nil? || !replied_to_status.local? || !replied_to_status.poll.options.include?(@object['name'])
return false if replied_to_status.nil? || replied_to_status.preloadable_poll.nil? || !replied_to_status.local? || !replied_to_status.preloadable_poll.options.include?(@object['name'])
unless replied_to_status.poll.expired?
replied_to_status.poll.votes.create!(account: @account, choice: replied_to_status.poll.options.index(@object['name']), uri: @object['id'])
ActivityPub::DistributePollUpdateWorker.perform_in(3.minutes, replied_to_status.id) unless replied_to_status.poll.hide_totals?
unless replied_to_status.preloadable_poll.expired?
replied_to_status.preloadable_poll.votes.create!(account: @account, choice: replied_to_status.preloadable_poll.options.index(@object['name']), uri: @object['id'])
ActivityPub::DistributePollUpdateWorker.perform_in(3.minutes, replied_to_status.id) unless replied_to_status.preloadable_poll.hide_totals?
end
true

@ -23,8 +23,8 @@ class ActivityPub::Activity::Update < ActivityPub::Activity
return reject_payload! if invalid_origin?(@object['id'])
status = Status.find_by(uri: object_uri, account_id: @account.id)
return if status.nil? || status.poll.nil?
return if status.nil? || status.preloadable_poll.nil?
ActivityPub::ProcessPollService.new.call(status.poll, @object)
ActivityPub::ProcessPollService.new.call(status.preloadable_poll, @object)
end
end

@ -1,30 +1,23 @@
# frozen_string_literal: true
class ActivityPub::Adapter < ActiveModelSerializers::Adapter::Base
CONTEXT = {
'@context': [
'https://www.w3.org/ns/activitystreams',
'https://w3id.org/security/v1',
{
'manuallyApprovesFollowers' => 'as:manuallyApprovesFollowers',
'sensitive' => 'as:sensitive',
'movedTo' => { '@id' => 'as:movedTo', '@type' => '@id' },
'alsoKnownAs' => { '@id' => 'as:alsoKnownAs', '@type' => '@id' },
'Hashtag' => 'as:Hashtag',
'ostatus' => 'http://ostatus.org#',
'atomUri' => 'ostatus:atomUri',
'inReplyToAtomUri' => 'ostatus:inReplyToAtomUri',
'conversation' => 'ostatus:conversation',
'toot' => 'http://joinmastodon.org/ns#',
'Emoji' => 'toot:Emoji',
'focalPoint' => { '@container' => '@list', '@id' => 'toot:focalPoint' },
'featured' => { '@id' => 'toot:featured', '@type' => '@id' },
'schema' => 'http://schema.org#',
'PropertyValue' => 'schema:PropertyValue',
'value' => 'schema:value',
},
],
NAMED_CONTEXT_MAP = {
activitystreams: 'https://www.w3.org/ns/activitystreams',
security: 'https://w3id.org/security/v1',
}.freeze
CONTEXT_EXTENSION_MAP = {
manually_approves_followers: { 'manuallyApprovesFollowers' => 'as:manuallyApprovesFollowers' },
sensitive: { 'sensitive' => 'as:sensitive' },
hashtag: { 'Hashtag' => 'as:Hashtag' },
moved_to: { 'movedTo' => { '@id' => 'as:movedTo', '@type' => '@id' } },
also_known_as: { 'alsoKnownAs' => { '@id' => 'as:alsoKnownAs', '@type' => '@id' } },
emoji: { 'toot' => 'http://joinmastodon.org/ns#', 'Emoji' => 'toot:Emoji' },
featured: { 'toot' => 'http://joinmastodon.org/ns#', 'featured' => { '@id' => 'toot:featured', '@type' => '@id' } },
property_value: { 'schema' => 'http://schema.org#', 'PropertyValue' => 'schema:PropertyValue', 'value' => 'schema:value' },
atom_uri: { 'ostatus' => 'http://ostatus.org#', 'atomUri' => 'ostatus:atomUri' },
conversation: { 'ostatus' => 'http://ostatus.org#', 'inReplyToAtomUri' => 'ostatus:inReplyToAtomUri', 'conversation' => 'ostatus:conversation' },
focal_point: { 'toot' => 'http://joinmastodon.org/ns#', 'focalPoint' => { '@container' => '@list', '@id' => 'toot:focalPoint' } },
}.freeze
def self.default_key_transform
@ -37,7 +30,35 @@ class ActivityPub::Adapter < ActiveModelSerializers::Adapter::Base
def serializable_hash(options = nil)
options = serialization_options(options)
serialized_hash = ActiveModelSerializers::Adapter::Attributes.new(serializer, instance_options).serializable_hash(options)
CONTEXT.merge(self.class.transform_key_casing!(serialized_hash, instance_options))
serialized_hash = serializer.serializable_hash(options)
serialized_hash = self.class.transform_key_casing!(serialized_hash, instance_options)
{ '@context' => serialized_context }.merge(serialized_hash)
end
private
def serialized_context
context_array = []
serializer_options = serializer.send(:instance_options) || {}
named_contexts = [:activitystreams] + serializer._named_contexts.keys + serializer_options.fetch(:named_contexts, {}).keys
context_extensions = serializer._context_extensions.keys + serializer_options.fetch(:context_extensions, {}).keys
named_contexts.each do |key|
context_array << NAMED_CONTEXT_MAP[key]
end
extensions = context_extensions.each_with_object({}) do |key, h|
h.merge!(CONTEXT_EXTENSION_MAP[key])
end
context_array << extensions unless extensions.empty?
if context_array.size == 1
context_array.first
else
context_array
end
end
end

@ -0,0 +1,30 @@
# frozen_string_literal: true
class ActivityPub::Serializer < ActiveModel::Serializer
with_options instance_writer: false, instance_reader: true do |serializer|
serializer.class_attribute :_named_contexts
serializer.class_attribute :_context_extensions
self._named_contexts ||= {}
self._context_extensions ||= {}
end
def self.inherited(base)
super
base._named_contexts = _named_contexts.dup
base._context_extensions = _context_extensions.dup
end
def self.context(*named_contexts)
named_contexts.each do |context|
_named_contexts[context] = true
end
end
def self.context_extensions(*extension_names)
extension_names.each do |extension_name|
_context_extensions[extension_name] = true
end
end
end

@ -19,8 +19,8 @@ class Formatter
raw_content = status.text
if options[:inline_poll_options] && status.poll
raw_content = raw_content + "\n\n" + status.poll.options.map { |title| "[ ] #{title}" }.join("\n")
if options[:inline_poll_options] && status.preloadable_poll
raw_content = raw_content + "\n\n" + status.preloadable_poll.options.map { |title| "[ ] #{title}" }.join("\n")
end
return '' if raw_content.blank?

@ -25,7 +25,7 @@ class Notification < ApplicationRecord
poll: 'Poll',
}.freeze
STATUS_INCLUDES = [:account, :application, :media_attachments, :tags, active_mentions: :account, reblog: [:account, :application, :media_attachments, :tags, active_mentions: :account]].freeze
STATUS_INCLUDES = [:account, :application, :preloadable_poll, :media_attachments, :tags, active_mentions: :account, reblog: [:account, :application, :preloadable_poll, :media_attachments, :tags, active_mentions: :account]].freeze
belongs_to :account, optional: true
belongs_to :from_account, class_name: 'Account', optional: true

@ -47,7 +47,7 @@ class Status < ApplicationRecord
belongs_to :account, inverse_of: :statuses
belongs_to :in_reply_to_account, foreign_key: 'in_reply_to_account_id', class_name: 'Account', optional: true
belongs_to :conversation, optional: true
belongs_to :poll, optional: true
belongs_to :preloadable_poll, class_name: 'Poll', foreign_key: 'poll_id', optional: true
belongs_to :thread, foreign_key: 'in_reply_to_id', class_name: 'Status', inverse_of: :replies, optional: true
belongs_to :reblog, foreign_key: 'reblog_of_id', class_name: 'Status', inverse_of: :reblogs, optional: true
@ -66,7 +66,7 @@ class Status < ApplicationRecord
has_one :notification, as: :activity, dependent: :destroy
has_one :stream_entry, as: :activity, inverse_of: :status
has_one :status_stat, inverse_of: :status
has_one :owned_poll, class_name: 'Poll', inverse_of: :status, dependent: :destroy
has_one :poll, inverse_of: :status, dependent: :destroy
validates :uri, uniqueness: true, presence: true, unless: :local?
validates :text, presence: true, unless: -> { with_media? || reblog? }
@ -75,7 +75,7 @@ class Status < ApplicationRecord
validates :reblog, uniqueness: { scope: :account }, if: :reblog?
validates :visibility, exclusion: { in: %w(direct limited) }, if: :reblog?
accepts_nested_attributes_for :owned_poll
accepts_nested_attributes_for :poll
default_scope { recent }
@ -112,7 +112,7 @@ class Status < ApplicationRecord
:tags,
:preview_cards,
:stream_entry,
:poll,
:preloadable_poll,
account: :account_stat,
active_mentions: { account: :account_stat },
reblog: [
@ -123,7 +123,7 @@ class Status < ApplicationRecord
:media_attachments,
:conversation,
:status_stat,
:poll,
:preloadable_poll,
account: :account_stat,
active_mentions: { account: :account_stat },
],
@ -219,10 +219,11 @@ class Status < ApplicationRecord
def emojis
return @emojis if defined?(@emojis)
fields = [spoiler_text, text]
fields += owned_poll.options unless owned_poll.nil?
fields += preloadable_poll.options unless preloadable_poll.nil?
@emojis = CustomEmoji.from_text(fields.join(' '), account.domain)
@emojis
end
def mark_for_mass_destruction!
@ -473,7 +474,7 @@ class Status < ApplicationRecord
end
def set_poll_id
update_column(:poll_id, owned_poll.id) unless owned_poll.nil?
update_column(:poll_id, poll.id) unless poll.nil?
end
def set_visibility

@ -1,6 +1,6 @@
# frozen_string_literal: true
class ActivityPub::AcceptFollowSerializer < ActiveModel::Serializer
class ActivityPub::AcceptFollowSerializer < ActivityPub::Serializer
attributes :id, :type, :actor
has_one :object, serializer: ActivityPub::FollowSerializer

@ -1,6 +1,6 @@
# frozen_string_literal: true
class ActivityPub::ActivitySerializer < ActiveModel::Serializer
class ActivityPub::ActivitySerializer < ActivityPub::Serializer
attributes :id, :type, :actor, :published, :to, :cc
has_one :proper, key: :object, serializer: ActivityPub::NoteSerializer, if: :serialize_object?

@ -1,8 +1,13 @@
# frozen_string_literal: true
class ActivityPub::ActorSerializer < ActiveModel::Serializer
class ActivityPub::ActorSerializer < ActivityPub::Serializer
include RoutingHelper
context :security
context_extensions :manually_approves_followers, :featured, :also_known_as,
:moved_to, :property_value, :hashtag, :emoji
attributes :id, :type, :following, :followers,
:inbox, :outbox, :featured,
:preferred_username, :name, :summary,
@ -16,7 +21,7 @@ class ActivityPub::ActorSerializer < ActiveModel::Serializer
attribute :moved_to, if: :moved?
attribute :also_known_as, if: :also_known_as?
class EndpointsSerializer < ActiveModel::Serializer
class EndpointsSerializer < ActivityPub::Serializer
include RoutingHelper
attributes :shared_inbox
@ -124,7 +129,7 @@ class ActivityPub::ActorSerializer < ActiveModel::Serializer
class CustomEmojiSerializer < ActivityPub::EmojiSerializer
end
class TagSerializer < ActiveModel::Serializer
class TagSerializer < ActivityPub::Serializer
include RoutingHelper
attributes :type, :href, :name
@ -142,7 +147,7 @@ class ActivityPub::ActorSerializer < ActiveModel::Serializer
end
end
class Account::FieldSerializer < ActiveModel::Serializer
class Account::FieldSerializer < ActivityPub::Serializer
attributes :type, :name, :value
def type

@ -1,6 +1,6 @@
# frozen_string_literal: true
class ActivityPub::AddSerializer < ActiveModel::Serializer
class ActivityPub::AddSerializer < ActivityPub::Serializer
include RoutingHelper
attributes :type, :actor, :target

@ -1,6 +1,6 @@
# frozen_string_literal: true
class ActivityPub::BlockSerializer < ActiveModel::Serializer
class ActivityPub::BlockSerializer < ActivityPub::Serializer
attributes :id, :type, :actor
attribute :virtual_object, key: :object

@ -1,6 +1,6 @@
# frozen_string_literal: true
class ActivityPub::CollectionSerializer < ActiveModel::Serializer
class ActivityPub::CollectionSerializer < ActivityPub::Serializer
def self.serializer_for(model, options)
return ActivityPub::NoteSerializer if model.class.name == 'Status'
return ActivityPub::CollectionSerializer if model.class.name == 'ActivityPub::CollectionPresenter'

@ -1,6 +1,6 @@
# frozen_string_literal: true
class ActivityPub::DeleteActorSerializer < ActiveModel::Serializer
class ActivityPub::DeleteActorSerializer < ActivityPub::Serializer
attributes :id, :type, :actor, :to
attribute :virtual_object, key: :object

@ -1,7 +1,9 @@
# frozen_string_literal: true
class ActivityPub::DeleteSerializer < ActiveModel::Serializer
class TombstoneSerializer < ActiveModel::Serializer
class ActivityPub::DeleteSerializer < ActivityPub::Serializer
class TombstoneSerializer < ActivityPub::Serializer
context_extensions :atom_uri
attributes :id, :type, :atom_uri
def id

@ -1,8 +1,10 @@
# frozen_string_literal: true
class ActivityPub::EmojiSerializer < ActiveModel::Serializer
class ActivityPub::EmojiSerializer < ActivityPub::Serializer
include RoutingHelper
context_extensions :emoji
attributes :id, :type, :name, :updated
has_one :icon, serializer: ActivityPub::ImageSerializer

@ -1,6 +1,6 @@
# frozen_string_literal: true
class ActivityPub::FlagSerializer < ActiveModel::Serializer
class ActivityPub::FlagSerializer < ActivityPub::Serializer
attributes :id, :type, :actor, :content
attribute :virtual_object, key: :object

@ -1,6 +1,6 @@
# frozen_string_literal: true
class ActivityPub::FollowSerializer < ActiveModel::Serializer
class ActivityPub::FollowSerializer < ActivityPub::Serializer
attributes :id, :type, :actor
attribute :virtual_object, key: :object

@ -1,8 +1,10 @@
# frozen_string_literal: true
class ActivityPub::ImageSerializer < ActiveModel::Serializer
class ActivityPub::ImageSerializer < ActivityPub::Serializer
include RoutingHelper
context_extensions :focal_point
attributes :type, :media_type, :url
attribute :focal_point, if: :focal_point?

@ -1,6 +1,6 @@
# frozen_string_literal: true
class ActivityPub::LikeSerializer < ActiveModel::Serializer
class ActivityPub::LikeSerializer < ActivityPub::Serializer
attributes :id, :type, :actor
attribute :virtual_object, key: :object

@ -1,6 +1,9 @@
# frozen_string_literal: true
class ActivityPub::NoteSerializer < ActiveModel::Serializer
class ActivityPub::NoteSerializer < ActivityPub::Serializer
context_extensions :atom_uri, :conversation, :sensitive,
:hashtag, :emoji, :focal_point
attributes :id, :type, :summary,
:in_reply_to, :published, :url,
:attributed_to, :to, :cc, :sensitive,
@ -26,7 +29,7 @@ class ActivityPub::NoteSerializer < ActiveModel::Serializer
end
def type
object.poll ? 'Question' : 'Note'
object.preloadable_poll ? 'Question' : 'Note'
end
def summary
@ -122,32 +125,32 @@ class ActivityPub::NoteSerializer < ActiveModel::Serializer
end
def poll_options
object.poll.loaded_options
object.preloadable_poll.loaded_options
end
def poll_and_multiple?
object.poll&.multiple?
object.preloadable_poll&.multiple?
end
def poll_and_not_multiple?
object.poll && !object.poll.multiple?
object.preloadable_poll && !object.preloadable_poll.multiple?
end
def closed
object.poll.expires_at.iso8601
object.preloadable_poll.expires_at.iso8601
end
alias end_time closed
def poll_and_expires?
object.poll&.expires_at&.present?
object.preloadable_poll&.expires_at&.present?
end
def poll_and_expired?
object.poll&.expired?
object.preloadable_poll&.expired?
end
class MediaAttachmentSerializer < ActiveModel::Serializer
class MediaAttachmentSerializer < ActivityPub::Serializer
include RoutingHelper
attributes :type, :media_type, :url, :name
@ -178,7 +181,7 @@ class ActivityPub::NoteSerializer < ActiveModel::Serializer
end
end
class MentionSerializer < ActiveModel::Serializer
class MentionSerializer < ActivityPub::Serializer
attributes :type, :href, :name
def type
@ -194,7 +197,7 @@ class ActivityPub::NoteSerializer < ActiveModel::Serializer
end
end
class TagSerializer < ActiveModel::Serializer
class TagSerializer < ActivityPub::Serializer
include RoutingHelper
attributes :type, :href, :name
@ -215,8 +218,8 @@ class ActivityPub::NoteSerializer < ActiveModel::Serializer
class CustomEmojiSerializer < ActivityPub::EmojiSerializer
end
class OptionSerializer < ActiveModel::Serializer
class RepliesSerializer < ActiveModel::Serializer
class OptionSerializer < ActivityPub::Serializer
class RepliesSerializer < ActivityPub::Serializer
attributes :type, :total_items
def type

@ -1,6 +1,8 @@
# frozen_string_literal: true
class ActivityPub::PublicKeySerializer < ActiveModel::Serializer
class ActivityPub::PublicKeySerializer < ActivityPub::Serializer
context :security
attributes :id, :owner, :public_key_pem
def id

@ -1,6 +1,6 @@
# frozen_string_literal: true
class ActivityPub::RejectFollowSerializer < ActiveModel::Serializer
class ActivityPub::RejectFollowSerializer < ActivityPub::Serializer
attributes :id, :type, :actor
has_one :object, serializer: ActivityPub::FollowSerializer

@ -1,6 +1,6 @@
# frozen_string_literal: true
class ActivityPub::RemoveSerializer < ActiveModel::Serializer
class ActivityPub::RemoveSerializer < ActivityPub::Serializer
include RoutingHelper
attributes :type, :actor, :target

@ -1,6 +1,6 @@
# frozen_string_literal: true
class ActivityPub::UndoAnnounceSerializer < ActiveModel::Serializer
class ActivityPub::UndoAnnounceSerializer < ActivityPub::Serializer
attributes :id, :type, :actor, :to
has_one :object, serializer: ActivityPub::ActivitySerializer

@ -1,6 +1,6 @@
# frozen_string_literal: true
class ActivityPub::UndoBlockSerializer < ActiveModel::Serializer
class ActivityPub::UndoBlockSerializer < ActivityPub::Serializer
attributes :id, :type, :actor
has_one :object, serializer: ActivityPub::BlockSerializer

@ -1,6 +1,6 @@
# frozen_string_literal: true
class ActivityPub::UndoFollowSerializer < ActiveModel::Serializer
class ActivityPub::UndoFollowSerializer < ActivityPub::Serializer
attributes :id, :type, :actor
has_one :object, serializer: ActivityPub::FollowSerializer

@ -1,6 +1,6 @@
# frozen_string_literal: true
class ActivityPub::UndoLikeSerializer < ActiveModel::Serializer
class ActivityPub::UndoLikeSerializer < ActivityPub::Serializer
attributes :id, :type, :actor
has_one :object, serializer: ActivityPub::LikeSerializer

@ -1,12 +1,12 @@
# frozen_string_literal: true
class ActivityPub::UpdatePollSerializer < ActiveModel::Serializer
class ActivityPub::UpdatePollSerializer < ActivityPub::Serializer
attributes :id, :type, :actor, :to
has_one :object, serializer: ActivityPub::NoteSerializer
def id
[ActivityPub::TagManager.instance.uri_for(object), '#updates/', object.poll.updated_at.to_i].join
[ActivityPub::TagManager.instance.uri_for(object), '#updates/', object.preloadable_poll.updated_at.to_i].join
end
def type

@ -1,6 +1,6 @@
# frozen_string_literal: true
class ActivityPub::UpdateSerializer < ActiveModel::Serializer
class ActivityPub::UpdateSerializer < ActivityPub::Serializer
attributes :id, :type, :actor, :to
has_one :object, serializer: ActivityPub::ActorSerializer

@ -1,7 +1,7 @@
# frozen_string_literal: true
class ActivityPub::VoteSerializer < ActiveModel::Serializer
class NoteSerializer < ActiveModel::Serializer
class ActivityPub::VoteSerializer < ActivityPub::Serializer
class NoteSerializer < ActivityPub::Serializer
attributes :id, :type, :name, :attributed_to,
:in_reply_to, :to

@ -23,7 +23,7 @@ class REST::StatusSerializer < ActiveModel::Serializer
has_many :emojis, serializer: REST::CustomEmojiSerializer
has_one :preview_card, key: :card, serializer: REST::PreviewCardSerializer
has_one :poll, serializer: REST::PollSerializer
has_one :preloadable_poll, key: :poll, serializer: REST::PollSerializer
def id
object.id.to_s

@ -162,7 +162,7 @@ class PostStatusService < BaseService
text: @text,
media_attachments: @media || [],
thread: @in_reply_to,
owned_poll_attributes: poll_attributes,
poll_attributes: poll_attributes,
sensitive: (@options[:sensitive].nil? ? @account.user&.setting_default_sensitive : @options[:sensitive]) || @options[:spoiler_text].present?,
spoiler_text: @options[:spoiler_text] || '',
visibility: @visibility,

@ -22,11 +22,18 @@
%li= filter_link_to t('generic.all'), activity: nil
%li= filter_link_to t('relationships.dormant'), activity: 'dormant'
.filter-subset
%strong= t 'generic.order_by'
%ul
%li= filter_link_to t('relationships.most_recent'), order: nil
%li= filter_link_to t('relationships.last_active'), order: 'active'
= form_for(@form, url: relationships_path, method: :patch) do |f|
= hidden_field_tag :page, params[:page] || 1
= hidden_field_tag :relationship, params[:relationship]
= hidden_field_tag :status, params[:status]
= hidden_field_tag :activity, params[:activity]
= hidden_field_tag :order, params[:order]
.batch-table
.batch-table__toolbar

@ -22,9 +22,9 @@
%a.status__content__spoiler-link{ href: '#' }= t('statuses.show_more')
.e-content{ lang: status.language, style: "display: #{!current_account&.user&.setting_expand_spoilers && status.spoiler_text? ? 'none' : 'block'}; direction: #{rtl_status?(status) ? 'rtl' : 'ltr'}" }= Formatter.instance.format(status, custom_emojify: true, autoplay: autoplay)
- if status.poll
= react_component :poll, disabled: true, poll: ActiveModelSerializers::SerializableResource.new(status.poll, serializer: REST::PollSerializer, scope: current_user, scope_name: :current_user).as_json do
= render partial: 'stream_entries/poll', locals: { status: status, poll: status.poll, autoplay: autoplay }
- if status.preloadable_poll
= react_component :poll, disabled: true, poll: ActiveModelSerializers::SerializableResource.new(status.preloadable_poll, serializer: REST::PollSerializer, scope: current_user, scope_name: :current_user).as_json do
= render partial: 'stream_entries/poll', locals: { status: status, poll: status.preloadable_poll, autoplay: autoplay }
- elsif !status.media_attachments.empty?
- if status.media_attachments.first.video?
- video = status.media_attachments.first

@ -27,9 +27,9 @@
.e-content{ lang: status.language, style: "display: #{!current_account&.user&.setting_expand_spoilers && status.spoiler_text? ? 'none' : 'block'}; direction: #{rtl_status?(status) ? 'rtl' : 'ltr'}" }<
= Formatter.instance.format(status, custom_emojify: true, autoplay: autoplay)
- if status.poll
= react_component :poll, disabled: true, poll: ActiveModelSerializers::SerializableResource.new(status.poll, serializer: REST::PollSerializer, scope: current_user, scope_name: :current_user).as_json do
= render partial: 'stream_entries/poll', locals: { status: status, poll: status.poll, autoplay: autoplay }
- if status.preloadable_poll
= react_component :poll, disabled: true, poll: ActiveModelSerializers::SerializableResource.new(status.preloadable_poll, serializer: REST::PollSerializer, scope: current_user, scope_name: :current_user).as_json do
= render partial: 'stream_entries/poll', locals: { status: status, poll: status.preloadable_poll, autoplay: autoplay }
- elsif !status.media_attachments.empty?
- if status.media_attachments.first.video?
- video = status.media_attachments.first

@ -9,7 +9,7 @@ class ActivityPub::DistributePollUpdateWorker
@status = Status.find(status_id)
@account = @status.account
return if @status.poll.nil? || @status.local_only?
return if @status.preloadable_poll.nil? || @status.local_only?
ActivityPub::DeliveryWorker.push_bulk(inboxes) do |inbox_url|
[payload, @account.id, inbox_url]
@ -29,7 +29,7 @@ class ActivityPub::DistributePollUpdateWorker
def inboxes
return @inboxes if defined?(@inboxes)
@inboxes = [@status.mentions, @status.reblogs, @status.poll.votes].flat_map do |relation|
@inboxes = [@status.mentions, @status.reblogs, @status.preloadable_poll.votes].flat_map do |relation|
relation.includes(:account).map do |record|
record.account.preferred_inbox_url if !record.account.local? && record.account.activitypub?
end

@ -3,3 +3,22 @@ ActiveModelSerializers.config.tap do |config|
end
ActiveSupport::Notifications.unsubscribe(ActiveModelSerializers::Logging::RENDER_EVENT)
class ActiveModel::Serializer::Reflection
# We monkey-patch this method so that when we include associations in a serializer,
# the nested serializers can send information about used contexts upwards back to
# the root. We do this via instance_options because the nesting can be dynamic.
def build_association(parent_serializer, parent_serializer_options, include_slice = {})
serializer = options[:serializer]
parent_serializer_options.merge!(named_contexts: serializer._named_contexts, context_extensions: serializer._context_extensions) if serializer.respond_to?(:_named_contexts)
association_options = {
parent_serializer: parent_serializer,
parent_serializer_options: parent_serializer_options,
include_slice: include_slice,
}
ActiveModel::Serializer::Association.new(self, association_options)
end
end

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save