Merge commit '973597c6f1e25b16c592e5573304319aeaa375e1' into glitch-soc/merge-upstream

Conflicts:
- `app/validators/status_pin_validator.rb`:
  Upstream refactored that file, while glitch-soc had configurable limits for
  pinned statuses.
  Updated the code with upstream's refactor, while keeping glitch-soc's
  configurability.
th-new
Claire 2023-12-19 20:51:37 +01:00
commit 2e786e13cb
157 changed files with 1283 additions and 717 deletions

View File

@ -9,7 +9,7 @@ runs:
using: 'composite' using: 'composite'
steps: steps:
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@v3 uses: actions/setup-node@v4
with: with:
node-version-file: '.nvmrc' node-version-file: '.nvmrc'

View File

@ -9,6 +9,9 @@ gem 'sprockets', '~> 3.7.2'
gem 'thor', '~> 1.2' gem 'thor', '~> 1.2'
gem 'rack', '~> 2.2.7' gem 'rack', '~> 2.2.7'
# For why irb is in the Gemfile, see: https://ruby.social/@st0012/111444685161478182
gem 'irb', '~> 1.8'
gem 'haml-rails', '~>2.0' gem 'haml-rails', '~>2.0'
gem 'pg', '~> 1.5' gem 'pg', '~> 1.5'
gem 'pghero' gem 'pghero'
@ -179,6 +182,9 @@ group :development do
end end
group :development, :test do group :development, :test do
# Interactive Debugging tools
gem 'debug', '~> 1.8'
# Profiling tools # Profiling tools
gem 'memory_profiler', require: false gem 'memory_profiler', require: false
gem 'ruby-prof', require: false gem 'ruby-prof', require: false

View File

@ -130,21 +130,21 @@ GEM
encryptor (~> 3.0.0) encryptor (~> 3.0.0)
attr_required (1.0.1) attr_required (1.0.1)
awrence (1.2.1) awrence (1.2.1)
aws-eventstream (1.2.0) aws-eventstream (1.3.0)
aws-partitions (1.828.0) aws-partitions (1.855.0)
aws-sdk-core (3.183.1) aws-sdk-core (3.188.0)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.651.0) aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5) aws-sigv4 (~> 1.5)
jmespath (~> 1, >= 1.6.1) jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.71.0) aws-sdk-kms (1.73.0)
aws-sdk-core (~> 3, >= 3.177.0) aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.136.0) aws-sdk-s3 (1.139.0)
aws-sdk-core (~> 3, >= 3.181.0) aws-sdk-core (~> 3, >= 3.188.0)
aws-sdk-kms (~> 1) aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.6) aws-sigv4 (~> 1.6)
aws-sigv4 (1.6.0) aws-sigv4 (1.7.0)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
azure-storage-blob (2.0.3) azure-storage-blob (2.0.3)
azure-storage-common (~> 2.0) azure-storage-common (~> 2.0)
@ -154,7 +154,7 @@ GEM
faraday_middleware (~> 1.0, >= 1.0.0.rc1) faraday_middleware (~> 1.0, >= 1.0.0.rc1)
net-http-persistent (~> 4.0) net-http-persistent (~> 4.0)
nokogiri (~> 1, >= 1.10.8) nokogiri (~> 1, >= 1.10.8)
base64 (0.1.1) base64 (0.2.0)
bcp47_spec (0.2.1) bcp47_spec (0.2.1)
bcrypt (3.1.19) bcrypt (3.1.19)
better_errors (2.10.1) better_errors (2.10.1)
@ -220,6 +220,9 @@ GEM
database_cleaner-core (~> 2.0.0) database_cleaner-core (~> 2.0.0)
database_cleaner-core (2.0.1) database_cleaner-core (2.0.1)
date (3.3.4) date (3.3.4)
debug (1.8.0)
irb (>= 1.5.0)
reline (>= 0.3.1)
debug_inspector (1.1.0) debug_inspector (1.1.0)
devise (4.9.3) devise (4.9.3)
bcrypt (~> 3.0) bcrypt (~> 3.0)
@ -248,7 +251,7 @@ GEM
dotenv-rails (2.8.1) dotenv-rails (2.8.1)
dotenv (= 2.8.1) dotenv (= 2.8.1)
railties (>= 3.2) railties (>= 3.2)
drb (2.1.1) drb (2.2.0)
ruby2_keywords ruby2_keywords
ed25519 (1.3.0) ed25519 (1.3.0)
elasticsearch (7.13.3) elasticsearch (7.13.3)
@ -374,7 +377,7 @@ GEM
terminal-table (>= 1.5.1) terminal-table (>= 1.5.1)
idn-ruby (0.1.5) idn-ruby (0.1.5)
io-console (0.6.0) io-console (0.6.0)
irb (1.8.3) irb (1.9.1)
rdoc rdoc
reline (>= 0.3.8) reline (>= 0.3.8)
jmespath (1.6.2) jmespath (1.6.2)
@ -436,7 +439,7 @@ GEM
activesupport (>= 4) activesupport (>= 4)
railties (>= 4) railties (>= 4)
request_store (~> 1.0) request_store (~> 1.0)
loofah (2.21.4) loofah (2.22.0)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.12.0) nokogiri (>= 1.12.0)
mail (2.8.1) mail (2.8.1)
@ -462,7 +465,7 @@ GEM
msgpack (1.7.2) msgpack (1.7.2)
multi_json (1.15.0) multi_json (1.15.0)
multipart-post (2.3.0) multipart-post (2.3.0)
mutex_m (0.1.2) mutex_m (0.2.0)
net-http (0.4.0) net-http (0.4.0)
uri uri
net-http-persistent (4.0.2) net-http-persistent (4.0.2)
@ -478,7 +481,7 @@ GEM
net-smtp (0.4.0) net-smtp (0.4.0)
net-protocol net-protocol
nio4r (2.5.9) nio4r (2.5.9)
nokogiri (1.15.4) nokogiri (1.15.5)
mini_portile2 (~> 2.8.2) mini_portile2 (~> 2.8.2)
racc (~> 1.4) racc (~> 1.4)
oj (3.16.1) oj (3.16.1)
@ -599,13 +602,13 @@ GEM
thor (~> 1.0, >= 1.2.2) thor (~> 1.0, >= 1.2.2)
zeitwerk (~> 2.6) zeitwerk (~> 2.6)
rainbow (3.1.1) rainbow (3.1.1)
rake (13.0.6) rake (13.1.0)
rdf (3.3.1) rdf (3.3.1)
bcp47_spec (~> 0.2) bcp47_spec (~> 0.2)
link_header (~> 0.0, >= 0.0.8) link_header (~> 0.0, >= 0.0.8)
rdf-normalize (0.6.1) rdf-normalize (0.6.1)
rdf (~> 3.2) rdf (~> 3.2)
rdoc (6.5.0) rdoc (6.6.0)
psych (>= 4.0.0) psych (>= 4.0.0)
redcarpet (3.6.0) redcarpet (3.6.0)
redis (4.8.1) redis (4.8.1)
@ -614,7 +617,7 @@ GEM
redlock (1.3.2) redlock (1.3.2)
redis (>= 3.0.0, < 6.0) redis (>= 3.0.0, < 6.0)
regexp_parser (2.8.2) regexp_parser (2.8.2)
reline (0.3.9) reline (0.4.0)
io-console (~> 0.5) io-console (~> 0.5)
request_store (1.5.1) request_store (1.5.1)
rack (>= 1.4) rack (>= 1.4)
@ -639,7 +642,7 @@ GEM
rspec-mocks (3.12.6) rspec-mocks (3.12.6)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0) rspec-support (~> 3.12.0)
rspec-rails (6.0.3) rspec-rails (6.1.0)
actionpack (>= 6.1) actionpack (>= 6.1)
activesupport (>= 6.1) activesupport (>= 6.1)
railties (>= 6.1) railties (>= 6.1)
@ -757,7 +760,7 @@ GEM
unicode-display_width (>= 1.1.1, < 3) unicode-display_width (>= 1.1.1, < 3)
terrapin (0.6.0) terrapin (0.6.0)
climate_control (>= 0.0.3, < 1.0) climate_control (>= 0.0.3, < 1.0)
test-prof (1.2.3) test-prof (1.3.0)
thor (1.3.0) thor (1.3.0)
tilt (2.3.0) tilt (2.3.0)
timeout (0.4.1) timeout (0.4.1)
@ -851,6 +854,7 @@ DEPENDENCIES
concurrent-ruby concurrent-ruby
connection_pool connection_pool
database_cleaner-active_record database_cleaner-active_record
debug (~> 1.8)
devise (~> 4.9) devise (~> 4.9)
devise-two-factor (~> 4.1) devise-two-factor (~> 4.1)
devise_pam_authenticatable2 (~> 9.2) devise_pam_authenticatable2 (~> 9.2)
@ -876,6 +880,7 @@ DEPENDENCIES
httplog (~> 1.6.2) httplog (~> 1.6.2)
i18n-tasks (~> 1.0) i18n-tasks (~> 1.0)
idn-ruby idn-ruby
irb (~> 1.8)
json-ld json-ld
json-ld-preloaded (~> 3.2) json-ld-preloaded (~> 3.2)
json-schema (~> 4.0) json-schema (~> 4.0)

View File

@ -32,7 +32,7 @@ module Admin
private private
def batched_ordered_status_edits def batched_ordered_status_edits
@status.edits.reorder(nil).includes(:account, status: [:account]).find_each(order: :asc) @status.edits.includes(:account, status: [:account]).find_each(order: :asc)
end end
helper_method :batched_ordered_status_edits helper_method :batched_ordered_status_edits

View File

@ -3,6 +3,8 @@
class Api::V1::Instances::ActivityController < Api::V1::Instances::BaseController class Api::V1::Instances::ActivityController < Api::V1::Instances::BaseController
before_action :require_enabled_api! before_action :require_enabled_api!
WEEKS_OF_ACTIVITY = 12
def show def show
cache_even_if_authenticated! cache_even_if_authenticated!
render_with_cache json: :activity, expires_in: 1.day render_with_cache json: :activity, expires_in: 1.day
@ -11,14 +13,12 @@ class Api::V1::Instances::ActivityController < Api::V1::Instances::BaseControlle
private private
def activity def activity
statuses_tracker = ActivityTracker.new('activity:statuses:local', :basic) activity_weeks.map do |weeks_ago|
logins_tracker = ActivityTracker.new('activity:logins', :unique) activity_json(*week_edge_days(weeks_ago))
registrations_tracker = ActivityTracker.new('activity:accounts:local', :basic) end
end
(0...12).map do |i|
start_of_week = i.weeks.ago
end_of_week = start_of_week + 6.days
def activity_json(start_of_week, end_of_week)
{ {
week: start_of_week.to_i.to_s, week: start_of_week.to_i.to_s,
statuses: statuses_tracker.sum(start_of_week, end_of_week).to_s, statuses: statuses_tracker.sum(start_of_week, end_of_week).to_s,
@ -26,6 +26,25 @@ class Api::V1::Instances::ActivityController < Api::V1::Instances::BaseControlle
registrations: registrations_tracker.sum(start_of_week, end_of_week).to_s, registrations: registrations_tracker.sum(start_of_week, end_of_week).to_s,
} }
end end
def activity_weeks
0...WEEKS_OF_ACTIVITY
end
def week_edge_days(num)
[num.weeks.ago, num.weeks.ago + 6.days]
end
def statuses_tracker
ActivityTracker.new('activity:statuses:local', :basic)
end
def logins_tracker
ActivityTracker.new('activity:logins', :unique)
end
def registrations_tracker
ActivityTracker.new('activity:accounts:local', :basic)
end end
def require_enabled_api! def require_enabled_api!

View File

@ -19,7 +19,19 @@ class Api::V1::Instances::DomainBlocksController < Api::V1::Instances::BaseContr
private private
def require_enabled_api! def require_enabled_api!
head 404 unless Setting.show_domain_blocks == 'all' || (Setting.show_domain_blocks == 'users' && user_signed_in?) head 404 unless api_enabled?
end
def api_enabled?
show_domain_blocks_for_all? || show_domain_blocks_to_user?
end
def show_domain_blocks_for_all?
Setting.show_domain_blocks == 'all'
end
def show_domain_blocks_to_user?
Setting.show_domain_blocks == 'users' && user_signed_in?
end end
def set_domain_blocks def set_domain_blocks

View File

@ -11,6 +11,6 @@ class Api::V1::Statuses::HistoriesController < Api::V1::Statuses::BaseController
private private
def status_edits def status_edits
@status.edits.includes(:account, status: [:account]).to_a.presence || [@status.build_snapshot(at_time: @status.edited_at || @status.created_at)] @status.edits.ordered.includes(:account, status: [:account]).to_a.presence || [@status.build_snapshot(at_time: @status.edited_at || @status.created_at)]
end end
end end

View File

@ -2,12 +2,22 @@
class Api::V2::MediaController < Api::V1::MediaController class Api::V2::MediaController < Api::V1::MediaController
def create def create
@media_attachment = current_account.media_attachments.create!({ delay_processing: true }.merge(media_attachment_params)) @media_attachment = current_account.media_attachments.create!(media_and_delay_params)
render json: @media_attachment, serializer: REST::MediaAttachmentSerializer, status: @media_attachment.not_processed? ? 202 : 200 render json: @media_attachment, serializer: REST::MediaAttachmentSerializer, status: status_from_media_processing
rescue Paperclip::Errors::NotIdentifiedByImageMagickError rescue Paperclip::Errors::NotIdentifiedByImageMagickError
render json: file_type_error, status: 422 render json: file_type_error, status: 422
rescue Paperclip::Error => e rescue Paperclip::Error => e
Rails.logger.error "#{e.class}: #{e.message}" Rails.logger.error "#{e.class}: #{e.message}"
render json: processing_error, status: 500 render json: processing_error, status: 500
end end
private
def media_and_delay_params
{ delay_processing: true }.merge(media_attachment_params)
end
def status_from_media_processing
@media_attachment.not_processed? ? 202 : 200
end
end end

View File

@ -21,6 +21,7 @@
"account.blocked": "Блокирани", "account.blocked": "Блокирани",
"account.browse_more_on_origin_server": "Разглеждане на още в оригиналния профил", "account.browse_more_on_origin_server": "Разглеждане на още в оригиналния профил",
"account.cancel_follow_request": "Оттегляне на заявката за последване", "account.cancel_follow_request": "Оттегляне на заявката за последване",
"account.copy": "Копиране на връзка към профила",
"account.direct": "Частно споменаване на @{name}", "account.direct": "Частно споменаване на @{name}",
"account.disable_notifications": "Сприране на известия при публикуване от @{name}", "account.disable_notifications": "Сприране на известия при публикуване от @{name}",
"account.domain_blocked": "Блокиран домейн", "account.domain_blocked": "Блокиран домейн",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Маркиране като прочетено", "conversation.mark_as_read": "Маркиране като прочетено",
"conversation.open": "Преглед на разговора", "conversation.open": "Преглед на разговора",
"conversation.with": "С {names}", "conversation.with": "С {names}",
"copy_icon_button.copied": "Копиранo в буферната памет",
"copypaste.copied": "Копирано", "copypaste.copied": "Копирано",
"copypaste.copy_to_clipboard": "Копиране в буферната памет", "copypaste.copy_to_clipboard": "Копиране в буферната памет",
"directory.federated": "От позната федивселена", "directory.federated": "От позната федивселена",
@ -479,6 +481,8 @@
"onboarding.follows.empty": "За съжаление, в момента не могат да се показват резултати. Може да опитате да употребявате търсене или да прегледате страницата за изследване, за да намерите страница за последване, или да опитате пак по-късно.", "onboarding.follows.empty": "За съжаление, в момента не могат да се показват резултати. Може да опитате да употребявате търсене или да прегледате страницата за изследване, за да намерите страница за последване, или да опитате пак по-късно.",
"onboarding.follows.lead": "Може да бъдете куратор на началния си инфоканал. Последвайки повече хора, по-деен и по-интересен ще става. Тези профили може да са добра начална точка, от която винаги по-късно да спрете да следвате!", "onboarding.follows.lead": "Може да бъдете куратор на началния си инфоканал. Последвайки повече хора, по-деен и по-интересен ще става. Тези профили може да са добра начална точка, от която винаги по-късно да спрете да следвате!",
"onboarding.follows.title": "Популярно в Mastodon", "onboarding.follows.title": "Популярно в Mastodon",
"onboarding.profile.discoverable": "Правене на моя профил откриваем",
"onboarding.profile.discoverable_hint": "Включвайки откриваемостта в Mastodon, вашите публикации може да се появят при резултатите от търсене и изгряващи неща, и вашия профил може да бъде предложен на хора с подобни интереси като вашите.",
"onboarding.profile.display_name": "Името на показ", "onboarding.profile.display_name": "Името на показ",
"onboarding.profile.display_name_hint": "Вашето пълно име или псевдоним…", "onboarding.profile.display_name_hint": "Вашето пълно име или псевдоним…",
"onboarding.profile.lead": "Винаги може да завършите това по-късно в настройките, където дори има повече възможности за настройване.", "onboarding.profile.lead": "Винаги може да завършите това по-късно в настройките, където дори има повече възможности за настройване.",
@ -531,6 +535,7 @@
"privacy.unlisted.short": "Несписъчно", "privacy.unlisted.short": "Несписъчно",
"privacy_policy.last_updated": "Последно осъвременяване на {date}", "privacy_policy.last_updated": "Последно осъвременяване на {date}",
"privacy_policy.title": "Политика за поверителност", "privacy_policy.title": "Политика за поверителност",
"recommended": "Препоръчано",
"refresh": "Опресняване", "refresh": "Опресняване",
"regeneration_indicator.label": "Зареждане…", "regeneration_indicator.label": "Зареждане…",
"regeneration_indicator.sublabel": "Подготовка на началния ви инфоканал!", "regeneration_indicator.sublabel": "Подготовка на началния ви инфоканал!",

View File

@ -480,6 +480,8 @@
"onboarding.follows.empty": "Yn anffodus, nid oes modd dangos unrhyw ganlyniadau ar hyn o bryd. Gallwch geisio defnyddio chwilio neu bori'r dudalen archwilio i ddod o hyd i bobl i'w dilyn, neu ceisio eto yn nes ymlaen.", "onboarding.follows.empty": "Yn anffodus, nid oes modd dangos unrhyw ganlyniadau ar hyn o bryd. Gallwch geisio defnyddio chwilio neu bori'r dudalen archwilio i ddod o hyd i bobl i'w dilyn, neu ceisio eto yn nes ymlaen.",
"onboarding.follows.lead": "Rydych chi'n curadu eich ffrwd gartref eich hun. Po fwyaf o bobl y byddwch chi'n eu dilyn, y mwyaf egnïol a diddorol fydd hi. Gall y proffiliau hyn fod yn fan cychwyn da - gallwch chi bob amser eu dad-ddilyn yn nes ymlaen:", "onboarding.follows.lead": "Rydych chi'n curadu eich ffrwd gartref eich hun. Po fwyaf o bobl y byddwch chi'n eu dilyn, y mwyaf egnïol a diddorol fydd hi. Gall y proffiliau hyn fod yn fan cychwyn da - gallwch chi bob amser eu dad-ddilyn yn nes ymlaen:",
"onboarding.follows.title": "Yn boblogaidd ar Mastodon", "onboarding.follows.title": "Yn boblogaidd ar Mastodon",
"onboarding.profile.discoverable": "Gwnewch fy mhroffil yn un y gellir ei ddarganfod",
"onboarding.profile.discoverable_hint": "Pan fyddwch yn optio i mewn i ddarganfodadwyedd ar Mastodon, gall eich postiadau ymddangos mewn canlyniadau chwilio a thueddiadau, ac efallai y bydd eich proffil yn cael ei awgrymu i bobl sydd â diddordebau tebyg i chi.",
"onboarding.profile.display_name_hint": "Eich enw llawn neu'ch enw hwyl…", "onboarding.profile.display_name_hint": "Eich enw llawn neu'ch enw hwyl…",
"onboarding.profile.note": "Bywgraffiad", "onboarding.profile.note": "Bywgraffiad",
"onboarding.profile.note_hint": "Gallwch @grybwyll pobl eraill neu #hashnodau…", "onboarding.profile.note_hint": "Gallwch @grybwyll pobl eraill neu #hashnodau…",
@ -529,6 +531,7 @@
"privacy.unlisted.short": "Heb ei restru", "privacy.unlisted.short": "Heb ei restru",
"privacy_policy.last_updated": "Diweddarwyd ddiwethaf ar {date}", "privacy_policy.last_updated": "Diweddarwyd ddiwethaf ar {date}",
"privacy_policy.title": "Polisi Preifatrwydd", "privacy_policy.title": "Polisi Preifatrwydd",
"recommended": "Argymhellwyd",
"refresh": "Adnewyddu", "refresh": "Adnewyddu",
"regeneration_indicator.label": "Yn llwytho…", "regeneration_indicator.label": "Yn llwytho…",
"regeneration_indicator.sublabel": "Mae eich ffrwd cartref yn cael ei baratoi!", "regeneration_indicator.sublabel": "Mae eich ffrwd cartref yn cael ei baratoi!",

View File

@ -308,7 +308,7 @@
"home.column_settings.basic": "Basique", "home.column_settings.basic": "Basique",
"home.column_settings.show_reblogs": "Afficher boosts", "home.column_settings.show_reblogs": "Afficher boosts",
"home.column_settings.show_replies": "Afficher réponses", "home.column_settings.show_replies": "Afficher réponses",
"home.explore_prompt.body": "Votre fil d'actualité aura un mélange de messages depuis les hashtags que vous avez choisi de suivre, les personnes que vous avez choisi de suivre, et les messages qu'ils boostent. Si ça vous semble trop calme à votre goût, nhésitez pas à :", "home.explore_prompt.body": "Votre fil d'actualité aura un mélange de messages depuis les hashtags que vous avez choisi de suivre, les personnes que vous avez choisi de suivre, et les messages qu'elles boostent. Si ça vous semble trop calme à votre goût, nhésitez pas à :",
"home.explore_prompt.title": "C'est votre page d'accueil dans Mastodon.", "home.explore_prompt.title": "C'est votre page d'accueil dans Mastodon.",
"home.hide_announcements": "Masquer les annonces", "home.hide_announcements": "Masquer les annonces",
"home.pending_critical_update.body": "Veuillez mettre à jour votre serveur Mastodon dès que possible !", "home.pending_critical_update.body": "Veuillez mettre à jour votre serveur Mastodon dès que possible !",

View File

@ -308,7 +308,7 @@
"home.column_settings.basic": "Basique", "home.column_settings.basic": "Basique",
"home.column_settings.show_reblogs": "Afficher les partages", "home.column_settings.show_reblogs": "Afficher les partages",
"home.column_settings.show_replies": "Afficher les réponses", "home.column_settings.show_replies": "Afficher les réponses",
"home.explore_prompt.body": "Votre fil d'actualité aura un mélange de messages depuis les hashtags que vous avez choisi de suivre, les personnes que vous avez choisi de suivre, et les messages qu'ils boostent. Si ça vous semble trop calme à votre goût, nhésitez pas à :", "home.explore_prompt.body": "Votre fil d'actualité aura un mélange de messages depuis les hashtags que vous avez choisi de suivre, les personnes que vous avez choisi de suivre, et les messages qu'elles boostent. Si ça vous semble trop calme à votre goût, nhésitez pas à :",
"home.explore_prompt.title": "C'est votre page d'accueil dans Mastodon.", "home.explore_prompt.title": "C'est votre page d'accueil dans Mastodon.",
"home.hide_announcements": "Masquer les annonces", "home.hide_announcements": "Masquer les annonces",
"home.pending_critical_update.body": "Veuillez mettre à jour votre serveur Mastodon dès que possible !", "home.pending_critical_update.body": "Veuillez mettre à jour votre serveur Mastodon dès que possible !",

View File

@ -481,7 +481,7 @@
"onboarding.follows.empty": "Desgraciadamente agora mesmo non hai nada que mostrar. Podes intentalo coa busca ou na páxina descubrir para atopar persoas ás que seguir, ou intentalo máis tarde.", "onboarding.follows.empty": "Desgraciadamente agora mesmo non hai nada que mostrar. Podes intentalo coa busca ou na páxina descubrir para atopar persoas ás que seguir, ou intentalo máis tarde.",
"onboarding.follows.lead": "Podes facer que a túa cronoloxía de inicio sexa como ti a queres. Canta máis xente sigas máis interesante será. Estes perfís poderían axudarche a comezar —sempre poderás deixar de seguilos despois!", "onboarding.follows.lead": "Podes facer que a túa cronoloxía de inicio sexa como ti a queres. Canta máis xente sigas máis interesante será. Estes perfís poderían axudarche a comezar —sempre poderás deixar de seguilos despois!",
"onboarding.follows.title": "Popular en Mastodon", "onboarding.follows.title": "Popular en Mastodon",
"onboarding.profile.discoverable": "Que o meu perfil sexa atopable", "onboarding.profile.discoverable": "Que o meu perfil se poida atopar",
"onboarding.profile.discoverable_hint": "Cando elixes que poidan atoparte en Mastodon as túas publicacións aparecerán nos resultados das buscas e nos temas en voga, e o teu perfil podería ser suxerido para seguimento a persoas con intereses semellantes aos teus.", "onboarding.profile.discoverable_hint": "Cando elixes que poidan atoparte en Mastodon as túas publicacións aparecerán nos resultados das buscas e nos temas en voga, e o teu perfil podería ser suxerido para seguimento a persoas con intereses semellantes aos teus.",
"onboarding.profile.display_name": "Nome público", "onboarding.profile.display_name": "Nome público",
"onboarding.profile.display_name_hint": "O teu nome completo ou un nome divertido…", "onboarding.profile.display_name_hint": "O teu nome completo ou un nome divertido…",

View File

@ -305,7 +305,7 @@
"hashtag.follow": "Fylgjast með myllumerki", "hashtag.follow": "Fylgjast með myllumerki",
"hashtag.unfollow": "Hætta að fylgjast með myllumerki", "hashtag.unfollow": "Hætta að fylgjast með myllumerki",
"hashtags.and_other": "…og {count, plural, other {# til viðbótar}}", "hashtags.and_other": "…og {count, plural, other {# til viðbótar}}",
"home.actions.go_to_explore": "Sjáðu hvað er í umræðunni", "home.actions.go_to_explore": "Sjá hvað er í umræðunni",
"home.actions.go_to_suggestions": "Finna fólk til að fylgjast með", "home.actions.go_to_suggestions": "Finna fólk til að fylgjast með",
"home.column_settings.basic": "Einfalt", "home.column_settings.basic": "Einfalt",
"home.column_settings.show_reblogs": "Sýna endurbirtingar", "home.column_settings.show_reblogs": "Sýna endurbirtingar",

View File

@ -25,7 +25,7 @@
"account.direct": "@{name} 님에게 개인적으로 멘션", "account.direct": "@{name} 님에게 개인적으로 멘션",
"account.disable_notifications": "@{name} 의 게시물 알림 끄기", "account.disable_notifications": "@{name} 의 게시물 알림 끄기",
"account.domain_blocked": "도메인 차단함", "account.domain_blocked": "도메인 차단함",
"account.edit_profile": "프로필 수정", "account.edit_profile": "프로필 편집",
"account.enable_notifications": "@{name} 의 게시물 알림 켜기", "account.enable_notifications": "@{name} 의 게시물 알림 켜기",
"account.endorse": "프로필에 추천하기", "account.endorse": "프로필에 추천하기",
"account.featured_tags.last_status_at": "{date}에 마지막으로 게시", "account.featured_tags.last_status_at": "{date}에 마지막으로 게시",
@ -176,7 +176,7 @@
"confirmations.domain_block.confirm": "도메인 전체를 차단", "confirmations.domain_block.confirm": "도메인 전체를 차단",
"confirmations.domain_block.message": "정말로 {domain} 전체를 차단하시겠습니까? 대부분의 경우 개별 차단이나 뮤트로 충분합니다. 모든 공개 타임라인과 알림에서 해당 도메인에서 작성된 콘텐츠를 보지 못합니다. 해당 도메인에 속한 팔로워와의 관계가 사라집니다.", "confirmations.domain_block.message": "정말로 {domain} 전체를 차단하시겠습니까? 대부분의 경우 개별 차단이나 뮤트로 충분합니다. 모든 공개 타임라인과 알림에서 해당 도메인에서 작성된 콘텐츠를 보지 못합니다. 해당 도메인에 속한 팔로워와의 관계가 사라집니다.",
"confirmations.edit.confirm": "수정", "confirmations.edit.confirm": "수정",
"confirmations.edit.message": "지금 수정하면 작성 중인 메시지를 덮어쓰게 됩니다. 정말 진행합니까?", "confirmations.edit.message": "지금 편집하면 작성 중인 메시지를 덮어씁니다. 진행이 확실한가요?",
"confirmations.logout.confirm": "로그아웃", "confirmations.logout.confirm": "로그아웃",
"confirmations.logout.message": "정말로 로그아웃 하시겠습니까?", "confirmations.logout.message": "정말로 로그아웃 하시겠습니까?",
"confirmations.mute.confirm": "뮤트", "confirmations.mute.confirm": "뮤트",
@ -326,7 +326,7 @@
"interaction_modal.no_account_yet": "Mastodon 계정이 없나요?", "interaction_modal.no_account_yet": "Mastodon 계정이 없나요?",
"interaction_modal.on_another_server": "다른 서버에", "interaction_modal.on_another_server": "다른 서버에",
"interaction_modal.on_this_server": "이 서버에서", "interaction_modal.on_this_server": "이 서버에서",
"interaction_modal.sign_in": "이 서버에 로그인되어 있지 않습니다. 계정이 어디에 속해 있나요?", "interaction_modal.sign_in": "이 서버에 로그인하지 않았습니다. 계정이 어디에 속해있습니까?",
"interaction_modal.sign_in_hint": "팁: 여러분이 가입한 사이트입니다. 만약 기억이 나지 않는다면 가입환영 이메일을 찾아보는 것도 좋습니다. 전체 사용자이름(예: @mastodon@mastodon.social)을 넣어도 됩니다!", "interaction_modal.sign_in_hint": "팁: 여러분이 가입한 사이트입니다. 만약 기억이 나지 않는다면 가입환영 이메일을 찾아보는 것도 좋습니다. 전체 사용자이름(예: @mastodon@mastodon.social)을 넣어도 됩니다!",
"interaction_modal.title.favourite": "{name} 님의 게시물을 좋아하기", "interaction_modal.title.favourite": "{name} 님의 게시물을 좋아하기",
"interaction_modal.title.follow": "{name} 님을 팔로우", "interaction_modal.title.follow": "{name} 님을 팔로우",
@ -482,6 +482,7 @@
"onboarding.follows.lead": "홈 피드는 마스토돈을 경험하는 주된 경로입니다. 더 많은 사람들을 팔로우 할수록 더 활발하고 흥미로워질 것입니다. 여기 시작을 위한 몇몇 추천을 드립니다:", "onboarding.follows.lead": "홈 피드는 마스토돈을 경험하는 주된 경로입니다. 더 많은 사람들을 팔로우 할수록 더 활발하고 흥미로워질 것입니다. 여기 시작을 위한 몇몇 추천을 드립니다:",
"onboarding.follows.title": "내게 맞는 홈 피드 꾸미기", "onboarding.follows.title": "내게 맞는 홈 피드 꾸미기",
"onboarding.profile.discoverable": "내 프로필을 발견 가능하도록 설정", "onboarding.profile.discoverable": "내 프로필을 발견 가능하도록 설정",
"onboarding.profile.discoverable_hint": "마스토돈의 발견하기 기능에 참여하면 게시물이 검색 결과와 유행 란에 표시될 수 있고, 비슷한 관심사를 가진 사람들에게 자신의 프로필이 추천될 수 있습니다.",
"onboarding.profile.display_name": "표시되는 이름", "onboarding.profile.display_name": "표시되는 이름",
"onboarding.profile.display_name_hint": "진짜 이름 또는 재미난 이름…", "onboarding.profile.display_name_hint": "진짜 이름 또는 재미난 이름…",
"onboarding.profile.lead": "언제든지 나중에 설정 메뉴에서 마저 할 수 있고, 그곳에서 더 많은 맞춤 옵션을 고를 수 있습니다.", "onboarding.profile.lead": "언제든지 나중에 설정 메뉴에서 마저 할 수 있고, 그곳에서 더 많은 맞춤 옵션을 고를 수 있습니다.",
@ -491,7 +492,7 @@
"onboarding.profile.title": "프로필 설정", "onboarding.profile.title": "프로필 설정",
"onboarding.profile.upload_avatar": "프로필 사진 업로드", "onboarding.profile.upload_avatar": "프로필 사진 업로드",
"onboarding.profile.upload_header": "프로필 헤더 업로드", "onboarding.profile.upload_header": "프로필 헤더 업로드",
"onboarding.share.lead": "여러 사람에게 마스토돈에서 나를 찾을 수 있는 방법을 알려주세요!", "onboarding.share.lead": "여러 사람에게 마스토돈에서 나를 찾을 수 있는 방법을 알립니다!",
"onboarding.share.message": "#마스토돈 이용하는 {username}입니다! {url} 에서 저를 팔로우 해보세요", "onboarding.share.message": "#마스토돈 이용하는 {username}입니다! {url} 에서 저를 팔로우 해보세요",
"onboarding.share.next_steps": "할만한 다음 단계:", "onboarding.share.next_steps": "할만한 다음 단계:",
"onboarding.share.title": "프로필 공유하기", "onboarding.share.title": "프로필 공유하기",
@ -556,7 +557,7 @@
"report.categories.other": "기타", "report.categories.other": "기타",
"report.categories.spam": "스팸", "report.categories.spam": "스팸",
"report.categories.violation": "콘텐츠가 한 개 이상의 서버 규칙을 위반합니다", "report.categories.violation": "콘텐츠가 한 개 이상의 서버 규칙을 위반합니다",
"report.category.subtitle": "가장 알맞은 것을 선택하세요", "report.category.subtitle": "가장 알맞은 것을 선택",
"report.category.title": "이 {type}에 무슨 문제가 있는지 알려주세요", "report.category.title": "이 {type}에 무슨 문제가 있는지 알려주세요",
"report.category.title_account": "프로필", "report.category.title_account": "프로필",
"report.category.title_status": "게시물", "report.category.title_status": "게시물",
@ -578,9 +579,9 @@
"report.reasons.spam_description": "악성 링크, 반응 스팸, 또는 반복적인 답글", "report.reasons.spam_description": "악성 링크, 반응 스팸, 또는 반복적인 답글",
"report.reasons.violation": "서버 규칙을 위반합니다", "report.reasons.violation": "서버 규칙을 위반합니다",
"report.reasons.violation_description": "특정 규칙을 위반합니다", "report.reasons.violation_description": "특정 규칙을 위반합니다",
"report.rules.subtitle": "해당하는 사항을 모두 선택하세요", "report.rules.subtitle": "해당하는 사항을 모두 선택",
"report.rules.title": "어떤 규칙을 위반했나요?", "report.rules.title": "어떤 규칙을 위반했나요?",
"report.statuses.subtitle": "해당하는 사항을 모두 선택하세요", "report.statuses.subtitle": "해당하는 사항을 모두 선택",
"report.statuses.title": "이 신고에 대해서 더 참고해야 할 게시물이 있나요?", "report.statuses.title": "이 신고에 대해서 더 참고해야 할 게시물이 있나요?",
"report.submit": "신고하기", "report.submit": "신고하기",
"report.target": "{target} 신고하기", "report.target": "{target} 신고하기",
@ -683,7 +684,7 @@
"status.title.with_attachments": "{user} 님이 {attachmentCount, plural, one {첨부} other {{attachmentCount}개 첨부}}하여 게시", "status.title.with_attachments": "{user} 님이 {attachmentCount, plural, one {첨부} other {{attachmentCount}개 첨부}}하여 게시",
"status.translate": "번역", "status.translate": "번역",
"status.translated_from_with": "{provider}에 의해 {lang}에서 번역됨", "status.translated_from_with": "{provider}에 의해 {lang}에서 번역됨",
"status.uncached_media_warning": "미리보기를 사용할 수 없습니다", "status.uncached_media_warning": "마리보기 허용되지 않음",
"status.unmute_conversation": "이 대화의 뮤트 해제하기", "status.unmute_conversation": "이 대화의 뮤트 해제하기",
"status.unpin": "고정 해제", "status.unpin": "고정 해제",
"subscribed_languages.lead": "변경 후에는 선택한 언어들로 작성된 게시물들만 홈 타임라인과 리스트 타임라인에 나타나게 됩니다. 아무 것도 선택하지 않으면 모든 언어로 작성된 게시물을 받아봅니다.", "subscribed_languages.lead": "변경 후에는 선택한 언어들로 작성된 게시물들만 홈 타임라인과 리스트 타임라인에 나타나게 됩니다. 아무 것도 선택하지 않으면 모든 언어로 작성된 게시물을 받아봅니다.",
@ -709,7 +710,7 @@
"upload_area.title": "드래그 & 드롭으로 업로드", "upload_area.title": "드래그 & 드롭으로 업로드",
"upload_button.label": "이미지, 영상, 오디오 파일 추가", "upload_button.label": "이미지, 영상, 오디오 파일 추가",
"upload_error.limit": "파일 업로드 제한에 도달했습니다.", "upload_error.limit": "파일 업로드 제한에 도달했습니다.",
"upload_error.poll": "파일 업로드는 설문과 함께 쓸 수 없어요.", "upload_error.poll": "파일 업로드는 설문과 함께 쓸 수 없습니다.",
"upload_form.audio_description": "청각 장애인을 위한 설명", "upload_form.audio_description": "청각 장애인을 위한 설명",
"upload_form.description": "시각장애인을 위한 설명", "upload_form.description": "시각장애인을 위한 설명",
"upload_form.description_missing": "설명이 추가되지 않음", "upload_form.description_missing": "설명이 추가되지 않음",
@ -717,12 +718,12 @@
"upload_form.thumbnail": "썸네일 변경", "upload_form.thumbnail": "썸네일 변경",
"upload_form.undo": "삭제", "upload_form.undo": "삭제",
"upload_form.video_description": "청각, 시각 장애인을 위한 설명", "upload_form.video_description": "청각, 시각 장애인을 위한 설명",
"upload_modal.analyzing_picture": "이미지 분석 중…", "upload_modal.analyzing_picture": "사진 분석 중…",
"upload_modal.apply": "적용", "upload_modal.apply": "적용",
"upload_modal.applying": "적용 중...", "upload_modal.applying": "적용 중...",
"upload_modal.choose_image": "이미지 선택", "upload_modal.choose_image": "이미지 선택",
"upload_modal.description_placeholder": "다람쥐 헌 쳇바퀴 타고파", "upload_modal.description_placeholder": "다람쥐 헌 쳇바퀴 타고파",
"upload_modal.detect_text": "이미지에서 텍스트 추출", "upload_modal.detect_text": "사진에서 문자 탐색",
"upload_modal.edit_media": "미디어 수정", "upload_modal.edit_media": "미디어 수정",
"upload_modal.hint": "미리보기를 클릭하거나 드래그 해서 포컬 포인트를 맞추세요. 이 점은 썸네일에 항상 보여질 부분을 나타냅니다.", "upload_modal.hint": "미리보기를 클릭하거나 드래그 해서 포컬 포인트를 맞추세요. 이 점은 썸네일에 항상 보여질 부분을 나타냅니다.",
"upload_modal.preparing_ocr": "OCR 준비 중…", "upload_modal.preparing_ocr": "OCR 준비 중…",

View File

@ -21,6 +21,7 @@
"account.blocked": "Blokiran", "account.blocked": "Blokiran",
"account.browse_more_on_origin_server": "Pregledajte još na originalnom profilu", "account.browse_more_on_origin_server": "Pregledajte još na originalnom profilu",
"account.cancel_follow_request": "Povuci zahtev za praćenje", "account.cancel_follow_request": "Povuci zahtev za praćenje",
"account.copy": "Kopiraj vezu u profil",
"account.direct": "Privatno pomeni @{name}", "account.direct": "Privatno pomeni @{name}",
"account.disable_notifications": "Zaustavi obaveštavanje za objave korisnika @{name}", "account.disable_notifications": "Zaustavi obaveštavanje za objave korisnika @{name}",
"account.domain_blocked": "Domen je blokiran", "account.domain_blocked": "Domen je blokiran",
@ -191,6 +192,7 @@
"conversation.mark_as_read": "Označi kao pročitano", "conversation.mark_as_read": "Označi kao pročitano",
"conversation.open": "Prikaži razgovor", "conversation.open": "Prikaži razgovor",
"conversation.with": "Sa {names}", "conversation.with": "Sa {names}",
"copy_icon_button.copied": "Kopirano",
"copypaste.copied": "Kopirano", "copypaste.copied": "Kopirano",
"copypaste.copy_to_clipboard": "Kopiraj", "copypaste.copy_to_clipboard": "Kopiraj",
"directory.federated": "Sa znanog fediverzuma", "directory.federated": "Sa znanog fediverzuma",
@ -390,6 +392,7 @@
"lists.search": "Pretraži među ljudima koje pratite", "lists.search": "Pretraži među ljudima koje pratite",
"lists.subheading": "Vaše liste", "lists.subheading": "Vaše liste",
"load_pending": "{count, plural, one {# nova stavka} few {# nove stavke} other {# novih stavki}}", "load_pending": "{count, plural, one {# nova stavka} few {# nove stavke} other {# novih stavki}}",
"loading_indicator.label": "Učitavanje…",
"media_gallery.toggle_visible": "{number, plural, one {Sakrij sliku} few {Sakrij slike} other {Sakrij slike}}", "media_gallery.toggle_visible": "{number, plural, one {Sakrij sliku} few {Sakrij slike} other {Sakrij slike}}",
"moved_to_account_banner.text": "Vaš nalog {disabledAccount} je trenutno onemogućen jer ste prešli na {movedToAccount}.", "moved_to_account_banner.text": "Vaš nalog {disabledAccount} je trenutno onemogućen jer ste prešli na {movedToAccount}.",
"mute_modal.duration": "Trajanje", "mute_modal.duration": "Trajanje",
@ -478,6 +481,17 @@
"onboarding.follows.empty": "Nažalost, trenutno se ne mogu prikazati rezultati. Možete pokušati sa korišćenjem pretrage ili pregledanjem stranice za istraživanje da biste pronašli ljude koje ćete pratiti ili pokušajte ponovo kasnije.", "onboarding.follows.empty": "Nažalost, trenutno se ne mogu prikazati rezultati. Možete pokušati sa korišćenjem pretrage ili pregledanjem stranice za istraživanje da biste pronašli ljude koje ćete pratiti ili pokušajte ponovo kasnije.",
"onboarding.follows.lead": "Vi sami birate svoju početnu stranicu. Što više ljudi pratite, to će biti aktivnije i zanimljivije. Ovi profili mogu biti dobra polazna tačka—uvek možete da ih prestanete pratiti kasnije!", "onboarding.follows.lead": "Vi sami birate svoju početnu stranicu. Što više ljudi pratite, to će biti aktivnije i zanimljivije. Ovi profili mogu biti dobra polazna tačka—uvek možete da ih prestanete pratiti kasnije!",
"onboarding.follows.title": "Personalizujte svoju početnu stranicu", "onboarding.follows.title": "Personalizujte svoju početnu stranicu",
"onboarding.profile.discoverable": "Neka se moj profil može otkriti drugima",
"onboarding.profile.discoverable_hint": "Kada omogućite mogućnost otkrivanja na Mastodon-u, vaše objave se mogu pojaviti u rezultatima pretrage i u trendu, a vaš profil može biti predložen ljudima sa sličnim interesovanjima.",
"onboarding.profile.display_name": "Ime za prikaz",
"onboarding.profile.display_name_hint": "Vaše puno ime ili nadimak…",
"onboarding.profile.lead": "Ovo možete uvek dovršiti kasnije u podešavanjima, gde je dostupno još više opcija prilagođavanja.",
"onboarding.profile.note": "Biografija",
"onboarding.profile.note_hint": "Možete da @pomenete druge ljude ili #heš oznake…",
"onboarding.profile.save_and_continue": "Sačuvaj i nastavi",
"onboarding.profile.title": "Podešavanje profila",
"onboarding.profile.upload_avatar": "Otpremi sliku profila",
"onboarding.profile.upload_header": "Otpremi zaglavlje profila",
"onboarding.share.lead": "Neka ljudi znaju kako mogu da vas pronađu na Mastodon-u!", "onboarding.share.lead": "Neka ljudi znaju kako mogu da vas pronađu na Mastodon-u!",
"onboarding.share.message": "Ja sam {username} na #Mastodon-u! Pratite me na {url}", "onboarding.share.message": "Ja sam {username} na #Mastodon-u! Pratite me na {url}",
"onboarding.share.next_steps": "Mogući sledeći koraci:", "onboarding.share.next_steps": "Mogući sledeći koraci:",
@ -521,6 +535,7 @@
"privacy.unlisted.short": "Neizlistano", "privacy.unlisted.short": "Neizlistano",
"privacy_policy.last_updated": "Poslednje ažuriranje {date}", "privacy_policy.last_updated": "Poslednje ažuriranje {date}",
"privacy_policy.title": "Politika privatnosti", "privacy_policy.title": "Politika privatnosti",
"recommended": "Preporučeno",
"refresh": "Osveži", "refresh": "Osveži",
"regeneration_indicator.label": "Učitavanje…", "regeneration_indicator.label": "Učitavanje…",
"regeneration_indicator.sublabel": "Vaša početna stranica se priprema!", "regeneration_indicator.sublabel": "Vaša početna stranica se priprema!",

View File

@ -281,7 +281,7 @@ export default function notifications(state = initialState, action) {
case blockAccountSuccess.type: case blockAccountSuccess.type:
return filterNotifications(state, [action.payload.relationship.id]); return filterNotifications(state, [action.payload.relationship.id]);
case muteAccountSuccess.type: case muteAccountSuccess.type:
return action.relationship.muting_notifications ? filterNotifications(state, [action.payload.relationship.id]) : state; return action.payload.relationship.muting_notifications ? filterNotifications(state, [action.payload.relationship.id]) : state;
case blockDomainSuccess.type: case blockDomainSuccess.type:
return filterNotifications(state, action.payload.accounts); return filterNotifications(state, action.payload.accounts);
case authorizeFollowRequestSuccess.type: case authorizeFollowRequestSuccess.type:

View File

@ -106,6 +106,8 @@ module AccountSearch
LIMIT :limit OFFSET :offset LIMIT :limit OFFSET :offset
SQL SQL
DEFAULT_LIMIT = 10
def searchable_text def searchable_text
PlainTextFormatter.new(note, local?).to_s if discoverable? PlainTextFormatter.new(note, local?).to_s if discoverable?
end end
@ -118,7 +120,7 @@ module AccountSearch
end end
class_methods do class_methods do
def search_for(terms, limit: 10, offset: 0) def search_for(terms, limit: DEFAULT_LIMIT, offset: 0)
tsquery = generate_query_for_search(terms) tsquery = generate_query_for_search(terms)
find_by_sql([BASIC_SEARCH_SQL, { limit: limit, offset: offset, tsquery: tsquery }]).tap do |records| find_by_sql([BASIC_SEARCH_SQL, { limit: limit, offset: offset, tsquery: tsquery }]).tap do |records|
@ -126,7 +128,7 @@ module AccountSearch
end end
end end
def advanced_search_for(terms, account, limit: 10, following: false, offset: 0) def advanced_search_for(terms, account, limit: DEFAULT_LIMIT, following: false, offset: 0)
tsquery = generate_query_for_search(terms) tsquery = generate_query_for_search(terms)
sql_template = following ? ADVANCED_SEARCH_WITH_FOLLOWING : ADVANCED_SEARCH_WITHOUT_FOLLOWING sql_template = following ? ADVANCED_SEARCH_WITH_FOLLOWING : ADVANCED_SEARCH_WITHOUT_FOLLOWING

View File

@ -40,7 +40,7 @@ class StatusEdit < ApplicationRecord
belongs_to :status belongs_to :status
belongs_to :account, optional: true belongs_to :account, optional: true
default_scope { order(id: :asc) } scope :ordered, -> { order(id: :asc) }
delegate :local?, :application, :edited?, :edited_at, delegate :local?, :application, :edited?, :edited_at,
:discarded?, :visibility, to: :status :discarded?, :visibility, to: :status

View File

@ -96,11 +96,9 @@ class User < ApplicationRecord
accepts_nested_attributes_for :invite_request, reject_if: ->(attributes) { attributes['text'].blank? && !Setting.require_invite_text } accepts_nested_attributes_for :invite_request, reject_if: ->(attributes) { attributes['text'].blank? && !Setting.require_invite_text }
validates :invite_request, presence: true, on: :create, if: :invite_text_required? validates :invite_request, presence: true, on: :create, if: :invite_text_required?
validates :locale, inclusion: I18n.available_locales.map(&:to_s), if: :locale?
validates_with BlacklistedEmailValidator, if: -> { ENV['EMAIL_DOMAIN_LISTS_APPLY_AFTER_CONFIRMATION'] == 'true' || !confirmed? } validates_with BlacklistedEmailValidator, if: -> { ENV['EMAIL_DOMAIN_LISTS_APPLY_AFTER_CONFIRMATION'] == 'true' || !confirmed? }
validates_with EmailMxValidator, if: :validate_email_dns? validates_with EmailMxValidator, if: :validate_email_dns?
validates :agreement, acceptance: { allow_nil: false, accept: [true, 'true', '1'] }, on: :create validates :agreement, acceptance: { allow_nil: false, accept: [true, 'true', '1'] }, on: :create
validates :time_zone, inclusion: { in: ActiveSupport::TimeZone.all.map { |tz| tz.tzinfo.name } }, allow_blank: true
# Honeypot/anti-spam fields # Honeypot/anti-spam fields
attr_accessor :registration_form_time, :website, :confirm_password attr_accessor :registration_form_time, :website, :confirm_password
@ -124,6 +122,8 @@ class User < ApplicationRecord
before_validation :sanitize_languages before_validation :sanitize_languages
before_validation :sanitize_role before_validation :sanitize_role
before_validation :sanitize_time_zone
before_validation :sanitize_locale
before_create :set_approved before_create :set_approved
after_commit :send_pending_devise_notifications after_commit :send_pending_devise_notifications
after_create_commit :trigger_webhooks after_create_commit :trigger_webhooks
@ -451,9 +451,15 @@ class User < ApplicationRecord
end end
def sanitize_role def sanitize_role
return if role.nil? self.role = nil if role.present? && role.everyone?
end
self.role = nil if role.everyone? def sanitize_time_zone
self.time_zone = nil if time_zone.present? && ActiveSupport::TimeZone[time_zone].nil?
end
def sanitize_locale
self.locale = nil if locale.present? && I18n.available_locales.exclude?(locale.to_sym)
end end
def prepare_new_user! def prepare_new_user!

View File

@ -1,12 +1,12 @@
# frozen_string_literal: true # frozen_string_literal: true
class StatusPinValidator < ActiveModel::Validator class StatusPinValidator < ActiveModel::Validator
MAX_PINNED = (ENV['MAX_PINNED_TOOTS'] || 5).to_i PIN_LIMIT = (ENV['MAX_PINNED_TOOTS'] || 5).to_i
def validate(pin) def validate(pin)
pin.errors.add(:base, I18n.t('statuses.pin_errors.reblog')) if pin.status.reblog? pin.errors.add(:base, I18n.t('statuses.pin_errors.reblog')) if pin.status.reblog?
pin.errors.add(:base, I18n.t('statuses.pin_errors.ownership')) if pin.account_id != pin.status.account_id pin.errors.add(:base, I18n.t('statuses.pin_errors.ownership')) if pin.account_id != pin.status.account_id
pin.errors.add(:base, I18n.t('statuses.pin_errors.direct')) if pin.status.direct_visibility? pin.errors.add(:base, I18n.t('statuses.pin_errors.direct')) if pin.status.direct_visibility?
pin.errors.add(:base, I18n.t('statuses.pin_errors.limit')) if pin.account.status_pins.count >= MAX_PINNED && pin.account.local? pin.errors.add(:base, I18n.t('statuses.pin_errors.limit')) if pin.account.status_pins.count >= PIN_LIMIT && pin.account.local?
end end
end end

View File

@ -1,6 +1,6 @@
<%= raw t('admin_mailer.new_trends.new_trending_links.title') %> <%= raw t('admin_mailer.new_trends.new_trending_links.title') %>
<% @links.each do |link| %> <% new_trending_links.each do |link| %>
- <%= link.title %> · <%= link.url %> - <%= link.title %> · <%= link.url %>
<%= standard_locale_name(link.language) %> · <%= raw t('admin.trends.links.usage_comparison', today: link.history.get(Time.now.utc).accounts, yesterday: link.history.get(Time.now.utc - 1.day).accounts) %> · <%= t('admin.trends.tags.current_score', score: link.trend.score.round(2)) %> <%= standard_locale_name(link.language) %> · <%= raw t('admin.trends.links.usage_comparison', today: link.history.get(Time.now.utc).accounts, yesterday: link.history.get(Time.now.utc - 1.day).accounts) %> · <%= t('admin.trends.tags.current_score', score: link.trend.score.round(2)) %>
<% end %> <% end %>

View File

@ -1,6 +1,6 @@
<%= raw t('admin_mailer.new_trends.new_trending_statuses.title') %> <%= raw t('admin_mailer.new_trends.new_trending_statuses.title') %>
<% @statuses.each do |status| %> <% new_trending_statuses.each do |status| %>
- <%= ActivityPub::TagManager.instance.url_for(status) %> - <%= ActivityPub::TagManager.instance.url_for(status) %>
<%= standard_locale_name(status.language) %> · <%= raw t('admin.trends.tags.current_score', score: status.trend.score.round(2)) %> <%= standard_locale_name(status.language) %> · <%= raw t('admin.trends.tags.current_score', score: status.trend.score.round(2)) %>
<% end %> <% end %>

View File

@ -1,14 +1,8 @@
<%= raw t('admin_mailer.new_trends.new_trending_tags.title') %> <%= raw t('admin_mailer.new_trends.new_trending_tags.title') %>
<% @tags.each do |tag| %> <% new_trending_tags.each do |tag| %>
- #<%= tag.display_name %> - #<%= tag.display_name %>
<%= raw t('admin.trends.tags.usage_comparison', today: tag.history.get(Time.now.utc).accounts, yesterday: tag.history.get(Time.now.utc - 1.day).accounts) %> · <%= t('admin.trends.tags.current_score', score: Trends.tags.score(tag.id).round(2)) %> <%= raw t('admin.trends.tags.usage_comparison', today: tag.history.get(Time.now.utc).accounts, yesterday: tag.history.get(Time.now.utc - 1.day).accounts) %> · <%= t('admin.trends.tags.current_score', score: Trends.tags.score(tag.id).round(2)) %>
<% end %> <% end %>
<% if @lowest_trending_tag %>
<%= raw t('admin_mailer.new_trends.new_trending_tags.requirements', lowest_tag_name: @lowest_trending_tag.display_name, lowest_tag_score: Trends.tags.score(@lowest_trending_tag.id).round(2), rank: Trends.tags.options[:review_threshold]) %>
<% else %>
<%= raw t('admin_mailer.new_trends.new_trending_tags.no_approved_tags') %>
<% end %>
<%= raw t('application_mailer.view')%> <%= admin_trends_tags_url(status: 'pending_review') %> <%= raw t('application_mailer.view')%> <%= admin_trends_tags_url(status: 'pending_review') %>

View File

@ -2,12 +2,6 @@
<%= raw t('admin_mailer.new_trends.body') %> <%= raw t('admin_mailer.new_trends.body') %>
<% unless @links.empty? %> <%= render partial: 'new_trending_links', object: @links unless @links.empty? %>
<%= render 'new_trending_links' %> <%= render partial: 'new_trending_tags', object: @tags unless @tags.empty? %>
<% end %> <%= render partial: 'new_trending_statuses', object: @statuses unless @statuses.empty? %>
<% unless @tags.empty? %>
<%= render 'new_trending_tags' unless @tags.empty? %>
<% end %>
<% unless @statuses.empty? %>
<%= render 'new_trending_statuses' unless @statuses.empty? %>
<% end %>

View File

@ -900,8 +900,6 @@ an:
new_trending_statuses: new_trending_statuses:
title: Publicacions en tendencia title: Publicacions en tendencia
new_trending_tags: new_trending_tags:
no_approved_tags: Actualment no i hai garra etiqueta en tendencia aprebada.
requirements: 'Qualsequiera d''estes candidatos podría superar lo hashtag en tendencia aprebau per #%{rank}, que actualment ye #%{lowest_tag_name} con una puntuación de %{lowest_tag_score}.'
title: Etiquetas en tendencia title: Etiquetas en tendencia
subject: Nuevas tendencias asperando estar revisadas en %{instance} subject: Nuevas tendencias asperando estar revisadas en %{instance}
aliases: aliases:

View File

@ -1068,8 +1068,6 @@ ar:
new_trending_statuses: new_trending_statuses:
title: المنشورات الشائعة title: المنشورات الشائعة
new_trending_tags: new_trending_tags:
no_approved_tags: لا توجد حاليًا وسوم شائعة موافق عليها.
requirements: 'يمكن لأي من هؤلاء المرشحين أن يتجاوز علامة #%{rank} من الوسوم الموافق عليها، وهي حاليا #%{lowest_tag_name} مع نتيجة %{lowest_tag_score}.'
title: الوسوم المتداولة title: الوسوم المتداولة
subject: تداولات جديدة في انتظار المراجعة على %{instance} subject: تداولات جديدة في انتظار المراجعة على %{instance}
aliases: aliases:

View File

@ -1033,8 +1033,6 @@ be:
new_trending_statuses: new_trending_statuses:
title: Папулярныя допісы title: Папулярныя допісы
new_trending_tags: new_trending_tags:
no_approved_tags: Зараз няма зацверджаных папулярных хэштэгаў.
requirements: 'Кожны з гэтых кандыдатаў можа перавысіць #%{rank} зацверджаных папулярных хэштэгаў. Зараз гэта #%{lowest_tag_name} з лікам %{lowest_tag_score}.'
title: Папулярныя хэштэгі title: Папулярныя хэштэгі
subject: Новае ў папулярным для разгляду %{instance} subject: Новае ў папулярным для разгляду %{instance}
aliases: aliases:

View File

@ -997,8 +997,6 @@ bg:
new_trending_statuses: new_trending_statuses:
title: Налагащи се публикации title: Налагащи се публикации
new_trending_tags: new_trending_tags:
no_approved_tags: Сега няма одобрени налагащи се хаштагове.
requirements: 'Всеки от тези кандидати може да надмине #%{rank} одобрен актуален хаштаг, който в момента е #%{lowest_tag_name} с резултат %{lowest_tag_score}.'
title: Налагащи се хаштагове title: Налагащи се хаштагове
subject: Нови нашумели, готови за преглед в %{instance} subject: Нови нашумели, готови за преглед в %{instance}
aliases: aliases:

View File

@ -995,8 +995,6 @@ ca:
new_trending_statuses: new_trending_statuses:
title: Tuts en tendència title: Tuts en tendència
new_trending_tags: new_trending_tags:
no_approved_tags: Actualment no hi ha etiquetes en tendència aprovades.
requirements: 'Qualsevol d''aquests candidats podria superar el #%{rank} de la etiqueta en tendència aprovada, que actualment és "%{lowest_tag_name}" amb una puntuació de %{lowest_tag_score}.'
title: Etiquetes en tendència title: Etiquetes en tendència
subject: Noves tendències pendents de revisar a %{instance} subject: Noves tendències pendents de revisar a %{instance}
aliases: aliases:

View File

@ -1029,8 +1029,6 @@ cs:
new_trending_statuses: new_trending_statuses:
title: Populární příspěvky title: Populární příspěvky
new_trending_tags: new_trending_tags:
no_approved_tags: Momentálně nejsou žádné schválené populární hashtagy.
requirements: 'Kterýkoliv z těchto kandidátů by mohl předehnat schválený populární hashtag #%{rank}, kterým je momentálně #%{lowest_tag_name} se skóre %{lowest_tag_score}.'
title: Populární hashtagy title: Populární hashtagy
subject: Nové trendy k posouzení na %{instance} subject: Nové trendy k posouzení na %{instance}
aliases: aliases:

View File

@ -1068,8 +1068,6 @@ cy:
new_trending_statuses: new_trending_statuses:
title: Postiadau sy'n trendio title: Postiadau sy'n trendio
new_trending_tags: new_trending_tags:
no_approved_tags: Ar hyn o bryd nid oes unrhyw hashnodau trendio cymeradwy.
requirements: 'Gallai unrhyw un o''r ymgeiswyr hyn ragori ar yr hashnod trendio cymeradwy #%{rank}, sef #%{lowest_tag_name} gyda sgôr o %{lowest_tag_score} ar hyn o bryd.'
title: Hashnodau sy'n trendio title: Hashnodau sy'n trendio
subject: Trendiau newydd i'w hadolygu ar %{instance} subject: Trendiau newydd i'w hadolygu ar %{instance}
aliases: aliases:

View File

@ -997,8 +997,6 @@ da:
new_trending_statuses: new_trending_statuses:
title: Populære opslag title: Populære opslag
new_trending_tags: new_trending_tags:
no_approved_tags: Der er pt. ingen godkendte populære hashtags.
requirements: 'Enhver af disse kandidater vil kunne overgå #%{rank} godkendte populære hastag, der med en score på #%{lowest_tag_score} pt. er %{lowest_tag_name}.'
title: Populære hashtags title: Populære hashtags
subject: Nye tendenser klar til revision på %{instance} subject: Nye tendenser klar til revision på %{instance}
aliases: aliases:

View File

@ -997,8 +997,6 @@ de:
new_trending_statuses: new_trending_statuses:
title: Angesagte Beiträge title: Angesagte Beiträge
new_trending_tags: new_trending_tags:
no_approved_tags: Es gibt keine genehmigten Hashtags, die gerade im Trend liegen.
requirements: 'Jeder dieser Kandidaten könnte den #%{rank} genehmigten angesagten Hashtag übertreffen, der derzeit #%{lowest_tag_name} mit einer Punktzahl von %{lowest_tag_score} ist.'
title: Angesagte Hashtags title: Angesagte Hashtags
subject: Neue Trends zur Überprüfung auf %{instance} subject: Neue Trends zur Überprüfung auf %{instance}
aliases: aliases:
@ -1239,7 +1237,7 @@ de:
home: Startseite und Listen home: Startseite und Listen
notifications: Benachrichtigungen notifications: Benachrichtigungen
public: Öffentliche Timelines public: Öffentliche Timelines
thread: Unterhaltungen thread: Private Erwähnungen
edit: edit:
add_keyword: Schlagwort hinzufügen add_keyword: Schlagwort hinzufügen
keywords: Schlagwörter keywords: Schlagwörter

View File

@ -3,8 +3,8 @@ lt:
devise: devise:
confirmations: confirmations:
confirmed: Tavo el. pašto adresas buvo sėkmingai patvirtintas. confirmed: Tavo el. pašto adresas buvo sėkmingai patvirtintas.
send_instructions: Po kelių minučių gausi el. laišką su instrukcijomis, kaip patvirtinti savo el. pašto adresą. Jei negavai šio el. laiško, patikrink šlamšto laiškų aplanką. send_instructions: Po kelių minučių gausi el. laišką su instrukcijomis, kaip patvirtinti savo el. pašto adresą. Jei negavai šio el. laiško, patikrink šlamšto aplanką.
send_paranoid_instructions: Jei tavo el. pašto adresas yra mūsų duomenų bazėje, po kelių minučių gausi el. laišką su instrukcijomis, kaip patvirtinti savo el. pašto adresą. Jei negavai šio el. laiško, patikrink šlamšto laiškų aplanką. send_paranoid_instructions: Jei tavo el. pašto adresas yra mūsų duomenų bazėje, po kelių minučių gausi el. laišką su instrukcijomis, kaip patvirtinti savo el. pašto adresą. Jei negavai šio el. laiško, patikrink šlamšto aplanką.
failure: failure:
already_authenticated: Tu jau prisijungęs (-usi). already_authenticated: Tu jau prisijungęs (-usi).
inactive: Tavo paskyra dar nėra aktyvuota. inactive: Tavo paskyra dar nėra aktyvuota.
@ -22,14 +22,96 @@ lt:
action_with_app: Patvirtinti ir grįžti į %{app} action_with_app: Patvirtinti ir grįžti į %{app}
explanation: Šiuo el. pašto adresu sukūrei paskyrą %{host}. Iki jos aktyvavimo liko vienas paspaudimas. Jei tai buvo ne tu, ignoruok šį el. laišką. explanation: Šiuo el. pašto adresu sukūrei paskyrą %{host}. Iki jos aktyvavimo liko vienas paspaudimas. Jei tai buvo ne tu, ignoruok šį el. laišką.
explanation_when_pending: Šiuo el. pašto adresu pateikei paraišką pakvietimui į %{host}. Kai patvirtinsi savo el. pašto adresą, mes peržiūrėsime tavo paraišką. Gali prisijungti ir pakeisti savo duomenis arba ištrinti paskyrą, tačiau negalėsi naudotis daugeliu funkcijų, kol tavo paskyra nebus patvirtinta. Jei tavo paraiška bus atmesta, duomenys bus pašalinti, todėl jokių papildomų veiksmų iš tavęs nereikės. Jei tai buvo ne tu, ignoruok šį el. laišką. explanation_when_pending: Šiuo el. pašto adresu pateikei paraišką pakvietimui į %{host}. Kai patvirtinsi savo el. pašto adresą, mes peržiūrėsime tavo paraišką. Gali prisijungti ir pakeisti savo duomenis arba ištrinti paskyrą, tačiau negalėsi naudotis daugeliu funkcijų, kol tavo paskyra nebus patvirtinta. Jei tavo paraiška bus atmesta, duomenys bus pašalinti, todėl jokių papildomų veiksmų iš tavęs nereikės. Jei tai buvo ne tu, ignoruok šį el. laišką.
extra_html: Taip pat peržiūrėk <a href="%{terms_path}">serverio taisykles</a> ir <a href="%{policy_path}">mūsų paslaugų teikimo sąlygas</a>.
subject: 'Mastodon: patvirtinimo instrukcijos %{instance}'
title: Patvirtinti el. pašto adresą
email_changed:
explanation: 'Tavo paskyros el. pašto adresas yra keičiamas į:'
extra: Jei el. pašto nepakeitei, tikėtina, kad kažkas įgijo prieigą prie tavo paskyros. Nedelsiant pakeisk slaptažodį arba kreipkis į serverio administratorių (-ę), jei tavo paskyra užrakinta.
subject: 'Mastodon: el. paštas pakeistas'
title: Naujas el. pašto adresas
password_change:
explanation: Pakeistas tavo paskyros slaptažodis.
extra: Jei slaptažodio nepakeitei, tikėtina, kad kažkas įgijo prieigą prie tavo paskyros. Nedelsiant pakeisk slaptažodį arba kreipkis į serverio administratorių (-ę), jei tavo paskyra užrakinta.
subject: 'Mastodon: slaptažodis pakeistas'
title: Pakeistas slaptažodis
reconfirmation_instructions:
explanation: Patvirtink naująjį adresą, kad pakeistum savo el. paštą.
extra: Jei šį pakeitimą pradėjai ne tu, ignoruok šį el. laišką. Mastodon paskyros el. pašto adresas nepasikeis, kol nepasinaudosi aukščiau pateikta nuoroda.
subject: 'Mastodon: patvirtinti el. paštą %{instance}'
title: Patvirtinti el. pašto adresą
reset_password_instructions:
action: Keisti slaptažodį
explanation: Paprašei naujo paskyros slaptažodžio.
extra: Jei to neprašei, ignoruok šį el. laišką. Tavo slaptažodis nepasikeis, kol nepasinaudosi aukščiau esančia nuoroda ir nesusikursi naują.
subject: 'Mastodon: slaptažodžio keitimo instrukcijos'
title: Slaptažodžio keitimas
two_factor_disabled:
explanation: Dviejų tapatybės patikrinimas tavo paskyrai buvo išjungtas. Prisijungimas dabar galimas naudojant tik el. pašto adresą ir slaptažodį.
subject: 'Mastodon: dviejų tapatybės patikrinimas išjungtas'
title: 2FA išjungta
two_factor_enabled:
explanation: Tavo paskyrai įgalintas dvejų tapatybės patikrinimas. Prisijungiant reikės susietos TOTP programėlės sugeneruoto priegos rakto.
subject: 'Mastodon: dviejų tapatybės patikrinimas įgalintas'
title: 2FA įgalinta
two_factor_recovery_codes_changed:
explanation: Ankstesnieji atkūrimo kodai yra negaliojantys ir sugeneruojami nauji.
subject: 'Mastodon: dviejų tapatybės atkūrimo kodai iš naujo sugeneruoti'
title: Pakeisti 2FA atkūrimo kodai
unlock_instructions: unlock_instructions:
subject: 'Mastodon: atrakinimo instrukcijos' subject: 'Mastodon: atrakinimo instrukcijos'
webauthn_credential:
added:
explanation: Į tavo paskyrą buvo pridėtas šis saugumo raktas
subject: 'Mastodon: naujas saugumo raktas'
title: Pridėtas naujas saugumo raktas
deleted:
explanation: Iš tavo paskyros buvo ištrintas šis saugumo raktas
subject: 'Mastodon: saugumo raktas ištrintas'
title: Vienas iš tavo saugumo raktų buvo ištrintas
webauthn_disabled:
explanation: Tavo paskyrai buvo išjungtas tapatybės nustatymas naudojant saugumo raktus. Prisijungimas dabar galimas naudojant tik susietos TOTP programėlės sugeneruotą prieigos raktą.
subject: 'Mastodon: tapatybės nustatymas naudojant saugumo raktai išjungta'
title: Saugumo raktai išjungti
webauthn_enabled:
explanation: Saugumo rakto tapatybės nustatymas tavo paskyrai įgalintas. Dabar prisijungimui galima naudoti saugumo raktą.
subject: 'Mastodon: saugumo rakto tapatybės nustatymas įgalintas'
title: Saugumo raktai įgalinti
omniauth_callbacks:
failure: Nepavyko nustatyti tapatybės iš %{kind}, nes „%{reason}“.
success: Sėkmingai nustatyta tapatybė iš %{kind} paskyros.
passwords: passwords:
no_token: Į šį puslapį gali patekti tik gavęs (-usi) slaptažodžio atstatymo el. laišką. Jei atėjai iš slaptažodžio atstatymo el. laiško, įsitikink, kad naudojai visą pateiktą URL adresą. no_token: Į šį puslapį gali patekti tik gavęs (-usi) slaptažodžio keitimo el. laišką. Jei atėjai iš slaptažodžio keitimo el. laiško, įsitikink, kad naudojai visą pateiktą URL adresą.
send_instructions: Jei tavo el. pašto adresas egzistuoja mūsų duomenų bazėje, po kelių minučių į savo el. pašto adresą gausi slaptažodžio atkūrimo nuorodą. Jei negavai šio el. laiško, patikrink šlamšto aplanką.
send_paranoid_instructions: Jei tavo el. pašto adresas egzistuoja mūsų duomenų bazėje, po kelių minučių į savo el. pašto adresą gausi slaptažodžio atkūrimo nuorodą. Jei negavai šio el. laiško, patikrink šlamšto aplanką.
updated: Tavo slaptažodis buvo sėkmingai pakeistas. Dabar esi prisijungęs (-usi).
updated_not_active: Tavo slaptažodis buvo sėkmingai pakeistas.
registrations: registrations:
destroyed: Iki pasimatymo! Tavo paskyra sėkmingai atšaukta. Tikimės, kad netrukus vėl pasimatysime. destroyed: Iki pasimatymo! Tavo paskyra sėkmingai atšaukta. Tikimės, kad netrukus vėl pamatysime tave.
signed_up: Sveiki! Tu sėkmingai užsiregistravai.
signed_up_but_inactive: Sėkmingai užsiregistravai. Tačiau negalėjome tavęs prijungti, nes tavo paskyra dar nėra aktyvuota.
signed_up_but_locked: Sėkmingai užsiregistravai. Tačiau negalėjome tavęs prijungti, nes tavo paskyra dar užrakinta.
signed_up_but_pending: Į tavo el. pašto adresą buvo išsiųstas laiškas su patvirtinimo nuoroda. Paspaudęs (-usi) nuorodą, peržiūrėsime tavo paraišką. Tau bus pranešta, jei ji patvirtinta.
signed_up_but_unconfirmed: Į tavo el. pašto adresą buvo išsiųstas laiškas su patvirtinimo nuoroda. Paspausk nuorodą, kad aktyvuotum savo paskyrą. Jei negavai šio el. laiško, patikrink šlamšto aplanką.
update_needs_confirmation: Sėkmingai atnaujinai savo paskyrą, bet mums reikia patvirtinti naująjį el. pašto adresą. Patikrink savo el. paštą ir paspausk patvirtinimo nuorodą, kad patvirtintum savo naują el. pašto adresą. Jei negavai šio el. laiško, patikrink šlamšto aplanką.
updated: Tavo paskyra buvo sėkmingai atnaujinta.
sessions:
already_signed_out: Atsijungta sėkmingai.
signed_in: Prisijungta sėkmingai.
signed_out: Atjungta sėkmingai.
unlocks:
send_instructions: Po kelių minučių gausi el. laišką su instrukcijomis, kaip atrakinti paskyrą. Jei negavai šio el. laiško, patikrink šlamšto aplanką.
send_paranoid_instructions: Jei paskyra egzistuoja, po kelių minučių gausi el. laišką su instrukcijomis, kaip ją atrakinti. Jei negavai šio el. laiško, patikrink šlamšto aplanką.
unlocked: Tavo paskyra sėkmingai atrakinta. Norėdamas (-a) tęsti, prisijunk.
errors: errors:
messages: messages:
expired: nustojo galioti, prašyk naujos. already_confirmed: jau buvo patvirtintas, pabandyk prisijungti.
confirmation_period_expired: turi būti patvirtintas per %{period}, paprašyk naujo.
expired: nustojo galioti, paprašyk naujos.
not_found: nerasta. not_found: nerasta.
not_locked: nebuvo užrakintas. not_locked: nebuvo užrakintas.
not_saved:
few: "%{count} klaidos neleido išsaugoti šio %{resource}:"
many: "%{count} klaido neleido išsaugoti šio %{resource}:"
one: '1 klaida neleido išsaugoti šio %{resource}:'
other: "%{count} klaidų neleido išsaugoti šio %{resource}:"

View File

@ -125,7 +125,7 @@ de:
all: Voller Zugriff auf dein Mastodon-Konto all: Voller Zugriff auf dein Mastodon-Konto
blocks: Blockierungen blocks: Blockierungen
bookmarks: Lesezeichen bookmarks: Lesezeichen
conversations: Unterhaltungen conversations: Private Erwähnungen
crypto: Ende-zu-Ende-Verschlüsselung crypto: Ende-zu-Ende-Verschlüsselung
favourites: Favoriten favourites: Favoriten
filters: Filter filters: Filter

View File

@ -27,7 +27,7 @@ ko:
confirmations: confirmations:
destroy: 확실합니까? destroy: 확실합니까?
edit: edit:
title: 애플리케이션 수정 title: 애플리케이션 편집
form: form:
error: 이런! 오류를 확인하세요 error: 이런! 오류를 확인하세요
help: help:

View File

@ -938,8 +938,6 @@ el:
new_trending_statuses: new_trending_statuses:
title: Αναρτήσεις σε τάση title: Αναρτήσεις σε τάση
new_trending_tags: new_trending_tags:
no_approved_tags: Προς το παρόν δεν υπάρχουν εγκεκριμένες ετικέτεςσε τάση.
requirements: 'Οποιοσδήποτε από αυτούς τους υποψηφίους θα μπορούσε να ξεπεράσει την #%{rank} εγκεκριμένη ετικέτα σε τάση, που επί του παρόντος είναι #%{lowest_tag_name} με βαθμολογία %{lowest_tag_score}.'
title: Ετικέτες σε τάση title: Ετικέτες σε τάση
subject: Νέες τάσεις προς αξιολόγηση στο %{instance} subject: Νέες τάσεις προς αξιολόγηση στο %{instance}
aliases: aliases:

View File

@ -995,8 +995,6 @@ en-GB:
new_trending_statuses: new_trending_statuses:
title: Trending posts title: Trending posts
new_trending_tags: new_trending_tags:
no_approved_tags: There are currently no approved trending hashtags.
requirements: 'Any of these candidates could surpass the #%{rank} approved trending hashtag, which is currently #%{lowest_tag_name} with a score of %{lowest_tag_score}.'
title: Trending hashtags title: Trending hashtags
subject: New trends up for review on %{instance} subject: New trends up for review on %{instance}
aliases: aliases:

View File

@ -997,8 +997,6 @@ en:
new_trending_statuses: new_trending_statuses:
title: Trending posts title: Trending posts
new_trending_tags: new_trending_tags:
no_approved_tags: There are currently no approved trending hashtags.
requirements: 'Any of these candidates could surpass the #%{rank} approved trending hashtag, which is currently #%{lowest_tag_name} with a score of %{lowest_tag_score}.'
title: Trending hashtags title: Trending hashtags
subject: New trends up for review on %{instance} subject: New trends up for review on %{instance}
aliases: aliases:

View File

@ -773,6 +773,8 @@ eo:
site_uploads: site_uploads:
delete: Forigi elŝutitan dosieron delete: Forigi elŝutitan dosieron
destroyed_msg: Reteja alŝuto sukcese forigita! destroyed_msg: Reteja alŝuto sukcese forigita!
software_updates:
documentation_link: Lerni pli
statuses: statuses:
account: Skribanto account: Skribanto
application: Aplikaĵo application: Aplikaĵo
@ -950,8 +952,6 @@ eo:
new_trending_statuses: new_trending_statuses:
title: Popularaĝaj mesaĝoj title: Popularaĝaj mesaĝoj
new_trending_tags: new_trending_tags:
no_approved_tags: Nun ne havas aprobitajn popularajn kradvortojn.
requirements: Ajn ĉi tiu eroj povas superi la %{rank}an kradvorton kiu estas %{lowest_tag_name} kun %{lowest_tag_score} puentoj.
title: Tendencantaj kradvortoj title: Tendencantaj kradvortoj
subject: Novaj popularaĵoj bezonas kontrolitis ĉe %{instance} subject: Novaj popularaĵoj bezonas kontrolitis ĉe %{instance}
aliases: aliases:
@ -994,6 +994,8 @@ eo:
help_html: Se vi havas problemojn solvi la CAPTCHA, vi povas kontakti nin per %{email} kaj ni povas helpi vin. help_html: Se vi havas problemojn solvi la CAPTCHA, vi povas kontakti nin per %{email} kaj ni povas helpi vin.
title: Sekureckontrolo title: Sekureckontrolo
confirmations: confirmations:
login_link: ensaluti
welcome_title: Bonvenon, %{name}!
wrong_email_hint: Se tiu retpoŝtadreso ne estas ĝusta, vi povas ŝanĝi ĝin en la agordoj pri la konto. wrong_email_hint: Se tiu retpoŝtadreso ne estas ĝusta, vi povas ŝanĝi ĝin en la agordoj pri la konto.
delete_account: Forigi konton delete_account: Forigi konton
delete_account_html: Se vi deziras forigi vian konton, vi povas <a href="%{path}">fari tion ĉi tie</a>. Vi bezonos konfirmi vian peton. delete_account_html: Se vi deziras forigi vian konton, vi povas <a href="%{path}">fari tion ĉi tie</a>. Vi bezonos konfirmi vian peton.

View File

@ -997,8 +997,6 @@ es-AR:
new_trending_statuses: new_trending_statuses:
title: Mensajes en tendencia title: Mensajes en tendencia
new_trending_tags: new_trending_tags:
no_approved_tags: Actualmente no hay etiquetas en tendencia aprobadas.
requirements: 'Cualquiera de estos candidatos podría superar la etiqueta en tendencia aprobada de #%{rank}, que actualmente es #%{lowest_tag_name} con una puntuación de %{lowest_tag_score}.'
title: Etiquetas en tendencia title: Etiquetas en tendencia
subject: Nuevas tendencias para revisar en %{instance} subject: Nuevas tendencias para revisar en %{instance}
aliases: aliases:

View File

@ -997,8 +997,6 @@ es-MX:
new_trending_statuses: new_trending_statuses:
title: Publicaciones en tendencia title: Publicaciones en tendencia
new_trending_tags: new_trending_tags:
no_approved_tags: Actualmente no hay ninguna etiqueta en tendencia aprobada.
requirements: 'Cualquiera de estos candidatos podría superar el hashtag en tendencia aprobado por #%{rank}, que actualmente es #%{lowest_tag_name} con una puntuación de %{lowest_tag_score}.'
title: Etiquetas en tendencia title: Etiquetas en tendencia
subject: Nuevas tendencias esperando ser revisadas en %{instance} subject: Nuevas tendencias esperando ser revisadas en %{instance}
aliases: aliases:

View File

@ -997,8 +997,6 @@ es:
new_trending_statuses: new_trending_statuses:
title: Publicaciones en tendencia title: Publicaciones en tendencia
new_trending_tags: new_trending_tags:
no_approved_tags: Actualmente no hay ninguna etiqueta en tendencia aprobada.
requirements: 'Cualquiera de estos candidatos podría superar el hashtag en tendencia aprobado por #%{rank}, que actualmente es #%{lowest_tag_name} con una puntuación de %{lowest_tag_score}.'
title: Etiquetas en tendencia title: Etiquetas en tendencia
subject: Nuevas tendencias esperando ser revisadas en %{instance} subject: Nuevas tendencias esperando ser revisadas en %{instance}
aliases: aliases:

View File

@ -981,8 +981,6 @@ et:
new_trending_statuses: new_trending_statuses:
title: Trendikad postitused title: Trendikad postitused
new_trending_tags: new_trending_tags:
no_approved_tags: Hetkel ei ole ühtegi heaks kiidetud populaarset silti.
requirements: 'Need on siltide kandidaadid mille hulgast ükskõik milline võib järjekorras mööda jõuda #%{rank} kohal olevast heaks kiidetud sildist. See on hetkel #%{lowest_tag_name} mille seis on %{lowest_tag_score}.'
title: Trendikad sildid title: Trendikad sildid
subject: Uued %{instance} trendid ülevaatuseks subject: Uued %{instance} trendid ülevaatuseks
aliases: aliases:

View File

@ -994,8 +994,6 @@ eu:
new_trending_statuses: new_trending_statuses:
title: Bidalketen joerak title: Bidalketen joerak
new_trending_tags: new_trending_tags:
no_approved_tags: Ez dago onartutako traolen joerarik une honetan.
requirements: 'Hautagai hauek joeretan onartutako %{rank}. traola gainditu dezakete: une honetan #%{lowest_tag_name} da, %{lowest_tag_score} puntuazioarekin.'
title: Traolak joeran title: Traolak joeran
subject: Joera berriak daude berrikusteko %{instance} instantzian subject: Joera berriak daude berrikusteko %{instance} instantzian
aliases: aliases:

View File

@ -848,7 +848,6 @@ fa:
new_trending_statuses: new_trending_statuses:
title: فرسته‌های داغ title: فرسته‌های داغ
new_trending_tags: new_trending_tags:
no_approved_tags: در حال حاضر هیچ برچسب پرطرفداری پذیرفته نشده است.
title: برچسب‌های داغ title: برچسب‌های داغ
subject: موضوغ داغ تازه‌ای در %{instance} نیازمند بررسی است subject: موضوغ داغ تازه‌ای در %{instance} نیازمند بررسی است
aliases: aliases:

View File

@ -997,8 +997,6 @@ fi:
new_trending_statuses: new_trending_statuses:
title: Suositut julkaisut title: Suositut julkaisut
new_trending_tags: new_trending_tags:
no_approved_tags: Tällä hetkellä ei ole hyväksyttyjä suosittuja aihetunnisteita.
requirements: 'Mikä tahansa näistä ehdokkaista voisi ylittää #%{rank} hyväksytyn suositun aihetunnisteen, joka on tällä hetkellä #%{lowest_tag_name} %{lowest_tag_score} pisteellä.'
title: Suositut aihetunnisteet title: Suositut aihetunnisteet
subject: Uusia trendejä tarkistettavaksi instanssissa %{instance} subject: Uusia trendejä tarkistettavaksi instanssissa %{instance}
aliases: aliases:

View File

@ -996,8 +996,6 @@ fo:
new_trending_statuses: new_trending_statuses:
title: Vælumtóktir postar title: Vælumtóktir postar
new_trending_tags: new_trending_tags:
no_approved_tags: Í løtuni eru eingi góðkend vælumtókt frámerki.
requirements: 'Einhvør av hesum kandidatum kunnu fara framum #%{rank} góðkenda vælumtókta frámerki, sum í løtuni er #%{lowest_tag_name} við stigatali %{lowest_tag_score}.'
title: Vælumtókt frámerki title: Vælumtókt frámerki
subject: Nýggj rák til gjøgnumgongd á %{instance} subject: Nýggj rák til gjøgnumgongd á %{instance}
aliases: aliases:

View File

@ -996,8 +996,6 @@ fr-QC:
new_trending_statuses: new_trending_statuses:
title: Messages tendance title: Messages tendance
new_trending_tags: new_trending_tags:
no_approved_tags: Il n'y a pas de hashtag tendance approuvé actuellement.
requirements: 'N''importe quel élément de la sélection pourrait surpasser le hashtag tendance approuvé n°%{rank}, qui est actuellement #%{lowest_tag_name} avec un résultat de %{lowest_tag_score}.'
title: Hashtags tendance title: Hashtags tendance
subject: Nouvelles tendances à examiner sur %{instance} subject: Nouvelles tendances à examiner sur %{instance}
aliases: aliases:

View File

@ -996,8 +996,6 @@ fr:
new_trending_statuses: new_trending_statuses:
title: Messages tendance title: Messages tendance
new_trending_tags: new_trending_tags:
no_approved_tags: Il n'y a pas de hashtag tendance approuvé actuellement.
requirements: 'N''importe quel élément de la sélection pourrait surpasser le hashtag tendance approuvé n°%{rank}, qui est actuellement #%{lowest_tag_name} avec un résultat de %{lowest_tag_score}.'
title: Hashtags tendance title: Hashtags tendance
subject: Nouvelles tendances à examiner sur %{instance} subject: Nouvelles tendances à examiner sur %{instance}
aliases: aliases:

View File

@ -996,8 +996,6 @@ fy:
new_trending_statuses: new_trending_statuses:
title: Trending berjochten title: Trending berjochten
new_trending_tags: new_trending_tags:
no_approved_tags: Op dit stuit binne der gjin goedkarre hashtags.
requirements: 'Elk fan dizze kandidaten kin de #%{rank} goedkarre trending hashtag oertreffe, dyt op dit stuit #%{lowest_tag_name} is mei in skoare fan %{lowest_tag_score}.'
title: Trending hashtags title: Trending hashtags
subject: Nije trends te beoardielen op %{instance} subject: Nije trends te beoardielen op %{instance}
aliases: aliases:

View File

@ -1032,8 +1032,6 @@ gd:
new_trending_statuses: new_trending_statuses:
title: Postaichean a treandadh title: Postaichean a treandadh
new_trending_tags: new_trending_tags:
no_approved_tags: Chan eil taga hais a treandadh le aontachadh ann.
requirements: "S urrainn do ghin dhe na tagraichean seo dol thairis air #%{rank} a tha aig an taga hais #%{lowest_tag_name} a treandadh as ìsle le aontachadh agus sgòr de %{lowest_tag_score} air."
title: Tagaichean hais a treandadh title: Tagaichean hais a treandadh
subject: Tha treandaichean ùra a feitheamh air lèirmheas air %{instance} subject: Tha treandaichean ùra a feitheamh air lèirmheas air %{instance}
aliases: aliases:

View File

@ -997,8 +997,6 @@ gl:
new_trending_statuses: new_trending_statuses:
title: Publicacións en voga title: Publicacións en voga
new_trending_tags: new_trending_tags:
no_approved_tags: Non hai etiquetas en voga aprobadas.
requirements: 'Calquera destos candidatos podería superar o #%{rank} dos cancelos en voga aprobados, que actualmente é #%{lowest_tag_name} cunha puntuación de %{lowest_tag_score}.'
title: Cancelos en voga title: Cancelos en voga
subject: Novas tendencias para revisar en %{instance} subject: Novas tendencias para revisar en %{instance}
aliases: aliases:

View File

@ -1033,8 +1033,6 @@ he:
new_trending_statuses: new_trending_statuses:
title: הודעות חמות title: הודעות חמות
new_trending_tags: new_trending_tags:
no_approved_tags: אין כרגע שום תגיות חמות מאושרות.
requirements: כל אחת מהמועמדות האלו עשויה לעבור את התגית החמה המאושרת מדרגה %{rank}, שהיא כרגע %{lowest_tag_name} עם ציון של %{lowest_tag_score}.
title: תגיות חמות title: תגיות חמות
subject: נושאים חמים חדשים מוכנים לסקירה ב-%{instance} subject: נושאים חמים חדשים מוכנים לסקירה ב-%{instance}
aliases: aliases:

View File

@ -997,8 +997,6 @@ hu:
new_trending_statuses: new_trending_statuses:
title: Felkapott bejegyzések title: Felkapott bejegyzések
new_trending_tags: new_trending_tags:
no_approved_tags: Jelenleg nincsenek jóváhagyott felkapott hashtagek.
requirements: 'Ezek közül bármelyik jelölt lehagyná a %{rank}. jóváhagyott felkapott hashtaget, amely jelenleg a(z) #%{lowest_tag_name} ezzel a pontszámmal: %{lowest_tag_score}.'
title: Felkapott hashtagek title: Felkapott hashtagek
subject: 'Új jóváhagyandó trendek ezen: %{instance}' subject: 'Új jóváhagyandó trendek ezen: %{instance}'
aliases: aliases:

View File

@ -878,8 +878,6 @@ id:
new_trending_statuses: new_trending_statuses:
title: Kiriman yang sedang tren title: Kiriman yang sedang tren
new_trending_tags: new_trending_tags:
no_approved_tags: Saat ini tidak ada tagar tren yang disetujui.
requirements: 'Kandidat yang ada di sini bisa saja melewati peringkat #%{rank} tagar sedang tren yang disetujui, yang kini #%{lowest_tag_name} memiliki nilai %{lowest_tag_score}.'
title: Tagar sedang tren title: Tagar sedang tren
subject: Tren baru yang perlu ditinjau di %{instance} subject: Tren baru yang perlu ditinjau di %{instance}
aliases: aliases:

View File

@ -857,8 +857,6 @@ io:
new_trending_statuses: new_trending_statuses:
title: Tendencoza posti title: Tendencoza posti
new_trending_tags: new_trending_tags:
no_approved_tags: Nun ne existas aprobita tendencoza hashtagi.
requirements: 'Irga ca probanti povas ecesar la #%{rank} aprobita tendencoligilo, quale nun esas %{lowest_tag_name} kun punto %{lowest_tag_score}.'
title: Tendencoza hashtagi title: Tendencoza hashtagi
subject: Nova tendenci bezonas kontrolesar che %{instance} subject: Nova tendenci bezonas kontrolesar che %{instance}
aliases: aliases:

View File

@ -999,8 +999,6 @@ is:
new_trending_statuses: new_trending_statuses:
title: Vinsælar færslur title: Vinsælar færslur
new_trending_tags: new_trending_tags:
no_approved_tags: Það eru í augnablikinu engin samþykkt vinsæl myllumerki.
requirements: 'Hver af þessum tillögum gætu farið yfir samþykkta vinsæla myllumerkið númer #%{rank}, sem í augnablikinu er %{lowest_tag_name} með %{lowest_tag_score} stig'
title: Vinsæl myllumerki title: Vinsæl myllumerki
subject: Nýtt vinsælt til yfirferðar á %{instance} subject: Nýtt vinsælt til yfirferðar á %{instance}
aliases: aliases:

View File

@ -997,8 +997,6 @@ it:
new_trending_statuses: new_trending_statuses:
title: Post di tendenza title: Post di tendenza
new_trending_tags: new_trending_tags:
no_approved_tags: Attualmente non ci sono hashtag di tendenza approvati.
requirements: 'Ognuno di questi candidati potrebbe superare il #%{rank} hashtag di tendenza approvato, che è attualmente "%{lowest_tag_name}" con un punteggio di %{lowest_tag_score}.'
title: Hashtag di tendenza title: Hashtag di tendenza
subject: Nuove tendenze in attesa di controllo su %{instance} subject: Nuove tendenze in attesa di controllo su %{instance}
aliases: aliases:

View File

@ -979,8 +979,6 @@ ja:
new_trending_statuses: new_trending_statuses:
title: トレンド投稿 title: トレンド投稿
new_trending_tags: new_trending_tags:
no_approved_tags: 承認されたトレンドハッシュタグはありません。
requirements: 'これらの候補はいずれも %{rank} 位の承認済みトレンドハッシュタグのスコアを上回ります。現在 #%{lowest_tag_name} のスコアは %{lowest_tag_score} です。'
title: トレンドハッシュタグ title: トレンドハッシュタグ
subject: "%{instance}で新しいトレンドが審査待ちです" subject: "%{instance}で新しいトレンドが審査待ちです"
aliases: aliases:

View File

@ -32,7 +32,7 @@ ko:
add_email_domain_block: 이 이메일 도메인을 차단하기 add_email_domain_block: 이 이메일 도메인을 차단하기
approve: 허가 approve: 허가
approved_msg: 성공적으로 %{username}의 가입 신청서를 승인했습니다 approved_msg: 성공적으로 %{username}의 가입 신청서를 승인했습니다
are_you_sure: 정말로 실행하시겠습니까? are_you_sure: 확실합니까?
avatar: 아바타 avatar: 아바타
by_domain: 도메인 by_domain: 도메인
change_email: change_email:
@ -55,16 +55,16 @@ ko:
deleted: 삭제됨 deleted: 삭제됨
demote: 강등 demote: 강등
destroyed_msg: "%{username}의 데이터는 곧 삭제되도록 대기열에 들어갔습니다" destroyed_msg: "%{username}의 데이터는 곧 삭제되도록 대기열에 들어갔습니다"
disable: 비활성화 disable: 동결
disable_sign_in_token_auth: 이메일 토큰 인증 비활성화 disable_sign_in_token_auth: 이메일 토큰 인증 비활성화
disable_two_factor_authentication: 2단계 인증을 비활성화 disable_two_factor_authentication: 2단계 인증을 비활성화
disabled: 비활성화 disabled: 동결
display_name: 표시되는 이름 display_name: 표시되는 이름
domain: 도메인 domain: 도메인
edit: 수정 edit: 수정
email: 이메일 email: 이메일
email_status: 이메일 상태 email_status: 이메일 상태
enable: 활성화 enable: 동결 해제
enable_sign_in_token_auth: 이메일 토큰 인증 활성화 enable_sign_in_token_auth: 이메일 토큰 인증 활성화
enabled: 활성 enabled: 활성
enabled_msg: "%{username}의 계정을 성공적으로 얼리기 해제하였습니다" enabled_msg: "%{username}의 계정을 성공적으로 얼리기 해제하였습니다"
@ -292,7 +292,7 @@ ko:
announcements: announcements:
destroyed_msg: 공지가 성공적으로 삭제되었습니다! destroyed_msg: 공지가 성공적으로 삭제되었습니다!
edit: edit:
title: 공지사항 수정 title: 공지사항 편집
empty: 공지를 찾을 수 없습니다. empty: 공지를 찾을 수 없습니다.
live: 진행 중 live: 진행 중
new: new:
@ -586,7 +586,7 @@ ko:
actions_description_html: 이 신고를 해결하기 위해 취해야 할 조치를 지정해주세요. 신고된 계정에 대해 처벌 조치를 취하면, <strong>스팸</strong> 카테고리가 선택된 경우를 제외하고 해당 계정으로 이메일 알림이 전송됩니다. actions_description_html: 이 신고를 해결하기 위해 취해야 할 조치를 지정해주세요. 신고된 계정에 대해 처벌 조치를 취하면, <strong>스팸</strong> 카테고리가 선택된 경우를 제외하고 해당 계정으로 이메일 알림이 전송됩니다.
actions_description_remote_html: 이 신고를 해결하기 위해 실행할 행동을 결정하세요. 이 결정은 이 원격 계정과 그 콘텐츠를 다루는 방식에 대해 <strong>이 서버</strong>에서만 영향을 끼칩니다 actions_description_remote_html: 이 신고를 해결하기 위해 실행할 행동을 결정하세요. 이 결정은 이 원격 계정과 그 콘텐츠를 다루는 방식에 대해 <strong>이 서버</strong>에서만 영향을 끼칩니다
add_to_report: 신고에 더 추가하기 add_to_report: 신고에 더 추가하기
are_you_sure: 정말로 실행하시겠습니까? are_you_sure: 확실합니까?
assign_to_self: 나에게 할당하기 assign_to_self: 나에게 할당하기
assigned: 할당된 중재자 assigned: 할당된 중재자
by_target_domain: 신고된 계정의 도메인 by_target_domain: 신고된 계정의 도메인
@ -763,7 +763,7 @@ ko:
open: 누구나 가입 할 수 있음 open: 누구나 가입 할 수 있음
security: security:
authorized_fetch: 연합된 서버들에게서 인증 필수 authorized_fetch: 연합된 서버들에게서 인증 필수
authorized_fetch_hint: 연합된 서버들에게서 인증을 요구하는 것은 사용자 레벨과 서버 레벨의 차단을 좀 더 확실하게 해줍니다. 한편으로는 성능적인 페널티, 답글의 전달 범위 감소, 몇몇 연합된 서비스들과의 호환성 문제가 있을 가능성이 있습니다. 추가적으로 이 기능은 전용 액터가 공개 게시물이나 계정을 페치하는 것은 막지 않습니다. authorized_fetch_hint: 연합된 서버들에게서 인증을 요구하는 것은 사용자 레벨과 서버 레벨의 차단을 좀 더 확실하게 해줍니다. 한편으로는 성능적인 페널티, 답글의 전달 범위 감소, 몇몇 연합된 서비스들과의 호환성 문제가 있을 가능성이 있습니다. 추가적으로 이 기능은 전용 액터가 공개 게시물이나 계정을 페치하는 것은 막지 않습니다.
authorized_fetch_overridden_hint: 현재 이 값은 환경변수에 의해 설정되어 있기에 설정을 변경할 수 없습니다. authorized_fetch_overridden_hint: 현재 이 값은 환경변수에 의해 설정되어 있기에 설정을 변경할 수 없습니다.
federation_authentication: 연합 인증 필수 federation_authentication: 연합 인증 필수
title: 서버 설정 title: 서버 설정
@ -926,7 +926,7 @@ ko:
warning_presets: warning_presets:
add_new: 새로 추가 add_new: 새로 추가
delete: 삭제 delete: 삭제
edit_preset: 경고 틀 수정 edit_preset: 경고 프리셋 편집
empty: 아직 어떤 경고 틀도 정의되지 않았습니다. empty: 아직 어떤 경고 틀도 정의되지 않았습니다.
title: 경고 틀 관리 title: 경고 틀 관리
webhooks: webhooks:
@ -981,8 +981,6 @@ ko:
new_trending_statuses: new_trending_statuses:
title: 유행하는 게시물 title: 유행하는 게시물
new_trending_tags: new_trending_tags:
no_approved_tags: 현재 승인된 유행 중인 해시태그가 없습니다.
requirements: '이 후보들 중 어떤 것이라도 #%{rank}위의 승인된 유행 중인 해시태그를 앞지를 수 있으며, 이것은 현재 #%{lowest_tag_name}이고 %{lowest_tag_score}점을 기록하고 있습니다.'
title: 유행하는 해시태그 title: 유행하는 해시태그
subject: 새 트렌드가 %{instance}에서 심사 대기 중입니다 subject: 새 트렌드가 %{instance}에서 심사 대기 중입니다
aliases: aliases:
@ -1177,7 +1175,7 @@ ko:
invalid_domain: 올바른 도메인 네임이 아닙니다 invalid_domain: 올바른 도메인 네임이 아닙니다
edit_profile: edit_profile:
basic_information: 기본 정보 basic_information: 기본 정보
hint_html: "<strong>내 공개 프로필과 게시물 옆에 보이는 부분을 꾸미세요.</strong> 다른 사람들은 프로필 내용과 사진이 채워진 계정과 더 상호작용하고 팔로우를 하고 싶어합니다." hint_html: "<strong>사람들이 공개 프로필을 보고서 게시물을 볼 때를 위한 프로필을 꾸밉니다.</strong> 프로필과 프로필 사진을 채우면 다른 사람들이 나를 팔로우하고 나와 교류할 기회가 더 많아집니다."
other: 기타 other: 기타
errors: errors:
'400': 제출한 요청이 올바르지 않습니다. '400': 제출한 요청이 올바르지 않습니다.
@ -1229,7 +1227,7 @@ ko:
keywords: 키워드 keywords: 키워드
statuses: 개별 게시물 statuses: 개별 게시물
statuses_hint_html: 이 필터는 아래의 키워드에 매칭되는지 여부와 관계 없이 몇몇개의 게시물들에 별개로 적용되었습니다. <a href="%{path}">검토하거나 필터에서 삭제하세요</a> statuses_hint_html: 이 필터는 아래의 키워드에 매칭되는지 여부와 관계 없이 몇몇개의 게시물들에 별개로 적용되었습니다. <a href="%{path}">검토하거나 필터에서 삭제하세요</a>
title: 필터 수정 title: 필터 편집
errors: errors:
deprecated_api_multiple_keywords: 이 파라미터들은 하나를 초과하는 필터 키워드에 적용되기 때문에 이 응용프로그램에서 수정될 수 없습니다. 더 최신의 응용프로그램이나 웹 인터페이스를 사용하세요. deprecated_api_multiple_keywords: 이 파라미터들은 하나를 초과하는 필터 키워드에 적용되기 때문에 이 응용프로그램에서 수정될 수 없습니다. 더 최신의 응용프로그램이나 웹 인터페이스를 사용하세요.
invalid_context: 컨텍스트가 없거나 올바르지 않습니다 invalid_context: 컨텍스트가 없거나 올바르지 않습니다
@ -1615,7 +1613,7 @@ ko:
back: 마스토돈으로 돌아가기 back: 마스토돈으로 돌아가기
delete: 계정 삭제 delete: 계정 삭제
development: 개발 development: 개발
edit_profile: 프로필 수정 edit_profile: 프로필 편집
export: 데이터 내보내기 export: 데이터 내보내기
featured_tags: 추천 해시태그 featured_tags: 추천 해시태그
import: 데이터 가져오기 import: 데이터 가져오기
@ -1781,7 +1779,7 @@ ko:
statuses: '인용된 게시물:' statuses: '인용된 게시물:'
subject: subject:
delete_statuses: 당신의 계정 %{acct}에서 작성한 게시물이 삭제되었습니다 delete_statuses: 당신의 계정 %{acct}에서 작성한 게시물이 삭제되었습니다
disable: 당신의 계정 %{acct}가 동결 되었습니다 disable: "%{acct} 계정은 동결되었습니다."
mark_statuses_as_sensitive: "%{acct}로 작성한 당신의 게시물은 민감한 것으로 표시되었습니다" mark_statuses_as_sensitive: "%{acct}로 작성한 당신의 게시물은 민감한 것으로 표시되었습니다"
none: "%{acct}에게의 경고" none: "%{acct}에게의 경고"
sensitive: "%{acct}로 작성되는 당신의 게시물은 이제부터 민감한 것으로 표시됩니다" sensitive: "%{acct}로 작성되는 당신의 게시물은 이제부터 민감한 것으로 표시됩니다"

View File

@ -897,8 +897,6 @@ ku:
new_trending_statuses: new_trending_statuses:
title: Şandiyên rojevê title: Şandiyên rojevê
new_trending_tags: new_trending_tags:
no_approved_tags: Niha hashtagên rojevê pejirandî tune ne.
requirements: 'Yek ji namzedên li jêr dikare ji #%{rank} hashtagaa diyarkirî ya pejirandî derbas bibe, niha ku #%{lowest_tag_name} bi %{lowest_tag_score} puan e.'
title: Hashtagên rojevê title: Hashtagên rojevê
subject: Rojevên nû ji bo nirxandinê li ser %{instance} derdikevin subject: Rojevên nû ji bo nirxandinê li ser %{instance} derdikevin
aliases: aliases:

View File

@ -1014,8 +1014,6 @@ lv:
new_trending_statuses: new_trending_statuses:
title: Populārākās ziņas title: Populārākās ziņas
new_trending_tags: new_trending_tags:
no_approved_tags: Pašlaik nav apstiprinātu tendenču tēmturu.
requirements: 'Jebkurš no šiem kandidātiem varētu pārspēt #%{rank} apstiprināto populāro tēmturi, kas pašlaik ir #%{lowest_tag_name} ar rezultātu %{lowest_tag_score}.'
title: Populārākie tēmturi title: Populārākie tēmturi
subject: Tiek pārskatītas jaunas tendences %{instance} subject: Tiek pārskatītas jaunas tendences %{instance}
aliases: aliases:

View File

@ -977,8 +977,6 @@ ms:
new_trending_statuses: new_trending_statuses:
title: Pos sohor kini title: Pos sohor kini
new_trending_tags: new_trending_tags:
no_approved_tags: Pada masa ini tiada hashtag sohor kini yang diluluskan.
requirements: 'Mana-mana calon ini boleh melepasi hashtag arah aliran #%{rank} yang diluluskan, yang pada masa ini ialah #%{lowest_tag_name} dengan markah %{lowest_tag_score}.'
title: Hashtag sohor kini title: Hashtag sohor kini
subject: Trend baharu untuk kesemakan pada %{instance} subject: Trend baharu untuk kesemakan pada %{instance}
aliases: aliases:

View File

@ -962,8 +962,6 @@ my:
new_trending_statuses: new_trending_statuses:
title: လက်ရှိခေတ်စားနေသော ပို့စ်များ title: လက်ရှိခေတ်စားနေသော ပို့စ်များ
new_trending_tags: new_trending_tags:
no_approved_tags: လက်ရှိတွင် အတည်ပြုထားသော ခေတ်စားနေသည့် hashtag များမရှိပါ။
requirements: 'ဤလူများမှာ %{lowest_tag_score} ရမှတ်ဖြင့် လက်ရှိ #%{lowest_tag_name} ဖြစ်သည့် ခေတ်စားနေသော hashtag #%{rank} ကို ကျော်သွားနိုင်သည်။'
title: လက်ရှိခေတ်စားနေသော hashtag များ title: လက်ရှိခေတ်စားနေသော hashtag များ
subject: "%{instance} တွင် ပြန်လည်သုံးသပ်ရမည့် ခေတ်စားနေသောပို့စ်အသစ်များ" subject: "%{instance} တွင် ပြန်လည်သုံးသပ်ရမည့် ခေတ်စားနေသောပို့စ်အသစ်များ"
aliases: aliases:

View File

@ -997,8 +997,6 @@ nl:
new_trending_statuses: new_trending_statuses:
title: Trending berichten title: Trending berichten
new_trending_tags: new_trending_tags:
no_approved_tags: Op dit moment zijn er geen goedgekeurde hashtags.
requirements: 'Elk van deze kandidaten kan de #%{rank} goedgekeurde trending hashtag overtreffen, die momenteel #%{lowest_tag_name} is met een score van %{lowest_tag_score}.'
title: Trending hashtags title: Trending hashtags
subject: Nieuwe trends te beoordelen op %{instance} subject: Nieuwe trends te beoordelen op %{instance}
aliases: aliases:

View File

@ -997,8 +997,6 @@ nn:
new_trending_statuses: new_trending_statuses:
title: Populære innlegg title: Populære innlegg
new_trending_tags: new_trending_tags:
no_approved_tags: Det er ingen godkjende populære emneknaggar no.
requirements: 'Alle desse kandidatane kan stiga høgare enn den godkjende populære emneknaggen #%{rank}, som er #%{lowest_tag_name} med ei plassering på %{lowest_tag_score}.'
title: Populære emneknaggar title: Populære emneknaggar
subject: Nye trendar å sjå gjennom på %{instance} subject: Nye trendar å sjå gjennom på %{instance}
aliases: aliases:

View File

@ -997,8 +997,6 @@
new_trending_statuses: new_trending_statuses:
title: Populære innlegg title: Populære innlegg
new_trending_tags: new_trending_tags:
no_approved_tags: Det er for øyeblikket ingen godkjente populære emneknagger.
requirements: 'Enhver av disse kandidatene kan overgå #%{rank} godkjent populære emneknagger, som for øyeblikket er #%{lowest_tag_name} med en poengsum på %{lowest_tag_score}.'
title: Populære emneknagger title: Populære emneknagger
subject: Ny trender for gjennomsyn av %{instance} subject: Ny trender for gjennomsyn av %{instance}
aliases: aliases:

View File

@ -1033,8 +1033,6 @@ pl:
new_trending_statuses: new_trending_statuses:
title: Popularne teraz title: Popularne teraz
new_trending_tags: new_trending_tags:
no_approved_tags: Obecnie nie ma żadnych zatwierdzonych popularnych hasztagów.
requirements: 'Każdy z tych kandydatów może przekroczyć #%{rank} zatwierdzonych popularnych teraz hasztagów, który wynosi obecnie %{lowest_tag_name} z wynikiem %{lowest_tag_score}.'
title: Popularne hasztagi title: Popularne hasztagi
subject: Nowe popularne do przeglądu na %{instance} subject: Nowe popularne do przeglądu na %{instance}
aliases: aliases:

View File

@ -997,8 +997,6 @@ pt-BR:
new_trending_statuses: new_trending_statuses:
title: Publicações em alta title: Publicações em alta
new_trending_tags: new_trending_tags:
no_approved_tags: No momento, não há hashtags de tendências aprovadas.
requirements: 'Qualquer um desses candidatos poderia ultrapassar a hashtag de tendência aprovada #%{rank} , que é atualmente #%{lowest_tag_name} com uma pontuação de %{lowest_tag_score}.'
title: Hashtags em alta title: Hashtags em alta
subject: Novas tendências para revisão em %{instance} subject: Novas tendências para revisão em %{instance}
aliases: aliases:

View File

@ -997,8 +997,6 @@ pt-PT:
new_trending_statuses: new_trending_statuses:
title: Publicações em alta title: Publicações em alta
new_trending_tags: new_trending_tags:
no_approved_tags: 'Neste momento, não existem #etiquetas aprovadas para destaque.'
requirements: 'Qualquer um destes candidatos pode ultrapassar a #%{rank} etiqueta aprovada em destaque, que é atualmente #%{lowest_tag_name} com uma pontuação de %{lowest_tag_score}.'
title: Etiquetas em alta title: Etiquetas em alta
subject: Novas tendências para revisão em %{instance} subject: Novas tendências para revisão em %{instance}
aliases: aliases:

View File

@ -1032,8 +1032,6 @@ ru:
new_trending_statuses: new_trending_statuses:
title: Популярные посты title: Популярные посты
new_trending_tags: new_trending_tags:
no_approved_tags: На данный момент популярные подтвержденные хэштеги отсутствуют.
requirements: 'Каждый из этих кандидатов может превысить #%{rank} одобренных популярных хештегов. Сейчас это #%{lowest_tag_name} с числом %{lowest_tag_score}.'
title: Популярные хэштеги title: Популярные хэштеги
subject: Новые тренды для проверки на %{instance} subject: Новые тренды для проверки на %{instance}
aliases: aliases:

View File

@ -890,8 +890,6 @@ sco:
new_trending_statuses: new_trending_statuses:
title: Trendin posts title: Trendin posts
new_trending_tags: new_trending_tags:
no_approved_tags: There nae approved trendin hashtags the noo.
requirements: 'Onie o thir candidates cuid surpass the #%{rank} approved trendin hashtag, thit''s #%{lowest_tag_name} the noo, wi a score o %{lowest_tag_score}.'
title: Trendin hashtags title: Trendin hashtags
subject: New trends up fir luikin ower on %{instance} subject: New trends up fir luikin ower on %{instance}
aliases: aliases:

View File

@ -768,8 +768,6 @@ si:
new_trending_statuses: new_trending_statuses:
title: නැගී එන ලිපි title: නැගී එන ලිපි
new_trending_tags: new_trending_tags:
no_approved_tags: දැනට අනුමත ප්‍රවණතා හැෂ් ටැග් නොමැත.
requirements: 'මෙම ඕනෑම අපේක්ෂකයෙකුට #%{rank} අනුමත ප්‍රවණතා හැෂ් ටැගය අභිබවා යා හැකිය, එය දැනට ලකුණු %{lowest_tag_score}ක් සමඟ #%{lowest_tag_name} වේ.'
title: ප්‍රවණතා හැෂ් ටැග් title: ප්‍රවණතා හැෂ් ටැග්
subject: "%{instance}හි සමාලෝචනය සඳහා නව ප්‍රවණතා" subject: "%{instance}හි සමාලෝචනය සඳහා නව ප්‍රවණතා"
aliases: aliases:

View File

@ -8,6 +8,8 @@ eo:
fields: Via retpaĝo, pronomoj, aĝo, ĉio, kion vi volas. fields: Via retpaĝo, pronomoj, aĝo, ĉio, kion vi volas.
indexable: Viaj publikaj afiŝoj povas aperi en serĉrezultoj ĉe Mastodon. Homoj, kiuj interagis kun viaj afiŝoj, eble povos serĉi ilin sendepende. indexable: Viaj publikaj afiŝoj povas aperi en serĉrezultoj ĉe Mastodon. Homoj, kiuj interagis kun viaj afiŝoj, eble povos serĉi ilin sendepende.
note: 'Vi povas @mencii aliajn homojn aŭ #haŝetikedoj.' note: 'Vi povas @mencii aliajn homojn aŭ #haŝetikedoj.'
show_collections: Homoj povos foliumi viajn sekvatojn kaj sekvantojn. Homoj, kiujn vi sekvas, vidos, ke vi sekvas ilin ĉiaokaze.
unlocked: Homoj povos sekvi vin sen peto de aprobo. Malelektu se vi volas kontroli petojn de sekvado kaj elekti, ĉu akcepti aŭ malakcepti novajn sekvantojn.
account_alias: account_alias:
acct: Specifu la uzantnomon@domajnon de la konto el kiu vi volas translokiĝi acct: Specifu la uzantnomon@domajnon de la konto el kiu vi volas translokiĝi
account_migration: account_migration:
@ -118,6 +120,9 @@ eo:
sessions: sessions:
otp: 'Enmetu la kodon de dufaktora aŭtentigo el via telefono aŭ uzu unu el viaj realiraj kodoj:' otp: 'Enmetu la kodon de dufaktora aŭtentigo el via telefono aŭ uzu unu el viaj realiraj kodoj:'
webauthn: Se ĝi estas USB-ŝlosilo, certu enmeti ĝin kaj, se necese, frapi ĝin. webauthn: Se ĝi estas USB-ŝlosilo, certu enmeti ĝin kaj, se necese, frapi ĝin.
settings:
indexable: Via profila paĝo povas aperi en serĉrezultoj en Google, Bing kaj aliaj.
show_application: Vi ĉiam povos vidi kiu aplikaĵo publikigis vian afiŝon ĉiaokaze.
tag: tag:
name: Vi povas ŝanĝi nur la majuskladon de la literoj, ekzemple, por igi ĝin pli legebla name: Vi povas ŝanĝi nur la majuskladon de la literoj, ekzemple, por igi ĝin pli legebla
user: user:
@ -135,9 +140,13 @@ eo:
url: Kien eventoj sendotas url: Kien eventoj sendotas
labels: labels:
account: account:
discoverable: Elstarigi profilon kaj afiŝojn en eltrovantaj algoritmoj
fields: fields:
name: Etikedo name: Etikedo
value: Enhavo value: Enhavo
indexable: Inkludi publikajn afiŝojn en serĉrezultoj
show_collections: Montri sekvatojn kaj sekvantojn en la profilo
unlocked: Aŭtomate akcepti novajn sekvantojn
account_alias: account_alias:
acct: Tenilo de la malnovan konton acct: Tenilo de la malnovan konton
account_migration: account_migration:
@ -221,7 +230,7 @@ eo:
username_or_email: Uzantnomo aŭ Retadreso username_or_email: Uzantnomo aŭ Retadreso
whole_word: Tuta vorto whole_word: Tuta vorto
email_domain_block: email_domain_block:
with_dns_records: Inkluzu MX-rekordojn kaj IP de la domajno with_dns_records: Inkludi MX-rekordojn kaj IP-jn de la domajno
featured_tag: featured_tag:
name: Kradvorto name: Kradvorto
filters: filters:
@ -282,9 +291,18 @@ eo:
pending_account: Sendi retmesaĝon kiam nova konto bezonas kontrolon pending_account: Sendi retmesaĝon kiam nova konto bezonas kontrolon
reblog: Sendi retmesaĝon kiam iu diskonigas vian mesaĝon reblog: Sendi retmesaĝon kiam iu diskonigas vian mesaĝon
report: Nova raporto estas proponita report: Nova raporto estas proponita
software_updates:
all: Sciigi pri ĉiuj ĝisdatigoj
critical: Sciigi nur pri gravaj ĝisdatigoj
label: Nova Mastodon-versio disponeblas
none: Neniam sciigi pri ĝisdatigoj (malrekomendita)
patch: Sciigi pri cimoriparaj ĝisdatigoj
trending_tag: Nova furoro bezonas kontrolon trending_tag: Nova furoro bezonas kontrolon
rule: rule:
text: Regulo text: Regulo
settings:
indexable: Inkludi profilan paĝon en serĉiloj
show_application: Montri el kiu aplikaĵo vi sendis afiŝon
tag: tag:
listable: Permesi ĉi tiun kradvorton aperi en serĉoj kaj sugestoj listable: Permesi ĉi tiun kradvorton aperi en serĉoj kaj sugestoj
name: Kradvorto name: Kradvorto
@ -305,6 +323,7 @@ eo:
url: Finpunkto-URL url: Finpunkto-URL
'no': Ne 'no': Ne
not_recommended: Nerekomendita not_recommended: Nerekomendita
overridden: Anstataŭigita
recommended: Rekomendita recommended: Rekomendita
required: required:
mark: "*" mark: "*"

View File

@ -188,7 +188,7 @@ ko:
email: 이메일 주소 email: 이메일 주소
expires_in: 만기 expires_in: 만기
fields: 부가 필드 fields: 부가 필드
header: 헤더 header: 헤더 사진
honeypot: "%{label} (채우지 마시오)" honeypot: "%{label} (채우지 마시오)"
inbox_url: 릴레이 서버의 inbox URL inbox_url: 릴레이 서버의 inbox URL
irreversible: 숨기는 대신 삭제 irreversible: 숨기는 대신 삭제

View File

@ -10,17 +10,36 @@ lt:
note: 'Gali @paminėti kitus žmones arba #saitažodžius.' note: 'Gali @paminėti kitus žmones arba #saitažodžius.'
show_collections: Žmonės galės peržiūrėti tavo sekimus ir sekėjus. Žmonės, kuriuos seki, matys, kad juos seki, nepaisant to. show_collections: Žmonės galės peržiūrėti tavo sekimus ir sekėjus. Žmonės, kuriuos seki, matys, kad juos seki, nepaisant to.
unlocked: Žmonės galės tave sekti nepaprašę patvirtinimo. Panaikink žymėjimą, jei nori peržiūrėti sekimo prašymus ir pasirinkti, ar priimti, ar atmesti naujus sekėjus. unlocked: Žmonės galės tave sekti nepaprašę patvirtinimo. Panaikink žymėjimą, jei nori peržiūrėti sekimo prašymus ir pasirinkti, ar priimti, ar atmesti naujus sekėjus.
account_alias:
acct: Nurodyk paskyros, iš kurios nori perkelti, naudotojo vardą@domeną
account_migration:
acct: Nurodyk paskyros, į kurią nori perkelti, naudotojo vardą@domeną
account_warning_preset: account_warning_preset:
text: Gali naudoti įrašų sintaksę, pavyzdžiui, URL adresus, saitažodus ir paminėjimus text: Gali naudoti įrašų sintaksę, pavyzdžiui, URL adresus, saitažodžius ir paminėjimus
title: Pasirinktinai. Gavėjui nematomas
admin_account_action:
include_statuses: Naudotojas (-a) matys, dėl kurių įrašų buvo atliktas prižiūrimo arba įspėjimo veiksmas
send_email_notification: Naudotojas (-a) gaus paaiškinimą, kas nutiko su jo (-s) paskyra
text_html: Pasirinktinai. Gali naudoti įrašo sintaksę. Taupydamas (-a) laiką gali <a href="%{path}">pridėti įspėjimo išankstinius nustatymus</a>
type_html: Pasirink, ką daryti su <strong>%{acct}</strong>
types:
disable: Neleisk naudotojui naudotis savo paskyra, bet nepanaikink ir nepaslėpk jos turinio.
none: Naudok šią parinktį norėdamas (-a) išsiųsti įspėjimą naudotojui, nesukeldamas (-a) jokio kito veiksmo.
sensitive: Priversk visus šio naudotojo medijos priedus pažymėti kaip jautrius.
silence: Neleisk naudotojui skelbti viešai matomų įrašų, paslėpk jų įrašus ir pranešimus nuo žmonių, kurie neseka jo. Uždaro visus su šia paskyra susijusius ataskaitas.
defaults: defaults:
avatar: PNG, GIF arba JPG. Ne daugiau kaip %{size}. Bus sumažintas iki %{dimensions} tšk.
header: PNG, GIF arba JPG. Ne daugiau kaip %{size}. Bus sumažintas iki %{dimensions}tšk. header: PNG, GIF arba JPG. Ne daugiau kaip %{size}. Bus sumažintas iki %{dimensions}tšk.
inbox_url: Nukopijuok URL adresą iš pradinio puslapio perdavėjo, kurį nori naudoti inbox_url: Nukopijuok URL adresą iš pradinio puslapio perdavėjo, kurį nori naudoti
irreversible: Filtruoti įrašai išnyks negrįžtamai, net jei vėliau filtras bus pašalintas irreversible: Filtruoti įrašai išnyks negrįžtamai, net jei vėliau filtras bus pašalintas
locale: Naudotojo sąsajos kalba, el. laiškai ir stumiamieji pranešimai locale: Naudotojo sąsajos kalba, el. laiškai ir stumiamieji pranešimai
password: Naudok bent 8 simbolius password: Naudok bent 8 simbolius
phrase: Bus suderinta, neatsižvelgiant į teksto korpusą arba įrašo turinio įspėjimą phrase: Bus suderinta, neatsižvelgiant į teksto korpusą arba įrašo turinio įspėjimą
setting_display_media_hide_all: Visada slėpti žiniasklaidą setting_always_send_emails: Paprastai pranešimai el. paštu nebus siunčiami, kai aktyviai naudoji Mastodon
setting_display_media_show_all: Visada rodyti žiniasklaidą setting_default_sensitive: Jautrioji medija pagal numatytuosius nustatymus yra paslėpta ir gali būti atskleista paspaudus
setting_display_media_default: Slėpti mediją, pažymėtą kaip jautrią
setting_display_media_hide_all: Visada slėpti mediją
setting_display_media_show_all: Visada rodyti mediją
setting_use_blurhash: Gradientai pagrįsti paslėptų vaizdų spalvomis, tačiau užgožia bet kokias detales setting_use_blurhash: Gradientai pagrįsti paslėptų vaizdų spalvomis, tačiau užgožia bet kokias detales
setting_use_pending_items: Slėpti laiko skalės naujienas po paspaudimo, vietoj automatinio kanalo slinkimo setting_use_pending_items: Slėpti laiko skalės naujienas po paspaudimo, vietoj automatinio kanalo slinkimo
featured_tag: featured_tag:
@ -43,3 +62,23 @@ lt:
name: Saitažodis name: Saitažodis
trendable: Leisti šį saitažodį rodyti pagal trendus trendable: Leisti šį saitažodį rodyti pagal trendus
usable: Leisti įrašams naudoti šį saitažodį usable: Leisti įrašams naudoti šį saitažodį
user:
role: Vaidmuo
user_role:
permissions_as_keys: Leidimai
position: Prioritetas
webhook:
events: Įgalinti įvykiai
template: Naudingosios apkrovos šablonas
url: Galutinio taško URL
'no': Ne
not_recommended: Nerekomenduojama
overridden: Pakeista
recommended: Rekomenduojama
required:
mark: "*"
text: privalomas
title:
sessions:
webauthn: Prisijungimui naudoti vieną iš saugumo raktų
'yes': Taip

View File

@ -1033,8 +1033,6 @@ sl:
new_trending_statuses: new_trending_statuses:
title: Trendne objave title: Trendne objave
new_trending_tags: new_trending_tags:
no_approved_tags: Trenutno ni odobrenih ključnikov v trendu.
requirements: Vsak od teh kandidatov bi lahko presegel odobreni ključnik v trendu št. %{rank}, ki je trenutno %{lowest_tag_name} z rezultatom %{lowest_tag_score}.
title: Ključniki v trendu title: Ključniki v trendu
subject: Novi trendi za pregled na %{instance} subject: Novi trendi za pregled na %{instance}
aliases: aliases:

View File

@ -993,7 +993,6 @@ sq:
new_trending_statuses: new_trending_statuses:
title: Postime në modë title: Postime në modë
new_trending_tags: new_trending_tags:
no_approved_tags: Aktualisht ska hashtag-ë në modë të miratuar.
title: Hashtag-ë në modë title: Hashtag-ë në modë
subject: Gjëra të reja në modë për shqyrtim te %{instance} subject: Gjëra të reja në modë për shqyrtim te %{instance}
aliases: aliases:

View File

@ -1015,8 +1015,6 @@ sr-Latn:
new_trending_statuses: new_trending_statuses:
title: Objave u trendu title: Objave u trendu
new_trending_tags: new_trending_tags:
no_approved_tags: Trenutno nema odobrenih heš oznaka u trendu.
requirements: 'Bilo koji od sledećih kandidata bi mogao prevazići #%{rank} odobrenu heš oznaku u trendu, koja je trenutno #%{lowest_tag_name} sa vrednošću %{lowest_tag_score}.'
title: Heš oznake u trendu title: Heš oznake u trendu
subject: Novi trendovi za pregled na %{instance} subject: Novi trendovi za pregled na %{instance}
aliases: aliases:

View File

@ -1015,8 +1015,6 @@ sr:
new_trending_statuses: new_trending_statuses:
title: Објаве у тренду title: Објаве у тренду
new_trending_tags: new_trending_tags:
no_approved_tags: Тренутно нема одобрених хеш ознака у тренду.
requirements: 'Било који од следећих кандидата би могао превазићи #%{rank} одобрену хеш ознаку у тренду, која је тренутно #%{lowest_tag_name} са вредношћу %{lowest_tag_score}.'
title: Хеш ознаке у тренду title: Хеш ознаке у тренду
subject: Нови трендови за преглед на %{instance} subject: Нови трендови за преглед на %{instance}
aliases: aliases:

View File

@ -996,8 +996,6 @@ sv:
new_trending_statuses: new_trending_statuses:
title: Trendande inlägg title: Trendande inlägg
new_trending_tags: new_trending_tags:
no_approved_tags: Det finns för närvarande inga godkända trendande hashtaggar.
requirements: 'Någon av dessa kandidater skulle kunna överträffa #%{rank} godkända trendande hashtaggar, som för närvarande är #%{lowest_tag_name} med en poäng på %{lowest_tag_score}.'
title: Trendande hashtaggar title: Trendande hashtaggar
subject: Nya trender tillgängliga för granskning på %{instance} subject: Nya trender tillgängliga för granskning på %{instance}
aliases: aliases:

View File

@ -979,8 +979,6 @@ th:
new_trending_statuses: new_trending_statuses:
title: โพสต์ที่กำลังนิยม title: โพสต์ที่กำลังนิยม
new_trending_tags: new_trending_tags:
no_approved_tags: ไม่มีแฮชแท็กที่กำลังนิยมที่ได้รับอนุมัติในปัจจุบัน
requirements: 'ตัวเลือกใดก็ตามนี้สามารถแซงหน้าแฮชแท็กที่กำลังนิยมที่ได้รับอนุมัติ #%{rank} ซึ่งคือ #%{lowest_tag_name} ในปัจจุบันด้วยคะแนน %{lowest_tag_score}'
title: แฮชแท็กที่กำลังนิยม title: แฮชแท็กที่กำลังนิยม
subject: แนวโน้มใหม่สำหรับตรวจทานใน %{instance} subject: แนวโน้มใหม่สำหรับตรวจทานใน %{instance}
aliases: aliases:

View File

@ -997,8 +997,6 @@ tr:
new_trending_statuses: new_trending_statuses:
title: Öne çıkan gönderiler title: Öne çıkan gönderiler
new_trending_tags: new_trending_tags:
no_approved_tags: Şu anda onaylanmış öne çıkan etiket yok.
requirements: 'Aşağıdaki adaylardan herhangi biri, şu anda %{lowest_tag_score} skoruna sahip "%{lowest_tag_name}" olan #%{rank} onaylanmış öne çıkan etiketi geçebilir.'
title: Öne çıkan etiketler title: Öne çıkan etiketler
subject: "%{instance}, inceleme bekleyen yeni öne çıkan öğelere sahip" subject: "%{instance}, inceleme bekleyen yeni öne çıkan öğelere sahip"
aliases: aliases:

View File

@ -1033,8 +1033,6 @@ uk:
new_trending_statuses: new_trending_statuses:
title: Популярні дописи title: Популярні дописи
new_trending_tags: new_trending_tags:
no_approved_tags: На цей час немає схвалених популярних хештегів.
requirements: 'Кожен з цих кандидатів може перевершити #%{rank} затвердженого популярного хештеґу, який зараз на #%{lowest_tag_name} з рейтингом %{lowest_tag_score}.'
title: Популярні хештеги title: Популярні хештеги
subject: Нове популярне до розгляду на %{instance} subject: Нове популярне до розгляду на %{instance}
aliases: aliases:

View File

@ -979,8 +979,6 @@ vi:
new_trending_statuses: new_trending_statuses:
title: Tút nổi bật title: Tút nổi bật
new_trending_tags: new_trending_tags:
no_approved_tags: Hiện tại không có hashtag nổi bật nào được duyệt.
requirements: 'Bất kỳ ứng cử viên nào vượt qua #%{rank} duyệt hashtag nổi bật, với hiện tại là "%{lowest_tag_name}" với điểm số %{lowest_tag_score}.'
title: Hashtag nổi bật title: Hashtag nổi bật
subject: Nội dung nổi bật chờ duyệt trên %{instance} subject: Nội dung nổi bật chờ duyệt trên %{instance}
aliases: aliases:

View File

@ -979,8 +979,6 @@ zh-CN:
new_trending_statuses: new_trending_statuses:
title: 热门嘟文 title: 热门嘟文
new_trending_tags: new_trending_tags:
no_approved_tags: 目前没有经批准的热门标签。
requirements: '这些候选人都可能会超过#%{rank} 批准的热门标签,目前是 #%{lowest_tag_name} ,分数为 %{lowest_tag_score}。'
title: 热门标签 title: 热门标签
subject: "%{instance} 上有新热门等待审核" subject: "%{instance} 上有新热门等待审核"
aliases: aliases:

View File

@ -979,8 +979,6 @@ zh-HK:
new_trending_statuses: new_trending_statuses:
title: 熱門帖文 title: 熱門帖文
new_trending_tags: new_trending_tags:
no_approved_tags: 目前沒有經核准的熱門標籤。
requirements: '任何一個候選都可能超過 #%{rank} 被核准的標籤。目前是 %{lowest_tag_name} 標籤,得分為 %{lowest_tag_score}。'
title: 熱門標籤 title: 熱門標籤
subject: "%{instance} 上有待審核的新熱門" subject: "%{instance} 上有待審核的新熱門"
aliases: aliases:

View File

@ -981,8 +981,6 @@ zh-TW:
new_trending_statuses: new_trending_statuses:
title: 熱門嘟文 title: 熱門嘟文
new_trending_tags: new_trending_tags:
no_approved_tags: 這些是目前仍未被審核之熱門主題標籤。
requirements: '這些候選中的任何一個都可能超過 #%{rank} 已批准的熱門主題標籤,該主題標籤目前是 #%{lowest_tag_name},得分為 %{lowest_tag_score}。'
title: 熱門主題標籤 title: 熱門主題標籤
subject: "%{instance} 有待審核之新熱門" subject: "%{instance} 有待審核之新熱門"
aliases: aliases:

View File

@ -45,7 +45,7 @@ describe Admin::InvitesController do
describe 'POST #deactivate_all' do describe 'POST #deactivate_all' do
it 'expires all invites, then redirects to admin_invites_path' do it 'expires all invites, then redirects to admin_invites_path' do
invites = Fabricate.times(2, :invite, expires_at: nil) invites = Fabricate.times(1, :invite, expires_at: nil)
post :deactivate_all post :deactivate_all

View File

@ -1,23 +0,0 @@
# frozen_string_literal: true
require 'rails_helper'
describe Api::V1::Admin::DimensionsController do
render_views
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'admin:read') }
let(:account) { Fabricate(:account) }
before do
allow(controller).to receive(:doorkeeper_token) { token }
end
describe 'POST #create' do
it 'returns http success' do
post :create, params: { account_id: account.id, limit: 2 }
expect(response).to have_http_status(200)
end
end
end

