mirror of
https://git.kescher.at/CatCatNya/catstodon.git
synced 2024-11-29 09:39:04 +01:00
Merge remote-tracking branch 'upstream/main' into develop
This commit is contained in:
commit
791363f1d2
466 changed files with 9032 additions and 2891 deletions
|
@ -283,8 +283,8 @@ MAX_POLL_OPTION_CHARS=100
|
|||
# If undefined or smaller than MAX_EMOJI_SIZE, the value
|
||||
# of MAX_EMOJI_SIZE will be used for MAX_REMOTE_EMOJI_SIZE
|
||||
# Units are in bytes
|
||||
MAX_EMOJI_SIZE=51200
|
||||
MAX_REMOTE_EMOJI_SIZE=204800
|
||||
# MAX_EMOJI_SIZE=262144
|
||||
# MAX_REMOTE_EMOJI_SIZE=262144
|
||||
|
||||
# IP retention period
|
||||
# If undefined, the value of 31556952 (1 average year) will be used.
|
||||
|
@ -302,3 +302,11 @@ SESSION_RETENTION_PERIOD=31556952
|
|||
# Optional hCaptcha support
|
||||
# HCAPTCHA_SECRET_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
|
||||
|
||||
Metrics/AbcSize:
|
||||
Max: 100
|
||||
Max: 115
|
||||
Exclude:
|
||||
- 'lib/mastodon/*_cli.rb'
|
||||
|
||||
|
@ -84,7 +84,7 @@ Metrics/BlockNesting:
|
|||
|
||||
Metrics/ClassLength:
|
||||
CountComments: false
|
||||
Max: 400
|
||||
Max: 500
|
||||
Exclude:
|
||||
- 'lib/mastodon/*_cli.rb'
|
||||
|
||||
|
|
6
Gemfile
6
Gemfile
|
@ -10,7 +10,7 @@ gem 'puma', '~> 5.6'
|
|||
gem 'rails', '~> 6.1.6'
|
||||
gem 'sprockets', '~> 3.7.2'
|
||||
gem 'thor', '~> 1.2'
|
||||
gem 'rack', '~> 2.2.3'
|
||||
gem 'rack', '~> 2.2.4'
|
||||
|
||||
gem 'hamlit-rails', '~> 0.2'
|
||||
gem 'pg', '~> 1.4'
|
||||
|
@ -40,7 +40,7 @@ end
|
|||
gem 'net-ldap', '~> 0.17'
|
||||
gem 'omniauth-cas', '~> 2.0'
|
||||
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-rails_csrf_protection', '~> 0.1'
|
||||
|
||||
|
@ -78,7 +78,7 @@ gem 'rqrcode', '~> 2.1'
|
|||
gem 'ruby-progressbar', '~> 1.11'
|
||||
gem 'sanitize', '~> 6.0'
|
||||
gem 'scenic', '~> 1.6'
|
||||
gem 'sidekiq', '~> 6.4'
|
||||
gem 'sidekiq', '~> 6.5'
|
||||
gem 'sidekiq-scheduler', '~> 4.0'
|
||||
gem 'sidekiq-unique-jobs', '~> 7.1'
|
||||
gem 'sidekiq-bulk', '~> 0.2.0'
|
||||
|
|
18
Gemfile.lock
18
Gemfile.lock
|
@ -270,9 +270,9 @@ GEM
|
|||
fuubar (2.5.1)
|
||||
rspec-core (~> 3.0)
|
||||
ruby-progressbar (~> 1.4)
|
||||
gitlab-omniauth-openid-connect (0.9.1)
|
||||
gitlab-omniauth-openid-connect (0.10.0)
|
||||
addressable (~> 2.7)
|
||||
omniauth (~> 1.9)
|
||||
omniauth (>= 1.9, < 3)
|
||||
openid_connect (~> 1.2)
|
||||
globalid (1.0.0)
|
||||
activesupport (>= 5.0)
|
||||
|
@ -415,7 +415,7 @@ GEM
|
|||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
sidekiq (>= 3.5)
|
||||
statsd-ruby (~> 1.4, >= 1.4.0)
|
||||
oj (3.13.14)
|
||||
oj (3.13.16)
|
||||
omniauth (1.9.1)
|
||||
hashie (>= 3.4.6)
|
||||
rack (>= 1.6.2, < 3)
|
||||
|
@ -477,7 +477,7 @@ GEM
|
|||
activesupport (>= 3.0.0)
|
||||
raabro (1.4.0)
|
||||
racc (1.6.0)
|
||||
rack (2.2.3.1)
|
||||
rack (2.2.4)
|
||||
rack-attack (6.6.1)
|
||||
rack (>= 1.0, < 3)
|
||||
rack-cors (1.1.1)
|
||||
|
@ -604,7 +604,7 @@ GEM
|
|||
railties (>= 4.0.0)
|
||||
securecompare (1.0.0)
|
||||
semantic_range (3.0.0)
|
||||
sidekiq (6.4.2)
|
||||
sidekiq (6.5.1)
|
||||
connection_pool (>= 2.2.2)
|
||||
rack (~> 2.0)
|
||||
redis (>= 4.2.0)
|
||||
|
@ -686,7 +686,7 @@ GEM
|
|||
validate_email (0.1.6)
|
||||
activemodel (>= 3.0)
|
||||
mail (>= 2.2.5)
|
||||
validate_url (1.0.13)
|
||||
validate_url (1.0.15)
|
||||
activemodel (>= 3.0.0)
|
||||
public_suffix
|
||||
warden (1.2.9)
|
||||
|
@ -768,7 +768,7 @@ DEPENDENCIES
|
|||
fog-core (<= 2.1.0)
|
||||
fog-openstack (~> 0.3)
|
||||
fuubar (~> 2.5)
|
||||
gitlab-omniauth-openid-connect (~> 0.9.1)
|
||||
gitlab-omniauth-openid-connect (~> 0.10.0)
|
||||
hamlit-rails (~> 0.2)
|
||||
hcaptcha (~> 7.1)
|
||||
hiredis (~> 0.6)
|
||||
|
@ -811,7 +811,7 @@ DEPENDENCIES
|
|||
pry-rails (~> 0.3)
|
||||
puma (~> 5.6)
|
||||
pundit (~> 2.2)
|
||||
rack (~> 2.2.3)
|
||||
rack (~> 2.2.4)
|
||||
rack-attack (~> 6.6)
|
||||
rack-cors (~> 1.1)
|
||||
rails (~> 6.1.6)
|
||||
|
@ -832,7 +832,7 @@ DEPENDENCIES
|
|||
ruby-progressbar (~> 1.11)
|
||||
sanitize (~> 6.0)
|
||||
scenic (~> 1.6)
|
||||
sidekiq (~> 6.4)
|
||||
sidekiq (~> 6.5)
|
||||
sidekiq-bulk (~> 0.2.0)
|
||||
sidekiq-scheduler (~> 4.0)
|
||||
sidekiq-unique-jobs (~> 7.1)
|
||||
|
|
|
@ -5,11 +5,15 @@ module Admin
|
|||
before_action :set_account
|
||||
|
||||
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)
|
||||
@warning_presets = AccountWarningPreset.all
|
||||
end
|
||||
|
||||
def create
|
||||
authorize @account, :show?
|
||||
|
||||
account_action = Admin::AccountAction.new(resource_params)
|
||||
account_action.target_account = @account
|
||||
account_action.current_account = current_account
|
||||
|
|
|
@ -14,6 +14,8 @@ module Admin
|
|||
end
|
||||
|
||||
def batch
|
||||
authorize :account, :index?
|
||||
|
||||
@form = Form::AccountBatch.new(form_account_batch_params.merge(current_account: current_account, action: action_from_button))
|
||||
@form.save
|
||||
rescue ActionController::ParameterMissing
|
||||
|
|
|
@ -4,7 +4,10 @@ module Admin
|
|||
class ActionLogsController < BaseController
|
||||
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
|
||||
|
||||
|
|
|
@ -7,9 +7,9 @@ module Admin
|
|||
|
||||
layout 'admin'
|
||||
|
||||
before_action :require_staff!
|
||||
before_action :set_pack
|
||||
before_action :set_body_classes
|
||||
after_action :verify_authorized
|
||||
|
||||
private
|
||||
|
||||
|
|
|
@ -29,6 +29,8 @@ module Admin
|
|||
end
|
||||
|
||||
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.save
|
||||
rescue ActionController::ParameterMissing
|
||||
|
|
|
@ -5,7 +5,9 @@ module Admin
|
|||
include Redisable
|
||||
|
||||
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)
|
||||
@pending_users_count = User.pending.count
|
||||
@pending_reports_count = Report.unresolved.count
|
||||
|
|
|
@ -5,6 +5,7 @@ module Admin
|
|||
before_action :set_domain_block, only: [:show, :destroy, :edit, :update]
|
||||
|
||||
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.save
|
||||
rescue ActionController::ParameterMissing
|
||||
|
|
|
@ -12,6 +12,8 @@ module Admin
|
|||
end
|
||||
|
||||
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.save
|
||||
rescue ActionController::ParameterMissing
|
||||
|
|
|
@ -12,6 +12,8 @@ module Admin
|
|||
end
|
||||
|
||||
def update
|
||||
authorize :follow_recommendation, :show?
|
||||
|
||||
@form = Form::AccountBatch.new(form_account_batch_params.merge(current_account: current_account, action: action_from_button))
|
||||
@form.save
|
||||
rescue ActionController::ParameterMissing
|
||||
|
|
|
@ -29,6 +29,8 @@ module Admin
|
|||
end
|
||||
|
||||
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.save
|
||||
rescue ActionController::ParameterMissing
|
||||
|
|
|
@ -7,7 +7,7 @@ module Admin
|
|||
PER_PAGE = 40
|
||||
|
||||
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)
|
||||
@form = Form::AccountBatch.new
|
||||
|
|
|
@ -2,20 +2,63 @@
|
|||
|
||||
module Admin
|
||||
class RolesController < BaseController
|
||||
before_action :set_user
|
||||
before_action :set_role, except: [:index, :new, :create]
|
||||
|
||||
def promote
|
||||
authorize @user, :promote?
|
||||
@user.promote!
|
||||
log_action :promote, @user
|
||||
redirect_to admin_account_path(@user.account_id)
|
||||
def index
|
||||
authorize :user_role, :index?
|
||||
|
||||
@roles = UserRole.order(position: :desc).page(params[:page])
|
||||
end
|
||||
|
||||
def demote
|
||||
authorize @user, :demote?
|
||||
@user.demote!
|
||||
log_action :demote, @user
|
||||
redirect_to admin_account_path(@user.account_id)
|
||||
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
|
||||
|
||||
def resource_params
|
||||
params.require(:user_role).permit(:name, :color, :highlighted, :position, permissions_as_keys: [])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -14,6 +14,8 @@ module Admin
|
|||
end
|
||||
|
||||
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.save!
|
||||
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))
|
||||
redirect_to admin_tag_path(@tag.id), notice: I18n.t('admin.tags.updated_msg')
|
||||
else
|
||||
@time_period = (6.days.ago.to_date...Time.now.utc.to_date)
|
||||
|
||||
render :show
|
||||
end
|
||||
end
|
||||
|
@ -27,7 +29,7 @@ module Admin
|
|||
end
|
||||
|
||||
def tag_params
|
||||
params.require(:tag).permit(:name, :trendable, :usable, :listable)
|
||||
params.require(:tag).permit(:name, :display_name, :trendable, :usable, :listable)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,13 +2,15 @@
|
|||
|
||||
class Admin::Trends::Links::PreviewCardProvidersController < Admin::BaseController
|
||||
def index
|
||||
authorize :preview_card_provider, :index?
|
||||
authorize :preview_card_provider, :review?
|
||||
|
||||
@preview_card_providers = filtered_preview_card_providers.page(params[:page])
|
||||
@form = Trends::PreviewCardProviderBatch.new
|
||||
end
|
||||
|
||||
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.save
|
||||
rescue ActionController::ParameterMissing
|
||||
|
|
|
@ -2,13 +2,15 @@
|
|||
|
||||
class Admin::Trends::LinksController < Admin::BaseController
|
||||
def index
|
||||
authorize :preview_card, :index?
|
||||
authorize :preview_card, :review?
|
||||
|
||||
@preview_cards = filtered_preview_cards.page(params[:page])
|
||||
@form = Trends::PreviewCardBatch.new
|
||||
end
|
||||
|
||||
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.save
|
||||
rescue ActionController::ParameterMissing
|
||||
|
|
|
@ -2,13 +2,15 @@
|
|||
|
||||
class Admin::Trends::StatusesController < Admin::BaseController
|
||||
def index
|
||||
authorize :status, :index?
|
||||
authorize :status, :review?
|
||||
|
||||
@statuses = filtered_statuses.page(params[:page])
|
||||
@form = Trends::StatusBatch.new
|
||||
end
|
||||
|
||||
def batch
|
||||
authorize :status, :review?
|
||||
|
||||
@form = Trends::StatusBatch.new(trends_status_batch_params.merge(current_account: current_account, action: action_from_button))
|
||||
@form.save
|
||||
rescue ActionController::ParameterMissing
|
||||
|
|
|
@ -2,13 +2,15 @@
|
|||
|
||||
class Admin::Trends::TagsController < Admin::BaseController
|
||||
def index
|
||||
authorize :tag, :index?
|
||||
authorize :tag, :review?
|
||||
|
||||
@tags = filtered_tags.page(params[:page])
|
||||
@form = Trends::TagBatch.new
|
||||
end
|
||||
|
||||
def batch
|
||||
authorize :tag, :review?
|
||||
|
||||
@form = Trends::TagBatch.new(trends_tag_batch_params.merge(current_account: current_account, action: action_from_button))
|
||||
@form.save
|
||||
rescue ActionController::ParameterMissing
|
||||
|
|
33
app/controllers/admin/users/roles_controller.rb
Normal file
33
app/controllers/admin/users/roles_controller.rb
Normal file
|
@ -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
|
||||
|
||||
module Admin
|
||||
class TwoFactorAuthenticationsController < BaseController
|
||||
class Users::TwoFactorAuthenticationsController < BaseController
|
||||
before_action :set_target_user
|
||||
|
||||
def destroy
|
|
@ -1,11 +1,16 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class Api::V1::Admin::AccountActionsController < Api::BaseController
|
||||
include Authorization
|
||||
|
||||
before_action -> { authorize_if_got_token! :'admin:write', :'admin:write:accounts' }
|
||||
before_action :require_staff!
|
||||
before_action :set_account
|
||||
|
||||
after_action :verify_authorized
|
||||
|
||||
def create
|
||||
authorize @account, :show?
|
||||
|
||||
account_action = Admin::AccountAction.new(resource_params)
|
||||
account_action.target_account = @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:write', :'admin:write:accounts' }, except: [:index, :show]
|
||||
before_action :require_staff!
|
||||
before_action :set_accounts, only: :index
|
||||
before_action :set_account, except: :index
|
||||
before_action :require_local_account!, only: [:enable, :approve, :reject]
|
||||
|
||||
after_action :verify_authorized
|
||||
after_action :insert_pagination_headers, only: :index
|
||||
|
||||
FILTER_PARAMS = %i(
|
||||
|
@ -119,7 +119,9 @@ class Api::V1::Admin::AccountsController < Api::BaseController
|
|||
translated_params[:status] = status.to_s if params[status].present?
|
||||
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
|
||||
end
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class Api::V1::Admin::DimensionsController < Api::BaseController
|
||||
include Authorization
|
||||
|
||||
before_action -> { authorize_if_got_token! :'admin:read' }
|
||||
before_action :require_staff!
|
||||
before_action :set_dimensions
|
||||
|
||||
after_action :verify_authorized
|
||||
|
||||
def create
|
||||
authorize :dashboard, :index?
|
||||
render json: @dimensions, each_serializer: REST::Admin::DimensionSerializer
|
||||
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:write', :'admin:write:domain_allows' }, except: [:index, :show]
|
||||
before_action :require_staff!
|
||||
before_action :set_domain_allows, only: :index
|
||||
before_action :set_domain_allow, only: [:show, :destroy]
|
||||
|
||||
after_action :verify_authorized
|
||||
after_action :insert_pagination_headers, only: :index
|
||||
|
||||
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:write', :'admin:write:domain_blocks' }, except: [:index, :show]
|
||||
before_action :require_staff!
|
||||
before_action :set_domain_blocks, only: :index
|
||||
before_action :set_domain_block, only: [:show, :update, :destroy]
|
||||
|
||||
after_action :verify_authorized
|
||||
after_action :insert_pagination_headers, only: :index
|
||||
|
||||
PAGINATION_PARAMS = %i(limit).freeze
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class Api::V1::Admin::MeasuresController < Api::BaseController
|
||||
include Authorization
|
||||
|
||||
before_action -> { authorize_if_got_token! :'admin:read' }
|
||||
before_action :require_staff!
|
||||
before_action :set_measures
|
||||
|
||||
after_action :verify_authorized
|
||||
|
||||
def create
|
||||
authorize :dashboard, :index?
|
||||
render json: @measures, each_serializer: REST::Admin::MeasureSerializer
|
||||
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:write', :'admin:write:reports' }, except: [:index, :show]
|
||||
before_action :require_staff!
|
||||
before_action :set_reports, only: :index
|
||||
before_action :set_report, except: :index
|
||||
|
||||
after_action :verify_authorized
|
||||
after_action :insert_pagination_headers, only: :index
|
||||
|
||||
FILTER_PARAMS = %i(
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class Api::V1::Admin::RetentionController < Api::BaseController
|
||||
include Authorization
|
||||
|
||||
before_action -> { authorize_if_got_token! :'admin:read' }
|
||||
before_action :require_staff!
|
||||
before_action :set_cohorts
|
||||
|
||||
after_action :verify_authorized
|
||||
|
||||
def create
|
||||
authorize :dashboard, :index?
|
||||
render json: @cohorts, each_serializer: REST::Admin::CohortSerializer
|
||||
end
|
||||
|
||||
|
|
|
@ -1,17 +1,19 @@
|
|||
# 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 :require_staff!
|
||||
before_action :set_links
|
||||
|
||||
def index
|
||||
render json: @links, each_serializer: REST::Trends::LinkSerializer
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_links
|
||||
@links = Trends.links.query.limit(limit_param(10))
|
||||
def enabled?
|
||||
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
|
||||
|
|
|
@ -1,17 +1,19 @@
|
|||
# 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 :require_staff!
|
||||
before_action :set_statuses
|
||||
|
||||
def index
|
||||
render json: @statuses, each_serializer: REST::StatusSerializer
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_statuses
|
||||
@statuses = cache_collection(Trends.statuses.query.limit(limit_param(DEFAULT_STATUSES_LIMIT)), Status)
|
||||
def enabled?
|
||||
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
|
||||
|
|
|
@ -1,17 +1,19 @@
|
|||
# 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 :require_staff!
|
||||
before_action :set_tags
|
||||
|
||||
def index
|
||||
render json: @tags, each_serializer: REST::Admin::TagSerializer
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_tags
|
||||
@tags = Trends.tags.query.limit(limit_param(10))
|
||||
def enabled?
|
||||
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
|
||||
|
|
|
@ -6,7 +6,7 @@ class Api::V1::FeaturedTags::SuggestionsController < Api::BaseController
|
|||
before_action :set_recently_used_tags, only: :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
|
||||
|
||||
private
|
||||
|
|
|
@ -13,9 +13,7 @@ class Api::V1::FeaturedTagsController < Api::BaseController
|
|||
end
|
||||
|
||||
def create
|
||||
@featured_tag = current_account.featured_tags.new(featured_tag_params)
|
||||
@featured_tag.reset_data
|
||||
@featured_tag.save!
|
||||
@featured_tag = current_account.featured_tags.create!(featured_tag_params)
|
||||
render json: @featured_tag, serializer: REST::FeaturedTagSerializer
|
||||
end
|
||||
|
||||
|
|
52
app/controllers/api/v1/followed_tags_controller.rb
Normal file
52
app/controllers/api/v1/followed_tags_controller.rb
Normal file
|
@ -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
|
29
app/controllers/api/v1/tags_controller.rb
Normal file
29
app/controllers/api/v1/tags_controller.rb
Normal file
|
@ -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
|
||||
|
||||
def enabled?
|
||||
Setting.trends
|
||||
end
|
||||
|
||||
def set_links
|
||||
@links = begin
|
||||
if Setting.trends
|
||||
links_from_trends
|
||||
if enabled?
|
||||
links_from_trends.offset(offset_param).limit(limit_param(DEFAULT_LINKS_LIMIT))
|
||||
else
|
||||
[]
|
||||
end
|
||||
|
@ -24,7 +28,7 @@ class Api::V1::Trends::LinksController < Api::BaseController
|
|||
end
|
||||
|
||||
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
|
||||
|
||||
def insert_pagination_headers
|
||||
|
|
|
@ -11,10 +11,14 @@ class Api::V1::Trends::StatusesController < Api::BaseController
|
|||
|
||||
private
|
||||
|
||||
def enabled?
|
||||
Setting.trends
|
||||
end
|
||||
|
||||
def set_statuses
|
||||
@statuses = begin
|
||||
if Setting.trends
|
||||
cache_collection(statuses_from_trends, Status)
|
||||
if enabled?
|
||||
cache_collection(statuses_from_trends.offset(offset_param).limit(limit_param(DEFAULT_STATUSES_LIMIT)), Status)
|
||||
else
|
||||
[]
|
||||
end
|
||||
|
@ -24,7 +28,7 @@ class Api::V1::Trends::StatusesController < Api::BaseController
|
|||
def statuses_from_trends
|
||||
scope = Trends.statuses.query.allowed.in_locale(content_locale)
|
||||
scope = scope.filtered_for(current_account) if user_signed_in?
|
||||
scope.offset(offset_param).limit(limit_param(DEFAULT_STATUSES_LIMIT))
|
||||
scope
|
||||
end
|
||||
|
||||
def insert_pagination_headers
|
||||
|
|
|
@ -8,21 +8,29 @@ class Api::V1::Trends::TagsController < Api::BaseController
|
|||
DEFAULT_TAGS_LIMIT = 10
|
||||
|
||||
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
|
||||
|
||||
private
|
||||
|
||||
def enabled?
|
||||
Setting.trends
|
||||
end
|
||||
|
||||
def set_tags
|
||||
@tags = begin
|
||||
if Setting.trends
|
||||
Trends.tags.query.allowed.offset(offset_param).limit(limit_param(DEFAULT_TAGS_LIMIT))
|
||||
if enabled?
|
||||
tags_from_trends.offset(offset_param).limit(limit_param(DEFAULT_TAGS_LIMIT))
|
||||
else
|
||||
[]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def tags_from_trends
|
||||
Trends.tags.query.allowed
|
||||
end
|
||||
|
||||
def insert_pagination_headers
|
||||
set_pagination_headers(next_path, prev_path)
|
||||
end
|
||||
|
|
|
@ -11,6 +11,7 @@ class Api::V2::Admin::AccountsController < Api::V1::Admin::AccountsController
|
|||
email
|
||||
ip
|
||||
invited_by
|
||||
role_ids
|
||||
).freeze
|
||||
|
||||
PAGINATION_PARAMS = (%i(limit) + FILTER_PARAMS).freeze
|
||||
|
@ -18,7 +19,17 @@ class Api::V2::Admin::AccountsController < Api::V1::Admin::AccountsController
|
|||
private
|
||||
|
||||
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
|
||||
|
||||
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)
|
||||
end
|
||||
|
||||
def require_admin!
|
||||
forbidden unless current_user&.admin?
|
||||
end
|
||||
|
||||
def require_staff!
|
||||
forbidden unless current_user&.staff?
|
||||
end
|
||||
|
||||
def require_functional!
|
||||
redirect_to edit_user_registration_path unless current_user.functional?
|
||||
end
|
||||
|
|
|
@ -13,6 +13,6 @@ class CustomCssController < ApplicationController
|
|||
def show
|
||||
expires_in 3.minutes, public: true
|
||||
request.session_options[:skip] = true
|
||||
render plain: Setting.custom_css || '', content_type: 'text/css'
|
||||
render content_type: 'text/css'
|
||||
end
|
||||
end
|
||||
|
|
|
@ -11,7 +11,6 @@ class Settings::FeaturedTagsController < Settings::BaseController
|
|||
|
||||
def create
|
||||
@featured_tag = current_account.featured_tags.new(featured_tag_params)
|
||||
@featured_tag.reset_data
|
||||
|
||||
if @featured_tag.save
|
||||
redirect_to settings_featured_tags_path
|
||||
|
|
|
@ -61,21 +61,13 @@ module AccountsHelper
|
|||
end
|
||||
end
|
||||
|
||||
def account_badge(account, all: false)
|
||||
def account_badge(account)
|
||||
if account.bot?
|
||||
content_tag(:div, content_tag(:div, t('accounts.roles.bot'), class: 'account-role bot'), class: 'roles')
|
||||
elsif account.group?
|
||||
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
|
||||
content_tag(:div, class: 'roles') do
|
||||
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
|
||||
elsif account.user_role&.highlighted?
|
||||
content_tag(:div, content_tag(:div, account.user_role.name, class: "account-role user-role-#{account.user_role.id}"), class: 'roles')
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -5,10 +5,11 @@ import IconButton from './icon_button';
|
|||
import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
|
||||
import { defineMessages, injectIntl } from 'react-intl';
|
||||
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 { accountAdminLink, statusAdminLink } from 'flavours/glitch/util/backend_links';
|
||||
import classNames from 'classnames';
|
||||
import { PERMISSION_MANAGE_USERS } from 'flavours/glitch/permissions';
|
||||
|
||||
const messages = defineMessages({
|
||||
delete: { id: 'status.delete', defaultMessage: 'Delete' },
|
||||
|
@ -47,6 +48,7 @@ class StatusActionBar extends ImmutablePureComponent {
|
|||
|
||||
static contextTypes = {
|
||||
router: PropTypes.object,
|
||||
identity: PropTypes.object,
|
||||
};
|
||||
|
||||
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.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);
|
||||
if (accountAdminLink !== undefined) {
|
||||
menu.push({
|
||||
|
|
|
@ -31,6 +31,7 @@ const createIdentityContext = state => ({
|
|||
signedIn: !!state.meta.me,
|
||||
accountId: state.meta.me,
|
||||
accessToken: state.meta.access_token,
|
||||
permissions: state.role.permissions,
|
||||
});
|
||||
|
||||
export default class Mastodon extends React.PureComponent {
|
||||
|
|
|
@ -3,7 +3,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
|
|||
import PropTypes from 'prop-types';
|
||||
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
|
||||
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 classNames from 'classnames';
|
||||
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 DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
|
||||
import AccountNoteContainer from '../containers/account_note_container';
|
||||
import { PERMISSION_MANAGE_USERS } from 'flavours/glitch/permissions';
|
||||
|
||||
const messages = defineMessages({
|
||||
unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },
|
||||
|
@ -64,6 +65,10 @@ const dateFormatOptions = {
|
|||
export default @injectIntl
|
||||
class Header extends ImmutablePureComponent {
|
||||
|
||||
static contextTypes = {
|
||||
identity: PropTypes.object,
|
||||
};
|
||||
|
||||
static propTypes = {
|
||||
account: ImmutablePropTypes.map,
|
||||
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({ 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 SettingToggle from './setting_toggle';
|
||||
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 {
|
||||
|
||||
static contextTypes = {
|
||||
identity: PropTypes.object,
|
||||
};
|
||||
|
||||
static propTypes = {
|
||||
settings: ImmutablePropTypes.map.isRequired,
|
||||
pushSettings: ImmutablePropTypes.map.isRequired,
|
||||
|
@ -167,7 +171,7 @@ export default class ColumnSettings extends React.PureComponent {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
{isStaff && (
|
||||
{(this.context.identity.permissions & PERMISSION_MANAGE_USERS === PERMISSION_MANAGE_USERS) && (
|
||||
<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>
|
||||
|
||||
|
@ -180,7 +184,7 @@ export default class ColumnSettings extends React.PureComponent {
|
|||
</div>
|
||||
)}
|
||||
|
||||
{isStaff && (
|
||||
{(this.context.identity.permissions & PERMISSION_MANAGE_REPORTS === PERMISSION_MANAGE_REPORTS) && (
|
||||
<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>
|
||||
|
||||
|
|
|
@ -4,9 +4,10 @@ import IconButton from 'flavours/glitch/components/icon_button';
|
|||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||
import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
|
||||
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 classNames from 'classnames';
|
||||
import { PERMISSION_MANAGE_USERS } from 'flavours/glitch/permissions';
|
||||
|
||||
const messages = defineMessages({
|
||||
delete: { id: 'status.delete', defaultMessage: 'Delete' },
|
||||
|
@ -41,6 +42,7 @@ class ActionBar extends React.PureComponent {
|
|||
|
||||
static contextTypes = {
|
||||
router: PropTypes.object,
|
||||
identity: PropTypes.object,
|
||||
};
|
||||
|
||||
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.block, { name: status.getIn(['account', 'username']) }), action: this.handleBlockClick });
|
||||
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);
|
||||
if (accountAdminLink !== undefined) {
|
||||
menu.push({
|
||||
|
|
|
@ -3,10 +3,11 @@ import React from 'react';
|
|||
import PropTypes from 'prop-types';
|
||||
import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
|
||||
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 { logOut } from 'flavours/glitch/util/log_out';
|
||||
import { openModal } from 'flavours/glitch/actions/modal';
|
||||
import { PERMISSION_INVITE_USERS } from 'flavours/glitch/permissions';
|
||||
|
||||
const messages = defineMessages({
|
||||
logoutMessage: { id: 'confirmations.logout.message', defaultMessage: 'Are you sure you want to log out?' },
|
||||
|
@ -28,6 +29,10 @@ export default @injectIntl
|
|||
@connect(null, mapDispatchToProps)
|
||||
class LinkFooter extends React.PureComponent {
|
||||
|
||||
static contextTypes = {
|
||||
identity: PropTypes.object,
|
||||
};
|
||||
|
||||
static propTypes = {
|
||||
onLogout: PropTypes.func.isRequired,
|
||||
intl: PropTypes.object.isRequired,
|
||||
|
@ -46,7 +51,7 @@ class LinkFooter extends React.PureComponent {
|
|||
return (
|
||||
<div className='getting-started__footer'>
|
||||
<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>}
|
||||
{!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>
|
||||
|
|
3
app/javascript/flavours/glitch/permissions.js
Normal file
3
app/javascript/flavours/glitch/permissions.js
Normal file
|
@ -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({
|
||||
streaming_api_base_url: null,
|
||||
access_token: null,
|
||||
permissions: '0',
|
||||
});
|
||||
|
||||
export default function meta(state = initialState, action) {
|
||||
switch(action.type) {
|
||||
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:
|
||||
return state;
|
||||
}
|
||||
|
|
|
@ -943,6 +943,10 @@ a.name-tag,
|
|||
margin-top: 15px;
|
||||
}
|
||||
|
||||
.user-role {
|
||||
color: var(--user-role-accent);
|
||||
}
|
||||
|
||||
.announcements-list,
|
||||
.filters-list {
|
||||
border: 1px solid lighten($ui-base-color, 4%);
|
||||
|
@ -979,6 +983,17 @@ a.name-tag,
|
|||
&__meta {
|
||||
padding: 0 15px;
|
||||
color: $dark-text-color;
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: underline;
|
||||
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__action-bar {
|
||||
|
|
|
@ -247,6 +247,10 @@ code {
|
|||
}
|
||||
}
|
||||
|
||||
.input.with_block_label.user_role_permissions_as_keys ul {
|
||||
columns: unset;
|
||||
}
|
||||
|
||||
.input.datetime .label_input select {
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
|
|
|
@ -23,14 +23,12 @@ export const me = getMeta('me');
|
|||
export const searchEnabled = getMeta('search_enabled');
|
||||
export const maxChars = (initialState && initialState.max_toot_chars) || 500;
|
||||
export const pollLimits = (initialState && initialState.poll_limits);
|
||||
export const invitesEnabled = getMeta('invites_enabled');
|
||||
export const limitedFederationMode = getMeta('limited_federation_mode');
|
||||
export const repository = getMeta('repository');
|
||||
export const source_url = getMeta('source_url');
|
||||
export const version = getMeta('version');
|
||||
export const mascot = getMeta('mascot');
|
||||
export const profile_directory = getMeta('profile_directory');
|
||||
export const isStaff = getMeta('is_staff');
|
||||
export const defaultContentType = getMeta('default_content_type');
|
||||
export const forceSingleColumn = getMeta('advanced_layout') === false;
|
||||
export const useBlurhash = getMeta('use_blurhash');
|
||||
|
|
|
@ -608,7 +608,20 @@ function insertIntoTagHistory(recognizedTags, text) {
|
|||
const state = getState();
|
||||
const oldHistory = state.getIn(['compose', 'tagHistory']);
|
||||
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);
|
||||
|
||||
names.push(...intersectedOldHistory.toJS());
|
||||
|
|
|
@ -6,8 +6,9 @@ import IconButton from './icon_button';
|
|||
import DropdownMenuContainer from '../containers/dropdown_menu_container';
|
||||
import { defineMessages, injectIntl } from 'react-intl';
|
||||
import ImmutablePureComponent from 'react-immutable-pure-component';
|
||||
import { me, isStaff } from '../initial_state';
|
||||
import { me } from '../initial_state';
|
||||
import classNames from 'classnames';
|
||||
import { PERMISSION_MANAGE_USERS } from 'mastodon/permissions';
|
||||
|
||||
const messages = defineMessages({
|
||||
delete: { id: 'status.delete', defaultMessage: 'Delete' },
|
||||
|
@ -55,6 +56,7 @@ class StatusActionBar extends ImmutablePureComponent {
|
|||
|
||||
static contextTypes = {
|
||||
router: PropTypes.object,
|
||||
identity: PropTypes.object,
|
||||
};
|
||||
|
||||
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({ 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')}` });
|
||||
|
|
|
@ -26,6 +26,7 @@ const createIdentityContext = state => ({
|
|||
signedIn: !!state.meta.me,
|
||||
accountId: state.meta.me,
|
||||
accessToken: state.meta.access_token,
|
||||
permissions: state.role.permissions,
|
||||
});
|
||||
|
||||
export default class Mastodon extends React.PureComponent {
|
||||
|
|
|
@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
|
|||
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
|
||||
import Button from 'mastodon/components/button';
|
||||
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 Icon from 'mastodon/components/icon';
|
||||
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 DropdownMenuContainer from 'mastodon/containers/dropdown_menu_container';
|
||||
import AccountNoteContainer from '../containers/account_note_container';
|
||||
import { PERMISSION_MANAGE_USERS } from 'mastodon/permissions';
|
||||
|
||||
const messages = defineMessages({
|
||||
unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },
|
||||
|
@ -64,6 +65,10 @@ const dateFormatOptions = {
|
|||
export default @injectIntl
|
||||
class Header extends ImmutablePureComponent {
|
||||
|
||||
static contextTypes = {
|
||||
identity: PropTypes.object,
|
||||
};
|
||||
|
||||
static propTypes = {
|
||||
account: ImmutablePropTypes.map,
|
||||
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({ 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 GrantPermissionButton from './grant_permission_button';
|
||||
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 {
|
||||
|
||||
static contextTypes = {
|
||||
identity: PropTypes.object,
|
||||
};
|
||||
|
||||
static propTypes = {
|
||||
settings: ImmutablePropTypes.map.isRequired,
|
||||
pushSettings: ImmutablePropTypes.map.isRequired,
|
||||
|
@ -166,7 +170,7 @@ export default class ColumnSettings extends React.PureComponent {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
{isStaff && (
|
||||
{(this.context.identity.permissions & PERMISSION_MANAGE_USERS === PERMISSION_MANAGE_USERS) && (
|
||||
<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>
|
||||
|
||||
|
@ -179,7 +183,7 @@ export default class ColumnSettings extends React.PureComponent {
|
|||
</div>
|
||||
)}
|
||||
|
||||
{isStaff && (
|
||||
{(this.context.identity.permissions & PERMISSION_MANAGE_REPORTS === PERMISSION_MANAGE_REPORTS) && (
|
||||
<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>
|
||||
|
||||
|
|
|
@ -5,8 +5,9 @@ import IconButton from '../../../components/icon_button';
|
|||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||
import DropdownMenuContainer from '../../../containers/dropdown_menu_container';
|
||||
import { defineMessages, injectIntl } from 'react-intl';
|
||||
import { me, isStaff } from '../../../initial_state';
|
||||
import { me } from '../../../initial_state';
|
||||
import classNames from 'classnames';
|
||||
import { PERMISSION_MANAGE_USERS } from 'mastodon/permissions';
|
||||
|
||||
const messages = defineMessages({
|
||||
delete: { id: 'status.delete', defaultMessage: 'Delete' },
|
||||
|
@ -50,6 +51,7 @@ class ActionBar extends React.PureComponent {
|
|||
|
||||
static contextTypes = {
|
||||
router: PropTypes.object,
|
||||
identity: PropTypes.object,
|
||||
};
|
||||
|
||||
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({ 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')}` });
|
||||
|
|
|
@ -3,9 +3,10 @@ import React from 'react';
|
|||
import PropTypes from 'prop-types';
|
||||
import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
|
||||
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 { openModal } from 'mastodon/actions/modal';
|
||||
import { PERMISSION_INVITE_USERS } from 'mastodon/permissions';
|
||||
|
||||
const messages = defineMessages({
|
||||
logoutMessage: { id: 'confirmations.logout.message', defaultMessage: 'Are you sure you want to log out?' },
|
||||
|
@ -27,6 +28,10 @@ export default @injectIntl
|
|||
@connect(null, mapDispatchToProps)
|
||||
class LinkFooter extends React.PureComponent {
|
||||
|
||||
static contextTypes = {
|
||||
identity: PropTypes.object,
|
||||
};
|
||||
|
||||
static propTypes = {
|
||||
withHotkeys: PropTypes.bool,
|
||||
onLogout: PropTypes.func.isRequired,
|
||||
|
@ -48,7 +53,7 @@ class LinkFooter extends React.PureComponent {
|
|||
return (
|
||||
<div className='getting-started__footer'>
|
||||
<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>}
|
||||
<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>}
|
||||
|
|
|
@ -13,14 +13,12 @@ export const deleteModal = getMeta('delete_modal');
|
|||
export const me = getMeta('me');
|
||||
export const searchEnabled = getMeta('search_enabled');
|
||||
export const maxChars = (initialState && initialState.max_toot_chars) || 500;
|
||||
export const invitesEnabled = getMeta('invites_enabled');
|
||||
export const limitedFederationMode = getMeta('limited_federation_mode');
|
||||
export const repository = getMeta('repository');
|
||||
export const source_url = getMeta('source_url');
|
||||
export const version = getMeta('version');
|
||||
export const mascot = getMeta('mascot');
|
||||
export const profile_directory = getMeta('profile_directory');
|
||||
export const isStaff = getMeta('is_staff');
|
||||
export const forceSingleColumn = !getMeta('advanced_layout');
|
||||
export const useBlurhash = getMeta('use_blurhash');
|
||||
export const usePendingItems = getMeta('use_pending_items');
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "{name} signed up",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"notification.follow": "{name} followed you",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} edited a post",
|
||||
"notifications.clear": "Clear 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.alert": "Desktop notifications",
|
||||
"notifications.column_settings.favourite": "Favourites:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
|
||||
"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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Embed",
|
||||
"status.favourite": "Favourite",
|
||||
"status.filtered": "Filtered",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} created {date}",
|
||||
"status.history.edited": "{name} edited {date}",
|
||||
"status.load_more": "Load more",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Report @{name}",
|
||||
"status.sensitive_warning": "Sensitive content",
|
||||
"status.share": "Share",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "Show less",
|
||||
"status.show_less_all": "Show less for all",
|
||||
"status.show_more": "Show more",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "التفضيلات",
|
||||
"navigation_bar.public_timeline": "الخيط العام الموحد",
|
||||
"navigation_bar.security": "الأمان",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "أنشأ {name} حسابًا",
|
||||
"notification.favourite": "أُعجِب {name} بمنشورك",
|
||||
"notification.follow": "{name} يتابعك",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "عدّلَ {name} منشورًا",
|
||||
"notifications.clear": "امسح الإخطارات",
|
||||
"notifications.clear_confirmation": "أمتأكد من أنك تود مسح جل الإخطارات الخاصة بك و المتلقاة إلى حد الآن ؟",
|
||||
"notifications.column_settings.admin.report": "New reports:",
|
||||
"notifications.column_settings.admin.sign_up": "التسجيلات الجديدة:",
|
||||
"notifications.column_settings.alert": "إشعارات سطح المكتب",
|
||||
"notifications.column_settings.favourite": "المُفَضَّلة:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "شُكرًا لَكَ على الإبلاغ، سَوفَ نَنظُرُ فِي هَذَا الأمر.",
|
||||
"report.unfollow": "إلغاء متابعة @{name}",
|
||||
"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_popout.search_format": "نمط البحث المتقدم",
|
||||
"search_popout.tips.full_text": "النص البسيط يقوم بعرض المنشورات التي كتبتها أو قمت بإرسالها أو ترقيتها أو تمت الإشارة إليك فيها من طرف آخرين ، بالإضافة إلى مطابقة أسماء المستخدمين وأسماء العرض وعلامات التصنيف.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "إدماج",
|
||||
"status.favourite": "أضف إلى المفضلة",
|
||||
"status.filtered": "مُصفّى",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "أنشأه {name} {date}",
|
||||
"status.history.edited": "عدله {name} {date}",
|
||||
"status.load_more": "حمّل المزيد",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "ابلِغ عن @{name}",
|
||||
"status.sensitive_warning": "محتوى حساس",
|
||||
"status.share": "مشاركة",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "اعرض أقلّ",
|
||||
"status.show_less_all": "طي الكل",
|
||||
"status.show_more": "أظهر المزيد",
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
"account.mute_notifications": "Mute notifications from @{name}",
|
||||
"account.muted": "Muted",
|
||||
"account.posts": "Barritos",
|
||||
"account.posts_with_replies": "Barritos y rempuestes",
|
||||
"account.posts_with_replies": "Artículos y rempuestes",
|
||||
"account.report": "Report @{name}",
|
||||
"account.requested": "Esperando pola aprobación. Calca pa encaboxar la solicitú de siguimientu",
|
||||
"account.share": "Share @{name}'s profile",
|
||||
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Preferencies",
|
||||
"navigation_bar.public_timeline": "Llinia temporal federada",
|
||||
"navigation_bar.security": "Seguranza",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "{name} signed up",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"notification.follow": "{name} siguióte",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} editó l'artículu",
|
||||
"notifications.clear": "Llimpiar 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.alert": "Avisos d'escritoriu",
|
||||
"notifications.column_settings.favourite": "Favoritos:",
|
||||
|
@ -413,14 +415,14 @@
|
|||
"report.placeholder": "Comentarios adicionales",
|
||||
"report.reasons.dislike": "I don't like it",
|
||||
"report.reasons.dislike_description": "It is not something you want to see",
|
||||
"report.reasons.other": "It's something else",
|
||||
"report.reasons.other_description": "The issue does not fit into other categories",
|
||||
"report.reasons.spam": "It's spam",
|
||||
"report.reasons.other": "Ye daqué más",
|
||||
"report.reasons.other_description": "La incidencia nun s'axusta a les demás categoríes",
|
||||
"report.reasons.spam": "Ye spam",
|
||||
"report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies",
|
||||
"report.reasons.violation": "Incumple les regles del sirvidor",
|
||||
"report.reasons.violation_description": "You are aware that it breaks specific rules",
|
||||
"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.title": "Are there any posts that back up this report?",
|
||||
"report.submit": "Unviar",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
|
||||
"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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Empotrar",
|
||||
"status.favourite": "Favourite",
|
||||
"status.filtered": "Filtered",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} created {date}",
|
||||
"status.history.edited": "{name} edited {date}",
|
||||
"status.load_more": "Cargar más",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Report @{name}",
|
||||
"status.sensitive_warning": "Conteníu sensible",
|
||||
"status.share": "Share",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "Amosar menos",
|
||||
"status.show_less_all": "Amosar menos en too",
|
||||
"status.show_more": "Amosar más",
|
||||
|
@ -509,7 +518,7 @@
|
|||
"timeline_hint.resources.follows": "Follows",
|
||||
"timeline_hint.resources.statuses": "Older posts",
|
||||
"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.",
|
||||
"units.short.billion": "{count} B",
|
||||
"units.short.million": "{count} M",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Предпочитания",
|
||||
"navigation_bar.public_timeline": "Публичен канал",
|
||||
"navigation_bar.security": "Сигурност",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "{name} signed up",
|
||||
"notification.favourite": "{name} хареса твоята публикация",
|
||||
"notification.follow": "{name} те последва",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} edited a post",
|
||||
"notifications.clear": "Изчистване на известия",
|
||||
"notifications.clear_confirmation": "Сигурни ли сте, че искате да изчистите окончателно всичките си известия?",
|
||||
"notifications.column_settings.admin.report": "New reports:",
|
||||
"notifications.column_settings.admin.sign_up": "New sign-ups:",
|
||||
"notifications.column_settings.alert": "Десктоп известия",
|
||||
"notifications.column_settings.favourite": "Предпочитани:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
|
||||
"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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Вграждане",
|
||||
"status.favourite": "Предпочитани",
|
||||
"status.filtered": "Филтрирано",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} created {date}",
|
||||
"status.history.edited": "{name} edited {date}",
|
||||
"status.load_more": "Зареждане на още",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Докладване на @{name}",
|
||||
"status.sensitive_warning": "Деликатно съдържание",
|
||||
"status.share": "Споделяне",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "Покажи по-малко",
|
||||
"status.show_less_all": "Покажи по-малко за всички",
|
||||
"status.show_more": "Покажи повече",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "পছন্দসমূহ",
|
||||
"navigation_bar.public_timeline": "যুক্তবিশ্বের সময়রেখা",
|
||||
"navigation_bar.security": "নিরাপত্তা",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "{name} signed up",
|
||||
"notification.favourite": "{name} আপনার কার্যক্রম পছন্দ করেছেন",
|
||||
"notification.follow": "{name} আপনাকে অনুসরণ করেছেন",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} edited a post",
|
||||
"notifications.clear": "প্রজ্ঞাপনগুলো মুছে ফেলতে",
|
||||
"notifications.clear_confirmation": "আপনি কি নির্চিত প্রজ্ঞাপনগুলো মুছে ফেলতে চান ?",
|
||||
"notifications.column_settings.admin.report": "New reports:",
|
||||
"notifications.column_settings.admin.sign_up": "New sign-ups:",
|
||||
"notifications.column_settings.alert": "কম্পিউটারে প্রজ্ঞাপনগুলি",
|
||||
"notifications.column_settings.favourite": "পছন্দের:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
|
||||
"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_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_popout.search_format": "বিস্তারিতভাবে খোঁজার পদ্ধতি",
|
||||
"search_popout.tips.full_text": "সাধারণ লেখা দিয়ে খুঁজলে বের হবে সেরকম আপনার লেখা, পছন্দের লেখা, সমর্থন করা লেখা, আপনাকে উল্লেখকরা কোনো লেখা, যা খুঁজছেন সেরকম কোনো ব্যবহারকারীর নাম বা কোনো হ্যাশট্যাগগুলো।",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "এমবেড করতে",
|
||||
"status.favourite": "পছন্দের করতে",
|
||||
"status.filtered": "ছাঁকনিদিত",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} created {date}",
|
||||
"status.history.edited": "{name} edited {date}",
|
||||
"status.load_more": "আরো দেখুন",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "@{name} কে রিপোর্ট করতে",
|
||||
"status.sensitive_warning": "সংবেদনশীল কিছু",
|
||||
"status.share": "অন্যদের জানান",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "কম দেখতে",
|
||||
"status.show_less_all": "সবগুলোতে কম দেখতে",
|
||||
"status.show_more": "আরো দেখাতে",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Gwellvezioù",
|
||||
"navigation_bar.public_timeline": "Red-amzer kevreet",
|
||||
"navigation_bar.security": "Diogelroez",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "{name} signed up",
|
||||
"notification.favourite": "{name} en/he deus lakaet ho toud en e/he muiañ-karet",
|
||||
"notification.follow": "heuliañ a ra {name} ac'hanoc'h",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} edited a post",
|
||||
"notifications.clear": "Skarzhañ ar c'hemennoù",
|
||||
"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.alert": "Kemennoù war ar burev",
|
||||
"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.unfollow": "Unfollow @{name}",
|
||||
"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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Enframmañ",
|
||||
"status.favourite": "Muiañ-karet",
|
||||
"status.filtered": "Silet",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} created {date}",
|
||||
"status.history.edited": "{name} edited {date}",
|
||||
"status.load_more": "Kargañ muioc'h",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Disklêriañ @{name}",
|
||||
"status.sensitive_warning": "Dalc'had kizidik",
|
||||
"status.share": "Rannañ",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "Diskouez nebeutoc'h",
|
||||
"status.show_less_all": "Diskouez nebeutoc'h evit an holl",
|
||||
"status.show_more": "Diskouez muioc'h",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Preferències",
|
||||
"navigation_bar.public_timeline": "Línia de temps federada",
|
||||
"navigation_bar.security": "Seguretat",
|
||||
"notification.admin.report": "{name} ha reportat {target}",
|
||||
"notification.admin.sign_up": "{name} s'ha registrat",
|
||||
"notification.favourite": "{name} ha afavorit la teva publicació",
|
||||
"notification.follow": "{name} et segueix",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} ha editat una publicació",
|
||||
"notifications.clear": "Esborra les 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.alert": "Notificacions d'escriptori",
|
||||
"notifications.column_settings.favourite": "Preferits:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Gràcies per denunciar-ho. Ho investigarem.",
|
||||
"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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Incrusta",
|
||||
"status.favourite": "Favorit",
|
||||
"status.filtered": "Filtrat",
|
||||
"status.hide": "Amaga publicació",
|
||||
"status.history.created": "{name} ha creat {date}",
|
||||
"status.history.edited": "{name} ha editat {date}",
|
||||
"status.load_more": "Carregar-ne més",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Denuncia @{name}",
|
||||
"status.sensitive_warning": "Contingut sensible",
|
||||
"status.share": "Comparteix",
|
||||
"status.show_filter_reason": "Mostra igualment",
|
||||
"status.show_less": "Mostrar-ne menys",
|
||||
"status.show_less_all": "Mostrar-ne menys per a tot",
|
||||
"status.show_more": "Mostrar-ne més",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "پەسەندەکان",
|
||||
"navigation_bar.public_timeline": "نووسراوەکانی هەمووشوێنێک",
|
||||
"navigation_bar.security": "ئاسایش",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "{name} تۆمارکرا",
|
||||
"notification.favourite": "{name} نووسراوەکەتی پەسەند کرد",
|
||||
"notification.follow": "{name} دوای تۆ کەوت",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} پۆستێکی دەستکاریکرد",
|
||||
"notifications.clear": "ئاگانامەکان بسڕیەوە",
|
||||
"notifications.clear_confirmation": "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی هەموو ئاگانامەکانت بسڕیتەوە?",
|
||||
"notifications.column_settings.admin.report": "New reports:",
|
||||
"notifications.column_settings.admin.sign_up": "چوونەژوورەوەی نوێ:",
|
||||
"notifications.column_settings.alert": "ئاگانامەکانی پیشانگەرر ڕومێزی",
|
||||
"notifications.column_settings.favourite": "دڵخوازترین:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "سوپاس بۆ ڕاپۆرتکردن، ئێمە سەیری ئەم بابەتە دەکەین.",
|
||||
"report.unfollow": "بەدوادانەچوو@{name}",
|
||||
"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_popout.search_format": "شێوەی گەڕانی پێشکەوتوو",
|
||||
"search_popout.tips.full_text": "گەڕانێکی دەقی سادە دەتوانێت توتەکانی ئێوە کە، نووسیوتانە،پەسەنتان کردووە، دووبارەتانکردووە، یان ئەو توتانە کە باسی ئێوەی تێدا کراوە پەیدا دەکا. هەروەها ناوی بەکارهێنەران، ناوی پیشاندراو و هەشتەگەکانیش لە خۆ دەگرێت.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "نیشتەجێ بکە",
|
||||
"status.favourite": "دڵخواز",
|
||||
"status.filtered": "پاڵاوتن",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} دروستکراوە لە{date}",
|
||||
"status.history.edited": "{name} دروستکاریکراوە لە{date}",
|
||||
"status.load_more": "زیاتر بار بکە",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "گوزارشت @{name}",
|
||||
"status.sensitive_warning": "ناوەڕۆکی هەستیار",
|
||||
"status.share": "هاوبەشی بکە",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "کەمتر نیشان بدە",
|
||||
"status.show_less_all": "هەمووی بچووک بکەوە",
|
||||
"status.show_more": "زیاتر نیشان بدە",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Preferenze",
|
||||
"navigation_bar.public_timeline": "Linea pubblica glubale",
|
||||
"navigation_bar.security": "Sicurità",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "{name} signed up",
|
||||
"notification.favourite": "{name} hà aghjuntu u vostru statutu à i so favuriti",
|
||||
"notification.follow": "{name} v'hà seguitatu",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} edited a post",
|
||||
"notifications.clear": "Purgà e 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.alert": "Nutificazione nant'à l'urdinatore",
|
||||
"notifications.column_settings.favourite": "Favuriti:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
|
||||
"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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Integrà",
|
||||
"status.favourite": "Aghjunghje à i favuriti",
|
||||
"status.filtered": "Filtratu",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} created {date}",
|
||||
"status.history.edited": "{name} edited {date}",
|
||||
"status.load_more": "Vede di più",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Palisà @{name}",
|
||||
"status.sensitive_warning": "Cuntinutu sensibile",
|
||||
"status.share": "Sparte",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "Ripiegà",
|
||||
"status.show_less_all": "Ripiegà tuttu",
|
||||
"status.show_more": "Slibrà",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Předvolby",
|
||||
"navigation_bar.public_timeline": "Federovaná časová osa",
|
||||
"navigation_bar.security": "Zabezpečení",
|
||||
"notification.admin.report": "Uživatel {name} nahlásil {target}",
|
||||
"notification.admin.sign_up": "Uživatel {name} se zaregistroval",
|
||||
"notification.favourite": "Uživatel {name} si oblíbil váš příspěvek",
|
||||
"notification.follow": "Uživatel {name} vás začal sledovat",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "Uživatel {name} upravil příspěvek",
|
||||
"notifications.clear": "Vymazat 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.alert": "Oznámení na počítači",
|
||||
"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.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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Vložit na web",
|
||||
"status.favourite": "Oblíbit",
|
||||
"status.filtered": "Filtrováno",
|
||||
"status.hide": "Skrýt příspěvek",
|
||||
"status.history.created": "Uživatel {name} vytvořil {date}",
|
||||
"status.history.edited": "Uživatel {name} upravil {date}",
|
||||
"status.load_more": "Zobrazit více",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Nahlásit @{name}",
|
||||
"status.sensitive_warning": "Citlivý obsah",
|
||||
"status.share": "Sdílet",
|
||||
"status.show_filter_reason": "Přesto zobrazit",
|
||||
"status.show_less": "Zobrazit méně",
|
||||
"status.show_less_all": "Zobrazit méně pro všechny",
|
||||
"status.show_more": "Zobrazit více",
|
||||
|
|
|
@ -92,10 +92,10 @@
|
|||
"community.column_settings.local_only": "Lleol yn unig",
|
||||
"community.column_settings.media_only": "Cyfryngau yn unig",
|
||||
"community.column_settings.remote_only": "Anghysbell yn unig",
|
||||
"compose.language.change": "Change language",
|
||||
"compose.language.search": "Search languages...",
|
||||
"compose.language.change": "Newid iaith",
|
||||
"compose.language.search": "Chwilio ieithoedd...",
|
||||
"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.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",
|
||||
|
@ -106,7 +106,7 @@
|
|||
"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_single": "Newid pleidlais i gyfyngu i un dewis",
|
||||
"compose_form.publish": "Publish",
|
||||
"compose_form.publish": "Cyhoeddi",
|
||||
"compose_form.publish_loud": "{publish}!",
|
||||
"compose_form.save_changes": "Cadw newidiadau",
|
||||
"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.preview": "Dyma sut olwg fydd arno:",
|
||||
"emoji_button.activity": "Gweithgarwch",
|
||||
"emoji_button.clear": "Clear",
|
||||
"emoji_button.clear": "Clir",
|
||||
"emoji_button.custom": "Unigryw",
|
||||
"emoji_button.flags": "Baneri",
|
||||
"emoji_button.food": "Bwyd a Diod",
|
||||
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Dewisiadau",
|
||||
"navigation_bar.public_timeline": "Ffrwd y ffederasiwn",
|
||||
"navigation_bar.security": "Diogelwch",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "Cofrestrodd {name}",
|
||||
"notification.favourite": "Hoffodd {name} eich post",
|
||||
"notification.follow": "Dilynodd {name} chi",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "Golygodd {name} bost",
|
||||
"notifications.clear": "Clirio hysbysiadau",
|
||||
"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.alert": "Hysbysiadau bwrdd gwaith",
|
||||
"notifications.column_settings.favourite": "Ffefrynnau:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Diolch am adrodd, byddwn yn ymchwilio i hyn.",
|
||||
"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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Plannu",
|
||||
"status.favourite": "Hoffi",
|
||||
"status.filtered": "Wedi'i hidlo",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} greuodd {date}",
|
||||
"status.history.edited": "{name} olygodd {date}",
|
||||
"status.load_more": "Llwythwch mwy",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Adrodd @{name}",
|
||||
"status.sensitive_warning": "Cynnwys sensitif",
|
||||
"status.share": "Rhannu",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "Dangos llai",
|
||||
"status.show_less_all": "Dangos llai i bawb",
|
||||
"status.show_more": "Dangos mwy",
|
||||
|
|
|
@ -92,8 +92,8 @@
|
|||
"community.column_settings.local_only": "Kun lokalt",
|
||||
"community.column_settings.media_only": "Kun medier",
|
||||
"community.column_settings.remote_only": "Kun udefra",
|
||||
"compose.language.change": "Change language",
|
||||
"compose.language.search": "Search languages...",
|
||||
"compose.language.change": "Skift sprog",
|
||||
"compose.language.search": "Søg efter sprog...",
|
||||
"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.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.preview": "Sådan kommer det til at se ud:",
|
||||
"emoji_button.activity": "Aktivitet",
|
||||
"emoji_button.clear": "Clear",
|
||||
"emoji_button.clear": "Ryd",
|
||||
"emoji_button.custom": "Tilpasset",
|
||||
"emoji_button.flags": "Flag",
|
||||
"emoji_button.food": "Mad og drikke",
|
||||
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Præferencer",
|
||||
"navigation_bar.public_timeline": "Fælles tidslinje",
|
||||
"navigation_bar.security": "Sikkerhed",
|
||||
"notification.admin.report": "{name} anmeldte {target}",
|
||||
"notification.admin.sign_up": "{name} tilmeldte sig",
|
||||
"notification.favourite": "{name} favoritmarkerede dit indlæg",
|
||||
"notification.follow": "{name} begyndte at følge dig",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} redigerede et indlæg",
|
||||
"notifications.clear": "Ryd notifikationer",
|
||||
"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.alert": "Computernotifikationer",
|
||||
"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.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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Indlejr",
|
||||
"status.favourite": "Favorit",
|
||||
"status.filtered": "Filtreret",
|
||||
"status.hide": "Skjul indlæg",
|
||||
"status.history.created": "{name} oprettet {date}",
|
||||
"status.history.edited": "{name} redigeret {date}",
|
||||
"status.load_more": "Indlæs mere",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Anmeld @{name}",
|
||||
"status.sensitive_warning": "Følsomt indhold",
|
||||
"status.share": "Del",
|
||||
"status.show_filter_reason": "Vis alligevel",
|
||||
"status.show_less": "Vis mindre",
|
||||
"status.show_less_all": "Vis mindre for alle",
|
||||
"status.show_more": "Vis mere",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Einstellungen",
|
||||
"navigation_bar.public_timeline": "Föderierte Zeitleiste",
|
||||
"navigation_bar.security": "Sicherheit",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "{name} hat sich registriert",
|
||||
"notification.favourite": "{name} hat deinen Beitrag favorisiert",
|
||||
"notification.follow": "{name} folgt dir",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} bearbeitete einen Beitrag",
|
||||
"notifications.clear": "Mitteilungen löschen",
|
||||
"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.alert": "Desktop-Benachrichtigungen",
|
||||
"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.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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Einbetten",
|
||||
"status.favourite": "Favorisieren",
|
||||
"status.filtered": "Gefiltert",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} erstellte {date}",
|
||||
"status.history.edited": "{name} bearbeitete {date}",
|
||||
"status.load_more": "Weitere laden",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "@{name} melden",
|
||||
"status.sensitive_warning": "NSFW",
|
||||
"status.share": "Teilen",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "Weniger anzeigen",
|
||||
"status.show_less_all": "Alle Inhaltswarnungen zuklappen",
|
||||
"status.show_more": "Mehr anzeigen",
|
||||
|
|
|
@ -612,6 +612,10 @@
|
|||
"defaultMessage": "Copy link to status",
|
||||
"id": "status.copy"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Hide toot",
|
||||
"id": "status.hide"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Block domain {domain}",
|
||||
"id": "account.block_domain"
|
||||
|
@ -678,6 +682,10 @@
|
|||
"defaultMessage": "Filtered",
|
||||
"id": "status.filtered"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Show anyway",
|
||||
"id": "status.show_filter_reason"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Pinned post",
|
||||
"id": "status.pinned"
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Προτιμήσεις",
|
||||
"navigation_bar.public_timeline": "Ομοσπονδιακή ροή",
|
||||
"navigation_bar.security": "Ασφάλεια",
|
||||
"notification.admin.report": "{name} ανέφερε {target}",
|
||||
"notification.admin.sign_up": "{name} έχει εγγραφεί",
|
||||
"notification.favourite": "Ο/Η {name} σημείωσε ως αγαπημένη την κατάστασή σου",
|
||||
"notification.follow": "Ο/Η {name} σε ακολούθησε",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} επεξεργάστηκε μια δημοσίευση",
|
||||
"notifications.clear": "Καθαρισμός ειδοποιήσεων",
|
||||
"notifications.clear_confirmation": "Σίγουρα θέλεις να καθαρίσεις όλες τις ειδοποιήσεις σου;",
|
||||
"notifications.column_settings.admin.report": "Νέες αναφορές:",
|
||||
"notifications.column_settings.admin.sign_up": "Νέες εγγραφές:",
|
||||
"notifications.column_settings.alert": "Ειδοποιήσεις επιφάνειας εργασίας",
|
||||
"notifications.column_settings.favourite": "Αγαπημένα:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
|
||||
"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_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_popout.search_format": "Προχωρημένη αναζήτηση",
|
||||
"search_popout.tips.full_text": "Απλό κείμενο που επιστρέφει καταστάσεις που έχεις γράψει, έχεις σημειώσει ως αγαπημένες, έχεις προωθήσει ή έχεις αναφερθεί σε αυτές, καθώς και όσα ονόματα χρηστών και ετικέτες ταιριάζουν.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Ενσωμάτωσε",
|
||||
"status.favourite": "Σημείωσε ως αγαπημένο",
|
||||
"status.filtered": "Φιλτραρισμένα",
|
||||
"status.hide": "Απόκρυψη toot",
|
||||
"status.history.created": "{name} created {date}",
|
||||
"status.history.edited": "{name} edited {date}",
|
||||
"status.load_more": "Φόρτωσε περισσότερα",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Κατάγγειλε @{name}",
|
||||
"status.sensitive_warning": "Ευαίσθητο περιεχόμενο",
|
||||
"status.share": "Μοιράσου",
|
||||
"status.show_filter_reason": "Εμφάνιση παρ'όλα αυτά",
|
||||
"status.show_less": "Δείξε λιγότερα",
|
||||
"status.show_less_all": "Δείξε λιγότερα για όλα",
|
||||
"status.show_more": "Δείξε περισσότερα",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "{name} signed up",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"notification.follow": "{name} followed you",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} edited a post",
|
||||
"notifications.clear": "Clear 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.alert": "Desktop notifications",
|
||||
"notifications.column_settings.favourite": "Favourites:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
|
||||
"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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Embed",
|
||||
"status.favourite": "Favourite",
|
||||
"status.filtered": "Filtered",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} created {date}",
|
||||
"status.history.edited": "{name} edited {date}",
|
||||
"status.load_more": "Load more",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Report @{name}",
|
||||
"status.sensitive_warning": "Sensitive content",
|
||||
"status.share": "Share",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "Show less",
|
||||
"status.show_less_all": "Show less for all",
|
||||
"status.show_more": "Show more",
|
||||
|
|
|
@ -473,6 +473,7 @@
|
|||
"status.embed": "Embed",
|
||||
"status.favourite": "Favourite",
|
||||
"status.filtered": "Filtered",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} created {date}",
|
||||
"status.history.edited": "{name} edited {date}",
|
||||
"status.load_more": "Load more",
|
||||
|
@ -496,6 +497,7 @@
|
|||
"status.report": "Report @{name}",
|
||||
"status.sensitive_warning": "Sensitive content",
|
||||
"status.share": "Share",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "Show less",
|
||||
"status.show_less_all": "Show less for all",
|
||||
"status.show_more": "Show more",
|
||||
|
|
|
@ -4,12 +4,12 @@
|
|||
"account.badges.bot": "Roboto",
|
||||
"account.badges.group": "Grupo",
|
||||
"account.block": "Bloki @{name}",
|
||||
"account.block_domain": "Bloki domajnon {domain}",
|
||||
"account.block_domain": "Bloki la domajnon {domain}",
|
||||
"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.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.edit_profile": "Redakti la profilon",
|
||||
"account.enable_notifications": "Sciigi min kiam @{name} mesaĝas",
|
||||
|
@ -18,9 +18,9 @@
|
|||
"account.followers": "Sekvantoj",
|
||||
"account.followers.empty": "Ankoraŭ neniu sekvas tiun uzanton.",
|
||||
"account.followers_counter": "{count, plural, one{{counter} Sekvanto} other {{counter} Sekvantoj}}",
|
||||
"account.following": "Sekvantaj",
|
||||
"account.following_counter": "{count, plural, one {{counter} Sekvato} other {{counter} Sekvatoj}}",
|
||||
"account.follows.empty": "Tiu uzanto ankoraŭ ne sekvas iun.",
|
||||
"account.following": "Sekvadoj",
|
||||
"account.following_counter": "{count, plural, one {{counter} Sekvado} other {{counter} Sekvadoj}}",
|
||||
"account.follows.empty": "La uzanto ankoraŭ ne sekvas iun ajn.",
|
||||
"account.follows_you": "Sekvas vin",
|
||||
"account.hide_reblogs": "Kaŝi la plusendojn de @{name}",
|
||||
"account.joined": "Kuniĝis {date}",
|
||||
|
@ -35,17 +35,17 @@
|
|||
"account.posts": "Mesaĝoj",
|
||||
"account.posts_with_replies": "Mesaĝoj kaj respondoj",
|
||||
"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.show_reblogs": "Montri la plusendojn de @{name}",
|
||||
"account.statuses_counter": "{count, plural, one {{counter} Mesaĝo} other {{counter} Mesaĝoj}}",
|
||||
"account.unblock": "Malbloki @{name}",
|
||||
"account.unblock_domain": "Malbloki {domain}",
|
||||
"account.unblock_domain": "Malbloki la domajnon {domain}",
|
||||
"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.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_note.placeholder": "Klaku por aldoni noton",
|
||||
"admin.dashboard.daily_retention": "User retention rate by day after sign-up",
|
||||
|
@ -71,7 +71,7 @@
|
|||
"column.bookmarks": "Legosignoj",
|
||||
"column.community": "Loka templinio",
|
||||
"column.direct": "Rektaj mesaĝoj",
|
||||
"column.directory": "Trarigardi profilojn",
|
||||
"column.directory": "Foliumi la profilojn",
|
||||
"column.domain_blocks": "Blokitaj domajnoj",
|
||||
"column.favourites": "Preferaĵoj",
|
||||
"column.follow_requests": "Demandoj de sekvado",
|
||||
|
@ -80,7 +80,7 @@
|
|||
"column.mutes": "Silentigitaj uzantoj",
|
||||
"column.notifications": "Sciigoj",
|
||||
"column.pins": "Alpinglitaj mesaĝoj",
|
||||
"column.public": "Federata templinio",
|
||||
"column.public": "Fratara templinio",
|
||||
"column_back_button.label": "Reveni",
|
||||
"column_header.hide_settings": "Kaŝi la agordojn",
|
||||
"column_header.moveLeft_settings": "Movi kolumnon maldekstren",
|
||||
|
@ -95,25 +95,25 @@
|
|||
"compose.language.change": "Ŝanĝi lingvon",
|
||||
"compose.language.search": "Serĉi lingvojn...",
|
||||
"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.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.placeholder": "Kion vi pensas?",
|
||||
"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.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_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.save_changes": "Konservi ŝanĝojn",
|
||||
"compose_form.sensitive.hide": "Marki la aŭdovidaĵojn kiel tiklaj",
|
||||
"compose_form.sensitive.marked": "Aŭdovidaĵo markita tikla",
|
||||
"compose_form.sensitive.unmarked": "Aŭdovidaĵo ne markita tikla",
|
||||
"compose_form.spoiler.marked": "Teksto kaŝita malantaŭ averto",
|
||||
"compose_form.spoiler.unmarked": "Teksto ne kaŝita",
|
||||
"compose_form.save_changes": "Konservi la ŝanĝojn",
|
||||
"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": "{count, plural, one {La aŭdovidaĵo estas markita kiel tikla} other {La aŭdovidaĵoj estas markitaj kiel 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": "Forigi la averton de enhavo",
|
||||
"compose_form.spoiler.unmarked": "Aldoni averton de enhavo",
|
||||
"compose_form.spoiler_placeholder": "Skribu vian averton ĉi tie",
|
||||
"confirmation_modal.cancel": "Nuligi",
|
||||
"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_list.confirm": "Forigi",
|
||||
"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.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.confirm": "Forlasi",
|
||||
"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.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",
|
||||
|
@ -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.message": "Ĉu vi certas, ke vi volas silentigi {name}?",
|
||||
"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.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",
|
||||
|
@ -163,7 +163,7 @@
|
|||
"emoji_button.search_results": "Serĉaj rezultoj",
|
||||
"emoji_button.symbols": "Simboloj",
|
||||
"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_unavailable": "Profilo ne disponebla",
|
||||
"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.domain_blocks": "Ankoraŭ neniu domajno estas blokita.",
|
||||
"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.favourites": "Ankoraŭ neniu preferis la mesaĝon. Kiam iu faros ĉi tion, ili 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 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_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.home": "Via hejma tempolinio estas malplena! Vizitu {public} aŭ uzu la serĉilon por renkonti aliajn uzantojn.",
|
||||
"empty_column.home.suggestions": "Vidu iujn sugestojn",
|
||||
|
@ -197,11 +197,11 @@
|
|||
"explore.trending_statuses": "Afiŝoj",
|
||||
"explore.trending_tags": "Kradvortoj",
|
||||
"follow_recommendations.done": "Farita",
|
||||
"follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.",
|
||||
"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.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, aperos laŭ kronologia ordo en via hejma templinio. Ne timu erari, vi povas ĉesi sekvi facile iam ajn!",
|
||||
"follow_request.authorize": "Rajtigi",
|
||||
"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",
|
||||
"getting_started.developers": "Programistoj",
|
||||
"getting_started.directory": "Profilujo",
|
||||
|
@ -210,7 +210,7 @@
|
|||
"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.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.any": "aŭ {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "sen {additional}",
|
||||
|
@ -223,14 +223,14 @@
|
|||
"home.column_settings.basic": "Bazaj agordoj",
|
||||
"home.column_settings.show_reblogs": "Montri plusendojn",
|
||||
"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",
|
||||
"intervals.full.days": "{number, plural, one {# tago} other {# tagoj}}",
|
||||
"intervals.full.hours": "{number, plural, one {# horo} other {# horoj}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutoj}}",
|
||||
"keyboard_shortcuts.back": "reveni",
|
||||
"keyboard_shortcuts.blocked": "malfermi la liston de blokitaj uzantoj",
|
||||
"keyboard_shortcuts.boost": "Plusendi",
|
||||
"keyboard_shortcuts.blocked": "Malfermi la liston de blokitaj uzantoj",
|
||||
"keyboard_shortcuts.boost": "Plusendi la mesaĝon",
|
||||
"keyboard_shortcuts.column": "fokusi mesaĝon en unu el la kolumnoj",
|
||||
"keyboard_shortcuts.compose": "enfokusigi la tekstujon",
|
||||
"keyboard_shortcuts.description": "Priskribo",
|
||||
|
@ -239,7 +239,7 @@
|
|||
"keyboard_shortcuts.enter": "malfermi mesaĝon",
|
||||
"keyboard_shortcuts.favourite": "Aldoni la mesaĝon al 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.home": "Malfermi la hejman templinion",
|
||||
"keyboard_shortcuts.hotkey": "Rapidklavo",
|
||||
|
@ -249,26 +249,26 @@
|
|||
"keyboard_shortcuts.muted": "malfermi la liston de silentigitaj uzantoj",
|
||||
"keyboard_shortcuts.my_profile": "malfermi vian profilon",
|
||||
"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.profile": "malfermi la profilon de la aŭtoro",
|
||||
"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.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.toggle_hidden": "montri/kaŝi tekston malantaŭ enhava averto",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "montri/kaŝi aŭdovidaĵojn",
|
||||
"keyboard_shortcuts.toggle_hidden": "Montri/kaŝi tekston malantaŭ la averto de enhavo (\"CW\")",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Montri/kaŝi la aŭdovidaĵojn",
|
||||
"keyboard_shortcuts.toot": "Krei novan mesaĝon",
|
||||
"keyboard_shortcuts.unfocus": "malenfokusigi la tekstujon aŭ la serĉilon",
|
||||
"keyboard_shortcuts.up": "iri supren en la listo",
|
||||
"lightbox.close": "Fermi",
|
||||
"lightbox.compress": "Kunpremi bildan vidkeston",
|
||||
"lightbox.expand": "Pligrandigi bildan vidkeston",
|
||||
"lightbox.next": "Sekva",
|
||||
"lightbox.previous": "Antaŭa",
|
||||
"lightbox.next": "Antaŭen",
|
||||
"lightbox.previous": "Malantaŭen",
|
||||
"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.remove": "Forigi de la listo",
|
||||
"lists.delete": "Forigi la liston",
|
||||
|
@ -284,7 +284,7 @@
|
|||
"lists.subheading": "Viaj listoj",
|
||||
"load_pending": "{count,plural, one {# nova elemento} other {# novaj elementoj}}",
|
||||
"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.sublabel": "Ĉi tiu elemento ne estis trovita",
|
||||
"mute_modal.duration": "Daŭro",
|
||||
|
@ -300,9 +300,9 @@
|
|||
"navigation_bar.domain_blocks": "Blokitaj domajnoj",
|
||||
"navigation_bar.edit_profile": "Redakti profilon",
|
||||
"navigation_bar.explore": "Esplori",
|
||||
"navigation_bar.favourites": "Stelumoj",
|
||||
"navigation_bar.favourites": "Preferaĵoj",
|
||||
"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.info": "Pri ĉi tiu servilo",
|
||||
"navigation_bar.keyboard_shortcuts": "Rapidklavoj",
|
||||
|
@ -312,10 +312,11 @@
|
|||
"navigation_bar.personal": "Persone",
|
||||
"navigation_bar.pins": "Alpinglitaj mesaĝoj",
|
||||
"navigation_bar.preferences": "Preferoj",
|
||||
"navigation_bar.public_timeline": "Federata templinio",
|
||||
"navigation_bar.public_timeline": "Fratara templinio",
|
||||
"navigation_bar.security": "Sekureco",
|
||||
"notification.admin.report": "{name} raportis {target}",
|
||||
"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_request": "{name} petis sekvi vin",
|
||||
"notification.mention": "{name} menciis vin",
|
||||
|
@ -326,14 +327,15 @@
|
|||
"notification.update": "{name} redaktis afiŝon",
|
||||
"notifications.clear": "Forviŝi 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.alert": "Retumilaj sciigoj",
|
||||
"notifications.column_settings.alert": "Sciigoj de la retumilo",
|
||||
"notifications.column_settings.favourite": "Preferaĵoj:",
|
||||
"notifications.column_settings.filter_bar.advanced": "Montri ĉiujn kategoriojn",
|
||||
"notifications.column_settings.filter_bar.category": "Rapida filtra breto",
|
||||
"notifications.column_settings.filter_bar.show_bar": "Montri la breton de filtrilo",
|
||||
"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.poll": "Balotenketaj rezultoj:",
|
||||
"notifications.column_settings.push": "Puŝsciigoj",
|
||||
|
@ -372,19 +374,19 @@
|
|||
"poll_button.remove_poll": "Forigi balotenketon",
|
||||
"privacy.change": "Agordi mesaĝan privatecon",
|
||||
"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.short": "Nur abonantoj",
|
||||
"privacy.public.long": "Videbla por ĉiuj",
|
||||
"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",
|
||||
"refresh": "Refreŝigu",
|
||||
"regeneration_indicator.label": "Ŝargado…",
|
||||
"regeneration_indicator.sublabel": "Via abonfluo estas preparata!",
|
||||
"relative_time.days": "{number}t",
|
||||
"relative_time.full.days": "{number, plural, one {# day} other {# days}} ago",
|
||||
"relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago",
|
||||
"relative_time.full.days": "antaŭ {number, plural, one {# tago} other {# tagoj}}",
|
||||
"relative_time.full.hours": "antaŭ {number, plural, one {# horo} other {# horoj}}",
|
||||
"relative_time.full.just_now": "ĵus nun",
|
||||
"relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago",
|
||||
"relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago",
|
||||
|
@ -397,7 +399,7 @@
|
|||
"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.categories.other": "Aliaj",
|
||||
"report.categories.spam": "Trudaĵo",
|
||||
"report.categories.spam": "Trudmesaĝo",
|
||||
"report.categories.violation": "Content violates one or more server rules",
|
||||
"report.category.subtitle": "Elektu la plej bonan kongruon",
|
||||
"report.category.title": "Diru al ni kio okazas pri ĉi tiu {type}",
|
||||
|
@ -406,10 +408,10 @@
|
|||
"report.close": "Farita",
|
||||
"report.comment.title": "Ĉu estas io alia kion vi pensas ke ni devas scii?",
|
||||
"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_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.reasons.dislike": "Mi ne ŝatas ĝin",
|
||||
"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.title": "Are there any posts that back up this report?",
|
||||
"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_actionable": "While we review this, you can take action against @{name}:",
|
||||
"report.thanks.title": "Ĉu vi ne volas vidi ĉi tion?",
|
||||
"report.thanks.title_actionable": "Dankon pro raporti, ni esploros ĉi tion.",
|
||||
"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_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_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.",
|
||||
|
@ -459,8 +466,9 @@
|
|||
"status.edited": "Redaktita {date}",
|
||||
"status.edited_x_times": "Redactita {count, plural, one {{count} fojon} other {{count} fojojn}}",
|
||||
"status.embed": "Enkorpigi",
|
||||
"status.favourite": "Preferaĵo",
|
||||
"status.favourite": "Aldoni al viaj preferaĵoj",
|
||||
"status.filtered": "Filtrita",
|
||||
"status.hide": "Kaŝi la mesaĝon",
|
||||
"status.history.created": "{name} kreis {date}",
|
||||
"status.history.edited": "{name} redaktis {date}",
|
||||
"status.load_more": "Ŝargi pli",
|
||||
|
@ -474,9 +482,9 @@
|
|||
"status.pinned": "Alpinglita mesaĝo",
|
||||
"status.read_more": "Legi pli",
|
||||
"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.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.remove_bookmark": "Forigi legosignon",
|
||||
"status.reply": "Respondi",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Raporti @{name}",
|
||||
"status.sensitive_warning": "Tikla enhavo",
|
||||
"status.share": "Kundividi",
|
||||
"status.show_filter_reason": "Ĉial montri",
|
||||
"status.show_less": "Montri malpli",
|
||||
"status.show_less_all": "Montri malpli ĉiun",
|
||||
"status.show_more": "Montri pli",
|
||||
|
@ -494,7 +503,7 @@
|
|||
"status.unpin": "Depingli de profilo",
|
||||
"suggestions.dismiss": "Forigi la proponon",
|
||||
"suggestions.header": "Vi povus interesiĝi pri…",
|
||||
"tabs_bar.federated_timeline": "Federata",
|
||||
"tabs_bar.federated_timeline": "Fratara",
|
||||
"tabs_bar.home": "Hejmo",
|
||||
"tabs_bar.local_timeline": "Loka templinio",
|
||||
"tabs_bar.notifications": "Sciigoj",
|
||||
|
@ -531,7 +540,7 @@
|
|||
"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.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.preparing_ocr": "Preparante OSR…",
|
||||
"upload_modal.preview_label": "Antaŭvido ({ratio})",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Configuración",
|
||||
"navigation_bar.public_timeline": "Línea temporal federada",
|
||||
"navigation_bar.security": "Seguridad",
|
||||
"notification.admin.report": "{name} denunció a {target}",
|
||||
"notification.admin.sign_up": "Se registró {name}",
|
||||
"notification.favourite": "{name} marcó tu mensaje como favorito",
|
||||
"notification.follow": "{name} te empezó a seguir",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} editó un mensaje",
|
||||
"notifications.clear": "Limpiar notificaciones",
|
||||
"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.alert": "Notificaciones de escritorio",
|
||||
"notifications.column_settings.favourite": "Favoritos:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Gracias por tu denuncia, vamos a revisarla.",
|
||||
"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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Insertar",
|
||||
"status.favourite": "Marcar como favorito",
|
||||
"status.filtered": "Filtrado",
|
||||
"status.hide": "Ocultar mensaje",
|
||||
"status.history.created": "Creado por {name} el {date}",
|
||||
"status.history.edited": "Editado por {name} el {date}",
|
||||
"status.load_more": "Cargar más",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Denunciar a @{name}",
|
||||
"status.sensitive_warning": "Contenido sensible",
|
||||
"status.share": "Compartir",
|
||||
"status.show_filter_reason": "Mostrar de todos modos",
|
||||
"status.show_less": "Mostrar menos",
|
||||
"status.show_less_all": "Mostrar menos para todo",
|
||||
"status.show_more": "Mostrar más",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Preferencias",
|
||||
"navigation_bar.public_timeline": "Historia federada",
|
||||
"navigation_bar.security": "Seguridad",
|
||||
"notification.admin.report": "{name} informó {target}",
|
||||
"notification.admin.sign_up": "{name} se unio",
|
||||
"notification.favourite": "{name} marcó tu estado como favorito",
|
||||
"notification.follow": "{name} te empezó a seguir",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} editó una publicación",
|
||||
"notifications.clear": "Limpiar 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.alert": "Notificaciones de escritorio",
|
||||
"notifications.column_settings.favourite": "Favoritos:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Gracias por informar, estudiaremos esto.",
|
||||
"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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Incrustado",
|
||||
"status.favourite": "Favorito",
|
||||
"status.filtered": "Filtrado",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} creó {date}",
|
||||
"status.history.edited": "{name} editado {date}",
|
||||
"status.load_more": "Cargar más",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Reportar",
|
||||
"status.sensitive_warning": "Contenido sensible",
|
||||
"status.share": "Compartir",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "Mostrar menos",
|
||||
"status.show_less_all": "Mostrar menos para todo",
|
||||
"status.show_more": "Mostrar más",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Preferencias",
|
||||
"navigation_bar.public_timeline": "Línea de tiempo federada",
|
||||
"navigation_bar.security": "Seguridad",
|
||||
"notification.admin.report": "{name} informó {target}",
|
||||
"notification.admin.sign_up": "{name} se registró",
|
||||
"notification.favourite": "{name} marcó tu estado como favorito",
|
||||
"notification.follow": "{name} te empezó a seguir",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} editó una publicación",
|
||||
"notifications.clear": "Limpiar 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.alert": "Notificaciones de escritorio",
|
||||
"notifications.column_settings.favourite": "Favoritos:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Gracias por informar, estudiaremos esto.",
|
||||
"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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Incrustado",
|
||||
"status.favourite": "Favorito",
|
||||
"status.filtered": "Filtrado",
|
||||
"status.hide": "Ocultar publicación",
|
||||
"status.history.created": "{name} creó {date}",
|
||||
"status.history.edited": "{name} editó {date}",
|
||||
"status.load_more": "Cargar más",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Reportar",
|
||||
"status.sensitive_warning": "Contenido sensible",
|
||||
"status.share": "Compartir",
|
||||
"status.show_filter_reason": "Mostrar de todos modos",
|
||||
"status.show_less": "Mostrar menos",
|
||||
"status.show_less_all": "Mostrar menos para todo",
|
||||
"status.show_more": "Mostrar más",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Eelistused",
|
||||
"navigation_bar.public_timeline": "Föderatiivne ajajoon",
|
||||
"navigation_bar.security": "Turvalisus",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "{name} signed up",
|
||||
"notification.favourite": "{name} märkis Teie staatuse lemmikuks",
|
||||
"notification.follow": "{name} jälgib nüüd Teid",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} edited a post",
|
||||
"notifications.clear": "Puhasta teated",
|
||||
"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.alert": "Töölauateated",
|
||||
"notifications.column_settings.favourite": "Lemmikud:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
|
||||
"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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Sängita",
|
||||
"status.favourite": "Lemmik",
|
||||
"status.filtered": "Filtreeritud",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} created {date}",
|
||||
"status.history.edited": "{name} edited {date}",
|
||||
"status.load_more": "Lae rohkem",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Raporteeri @{name}",
|
||||
"status.sensitive_warning": "Tundlik sisu",
|
||||
"status.share": "Jaga",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "Näita vähem",
|
||||
"status.show_less_all": "Näita vähem kõigile",
|
||||
"status.show_more": "Näita veel",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Hobespenak",
|
||||
"navigation_bar.public_timeline": "Federatutako denbora-lerroa",
|
||||
"navigation_bar.security": "Segurtasuna",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "{name} erabiltzailea erregistratu da",
|
||||
"notification.favourite": "{name}(e)k zure bidalketa gogoko du",
|
||||
"notification.follow": "{name}(e)k jarraitzen zaitu",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} erabiltzaileak bidalketa bat editatu du",
|
||||
"notifications.clear": "Garbitu jakinarazpenak",
|
||||
"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.alert": "Mahaigaineko jakinarazpenak",
|
||||
"notifications.column_settings.favourite": "Gogokoak:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Mila esker salaketagatik, berrikusiko dugu.",
|
||||
"report.unfollow": "@{name} 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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Txertatu",
|
||||
"status.favourite": "Gogokoa",
|
||||
"status.filtered": "Iragazita",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} erabiltzaileak sortua {date}",
|
||||
"status.history.edited": "{name} erabiltzaileak editatua {date}",
|
||||
"status.load_more": "Kargatu gehiago",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Salatu @{name}",
|
||||
"status.sensitive_warning": "Kontuz: Eduki hunkigarria",
|
||||
"status.share": "Partekatu",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "Erakutsi gutxiago",
|
||||
"status.show_less_all": "Erakutsi denetarik gutxiago",
|
||||
"status.show_more": "Erakutsi gehiago",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "ترجیحات",
|
||||
"navigation_bar.public_timeline": "خط زمانی همگانی",
|
||||
"navigation_bar.security": "امنیت",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "{name} ثبت نام کرد",
|
||||
"notification.favourite": "{name} فرستهتان را پسندید",
|
||||
"notification.follow": "{name} پیگیرتان شد",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} فرستهای را ویرایش کرد",
|
||||
"notifications.clear": "پاکسازی آگاهیها",
|
||||
"notifications.clear_confirmation": "مطمئنید میخواهید همهٔ آگاهیهایتان را برای همیشه پاک کنید؟",
|
||||
"notifications.column_settings.admin.report": "New reports:",
|
||||
"notifications.column_settings.admin.sign_up": "ثبت نامهای جدید:",
|
||||
"notifications.column_settings.alert": "آگاهیهای میزکار",
|
||||
"notifications.column_settings.favourite": "پسندیدهها:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "ممنون بابت گزارش، ما آن را بررسی خواهیم کرد.",
|
||||
"report.unfollow": "ناپیگیری @{name}",
|
||||
"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_popout.search_format": "راهنمای جستوجوی پیشرفته",
|
||||
"search_popout.tips.full_text": "جستوجوی متنی ساده فرستههایی که نوشته، پسندیده، تقویتکرده یا در آنها نامبرده شدهاید را به علاوهٔ نامهای کاربری، نامهای نمایشی و برچسبها برمیگرداند.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "جاسازی",
|
||||
"status.favourite": "پسندیدن",
|
||||
"status.filtered": "پالوده",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "توسط {name} در {date} ایجاد شد",
|
||||
"status.history.edited": "توسط {name} در {date} ویرایش شد",
|
||||
"status.load_more": "بار کردن بیشتر",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "گزارش @{name}",
|
||||
"status.sensitive_warning": "محتوای حساس",
|
||||
"status.share": "همرسانی",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "نمایش کمتر",
|
||||
"status.show_less_all": "نمایش کمتر همه",
|
||||
"status.show_more": "نمایش بیشتر",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Asetukset",
|
||||
"navigation_bar.public_timeline": "Yleinen aikajana",
|
||||
"navigation_bar.security": "Turvallisuus",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "{name} rekisteröitynyt",
|
||||
"notification.favourite": "{name} tykkäsi viestistäsi",
|
||||
"notification.follow": "{name} seurasi sinua",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} muokkasi viestiä",
|
||||
"notifications.clear": "Tyhjennä ilmoitukset",
|
||||
"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.alert": "Työpöytäilmoitukset",
|
||||
"notifications.column_settings.favourite": "Tykkäykset:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Kiitos raportista, tutkimme asiaa.",
|
||||
"report.unfollow": "Lopeta seuraaminen @{name}",
|
||||
"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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Upota",
|
||||
"status.favourite": "Tykkää",
|
||||
"status.filtered": "Suodatettu",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} luotu {date}",
|
||||
"status.history.edited": "{name} muokkasi {date}",
|
||||
"status.load_more": "Lataa lisää",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Raportoi @{name}",
|
||||
"status.sensitive_warning": "Arkaluontoista sisältöä",
|
||||
"status.share": "Jaa",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "Näytä vähemmän",
|
||||
"status.show_less_all": "Näytä vähemmän kaikista",
|
||||
"status.show_more": "Näytä lisää",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Préférences",
|
||||
"navigation_bar.public_timeline": "Fil public global",
|
||||
"navigation_bar.security": "Sécurité",
|
||||
"notification.admin.report": "{name} a signalé {target}",
|
||||
"notification.admin.sign_up": "{name} s'est inscrit·e",
|
||||
"notification.favourite": "{name} a ajouté le message à ses favoris",
|
||||
"notification.follow": "{name} vous suit",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} a modifié un message",
|
||||
"notifications.clear": "Effacer les 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.alert": "Notifications du navigateur",
|
||||
"notifications.column_settings.favourite": "Favoris :",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Merci pour votre signalement, nous allons investiguer.",
|
||||
"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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Intégrer",
|
||||
"status.favourite": "Ajouter aux favoris",
|
||||
"status.filtered": "Filtré",
|
||||
"status.hide": "Cacher le pouet",
|
||||
"status.history.created": "créé par {name} {date}",
|
||||
"status.history.edited": "édité par {name} {date}",
|
||||
"status.load_more": "Charger plus",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Signaler @{name}",
|
||||
"status.sensitive_warning": "Contenu sensible",
|
||||
"status.share": "Partager",
|
||||
"status.show_filter_reason": "Afficher quand même",
|
||||
"status.show_less": "Replier",
|
||||
"status.show_less_all": "Tout replier",
|
||||
"status.show_more": "Déplier",
|
||||
|
@ -524,7 +533,7 @@
|
|||
"upload_form.edit": "Modifier",
|
||||
"upload_form.thumbnail": "Changer la vignette",
|
||||
"upload_form.undo": "Supprimer",
|
||||
"upload_form.video_description": "Décrire pour les personnes ayant des problèmes d’audition 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 l’image en cours…",
|
||||
"upload_modal.apply": "Appliquer",
|
||||
"upload_modal.applying": "Application en cours…",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Foarkarren",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "{name} hat harren ynskreaun",
|
||||
"notification.favourite": "{name} hat jo berjocht as favoryt markearre",
|
||||
"notification.follow": "{name} folget jo",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} hat in berjocht feroare",
|
||||
"notifications.clear": "Notifikaasjes leegje",
|
||||
"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.alert": "Desktop notifikaasjes",
|
||||
"notifications.column_settings.favourite": "Favoriten:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
|
||||
"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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Ynslute",
|
||||
"status.favourite": "Favorite",
|
||||
"status.filtered": "Filtere",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} makke dit {date}",
|
||||
"status.history.edited": "{name} feroare dit {date}",
|
||||
"status.load_more": "Load more",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Jou @{name} oan",
|
||||
"status.sensitive_warning": "Sensitive content",
|
||||
"status.share": "Diele",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "Minder sjen litte",
|
||||
"status.show_less_all": "Foar alles minder sjen litte",
|
||||
"status.show_more": "Mear sjen litte",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "{name} signed up",
|
||||
"notification.favourite": "Roghnaigh {name} do phostáil",
|
||||
"notification.follow": "Lean {name} thú",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "Chuir {name} postáil in eagar",
|
||||
"notifications.clear": "Clear 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.alert": "Desktop notifications",
|
||||
"notifications.column_settings.favourite": "Roghanna:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
|
||||
"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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Embed",
|
||||
"status.favourite": "Rogha",
|
||||
"status.filtered": "Filtered",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} created {date}",
|
||||
"status.history.edited": "Curtha in eagar ag {name} in {date}",
|
||||
"status.load_more": "Load more",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Report @{name}",
|
||||
"status.sensitive_warning": "Sensitive content",
|
||||
"status.share": "Share",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "Show less",
|
||||
"status.show_less_all": "Show less for all",
|
||||
"status.show_more": "Show more",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Roghainnean",
|
||||
"navigation_bar.public_timeline": "Loidhne-ama cho-naisgte",
|
||||
"navigation_bar.security": "Tèarainteachd",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "Chlàraich {name}",
|
||||
"notification.favourite": "Is annsa le {name} am post agad",
|
||||
"notification.follow": "Tha {name} a’ leantainn ort a-nis",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "Dheasaich {name} post",
|
||||
"notifications.clear": "Falamhaich na brathan",
|
||||
"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.alert": "Brathan deasga",
|
||||
"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.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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Leabaich",
|
||||
"status.favourite": "Cuir ris na h-annsachdan",
|
||||
"status.filtered": "Criathraichte",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "Chruthaich {name} {date} e",
|
||||
"status.history.edited": "Dheasaich {name} {date} e",
|
||||
"status.load_more": "Luchdaich barrachd dheth",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Dèan gearan mu @{name}",
|
||||
"status.sensitive_warning": "Susbaint fhrionasach",
|
||||
"status.share": "Co-roinn",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "Seall nas lugha dheth",
|
||||
"status.show_less_all": "Seall nas lugha dhen a h-uile",
|
||||
"status.show_more": "Seall barrachd dheth",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Preferencias",
|
||||
"navigation_bar.public_timeline": "Cronoloxía federada",
|
||||
"navigation_bar.security": "Seguranza",
|
||||
"notification.admin.report": "{name} denunciou a {target}",
|
||||
"notification.admin.sign_up": "{name} rexistrouse",
|
||||
"notification.favourite": "{name} marcou a túa publicación como favorita",
|
||||
"notification.follow": "{name} comezou a seguirte",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} editou unha publicación",
|
||||
"notifications.clear": "Limpar 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.alert": "Notificacións de escritorio",
|
||||
"notifications.column_settings.favourite": "Favoritos:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Grazas pola denuncia, investigarémola.",
|
||||
"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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Incrustar",
|
||||
"status.favourite": "Favorito",
|
||||
"status.filtered": "Filtrado",
|
||||
"status.hide": "Agochar publicación",
|
||||
"status.history.created": "{name} creouno o {date}",
|
||||
"status.history.edited": "{name} editouno o {date}",
|
||||
"status.load_more": "Cargar máis",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Denunciar @{name}",
|
||||
"status.sensitive_warning": "Contido sensíbel",
|
||||
"status.share": "Compartir",
|
||||
"status.show_filter_reason": "Mostrar igualmente",
|
||||
"status.show_less": "Amosar menos",
|
||||
"status.show_less_all": "Amosar menos para todos",
|
||||
"status.show_more": "Amosar máis",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "העדפות",
|
||||
"navigation_bar.public_timeline": "ציר זמן בין-קהילתי",
|
||||
"navigation_bar.security": "אבטחה",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "{name} נרשמו",
|
||||
"notification.favourite": "חצרוצך חובב על ידי {name}",
|
||||
"notification.follow": "{name} במעקב אחרייך",
|
||||
|
@ -321,11 +322,12 @@
|
|||
"notification.mention": "אוזכרת על ידי {name}",
|
||||
"notification.own_poll": "הסקר שלך הסתיים",
|
||||
"notification.poll": "סקר שהצבעת בו הסתיים",
|
||||
"notification.reblog": "חצרוצך הודהד על ידי {name}",
|
||||
"notification.reblog": "הפוסט הזה הודהד על ידי {name}",
|
||||
"notification.status": "{name} הרגע פרסמו",
|
||||
"notification.update": "{name} ערכו פוסט",
|
||||
"notifications.clear": "הסרת התראות",
|
||||
"notifications.clear_confirmation": "להסיר את כל ההתראות? בטוח?",
|
||||
"notifications.column_settings.admin.report": "New reports:",
|
||||
"notifications.column_settings.admin.sign_up": "הרשמות חדשות:",
|
||||
"notifications.column_settings.alert": "התראות לשולחן העבודה",
|
||||
"notifications.column_settings.favourite": "מחובבים:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "תודה על הדיווח, נבדוק את העניין.",
|
||||
"report.unfollow": "הפסיקו לעקוב אחרי @{name}",
|
||||
"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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "הטמעה",
|
||||
"status.favourite": "חיבוב",
|
||||
"status.filtered": "סונן",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} יצר/ה {date}",
|
||||
"status.history.edited": "{name} ערך/ה {date}",
|
||||
"status.load_more": "עוד",
|
||||
|
@ -475,7 +483,7 @@
|
|||
"status.read_more": "לקרוא עוד",
|
||||
"status.reblog": "הדהוד",
|
||||
"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.redraft": "מחיקה ועריכה מחדש",
|
||||
"status.remove_bookmark": "הסרת סימניה",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "דיווח על @{name}",
|
||||
"status.sensitive_warning": "תוכן רגיש",
|
||||
"status.share": "שיתוף",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "הראה פחות",
|
||||
"status.show_less_all": "להציג פחות מהכל",
|
||||
"status.show_more": "הראה יותר",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "{name} signed up",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"notification.follow": "{name} followed you",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} edited a post",
|
||||
"notifications.clear": "Clear 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.alert": "Desktop notifications",
|
||||
"notifications.column_settings.favourite": "Favourites:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
|
||||
"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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Embed",
|
||||
"status.favourite": "Favourite",
|
||||
"status.filtered": "Filtered",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} created {date}",
|
||||
"status.history.edited": "{name} edited {date}",
|
||||
"status.load_more": "Load more",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Report @{name}",
|
||||
"status.sensitive_warning": "संवेदनशील विषय वस्तु",
|
||||
"status.share": "शेयर करें",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "कम दिखाएँ",
|
||||
"status.show_less_all": "Show less for all",
|
||||
"status.show_more": "और दिखाएँ",
|
||||
|
|
|
@ -314,6 +314,7 @@
|
|||
"navigation_bar.preferences": "Postavke",
|
||||
"navigation_bar.public_timeline": "Federalna vremenska crta",
|
||||
"navigation_bar.security": "Sigurnost",
|
||||
"notification.admin.report": "{name} reported {target}",
|
||||
"notification.admin.sign_up": "{name} signed up",
|
||||
"notification.favourite": "{name} je favorizirao/la Vaš toot",
|
||||
"notification.follow": "{name} Vas je počeo/la pratiti",
|
||||
|
@ -326,6 +327,7 @@
|
|||
"notification.update": "{name} edited a post",
|
||||
"notifications.clear": "Očisti 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.alert": "Obavijesti radne površine",
|
||||
"notifications.column_settings.favourite": "Favoriti:",
|
||||
|
@ -431,6 +433,11 @@
|
|||
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
|
||||
"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_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_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.",
|
||||
|
@ -461,6 +468,7 @@
|
|||
"status.embed": "Embed",
|
||||
"status.favourite": "Označi favoritom",
|
||||
"status.filtered": "Filtered",
|
||||
"status.hide": "Hide toot",
|
||||
"status.history.created": "{name} created {date}",
|
||||
"status.history.edited": "{name} edited {date}",
|
||||
"status.load_more": "Učitaj više",
|
||||
|
@ -484,6 +492,7 @@
|
|||
"status.report": "Prijavi @{name}",
|
||||
"status.sensitive_warning": "Osjetljiv sadržaj",
|
||||
"status.share": "Podijeli",
|
||||
"status.show_filter_reason": "Show anyway",
|
||||
"status.show_less": "Pokaži manje",
|
||||
"status.show_less_all": "Show less for all",
|
||||
"status.show_more": "Pokaži više",
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue