Merge pull request #1804 from ClearlyClaire/glitch-soc/merge-upstream

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

@ -283,9 +283,17 @@ MAX_POLL_OPTION_CHARS=100
# If undefined or smaller than MAX_EMOJI_SIZE, the value # If undefined or smaller than MAX_EMOJI_SIZE, the value
# of MAX_EMOJI_SIZE will be used for MAX_REMOTE_EMOJI_SIZE # of MAX_EMOJI_SIZE will be used for MAX_REMOTE_EMOJI_SIZE
# Units are in bytes # Units are in bytes
MAX_EMOJI_SIZE=51200 # MAX_EMOJI_SIZE=262144
MAX_REMOTE_EMOJI_SIZE=204800 # MAX_REMOTE_EMOJI_SIZE=262144
# Optional hCaptcha support # Optional hCaptcha support
# HCAPTCHA_SECRET_KEY= # HCAPTCHA_SECRET_KEY=
# HCAPTCHA_SITE_KEY= # HCAPTCHA_SITE_KEY=
# IP and session retention
# -----------------------
# Make sure to modify the scheduling of ip_cleanup_scheduler in config/sidekiq.yml
# to be less than daily if you lower IP_RETENTION_PERIOD below two days (172800).
# -----------------------
IP_RETENTION_PERIOD=31556952
SESSION_RETENTION_PERIOD=31556952

@ -67,7 +67,7 @@ Lint/UselessAccessModifier:
- class_methods - class_methods
Metrics/AbcSize: Metrics/AbcSize:
Max: 100 Max: 115
Exclude: Exclude:
- 'lib/mastodon/*_cli.rb' - 'lib/mastodon/*_cli.rb'
@ -84,7 +84,7 @@ Metrics/BlockNesting:
Metrics/ClassLength: Metrics/ClassLength:
CountComments: false CountComments: false
Max: 400 Max: 500
Exclude: Exclude:
- 'lib/mastodon/*_cli.rb' - 'lib/mastodon/*_cli.rb'

@ -10,7 +10,7 @@ gem 'puma', '~> 5.6'
gem 'rails', '~> 6.1.6' gem 'rails', '~> 6.1.6'
gem 'sprockets', '~> 3.7.2' gem 'sprockets', '~> 3.7.2'
gem 'thor', '~> 1.2' gem 'thor', '~> 1.2'
gem 'rack', '~> 2.2.3' gem 'rack', '~> 2.2.4'
gem 'hamlit-rails', '~> 0.2' gem 'hamlit-rails', '~> 0.2'
gem 'pg', '~> 1.4' gem 'pg', '~> 1.4'
@ -40,7 +40,7 @@ end
gem 'net-ldap', '~> 0.17' gem 'net-ldap', '~> 0.17'
gem 'omniauth-cas', '~> 2.0' gem 'omniauth-cas', '~> 2.0'
gem 'omniauth-saml', '~> 1.10' gem 'omniauth-saml', '~> 1.10'
gem 'gitlab-omniauth-openid-connect', '~>0.9.1', require: 'omniauth_openid_connect' gem 'gitlab-omniauth-openid-connect', '~>0.10.0', require: 'omniauth_openid_connect'
gem 'omniauth', '~> 1.9' gem 'omniauth', '~> 1.9'
gem 'omniauth-rails_csrf_protection', '~> 0.1' gem 'omniauth-rails_csrf_protection', '~> 0.1'
@ -78,7 +78,7 @@ gem 'rqrcode', '~> 2.1'
gem 'ruby-progressbar', '~> 1.11' gem 'ruby-progressbar', '~> 1.11'
gem 'sanitize', '~> 6.0' gem 'sanitize', '~> 6.0'
gem 'scenic', '~> 1.6' gem 'scenic', '~> 1.6'
gem 'sidekiq', '~> 6.4' gem 'sidekiq', '~> 6.5'
gem 'sidekiq-scheduler', '~> 4.0' gem 'sidekiq-scheduler', '~> 4.0'
gem 'sidekiq-unique-jobs', '~> 7.1' gem 'sidekiq-unique-jobs', '~> 7.1'
gem 'sidekiq-bulk', '~> 0.2.0' gem 'sidekiq-bulk', '~> 0.2.0'

@ -270,9 +270,9 @@ GEM
fuubar (2.5.1) fuubar (2.5.1)
rspec-core (~> 3.0) rspec-core (~> 3.0)
ruby-progressbar (~> 1.4) ruby-progressbar (~> 1.4)
gitlab-omniauth-openid-connect (0.9.1) gitlab-omniauth-openid-connect (0.10.0)
addressable (~> 2.7) addressable (~> 2.7)
omniauth (~> 1.9) omniauth (>= 1.9, < 3)
openid_connect (~> 1.2) openid_connect (~> 1.2)
globalid (1.0.0) globalid (1.0.0)
activesupport (>= 5.0) activesupport (>= 5.0)
@ -415,7 +415,7 @@ GEM
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
sidekiq (>= 3.5) sidekiq (>= 3.5)
statsd-ruby (~> 1.4, >= 1.4.0) statsd-ruby (~> 1.4, >= 1.4.0)
oj (3.13.14) oj (3.13.16)
omniauth (1.9.1) omniauth (1.9.1)
hashie (>= 3.4.6) hashie (>= 3.4.6)
rack (>= 1.6.2, < 3) rack (>= 1.6.2, < 3)
@ -477,7 +477,7 @@ GEM
activesupport (>= 3.0.0) activesupport (>= 3.0.0)
raabro (1.4.0) raabro (1.4.0)
racc (1.6.0) racc (1.6.0)
rack (2.2.3.1) rack (2.2.4)
rack-attack (6.6.1) rack-attack (6.6.1)
rack (>= 1.0, < 3) rack (>= 1.0, < 3)
rack-cors (1.1.1) rack-cors (1.1.1)
@ -604,7 +604,7 @@ GEM
railties (>= 4.0.0) railties (>= 4.0.0)
securecompare (1.0.0) securecompare (1.0.0)
semantic_range (3.0.0) semantic_range (3.0.0)
sidekiq (6.4.2) sidekiq (6.5.1)
connection_pool (>= 2.2.2) connection_pool (>= 2.2.2)
rack (~> 2.0) rack (~> 2.0)
redis (>= 4.2.0) redis (>= 4.2.0)
@ -686,7 +686,7 @@ GEM
validate_email (0.1.6) validate_email (0.1.6)
activemodel (>= 3.0) activemodel (>= 3.0)
mail (>= 2.2.5) mail (>= 2.2.5)
validate_url (1.0.13) validate_url (1.0.15)
activemodel (>= 3.0.0) activemodel (>= 3.0.0)
public_suffix public_suffix
warden (1.2.9) warden (1.2.9)
@ -768,7 +768,7 @@ DEPENDENCIES
fog-core (<= 2.1.0) fog-core (<= 2.1.0)
fog-openstack (~> 0.3) fog-openstack (~> 0.3)
fuubar (~> 2.5) fuubar (~> 2.5)
gitlab-omniauth-openid-connect (~> 0.9.1) gitlab-omniauth-openid-connect (~> 0.10.0)
hamlit-rails (~> 0.2) hamlit-rails (~> 0.2)
hcaptcha (~> 7.1) hcaptcha (~> 7.1)
hiredis (~> 0.6) hiredis (~> 0.6)
@ -811,7 +811,7 @@ DEPENDENCIES
pry-rails (~> 0.3) pry-rails (~> 0.3)
puma (~> 5.6) puma (~> 5.6)
pundit (~> 2.2) pundit (~> 2.2)
rack (~> 2.2.3) rack (~> 2.2.4)
rack-attack (~> 6.6) rack-attack (~> 6.6)
rack-cors (~> 1.1) rack-cors (~> 1.1)
rails (~> 6.1.6) rails (~> 6.1.6)
@ -832,7 +832,7 @@ DEPENDENCIES
ruby-progressbar (~> 1.11) ruby-progressbar (~> 1.11)
sanitize (~> 6.0) sanitize (~> 6.0)
scenic (~> 1.6) scenic (~> 1.6)
sidekiq (~> 6.4) sidekiq (~> 6.5)
sidekiq-bulk (~> 0.2.0) sidekiq-bulk (~> 0.2.0)
sidekiq-scheduler (~> 4.0) sidekiq-scheduler (~> 4.0)
sidekiq-unique-jobs (~> 7.1) sidekiq-unique-jobs (~> 7.1)

@ -5,11 +5,15 @@ module Admin
before_action :set_account before_action :set_account
def new def new
authorize @account, :show?
@account_action = Admin::AccountAction.new(type: params[:type], report_id: params[:report_id], send_email_notification: true, include_statuses: true) @account_action = Admin::AccountAction.new(type: params[:type], report_id: params[:report_id], send_email_notification: true, include_statuses: true)
@warning_presets = AccountWarningPreset.all @warning_presets = AccountWarningPreset.all
end end
def create def create
authorize @account, :show?
account_action = Admin::AccountAction.new(resource_params) account_action = Admin::AccountAction.new(resource_params)
account_action.target_account = @account account_action.target_account = @account
account_action.current_account = current_account account_action.current_account = current_account

@ -14,6 +14,8 @@ module Admin
end end
def batch def batch
authorize :account, :index?
@form = Form::AccountBatch.new(form_account_batch_params.merge(current_account: current_account, action: action_from_button)) @form = Form::AccountBatch.new(form_account_batch_params.merge(current_account: current_account, action: action_from_button))
@form.save @form.save
rescue ActionController::ParameterMissing rescue ActionController::ParameterMissing

@ -4,7 +4,10 @@ module Admin
class ActionLogsController < BaseController class ActionLogsController < BaseController
before_action :set_action_logs before_action :set_action_logs
def index; end def index
authorize :audit_log, :index?
@auditable_accounts = Account.where(id: Admin::ActionLog.reorder(nil).select('distinct account_id')).select(:id, :username)
end
private private

@ -7,9 +7,9 @@ module Admin
layout 'admin' layout 'admin'
before_action :require_staff!
before_action :set_pack before_action :set_pack
before_action :set_body_classes before_action :set_body_classes
after_action :verify_authorized
private private

@ -29,6 +29,8 @@ module Admin
end end
def batch def batch
authorize :custom_emoji, :index?
@form = Form::CustomEmojiBatch.new(form_custom_emoji_batch_params.merge(current_account: current_account, action: action_from_button)) @form = Form::CustomEmojiBatch.new(form_custom_emoji_batch_params.merge(current_account: current_account, action: action_from_button))
@form.save @form.save
rescue ActionController::ParameterMissing rescue ActionController::ParameterMissing

@ -5,7 +5,9 @@ module Admin
include Redisable include Redisable
def index def index
@system_checks = Admin::SystemCheck.perform authorize :dashboard, :index?
@system_checks = Admin::SystemCheck.perform(current_user)
@time_period = (29.days.ago.to_date...Time.now.utc.to_date) @time_period = (29.days.ago.to_date...Time.now.utc.to_date)
@pending_users_count = User.pending.count @pending_users_count = User.pending.count
@pending_reports_count = Report.unresolved.count @pending_reports_count = Report.unresolved.count

@ -5,6 +5,7 @@ module Admin
before_action :set_domain_block, only: [:show, :destroy, :edit, :update] before_action :set_domain_block, only: [:show, :destroy, :edit, :update]
def batch def batch
authorize :domain_block, :create?
@form = Form::DomainBlockBatch.new(form_domain_block_batch_params.merge(current_account: current_account, action: action_from_button)) @form = Form::DomainBlockBatch.new(form_domain_block_batch_params.merge(current_account: current_account, action: action_from_button))
@form.save @form.save
rescue ActionController::ParameterMissing rescue ActionController::ParameterMissing

@ -12,6 +12,8 @@ module Admin
end end
def batch def batch
authorize :email_domain_block, :index?
@form = Form::EmailDomainBlockBatch.new(form_email_domain_block_batch_params.merge(current_account: current_account, action: action_from_button)) @form = Form::EmailDomainBlockBatch.new(form_email_domain_block_batch_params.merge(current_account: current_account, action: action_from_button))
@form.save @form.save
rescue ActionController::ParameterMissing rescue ActionController::ParameterMissing

@ -12,6 +12,8 @@ module Admin
end end
def update def update
authorize :follow_recommendation, :show?
@form = Form::AccountBatch.new(form_account_batch_params.merge(current_account: current_account, action: action_from_button)) @form = Form::AccountBatch.new(form_account_batch_params.merge(current_account: current_account, action: action_from_button))
@form.save @form.save
rescue ActionController::ParameterMissing rescue ActionController::ParameterMissing

@ -29,6 +29,8 @@ module Admin
end end
def batch def batch
authorize :ip_block, :index?
@form = Form::IpBlockBatch.new(form_ip_block_batch_params.merge(current_account: current_account, action: action_from_button)) @form = Form::IpBlockBatch.new(form_ip_block_batch_params.merge(current_account: current_account, action: action_from_button))
@form.save @form.save
rescue ActionController::ParameterMissing rescue ActionController::ParameterMissing

@ -7,7 +7,7 @@ module Admin
PER_PAGE = 40 PER_PAGE = 40
def index def index
authorize :account, :index? authorize @account, :show?
@accounts = RelationshipFilter.new(@account, filter_params).results.includes(:account_stat, user: [:ips, :invite_request]).page(params[:page]).per(PER_PAGE) @accounts = RelationshipFilter.new(@account, filter_params).results.includes(:account_stat, user: [:ips, :invite_request]).page(params[:page]).per(PER_PAGE)
@form = Form::AccountBatch.new @form = Form::AccountBatch.new

@ -2,20 +2,63 @@
module Admin module Admin
class RolesController < BaseController class RolesController < BaseController
before_action :set_user before_action :set_role, except: [:index, :new, :create]
def promote def index
authorize @user, :promote? authorize :user_role, :index?
@user.promote!
log_action :promote, @user @roles = UserRole.order(position: :desc).page(params[:page])
redirect_to admin_account_path(@user.account_id) end
def new
authorize :user_role, :create?
@role = UserRole.new
end
def create
authorize :user_role, :create?
@role = UserRole.new(resource_params)
@role.current_account = current_account
if @role.save
redirect_to admin_roles_path
else
render :new
end
end
def edit
authorize @role, :update?
end
def update
authorize @role, :update?
@role.current_account = current_account
if @role.update(resource_params)
redirect_to admin_roles_path
else
render :edit
end
end
def destroy
authorize @role, :destroy?
@role.destroy!
redirect_to admin_roles_path
end
private
def set_role
@role = UserRole.find(params[:id])
end end
def demote def resource_params
authorize @user, :demote? params.require(:user_role).permit(:name, :color, :highlighted, :position, permissions_as_keys: [])
@user.demote!
log_action :demote, @user
redirect_to admin_account_path(@user.account_id)
end end
end end
end end

@ -14,6 +14,8 @@ module Admin
end end
def batch def batch
authorize :status, :index?
@status_batch_action = Admin::StatusBatchAction.new(admin_status_batch_action_params.merge(current_account: current_account, report_id: params[:report_id], type: action_from_button)) @status_batch_action = Admin::StatusBatchAction.new(admin_status_batch_action_params.merge(current_account: current_account, report_id: params[:report_id], type: action_from_button))
@status_batch_action.save! @status_batch_action.save!
rescue ActionController::ParameterMissing rescue ActionController::ParameterMissing

@ -1,20 +0,0 @@
# frozen_string_literal: true
module Admin
class SubscriptionsController < BaseController
def index
authorize :subscription, :index?
@subscriptions = ordered_subscriptions.page(requested_page)
end
private
def ordered_subscriptions
Subscription.order(id: :desc).includes(:account)
end
def requested_page
params[:page].to_i
end
end
end

@ -16,6 +16,8 @@ module Admin
if @tag.update(tag_params.merge(reviewed_at: Time.now.utc)) if @tag.update(tag_params.merge(reviewed_at: Time.now.utc))
redirect_to admin_tag_path(@tag.id), notice: I18n.t('admin.tags.updated_msg') redirect_to admin_tag_path(@tag.id), notice: I18n.t('admin.tags.updated_msg')
else else
@time_period = (6.days.ago.to_date...Time.now.utc.to_date)
render :show render :show
end end
end end
@ -27,7 +29,7 @@ module Admin
end end
def tag_params def tag_params
params.require(:tag).permit(:name, :trendable, :usable, :listable) params.require(:tag).permit(:name, :display_name, :trendable, :usable, :listable)
end end
end end
end end

@ -2,13 +2,15 @@
class Admin::Trends::Links::PreviewCardProvidersController < Admin::BaseController class Admin::Trends::Links::PreviewCardProvidersController < Admin::BaseController
def index def index
authorize :preview_card_provider, :index? authorize :preview_card_provider, :review?
@preview_card_providers = filtered_preview_card_providers.page(params[:page]) @preview_card_providers = filtered_preview_card_providers.page(params[:page])
@form = Trends::PreviewCardProviderBatch.new @form = Trends::PreviewCardProviderBatch.new
end end
def batch def batch
authorize :preview_card_provider, :review?
@form = Trends::PreviewCardProviderBatch.new(trends_preview_card_provider_batch_params.merge(current_account: current_account, action: action_from_button)) @form = Trends::PreviewCardProviderBatch.new(trends_preview_card_provider_batch_params.merge(current_account: current_account, action: action_from_button))
@form.save @form.save
rescue ActionController::ParameterMissing rescue ActionController::ParameterMissing

@ -2,13 +2,15 @@
class Admin::Trends::LinksController < Admin::BaseController class Admin::Trends::LinksController < Admin::BaseController
def index def index
authorize :preview_card, :index? authorize :preview_card, :review?
@preview_cards = filtered_preview_cards.page(params[:page]) @preview_cards = filtered_preview_cards.page(params[:page])
@form = Trends::PreviewCardBatch.new @form = Trends::PreviewCardBatch.new
end end
def batch def batch
authorize :preview_card, :review?
@form = Trends::PreviewCardBatch.new(trends_preview_card_batch_params.merge(current_account: current_account, action: action_from_button)) @form = Trends::PreviewCardBatch.new(trends_preview_card_batch_params.merge(current_account: current_account, action: action_from_button))
@form.save @form.save
rescue ActionController::ParameterMissing rescue ActionController::ParameterMissing

@ -2,13 +2,15 @@
class Admin::Trends::StatusesController < Admin::BaseController class Admin::Trends::StatusesController < Admin::BaseController
def index def index
authorize :status, :index? authorize :status, :review?
@statuses = filtered_statuses.page(params[:page]) @statuses = filtered_statuses.page(params[:page])
@form = Trends::StatusBatch.new @form = Trends::StatusBatch.new
end end
def batch def batch
authorize :status, :review?
@form = Trends::StatusBatch.new(trends_status_batch_params.merge(current_account: current_account, action: action_from_button)) @form = Trends::StatusBatch.new(trends_status_batch_params.merge(current_account: current_account, action: action_from_button))
@form.save @form.save
rescue ActionController::ParameterMissing rescue ActionController::ParameterMissing

@ -2,13 +2,15 @@
class Admin::Trends::TagsController < Admin::BaseController class Admin::Trends::TagsController < Admin::BaseController
def index def index
authorize :tag, :index? authorize :tag, :review?
@tags = filtered_tags.page(params[:page]) @tags = filtered_tags.page(params[:page])
@form = Trends::TagBatch.new @form = Trends::TagBatch.new
end end
def batch def batch
authorize :tag, :review?
@form = Trends::TagBatch.new(trends_tag_batch_params.merge(current_account: current_account, action: action_from_button)) @form = Trends::TagBatch.new(trends_tag_batch_params.merge(current_account: current_account, action: action_from_button))
@form.save @form.save
rescue ActionController::ParameterMissing rescue ActionController::ParameterMissing

@ -0,0 +1,33 @@
# frozen_string_literal: true
module Admin
class Users::RolesController < BaseController
before_action :set_user
def show
authorize @user, :change_role?
end
def update
authorize @user, :change_role?
@user.current_account = current_account
if @user.update(resource_params)
redirect_to admin_account_path(@user.account_id), notice: I18n.t('admin.accounts.change_role.changed_msg')
else
render :show
end
end
private
def set_user
@user = User.find(params[:user_id])
end
def resource_params
params.require(:user).permit(:role_id)
end
end
end

@ -1,7 +1,7 @@
# frozen_string_literal: true # frozen_string_literal: true
module Admin module Admin
class TwoFactorAuthenticationsController < BaseController class Users::TwoFactorAuthenticationsController < BaseController
before_action :set_target_user before_action :set_target_user
def destroy def destroy

@ -1,11 +1,16 @@
# frozen_string_literal: true # frozen_string_literal: true
class Api::V1::Admin::AccountActionsController < Api::BaseController class Api::V1::Admin::AccountActionsController < Api::BaseController
include Authorization
before_action -> { authorize_if_got_token! :'admin:write', :'admin:write:accounts' } before_action -> { authorize_if_got_token! :'admin:write', :'admin:write:accounts' }
before_action :require_staff!
before_action :set_account before_action :set_account
after_action :verify_authorized
def create def create
authorize @account, :show?
account_action = Admin::AccountAction.new(resource_params) account_action = Admin::AccountAction.new(resource_params)
account_action.target_account = @account account_action.target_account = @account
account_action.current_account = current_account account_action.current_account = current_account