View File

@ -1,23 +0,0 @@
# frozen_string_literal: true
require 'rails_helper'
describe Api::V1::Admin::MeasuresController do
render_views
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'admin:read') }
let(:account) { Fabricate(:account) }
before do
allow(controller).to receive(:doorkeeper_token) { token }
end
describe 'POST #create' do
it 'returns http success' do
post :create, params: { account_id: account.id, limit: 2 }
expect(response).to have_http_status(200)
end
end
end

View File

@ -1,23 +0,0 @@
# frozen_string_literal: true
require 'rails_helper'
describe Api::V1::Admin::RetentionController do
render_views
let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'admin:read') }
let(:account) { Fabricate(:account) }
before do
allow(controller).to receive(:doorkeeper_token) { token }
end
describe 'POST #create' do
it 'returns http success' do
post :create, params: { account_id: account.id, limit: 2 }
expect(response).to have_http_status(200)
end
end
end

View File

@ -1,18 +0,0 @@
# frozen_string_literal: true
require 'rails_helper'
RSpec.describe Api::V1::CustomEmojisController do
render_views
describe 'GET #index' do
before do
Fabricate(:custom_emoji)
get :index
end
it 'returns http success' do
expect(response).to have_http_status(200)
end
end
end

View File

@ -1,17 +0,0 @@
# frozen_string_literal: true
require 'rails_helper'
RSpec.describe Api::V1::EndorsementsController do
let(:user) { Fabricate(:user) }
let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read:accounts') }
describe 'GET #index' do
it 'returns 200' do
allow(controller).to receive(:doorkeeper_token) { token }
get :index
expect(response).to have_http_status(200)
end
end
end

