Merge branch 'main' into glitch-soc/merge-upstream

Conflicts:
- `app/services/remove_status_service.rb`:
  Conflict due to glitch-soc having extra code for a proper direct visibility
  timeline, in a part of the code upstream refactored.
  Restored glitch-soc's extra code in the refactored bit.
signup-info-prompt
Claire 2022-05-16 09:42:32 +02:00
commit 040b7d37a4
163 changed files with 1785 additions and 991 deletions

View File

@ -7,7 +7,7 @@ gem 'pkg-config', '~> 1.4'
gem 'rexml', '~> 3.2' gem 'rexml', '~> 3.2'
gem 'puma', '~> 5.6' gem 'puma', '~> 5.6'
gem 'rails', '~> 6.1.5' gem 'rails', '~> 6.1.6'
gem 'sprockets', '~> 3.7.2' gem 'sprockets', '~> 3.7.2'
gem 'thor', '~> 1.2' gem 'thor', '~> 1.2'
gem 'rack', '~> 2.2.3' gem 'rack', '~> 2.2.3'
@ -18,7 +18,7 @@ gem 'makara', '~> 0.5'
gem 'pghero', '~> 2.8' gem 'pghero', '~> 2.8'
gem 'dotenv-rails', '~> 2.7' gem 'dotenv-rails', '~> 2.7'
gem 'aws-sdk-s3', '~> 1.113', require: false gem 'aws-sdk-s3', '~> 1.114', require: false
gem 'fog-core', '<= 2.1.0' gem 'fog-core', '<= 2.1.0'
gem 'fog-openstack', '~> 0.3', require: false gem 'fog-openstack', '~> 0.3', require: false
gem 'kt-paperclip', '~> 7.1' gem 'kt-paperclip', '~> 7.1'

View File

@ -1,40 +1,40 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
actioncable (6.1.5.1) actioncable (6.1.6)
actionpack (= 6.1.5.1) actionpack (= 6.1.6)
activesupport (= 6.1.5.1) activesupport (= 6.1.6)
nio4r (~> 2.0) nio4r (~> 2.0)
websocket-driver (>= 0.6.1) websocket-driver (>= 0.6.1)
actionmailbox (6.1.5.1) actionmailbox (6.1.6)
actionpack (= 6.1.5.1) actionpack (= 6.1.6)
activejob (= 6.1.5.1) activejob (= 6.1.6)
activerecord (= 6.1.5.1) activerecord (= 6.1.6)
activestorage (= 6.1.5.1) activestorage (= 6.1.6)
activesupport (= 6.1.5.1) activesupport (= 6.1.6)
mail (>= 2.7.1) mail (>= 2.7.1)
actionmailer (6.1.5.1) actionmailer (6.1.6)
actionpack (= 6.1.5.1) actionpack (= 6.1.6)
actionview (= 6.1.5.1) actionview (= 6.1.6)
activejob (= 6.1.5.1) activejob (= 6.1.6)
activesupport (= 6.1.5.1) activesupport (= 6.1.6)
mail (~> 2.5, >= 2.5.4) mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
actionpack (6.1.5.1) actionpack (6.1.6)
actionview (= 6.1.5.1) actionview (= 6.1.6)
activesupport (= 6.1.5.1) activesupport (= 6.1.6)
rack (~> 2.0, >= 2.0.9) rack (~> 2.0, >= 2.0.9)
rack-test (>= 0.6.3) rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0)
actiontext (6.1.5.1) actiontext (6.1.6)
actionpack (= 6.1.5.1) actionpack (= 6.1.6)
activerecord (= 6.1.5.1) activerecord (= 6.1.6)
activestorage (= 6.1.5.1) activestorage (= 6.1.6)
activesupport (= 6.1.5.1) activesupport (= 6.1.6)
nokogiri (>= 1.8.5) nokogiri (>= 1.8.5)
actionview (6.1.5.1) actionview (6.1.6)
activesupport (= 6.1.5.1) activesupport (= 6.1.6)
builder (~> 3.1) builder (~> 3.1)
erubi (~> 1.4) erubi (~> 1.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
@ -45,22 +45,22 @@ GEM
case_transform (>= 0.2) case_transform (>= 0.2)
jsonapi-renderer (>= 0.1.1.beta1, < 0.3) jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
active_record_query_trace (1.8) active_record_query_trace (1.8)
activejob (6.1.5.1) activejob (6.1.6)
activesupport (= 6.1.5.1) activesupport (= 6.1.6)
globalid (>= 0.3.6) globalid (>= 0.3.6)
activemodel (6.1.5.1) activemodel (6.1.6)
activesupport (= 6.1.5.1) activesupport (= 6.1.6)
activerecord (6.1.5.1) activerecord (6.1.6)
activemodel (= 6.1.5.1) activemodel (= 6.1.6)
activesupport (= 6.1.5.1) activesupport (= 6.1.6)
activestorage (6.1.5.1) activestorage (6.1.6)
actionpack (= 6.1.5.1) actionpack (= 6.1.6)
activejob (= 6.1.5.1) activejob (= 6.1.6)
activerecord (= 6.1.5.1) activerecord (= 6.1.6)
activesupport (= 6.1.5.1) activesupport (= 6.1.6)
marcel (~> 1.0) marcel (~> 1.0)
mini_mime (>= 1.1.0) mini_mime (>= 1.1.0)
activesupport (6.1.5.1) activesupport (6.1.6)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2) i18n (>= 1.6, < 2)
minitest (>= 5.1) minitest (>= 5.1)
@ -81,7 +81,7 @@ GEM
attr_required (1.0.1) attr_required (1.0.1)
awrence (1.1.1) awrence (1.1.1)
aws-eventstream (1.2.0) aws-eventstream (1.2.0)
aws-partitions (1.582.0) aws-partitions (1.587.0)
aws-sdk-core (3.130.2) aws-sdk-core (3.130.2)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.525.0) aws-partitions (~> 1, >= 1.525.0)
@ -90,7 +90,7 @@ GEM
aws-sdk-kms (1.56.0) aws-sdk-kms (1.56.0)
aws-sdk-core (~> 3, >= 3.127.0) aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.113.2) aws-sdk-s3 (1.114.0)
aws-sdk-core (~> 3, >= 3.127.0) aws-sdk-core (~> 3, >= 3.127.0)
aws-sdk-kms (~> 1) aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4) aws-sigv4 (~> 1.4)
@ -376,7 +376,7 @@ GEM
activesupport (>= 4) activesupport (>= 4)
railties (>= 4) railties (>= 4)
request_store (~> 1.0) request_store (~> 1.0)
loofah (2.17.0) loofah (2.18.0)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.5.9) nokogiri (>= 1.5.9)
mail (2.7.1) mail (2.7.1)
@ -406,7 +406,7 @@ GEM
net-ssh (>= 2.6.5, < 7.0.0) net-ssh (>= 2.6.5, < 7.0.0)
net-ssh (6.1.0) net-ssh (6.1.0)
nio4r (2.5.8) nio4r (2.5.8)
nokogiri (1.13.4) nokogiri (1.13.6)
mini_portile2 (~> 2.8.0) mini_portile2 (~> 2.8.0)
racc (~> 1.4) racc (~> 1.4)
nsa (0.2.8) nsa (0.2.8)
@ -491,20 +491,20 @@ GEM
rack rack
rack-test (1.1.0) rack-test (1.1.0)
rack (>= 1.0, < 3) rack (>= 1.0, < 3)
rails (6.1.5.1) rails (6.1.6)
actioncable (= 6.1.5.1) actioncable (= 6.1.6)
actionmailbox (= 6.1.5.1) actionmailbox (= 6.1.6)
actionmailer (= 6.1.5.1) actionmailer (= 6.1.6)
actionpack (= 6.1.5.1) actionpack (= 6.1.6)
actiontext (= 6.1.5.1) actiontext (= 6.1.6)
actionview (= 6.1.5.1) actionview (= 6.1.6)
activejob (= 6.1.5.1) activejob (= 6.1.6)
activemodel (= 6.1.5.1) activemodel (= 6.1.6)
activerecord (= 6.1.5.1) activerecord (= 6.1.6)
activestorage (= 6.1.5.1) activestorage (= 6.1.6)
activesupport (= 6.1.5.1) activesupport (= 6.1.6)
bundler (>= 1.15.0) bundler (>= 1.15.0)
railties (= 6.1.5.1) railties (= 6.1.6)
sprockets-rails (>= 2.0.0) sprockets-rails (>= 2.0.0)
rails-controller-testing (1.0.5) rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1) actionpack (>= 5.0.1.rc1)
@ -520,9 +520,9 @@ GEM
railties (>= 6.0.0, < 7) railties (>= 6.0.0, < 7)
rails-settings-cached (0.6.6) rails-settings-cached (0.6.6)
rails (>= 4.2.0) rails (>= 4.2.0)
railties (6.1.5.1) railties (6.1.6)
actionpack (= 6.1.5.1) actionpack (= 6.1.6)
activesupport (= 6.1.5.1) activesupport (= 6.1.6)
method_source method_source
rake (>= 12.2) rake (>= 12.2)
thor (~> 1.0) thor (~> 1.0)
@ -732,7 +732,7 @@ DEPENDENCIES
active_record_query_trace (~> 1.8) active_record_query_trace (~> 1.8)
addressable (~> 2.8) addressable (~> 2.8)
annotate (~> 3.2) annotate (~> 3.2)
aws-sdk-s3 (~> 1.113) aws-sdk-s3 (~> 1.114)
better_errors (~> 2.9) better_errors (~> 2.9)
binding_of_caller (~> 1.0) binding_of_caller (~> 1.0)
blurhash (~> 0.1) blurhash (~> 0.1)
@ -812,7 +812,7 @@ DEPENDENCIES
rack (~> 2.2.3) rack (~> 2.2.3)
rack-attack (~> 6.6) rack-attack (~> 6.6)
rack-cors (~> 1.1) rack-cors (~> 1.1)
rails (~> 6.1.5) rails (~> 6.1.6)
rails-controller-testing (~> 1.0) rails-controller-testing (~> 1.0)
rails-i18n (~> 6.0) rails-i18n (~> 6.0)
rails-settings-cached (~> 0.6) rails-settings-cached (~> 0.6)

View File

@ -4,6 +4,7 @@ class MediaProxyController < ApplicationController
include RoutingHelper include RoutingHelper
include Authorization include Authorization
include Redisable include Redisable
include Lockable
skip_before_action :store_current_location skip_before_action :store_current_location
skip_before_action :require_functional! skip_before_action :require_functional!
@ -16,14 +17,10 @@ class MediaProxyController < ApplicationController
rescue_from HTTP::TimeoutError, HTTP::ConnectionError, OpenSSL::SSL::SSLError, with: :internal_server_error rescue_from HTTP::TimeoutError, HTTP::ConnectionError, OpenSSL::SSL::SSLError, with: :internal_server_error
def show def show
RedisLock.acquire(lock_options) do |lock| with_lock("media_download:#{params[:id]}") do
if lock.acquired? @media_attachment = MediaAttachment.remote.attached.find(params[:id])
@media_attachment = MediaAttachment.remote.attached.find(params[:id]) authorize @media_attachment.status, :show?
authorize @media_attachment.status, :show? redownload! if @media_attachment.needs_redownload? && !reject_media?
redownload! if @media_attachment.needs_redownload? && !reject_media?
else
raise Mastodon::RaceConditionError
end
end end
redirect_to full_asset_url(@media_attachment.file.url(version)) redirect_to full_asset_url(@media_attachment.file.url(version))
@ -45,10 +42,6 @@ class MediaProxyController < ApplicationController
end end
end end
def lock_options
{ redis: redis, key: "media_download:#{params[:id]}", autorelease: 15.minutes.seconds }
end
def reject_media? def reject_media?
DomainBlock.reject_media?(@media_attachment.account.domain) DomainBlock.reject_media?(@media_attachment.account.domain)
end end

View File

@ -3,6 +3,7 @@
class Settings::ExportsController < Settings::BaseController class Settings::ExportsController < Settings::BaseController
include Authorization include Authorization
include Redisable include Redisable
include Lockable
skip_before_action :require_functional! skip_before_action :require_functional!
@ -14,21 +15,13 @@ class Settings::ExportsController < Settings::BaseController
def create def create
backup = nil backup = nil
RedisLock.acquire(lock_options) do |lock| with_lock("backup:#{current_user.id}") do
if lock.acquired? authorize :backup, :create?
authorize :backup, :create? backup = current_user.backups.create!
backup = current_user.backups.create!
else
raise Mastodon::RaceConditionError
end
end end
BackupWorker.perform_async(backup.id) BackupWorker.perform_async(backup.id)
redirect_to settings_export_path redirect_to settings_export_path
end end
def lock_options
{ redis: redis, key: "backup:#{current_user.id}" }
end
end end

View File

@ -20,12 +20,12 @@
"account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}", "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
"account.following": "Following", "account.following": "Following",
"account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
"account.follows.empty": "This user doesn't follow anyone yet.", "account.follows.empty": "Die gebruiker volg nie tans iemand nie.",
"account.follows_you": "Volg jou", "account.follows_you": "Volg jou",
"account.hide_reblogs": "Versteek hupstoot vanaf @{name}", "account.hide_reblogs": "Versteek hupstoot vanaf @{name}",
"account.joined": "{date} aangesluit", "account.joined": "{date} aangesluit",
"account.link_verified_on": "Eienaarskap van die skakel was getoets op {date}", "account.link_verified_on": "Eienaarskap van die skakel was getoets op {date}",
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.locked_info": "Die rekening se privaatheidstatus is gesluit. Die eienaar hersien handmatig wie hom/haar kan volg.",
"account.media": "Media", "account.media": "Media",
"account.mention": "Noem @{name}", "account.mention": "Noem @{name}",
"account.moved_to": "{name} is geskuif na:", "account.moved_to": "{name} is geskuif na:",
@ -43,7 +43,7 @@
"account.unblock_domain": "Ontblok domein {domain}", "account.unblock_domain": "Ontblok domein {domain}",
"account.unblock_short": "Ontblok", "account.unblock_short": "Ontblok",
"account.unendorse": "Moenie beklemtoon op profiel nie", "account.unendorse": "Moenie beklemtoon op profiel nie",
"account.unfollow": "Unfollow", "account.unfollow": "Ontvolg",
"account.unmute": "Ontdemp @{name}", "account.unmute": "Ontdemp @{name}",
"account.unmute_notifications": "Ontdemp kennisgewings vanaf @{name}", "account.unmute_notifications": "Ontdemp kennisgewings vanaf @{name}",
"account.unmute_short": "Ontdemp", "account.unmute_short": "Ontdemp",
@ -63,50 +63,50 @@
"boost_modal.combo": "You can press {combo} to skip this next time", "boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
"bundle_column_error.retry": "Probeer weer", "bundle_column_error.retry": "Probeer weer",
"bundle_column_error.title": "Network error", "bundle_column_error.title": "Netwerk fout",
"bundle_modal_error.close": "Close", "bundle_modal_error.close": "Close",
"bundle_modal_error.message": "Something went wrong while loading this component.", "bundle_modal_error.message": "Iets het verkeerd gegaan terwyl hierdie komponent besig was om te laai.",
"bundle_modal_error.retry": "Try again", "bundle_modal_error.retry": "Probeer weer",
"column.blocks": "Blocked users", "column.blocks": "Blocked users",
"column.bookmarks": "Bookmarks", "column.bookmarks": "Boekmerke",
"column.community": "Local timeline", "column.community": "Plaaslike tydlyn",
"column.direct": "Direkte boodskappe", "column.direct": "Direkte boodskappe",
"column.directory": "Browse profiles", "column.directory": "Blaai deur profiele",
"column.domain_blocks": "Blocked domains", "column.domain_blocks": "Geblokte domeine",
"column.favourites": "Favourites", "column.favourites": "Gunstelinge",
"column.follow_requests": "Follow requests", "column.follow_requests": "Volgversoeke",
"column.home": "Tuis", "column.home": "Tuis",
"column.lists": "Lyste", "column.lists": "Lyste",
"column.mutes": "Gedempte gebruikers", "column.mutes": "Gedempte gebruikers",
"column.notifications": "Kennisgewings", "column.notifications": "Kennisgewings",
"column.pins": "Pinned toot", "column.pins": "Pinned toot",
"column.public": "Federated timeline", "column.public": "Gefedereerde tydlyn",
"column_back_button.label": "Terug", "column_back_button.label": "Terug",
"column_header.hide_settings": "Versteek instellings", "column_header.hide_settings": "Versteek instellings",
"column_header.moveLeft_settings": "Skuif kolom na links", "column_header.moveLeft_settings": "Skuif kolom na links",
"column_header.moveRight_settings": "Skuif kolom na regs", "column_header.moveRight_settings": "Skuif kolom na regs",
"column_header.pin": "Pin", "column_header.pin": "Pen vas",
"column_header.show_settings": "Wys instellings", "column_header.show_settings": "Wys instellings",
"column_header.unpin": "Unpin", "column_header.unpin": "Ontpen",
"column_subheading.settings": "Instellings", "column_subheading.settings": "Instellings",
"community.column_settings.local_only": "Slegs plaaslik", "community.column_settings.local_only": "Slegs plaaslik",
"community.column_settings.media_only": "Media only", "community.column_settings.media_only": "Media only",
"community.column_settings.remote_only": "Remote only", "community.column_settings.remote_only": "Slegs afgeleë",
"compose_form.direct_message_warning_learn_more": "Learn more", "compose_form.direct_message_warning_learn_more": "Leer meer",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.encryption_warning": "Plasings op Mastodon het nie end-tot-end enkripsie nie. Moet nie enige gevaarlike inligting oor Mastodon deel nie.",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked", "compose_form.lock_disclaimer.lock": "gesluit",
"compose_form.placeholder": "What is on your mind?", "compose_form.placeholder": "What is on your mind?",
"compose_form.poll.add_option": "Add a choice", "compose_form.poll.add_option": "Voeg 'n keuse by",
"compose_form.poll.duration": "Poll duration", "compose_form.poll.duration": "Duur van peiling",
"compose_form.poll.option_placeholder": "Choice {number}", "compose_form.poll.option_placeholder": "Keuse {number}",
"compose_form.poll.remove_option": "Remove this choice", "compose_form.poll.remove_option": "Verwyder hierdie keuse",
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices", "compose_form.poll.switch_to_multiple": "Verander die peiling na verskeie keuses",
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice", "compose_form.poll.switch_to_single": "Verander die peiling na 'n enkel keuse",
"compose_form.publish": "Toot", "compose_form.publish": "Toet",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Save changes", "compose_form.save_changes": "Stoor veranderinge",
"compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}", "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
"compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}", "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}", "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Add to list", "lists.account.add": "Add to list",
"lists.account.remove": "Remove from list", "lists.account.remove": "Remove from list",
"lists.delete": "Delete list", "lists.delete": "Delete list",

View File

@ -93,7 +93,7 @@
"community.column_settings.media_only": "الوسائط فقط", "community.column_settings.media_only": "الوسائط فقط",
"community.column_settings.remote_only": "عن بُعد فقط", "community.column_settings.remote_only": "عن بُعد فقط",
"compose_form.direct_message_warning_learn_more": "تَعَلَّم المَزيد", "compose_form.direct_message_warning_learn_more": "تَعَلَّم المَزيد",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.encryption_warning": "إنّ المنشورات على ماستدون ليست مشفرة من النهاية إلى النهاية. لا تشارك أي معلومات حساسة عبر ماستدون.",
"compose_form.hashtag_warning": "لن يُدرَج هذا المنشور تحت أي وسم بما أنَّه غير مُدرَج. فقط المنشورات العامة يُمكن البحث عنها بواسطة الوسم.", "compose_form.hashtag_warning": "لن يُدرَج هذا المنشور تحت أي وسم بما أنَّه غير مُدرَج. فقط المنشورات العامة يُمكن البحث عنها بواسطة الوسم.",
"compose_form.lock_disclaimer": "حسابُك غير {locked}. يُمكن لأي شخص مُتابعتك لرؤية (منشورات المتابعين فقط).", "compose_form.lock_disclaimer": "حسابُك غير {locked}. يُمكن لأي شخص مُتابعتك لرؤية (منشورات المتابعين فقط).",
"compose_form.lock_disclaimer.lock": "مُقفَل", "compose_form.lock_disclaimer.lock": "مُقفَل",
@ -168,7 +168,7 @@
"empty_column.community": "الخط العام المحلي فارغ. أكتب شيئا ما للعامة كبداية!", "empty_column.community": "الخط العام المحلي فارغ. أكتب شيئا ما للعامة كبداية!",
"empty_column.direct": "لم تتلق أية رسالة خاصة مباشِرة بعد. سوف يتم عرض الرسائل المباشرة هنا إن قمت بإرسال واحدة أو تلقيت البعض منها.", "empty_column.direct": "لم تتلق أية رسالة خاصة مباشِرة بعد. سوف يتم عرض الرسائل المباشرة هنا إن قمت بإرسال واحدة أو تلقيت البعض منها.",
"empty_column.domain_blocks": "ليس هناك نطاقات مخفية بعد.", "empty_column.domain_blocks": "ليس هناك نطاقات مخفية بعد.",
"empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.explore_statuses": "ليس هناك ما هو متداوَل الآن. عد في وقت لاحق!",
"empty_column.favourited_statuses": "ليس لديك أية منشورات مفضلة بعد. عندما ستقوم بالإعجاب بواحدة، ستظهر هنا.", "empty_column.favourited_statuses": "ليس لديك أية منشورات مفضلة بعد. عندما ستقوم بالإعجاب بواحدة، ستظهر هنا.",
"empty_column.favourites": "لم يقم أي أحد بالإعجاب بهذا المنشور بعد. عندما يقوم أحدهم بذلك سوف يظهر هنا.", "empty_column.favourites": "لم يقم أي أحد بالإعجاب بهذا المنشور بعد. عندما يقوم أحدهم بذلك سوف يظهر هنا.",
"empty_column.follow_recommendations": "يبدو أنه لا يمكن إنشاء أي اقتراحات لك. يمكنك البحث عن أشخاص قد تعرفهم أو استكشاف الوسوم الرائجة.", "empty_column.follow_recommendations": "يبدو أنه لا يمكن إنشاء أي اقتراحات لك. يمكنك البحث عن أشخاص قد تعرفهم أو استكشاف الوسوم الرائجة.",
@ -264,6 +264,8 @@
"lightbox.expand": "توسيع مربع عرض الصور", "lightbox.expand": "توسيع مربع عرض الصور",
"lightbox.next": "التالي", "lightbox.next": "التالي",
"lightbox.previous": "العودة", "lightbox.previous": "العودة",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "أضف إلى القائمة", "lists.account.add": "أضف إلى القائمة",
"lists.account.remove": "احذف من القائمة", "lists.account.remove": "احذف من القائمة",
"lists.delete": "احذف القائمة", "lists.delete": "احذف القائمة",
@ -372,7 +374,7 @@
"privacy.private.short": "للمتابِعين فقط", "privacy.private.short": "للمتابِعين فقط",
"privacy.public.long": "مرئي للكل", "privacy.public.long": "مرئي للكل",
"privacy.public.short": "للعامة", "privacy.public.short": "للعامة",
"privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.long": "مرئي للجميع، ولكن مِن دون ميزات الاكتشاف",
"privacy.unlisted.short": "غير مدرج", "privacy.unlisted.short": "غير مدرج",
"refresh": "أنعِش", "refresh": "أنعِش",
"regeneration_indicator.label": "جارٍ التحميل…", "regeneration_indicator.label": "جارٍ التحميل…",
@ -395,7 +397,7 @@
"report.categories.spam": "مزعج", "report.categories.spam": "مزعج",
"report.categories.violation": "المحتوى ينتهك شرطا أو عدة شروط استخدام للخادم", "report.categories.violation": "المحتوى ينتهك شرطا أو عدة شروط استخدام للخادم",
"report.category.subtitle": "اختر أفضل تطابق", "report.category.subtitle": "اختر أفضل تطابق",
"report.category.title": "Tell us what's going on with this {type}", "report.category.title": "وضح لنا ما أمر {type}",
"report.category.title_account": "ملف تعريفي", "report.category.title_account": "ملف تعريفي",
"report.category.title_status": "منشور", "report.category.title_status": "منشور",
"report.close": "تم", "report.close": "تم",
@ -411,9 +413,9 @@
"report.reasons.other": "شيء آخر", "report.reasons.other": "شيء آخر",
"report.reasons.other_description": "لا تندرج هذه المشكلة ضمن فئات أخرى", "report.reasons.other_description": "لا تندرج هذه المشكلة ضمن فئات أخرى",
"report.reasons.spam": "إنها رسالة مزعجة", "report.reasons.spam": "إنها رسالة مزعجة",
"report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", "report.reasons.spam_description": "روابط خبيثة أو تفاعل كاذب أو ردود متكررة",
"report.reasons.violation": "ينتهك قواعد الخادم", "report.reasons.violation": "ينتهك قواعد الخادم",
"report.reasons.violation_description": "You are aware that it breaks specific rules", "report.reasons.violation_description": "تعلم أنه ينتهك قواعد محددة",
"report.rules.subtitle": "اختر كل ما ينطبق", "report.rules.subtitle": "اختر كل ما ينطبق",
"report.rules.title": "ما هي القواعد المنتهكة؟", "report.rules.title": "ما هي القواعد المنتهكة؟",
"report.statuses.subtitle": "اختر كل ما ينطبق", "report.statuses.subtitle": "اختر كل ما ينطبق",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Siguiente", "lightbox.next": "Siguiente",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Amestar a la llista", "lists.account.add": "Amestar a la llista",
"lists.account.remove": "Desaniciar de la llista", "lists.account.remove": "Desaniciar de la llista",
"lists.delete": "Desaniciar la llista", "lists.delete": "Desaniciar la llista",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Разгъване на полето за преглед на изображение", "lightbox.expand": "Разгъване на полето за преглед на изображение",
"lightbox.next": "Напред", "lightbox.next": "Напред",
"lightbox.previous": "Назад", "lightbox.previous": "Назад",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Добавяне към списък", "lists.account.add": "Добавяне към списък",
"lists.account.remove": "Премахване от списък", "lists.account.remove": "Премахване от списък",
"lists.delete": "Изтриване на списък", "lists.delete": "Изтриване на списък",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "পরবর্তী", "lightbox.next": "পরবর্তী",
"lightbox.previous": "পূর্ববর্তী", "lightbox.previous": "পূর্ববর্তী",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "তালিকাতে যুক্ত করতে", "lists.account.add": "তালিকাতে যুক্ত করতে",
"lists.account.remove": "তালিকা থেকে বাদ দিতে", "lists.account.remove": "তালিকা থেকে বাদ দিতে",
"lists.delete": "তালিকা মুছে ফেলতে", "lists.delete": "তালিকা মুছে ফেলতে",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Ledanaat boest hewel ar skeudenn", "lightbox.expand": "Ledanaat boest hewel ar skeudenn",
"lightbox.next": "Da-heul", "lightbox.next": "Da-heul",
"lightbox.previous": "A-raok", "lightbox.previous": "A-raok",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Ouzhpennañ d'al listenn", "lists.account.add": "Ouzhpennañ d'al listenn",
"lists.account.remove": "Lemel kuit eus al listenn", "lists.account.remove": "Lemel kuit eus al listenn",
"lists.delete": "Dilemel al listenn", "lists.delete": "Dilemel al listenn",

View File

@ -138,7 +138,7 @@
"confirmations.unfollow.message": "Segur que vols deixar de seguir {name}?", "confirmations.unfollow.message": "Segur que vols deixar de seguir {name}?",
"conversation.delete": "Elimina la conversa", "conversation.delete": "Elimina la conversa",
"conversation.mark_as_read": "Marca com a llegida", "conversation.mark_as_read": "Marca com a llegida",
"conversation.open": "Veure conversa", "conversation.open": "Mostra la conversa",
"conversation.with": "Amb {names}", "conversation.with": "Amb {names}",
"directory.federated": "Del fedivers conegut", "directory.federated": "Del fedivers conegut",
"directory.local": "Només de {domain}", "directory.local": "Només de {domain}",
@ -264,6 +264,8 @@
"lightbox.expand": "Amplia el quadre de visualització de limatge", "lightbox.expand": "Amplia el quadre de visualització de limatge",
"lightbox.next": "Següent", "lightbox.next": "Següent",
"lightbox.previous": "Anterior", "lightbox.previous": "Anterior",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Afegeix a la llista", "lists.account.add": "Afegeix a la llista",
"lists.account.remove": "Elimina de la llista", "lists.account.remove": "Elimina de la llista",
"lists.delete": "Esborra la llista", "lists.delete": "Esborra la llista",
@ -463,7 +465,7 @@
"status.mention": "Esmenta @{name}", "status.mention": "Esmenta @{name}",
"status.more": "Més", "status.more": "Més",
"status.mute": "Silencia @{name}", "status.mute": "Silencia @{name}",
"status.mute_conversation": "Silencia conversació", "status.mute_conversation": "Silencia la conversa",
"status.open": "Amplia la publicació", "status.open": "Amplia la publicació",
"status.pin": "Fixa en el perfil", "status.pin": "Fixa en el perfil",
"status.pinned": "Publicació fixada", "status.pinned": "Publicació fixada",

View File

@ -18,12 +18,12 @@
"account.followers": "شوێنکەوتووان", "account.followers": "شوێنکەوتووان",
"account.followers.empty": "کەسێک شوێن ئەم بەکارهێنەرە نەکەوتووە", "account.followers.empty": "کەسێک شوێن ئەم بەکارهێنەرە نەکەوتووە",
"account.followers_counter": "{count, plural, one {{counter} شوێنکەوتوو} other {{counter} شوێنکەوتوو}}", "account.followers_counter": "{count, plural, one {{counter} شوێنکەوتوو} other {{counter} شوێنکەوتوو}}",
"account.following": "Following", "account.following": "دواکەوتن",
"account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
"account.follows.empty": "ئەم بەکارهێنەرە تا ئێستا شوێن کەس نەکەوتووە.", "account.follows.empty": "ئەم بەکارهێنەرە تا ئێستا شوێن کەس نەکەوتووە.",
"account.follows_you": "شوێنکەوتووەکانت", "account.follows_you": "شوێنکەوتووەکانت",
"account.hide_reblogs": "داشاردنی بووستەکان لە @{name}", "account.hide_reblogs": "داشاردنی بووستەکان لە @{name}",
"account.joined": "Joined {date}", "account.joined": "بەشداری {date}",
"account.link_verified_on": "خاوەنداریەتی ئەم لینکە لە {date} چێک کراوە", "account.link_verified_on": "خاوەنداریەتی ئەم لینکە لە {date} چێک کراوە",
"account.locked_info": "تایبەتمەندی ئەم هەژمارەیە ڕیکخراوە بۆ قوفڵدراوە. خاوەنەکە بە دەستی پێداچوونەوە دەکات کە کێ دەتوانێت شوێنیان بکەوێت.", "account.locked_info": "تایبەتمەندی ئەم هەژمارەیە ڕیکخراوە بۆ قوفڵدراوە. خاوەنەکە بە دەستی پێداچوونەوە دەکات کە کێ دەتوانێت شوێنیان بکەوێت.",
"account.media": "میدیا", "account.media": "میدیا",
@ -41,18 +41,18 @@
"account.statuses_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", "account.statuses_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
"account.unblock": "@{name} لاببە", "account.unblock": "@{name} لاببە",
"account.unblock_domain": "کردنەوەی دۆمەینی {domain}", "account.unblock_domain": "کردنەوەی دۆمەینی {domain}",
"account.unblock_short": "Unblock", "account.unblock_short": "لابردنی بەربەست",
"account.unendorse": "تایبەتمەندی لەسەر پرۆفایلەکە نیە", "account.unendorse": "تایبەتمەندی لەسەر پرۆفایلەکە نیە",
"account.unfollow": "بەدوادانەچو", "account.unfollow": "بەدوادانەچو",
"account.unmute": "بێدەنگکردنی @{name}", "account.unmute": "بێدەنگکردنی @{name}",
"account.unmute_notifications": "بێدەنگکردنی هۆشیارییەکان لە @{name}", "account.unmute_notifications": "بێدەنگکردنی هۆشیارییەکان لە @{name}",
"account.unmute_short": "Unmute", "account.unmute_short": "بێدەنگی مەکە",
"account_note.placeholder": "کرتەبکە بۆ زیادکردنی تێبینی", "account_note.placeholder": "کرتەبکە بۆ زیادکردنی تێبینی",
"admin.dashboard.daily_retention": "User retention rate by day after sign-up", "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
"admin.dashboard.monthly_retention": "User retention rate by month after sign-up", "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
"admin.dashboard.retention.average": "Average", "admin.dashboard.retention.average": "Average",
"admin.dashboard.retention.cohort": "Sign-up month", "admin.dashboard.retention.cohort": "چوونەژوورەوەی مانگانە",
"admin.dashboard.retention.cohort_size": "New users", "admin.dashboard.retention.cohort_size": "ئەندامی نوێ",
"alert.rate_limited.message": "تکایە هەوڵبدەرەوە دوای {retry_time, time, medium}.", "alert.rate_limited.message": "تکایە هەوڵبدەرەوە دوای {retry_time, time, medium}.",
"alert.rate_limited.title": "ڕێژەی سنووردار", "alert.rate_limited.title": "ڕێژەی سنووردار",
"alert.unexpected.message": "هەڵەیەکی چاوەڕوان نەکراو ڕوویدا.", "alert.unexpected.message": "هەڵەیەکی چاوەڕوان نەکراو ڕوویدا.",
@ -70,7 +70,7 @@
"column.blocks": "بەکارهێنەرە بلۆککراوەکان", "column.blocks": "بەکارهێنەرە بلۆککراوەکان",
"column.bookmarks": "نیشانەکان", "column.bookmarks": "نیشانەکان",
"column.community": "هێڵی کاتی ناوخۆیی", "column.community": "هێڵی کاتی ناوخۆیی",
"column.direct": "Direct messages", "column.direct": "نامە ڕاستەوخۆ",
"column.directory": "گەڕان لە پرۆفایلەکان", "column.directory": "گەڕان لە پرۆفایلەکان",
"column.domain_blocks": "دۆمەینە داخراوەکان", "column.domain_blocks": "دۆمەینە داخراوەکان",
"column.favourites": "دڵخوازترینەکان", "column.favourites": "دڵخوازترینەکان",
@ -106,7 +106,7 @@
"compose_form.poll.switch_to_single": "گۆڕینی ڕاپرسی بۆ ڕێگەدان بە تاکە هەڵبژاردنێک", "compose_form.poll.switch_to_single": "گۆڕینی ڕاپرسی بۆ ڕێگەدان بە تاکە هەڵبژاردنێک",
"compose_form.publish": "توت", "compose_form.publish": "توت",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Save changes", "compose_form.save_changes": "پاشکەوتی گۆڕانکاریەکان",
"compose_form.sensitive.hide": "نیشانکردنی میدیا وەک هەستیار", "compose_form.sensitive.hide": "نیشانکردنی میدیا وەک هەستیار",
"compose_form.sensitive.marked": "وادەی کۆتایی", "compose_form.sensitive.marked": "وادەی کۆتایی",
"compose_form.sensitive.unmarked": "میدیا وەک هەستیار نیشان نەکراوە", "compose_form.sensitive.unmarked": "میدیا وەک هەستیار نیشان نەکراوە",
@ -160,8 +160,8 @@
"emoji_button.search_results": "ئەنجامەکانی گەڕان", "emoji_button.search_results": "ئەنجامەکانی گەڕان",
"emoji_button.symbols": "هێماکان", "emoji_button.symbols": "هێماکان",
"emoji_button.travel": "گەشت & شوێنەکان", "emoji_button.travel": "گەشت & شوێنەکان",
"empty_column.account_suspended": "Account suspended", "empty_column.account_suspended": "هەژمار ڕاگیرا",
"empty_column.account_timeline": "لێرە هیچ توتەک نییە!", "empty_column.account_timeline": "لێرە هیچ نووسراوە نییە!",
"empty_column.account_unavailable": "پرۆفایل بەردەست نیە", "empty_column.account_unavailable": "پرۆفایل بەردەست نیە",
"empty_column.blocks": "تۆ هێشتا هیچ بەکارهێنەرێکت بلۆک نەکردووە.", "empty_column.blocks": "تۆ هێشتا هیچ بەکارهێنەرێکت بلۆک نەکردووە.",
"empty_column.bookmarked_statuses": "تۆ هێشتا هیچ توتێکی دیاریکراوت نیە کاتێک نیشانەیەک نیشان دەکەیت، لێرە دەرئەکەویت.", "empty_column.bookmarked_statuses": "تۆ هێشتا هیچ توتێکی دیاریکراوت نیە کاتێک نیشانەیەک نیشان دەکەیت، لێرە دەرئەکەویت.",
@ -175,7 +175,7 @@
"empty_column.follow_requests": "تۆ هێشتا هیچ داواکارییەکی بەدواداچووت نیە. کاتێک یەکێکت بۆ هات، لێرە دەرئەکەویت.", "empty_column.follow_requests": "تۆ هێشتا هیچ داواکارییەکی بەدواداچووت نیە. کاتێک یەکێکت بۆ هات، لێرە دەرئەکەویت.",
"empty_column.hashtag": "هێشتا هیچ شتێک لەم هاشتاگەدا نییە.", "empty_column.hashtag": "هێشتا هیچ شتێک لەم هاشتاگەدا نییە.",
"empty_column.home": "تایم لاینی ماڵەوەت بەتاڵە! سەردانی {public} بکە یان گەڕان بەکاربێنە بۆ دەستپێکردن و بینینی بەکارهێنەرانی تر.", "empty_column.home": "تایم لاینی ماڵەوەت بەتاڵە! سەردانی {public} بکە یان گەڕان بەکاربێنە بۆ دەستپێکردن و بینینی بەکارهێنەرانی تر.",
"empty_column.home.suggestions": "See some suggestions", "empty_column.home.suggestions": "چەند پێشنیارێک ببینە",
"empty_column.list": "هێشتا هیچ شتێک لەم لیستەدا نییە. کاتێک ئەندامانی ئەم لیستە دەنگی نوێ بڵاودەکەن، لێرە دەردەکەون.", "empty_column.list": "هێشتا هیچ شتێک لەم لیستەدا نییە. کاتێک ئەندامانی ئەم لیستە دەنگی نوێ بڵاودەکەن، لێرە دەردەکەون.",
"empty_column.lists": "تۆ هێشتا هیچ لیستت دروست نەکردووە، کاتێک دانەیەک دروست دەکەیت، لێرە پیشان دەدرێت.", "empty_column.lists": "تۆ هێشتا هیچ لیستت دروست نەکردووە، کاتێک دانەیەک دروست دەکەیت، لێرە پیشان دەدرێت.",
"empty_column.mutes": "تۆ هێشتا هیچ بەکارهێنەرێکت بێدەنگ نەکردووە.", "empty_column.mutes": "تۆ هێشتا هیچ بەکارهێنەرێکت بێدەنگ نەکردووە.",
@ -187,15 +187,15 @@
"error.unexpected_crash.next_steps_addons": "هەوڵدە لەکاریان بخەیت و لاپەڕەکە تازە بکەوە. ئەگەر ئەمە یارمەتیدەر نەبوو، لەوانەیە هێشتا بتوانیت ماستۆدۆن بەکاربێنیت لە ڕێگەی وێبگەڕەکانی دیکە یان نەرمەکالاکانی ئەسڵی.", "error.unexpected_crash.next_steps_addons": "هەوڵدە لەکاریان بخەیت و لاپەڕەکە تازە بکەوە. ئەگەر ئەمە یارمەتیدەر نەبوو، لەوانەیە هێشتا بتوانیت ماستۆدۆن بەکاربێنیت لە ڕێگەی وێبگەڕەکانی دیکە یان نەرمەکالاکانی ئەسڵی.",
"errors.unexpected_crash.copy_stacktrace": "کۆپیکردنی ستێکتراسی بۆ کلیپ بۆرد", "errors.unexpected_crash.copy_stacktrace": "کۆپیکردنی ستێکتراسی بۆ کلیپ بۆرد",
"errors.unexpected_crash.report_issue": "کێشەی گوزارشت", "errors.unexpected_crash.report_issue": "کێشەی گوزارشت",
"explore.search_results": "Search results", "explore.search_results": "ئەنجامەکانی گەڕان",
"explore.suggested_follows": "For you", "explore.suggested_follows": "بۆ تۆ",
"explore.title": "Explore", "explore.title": "گەڕان",
"explore.trending_links": "News", "explore.trending_links": "هەواڵەکان",
"explore.trending_statuses": "Posts", "explore.trending_statuses": "نووسراوەکان",
"explore.trending_tags": "Hashtags", "explore.trending_tags": "هاشتاگ",
"follow_recommendations.done": "Done", "follow_recommendations.done": "تەواو",
"follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.", "follow_recommendations.heading": "شوێن ئەو کەسانە بکەون کە دەتەوێت پۆستەکان ببینیت لە! لێرەدا چەند پێشنیارێک هەیە.",
"follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!", "follow_recommendations.lead": "بابەتەکانی ئەو کەسانەی کە بەدوایدا دەگەڕێیت بە فەرمانی کرۆنۆلۆجی لە خواردنەکانی ماڵەکەت دەردەکەون. مەترسە لە هەڵەکردن، دەتوانیت بە ئاسانی خەڵک هەڵبکەیت هەر کاتێک!",
"follow_request.authorize": "ده‌سه‌ڵاتپێدراو", "follow_request.authorize": "ده‌سه‌ڵاتپێدراو",
"follow_request.reject": "ڕەتکردنەوە", "follow_request.reject": "ڕەتکردنەوە",
"follow_requests.unlocked_explanation": "هەرچەندە هەژمارەکەت داخراو نییە، ستافی {domain} وا بیریان کردەوە کە لەوانەیە بتانەوێت پێداچوونەوە بە داواکاریەکانی ئەم هەژمارەدا بکەن بە دەستی.", "follow_requests.unlocked_explanation": "هەرچەندە هەژمارەکەت داخراو نییە، ستافی {domain} وا بیریان کردەوە کە لەوانەیە بتانەوێت پێداچوونەوە بە داواکاریەکانی ئەم هەژمارەدا بکەن بە دەستی.",
@ -231,7 +231,7 @@
"keyboard_shortcuts.column": "بۆ ئەوەی تیشک بخاتە سەر توتێک لە یەکێک لە ستوونەکان", "keyboard_shortcuts.column": "بۆ ئەوەی تیشک بخاتە سەر توتێک لە یەکێک لە ستوونەکان",
"keyboard_shortcuts.compose": "بۆ سەرنجدان بە نووسینی ناوچەی دەق", "keyboard_shortcuts.compose": "بۆ سەرنجدان بە نووسینی ناوچەی دەق",
"keyboard_shortcuts.description": "وه‌سف", "keyboard_shortcuts.description": "وه‌سف",
"keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.direct": "بۆ کردنەوەی ستوونی نامە ڕاستەوخۆکان",
"keyboard_shortcuts.down": "بۆ چوونە خوارەوە لە لیستەکەدا", "keyboard_shortcuts.down": "بۆ چوونە خوارەوە لە لیستەکەدا",
"keyboard_shortcuts.enter": "بۆ کردنەوەی توت", "keyboard_shortcuts.enter": "بۆ کردنەوەی توت",
"keyboard_shortcuts.favourite": "بۆ دڵخواز", "keyboard_shortcuts.favourite": "بۆ دڵخواز",
@ -264,6 +264,8 @@
"lightbox.expand": "فراوانکردنی سندوقی بینینی وێنە", "lightbox.expand": "فراوانکردنی سندوقی بینینی وێنە",
"lightbox.next": "داهاتوو", "lightbox.next": "داهاتوو",
"lightbox.previous": "پێشوو", "lightbox.previous": "پێشوو",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "زیادکردن بۆ لیست", "lists.account.add": "زیادکردن بۆ لیست",
"lists.account.remove": "لابردن لە لیست", "lists.account.remove": "لابردن لە لیست",
"lists.delete": "سڕینەوەی لیست", "lists.delete": "سڕینەوەی لیست",
@ -271,9 +273,9 @@
"lists.edit.submit": "گۆڕینی ناونیشان", "lists.edit.submit": "گۆڕینی ناونیشان",
"lists.new.create": "زیادکردنی لیست", "lists.new.create": "زیادکردنی لیست",
"lists.new.title_placeholder": "ناونیشانی لیستی نوێ", "lists.new.title_placeholder": "ناونیشانی لیستی نوێ",
"lists.replies_policy.followed": "Any followed user", "lists.replies_policy.followed": "هەر بەکارهێنەرێکی بەدواکەوتوو",
"lists.replies_policy.list": "Members of the list", "lists.replies_policy.list": "ئەندامانی لیستەکە",
"lists.replies_policy.none": "No one", "lists.replies_policy.none": "هیچکەس",
"lists.replies_policy.title": "پیشاندانی وەڵامەکان بۆ:", "lists.replies_policy.title": "پیشاندانی وەڵامەکان بۆ:",
"lists.search": "بگەڕێ لەناو ئەو کەسانەی کە شوێنیان کەوتویت", "lists.search": "بگەڕێ لەناو ئەو کەسانەی کە شوێنیان کەوتویت",
"lists.subheading": "لیستەکانت", "lists.subheading": "لیستەکانت",
@ -290,11 +292,11 @@
"navigation_bar.bookmarks": "نیشانکراوەکان", "navigation_bar.bookmarks": "نیشانکراوەکان",
"navigation_bar.community_timeline": "دەمنامەی ناوخۆیی", "navigation_bar.community_timeline": "دەمنامەی ناوخۆیی",
"navigation_bar.compose": "نووسینی توتی نوێ", "navigation_bar.compose": "نووسینی توتی نوێ",
"navigation_bar.direct": "Direct messages", "navigation_bar.direct": "نامە ڕاستەوخۆ",
"navigation_bar.discover": "دۆزینەوە", "navigation_bar.discover": "دۆزینەوە",
"navigation_bar.domain_blocks": "دۆمەینە بلۆک کراوەکان", "navigation_bar.domain_blocks": "دۆمەینە بلۆک کراوەکان",
"navigation_bar.edit_profile": "دەستکاری پرۆفایل بکە", "navigation_bar.edit_profile": "دەستکاری پرۆفایل بکە",
"navigation_bar.explore": "Explore", "navigation_bar.explore": "گەڕان",
"navigation_bar.favourites": "دڵخوازەکان", "navigation_bar.favourites": "دڵخوازەکان",
"navigation_bar.filters": "وشە کپەکان", "navigation_bar.filters": "وشە کپەکان",
"navigation_bar.follow_requests": "بەدواداچوی داواکاریەکان بکە", "navigation_bar.follow_requests": "بەدواداچوی داواکاریەکان بکە",
@ -309,7 +311,7 @@
"navigation_bar.preferences": "پەسەندەکان", "navigation_bar.preferences": "پەسەندەکان",
"navigation_bar.public_timeline": "نووسراوەکانی هەمووشوێنێک", "navigation_bar.public_timeline": "نووسراوەکانی هەمووشوێنێک",
"navigation_bar.security": "ئاسایش", "navigation_bar.security": "ئاسایش",
"notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up": "{name} تۆمارکرا",
"notification.favourite": "{name} نووسراوەکەتی پەسەند کرد", "notification.favourite": "{name} نووسراوەکەتی پەسەند کرد",
"notification.follow": "{name} دوای تۆ کەوت", "notification.follow": "{name} دوای تۆ کەوت",
"notification.follow_request": "{name} داوای کردووە کە شوێنت بکەوێت", "notification.follow_request": "{name} داوای کردووە کە شوێنت بکەوێت",
@ -318,15 +320,15 @@
"notification.poll": "ڕاپرسییەک کە دەنگی پێداویت کۆتایی هات", "notification.poll": "ڕاپرسییەک کە دەنگی پێداویت کۆتایی هات",
"notification.reblog": "{name} نووسراوەکەتی دووبارە توتاند", "notification.reblog": "{name} نووسراوەکەتی دووبارە توتاند",
"notification.status": "{name} تازە بڵاوکرایەوە", "notification.status": "{name} تازە بڵاوکرایەوە",
"notification.update": "{name} edited a post", "notification.update": "{name} پۆستێکی دەستکاریکرد",
"notifications.clear": "ئاگانامەکان بسڕیەوە", "notifications.clear": "ئاگانامەکان بسڕیەوە",
"notifications.clear_confirmation": "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی هەموو ئاگانامەکانت بسڕیتەوە?", "notifications.clear_confirmation": "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی هەموو ئاگانامەکانت بسڕیتەوە?",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "چوونەژوورەوەی نوێ:",
"notifications.column_settings.alert": "ئاگانامەکانی پیشانگەرر ڕومێزی", "notifications.column_settings.alert": "ئاگانامەکانی پیشانگەرر ڕومێزی",
"notifications.column_settings.favourite": "دڵخوازترین:", "notifications.column_settings.favourite": "دڵخوازترین:",
"notifications.column_settings.filter_bar.advanced": "هەموو پۆلەکان پیشان بدە", "notifications.column_settings.filter_bar.advanced": "هەموو پۆلەکان پیشان بدە",
"notifications.column_settings.filter_bar.category": "شریتی پاڵێوەری خێرا", "notifications.column_settings.filter_bar.category": "شریتی پاڵێوەری خێرا",
"notifications.column_settings.filter_bar.show_bar": "Show filter bar", "notifications.column_settings.filter_bar.show_bar": "نیشاندانی شریتی پاڵافتن",
"notifications.column_settings.follow": "شوێنکەوتوانی نوێ:", "notifications.column_settings.follow": "شوێنکەوتوانی نوێ:",
"notifications.column_settings.follow_request": "شوینکەوتنی داواکاری نوێ:", "notifications.column_settings.follow_request": "شوینکەوتنی داواکاری نوێ:",
"notifications.column_settings.mention": "ئاماژەکان:", "notifications.column_settings.mention": "ئاماژەکان:",
@ -338,7 +340,7 @@
"notifications.column_settings.status": "توتەکانی نوێ:", "notifications.column_settings.status": "توتەکانی نوێ:",
"notifications.column_settings.unread_notifications.category": "Unread notifications", "notifications.column_settings.unread_notifications.category": "Unread notifications",
"notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
"notifications.column_settings.update": "Edits:", "notifications.column_settings.update": "دەستکاری:",
"notifications.filter.all": "هەموو", "notifications.filter.all": "هەموو",
"notifications.filter.boosts": "دووبارەتوتەکان", "notifications.filter.boosts": "دووبارەتوتەکان",
"notifications.filter.favourites": "دڵخوازەکان", "notifications.filter.favourites": "دڵخوازەکان",
@ -389,30 +391,30 @@
"relative_time.seconds": "{number}کات", "relative_time.seconds": "{number}کات",
"relative_time.today": "ئیمڕۆ", "relative_time.today": "ئیمڕۆ",
"reply_indicator.cancel": "هەڵوەشاندنەوه", "reply_indicator.cancel": "هەڵوەشاندنەوه",
"report.block": "Block", "report.block": "بلۆک",
"report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.block_explanation": "تۆ پۆستەکانیان نابینیت. ئەوان ناتوانن بابەتەکانتان ببینن یان شوێنتان بکەون. ئەوان دەتوانن بڵێن کە بەربەستکراون.",
"report.categories.other": "Other", "report.categories.other": "هی تر",
"report.categories.spam": "Spam", "report.categories.spam": "سپام",
"report.categories.violation": "Content violates one or more server rules", "report.categories.violation": "ناوەڕۆک یەک یان زیاتر لە یاساکانی سێرڤەر پێشێل دەکات",
"report.category.subtitle": "Choose the best match", "report.category.subtitle": "باشترین هاوتا هەڵبژێرە",
"report.category.title": "Tell us what's going on with this {type}", "report.category.title": "پێمان بڵێ بە {type} چی ڕوودەدات",
"report.category.title_account": "profile", "report.category.title_account": "پرۆفایل",
"report.category.title_status": "post", "report.category.title_status": "پۆست",
"report.close": "Done", "report.close": "تەواو",
"report.comment.title": "Is there anything else you think we should know?", "report.comment.title": "ئایا هیچ شتێکی تر هەیە کە پێت وایە ئێمە دەبێت بزانین?",
"report.forward": "ناردن بۆ {target}", "report.forward": "ناردن بۆ {target}",
"report.forward_hint": "هەژمارەکە لە ڕاژەیەکی ترە. ڕونووسێکی نەناسراو بنێرە بۆ گوزارشت لەوێ?", "report.forward_hint": "هەژمارەکە لە ڕاژەیەکی ترە. ڕونووسێکی نەناسراو بنێرە بۆ گوزارشت لەوێ?",
"report.mute": "Mute", "report.mute": "بێدەنگ",
"report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.mute_explanation": "تۆ پۆستەکانیان نابینیت. ئەوان هێشتا دەتوانن شوێنتان بکەون و پۆستەکانتان ببینن و نازانن کە ئەوان بێ دەنگن.",
"report.next": "Next", "report.next": "دواتر",
"report.placeholder": "سەرنجەکانی زیاتر", "report.placeholder": "سەرنجەکانی زیاتر",
"report.reasons.dislike": "I don't like it", "report.reasons.dislike": "حەزم لێی نییە",
"report.reasons.dislike_description": "It is not something you want to see", "report.reasons.dislike_description": "ئەوە شتێک نیە کە دەتەوێت بیبینیت",
"report.reasons.other": "It's something else", "report.reasons.other": "شتێکی ترە",
"report.reasons.other_description": "The issue does not fit into other categories", "report.reasons.other_description": "کێشەکە ناگونجێت بۆ هاوپۆلەکانی تر",
"report.reasons.spam": "It's spam", "report.reasons.spam": "ئەوە سپامە",
"report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", "report.reasons.spam_description": "لینکە خراپەکان، بەشداری ساختە، یان وەڵامدانەوەی دووبارە",
"report.reasons.violation": "It violates server rules", "report.reasons.violation": "یاساکانی سێرڤەر پێشێل دەکات",
"report.reasons.violation_description": "You are aware that it breaks specific rules", "report.reasons.violation_description": "You are aware that it breaks specific rules",
"report.rules.subtitle": "Select all that apply", "report.rules.subtitle": "Select all that apply",
"report.rules.title": "Which rules are being violated?", "report.rules.title": "Which rules are being violated?",
@ -434,7 +436,7 @@
"search_popout.tips.text": "دەقی سادە هەڵدەسێ بە گەڕاندنەوەی هاوتایی ناوی پیشاندان، ناوی بەکارهێنەر و هاشتاگەکان", "search_popout.tips.text": "دەقی سادە هەڵدەسێ بە گەڕاندنەوەی هاوتایی ناوی پیشاندان، ناوی بەکارهێنەر و هاشتاگەکان",
"search_popout.tips.user": "بەکارهێنەر", "search_popout.tips.user": "بەکارهێنەر",
"search_results.accounts": "خەڵک", "search_results.accounts": "خەڵک",
"search_results.all": "All", "search_results.all": "هەموو",
"search_results.hashtags": "هەشتاگ", "search_results.hashtags": "هەشتاگ",
"search_results.nothing_found": "Could not find anything for these search terms", "search_results.nothing_found": "Could not find anything for these search terms",
"search_results.statuses": "توتەکان", "search_results.statuses": "توتەکان",
@ -450,8 +452,8 @@
"status.delete": "سڕینەوە", "status.delete": "سڕینەوە",
"status.detailed_status": "ڕوانگەی گفتوگۆ بە وردەکاری", "status.detailed_status": "ڕوانگەی گفتوگۆ بە وردەکاری",
"status.direct": "پەیامی ڕاستەوخۆ @{name}", "status.direct": "پەیامی ڕاستەوخۆ @{name}",
"status.edit": "Edit", "status.edit": "دەستکاری",
"status.edited": "Edited {date}", "status.edited": "بەشداری {date}",
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
"status.embed": "نیشتەجێ بکە", "status.embed": "نیشتەجێ بکە",
"status.favourite": "دڵخواز", "status.favourite": "دڵخواز",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Ingrandà a finestra d'affissera di i ritratti", "lightbox.expand": "Ingrandà a finestra d'affissera di i ritratti",
"lightbox.next": "Siguente", "lightbox.next": "Siguente",
"lightbox.previous": "Pricidente", "lightbox.previous": "Pricidente",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Aghjunghje à a lista", "lists.account.add": "Aghjunghje à a lista",
"lists.account.remove": "Toglie di a lista", "lists.account.remove": "Toglie di a lista",
"lists.delete": "Toglie a lista", "lists.delete": "Toglie a lista",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Ukázat obrázek v plné velikosti", "lightbox.expand": "Ukázat obrázek v plné velikosti",
"lightbox.next": "Další", "lightbox.next": "Další",
"lightbox.previous": "Předchozí", "lightbox.previous": "Předchozí",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Přidat do seznamu", "lists.account.add": "Přidat do seznamu",
"lists.account.remove": "Odebrat ze seznamu", "lists.account.remove": "Odebrat ze seznamu",
"lists.delete": "Smazat seznam", "lists.delete": "Smazat seznam",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Ehangu blwch gweld delwedd", "lightbox.expand": "Ehangu blwch gweld delwedd",
"lightbox.next": "Nesaf", "lightbox.next": "Nesaf",
"lightbox.previous": "Blaenorol", "lightbox.previous": "Blaenorol",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Ychwanegwch at restr", "lists.account.add": "Ychwanegwch at restr",
"lists.account.remove": "Dileu o'r rhestr", "lists.account.remove": "Dileu o'r rhestr",
"lists.delete": "Dileu rhestr", "lists.delete": "Dileu rhestr",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Udvid billedevisningsfelt", "lightbox.expand": "Udvid billedevisningsfelt",
"lightbox.next": "Næste", "lightbox.next": "Næste",
"lightbox.previous": "Forrige", "lightbox.previous": "Forrige",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Føj til liste", "lists.account.add": "Føj til liste",
"lists.account.remove": "Fjern fra liste", "lists.account.remove": "Fjern fra liste",
"lists.delete": "Slet liste", "lists.delete": "Slet liste",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Bildansicht erweitern", "lightbox.expand": "Bildansicht erweitern",
"lightbox.next": "Weiter", "lightbox.next": "Weiter",
"lightbox.previous": "Zurück", "lightbox.previous": "Zurück",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Zur Liste hinzufügen", "lists.account.add": "Zur Liste hinzufügen",
"lists.account.remove": "Von der Liste entfernen", "lists.account.remove": "Von der Liste entfernen",
"lists.delete": "Liste löschen", "lists.delete": "Liste löschen",