@ -8,11 +8,11 @@ class Api::V1::Admin::AccountsController < Api::BaseController
before_action -> { authorize_if_got_token! :'admin:read', :'admin:read:accounts' }, only: [:index, :show] before_action -> { authorize_if_got_token! :'admin:read', :'admin:read:accounts' }, only: [:index, :show]
before_action -> { authorize_if_got_token! :'admin:write', :'admin:write:accounts' }, except: [:index, :show] before_action -> { authorize_if_got_token! :'admin:write', :'admin:write:accounts' }, except: [:index, :show]
before_action :require_staff!
before_action :set_accounts, only: :index before_action :set_accounts, only: :index
before_action :set_account, except: :index before_action :set_account, except: :index
before_action :require_local_account!, only: [:enable, :approve, :reject] before_action :require_local_account!, only: [:enable, :approve, :reject]
after_action :verify_authorized
after_action :insert_pagination_headers, only: :index after_action :insert_pagination_headers, only: :index
FILTER_PARAMS = %i( FILTER_PARAMS = %i(
@ -119,7 +119,9 @@ class Api::V1::Admin::AccountsController < Api::BaseController
translated_params[:status] = status.to_s if params[status].present? translated_params[:status] = status.to_s if params[status].present?
end end
translated_params[:permissions] = 'staff' if params[:staff].present? if params[:staff].present?
translated_params[:role_ids] = UserRole.that_can(:manage_reports).map(&:id)
end
translated_params translated_params
end end

@ -1,11 +1,15 @@
# frozen_string_literal: true # frozen_string_literal: true
class Api::V1::Admin::DimensionsController < Api::BaseController class Api::V1::Admin::DimensionsController < Api::BaseController
include Authorization
before_action -> { authorize_if_got_token! :'admin:read' } before_action -> { authorize_if_got_token! :'admin:read' }
before_action :require_staff!
before_action :set_dimensions before_action :set_dimensions
after_action :verify_authorized
def create def create
authorize :dashboard, :index?
render json: @dimensions, each_serializer: REST::Admin::DimensionSerializer render json: @dimensions, each_serializer: REST::Admin::DimensionSerializer
end end

@ -8,10 +8,10 @@ class Api::V1::Admin::DomainAllowsController < Api::BaseController
before_action -> { authorize_if_got_token! :'admin:read', :'admin:read:domain_allows' }, only: [:index, :show] before_action -> { authorize_if_got_token! :'admin:read', :'admin:read:domain_allows' }, only: [:index, :show]
before_action -> { authorize_if_got_token! :'admin:write', :'admin:write:domain_allows' }, except: [:index, :show] before_action -> { authorize_if_got_token! :'admin:write', :'admin:write:domain_allows' }, except: [:index, :show]
before_action :require_staff!
before_action :set_domain_allows, only: :index before_action :set_domain_allows, only: :index
before_action :set_domain_allow, only: [:show, :destroy] before_action :set_domain_allow, only: [:show, :destroy]
after_action :verify_authorized
after_action :insert_pagination_headers, only: :index after_action :insert_pagination_headers, only: :index
PAGINATION_PARAMS = %i(limit).freeze PAGINATION_PARAMS = %i(limit).freeze

@ -8,10 +8,10 @@ class Api::V1::Admin::DomainBlocksController < Api::BaseController
before_action -> { authorize_if_got_token! :'admin:read', :'admin:read:domain_blocks' }, only: [:index, :show] before_action -> { authorize_if_got_token! :'admin:read', :'admin:read:domain_blocks' }, only: [:index, :show]
before_action -> { authorize_if_got_token! :'admin:write', :'admin:write:domain_blocks' }, except: [:index, :show] before_action -> { authorize_if_got_token! :'admin:write', :'admin:write:domain_blocks' }, except: [:index, :show]
before_action :require_staff!
before_action :set_domain_blocks, only: :index before_action :set_domain_blocks, only: :index
before_action :set_domain_block, only: [:show, :update, :destroy] before_action :set_domain_block, only: [:show, :update, :destroy]
after_action :verify_authorized
after_action :insert_pagination_headers, only: :index after_action :insert_pagination_headers, only: :index
PAGINATION_PARAMS = %i(limit).freeze PAGINATION_PARAMS = %i(limit).freeze

@ -1,11 +1,15 @@
# frozen_string_literal: true # frozen_string_literal: true
class Api::V1::Admin::MeasuresController < Api::BaseController class Api::V1::Admin::MeasuresController < Api::BaseController
include Authorization
before_action -> { authorize_if_got_token! :'admin:read' } before_action -> { authorize_if_got_token! :'admin:read' }
before_action :require_staff!
before_action :set_measures before_action :set_measures
after_action :verify_authorized
def create def create
authorize :dashboard, :index?
render json: @measures, each_serializer: REST::Admin::MeasureSerializer render json: @measures, each_serializer: REST::Admin::MeasureSerializer
end end

@ -8,10 +8,10 @@ class Api::V1::Admin::ReportsController < Api::BaseController
before_action -> { authorize_if_got_token! :'admin:read', :'admin:read:reports' }, only: [:index, :show] before_action -> { authorize_if_got_token! :'admin:read', :'admin:read:reports' }, only: [:index, :show]
before_action -> { authorize_if_got_token! :'admin:write', :'admin:write:reports' }, except: [:index, :show] before_action -> { authorize_if_got_token! :'admin:write', :'admin:write:reports' }, except: [:index, :show]
before_action :require_staff!
before_action :set_reports, only: :index before_action :set_reports, only: :index
before_action :set_report, except: :index before_action :set_report, except: :index
after_action :verify_authorized
after_action :insert_pagination_headers, only: :index after_action :insert_pagination_headers, only: :index
FILTER_PARAMS = %i( FILTER_PARAMS = %i(

@ -1,11 +1,15 @@
# frozen_string_literal: true # frozen_string_literal: true
class Api::V1::Admin::RetentionController < Api::BaseController class Api::V1::Admin::RetentionController < Api::BaseController
include Authorization
before_action -> { authorize_if_got_token! :'admin:read' } before_action -> { authorize_if_got_token! :'admin:read' }
before_action :require_staff!
before_action :set_cohorts before_action :set_cohorts
after_action :verify_authorized
def create def create
authorize :dashboard, :index?
render json: @cohorts, each_serializer: REST::Admin::CohortSerializer render json: @cohorts, each_serializer: REST::Admin::CohortSerializer
end end

@ -1,17 +1,19 @@
# frozen_string_literal: true # frozen_string_literal: true
class Api::V1::Admin::Trends::LinksController < Api::BaseController class Api::V1::Admin::Trends::LinksController < Api::V1::Trends::LinksController
before_action -> { authorize_if_got_token! :'admin:read' } before_action -> { authorize_if_got_token! :'admin:read' }
before_action :require_staff!
before_action :set_links
def index
render json: @links, each_serializer: REST::Trends::LinkSerializer
end
private private
def set_links def enabled?
@links = Trends.links.query.limit(limit_param(10)) super || current_user&.can?(:manage_taxonomies)
end
def links_from_trends
if current_user&.can?(:manage_taxonomies)
Trends.links.query
else
super
end
end end
end end

@ -1,17 +1,19 @@
# frozen_string_literal: true # frozen_string_literal: true
class Api::V1::Admin::Trends::StatusesController < Api::BaseController class Api::V1::Admin::Trends::StatusesController < Api::V1::Trends::StatusesController
before_action -> { authorize_if_got_token! :'admin:read' } before_action -> { authorize_if_got_token! :'admin:read' }
before_action :require_staff!
before_action :set_statuses
def index
render json: @statuses, each_serializer: REST::StatusSerializer
end
private private
def set_statuses def enabled?
@statuses = cache_collection(Trends.statuses.query.limit(limit_param(DEFAULT_STATUSES_LIMIT)), Status) super || current_user&.can?(:manage_taxonomies)
end
def statuses_from_trends
if current_user&.can?(:manage_taxonomies)
Trends.statuses.query
else
super
end
end end
end end

@ -1,17 +1,19 @@
# frozen_string_literal: true # frozen_string_literal: true
class Api::V1::Admin::Trends::TagsController < Api::BaseController class Api::V1::Admin::Trends::TagsController < Api::V1::Trends::TagsController
before_action -> { authorize_if_got_token! :'admin:read' } before_action -> { authorize_if_got_token! :'admin:read' }
before_action :require_staff!
before_action :set_tags
def index
render json: @tags, each_serializer: REST::Admin::TagSerializer
end
private private
def set_tags def enabled?
@tags = Trends.tags.query.limit(limit_param(10)) super || current_user&.can?(:manage_taxonomies)
end
def tags_from_trends
if current_user&.can?(:manage_taxonomies)
Trends.tags.query
else
super
end
end end
end end

@ -6,7 +6,7 @@ class Api::V1::FeaturedTags::SuggestionsController < Api::BaseController
before_action :set_recently_used_tags, only: :index before_action :set_recently_used_tags, only: :index
def index def index
render json: @recently_used_tags, each_serializer: REST::TagSerializer render json: @recently_used_tags, each_serializer: REST::TagSerializer, relationships: TagRelationshipsPresenter.new(@recently_used_tags, current_user&.account_id)
end end
private private

@ -13,9 +13,7 @@ class Api::V1::FeaturedTagsController < Api::BaseController
end end
def create def create
@featured_tag = current_account.featured_tags.new(featured_tag_params) @featured_tag = current_account.featured_tags.create!(featured_tag_params)
@featured_tag.reset_data
@featured_tag.save!
render json: @featured_tag, serializer: REST::FeaturedTagSerializer render json: @featured_tag, serializer: REST::FeaturedTagSerializer
end end

@ -0,0 +1,52 @@
# frozen_string_literal: true
class Api::V1::FollowedTagsController < Api::BaseController
TAGS_LIMIT = 100
before_action -> { doorkeeper_authorize! :follow, :read, :'read:follows' }, except: :show
before_action :require_user!
before_action :set_results
after_action :insert_pagination_headers, only: :show
def index
render json: @results.map(&:tag), each_serializer: REST::TagSerializer, relationships: TagRelationshipsPresenter.new(@results.map(&:tag), current_user&.account_id)
end
private
def set_results
@results = TagFollow.where(account: current_account).joins(:tag).eager_load(:tag).to_a_paginated_by_id(
limit_param(TAGS_LIMIT),
params_slice(:max_id, :since_id, :min_id)
)
end
def insert_pagination_headers
set_pagination_headers(next_path, prev_path)
end
def next_path
api_v1_followed_tags_url pagination_params(max_id: pagination_max_id) if records_continue?
end
def prev_path
api_v1_followed_tags_url pagination_params(since_id: pagination_since_id) unless @results.empty?
end
def pagination_max_id
@results.last.id
end
def pagination_since_id
@results.first.id
end
def records_continue?
@results.size == limit_param(TAG_LIMIT)
end
def pagination_params(core_params)
params.slice(:limit).permit(:limit).merge(core_params)
end
end

@ -0,0 +1,29 @@
# frozen_string_literal: true
class Api::V1::TagsController < Api::BaseController
before_action -> { doorkeeper_authorize! :follow, :write, :'write:follows' }, except: :show
before_action :require_user!, except: :show
before_action :set_or_create_tag
override_rate_limit_headers :follow, family: :follows
def show
render json: @tag, serializer: REST::TagSerializer
end
def follow
TagFollow.create!(tag: @tag, account: current_account, rate_limit: true)
render json: @tag, serializer: REST::TagSerializer
end
def unfollow
TagFollow.find_by(account: current_account, tag: @tag)&.destroy!
render json: @tag, serializer: REST::TagSerializer
end
private
def set_or_create_tag
@tag = Tag.find_normalized(params[:id]) || Tag.new(name: Tag.normalize(params[:id]), display_name: params[:id])
end
end

@ -13,10 +13,14 @@ class Api::V1::Trends::LinksController < Api::BaseController
private private
def enabled?
Setting.trends
end
def set_links def set_links
@links = begin @links = begin
if Setting.trends if enabled?
links_from_trends links_from_trends.offset(offset_param).limit(limit_param(DEFAULT_LINKS_LIMIT))
else else
[] []
end end
@ -24,7 +28,7 @@ class Api::V1::Trends::LinksController < Api::BaseController
end end
def links_from_trends def links_from_trends
Trends.links.query.allowed.in_locale(content_locale).offset(offset_param).limit(limit_param(DEFAULT_LINKS_LIMIT)) Trends.links.query.allowed.in_locale(content_locale)
end end
def insert_pagination_headers def insert_pagination_headers

@ -11,10 +11,14 @@ class Api::V1::Trends::StatusesController < Api::BaseController
private private
def enabled?
Setting.trends
end
def set_statuses def set_statuses
@statuses = begin @statuses = begin
if Setting.trends if enabled?
cache_collection(statuses_from_trends, Status) cache_collection(statuses_from_trends.offset(offset_param).limit(limit_param(DEFAULT_STATUSES_LIMIT)), Status)
else else
[] []
end end
@ -24,7 +28,7 @@ class Api::V1::Trends::StatusesController < Api::BaseController
def statuses_from_trends def statuses_from_trends
scope = Trends.statuses.query.allowed.in_locale(content_locale) scope = Trends.statuses.query.allowed.in_locale(content_locale)
scope = scope.filtered_for(current_account) if user_signed_in? scope = scope.filtered_for(current_account) if user_signed_in?
scope.offset(offset_param).limit(limit_param(DEFAULT_STATUSES_LIMIT)) scope
end end
def insert_pagination_headers def insert_pagination_headers

@ -8,21 +8,29 @@ class Api::V1::Trends::TagsController < Api::BaseController
DEFAULT_TAGS_LIMIT = 10 DEFAULT_TAGS_LIMIT = 10
def index def index
render json: @tags, each_serializer: REST::TagSerializer render json: @tags, each_serializer: REST::TagSerializer, relationships: TagRelationshipsPresenter.new(@tags, current_user&.account_id)
end end
private private
def enabled?
Setting.trends
end
def set_tags def set_tags
@tags = begin @tags = begin
if Setting.trends if enabled?
Trends.tags.query.allowed.offset(offset_param).limit(limit_param(DEFAULT_TAGS_LIMIT)) tags_from_trends.offset(offset_param).limit(limit_param(DEFAULT_TAGS_LIMIT))
else else
[] []
end end
end end
end end
def tags_from_trends
Trends.tags.query.allowed
end
def insert_pagination_headers def insert_pagination_headers
set_pagination_headers(next_path, prev_path) set_pagination_headers(next_path, prev_path)
end end

@ -11,6 +11,7 @@ class Api::V2::Admin::AccountsController < Api::V1::Admin::AccountsController
email email
ip ip
invited_by invited_by
role_ids
).freeze ).freeze
PAGINATION_PARAMS = (%i(limit) + FILTER_PARAMS).freeze PAGINATION_PARAMS = (%i(limit) + FILTER_PARAMS).freeze
@ -18,7 +19,17 @@ class Api::V2::Admin::AccountsController < Api::V1::Admin::AccountsController
private private
def filtered_accounts def filtered_accounts
AccountFilter.new(filter_params).results AccountFilter.new(translated_filter_params).results
end
def translated_filter_params
translated_params = filter_params.slice(*AccountFilter::KEYS)
if params[:permissions] == 'staff'
translated_params[:role_ids] = UserRole.that_can(:manage_reports).map(&:id)
end
translated_params
end end
def filter_params def filter_params

@ -58,14 +58,6 @@ class ApplicationController < ActionController::Base
store_location_for(:user, request.url) unless [:json, :rss].include?(request.format&.to_sym) store_location_for(:user, request.url) unless [:json, :rss].include?(request.format&.to_sym)
end end
def require_admin!
forbidden unless current_user&.admin?
end
def require_staff!
forbidden unless current_user&.staff?
end
def require_functional! def require_functional!
redirect_to edit_user_registration_path unless current_user.functional? redirect_to edit_user_registration_path unless current_user.functional?
end end

@ -13,6 +13,6 @@ class CustomCssController < ApplicationController
def show def show
expires_in 3.minutes, public: true expires_in 3.minutes, public: true
request.session_options[:skip] = true request.session_options[:skip] = true
render plain: Setting.custom_css || '', content_type: 'text/css' render content_type: 'text/css'
end end
end end

@ -11,7 +11,6 @@ class Settings::FeaturedTagsController < Settings::BaseController
def create def create
@featured_tag = current_account.featured_tags.new(featured_tag_params) @featured_tag = current_account.featured_tags.new(featured_tag_params)
@featured_tag.reset_data
if @featured_tag.save if @featured_tag.save
redirect_to settings_featured_tags_path redirect_to settings_featured_tags_path

@ -61,21 +61,13 @@ module AccountsHelper
end end
end end
def account_badge(account, all: false) def account_badge(account)
if account.bot? if account.bot?
content_tag(:div, content_tag(:div, t('accounts.roles.bot'), class: 'account-role bot'), class: 'roles') content_tag(:div, content_tag(:div, t('accounts.roles.bot'), class: 'account-role bot'), class: 'roles')
elsif account.group? elsif account.group?
content_tag(:div, content_tag(:div, t('accounts.roles.group'), class: 'account-role group'), class: 'roles') content_tag(:div, content_tag(:div, t('accounts.roles.group'), class: 'account-role group'), class: 'roles')
elsif (Setting.show_staff_badge && account.user_staff?) || all elsif account.user_role&.highlighted?
content_tag(:div, class: 'roles') do content_tag(:div, content_tag(:div, account.user_role.name, class: "account-role user-role-#{account.user_role.id}"), class: 'roles')
if all && !account.user_staff?
content_tag(:div, t('admin.accounts.roles.user'), class: 'account-role')
elsif account.user_admin?
content_tag(:div, t('accounts.roles.admin'), class: 'account-role admin')
elsif account.user_moderator?
content_tag(:div, t('accounts.roles.moderator'), class: 'account-role moderator')
end
end
end end
end end

@ -5,10 +5,11 @@ import IconButton from './icon_button';
import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container'; import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePureComponent from 'react-immutable-pure-component';
import { me, isStaff } from 'flavours/glitch/util/initial_state'; import { me } from 'flavours/glitch/util/initial_state';
import RelativeTimestamp from './relative_timestamp'; import RelativeTimestamp from './relative_timestamp';
import { accountAdminLink, statusAdminLink } from 'flavours/glitch/util/backend_links'; import { accountAdminLink, statusAdminLink } from 'flavours/glitch/util/backend_links';
import classNames from 'classnames'; import classNames from 'classnames';
import { PERMISSION_MANAGE_USERS } from 'flavours/glitch/permissions';
const messages = defineMessages({ const messages = defineMessages({
delete: { id: 'status.delete', defaultMessage: 'Delete' }, delete: { id: 'status.delete', defaultMessage: 'Delete' },
@ -47,6 +48,7 @@ class StatusActionBar extends ImmutablePureComponent {
static contextTypes = { static contextTypes = {
router: PropTypes.object, router: PropTypes.object,
identity: PropTypes.object,
}; };
static propTypes = { static propTypes = {
@ -240,7 +242,7 @@ class StatusActionBar extends ImmutablePureComponent {
menu.push({ text: intl.formatMessage(messages.block, { name: status.getIn(['account', 'username']) }), action: this.handleBlockClick }); menu.push({ text: intl.formatMessage(messages.block, { name: status.getIn(['account', 'username']) }), action: this.handleBlockClick });
menu.push({ text: intl.formatMessage(messages.report, { name: status.getIn(['account', 'username']) }), action: this.handleReport }); menu.push({ text: intl.formatMessage(messages.report, { name: status.getIn(['account', 'username']) }), action: this.handleReport });
if (isStaff && (accountAdminLink || statusAdminLink)) { if ((this.context.identity.permissions & PERMISSION_MANAGE_USERS) === PERMISSION_MANAGE_USERS && (accountAdminLink || statusAdminLink)) {
menu.push(null); menu.push(null);
if (accountAdminLink !== undefined) { if (accountAdminLink !== undefined) {
menu.push({ menu.push({

@ -31,6 +31,7 @@ const createIdentityContext = state => ({
signedIn: !!state.meta.me, signedIn: !!state.meta.me,
accountId: state.meta.me, accountId: state.meta.me,
accessToken: state.meta.access_token, accessToken: state.meta.access_token,
permissions: state.role.permissions,
}); });
export default class Mastodon extends React.PureComponent { export default class Mastodon extends React.PureComponent {

@ -3,7 +3,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePureComponent from 'react-immutable-pure-component';
import { autoPlayGif, me, isStaff } from 'flavours/glitch/util/initial_state'; import { autoPlayGif, me } from 'flavours/glitch/util/initial_state';
import { preferencesLink, profileLink, accountAdminLink } from 'flavours/glitch/util/backend_links'; import { preferencesLink, profileLink, accountAdminLink } from 'flavours/glitch/util/backend_links';
import classNames from 'classnames'; import classNames from 'classnames';
import Icon from 'flavours/glitch/components/icon'; import Icon from 'flavours/glitch/components/icon';
@ -13,6 +13,7 @@ import Button from 'flavours/glitch/components/button';
import { NavLink } from 'react-router-dom'; import { NavLink } from 'react-router-dom';
import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container'; import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
import AccountNoteContainer from '../containers/account_note_container'; import AccountNoteContainer from '../containers/account_note_container';
import { PERMISSION_MANAGE_USERS } from 'flavours/glitch/permissions';
const messages = defineMessages({ const messages = defineMessages({
unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' }, unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },
@ -64,6 +65,10 @@ const dateFormatOptions = {
export default @injectIntl export default @injectIntl
class Header extends ImmutablePureComponent { class Header extends ImmutablePureComponent {
static contextTypes = {
identity: PropTypes.object,
};
static propTypes = { static propTypes = {
account: ImmutablePropTypes.map, account: ImmutablePropTypes.map,
identity_props: ImmutablePropTypes.list, identity_props: ImmutablePropTypes.list,
@ -244,7 +249,7 @@ class Header extends ImmutablePureComponent {
} }
} }
if (account.get('id') !== me && isStaff && accountAdminLink) { if (account.get('id') !== me && (this.context.identity.permissions & PERMISSION_MANAGE_USERS) === PERMISSION_MANAGE_USERS && accountAdminLink) {
menu.push(null); menu.push(null);
menu.push({ text: intl.formatMessage(messages.admin_account, { name: account.get('username') }), href: accountAdminLink(account.get('id')) }); menu.push({ text: intl.formatMessage(messages.admin_account, { name: account.get('username') }), href: accountAdminLink(account.get('id')) });
} }

@ -6,10 +6,14 @@ import ClearColumnButton from './clear_column_button';
import GrantPermissionButton from './grant_permission_button'; import GrantPermissionButton from './grant_permission_button';
import SettingToggle from './setting_toggle'; import SettingToggle from './setting_toggle';
import PillBarButton from './pill_bar_button'; import PillBarButton from './pill_bar_button';
import { isStaff } from 'flavours/glitch/util/initial_state'; import { PERMISSION_MANAGE_USERS, PERMISSION_MANAGE_REPORTS } from 'flavours/glitch/permissions';
export default class ColumnSettings extends React.PureComponent { export default class ColumnSettings extends React.PureComponent {
static contextTypes = {
identity: PropTypes.object,
};
static propTypes = { static propTypes = {
settings: ImmutablePropTypes.map.isRequired, settings: ImmutablePropTypes.map.isRequired,
pushSettings: ImmutablePropTypes.map.isRequired, pushSettings: ImmutablePropTypes.map.isRequired,
@ -167,7 +171,7 @@ export default class ColumnSettings extends React.PureComponent {
</div> </div>
</div> </div>
{isStaff && ( {(this.context.identity.permissions & PERMISSION_MANAGE_USERS === PERMISSION_MANAGE_USERS) && (
<div role='group' aria-labelledby='notifications-admin-sign-up'> <div role='group' aria-labelledby='notifications-admin-sign-up'>
<span id='notifications-status' className='column-settings__section'><FormattedMessage id='notifications.column_settings.admin.sign_up' defaultMessage='New sign-ups:' /></span> <span id='notifications-status' className='column-settings__section'><FormattedMessage id='notifications.column_settings.admin.sign_up' defaultMessage='New sign-ups:' /></span>
@ -180,7 +184,7 @@ export default class ColumnSettings extends React.PureComponent {
</div> </div>
)} )}
{isStaff && ( {(this.context.identity.permissions & PERMISSION_MANAGE_REPORTS === PERMISSION_MANAGE_REPORTS) && (
<div role='group' aria-labelledby='notifications-admin-report'> <div role='group' aria-labelledby='notifications-admin-report'>
<span id='notifications-status' className='column-settings__section'><FormattedMessage id='notifications.column_settings.admin.report' defaultMessage='New reports:' /></span> <span id='notifications-status' className='column-settings__section'><FormattedMessage id='notifications.column_settings.admin.report' defaultMessage='New reports:' /></span>

@ -4,9 +4,10 @@ import IconButton from 'flavours/glitch/components/icon_button';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container'; import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import { me, isStaff } from 'flavours/glitch/util/initial_state'; import { me } from 'flavours/glitch/util/initial_state';
import { accountAdminLink, statusAdminLink } from 'flavours/glitch/util/backend_links'; import { accountAdminLink, statusAdminLink } from 'flavours/glitch/util/backend_links';
import classNames from 'classnames'; import classNames from 'classnames';
import { PERMISSION_MANAGE_USERS } from 'flavours/glitch/permissions';
const messages = defineMessages({ const messages = defineMessages({
delete: { id: 'status.delete', defaultMessage: 'Delete' }, delete: { id: 'status.delete', defaultMessage: 'Delete' },
@ -41,6 +42,7 @@ class ActionBar extends React.PureComponent {
static contextTypes = { static contextTypes = {
router: PropTypes.object, router: PropTypes.object,
identity: PropTypes.object,
}; };
static propTypes = { static propTypes = {
@ -182,7 +184,7 @@ class ActionBar extends React.PureComponent {
menu.push({ text: intl.formatMessage(messages.mute, { name: status.getIn(['account', 'username']) }), action: this.handleMuteClick }); menu.push({ text: intl.formatMessage(messages.mute, { name: status.getIn(['account', 'username']) }), action: this.handleMuteClick });
menu.push({ text: intl.formatMessage(messages.block, { name: status.getIn(['account', 'username']) }), action: this.handleBlockClick }); menu.push({ text: intl.formatMessage(messages.block, { name: status.getIn(['account', 'username']) }), action: this.handleBlockClick });
menu.push({ text: intl.formatMessage(messages.report, { name: status.getIn(['account', 'username']) }), action: this.handleReport }); menu.push({ text: intl.formatMessage(messages.report, { name: status.getIn(['account', 'username']) }), action: this.handleReport });
if (isStaff && (accountAdminLink || statusAdminLink)) { if ((this.context.identity.permissions & PERMISSION_MANAGE_USERS) === PERMISSION_MANAGE_USERS && (accountAdminLink || statusAdminLink)) {
menu.push(null); menu.push(null);
if (accountAdminLink !== undefined) { if (accountAdminLink !== undefined) {
menu.push({ menu.push({

@ -3,10 +3,11 @@ import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { FormattedMessage, defineMessages, injectIntl } from 'react-intl'; import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import { invitesEnabled, limitedFederationMode, version, repository, source_url } from 'flavours/glitch/util/initial_state'; import { limitedFederationMode, version, repository, source_url } from 'flavours/glitch/util/initial_state';
import { signOutLink, securityLink } from 'flavours/glitch/util/backend_links'; import { signOutLink, securityLink } from 'flavours/glitch/util/backend_links';
import { logOut } from 'flavours/glitch/util/log_out'; import { logOut } from 'flavours/glitch/util/log_out';
import { openModal } from 'flavours/glitch/actions/modal'; import { openModal } from 'flavours/glitch/actions/modal';
import { PERMISSION_INVITE_USERS } from 'flavours/glitch/permissions';
const messages = defineMessages({ const messages = defineMessages({
logoutMessage: { id: 'confirmations.logout.message', defaultMessage: 'Are you sure you want to log out?' }, logoutMessage: { id: 'confirmations.logout.message', defaultMessage: 'Are you sure you want to log out?' },
@ -28,6 +29,10 @@ export default @injectIntl
@connect(null, mapDispatchToProps) @connect(null, mapDispatchToProps)
class LinkFooter extends React.PureComponent { class LinkFooter extends React.PureComponent {
static contextTypes = {
identity: PropTypes.object,
};
static propTypes = { static propTypes = {
onLogout: PropTypes.func.isRequired, onLogout: PropTypes.func.isRequired,
intl: PropTypes.object.isRequired, intl: PropTypes.object.isRequired,
@ -46,7 +51,7 @@ class LinkFooter extends React.PureComponent {
return ( return (
<div className='getting-started__footer'> <div className='getting-started__footer'>
<ul> <ul>
{invitesEnabled && <li><a href='/invites' target='_blank'><FormattedMessage id='getting_started.invite' defaultMessage='Invite people' /></a> · </li>} {((this.context.identity.permissions & PERMISSION_INVITE_USERS) === PERMISSION_INVITE_USERS) && <li><a href='/invites' target='_blank'><FormattedMessage id='getting_started.invite' defaultMessage='Invite people' /></a> · </li>}
{!!securityLink && <li><a href='/auth/edit'><FormattedMessage id='getting_started.security' defaultMessage='Security' /></a> · </li>} {!!securityLink && <li><a href='/auth/edit'><FormattedMessage id='getting_started.security' defaultMessage='Security' /></a> · </li>}
{!limitedFederationMode && <li><a href='/about/more' target='_blank'><FormattedMessage id='navigation_bar.info' defaultMessage='About this server' /></a> · </li>} {!limitedFederationMode && <li><a href='/about/more' target='_blank'><FormattedMessage id='navigation_bar.info' defaultMessage='About this server' /></a> · </li>}
<li><a href='https://joinmastodon.org/apps' target='_blank'><FormattedMessage id='navigation_bar.apps' defaultMessage='Mobile apps' /></a> · </li> <li><a href='https://joinmastodon.org/apps' target='_blank'><FormattedMessage id='navigation_bar.apps' defaultMessage='Mobile apps' /></a> · </li>

@ -0,0 +1,3 @@
export const PERMISSION_INVITE_USERS = 0x0000000000010000;
export const PERMISSION_MANAGE_USERS = 0x0000000000000400;
export const PERMISSION_MANAGE_REPORTS = 0x0000000000000010;

@ -4,12 +4,13 @@ import { Map as ImmutableMap } from 'immutable';
const initialState = ImmutableMap({ const initialState = ImmutableMap({
streaming_api_base_url: null, streaming_api_base_url: null,
access_token: null, access_token: null,
permissions: '0',
}); });
export default function meta(state = initialState, action) { export default function meta(state = initialState, action) {
switch(action.type) { switch(action.type) {
case STORE_HYDRATE: case STORE_HYDRATE:
return state.merge(action.state.get('meta')); return state.merge(action.state.get('meta')).set('permissions', action.state.getIn(['role', 'permissions']));
default: default:
return state; return state;
} }

@ -943,6 +943,10 @@ a.name-tag,
margin-top: 15px; margin-top: 15px;
} }
.user-role {
color: var(--user-role-accent);
}
.announcements-list, .announcements-list,
.filters-list { .filters-list {
border: 1px solid lighten($ui-base-color, 4%); border: 1px solid lighten($ui-base-color, 4%);
@ -979,6 +983,17 @@ a.name-tag,
&__meta { &__meta {
padding: 0 15px; padding: 0 15px;
color: $dark-text-color; color: $dark-text-color;
a {
color: inherit;
text-decoration: underline;
&:hover,
&:focus,
&:active {
text-decoration: none;
}
}
} }
&__action-bar { &__action-bar {

@ -247,6 +247,10 @@ code {
} }
} }
.input.with_block_label.user_role_permissions_as_keys ul {
columns: unset;
}
.input.datetime .label_input select { .input.datetime .label_input select {
display: inline-block; display: inline-block;
width: auto; width: auto;

@ -23,14 +23,12 @@ export const me = getMeta('me');
export const searchEnabled = getMeta('search_enabled'); export const searchEnabled = getMeta('search_enabled');
export const maxChars = (initialState && initialState.max_toot_chars) || 500; export const maxChars = (initialState && initialState.max_toot_chars) || 500;
export const pollLimits = (initialState && initialState.poll_limits); export const pollLimits = (initialState && initialState.poll_limits);
export const invitesEnabled = getMeta('invites_enabled');
export const limitedFederationMode = getMeta('limited_federation_mode'); export const limitedFederationMode = getMeta('limited_federation_mode');
export const repository = getMeta('repository'); export const repository = getMeta('repository');
export const source_url = getMeta('source_url'); export const source_url = getMeta('source_url');
export const version = getMeta('version'); export const version = getMeta('version');
export const mascot = getMeta('mascot'); export const mascot = getMeta('mascot');
export const profile_directory = getMeta('profile_directory'); export const profile_directory = getMeta('profile_directory');
export const isStaff = getMeta('is_staff');
export const defaultContentType = getMeta('default_content_type'); export const defaultContentType = getMeta('default_content_type');
export const forceSingleColumn = getMeta('advanced_layout') === false; export const forceSingleColumn = getMeta('advanced_layout') === false;
export const useBlurhash = getMeta('use_blurhash'); export const useBlurhash = getMeta('use_blurhash');

@ -608,7 +608,20 @@ function insertIntoTagHistory(recognizedTags, text) {
const state = getState(); const state = getState();
const oldHistory = state.getIn(['compose', 'tagHistory']); const oldHistory = state.getIn(['compose', 'tagHistory']);
const me = state.getIn(['meta', 'me']); const me = state.getIn(['meta', 'me']);
const names = recognizedTags.map(tag => text.match(new RegExp(`#${tag.name}`, 'i'))[0].slice(1));
// FIXME: Matching input hashtags with recognized hashtags has become more
// complicated because of new normalization rules, it's no longer just
// a case sensitivity issue
const names = recognizedTags.map(tag => {
const matches = text.match(new RegExp(`#${tag.name}`, 'i'));
if (matches && matches.length > 0) {
return matches[0].slice(1);
} else {
return tag.name;
}
});
const intersectedOldHistory = oldHistory.filter(name => names.findIndex(newName => newName.toLowerCase() === name.toLowerCase()) === -1); const intersectedOldHistory = oldHistory.filter(name => names.findIndex(newName => newName.toLowerCase() === name.toLowerCase()) === -1);
names.push(...intersectedOldHistory.toJS()); names.push(...intersectedOldHistory.toJS());

@ -6,8 +6,9 @@ import IconButton from './icon_button';
import DropdownMenuContainer from '../containers/dropdown_menu_container'; import DropdownMenuContainer from '../containers/dropdown_menu_container';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePureComponent from 'react-immutable-pure-component';
import { me, isStaff } from '../initial_state'; import { me } from '../initial_state';
import classNames from 'classnames'; import classNames from 'classnames';
import { PERMISSION_MANAGE_USERS } from 'mastodon/permissions';
const messages = defineMessages({ const messages = defineMessages({
delete: { id: 'status.delete', defaultMessage: 'Delete' }, delete: { id: 'status.delete', defaultMessage: 'Delete' },
@ -55,6 +56,7 @@ class StatusActionBar extends ImmutablePureComponent {
static contextTypes = { static contextTypes = {
router: PropTypes.object, router: PropTypes.object,
identity: PropTypes.object,
}; };
static propTypes = { static propTypes = {
@ -306,7 +308,7 @@ class StatusActionBar extends ImmutablePureComponent {
} }
} }
if (isStaff) { if ((this.context.identity.permissions & PERMISSION_MANAGE_USERS) === PERMISSION_MANAGE_USERS) {
menu.push(null); menu.push(null);
menu.push({ text: intl.formatMessage(messages.admin_account, { name: account.get('username') }), href: `/admin/accounts/${status.getIn(['account', 'id'])}` }); menu.push({ text: intl.formatMessage(messages.admin_account, { name: account.get('username') }), href: `/admin/accounts/${status.getIn(['account', 'id'])}` });
menu.push({ text: intl.formatMessage(messages.admin_status), href: `/admin/accounts/${status.getIn(['account', 'id'])}/statuses?id=${status.get('id')}` }); menu.push({ text: intl.formatMessage(messages.admin_status), href: `/admin/accounts/${status.getIn(['account', 'id'])}/statuses?id=${status.get('id')}` });

@ -26,6 +26,7 @@ const createIdentityContext = state => ({
signedIn: !!state.meta.me, signedIn: !!state.meta.me,
accountId: state.meta.me, accountId: state.meta.me,
accessToken: state.meta.access_token, accessToken: state.meta.access_token,
permissions: state.role.permissions,
}); });
export default class Mastodon extends React.PureComponent { export default class Mastodon extends React.PureComponent {

@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import Button from 'mastodon/components/button'; import Button from 'mastodon/components/button';
import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePureComponent from 'react-immutable-pure-component';
import { autoPlayGif, me, isStaff } from 'mastodon/initial_state'; import { autoPlayGif, me } from 'mastodon/initial_state';
import classNames from 'classnames'; import classNames from 'classnames';
import Icon from 'mastodon/components/icon'; import Icon from 'mastodon/components/icon';
import IconButton from 'mastodon/components/icon_button'; import IconButton from 'mastodon/components/icon_button';
@ -14,6 +14,7 @@ import ShortNumber from 'mastodon/components/short_number';
import { NavLink } from 'react-router-dom'; import { NavLink } from 'react-router-dom';
import DropdownMenuContainer from 'mastodon/containers/dropdown_menu_container'; import DropdownMenuContainer from 'mastodon/containers/dropdown_menu_container';
import AccountNoteContainer from '../containers/account_note_container'; import AccountNoteContainer from '../containers/account_note_container';
import { PERMISSION_MANAGE_USERS } from 'mastodon/permissions';
const messages = defineMessages({ const messages = defineMessages({
unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' }, unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },
@ -64,6 +65,10 @@ const dateFormatOptions = {
export default @injectIntl export default @injectIntl
class Header extends ImmutablePureComponent { class Header extends ImmutablePureComponent {
static contextTypes = {
identity: PropTypes.object,
};
static propTypes = { static propTypes = {
account: ImmutablePropTypes.map, account: ImmutablePropTypes.map,
identity_props: ImmutablePropTypes.list, identity_props: ImmutablePropTypes.list,
@ -241,7 +246,7 @@ class Header extends ImmutablePureComponent {
} }
} }
if (account.get('id') !== me && isStaff) { if (account.get('id') !== me && (this.context.identity.permissions & PERMISSION_MANAGE_USERS) === PERMISSION_MANAGE_USERS) {
menu.push(null); menu.push(null);
menu.push({ text: intl.formatMessage(messages.admin_account, { name: account.get('username') }), href: `/admin/accounts/${account.get('id')}` }); menu.push({ text: intl.formatMessage(messages.admin_account, { name: account.get('username') }), href: `/admin/accounts/${account.get('id')}` });
} }

@ -5,10 +5,14 @@ import { FormattedMessage } from 'react-intl';
import ClearColumnButton from './clear_column_button'; import ClearColumnButton from './clear_column_button';
import GrantPermissionButton from './grant_permission_button'; import GrantPermissionButton from './grant_permission_button';
import SettingToggle from './setting_toggle'; import SettingToggle from './setting_toggle';
import { isStaff } from 'mastodon/initial_state'; import { PERMISSION_MANAGE_USERS, PERMISSION_MANAGE_REPORTS } from 'mastodon/permissions';
export default class ColumnSettings extends React.PureComponent { export default class ColumnSettings extends React.PureComponent {
static contextTypes = {
identity: PropTypes.object,
};
static propTypes = { static propTypes = {
settings: ImmutablePropTypes.map.isRequired, settings: ImmutablePropTypes.map.isRequired,
pushSettings: ImmutablePropTypes.map.isRequired, pushSettings: ImmutablePropTypes.map.isRequired,
@ -166,7 +170,7 @@ export default class ColumnSettings extends React.PureComponent {
</div> </div>
</div> </div>
{isStaff && ( {(this.context.identity.permissions & PERMISSION_MANAGE_USERS === PERMISSION_MANAGE_USERS) && (
<div role='group' aria-labelledby='notifications-admin-sign-up'> <div role='group' aria-labelledby='notifications-admin-sign-up'>
<span id='notifications-status' className='column-settings__section'><FormattedMessage id='notifications.column_settings.admin.sign_up' defaultMessage='New sign-ups:' /></span> <span id='notifications-status' className='column-settings__section'><FormattedMessage id='notifications.column_settings.admin.sign_up' defaultMessage='New sign-ups:' /></span>
@ -179,7 +183,7 @@ export default class ColumnSettings extends React.PureComponent {
</div> </div>
)} )}
{isStaff && ( {(this.context.identity.permissions & PERMISSION_MANAGE_REPORTS === PERMISSION_MANAGE_REPORTS) && (
<div role='group' aria-labelledby='notifications-admin-report'> <div role='group' aria-labelledby='notifications-admin-report'>
<span id='notifications-status' className='column-settings__section'><FormattedMessage id='notifications.column_settings.admin.report' defaultMessage='New reports:' /></span> <span id='notifications-status' className='column-settings__section'><FormattedMessage id='notifications.column_settings.admin.report' defaultMessage='New reports:' /></span>

@ -5,8 +5,9 @@ import IconButton from '../../../components/icon_button';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import DropdownMenuContainer from '../../../containers/dropdown_menu_container'; import DropdownMenuContainer from '../../../containers/dropdown_menu_container';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import { me, isStaff } from '../../../initial_state'; import { me } from '../../../initial_state';
import classNames from 'classnames'; import classNames from 'classnames';
import { PERMISSION_MANAGE_USERS } from 'mastodon/permissions';
const messages = defineMessages({ const messages = defineMessages({
delete: { id: 'status.delete', defaultMessage: 'Delete' }, delete: { id: 'status.delete', defaultMessage: 'Delete' },
@ -50,6 +51,7 @@ class ActionBar extends React.PureComponent {
static contextTypes = { static contextTypes = {
router: PropTypes.object, router: PropTypes.object,
identity: PropTypes.object,
}; };
static propTypes = { static propTypes = {
@ -248,7 +250,7 @@ class ActionBar extends React.PureComponent {
} }
} }
if (isStaff) { if ((this.context.identity.permissions & PERMISSION_MANAGE_USERS) === PERMISSION_MANAGE_USERS) {
menu.push(null); menu.push(null);
menu.push({ text: intl.formatMessage(messages.admin_account, { name: status.getIn(['account', 'username']) }), href: `/admin/accounts/${status.getIn(['account', 'id'])}` }); menu.push({ text: intl.formatMessage(messages.admin_account, { name: status.getIn(['account', 'username']) }), href: `/admin/accounts/${status.getIn(['account', 'id'])}` });
menu.push({ text: intl.formatMessage(messages.admin_status), href: `/admin/accounts/${status.getIn(['account', 'id'])}/statuses?id=${status.get('id')}` }); menu.push({ text: intl.formatMessage(messages.admin_status), href: `/admin/accounts/${status.getIn(['account', 'id'])}/statuses?id=${status.get('id')}` });

@ -3,9 +3,10 @@ import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { FormattedMessage, defineMessages, injectIntl } from 'react-intl'; import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import { invitesEnabled, limitedFederationMode, version, repository, source_url, profile_directory as profileDirectory } from 'mastodon/initial_state'; import { limitedFederationMode, version, repository, source_url, profile_directory as profileDirectory } from 'mastodon/initial_state';
import { logOut } from 'mastodon/utils/log_out'; import { logOut } from 'mastodon/utils/log_out';
import { openModal } from 'mastodon/actions/modal'; import { openModal } from 'mastodon/actions/modal';
import { PERMISSION_INVITE_USERS } from 'mastodon/permissions';
const messages = defineMessages({ const messages = defineMessages({
logoutMessage: { id: 'confirmations.logout.message', defaultMessage: 'Are you sure you want to log out?' }, logoutMessage: { id: 'confirmations.logout.message', defaultMessage: 'Are you sure you want to log out?' },
@ -27,6 +28,10 @@ export default @injectIntl
@connect(null, mapDispatchToProps) @connect(null, mapDispatchToProps)
class LinkFooter extends React.PureComponent { class LinkFooter extends React.PureComponent {
static contextTypes = {
identity: PropTypes.object,
};
static propTypes = { static propTypes = {
withHotkeys: PropTypes.bool, withHotkeys: PropTypes.bool,
onLogout: PropTypes.func.isRequired, onLogout: PropTypes.func.isRequired,
@ -48,7 +53,7 @@ class LinkFooter extends React.PureComponent {
return ( return (
<div className='getting-started__footer'> <div className='getting-started__footer'>
<ul> <ul>
{invitesEnabled && <li><a href='/invites' target='_blank'><FormattedMessage id='getting_started.invite' defaultMessage='Invite people' /></a> · </li>} {((this.context.identity.permissions & PERMISSION_INVITE_USERS) === PERMISSION_INVITE_USERS) && <li><a href='/invites' target='_blank'><FormattedMessage id='getting_started.invite' defaultMessage='Invite people' /></a> · </li>}
{withHotkeys && <li><Link to='/keyboard-shortcuts'><FormattedMessage id='navigation_bar.keyboard_shortcuts' defaultMessage='Hotkeys' /></Link> · </li>} {withHotkeys && <li><Link to='/keyboard-shortcuts'><FormattedMessage id='navigation_bar.keyboard_shortcuts' defaultMessage='Hotkeys' /></Link> · </li>}
<li><a href='/auth/edit'><FormattedMessage id='getting_started.security' defaultMessage='Security' /></a> · </li> <li><a href='/auth/edit'><FormattedMessage id='getting_started.security' defaultMessage='Security' /></a> · </li>
{!limitedFederationMode && <li><a href='/about/more' target='_blank'><FormattedMessage id='navigation_bar.info' defaultMessage='About this server' /></a> · </li>} {!limitedFederationMode && <li><a href='/about/more' target='_blank'><FormattedMessage id='navigation_bar.info' defaultMessage='About this server' /></a> · </li>}

@ -13,14 +13,12 @@ export const deleteModal = getMeta('delete_modal');
export const me = getMeta('me'); export const me = getMeta('me');
export const searchEnabled = getMeta('search_enabled'); export const searchEnabled = getMeta('search_enabled');
export const maxChars = (initialState && initialState.max_toot_chars) || 500; export const maxChars = (initialState && initialState.max_toot_chars) || 500;
export const invitesEnabled = getMeta('invites_enabled');
export const limitedFederationMode = getMeta('limited_federation_mode'); export const limitedFederationMode = getMeta('limited_federation_mode');
export const repository = getMeta('repository'); export const repository = getMeta('repository');
export const source_url = getMeta('source_url'); export const source_url = getMeta('source_url');
export const version = getMeta('version'); export const version = getMeta('version');
export const mascot = getMeta('mascot'); export const mascot = getMeta('mascot');
export const profile_directory = getMeta('profile_directory'); export const profile_directory = getMeta('profile_directory');
export const isStaff = getMeta('is_staff');
export const forceSingleColumn = !getMeta('advanced_layout'); export const forceSingleColumn = !getMeta('advanced_layout');
export const useBlurhash = getMeta('use_blurhash'); export const useBlurhash = getMeta('use_blurhash');
export const usePendingItems = getMeta('use_pending_items'); export const usePendingItems = getMeta('use_pending_items');

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Preferences", "navigation_bar.preferences": "Preferences",
"navigation_bar.public_timeline": "Federated timeline", "navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security", "navigation_bar.security": "Security",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up": "{name} signed up",
"notification.favourite": "{name} favourited your status", "notification.favourite": "{name} favourited your status",
"notification.follow": "{name} followed you", "notification.follow": "{name} followed you",
@ -326,6 +327,7 @@
"notification.update": "{name} edited a post", "notification.update": "{name} edited a post",
"notifications.clear": "Clear notifications", "notifications.clear": "Clear notifications",
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "New sign-ups:",
"notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.alert": "Desktop notifications",
"notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.favourite": "Favourites:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
"report.unfollow": "Unfollow @{name}", "report.unfollow": "Unfollow @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "Search", "search.placeholder": "Search",
"search_popout.search_format": "Advanced search format", "search_popout.search_format": "Advanced search format",
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
@ -461,6 +468,7 @@
"status.embed": "Embed", "status.embed": "Embed",
"status.favourite": "Favourite", "status.favourite": "Favourite",
"status.filtered": "Filtered", "status.filtered": "Filtered",
"status.hide": "Hide toot",
"status.history.created": "{name} created {date}", "status.history.created": "{name} created {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "{name} edited {date}",
"status.load_more": "Load more", "status.load_more": "Load more",
@ -484,6 +492,7 @@
"status.report": "Report @{name}", "status.report": "Report @{name}",
"status.sensitive_warning": "Sensitive content", "status.sensitive_warning": "Sensitive content",
"status.share": "Share", "status.share": "Share",
"status.show_filter_reason": "Show anyway",
"status.show_less": "Show less", "status.show_less": "Show less",
"status.show_less_all": "Show less for all", "status.show_less_all": "Show less for all",
"status.show_more": "Show more", "status.show_more": "Show more",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "التفضيلات", "navigation_bar.preferences": "التفضيلات",
"navigation_bar.public_timeline": "الخيط العام الموحد", "navigation_bar.public_timeline": "الخيط العام الموحد",
"navigation_bar.security": "الأمان", "navigation_bar.security": "الأمان",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "أنشأ {name} حسابًا", "notification.admin.sign_up": "أنشأ {name} حسابًا",
"notification.favourite": "أُعجِب {name} بمنشورك", "notification.favourite": "أُعجِب {name} بمنشورك",
"notification.follow": "{name} يتابعك", "notification.follow": "{name} يتابعك",
@ -326,6 +327,7 @@
"notification.update": "عدّلَ {name} منشورًا", "notification.update": "عدّلَ {name} منشورًا",
"notifications.clear": "امسح الإخطارات", "notifications.clear": "امسح الإخطارات",
"notifications.clear_confirmation": "أمتأكد من أنك تود مسح جل الإخطارات الخاصة بك و المتلقاة إلى حد الآن ؟", "notifications.clear_confirmation": "أمتأكد من أنك تود مسح جل الإخطارات الخاصة بك و المتلقاة إلى حد الآن ؟",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "التسجيلات الجديدة:", "notifications.column_settings.admin.sign_up": "التسجيلات الجديدة:",
"notifications.column_settings.alert": "إشعارات سطح المكتب", "notifications.column_settings.alert": "إشعارات سطح المكتب",
"notifications.column_settings.favourite": "المُفَضَّلة:", "notifications.column_settings.favourite": "المُفَضَّلة:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "شُكرًا لَكَ على الإبلاغ، سَوفَ نَنظُرُ فِي هَذَا الأمر.", "report.thanks.title_actionable": "شُكرًا لَكَ على الإبلاغ، سَوفَ نَنظُرُ فِي هَذَا الأمر.",
"report.unfollow": "إلغاء متابعة @{name}", "report.unfollow": "إلغاء متابعة @{name}",
"report.unfollow_explanation": "أنت تتابع هذا الحساب، لإزالة مَنشوراته من تغذيَتِكَ الرئيسة ألغ متابعته.", "report.unfollow_explanation": "أنت تتابع هذا الحساب، لإزالة مَنشوراته من تغذيَتِكَ الرئيسة ألغ متابعته.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "ابحث", "search.placeholder": "ابحث",
"search_popout.search_format": "نمط البحث المتقدم", "search_popout.search_format": "نمط البحث المتقدم",
"search_popout.tips.full_text": "النص البسيط يقوم بعرض المنشورات التي كتبتها أو قمت بإرسالها أو ترقيتها أو تمت الإشارة إليك فيها من طرف آخرين ، بالإضافة إلى مطابقة أسماء المستخدمين وأسماء العرض وعلامات التصنيف.", "search_popout.tips.full_text": "النص البسيط يقوم بعرض المنشورات التي كتبتها أو قمت بإرسالها أو ترقيتها أو تمت الإشارة إليك فيها من طرف آخرين ، بالإضافة إلى مطابقة أسماء المستخدمين وأسماء العرض وعلامات التصنيف.",
@ -461,6 +468,7 @@
"status.embed": "إدماج", "status.embed": "إدماج",
"status.favourite": "أضف إلى المفضلة", "status.favourite": "أضف إلى المفضلة",
"status.filtered": "مُصفّى", "status.filtered": "مُصفّى",
"status.hide": "Hide toot",
"status.history.created": "أنشأه {name} {date}", "status.history.created": "أنشأه {name} {date}",
"status.history.edited": "عدله {name} {date}", "status.history.edited": "عدله {name} {date}",
"status.load_more": "حمّل المزيد", "status.load_more": "حمّل المزيد",
@ -484,6 +492,7 @@
"status.report": "ابلِغ عن @{name}", "status.report": "ابلِغ عن @{name}",
"status.sensitive_warning": "محتوى حساس", "status.sensitive_warning": "محتوى حساس",
"status.share": "مشاركة", "status.share": "مشاركة",
"status.show_filter_reason": "Show anyway",
"status.show_less": "اعرض أقلّ", "status.show_less": "اعرض أقلّ",
"status.show_less_all": "طي الكل", "status.show_less_all": "طي الكل",
"status.show_more": "أظهر المزيد", "status.show_more": "أظهر المزيد",

@ -33,7 +33,7 @@
"account.mute_notifications": "Mute notifications from @{name}", "account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted", "account.muted": "Muted",
"account.posts": "Barritos", "account.posts": "Barritos",
"account.posts_with_replies": "Barritos y rempuestes", "account.posts_with_replies": "Artículos y rempuestes",
"account.report": "Report @{name}", "account.report": "Report @{name}",
"account.requested": "Esperando pola aprobación. Calca pa encaboxar la solicitú de siguimientu", "account.requested": "Esperando pola aprobación. Calca pa encaboxar la solicitú de siguimientu",
"account.share": "Share @{name}'s profile", "account.share": "Share @{name}'s profile",
@ -314,6 +314,7 @@
"navigation_bar.preferences": "Preferencies", "navigation_bar.preferences": "Preferencies",
"navigation_bar.public_timeline": "Llinia temporal federada", "navigation_bar.public_timeline": "Llinia temporal federada",
"navigation_bar.security": "Seguranza", "navigation_bar.security": "Seguranza",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up": "{name} signed up",
"notification.favourite": "{name} favourited your status", "notification.favourite": "{name} favourited your status",
"notification.follow": "{name} siguióte", "notification.follow": "{name} siguióte",
@ -326,6 +327,7 @@
"notification.update": "{name} editó l'artículu", "notification.update": "{name} editó l'artículu",
"notifications.clear": "Llimpiar avisos", "notifications.clear": "Llimpiar avisos",
"notifications.clear_confirmation": "¿De xuru que quies llimpiar dafechu tolos avisos?", "notifications.clear_confirmation": "¿De xuru que quies llimpiar dafechu tolos avisos?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "New sign-ups:",
"notifications.column_settings.alert": "Avisos d'escritoriu", "notifications.column_settings.alert": "Avisos d'escritoriu",
"notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.favourite": "Favoritos:",
@ -413,14 +415,14 @@
"report.placeholder": "Comentarios adicionales", "report.placeholder": "Comentarios adicionales",
"report.reasons.dislike": "I don't like it", "report.reasons.dislike": "I don't like it",
"report.reasons.dislike_description": "It is not something you want to see", "report.reasons.dislike_description": "It is not something you want to see",
"report.reasons.other": "It's something else", "report.reasons.other": "Ye daqué más",
"report.reasons.other_description": "The issue does not fit into other categories", "report.reasons.other_description": "La incidencia nun s'axusta a les demás categoríes",
"report.reasons.spam": "It's spam", "report.reasons.spam": "Ye spam",
"report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
"report.reasons.violation": "Incumple les regles del sirvidor", "report.reasons.violation": "Incumple les regles del sirvidor",
"report.reasons.violation_description": "You are aware that it breaks specific rules", "report.reasons.violation_description": "You are aware that it breaks specific rules",
"report.rules.subtitle": "Select all that apply", "report.rules.subtitle": "Select all that apply",
"report.rules.title": "Which rules are being violated?", "report.rules.title": "¿Qué regles s'incumplen?",
"report.statuses.subtitle": "Select all that apply", "report.statuses.subtitle": "Select all that apply",
"report.statuses.title": "Are there any posts that back up this report?", "report.statuses.title": "Are there any posts that back up this report?",
"report.submit": "Unviar", "report.submit": "Unviar",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
"report.unfollow": "Unfollow @{name}", "report.unfollow": "Unfollow @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "Buscar", "search.placeholder": "Buscar",
"search_popout.search_format": "Formatu de gueta avanzada", "search_popout.search_format": "Formatu de gueta avanzada",
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
@ -461,6 +468,7 @@
"status.embed": "Empotrar", "status.embed": "Empotrar",
"status.favourite": "Favourite", "status.favourite": "Favourite",
"status.filtered": "Filtered", "status.filtered": "Filtered",
"status.hide": "Hide toot",
"status.history.created": "{name} created {date}", "status.history.created": "{name} created {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "{name} edited {date}",
"status.load_more": "Cargar más", "status.load_more": "Cargar más",
@ -484,6 +492,7 @@
"status.report": "Report @{name}", "status.report": "Report @{name}",
"status.sensitive_warning": "Conteníu sensible", "status.sensitive_warning": "Conteníu sensible",
"status.share": "Share", "status.share": "Share",
"status.show_filter_reason": "Show anyway",
"status.show_less": "Amosar menos", "status.show_less": "Amosar menos",
"status.show_less_all": "Amosar menos en too", "status.show_less_all": "Amosar menos en too",
"status.show_more": "Amosar más", "status.show_more": "Amosar más",
@ -509,7 +518,7 @@
"timeline_hint.resources.follows": "Follows", "timeline_hint.resources.follows": "Follows",
"timeline_hint.resources.statuses": "Older posts", "timeline_hint.resources.statuses": "Older posts",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking",
"trends.trending_now": "Trending now", "trends.trending_now": "En tendencia",
"ui.beforeunload": "El borrador va perdese si coles de Mastodon.", "ui.beforeunload": "El borrador va perdese si coles de Mastodon.",
"units.short.billion": "{count} B", "units.short.billion": "{count} B",
"units.short.million": "{count} M", "units.short.million": "{count} M",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Предпочитания", "navigation_bar.preferences": "Предпочитания",
"navigation_bar.public_timeline": "Публичен канал", "navigation_bar.public_timeline": "Публичен канал",
"navigation_bar.security": "Сигурност", "navigation_bar.security": "Сигурност",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up": "{name} signed up",
"notification.favourite": "{name} хареса твоята публикация", "notification.favourite": "{name} хареса твоята публикация",
"notification.follow": "{name} те последва", "notification.follow": "{name} те последва",
@ -326,6 +327,7 @@
"notification.update": "{name} edited a post", "notification.update": "{name} edited a post",
"notifications.clear": "Изчистване на известия", "notifications.clear": "Изчистване на известия",
"notifications.clear_confirmation": "Сигурни ли сте, че искате да изчистите окончателно всичките си известия?", "notifications.clear_confirmation": "Сигурни ли сте, че искате да изчистите окончателно всичките си известия?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "New sign-ups:",
"notifications.column_settings.alert": "Десктоп известия", "notifications.column_settings.alert": "Десктоп известия",
"notifications.column_settings.favourite": "Предпочитани:", "notifications.column_settings.favourite": "Предпочитани:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
"report.unfollow": "Unfollow @{name}", "report.unfollow": "Unfollow @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "Търсене", "search.placeholder": "Търсене",
"search_popout.search_format": "Формат за разширено търсене", "search_popout.search_format": "Формат за разширено търсене",
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
@ -461,6 +468,7 @@
"status.embed": "Вграждане", "status.embed": "Вграждане",
"status.favourite": "Предпочитани", "status.favourite": "Предпочитани",
"status.filtered": "Филтрирано", "status.filtered": "Филтрирано",
"status.hide": "Hide toot",
"status.history.created": "{name} created {date}", "status.history.created": "{name} created {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "{name} edited {date}",
"status.load_more": "Зареждане на още", "status.load_more": "Зареждане на още",
@ -484,6 +492,7 @@
"status.report": "Докладване на @{name}", "status.report": "Докладване на @{name}",
"status.sensitive_warning": "Деликатно съдържание", "status.sensitive_warning": "Деликатно съдържание",
"status.share": "Споделяне", "status.share": "Споделяне",
"status.show_filter_reason": "Show anyway",
"status.show_less": "Покажи по-малко", "status.show_less": "Покажи по-малко",
"status.show_less_all": "Покажи по-малко за всички", "status.show_less_all": "Покажи по-малко за всички",
"status.show_more": "Покажи повече", "status.show_more": "Покажи повече",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "পছন্দসমূহ", "navigation_bar.preferences": "পছন্দসমূহ",
"navigation_bar.public_timeline": "যুক্তবিশ্বের সময়রেখা", "navigation_bar.public_timeline": "যুক্তবিশ্বের সময়রেখা",
"navigation_bar.security": "নিরাপত্তা", "navigation_bar.security": "নিরাপত্তা",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up": "{name} signed up",
"notification.favourite": "{name} আপনার কার্যক্রম পছন্দ করেছেন", "notification.favourite": "{name} আপনার কার্যক্রম পছন্দ করেছেন",
"notification.follow": "{name} আপনাকে অনুসরণ করেছেন", "notification.follow": "{name} আপনাকে অনুসরণ করেছেন",
@ -326,6 +327,7 @@
"notification.update": "{name} edited a post", "notification.update": "{name} edited a post",
"notifications.clear": "প্রজ্ঞাপনগুলো মুছে ফেলতে", "notifications.clear": "প্রজ্ঞাপনগুলো মুছে ফেলতে",
"notifications.clear_confirmation": "আপনি কি নির্চিত প্রজ্ঞাপনগুলো মুছে ফেলতে চান ?", "notifications.clear_confirmation": "আপনি কি নির্চিত প্রজ্ঞাপনগুলো মুছে ফেলতে চান ?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "New sign-ups:",
"notifications.column_settings.alert": "কম্পিউটারে প্রজ্ঞাপনগুলি", "notifications.column_settings.alert": "কম্পিউটারে প্রজ্ঞাপনগুলি",
"notifications.column_settings.favourite": "পছন্দের:", "notifications.column_settings.favourite": "পছন্দের:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
"report.unfollow": "Unfollow @{name}", "report.unfollow": "Unfollow @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "অনুসন্ধান", "search.placeholder": "অনুসন্ধান",
"search_popout.search_format": "বিস্তারিতভাবে খোঁজার পদ্ধতি", "search_popout.search_format": "বিস্তারিতভাবে খোঁজার পদ্ধতি",
"search_popout.tips.full_text": "সাধারণ লেখা দিয়ে খুঁজলে বের হবে সেরকম আপনার লেখা, পছন্দের লেখা, সমর্থন করা লেখা, আপনাকে উল্লেখকরা কোনো লেখা, যা খুঁজছেন সেরকম কোনো ব্যবহারকারীর নাম বা কোনো হ্যাশট্যাগগুলো।", "search_popout.tips.full_text": "সাধারণ লেখা দিয়ে খুঁজলে বের হবে সেরকম আপনার লেখা, পছন্দের লেখা, সমর্থন করা লেখা, আপনাকে উল্লেখকরা কোনো লেখা, যা খুঁজছেন সেরকম কোনো ব্যবহারকারীর নাম বা কোনো হ্যাশট্যাগগুলো।",
@ -461,6 +468,7 @@
"status.embed": "এমবেড করতে", "status.embed": "এমবেড করতে",
"status.favourite": "পছন্দের করতে", "status.favourite": "পছন্দের করতে",
"status.filtered": "ছাঁকনিদিত", "status.filtered": "ছাঁকনিদিত",
"status.hide": "Hide toot",
"status.history.created": "{name} created {date}", "status.history.created": "{name} created {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "{name} edited {date}",
"status.load_more": "আরো দেখুন", "status.load_more": "আরো দেখুন",
@ -484,6 +492,7 @@
"status.report": "@{name} কে রিপোর্ট করতে", "status.report": "@{name} কে রিপোর্ট করতে",
"status.sensitive_warning": "সংবেদনশীল কিছু", "status.sensitive_warning": "সংবেদনশীল কিছু",
"status.share": "অন্যদের জানান", "status.share": "অন্যদের জানান",
"status.show_filter_reason": "Show anyway",
"status.show_less": "কম দেখতে", "status.show_less": "কম দেখতে",
"status.show_less_all": "সবগুলোতে কম দেখতে", "status.show_less_all": "সবগুলোতে কম দেখতে",
"status.show_more": "আরো দেখাতে", "status.show_more": "আরো দেখাতে",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Gwellvezioù", "navigation_bar.preferences": "Gwellvezioù",
"navigation_bar.public_timeline": "Red-amzer kevreet", "navigation_bar.public_timeline": "Red-amzer kevreet",
"navigation_bar.security": "Diogelroez", "navigation_bar.security": "Diogelroez",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up": "{name} signed up",
"notification.favourite": "{name} en/he deus lakaet ho toud en e/he muiañ-karet", "notification.favourite": "{name} en/he deus lakaet ho toud en e/he muiañ-karet",
"notification.follow": "heuliañ a ra {name} ac'hanoc'h", "notification.follow": "heuliañ a ra {name} ac'hanoc'h",
@ -326,6 +327,7 @@
"notification.update": "{name} edited a post", "notification.update": "{name} edited a post",
"notifications.clear": "Skarzhañ ar c'hemennoù", "notifications.clear": "Skarzhañ ar c'hemennoù",
"notifications.clear_confirmation": "Ha sur oc'h e fell deoc'h skarzhañ ho kemennoù penn-da-benn?", "notifications.clear_confirmation": "Ha sur oc'h e fell deoc'h skarzhañ ho kemennoù penn-da-benn?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "New sign-ups:",
"notifications.column_settings.alert": "Kemennoù war ar burev", "notifications.column_settings.alert": "Kemennoù war ar burev",
"notifications.column_settings.favourite": "Ar re vuiañ-karet:", "notifications.column_settings.favourite": "Ar re vuiañ-karet:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
"report.unfollow": "Unfollow @{name}", "report.unfollow": "Unfollow @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "Klask", "search.placeholder": "Klask",
"search_popout.search_format": "Framm klask araokaet", "search_popout.search_format": "Framm klask araokaet",
"search_popout.tips.full_text": "Testenn simpl a adkas toudoù skrivet ganeoc'h, merket ganeoc'h evel miuañ-karet, toudoù skignet, pe e-lec'h oc'h bet meneget, met ivez anvioù skrammañ, anvioù implijer ha gêrioù-klik hag a glot.", "search_popout.tips.full_text": "Testenn simpl a adkas toudoù skrivet ganeoc'h, merket ganeoc'h evel miuañ-karet, toudoù skignet, pe e-lec'h oc'h bet meneget, met ivez anvioù skrammañ, anvioù implijer ha gêrioù-klik hag a glot.",
@ -461,6 +468,7 @@
"status.embed": "Enframmañ", "status.embed": "Enframmañ",
"status.favourite": "Muiañ-karet", "status.favourite": "Muiañ-karet",
"status.filtered": "Silet", "status.filtered": "Silet",
"status.hide": "Hide toot",
"status.history.created": "{name} created {date}", "status.history.created": "{name} created {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "{name} edited {date}",
"status.load_more": "Kargañ muioc'h", "status.load_more": "Kargañ muioc'h",
@ -484,6 +492,7 @@
"status.report": "Disklêriañ @{name}", "status.report": "Disklêriañ @{name}",
"status.sensitive_warning": "Dalc'had kizidik", "status.sensitive_warning": "Dalc'had kizidik",
"status.share": "Rannañ", "status.share": "Rannañ",
"status.show_filter_reason": "Show anyway",
"status.show_less": "Diskouez nebeutoc'h", "status.show_less": "Diskouez nebeutoc'h",
"status.show_less_all": "Diskouez nebeutoc'h evit an holl", "status.show_less_all": "Diskouez nebeutoc'h evit an holl",
"status.show_more": "Diskouez muioc'h", "status.show_more": "Diskouez muioc'h",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Preferències", "navigation_bar.preferences": "Preferències",
"navigation_bar.public_timeline": "Línia de temps federada", "navigation_bar.public_timeline": "Línia de temps federada",
"navigation_bar.security": "Seguretat", "navigation_bar.security": "Seguretat",
"notification.admin.report": "{name} ha reportat {target}",
"notification.admin.sign_up": "{name} s'ha registrat", "notification.admin.sign_up": "{name} s'ha registrat",
"notification.favourite": "{name} ha afavorit la teva publicació", "notification.favourite": "{name} ha afavorit la teva publicació",
"notification.follow": "{name} et segueix", "notification.follow": "{name} et segueix",
@ -326,6 +327,7 @@
"notification.update": "{name} ha editat una publicació", "notification.update": "{name} ha editat una publicació",
"notifications.clear": "Esborra les notificacions", "notifications.clear": "Esborra les notificacions",
"notifications.clear_confirmation": "Segur que vols esborrar permanentment totes les teves notificacions?", "notifications.clear_confirmation": "Segur que vols esborrar permanentment totes les teves notificacions?",
"notifications.column_settings.admin.report": "Nous informes:",
"notifications.column_settings.admin.sign_up": "Nous registres:", "notifications.column_settings.admin.sign_up": "Nous registres:",
"notifications.column_settings.alert": "Notificacions d'escriptori", "notifications.column_settings.alert": "Notificacions d'escriptori",
"notifications.column_settings.favourite": "Preferits:", "notifications.column_settings.favourite": "Preferits:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Gràcies per denunciar-ho. Ho investigarem.", "report.thanks.title_actionable": "Gràcies per denunciar-ho. Ho investigarem.",
"report.unfollow": "Deixa de seguir @{name}", "report.unfollow": "Deixa de seguir @{name}",
"report.unfollow_explanation": "Estàs seguint aquest compte. Per no veure les seves publicacions a la teva línia de temps d'Inici, deixa de seguir-lo.", "report.unfollow_explanation": "Estàs seguint aquest compte. Per no veure les seves publicacions a la teva línia de temps d'Inici, deixa de seguir-lo.",
"report_notification.attached_statuses": "{count, plural, one {{count} publicació} other {{count} publicacions}} attached",
"report_notification.categories.other": "Altres",
"report_notification.categories.spam": "Contingut brossa",
"report_notification.categories.violation": "Violació de norma",
"report_notification.open": "Informe obert",
"search.placeholder": "Cerca", "search.placeholder": "Cerca",
"search_popout.search_format": "Format de cerca avançada", "search_popout.search_format": "Format de cerca avançada",
"search_popout.tips.full_text": "El text simple recupera publicacions que has escrit, marcat com a preferides, que has impulsat o on t'han esmentat, així com els usuaris, els noms d'usuaris i les etiquetes.", "search_popout.tips.full_text": "El text simple recupera publicacions que has escrit, marcat com a preferides, que has impulsat o on t'han esmentat, així com els usuaris, els noms d'usuaris i les etiquetes.",
@ -461,6 +468,7 @@
"status.embed": "Incrusta", "status.embed": "Incrusta",
"status.favourite": "Favorit", "status.favourite": "Favorit",
"status.filtered": "Filtrat", "status.filtered": "Filtrat",
"status.hide": "Amaga publicació",
"status.history.created": "{name} ha creat {date}", "status.history.created": "{name} ha creat {date}",
"status.history.edited": "{name} ha editat {date}", "status.history.edited": "{name} ha editat {date}",
"status.load_more": "Carregar-ne més", "status.load_more": "Carregar-ne més",
@ -484,6 +492,7 @@
"status.report": "Denuncia @{name}", "status.report": "Denuncia @{name}",
"status.sensitive_warning": "Contingut sensible", "status.sensitive_warning": "Contingut sensible",
"status.share": "Comparteix", "status.share": "Comparteix",
"status.show_filter_reason": "Mostra igualment",
"status.show_less": "Mostrar-ne menys", "status.show_less": "Mostrar-ne menys",
"status.show_less_all": "Mostrar-ne menys per a tot", "status.show_less_all": "Mostrar-ne menys per a tot",
"status.show_more": "Mostrar-ne més", "status.show_more": "Mostrar-ne més",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "پەسەندەکان", "navigation_bar.preferences": "پەسەندەکان",
"navigation_bar.public_timeline": "نووسراوەکانی هەمووشوێنێک", "navigation_bar.public_timeline": "نووسراوەکانی هەمووشوێنێک",
"navigation_bar.security": "ئاسایش", "navigation_bar.security": "ئاسایش",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} تۆمارکرا", "notification.admin.sign_up": "{name} تۆمارکرا",
"notification.favourite": "{name} نووسراوەکەتی پەسەند کرد", "notification.favourite": "{name} نووسراوەکەتی پەسەند کرد",
"notification.follow": "{name} دوای تۆ کەوت", "notification.follow": "{name} دوای تۆ کەوت",
@ -326,6 +327,7 @@
"notification.update": "{name} پۆستێکی دەستکاریکرد", "notification.update": "{name} پۆستێکی دەستکاریکرد",
"notifications.clear": "ئاگانامەکان بسڕیەوە", "notifications.clear": "ئاگانامەکان بسڕیەوە",
"notifications.clear_confirmation": "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی هەموو ئاگانامەکانت بسڕیتەوە?", "notifications.clear_confirmation": "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی هەموو ئاگانامەکانت بسڕیتەوە?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "چوونەژوورەوەی نوێ:", "notifications.column_settings.admin.sign_up": "چوونەژوورەوەی نوێ:",
"notifications.column_settings.alert": "ئاگانامەکانی پیشانگەرر ڕومێزی", "notifications.column_settings.alert": "ئاگانامەکانی پیشانگەرر ڕومێزی",
"notifications.column_settings.favourite": "دڵخوازترین:", "notifications.column_settings.favourite": "دڵخوازترین:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "سوپاس بۆ ڕاپۆرتکردن، ئێمە سەیری ئەم بابەتە دەکەین.", "report.thanks.title_actionable": "سوپاس بۆ ڕاپۆرتکردن، ئێمە سەیری ئەم بابەتە دەکەین.",
"report.unfollow": "بەدوادانەچوو@{name}", "report.unfollow": "بەدوادانەچوو@{name}",
"report.unfollow_explanation": "تۆ شوێنکەوتووی ئەم هەژماررەی دەکەیت. بۆ ئەوەی چیتر نووسراوەکانیان لە هۆم فیدی خۆت نەبینی، بەدوایان مەچۆ.", "report.unfollow_explanation": "تۆ شوێنکەوتووی ئەم هەژماررەی دەکەیت. بۆ ئەوەی چیتر نووسراوەکانیان لە هۆم فیدی خۆت نەبینی، بەدوایان مەچۆ.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "گەڕان", "search.placeholder": "گەڕان",
"search_popout.search_format": "شێوەی گەڕانی پێشکەوتوو", "search_popout.search_format": "شێوەی گەڕانی پێشکەوتوو",
"search_popout.tips.full_text": "گەڕانێکی دەقی سادە دەتوانێت توتەکانی ئێوە کە، نووسیوتانە،پەسەنتان کردووە، دووبارەتانکردووە، یان ئەو توتانە کە باسی ئێوەی تێدا کراوە پەیدا دەکا. هەروەها ناوی بەکارهێنەران، ناوی پیشاندراو و هەشتەگەکانیش لە خۆ دەگرێت.", "search_popout.tips.full_text": "گەڕانێکی دەقی سادە دەتوانێت توتەکانی ئێوە کە، نووسیوتانە،پەسەنتان کردووە، دووبارەتانکردووە، یان ئەو توتانە کە باسی ئێوەی تێدا کراوە پەیدا دەکا. هەروەها ناوی بەکارهێنەران، ناوی پیشاندراو و هەشتەگەکانیش لە خۆ دەگرێت.",
@ -461,6 +468,7 @@
"status.embed": "نیشتەجێ بکە", "status.embed": "نیشتەجێ بکە",
"status.favourite": "دڵخواز", "status.favourite": "دڵخواز",
"status.filtered": "پاڵاوتن", "status.filtered": "پاڵاوتن",
"status.hide": "Hide toot",
"status.history.created": "{name} دروستکراوە لە{date}", "status.history.created": "{name} دروستکراوە لە{date}",
"status.history.edited": "{name} دروستکاریکراوە لە{date}", "status.history.edited": "{name} دروستکاریکراوە لە{date}",
"status.load_more": "زیاتر بار بکە", "status.load_more": "زیاتر بار بکە",
@ -484,6 +492,7 @@
"status.report": "گوزارشت @{name}", "status.report": "گوزارشت @{name}",
"status.sensitive_warning": "ناوەڕۆکی هەستیار", "status.sensitive_warning": "ناوەڕۆکی هەستیار",
"status.share": "هاوبەشی بکە", "status.share": "هاوبەشی بکە",
"status.show_filter_reason": "Show anyway",
"status.show_less": "کەمتر نیشان بدە", "status.show_less": "کەمتر نیشان بدە",
"status.show_less_all": "هەمووی بچووک بکەوە", "status.show_less_all": "هەمووی بچووک بکەوە",
"status.show_more": "زیاتر نیشان بدە", "status.show_more": "زیاتر نیشان بدە",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Preferenze", "navigation_bar.preferences": "Preferenze",
"navigation_bar.public_timeline": "Linea pubblica glubale", "navigation_bar.public_timeline": "Linea pubblica glubale",
"navigation_bar.security": "Sicurità", "navigation_bar.security": "Sicurità",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up": "{name} signed up",
"notification.favourite": "{name} hà aghjuntu u vostru statutu à i so favuriti", "notification.favourite": "{name} hà aghjuntu u vostru statutu à i so favuriti",
"notification.follow": "{name} v'hà seguitatu", "notification.follow": "{name} v'hà seguitatu",
@ -326,6 +327,7 @@
"notification.update": "{name} edited a post", "notification.update": "{name} edited a post",
"notifications.clear": "Purgà e nutificazione", "notifications.clear": "Purgà e nutificazione",
"notifications.clear_confirmation": "Site sicuru·a che vulete toglie tutte ste nutificazione?", "notifications.clear_confirmation": "Site sicuru·a che vulete toglie tutte ste nutificazione?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "New sign-ups:",
"notifications.column_settings.alert": "Nutificazione nant'à l'urdinatore", "notifications.column_settings.alert": "Nutificazione nant'à l'urdinatore",
"notifications.column_settings.favourite": "Favuriti:", "notifications.column_settings.favourite": "Favuriti:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
"report.unfollow": "Unfollow @{name}", "report.unfollow": "Unfollow @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "Circà", "search.placeholder": "Circà",
"search_popout.search_format": "Ricerca avanzata", "search_popout.search_format": "Ricerca avanzata",
"search_popout.tips.full_text": "I testi simplici rimandanu i statuti ch'avete scritti, aghjunti à i vostri favuriti, spartuti o induve quelli site mintuvatu·a, è ancu i cugnomi, nomi pubblichi è hashtag chì currispondenu.", "search_popout.tips.full_text": "I testi simplici rimandanu i statuti ch'avete scritti, aghjunti à i vostri favuriti, spartuti o induve quelli site mintuvatu·a, è ancu i cugnomi, nomi pubblichi è hashtag chì currispondenu.",
@ -461,6 +468,7 @@
"status.embed": "Integrà", "status.embed": "Integrà",
"status.favourite": "Aghjunghje à i favuriti", "status.favourite": "Aghjunghje à i favuriti",
"status.filtered": "Filtratu", "status.filtered": "Filtratu",
"status.hide": "Hide toot",
"status.history.created": "{name} created {date}", "status.history.created": "{name} created {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "{name} edited {date}",
"status.load_more": "Vede di più", "status.load_more": "Vede di più",
@ -484,6 +492,7 @@
"status.report": "Palisà @{name}", "status.report": "Palisà @{name}",
"status.sensitive_warning": "Cuntinutu sensibile", "status.sensitive_warning": "Cuntinutu sensibile",
"status.share": "Sparte", "status.share": "Sparte",
"status.show_filter_reason": "Show anyway",
"status.show_less": "Ripiegà", "status.show_less": "Ripiegà",
"status.show_less_all": "Ripiegà tuttu", "status.show_less_all": "Ripiegà tuttu",
"status.show_more": "Slibrà", "status.show_more": "Slibrà",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Předvolby", "navigation_bar.preferences": "Předvolby",
"navigation_bar.public_timeline": "Federovaná časová osa", "navigation_bar.public_timeline": "Federovaná časová osa",
"navigation_bar.security": "Zabezpečení", "navigation_bar.security": "Zabezpečení",
"notification.admin.report": "Uživatel {name} nahlásil {target}",
"notification.admin.sign_up": "Uživatel {name} se zaregistroval", "notification.admin.sign_up": "Uživatel {name} se zaregistroval",
"notification.favourite": "Uživatel {name} si oblíbil váš příspěvek", "notification.favourite": "Uživatel {name} si oblíbil váš příspěvek",
"notification.follow": "Uživatel {name} vás začal sledovat", "notification.follow": "Uživatel {name} vás začal sledovat",
@ -326,6 +327,7 @@
"notification.update": "Uživatel {name} upravil příspěvek", "notification.update": "Uživatel {name} upravil příspěvek",
"notifications.clear": "Vymazat oznámení", "notifications.clear": "Vymazat oznámení",
"notifications.clear_confirmation": "Opravdu chcete trvale smazat všechna vaše oznámení?", "notifications.clear_confirmation": "Opravdu chcete trvale smazat všechna vaše oznámení?",
"notifications.column_settings.admin.report": "Nová hlášení:",
"notifications.column_settings.admin.sign_up": "Nové registrace:", "notifications.column_settings.admin.sign_up": "Nové registrace:",
"notifications.column_settings.alert": "Oznámení na počítači", "notifications.column_settings.alert": "Oznámení na počítači",
"notifications.column_settings.favourite": "Oblíbení:", "notifications.column_settings.favourite": "Oblíbení:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Děkujeme za nahlášení, podíváme se na to.", "report.thanks.title_actionable": "Děkujeme za nahlášení, podíváme se na to.",
"report.unfollow": "Přestat sledovat @{name}", "report.unfollow": "Přestat sledovat @{name}",
"report.unfollow_explanation": "Tento účet sledujete. Abyste už neviděli jejich příspěvky ve své domácí časové ose, přestaňte je sledovat.", "report.unfollow_explanation": "Tento účet sledujete. Abyste už neviděli jejich příspěvky ve své domácí časové ose, přestaňte je sledovat.",
"report_notification.attached_statuses": "{count, plural, one {{count} připojený příspěvek} few {{count} připojené příspěvky} many {{count} připojených příspěvků} other {{count} připojených příspěvků}}",
"report_notification.categories.other": "Ostatní",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Porušení pravidla",
"report_notification.open": "Otevřít hlášení",
"search.placeholder": "Hledat", "search.placeholder": "Hledat",
"search_popout.search_format": "Pokročilé hledání", "search_popout.search_format": "Pokročilé hledání",
"search_popout.tips.full_text": "Jednoduchý text vrací příspěvky, které jste napsali, oblíbili si, boostnuli, nebo vás v nich někdo zmínil, a také odpovídající přezdívky, zobrazovaná jména a hashtagy.", "search_popout.tips.full_text": "Jednoduchý text vrací příspěvky, které jste napsali, oblíbili si, boostnuli, nebo vás v nich někdo zmínil, a také odpovídající přezdívky, zobrazovaná jména a hashtagy.",
@ -461,6 +468,7 @@
"status.embed": "Vložit na web", "status.embed": "Vložit na web",
"status.favourite": "Oblíbit", "status.favourite": "Oblíbit",
"status.filtered": "Filtrováno", "status.filtered": "Filtrováno",
"status.hide": "Skrýt příspěvek",
"status.history.created": "Uživatel {name} vytvořil {date}", "status.history.created": "Uživatel {name} vytvořil {date}",
"status.history.edited": "Uživatel {name} upravil {date}", "status.history.edited": "Uživatel {name} upravil {date}",
"status.load_more": "Zobrazit více", "status.load_more": "Zobrazit více",
@ -484,6 +492,7 @@
"status.report": "Nahlásit @{name}", "status.report": "Nahlásit @{name}",
"status.sensitive_warning": "Citlivý obsah", "status.sensitive_warning": "Citlivý obsah",
"status.share": "Sdílet", "status.share": "Sdílet",
"status.show_filter_reason": "Přesto zobrazit",
"status.show_less": "Zobrazit méně", "status.show_less": "Zobrazit méně",
"status.show_less_all": "Zobrazit méně pro všechny", "status.show_less_all": "Zobrazit méně pro všechny",
"status.show_more": "Zobrazit více", "status.show_more": "Zobrazit více",

@ -92,10 +92,10 @@
"community.column_settings.local_only": "Lleol yn unig", "community.column_settings.local_only": "Lleol yn unig",
"community.column_settings.media_only": "Cyfryngau yn unig", "community.column_settings.media_only": "Cyfryngau yn unig",
"community.column_settings.remote_only": "Anghysbell yn unig", "community.column_settings.remote_only": "Anghysbell yn unig",
"compose.language.change": "Change language", "compose.language.change": "Newid iaith",
"compose.language.search": "Search languages...", "compose.language.search": "Chwilio ieithoedd...",
"compose_form.direct_message_warning_learn_more": "Dysgu mwy", "compose_form.direct_message_warning_learn_more": "Dysgu mwy",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.encryption_warning": "Dyw postiadau ar Mastodon ddim wedi'u hamgryptio o ben i ben. Peidiwch â rhannu unrhyw wybodaeth sensitif dros Mastodon.",
"compose_form.hashtag_warning": "Ni fydd y post hwn wedi ei restru o dan unrhyw hashnod gan ei fod heb ei restru. Dim ond postiadau cyhoeddus gellid chwilio amdanynt drwy hashnod.", "compose_form.hashtag_warning": "Ni fydd y post hwn wedi ei restru o dan unrhyw hashnod gan ei fod heb ei restru. Dim ond postiadau cyhoeddus gellid chwilio amdanynt drwy hashnod.",
"compose_form.lock_disclaimer": "Nid yw eich cyfri wedi'i {locked}. Gall unrhyw un eich dilyn i weld eich postiadau dilynwyr-yn-unig.", "compose_form.lock_disclaimer": "Nid yw eich cyfri wedi'i {locked}. Gall unrhyw un eich dilyn i weld eich postiadau dilynwyr-yn-unig.",
"compose_form.lock_disclaimer.lock": "wedi ei gloi", "compose_form.lock_disclaimer.lock": "wedi ei gloi",
@ -106,7 +106,7 @@
"compose_form.poll.remove_option": "Tynnu'r dewisiad", "compose_form.poll.remove_option": "Tynnu'r dewisiad",
"compose_form.poll.switch_to_multiple": "Newid pleidlais i adael mwy nag un dewis", "compose_form.poll.switch_to_multiple": "Newid pleidlais i adael mwy nag un dewis",
"compose_form.poll.switch_to_single": "Newid pleidlais i gyfyngu i un dewis", "compose_form.poll.switch_to_single": "Newid pleidlais i gyfyngu i un dewis",
"compose_form.publish": "Publish", "compose_form.publish": "Cyhoeddi",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Cadw newidiadau", "compose_form.save_changes": "Cadw newidiadau",
"compose_form.sensitive.hide": "Marcio cyfryngau fel eu bod yn sensitif", "compose_form.sensitive.hide": "Marcio cyfryngau fel eu bod yn sensitif",
@ -149,7 +149,7 @@
"embed.instructions": "Gosodwch y post hwn ar eich gwefan drwy gopïo'r côd isod.", "embed.instructions": "Gosodwch y post hwn ar eich gwefan drwy gopïo'r côd isod.",
"embed.preview": "Dyma sut olwg fydd arno:", "embed.preview": "Dyma sut olwg fydd arno:",
"emoji_button.activity": "Gweithgarwch", "emoji_button.activity": "Gweithgarwch",
"emoji_button.clear": "Clear", "emoji_button.clear": "Clir",
"emoji_button.custom": "Unigryw", "emoji_button.custom": "Unigryw",
"emoji_button.flags": "Baneri", "emoji_button.flags": "Baneri",
"emoji_button.food": "Bwyd a Diod", "emoji_button.food": "Bwyd a Diod",
@ -314,6 +314,7 @@
"navigation_bar.preferences": "Dewisiadau", "navigation_bar.preferences": "Dewisiadau",
"navigation_bar.public_timeline": "Ffrwd y ffederasiwn", "navigation_bar.public_timeline": "Ffrwd y ffederasiwn",
"navigation_bar.security": "Diogelwch", "navigation_bar.security": "Diogelwch",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "Cofrestrodd {name}", "notification.admin.sign_up": "Cofrestrodd {name}",
"notification.favourite": "Hoffodd {name} eich post", "notification.favourite": "Hoffodd {name} eich post",
"notification.follow": "Dilynodd {name} chi", "notification.follow": "Dilynodd {name} chi",
@ -326,6 +327,7 @@
"notification.update": "Golygodd {name} bost", "notification.update": "Golygodd {name} bost",
"notifications.clear": "Clirio hysbysiadau", "notifications.clear": "Clirio hysbysiadau",
"notifications.clear_confirmation": "Ydych chi'n sicr eich bod am glirio'ch holl hysbysiadau am byth?", "notifications.clear_confirmation": "Ydych chi'n sicr eich bod am glirio'ch holl hysbysiadau am byth?",
"notifications.column_settings.admin.report": "Adroddiadau newydd:",
"notifications.column_settings.admin.sign_up": "Cofrestriadau newydd:", "notifications.column_settings.admin.sign_up": "Cofrestriadau newydd:",
"notifications.column_settings.alert": "Hysbysiadau bwrdd gwaith", "notifications.column_settings.alert": "Hysbysiadau bwrdd gwaith",
"notifications.column_settings.favourite": "Ffefrynnau:", "notifications.column_settings.favourite": "Ffefrynnau:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Diolch am adrodd, byddwn yn ymchwilio i hyn.", "report.thanks.title_actionable": "Diolch am adrodd, byddwn yn ymchwilio i hyn.",
"report.unfollow": "Dad-ddilyn @{name}", "report.unfollow": "Dad-ddilyn @{name}",
"report.unfollow_explanation": "Rydych chi'n dilyn y cyfrif hwn. I beidio â gweld eu postiadau yn eich porthiant cartref mwyach, dad-ddilynwch nhw.", "report.unfollow_explanation": "Rydych chi'n dilyn y cyfrif hwn. I beidio â gweld eu postiadau yn eich porthiant cartref mwyach, dad-ddilynwch nhw.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Arall",
"report_notification.categories.spam": "Sbam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "Chwilio", "search.placeholder": "Chwilio",
"search_popout.search_format": "Fformat chwilio uwch", "search_popout.search_format": "Fformat chwilio uwch",
"search_popout.tips.full_text": "Mae testun syml yn dychwelyd postiadau yr ydych wedi ysgrifennu, hoffi, wedi'u hybio, neu wedi'ch crybwyll ynddynt, ynghyd a chyfateb a enwau defnyddwyr, enwau arddangos ac hashnodau.", "search_popout.tips.full_text": "Mae testun syml yn dychwelyd postiadau yr ydych wedi ysgrifennu, hoffi, wedi'u hybio, neu wedi'ch crybwyll ynddynt, ynghyd a chyfateb a enwau defnyddwyr, enwau arddangos ac hashnodau.",
@ -461,6 +468,7 @@
"status.embed": "Plannu", "status.embed": "Plannu",
"status.favourite": "Hoffi", "status.favourite": "Hoffi",
"status.filtered": "Wedi'i hidlo", "status.filtered": "Wedi'i hidlo",
"status.hide": "Hide toot",
"status.history.created": "{name} greuodd {date}", "status.history.created": "{name} greuodd {date}",
"status.history.edited": "{name} olygodd {date}", "status.history.edited": "{name} olygodd {date}",
"status.load_more": "Llwythwch mwy", "status.load_more": "Llwythwch mwy",
@ -484,6 +492,7 @@
"status.report": "Adrodd @{name}", "status.report": "Adrodd @{name}",
"status.sensitive_warning": "Cynnwys sensitif", "status.sensitive_warning": "Cynnwys sensitif",
"status.share": "Rhannu", "status.share": "Rhannu",
"status.show_filter_reason": "Show anyway",
"status.show_less": "Dangos llai", "status.show_less": "Dangos llai",
"status.show_less_all": "Dangos llai i bawb", "status.show_less_all": "Dangos llai i bawb",
"status.show_more": "Dangos mwy", "status.show_more": "Dangos mwy",

@ -92,8 +92,8 @@
"community.column_settings.local_only": "Kun lokalt", "community.column_settings.local_only": "Kun lokalt",
"community.column_settings.media_only": "Kun medier", "community.column_settings.media_only": "Kun medier",
"community.column_settings.remote_only": "Kun udefra", "community.column_settings.remote_only": "Kun udefra",
"compose.language.change": "Change language", "compose.language.change": "Skift sprog",
"compose.language.search": "Search languages...", "compose.language.search": "Søg efter sprog...",
"compose_form.direct_message_warning_learn_more": "Få mere at vide", "compose_form.direct_message_warning_learn_more": "Få mere at vide",
"compose_form.encryption_warning": "Indlæg på Mastodon er ikke ende-til-ende krypteret. Del derfor ikke sensitiv information via Mastodon.", "compose_form.encryption_warning": "Indlæg på Mastodon er ikke ende-til-ende krypteret. Del derfor ikke sensitiv information via Mastodon.",
"compose_form.hashtag_warning": "Da indlægget ikke er offentligt, vises det ikke under noget hashtag, idet kun offentlige indlæg kan søges via hashtags.", "compose_form.hashtag_warning": "Da indlægget ikke er offentligt, vises det ikke under noget hashtag, idet kun offentlige indlæg kan søges via hashtags.",
@ -149,7 +149,7 @@
"embed.instructions": "Indlejr dette indlæg på dit websted ved at kopiere nedenstående kode.", "embed.instructions": "Indlejr dette indlæg på dit websted ved at kopiere nedenstående kode.",
"embed.preview": "Sådan kommer det til at se ud:", "embed.preview": "Sådan kommer det til at se ud:",
"emoji_button.activity": "Aktivitet", "emoji_button.activity": "Aktivitet",
"emoji_button.clear": "Clear", "emoji_button.clear": "Ryd",
"emoji_button.custom": "Tilpasset", "emoji_button.custom": "Tilpasset",
"emoji_button.flags": "Flag", "emoji_button.flags": "Flag",
"emoji_button.food": "Mad og drikke", "emoji_button.food": "Mad og drikke",
@ -314,6 +314,7 @@
"navigation_bar.preferences": "Præferencer", "navigation_bar.preferences": "Præferencer",
"navigation_bar.public_timeline": "Fælles tidslinje", "navigation_bar.public_timeline": "Fælles tidslinje",
"navigation_bar.security": "Sikkerhed", "navigation_bar.security": "Sikkerhed",
"notification.admin.report": "{name} anmeldte {target}",
"notification.admin.sign_up": "{name} tilmeldte sig", "notification.admin.sign_up": "{name} tilmeldte sig",
"notification.favourite": "{name} favoritmarkerede dit indlæg", "notification.favourite": "{name} favoritmarkerede dit indlæg",
"notification.follow": "{name} begyndte at følge dig", "notification.follow": "{name} begyndte at følge dig",
@ -326,6 +327,7 @@
"notification.update": "{name} redigerede et indlæg", "notification.update": "{name} redigerede et indlæg",
"notifications.clear": "Ryd notifikationer", "notifications.clear": "Ryd notifikationer",
"notifications.clear_confirmation": "Sikker på, at du vil rydde alle dine notifikationer permanent?", "notifications.clear_confirmation": "Sikker på, at du vil rydde alle dine notifikationer permanent?",
"notifications.column_settings.admin.report": "Nye anmeldelser:",
"notifications.column_settings.admin.sign_up": "Nye tilmeldinger:", "notifications.column_settings.admin.sign_up": "Nye tilmeldinger:",
"notifications.column_settings.alert": "Computernotifikationer", "notifications.column_settings.alert": "Computernotifikationer",
"notifications.column_settings.favourite": "Favoritter:", "notifications.column_settings.favourite": "Favoritter:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Tak for anmeldelsen, der vil blive set nærmere på dette.", "report.thanks.title_actionable": "Tak for anmeldelsen, der vil blive set nærmere på dette.",
"report.unfollow": "Følg ikke længere @{name}", "report.unfollow": "Følg ikke længere @{name}",
"report.unfollow_explanation": "Denne konto følges. For at ophøre med at se vedkommendes indlæg på hjemmetidslinjen, vælg Følg ikke længere.", "report.unfollow_explanation": "Denne konto følges. For at ophøre med at se vedkommendes indlæg på hjemmetidslinjen, vælg Følg ikke længere.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} poster}} vedhæftet",
"report_notification.categories.other": "Andre",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Regelovertrædelse",
"report_notification.open": "Åbn anmeldelse",
"search.placeholder": "Søg", "search.placeholder": "Søg",
"search_popout.search_format": "Avanceret søgeformat", "search_popout.search_format": "Avanceret søgeformat",
"search_popout.tips.full_text": "Simpel tekst returnerer indlæg, du har skrevet, favoritmarkeret, boostet eller som er nævnt i/matcher bruger- og profilnavne samt hashtags.", "search_popout.tips.full_text": "Simpel tekst returnerer indlæg, du har skrevet, favoritmarkeret, boostet eller som er nævnt i/matcher bruger- og profilnavne samt hashtags.",
@ -461,6 +468,7 @@
"status.embed": "Indlejr", "status.embed": "Indlejr",
"status.favourite": "Favorit", "status.favourite": "Favorit",
"status.filtered": "Filtreret", "status.filtered": "Filtreret",
"status.hide": "Skjul indlæg",
"status.history.created": "{name} oprettet {date}", "status.history.created": "{name} oprettet {date}",
"status.history.edited": "{name} redigeret {date}", "status.history.edited": "{name} redigeret {date}",
"status.load_more": "Indlæs mere", "status.load_more": "Indlæs mere",
@ -484,6 +492,7 @@
"status.report": "Anmeld @{name}", "status.report": "Anmeld @{name}",
"status.sensitive_warning": "Følsomt indhold", "status.sensitive_warning": "Følsomt indhold",
"status.share": "Del", "status.share": "Del",
"status.show_filter_reason": "Vis alligevel",
"status.show_less": "Vis mindre", "status.show_less": "Vis mindre",
"status.show_less_all": "Vis mindre for alle", "status.show_less_all": "Vis mindre for alle",
"status.show_more": "Vis mere", "status.show_more": "Vis mere",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Einstellungen", "navigation_bar.preferences": "Einstellungen",
"navigation_bar.public_timeline": "Föderierte Zeitleiste", "navigation_bar.public_timeline": "Föderierte Zeitleiste",
"navigation_bar.security": "Sicherheit", "navigation_bar.security": "Sicherheit",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} hat sich registriert", "notification.admin.sign_up": "{name} hat sich registriert",
"notification.favourite": "{name} hat deinen Beitrag favorisiert", "notification.favourite": "{name} hat deinen Beitrag favorisiert",
"notification.follow": "{name} folgt dir", "notification.follow": "{name} folgt dir",
@ -326,6 +327,7 @@
"notification.update": "{name} bearbeitete einen Beitrag", "notification.update": "{name} bearbeitete einen Beitrag",
"notifications.clear": "Mitteilungen löschen", "notifications.clear": "Mitteilungen löschen",
"notifications.clear_confirmation": "Bist du dir sicher, dass du alle Mitteilungen löschen möchtest?", "notifications.clear_confirmation": "Bist du dir sicher, dass du alle Mitteilungen löschen möchtest?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "Neue Anmeldungen:", "notifications.column_settings.admin.sign_up": "Neue Anmeldungen:",
"notifications.column_settings.alert": "Desktop-Benachrichtigungen", "notifications.column_settings.alert": "Desktop-Benachrichtigungen",
"notifications.column_settings.favourite": "Favorisierungen:", "notifications.column_settings.favourite": "Favorisierungen:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Vielen Dank für die Meldung, wir werden uns das ansehen.", "report.thanks.title_actionable": "Vielen Dank für die Meldung, wir werden uns das ansehen.",
"report.unfollow": "@{name} entfolgen", "report.unfollow": "@{name} entfolgen",
"report.unfollow_explanation": "Du folgst diesem Konto. Um die Beiträge nicht mehr auf deiner Startseite zu sehen, entfolge dem Konto.", "report.unfollow_explanation": "Du folgst diesem Konto. Um die Beiträge nicht mehr auf deiner Startseite zu sehen, entfolge dem Konto.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "Suche", "search.placeholder": "Suche",
"search_popout.search_format": "Fortgeschrittenes Suchformat", "search_popout.search_format": "Fortgeschrittenes Suchformat",
"search_popout.tips.full_text": "Einfache Texteingabe gibt Beiträge, die du geschrieben, favorisiert und geteilt hast zurück. Außerdem auch Beiträge in denen du erwähnt wurdest, aber auch passende Nutzernamen, Anzeigenamen oder Hashtags.", "search_popout.tips.full_text": "Einfache Texteingabe gibt Beiträge, die du geschrieben, favorisiert und geteilt hast zurück. Außerdem auch Beiträge in denen du erwähnt wurdest, aber auch passende Nutzernamen, Anzeigenamen oder Hashtags.",
@ -461,6 +468,7 @@
"status.embed": "Einbetten", "status.embed": "Einbetten",
"status.favourite": "Favorisieren", "status.favourite": "Favorisieren",
"status.filtered": "Gefiltert", "status.filtered": "Gefiltert",
"status.hide": "Hide toot",
"status.history.created": "{name} erstellte {date}", "status.history.created": "{name} erstellte {date}",
"status.history.edited": "{name} bearbeitete {date}", "status.history.edited": "{name} bearbeitete {date}",
"status.load_more": "Weitere laden", "status.load_more": "Weitere laden",
@ -484,6 +492,7 @@
"status.report": "@{name} melden", "status.report": "@{name} melden",
"status.sensitive_warning": "NSFW", "status.sensitive_warning": "NSFW",
"status.share": "Teilen", "status.share": "Teilen",
"status.show_filter_reason": "Show anyway",
"status.show_less": "Weniger anzeigen", "status.show_less": "Weniger anzeigen",
"status.show_less_all": "Alle Inhaltswarnungen zuklappen", "status.show_less_all": "Alle Inhaltswarnungen zuklappen",
"status.show_more": "Mehr anzeigen", "status.show_more": "Mehr anzeigen",

@ -612,6 +612,10 @@
"defaultMessage": "Copy link to status", "defaultMessage": "Copy link to status",
"id": "status.copy" "id": "status.copy"
}, },
{
"defaultMessage": "Hide toot",
"id": "status.hide"
},
{ {
"defaultMessage": "Block domain {domain}", "defaultMessage": "Block domain {domain}",
"id": "account.block_domain" "id": "account.block_domain"
@ -678,6 +682,10 @@
"defaultMessage": "Filtered", "defaultMessage": "Filtered",
"id": "status.filtered" "id": "status.filtered"
}, },
{
"defaultMessage": "Show anyway",
"id": "status.show_filter_reason"
},
{ {
"defaultMessage": "Pinned post", "defaultMessage": "Pinned post",
"id": "status.pinned" "id": "status.pinned"

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Προτιμήσεις", "navigation_bar.preferences": "Προτιμήσεις",
"navigation_bar.public_timeline": "Ομοσπονδιακή ροή", "navigation_bar.public_timeline": "Ομοσπονδιακή ροή",
"navigation_bar.security": "Ασφάλεια", "navigation_bar.security": "Ασφάλεια",
"notification.admin.report": "{name} ανέφερε {target}",
"notification.admin.sign_up": "{name} έχει εγγραφεί", "notification.admin.sign_up": "{name} έχει εγγραφεί",
"notification.favourite": "Ο/Η {name} σημείωσε ως αγαπημένη την κατάστασή σου", "notification.favourite": "Ο/Η {name} σημείωσε ως αγαπημένη την κατάστασή σου",
"notification.follow": "Ο/Η {name} σε ακολούθησε", "notification.follow": "Ο/Η {name} σε ακολούθησε",
@ -326,6 +327,7 @@
"notification.update": "{name} επεξεργάστηκε μια δημοσίευση", "notification.update": "{name} επεξεργάστηκε μια δημοσίευση",
"notifications.clear": "Καθαρισμός ειδοποιήσεων", "notifications.clear": "Καθαρισμός ειδοποιήσεων",
"notifications.clear_confirmation": "Σίγουρα θέλεις να καθαρίσεις όλες τις ειδοποιήσεις σου;", "notifications.clear_confirmation": "Σίγουρα θέλεις να καθαρίσεις όλες τις ειδοποιήσεις σου;",
"notifications.column_settings.admin.report": "Νέες αναφορές:",
"notifications.column_settings.admin.sign_up": "Νέες εγγραφές:", "notifications.column_settings.admin.sign_up": "Νέες εγγραφές:",
"notifications.column_settings.alert": "Ειδοποιήσεις επιφάνειας εργασίας", "notifications.column_settings.alert": "Ειδοποιήσεις επιφάνειας εργασίας",
"notifications.column_settings.favourite": "Αγαπημένα:", "notifications.column_settings.favourite": "Αγαπημένα:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
"report.unfollow": "Unfollow @{name}", "report.unfollow": "Unfollow @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Άλλες",
"report_notification.categories.spam": "Ανεπιθύμητα",
"report_notification.categories.violation": "Παραβίαση κανόνα",
"report_notification.open": "Open report",
"search.placeholder": "Αναζήτηση", "search.placeholder": "Αναζήτηση",
"search_popout.search_format": "Προχωρημένη αναζήτηση", "search_popout.search_format": "Προχωρημένη αναζήτηση",
"search_popout.tips.full_text": "Απλό κείμενο που επιστρέφει καταστάσεις που έχεις γράψει, έχεις σημειώσει ως αγαπημένες, έχεις προωθήσει ή έχεις αναφερθεί σε αυτές, καθώς και όσα ονόματα χρηστών και ετικέτες ταιριάζουν.", "search_popout.tips.full_text": "Απλό κείμενο που επιστρέφει καταστάσεις που έχεις γράψει, έχεις σημειώσει ως αγαπημένες, έχεις προωθήσει ή έχεις αναφερθεί σε αυτές, καθώς και όσα ονόματα χρηστών και ετικέτες ταιριάζουν.",
@ -461,6 +468,7 @@
"status.embed": "Ενσωμάτωσε", "status.embed": "Ενσωμάτωσε",
"status.favourite": "Σημείωσε ως αγαπημένο", "status.favourite": "Σημείωσε ως αγαπημένο",
"status.filtered": "Φιλτραρισμένα", "status.filtered": "Φιλτραρισμένα",
"status.hide": "Απόκρυψη toot",
"status.history.created": "{name} created {date}", "status.history.created": "{name} created {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "{name} edited {date}",
"status.load_more": "Φόρτωσε περισσότερα", "status.load_more": "Φόρτωσε περισσότερα",
@ -484,6 +492,7 @@
"status.report": "Κατάγγειλε @{name}", "status.report": "Κατάγγειλε @{name}",
"status.sensitive_warning": "Ευαίσθητο περιεχόμενο", "status.sensitive_warning": "Ευαίσθητο περιεχόμενο",
"status.share": "Μοιράσου", "status.share": "Μοιράσου",
"status.show_filter_reason": "Εμφάνιση παρ'όλα αυτά",
"status.show_less": "Δείξε λιγότερα", "status.show_less": "Δείξε λιγότερα",
"status.show_less_all": "Δείξε λιγότερα για όλα", "status.show_less_all": "Δείξε λιγότερα για όλα",
"status.show_more": "Δείξε περισσότερα", "status.show_more": "Δείξε περισσότερα",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Preferences", "navigation_bar.preferences": "Preferences",
"navigation_bar.public_timeline": "Federated timeline", "navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security", "navigation_bar.security": "Security",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up": "{name} signed up",
"notification.favourite": "{name} favourited your status", "notification.favourite": "{name} favourited your status",
"notification.follow": "{name} followed you", "notification.follow": "{name} followed you",
@ -326,6 +327,7 @@
"notification.update": "{name} edited a post", "notification.update": "{name} edited a post",
"notifications.clear": "Clear notifications", "notifications.clear": "Clear notifications",
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "New sign-ups:",
"notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.alert": "Desktop notifications",
"notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.favourite": "Favourites:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
"report.unfollow": "Unfollow @{name}", "report.unfollow": "Unfollow @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "Search", "search.placeholder": "Search",
"search_popout.search_format": "Advanced search format", "search_popout.search_format": "Advanced search format",
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
@ -461,6 +468,7 @@
"status.embed": "Embed", "status.embed": "Embed",
"status.favourite": "Favourite", "status.favourite": "Favourite",
"status.filtered": "Filtered", "status.filtered": "Filtered",
"status.hide": "Hide toot",
"status.history.created": "{name} created {date}", "status.history.created": "{name} created {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "{name} edited {date}",
"status.load_more": "Load more", "status.load_more": "Load more",
@ -484,6 +492,7 @@
"status.report": "Report @{name}", "status.report": "Report @{name}",
"status.sensitive_warning": "Sensitive content", "status.sensitive_warning": "Sensitive content",
"status.share": "Share", "status.share": "Share",
"status.show_filter_reason": "Show anyway",
"status.show_less": "Show less", "status.show_less": "Show less",
"status.show_less_all": "Show less for all", "status.show_less_all": "Show less for all",
"status.show_more": "Show more", "status.show_more": "Show more",

@ -473,6 +473,7 @@
"status.embed": "Embed", "status.embed": "Embed",
"status.favourite": "Favourite", "status.favourite": "Favourite",
"status.filtered": "Filtered", "status.filtered": "Filtered",
"status.hide": "Hide toot",
"status.history.created": "{name} created {date}", "status.history.created": "{name} created {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "{name} edited {date}",
"status.load_more": "Load more", "status.load_more": "Load more",
@ -496,6 +497,7 @@
"status.report": "Report @{name}", "status.report": "Report @{name}",
"status.sensitive_warning": "Sensitive content", "status.sensitive_warning": "Sensitive content",
"status.share": "Share", "status.share": "Share",
"status.show_filter_reason": "Show anyway",
"status.show_less": "Show less", "status.show_less": "Show less",
"status.show_less_all": "Show less for all", "status.show_less_all": "Show less for all",
"status.show_more": "Show more", "status.show_more": "Show more",

@ -4,12 +4,12 @@
"account.badges.bot": "Roboto", "account.badges.bot": "Roboto",
"account.badges.group": "Grupo", "account.badges.group": "Grupo",
"account.block": "Bloki @{name}", "account.block": "Bloki @{name}",
"account.block_domain": "Bloki domajnon {domain}", "account.block_domain": "Bloki la domajnon {domain}",
"account.blocked": "Blokita", "account.blocked": "Blokita",
"account.browse_more_on_origin_server": "Vidi pli ĉe la originala profilo", "account.browse_more_on_origin_server": "Foliumi pli ĉe la originala profilo",
"account.cancel_follow_request": "Nuligi la demandon de sekvado", "account.cancel_follow_request": "Nuligi la demandon de sekvado",
"account.direct": "Rekte mesaĝi @{name}", "account.direct": "Rekte mesaĝi @{name}",
"account.disable_notifications": "Ĉesu sciigi min kiam @{name} mesaĝi", "account.disable_notifications": "Ne plu sciigi min kiam @{name} mesaĝas",
"account.domain_blocked": "Domajno blokita", "account.domain_blocked": "Domajno blokita",
"account.edit_profile": "Redakti la profilon", "account.edit_profile": "Redakti la profilon",
"account.enable_notifications": "Sciigi min kiam @{name} mesaĝas", "account.enable_notifications": "Sciigi min kiam @{name} mesaĝas",
@ -18,9 +18,9 @@
"account.followers": "Sekvantoj", "account.followers": "Sekvantoj",
"account.followers.empty": "Ankoraŭ neniu sekvas tiun uzanton.", "account.followers.empty": "Ankoraŭ neniu sekvas tiun uzanton.",
"account.followers_counter": "{count, plural, one{{counter} Sekvanto} other {{counter} Sekvantoj}}", "account.followers_counter": "{count, plural, one{{counter} Sekvanto} other {{counter} Sekvantoj}}",
"account.following": "Sekvantaj", "account.following": "Sekvadoj",
"account.following_counter": "{count, plural, one {{counter} Sekvato} other {{counter} Sekvatoj}}", "account.following_counter": "{count, plural, one {{counter} Sekvado} other {{counter} Sekvadoj}}",
"account.follows.empty": "Tiu uzanto ankoraŭ ne sekvas iun.", "account.follows.empty": "La uzanto ankoraŭ ne sekvas iun ajn.",
"account.follows_you": "Sekvas vin", "account.follows_you": "Sekvas vin",
"account.hide_reblogs": "Kaŝi la plusendojn de @{name}", "account.hide_reblogs": "Kaŝi la plusendojn de @{name}",
"account.joined": "Kuniĝis {date}", "account.joined": "Kuniĝis {date}",
@ -35,17 +35,17 @@
"account.posts": "Mesaĝoj", "account.posts": "Mesaĝoj",
"account.posts_with_replies": "Mesaĝoj kaj respondoj", "account.posts_with_replies": "Mesaĝoj kaj respondoj",
"account.report": "Raporti @{name}", "account.report": "Raporti @{name}",
"account.requested": "Atendo de aprobo. Alklaku por nuligi peton de sekvado", "account.requested": "Atendo de aprobo. Klaku por nuligi la demandon de sekvado",
"account.share": "Kundividi la profilon de @{name}", "account.share": "Kundividi la profilon de @{name}",
"account.show_reblogs": "Montri la plusendojn de @{name}", "account.show_reblogs": "Montri la plusendojn de @{name}",
"account.statuses_counter": "{count, plural, one {{counter} Mesaĝo} other {{counter} Mesaĝoj}}", "account.statuses_counter": "{count, plural, one {{counter} Mesaĝo} other {{counter} Mesaĝoj}}",
"account.unblock": "Malbloki @{name}", "account.unblock": "Malbloki @{name}",
"account.unblock_domain": "Malbloki {domain}", "account.unblock_domain": "Malbloki la domajnon {domain}",
"account.unblock_short": "Malbloki", "account.unblock_short": "Malbloki",
"account.unendorse": "Ne rekomendi ĉe la profilo", "account.unendorse": "Ne plu rekomendi ĉe la profilo",
"account.unfollow": "Ne plu sekvi", "account.unfollow": "Ne plu sekvi",
"account.unmute": "Ne plu silentigi @{name}", "account.unmute": "Ne plu silentigi @{name}",
"account.unmute_notifications": "Reebligi la sciigojn de @{name}", "account.unmute_notifications": "Ne plu silentigi la sciigojn de @{name}",
"account.unmute_short": "Ne plu silentigi", "account.unmute_short": "Ne plu silentigi",
"account_note.placeholder": "Klaku por aldoni noton", "account_note.placeholder": "Klaku por aldoni noton",
"admin.dashboard.daily_retention": "User retention rate by day after sign-up", "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
@ -71,7 +71,7 @@
"column.bookmarks": "Legosignoj", "column.bookmarks": "Legosignoj",
"column.community": "Loka templinio", "column.community": "Loka templinio",
"column.direct": "Rektaj mesaĝoj", "column.direct": "Rektaj mesaĝoj",
"column.directory": "Trarigardi profilojn", "column.directory": "Foliumi la profilojn",
"column.domain_blocks": "Blokitaj domajnoj", "column.domain_blocks": "Blokitaj domajnoj",
"column.favourites": "Preferaĵoj", "column.favourites": "Preferaĵoj",
"column.follow_requests": "Demandoj de sekvado", "column.follow_requests": "Demandoj de sekvado",
@ -80,7 +80,7 @@
"column.mutes": "Silentigitaj uzantoj", "column.mutes": "Silentigitaj uzantoj",
"column.notifications": "Sciigoj", "column.notifications": "Sciigoj",
"column.pins": "Alpinglitaj mesaĝoj", "column.pins": "Alpinglitaj mesaĝoj",
"column.public": "Federata templinio", "column.public": "Fratara templinio",
"column_back_button.label": "Reveni", "column_back_button.label": "Reveni",
"column_header.hide_settings": "Kaŝi la agordojn", "column_header.hide_settings": "Kaŝi la agordojn",
"column_header.moveLeft_settings": "Movi kolumnon maldekstren", "column_header.moveLeft_settings": "Movi kolumnon maldekstren",
@ -95,25 +95,25 @@
"compose.language.change": "Ŝanĝi lingvon", "compose.language.change": "Ŝanĝi lingvon",
"compose.language.search": "Serĉi lingvojn...", "compose.language.search": "Serĉi lingvojn...",
"compose_form.direct_message_warning_learn_more": "Lerni pli", "compose_form.direct_message_warning_learn_more": "Lerni pli",
"compose_form.encryption_warning": "La mesaĵoj en Mastodono ne estas ĉifrita de tutvojo. Ne kundividu sentemajn informojn ĉe Mastodono.", "compose_form.encryption_warning": "La mesaĵoj en Mastodon ne estas tutvoje ĉifritaj. Ne kundividu tiklajn informojn ĉe Mastodon.",
"compose_form.hashtag_warning": "Ĉi tiu mesaĝo ne estos listigita per ajna kradvorto. Nur publikaj mesaĝoj estas serĉeblaj per kradvortoj.", "compose_form.hashtag_warning": "Ĉi tiu mesaĝo ne estos listigita per ajna kradvorto. Nur publikaj mesaĝoj estas serĉeblaj per kradvortoj.",
"compose_form.lock_disclaimer": "Via konto ne estas {locked}. Iu ajn povas sekvi vin por vidi viajn mesaĝojn nur al la sekvantoj.", "compose_form.lock_disclaimer": "Via konto ne estas {locked}. Iu ajn povas sekvi vin por vidi viajn mesaĝojn nur al la sekvantoj.",
"compose_form.lock_disclaimer.lock": "ŝlosita", "compose_form.lock_disclaimer.lock": "ŝlosita",
"compose_form.placeholder": "Kion vi pensas?", "compose_form.placeholder": "Kion vi pensas?",
"compose_form.poll.add_option": "Aldoni elekteblon", "compose_form.poll.add_option": "Aldoni elekteblon",
"compose_form.poll.duration": "Balotenketa daŭro", "compose_form.poll.duration": "Daŭro de la balotenketo",
"compose_form.poll.option_placeholder": "Elekteblo {number}", "compose_form.poll.option_placeholder": "Elekteblo {number}",
"compose_form.poll.remove_option": "Forigi ĉi tiu elekteblon", "compose_form.poll.remove_option": "Forigi ĉi tiu elekteblon",
"compose_form.poll.switch_to_multiple": "Ŝanĝi la balotenketon por permesi multajn elektojn", "compose_form.poll.switch_to_multiple": "Ŝanĝi la balotenketon por permesi multajn elektojn",
"compose_form.poll.switch_to_single": "Ŝanĝi la balotenketon por permesi unu solan elekton", "compose_form.poll.switch_to_single": "Ŝanĝi la balotenketon por permesi unu solan elekton",
"compose_form.publish": "Publish", "compose_form.publish": "Publikigi",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Konservi ŝanĝojn", "compose_form.save_changes": "Konservi la ŝanĝojn",
"compose_form.sensitive.hide": "Marki la aŭdovidaĵojn kiel tiklaj", "compose_form.sensitive.hide": "{count, plural, one {Marki la aŭdovidaĵon kiel tikla} other {Marki la aŭdovidaĵojn kiel tikla}}",
"compose_form.sensitive.marked": "Aŭdovidaĵo markita tikla", "compose_form.sensitive.marked": "{count, plural, one {La aŭdovidaĵo estas markita kiel tikla} other {La aŭdovidaĵoj estas markitaj kiel tikla}}",
"compose_form.sensitive.unmarked": "Aŭdovidaĵo ne markita tikla", "compose_form.sensitive.unmarked": "{count, plural, one {La aŭdovidaĵo ne estas markita kiel tikla} other {La aŭdovidaĵoj ne estas markitaj kiel tikla}}",
"compose_form.spoiler.marked": "Teksto kaŝita malantaŭ averto", "compose_form.spoiler.marked": "Forigi la averton de enhavo",
"compose_form.spoiler.unmarked": "Teksto ne kaŝita", "compose_form.spoiler.unmarked": "Aldoni averton de enhavo",
"compose_form.spoiler_placeholder": "Skribu vian averton ĉi tie", "compose_form.spoiler_placeholder": "Skribu vian averton ĉi tie",
"confirmation_modal.cancel": "Nuligi", "confirmation_modal.cancel": "Nuligi",
"confirmations.block.block_and_report": "Bloki kaj raporti", "confirmations.block.block_and_report": "Bloki kaj raporti",
@ -123,8 +123,8 @@
"confirmations.delete.message": "Ĉu vi certas, ke vi volas forigi ĉi tiun mesaĝon?", "confirmations.delete.message": "Ĉu vi certas, ke vi volas forigi ĉi tiun mesaĝon?",
"confirmations.delete_list.confirm": "Forigi", "confirmations.delete_list.confirm": "Forigi",
"confirmations.delete_list.message": "Ĉu vi certas, ke vi volas porĉiame forigi ĉi tiun liston?", "confirmations.delete_list.message": "Ĉu vi certas, ke vi volas porĉiame forigi ĉi tiun liston?",
"confirmations.discard_edit_media.confirm": "Ne konservi", "confirmations.discard_edit_media.confirm": "Forlasi",
"confirmations.discard_edit_media.message": "Vi havas nekonservitan ŝanĝon de la priskribo aŭ de la antaŭvido de aŭdvidaĵo, ĉu vi forigu ĝin?", "confirmations.discard_edit_media.message": "Vi havas nekonservitajn ŝanĝojn de la priskribo aŭ de la antaŭmontro de la aŭdovidaĵo, ĉu vi forlasu ilin ĉiuokaze?",
"confirmations.domain_block.confirm": "Bloki la tutan domajnon", "confirmations.domain_block.confirm": "Bloki la tutan domajnon",
"confirmations.domain_block.message": "Ĉu vi vere, vere certas, ke vi volas tute bloki {domain}? Plej ofte, trafa blokado kaj silentigado sufiĉas kaj preferindas. Vi ne vidos enhavon de tiu domajno en publika templinio aŭ en viaj sciigoj. Viaj sekvantoj de tiu domajno estos forigitaj.", "confirmations.domain_block.message": "Ĉu vi vere, vere certas, ke vi volas tute bloki {domain}? Plej ofte, trafa blokado kaj silentigado sufiĉas kaj preferindas. Vi ne vidos enhavon de tiu domajno en publika templinio aŭ en viaj sciigoj. Viaj sekvantoj de tiu domajno estos forigitaj.",
"confirmations.logout.confirm": "Adiaŭi", "confirmations.logout.confirm": "Adiaŭi",
@ -133,7 +133,7 @@
"confirmations.mute.explanation": "Ĉi-tio kaŝos mesaĝojn el ili kaj mesaĝojn kiuj mencias ilin, sed ili ankoraŭ rajtos vidi viajn mesaĝojn kaj sekvi vin.", "confirmations.mute.explanation": "Ĉi-tio kaŝos mesaĝojn el ili kaj mesaĝojn kiuj mencias ilin, sed ili ankoraŭ rajtos vidi viajn mesaĝojn kaj sekvi vin.",
"confirmations.mute.message": "Ĉu vi certas, ke vi volas silentigi {name}?", "confirmations.mute.message": "Ĉu vi certas, ke vi volas silentigi {name}?",
"confirmations.redraft.confirm": "Forigi kaj reskribi", "confirmations.redraft.confirm": "Forigi kaj reskribi",
"confirmations.redraft.message": "Ĉu vi certas ke vi volas forigi kaj reskribi la mesaĝon? Ĝiaj preferitaĵoj kaj ĝiaj plusendoj estos perditaj, kaj la respondoj al la originala mesaĝo estos orfaj.", "confirmations.redraft.message": "Ĉu vi certas ke vi volas forigi tiun mesaĝon kaj reskribi ĝin? Ĉiuj diskonigoj kaj stelumoj estos perditaj, kaj respondoj al la originala mesaĝo estos senparentaj.",
"confirmations.reply.confirm": "Respondi", "confirmations.reply.confirm": "Respondi",
"confirmations.reply.message": "Respondi nun anstataŭigos la mesaĝon, kiun vi nun skribas. Ĉu vi certas, ke vi volas daŭrigi?", "confirmations.reply.message": "Respondi nun anstataŭigos la mesaĝon, kiun vi nun skribas. Ĉu vi certas, ke vi volas daŭrigi?",
"confirmations.unfollow.confirm": "Ne plu sekvi", "confirmations.unfollow.confirm": "Ne plu sekvi",
@ -163,7 +163,7 @@
"emoji_button.search_results": "Serĉaj rezultoj", "emoji_button.search_results": "Serĉaj rezultoj",
"emoji_button.symbols": "Simboloj", "emoji_button.symbols": "Simboloj",
"emoji_button.travel": "Vojaĝoj kaj lokoj", "emoji_button.travel": "Vojaĝoj kaj lokoj",
"empty_column.account_suspended": "Konto haltigita", "empty_column.account_suspended": "Konto suspendita",
"empty_column.account_timeline": "Neniu mesaĝo ĉi tie!", "empty_column.account_timeline": "Neniu mesaĝo ĉi tie!",
"empty_column.account_unavailable": "Profilo ne disponebla", "empty_column.account_unavailable": "Profilo ne disponebla",
"empty_column.blocks": "Vi ankoraŭ ne blokis uzanton.", "empty_column.blocks": "Vi ankoraŭ ne blokis uzanton.",
@ -172,10 +172,10 @@
"empty_column.direct": "Vi ankoraŭ ne havas rektan mesaĝon. Kiam vi sendos aŭ ricevos iun, ĝi aperos ĉi tie.", "empty_column.direct": "Vi ankoraŭ ne havas rektan mesaĝon. Kiam vi sendos aŭ ricevos iun, ĝi aperos ĉi tie.",
"empty_column.domain_blocks": "Ankoraŭ neniu domajno estas blokita.", "empty_column.domain_blocks": "Ankoraŭ neniu domajno estas blokita.",
"empty_column.explore_statuses": "Nenio tendencas nun. Rekontrolu poste!", "empty_column.explore_statuses": "Nenio tendencas nun. Rekontrolu poste!",
"empty_column.favourited_statuses": "Vi ankoraŭ ne havas mesaĝon en la preferaĵoj. Kiam vi aldonas ion, ĝi aperos ĉi tie.", "empty_column.favourited_statuses": "Vi ankoraŭ ne havas mesaĝon en la preferaĵoj. Kiam vi aldonas iun, tiu aperos ĉi tie.",
"empty_column.favourites": "Ankoraŭ neniu preferis la mesaĝon. Kiam iu faros ĉi tion, ili aperos ĉi tie.", "empty_column.favourites": "Ankoraŭ neniu aldonis tiun mesaĝon al siaj preferaĵoj. Kiam iu faros ĉi tion, tiu aperos ĉi tie.",
"empty_column.follow_recommendations": "Ŝajnas, ke neniuj sugestoj povis esti generitaj por vi. Vi povas provi uzi serĉon por serĉi homojn, kiujn vi eble konas, aŭ esplori tendencajn kradvortojn.", "empty_column.follow_recommendations": "Ŝajnas, ke neniuj sugestoj povis esti generitaj por vi. Vi povas provi uzi serĉon por serĉi homojn, kiujn vi eble konas, aŭ esplori tendencajn kradvortojn.",
"empty_column.follow_requests": "Vi ne ankoraŭ havas iun peton de sekvado. Kiam vi ricevos unu, ĝi aperos ĉi tie.", "empty_column.follow_requests": "Vi ankoraŭ ne havas demandon de sekvado. Kiam vi ricevas unu, ĝi aperas tie ĉi.",
"empty_column.hashtag": "Ankoraŭ estas nenio per ĉi tiu kradvorto.", "empty_column.hashtag": "Ankoraŭ estas nenio per ĉi tiu kradvorto.",
"empty_column.home": "Via hejma tempolinio estas malplena! Vizitu {public} aŭ uzu la serĉilon por renkonti aliajn uzantojn.", "empty_column.home": "Via hejma tempolinio estas malplena! Vizitu {public} aŭ uzu la serĉilon por renkonti aliajn uzantojn.",
"empty_column.home.suggestions": "Vidu iujn sugestojn", "empty_column.home.suggestions": "Vidu iujn sugestojn",
@ -197,11 +197,11 @@
"explore.trending_statuses": "Afiŝoj", "explore.trending_statuses": "Afiŝoj",
"explore.trending_tags": "Kradvortoj", "explore.trending_tags": "Kradvortoj",
"follow_recommendations.done": "Farita", "follow_recommendations.done": "Farita",
"follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.", "follow_recommendations.heading": "Sekvi la personojn kies mesaĝojn vi volas vidi! Jen iom da sugestoj.",
"follow_recommendations.lead": "La mesaĝoj de personoj kiujn vi sekvas, kronologie aperos en via hejma templinio. Ne timu erari, vi povas ĉesi sekvi facile iam ajn!", "follow_recommendations.lead": "La mesaĝoj de personoj kiujn vi sekvas, aperos laŭ kronologia ordo en via hejma templinio. Ne timu erari, vi povas ĉesi sekvi facile iam ajn!",
"follow_request.authorize": "Rajtigi", "follow_request.authorize": "Rajtigi",
"follow_request.reject": "Rifuzi", "follow_request.reject": "Rifuzi",
"follow_requests.unlocked_explanation": "Kvankam via konto ne estas ŝlosita, la teamo de {domain} pensis ke vi eble volas permane kontroli la demandojn de sekvado de ĉi tiuj kontoj.", "follow_requests.unlocked_explanation": "Kvankam via konto ne estas ŝlosita, la teamo de {domain} pensas, ke vi eble volas permane kontroli la demandojn de sekvado de ĉi tiuj kontoj.",
"generic.saved": "Konservita", "generic.saved": "Konservita",
"getting_started.developers": "Programistoj", "getting_started.developers": "Programistoj",
"getting_started.directory": "Profilujo", "getting_started.directory": "Profilujo",
@ -210,7 +210,7 @@
"getting_started.invite": "Inviti homojn", "getting_started.invite": "Inviti homojn",
"getting_started.open_source_notice": "Mastodon estas malfermitkoda programo. Vi povas kontribui aŭ raporti problemojn en GitHub je {github}.", "getting_started.open_source_notice": "Mastodon estas malfermitkoda programo. Vi povas kontribui aŭ raporti problemojn en GitHub je {github}.",
"getting_started.security": "Sekureco", "getting_started.security": "Sekureco",
"getting_started.terms": "Uzkondiĉoj", "getting_started.terms": "Kondiĉoj de la servo",
"hashtag.column_header.tag_mode.all": "kaj {additional}", "hashtag.column_header.tag_mode.all": "kaj {additional}",
"hashtag.column_header.tag_mode.any": "aŭ {additional}", "hashtag.column_header.tag_mode.any": "aŭ {additional}",
"hashtag.column_header.tag_mode.none": "sen {additional}", "hashtag.column_header.tag_mode.none": "sen {additional}",
@ -223,14 +223,14 @@
"home.column_settings.basic": "Bazaj agordoj", "home.column_settings.basic": "Bazaj agordoj",
"home.column_settings.show_reblogs": "Montri plusendojn", "home.column_settings.show_reblogs": "Montri plusendojn",
"home.column_settings.show_replies": "Montri respondojn", "home.column_settings.show_replies": "Montri respondojn",
"home.hide_announcements": "Kaŝi anoncojn", "home.hide_announcements": "Kaŝi la anoncojn",
"home.show_announcements": "Montri anoncojn", "home.show_announcements": "Montri anoncojn",
"intervals.full.days": "{number, plural, one {# tago} other {# tagoj}}", "intervals.full.days": "{number, plural, one {# tago} other {# tagoj}}",
"intervals.full.hours": "{number, plural, one {# horo} other {# horoj}}", "intervals.full.hours": "{number, plural, one {# horo} other {# horoj}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutoj}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutoj}}",
"keyboard_shortcuts.back": "reveni", "keyboard_shortcuts.back": "reveni",
"keyboard_shortcuts.blocked": "malfermi la liston de blokitaj uzantoj", "keyboard_shortcuts.blocked": "Malfermi la liston de blokitaj uzantoj",
"keyboard_shortcuts.boost": "Plusendi", "keyboard_shortcuts.boost": "Plusendi la mesaĝon",
"keyboard_shortcuts.column": "fokusi mesaĝon en unu el la kolumnoj", "keyboard_shortcuts.column": "fokusi mesaĝon en unu el la kolumnoj",
"keyboard_shortcuts.compose": "enfokusigi la tekstujon", "keyboard_shortcuts.compose": "enfokusigi la tekstujon",
"keyboard_shortcuts.description": "Priskribo", "keyboard_shortcuts.description": "Priskribo",
@ -239,7 +239,7 @@
"keyboard_shortcuts.enter": "malfermi mesaĝon", "keyboard_shortcuts.enter": "malfermi mesaĝon",
"keyboard_shortcuts.favourite": "Aldoni la mesaĝon al preferaĵoj", "keyboard_shortcuts.favourite": "Aldoni la mesaĝon al preferaĵoj",
"keyboard_shortcuts.favourites": "Malfermi la liston de preferaĵoj", "keyboard_shortcuts.favourites": "Malfermi la liston de preferaĵoj",
"keyboard_shortcuts.federated": "Malfermi la federatan templinion", "keyboard_shortcuts.federated": "Malfermi la frataran templinion",
"keyboard_shortcuts.heading": "Klavaraj mallongigoj", "keyboard_shortcuts.heading": "Klavaraj mallongigoj",
"keyboard_shortcuts.home": "Malfermi la hejman templinion", "keyboard_shortcuts.home": "Malfermi la hejman templinion",
"keyboard_shortcuts.hotkey": "Rapidklavo", "keyboard_shortcuts.hotkey": "Rapidklavo",
@ -249,26 +249,26 @@
"keyboard_shortcuts.muted": "malfermi la liston de silentigitaj uzantoj", "keyboard_shortcuts.muted": "malfermi la liston de silentigitaj uzantoj",
"keyboard_shortcuts.my_profile": "malfermi vian profilon", "keyboard_shortcuts.my_profile": "malfermi vian profilon",
"keyboard_shortcuts.notifications": "malfermi la kolumnon de sciigoj", "keyboard_shortcuts.notifications": "malfermi la kolumnon de sciigoj",
"keyboard_shortcuts.open_media": "malfermi aŭdovidaĵon", "keyboard_shortcuts.open_media": "Malfermi la aŭdovidaĵon",
"keyboard_shortcuts.pinned": "malfermi la liston de alpinglitaj mesaĝoj", "keyboard_shortcuts.pinned": "malfermi la liston de alpinglitaj mesaĝoj",
"keyboard_shortcuts.profile": "malfermi la profilon de la aŭtoro", "keyboard_shortcuts.profile": "malfermi la profilon de la aŭtoro",
"keyboard_shortcuts.reply": "respondi", "keyboard_shortcuts.reply": "respondi",
"keyboard_shortcuts.requests": "malfermi la liston de petoj de sekvado", "keyboard_shortcuts.requests": "Malfermi la liston de demandoj de sekvado",
"keyboard_shortcuts.search": "enfokusigi la serĉilon", "keyboard_shortcuts.search": "enfokusigi la serĉilon",
"keyboard_shortcuts.spoilers": "montri/kaŝi la kampon de enhava averto", "keyboard_shortcuts.spoilers": "Montri/kaŝi la kampon de averto de enhavo (\"CW\")",
"keyboard_shortcuts.start": "malfermi la kolumnon «por komenci»", "keyboard_shortcuts.start": "malfermi la kolumnon «por komenci»",
"keyboard_shortcuts.toggle_hidden": "montri/kaŝi tekston malantaŭ enhava averto", "keyboard_shortcuts.toggle_hidden": "Montri/kaŝi tekston malantaŭ la averto de enhavo (\"CW\")",
"keyboard_shortcuts.toggle_sensitivity": "montri/kaŝi aŭdovidaĵojn", "keyboard_shortcuts.toggle_sensitivity": "Montri/kaŝi la aŭdovidaĵojn",
"keyboard_shortcuts.toot": "Krei novan mesaĝon", "keyboard_shortcuts.toot": "Krei novan mesaĝon",
"keyboard_shortcuts.unfocus": "malenfokusigi la tekstujon aŭ la serĉilon", "keyboard_shortcuts.unfocus": "malenfokusigi la tekstujon aŭ la serĉilon",
"keyboard_shortcuts.up": "iri supren en la listo", "keyboard_shortcuts.up": "iri supren en la listo",
"lightbox.close": "Fermi", "lightbox.close": "Fermi",
"lightbox.compress": "Kunpremi bildan vidkeston", "lightbox.compress": "Kunpremi bildan vidkeston",
"lightbox.expand": "Pligrandigi bildan vidkeston", "lightbox.expand": "Pligrandigi bildan vidkeston",
"lightbox.next": "Sekva", "lightbox.next": "Antaŭen",
"lightbox.previous": "Antaŭa", "lightbox.previous": "Malantaŭen",
"limited_account_hint.action": "Montru profilon ĉiukaze", "limited_account_hint.action": "Montru profilon ĉiukaze",
"limited_account_hint.title": "This profile has been hidden by the moderators of your server.", "limited_account_hint.title": "La profilo estas kaŝita de la moderigantoj de via servilo.",
"lists.account.add": "Aldoni al la listo", "lists.account.add": "Aldoni al la listo",
"lists.account.remove": "Forigi de la listo", "lists.account.remove": "Forigi de la listo",
"lists.delete": "Forigi la liston", "lists.delete": "Forigi la liston",
@ -284,7 +284,7 @@
"lists.subheading": "Viaj listoj", "lists.subheading": "Viaj listoj",
"load_pending": "{count,plural, one {# nova elemento} other {# novaj elementoj}}", "load_pending": "{count,plural, one {# nova elemento} other {# novaj elementoj}}",
"loading_indicator.label": "Ŝargado…", "loading_indicator.label": "Ŝargado…",
"media_gallery.toggle_visible": "Baskuligi videblecon", "media_gallery.toggle_visible": "{number, plural, one {Kaŝi la bildon} other {Kaŝi la bildojn}}",
"missing_indicator.label": "Ne trovita", "missing_indicator.label": "Ne trovita",
"missing_indicator.sublabel": "Ĉi tiu elemento ne estis trovita", "missing_indicator.sublabel": "Ĉi tiu elemento ne estis trovita",
"mute_modal.duration": "Daŭro", "mute_modal.duration": "Daŭro",
@ -300,9 +300,9 @@
"navigation_bar.domain_blocks": "Blokitaj domajnoj", "navigation_bar.domain_blocks": "Blokitaj domajnoj",
"navigation_bar.edit_profile": "Redakti profilon", "navigation_bar.edit_profile": "Redakti profilon",
"navigation_bar.explore": "Esplori", "navigation_bar.explore": "Esplori",
"navigation_bar.favourites": "Stelumoj", "navigation_bar.favourites": "Preferaĵoj",
"navigation_bar.filters": "Silentigitaj vortoj", "navigation_bar.filters": "Silentigitaj vortoj",
"navigation_bar.follow_requests": "Petoj de sekvado", "navigation_bar.follow_requests": "Demandoj de sekvado",
"navigation_bar.follows_and_followers": "Sekvatoj kaj sekvantoj", "navigation_bar.follows_and_followers": "Sekvatoj kaj sekvantoj",
"navigation_bar.info": "Pri ĉi tiu servilo", "navigation_bar.info": "Pri ĉi tiu servilo",
"navigation_bar.keyboard_shortcuts": "Rapidklavoj", "navigation_bar.keyboard_shortcuts": "Rapidklavoj",
@ -312,10 +312,11 @@
"navigation_bar.personal": "Persone", "navigation_bar.personal": "Persone",
"navigation_bar.pins": "Alpinglitaj mesaĝoj", "navigation_bar.pins": "Alpinglitaj mesaĝoj",
"navigation_bar.preferences": "Preferoj", "navigation_bar.preferences": "Preferoj",
"navigation_bar.public_timeline": "Federata templinio", "navigation_bar.public_timeline": "Fratara templinio",
"navigation_bar.security": "Sekureco", "navigation_bar.security": "Sekureco",
"notification.admin.report": "{name} raportis {target}",
"notification.admin.sign_up": "{name} registris", "notification.admin.sign_up": "{name} registris",
"notification.favourite": "{name} preferis vian mesaĝon", "notification.favourite": "{name} aldonis vian mesaĝon al siaj preferaĵoj",
"notification.follow": "{name} eksekvis vin", "notification.follow": "{name} eksekvis vin",
"notification.follow_request": "{name} petis sekvi vin", "notification.follow_request": "{name} petis sekvi vin",
"notification.mention": "{name} menciis vin", "notification.mention": "{name} menciis vin",
@ -326,14 +327,15 @@
"notification.update": "{name} redaktis afiŝon", "notification.update": "{name} redaktis afiŝon",
"notifications.clear": "Forviŝi sciigojn", "notifications.clear": "Forviŝi sciigojn",
"notifications.clear_confirmation": "Ĉu vi certas, ke vi volas porĉiame forviŝi ĉiujn viajn sciigojn?", "notifications.clear_confirmation": "Ĉu vi certas, ke vi volas porĉiame forviŝi ĉiujn viajn sciigojn?",
"notifications.column_settings.admin.report": "Novaj raportoj:",
"notifications.column_settings.admin.sign_up": "Novaj registriĝoj:", "notifications.column_settings.admin.sign_up": "Novaj registriĝoj:",
"notifications.column_settings.alert": "Retumilaj sciigoj", "notifications.column_settings.alert": "Sciigoj de la retumilo",
"notifications.column_settings.favourite": "Preferaĵoj:", "notifications.column_settings.favourite": "Preferaĵoj:",
"notifications.column_settings.filter_bar.advanced": "Montri ĉiujn kategoriojn", "notifications.column_settings.filter_bar.advanced": "Montri ĉiujn kategoriojn",
"notifications.column_settings.filter_bar.category": "Rapida filtra breto", "notifications.column_settings.filter_bar.category": "Rapida filtra breto",
"notifications.column_settings.filter_bar.show_bar": "Montri la breton de filtrilo", "notifications.column_settings.filter_bar.show_bar": "Montri la breton de filtrilo",
"notifications.column_settings.follow": "Novaj sekvantoj:", "notifications.column_settings.follow": "Novaj sekvantoj:",
"notifications.column_settings.follow_request": "Novaj petoj de sekvado:", "notifications.column_settings.follow_request": "Novaj demandoj de sekvado:",
"notifications.column_settings.mention": "Mencioj:", "notifications.column_settings.mention": "Mencioj:",
"notifications.column_settings.poll": "Balotenketaj rezultoj:", "notifications.column_settings.poll": "Balotenketaj rezultoj:",
"notifications.column_settings.push": "Puŝsciigoj", "notifications.column_settings.push": "Puŝsciigoj",
@ -372,19 +374,19 @@
"poll_button.remove_poll": "Forigi balotenketon", "poll_button.remove_poll": "Forigi balotenketon",
"privacy.change": "Agordi mesaĝan privatecon", "privacy.change": "Agordi mesaĝan privatecon",
"privacy.direct.long": "Videbla nur al menciitaj uzantoj", "privacy.direct.long": "Videbla nur al menciitaj uzantoj",
"privacy.direct.short": "Direct", "privacy.direct.short": "Nur menciitaj personoj",
"privacy.private.long": "Videbla nur al viaj sekvantoj", "privacy.private.long": "Videbla nur al viaj sekvantoj",
"privacy.private.short": "Nur abonantoj", "privacy.private.short": "Nur abonantoj",
"privacy.public.long": "Videbla por ĉiuj", "privacy.public.long": "Videbla por ĉiuj",
"privacy.public.short": "Publika", "privacy.public.short": "Publika",
"privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.long": "Videbla por ĉiuj, sed ekskluzive de la funkcio de esploro",
"privacy.unlisted.short": "Nelistigita", "privacy.unlisted.short": "Nelistigita",
"refresh": "Refreŝigu", "refresh": "Refreŝigu",
"regeneration_indicator.label": "Ŝargado…", "regeneration_indicator.label": "Ŝargado…",
"regeneration_indicator.sublabel": "Via abonfluo estas preparata!", "regeneration_indicator.sublabel": "Via abonfluo estas preparata!",
"relative_time.days": "{number}t", "relative_time.days": "{number}t",
"relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", "relative_time.full.days": "antaŭ {number, plural, one {# tago} other {# tagoj}}",
"relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago", "relative_time.full.hours": "antaŭ {number, plural, one {# horo} other {# horoj}}",
"relative_time.full.just_now": "ĵus nun", "relative_time.full.just_now": "ĵus nun",
"relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago",
"relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago",
@ -397,7 +399,7 @@
"report.block": "Bloki", "report.block": "Bloki",
"report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
"report.categories.other": "Aliaj", "report.categories.other": "Aliaj",
"report.categories.spam": "Trudo", "report.categories.spam": "Trudmesaĝo",
"report.categories.violation": "Content violates one or more server rules", "report.categories.violation": "Content violates one or more server rules",
"report.category.subtitle": "Elektu la plej bonan kongruon", "report.category.subtitle": "Elektu la plej bonan kongruon",
"report.category.title": "Diru al ni kio okazas pri ĉi tiu {type}", "report.category.title": "Diru al ni kio okazas pri ĉi tiu {type}",
@ -406,10 +408,10 @@
"report.close": "Farita", "report.close": "Farita",
"report.comment.title": "Ĉu estas io alia kion vi pensas ke ni devas scii?", "report.comment.title": "Ĉu estas io alia kion vi pensas ke ni devas scii?",
"report.forward": "Plusendi al {target}", "report.forward": "Plusendi al {target}",
"report.forward_hint": "La konto estas de alia servilo. Ĉu vi volas sendi anoniman kopion de la informo ankaŭ al tie?", "report.forward_hint": "La konto estas de alia servilo. Ĉu vi volas sendi anoniman kopion de la raporto ankaŭ al tie?",
"report.mute": "Silentigi", "report.mute": "Silentigi",
"report.mute_explanation": "Vi ne vidos iliajn afiŝojn. Ili ankoraŭ povas sekvi vin kaj vidi viajn afiŝojn, kaj ne scios ke ili estas silentigitaj.", "report.mute_explanation": "Vi ne vidos iliajn afiŝojn. Ili ankoraŭ povas sekvi vin kaj vidi viajn afiŝojn, kaj ne scios ke ili estas silentigitaj.",
"report.next": "Sekva", "report.next": "Antaŭen",
"report.placeholder": "Pliaj komentoj", "report.placeholder": "Pliaj komentoj",
"report.reasons.dislike": "Mi ne ŝatas ĝin", "report.reasons.dislike": "Mi ne ŝatas ĝin",
"report.reasons.dislike_description": "Ĝi ne estas io, kiun vi volas vidi", "report.reasons.dislike_description": "Ĝi ne estas io, kiun vi volas vidi",
@ -424,13 +426,18 @@
"report.statuses.subtitle": "Elektu ĉiujn, kiuj validas", "report.statuses.subtitle": "Elektu ĉiujn, kiuj validas",
"report.statuses.title": "Are there any posts that back up this report?", "report.statuses.title": "Are there any posts that back up this report?",
"report.submit": "Sendi", "report.submit": "Sendi",
"report.target": "Raporto pri {target}", "report.target": "Raporti pri {target}",
"report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:",
"report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:",
"report.thanks.title": "Ĉu vi ne volas vidi ĉi tion?", "report.thanks.title": "Ĉu vi ne volas vidi ĉi tion?",
"report.thanks.title_actionable": "Dankon pro raporti, ni esploros ĉi tion.", "report.thanks.title_actionable": "Dankon pro raporti, ni esploros ĉi tion.",
"report.unfollow": "Malsekvi @{name}", "report.unfollow": "Malsekvi @{name}",
"report.unfollow_explanation": "Vi sekvas ĉi tiun konton. Por ne plu vidi ĝiajn abonfluojn en via hejma templinio, ĉesu sekvi ĝin.", "report.unfollow_explanation": "Vi sekvas ĉi tiun konton. Por ne plu vidi ĝiajn abonfluojn en via hejma templinio, ĉesu sekvi ĝin.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Alia",
"report_notification.categories.spam": "Trudmesaĝo",
"report_notification.categories.violation": "Malobservo de la regulo",
"report_notification.open": "Malfermi la raporton",
"search.placeholder": "Serĉi", "search.placeholder": "Serĉi",
"search_popout.search_format": "Detala serĉo", "search_popout.search_format": "Detala serĉo",
"search_popout.tips.full_text": "Simplaj tekstoj montras la mesaĝojn, kiujn vi skribis, stelumis, diskonigis, aŭ en kiuj vi estis menciita, sed ankaŭ kongruajn uzantnomojn, montratajn nomojn, kaj kradvortojn.", "search_popout.tips.full_text": "Simplaj tekstoj montras la mesaĝojn, kiujn vi skribis, stelumis, diskonigis, aŭ en kiuj vi estis menciita, sed ankaŭ kongruajn uzantnomojn, montratajn nomojn, kaj kradvortojn.",
@ -459,8 +466,9 @@
"status.edited": "Redaktita {date}", "status.edited": "Redaktita {date}",
"status.edited_x_times": "Redactita {count, plural, one {{count} fojon} other {{count} fojojn}}", "status.edited_x_times": "Redactita {count, plural, one {{count} fojon} other {{count} fojojn}}",
"status.embed": "Enkorpigi", "status.embed": "Enkorpigi",
"status.favourite": "Preferaĵo", "status.favourite": "Aldoni al viaj preferaĵoj",
"status.filtered": "Filtrita", "status.filtered": "Filtrita",
"status.hide": "Kaŝi la mesaĝon",
"status.history.created": "{name} kreis {date}", "status.history.created": "{name} kreis {date}",
"status.history.edited": "{name} redaktis {date}", "status.history.edited": "{name} redaktis {date}",
"status.load_more": "Ŝargi pli", "status.load_more": "Ŝargi pli",
@ -474,9 +482,9 @@
"status.pinned": "Alpinglita mesaĝo", "status.pinned": "Alpinglita mesaĝo",
"status.read_more": "Legi pli", "status.read_more": "Legi pli",
"status.reblog": "Plusendi", "status.reblog": "Plusendi",
"status.reblog_private": "Plusendi kiel la originala videbleco", "status.reblog_private": "Plusendi kun la originala videbleco",
"status.reblogged_by": "{name} plusendis", "status.reblogged_by": "{name} plusendis",
"status.reblogs.empty": "Neniu ankoraŭ plusendis la mesaĝon. Kiam iu faros tion, ili aperos ĉi tie.", "status.reblogs.empty": "Ankoraŭ neniu plusendis la mesaĝon. Kiam iu faras tion, ili aperos ĉi tie.",
"status.redraft": "Forigi kaj reskribi", "status.redraft": "Forigi kaj reskribi",
"status.remove_bookmark": "Forigi legosignon", "status.remove_bookmark": "Forigi legosignon",
"status.reply": "Respondi", "status.reply": "Respondi",
@ -484,6 +492,7 @@
"status.report": "Raporti @{name}", "status.report": "Raporti @{name}",
"status.sensitive_warning": "Tikla enhavo", "status.sensitive_warning": "Tikla enhavo",
"status.share": "Kundividi", "status.share": "Kundividi",
"status.show_filter_reason": "Ĉial montri",
"status.show_less": "Montri malpli", "status.show_less": "Montri malpli",
"status.show_less_all": "Montri malpli ĉiun", "status.show_less_all": "Montri malpli ĉiun",
"status.show_more": "Montri pli", "status.show_more": "Montri pli",
@ -494,7 +503,7 @@
"status.unpin": "Depingli de profilo", "status.unpin": "Depingli de profilo",
"suggestions.dismiss": "Forigi la proponon", "suggestions.dismiss": "Forigi la proponon",
"suggestions.header": "Vi povus interesiĝi pri…", "suggestions.header": "Vi povus interesiĝi pri…",
"tabs_bar.federated_timeline": "Federata", "tabs_bar.federated_timeline": "Fratara",
"tabs_bar.home": "Hejmo", "tabs_bar.home": "Hejmo",
"tabs_bar.local_timeline": "Loka templinio", "tabs_bar.local_timeline": "Loka templinio",
"tabs_bar.notifications": "Sciigoj", "tabs_bar.notifications": "Sciigoj",
@ -531,7 +540,7 @@
"upload_modal.choose_image": "Elekti bildon", "upload_modal.choose_image": "Elekti bildon",
"upload_modal.description_placeholder": "Laŭ Ludoviko Zamenhof bongustas freŝa ĉeĥa manĝaĵo kun spicoj", "upload_modal.description_placeholder": "Laŭ Ludoviko Zamenhof bongustas freŝa ĉeĥa manĝaĵo kun spicoj",
"upload_modal.detect_text": "Detekti tekston de la bildo", "upload_modal.detect_text": "Detekti tekston de la bildo",
"upload_modal.edit_media": "Redakti aŭdovidaĵon", "upload_modal.edit_media": "Redakti la aŭdovidaĵon",
"upload_modal.hint": "Klaku aŭ trenu la cirklon en la antaŭvidilo por elekti la fokuspunkton kiu ĉiam videblos en ĉiuj etigitaj bildoj.", "upload_modal.hint": "Klaku aŭ trenu la cirklon en la antaŭvidilo por elekti la fokuspunkton kiu ĉiam videblos en ĉiuj etigitaj bildoj.",
"upload_modal.preparing_ocr": "Preparante OSR…", "upload_modal.preparing_ocr": "Preparante OSR…",
"upload_modal.preview_label": "Antaŭvido ({ratio})", "upload_modal.preview_label": "Antaŭvido ({ratio})",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Configuración", "navigation_bar.preferences": "Configuración",
"navigation_bar.public_timeline": "Línea temporal federada", "navigation_bar.public_timeline": "Línea temporal federada",
"navigation_bar.security": "Seguridad", "navigation_bar.security": "Seguridad",
"notification.admin.report": "{name} denunció a {target}",
"notification.admin.sign_up": "Se registró {name}", "notification.admin.sign_up": "Se registró {name}",
"notification.favourite": "{name} marcó tu mensaje como favorito", "notification.favourite": "{name} marcó tu mensaje como favorito",
"notification.follow": "{name} te empezó a seguir", "notification.follow": "{name} te empezó a seguir",
@ -326,6 +327,7 @@
"notification.update": "{name} editó un mensaje", "notification.update": "{name} editó un mensaje",
"notifications.clear": "Limpiar notificaciones", "notifications.clear": "Limpiar notificaciones",
"notifications.clear_confirmation": "¿Estás seguro que querés limpiar todas tus notificaciones permanentemente?", "notifications.clear_confirmation": "¿Estás seguro que querés limpiar todas tus notificaciones permanentemente?",
"notifications.column_settings.admin.report": "Nuevas denuncias:",
"notifications.column_settings.admin.sign_up": "Nuevos registros:", "notifications.column_settings.admin.sign_up": "Nuevos registros:",
"notifications.column_settings.alert": "Notificaciones de escritorio", "notifications.column_settings.alert": "Notificaciones de escritorio",
"notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.favourite": "Favoritos:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Gracias por tu denuncia, vamos a revisarla.", "report.thanks.title_actionable": "Gracias por tu denuncia, vamos a revisarla.",
"report.unfollow": "Dejar de seguir a @{name}", "report.unfollow": "Dejar de seguir a @{name}",
"report.unfollow_explanation": "Estás siguiendo a esta cuenta. Para no ver sus mensajes en tu línea temporal principal, dejá de seguirla.", "report.unfollow_explanation": "Estás siguiendo a esta cuenta. Para no ver sus mensajes en tu línea temporal principal, dejá de seguirla.",
"report_notification.attached_statuses": "{count, plural, one {{count} mensaje adjunto} other {{count} mensajes adjuntos}}",
"report_notification.categories.other": "Otros",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Violación de regla",
"report_notification.open": "Abrir denuncia",
"search.placeholder": "Buscar", "search.placeholder": "Buscar",
"search_popout.search_format": "Formato de búsqueda avanzada", "search_popout.search_format": "Formato de búsqueda avanzada",
"search_popout.tips.full_text": "Las búsquedas de texto simple devuelven los mensajes que escribiste, los marcados como favoritos, los adheridos o en los que te mencionaron, así como nombres de usuarios, nombres mostrados y etiquetas.", "search_popout.tips.full_text": "Las búsquedas de texto simple devuelven los mensajes que escribiste, los marcados como favoritos, los adheridos o en los que te mencionaron, así como nombres de usuarios, nombres mostrados y etiquetas.",
@ -461,6 +468,7 @@
"status.embed": "Insertar", "status.embed": "Insertar",
"status.favourite": "Marcar como favorito", "status.favourite": "Marcar como favorito",
"status.filtered": "Filtrado", "status.filtered": "Filtrado",
"status.hide": "Ocultar mensaje",
"status.history.created": "Creado por {name} el {date}", "status.history.created": "Creado por {name} el {date}",
"status.history.edited": "Editado por {name} el {date}", "status.history.edited": "Editado por {name} el {date}",
"status.load_more": "Cargar más", "status.load_more": "Cargar más",
@ -484,6 +492,7 @@
"status.report": "Denunciar a @{name}", "status.report": "Denunciar a @{name}",
"status.sensitive_warning": "Contenido sensible", "status.sensitive_warning": "Contenido sensible",
"status.share": "Compartir", "status.share": "Compartir",
"status.show_filter_reason": "Mostrar de todos modos",
"status.show_less": "Mostrar menos", "status.show_less": "Mostrar menos",
"status.show_less_all": "Mostrar menos para todo", "status.show_less_all": "Mostrar menos para todo",
"status.show_more": "Mostrar más", "status.show_more": "Mostrar más",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Preferencias", "navigation_bar.preferences": "Preferencias",
"navigation_bar.public_timeline": "Historia federada", "navigation_bar.public_timeline": "Historia federada",
"navigation_bar.security": "Seguridad", "navigation_bar.security": "Seguridad",
"notification.admin.report": "{name} informó {target}",
"notification.admin.sign_up": "{name} se unio", "notification.admin.sign_up": "{name} se unio",
"notification.favourite": "{name} marcó tu estado como favorito", "notification.favourite": "{name} marcó tu estado como favorito",
"notification.follow": "{name} te empezó a seguir", "notification.follow": "{name} te empezó a seguir",
@ -326,6 +327,7 @@
"notification.update": "{name} editó una publicación", "notification.update": "{name} editó una publicación",
"notifications.clear": "Limpiar notificaciones", "notifications.clear": "Limpiar notificaciones",
"notifications.clear_confirmation": "¿Seguro que quieres limpiar permanentemente todas tus notificaciones?", "notifications.clear_confirmation": "¿Seguro que quieres limpiar permanentemente todas tus notificaciones?",
"notifications.column_settings.admin.report": "Nuevos informes:",
"notifications.column_settings.admin.sign_up": "Registros nuevos:", "notifications.column_settings.admin.sign_up": "Registros nuevos:",
"notifications.column_settings.alert": "Notificaciones de escritorio", "notifications.column_settings.alert": "Notificaciones de escritorio",
"notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.favourite": "Favoritos:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Gracias por informar, estudiaremos esto.", "report.thanks.title_actionable": "Gracias por informar, estudiaremos esto.",
"report.unfollow": "Dejar de seguir @{name}", "report.unfollow": "Dejar de seguir @{name}",
"report.unfollow_explanation": "Estás siguiendo esta cuenta. Para no ver sus publicaciones en tu sección de noticias, deja de seguirlo.", "report.unfollow_explanation": "Estás siguiendo esta cuenta. Para no ver sus publicaciones en tu sección de noticias, deja de seguirlo.",
"report_notification.attached_statuses": "{count, plural, one {{count} publicación} other {{count} publicaciones}} adjunta(s)",
"report_notification.categories.other": "Otros",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Infracción de regla",
"report_notification.open": "Abrir informe",
"search.placeholder": "Buscar", "search.placeholder": "Buscar",
"search_popout.search_format": "Formato de búsqueda avanzada", "search_popout.search_format": "Formato de búsqueda avanzada",
"search_popout.tips.full_text": "Búsquedas de texto recuperan posts que has escrito, marcado como favoritos, retooteado o en los que has sido mencionado, así como usuarios, nombres y hashtags.", "search_popout.tips.full_text": "Búsquedas de texto recuperan posts que has escrito, marcado como favoritos, retooteado o en los que has sido mencionado, así como usuarios, nombres y hashtags.",
@ -461,6 +468,7 @@
"status.embed": "Incrustado", "status.embed": "Incrustado",
"status.favourite": "Favorito", "status.favourite": "Favorito",
"status.filtered": "Filtrado", "status.filtered": "Filtrado",
"status.hide": "Hide toot",
"status.history.created": "{name} creó {date}", "status.history.created": "{name} creó {date}",
"status.history.edited": "{name} editado {date}", "status.history.edited": "{name} editado {date}",
"status.load_more": "Cargar más", "status.load_more": "Cargar más",
@ -484,6 +492,7 @@
"status.report": "Reportar", "status.report": "Reportar",
"status.sensitive_warning": "Contenido sensible", "status.sensitive_warning": "Contenido sensible",
"status.share": "Compartir", "status.share": "Compartir",
"status.show_filter_reason": "Show anyway",
"status.show_less": "Mostrar menos", "status.show_less": "Mostrar menos",
"status.show_less_all": "Mostrar menos para todo", "status.show_less_all": "Mostrar menos para todo",
"status.show_more": "Mostrar más", "status.show_more": "Mostrar más",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Preferencias", "navigation_bar.preferences": "Preferencias",
"navigation_bar.public_timeline": "Línea de tiempo federada", "navigation_bar.public_timeline": "Línea de tiempo federada",
"navigation_bar.security": "Seguridad", "navigation_bar.security": "Seguridad",
"notification.admin.report": "{name} informó {target}",
"notification.admin.sign_up": "{name} se registró", "notification.admin.sign_up": "{name} se registró",
"notification.favourite": "{name} marcó tu estado como favorito", "notification.favourite": "{name} marcó tu estado como favorito",
"notification.follow": "{name} te empezó a seguir", "notification.follow": "{name} te empezó a seguir",
@ -326,6 +327,7 @@
"notification.update": "{name} editó una publicación", "notification.update": "{name} editó una publicación",
"notifications.clear": "Limpiar notificaciones", "notifications.clear": "Limpiar notificaciones",
"notifications.clear_confirmation": "¿Seguro que quieres limpiar permanentemente todas tus notificaciones?", "notifications.clear_confirmation": "¿Seguro que quieres limpiar permanentemente todas tus notificaciones?",
"notifications.column_settings.admin.report": "Nuevos informes:",
"notifications.column_settings.admin.sign_up": "Nuevos registros:", "notifications.column_settings.admin.sign_up": "Nuevos registros:",
"notifications.column_settings.alert": "Notificaciones de escritorio", "notifications.column_settings.alert": "Notificaciones de escritorio",
"notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.favourite": "Favoritos:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Gracias por informar, estudiaremos esto.", "report.thanks.title_actionable": "Gracias por informar, estudiaremos esto.",
"report.unfollow": "Dejar de seguir a @{name}", "report.unfollow": "Dejar de seguir a @{name}",
"report.unfollow_explanation": "Estás siguiendo esta cuenta. Para no ver sus publicaciones en tu muro de inicio, deja de seguirla.", "report.unfollow_explanation": "Estás siguiendo esta cuenta. Para no ver sus publicaciones en tu muro de inicio, deja de seguirla.",
"report_notification.attached_statuses": "{count, plural, one {{count} publicación} other {{count} publicaciones}} adjunta(s)",
"report_notification.categories.other": "Otros",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Infracción de regla",
"report_notification.open": "Abrir informe",
"search.placeholder": "Buscar", "search.placeholder": "Buscar",
"search_popout.search_format": "Formato de búsqueda avanzada", "search_popout.search_format": "Formato de búsqueda avanzada",
"search_popout.tips.full_text": "Las búsquedas de texto recuperan publicaciones que has escrito, marcado como favoritas, retooteado o en los que has sido mencionado, así como usuarios, nombres y hashtags.", "search_popout.tips.full_text": "Las búsquedas de texto recuperan publicaciones que has escrito, marcado como favoritas, retooteado o en los que has sido mencionado, así como usuarios, nombres y hashtags.",
@ -461,6 +468,7 @@
"status.embed": "Incrustado", "status.embed": "Incrustado",
"status.favourite": "Favorito", "status.favourite": "Favorito",
"status.filtered": "Filtrado", "status.filtered": "Filtrado",
"status.hide": "Ocultar publicación",
"status.history.created": "{name} creó {date}", "status.history.created": "{name} creó {date}",
"status.history.edited": "{name} editó {date}", "status.history.edited": "{name} editó {date}",
"status.load_more": "Cargar más", "status.load_more": "Cargar más",
@ -484,6 +492,7 @@
"status.report": "Reportar", "status.report": "Reportar",
"status.sensitive_warning": "Contenido sensible", "status.sensitive_warning": "Contenido sensible",
"status.share": "Compartir", "status.share": "Compartir",
"status.show_filter_reason": "Mostrar de todos modos",
"status.show_less": "Mostrar menos", "status.show_less": "Mostrar menos",
"status.show_less_all": "Mostrar menos para todo", "status.show_less_all": "Mostrar menos para todo",
"status.show_more": "Mostrar más", "status.show_more": "Mostrar más",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Eelistused", "navigation_bar.preferences": "Eelistused",
"navigation_bar.public_timeline": "Föderatiivne ajajoon", "navigation_bar.public_timeline": "Föderatiivne ajajoon",
"navigation_bar.security": "Turvalisus", "navigation_bar.security": "Turvalisus",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up": "{name} signed up",
"notification.favourite": "{name} märkis Teie staatuse lemmikuks", "notification.favourite": "{name} märkis Teie staatuse lemmikuks",
"notification.follow": "{name} jälgib nüüd Teid", "notification.follow": "{name} jälgib nüüd Teid",
@ -326,6 +327,7 @@
"notification.update": "{name} edited a post", "notification.update": "{name} edited a post",
"notifications.clear": "Puhasta teated", "notifications.clear": "Puhasta teated",
"notifications.clear_confirmation": "Olete kindel, et soovite püsivalt kõik oma teated eemaldada?", "notifications.clear_confirmation": "Olete kindel, et soovite püsivalt kõik oma teated eemaldada?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "New sign-ups:",
"notifications.column_settings.alert": "Töölauateated", "notifications.column_settings.alert": "Töölauateated",
"notifications.column_settings.favourite": "Lemmikud:", "notifications.column_settings.favourite": "Lemmikud:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
"report.unfollow": "Unfollow @{name}", "report.unfollow": "Unfollow @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "Otsi", "search.placeholder": "Otsi",
"search_popout.search_format": "Täiustatud otsiformaat", "search_popout.search_format": "Täiustatud otsiformaat",
"search_popout.tips.full_text": "Lihtne tekst toob esile staatused mida olete kirjutanud, lisanud lemmikuks, upitanud või olete seal mainitud, ning lisaks veel kattuvad kasutajanimed, kuvanimed ja sildid.", "search_popout.tips.full_text": "Lihtne tekst toob esile staatused mida olete kirjutanud, lisanud lemmikuks, upitanud või olete seal mainitud, ning lisaks veel kattuvad kasutajanimed, kuvanimed ja sildid.",
@ -461,6 +468,7 @@
"status.embed": "Sängita", "status.embed": "Sängita",
"status.favourite": "Lemmik", "status.favourite": "Lemmik",
"status.filtered": "Filtreeritud", "status.filtered": "Filtreeritud",
"status.hide": "Hide toot",
"status.history.created": "{name} created {date}", "status.history.created": "{name} created {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "{name} edited {date}",
"status.load_more": "Lae rohkem", "status.load_more": "Lae rohkem",
@ -484,6 +492,7 @@
"status.report": "Raporteeri @{name}", "status.report": "Raporteeri @{name}",
"status.sensitive_warning": "Tundlik sisu", "status.sensitive_warning": "Tundlik sisu",
"status.share": "Jaga", "status.share": "Jaga",
"status.show_filter_reason": "Show anyway",
"status.show_less": "Näita vähem", "status.show_less": "Näita vähem",
"status.show_less_all": "Näita vähem kõigile", "status.show_less_all": "Näita vähem kõigile",
"status.show_more": "Näita veel", "status.show_more": "Näita veel",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Hobespenak", "navigation_bar.preferences": "Hobespenak",
"navigation_bar.public_timeline": "Federatutako denbora-lerroa", "navigation_bar.public_timeline": "Federatutako denbora-lerroa",
"navigation_bar.security": "Segurtasuna", "navigation_bar.security": "Segurtasuna",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} erabiltzailea erregistratu da", "notification.admin.sign_up": "{name} erabiltzailea erregistratu da",
"notification.favourite": "{name}(e)k zure bidalketa gogoko du", "notification.favourite": "{name}(e)k zure bidalketa gogoko du",
"notification.follow": "{name}(e)k jarraitzen zaitu", "notification.follow": "{name}(e)k jarraitzen zaitu",
@ -326,6 +327,7 @@
"notification.update": "{name} erabiltzaileak bidalketa bat editatu du", "notification.update": "{name} erabiltzaileak bidalketa bat editatu du",
"notifications.clear": "Garbitu jakinarazpenak", "notifications.clear": "Garbitu jakinarazpenak",
"notifications.clear_confirmation": "Ziur zure jakinarazpen guztiak behin betirako garbitu nahi dituzula?", "notifications.clear_confirmation": "Ziur zure jakinarazpen guztiak behin betirako garbitu nahi dituzula?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "Izen-emate berriak:", "notifications.column_settings.admin.sign_up": "Izen-emate berriak:",
"notifications.column_settings.alert": "Mahaigaineko jakinarazpenak", "notifications.column_settings.alert": "Mahaigaineko jakinarazpenak",
"notifications.column_settings.favourite": "Gogokoak:", "notifications.column_settings.favourite": "Gogokoak:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Mila esker salaketagatik, berrikusiko dugu.", "report.thanks.title_actionable": "Mila esker salaketagatik, berrikusiko dugu.",
"report.unfollow": "@{name} jarraitzeari utzi", "report.unfollow": "@{name} jarraitzeari utzi",
"report.unfollow_explanation": "Kontu hau jarraitzen ari zara. Zure denbora-lerro nagusian bere bidalketak ez ikusteko, jarraitzeari utzi.", "report.unfollow_explanation": "Kontu hau jarraitzen ari zara. Zure denbora-lerro nagusian bere bidalketak ez ikusteko, jarraitzeari utzi.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "Bilatu", "search.placeholder": "Bilatu",
"search_popout.search_format": "Bilaketa aurreratuaren formatua", "search_popout.search_format": "Bilaketa aurreratuaren formatua",
"search_popout.tips.full_text": "Testu hutsarekin zuk idatzitako bidalketak, gogokoak, bultzadak edo aipamenak aurkitu ditzakezu, bat datozen erabiltzaile-izenak, pantaila-izenak, eta traolak.", "search_popout.tips.full_text": "Testu hutsarekin zuk idatzitako bidalketak, gogokoak, bultzadak edo aipamenak aurkitu ditzakezu, bat datozen erabiltzaile-izenak, pantaila-izenak, eta traolak.",
@ -461,6 +468,7 @@
"status.embed": "Txertatu", "status.embed": "Txertatu",
"status.favourite": "Gogokoa", "status.favourite": "Gogokoa",
"status.filtered": "Iragazita", "status.filtered": "Iragazita",
"status.hide": "Hide toot",
"status.history.created": "{name} erabiltzaileak sortua {date}", "status.history.created": "{name} erabiltzaileak sortua {date}",
"status.history.edited": "{name} erabiltzaileak editatua {date}", "status.history.edited": "{name} erabiltzaileak editatua {date}",
"status.load_more": "Kargatu gehiago", "status.load_more": "Kargatu gehiago",
@ -484,6 +492,7 @@
"status.report": "Salatu @{name}", "status.report": "Salatu @{name}",
"status.sensitive_warning": "Kontuz: Eduki hunkigarria", "status.sensitive_warning": "Kontuz: Eduki hunkigarria",
"status.share": "Partekatu", "status.share": "Partekatu",
"status.show_filter_reason": "Show anyway",
"status.show_less": "Erakutsi gutxiago", "status.show_less": "Erakutsi gutxiago",
"status.show_less_all": "Erakutsi denetarik gutxiago", "status.show_less_all": "Erakutsi denetarik gutxiago",
"status.show_more": "Erakutsi gehiago", "status.show_more": "Erakutsi gehiago",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "ترجیحات", "navigation_bar.preferences": "ترجیحات",
"navigation_bar.public_timeline": "خط زمانی همگانی", "navigation_bar.public_timeline": "خط زمانی همگانی",
"navigation_bar.security": "امنیت", "navigation_bar.security": "امنیت",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} ثبت نام کرد", "notification.admin.sign_up": "{name} ثبت نام کرد",
"notification.favourite": "{name} فرسته‌تان را پسندید", "notification.favourite": "{name} فرسته‌تان را پسندید",
"notification.follow": "{name} پی‌گیرتان شد", "notification.follow": "{name} پی‌گیرتان شد",
@ -326,6 +327,7 @@
"notification.update": "{name} فرسته‌ای را ویرایش کرد", "notification.update": "{name} فرسته‌ای را ویرایش کرد",
"notifications.clear": "پاک‌سازی آگاهی‌ها", "notifications.clear": "پاک‌سازی آگاهی‌ها",
"notifications.clear_confirmation": "مطمئنید می‌خواهید همهٔ آگاهی‌هایتان را برای همیشه پاک کنید؟", "notifications.clear_confirmation": "مطمئنید می‌خواهید همهٔ آگاهی‌هایتان را برای همیشه پاک کنید؟",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "ثبت نام‌های جدید:", "notifications.column_settings.admin.sign_up": "ثبت نام‌های جدید:",
"notifications.column_settings.alert": "آگاهی‌های میزکار", "notifications.column_settings.alert": "آگاهی‌های میزکار",
"notifications.column_settings.favourite": "پسندیده‌ها:", "notifications.column_settings.favourite": "پسندیده‌ها:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "ممنون بابت گزارش، ما آن را بررسی خواهیم کرد.", "report.thanks.title_actionable": "ممنون بابت گزارش، ما آن را بررسی خواهیم کرد.",
"report.unfollow": "ناپی‌گیری @{name}", "report.unfollow": "ناپی‌گیری @{name}",
"report.unfollow_explanation": "شما این حساب را پی‌گرفته‌اید، برای اینکه دیگر فرسته‌هایش را در خوراک خانه‌تان نبینید؛ آن را پی‌نگیرید.", "report.unfollow_explanation": "شما این حساب را پی‌گرفته‌اید، برای اینکه دیگر فرسته‌هایش را در خوراک خانه‌تان نبینید؛ آن را پی‌نگیرید.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "جست‌وجو", "search.placeholder": "جست‌وجو",
"search_popout.search_format": "راهنمای جست‌وجوی پیشرفته", "search_popout.search_format": "راهنمای جست‌وجوی پیشرفته",
"search_popout.tips.full_text": "جست‌وجوی متنی ساده فرسته‌هایی که نوشته، پسندیده، تقویت‌کرده یا در آن‌ها نام‌برده شده‌اید را به علاوهٔ نام‌های کاربری، نام‌های نمایشی و برچسب‌ها برمی‌گرداند.", "search_popout.tips.full_text": "جست‌وجوی متنی ساده فرسته‌هایی که نوشته، پسندیده، تقویت‌کرده یا در آن‌ها نام‌برده شده‌اید را به علاوهٔ نام‌های کاربری، نام‌های نمایشی و برچسب‌ها برمی‌گرداند.",
@ -461,6 +468,7 @@
"status.embed": "جاسازی", "status.embed": "جاسازی",
"status.favourite": "پسندیدن", "status.favourite": "پسندیدن",
"status.filtered": "پالوده", "status.filtered": "پالوده",
"status.hide": "Hide toot",
"status.history.created": "توسط {name} در {date} ایجاد شد", "status.history.created": "توسط {name} در {date} ایجاد شد",
"status.history.edited": "توسط {name} در {date} ویرایش شد", "status.history.edited": "توسط {name} در {date} ویرایش شد",
"status.load_more": "بار کردن بیش‌تر", "status.load_more": "بار کردن بیش‌تر",
@ -484,6 +492,7 @@
"status.report": "گزارش @{name}", "status.report": "گزارش @{name}",
"status.sensitive_warning": "محتوای حساس", "status.sensitive_warning": "محتوای حساس",
"status.share": "هم‌رسانی", "status.share": "هم‌رسانی",
"status.show_filter_reason": "Show anyway",
"status.show_less": "نمایش کمتر", "status.show_less": "نمایش کمتر",
"status.show_less_all": "نمایش کمتر همه", "status.show_less_all": "نمایش کمتر همه",
"status.show_more": "نمایش بیشتر", "status.show_more": "نمایش بیشتر",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Asetukset", "navigation_bar.preferences": "Asetukset",
"navigation_bar.public_timeline": "Yleinen aikajana", "navigation_bar.public_timeline": "Yleinen aikajana",
"navigation_bar.security": "Turvallisuus", "navigation_bar.security": "Turvallisuus",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} rekisteröitynyt", "notification.admin.sign_up": "{name} rekisteröitynyt",
"notification.favourite": "{name} tykkäsi viestistäsi", "notification.favourite": "{name} tykkäsi viestistäsi",
"notification.follow": "{name} seurasi sinua", "notification.follow": "{name} seurasi sinua",
@ -326,6 +327,7 @@
"notification.update": "{name} muokkasi viestiä", "notification.update": "{name} muokkasi viestiä",
"notifications.clear": "Tyhjennä ilmoitukset", "notifications.clear": "Tyhjennä ilmoitukset",
"notifications.clear_confirmation": "Haluatko varmasti poistaa kaikki ilmoitukset pysyvästi?", "notifications.clear_confirmation": "Haluatko varmasti poistaa kaikki ilmoitukset pysyvästi?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "Uudet kirjautumiset:", "notifications.column_settings.admin.sign_up": "Uudet kirjautumiset:",
"notifications.column_settings.alert": "Työpöytäilmoitukset", "notifications.column_settings.alert": "Työpöytäilmoitukset",
"notifications.column_settings.favourite": "Tykkäykset:", "notifications.column_settings.favourite": "Tykkäykset:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Kiitos raportista, tutkimme asiaa.", "report.thanks.title_actionable": "Kiitos raportista, tutkimme asiaa.",
"report.unfollow": "Lopeta seuraaminen @{name}", "report.unfollow": "Lopeta seuraaminen @{name}",
"report.unfollow_explanation": "Seuraat tätä tiliä. Jotta et enää näkisi heidän kirjoituksiaan, lopeta niiden seuraaminen.", "report.unfollow_explanation": "Seuraat tätä tiliä. Jotta et enää näkisi heidän kirjoituksiaan, lopeta niiden seuraaminen.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "Hae", "search.placeholder": "Hae",
"search_popout.search_format": "Tarkennettu haku", "search_popout.search_format": "Tarkennettu haku",
"search_popout.tips.full_text": "Tekstihaku listaa tilapäivitykset, jotka olet kirjoittanut, lisännyt suosikkeihisi, boostannut tai joissa sinut mainitaan, sekä tekstin sisältävät käyttäjänimet, nimimerkit ja hastagit.", "search_popout.tips.full_text": "Tekstihaku listaa tilapäivitykset, jotka olet kirjoittanut, lisännyt suosikkeihisi, boostannut tai joissa sinut mainitaan, sekä tekstin sisältävät käyttäjänimet, nimimerkit ja hastagit.",
@ -461,6 +468,7 @@
"status.embed": "Upota", "status.embed": "Upota",
"status.favourite": "Tykkää", "status.favourite": "Tykkää",
"status.filtered": "Suodatettu", "status.filtered": "Suodatettu",
"status.hide": "Hide toot",
"status.history.created": "{name} luotu {date}", "status.history.created": "{name} luotu {date}",
"status.history.edited": "{name} muokkasi {date}", "status.history.edited": "{name} muokkasi {date}",
"status.load_more": "Lataa lisää", "status.load_more": "Lataa lisää",
@ -484,6 +492,7 @@
"status.report": "Raportoi @{name}", "status.report": "Raportoi @{name}",
"status.sensitive_warning": "Arkaluontoista sisältöä", "status.sensitive_warning": "Arkaluontoista sisältöä",
"status.share": "Jaa", "status.share": "Jaa",
"status.show_filter_reason": "Show anyway",
"status.show_less": "Näytä vähemmän", "status.show_less": "Näytä vähemmän",
"status.show_less_all": "Näytä vähemmän kaikista", "status.show_less_all": "Näytä vähemmän kaikista",
"status.show_more": "Näytä lisää", "status.show_more": "Näytä lisää",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Préférences", "navigation_bar.preferences": "Préférences",
"navigation_bar.public_timeline": "Fil public global", "navigation_bar.public_timeline": "Fil public global",
"navigation_bar.security": "Sécurité", "navigation_bar.security": "Sécurité",
"notification.admin.report": "{name} a signalé {target}",
"notification.admin.sign_up": "{name} s'est inscrit·e", "notification.admin.sign_up": "{name} s'est inscrit·e",
"notification.favourite": "{name} a ajouté le message à ses favoris", "notification.favourite": "{name} a ajouté le message à ses favoris",
"notification.follow": "{name} vous suit", "notification.follow": "{name} vous suit",
@ -326,6 +327,7 @@
"notification.update": "{name} a modifié un message", "notification.update": "{name} a modifié un message",
"notifications.clear": "Effacer les notifications", "notifications.clear": "Effacer les notifications",
"notifications.clear_confirmation": "Voulez-vous vraiment effacer toutes vos notifications?", "notifications.clear_confirmation": "Voulez-vous vraiment effacer toutes vos notifications?",
"notifications.column_settings.admin.report": "Nouveaux signalements :",
"notifications.column_settings.admin.sign_up": "Nouvelles inscriptions :", "notifications.column_settings.admin.sign_up": "Nouvelles inscriptions :",
"notifications.column_settings.alert": "Notifications du navigateur", "notifications.column_settings.alert": "Notifications du navigateur",
"notifications.column_settings.favourite": "Favoris:", "notifications.column_settings.favourite": "Favoris:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Merci pour votre signalement, nous allons investiguer.", "report.thanks.title_actionable": "Merci pour votre signalement, nous allons investiguer.",
"report.unfollow": "Ne plus suivre @{name}", "report.unfollow": "Ne plus suivre @{name}",
"report.unfollow_explanation": "Vous suivez ce compte. Désabonnez-vous pour ne plus en voir les messages sur votre fil principal.", "report.unfollow_explanation": "Vous suivez ce compte. Désabonnez-vous pour ne plus en voir les messages sur votre fil principal.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Autre",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Infraction aux règles du serveur",
"report_notification.open": "Ouvrir le signalement",
"search.placeholder": "Rechercher", "search.placeholder": "Rechercher",
"search_popout.search_format": "Recherche avancée", "search_popout.search_format": "Recherche avancée",
"search_popout.tips.full_text": "Un texte normal retourne les messages que vous avez écrits, ajoutés à vos favoris, partagés, ou vous mentionnant, ainsi que les identifiants, les noms affichés, et les hashtags des personnes et messages correspondants.", "search_popout.tips.full_text": "Un texte normal retourne les messages que vous avez écrits, ajoutés à vos favoris, partagés, ou vous mentionnant, ainsi que les identifiants, les noms affichés, et les hashtags des personnes et messages correspondants.",
@ -461,6 +468,7 @@
"status.embed": "Intégrer", "status.embed": "Intégrer",
"status.favourite": "Ajouter aux favoris", "status.favourite": "Ajouter aux favoris",
"status.filtered": "Filtré", "status.filtered": "Filtré",
"status.hide": "Cacher le pouet",
"status.history.created": "créé par {name} {date}", "status.history.created": "créé par {name} {date}",
"status.history.edited": "édité par {name} {date}", "status.history.edited": "édité par {name} {date}",
"status.load_more": "Charger plus", "status.load_more": "Charger plus",
@ -484,6 +492,7 @@
"status.report": "Signaler @{name}", "status.report": "Signaler @{name}",
"status.sensitive_warning": "Contenu sensible", "status.sensitive_warning": "Contenu sensible",
"status.share": "Partager", "status.share": "Partager",
"status.show_filter_reason": "Afficher quand même",
"status.show_less": "Replier", "status.show_less": "Replier",
"status.show_less_all": "Tout replier", "status.show_less_all": "Tout replier",
"status.show_more": "Déplier", "status.show_more": "Déplier",
@ -524,7 +533,7 @@
"upload_form.edit": "Modifier", "upload_form.edit": "Modifier",
"upload_form.thumbnail": "Changer la vignette", "upload_form.thumbnail": "Changer la vignette",
"upload_form.undo": "Supprimer", "upload_form.undo": "Supprimer",
"upload_form.video_description": "Décrire pour les personnes ayant des problèmes daudition ou de vision", "upload_form.video_description": "Décrire pour les personnes ayant des problèmes de vue ou d'audition",
"upload_modal.analyzing_picture": "Analyse de limage en cours…", "upload_modal.analyzing_picture": "Analyse de limage en cours…",
"upload_modal.apply": "Appliquer", "upload_modal.apply": "Appliquer",
"upload_modal.applying": "Application en cours…", "upload_modal.applying": "Application en cours…",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Foarkarren", "navigation_bar.preferences": "Foarkarren",
"navigation_bar.public_timeline": "Federated timeline", "navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security", "navigation_bar.security": "Security",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} hat harren ynskreaun", "notification.admin.sign_up": "{name} hat harren ynskreaun",
"notification.favourite": "{name} hat jo berjocht as favoryt markearre", "notification.favourite": "{name} hat jo berjocht as favoryt markearre",
"notification.follow": "{name} folget jo", "notification.follow": "{name} folget jo",
@ -326,6 +327,7 @@
"notification.update": "{name} hat in berjocht feroare", "notification.update": "{name} hat in berjocht feroare",
"notifications.clear": "Notifikaasjes leegje", "notifications.clear": "Notifikaasjes leegje",
"notifications.clear_confirmation": "Wolle jo al jo notifikaasjes werklik foar ivich fuortsmite?", "notifications.clear_confirmation": "Wolle jo al jo notifikaasjes werklik foar ivich fuortsmite?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "Nije ynskriuwingen:", "notifications.column_settings.admin.sign_up": "Nije ynskriuwingen:",
"notifications.column_settings.alert": "Desktop notifikaasjes", "notifications.column_settings.alert": "Desktop notifikaasjes",
"notifications.column_settings.favourite": "Favoriten:", "notifications.column_settings.favourite": "Favoriten:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
"report.unfollow": "Unfollow @{name}", "report.unfollow": "Unfollow @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "Search", "search.placeholder": "Search",
"search_popout.search_format": "Advanced search format", "search_popout.search_format": "Advanced search format",
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
@ -461,6 +468,7 @@
"status.embed": "Ynslute", "status.embed": "Ynslute",
"status.favourite": "Favorite", "status.favourite": "Favorite",
"status.filtered": "Filtere", "status.filtered": "Filtere",
"status.hide": "Hide toot",
"status.history.created": "{name} makke dit {date}", "status.history.created": "{name} makke dit {date}",
"status.history.edited": "{name} feroare dit {date}", "status.history.edited": "{name} feroare dit {date}",
"status.load_more": "Load more", "status.load_more": "Load more",
@ -484,6 +492,7 @@
"status.report": "Jou @{name} oan", "status.report": "Jou @{name} oan",
"status.sensitive_warning": "Sensitive content", "status.sensitive_warning": "Sensitive content",
"status.share": "Diele", "status.share": "Diele",
"status.show_filter_reason": "Show anyway",
"status.show_less": "Minder sjen litte", "status.show_less": "Minder sjen litte",
"status.show_less_all": "Foar alles minder sjen litte", "status.show_less_all": "Foar alles minder sjen litte",
"status.show_more": "Mear sjen litte", "status.show_more": "Mear sjen litte",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Preferences", "navigation_bar.preferences": "Preferences",
"navigation_bar.public_timeline": "Federated timeline", "navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security", "navigation_bar.security": "Security",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up": "{name} signed up",
"notification.favourite": "Roghnaigh {name} do phostáil", "notification.favourite": "Roghnaigh {name} do phostáil",
"notification.follow": "Lean {name} thú", "notification.follow": "Lean {name} thú",
@ -326,6 +327,7 @@
"notification.update": "Chuir {name} postáil in eagar", "notification.update": "Chuir {name} postáil in eagar",
"notifications.clear": "Clear notifications", "notifications.clear": "Clear notifications",
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "New sign-ups:",
"notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.alert": "Desktop notifications",
"notifications.column_settings.favourite": "Roghanna:", "notifications.column_settings.favourite": "Roghanna:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
"report.unfollow": "Unfollow @{name}", "report.unfollow": "Unfollow @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "Cuardaigh", "search.placeholder": "Cuardaigh",
"search_popout.search_format": "Advanced search format", "search_popout.search_format": "Advanced search format",
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
@ -461,6 +468,7 @@
"status.embed": "Embed", "status.embed": "Embed",
"status.favourite": "Rogha", "status.favourite": "Rogha",
"status.filtered": "Filtered", "status.filtered": "Filtered",
"status.hide": "Hide toot",
"status.history.created": "{name} created {date}", "status.history.created": "{name} created {date}",
"status.history.edited": "Curtha in eagar ag {name} in {date}", "status.history.edited": "Curtha in eagar ag {name} in {date}",
"status.load_more": "Load more", "status.load_more": "Load more",
@ -484,6 +492,7 @@
"status.report": "Report @{name}", "status.report": "Report @{name}",
"status.sensitive_warning": "Sensitive content", "status.sensitive_warning": "Sensitive content",
"status.share": "Share", "status.share": "Share",
"status.show_filter_reason": "Show anyway",
"status.show_less": "Show less", "status.show_less": "Show less",
"status.show_less_all": "Show less for all", "status.show_less_all": "Show less for all",
"status.show_more": "Show more", "status.show_more": "Show more",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Roghainnean", "navigation_bar.preferences": "Roghainnean",
"navigation_bar.public_timeline": "Loidhne-ama cho-naisgte", "navigation_bar.public_timeline": "Loidhne-ama cho-naisgte",
"navigation_bar.security": "Tèarainteachd", "navigation_bar.security": "Tèarainteachd",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "Chlàraich {name}", "notification.admin.sign_up": "Chlàraich {name}",
"notification.favourite": "Is annsa le {name} am post agad", "notification.favourite": "Is annsa le {name} am post agad",
"notification.follow": "Tha {name} a leantainn ort a-nis", "notification.follow": "Tha {name} a leantainn ort a-nis",
@ -326,6 +327,7 @@
"notification.update": "Dheasaich {name} post", "notification.update": "Dheasaich {name} post",
"notifications.clear": "Falamhaich na brathan", "notifications.clear": "Falamhaich na brathan",
"notifications.clear_confirmation": "A bheil thu cinnteach gu bheil thu airson na brathan uile agad fhalamhachadh gu buan?", "notifications.clear_confirmation": "A bheil thu cinnteach gu bheil thu airson na brathan uile agad fhalamhachadh gu buan?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "Clàraidhean ùra:", "notifications.column_settings.admin.sign_up": "Clàraidhean ùra:",
"notifications.column_settings.alert": "Brathan deasga", "notifications.column_settings.alert": "Brathan deasga",
"notifications.column_settings.favourite": "Na h-annsachdan:", "notifications.column_settings.favourite": "Na h-annsachdan:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Mòran taing airson a ghearain, bheir sinn sùil air.", "report.thanks.title_actionable": "Mòran taing airson a ghearain, bheir sinn sùil air.",
"report.unfollow": "Na lean air @{name} tuilleadh", "report.unfollow": "Na lean air @{name} tuilleadh",
"report.unfollow_explanation": "Tha thu a leantainn air a chunntas seo. Sgur de leantainn orra ach nach fhaic thu na puist aca air inbhir na dachaigh agad.", "report.unfollow_explanation": "Tha thu a leantainn air a chunntas seo. Sgur de leantainn orra ach nach fhaic thu na puist aca air inbhir na dachaigh agad.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "Lorg", "search.placeholder": "Lorg",
"search_popout.search_format": "Fòrmat adhartach an luirg", "search_popout.search_format": "Fòrmat adhartach an luirg",
"search_popout.tips.full_text": "Bheir teacsa sìmplidh dhut na postaichean a sgrìobh thu, a tha nan annsachdan dhut, a bhrosnaich thu no san deach iomradh a thoirt ort cho math ri ainmean-cleachdaiche, ainmean taisbeanaidh agus tagaichean hais a mhaidsicheas.", "search_popout.tips.full_text": "Bheir teacsa sìmplidh dhut na postaichean a sgrìobh thu, a tha nan annsachdan dhut, a bhrosnaich thu no san deach iomradh a thoirt ort cho math ri ainmean-cleachdaiche, ainmean taisbeanaidh agus tagaichean hais a mhaidsicheas.",
@ -461,6 +468,7 @@
"status.embed": "Leabaich", "status.embed": "Leabaich",
"status.favourite": "Cuir ris na h-annsachdan", "status.favourite": "Cuir ris na h-annsachdan",
"status.filtered": "Criathraichte", "status.filtered": "Criathraichte",
"status.hide": "Hide toot",
"status.history.created": "Chruthaich {name} {date} e", "status.history.created": "Chruthaich {name} {date} e",
"status.history.edited": "Dheasaich {name} {date} e", "status.history.edited": "Dheasaich {name} {date} e",
"status.load_more": "Luchdaich barrachd dheth", "status.load_more": "Luchdaich barrachd dheth",
@ -484,6 +492,7 @@
"status.report": "Dèan gearan mu @{name}", "status.report": "Dèan gearan mu @{name}",
"status.sensitive_warning": "Susbaint fhrionasach", "status.sensitive_warning": "Susbaint fhrionasach",
"status.share": "Co-roinn", "status.share": "Co-roinn",
"status.show_filter_reason": "Show anyway",
"status.show_less": "Seall nas lugha dheth", "status.show_less": "Seall nas lugha dheth",
"status.show_less_all": "Seall nas lugha dhen a h-uile", "status.show_less_all": "Seall nas lugha dhen a h-uile",
"status.show_more": "Seall barrachd dheth", "status.show_more": "Seall barrachd dheth",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Preferencias", "navigation_bar.preferences": "Preferencias",
"navigation_bar.public_timeline": "Cronoloxía federada", "navigation_bar.public_timeline": "Cronoloxía federada",
"navigation_bar.security": "Seguranza", "navigation_bar.security": "Seguranza",
"notification.admin.report": "{name} denunciou a {target}",
"notification.admin.sign_up": "{name} rexistrouse", "notification.admin.sign_up": "{name} rexistrouse",
"notification.favourite": "{name} marcou a túa publicación como favorita", "notification.favourite": "{name} marcou a túa publicación como favorita",
"notification.follow": "{name} comezou a seguirte", "notification.follow": "{name} comezou a seguirte",
@ -326,6 +327,7 @@
"notification.update": "{name} editou unha publicación", "notification.update": "{name} editou unha publicación",
"notifications.clear": "Limpar notificacións", "notifications.clear": "Limpar notificacións",
"notifications.clear_confirmation": "Tes a certeza de querer limpar de xeito permanente todas as túas notificacións?", "notifications.clear_confirmation": "Tes a certeza de querer limpar de xeito permanente todas as túas notificacións?",
"notifications.column_settings.admin.report": "Novas denuncias:",
"notifications.column_settings.admin.sign_up": "Novas usuarias:", "notifications.column_settings.admin.sign_up": "Novas usuarias:",
"notifications.column_settings.alert": "Notificacións de escritorio", "notifications.column_settings.alert": "Notificacións de escritorio",
"notifications.column_settings.favourite": "Favoritos:", "notifications.column_settings.favourite": "Favoritos:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Grazas pola denuncia, investigarémola.", "report.thanks.title_actionable": "Grazas pola denuncia, investigarémola.",
"report.unfollow": "Non seguir a @{name}", "report.unfollow": "Non seguir a @{name}",
"report.unfollow_explanation": "Estás a seguir esta conta. Deixar de ver as súas publicacións na túa cronoloxía, non seguila.", "report.unfollow_explanation": "Estás a seguir esta conta. Deixar de ver as súas publicacións na túa cronoloxía, non seguila.",
"report_notification.attached_statuses": "Achegou {count, plural, one {{count} publicación} other {{count} publicacións}}",
"report_notification.categories.other": "Outro",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Faltou ás regras",
"report_notification.open": "Abrir a denuncia",
"search.placeholder": "Procurar", "search.placeholder": "Procurar",
"search_popout.search_format": "Formato de procura avanzada", "search_popout.search_format": "Formato de procura avanzada",
"search_popout.tips.full_text": "Texto simple devolve toots que ti escribiches, promoviches, marcaches favoritos, ou foches mencionada, así como nomes de usuaria coincidentes, nomes públicos e cancelos.", "search_popout.tips.full_text": "Texto simple devolve toots que ti escribiches, promoviches, marcaches favoritos, ou foches mencionada, así como nomes de usuaria coincidentes, nomes públicos e cancelos.",
@ -461,6 +468,7 @@
"status.embed": "Incrustar", "status.embed": "Incrustar",
"status.favourite": "Favorito", "status.favourite": "Favorito",
"status.filtered": "Filtrado", "status.filtered": "Filtrado",
"status.hide": "Agochar publicación",
"status.history.created": "{name} creouno o {date}", "status.history.created": "{name} creouno o {date}",
"status.history.edited": "{name} editouno o {date}", "status.history.edited": "{name} editouno o {date}",
"status.load_more": "Cargar máis", "status.load_more": "Cargar máis",
@ -484,6 +492,7 @@
"status.report": "Denunciar @{name}", "status.report": "Denunciar @{name}",
"status.sensitive_warning": "Contido sensíbel", "status.sensitive_warning": "Contido sensíbel",
"status.share": "Compartir", "status.share": "Compartir",
"status.show_filter_reason": "Mostrar igualmente",
"status.show_less": "Amosar menos", "status.show_less": "Amosar menos",
"status.show_less_all": "Amosar menos para todos", "status.show_less_all": "Amosar menos para todos",
"status.show_more": "Amosar máis", "status.show_more": "Amosar máis",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "העדפות", "navigation_bar.preferences": "העדפות",
"navigation_bar.public_timeline": "ציר זמן בין-קהילתי", "navigation_bar.public_timeline": "ציר זמן בין-קהילתי",
"navigation_bar.security": "אבטחה", "navigation_bar.security": "אבטחה",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} נרשמו", "notification.admin.sign_up": "{name} נרשמו",
"notification.favourite": "חצרוצך חובב על ידי {name}", "notification.favourite": "חצרוצך חובב על ידי {name}",
"notification.follow": "{name} במעקב אחרייך", "notification.follow": "{name} במעקב אחרייך",
@ -321,11 +322,12 @@
"notification.mention": "אוזכרת על ידי {name}", "notification.mention": "אוזכרת על ידי {name}",
"notification.own_poll": "הסקר שלך הסתיים", "notification.own_poll": "הסקר שלך הסתיים",
"notification.poll": "סקר שהצבעת בו הסתיים", "notification.poll": "סקר שהצבעת בו הסתיים",
"notification.reblog": "חצרוצך הודהד על ידי {name}", "notification.reblog": "הפוסט הזה הודהד על ידי {name}",
"notification.status": "{name} הרגע פרסמו", "notification.status": "{name} הרגע פרסמו",
"notification.update": "{name} ערכו פוסט", "notification.update": "{name} ערכו פוסט",
"notifications.clear": "הסרת התראות", "notifications.clear": "הסרת התראות",
"notifications.clear_confirmation": "להסיר את כל ההתראות? בטוח?", "notifications.clear_confirmation": "להסיר את כל ההתראות? בטוח?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "הרשמות חדשות:", "notifications.column_settings.admin.sign_up": "הרשמות חדשות:",
"notifications.column_settings.alert": "התראות לשולחן העבודה", "notifications.column_settings.alert": "התראות לשולחן העבודה",
"notifications.column_settings.favourite": "מחובבים:", "notifications.column_settings.favourite": "מחובבים:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "תודה על הדיווח, נבדוק את העניין.", "report.thanks.title_actionable": "תודה על הדיווח, נבדוק את העניין.",
"report.unfollow": "הפסיקו לעקוב אחרי @{name}", "report.unfollow": "הפסיקו לעקוב אחרי @{name}",
"report.unfollow_explanation": "אתם עוקבים אחרי החשבון הזה. כדי להפסיק לראות את הפרסומים שלו בפיד הבית שלכם, הפסיקו לעקוב אחריהם.", "report.unfollow_explanation": "אתם עוקבים אחרי החשבון הזה. כדי להפסיק לראות את הפרסומים שלו בפיד הבית שלכם, הפסיקו לעקוב אחריהם.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "חיפוש", "search.placeholder": "חיפוש",
"search_popout.search_format": "מבנה חיפוש מתקדם", "search_popout.search_format": "מבנה חיפוש מתקדם",
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
@ -461,6 +468,7 @@
"status.embed": "הטמעה", "status.embed": "הטמעה",
"status.favourite": "חיבוב", "status.favourite": "חיבוב",
"status.filtered": "סונן", "status.filtered": "סונן",
"status.hide": "Hide toot",
"status.history.created": "{name} יצר/ה {date}", "status.history.created": "{name} יצר/ה {date}",
"status.history.edited": "{name} ערך/ה {date}", "status.history.edited": "{name} ערך/ה {date}",
"status.load_more": "עוד", "status.load_more": "עוד",
@ -475,7 +483,7 @@
"status.read_more": "לקרוא עוד", "status.read_more": "לקרוא עוד",
"status.reblog": "הדהוד", "status.reblog": "הדהוד",
"status.reblog_private": "להדהד ברמת הנראות המקורית", "status.reblog_private": "להדהד ברמת הנראות המקורית",
"status.reblogged_by": "הודהד על ידי {name}", "status.reblogged_by": "{name} הידהד/ה:",
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
"status.redraft": "מחיקה ועריכה מחדש", "status.redraft": "מחיקה ועריכה מחדש",
"status.remove_bookmark": "הסרת סימניה", "status.remove_bookmark": "הסרת סימניה",
@ -484,6 +492,7 @@
"status.report": "דיווח על @{name}", "status.report": "דיווח על @{name}",
"status.sensitive_warning": "תוכן רגיש", "status.sensitive_warning": "תוכן רגיש",
"status.share": "שיתוף", "status.share": "שיתוף",
"status.show_filter_reason": "Show anyway",
"status.show_less": "הראה פחות", "status.show_less": "הראה פחות",
"status.show_less_all": "להציג פחות מהכל", "status.show_less_all": "להציג פחות מהכל",
"status.show_more": "הראה יותר", "status.show_more": "הראה יותר",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Preferences", "navigation_bar.preferences": "Preferences",
"navigation_bar.public_timeline": "Federated timeline", "navigation_bar.public_timeline": "Federated timeline",
"navigation_bar.security": "Security", "navigation_bar.security": "Security",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up": "{name} signed up",
"notification.favourite": "{name} favourited your status", "notification.favourite": "{name} favourited your status",
"notification.follow": "{name} followed you", "notification.follow": "{name} followed you",
@ -326,6 +327,7 @@
"notification.update": "{name} edited a post", "notification.update": "{name} edited a post",
"notifications.clear": "Clear notifications", "notifications.clear": "Clear notifications",
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "New sign-ups:",
"notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.alert": "Desktop notifications",
"notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.favourite": "Favourites:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
"report.unfollow": "Unfollow @{name}", "report.unfollow": "Unfollow @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "खोजें", "search.placeholder": "खोजें",
"search_popout.search_format": "Advanced search format", "search_popout.search_format": "Advanced search format",
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
@ -461,6 +468,7 @@
"status.embed": "Embed", "status.embed": "Embed",
"status.favourite": "Favourite", "status.favourite": "Favourite",
"status.filtered": "Filtered", "status.filtered": "Filtered",
"status.hide": "Hide toot",
"status.history.created": "{name} created {date}", "status.history.created": "{name} created {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "{name} edited {date}",
"status.load_more": "Load more", "status.load_more": "Load more",
@ -484,6 +492,7 @@
"status.report": "Report @{name}", "status.report": "Report @{name}",
"status.sensitive_warning": "संवेदनशील विषय वस्तु", "status.sensitive_warning": "संवेदनशील विषय वस्तु",
"status.share": "शेयर करें", "status.share": "शेयर करें",
"status.show_filter_reason": "Show anyway",
"status.show_less": "कम दिखाएँ", "status.show_less": "कम दिखाएँ",
"status.show_less_all": "Show less for all", "status.show_less_all": "Show less for all",
"status.show_more": "और दिखाएँ", "status.show_more": "और दिखाएँ",

@ -314,6 +314,7 @@
"navigation_bar.preferences": "Postavke", "navigation_bar.preferences": "Postavke",
"navigation_bar.public_timeline": "Federalna vremenska crta", "navigation_bar.public_timeline": "Federalna vremenska crta",
"navigation_bar.security": "Sigurnost", "navigation_bar.security": "Sigurnost",
"notification.admin.report": "{name} reported {target}",
"notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up": "{name} signed up",
"notification.favourite": "{name} je favorizirao/la Vaš toot", "notification.favourite": "{name} je favorizirao/la Vaš toot",
"notification.follow": "{name} Vas je počeo/la pratiti", "notification.follow": "{name} Vas je počeo/la pratiti",
@ -326,6 +327,7 @@
"notification.update": "{name} edited a post", "notification.update": "{name} edited a post",
"notifications.clear": "Očisti obavijesti", "notifications.clear": "Očisti obavijesti",
"notifications.clear_confirmation": "Želite li zaista trajno očistiti sve Vaše obavijesti?", "notifications.clear_confirmation": "Želite li zaista trajno očistiti sve Vaše obavijesti?",
"notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "New sign-ups:",
"notifications.column_settings.alert": "Obavijesti radne površine", "notifications.column_settings.alert": "Obavijesti radne površine",
"notifications.column_settings.favourite": "Favoriti:", "notifications.column_settings.favourite": "Favoriti:",
@ -431,6 +433,11 @@
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
"report.unfollow": "Unfollow @{name}", "report.unfollow": "Unfollow @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Other",
"report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report",
"search.placeholder": "Traži", "search.placeholder": "Traži",
"search_popout.search_format": "Format naprednog pretraživanja", "search_popout.search_format": "Format naprednog pretraživanja",
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
@ -461,6 +468,7 @@
"status.embed": "Embed", "status.embed": "Embed",
"status.favourite": "Označi favoritom", "status.favourite": "Označi favoritom",
"status.filtered": "Filtered", "status.filtered": "Filtered",
"status.hide": "Hide toot",
"status.history.created": "{name} created {date}", "status.history.created": "{name} created {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "{name} edited {date}",
"status.load_more": "Učitaj više", "status.load_more": "Učitaj više",
@ -484,6 +492,7 @@
"status.report": "Prijavi @{name}", "status.report": "Prijavi @{name}",
"status.sensitive_warning": "Osjetljiv sadržaj", "status.sensitive_warning": "Osjetljiv sadržaj",
"status.share": "Podijeli", "status.share": "Podijeli",
"status.show_filter_reason": "Show anyway",
"status.show_less": "Pokaži manje", "status.show_less": "Pokaži manje",
"status.show_less_all": "Show less for all", "status.show_less_all": "Show less for all",
"status.show_more": "Pokaži više", "status.show_more": "Pokaži više",

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

Loading…
Cancel
Save