View File

@ -1,21 +0,0 @@
# frozen_string_literal: true
require 'rails_helper'
RSpec.describe Api::V1::Instances::ActivityController do
describe 'GET #show' do
it 'returns 200' do
get :show
expect(response).to have_http_status(200)
end
context 'with !Setting.activity_api_enabled' do
it 'returns 404' do
Setting.activity_api_enabled = false
get :show
expect(response).to have_http_status(404)
end
end
end
end

View File

@ -1,16 +0,0 @@
# frozen_string_literal: true
require 'rails_helper'
describe Api::V1::Instances::DomainBlocksController do
render_views
describe 'GET #index' do
it 'returns http success' do
Setting.show_domain_blocks = 'all'
get :index
expect(response).to have_http_status(200)
end
end
end

View File

@ -1,15 +0,0 @@
# frozen_string_literal: true
require 'rails_helper'
describe Api::V1::Instances::ExtendedDescriptionsController do
render_views
describe 'GET #show' do
it 'returns http success' do
get :show
expect(response).to have_http_status(200)
end
end
end

View File

@ -1,21 +0,0 @@
# frozen_string_literal: true
require 'rails_helper'
RSpec.describe Api::V1::Instances::PeersController do
describe 'GET #index' do
it 'returns 200' do
get :index
expect(response).to have_http_status(200)
end
context 'with !Setting.peers_api_enabled' do
it 'returns 404' do
Setting.peers_api_enabled = false
get :index
expect(response).to have_http_status(404)
end
end
end
end

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