View File

@ -75,6 +75,14 @@
{ {
"defaultMessage": "Unmute notifications from @{name}", "defaultMessage": "Unmute notifications from @{name}",
"id": "account.unmute_notifications" "id": "account.unmute_notifications"
},
{
"defaultMessage": "Mute @{name}",
"id": "account.mute"
},
{
"defaultMessage": "Block @{name}",
"id": "account.block"
} }
], ],
"path": "app/javascript/mastodon/components/account.json" "path": "app/javascript/mastodon/components/account.json"
@ -787,6 +795,19 @@
], ],
"path": "app/javascript/mastodon/features/account_timeline/components/header.json" "path": "app/javascript/mastodon/features/account_timeline/components/header.json"
}, },
{
"descriptors": [
{
"defaultMessage": "This profile has been hidden by the moderators of your server.",
"id": "limited_account_hint.title"
},
{
"defaultMessage": "Show profile anyway",
"id": "limited_account_hint.action"
}
],
"path": "app/javascript/mastodon/features/account_timeline/components/limited_account_hint.json"
},
{ {
"descriptors": [ "descriptors": [
{ {
@ -1888,6 +1909,10 @@
"defaultMessage": "Followers", "defaultMessage": "Followers",
"id": "timeline_hint.resources.followers" "id": "timeline_hint.resources.followers"
}, },
{
"defaultMessage": "Account suspended",
"id": "empty_column.account_suspended"
},
{ {
"defaultMessage": "Profile unavailable", "defaultMessage": "Profile unavailable",
"id": "empty_column.account_unavailable" "id": "empty_column.account_unavailable"
@ -1905,6 +1930,10 @@
"defaultMessage": "Follows", "defaultMessage": "Follows",
"id": "timeline_hint.resources.follows" "id": "timeline_hint.resources.follows"
}, },
{
"defaultMessage": "Account suspended",
"id": "empty_column.account_suspended"
},
{ {
"defaultMessage": "Profile unavailable", "defaultMessage": "Profile unavailable",
"id": "empty_column.account_unavailable" "id": "empty_column.account_unavailable"

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Ανάπτυξη πλαισίου εμφάνισης εικόνας", "lightbox.expand": "Ανάπτυξη πλαισίου εμφάνισης εικόνας",
"lightbox.next": "Επόμενο", "lightbox.next": "Επόμενο",
"lightbox.previous": "Προηγούμενο", "lightbox.previous": "Προηγούμενο",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Πρόσθεσε στη λίστα", "lists.account.add": "Πρόσθεσε στη λίστα",
"lists.account.remove": "Βγάλε από τη λίστα", "lists.account.remove": "Βγάλε από τη λίστα",
"lists.delete": "Διαγραφή λίστας", "lists.delete": "Διαγραφή λίστας",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Add to list", "lists.account.add": "Add to list",
"lists.account.remove": "Remove from list", "lists.account.remove": "Remove from list",
"lists.delete": "Delete list", "lists.delete": "Delete list",

View File

@ -268,6 +268,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Add to list", "lists.account.add": "Add to list",
"lists.account.remove": "Remove from list", "lists.account.remove": "Remove from list",
"lists.delete": "Delete list", "lists.delete": "Delete list",

View File

@ -70,7 +70,7 @@
"column.blocks": "Blokitaj uzantoj", "column.blocks": "Blokitaj uzantoj",
"column.bookmarks": "Legosignoj", "column.bookmarks": "Legosignoj",
"column.community": "Loka templinio", "column.community": "Loka templinio",
"column.direct": "Direct messages", "column.direct": "Rektaj mesaĝoj",
"column.directory": "Trarigardi profilojn", "column.directory": "Trarigardi profilojn",
"column.domain_blocks": "Blokitaj domajnoj", "column.domain_blocks": "Blokitaj domajnoj",
"column.favourites": "Stelumoj", "column.favourites": "Stelumoj",
@ -264,6 +264,8 @@
"lightbox.expand": "Pligrandigi bildan vidkeston", "lightbox.expand": "Pligrandigi bildan vidkeston",
"lightbox.next": "Sekva", "lightbox.next": "Sekva",
"lightbox.previous": "Antaŭa", "lightbox.previous": "Antaŭa",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Aldoni al la listo", "lists.account.add": "Aldoni al la listo",
"lists.account.remove": "Forigi de la listo", "lists.account.remove": "Forigi de la listo",
"lists.delete": "Forigi la liston", "lists.delete": "Forigi la liston",
@ -290,7 +292,7 @@
"navigation_bar.bookmarks": "Legosignoj", "navigation_bar.bookmarks": "Legosignoj",
"navigation_bar.community_timeline": "Loka templinio", "navigation_bar.community_timeline": "Loka templinio",
"navigation_bar.compose": "Skribi novan mesaĝon", "navigation_bar.compose": "Skribi novan mesaĝon",
"navigation_bar.direct": "Direct messages", "navigation_bar.direct": "Rektaj mesaĝoj",
"navigation_bar.discover": "Esplori", "navigation_bar.discover": "Esplori",
"navigation_bar.domain_blocks": "Blokitaj domajnoj", "navigation_bar.domain_blocks": "Blokitaj domajnoj",
"navigation_bar.edit_profile": "Redakti profilon", "navigation_bar.edit_profile": "Redakti profilon",
@ -370,7 +372,7 @@
"privacy.direct.short": "Direct", "privacy.direct.short": "Direct",
"privacy.private.long": "Videbla nur al viaj sekvantoj", "privacy.private.long": "Videbla nur al viaj sekvantoj",
"privacy.private.short": "Followers-only", "privacy.private.short": "Followers-only",
"privacy.public.long": "Visible for all", "privacy.public.long": "Videbla por ĉiuj",
"privacy.public.short": "Publika", "privacy.public.short": "Publika",
"privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "Nelistigita", "privacy.unlisted.short": "Nelistigita",
@ -403,7 +405,7 @@
"report.forward": "Plusendi al {target}", "report.forward": "Plusendi al {target}",
"report.forward_hint": "La konto estas en alia servilo. Ĉu sendi sennomigitan kopion de la signalo ankaŭ tien?", "report.forward_hint": "La konto estas en alia servilo. Ĉu sendi sennomigitan kopion de la signalo ankaŭ tien?",
"report.mute": "Silentigi", "report.mute": "Silentigi",
"report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.mute_explanation": "Vi ne vidos iliajn afiŝojn. Ili ankoraŭ povas sekvi vin kaj vidi viajn afiŝojn, kaj ne scios ke si estas silentigitaj.",
"report.next": "Sekva", "report.next": "Sekva",
"report.placeholder": "Pliaj komentoj", "report.placeholder": "Pliaj komentoj",
"report.reasons.dislike": "Mi ne ŝatas ĝin", "report.reasons.dislike": "Mi ne ŝatas ĝin",
@ -415,7 +417,7 @@
"report.reasons.violation": "Ĝi malrespektas servilajn regulojn", "report.reasons.violation": "Ĝi malrespektas servilajn regulojn",
"report.reasons.violation_description": "You are aware that it breaks specific rules", "report.reasons.violation_description": "You are aware that it breaks specific rules",
"report.rules.subtitle": "Elektu ĉiujn, kiuj validas", "report.rules.subtitle": "Elektu ĉiujn, kiuj validas",
"report.rules.title": "Which rules are being violated?", "report.rules.title": "Kiuj reguloj estas malobservataj?",
"report.statuses.subtitle": "Elektu ĉiujn, kiuj validas", "report.statuses.subtitle": "Elektu ĉiujn, kiuj validas",
"report.statuses.title": "Are there any posts that back up this report?", "report.statuses.title": "Are there any posts that back up this report?",
"report.submit": "Sendi", "report.submit": "Sendi",

View File

@ -18,7 +18,7 @@
"account.followers": "Seguidores", "account.followers": "Seguidores",
"account.followers.empty": "Todavía nadie sigue a este usuario.", "account.followers.empty": "Todavía nadie sigue a este usuario.",
"account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidores}}", "account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidores}}",
"account.following": "Siguiendo", "account.following": "Seguimientos",
"account.following_counter": "{count, plural, other {{counter} Siguiendo}}", "account.following_counter": "{count, plural, other {{counter} Siguiendo}}",
"account.follows.empty": "Todavía este usuario no sigue a nadie.", "account.follows.empty": "Todavía este usuario no sigue a nadie.",
"account.follows_you": "Te sigue", "account.follows_you": "Te sigue",
@ -264,6 +264,8 @@
"lightbox.expand": "Expandir cuadro de vista de imagen", "lightbox.expand": "Expandir cuadro de vista de imagen",
"lightbox.next": "Siguiente", "lightbox.next": "Siguiente",
"lightbox.previous": "Anterior", "lightbox.previous": "Anterior",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Agregar a lista", "lists.account.add": "Agregar a lista",
"lists.account.remove": "Quitar de lista", "lists.account.remove": "Quitar de lista",
"lists.delete": "Eliminar lista", "lists.delete": "Eliminar lista",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expandir cuadro de visualización de imagen", "lightbox.expand": "Expandir cuadro de visualización de imagen",
"lightbox.next": "Siguiente", "lightbox.next": "Siguiente",
"lightbox.previous": "Anterior", "lightbox.previous": "Anterior",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Añadir a lista", "lists.account.add": "Añadir a lista",
"lists.account.remove": "Quitar de lista", "lists.account.remove": "Quitar de lista",
"lists.delete": "Borrar lista", "lists.delete": "Borrar lista",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expandir cuadro de visualización de imagen", "lightbox.expand": "Expandir cuadro de visualización de imagen",
"lightbox.next": "Siguiente", "lightbox.next": "Siguiente",
"lightbox.previous": "Anterior", "lightbox.previous": "Anterior",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Añadir a lista", "lists.account.add": "Añadir a lista",
"lists.account.remove": "Quitar de lista", "lists.account.remove": "Quitar de lista",
"lists.delete": "Borrar lista", "lists.delete": "Borrar lista",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Järgmine", "lightbox.next": "Järgmine",
"lightbox.previous": "Eelmine", "lightbox.previous": "Eelmine",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Lisa nimistusse", "lists.account.add": "Lisa nimistusse",
"lists.account.remove": "Eemalda nimistust", "lists.account.remove": "Eemalda nimistust",
"lists.delete": "Kustuta nimistu", "lists.delete": "Kustuta nimistu",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Zabaldu irudia ikusteko kaxa", "lightbox.expand": "Zabaldu irudia ikusteko kaxa",
"lightbox.next": "Hurrengoa", "lightbox.next": "Hurrengoa",
"lightbox.previous": "Aurrekoa", "lightbox.previous": "Aurrekoa",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Gehitu zerrendara", "lists.account.add": "Gehitu zerrendara",
"lists.account.remove": "Kendu zerrendatik", "lists.account.remove": "Kendu zerrendatik",
"lists.delete": "Ezabatu zerrenda", "lists.delete": "Ezabatu zerrenda",

View File

@ -70,7 +70,7 @@
"column.blocks": "کاربران مسدود شده", "column.blocks": "کاربران مسدود شده",
"column.bookmarks": "نشانک‌ها", "column.bookmarks": "نشانک‌ها",
"column.community": "خط زمانی محلّی", "column.community": "خط زمانی محلّی",
"column.direct": "Direct messages", "column.direct": "پیام‌های مستقیم",
"column.directory": "مرور نمایه‌ها", "column.directory": "مرور نمایه‌ها",
"column.domain_blocks": "دامنه‌های مسدود شده", "column.domain_blocks": "دامنه‌های مسدود شده",
"column.favourites": "پسندیده‌ها", "column.favourites": "پسندیده‌ها",
@ -93,7 +93,7 @@
"community.column_settings.media_only": "فقط رسانه", "community.column_settings.media_only": "فقط رسانه",
"community.column_settings.remote_only": "تنها دوردست", "community.column_settings.remote_only": "تنها دوردست",
"compose_form.direct_message_warning_learn_more": "بیشتر بدانید", "compose_form.direct_message_warning_learn_more": "بیشتر بدانید",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.encryption_warning": "فرسته‌های ماستودون رمزگذاری سرتاسری نشده‌اند. هیچ اطّلاعات خطرناکی را روی ماستودون هم‌رسانی نکنید.",
"compose_form.hashtag_warning": "از آن‌جا که این فرسته فهرست نشده است، در نتایج جست‌وجوی هشتگ‌ها پیدا نخواهد شد. تنها فرسته‌های عمومی را می‌توان با جست‌وجوی هشتگ یافت.", "compose_form.hashtag_warning": "از آن‌جا که این فرسته فهرست نشده است، در نتایج جست‌وجوی هشتگ‌ها پیدا نخواهد شد. تنها فرسته‌های عمومی را می‌توان با جست‌وجوی هشتگ یافت.",
"compose_form.lock_disclaimer": "حسابتان {locked} نیست. هر کسی می‌تواند پی‌گیرتان شده و فرسته‌های ویژهٔ پی‌گیرانتان را ببیند.", "compose_form.lock_disclaimer": "حسابتان {locked} نیست. هر کسی می‌تواند پی‌گیرتان شده و فرسته‌های ویژهٔ پی‌گیرانتان را ببیند.",
"compose_form.lock_disclaimer.lock": "قفل‌شده", "compose_form.lock_disclaimer.lock": "قفل‌شده",
@ -166,7 +166,7 @@
"empty_column.blocks": "هنوز کسی را مسدود نکرده‌اید.", "empty_column.blocks": "هنوز کسی را مسدود نکرده‌اید.",
"empty_column.bookmarked_statuses": "هنوز هیچ فرستهٔ نشانه‌گذاری شده‌ای ندارید. هنگامی که فرسته‌ای را نشانه‌گذاری کنید، این‌جا نشان داده خواهد شد.", "empty_column.bookmarked_statuses": "هنوز هیچ فرستهٔ نشانه‌گذاری شده‌ای ندارید. هنگامی که فرسته‌ای را نشانه‌گذاری کنید، این‌جا نشان داده خواهد شد.",
"empty_column.community": "خط زمانی محلّی خالی است. چیزی بنویسید تا چرخش بچرخد!", "empty_column.community": "خط زمانی محلّی خالی است. چیزی بنویسید تا چرخش بچرخد!",
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", "empty_column.direct": "هنوز هیچ پیام مستقیمی ندارید. هنگامی که چنین پیامی بگیرید یا بفرستید این‌جا نشان داده خواهد شد.",
"empty_column.domain_blocks": "هنوز هیچ دامنه‌ای مسدود نشده است.", "empty_column.domain_blocks": "هنوز هیچ دامنه‌ای مسدود نشده است.",
"empty_column.explore_statuses": "الآن چیزی پرطرفدار نیست. بعداً دوباره بررسی کنید!", "empty_column.explore_statuses": "الآن چیزی پرطرفدار نیست. بعداً دوباره بررسی کنید!",
"empty_column.favourited_statuses": "شما هنوز هیچ فرسته‌ای را نپسندیده‌اید. هنگامی که فرسته‌ای را بپسندید، این‌جا نشان داده خواهد شد.", "empty_column.favourited_statuses": "شما هنوز هیچ فرسته‌ای را نپسندیده‌اید. هنگامی که فرسته‌ای را بپسندید، این‌جا نشان داده خواهد شد.",
@ -231,7 +231,7 @@
"keyboard_shortcuts.column": "برای تمرکز روی یک فرسته در یکی از ستون‌ها", "keyboard_shortcuts.column": "برای تمرکز روی یک فرسته در یکی از ستون‌ها",
"keyboard_shortcuts.compose": "تمرکز روی محیط نوشتن", "keyboard_shortcuts.compose": "تمرکز روی محیط نوشتن",
"keyboard_shortcuts.description": "توضیح", "keyboard_shortcuts.description": "توضیح",
"keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.direct": "برای گشودن ستون پیغام‌های مستقیم",
"keyboard_shortcuts.down": "پایین بردن در سیاهه", "keyboard_shortcuts.down": "پایین بردن در سیاهه",
"keyboard_shortcuts.enter": "گشودن فرسته", "keyboard_shortcuts.enter": "گشودن فرسته",
"keyboard_shortcuts.favourite": "پسندیدن فرسته", "keyboard_shortcuts.favourite": "پسندیدن فرسته",
@ -264,6 +264,8 @@
"lightbox.expand": "گسترش جعبهٔ نمایش تصویر", "lightbox.expand": "گسترش جعبهٔ نمایش تصویر",
"lightbox.next": "بعدی", "lightbox.next": "بعدی",
"lightbox.previous": "قبلی", "lightbox.previous": "قبلی",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "افزودن به سیاهه", "lists.account.add": "افزودن به سیاهه",
"lists.account.remove": "برداشتن از سیاهه", "lists.account.remove": "برداشتن از سیاهه",
"lists.delete": "حذف سیاهه", "lists.delete": "حذف سیاهه",
@ -290,7 +292,7 @@
"navigation_bar.bookmarks": "نشانک‌ها", "navigation_bar.bookmarks": "نشانک‌ها",
"navigation_bar.community_timeline": "خط زمانی محلّی", "navigation_bar.community_timeline": "خط زمانی محلّی",
"navigation_bar.compose": "نوشتن فرستهٔ تازه", "navigation_bar.compose": "نوشتن فرستهٔ تازه",
"navigation_bar.direct": "Direct messages", "navigation_bar.direct": "پیام‌های مستقیم",
"navigation_bar.discover": "گشت و گذار", "navigation_bar.discover": "گشت و گذار",
"navigation_bar.domain_blocks": "دامنه‌های مسدود شده", "navigation_bar.domain_blocks": "دامنه‌های مسدود شده",
"navigation_bar.edit_profile": "ویرایش نمایه", "navigation_bar.edit_profile": "ویرایش نمایه",
@ -366,13 +368,13 @@
"poll_button.add_poll": "افزودن نظرسنجی", "poll_button.add_poll": "افزودن نظرسنجی",
"poll_button.remove_poll": "برداشتن نظرسنجی", "poll_button.remove_poll": "برداشتن نظرسنجی",
"privacy.change": "تغییر محرمانگی فرسته", "privacy.change": "تغییر محرمانگی فرسته",
"privacy.direct.long": "فقط برای کاربران نام‌برده نمایان است", "privacy.direct.long": "نمایان فقط برای کاربران اشاره شده",
"privacy.direct.short": "Direct", "privacy.direct.short": "فقط افراد اشاره شده",
"privacy.private.long": "نمایان فقط برای پی‌گیرندگان", "privacy.private.long": "نمایان فقط برای پی‌گیرندگان",
"privacy.private.short": "Followers-only", "privacy.private.short": "فقط پی‌گیرندگان",
"privacy.public.long": "Visible for all", "privacy.public.long": "نمایان برای همه",
"privacy.public.short": "عمومی", "privacy.public.short": "عمومی",
"privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.long": "نمایان برای همه، ولی خارج از قابلیت‌های کشف",
"privacy.unlisted.short": "فهرست نشده", "privacy.unlisted.short": "فهرست نشده",
"refresh": "نوسازی", "refresh": "نوسازی",
"regeneration_indicator.label": "در حال بار شدن…", "regeneration_indicator.label": "در حال بار شدن…",
@ -515,7 +517,7 @@
"upload_error.poll": "بارگذاری پرونده در نظرسنجی‌ها مجاز نیست.", "upload_error.poll": "بارگذاری پرونده در نظرسنجی‌ها مجاز نیست.",
"upload_form.audio_description": "برای ناشنوایان توصیفش کنید", "upload_form.audio_description": "برای ناشنوایان توصیفش کنید",
"upload_form.description": "برای کم‌بینایان توصیفش کنید", "upload_form.description": "برای کم‌بینایان توصیفش کنید",
"upload_form.description_missing": "No description added", "upload_form.description_missing": "شرحی افزوده نشده",
"upload_form.edit": "ویرایش", "upload_form.edit": "ویرایش",
"upload_form.thumbnail": "تغییر بندانگشتی", "upload_form.thumbnail": "تغییر بندانگشتی",
"upload_form.undo": "حذف", "upload_form.undo": "حذف",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Laajenna kuvan näkymälaatikko", "lightbox.expand": "Laajenna kuvan näkymälaatikko",
"lightbox.next": "Seuraava", "lightbox.next": "Seuraava",
"lightbox.previous": "Edellinen", "lightbox.previous": "Edellinen",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Lisää listaan", "lists.account.add": "Lisää listaan",
"lists.account.remove": "Poista listasta", "lists.account.remove": "Poista listasta",
"lists.delete": "Poista lista", "lists.delete": "Poista lista",

View File

@ -231,7 +231,7 @@
"keyboard_shortcuts.column": "Se placer dans une colonne", "keyboard_shortcuts.column": "Se placer dans une colonne",
"keyboard_shortcuts.compose": "Se placer dans la zone de rédaction", "keyboard_shortcuts.compose": "Se placer dans la zone de rédaction",
"keyboard_shortcuts.description": "Description", "keyboard_shortcuts.description": "Description",
"keyboard_shortcuts.direct": "ouvrir la colonne des messages directs", "keyboard_shortcuts.direct": "pour ouvrir la colonne des messages directs",
"keyboard_shortcuts.down": "Descendre dans la liste", "keyboard_shortcuts.down": "Descendre dans la liste",
"keyboard_shortcuts.enter": "Ouvrir le message", "keyboard_shortcuts.enter": "Ouvrir le message",
"keyboard_shortcuts.favourite": "Ajouter le message aux favoris", "keyboard_shortcuts.favourite": "Ajouter le message aux favoris",
@ -264,6 +264,8 @@
"lightbox.expand": "Agrandir la fenêtre de visualisation des images", "lightbox.expand": "Agrandir la fenêtre de visualisation des images",
"lightbox.next": "Suivant", "lightbox.next": "Suivant",
"lightbox.previous": "Précédent", "lightbox.previous": "Précédent",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Ajouter à la liste", "lists.account.add": "Ajouter à la liste",
"lists.account.remove": "Supprimer de la liste", "lists.account.remove": "Supprimer de la liste",
"lists.delete": "Supprimer la liste", "lists.delete": "Supprimer la liste",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Add to list", "lists.account.add": "Add to list",
"lists.account.remove": "Remove from list", "lists.account.remove": "Remove from list",
"lists.delete": "Delete list", "lists.delete": "Delete list",

View File

@ -59,7 +59,7 @@
"alert.unexpected.title": "Oich!", "alert.unexpected.title": "Oich!",
"announcement.announcement": "Brath-fios", "announcement.announcement": "Brath-fios",
"attachments_list.unprocessed": "(gun phròiseasadh)", "attachments_list.unprocessed": "(gun phròiseasadh)",
"autosuggest_hashtag.per_week": "{count} gach seachdain", "autosuggest_hashtag.per_week": "{count} san t-seachdain",
"boost_modal.combo": "Brùth air {combo} nam b fheàrr leat leum a ghearradh thar seo an ath-thuras", "boost_modal.combo": "Brùth air {combo} nam b fheàrr leat leum a ghearradh thar seo an ath-thuras",
"bundle_column_error.body": "Chaidh rudeigin cearr nuair a dhfheuch sinn ris a cho-phàirt seo a luchdadh.", "bundle_column_error.body": "Chaidh rudeigin cearr nuair a dhfheuch sinn ris a cho-phàirt seo a luchdadh.",
"bundle_column_error.retry": "Feuch ris a-rithist", "bundle_column_error.retry": "Feuch ris a-rithist",
@ -264,6 +264,8 @@
"lightbox.expand": "Leudaich bogsa sealladh an deilbh", "lightbox.expand": "Leudaich bogsa sealladh an deilbh",
"lightbox.next": "Air adhart", "lightbox.next": "Air adhart",
"lightbox.previous": "Air ais", "lightbox.previous": "Air ais",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Cuir ris an liosta", "lists.account.add": "Cuir ris an liosta",
"lists.account.remove": "Thoir air falbh on liosta", "lists.account.remove": "Thoir air falbh on liosta",
"lists.delete": "Sguab às an liosta", "lists.delete": "Sguab às an liosta",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expandir a caixa de vista da imaxe", "lightbox.expand": "Expandir a caixa de vista da imaxe",
"lightbox.next": "Seguinte", "lightbox.next": "Seguinte",
"lightbox.previous": "Anterior", "lightbox.previous": "Anterior",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Engadir á listaxe", "lists.account.add": "Engadir á listaxe",
"lists.account.remove": "Eliminar da listaxe", "lists.account.remove": "Eliminar da listaxe",
"lists.delete": "Eliminar listaxe", "lists.delete": "Eliminar listaxe",
@ -494,11 +496,11 @@
"tabs_bar.local_timeline": "Local", "tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Notificacións", "tabs_bar.notifications": "Notificacións",
"tabs_bar.search": "Procurar", "tabs_bar.search": "Procurar",
"time_remaining.days": "{number, plural, one {# día} other {# días}} restantes", "time_remaining.days": "Remata en {number, plural, one {# día} other {# días}}",
"time_remaining.hours": "{number, plural, one {# hora} other {# horas}} restantes", "time_remaining.hours": "Remata en {number, plural, one {# hora} other {# horas}}",
"time_remaining.minutes": "{number, plural, one {# minuto} other {# minutos}} restantes", "time_remaining.minutes": "Remata en {number, plural, one {# minuto} other {# minutos}}",
"time_remaining.moments": "Momentos restantes", "time_remaining.moments": "A piques de rematar",
"time_remaining.seconds": "{number, plural, one {# segundo} other {# segundos}} restantes", "time_remaining.seconds": "Remata en {number, plural, one {# segundo} other {# segundos}}",
"timeline_hint.remote_resource_not_displayed": "Non se mostran {resource} desde outros servidores.", "timeline_hint.remote_resource_not_displayed": "Non se mostran {resource} desde outros servidores.",
"timeline_hint.resources.followers": "Seguidoras", "timeline_hint.resources.followers": "Seguidoras",
"timeline_hint.resources.follows": "Seguindo", "timeline_hint.resources.follows": "Seguindo",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "הרחבת קופסת צפייה בתמונה", "lightbox.expand": "הרחבת קופסת צפייה בתמונה",
"lightbox.next": "הלאה", "lightbox.next": "הלאה",
"lightbox.previous": "הקודם", "lightbox.previous": "הקודם",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "הוסף לרשימה", "lists.account.add": "הוסף לרשימה",
"lists.account.remove": "הסר מרשימה", "lists.account.remove": "הסר מרשימה",
"lists.delete": "מחיקת רשימה", "lists.delete": "מחיקת רשימה",

View File

@ -9,21 +9,21 @@
"account.browse_more_on_origin_server": "मूल प्रोफ़ाइल पर अधिक ब्राउज़ करें", "account.browse_more_on_origin_server": "मूल प्रोफ़ाइल पर अधिक ब्राउज़ करें",
"account.cancel_follow_request": "फ़ॉलो रिक्वेस्ट रद्द करें", "account.cancel_follow_request": "फ़ॉलो रिक्वेस्ट रद्द करें",
"account.direct": "प्रत्यक्ष संदेश @{name}", "account.direct": "प्रत्यक्ष संदेश @{name}",
"account.disable_notifications": "Stop notifying me when @{name} posts", "account.disable_notifications": "@{name} पोस्ट के लिए मुझे सूचित मत करो",
"account.domain_blocked": "छिपा हुआ डोमेन", "account.domain_blocked": "छिपा हुआ डोमेन",
"account.edit_profile": "प्रोफ़ाइल संपादित करें", "account.edit_profile": "प्रोफ़ाइल संपादित करें",
"account.enable_notifications": "Notify me when @{name} posts", "account.enable_notifications": "जब @{name} पोस्ट मौजूद हो सूचित करें",
"account.endorse": "प्रोफ़ाइल पर दिखाए", "account.endorse": "प्रोफ़ाइल पर दिखाए",
"account.follow": "फॉलो करें", "account.follow": "फॉलो करें",
"account.followers": "फॉलोवर", "account.followers": "फॉलोवर",
"account.followers.empty": "कोई भी इस यूज़र् को फ़ॉलो नहीं करता है", "account.followers.empty": "कोई भी इस यूज़र् को फ़ॉलो नहीं करता है",
"account.followers_counter": "{count, plural, one {{counter} अनुगामी} other {{counter} समर्थक}}", "account.followers_counter": "{count, plural, one {{counter} अनुगामी} other {{counter} समर्थक}}",
"account.following": "Following", "account.following": "फॉलोइंग",
"account.following_counter": "{count, plural, one {{counter} निम्नलिखित} other {{counter} निम्नलिखित}}", "account.following_counter": "{count, plural, one {{counter} निम्नलिखित} other {{counter} निम्नलिखित}}",
"account.follows.empty": "यह यूज़र् अभी तक किसी को फॉलो नहीं करता है।", "account.follows.empty": "यह यूज़र् अभी तक किसी को फॉलो नहीं करता है।",
"account.follows_you": "आपको फॉलो करता है", "account.follows_you": "आपको फॉलो करता है",
"account.hide_reblogs": "@{name} के बूस्ट छुपाएं", "account.hide_reblogs": "@{name} के बूस्ट छुपाएं",
"account.joined": "Joined {date}", "account.joined": "शामिल हुये {date}",
"account.link_verified_on": "इस लिंक का स्वामित्व {date} को चेक किया गया था", "account.link_verified_on": "इस लिंक का स्वामित्व {date} को चेक किया गया था",
"account.locked_info": "यह खाता गोपनीयता स्थिति लॉक करने के लिए सेट है। मालिक मैन्युअल रूप से समीक्षा करता है कि कौन उनको फॉलो कर सकता है।", "account.locked_info": "यह खाता गोपनीयता स्थिति लॉक करने के लिए सेट है। मालिक मैन्युअल रूप से समीक्षा करता है कि कौन उनको फॉलो कर सकता है।",
"account.media": "मीडिया", "account.media": "मीडिया",
@ -41,24 +41,24 @@
"account.statuses_counter": "{count, plural, one {{counter} भोंपू} other {{counter} भोंपू}}", "account.statuses_counter": "{count, plural, one {{counter} भोंपू} other {{counter} भोंपू}}",
"account.unblock": "@{name} को अनब्लॉक करें", "account.unblock": "@{name} को अनब्लॉक करें",
"account.unblock_domain": "{domain} दिखाए", "account.unblock_domain": "{domain} दिखाए",
"account.unblock_short": "Unblock", "account.unblock_short": "अनब्लॉक",
"account.unendorse": "प्रोफ़ाइल पर न दिखाए", "account.unendorse": "प्रोफ़ाइल पर न दिखाए",
"account.unfollow": "अनफॉलो करें", "account.unfollow": "अनफॉलो करें",
"account.unmute": "अनम्यूट @{name}", "account.unmute": "अनम्यूट @{name}",
"account.unmute_notifications": "@{name} के नोटिफिकेशन अनम्यूट करे", "account.unmute_notifications": "@{name} के नोटिफिकेशन अनम्यूट करे",
"account.unmute_short": "Unmute", "account.unmute_short": "अनम्यूट",
"account_note.placeholder": "नोट्स जोड़ने के लिए क्लिक करें", "account_note.placeholder": "नोट्स जोड़ने के लिए क्लिक करें",
"admin.dashboard.daily_retention": "User retention rate by day after sign-up", "admin.dashboard.daily_retention": "साईन-अप के बाद उपयोगकर्ता के रिटेंशन दर",
"admin.dashboard.monthly_retention": "User retention rate by month after sign-up", "admin.dashboard.monthly_retention": "साईन-अप के बाद उपयोगकर्ता के महीने तक रिटेंशन दर",
"admin.dashboard.retention.average": "Average", "admin.dashboard.retention.average": "औसत",
"admin.dashboard.retention.cohort": "Sign-up month", "admin.dashboard.retention.cohort": "साईन-अप महिना",
"admin.dashboard.retention.cohort_size": "New users", "admin.dashboard.retention.cohort_size": "नये उपयोगकर्ता",
"alert.rate_limited.message": "कृप्या {retry_time, time, medium} के बाद दुबारा कोशिश करें", "alert.rate_limited.message": "कृप्या {retry_time, time, medium} के बाद दुबारा कोशिश करें",
"alert.rate_limited.title": "सीमित दर", "alert.rate_limited.title": "सीमित दर",
"alert.unexpected.message": "एक अप्रत्याशित त्रुटि हुई है!", "alert.unexpected.message": "एक अप्रत्याशित त्रुटि हुई है!",
"alert.unexpected.title": "उफ़!", "alert.unexpected.title": "उफ़!",
"announcement.announcement": "घोषणा", "announcement.announcement": "घोषणा",
"attachments_list.unprocessed": "(unprocessed)", "attachments_list.unprocessed": "(असंसाधित)",
"autosuggest_hashtag.per_week": "{count} हर सप्ताह", "autosuggest_hashtag.per_week": "{count} हर सप्ताह",
"boost_modal.combo": "अगली बार स्किप करने के लिए आप {combo} दबा सकते है", "boost_modal.combo": "अगली बार स्किप करने के लिए आप {combo} दबा सकते है",
"bundle_column_error.body": "इस कॉम्पोनेन्ट को लोड करते वक्त कुछ गलत हो गया", "bundle_column_error.body": "इस कॉम्पोनेन्ट को लोड करते वक्त कुछ गलत हो गया",
@ -70,7 +70,7 @@
"column.blocks": "ब्लॉक्ड यूज़र्स", "column.blocks": "ब्लॉक्ड यूज़र्स",
"column.bookmarks": "पुस्तकचिह्न:", "column.bookmarks": "पुस्तकचिह्न:",
"column.community": "लोकल टाइम्लाइन", "column.community": "लोकल टाइम्लाइन",
"column.direct": "Direct messages", "column.direct": "सीधा संदेश",
"column.directory": "प्रोफाइल्स खोजें", "column.directory": "प्रोफाइल्स खोजें",
"column.domain_blocks": "छुपे डोमेन्स", "column.domain_blocks": "छुपे डोमेन्स",
"column.favourites": "पसंदीदा", "column.favourites": "पसंदीदा",
@ -93,7 +93,7 @@
"community.column_settings.media_only": "सिर्फ़ मीडिया", "community.column_settings.media_only": "सिर्फ़ मीडिया",
"community.column_settings.remote_only": "केवल सुदूर", "community.column_settings.remote_only": "केवल सुदूर",
"compose_form.direct_message_warning_learn_more": "और जानें", "compose_form.direct_message_warning_learn_more": "और जानें",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.encryption_warning": "मास्टोडॉन पर पोस्ट एन्ड-टू-एन्ड एन्क्रिप्टेड नहीं है",
"compose_form.hashtag_warning": "यह टूट् किसी भी हैशटैग के तहत सूचीबद्ध नहीं होगा क्योंकि यह अनलिस्टेड है। हैशटैग द्वारा केवल सार्वजनिक टूट्स खोजे जा सकते हैं।", "compose_form.hashtag_warning": "यह टूट् किसी भी हैशटैग के तहत सूचीबद्ध नहीं होगा क्योंकि यह अनलिस्टेड है। हैशटैग द्वारा केवल सार्वजनिक टूट्स खोजे जा सकते हैं।",
"compose_form.lock_disclaimer": "आपका खाता {locked} नहीं है। आपको केवल फॉलोवर्स को दिखाई दिए जाने वाले पोस्ट देखने के लिए कोई भी फॉलो कर सकता है।", "compose_form.lock_disclaimer": "आपका खाता {locked} नहीं है। आपको केवल फॉलोवर्स को दिखाई दिए जाने वाले पोस्ट देखने के लिए कोई भी फॉलो कर सकता है।",
"compose_form.lock_disclaimer.lock": "लॉक्ड", "compose_form.lock_disclaimer.lock": "लॉक्ड",
@ -106,7 +106,7 @@
"compose_form.poll.switch_to_single": "एक ही विकल्प के लिए अनुमति देने के लिए पोल बदलें", "compose_form.poll.switch_to_single": "एक ही विकल्प के लिए अनुमति देने के लिए पोल बदलें",
"compose_form.publish": "टूट्", "compose_form.publish": "टूट्",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Save changes", "compose_form.save_changes": "परिवर्तनों को सहेजें",
"compose_form.sensitive.hide": "मीडिया को संवेदनशील के रूप में चिह्नित करें", "compose_form.sensitive.hide": "मीडिया को संवेदनशील के रूप में चिह्नित करें",
"compose_form.sensitive.marked": "मीडिया संवेदनशील के रूप में चिह्नित है", "compose_form.sensitive.marked": "मीडिया संवेदनशील के रूप में चिह्नित है",
"compose_form.sensitive.unmarked": "मीडिया संवेदनशील के रूप में चिह्नित नहीं है", "compose_form.sensitive.unmarked": "मीडिया संवेदनशील के रूप में चिह्नित नहीं है",
@ -121,8 +121,8 @@
"confirmations.delete.message": "क्या आप वाकई इस स्टेटस को हटाना चाहते हैं?", "confirmations.delete.message": "क्या आप वाकई इस स्टेटस को हटाना चाहते हैं?",
"confirmations.delete_list.confirm": "मिटाए", "confirmations.delete_list.confirm": "मिटाए",
"confirmations.delete_list.message": "क्या आप वाकई इस लिस्ट को हमेशा के लिये मिटाना चाहते हैं?", "confirmations.delete_list.message": "क्या आप वाकई इस लिस्ट को हमेशा के लिये मिटाना चाहते हैं?",
"confirmations.discard_edit_media.confirm": "Discard", "confirmations.discard_edit_media.confirm": "डिस्कार्ड",
"confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?", "confirmations.discard_edit_media.message": "लिस्ट में जोड़ें",
"confirmations.domain_block.confirm": "संपूर्ण डोमेन छिपाएं", "confirmations.domain_block.confirm": "संपूर्ण डोमेन छिपाएं",
"confirmations.domain_block.message": "क्या आप वास्तव में, वास्तव में आप पूरे {domain} को ब्लॉक करना चाहते हैं? ज्यादातर मामलों में कुछ लक्षित ब्लॉक या म्यूट पर्याप्त और बेहतर हैं। आप किसी भी सार्वजनिक समय-सीमा या अपनी सूचनाओं में उस डोमेन की सामग्री नहीं देखेंगे। उस डोमेन से आपके फॉलोवर्स को हटा दिया जाएगा।", "confirmations.domain_block.message": "क्या आप वास्तव में, वास्तव में आप पूरे {domain} को ब्लॉक करना चाहते हैं? ज्यादातर मामलों में कुछ लक्षित ब्लॉक या म्यूट पर्याप्त और बेहतर हैं। आप किसी भी सार्वजनिक समय-सीमा या अपनी सूचनाओं में उस डोमेन की सामग्री नहीं देखेंगे। उस डोमेन से आपके फॉलोवर्स को हटा दिया जाएगा।",
"confirmations.logout.confirm": "लॉग आउट करें", "confirmations.logout.confirm": "लॉग आउट करें",
@ -160,15 +160,15 @@
"emoji_button.search_results": "खोज परिणाम", "emoji_button.search_results": "खोज परिणाम",
"emoji_button.symbols": "प्रतीक", "emoji_button.symbols": "प्रतीक",
"emoji_button.travel": "यात्रा एवं स्थान", "emoji_button.travel": "यात्रा एवं स्थान",
"empty_column.account_suspended": "Account suspended", "empty_column.account_suspended": "खाता निलंबित",
"empty_column.account_timeline": "सन्नाटा! यहां कोई टूट्स नहीं!", "empty_column.account_timeline": "सन्नाटा! यहां कोई टूट्स नहीं!",
"empty_column.account_unavailable": "प्रोफाइल उपलब्ध नहीं", "empty_column.account_unavailable": "प्रोफाइल उपलब्ध नहीं",
"empty_column.blocks": "आप अभी तक किसी भी यूजर के द्वारा ब्लॉक्ड नहीं हो।", "empty_column.blocks": "आप अभी तक किसी भी यूजर के द्वारा ब्लॉक्ड नहीं हो।",
"empty_column.bookmarked_statuses": "आपके पास अभी तक कोई बुकमार्क नहीं है। जब आप एक बुकमार्क करते हैं, तो यह यहां दिखाई देगा।", "empty_column.bookmarked_statuses": "आपके पास अभी तक कोई बुकमार्क नहीं है। जब आप एक बुकमार्क करते हैं, तो यह यहां दिखाई देगा।",
"empty_column.community": "लोकल टाइम्लाइन खाली है, कुछ देखने के लिये सार्वजनिक रूप से कुछ लिखें!", "empty_column.community": "लोकल टाइम्लाइन खाली है, कुछ देखने के लिये सार्वजनिक रूप से कुछ लिखें!",
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", "empty_column.direct": "आपके पास अभी तक कोई सीधा संदेश नहीं है, जब आप भेजेंगे या प्राप्त करेंगे तो ये यहाँ दिखेगा |",
"empty_column.domain_blocks": "अभी तक कोई छुपा हुआ डोमेन नहीं है।", "empty_column.domain_blocks": "अभी तक कोई छुपा हुआ डोमेन नहीं है।",
"empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.explore_statuses": "कुछ भी अभी ट्रैंडिंग नहीं है, कुछ देर बाद जांचे!",
"empty_column.favourited_statuses": "आपके पास अभी कोई भी चहिता टूट नहीं है. जब आप किसी टूट को पसंद (स्टार) करेंगे, तब वो यहाँ दिखेगा।", "empty_column.favourited_statuses": "आपके पास अभी कोई भी चहिता टूट नहीं है. जब आप किसी टूट को पसंद (स्टार) करेंगे, तब वो यहाँ दिखेगा।",
"empty_column.favourites": "अभी तक किसी ने भी इस टूट को पसंद (स्टार) नहीं किया है. जब भी कोई इसे पसंद करेगा, उनका नाम यहाँ दिखेगा।", "empty_column.favourites": "अभी तक किसी ने भी इस टूट को पसंद (स्टार) नहीं किया है. जब भी कोई इसे पसंद करेगा, उनका नाम यहाँ दिखेगा।",
"empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.", "empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "अगला", "lightbox.next": "अगला",
"lightbox.previous": "पिछला", "lightbox.previous": "पिछला",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Add to list", "lists.account.add": "Add to list",
"lists.account.remove": "सूची से निकालें", "lists.account.remove": "सूची से निकालें",
"lists.delete": "सूची हटाएँ", "lists.delete": "सूची हटाएँ",

View File

@ -122,7 +122,7 @@
"confirmations.delete_list.confirm": "Obriši", "confirmations.delete_list.confirm": "Obriši",
"confirmations.delete_list.message": "Jeste li sigurni da želite trajno obrisati ovu listu?", "confirmations.delete_list.message": "Jeste li sigurni da želite trajno obrisati ovu listu?",
"confirmations.discard_edit_media.confirm": "Odbaciti", "confirmations.discard_edit_media.confirm": "Odbaciti",
"confirmations.discard_edit_media.message": "Niste spremili promjene u opisu medija ili u predpregledu, svejedno ih odbaciti?", "confirmations.discard_edit_media.message": "Postoje nespremljene promjene u opisu medija ili u pretpregledu, svejedno ih odbaciti?",
"confirmations.domain_block.confirm": "Blokiraj cijelu domenu", "confirmations.domain_block.confirm": "Blokiraj cijelu domenu",
"confirmations.domain_block.message": "Jeste li zaista, zaista sigurni da želite blokirati cijelu domenu {domain}? U većini slučajeva dovoljno je i preferirano nekoliko ciljanih blokiranja ili utišavanja. Nećete vidjeti sadržaj s te domene ni u kojim javnim vremenskim crtama ili Vašim obavijestima. Vaši pratitelji s te domene bit će uklonjeni.", "confirmations.domain_block.message": "Jeste li zaista, zaista sigurni da želite blokirati cijelu domenu {domain}? U većini slučajeva dovoljno je i preferirano nekoliko ciljanih blokiranja ili utišavanja. Nećete vidjeti sadržaj s te domene ni u kojim javnim vremenskim crtama ili Vašim obavijestima. Vaši pratitelji s te domene bit će uklonjeni.",
"confirmations.logout.confirm": "Odjavi se", "confirmations.logout.confirm": "Odjavi se",
@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Sljedeće", "lightbox.next": "Sljedeće",
"lightbox.previous": "Prethodno", "lightbox.previous": "Prethodno",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Dodaj na listu", "lists.account.add": "Dodaj na listu",
"lists.account.remove": "Ukloni s liste", "lists.account.remove": "Ukloni s liste",
"lists.delete": "Izbriši listu", "lists.delete": "Izbriši listu",

View File

@ -110,8 +110,8 @@
"compose_form.sensitive.hide": "{count, plural, one {Média kényesnek jelölése} other {Média kényesnek jelölése}}", "compose_form.sensitive.hide": "{count, plural, one {Média kényesnek jelölése} other {Média kényesnek jelölése}}",
"compose_form.sensitive.marked": "{count, plural, one {A médiát kényesnek jelölték} other {A médiát kényesnek jelölték}}", "compose_form.sensitive.marked": "{count, plural, one {A médiát kényesnek jelölték} other {A médiát kényesnek jelölték}}",
"compose_form.sensitive.unmarked": "{count, plural, one {A médiát nem jelölték kényesnek} other {A médiát nem jelölték kényesnek}}", "compose_form.sensitive.unmarked": "{count, plural, one {A médiát nem jelölték kényesnek} other {A médiát nem jelölték kényesnek}}",
"compose_form.spoiler.marked": "A szöveg figyelmeztetés mögé van rejtve", "compose_form.spoiler.marked": "Tartalmi figyelmeztetés törlése",
"compose_form.spoiler.unmarked": "A szöveg nem rejtett", "compose_form.spoiler.unmarked": "Tartalmi figyelmeztetés hozzáadása",
"compose_form.spoiler_placeholder": "Írd ide a figyelmeztetést", "compose_form.spoiler_placeholder": "Írd ide a figyelmeztetést",
"confirmation_modal.cancel": "Mégse", "confirmation_modal.cancel": "Mégse",
"confirmations.block.block_and_report": "Letiltás és jelentés", "confirmations.block.block_and_report": "Letiltás és jelentés",
@ -264,6 +264,8 @@
"lightbox.expand": "Képnézet kinagyítása", "lightbox.expand": "Képnézet kinagyítása",
"lightbox.next": "Következő", "lightbox.next": "Következő",
"lightbox.previous": "Előző", "lightbox.previous": "Előző",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Hozzáadás a listához", "lists.account.add": "Hozzáadás a listához",
"lists.account.remove": "Eltávolítás a listából", "lists.account.remove": "Eltávolítás a listából",
"lists.delete": "Lista törlése", "lists.delete": "Lista törlése",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Բացել պատկերի դիտման պատուհանը", "lightbox.expand": "Բացել պատկերի դիտման պատուհանը",
"lightbox.next": "Յաջորդ", "lightbox.next": "Յաջորդ",
"lightbox.previous": "Նախորդ", "lightbox.previous": "Նախորդ",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Աւելացնել ցանկին", "lists.account.add": "Աւելացնել ցանկին",
"lists.account.remove": "Հանել ցանկից", "lists.account.remove": "Հանել ցանկից",
"lists.delete": "Ջնջել ցանկը", "lists.delete": "Ջնջել ցանկը",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Besarkan kotak tampilan gambar", "lightbox.expand": "Besarkan kotak tampilan gambar",
"lightbox.next": "Selanjutnya", "lightbox.next": "Selanjutnya",
"lightbox.previous": "Sebelumnya", "lightbox.previous": "Sebelumnya",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Tambah ke daftar", "lists.account.add": "Tambah ke daftar",
"lists.account.remove": "Hapus dari daftar", "lists.account.remove": "Hapus dari daftar",
"lists.delete": "Hapus daftar", "lists.delete": "Hapus daftar",

View File

@ -178,59 +178,59 @@
"empty_column.home.suggestions": "Videz ula sugestati", "empty_column.home.suggestions": "Videz ula sugestati",
"empty_column.list": "There is nothing in this list yet.", "empty_column.list": "There is nothing in this list yet.",
"empty_column.lists": "Vu ne havas irga listi til nun. Kande vu kreas talo, ol montresos hike.", "empty_column.lists": "Vu ne havas irga listi til nun. Kande vu kreas talo, ol montresos hike.",
"empty_column.mutes": "You haven't muted any users yet.", "empty_column.mutes": "Vu ne silencigis irga uzanti til nun.",
"empty_column.notifications": "Tu havas ankore nula savigo. Komunikez kun altri por debutar la konverso.", "empty_column.notifications": "Tu havas ankore nula savigo. Komunikez kun altri por debutar la konverso.",
"empty_column.public": "Esas nulo hike! Skribez ulo publike, o manuale sequez uzeri de altra instaluri por plenigar ol.", "empty_column.public": "Esas nulo hike! Skribez ulo publike, o manuale sequez uzeri de altra instaluri por plenigar ol.",
"error.unexpected_crash.explanation": "Due to a bug in our code or a browser compatibility issue, this page could not be displayed correctly.", "error.unexpected_crash.explanation": "Pro eroro en nia numero o vidilkonciliebloproblemo, ca pagino ne povas korekte montresar.",
"error.unexpected_crash.explanation_addons": "This page could not be displayed correctly. This error is likely caused by a browser add-on or automatic translation tools.", "error.unexpected_crash.explanation_addons": "Ca pagino ne povas korekte montresar. Ca eroro posible kauzigesas vidilplusajo o automata tradukutensili.",
"error.unexpected_crash.next_steps": "Try refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.", "error.unexpected_crash.next_steps": "Probez rifreshar pagino. Se to ne helpas, vu forsan ankore povas uzar Mastodon per diferenta vidilo o provizita softwaro.",
"error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.", "error.unexpected_crash.next_steps_addons": "Probez desaktivigar e rifreshar pagino. Se to ne helpas, vu forsan ankore povas uzar Mastodon per diferenta vidilo o provizita softwaro.",
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard", "errors.unexpected_crash.copy_stacktrace": "Kopiez amastraso a klipplanko",
"errors.unexpected_crash.report_issue": "Report issue", "errors.unexpected_crash.report_issue": "Reportigez problemo",
"explore.search_results": "Search results", "explore.search_results": "Trovuri",
"explore.suggested_follows": "For you", "explore.suggested_follows": "Por vu",
"explore.title": "Explore", "explore.title": "Explorez",
"explore.trending_links": "News", "explore.trending_links": "Niuz",
"explore.trending_statuses": "Posts", "explore.trending_statuses": "Posti",
"explore.trending_tags": "Hashtags", "explore.trending_tags": "Hashtagi",
"follow_recommendations.done": "Done", "follow_recommendations.done": "Fina",
"follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.", "follow_recommendations.heading": "Sequez personi quo igas posti quon vu volas vidar! Hike esas ula sugestati.",
"follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!", "follow_recommendations.lead": "Posti de personi quon vu sequas kronologiale montresos en vua hemniuzeto. Ne timas igar erori, vu povas desequar personi tam same facila irgatempe!",
"follow_request.authorize": "Yurizar", "follow_request.authorize": "Yurizar",
"follow_request.reject": "Refuzar", "follow_request.reject": "Refuzar",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.", "follow_requests.unlocked_explanation": "Quankam vua konto ne klefklozesis, la {domain} laborero pensas ke vu forsan volas kontralar sequodemandi de ca konti manuale.",
"generic.saved": "Saved", "generic.saved": "Sparesis",
"getting_started.developers": "Developers", "getting_started.developers": "Developeri",
"getting_started.directory": "Profile directory", "getting_started.directory": "Profilcheflisto",
"getting_started.documentation": "Documentation", "getting_started.documentation": "Dokumentajo",
"getting_started.heading": "Debuto", "getting_started.heading": "Debuto",
"getting_started.invite": "Invite people", "getting_started.invite": "Invitez personi",
"getting_started.open_source_notice": "Mastodon esas programaro kun apertita kodexo. Tu povas kontributar o signalar problemi en GitHub ye {github}.", "getting_started.open_source_notice": "Mastodon esas programaro kun apertita kodexo. Tu povas kontributar o signalar problemi en GitHub ye {github}.",
"getting_started.security": "Security", "getting_started.security": "Security",
"getting_started.terms": "Terms of service", "getting_started.terms": "Servkondicioni",
"hashtag.column_header.tag_mode.all": "and {additional}", "hashtag.column_header.tag_mode.all": "e {additional}",
"hashtag.column_header.tag_mode.any": "or {additional}", "hashtag.column_header.tag_mode.any": "o {additional}",
"hashtag.column_header.tag_mode.none": "without {additional}", "hashtag.column_header.tag_mode.none": "sen {additional}",
"hashtag.column_settings.select.no_options_message": "No suggestions found", "hashtag.column_settings.select.no_options_message": "Nula sugestati",
"hashtag.column_settings.select.placeholder": "Enter hashtags…", "hashtag.column_settings.select.placeholder": "Insertez hashtagi…",
"hashtag.column_settings.tag_mode.all": "All of these", "hashtag.column_settings.tag_mode.all": "Omna co",
"hashtag.column_settings.tag_mode.any": "Any of these", "hashtag.column_settings.tag_mode.any": "Irga co",
"hashtag.column_settings.tag_mode.none": "None of these", "hashtag.column_settings.tag_mode.none": "Nula co",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column", "hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"home.column_settings.basic": "Simpla", "home.column_settings.basic": "Simpla",
"home.column_settings.show_reblogs": "Montrar repeti", "home.column_settings.show_reblogs": "Montrar repeti",
"home.column_settings.show_replies": "Montrar respondi", "home.column_settings.show_replies": "Montrar respondi",
"home.hide_announcements": "Hide announcements", "home.hide_announcements": "Celez anunci",
"home.show_announcements": "Show announcements", "home.show_announcements": "Montrez anunci",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# dio} other {# dii}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# horo} other {# hori}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minuti}}",
"keyboard_shortcuts.back": "to navigate back", "keyboard_shortcuts.back": "to navigate back",
"keyboard_shortcuts.blocked": "to open blocked users list", "keyboard_shortcuts.blocked": "to open blocked users list",
"keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.boost": "to boost",
"keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.column": "to focus a status in one of the columns",
"keyboard_shortcuts.compose": "to focus the compose textarea", "keyboard_shortcuts.compose": "to focus the compose textarea",
"keyboard_shortcuts.description": "Description", "keyboard_shortcuts.description": "Deskripto",
"keyboard_shortcuts.direct": "apertar kolumno di direta mesaji", "keyboard_shortcuts.direct": "apertar kolumno di direta mesaji",
"keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.enter": "to open status",
@ -239,7 +239,7 @@
"keyboard_shortcuts.federated": "to open federated timeline", "keyboard_shortcuts.federated": "to open federated timeline",
"keyboard_shortcuts.heading": "Keyboard Shortcuts", "keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.home": "to open home timeline", "keyboard_shortcuts.home": "to open home timeline",
"keyboard_shortcuts.hotkey": "Hotkey", "keyboard_shortcuts.hotkey": "Rapidklavo",
"keyboard_shortcuts.legend": "to display this legend", "keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.local": "to open local timeline", "keyboard_shortcuts.local": "to open local timeline",
"keyboard_shortcuts.mention": "to mention author", "keyboard_shortcuts.mention": "to mention author",
@ -260,285 +260,287 @@
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
"keyboard_shortcuts.up": "to move up in the list", "keyboard_shortcuts.up": "to move up in the list",
"lightbox.close": "Klozar", "lightbox.close": "Klozar",
"lightbox.compress": "Compress image view box", "lightbox.compress": "Kompresez imajvidbuxo",
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expansez imajvidbuxo",
"lightbox.next": "Next", "lightbox.next": "Nexta",
"lightbox.previous": "Previous", "lightbox.previous": "Antea",
"lists.account.add": "Add to list", "limited_account_hint.action": "Show profile anyway",
"lists.account.remove": "Remove from list", "limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.delete": "Delete list", "lists.account.add": "Insertez a listo",
"lists.edit": "Edit list", "lists.account.remove": "Efacez de listo",
"lists.edit.submit": "Change title", "lists.delete": "Efacez listo",
"lists.new.create": "Add list", "lists.edit": "Modifikez listo",
"lists.new.title_placeholder": "New list title", "lists.edit.submit": "Chanjez titulo",
"lists.replies_policy.followed": "Any followed user", "lists.new.create": "Insertez listo",
"lists.replies_policy.list": "Members of the list", "lists.new.title_placeholder": "Nova listotitulo",
"lists.replies_policy.none": "No one", "lists.replies_policy.followed": "Irga sequita uzanto",
"lists.replies_policy.title": "Show replies to:", "lists.replies_policy.list": "Membro di listo",
"lists.search": "Search among people you follow", "lists.replies_policy.none": "Nulu",
"lists.subheading": "Your lists", "lists.replies_policy.title": "Montrez respondi a:",
"load_pending": "{count, plural, one {# new item} other {# new items}}", "lists.search": "Trovez inter personi quon vu sequas",
"lists.subheading": "Vua listi",
"load_pending": "{count, plural, one {# nova kozo} other {# nova kozi}}",
"loading_indicator.label": "Kargante...", "loading_indicator.label": "Kargante...",
"media_gallery.toggle_visible": "Chanjar videbleso", "media_gallery.toggle_visible": "Chanjar videbleso",
"missing_indicator.label": "Ne trovita", "missing_indicator.label": "Ne trovita",
"missing_indicator.sublabel": "This resource could not be found", "missing_indicator.sublabel": "Ca resurso ne existas",
"mute_modal.duration": "Duration", "mute_modal.duration": "Durado",
"mute_modal.hide_notifications": "Hide notifications from this user?", "mute_modal.hide_notifications": "Celez avizi de ca uzanto?",
"mute_modal.indefinite": "Indefinite", "mute_modal.indefinite": "Nedefinitiva",
"navigation_bar.apps": "Mobile apps", "navigation_bar.apps": "Telefonprogrami",
"navigation_bar.blocks": "Blokusita uzeri", "navigation_bar.blocks": "Blokusita uzeri",
"navigation_bar.bookmarks": "Bookmarks", "navigation_bar.bookmarks": "Libromarki",
"navigation_bar.community_timeline": "Lokala tempolineo", "navigation_bar.community_timeline": "Lokala tempolineo",
"navigation_bar.compose": "Compose new toot", "navigation_bar.compose": "Compose new toot",
"navigation_bar.direct": "Direta mesaji", "navigation_bar.direct": "Direta mesaji",
"navigation_bar.discover": "Discover", "navigation_bar.discover": "Deskovrez",
"navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.domain_blocks": "Hidden domains",
"navigation_bar.edit_profile": "Modifikar profilo", "navigation_bar.edit_profile": "Modifikar profilo",
"navigation_bar.explore": "Explore", "navigation_bar.explore": "Explorez",
"navigation_bar.favourites": "Favorati", "navigation_bar.favourites": "Favorati",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Silencigita vorti",
"navigation_bar.follow_requests": "Demandi di sequado", "navigation_bar.follow_requests": "Demandi di sequado",
"navigation_bar.follows_and_followers": "Follows and followers", "navigation_bar.follows_and_followers": "Sequati e sequanti",
"navigation_bar.info": "Detaloza informi", "navigation_bar.info": "Detaloza informi",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts", "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.lists": "Lists", "navigation_bar.lists": "Listi",
"navigation_bar.logout": "Ekirar", "navigation_bar.logout": "Ekirar",
"navigation_bar.mutes": "Celita uzeri", "navigation_bar.mutes": "Celita uzeri",
"navigation_bar.personal": "Personal", "navigation_bar.personal": "Personala",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned toots",
"navigation_bar.preferences": "Preferi", "navigation_bar.preferences": "Preferi",
"navigation_bar.public_timeline": "Federata tempolineo", "navigation_bar.public_timeline": "Federata tempolineo",
"navigation_bar.security": "Security", "navigation_bar.security": "Sekureso",
"notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up": "{name} registresis",
"notification.favourite": "{name} favorizis tua mesajo", "notification.favourite": "{name} favorizis tua mesajo",
"notification.follow": "{name} sequeskis tu", "notification.follow": "{name} sequeskis tu",
"notification.follow_request": "{name} has requested to follow you", "notification.follow_request": "{name} demandas sequar vu",
"notification.mention": "{name} mencionis tu", "notification.mention": "{name} mencionis tu",
"notification.own_poll": "Your poll has ended", "notification.own_poll": "Vua votposto finigis",
"notification.poll": "A poll you have voted in has ended", "notification.poll": "Votposto quo havas vua voto finigis",
"notification.reblog": "{name} repetis tua mesajo", "notification.reblog": "{name} repetis tua mesajo",
"notification.status": "{name} just posted", "notification.status": "{name} nove postigis",
"notification.update": "{name} edited a post", "notification.update": "{name} modifikis posto",
"notifications.clear": "Efacar savigi", "notifications.clear": "Efacar savigi",
"notifications.clear_confirmation": "Ka tu esas certa, ke tu volas efacar omna tua savigi?", "notifications.clear_confirmation": "Ka tu esas certa, ke tu volas efacar omna tua savigi?",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "Nova registranti:",
"notifications.column_settings.alert": "Surtabla savigi", "notifications.column_settings.alert": "Desktopavizi",
"notifications.column_settings.favourite": "Favorati:", "notifications.column_settings.favourite": "Favorati:",
"notifications.column_settings.filter_bar.advanced": "Display all categories", "notifications.column_settings.filter_bar.advanced": "Montrez omna kategorii",
"notifications.column_settings.filter_bar.category": "Quick filter bar", "notifications.column_settings.filter_bar.category": "Rapidfiltrobaro",
"notifications.column_settings.filter_bar.show_bar": "Show filter bar", "notifications.column_settings.filter_bar.show_bar": "Montrez filtrobaro",
"notifications.column_settings.follow": "Nova sequanti:", "notifications.column_settings.follow": "Nova sequanti:",
"notifications.column_settings.follow_request": "New follow requests:", "notifications.column_settings.follow_request": "Nova sequodemandi:",
"notifications.column_settings.mention": "Mencioni:", "notifications.column_settings.mention": "Mencioni:",
"notifications.column_settings.poll": "Poll results:", "notifications.column_settings.poll": "Votpostorezulti:",
"notifications.column_settings.push": "Push notifications", "notifications.column_settings.push": "Pulsavizi",
"notifications.column_settings.reblog": "Repeti:", "notifications.column_settings.reblog": "Repeti:",
"notifications.column_settings.show": "Montrar en kolumno", "notifications.column_settings.show": "Montrar en kolumno",
"notifications.column_settings.sound": "Plear sono", "notifications.column_settings.sound": "Plear sono",
"notifications.column_settings.status": "New toots:", "notifications.column_settings.status": "New toots:",
"notifications.column_settings.unread_notifications.category": "Unread notifications", "notifications.column_settings.unread_notifications.category": "Nelektita avizi",
"notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", "notifications.column_settings.unread_notifications.highlight": "Briligez nelektita avizi",
"notifications.column_settings.update": "Edits:", "notifications.column_settings.update": "Modifikati:",
"notifications.filter.all": "All", "notifications.filter.all": "Omna",
"notifications.filter.boosts": "Boosts", "notifications.filter.boosts": "Busti",
"notifications.filter.favourites": "Favourites", "notifications.filter.favourites": "Favorati",
"notifications.filter.follows": "Follows", "notifications.filter.follows": "Sequati",
"notifications.filter.mentions": "Mentions", "notifications.filter.mentions": "Mencioni",
"notifications.filter.polls": "Poll results", "notifications.filter.polls": "Votpostorezulti",
"notifications.filter.statuses": "Updates from people you follow", "notifications.filter.statuses": "Niuz de personi quon vu sequas",
"notifications.grant_permission": "Grant permission.", "notifications.grant_permission": "Donez permiso.",
"notifications.group": "{count} notifications", "notifications.group": "{count} avizi",
"notifications.mark_as_read": "Mark every notification as read", "notifications.mark_as_read": "Markigez singla avizi quale lektita",
"notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request", "notifications.permission_denied": "Desktopavizi esas nedisplonebla pro antea refuzita vidilpermisdemando",
"notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before", "notifications.permission_denied_alert": "Desktopavizi ne povas aktivigesar pro ke vidilpermiso refuzesis",
"notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.", "notifications.permission_required": "Desktopavizi esas nedisplonebla pro ke bezonata permiso ne donesis.",
"notifications_permission_banner.enable": "Enable desktop notifications", "notifications_permission_banner.enable": "Aktivigez desktopavizi",
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.", "notifications_permission_banner.how_to_control": "Por ganar avizi kande Mastodon ne esas apertita, aktivigez dekstopavizi. Vu povas precize regularar quale interakti facas deskstopavizi tra la supera {icon} butono pos oli aktivigesis.",
"notifications_permission_banner.title": "Never miss a thing", "notifications_permission_banner.title": "Irga kozo ne pasas vu",
"picture_in_picture.restore": "Put it back", "picture_in_picture.restore": "Retropozez",
"poll.closed": "Closed", "poll.closed": "Klozita",
"poll.refresh": "Refresh", "poll.refresh": "Rifreshez",
"poll.total_people": "{count, plural, one {# person} other {# people}}", "poll.total_people": "{count, plural, one {# persono} other {# personi}}",
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}", "poll.total_votes": "{count, plural, one {# voto} other {# voti}}",
"poll.vote": "Vote", "poll.vote": "Votez",
"poll.voted": "You voted for this answer", "poll.voted": "Vu ja votis ca respondo",
"poll.votes": "{votes, plural, one {# vote} other {# votes}}", "poll.votes": "{votes, plural, one {# voto} other {# voti}}",
"poll_button.add_poll": "Add a poll", "poll_button.add_poll": "Insertez votposto",
"poll_button.remove_poll": "Remove poll", "poll_button.remove_poll": "Efacez votposto",
"privacy.change": "Aranjar privateso di mesaji", "privacy.change": "Aranjar privateso di mesaji",
"privacy.direct.long": "Sendar nur a mencionata uzeri", "privacy.direct.long": "Sendar nur a mencionata uzeri",
"privacy.direct.short": "Direct", "privacy.direct.short": "Mencionita personi nur",
"privacy.private.long": "Sendar nur a sequanti", "privacy.private.long": "Sendar nur a sequanti",
"privacy.private.short": "Followers-only", "privacy.private.short": "Sequanti nur",
"privacy.public.long": "Visible for all", "privacy.public.long": "Videbla da omnu",
"privacy.public.short": "Publike", "privacy.public.short": "Publike",
"privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.long": "Videbla da omnu ma voluntala ne inkluzas deskovrotraiti",
"privacy.unlisted.short": "Ne enlistigota", "privacy.unlisted.short": "Ne enlistigota",
"refresh": "Refresh", "refresh": "Rifreshez",
"regeneration_indicator.label": "Loading…", "regeneration_indicator.label": "Chargas…",
"regeneration_indicator.sublabel": "Your home feed is being prepared!", "regeneration_indicator.sublabel": "Vua hemniuzeto preparesas!",
"relative_time.days": "{number}d", "relative_time.days": "{number}d",
"relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", "relative_time.full.days": "{number, plural, one {# dio} other {# dii}} ante nun",
"relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago", "relative_time.full.hours": "{number, plural, one {# horo} other {# hori}} ante nun",
"relative_time.full.just_now": "just now", "relative_time.full.just_now": "jus nun",
"relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", "relative_time.full.minutes": "{number, plural, one {# minuto} other {# minuti}} ante nun",
"relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", "relative_time.full.seconds": "{number, plural, one {# sekundo} other {# sekundi}} ante nun",
"relative_time.hours": "{number}h", "relative_time.hours": "{number}h",
"relative_time.just_now": "now", "relative_time.just_now": "nun",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today", "relative_time.today": "hodie",
"reply_indicator.cancel": "Nihiligar", "reply_indicator.cancel": "Nihiligar",
"report.block": "Block", "report.block": "Restriktez",
"report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.block_explanation": "Vu ne vidos olia posti. Oli ne povas vidar vua posti o sequar vu. Oli savos ke oli restriktesis.",
"report.categories.other": "Other", "report.categories.other": "Altra",
"report.categories.spam": "Spam", "report.categories.spam": "Spamo",
"report.categories.violation": "Content violates one or more server rules", "report.categories.violation": "Kontenaj nesequas 1 o plu servilreguli",
"report.category.subtitle": "Choose the best match", "report.category.subtitle": "Selektez maxim bona parigato",
"report.category.title": "Tell us what's going on with this {type}", "report.category.title": "Savigez ni pri quo eventas kun ca {type}",
"report.category.title_account": "profile", "report.category.title_account": "profilo",
"report.category.title_status": "post", "report.category.title_status": "posto",
"report.close": "Done", "report.close": "Fina",
"report.comment.title": "Is there anything else you think we should know?", "report.comment.title": "Ka altra irgo quon vu pensas ke ni debas savar?",
"report.forward": "Forward to {target}", "report.forward": "Sendez a {target}",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "La konto esas de altra servilo. Vu volas sendar raportkopiur sen nomo ibe anke?",
"report.mute": "Mute", "report.mute": "Silencigez",
"report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.mute_explanation": "Vu ne vidos olia posti. Oli povas ankore sequar vu e vidar vua posti e ne savar ke oli silencigesis.",
"report.next": "Next", "report.next": "Nexta",
"report.placeholder": "Plusa komenti", "report.placeholder": "Plusa komenti",
"report.reasons.dislike": "I don't like it", "report.reasons.dislike": "Me ne amas",
"report.reasons.dislike_description": "It is not something you want to see", "report.reasons.dislike_description": "Ol ne esas olo quon vu volas vidar",
"report.reasons.other": "It's something else", "report.reasons.other": "Ol esas altra ulo",
"report.reasons.other_description": "The issue does not fit into other categories", "report.reasons.other_description": "La problemo ne fitas a altra kategorii",
"report.reasons.spam": "It's spam", "report.reasons.spam": "Ol esas spamo",
"report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", "report.reasons.spam_description": "Mala ligili, falsa interago o repetiva repliki",
"report.reasons.violation": "It violates server rules", "report.reasons.violation": "Ol nesequas servilreguli",
"report.reasons.violation_description": "You are aware that it breaks specific rules", "report.reasons.violation_description": "Vu remarkas ke ol nesequas partikulara reguli",
"report.rules.subtitle": "Select all that apply", "report.rules.subtitle": "Selektez relatata omno",
"report.rules.title": "Which rules are being violated?", "report.rules.title": "Quala reguli nesequesas?",
"report.statuses.subtitle": "Select all that apply", "report.statuses.subtitle": "Selektez relatata omno",
"report.statuses.title": "Are there any posts that back up this report?", "report.statuses.title": "Ka existas irga posti quo suportas ca raporto?",
"report.submit": "Sendar", "report.submit": "Sendar",
"report.target": "Denuncante", "report.target": "Denuncante",
"report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", "report.thanks.take_action": "Co esas vua opcioni por regularar quo vu vidas che Mastodon:",
"report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", "report.thanks.take_action_actionable": "Dum ke ni kontrolas co, vu povas demarshar kontra @{name}:",
"report.thanks.title": "Don't want to see this?", "report.thanks.title": "Ka vu ne volas vidar co?",
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", "report.thanks.title_actionable": "Danko por raportigar, ni kontrolos co.",
"report.unfollow": "Unfollow @{name}", "report.unfollow": "Desequez @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report.unfollow_explanation": "Vu sequas ca konto. Por ne vidar olia posti en vua hemniuzeto plu, desequez oli.",
"search.placeholder": "Serchez", "search.placeholder": "Serchez",
"search_popout.search_format": "Advanced search format", "search_popout.search_format": "Avance trovformato",
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
"search_popout.tips.hashtag": "hashtag", "search_popout.tips.hashtag": "hashtago",
"search_popout.tips.status": "status", "search_popout.tips.status": "status",
"search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.text": "Simpla textoretrovenuri quo parigas trovnomi, uzantonomi e hashtagi",
"search_popout.tips.user": "user", "search_popout.tips.user": "uzanto",
"search_results.accounts": "People", "search_results.accounts": "Personi",
"search_results.all": "All", "search_results.all": "Omna",
"search_results.hashtags": "Hashtags", "search_results.hashtags": "Hashtagi",
"search_results.nothing_found": "Could not find anything for these search terms", "search_results.nothing_found": "Ne povas ganar irgo per ca trovvorti",
"search_results.statuses": "Toots", "search_results.statuses": "Toots",
"search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
"search_results.total": "{count, number} {count, plural, one {rezulto} other {rezulti}}", "search_results.total": "{count, number} {count, plural, one {rezulto} other {rezulti}}",
"status.admin_account": "Open moderation interface for @{name}", "status.admin_account": "Apertez jerintervizajo por @{name}",
"status.admin_status": "Open this status in the moderation interface", "status.admin_status": "Open this status in the moderation interface",
"status.block": "Block @{name}", "status.block": "Restriktez @{name}",
"status.bookmark": "Bookmark", "status.bookmark": "Libromarko",
"status.cancel_reblog_private": "Unboost", "status.cancel_reblog_private": "Debustez",
"status.cannot_reblog": "This post cannot be boosted", "status.cannot_reblog": "Ca posto ne povas bustesas",
"status.copy": "Copy link to status", "status.copy": "Copy link to status",
"status.delete": "Efacar", "status.delete": "Efacar",
"status.detailed_status": "Detailed conversation view", "status.detailed_status": "Detala konversvido",
"status.direct": "Direct message @{name}", "status.direct": "Direta mesajigez @{name}",
"status.edit": "Edit", "status.edit": "Modifikez",
"status.edited": "Edited {date}", "status.edited": "Modifikesis ye {date}",
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", "status.edited_x_times": "Modifikesis {count, plural, one {{count} foyo} other {{count} foyi}}",
"status.embed": "Embed", "status.embed": "Eninsertez",
"status.favourite": "Favorizar", "status.favourite": "Favorizar",
"status.filtered": "Filtered", "status.filtered": "Filtrita",
"status.history.created": "{name} created {date}", "status.history.created": "{name} kreis ye {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "{name} modifikis ye {date}",
"status.load_more": "Kargar pluse", "status.load_more": "Kargar pluse",
"status.media_hidden": "Kontenajo celita", "status.media_hidden": "Kontenajo celita",
"status.mention": "Mencionar @{name}", "status.mention": "Mencionar @{name}",
"status.more": "More", "status.more": "Plu",
"status.mute": "Mute @{name}", "status.mute": "Silencigez @{name}",
"status.mute_conversation": "Mute conversation", "status.mute_conversation": "Silencigez konverso",
"status.open": "Detaligar ca mesajo", "status.open": "Detaligar ca mesajo",
"status.pin": "Pin on profile", "status.pin": "Pinglagez che profilo",
"status.pinned": "Pinned toot", "status.pinned": "Pinned toot",
"status.read_more": "Read more", "status.read_more": "Lektez plu",
"status.reblog": "Repetar", "status.reblog": "Repetar",
"status.reblog_private": "Boost with original visibility", "status.reblog_private": "Bustez kun originala videbleso",
"status.reblogged_by": "{name} repetita", "status.reblogged_by": "{name} repetita",
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
"status.redraft": "Delete & re-draft", "status.redraft": "Efacez e riskisigez",
"status.remove_bookmark": "Remove bookmark", "status.remove_bookmark": "Efacez libromarko",
"status.reply": "Respondar", "status.reply": "Respondar",
"status.replyAll": "Respondar a filo", "status.replyAll": "Respondar a filo",
"status.report": "Denuncar @{name}", "status.report": "Denuncar @{name}",
"status.sensitive_warning": "Trubliva kontenajo", "status.sensitive_warning": "Trubliva kontenajo",
"status.share": "Share", "status.share": "Partigez",
"status.show_less": "Montrar mine", "status.show_less": "Montrar mine",
"status.show_less_all": "Show less for all", "status.show_less_all": "Montrez min por omno",
"status.show_more": "Montrar plue", "status.show_more": "Montrar plue",
"status.show_more_all": "Show more for all", "status.show_more_all": "Montrez plu por omno",
"status.show_thread": "Show thread", "status.show_thread": "Montrez postaro",
"status.uncached_media_warning": "Not available", "status.uncached_media_warning": "Nedisplonebla",
"status.unmute_conversation": "Unmute conversation", "status.unmute_conversation": "Desilencigez konverso",
"status.unpin": "Unpin from profile", "status.unpin": "Depinglagez de profilo",
"suggestions.dismiss": "Dismiss suggestion", "suggestions.dismiss": "Desklozez sugestajo",
"suggestions.header": "You might be interested in…", "suggestions.header": "Vu forsan havas intereso pri…",
"tabs_bar.federated_timeline": "Federata", "tabs_bar.federated_timeline": "Federata",
"tabs_bar.home": "Hemo", "tabs_bar.home": "Hemo",
"tabs_bar.local_timeline": "Lokala", "tabs_bar.local_timeline": "Lokala",
"tabs_bar.notifications": "Savigi", "tabs_bar.notifications": "Savigi",
"tabs_bar.search": "Search", "tabs_bar.search": "Trovez",
"time_remaining.days": "{number, plural, one {# day} other {# days}} left", "time_remaining.days": "{number, plural, one {# dio} other {# dii}} restas",
"time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left", "time_remaining.hours": "{number, plural, one {# horo} other {# hori}} restas",
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left", "time_remaining.minutes": "{number, plural, one {# minuto} other {# minuti}} restas",
"time_remaining.moments": "Moments remaining", "time_remaining.moments": "Poka sekundi restas",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left", "time_remaining.seconds": "{number, plural, one {# sekundo} other {# sekundi}} restas",
"timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.", "timeline_hint.remote_resource_not_displayed": "{resource} de altra servili ne montresas.",
"timeline_hint.resources.followers": "Followers", "timeline_hint.resources.followers": "Sequanti",
"timeline_hint.resources.follows": "Follows", "timeline_hint.resources.follows": "Sequati",
"timeline_hint.resources.statuses": "Older toots", "timeline_hint.resources.statuses": "Older toots",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking", "trends.counter_by_accounts": "{count, plural, one {{counter} persono} other {{counter} personi}} parolas",
"trends.trending_now": "Trending now", "trends.trending_now": "Tendencigas nun",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.", "ui.beforeunload": "Vua skisato perdesos se vu ekiras Mastodon.",
"units.short.billion": "{count}B", "units.short.billion": "{count}G",
"units.short.million": "{count}M", "units.short.million": "{count}M",
"units.short.thousand": "{count}K", "units.short.thousand": "{count}K",
"upload_area.title": "Tranar faligar por kargar", "upload_area.title": "Tranar faligar por kargar",
"upload_button.label": "Adjuntar kontenajo", "upload_button.label": "Adjuntar kontenajo",
"upload_error.limit": "File upload limit exceeded.", "upload_error.limit": "Failcharglimito ecesesis.",
"upload_error.poll": "File upload not allowed with polls.", "upload_error.poll": "Failchargo ne permisesas kun votposti.",
"upload_form.audio_description": "Describe for people with hearing loss", "upload_form.audio_description": "Deskriptez por personi kun min audkapableso",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Deskriptez por personi kun min vidkapableso",
"upload_form.description_missing": "No description added", "upload_form.description_missing": "Deskriptajo ne insertesis",
"upload_form.edit": "Edit", "upload_form.edit": "Modifikez",
"upload_form.thumbnail": "Change thumbnail", "upload_form.thumbnail": "Chanjez mikroimajo",
"upload_form.undo": "Desfacar", "upload_form.undo": "Desfacar",
"upload_form.video_description": "Describe for people with hearing loss or visual impairment", "upload_form.video_description": "Deskriptez por personi kun min audkapableso o min vidkapableso",
"upload_modal.analyzing_picture": "Analyzing picture…", "upload_modal.analyzing_picture": "Analizas imajo…",
"upload_modal.apply": "Apply", "upload_modal.apply": "Aplikez",
"upload_modal.applying": "Applying…", "upload_modal.applying": "Aplikas…",
"upload_modal.choose_image": "Choose image", "upload_modal.choose_image": "Selektez imajo",
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog", "upload_modal.description_placeholder": "Rapida bruna foxo saltas super indolenta hundo",
"upload_modal.detect_text": "Detect text from picture", "upload_modal.detect_text": "Deskovrez texto de imajo",
"upload_modal.edit_media": "Edit media", "upload_modal.edit_media": "Modifikez medii",
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.", "upload_modal.hint": "Kliktez o tirez cirklo che prevido por selektar central punto quo sempre montresas kun omna mikroimaji.",
"upload_modal.preparing_ocr": "Preparing OCR…", "upload_modal.preparing_ocr": "Preparas OCR…",
"upload_modal.preview_label": "Preview ({ratio})", "upload_modal.preview_label": "Previdez ({ratio})",
"upload_progress.label": "Kargante...", "upload_progress.label": "Kargante...",
"video.close": "Close video", "video.close": "Klozez video",
"video.download": "Download file", "video.download": "Deschargez failo",
"video.exit_fullscreen": "Exit full screen", "video.exit_fullscreen": "Ekirez plena skreno",
"video.expand": "Expand video", "video.expand": "Expansez video",
"video.fullscreen": "Full screen", "video.fullscreen": "Plena skreno",
"video.hide": "Hide video", "video.hide": "Celez video",
"video.mute": "Mute sound", "video.mute": "Silencigez sono",
"video.pause": "Pause", "video.pause": "Pauzez",
"video.play": "Play", "video.play": "Pleez",
"video.unmute": "Unmute sound" "video.unmute": "Desilencigez sono"
} }

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Fletta út myndskoðunarreit", "lightbox.expand": "Fletta út myndskoðunarreit",
"lightbox.next": "Næsta", "lightbox.next": "Næsta",
"lightbox.previous": "Fyrra", "lightbox.previous": "Fyrra",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Bæta á lista", "lists.account.add": "Bæta á lista",
"lists.account.remove": "Fjarlægja af lista", "lists.account.remove": "Fjarlægja af lista",
"lists.delete": "Eyða lista", "lists.delete": "Eyða lista",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Espandi casella di visualizzazione immagine", "lightbox.expand": "Espandi casella di visualizzazione immagine",
"lightbox.next": "Successivo", "lightbox.next": "Successivo",
"lightbox.previous": "Precedente", "lightbox.previous": "Precedente",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Aggiungi alla lista", "lists.account.add": "Aggiungi alla lista",
"lists.account.remove": "Togli dalla lista", "lists.account.remove": "Togli dalla lista",
"lists.delete": "Elimina lista", "lists.delete": "Elimina lista",

View File

@ -268,6 +268,8 @@
"lightbox.expand": "画像ビューボックスを開く", "lightbox.expand": "画像ビューボックスを開く",
"lightbox.next": "次", "lightbox.next": "次",
"lightbox.previous": "前", "lightbox.previous": "前",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "リストに追加", "lists.account.add": "リストに追加",
"lists.account.remove": "リストから外す", "lists.account.remove": "リストから外す",
"lists.delete": "リストを削除", "lists.delete": "リストを削除",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "შემდეგი", "lightbox.next": "შემდეგი",
"lightbox.previous": "წინა", "lightbox.previous": "წინა",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "სიაში დამატება", "lists.account.add": "სიაში დამატება",
"lists.account.remove": "სიიდან ამოშლა", "lists.account.remove": "სიიდან ამოშლა",
"lists.delete": "სიის წაშლა", "lists.delete": "სიის წაშლა",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Simeɣer tamnaḍt n uskan n tugna", "lightbox.expand": "Simeɣer tamnaḍt n uskan n tugna",
"lightbox.next": "Γer zdat", "lightbox.next": "Γer zdat",
"lightbox.previous": "Γer deffir", "lightbox.previous": "Γer deffir",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Rnu ɣer tebdart", "lists.account.add": "Rnu ɣer tebdart",
"lists.account.remove": "Kkes seg tebdart", "lists.account.remove": "Kkes seg tebdart",
"lists.delete": "Kkes tabdart", "lists.delete": "Kkes tabdart",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Келесі", "lightbox.next": "Келесі",
"lightbox.previous": "Алдыңғы", "lightbox.previous": "Алдыңғы",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Тізімге қосу", "lists.account.add": "Тізімге қосу",
"lists.account.remove": "Тізімнен шығару", "lists.account.remove": "Тізімнен шығару",
"lists.delete": "Тізімді өшіру", "lists.delete": "Тізімді өшіру",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Add to list", "lists.account.add": "Add to list",
"lists.account.remove": "Remove from list", "lists.account.remove": "Remove from list",
"lists.delete": "Delete list", "lists.delete": "Delete list",

View File

@ -28,7 +28,7 @@
"account.locked_info": "이 계정의 프라이버시 설정은 잠금으로 설정되어 있습니다. 계정 소유자가 수동으로 팔로워를 승인합니다.", "account.locked_info": "이 계정의 프라이버시 설정은 잠금으로 설정되어 있습니다. 계정 소유자가 수동으로 팔로워를 승인합니다.",
"account.media": "미디어", "account.media": "미디어",
"account.mention": "@{name}에게 글쓰기", "account.mention": "@{name}에게 글쓰기",
"account.moved_to": "{name} 계정을 이동했습니다:", "account.moved_to": "{name} 님은 계정을 이동했습니다:",
"account.mute": "@{name} 뮤트", "account.mute": "@{name} 뮤트",
"account.mute_notifications": "@{name}의 알림을 뮤트", "account.mute_notifications": "@{name}의 알림을 뮤트",
"account.muted": "뮤트 됨", "account.muted": "뮤트 됨",
@ -264,6 +264,8 @@
"lightbox.expand": "이미지 박스 확장", "lightbox.expand": "이미지 박스 확장",
"lightbox.next": "다음", "lightbox.next": "다음",
"lightbox.previous": "이전", "lightbox.previous": "이전",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "리스트에 추가", "lists.account.add": "리스트에 추가",
"lists.account.remove": "리스트에서 제거", "lists.account.remove": "리스트에서 제거",
"lists.delete": "리스트 삭제", "lists.delete": "리스트 삭제",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Qutîya wêneya nîşan dike fireh bike", "lightbox.expand": "Qutîya wêneya nîşan dike fireh bike",
"lightbox.next": "Pêş", "lightbox.next": "Pêş",
"lightbox.previous": "Paş", "lightbox.previous": "Paş",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Tevlî rêzokê bike", "lists.account.add": "Tevlî rêzokê bike",
"lists.account.remove": "Ji rêzokê rake", "lists.account.remove": "Ji rêzokê rake",
"lists.delete": "Rêzokê jê bibe", "lists.delete": "Rêzokê jê bibe",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Efani kist a weles aven", "lightbox.expand": "Efani kist a weles aven",
"lightbox.next": "Nessa", "lightbox.next": "Nessa",
"lightbox.previous": "Kynsa", "lightbox.previous": "Kynsa",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Keworra dhe rol", "lists.account.add": "Keworra dhe rol",
"lists.account.remove": "Removya a rol", "lists.account.remove": "Removya a rol",
"lists.delete": "Dilea rol", "lists.delete": "Dilea rol",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Add to list", "lists.account.add": "Add to list",
"lists.account.remove": "Remove from list", "lists.account.remove": "Remove from list",
"lists.delete": "Delete list", "lists.delete": "Delete list",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Paplašināt attēla ietvaru", "lightbox.expand": "Paplašināt attēla ietvaru",
"lightbox.next": "Tālāk", "lightbox.next": "Tālāk",
"lightbox.previous": "Iepriekš", "lightbox.previous": "Iepriekš",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Pievienot sarakstam", "lists.account.add": "Pievienot sarakstam",
"lists.account.remove": "Noņemt no saraksta", "lists.account.remove": "Noņemt no saraksta",
"lists.delete": "Dzēst sarakstu", "lists.delete": "Dzēst sarakstu",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Add to list", "lists.account.add": "Add to list",
"lists.account.remove": "Remove from list", "lists.account.remove": "Remove from list",
"lists.delete": "Delete list", "lists.delete": "Delete list",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "അടുത്തത്", "lightbox.next": "അടുത്തത്",
"lightbox.previous": "പുറകോട്ട്", "lightbox.previous": "പുറകോട്ട്",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "പട്ടികയിലേക്ക് ചേർക്കുക", "lists.account.add": "പട്ടികയിലേക്ക് ചേർക്കുക",
"lists.account.remove": "പട്ടികയിൽ നിന്ന് ഒഴിവാക്കുക", "lists.account.remove": "പട്ടികയിൽ നിന്ന് ഒഴിവാക്കുക",
"lists.delete": "പട്ടിക ഒഴിവാക്കുക", "lists.delete": "പട്ടിക ഒഴിവാക്കുക",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Add to list", "lists.account.add": "Add to list",
"lists.account.remove": "Remove from list", "lists.account.remove": "Remove from list",
"lists.delete": "Delete list", "lists.delete": "Delete list",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Besarkan kotak paparan imej", "lightbox.expand": "Besarkan kotak paparan imej",
"lightbox.next": "Seterusnya", "lightbox.next": "Seterusnya",
"lightbox.previous": "Sebelumnya", "lightbox.previous": "Sebelumnya",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Tambah ke senarai", "lists.account.add": "Tambah ke senarai",
"lists.account.remove": "Buang daripada senarai", "lists.account.remove": "Buang daripada senarai",
"lists.delete": "Padam senarai", "lists.delete": "Padam senarai",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Afbeelding groot weergeven", "lightbox.expand": "Afbeelding groot weergeven",
"lightbox.next": "Volgende", "lightbox.next": "Volgende",
"lightbox.previous": "Vorige", "lightbox.previous": "Vorige",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Aan lijst toevoegen", "lists.account.add": "Aan lijst toevoegen",
"lists.account.remove": "Uit lijst verwijderen", "lists.account.remove": "Uit lijst verwijderen",
"lists.delete": "Lijst verwijderen", "lists.delete": "Lijst verwijderen",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Ekspander bildevisning boks", "lightbox.expand": "Ekspander bildevisning boks",
"lightbox.next": "Neste", "lightbox.next": "Neste",
"lightbox.previous": "Førre", "lightbox.previous": "Førre",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Legg til i liste", "lists.account.add": "Legg til i liste",
"lists.account.remove": "Fjern frå liste", "lists.account.remove": "Fjern frå liste",
"lists.delete": "Slett liste", "lists.delete": "Slett liste",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Ekspander bildevisning boks", "lightbox.expand": "Ekspander bildevisning boks",
"lightbox.next": "Neste", "lightbox.next": "Neste",
"lightbox.previous": "Forrige", "lightbox.previous": "Forrige",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Legg til i listen", "lists.account.add": "Legg til i listen",
"lists.account.remove": "Fjern fra listen", "lists.account.remove": "Fjern fra listen",
"lists.delete": "Slett listen", "lists.delete": "Slett listen",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Espandir la fenèstra de visualizacion dimatge", "lightbox.expand": "Espandir la fenèstra de visualizacion dimatge",
"lightbox.next": "Seguent", "lightbox.next": "Seguent",
"lightbox.previous": "Precedent", "lightbox.previous": "Precedent",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Ajustar a la lista", "lists.account.add": "Ajustar a la lista",
"lists.account.remove": "Levar de la lista", "lists.account.remove": "Levar de la lista",
"lists.delete": "Suprimir la lista", "lists.delete": "Suprimir la lista",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Add to list", "lists.account.add": "Add to list",
"lists.account.remove": "Remove from list", "lists.account.remove": "Remove from list",
"lists.delete": "Delete list", "lists.delete": "Delete list",

View File

@ -268,6 +268,8 @@
"lightbox.expand": "Rozwiń pole widoku obrazu", "lightbox.expand": "Rozwiń pole widoku obrazu",
"lightbox.next": "Następne", "lightbox.next": "Następne",
"lightbox.previous": "Poprzednie", "lightbox.previous": "Poprzednie",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Dodaj do listy", "lists.account.add": "Dodaj do listy",
"lists.account.remove": "Usunąć z listy", "lists.account.remove": "Usunąć z listy",
"lists.delete": "Usuń listę", "lists.delete": "Usuń listę",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Abrir imagem", "lightbox.expand": "Abrir imagem",
"lightbox.next": "Próximo", "lightbox.next": "Próximo",
"lightbox.previous": "Anterior", "lightbox.previous": "Anterior",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Adicionar à lista", "lists.account.add": "Adicionar à lista",
"lists.account.remove": "Remover da lista", "lists.account.remove": "Remover da lista",
"lists.delete": "Excluir lista", "lists.delete": "Excluir lista",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expandir caixa de visualização de imagem", "lightbox.expand": "Expandir caixa de visualização de imagem",
"lightbox.next": "Próximo", "lightbox.next": "Próximo",
"lightbox.previous": "Anterior", "lightbox.previous": "Anterior",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Adicionar à lista", "lists.account.add": "Adicionar à lista",
"lists.account.remove": "Remover da lista", "lists.account.remove": "Remover da lista",
"lists.delete": "Eliminar lista", "lists.delete": "Eliminar lista",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Deschide panoul de vizualizare a imaginilor", "lightbox.expand": "Deschide panoul de vizualizare a imaginilor",
"lightbox.next": "Înainte", "lightbox.next": "Înainte",
"lightbox.previous": "Înapoi", "lightbox.previous": "Înapoi",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Adaugă în listă", "lists.account.add": "Adaugă în listă",
"lists.account.remove": "Elimină din listă", "lists.account.remove": "Elimină din listă",
"lists.delete": "Șterge lista", "lists.delete": "Șterge lista",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Развернуть окно просмотра изображений", "lightbox.expand": "Развернуть окно просмотра изображений",
"lightbox.next": "Далее", "lightbox.next": "Далее",
"lightbox.previous": "Назад", "lightbox.previous": "Назад",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Добавить в список", "lists.account.add": "Добавить в список",
"lists.account.remove": "Убрать из списка", "lists.account.remove": "Убрать из списка",
"lists.delete": "Удалить список", "lists.delete": "Удалить список",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Add to list", "lists.account.add": "Add to list",
"lists.account.remove": "Remove from list", "lists.account.remove": "Remove from list",
"lists.delete": "Delete list", "lists.delete": "Delete list",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Ismànnia sa casella de visualizatzione de is immàgines", "lightbox.expand": "Ismànnia sa casella de visualizatzione de is immàgines",
"lightbox.next": "Imbeniente", "lightbox.next": "Imbeniente",
"lightbox.previous": "Pretzedente", "lightbox.previous": "Pretzedente",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Agiunghe a sa lista", "lists.account.add": "Agiunghe a sa lista",
"lists.account.remove": "Boga dae sa lista", "lists.account.remove": "Boga dae sa lista",
"lists.delete": "Cantzella sa lista", "lists.delete": "Cantzella sa lista",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "ඊළඟ", "lightbox.next": "ඊළඟ",
"lightbox.previous": "පෙර", "lightbox.previous": "පෙර",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "ලැයිස්තුවට එකතු කරන්න", "lists.account.add": "ලැයිස්තුවට එකතු කරන්න",
"lists.account.remove": "Remove from list", "lists.account.remove": "Remove from list",
"lists.delete": "Delete list", "lists.delete": "Delete list",

View File

@ -70,7 +70,7 @@
"column.blocks": "Blokovaní užívatelia", "column.blocks": "Blokovaní užívatelia",
"column.bookmarks": "Záložky", "column.bookmarks": "Záložky",
"column.community": "Miestna časová os", "column.community": "Miestna časová os",
"column.direct": "Direct messages", "column.direct": "Priame správy",
"column.directory": "Prehľadávaj profily", "column.directory": "Prehľadávaj profily",
"column.domain_blocks": "Skryté domény", "column.domain_blocks": "Skryté domény",
"column.favourites": "Obľúbené", "column.favourites": "Obľúbené",
@ -264,6 +264,8 @@
"lightbox.expand": "Rozšíriť náhľad obrázku", "lightbox.expand": "Rozšíriť náhľad obrázku",
"lightbox.next": "Ďalšie", "lightbox.next": "Ďalšie",
"lightbox.previous": "Predchádzajúci", "lightbox.previous": "Predchádzajúci",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Pridaj do zoznamu", "lists.account.add": "Pridaj do zoznamu",
"lists.account.remove": "Odober zo zoznamu", "lists.account.remove": "Odober zo zoznamu",
"lists.delete": "Vymaž list", "lists.delete": "Vymaž list",
@ -290,7 +292,7 @@
"navigation_bar.bookmarks": "Záložky", "navigation_bar.bookmarks": "Záložky",
"navigation_bar.community_timeline": "Miestna časová os", "navigation_bar.community_timeline": "Miestna časová os",
"navigation_bar.compose": "Napíš nový príspevok", "navigation_bar.compose": "Napíš nový príspevok",
"navigation_bar.direct": "Direct messages", "navigation_bar.direct": "Priame správy",
"navigation_bar.discover": "Objavuj", "navigation_bar.discover": "Objavuj",
"navigation_bar.domain_blocks": "Skryté domény", "navigation_bar.domain_blocks": "Skryté domény",
"navigation_bar.edit_profile": "Uprav profil", "navigation_bar.edit_profile": "Uprav profil",
@ -456,8 +458,8 @@
"status.embed": "Vložiť", "status.embed": "Vložiť",
"status.favourite": "Páči sa mi", "status.favourite": "Páči sa mi",
"status.filtered": "Filtrované", "status.filtered": "Filtrované",
"status.history.created": "{name} created {date}", "status.history.created": "{name} vytvoril/a {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "{name} upravil/a {date}",
"status.load_more": "Ukáž viac", "status.load_more": "Ukáž viac",
"status.media_hidden": "Skryté médiá", "status.media_hidden": "Skryté médiá",
"status.mention": "Spomeň @{name}", "status.mention": "Spomeň @{name}",
@ -515,7 +517,7 @@
"upload_error.poll": "Nahrávanie súborov pri anketách nieje možné.", "upload_error.poll": "Nahrávanie súborov pri anketách nieje možné.",
"upload_form.audio_description": "Popíš, pre ľudí so stratou sluchu", "upload_form.audio_description": "Popíš, pre ľudí so stratou sluchu",
"upload_form.description": "Opis pre slabo vidiacich", "upload_form.description": "Opis pre slabo vidiacich",
"upload_form.description_missing": "No description added", "upload_form.description_missing": "Nepridaný žiadny popis",
"upload_form.edit": "Uprav", "upload_form.edit": "Uprav",
"upload_form.thumbnail": "Zmeniť miniatúru", "upload_form.thumbnail": "Zmeniť miniatúru",
"upload_form.undo": "Vymaž", "upload_form.undo": "Vymaž",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Razširi ogledno polje slike", "lightbox.expand": "Razširi ogledno polje slike",
"lightbox.next": "Naslednji", "lightbox.next": "Naslednji",
"lightbox.previous": "Prejšnji", "lightbox.previous": "Prejšnji",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Dodaj na seznam", "lists.account.add": "Dodaj na seznam",
"lists.account.remove": "Odstrani s seznama", "lists.account.remove": "Odstrani s seznama",
"lists.delete": "Izbriši seznam", "lists.delete": "Izbriši seznam",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Zgjeroje kuadratin e parjes së figurave", "lightbox.expand": "Zgjeroje kuadratin e parjes së figurave",
"lightbox.next": "Pasuesja", "lightbox.next": "Pasuesja",
"lightbox.previous": "E mëparshmja", "lightbox.previous": "E mëparshmja",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Shto në listë", "lists.account.add": "Shto në listë",
"lists.account.remove": "Hiqe nga lista", "lists.account.remove": "Hiqe nga lista",
"lists.delete": "Fshije listën", "lists.delete": "Fshije listën",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Sledeći", "lightbox.next": "Sledeći",
"lightbox.previous": "Prethodni", "lightbox.previous": "Prethodni",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Dodaj na listu", "lists.account.add": "Dodaj na listu",
"lists.account.remove": "Ukloni sa liste", "lists.account.remove": "Ukloni sa liste",
"lists.delete": "Obriši listu", "lists.delete": "Obriši listu",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Увећај преглед слике", "lightbox.expand": "Увећај преглед слике",
"lightbox.next": "Следећи", "lightbox.next": "Следећи",
"lightbox.previous": "Претходни", "lightbox.previous": "Претходни",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Додај на листу", "lists.account.add": "Додај на листу",
"lists.account.remove": "Уклони са листе", "lists.account.remove": "Уклони са листе",
"lists.delete": "Обриши листу", "lists.delete": "Обриши листу",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Utöka bildvyrutan", "lightbox.expand": "Utöka bildvyrutan",
"lightbox.next": "Nästa", "lightbox.next": "Nästa",
"lightbox.previous": "Tidigare", "lightbox.previous": "Tidigare",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Lägg till i lista", "lists.account.add": "Lägg till i lista",
"lists.account.remove": "Ta bort från lista", "lists.account.remove": "Ta bort från lista",
"lists.delete": "Radera lista", "lists.delete": "Radera lista",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Add to list", "lists.account.add": "Add to list",
"lists.account.remove": "Remove from list", "lists.account.remove": "Remove from list",
"lists.delete": "Delete list", "lists.delete": "Delete list",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "அடுத்த", "lightbox.next": "அடுத்த",
"lightbox.previous": "சென்ற", "lightbox.previous": "சென்ற",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "பட்டியலில் சேர்", "lists.account.add": "பட்டியலில் சேர்",
"lists.account.remove": "பட்டியலில் இருந்து அகற்று", "lists.account.remove": "பட்டியலில் இருந்து அகற்று",
"lists.delete": "பட்டியலை நீக்கு", "lists.delete": "பட்டியலை நீக்கு",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Add to list", "lists.account.add": "Add to list",
"lists.account.remove": "Remove from list", "lists.account.remove": "Remove from list",
"lists.delete": "Delete list", "lists.delete": "Delete list",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "తరువాత", "lightbox.next": "తరువాత",
"lightbox.previous": "మునుపటి", "lightbox.previous": "మునుపటి",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "జాబితాకు జోడించు", "lists.account.add": "జాబితాకు జోడించు",
"lists.account.remove": "జాబితా నుండి తొలగించు", "lists.account.remove": "జాబితా నుండి తొలగించు",
"lists.delete": "జాబితాను తొలగించు", "lists.delete": "జాబితాను తొలగించు",

View File

@ -93,7 +93,7 @@
"community.column_settings.media_only": "สื่อเท่านั้น", "community.column_settings.media_only": "สื่อเท่านั้น",
"community.column_settings.remote_only": "ระยะไกลเท่านั้น", "community.column_settings.remote_only": "ระยะไกลเท่านั้น",
"compose_form.direct_message_warning_learn_more": "เรียนรู้เพิ่มเติม", "compose_form.direct_message_warning_learn_more": "เรียนรู้เพิ่มเติม",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.encryption_warning": "โพสต์ใน Mastodon ไม่ได้เข้ารหัสแบบต้นทางถึงปลายทาง อย่าแบ่งปันข้อมูลที่เป็นอันตรายใด ๆ ผ่าน Mastodon",
"compose_form.hashtag_warning": "จะไม่แสดงรายการโพสต์นี้ภายใต้แฮชแท็กใด ๆ เนื่องจากไม่อยู่ในรายการ เฉพาะโพสต์สาธารณะเท่านั้นที่สามารถค้นหาได้โดยแฮชแท็ก", "compose_form.hashtag_warning": "จะไม่แสดงรายการโพสต์นี้ภายใต้แฮชแท็กใด ๆ เนื่องจากไม่อยู่ในรายการ เฉพาะโพสต์สาธารณะเท่านั้นที่สามารถค้นหาได้โดยแฮชแท็ก",
"compose_form.lock_disclaimer": "บัญชีของคุณไม่ได้ {locked} ใครก็ตามสามารถติดตามคุณเพื่อดูโพสต์สำหรับผู้ติดตามเท่านั้นของคุณ", "compose_form.lock_disclaimer": "บัญชีของคุณไม่ได้ {locked} ใครก็ตามสามารถติดตามคุณเพื่อดูโพสต์สำหรับผู้ติดตามเท่านั้นของคุณ",
"compose_form.lock_disclaimer.lock": "ล็อคอยู่", "compose_form.lock_disclaimer.lock": "ล็อคอยู่",
@ -264,6 +264,8 @@
"lightbox.expand": "ขยายกล่องดูภาพ", "lightbox.expand": "ขยายกล่องดูภาพ",
"lightbox.next": "ถัดไป", "lightbox.next": "ถัดไป",
"lightbox.previous": "ก่อนหน้า", "lightbox.previous": "ก่อนหน้า",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "เพิ่มไปยังรายการ", "lists.account.add": "เพิ่มไปยังรายการ",
"lists.account.remove": "เอาออกจากรายการ", "lists.account.remove": "เอาออกจากรายการ",
"lists.delete": "ลบรายการ", "lists.delete": "ลบรายการ",
@ -349,9 +351,9 @@
"notifications.grant_permission": "ให้สิทธิอนุญาต", "notifications.grant_permission": "ให้สิทธิอนุญาต",
"notifications.group": "{count} การแจ้งเตือน", "notifications.group": "{count} การแจ้งเตือน",
"notifications.mark_as_read": "ทำเครื่องหมายทุกการแจ้งเตือนว่าอ่านแล้ว", "notifications.mark_as_read": "ทำเครื่องหมายทุกการแจ้งเตือนว่าอ่านแล้ว",
"notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request", "notifications.permission_denied": "การแจ้งเตือนบนเดสก์ท็อปไม่พร้อมใช้งานเนื่องจากมีการปฏิเสธคำขอสิทธิอนุญาตเบราว์เซอร์ก่อนหน้านี้",
"notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before", "notifications.permission_denied_alert": "ไม่สามารถเปิดใช้งานการแจ้งเตือนบนเดสก์ท็อป เนื่องจากมีการปฏิเสธสิทธิอนุญาตเบราว์เซอร์ก่อนหน้านี้",
"notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.", "notifications.permission_required": "การแจ้งเตือนบนเดสก์ท็อปไม่พร้อมใช้งานเนื่องจากไม่ได้ให้สิทธิอนุญาตที่จำเป็น",
"notifications_permission_banner.enable": "เปิดใช้งานการแจ้งเตือนบนเดสก์ท็อป", "notifications_permission_banner.enable": "เปิดใช้งานการแจ้งเตือนบนเดสก์ท็อป",
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.", "notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
"notifications_permission_banner.title": "ไม่พลาดสิ่งใด", "notifications_permission_banner.title": "ไม่พลาดสิ่งใด",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Resim görüntüleme kutusunu genişlet", "lightbox.expand": "Resim görüntüleme kutusunu genişlet",
"lightbox.next": "Sonraki", "lightbox.next": "Sonraki",
"lightbox.previous": "Önceki", "lightbox.previous": "Önceki",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Listeye ekle", "lists.account.add": "Listeye ekle",
"lists.account.remove": "Listeden kaldır", "lists.account.remove": "Listeden kaldır",
"lists.delete": "Listeyi sil", "lists.delete": "Listeyi sil",

View File

@ -7,13 +7,13 @@
"account.block_domain": "{domain} доменын блоклау", "account.block_domain": "{domain} доменын блоклау",
"account.blocked": "Блокланган", "account.blocked": "Блокланган",
"account.browse_more_on_origin_server": "Тулырак оригинал профилендә карап була", "account.browse_more_on_origin_server": "Тулырак оригинал профилендә карап була",
"account.cancel_follow_request": "Cancel follow request", "account.cancel_follow_request": "Язылуга сорауны бетерү",
"account.direct": "@{name} өчен яңа хат", "account.direct": "@{name} өчен яңа хат",
"account.disable_notifications": "Stop notifying me when @{name} posts", "account.disable_notifications": "@{name} язулары өчен белдерүләр сүндерү",
"account.domain_blocked": "Domain blocked", "account.domain_blocked": "Домен блокланган",
"account.edit_profile": "Профильны үзгәртү", "account.edit_profile": "Профильны үзгәртү",
"account.enable_notifications": "@{name} язулары өчен белдерүләр яндыру", "account.enable_notifications": "@{name} язулары өчен белдерүләр яндыру",
"account.endorse": "Feature on profile", "account.endorse": "Профильдә рекомендацияләү",
"account.follow": "Языл", "account.follow": "Языл",
"account.followers": "Язылучылар", "account.followers": "Язылучылар",
"account.followers.empty": "Әле беркем дә язылмаган.", "account.followers.empty": "Әле беркем дә язылмаган.",
@ -23,12 +23,12 @@
"account.follows.empty": "Беркемгә дә язылмаган әле.", "account.follows.empty": "Беркемгә дә язылмаган әле.",
"account.follows_you": "Сезгә язылган", "account.follows_you": "Сезгә язылган",
"account.hide_reblogs": "Hide boosts from @{name}", "account.hide_reblogs": "Hide boosts from @{name}",
"account.joined": "Joined {date}", "account.joined": "{date} көнендә теркәлде",
"account.link_verified_on": "Ownership of this link was checked on {date}", "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.locked_info": "Бу - ябык аккаунт. Аны язылучылар гына күрә ала.",
"account.media": "Медиа", "account.media": "Медиа",
"account.mention": "@{name} искәртү", "account.mention": "@{name} искәртү",
"account.moved_to": "{name} has moved to:", "account.moved_to": "{name} монда күчте:",
"account.mute": "Mute @{name}", "account.mute": "Mute @{name}",
"account.mute_notifications": "Mute notifications from @{name}", "account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted", "account.muted": "Muted",
@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Киләсе", "lightbox.next": "Киләсе",
"lightbox.previous": "Алдагы", "lightbox.previous": "Алдагы",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Add to list", "lists.account.add": "Add to list",
"lists.account.remove": "Исемлектән бетерергә", "lists.account.remove": "Исемлектән бетерергә",
"lists.delete": "Delete list", "lists.delete": "Delete list",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Add to list", "lists.account.add": "Add to list",
"lists.account.remove": "Remove from list", "lists.account.remove": "Remove from list",
"lists.delete": "Delete list", "lists.delete": "Delete list",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Розгорнути поле перегляду зображень", "lightbox.expand": "Розгорнути поле перегляду зображень",
"lightbox.next": "Далі", "lightbox.next": "Далі",
"lightbox.previous": "Назад", "lightbox.previous": "Назад",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Додати до списку", "lists.account.add": "Додати до списку",
"lists.account.remove": "Видалити зі списку", "lists.account.remove": "Видалити зі списку",
"lists.delete": "Видалити список", "lists.delete": "Видалити список",
@ -438,7 +440,7 @@
"search_results.hashtags": "Хештеґи", "search_results.hashtags": "Хештеґи",
"search_results.nothing_found": "Нічого не вдалося знайти за цими пошуковими термінами", "search_results.nothing_found": "Нічого не вдалося знайти за цими пошуковими термінами",
"search_results.statuses": "Дмухів", "search_results.statuses": "Дмухів",
"search_results.statuses_fts_disabled": "Пошук дмухів за вмістом недоступний на цьому сервері Mastodon.", "search_results.statuses_fts_disabled": "Пошук дописів за вмістом недоступний на даному сервері Mastodon.",
"search_results.total": "{count, number} {count, plural, one {результат} few {результати} many {результатів} other {результатів}}", "search_results.total": "{count, number} {count, plural, one {результат} few {результати} many {результатів} other {результатів}}",
"status.admin_account": "Відкрити інтерфейс модерації для @{name}", "status.admin_account": "Відкрити інтерфейс модерації для @{name}",
"status.admin_status": "Відкрити цей статус в інтерфейсі модерації", "status.admin_status": "Відкрити цей статус в інтерфейсі модерації",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Add to list", "lists.account.add": "Add to list",
"lists.account.remove": "Remove from list", "lists.account.remove": "Remove from list",
"lists.delete": "Delete list", "lists.delete": "Delete list",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Phóng to hình", "lightbox.expand": "Phóng to hình",
"lightbox.next": "Tiếp", "lightbox.next": "Tiếp",
"lightbox.previous": "Trước", "lightbox.previous": "Trước",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "Thêm vào danh sách", "lists.account.add": "Thêm vào danh sách",
"lists.account.remove": "Xóa khỏi danh sách", "lists.account.remove": "Xóa khỏi danh sách",
"lists.delete": "Xóa danh sách", "lists.delete": "Xóa danh sách",

View File

@ -264,6 +264,8 @@
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "ⵔⵏⵓ ⵖⵔ ⵜⵍⴳⴰⵎⵜ", "lists.account.add": "ⵔⵏⵓ ⵖⵔ ⵜⵍⴳⴰⵎⵜ",
"lists.account.remove": "ⴽⴽⵙ ⵙⴳ ⵜⵍⴳⴰⵎⵜ", "lists.account.remove": "ⴽⴽⵙ ⵙⴳ ⵜⵍⴳⴰⵎⵜ",
"lists.delete": "ⴽⴽⵙ ⵜⴰⵍⴳⴰⵎⵜ", "lists.delete": "ⴽⴽⵙ ⵜⴰⵍⴳⴰⵎⵜ",

View File

@ -24,7 +24,7 @@
"account.follows_you": "关注了你", "account.follows_you": "关注了你",
"account.hide_reblogs": "隐藏来自 @{name} 的转贴", "account.hide_reblogs": "隐藏来自 @{name} 的转贴",
"account.joined": "加入于 {date}", "account.joined": "加入于 {date}",
"account.link_verified_on": "此链接的所有权已在 {date} 检查", "account.link_verified_on": "此链接的所有权已在 {date} 检查",
"account.locked_info": "此账户已锁嘟。账户所有者会手动审核关注者。", "account.locked_info": "此账户已锁嘟。账户所有者会手动审核关注者。",
"account.media": "媒体", "account.media": "媒体",
"account.mention": "提及 @{name}", "account.mention": "提及 @{name}",
@ -32,8 +32,8 @@
"account.mute": "隐藏 @{name}", "account.mute": "隐藏 @{name}",
"account.mute_notifications": "隐藏来自 @{name} 的通知", "account.mute_notifications": "隐藏来自 @{name} 的通知",
"account.muted": "已隐藏", "account.muted": "已隐藏",
"account.posts": "帖子", "account.posts": "嘟文",
"account.posts_with_replies": "帖子和回复", "account.posts_with_replies": "嘟文和回复",
"account.report": "举报 @{name}", "account.report": "举报 @{name}",
"account.requested": "正在等待对方同意。点击以取消发送关注请求", "account.requested": "正在等待对方同意。点击以取消发送关注请求",
"account.share": "分享 @{name} 的个人资料页", "account.share": "分享 @{name} 的个人资料页",
@ -46,7 +46,7 @@
"account.unfollow": "取消关注", "account.unfollow": "取消关注",
"account.unmute": "不再隐藏 @{name}", "account.unmute": "不再隐藏 @{name}",
"account.unmute_notifications": "不再隐藏来自 @{name} 的通知", "account.unmute_notifications": "不再隐藏来自 @{name} 的通知",
"account.unmute_short": "取消静音", "account.unmute_short": "恢复消息提醒",
"account_note.placeholder": "点击添加备注", "account_note.placeholder": "点击添加备注",
"admin.dashboard.daily_retention": "注册后用户留存率(按日计算)", "admin.dashboard.daily_retention": "注册后用户留存率(按日计算)",
"admin.dashboard.monthly_retention": "注册后用户留存率(按月计算)", "admin.dashboard.monthly_retention": "注册后用户留存率(按月计算)",
@ -79,7 +79,7 @@
"column.lists": "列表", "column.lists": "列表",
"column.mutes": "已隐藏的用户", "column.mutes": "已隐藏的用户",
"column.notifications": "通知", "column.notifications": "通知",
"column.pins": "置顶帖子", "column.pins": "置顶嘟文",
"column.public": "跨站公共时间轴", "column.public": "跨站公共时间轴",
"column_back_button.label": "返回", "column_back_button.label": "返回",
"column_header.hide_settings": "隐藏设置", "column_header.hide_settings": "隐藏设置",
@ -94,8 +94,8 @@
"community.column_settings.remote_only": "仅限外部", "community.column_settings.remote_only": "仅限外部",
"compose_form.direct_message_warning_learn_more": "了解更多", "compose_form.direct_message_warning_learn_more": "了解更多",
"compose_form.encryption_warning": "Mastodon 上的嘟文并未端到端加密。请不要在 Mastodon 上分享敏感信息。", "compose_form.encryption_warning": "Mastodon 上的嘟文并未端到端加密。请不要在 Mastodon 上分享敏感信息。",
"compose_form.hashtag_warning": "此帖子被设置为“不公开”,因此它不会出现在任何话题标签的列表下。只有公开帖子才能通过话题标签进行搜索。", "compose_form.hashtag_warning": "这条嘟文被设置为“不公开”,因此它不会出现在任何话题标签的列表下。只有公开的嘟文才能通过话题标签进行搜索。",
"compose_form.lock_disclaimer": "你的账号没有{locked}。任何人在关注你后都能立即查看仅关注者可见的帖子。", "compose_form.lock_disclaimer": "你的帐户没有{locked}。任何人都可以在关注你后立即查看仅关注者可见的嘟文。",
"compose_form.lock_disclaimer.lock": "开启保护", "compose_form.lock_disclaimer.lock": "开启保护",
"compose_form.placeholder": "在想些什么?", "compose_form.placeholder": "在想些什么?",
"compose_form.poll.add_option": "添加一个选项", "compose_form.poll.add_option": "添加一个选项",
@ -124,11 +124,11 @@
"confirmations.discard_edit_media.confirm": "丢弃", "confirmations.discard_edit_media.confirm": "丢弃",
"confirmations.discard_edit_media.message": "您还有未保存的媒体描述或预览修改,仍然丢弃它们吗?", "confirmations.discard_edit_media.message": "您还有未保存的媒体描述或预览修改,仍然丢弃它们吗?",
"confirmations.domain_block.confirm": "屏蔽整个域名", "confirmations.domain_block.confirm": "屏蔽整个域名",
"confirmations.domain_block.message": "你真的确定要屏蔽所有来自 {domain} 的内容吗?多数情况下,屏蔽或隐藏几个特定的用户就已经足够了。来自该网站的内容将不再出现在你的任何公共时间轴或通知列表里。来自该网站的关注者将会被移除。", "confirmations.domain_block.message": "你真的确定要屏蔽所有来自 {domain} 的内容吗?多数情况下,对几个特定的用户进行屏蔽或禁用对他们的消息提醒就足够了。屏蔽后,来自该域名的内容将不再出现在你任何的公共时间轴或通知列表里,你来自该域名下的关注者也将被移除。",
"confirmations.logout.confirm": "登出", "confirmations.logout.confirm": "登出",
"confirmations.logout.message": "你确定要登出吗?", "confirmations.logout.message": "你确定要登出吗?",
"confirmations.mute.confirm": "隐藏", "confirmations.mute.confirm": "隐藏",
"confirmations.mute.explanation": "这将隐藏他们的嘟文以及提到他们的嘟文,但他们仍可以看到你的嘟文并关注你。", "confirmations.mute.explanation": "这将隐藏来自他们的嘟文以及提到他们的嘟文,但他们仍可以看到你的嘟文并关注你。",
"confirmations.mute.message": "你确定要隐藏 {name} 吗?", "confirmations.mute.message": "你确定要隐藏 {name} 吗?",
"confirmations.redraft.confirm": "删除并重新编辑", "confirmations.redraft.confirm": "删除并重新编辑",
"confirmations.redraft.message": "你确定要删除这条嘟文并重新编辑它吗?所有相关的转嘟和喜欢都会被清除,回复将会失去关联。", "confirmations.redraft.message": "你确定要删除这条嘟文并重新编辑它吗?所有相关的转嘟和喜欢都会被清除,回复将会失去关联。",
@ -144,7 +144,7 @@
"directory.local": "仅来自 {domain}", "directory.local": "仅来自 {domain}",
"directory.new_arrivals": "新来者", "directory.new_arrivals": "新来者",
"directory.recently_active": "最近活跃", "directory.recently_active": "最近活跃",
"embed.instructions": "要在你的网站上嵌入此嘟文,请复制以下代码。", "embed.instructions": "复制下列代码以在你的网站中嵌入此嘟文。",
"embed.preview": "它会像这样显示出来:", "embed.preview": "它会像这样显示出来:",
"emoji_button.activity": "活动", "emoji_button.activity": "活动",
"emoji_button.custom": "自定义", "emoji_button.custom": "自定义",
@ -161,15 +161,15 @@
"emoji_button.symbols": "符号", "emoji_button.symbols": "符号",
"emoji_button.travel": "旅行和地点", "emoji_button.travel": "旅行和地点",
"empty_column.account_suspended": "账户已停用", "empty_column.account_suspended": "账户已停用",
"empty_column.account_timeline": "这里没有帖子", "empty_column.account_timeline": "这里没有嘟文",
"empty_column.account_unavailable": "个人资料不可用", "empty_column.account_unavailable": "个人资料不可用",
"empty_column.blocks": "你还未屏蔽任何用户。", "empty_column.blocks": "你还未屏蔽任何用户。",
"empty_column.bookmarked_statuses": "你还未将任何帖子加入书签。在你添加书签后,帖子将显示在此。", "empty_column.bookmarked_statuses": "你还没有给任何嘟文添加过书签。在你添加书签后,嘟文就会显示在这里。",
"empty_column.community": "本站时间轴暂时没有内容,快写点什么让它动起来吧!", "empty_column.community": "本站时间轴暂时没有内容,快写点什么让它动起来吧!",
"empty_column.direct": "你还未使用过私信。当你发出或者收到私信时,它将显示在此。", "empty_column.direct": "你还未使用过私信。当你发出或者收到私信时,它将显示在此。",
"empty_column.domain_blocks": "目前没有被隐藏的站点。", "empty_column.domain_blocks": "暂且没有被屏蔽的站点。",
"empty_column.explore_statuses": "目前没有热门话题,稍后再来看看吧!", "empty_column.explore_statuses": "目前没有热门话题,稍后再来看看吧!",
"empty_column.favourited_statuses": "你还未喜欢过任何帖子。当你喜欢帖子时,它将显示在此。", "empty_column.favourited_statuses": "你还没有喜欢过任何嘟文。喜欢过的嘟文会显示在这里。",
"empty_column.favourites": "没有人喜欢过这条嘟文。如果有人喜欢了,就会显示在这里。", "empty_column.favourites": "没有人喜欢过这条嘟文。如果有人喜欢了,就会显示在这里。",
"empty_column.follow_recommendations": "似乎无法为你生成任何建议。你可以尝试使用搜索寻找你可能知道的人或探索热门标签。", "empty_column.follow_recommendations": "似乎无法为你生成任何建议。你可以尝试使用搜索寻找你可能知道的人或探索热门标签。",
"empty_column.follow_requests": "你没有收到新的关注请求。收到后将显示在此。", "empty_column.follow_requests": "你没有收到新的关注请求。收到后将显示在此。",
@ -180,7 +180,7 @@
"empty_column.lists": "你还没有创建过列表。你创建的列表会在这里显示。", "empty_column.lists": "你还没有创建过列表。你创建的列表会在这里显示。",
"empty_column.mutes": "你没有隐藏任何用户。", "empty_column.mutes": "你没有隐藏任何用户。",
"empty_column.notifications": "你还没有收到过任何通知,快和其他用户互动吧。", "empty_column.notifications": "你还没有收到过任何通知,快和其他用户互动吧。",
"empty_column.public": "这里什么都没有!写一些公开帖子,或者关注其他服务器的用户后,这里就会有嘟文出现了", "empty_column.public": "这里什么都没有!写一些公开的嘟文,或者关注其他服务器的用户后,这里就会有嘟文出现了",
"error.unexpected_crash.explanation": "此页面无法正确显示,这可能是因为我们的代码中有错误,也可能是因为浏览器兼容问题。", "error.unexpected_crash.explanation": "此页面无法正确显示,这可能是因为我们的代码中有错误,也可能是因为浏览器兼容问题。",
"error.unexpected_crash.explanation_addons": "此页面无法正确显示,这个错误很可能是由浏览器附加组件或自动翻译工具造成的。", "error.unexpected_crash.explanation_addons": "此页面无法正确显示,这个错误很可能是由浏览器附加组件或自动翻译工具造成的。",
"error.unexpected_crash.next_steps": "刷新一下页面试试。如果没用,你可以换个浏览器或者用本地应用。", "error.unexpected_crash.next_steps": "刷新一下页面试试。如果没用,你可以换个浏览器或者用本地应用。",
@ -191,14 +191,14 @@
"explore.suggested_follows": "为你推荐", "explore.suggested_follows": "为你推荐",
"explore.title": "探索", "explore.title": "探索",
"explore.trending_links": "最新消息", "explore.trending_links": "最新消息",
"explore.trending_statuses": "帖子", "explore.trending_statuses": "嘟文",
"explore.trending_tags": "话题标签", "explore.trending_tags": "话题标签",
"follow_recommendations.done": "完成", "follow_recommendations.done": "完成",
"follow_recommendations.heading": "关注你感兴趣的用户!这里有一些推荐。", "follow_recommendations.heading": "关注你感兴趣的用户!这里有一些推荐。",
"follow_recommendations.lead": "你关注的人的帖子将按时间顺序显示在你的主页。 别担心,你可以随时取消关注!", "follow_recommendations.lead": "你关注的人的嘟文将按时间顺序在你的主页上显示。 别担心,你可以随时取消关注!",
"follow_request.authorize": "授权", "follow_request.authorize": "授权",
"follow_request.reject": "拒绝", "follow_request.reject": "拒绝",
"follow_requests.unlocked_explanation": "虽说你没有锁嘟,但是 {domain} 的工作人员觉得你可能想手工审核这些账号的关注请求。", "follow_requests.unlocked_explanation": "尽管你没有锁嘟,但是 {domain} 的工作人员认为你也许会想手动审核审核这些账号的关注请求。",
"generic.saved": "已保存", "generic.saved": "已保存",
"getting_started.developers": "开发", "getting_started.developers": "开发",
"getting_started.directory": "用户目录", "getting_started.directory": "用户目录",
@ -233,30 +233,30 @@
"keyboard_shortcuts.description": "说明", "keyboard_shortcuts.description": "说明",
"keyboard_shortcuts.direct": "打开私信栏", "keyboard_shortcuts.direct": "打开私信栏",
"keyboard_shortcuts.down": "在列表中让光标下移", "keyboard_shortcuts.down": "在列表中让光标下移",
"keyboard_shortcuts.enter": "展开帖子", "keyboard_shortcuts.enter": "展开嘟文",
"keyboard_shortcuts.favourite": "喜欢帖子", "keyboard_shortcuts.favourite": "喜欢嘟文",
"keyboard_shortcuts.favourites": "打开喜欢的帖子列表", "keyboard_shortcuts.favourites": "打开喜欢的嘟文列表",
"keyboard_shortcuts.federated": "打开跨站时间轴", "keyboard_shortcuts.federated": "打开跨站时间轴",
"keyboard_shortcuts.heading": "快捷键列表", "keyboard_shortcuts.heading": "快捷键列表",
"keyboard_shortcuts.home": "打开主页时间轴", "keyboard_shortcuts.home": "打开主页时间轴",
"keyboard_shortcuts.hotkey": "快捷键", "keyboard_shortcuts.hotkey": "快捷键",
"keyboard_shortcuts.legend": "显示此列表", "keyboard_shortcuts.legend": "显示此列表",
"keyboard_shortcuts.local": "打开本站时间轴", "keyboard_shortcuts.local": "打开本站时间轴",
"keyboard_shortcuts.mention": "提及作者", "keyboard_shortcuts.mention": "提及嘟文作者",
"keyboard_shortcuts.muted": "打开已隐藏用户列表", "keyboard_shortcuts.muted": "打开已静音的用户列表",
"keyboard_shortcuts.my_profile": "打开你的个人资料", "keyboard_shortcuts.my_profile": "打开你的个人资料",
"keyboard_shortcuts.notifications": "打开通知栏", "keyboard_shortcuts.notifications": "打开通知栏",
"keyboard_shortcuts.open_media": "打开媒体", "keyboard_shortcuts.open_media": "打开媒体",
"keyboard_shortcuts.pinned": "打开置顶帖子列表", "keyboard_shortcuts.pinned": "打开置顶嘟文列表",
"keyboard_shortcuts.profile": "打开作者的个人资料", "keyboard_shortcuts.profile": "打开作者的个人资料",
"keyboard_shortcuts.reply": "回复帖子", "keyboard_shortcuts.reply": "回复嘟文",
"keyboard_shortcuts.requests": "打开关注请求列表", "keyboard_shortcuts.requests": "打开关注请求列表",
"keyboard_shortcuts.search": "选择搜索框", "keyboard_shortcuts.search": "选择搜索框",
"keyboard_shortcuts.spoilers": "显示或隐藏被折叠的正文", "keyboard_shortcuts.spoilers": "显示或隐藏被折叠的正文",
"keyboard_shortcuts.start": "打开“开始使用”栏", "keyboard_shortcuts.start": "打开“开始使用”栏",
"keyboard_shortcuts.toggle_hidden": "显示或隐藏被折叠的正文", "keyboard_shortcuts.toggle_hidden": "显示或隐藏被折叠的正文",
"keyboard_shortcuts.toggle_sensitivity": "显示/隐藏媒体", "keyboard_shortcuts.toggle_sensitivity": "显示/隐藏媒体",
"keyboard_shortcuts.toot": "发布新帖子", "keyboard_shortcuts.toot": "发送新嘟文",
"keyboard_shortcuts.unfocus": "取消输入/搜索", "keyboard_shortcuts.unfocus": "取消输入/搜索",
"keyboard_shortcuts.up": "在列表中让光标上移", "keyboard_shortcuts.up": "在列表中让光标上移",
"lightbox.close": "关闭", "lightbox.close": "关闭",
@ -264,6 +264,8 @@
"lightbox.expand": "放大查看图片", "lightbox.expand": "放大查看图片",
"lightbox.next": "下一个", "lightbox.next": "下一个",
"lightbox.previous": "上一个", "lightbox.previous": "上一个",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "添加到列表", "lists.account.add": "添加到列表",
"lists.account.remove": "从列表中移除", "lists.account.remove": "从列表中移除",
"lists.delete": "删除列表", "lists.delete": "删除列表",
@ -289,7 +291,7 @@
"navigation_bar.blocks": "已屏蔽的用户", "navigation_bar.blocks": "已屏蔽的用户",
"navigation_bar.bookmarks": "书签", "navigation_bar.bookmarks": "书签",
"navigation_bar.community_timeline": "本站时间轴", "navigation_bar.community_timeline": "本站时间轴",
"navigation_bar.compose": "撰写新帖子", "navigation_bar.compose": "撰写新嘟文",
"navigation_bar.direct": "私信", "navigation_bar.direct": "私信",
"navigation_bar.discover": "发现", "navigation_bar.discover": "发现",
"navigation_bar.domain_blocks": "已屏蔽的域名", "navigation_bar.domain_blocks": "已屏蔽的域名",
@ -305,20 +307,20 @@
"navigation_bar.logout": "登出", "navigation_bar.logout": "登出",
"navigation_bar.mutes": "已隐藏的用户", "navigation_bar.mutes": "已隐藏的用户",
"navigation_bar.personal": "个人", "navigation_bar.personal": "个人",
"navigation_bar.pins": "置顶帖子", "navigation_bar.pins": "置顶嘟文",
"navigation_bar.preferences": "首选项", "navigation_bar.preferences": "首选项",
"navigation_bar.public_timeline": "跨站公共时间轴", "navigation_bar.public_timeline": "跨站公共时间轴",
"navigation_bar.security": "安全", "navigation_bar.security": "安全",
"notification.admin.sign_up": "{name} 已注册", "notification.admin.sign_up": "{name} 已注册",
"notification.favourite": "{name} 喜欢了你的帖子", "notification.favourite": "{name} 喜欢了你的嘟文",
"notification.follow": "{name} 开始关注你", "notification.follow": "{name} 开始关注你",
"notification.follow_request": "{name} 向你发送了关注请求", "notification.follow_request": "{name} 向你发送了关注请求",
"notification.mention": "{name} 提及了你", "notification.mention": "{name} 提及了你",
"notification.own_poll": "你的投票已经结束", "notification.own_poll": "你的投票已经结束",
"notification.poll": "你参与的一个投票已经结束", "notification.poll": "你参与的一个投票已经结束",
"notification.reblog": "{name} 转嘟了你的嘟文", "notification.reblog": "{name} 转嘟了你的嘟文",
"notification.status": "{name} 刚刚发", "notification.status": "{name} 刚刚发",
"notification.update": "{name} 编辑了帖子", "notification.update": "{name} 编辑了嘟文",
"notifications.clear": "清空通知列表", "notifications.clear": "清空通知列表",
"notifications.clear_confirmation": "你确定要永久清空通知列表吗?", "notifications.clear_confirmation": "你确定要永久清空通知列表吗?",
"notifications.column_settings.admin.sign_up": "新注册:", "notifications.column_settings.admin.sign_up": "新注册:",
@ -390,7 +392,7 @@
"relative_time.today": "今天", "relative_time.today": "今天",
"reply_indicator.cancel": "取消", "reply_indicator.cancel": "取消",
"report.block": "屏蔽", "report.block": "屏蔽",
"report.block_explanation": "你将到他们的帖子。他们也将无法看到你的帖子或关注你。他们将能够判断他们被屏蔽了。", "report.block_explanation": "你将无法看到他们的帖子。他们也将无法看到你的帖子或关注你。他们将能够判断他们被屏蔽了。",
"report.categories.other": "其他", "report.categories.other": "其他",
"report.categories.spam": "垃圾信息", "report.categories.spam": "垃圾信息",
"report.categories.violation": "内容违反一条或多条服务器规则", "report.categories.violation": "内容违反一条或多条服务器规则",
@ -402,8 +404,8 @@
"report.comment.title": "还有什么你认为我们应该知道的吗?", "report.comment.title": "还有什么你认为我们应该知道的吗?",
"report.forward": "转发举报至 {target}", "report.forward": "转发举报至 {target}",
"report.forward_hint": "这名用户来自另一个服务器。是否要向那个服务器发送一条匿名的举报?", "report.forward_hint": "这名用户来自另一个服务器。是否要向那个服务器发送一条匿名的举报?",
"report.mute": "静音", "report.mute": "隐藏",
"report.mute_explanation": "你将不会看到他们的嘟文。他们仍然可以关注你并看到你的帖子,但他们不会知道他们被静音了。", "report.mute_explanation": "你将不会看到他们的嘟文。他们仍然可以关注你并看到你的嘟文,但他们不会知道你忽略了来自他们的信息。",
"report.next": "下一步", "report.next": "下一步",
"report.placeholder": "备注", "report.placeholder": "备注",
"report.reasons.dislike": "我不喜欢它", "report.reasons.dislike": "我不喜欢它",
@ -445,8 +447,8 @@
"status.block": "屏蔽 @{name}", "status.block": "屏蔽 @{name}",
"status.bookmark": "添加到书签", "status.bookmark": "添加到书签",
"status.cancel_reblog_private": "取消转贴", "status.cancel_reblog_private": "取消转贴",
"status.cannot_reblog": "此贴不允许被转贴", "status.cannot_reblog": "这条嘟文不允许被转嘟",
"status.copy": "复制帖子链接", "status.copy": "复制嘟文链接",
"status.delete": "删除", "status.delete": "删除",
"status.detailed_status": "详细的对话视图", "status.detailed_status": "详细的对话视图",
"status.direct": "私信 @{name}", "status.direct": "私信 @{name}",
@ -463,15 +465,15 @@
"status.mention": "提及 @{name}", "status.mention": "提及 @{name}",
"status.more": "更多", "status.more": "更多",
"status.mute": "隐藏 @{name}", "status.mute": "隐藏 @{name}",
"status.mute_conversation": "将此对话静音", "status.mute_conversation": "禁用此对话的消息提醒",
"status.open": "展开此贴", "status.open": "展开嘟文",
"status.pin": "在个人资料页面置顶", "status.pin": "固定在个人资料页面上",
"status.pinned": "置顶帖子", "status.pinned": "置顶嘟文",
"status.read_more": "查看更多", "status.read_more": "查看更多",
"status.reblog": "转嘟", "status.reblog": "转嘟",
"status.reblog_private": "转(可见者不变)", "status.reblog_private": "转(可见者不变)",
"status.reblogged_by": "{name} 转了", "status.reblogged_by": "{name} 转了",
"status.reblogs.empty": "没有人转贴过此贴。如果有人转贴了将显示在此。", "status.reblogs.empty": "没有人转嘟过此条嘟文。如果有人转嘟了,就会显示在这里。",
"status.redraft": "删除并重新编辑", "status.redraft": "删除并重新编辑",
"status.remove_bookmark": "移除书签", "status.remove_bookmark": "移除书签",
"status.reply": "回复", "status.reply": "回复",
@ -485,8 +487,8 @@
"status.show_more_all": "显示全部内容", "status.show_more_all": "显示全部内容",
"status.show_thread": "显示全部对话", "status.show_thread": "显示全部对话",
"status.uncached_media_warning": "暂不可用", "status.uncached_media_warning": "暂不可用",
"status.unmute_conversation": "将此对话解除静音", "status.unmute_conversation": "恢复此对话的通知提醒",
"status.unpin": "在个人资料页面取消置顶", "status.unpin": "从个人资料页面上取消固定",
"suggestions.dismiss": "关闭建议", "suggestions.dismiss": "关闭建议",
"suggestions.header": "你可能会感兴趣…", "suggestions.header": "你可能会感兴趣…",
"tabs_bar.federated_timeline": "跨站", "tabs_bar.federated_timeline": "跨站",
@ -502,7 +504,7 @@
"timeline_hint.remote_resource_not_displayed": "不会显示来自其它服务器的 {resource}", "timeline_hint.remote_resource_not_displayed": "不会显示来自其它服务器的 {resource}",
"timeline_hint.resources.followers": "关注者", "timeline_hint.resources.followers": "关注者",
"timeline_hint.resources.follows": "关注", "timeline_hint.resources.follows": "关注",
"timeline_hint.resources.statuses": "更早的帖子", "timeline_hint.resources.statuses": "更早的嘟文",
"trends.counter_by_accounts": "{count, plural, one {{counter} 人} other {{counter} 人}}正在讨论", "trends.counter_by_accounts": "{count, plural, one {{counter} 人} other {{counter} 人}}正在讨论",
"trends.trending_now": "现在流行", "trends.trending_now": "现在流行",
"ui.beforeunload": "如果你现在离开 Mastodon你的草稿内容将会丢失。", "ui.beforeunload": "如果你现在离开 Mastodon你的草稿内容将会丢失。",
@ -540,5 +542,5 @@
"video.mute": "静音", "video.mute": "静音",
"video.pause": "暂停", "video.pause": "暂停",
"video.play": "播放", "video.play": "播放",
"video.unmute": "取消静音" "video.unmute": "解除禁音"
} }

View File

@ -264,6 +264,8 @@
"lightbox.expand": "擴大檢視", "lightbox.expand": "擴大檢視",
"lightbox.next": "下一頁", "lightbox.next": "下一頁",
"lightbox.previous": "上一頁", "lightbox.previous": "上一頁",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "新增到列表", "lists.account.add": "新增到列表",
"lists.account.remove": "從列表刪除", "lists.account.remove": "從列表刪除",
"lists.delete": "刪除列表", "lists.delete": "刪除列表",

View File

@ -25,7 +25,7 @@
"account.hide_reblogs": "隱藏來自 @{name} 的轉嘟", "account.hide_reblogs": "隱藏來自 @{name} 的轉嘟",
"account.joined": "加入於 {date}", "account.joined": "加入於 {date}",
"account.link_verified_on": "已在 {date} 檢查此連結的擁有者權限", "account.link_verified_on": "已在 {date} 檢查此連結的擁有者權限",
"account.locked_info": "此帳戶的隱私狀態被設為鎖定。該擁有者會手動審核能跟隨此帳的人。", "account.locked_info": "此帳戶的隱私狀態被設為鎖定。該擁有者會手動審核能跟隨此帳的人。",
"account.media": "媒體", "account.media": "媒體",
"account.mention": "提及 @{name}", "account.mention": "提及 @{name}",
"account.moved_to": "{name} 已遷移至:", "account.moved_to": "{name} 已遷移至:",
@ -95,7 +95,7 @@
"compose_form.direct_message_warning_learn_more": "了解更多", "compose_form.direct_message_warning_learn_more": "了解更多",
"compose_form.encryption_warning": "Mastodon 上的嘟文並未端到端加密。請不要透過 Mastodon 分享任何敏感資訊。", "compose_form.encryption_warning": "Mastodon 上的嘟文並未端到端加密。請不要透過 Mastodon 分享任何敏感資訊。",
"compose_form.hashtag_warning": "由於這則嘟文設定為「不公開」,它將不會被列於任何主題標籤下。只有公開的嘟文才能藉由主題標籤找到。", "compose_form.hashtag_warning": "由於這則嘟文設定為「不公開」,它將不會被列於任何主題標籤下。只有公開的嘟文才能藉由主題標籤找到。",
"compose_form.lock_disclaimer": "您的帳戶尚未 {locked}。任何人都能關注您並看到您設定成只有跟隨者能看的嘟文。", "compose_form.lock_disclaimer": "您的帳號尚未 {locked}。任何人皆能跟隨您並看到您設定成只有跟隨者能看的嘟文。",
"compose_form.lock_disclaimer.lock": "上鎖", "compose_form.lock_disclaimer.lock": "上鎖",
"compose_form.placeholder": "正在想些什麼嗎?", "compose_form.placeholder": "正在想些什麼嗎?",
"compose_form.poll.add_option": "新增選項", "compose_form.poll.add_option": "新增選項",
@ -124,7 +124,7 @@
"confirmations.discard_edit_media.confirm": "捨棄", "confirmations.discard_edit_media.confirm": "捨棄",
"confirmations.discard_edit_media.message": "您在媒體描述或預覽區塊有未儲存的變更。是否要捨棄這些變更?", "confirmations.discard_edit_media.message": "您在媒體描述或預覽區塊有未儲存的變更。是否要捨棄這些變更?",
"confirmations.domain_block.confirm": "隱藏整個域名", "confirmations.domain_block.confirm": "隱藏整個域名",
"confirmations.domain_block.message": "真的非常確定封鎖整個 {domain} 網域嗎?大部分情況下,您只需要封鎖或靜音少數特定的帳帳戶能滿足需求了。您將不能在任何公開的時間軸及通知中看到來自此網域的內容。您來自該網域的跟隨者也將被移除。", "confirmations.domain_block.message": "真的非常確定封鎖整個 {domain} 網域嗎?大部分情況下,您只需要封鎖或靜音少數特定的帳能滿足需求了。您將不能在任何公開的時間軸及通知中看到來自此網域的內容。您來自該網域的跟隨者也將被移除。",
"confirmations.logout.confirm": "登出", "confirmations.logout.confirm": "登出",
"confirmations.logout.message": "您確定要登出嗎?", "confirmations.logout.message": "您確定要登出嗎?",
"confirmations.mute.confirm": "靜音", "confirmations.mute.confirm": "靜音",
@ -160,7 +160,7 @@
"emoji_button.search_results": "搜尋結果", "emoji_button.search_results": "搜尋結果",
"emoji_button.symbols": "符號", "emoji_button.symbols": "符號",
"emoji_button.travel": "旅遊與地點", "emoji_button.travel": "旅遊與地點",
"empty_column.account_suspended": "帳被暫停", "empty_column.account_suspended": "帳被暫停",
"empty_column.account_timeline": "這裡還沒有嘟文!", "empty_column.account_timeline": "這裡還沒有嘟文!",
"empty_column.account_unavailable": "無法取得個人檔案", "empty_column.account_unavailable": "無法取得個人檔案",
"empty_column.blocks": "您還沒有封鎖任何使用者。", "empty_column.blocks": "您還沒有封鎖任何使用者。",
@ -198,7 +198,7 @@
"follow_recommendations.lead": "來自您跟隨的人之嘟文將會按時間順序顯示在您的首頁時間軸上。不要害怕犯錯,您隨時都可以取消跟隨其他人!", "follow_recommendations.lead": "來自您跟隨的人之嘟文將會按時間順序顯示在您的首頁時間軸上。不要害怕犯錯,您隨時都可以取消跟隨其他人!",
"follow_request.authorize": "授權", "follow_request.authorize": "授權",
"follow_request.reject": "拒絕", "follow_request.reject": "拒絕",
"follow_requests.unlocked_explanation": "即便您的帳戶未被鎖定,{domain} 的管理員認為您可能想要自己審核這些帳戶的跟隨請求。", "follow_requests.unlocked_explanation": "即便您的帳號未被鎖定,{domain} 的管理員認為您可能想要自己審核這些帳號的跟隨請求。",
"generic.saved": "已儲存", "generic.saved": "已儲存",
"getting_started.developers": "開發者", "getting_started.developers": "開發者",
"getting_started.directory": "個人檔案目錄", "getting_started.directory": "個人檔案目錄",
@ -206,7 +206,7 @@
"getting_started.heading": "開始使用", "getting_started.heading": "開始使用",
"getting_started.invite": "邀請使用者", "getting_started.invite": "邀請使用者",
"getting_started.open_source_notice": "Mastodon 是開源軟體。您可以在 GitHub {github} 上貢獻或是回報問題。", "getting_started.open_source_notice": "Mastodon 是開源軟體。您可以在 GitHub {github} 上貢獻或是回報問題。",
"getting_started.security": "帳安全性設定", "getting_started.security": "帳安全性設定",
"getting_started.terms": "服務條款", "getting_started.terms": "服務條款",
"hashtag.column_header.tag_mode.all": "以及 {additional}", "hashtag.column_header.tag_mode.all": "以及 {additional}",
"hashtag.column_header.tag_mode.any": "或是 {additional}", "hashtag.column_header.tag_mode.any": "或是 {additional}",
@ -264,6 +264,8 @@
"lightbox.expand": "展開圖片檢視框", "lightbox.expand": "展開圖片檢視框",
"lightbox.next": "下一步", "lightbox.next": "下一步",
"lightbox.previous": "上一步", "lightbox.previous": "上一步",
"limited_account_hint.action": "Show profile anyway",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.",
"lists.account.add": "新增至列表", "lists.account.add": "新增至列表",
"lists.account.remove": "從列表中移除", "lists.account.remove": "從列表中移除",
"lists.delete": "刪除列表", "lists.delete": "刪除列表",
@ -401,7 +403,7 @@
"report.close": "已完成", "report.close": "已完成",
"report.comment.title": "有什麼其他您想讓我們知道的嗎?", "report.comment.title": "有什麼其他您想讓我們知道的嗎?",
"report.forward": "轉寄到 {target}", "report.forward": "轉寄到 {target}",
"report.forward_hint": "這個帳戶屬於其他伺服器。要像該伺服器發送匿名的檢舉訊息嗎?", "report.forward_hint": "這個帳號屬於其他伺服器。要向該伺服器發送匿名的檢舉訊息嗎?",
"report.mute": "靜音", "report.mute": "靜音",
"report.mute_explanation": "您將不再看到他們的嘟文。他們仍能可以跟隨您以及察看您的嘟文,並且不會知道他們已被靜音。", "report.mute_explanation": "您將不再看到他們的嘟文。他們仍能可以跟隨您以及察看您的嘟文,並且不會知道他們已被靜音。",
"report.next": "繼續", "report.next": "繼續",
@ -428,10 +430,10 @@
"report.unfollow_explanation": "您正在跟隨此帳號。如不欲於首頁時間軸再見到他們的嘟文,請取消跟隨。", "report.unfollow_explanation": "您正在跟隨此帳號。如不欲於首頁時間軸再見到他們的嘟文,請取消跟隨。",
"search.placeholder": "搜尋", "search.placeholder": "搜尋",
"search_popout.search_format": "進階搜尋格式", "search_popout.search_format": "進階搜尋格式",
"search_popout.tips.full_text": "輸入簡單的文字,搜尋由您撰寫、最愛、轉嘟或提您的嘟文,以及與關鍵詞匹配的使用者名稱、帳顯示名稱和主題標籤。", "search_popout.tips.full_text": "輸入簡單的文字,搜尋由您撰寫、最愛、轉嘟或提您的嘟文,以及與關鍵詞匹配的使用者名稱、帳顯示名稱和主題標籤。",
"search_popout.tips.hashtag": "主題標籤", "search_popout.tips.hashtag": "主題標籤",
"search_popout.tips.status": "嘟文", "search_popout.tips.status": "嘟文",
"search_popout.tips.text": "輸入簡單的文字,搜尋符合的使用者名稱,帳名稱與標籤", "search_popout.tips.text": "輸入簡單的文字,搜尋符合的使用者名稱,帳名稱與標籤",
"search_popout.tips.user": "使用者", "search_popout.tips.user": "使用者",
"search_results.accounts": "使用者", "search_results.accounts": "使用者",
"search_results.all": "全部", "search_results.all": "全部",

View File

@ -3,6 +3,7 @@
class ActivityPub::Activity class ActivityPub::Activity
include JsonLdHelper include JsonLdHelper
include Redisable include Redisable
include Lockable
SUPPORTED_TYPES = %w(Note Question).freeze SUPPORTED_TYPES = %w(Note Question).freeze
CONVERTED_TYPES = %w(Image Audio Video Article Page Event).freeze CONVERTED_TYPES = %w(Image Audio Video Article Page Event).freeze
@ -157,22 +158,6 @@ class ActivityPub::Activity
end end
end end
def lock_or_return(key, expire_after = 2.hours.seconds)
yield if redis.set(key, true, nx: true, ex: expire_after)
ensure
redis.del(key)
end
def lock_or_fail(key, expire_after = 15.minutes.seconds)
RedisLock.acquire({ redis: redis, key: key, autorelease: expire_after }) do |lock|
if lock.acquired?
yield
else
raise Mastodon::RaceConditionError
end
end
end
def fetch? def fetch?
!@options[:delivery] !@options[:delivery]
end end

View File

@ -4,7 +4,7 @@ class ActivityPub::Activity::Announce < ActivityPub::Activity
def perform def perform
return reject_payload! if delete_arrived_first?(@json['id']) || !related_to_local_activity? return reject_payload! if delete_arrived_first?(@json['id']) || !related_to_local_activity?
lock_or_fail("announce:#{@object['id']}") do with_lock("announce:#{value_or_id(@object)}") do
original_status = status_from_object original_status = status_from_object
return reject_payload! if original_status.nil? || !announceable?(original_status) return reject_payload! if original_status.nil? || !announceable?(original_status)

View File

@ -47,7 +47,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
def create_status def create_status
return reject_payload! if unsupported_object_type? || invalid_origin?(object_uri) || tombstone_exists? || !related_to_local_activity? return reject_payload! if unsupported_object_type? || invalid_origin?(object_uri) || tombstone_exists? || !related_to_local_activity?
lock_or_fail("create:#{object_uri}") do with_lock("create:#{object_uri}") do
return if delete_arrived_first?(object_uri) || poll_vote? return if delete_arrived_first?(object_uri) || poll_vote?
@status = find_existing_status @status = find_existing_status
@ -315,7 +315,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
poll = replied_to_status.preloadable_poll poll = replied_to_status.preloadable_poll
already_voted = true already_voted = true
lock_or_fail("vote:#{replied_to_status.poll_id}:#{@account.id}") do with_lock("vote:#{replied_to_status.poll_id}:#{@account.id}") do
already_voted = poll.votes.where(account: @account).exists? already_voted = poll.votes.where(account: @account).exists?
poll.votes.create!(account: @account, choice: poll.options.index(@object['name']), uri: object_uri) poll.votes.create!(account: @account, choice: poll.options.index(@object['name']), uri: object_uri)
end end

View File

@ -12,7 +12,7 @@ class ActivityPub::Activity::Delete < ActivityPub::Activity
private private
def delete_person def delete_person
lock_or_return("delete_in_progress:#{@account.id}") do with_lock("delete_in_progress:#{@account.id}", autorelease: 2.hours, raise_on_failure: false) do
DeleteAccountService.new.call(@account, reserve_username: false, skip_activitypub: true) DeleteAccountService.new.call(@account, reserve_username: false, skip_activitypub: true)
end end
end end
@ -20,14 +20,14 @@ class ActivityPub::Activity::Delete < ActivityPub::Activity
def delete_note def delete_note
return if object_uri.nil? return if object_uri.nil?
lock_or_return("delete_status_in_progress:#{object_uri}", 5.minutes.seconds) do with_lock("delete_status_in_progress:#{object_uri}", raise_on_failure: false) do
unless invalid_origin?(object_uri) unless invalid_origin?(object_uri)
# This lock ensures a concurrent `ActivityPub::Activity::Create` either # This lock ensures a concurrent `ActivityPub::Activity::Create` either
# does not create a status at all, or has finished saving it to the # does not create a status at all, or has finished saving it to the
# database before we try to load it. # database before we try to load it.
# Without the lock, `delete_later!` could be called after `delete_arrived_first?` # Without the lock, `delete_later!` could be called after `delete_arrived_first?`
# and `Status.find` before `Status.create!` # and `Status.find` before `Status.create!`
lock_or_fail("create:#{object_uri}") { delete_later!(object_uri) } with_lock("create:#{object_uri}") { delete_later!(object_uri) }
Tombstone.find_or_create_by(uri: object_uri, account: @account) Tombstone.find_or_create_by(uri: object_uri, account: @account)
end end

View File

@ -15,6 +15,7 @@
class AccountMigration < ApplicationRecord class AccountMigration < ApplicationRecord
include Redisable include Redisable
include Lockable
COOLDOWN_PERIOD = 30.days.freeze COOLDOWN_PERIOD = 30.days.freeze
@ -41,12 +42,8 @@ class AccountMigration < ApplicationRecord
return false unless errors.empty? return false unless errors.empty?
RedisLock.acquire(lock_options) do |lock| with_lock("account_migration:#{account.id}") do
if lock.acquired? save
save
else
raise Mastodon::RaceConditionError
end
end end
end end
@ -83,8 +80,4 @@ class AccountMigration < ApplicationRecord
def validate_migration_cooldown def validate_migration_cooldown
errors.add(:base, I18n.t('migrations.errors.on_cooldown')) if account.migrations.within_cooldown.exists? errors.add(:base, I18n.t('migrations.errors.on_cooldown')) if account.migrations.within_cooldown.exists?
end end
def lock_options
{ redis: redis, key: "account_migration:#{account.id}" }
end
end end

View File

@ -0,0 +1,19 @@
# frozen_string_literal: true
module Lockable
# @param [String] lock_name
# @param [ActiveSupport::Duration] autorelease Automatically release the lock after this time
# @param [Boolean] raise_on_failure Raise an error if a lock cannot be acquired, or fail silently
# @raise [Mastodon::RaceConditionError]
def with_lock(lock_name, autorelease: 15.minutes, raise_on_failure: true)
with_redis do |redis|
RedisLock.acquire(redis: redis, key: "lock:#{lock_name}", autorelease: autorelease.seconds) do |lock|
if lock.acquired?
yield
elsif raise_on_failure
raise Mastodon::RaceConditionError, "Could not acquire lock for #{lock_name}, try again later"
end
end
end
end
end

View File

@ -1,11 +1,11 @@
# frozen_string_literal: true # frozen_string_literal: true
module Redisable module Redisable
extend ActiveSupport::Concern
private
def redis def redis
Thread.current[:redis] ||= RedisConfiguration.pool.checkout Thread.current[:redis] ||= RedisConfiguration.pool.checkout
end end
def with_redis(&block)
RedisConfiguration.with(&block)
end
end end

View File

@ -4,6 +4,7 @@ class ActivityPub::ProcessAccountService < BaseService
include JsonLdHelper include JsonLdHelper
include DomainControlHelper include DomainControlHelper
include Redisable include Redisable
include Lockable
# Should be called with confirmed valid JSON # Should be called with confirmed valid JSON
# and WebFinger-resolved username and domain # and WebFinger-resolved username and domain
@ -17,22 +18,18 @@ class ActivityPub::ProcessAccountService < BaseService
@domain = domain @domain = domain
@collections = {} @collections = {}
RedisLock.acquire(lock_options) do |lock| with_lock("process_account:#{@uri}") do
if lock.acquired? @account = Account.remote.find_by(uri: @uri) if @options[:only_key]
@account = Account.remote.find_by(uri: @uri) if @options[:only_key] @account ||= Account.find_remote(@username, @domain)
@account ||= Account.find_remote(@username, @domain) @old_public_key = @account&.public_key
@old_public_key = @account&.public_key @old_protocol = @account&.protocol
@old_protocol = @account&.protocol @suspension_changed = false
@suspension_changed = false
create_account if @account.nil? create_account if @account.nil?
update_account update_account
process_tags process_tags
process_duplicate_accounts! if @options[:verified_webfinger] process_duplicate_accounts! if @options[:verified_webfinger]
else
raise Mastodon::RaceConditionError
end
end end
return if @account.nil? return if @account.nil?
@ -289,10 +286,6 @@ class ActivityPub::ProcessAccountService < BaseService
!@old_protocol.nil? && @old_protocol != @account.protocol !@old_protocol.nil? && @old_protocol != @account.protocol
end end
def lock_options
{ redis: redis, key: "process_account:#{@uri}", autorelease: 15.minutes.seconds }
end
def process_tags def process_tags
return if @json['tag'].blank? return if @json['tag'].blank?

View File

@ -3,6 +3,7 @@
class ActivityPub::ProcessStatusUpdateService < BaseService class ActivityPub::ProcessStatusUpdateService < BaseService
include JsonLdHelper include JsonLdHelper
include Redisable include Redisable
include Lockable
def call(status, json) def call(status, json)
raise ArgumentError, 'Status has unsaved changes' if status.changed? raise ArgumentError, 'Status has unsaved changes' if status.changed?
@ -33,41 +34,32 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
last_edit_date = @status.edited_at.presence || @status.created_at last_edit_date = @status.edited_at.presence || @status.created_at
# Only allow processing one create/update per status at a time # Only allow processing one create/update per status at a time
RedisLock.acquire(lock_options) do |lock| with_lock("create:#{@uri}") do
if lock.acquired? Status.transaction do
Status.transaction do record_previous_edit!
record_previous_edit! update_media_attachments!
update_media_attachments! update_poll!
update_poll! update_immediate_attributes!
update_immediate_attributes! update_metadata!
update_metadata! create_edits!
create_edits!
end
queue_poll_notifications!
next unless significant_changes?
reset_preview_card!
broadcast_updates!
else
raise Mastodon::RaceConditionError
end end
queue_poll_notifications!
next unless significant_changes?
reset_preview_card!
broadcast_updates!
end end
forward_activity! if significant_changes? && @status_parser.edited_at > last_edit_date forward_activity! if significant_changes? && @status_parser.edited_at > last_edit_date
end end
def handle_implicit_update! def handle_implicit_update!
RedisLock.acquire(lock_options) do |lock| with_lock("create:#{@uri}") do
if lock.acquired? update_poll!(allow_significant_changes: false)
update_poll!(allow_significant_changes: false) queue_poll_notifications!
else
raise Mastodon::RaceConditionError
end
end end
queue_poll_notifications!
end end
def update_media_attachments! def update_media_attachments!
@ -241,10 +233,6 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
equals_or_includes_any?(@json['type'], %w(Note Question)) equals_or_includes_any?(@json['type'], %w(Note Question))
end end
def lock_options
{ redis: redis, key: "create:#{@uri}", autorelease: 15.minutes.seconds }
end
def record_previous_edit! def record_previous_edit!
@previous_edit = @status.build_snapshot(at_time: @status.created_at, rate_limit: false) if @status.edits.empty? @previous_edit = @status.build_snapshot(at_time: @status.created_at, rate_limit: false) if @status.edits.empty?
end end

View File

@ -2,6 +2,7 @@
class FetchLinkCardService < BaseService class FetchLinkCardService < BaseService
include Redisable include Redisable
include Lockable
URL_PATTERN = %r{ URL_PATTERN = %r{
(#{Twitter::TwitterText::Regex[:valid_url_preceding_chars]}) # $1 preceding chars (#{Twitter::TwitterText::Regex[:valid_url_preceding_chars]}) # $1 preceding chars
@ -22,13 +23,9 @@ class FetchLinkCardService < BaseService
@url = @original_url.to_s @url = @original_url.to_s
RedisLock.acquire(lock_options) do |lock| with_lock("fetch:#{@original_url}") do
if lock.acquired? @card = PreviewCard.find_by(url: @url)
@card = PreviewCard.find_by(url: @url) process_url if @card.nil? || @card.updated_at <= 2.weeks.ago || @card.missing_image?
process_url if @card.nil? || @card.updated_at <= 2.weeks.ago || @card.missing_image?
else
raise Mastodon::RaceConditionError
end
end end
attach_card if @card&.persisted? attach_card if @card&.persisted?
@ -155,8 +152,4 @@ class FetchLinkCardService < BaseService
@card.assign_attributes(link_details_extractor.to_preview_card_attributes) @card.assign_attributes(link_details_extractor.to_preview_card_attributes)
@card.save_with_optional_image! unless @card.title.blank? && @card.html.blank? @card.save_with_optional_image! unless @card.title.blank? && @card.html.blank?
end end
def lock_options
{ redis: redis, key: "fetch:#{@original_url}", autorelease: 15.minutes.seconds }
end
end end

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