forked from treehouse/mastodon
commit
6af2300454
4
Gemfile
4
Gemfile
|
@ -15,7 +15,7 @@ gem 'makara', '~> 0.4'
|
||||||
gem 'pghero', '~> 2.2'
|
gem 'pghero', '~> 2.2'
|
||||||
gem 'dotenv-rails', '~> 2.7'
|
gem 'dotenv-rails', '~> 2.7'
|
||||||
|
|
||||||
gem 'aws-sdk-s3', '~> 1.31', require: false
|
gem 'aws-sdk-s3', '~> 1.32', require: false
|
||||||
gem 'fog-core', '<= 2.1.0'
|
gem 'fog-core', '<= 2.1.0'
|
||||||
gem 'fog-openstack', '~> 0.3', require: false
|
gem 'fog-openstack', '~> 0.3', require: false
|
||||||
gem 'paperclip', '~> 6.0'
|
gem 'paperclip', '~> 6.0'
|
||||||
|
@ -87,7 +87,7 @@ gem 'tty-command', '~> 0.8', require: false
|
||||||
gem 'tty-prompt', '~> 0.18', require: false
|
gem 'tty-prompt', '~> 0.18', require: false
|
||||||
gem 'twitter-text', '~> 1.14'
|
gem 'twitter-text', '~> 1.14'
|
||||||
gem 'tzinfo-data', '~> 1.2018'
|
gem 'tzinfo-data', '~> 1.2018'
|
||||||
gem 'webpacker', '~> 3.5'
|
gem 'webpacker', '~> 4.0'
|
||||||
gem 'webpush'
|
gem 'webpush'
|
||||||
|
|
||||||
gem 'json-ld', '~> 3.0'
|
gem 'json-ld', '~> 3.0'
|
||||||
|
|
35
Gemfile.lock
35
Gemfile.lock
|
@ -75,21 +75,23 @@ GEM
|
||||||
encryptor (~> 3.0.0)
|
encryptor (~> 3.0.0)
|
||||||
av (0.9.0)
|
av (0.9.0)
|
||||||
cocaine (~> 0.5.3)
|
cocaine (~> 0.5.3)
|
||||||
aws-eventstream (1.0.1)
|
aws-eventstream (1.0.2)
|
||||||
aws-partitions (1.143.0)
|
aws-partitions (1.144.0)
|
||||||
aws-sdk-core (3.46.2)
|
aws-sdk-core (3.47.0)
|
||||||
aws-eventstream (~> 1.0)
|
aws-eventstream (~> 1.0, >= 1.0.2)
|
||||||
aws-partitions (~> 1.0)
|
aws-partitions (~> 1.0)
|
||||||
aws-sigv4 (~> 1.0)
|
aws-sigv4 (~> 1.1)
|
||||||
|
http-2 (~> 0.10)
|
||||||
jmespath (~> 1.0)
|
jmespath (~> 1.0)
|
||||||
aws-sdk-kms (1.13.0)
|
aws-sdk-kms (1.14.0)
|
||||||
aws-sdk-core (~> 3, >= 3.39.0)
|
aws-sdk-core (~> 3, >= 3.47.0)
|
||||||
aws-sigv4 (~> 1.0)
|
aws-sigv4 (~> 1.1)
|
||||||
aws-sdk-s3 (1.31.0)
|
aws-sdk-s3 (1.32.0)
|
||||||
aws-sdk-core (~> 3, >= 3.39.0)
|
aws-sdk-core (~> 3, >= 3.47.0)
|
||||||
aws-sdk-kms (~> 1)
|
aws-sdk-kms (~> 1)
|
||||||
aws-sigv4 (~> 1.0)
|
aws-sigv4 (~> 1.0)
|
||||||
aws-sigv4 (1.0.3)
|
aws-sigv4 (1.1.0)
|
||||||
|
aws-eventstream (~> 1.0, >= 1.0.2)
|
||||||
bcrypt (3.1.12)
|
bcrypt (3.1.12)
|
||||||
benchmark-ips (2.7.2)
|
benchmark-ips (2.7.2)
|
||||||
better_errors (2.5.1)
|
better_errors (2.5.1)
|
||||||
|
@ -259,6 +261,7 @@ GEM
|
||||||
html2text (0.2.1)
|
html2text (0.2.1)
|
||||||
nokogiri (~> 1.6)
|
nokogiri (~> 1.6)
|
||||||
htmlentities (4.3.4)
|
htmlentities (4.3.4)
|
||||||
|
http-2 (0.10.1)
|
||||||
http (3.3.0)
|
http (3.3.0)
|
||||||
addressable (~> 2.3)
|
addressable (~> 2.3)
|
||||||
http-cookie (~> 1.0)
|
http-cookie (~> 1.0)
|
||||||
|
@ -365,7 +368,7 @@ GEM
|
||||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||||
sidekiq (>= 3.5)
|
sidekiq (>= 3.5)
|
||||||
statsd-ruby (~> 1.4, >= 1.4.0)
|
statsd-ruby (~> 1.4, >= 1.4.0)
|
||||||
oj (3.7.9)
|
oj (3.7.10)
|
||||||
omniauth (1.9.0)
|
omniauth (1.9.0)
|
||||||
hashie (>= 3.4.6, < 3.7.0)
|
hashie (>= 3.4.6, < 3.7.0)
|
||||||
rack (>= 1.6.2, < 3)
|
rack (>= 1.6.2, < 3)
|
||||||
|
@ -432,7 +435,7 @@ GEM
|
||||||
rack-cors (1.0.2)
|
rack-cors (1.0.2)
|
||||||
rack-protection (2.0.5)
|
rack-protection (2.0.5)
|
||||||
rack
|
rack
|
||||||
rack-proxy (0.6.4)
|
rack-proxy (0.6.5)
|
||||||
rack
|
rack
|
||||||
rack-test (1.1.0)
|
rack-test (1.1.0)
|
||||||
rack (>= 1.0, < 3)
|
rack (>= 1.0, < 3)
|
||||||
|
@ -639,7 +642,7 @@ GEM
|
||||||
addressable (>= 2.3.6)
|
addressable (>= 2.3.6)
|
||||||
crack (>= 0.3.2)
|
crack (>= 0.3.2)
|
||||||
hashdiff
|
hashdiff
|
||||||
webpacker (3.5.5)
|
webpacker (4.0.2)
|
||||||
activesupport (>= 4.2)
|
activesupport (>= 4.2)
|
||||||
rack-proxy (>= 0.6.1)
|
rack-proxy (>= 0.6.1)
|
||||||
railties (>= 4.2)
|
railties (>= 4.2)
|
||||||
|
@ -661,7 +664,7 @@ DEPENDENCIES
|
||||||
active_record_query_trace (~> 1.6)
|
active_record_query_trace (~> 1.6)
|
||||||
addressable (~> 2.6)
|
addressable (~> 2.6)
|
||||||
annotate (~> 2.7)
|
annotate (~> 2.7)
|
||||||
aws-sdk-s3 (~> 1.31)
|
aws-sdk-s3 (~> 1.32)
|
||||||
better_errors (~> 2.5)
|
better_errors (~> 2.5)
|
||||||
binding_of_caller (~> 0.7)
|
binding_of_caller (~> 0.7)
|
||||||
bootsnap (~> 1.4)
|
bootsnap (~> 1.4)
|
||||||
|
@ -772,7 +775,7 @@ DEPENDENCIES
|
||||||
twitter-text (~> 1.14)
|
twitter-text (~> 1.14)
|
||||||
tzinfo-data (~> 1.2018)
|
tzinfo-data (~> 1.2018)
|
||||||
webmock (~> 3.5)
|
webmock (~> 3.5)
|
||||||
webpacker (~> 3.5)
|
webpacker (~> 4.0)
|
||||||
webpush
|
webpush
|
||||||
|
|
||||||
RUBY VERSION
|
RUBY VERSION
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class Api::V1::PreferencesController < Api::BaseController
|
||||||
|
before_action -> { doorkeeper_authorize! :read, :'read:accounts' }
|
||||||
|
before_action :require_user!
|
||||||
|
|
||||||
|
respond_to :json
|
||||||
|
|
||||||
|
def index
|
||||||
|
render json: current_account, serializer: REST::PreferencesSerializer
|
||||||
|
end
|
||||||
|
end
|
|
@ -9,7 +9,7 @@ class Api::V1::Statuses::ReblogsController < Api::BaseController
|
||||||
respond_to :json
|
respond_to :json
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@status = ReblogService.new.call(current_user.account, status_for_reblog)
|
@status = ReblogService.new.call(current_user.account, status_for_reblog, reblog_params)
|
||||||
render json: @status, serializer: REST::StatusSerializer
|
render json: @status, serializer: REST::StatusSerializer
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -32,4 +32,8 @@ class Api::V1::Statuses::ReblogsController < Api::BaseController
|
||||||
def status_for_destroy
|
def status_for_destroy
|
||||||
current_user.account.statuses.where(reblog_of_id: params[:status_id]).first!
|
current_user.account.statuses.where(reblog_of_id: params[:status_id]).first!
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def reblog_params
|
||||||
|
params.permit(:visibility)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,103 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class RelationshipsController < ApplicationController
|
||||||
|
layout 'admin'
|
||||||
|
|
||||||
|
before_action :authenticate_user!
|
||||||
|
before_action :set_accounts, only: :show
|
||||||
|
before_action :set_pack
|
||||||
|
before_action :set_body_classes
|
||||||
|
|
||||||
|
helper_method :following_relationship?, :followed_by_relationship?, :mutual_relationship?
|
||||||
|
|
||||||
|
def show
|
||||||
|
@form = Form::AccountBatch.new
|
||||||
|
end
|
||||||
|
|
||||||
|
def update
|
||||||
|
@form = Form::AccountBatch.new(form_account_batch_params.merge(current_account: current_account, action: action_from_button))
|
||||||
|
@form.save
|
||||||
|
rescue ActionController::ParameterMissing
|
||||||
|
# Do nothing
|
||||||
|
ensure
|
||||||
|
redirect_to relationships_path(current_params)
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def set_accounts
|
||||||
|
@accounts = relationships_scope.page(params[:page]).per(40)
|
||||||
|
end
|
||||||
|
|
||||||
|
def relationships_scope
|
||||||
|
scope = begin
|
||||||
|
if following_relationship?
|
||||||
|
current_account.following.includes(:account_stat)
|
||||||
|
else
|
||||||
|
current_account.followers.includes(:account_stat)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scope.merge!(Follow.recent)
|
||||||
|
scope.merge!(mutual_relationship_scope) if mutual_relationship?
|
||||||
|
scope.merge!(abandoned_account_scope) if params[:status] == 'abandoned'
|
||||||
|
scope.merge!(active_account_scope) if params[:status] == 'active'
|
||||||
|
scope.merge!(by_domain_scope) if params[:by_domain].present?
|
||||||
|
|
||||||
|
scope
|
||||||
|
end
|
||||||
|
|
||||||
|
def mutual_relationship_scope
|
||||||
|
Account.where(id: current_account.following)
|
||||||
|
end
|
||||||
|
|
||||||
|
def abandoned_account_scope
|
||||||
|
Account.where.not(moved_to_account_id: nil)
|
||||||
|
end
|
||||||
|
|
||||||
|
def active_account_scope
|
||||||
|
Account.where(moved_to_account_id: nil)
|
||||||
|
end
|
||||||
|
|
||||||
|
def by_domain_scope
|
||||||
|
Account.where(domain: params[:by_domain])
|
||||||
|
end
|
||||||
|
|
||||||
|
def form_account_batch_params
|
||||||
|
params.require(:form_account_batch).permit(:action, account_ids: [])
|
||||||
|
end
|
||||||
|
|
||||||
|
def following_relationship?
|
||||||
|
params[:relationship].blank? || params[:relationship] == 'following'
|
||||||
|
end
|
||||||
|
|
||||||
|
def mutual_relationship?
|
||||||
|
params[:relationship] == 'mutual'
|
||||||
|
end
|
||||||
|
|
||||||
|
def followed_by_relationship?
|
||||||
|
params[:relationship] == 'followed_by'
|
||||||
|
end
|
||||||
|
|
||||||
|
def current_params
|
||||||
|
params.slice(:page, :status, :relationship, :by_domain).permit(:page, :status, :relationship, :by_domain)
|
||||||
|
end
|
||||||
|
|
||||||
|
def action_from_button
|
||||||
|
if params[:unfollow]
|
||||||
|
'unfollow'
|
||||||
|
elsif params[:remove_from_followers]
|
||||||
|
'remove_from_followers'
|
||||||
|
elsif params[:block_domains]
|
||||||
|
'block_domains'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def set_body_classes
|
||||||
|
@body_classes = 'admin'
|
||||||
|
end
|
||||||
|
|
||||||
|
def set_pack
|
||||||
|
use_pack 'admin'
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,24 +0,0 @@
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
class Settings::FollowerDomainsController < Settings::BaseController
|
|
||||||
def show
|
|
||||||
@account = current_account
|
|
||||||
@domains = current_account.followers.reorder(Arel.sql('MIN(follows.id) DESC')).group('accounts.domain').select('accounts.domain, count(accounts.id) as accounts_from_domain').page(params[:page]).per(10)
|
|
||||||
end
|
|
||||||
|
|
||||||
def update
|
|
||||||
domains = bulk_params[:select] || []
|
|
||||||
|
|
||||||
AfterAccountDomainBlockWorker.push_bulk(domains) do |domain|
|
|
||||||
[current_account.id, domain]
|
|
||||||
end
|
|
||||||
|
|
||||||
redirect_to settings_follower_domains_path, notice: I18n.t('followers.success', count: domains.size)
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
def bulk_params
|
|
||||||
params.permit(select: [])
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -9,42 +9,6 @@ module Admin::ActionLogsHelper
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def linkable_log_target(record)
|
|
||||||
case record.class.name
|
|
||||||
when 'Account'
|
|
||||||
link_to record.acct, admin_account_path(record.id)
|
|
||||||
when 'User'
|
|
||||||
link_to record.account.acct, admin_account_path(record.account_id)
|
|
||||||
when 'CustomEmoji'
|
|
||||||
record.shortcode
|
|
||||||
when 'Report'
|
|
||||||
link_to "##{record.id}", admin_report_path(record)
|
|
||||||
when 'DomainBlock', 'EmailDomainBlock'
|
|
||||||
link_to record.domain, "https://#{record.domain}"
|
|
||||||
when 'Status'
|
|
||||||
link_to record.account.acct, TagManager.instance.url_for(record)
|
|
||||||
when 'AccountWarning'
|
|
||||||
link_to record.target_account.acct, admin_account_path(record.target_account_id)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def log_target_from_history(type, attributes)
|
|
||||||
case type
|
|
||||||
when 'CustomEmoji'
|
|
||||||
attributes['shortcode']
|
|
||||||
when 'DomainBlock', 'EmailDomainBlock'
|
|
||||||
link_to attributes['domain'], "https://#{attributes['domain']}"
|
|
||||||
when 'Status'
|
|
||||||
tmp_status = Status.new(attributes.except('reblogs_count', 'favourites_count'))
|
|
||||||
|
|
||||||
if tmp_status.account
|
|
||||||
link_to tmp_status.account&.acct || "##{tmp_status.account_id}", admin_account_path(tmp_status.account_id)
|
|
||||||
else
|
|
||||||
I18n.t('admin.action_logs.deleted_status')
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def relevant_log_changes(log)
|
def relevant_log_changes(log)
|
||||||
if log.target_type == 'CustomEmoji' && [:enable, :disable, :destroy].include?(log.action)
|
if log.target_type == 'CustomEmoji' && [:enable, :disable, :destroy].include?(log.action)
|
||||||
log.recorded_changes.slice('domain')
|
log.recorded_changes.slice('domain')
|
||||||
|
@ -111,4 +75,40 @@ module Admin::ActionLogsHelper
|
||||||
def opposite_verbs?(log)
|
def opposite_verbs?(log)
|
||||||
%w(DomainBlock EmailDomainBlock AccountWarning).include?(log.target_type)
|
%w(DomainBlock EmailDomainBlock AccountWarning).include?(log.target_type)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def linkable_log_target(record)
|
||||||
|
case record.class.name
|
||||||
|
when 'Account'
|
||||||
|
link_to record.acct, admin_account_path(record.id)
|
||||||
|
when 'User'
|
||||||
|
link_to record.account.acct, admin_account_path(record.account_id)
|
||||||
|
when 'CustomEmoji'
|
||||||
|
record.shortcode
|
||||||
|
when 'Report'
|
||||||
|
link_to "##{record.id}", admin_report_path(record)
|
||||||
|
when 'DomainBlock', 'EmailDomainBlock'
|
||||||
|
link_to record.domain, "https://#{record.domain}"
|
||||||
|
when 'Status'
|
||||||
|
link_to record.account.acct, TagManager.instance.url_for(record)
|
||||||
|
when 'AccountWarning'
|
||||||
|
link_to record.target_account.acct, admin_account_path(record.target_account_id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def log_target_from_history(type, attributes)
|
||||||
|
case type
|
||||||
|
when 'CustomEmoji'
|
||||||
|
attributes['shortcode']
|
||||||
|
when 'DomainBlock', 'EmailDomainBlock'
|
||||||
|
link_to attributes['domain'], "https://#{attributes['domain']}"
|
||||||
|
when 'Status'
|
||||||
|
tmp_status = Status.new(attributes.except('reblogs_count', 'favourites_count'))
|
||||||
|
|
||||||
|
if tmp_status.account
|
||||||
|
link_to tmp_status.account&.acct || "##{tmp_status.account_id}", admin_account_path(tmp_status.account_id)
|
||||||
|
else
|
||||||
|
I18n.t('admin.action_logs.deleted_status')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -7,8 +7,9 @@ module Admin::FilterHelper
|
||||||
CUSTOM_EMOJI_FILTERS = %i(local remote by_domain shortcode).freeze
|
CUSTOM_EMOJI_FILTERS = %i(local remote by_domain shortcode).freeze
|
||||||
TAGS_FILTERS = %i(hidden).freeze
|
TAGS_FILTERS = %i(hidden).freeze
|
||||||
INSTANCES_FILTERS = %i(limited by_domain).freeze
|
INSTANCES_FILTERS = %i(limited by_domain).freeze
|
||||||
|
FOLLOWERS_FILTERS = %i(relationship status by_domain).freeze
|
||||||
|
|
||||||
FILTERS = ACCOUNT_FILTERS + REPORT_FILTERS + INVITE_FILTER + CUSTOM_EMOJI_FILTERS + TAGS_FILTERS + INSTANCES_FILTERS
|
FILTERS = ACCOUNT_FILTERS + REPORT_FILTERS + INVITE_FILTER + CUSTOM_EMOJI_FILTERS + TAGS_FILTERS + INSTANCES_FILTERS + FOLLOWERS_FILTERS
|
||||||
|
|
||||||
def filter_link_to(text, link_to_params, link_class_params = link_to_params)
|
def filter_link_to(text, link_to_params, link_class_params = link_to_params)
|
||||||
new_url = filtered_url_for(link_to_params)
|
new_url = filtered_url_for(link_to_params)
|
||||||
|
|
|
@ -140,6 +140,15 @@ a.table-action-link {
|
||||||
input {
|
input {
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&--aligned {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
input {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&__actions,
|
&__actions,
|
||||||
|
@ -183,6 +192,10 @@ a.table-action-link {
|
||||||
&__content {
|
&__content {
|
||||||
padding-top: 12px;
|
padding-top: 12px;
|
||||||
padding-bottom: 16px;
|
padding-bottom: 16px;
|
||||||
|
|
||||||
|
&--unpadded {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -193,4 +206,10 @@ a.table-action-link {
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.nothing-here {
|
||||||
|
border: 1px solid darken($ui-base-color, 8%);
|
||||||
|
border-top: 0;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,10 +28,8 @@ pack:
|
||||||
locales: locales
|
locales: locales
|
||||||
|
|
||||||
# (OPTIONAL) A file to use as the preview screenshot for the flavour,
|
# (OPTIONAL) A file to use as the preview screenshot for the flavour,
|
||||||
# or an array thereof. These filenames must be unique across all
|
# or an array thereof. These are the full path from `app/javascript/`.
|
||||||
# images (regardless of path), so it's a good idea to namespace them
|
screenshot: flavours/glitch/images/glitch-preview.jpg
|
||||||
# to your theme. It's up to you to let webpack know to compile them.
|
|
||||||
screenshot: glitch-preview.jpg
|
|
||||||
|
|
||||||
# (OPTIONAL) The directory which contains the pack files.
|
# (OPTIONAL) The directory which contains the pack files.
|
||||||
# Defaults to the theme directory (`app/javascript/themes/[theme]`),
|
# Defaults to the theme directory (`app/javascript/themes/[theme]`),
|
||||||
|
|
|
@ -26,10 +26,8 @@ pack:
|
||||||
locales: ../../mastodon/locales
|
locales: ../../mastodon/locales
|
||||||
|
|
||||||
# (OPTIONAL) A file to use as the preview screenshot for the flavour,
|
# (OPTIONAL) A file to use as the preview screenshot for the flavour,
|
||||||
# or an array thereof. These filenames must be unique across all
|
# or an array thereof. These are the full path from `app/javascript/`.
|
||||||
# images (regardless of path), so it's a good idea to namespace them
|
screenshot: images/screenshot.jpg
|
||||||
# to your theme. It's up to you to let webpack know to compile them.
|
|
||||||
screenshot: screenshot.jpg
|
|
||||||
|
|
||||||
# (OPTIONAL) The directory which contains the pack files.
|
# (OPTIONAL) The directory which contains the pack files.
|
||||||
# Defaults to this directory (`app/javascript/flavour/[flavour]`),
|
# Defaults to this directory (`app/javascript/flavour/[flavour]`),
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
import React from 'react';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import illustration from '../../images/elephant_ui_disappointed.svg';
|
||||||
|
|
||||||
|
export default class ErrorBoundary extends React.PureComponent {
|
||||||
|
|
||||||
|
static propTypes = {
|
||||||
|
children: PropTypes.node,
|
||||||
|
};
|
||||||
|
|
||||||
|
state = {
|
||||||
|
hasError: false,
|
||||||
|
stackTrace: undefined,
|
||||||
|
componentStack: undefined,
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidCatch(error, info) {
|
||||||
|
this.setState({
|
||||||
|
hasError: true,
|
||||||
|
stackTrace: error.stack,
|
||||||
|
componentStack: info && info.componentStack,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const { hasError } = this.state;
|
||||||
|
|
||||||
|
if (!hasError) {
|
||||||
|
return this.props.children;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<img src={illustration} alt='' />
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -13,6 +13,7 @@ import { connectUserStream } from '../actions/streaming';
|
||||||
import { IntlProvider, addLocaleData } from 'react-intl';
|
import { IntlProvider, addLocaleData } from 'react-intl';
|
||||||
import { getLocale } from '../locales';
|
import { getLocale } from '../locales';
|
||||||
import initialState from '../initial_state';
|
import initialState from '../initial_state';
|
||||||
|
import ErrorBoundary from '../components/error_boundary';
|
||||||
|
|
||||||
const { localeData, messages } = getLocale();
|
const { localeData, messages } = getLocale();
|
||||||
addLocaleData(localeData);
|
addLocaleData(localeData);
|
||||||
|
@ -75,7 +76,9 @@ export default class Mastodon extends React.PureComponent {
|
||||||
return (
|
return (
|
||||||
<IntlProvider locale={locale} messages={messages}>
|
<IntlProvider locale={locale} messages={messages}>
|
||||||
<Provider store={store}>
|
<Provider store={store}>
|
||||||
|
<ErrorBoundary>
|
||||||
<MastodonMount />
|
<MastodonMount />
|
||||||
|
</ErrorBoundary>
|
||||||
</Provider>
|
</Provider>
|
||||||
</IntlProvider>
|
</IntlProvider>
|
||||||
);
|
);
|
||||||
|
|
|
@ -53,6 +53,11 @@ class Bundle extends React.PureComponent {
|
||||||
const { fetchComponent, onFetch, onFetchSuccess, onFetchFail, renderDelay } = props || this.props;
|
const { fetchComponent, onFetch, onFetchSuccess, onFetchFail, renderDelay } = props || this.props;
|
||||||
const cachedMod = Bundle.cache.get(fetchComponent);
|
const cachedMod = Bundle.cache.get(fetchComponent);
|
||||||
|
|
||||||
|
if (fetchComponent === undefined) {
|
||||||
|
this.setState({ mod: null });
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
|
|
||||||
onFetch();
|
onFetch();
|
||||||
|
|
||||||
if (cachedMod) {
|
if (cachedMod) {
|
||||||
|
|
|
@ -73,6 +73,10 @@
|
||||||
"compose_form.lock_disclaimer": "Váš účet není {locked}. Kdokoliv vás může sledovat a vidět vaše příspěvky pouze pro sledující.",
|
"compose_form.lock_disclaimer": "Váš účet není {locked}. Kdokoliv vás může sledovat a vidět vaše příspěvky pouze pro sledující.",
|
||||||
"compose_form.lock_disclaimer.lock": "uzamčen",
|
"compose_form.lock_disclaimer.lock": "uzamčen",
|
||||||
"compose_form.placeholder": "Co se vám honí hlavou?",
|
"compose_form.placeholder": "Co se vám honí hlavou?",
|
||||||
|
"compose_form.poll.add_option": "Přidat volbu",
|
||||||
|
"compose_form.poll.duration": "Délka ankety",
|
||||||
|
"compose_form.poll.option_placeholder": "Volba {number}",
|
||||||
|
"compose_form.poll.remove_option": "Odstranit tuto volbu",
|
||||||
"compose_form.publish": "Tootnout",
|
"compose_form.publish": "Tootnout",
|
||||||
"compose_form.publish_loud": "{publish}!",
|
"compose_form.publish_loud": "{publish}!",
|
||||||
"compose_form.sensitive.marked": "Mediální obsah je označen jako citlivý",
|
"compose_form.sensitive.marked": "Mediální obsah je označen jako citlivý",
|
||||||
|
@ -151,6 +155,9 @@
|
||||||
"home.column_settings.basic": "Základní",
|
"home.column_settings.basic": "Základní",
|
||||||
"home.column_settings.show_reblogs": "Zobrazit boosty",
|
"home.column_settings.show_reblogs": "Zobrazit boosty",
|
||||||
"home.column_settings.show_replies": "Zobrazit odpovědi",
|
"home.column_settings.show_replies": "Zobrazit odpovědi",
|
||||||
|
"intervals.full.days": "{number, plural, one {# den} few {# dny} many {# dne} other {# dní}}",
|
||||||
|
"intervals.full.hours": "{number, plural, one {# hodina} few {# hodiny} many {# hodiny} other {# hodin}}",
|
||||||
|
"intervals.full.minutes": "{number, plural, one {# minuta} few {# minuty} many {# minuty} other {# minut}}",
|
||||||
"introduction.federation.action": "Další",
|
"introduction.federation.action": "Další",
|
||||||
"introduction.federation.federated.headline": "Federovaná",
|
"introduction.federation.federated.headline": "Federovaná",
|
||||||
"introduction.federation.federated.text": "Veřejné příspěvky z jiných serverů na fediverse se zobrazí na federované časové ose.",
|
"introduction.federation.federated.text": "Veřejné příspěvky z jiných serverů na fediverse se zobrazí na federované časové ose.",
|
||||||
|
@ -240,6 +247,7 @@
|
||||||
"notification.favourite": "{name} si oblíbil/a váš toot",
|
"notification.favourite": "{name} si oblíbil/a váš toot",
|
||||||
"notification.follow": "{name} vás začal/a sledovat",
|
"notification.follow": "{name} vás začal/a sledovat",
|
||||||
"notification.mention": "{name} vás zmínil/a",
|
"notification.mention": "{name} vás zmínil/a",
|
||||||
|
"notification.poll": "Anketa, ve které jste hlasoval/a, skončila",
|
||||||
"notification.reblog": "{name} boostnul/a váš toot",
|
"notification.reblog": "{name} boostnul/a váš toot",
|
||||||
"notifications.clear": "Vymazat oznámení",
|
"notifications.clear": "Vymazat oznámení",
|
||||||
"notifications.clear_confirmation": "Jste si jistý/á, že chcete trvale vymazat všechna vaše oznámení?",
|
"notifications.clear_confirmation": "Jste si jistý/á, že chcete trvale vymazat všechna vaše oznámení?",
|
||||||
|
@ -264,6 +272,8 @@
|
||||||
"poll.refresh": "Refresh",
|
"poll.refresh": "Refresh",
|
||||||
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
|
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
|
||||||
"poll.vote": "Vote",
|
"poll.vote": "Vote",
|
||||||
|
"poll_button.add_poll": "Přidat anketu",
|
||||||
|
"poll_button.remove_poll": "Odstranit anketu",
|
||||||
"privacy.change": "Změnit soukromí tootu",
|
"privacy.change": "Změnit soukromí tootu",
|
||||||
"privacy.direct.long": "Odeslat pouze zmíněným uživatelům",
|
"privacy.direct.long": "Odeslat pouze zmíněným uživatelům",
|
||||||
"privacy.direct.short": "Přímý",
|
"privacy.direct.short": "Přímý",
|
||||||
|
@ -356,6 +366,7 @@
|
||||||
"upload_area.title": "Přetažením nahrajete",
|
"upload_area.title": "Přetažením nahrajete",
|
||||||
"upload_button.label": "Přidat média (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
"upload_button.label": "Přidat média (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||||
"upload_error.limit": "Byl překročen limit nahraných souborů.",
|
"upload_error.limit": "Byl překročen limit nahraných souborů.",
|
||||||
|
"upload_error.poll": "Nahrávání souborů není povoleno u anket.",
|
||||||
"upload_form.description": "Popis pro zrakově postižené",
|
"upload_form.description": "Popis pro zrakově postižené",
|
||||||
"upload_form.focus": "Změnit náhled",
|
"upload_form.focus": "Změnit náhled",
|
||||||
"upload_form.undo": "Smazat",
|
"upload_form.undo": "Smazat",
|
||||||
|
|
|
@ -140,6 +140,15 @@ a.table-action-link {
|
||||||
input {
|
input {
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&--aligned {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
input {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&__actions,
|
&__actions,
|
||||||
|
@ -183,6 +192,10 @@ a.table-action-link {
|
||||||
&__content {
|
&__content {
|
||||||
padding-top: 12px;
|
padding-top: 12px;
|
||||||
padding-bottom: 16px;
|
padding-bottom: 16px;
|
||||||
|
|
||||||
|
&--unpadded {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -197,4 +210,10 @@ a.table-action-link {
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.nothing-here {
|
||||||
|
border: 1px solid darken($ui-base-color, 8%);
|
||||||
|
border-top: 0;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ class LanguageDetector
|
||||||
include Singleton
|
include Singleton
|
||||||
|
|
||||||
CHARACTER_THRESHOLD = 140
|
CHARACTER_THRESHOLD = 140
|
||||||
|
RELIABLE_CHARACTERS_RE = /[\p{Hebrew}\p{Arabic}\p{Syriac}\p{Thaana}\p{Nko}\p{Han}\p{Katakana}\p{Hiragana}\p{Hangul}]+/m
|
||||||
|
|
||||||
def initialize
|
def initialize
|
||||||
@identifier = CLD3::NNetLanguageIdentifier.new(1, 2048)
|
@identifier = CLD3::NNetLanguageIdentifier.new(1, 2048)
|
||||||
|
@ -11,15 +12,14 @@ class LanguageDetector
|
||||||
|
|
||||||
def detect(text, account)
|
def detect(text, account)
|
||||||
input_text = prepare_text(text)
|
input_text = prepare_text(text)
|
||||||
|
|
||||||
return if input_text.blank?
|
return if input_text.blank?
|
||||||
|
|
||||||
detect_language_code(input_text) || default_locale(account)
|
detect_language_code(input_text) || default_locale(account)
|
||||||
end
|
end
|
||||||
|
|
||||||
def language_names
|
def language_names
|
||||||
@language_names =
|
@language_names = CLD3::TaskContextParams::LANGUAGE_NAMES.map { |name| iso6391(name.to_s).to_sym }.uniq
|
||||||
CLD3::TaskContextParams::LANGUAGE_NAMES.map { |name| iso6391(name.to_s).to_sym }
|
|
||||||
.uniq
|
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
@ -29,12 +29,29 @@ class LanguageDetector
|
||||||
end
|
end
|
||||||
|
|
||||||
def unreliable_input?(text)
|
def unreliable_input?(text)
|
||||||
text.size < CHARACTER_THRESHOLD
|
!reliable_input?(text)
|
||||||
|
end
|
||||||
|
|
||||||
|
def reliable_input?(text)
|
||||||
|
sufficient_text_length?(text) || language_specific_character_set?(text)
|
||||||
|
end
|
||||||
|
|
||||||
|
def sufficient_text_length?(text)
|
||||||
|
text.size >= CHARACTER_THRESHOLD
|
||||||
|
end
|
||||||
|
|
||||||
|
def language_specific_character_set?(text)
|
||||||
|
words = text.scan(RELIABLE_CHARACTERS_RE)
|
||||||
|
|
||||||
|
if words.present?
|
||||||
|
words.reduce(0) { |acc, elem| acc + elem.size }.to_f / text.size.to_f > 0.3
|
||||||
|
else
|
||||||
|
false
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def detect_language_code(text)
|
def detect_language_code(text)
|
||||||
return if unreliable_input?(text)
|
return if unreliable_input?(text)
|
||||||
|
|
||||||
result = @identifier.find_language(text)
|
result = @identifier.find_language(text)
|
||||||
iso6391(result.language.to_s).to_sym if result.reliable?
|
iso6391(result.language.to_s).to_sym if result.reliable?
|
||||||
end
|
end
|
||||||
|
@ -77,6 +94,6 @@ class LanguageDetector
|
||||||
end
|
end
|
||||||
|
|
||||||
def default_locale(account)
|
def default_locale(account)
|
||||||
return account.user_locale&.to_sym || I18n.default_locale if account.local?
|
account.user_locale&.to_sym || I18n.default_locale if account.local?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class Form::AccountBatch
|
||||||
|
include ActiveModel::Model
|
||||||
|
|
||||||
|
attr_accessor :account_ids, :action, :current_account
|
||||||
|
|
||||||
|
def save
|
||||||
|
case action
|
||||||
|
when 'unfollow'
|
||||||
|
unfollow!
|
||||||
|
when 'remove_from_followers'
|
||||||
|
remove_from_followers!
|
||||||
|
when 'block_domains'
|
||||||
|
block_domains!
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def unfollow!
|
||||||
|
accounts.find_each do |target_account|
|
||||||
|
UnfollowService.new.call(current_account, target_account)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def remove_from_followers!
|
||||||
|
current_account.passive_relationships.where(account_id: account_ids).find_each do |follow|
|
||||||
|
reject_follow!(follow)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def block_domains!
|
||||||
|
AfterAccountDomainBlockWorker.push_bulk(account_domains) do |domain|
|
||||||
|
[current_account.id, domain]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def account_domains
|
||||||
|
accounts.pluck(Arel.sql('distinct domain')).compact
|
||||||
|
end
|
||||||
|
|
||||||
|
def accounts
|
||||||
|
Account.where(id: account_ids)
|
||||||
|
end
|
||||||
|
|
||||||
|
def reject_follow!(follow)
|
||||||
|
follow.destroy
|
||||||
|
|
||||||
|
return unless follow.account.activitypub?
|
||||||
|
|
||||||
|
json = ActiveModelSerializers::SerializableResource.new(
|
||||||
|
follow,
|
||||||
|
serializer: ActivityPub::RejectFollowSerializer,
|
||||||
|
adapter: ActivityPub::Adapter
|
||||||
|
).to_json
|
||||||
|
|
||||||
|
ActivityPub::DeliveryWorker.perform_async(json, current_account.id, follow.account.inbox_url)
|
||||||
|
end
|
||||||
|
end
|
|
@ -73,7 +73,9 @@ class Status < ApplicationRecord
|
||||||
validates_with StatusLengthValidator
|
validates_with StatusLengthValidator
|
||||||
validates_with DisallowedHashtagsValidator
|
validates_with DisallowedHashtagsValidator
|
||||||
validates :reblog, uniqueness: { scope: :account }, if: :reblog?
|
validates :reblog, uniqueness: { scope: :account }, if: :reblog?
|
||||||
validates_associated :owned_poll
|
validates :visibility, exclusion: { in: %w(direct limited) }, if: :reblog?
|
||||||
|
|
||||||
|
accepts_nested_attributes_for :owned_poll
|
||||||
|
|
||||||
default_scope { recent }
|
default_scope { recent }
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ class REST::InstanceSerializer < ActiveModel::Serializer
|
||||||
end
|
end
|
||||||
|
|
||||||
def thumbnail
|
def thumbnail
|
||||||
instance_presenter.thumbnail ? full_asset_url(instance_presenter.thumbnail.file.url) : full_pack_url('preview.jpg')
|
instance_presenter.thumbnail ? full_asset_url(instance_presenter.thumbnail.file.url) : full_pack_url('media/images/preview.jpg')
|
||||||
end
|
end
|
||||||
|
|
||||||
def max_toot_chars
|
def max_toot_chars
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class REST::PreferencesSerializer < ActiveModel::Serializer
|
||||||
|
attribute :posting_default_privacy, key: 'posting:default:visibility'
|
||||||
|
attribute :posting_default_sensitive, key: 'posting:default:sensitive'
|
||||||
|
attribute :posting_default_language, key: 'posting:default:language'
|
||||||
|
|
||||||
|
attribute :reading_default_sensitive_media, key: 'reading:expand:media'
|
||||||
|
attribute :reading_default_sensitive_text, key: 'reading:expand:spoilers'
|
||||||
|
|
||||||
|
def posting_default_privacy
|
||||||
|
object.user.setting_default_privacy
|
||||||
|
end
|
||||||
|
|
||||||
|
def posting_default_sensitive
|
||||||
|
object.user.setting_default_sensitive
|
||||||
|
end
|
||||||
|
|
||||||
|
def posting_default_language
|
||||||
|
object.user.setting_default_language.presence
|
||||||
|
end
|
||||||
|
|
||||||
|
def reading_default_sensitive_media
|
||||||
|
object.user.setting_display_media
|
||||||
|
end
|
||||||
|
|
||||||
|
def reading_default_sensitive_text
|
||||||
|
object.user.setting_expand_spoilers
|
||||||
|
end
|
||||||
|
end
|
|
@ -11,7 +11,7 @@ class RSS::AccountSerializer
|
||||||
builder.title("#{display_name(account)} (@#{account.local_username_and_domain})")
|
builder.title("#{display_name(account)} (@#{account.local_username_and_domain})")
|
||||||
.description(account_description(account))
|
.description(account_description(account))
|
||||||
.link(TagManager.instance.url_for(account))
|
.link(TagManager.instance.url_for(account))
|
||||||
.logo(full_asset_url(asset_pack_path('logo.svg')))
|
.logo(full_pack_url('media/images/logo.svg'))
|
||||||
.accent_color('2b90d9')
|
.accent_color('2b90d9')
|
||||||
|
|
||||||
builder.image(full_asset_url(account.avatar.url(:original))) if account.avatar?
|
builder.image(full_asset_url(account.avatar.url(:original))) if account.avatar?
|
||||||
|
|
|
@ -12,7 +12,7 @@ class RSS::TagSerializer
|
||||||
builder.title("##{tag.name}")
|
builder.title("##{tag.name}")
|
||||||
.description(strip_tags(I18n.t('about.about_hashtag_html', hashtag: tag.name)))
|
.description(strip_tags(I18n.t('about.about_hashtag_html', hashtag: tag.name)))
|
||||||
.link(tag_url(tag))
|
.link(tag_url(tag))
|
||||||
.logo(full_asset_url(asset_pack_path('logo.svg')))
|
.logo(full_pack_url('media/images/logo.svg'))
|
||||||
.accent_color('2b90d9')
|
.accent_color('2b90d9')
|
||||||
|
|
||||||
statuses.each do |status|
|
statuses.each do |status|
|
||||||
|
|
|
@ -29,7 +29,6 @@ class PostStatusService < BaseService
|
||||||
return idempotency_duplicate if idempotency_given? && idempotency_duplicate?
|
return idempotency_duplicate if idempotency_given? && idempotency_duplicate?
|
||||||
|
|
||||||
validate_media!
|
validate_media!
|
||||||
validate_poll!
|
|
||||||
preprocess_attributes!
|
preprocess_attributes!
|
||||||
|
|
||||||
if scheduled?
|
if scheduled?
|
||||||
|
@ -74,6 +73,7 @@ class PostStatusService < BaseService
|
||||||
|
|
||||||
def schedule_status!
|
def schedule_status!
|
||||||
status_for_validation = @account.statuses.build(status_attributes)
|
status_for_validation = @account.statuses.build(status_attributes)
|
||||||
|
|
||||||
if status_for_validation.valid?
|
if status_for_validation.valid?
|
||||||
status_for_validation.destroy
|
status_for_validation.destroy
|
||||||
|
|
||||||
|
@ -110,12 +110,6 @@ class PostStatusService < BaseService
|
||||||
raise Mastodon::ValidationError, I18n.t('media_attachments.validations.images_and_video') if @media.size > 1 && @media.find(&:video?)
|
raise Mastodon::ValidationError, I18n.t('media_attachments.validations.images_and_video') if @media.size > 1 && @media.find(&:video?)
|
||||||
end
|
end
|
||||||
|
|
||||||
def validate_poll!
|
|
||||||
return if @options[:poll].blank?
|
|
||||||
|
|
||||||
@poll = @account.polls.new(@options[:poll])
|
|
||||||
end
|
|
||||||
|
|
||||||
def language_from_option(str)
|
def language_from_option(str)
|
||||||
ISO_639.find(str)&.alpha2
|
ISO_639.find(str)&.alpha2
|
||||||
end
|
end
|
||||||
|
@ -168,13 +162,13 @@ class PostStatusService < BaseService
|
||||||
text: @text,
|
text: @text,
|
||||||
media_attachments: @media || [],
|
media_attachments: @media || [],
|
||||||
thread: @in_reply_to,
|
thread: @in_reply_to,
|
||||||
owned_poll: @poll,
|
owned_poll_attributes: poll_attributes,
|
||||||
sensitive: (@options[:sensitive].nil? ? @account.user&.setting_default_sensitive : @options[:sensitive]) || @options[:spoiler_text].present?,
|
sensitive: (@options[:sensitive].nil? ? @account.user&.setting_default_sensitive : @options[:sensitive]) || @options[:spoiler_text].present?,
|
||||||
spoiler_text: @options[:spoiler_text] || '',
|
spoiler_text: @options[:spoiler_text] || '',
|
||||||
visibility: @visibility,
|
visibility: @visibility,
|
||||||
language: language_from_option(@options[:language]) || @account.user&.setting_default_language&.presence || LanguageDetector.instance.detect(@text, @account),
|
language: language_from_option(@options[:language]) || @account.user&.setting_default_language&.presence || LanguageDetector.instance.detect(@text, @account),
|
||||||
application: @options[:application],
|
application: @options[:application],
|
||||||
}
|
}.compact
|
||||||
end
|
end
|
||||||
|
|
||||||
def scheduled_status_attributes
|
def scheduled_status_attributes
|
||||||
|
@ -185,6 +179,12 @@ class PostStatusService < BaseService
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def poll_attributes
|
||||||
|
return if @options[:poll].blank?
|
||||||
|
|
||||||
|
@options[:poll].merge(account: @account)
|
||||||
|
end
|
||||||
|
|
||||||
def scheduled_options
|
def scheduled_options
|
||||||
@options.tap do |options_hash|
|
@options.tap do |options_hash|
|
||||||
options_hash[:in_reply_to_id] = options_hash.delete(:thread)&.id
|
options_hash[:in_reply_to_id] = options_hash.delete(:thread)&.id
|
||||||
|
|
|
@ -7,8 +7,9 @@ class ReblogService < BaseService
|
||||||
# Reblog a status and notify its remote author
|
# Reblog a status and notify its remote author
|
||||||
# @param [Account] account Account to reblog from
|
# @param [Account] account Account to reblog from
|
||||||
# @param [Status] reblogged_status Status to be reblogged
|
# @param [Status] reblogged_status Status to be reblogged
|
||||||
|
# @param [Hash] options
|
||||||
# @return [Status]
|
# @return [Status]
|
||||||
def call(account, reblogged_status)
|
def call(account, reblogged_status, options = {})
|
||||||
reblogged_status = reblogged_status.reblog if reblogged_status.reblog?
|
reblogged_status = reblogged_status.reblog if reblogged_status.reblog?
|
||||||
|
|
||||||
authorize_with account, reblogged_status, :reblog?
|
authorize_with account, reblogged_status, :reblog?
|
||||||
|
@ -17,7 +18,7 @@ class ReblogService < BaseService
|
||||||
|
|
||||||
return reblog unless reblog.nil?
|
return reblog unless reblog.nil?
|
||||||
|
|
||||||
reblog = account.statuses.create!(reblog: reblogged_status, text: '')
|
reblog = account.statuses.create!(reblog: reblogged_status, text: '', visibility: options[:visibility] || account.user&.setting_default_privacy)
|
||||||
|
|
||||||
DistributionWorker.perform_async(reblog.id)
|
DistributionWorker.perform_async(reblog.id)
|
||||||
|
|
||||||
|
@ -38,7 +39,7 @@ class ReblogService < BaseService
|
||||||
reblogged_status = reblog.reblog
|
reblogged_status = reblog.reblog
|
||||||
|
|
||||||
if reblogged_status.account.local?
|
if reblogged_status.account.local?
|
||||||
NotifyService.new.call(reblogged_status.account, reblog)
|
LocalNotificationWorker.perform_async(reblogged_status.account_id, reblog.id, reblog.class.name)
|
||||||
elsif reblogged_status.account.ostatus?
|
elsif reblogged_status.account.ostatus?
|
||||||
NotificationWorker.perform_async(stream_entry_to_xml(reblog.stream_entry), reblog.account_id, reblogged_status.account_id)
|
NotificationWorker.perform_async(stream_entry_to_xml(reblog.stream_entry), reblog.account_id, reblogged_status.account_id)
|
||||||
elsif reblogged_status.account.activitypub? && !reblogged_status.account.following?(reblog.account)
|
elsif reblogged_status.account.activitypub? && !reblogged_status.account.following?(reblog.account)
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
.column-0
|
.column-0
|
||||||
.public-account-header.public-account-header--no-bar
|
.public-account-header.public-account-header--no-bar
|
||||||
.public-account-header__image
|
.public-account-header__image
|
||||||
= image_tag @instance_presenter.hero&.file&.url || @instance_presenter.thumbnail&.file&.url || asset_pack_path('preview.jpg'), alt: @instance_presenter.site_title, class: 'parallax'
|
= image_tag @instance_presenter.hero&.file&.url || @instance_presenter.thumbnail&.file&.url || asset_pack_path('media/images/preview.jpg'), alt: @instance_presenter.site_title, class: 'parallax'
|
||||||
|
|
||||||
.column-1
|
.column-1
|
||||||
.landing-page__call-to-action{ dir: 'ltr' }
|
.landing-page__call-to-action{ dir: 'ltr' }
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
%span= t 'about.status_count_after', count: @instance_presenter.status_count
|
%span= t 'about.status_count_after', count: @instance_presenter.status_count
|
||||||
.row__mascot
|
.row__mascot
|
||||||
.landing-page__mascot
|
.landing-page__mascot
|
||||||
= image_tag @instance_presenter.mascot&.file&.url || asset_pack_path('elephant_ui_plane.svg'), alt: ''
|
= image_tag @instance_presenter.mascot&.file&.url || asset_pack_path('media/images/elephant_ui_plane.svg'), alt: ''
|
||||||
|
|
||||||
.column-2
|
.column-2
|
||||||
.landing-page__information.contact-widget
|
.landing-page__information.contact-widget
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
.landing
|
.landing
|
||||||
.landing__brand
|
.landing__brand
|
||||||
= link_to root_url, class: 'brand' do
|
= link_to root_url, class: 'brand' do
|
||||||
= image_tag asset_pack_path('logo_full.svg'), alt: 'Mastodon'
|
= image_pack_tag 'logo_full.svg', alt: 'Mastodon'
|
||||||
%span.brand__tagline=t 'about.tagline'
|
%span.brand__tagline=t 'about.tagline'
|
||||||
|
|
||||||
.landing__grid
|
.landing__grid
|
||||||
|
@ -48,7 +48,7 @@
|
||||||
|
|
||||||
.hero-widget
|
.hero-widget
|
||||||
.hero-widget__img
|
.hero-widget__img
|
||||||
= image_tag @instance_presenter.hero&.file&.url || @instance_presenter.thumbnail&.file&.url || asset_pack_path('preview.jpg'), alt: @instance_presenter.site_title
|
= image_tag @instance_presenter.hero&.file&.url || @instance_presenter.thumbnail&.file&.url || asset_pack_path('media/images/preview.jpg'), alt: @instance_presenter.site_title
|
||||||
|
|
||||||
- if @instance_presenter.site_short_description.present?
|
- if @instance_presenter.site_short_description.present?
|
||||||
.hero-widget__text
|
.hero-widget__text
|
||||||
|
|
|
@ -10,10 +10,7 @@
|
||||||
= image_tag invite.user.account.avatar.url(:original), alt: '', width: 16, height: 16, class: 'avatar'
|
= image_tag invite.user.account.avatar.url(:original), alt: '', width: 16, height: 16, class: 'avatar'
|
||||||
%span.username= invite.user.account.username
|
%span.username= invite.user.account.username
|
||||||
|
|
||||||
- if invite.expired?
|
- if invite.valid_for_use?
|
||||||
%td{ colspan: 2 }
|
|
||||||
= t('invites.expired')
|
|
||||||
- else
|
|
||||||
%td
|
%td
|
||||||
= fa_icon 'user fw'
|
= fa_icon 'user fw'
|
||||||
= invite.uses
|
= invite.uses
|
||||||
|
@ -24,6 +21,10 @@
|
||||||
- else
|
- else
|
||||||
%time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) }
|
%time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) }
|
||||||
= l invite.expires_at
|
= l invite.expires_at
|
||||||
|
- else
|
||||||
|
%td{ colspan: 2 }
|
||||||
|
= t('invites.expired')
|
||||||
|
|
||||||
%td
|
%td
|
||||||
- if !invite.expired? && policy(invite).destroy?
|
- if invite.valid_for_use? && policy(invite).destroy?
|
||||||
= table_link_to 'times', t('invites.delete'), admin_invite_path(invite), method: :delete
|
= table_link_to 'times', t('invites.delete'), admin_invite_path(invite), method: :delete
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
.hero-widget
|
.hero-widget
|
||||||
.hero-widget__img
|
.hero-widget__img
|
||||||
= image_tag @instance_presenter.hero&.file&.url || @instance_presenter.thumbnail&.file&.url || asset_pack_path('preview.jpg'), alt: @instance_presenter.site_title
|
= image_tag @instance_presenter.hero&.file&.url || @instance_presenter.thumbnail&.file&.url || asset_pack_path('media/images/preview.jpg'), alt: @instance_presenter.site_title
|
||||||
|
|
||||||
.hero-widget__text
|
.hero-widget__text
|
||||||
%p= @instance_presenter.site_short_description.html_safe.presence || @instance_presenter.site_description.html_safe.presence || t('about.generic_description', domain: site_hostname)
|
%p= @instance_presenter.site_short_description.html_safe.presence || @instance_presenter.site_description.html_safe.presence || t('about.generic_description', domain: site_hostname)
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
.app-holder#mastodon{ data: { props: Oj.dump(default_props) } }
|
.app-holder#mastodon{ data: { props: Oj.dump(default_props) } }
|
||||||
%noscript
|
%noscript
|
||||||
= image_tag asset_pack_path('logo.svg'), alt: 'Mastodon'
|
= image_pack_tag 'logo.svg', alt: 'Mastodon'
|
||||||
|
|
||||||
%div
|
%div
|
||||||
= t('errors.noscript_html', apps_path: 'https://joinmastodon.org/apps')
|
= t('errors.noscript_html', apps_path: 'https://joinmastodon.org/apps')
|
||||||
|
|
|
@ -5,10 +5,7 @@
|
||||||
%input{ type: :text, maxlength: '999', spellcheck: 'false', readonly: 'true', value: public_invite_url(invite_code: invite.code) }
|
%input{ type: :text, maxlength: '999', spellcheck: 'false', readonly: 'true', value: public_invite_url(invite_code: invite.code) }
|
||||||
%button{ type: :button }= t('generic.copy')
|
%button{ type: :button }= t('generic.copy')
|
||||||
|
|
||||||
- if invite.expired?
|
- if invite.valid_for_use?
|
||||||
%td{ colspan: 2 }
|
|
||||||
= t('invites.expired')
|
|
||||||
- else
|
|
||||||
%td
|
%td
|
||||||
= fa_icon 'user fw'
|
= fa_icon 'user fw'
|
||||||
= invite.uses
|
= invite.uses
|
||||||
|
@ -19,7 +16,10 @@
|
||||||
- else
|
- else
|
||||||
%time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) }
|
%time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) }
|
||||||
= l invite.expires_at
|
= l invite.expires_at
|
||||||
|
- else
|
||||||
|
%td{ colspan: 2 }
|
||||||
|
= t('invites.expired')
|
||||||
|
|
||||||
%td
|
%td
|
||||||
- if !invite.expired? && policy(invite).destroy?
|
- if invite.valid_for_use? && policy(invite).destroy?
|
||||||
= table_link_to 'times', t('invites.delete'), invite_path(invite), method: :delete
|
= table_link_to 'times', t('invites.delete'), invite_path(invite), method: :delete
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
.sidebar-wrapper
|
.sidebar-wrapper
|
||||||
.sidebar
|
.sidebar
|
||||||
= link_to root_path do
|
= link_to root_path do
|
||||||
= image_tag asset_pack_path('logo.svg'), class: 'logo', alt: 'Mastodon'
|
= image_pack_tag 'logo.svg', class: 'logo', alt: 'Mastodon'
|
||||||
|
|
||||||
= render_navigation
|
= render_navigation
|
||||||
.content-wrapper
|
.content-wrapper
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
.logo-container
|
.logo-container
|
||||||
%h1
|
%h1
|
||||||
= link_to root_path do
|
= link_to root_path do
|
||||||
= image_tag asset_pack_path('logo_full.svg'), alt: 'Mastodon'
|
= image_pack_tag 'logo_full.svg', alt: 'Mastodon'
|
||||||
|
|
||||||
.form-container
|
.form-container
|
||||||
= render 'flashes'
|
= render 'flashes'
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
%tr
|
%tr
|
||||||
%td.column-cell
|
%td.column-cell
|
||||||
= link_to root_url do
|
= link_to root_url do
|
||||||
= image_tag full_pack_url('logo_full.png'), alt: 'Mastodon', height: 34, class: 'logo'
|
= image_tag full_pack_url('media/images/mailer/logo_full.png'), alt: 'Mastodon', height: 34, class: 'logo'
|
||||||
|
|
||||||
= yield
|
= yield
|
||||||
|
|
||||||
|
@ -49,4 +49,4 @@
|
||||||
%p= link_to t('application_mailer.notification_preferences'), settings_notifications_url
|
%p= link_to t('application_mailer.notification_preferences'), settings_notifications_url
|
||||||
%td.column-cell.text-right
|
%td.column-cell.text-right
|
||||||
= link_to root_url do
|
= link_to root_url do
|
||||||
= image_tag full_pack_url('logo_transparent.png'), alt: 'Mastodon', height: 24
|
= image_tag full_pack_url('media/images/mailer/logo_transparent.png'), alt: 'Mastodon', height: 24
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
%nav.header
|
%nav.header
|
||||||
.nav-left
|
.nav-left
|
||||||
= link_to root_url, class: 'brand' do
|
= link_to root_url, class: 'brand' do
|
||||||
= image_tag asset_pack_path('logo_full.svg'), alt: 'Mastodon'
|
= image_pack_tag 'logo_full.svg', alt: 'Mastodon'
|
||||||
|
|
||||||
= link_to t('directories.directory'), explore_path, class: 'nav-link optional' if Setting.profile_directory
|
= link_to t('directories.directory'), explore_path, class: 'nav-link optional' if Setting.profile_directory
|
||||||
= link_to t('about.about_this'), about_more_path, class: 'nav-link optional'
|
= link_to t('about.about_this'), about_more_path, class: 'nav-link optional'
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
%tbody
|
%tbody
|
||||||
%tr
|
%tr
|
||||||
%td
|
%td
|
||||||
= image_tag full_pack_url('icon_grade.png'), alt:''
|
= image_tag full_pack_url('media/images/mailer/icon_grade.png'), alt:''
|
||||||
|
|
||||||
%h1= t 'notification_mailer.favourite.title'
|
%h1= t 'notification_mailer.favourite.title'
|
||||||
%p.lead= t('notification_mailer.favourite.body', name: @account.acct)
|
%p.lead= t('notification_mailer.favourite.body', name: @account.acct)
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
%tbody
|
%tbody
|
||||||
%tr
|
%tr
|
||||||
%td
|
%td
|
||||||
= image_tag full_pack_url('icon_person_add.png'), alt: ''
|
= image_tag full_pack_url('media/images/mailer/icon_person_add.png'), alt: ''
|
||||||
|
|
||||||
%h1= t 'notification_mailer.follow.title'
|
%h1= t 'notification_mailer.follow.title'
|
||||||
%p.lead= t('notification_mailer.follow.body', name: @account.acct)
|
%p.lead= t('notification_mailer.follow.body', name: @account.acct)
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
%tbody
|
%tbody
|
||||||
%tr
|
%tr
|
||||||
%td
|
%td
|
||||||
= image_tag full_pack_url('icon_person_add.png'), alt: ''
|
= image_tag full_pack_url('media/images/mailer/icon_person_add.png'), alt: ''
|
||||||
|
|
||||||
%h1= t 'notification_mailer.follow_request.title'
|
%h1= t 'notification_mailer.follow_request.title'
|
||||||
%p.lead= t('notification_mailer.follow_request.body', name: @account.acct)
|
%p.lead= t('notification_mailer.follow_request.body', name: @account.acct)
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
%tbody
|
%tbody
|
||||||
%tr
|
%tr
|
||||||
%td
|
%td
|
||||||
= image_tag full_pack_url('icon_reply.png'), alt: ''
|
= image_tag full_pack_url('media/images/mailer/icon_reply.png'), alt: ''
|
||||||
|
|
||||||
%h1= t 'notification_mailer.mention.title'
|
%h1= t 'notification_mailer.mention.title'
|
||||||
%p.lead= t('notification_mailer.mention.body', name: @status.account.acct)
|
%p.lead= t('notification_mailer.mention.body', name: @status.account.acct)
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
%tbody
|
%tbody
|
||||||
%tr
|
%tr
|
||||||
%td
|
%td
|
||||||
= image_tag full_pack_url('icon_cached.png'), alt: ''
|
= image_tag full_pack_url('media/images/mailer/icon_cached.png'), alt: ''
|
||||||
|
|
||||||
%h1= t 'notification_mailer.reblog.title'
|
%h1= t 'notification_mailer.reblog.title'
|
||||||
%p.lead= t('notification_mailer.reblog.body', name: @account.acct)
|
%p.lead= t('notification_mailer.reblog.body', name: @account.acct)
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
.batch-table__row
|
||||||
|
%label.batch-table__row__select.batch-table__row__select--aligned.batch-checkbox
|
||||||
|
= f.check_box :account_ids, { multiple: true, include_hidden: false }, account.id
|
||||||
|
.batch-table__row__content.batch-table__row__content--unpadded
|
||||||
|
%table.accounts-table
|
||||||
|
%tbody
|
||||||
|
%tr
|
||||||
|
%td= account_link_to account
|
||||||
|
%td.accounts-table__count.optional
|
||||||
|
= number_to_human account.statuses_count, strip_insignificant_zeros: true
|
||||||
|
%small= t('accounts.posts', count: account.statuses_count).downcase
|
||||||
|
%td.accounts-table__count.optional
|
||||||
|
= number_to_human account.followers_count, strip_insignificant_zeros: true
|
||||||
|
%small= t('accounts.followers', count: account.followers_count).downcase
|
||||||
|
%td.accounts-table__count
|
||||||
|
- if account.last_status_at.present?
|
||||||
|
%time.time-ago{ datetime: account.last_status_at.iso8601, title: l(account.last_status_at) }= l account.last_status_at
|
||||||
|
- else
|
||||||
|
\-
|
||||||
|
%small= t('accounts.last_active')
|
|
@ -0,0 +1,40 @@
|
||||||
|
- content_for :page_title do
|
||||||
|
= t('settings.relationships')
|
||||||
|
|
||||||
|
.filters
|
||||||
|
.filter-subset
|
||||||
|
%strong= t 'relationships.relationship'
|
||||||
|
%ul
|
||||||
|
%li= filter_link_to t('accounts.following', count: current_account.following_count), relationship: nil
|
||||||
|
%li= filter_link_to t('accounts.followers', count: current_account.followers_count), relationship: 'followed_by'
|
||||||
|
%li= filter_link_to t('relationships.mutual'), relationship: 'mutual'
|
||||||
|
|
||||||
|
.filter-subset
|
||||||
|
%strong= t 'relationships.status'
|
||||||
|
%ul
|
||||||
|
%li= filter_link_to t('generic.all'), status: nil
|
||||||
|
%li= filter_link_to t('relationships.active'), status: 'active'
|
||||||
|
%li= filter_link_to t('relationships.abandoned'), status: 'abandoned'
|
||||||
|
|
||||||
|
= form_for(@form, url: relationships_path, method: :patch) do |f|
|
||||||
|
= hidden_field_tag :page, params[:page] || 1
|
||||||
|
= hidden_field_tag :relationship, params[:relationship]
|
||||||
|
= hidden_field_tag :status, params[:status]
|
||||||
|
|
||||||
|
.batch-table
|
||||||
|
.batch-table__toolbar
|
||||||
|
%label.batch-table__toolbar__select.batch-checkbox-all
|
||||||
|
= check_box_tag :batch_checkbox_all, nil, false
|
||||||
|
.batch-table__toolbar__actions
|
||||||
|
= f.button safe_join([fa_icon('user-times'), t('relationships.remove_selected_follows')]), name: :unfollow, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') } unless followed_by_relationship?
|
||||||
|
|
||||||
|
= f.button safe_join([fa_icon('trash'), t('relationships.remove_selected_followers')]), name: :remove_from_followers, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') } unless following_relationship?
|
||||||
|
|
||||||
|
= f.button safe_join([fa_icon('trash'), t('relationships.remove_selected_domains')]), name: :block_domains, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') } if followed_by_relationship?
|
||||||
|
.batch-table__body
|
||||||
|
- if @accounts.empty?
|
||||||
|
= nothing_here 'nothing-here--under-tabs'
|
||||||
|
- else
|
||||||
|
= render partial: 'account', collection: @accounts, locals: { f: f }
|
||||||
|
|
||||||
|
= paginate @accounts
|
|
@ -5,7 +5,7 @@
|
||||||
= render 'shared/error_messages', object: current_user
|
= render 'shared/error_messages', object: current_user
|
||||||
|
|
||||||
- Themes.instance.flavour(@selected)['screenshot'].each do |screen|
|
- Themes.instance.flavour(@selected)['screenshot'].each do |screen|
|
||||||
%img.flavour-screen{ src: asset_pack_path(screen) }
|
%img.flavour-screen{ src: full_pack_url("media/#{screen}") }
|
||||||
|
|
||||||
.flavour-description
|
.flavour-description
|
||||||
= t "flavours.#{@selected}.description", default: ''
|
= t "flavours.#{@selected}.description", default: ''
|
||||||
|
|
|
@ -1,34 +0,0 @@
|
||||||
- content_for :page_title do
|
|
||||||
= t('settings.followers')
|
|
||||||
|
|
||||||
= form_tag settings_follower_domains_path, method: :patch, class: 'table-form' do
|
|
||||||
- unless @account.locked?
|
|
||||||
.warning
|
|
||||||
%strong
|
|
||||||
= fa_icon('warning')
|
|
||||||
= t('followers.unlocked_warning_title')
|
|
||||||
= t('followers.unlocked_warning_html', lock_link: link_to(t('followers.lock_link'), settings_profile_url))
|
|
||||||
|
|
||||||
%p= t('followers.explanation_html')
|
|
||||||
%p= t('followers.true_privacy_html')
|
|
||||||
|
|
||||||
.table-wrapper
|
|
||||||
%table.table
|
|
||||||
%thead
|
|
||||||
%tr
|
|
||||||
%th
|
|
||||||
%th= t('followers.domain')
|
|
||||||
%th= t('followers.followers_count')
|
|
||||||
%tbody
|
|
||||||
- @domains.each do |domain|
|
|
||||||
%tr
|
|
||||||
%td
|
|
||||||
= check_box_tag 'select[]', domain.domain, false, disabled: !@account.locked? unless domain.domain.nil?
|
|
||||||
%td
|
|
||||||
%samp= domain.domain.presence || Rails.configuration.x.local_domain
|
|
||||||
%td= number_with_delimiter domain.accounts_from_domain
|
|
||||||
|
|
||||||
.action-pagination
|
|
||||||
.actions
|
|
||||||
= button_tag t('followers.purge'), type: :submit, class: 'button', disabled: !@account.locked?
|
|
||||||
= paginate @domains
|
|
|
@ -8,7 +8,7 @@
|
||||||
= opengraph 'og:type', 'website'
|
= opengraph 'og:type', 'website'
|
||||||
= opengraph 'og:title', @instance_presenter.site_title
|
= opengraph 'og:title', @instance_presenter.site_title
|
||||||
= opengraph 'og:description', description
|
= opengraph 'og:description', description
|
||||||
= opengraph 'og:image', full_asset_url(thumbnail&.file&.url || asset_pack_path('preview.jpg', protocol: :request))
|
= opengraph 'og:image', full_asset_url(thumbnail&.file&.url || asset_pack_path('media/images/preview.jpg', protocol: :request))
|
||||||
= opengraph 'og:image:width', thumbnail ? thumbnail.meta['width'] : '1200'
|
= opengraph 'og:image:width', thumbnail ? thumbnail.meta['width'] : '1200'
|
||||||
= opengraph 'og:image:height', thumbnail ? thumbnail.meta['height'] : '630'
|
= opengraph 'og:image:height', thumbnail ? thumbnail.meta['height'] : '630'
|
||||||
= opengraph 'twitter:card', 'summary_large_image'
|
= opengraph 'twitter:card', 'summary_large_image'
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
%tbody
|
%tbody
|
||||||
%tr
|
%tr
|
||||||
%td
|
%td
|
||||||
= image_tag full_pack_url('icon_file_download.png'), alt: ''
|
= image_tag full_pack_url('media/images/mailer/icon_file_download.png'), alt: ''
|
||||||
|
|
||||||
%h1= t 'user_mailer.backup_ready.title'
|
%h1= t 'user_mailer.backup_ready.title'
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
%tbody
|
%tbody
|
||||||
%tr
|
%tr
|
||||||
%td
|
%td
|
||||||
= image_tag full_pack_url('icon_email.png'), alt: ''
|
= image_tag full_pack_url('media/images/mailer/icon_email.png'), alt: ''
|
||||||
|
|
||||||
%h1= t 'devise.mailer.confirmation_instructions.title'
|
%h1= t 'devise.mailer.confirmation_instructions.title'
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
%tbody
|
%tbody
|
||||||
%tr
|
%tr
|
||||||
%td
|
%td
|
||||||
= image_tag full_pack_url('icon_email.png'), alt: ''
|
= image_tag full_pack_url('media/images/mailer/icon_email.png'), alt: ''
|
||||||
|
|
||||||
%h1= t 'devise.mailer.email_changed.title'
|
%h1= t 'devise.mailer.email_changed.title'
|
||||||
%p.lead= t 'devise.mailer.email_changed.explanation'
|
%p.lead= t 'devise.mailer.email_changed.explanation'
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
%tbody
|
%tbody
|
||||||
%tr
|
%tr
|
||||||
%td
|
%td
|
||||||
= image_tag full_pack_url('icon_lock_open.png'), alt: ''
|
= image_tag full_pack_url('media/images/mailer/icon_lock_open.png'), alt: ''
|
||||||
|
|
||||||
%h1= t 'devise.mailer.password_change.title'
|
%h1= t 'devise.mailer.password_change.title'
|
||||||
%p.lead= t 'devise.mailer.password_change.explanation'
|
%p.lead= t 'devise.mailer.password_change.explanation'
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
%tbody
|
%tbody
|
||||||
%tr
|
%tr
|
||||||
%td
|
%td
|
||||||
= image_tag full_pack_url('icon_email.png'), alt: ''
|
= image_tag full_pack_url('media/images/mailer/icon_email.png'), alt: ''
|
||||||
|
|
||||||
%h1= t 'devise.mailer.reconfirmation_instructions.title'
|
%h1= t 'devise.mailer.reconfirmation_instructions.title'
|
||||||
%p.lead= t 'devise.mailer.reconfirmation_instructions.explanation'
|
%p.lead= t 'devise.mailer.reconfirmation_instructions.explanation'
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
%tbody
|
%tbody
|
||||||
%tr
|
%tr
|
||||||
%td
|
%td
|
||||||
= image_tag full_pack_url('icon_lock_open.png'), alt: ''
|
= image_tag full_pack_url('media/images/mailer/icon_lock_open.png'), alt: ''
|
||||||
|
|
||||||
%h1= t 'devise.mailer.reset_password_instructions.title'
|
%h1= t 'devise.mailer.reset_password_instructions.title'
|
||||||
%p.lead= t 'devise.mailer.reset_password_instructions.explanation'
|
%p.lead= t 'devise.mailer.reset_password_instructions.explanation'
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
%tbody
|
%tbody
|
||||||
%tr
|
%tr
|
||||||
%td
|
%td
|
||||||
= image_tag full_pack_url('icon_warning.png'), alt: ''
|
= image_tag full_pack_url('media/images/mailer/icon_warning.png'), alt: ''
|
||||||
|
|
||||||
%h1= t "user_mailer.warning.title.#{@warning.action}"
|
%h1= t "user_mailer.warning.title.#{@warning.action}"
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
%tbody
|
%tbody
|
||||||
%tr
|
%tr
|
||||||
%td
|
%td
|
||||||
= image_tag full_pack_url('icon_done.png'), alt: ''
|
= image_tag full_pack_url('media/images/mailer/icon_done.png'), alt: ''
|
||||||
|
|
||||||
%h1= t 'user_mailer.welcome.title', name: @resource.account.username
|
%h1= t 'user_mailer.welcome.title', name: @resource.account.username
|
||||||
%p.lead= t 'user_mailer.welcome.explanation'
|
%p.lead= t 'user_mailer.welcome.explanation'
|
||||||
|
|
|
@ -12,4 +12,8 @@ require "bundler/setup"
|
||||||
|
|
||||||
require "webpacker"
|
require "webpacker"
|
||||||
require "webpacker/webpack_runner"
|
require "webpacker/webpack_runner"
|
||||||
Webpacker::WebpackRunner.run(ARGV)
|
|
||||||
|
APP_ROOT = File.expand_path("..", __dir__)
|
||||||
|
Dir.chdir(APP_ROOT) do
|
||||||
|
Webpacker::WebpackRunner.run(ARGV)
|
||||||
|
end
|
||||||
|
|
|
@ -12,4 +12,8 @@ require "bundler/setup"
|
||||||
|
|
||||||
require "webpacker"
|
require "webpacker"
|
||||||
require "webpacker/dev_server_runner"
|
require "webpacker/dev_server_runner"
|
||||||
Webpacker::DevServerRunner.run(ARGV)
|
|
||||||
|
APP_ROOT = File.expand_path("..", __dir__)
|
||||||
|
Dir.chdir(APP_ROOT) do
|
||||||
|
Webpacker::DevServerRunner.run(ARGV)
|
||||||
|
end
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
---
|
---
|
||||||
en:
|
en:
|
||||||
activerecord:
|
activerecord:
|
||||||
|
attributes:
|
||||||
|
status:
|
||||||
|
owned_poll: Poll
|
||||||
errors:
|
errors:
|
||||||
models:
|
models:
|
||||||
account:
|
account:
|
||||||
|
|
|
@ -607,15 +607,6 @@ ar:
|
||||||
title: عوامل التصفية
|
title: عوامل التصفية
|
||||||
new:
|
new:
|
||||||
title: إضافة عامل تصفية جديد
|
title: إضافة عامل تصفية جديد
|
||||||
followers:
|
|
||||||
domain: النطاق
|
|
||||||
followers_count: عدد المتابِعين
|
|
||||||
lock_link: قم بتجميد حسابك
|
|
||||||
purge: تنحية من بين متابعيك
|
|
||||||
success: جارية عملية حظر المتابِعين بسلاسة من %{count} نطاقات أخرى ...
|
|
||||||
true_privacy_html: تذكر دائمًا أنّ <strong>الخصوصية التامة لا يمكن بلوغها إلّا بالتعمية و التشفير من طرف إلى آخَر</strong>.
|
|
||||||
unlocked_warning_html: يمكن لأي كان متابعة حسابك و الإطلاع مباشرة على تبويقاتك. إستخدِم %{lock_link} لمُعاينة أو رفض طلبات المتابِعين الجُدُد.
|
|
||||||
unlocked_warning_title: إنّ حسابك غير مقفل
|
|
||||||
footer:
|
footer:
|
||||||
developers: المطورون
|
developers: المطورون
|
||||||
more: المزيد …
|
more: المزيد …
|
||||||
|
@ -818,7 +809,6 @@ ar:
|
||||||
development: التطوير
|
development: التطوير
|
||||||
edit_profile: تعديل الملف الشخصي
|
edit_profile: تعديل الملف الشخصي
|
||||||
export: تصدير البيانات
|
export: تصدير البيانات
|
||||||
followers: المتابِعون المُرَخّصون
|
|
||||||
import: إستيراد
|
import: إستيراد
|
||||||
migrate: تهجير الحساب
|
migrate: تهجير الحساب
|
||||||
notifications: الإخطارات
|
notifications: الإخطارات
|
||||||
|
|
|
@ -182,10 +182,6 @@ ast:
|
||||||
title: Peñeres
|
title: Peñeres
|
||||||
new:
|
new:
|
||||||
title: Amestar una peñera nueva
|
title: Amestar una peñera nueva
|
||||||
followers:
|
|
||||||
domain: Dominiu
|
|
||||||
followers_count: Númberu de siguidores
|
|
||||||
purge: Desaniciar de los siguidores
|
|
||||||
generic:
|
generic:
|
||||||
changes_saved_msg: "¡Los cambeos guardáronse con ésitu!"
|
changes_saved_msg: "¡Los cambeos guardáronse con ésitu!"
|
||||||
save_changes: Guardar cambeos
|
save_changes: Guardar cambeos
|
||||||
|
@ -302,7 +298,6 @@ ast:
|
||||||
back: Volver a Mastodon
|
back: Volver a Mastodon
|
||||||
edit_profile: Edición del perfil
|
edit_profile: Edición del perfil
|
||||||
export: Esportación de datos
|
export: Esportación de datos
|
||||||
followers: Siguidores autorizaos
|
|
||||||
import: Importación
|
import: Importación
|
||||||
notifications: Avisos
|
notifications: Avisos
|
||||||
preferences: Preferencies
|
preferences: Preferencies
|
||||||
|
|
|
@ -588,18 +588,6 @@ ca:
|
||||||
title: Filtres
|
title: Filtres
|
||||||
new:
|
new:
|
||||||
title: Afegir nou filtre
|
title: Afegir nou filtre
|
||||||
followers:
|
|
||||||
domain: Domini
|
|
||||||
explanation_html: Si desitges garantir la privacitat de les teves publicacions, has de ser conscient de qui t'està seguint. <strong> Les publicacions privades es lliuren a totes les instàncies on tens seguidors </strong>. És possible que vulguis revisar-los i eliminar seguidors si no confies en que la teva privacitat sigui respectada pel personal o el programari d'aquestes instàncies.
|
|
||||||
followers_count: Nombre de seguidors
|
|
||||||
lock_link: Bloca el teu compte
|
|
||||||
purge: Elimina dels seguidors
|
|
||||||
success:
|
|
||||||
one: En el procés de bloqueig suau de seguidors d'un domini...
|
|
||||||
other: En el procés de bloqueig suau de seguidors de %{count} dominis...
|
|
||||||
true_privacy_html: Considera que <strong>la autèntica privacitat només es pot aconseguir amb xifratge d'extrem a extrem</strong>.
|
|
||||||
unlocked_warning_html: Tothom pot seguir-te per a veure inmediatament les teves publicacions privades. %{lock_link} per poder revisar i rebutjar seguidors.
|
|
||||||
unlocked_warning_title: El teu compte no està blocat
|
|
||||||
footer:
|
footer:
|
||||||
developers: Desenvolupadors
|
developers: Desenvolupadors
|
||||||
more: Més…
|
more: Més…
|
||||||
|
@ -785,7 +773,6 @@ ca:
|
||||||
development: Desenvolupament
|
development: Desenvolupament
|
||||||
edit_profile: Editar perfil
|
edit_profile: Editar perfil
|
||||||
export: Exportar informació
|
export: Exportar informació
|
||||||
followers: Seguidors autoritzats
|
|
||||||
import: Importar
|
import: Importar
|
||||||
migrate: Migració del compte
|
migrate: Migració del compte
|
||||||
notifications: Notificacions
|
notifications: Notificacions
|
||||||
|
|
|
@ -593,18 +593,6 @@ co:
|
||||||
title: Filtri
|
title: Filtri
|
||||||
new:
|
new:
|
||||||
title: Aghjustà un novu filtru
|
title: Aghjustà un novu filtru
|
||||||
followers:
|
|
||||||
domain: Duminiu
|
|
||||||
explanation_html: Per assicuravi di a cunfidenzialità di i vostri statuti, duvete avè primura di quale vi seguita. <strong>I vostri statuti privati sò mandati à tutti i servori induve avete abbunati</strong>. Pensate à u vostru livellu di cunfidenza in i so amministratori.
|
|
||||||
followers_count: Numeru d’abbunati
|
|
||||||
lock_link: Rendete u contu privatu
|
|
||||||
purge: Toglie di a lista d’abbunati
|
|
||||||
success:
|
|
||||||
one: Suppressione di l’abbunati d’un duminiu...
|
|
||||||
other: Suppressione di l’abbunati da %{count} duminii...
|
|
||||||
true_privacy_html: Ùn vi scurdate chì <strong>una vera cunfidenzialità pò solu esse ottenuta cù crittografia da un capu à l’altru</strong>.
|
|
||||||
unlocked_warning_html: Tuttu u mondu pò seguitavi è vede i vostri statuti privati. %{lock_link} per pudè cunfirmà o righjittà abbunamenti.
|
|
||||||
unlocked_warning_title: U vostru contu hè pubblicu
|
|
||||||
footer:
|
footer:
|
||||||
developers: Sviluppatori
|
developers: Sviluppatori
|
||||||
more: Di più…
|
more: Di più…
|
||||||
|
@ -807,7 +795,6 @@ co:
|
||||||
edit_profile: Mudificà u prufile
|
edit_profile: Mudificà u prufile
|
||||||
export: Spurtazione d’infurmazione
|
export: Spurtazione d’infurmazione
|
||||||
featured_tags: Hashtag in vista
|
featured_tags: Hashtag in vista
|
||||||
followers: Abbunati auturizati
|
|
||||||
import: Impurtazione
|
import: Impurtazione
|
||||||
migrate: Migrazione di u contu
|
migrate: Migrazione di u contu
|
||||||
notifications: Nutificazione
|
notifications: Nutificazione
|
||||||
|
|
|
@ -4,29 +4,40 @@ cs:
|
||||||
about_hashtag_html: Tohle jsou veřejné tooty označené hashtagem <strong>#%{hashtag}</strong>. Pokud máte účet kdekoliv na fediverse, můžete s nimi interagovat.
|
about_hashtag_html: Tohle jsou veřejné tooty označené hashtagem <strong>#%{hashtag}</strong>. Pokud máte účet kdekoliv na fediverse, můžete s nimi interagovat.
|
||||||
about_mastodon_html: Mastodon je sociální síť založená na otevřených webových protokolech a svobodném, otevřeném softwaru. Je decentralizovaná jako e-mail.
|
about_mastodon_html: Mastodon je sociální síť založená na otevřených webových protokolech a svobodném, otevřeném softwaru. Je decentralizovaná jako e-mail.
|
||||||
about_this: O tomto serveru
|
about_this: O tomto serveru
|
||||||
|
active_count_after: aktivních
|
||||||
|
active_footnote: Měsíční aktivní uživatelé (MAU)
|
||||||
administered_by: 'Server spravuje:'
|
administered_by: 'Server spravuje:'
|
||||||
api: API
|
api: API
|
||||||
apps: Mobilní aplikace
|
apps: Mobilní aplikace
|
||||||
|
apps_platforms: Používejte Mastodon z iOS, Androidu a jiných platforem
|
||||||
|
browse_directory: Prozkoumejte adresář profilů a filtrujte dle zájmů
|
||||||
|
browse_public_posts: Prozkoumejte živý proud veřejných příspěvků na Mastodonu
|
||||||
contact: Kontakt
|
contact: Kontakt
|
||||||
contact_missing: Nenastaveno
|
contact_missing: Nenastaveno
|
||||||
contact_unavailable: Neuvedeno
|
contact_unavailable: Neuvedeno
|
||||||
|
discover_users: Objevujte uživatele
|
||||||
documentation: Dokumentace
|
documentation: Dokumentace
|
||||||
extended_description_html: |
|
extended_description_html: |
|
||||||
<h3>Dobré místo pro pravidla</h3>
|
<h3>Dobré místo pro pravidla</h3>
|
||||||
<p>Rozšířený popis ještě nebyl nastaven.</p>
|
<p>Rozšířený popis ještě nebyl nastaven.</p>
|
||||||
|
federation_hint_html: S účtem na %{instance} můžete sledovat lidi na jakémkoliv serveru Mastodon a jiných službách.
|
||||||
generic_description: "%{domain} je jedním ze serverů v síti"
|
generic_description: "%{domain} je jedním ze serverů v síti"
|
||||||
|
get_apps: Vyzkoušejte mobilní aplikaci
|
||||||
hosted_on: Server Mastodon na adrese %{domain}
|
hosted_on: Server Mastodon na adrese %{domain}
|
||||||
learn_more: Zjistit více
|
learn_more: Zjistit více
|
||||||
privacy_policy: Zásady soukromí
|
privacy_policy: Zásady soukromí
|
||||||
|
see_whats_happening: Podívejte se, co se děje
|
||||||
|
server_stats: 'Statistika serveru:'
|
||||||
source_code: Zdrojový kód
|
source_code: Zdrojový kód
|
||||||
status_count_after:
|
status_count_after:
|
||||||
few: tooty
|
few: tooty
|
||||||
one: toot
|
one: toot
|
||||||
other: tootů
|
other: tootů
|
||||||
status_count_before: Kteří napsali
|
status_count_before: Kteří napsali
|
||||||
|
tagline: Sledujte své přátele a objevujte nové
|
||||||
terms: Podmínky používání
|
terms: Podmínky používání
|
||||||
user_count_after:
|
user_count_after:
|
||||||
few: uživatelů
|
few: uživatelé
|
||||||
one: uživatele
|
one: uživatele
|
||||||
other: uživatelů
|
other: uživatelů
|
||||||
user_count_before: Domov
|
user_count_before: Domov
|
||||||
|
@ -72,6 +83,7 @@ cs:
|
||||||
delete: Smazat
|
delete: Smazat
|
||||||
destroyed_msg: Poznámka moderátora byla úspěšně zničena!
|
destroyed_msg: Poznámka moderátora byla úspěšně zničena!
|
||||||
accounts:
|
accounts:
|
||||||
|
approve: Schválit
|
||||||
are_you_sure: Jste si jistý/á?
|
are_you_sure: Jste si jistý/á?
|
||||||
avatar: Avatar
|
avatar: Avatar
|
||||||
by_domain: Doména
|
by_domain: Doména
|
||||||
|
@ -117,6 +129,7 @@ cs:
|
||||||
moderation:
|
moderation:
|
||||||
active: Aktivní
|
active: Aktivní
|
||||||
all: Vše
|
all: Vše
|
||||||
|
pending: Čekající
|
||||||
silenced: Utišen/a
|
silenced: Utišen/a
|
||||||
suspended: Pozastaven/a
|
suspended: Pozastaven/a
|
||||||
title: Moderace
|
title: Moderace
|
||||||
|
@ -126,6 +139,7 @@ cs:
|
||||||
no_limits_imposed: Nejsou nastavena žádná omezení
|
no_limits_imposed: Nejsou nastavena žádná omezení
|
||||||
not_subscribed: Neodebírá
|
not_subscribed: Neodebírá
|
||||||
outbox_url: URL odchozích zpráv
|
outbox_url: URL odchozích zpráv
|
||||||
|
pending: Čeká na posouzení
|
||||||
perform_full_suspension: Pozastavit
|
perform_full_suspension: Pozastavit
|
||||||
profile_url: URL profilu
|
profile_url: URL profilu
|
||||||
promote: Povýšit
|
promote: Povýšit
|
||||||
|
@ -133,6 +147,7 @@ cs:
|
||||||
public: Veřejný
|
public: Veřejný
|
||||||
push_subscription_expires: Odebírání PuSH expiruje
|
push_subscription_expires: Odebírání PuSH expiruje
|
||||||
redownload: Obnovit profil
|
redownload: Obnovit profil
|
||||||
|
reject: Zamítnout
|
||||||
remove_avatar: Odstranit avatar
|
remove_avatar: Odstranit avatar
|
||||||
remove_header: Odstranit hlavičku
|
remove_header: Odstranit hlavičku
|
||||||
resend_confirmation:
|
resend_confirmation:
|
||||||
|
@ -406,6 +421,12 @@ cs:
|
||||||
min_invite_role:
|
min_invite_role:
|
||||||
disabled: Nikdo
|
disabled: Nikdo
|
||||||
title: Povolit pozvánky od
|
title: Povolit pozvánky od
|
||||||
|
registrations_mode:
|
||||||
|
modes:
|
||||||
|
approved: Pro registraci je vyžadováno schválení
|
||||||
|
none: Nikdo se nemůže registrovat
|
||||||
|
open: Všichni se mohou registrovat
|
||||||
|
title: Režim registrací
|
||||||
show_known_fediverse_at_about_page:
|
show_known_fediverse_at_about_page:
|
||||||
desc_html: Je-li toto zapnuto, zobrazí se v náhledu tooty ze všech známých serverů na fediverse. Jinak budou zobrazeny pouze místní tooty.
|
desc_html: Je-li toto zapnuto, zobrazí se v náhledu tooty ze všech známých serverů na fediverse. Jinak budou zobrazeny pouze místní tooty.
|
||||||
title: Zobrazit celou známou fediverse na náhledu časové osy
|
title: Zobrazit celou známou fediverse na náhledu časové osy
|
||||||
|
@ -468,6 +489,9 @@ cs:
|
||||||
edit_preset: Upravit přednastavení pro varování
|
edit_preset: Upravit přednastavení pro varování
|
||||||
title: Spravovat přednastavení pro varování
|
title: Spravovat přednastavení pro varování
|
||||||
admin_mailer:
|
admin_mailer:
|
||||||
|
new_pending_account:
|
||||||
|
body: Detaily nového účtu jsou uvedeny níže. Můžete tento požadavek schválit nebo zamítnout.
|
||||||
|
subject: Nový účet čekající na posouzení na %{instance} (%{username})
|
||||||
new_report:
|
new_report:
|
||||||
body: "%{reporter} nahlásil/a uživatele %{target}"
|
body: "%{reporter} nahlásil/a uživatele %{target}"
|
||||||
body_remote: Někdo z %{domain} nahlásil uživatele %{target}
|
body_remote: Někdo z %{domain} nahlásil uživatele %{target}
|
||||||
|
@ -489,7 +513,9 @@ cs:
|
||||||
your_token: Váš přístupový token
|
your_token: Váš přístupový token
|
||||||
auth:
|
auth:
|
||||||
agreement_html: Kliknutím na tlačítko „Registrovat“ souhlasíte s následováním <a href="%{rules_path}">pravidel tohoto serveru</a> a <a href="%{terms_path}">našich podmínek používání</a>.
|
agreement_html: Kliknutím na tlačítko „Registrovat“ souhlasíte s následováním <a href="%{rules_path}">pravidel tohoto serveru</a> a <a href="%{terms_path}">našich podmínek používání</a>.
|
||||||
|
apply_for_account: Vyžádat si pozvánku
|
||||||
change_password: Heslo
|
change_password: Heslo
|
||||||
|
checkbox_agreement_html: Souhlasím s <a href="%{rules_path}" target="_blank">pravidly serveru</a> a <a href="%{terms_path}" target="_blank">podmínkami používání</a>
|
||||||
confirm_email: Potvrdit e-mail
|
confirm_email: Potvrdit e-mail
|
||||||
delete_account: Odstranit účet
|
delete_account: Odstranit účet
|
||||||
delete_account_html: Chcete-li odstranit svůj účet, <a href="%{path}">pokračujte zde</a>. Budete požádán/a o potvrzení.
|
delete_account_html: Chcete-li odstranit svůj účet, <a href="%{path}">pokračujte zde</a>. Budete požádán/a o potvrzení.
|
||||||
|
@ -505,10 +531,12 @@ cs:
|
||||||
cas: CAS
|
cas: CAS
|
||||||
saml: SAML
|
saml: SAML
|
||||||
register: Registrovat
|
register: Registrovat
|
||||||
|
registration_closed: "%{instance} nepřijímá nové členy"
|
||||||
resend_confirmation: Znovu odeslat pokyny pro potvrzení
|
resend_confirmation: Znovu odeslat pokyny pro potvrzení
|
||||||
reset_password: Obnovit heslo
|
reset_password: Obnovit heslo
|
||||||
security: Zabezpečení
|
security: Zabezpečení
|
||||||
set_new_password: Nastavit nové heslo
|
set_new_password: Nastavit nové heslo
|
||||||
|
trouble_logging_in: Problémy s přihlašováním?
|
||||||
authorize_follow:
|
authorize_follow:
|
||||||
already_following: Tento účet již sledujete
|
already_following: Tento účet již sledujete
|
||||||
error: Při hledání vzdáleného účtu bohužel nastala chyba
|
error: Při hledání vzdáleného účtu bohužel nastala chyba
|
||||||
|
@ -600,19 +628,6 @@ cs:
|
||||||
title: Filtry
|
title: Filtry
|
||||||
new:
|
new:
|
||||||
title: Přidat nový filtr
|
title: Přidat nový filtr
|
||||||
followers:
|
|
||||||
domain: Doména
|
|
||||||
explanation_html: Chcete-li zaručit soukromí vašich tootů, musíte mít na vědomí, kdo vás sleduje. <strong>Vaše soukromé tooty jsou doručeny na všechny servery, kde máte sledující</strong>. Nejspíš si je budete chtít zkontrolovat a odstranit sledující na serverech, jejichž provozovatelům či softwaru nedůvěřujete s respektováním vašeho soukromí.
|
|
||||||
followers_count: Počet sledujících
|
|
||||||
lock_link: Uzamkněte svůj účet
|
|
||||||
purge: Odstranit ze sledujících
|
|
||||||
success:
|
|
||||||
few: V průběhu blokování sledujících ze %{count} domén...
|
|
||||||
one: V průběhu blokování sledujících z jedné domény...
|
|
||||||
other: V průběhu blokování sledujících z %{count} domén...
|
|
||||||
true_privacy_html: Berte prosím na vědomí, že <strong>skutečného soukromí se dá dosáhnout pouze za pomoci end-to-end šifrování</strong>.
|
|
||||||
unlocked_warning_html: Kdokoliv vás může sledovat a okamžitě vidět vaše soukromé tooty. %{lock_link}, abyste mohl/a kontrolovat a odmítat sledující.
|
|
||||||
unlocked_warning_title: Váš účet není uzamčen
|
|
||||||
footer:
|
footer:
|
||||||
developers: Vývojáři
|
developers: Vývojáři
|
||||||
more: Více…
|
more: Více…
|
||||||
|
@ -818,7 +833,6 @@ cs:
|
||||||
edit_profile: Upravit profil
|
edit_profile: Upravit profil
|
||||||
export: Export dat
|
export: Export dat
|
||||||
featured_tags: Zvýrazněné hashtagy
|
featured_tags: Zvýrazněné hashtagy
|
||||||
followers: Autorizovaní sledující
|
|
||||||
import: Import
|
import: Import
|
||||||
migrate: Přesunutí účtu
|
migrate: Přesunutí účtu
|
||||||
notifications: Oznámení
|
notifications: Oznámení
|
||||||
|
|
|
@ -614,22 +614,6 @@ cy:
|
||||||
title: Hidlyddion
|
title: Hidlyddion
|
||||||
new:
|
new:
|
||||||
title: Ychwanegu hidlydd newydd
|
title: Ychwanegu hidlydd newydd
|
||||||
followers:
|
|
||||||
domain: Parth
|
|
||||||
explanation_html: Os ydych am sicrhau preifatrwydd eich tŵtiau, rhaid i chi fod yn ymwybodol o bwy sy'n eich dilyn. <strong>Mae eich tŵtiau preifat yn cael eu hanfon at bob achos lle mae gennych ddilynwyr</strong>. Efallai hoffech chi i'w hadolygu o bryd i'w gilydd, a chael gwared ar ddilynwyr os nad ydych yn credu i'r staff neu'r meddalwedd ar yr achosion hynny barchu eich preifatrwydd.
|
|
||||||
followers_count: Nifer y dilynwyr
|
|
||||||
lock_link: Cloi eich cyfrif
|
|
||||||
purge: Dileu o dilynwyr
|
|
||||||
success:
|
|
||||||
few: Yn y broses o ysgafn-flocio defnyddwyr o %{count} parth...
|
|
||||||
many: Yn y broses o ysgafn-flocio defnyddwyr o %{count} parth...
|
|
||||||
one: Yn y broses o ysgafn-flocio dilynwyr o un parth...
|
|
||||||
other: Yn y broses o ysgafn-flocio defnyddwyr o %{count} parth...
|
|
||||||
two: Yn y broses o ysgafn-flocio defnyddwyr o %{count} parth...
|
|
||||||
zero: Yn y broses o ysgafn-flocio defnyddwyr o %{count} parth...
|
|
||||||
true_privacy_html: Cofiwch <strong>mai ond amgryptio pen-i-ben all sicrhau gwir breifatrwydd</strong>.
|
|
||||||
unlocked_warning_html: Gall unrhywun eich dilyn yn syth i weld eich tŵtiau preifat. %{lock_link} i gael adolygu a gwrthod dilynwyr.
|
|
||||||
unlocked_warning_title: Nid yw eich cyfrif wedi ei gloi
|
|
||||||
footer:
|
footer:
|
||||||
developers: Datblygwyr
|
developers: Datblygwyr
|
||||||
more: Mwy…
|
more: Mwy…
|
||||||
|
@ -815,7 +799,6 @@ cy:
|
||||||
development: Datblygu
|
development: Datblygu
|
||||||
edit_profile: Golygu proffil
|
edit_profile: Golygu proffil
|
||||||
export: Allforio data
|
export: Allforio data
|
||||||
followers: Dilynwyr awdurdodedig
|
|
||||||
import: Mewnforio
|
import: Mewnforio
|
||||||
migrate: Mudo cyfrif
|
migrate: Mudo cyfrif
|
||||||
notifications: Hysbysiadau
|
notifications: Hysbysiadau
|
||||||
|
|
|
@ -526,18 +526,6 @@ da:
|
||||||
title: Filtrer
|
title: Filtrer
|
||||||
new:
|
new:
|
||||||
title: Tilføj nyt filter
|
title: Tilføj nyt filter
|
||||||
followers:
|
|
||||||
domain: Domæne
|
|
||||||
explanation_html: Hvis du vil sikre dig privatliv over dine statusser, skal du være klar over hvem der følger dig. <strong>Dine private statusser leveres til alle instanser som du har følger fra</strong>. Det kan være en ide at gennemgå dem, og fjerne følgere hvis du ikke føler dit privatliv respekteres af personalet eller software fra disse instanser.
|
|
||||||
followers_count: Antal følgere
|
|
||||||
lock_link: Lås din konto
|
|
||||||
purge: Fjern fra følgere
|
|
||||||
success:
|
|
||||||
one: I gang med at soft-blokere følgere fra et domæne...
|
|
||||||
other: I gang med at soft-blokere følgere fra %{count} domæner...
|
|
||||||
true_privacy_html: Husk på, at <strong>sand privatliv kan kun opnås via end-to-end kryptering</strong>.
|
|
||||||
unlocked_warning_html: Alle kan følge dig med det samme for at se dine private statusser. %{lock_link} for at være i stand til at gennemse og afvise følgere.
|
|
||||||
unlocked_warning_title: Din konto er ikke låst
|
|
||||||
footer:
|
footer:
|
||||||
developers: Udviklere
|
developers: Udviklere
|
||||||
more: Mere…
|
more: Mere…
|
||||||
|
@ -708,7 +696,6 @@ da:
|
||||||
development: Udvikling
|
development: Udvikling
|
||||||
edit_profile: Rediger profil
|
edit_profile: Rediger profil
|
||||||
export: Data eksportering
|
export: Data eksportering
|
||||||
followers: Godkendte følgere
|
|
||||||
import: Importer
|
import: Importer
|
||||||
migrate: Konto migrering
|
migrate: Konto migrering
|
||||||
notifications: Notifikationer
|
notifications: Notifikationer
|
||||||
|
|
|
@ -592,18 +592,6 @@ de:
|
||||||
title: Filter
|
title: Filter
|
||||||
new:
|
new:
|
||||||
title: Neuen Filter hinzufügen
|
title: Neuen Filter hinzufügen
|
||||||
followers:
|
|
||||||
domain: Instanz
|
|
||||||
explanation_html: Wenn du sicherstellen willst, dass deine Beiträge privat sind, musst du wissen, wer dir folgt. <strong>Deine privaten Beiträge werden an alle Server weitergegeben, auf denen Menschen registriert sind, die dir folgen.</strong> Wenn du den Betreibenden eines Servers misstraust und du befürchtest, dass sie deine Privatsphäre missachten könnten, kannst du sie hier entfernen.
|
|
||||||
followers_count: Zahl der Folgenden
|
|
||||||
lock_link: dein Konto sperrst
|
|
||||||
purge: Von der Liste deiner Folgenden löschen
|
|
||||||
success:
|
|
||||||
one: Folgende von einer Domain werden soft-geblockt …
|
|
||||||
other: Folgende von %{count} Domains werden soft-geblockt …
|
|
||||||
true_privacy_html: Bitte beachte, dass <strong>wirklicher Schutz deiner Privatsphäre nur durch Ende-zu-Ende-Verschlüsselung erreicht werden kann.</strong>.
|
|
||||||
unlocked_warning_html: Wer dir folgen will, kann dies jederzeit ohne deine vorige Einverständnis tun und erhält damit automatisch Zugriff auf deine privaten Beiträge. Wenn du %{lock_link}, kannst du vorab entscheiden, wer dir folgen darf und wer nicht.
|
|
||||||
unlocked_warning_title: Dein Konto ist nicht gesperrt
|
|
||||||
footer:
|
footer:
|
||||||
developers: Entwickler
|
developers: Entwickler
|
||||||
more: Mehr…
|
more: Mehr…
|
||||||
|
@ -796,7 +784,6 @@ de:
|
||||||
edit_profile: Profil bearbeiten
|
edit_profile: Profil bearbeiten
|
||||||
export: Datenexport
|
export: Datenexport
|
||||||
featured_tags: Empfohlene Hashtags
|
featured_tags: Empfohlene Hashtags
|
||||||
followers: Autorisierte Folgende
|
|
||||||
import: Datenimport
|
import: Datenimport
|
||||||
migrate: Konto-Umzug
|
migrate: Konto-Umzug
|
||||||
notifications: Benachrichtigungen
|
notifications: Benachrichtigungen
|
||||||
|
|
|
@ -12,6 +12,7 @@ cs:
|
||||||
last_attempt: Máte ještě jeden pokus, než bude váš účet uzamčen.
|
last_attempt: Máte ještě jeden pokus, než bude váš účet uzamčen.
|
||||||
locked: Váš účet je uzamčen.
|
locked: Váš účet je uzamčen.
|
||||||
not_found_in_database: Neplatné %{authentication_keys} nebo heslo.
|
not_found_in_database: Neplatné %{authentication_keys} nebo heslo.
|
||||||
|
pending: Váš účet je stále posuzován.
|
||||||
timeout: Vaše relace vypršela. Pro pokračování se prosím přihlaste znovu.
|
timeout: Vaše relace vypršela. Pro pokračování se prosím přihlaste znovu.
|
||||||
unauthenticated: Před pokračováním se musíte přihlásit nebo registrovat.
|
unauthenticated: Před pokračováním se musíte přihlásit nebo registrovat.
|
||||||
unconfirmed: Před pokračováním musíte potvrdit svůj e-mail.
|
unconfirmed: Před pokračováním musíte potvrdit svůj e-mail.
|
||||||
|
@ -20,6 +21,7 @@ cs:
|
||||||
action: Potvrdit e-mailovou adresu
|
action: Potvrdit e-mailovou adresu
|
||||||
action_with_app: Potvrdit a navrátit se do %{app}
|
action_with_app: Potvrdit a navrátit se do %{app}
|
||||||
explanation: S touto e-mailovou adresou jste si vytvořil/a účet na %{host}. K jeho aktivaci vám zbývá jedno kliknutí. Pokud jste to nebyl/a vy, ignorujte této e-mail.
|
explanation: S touto e-mailovou adresou jste si vytvořil/a účet na %{host}. K jeho aktivaci vám zbývá jedno kliknutí. Pokud jste to nebyl/a vy, ignorujte této e-mail.
|
||||||
|
explanation_when_pending: S touto e-mailovou adresou jste si vyžádal/a pozvánku na %{host}. Jakmile svou e-mailovou adresu potvrdíte, posoudíme váš poadavek. Do té doby se nemůžete přihlásit. Pokud bude váš požadavek zamítnut, budou vaše data odstraněna, takže od vás nebude vyžadována žádná další akce. Pokud jste to nebyl/a vy, prosím ignorujte tento e-mail.
|
||||||
extra_html: Prosím podívejte se také na <a href="%{terms_path}">pravidla tohoto serveru</a> a <a href="%{policy_path}">naše podmínky používání</a>.
|
extra_html: Prosím podívejte se také na <a href="%{terms_path}">pravidla tohoto serveru</a> a <a href="%{policy_path}">naše podmínky používání</a>.
|
||||||
subject: 'Mastodon: Potvrzovací instrukce pro %{instance}'
|
subject: 'Mastodon: Potvrzovací instrukce pro %{instance}'
|
||||||
title: Potvrďte e-mailovou adresu
|
title: Potvrďte e-mailovou adresu
|
||||||
|
@ -60,6 +62,7 @@ cs:
|
||||||
signed_up: Vítejte! Registroval/a jste se úspěšně.
|
signed_up: Vítejte! Registroval/a jste se úspěšně.
|
||||||
signed_up_but_inactive: Registroval/a jste se úspěšně. Nemohli jsme vás však přihlásit, protože váš účet ještě není aktivován.
|
signed_up_but_inactive: Registroval/a jste se úspěšně. Nemohli jsme vás však přihlásit, protože váš účet ještě není aktivován.
|
||||||
signed_up_but_locked: Registroval/a jste se úspěšně. Nemohli jsme vás však přihlásit, protože váš účet je uzamčen.
|
signed_up_but_locked: Registroval/a jste se úspěšně. Nemohli jsme vás však přihlásit, protože váš účet je uzamčen.
|
||||||
|
signed_up_but_pending: Na vaši e-mailovou adresu byla poslána zpráva s potvrzovacím odkazem. Poté, co kliknete na odkaz, posoudíme váš požadavek. Pokud bude schválen, budete informován/a.
|
||||||
signed_up_but_unconfirmed: Na vaši e-mailovou adresu byla poslána zpráva s potvrzovacím odkazem. Pro aktivaci účtu přejděte na danou adresu. Pokud jste tento e-mail neobdržel/a, prosím zkontrolujte si složku spam.
|
signed_up_but_unconfirmed: Na vaši e-mailovou adresu byla poslána zpráva s potvrzovacím odkazem. Pro aktivaci účtu přejděte na danou adresu. Pokud jste tento e-mail neobdržel/a, prosím zkontrolujte si složku spam.
|
||||||
update_needs_confirmation: Váš účet byl úspěšně aktualizován, ale je potřeba ověřit vaši novou e-mailovou adresu. Pokud tento e-mail neobdržíte, prosím zkontrolujte si složku „spam“.
|
update_needs_confirmation: Váš účet byl úspěšně aktualizován, ale je potřeba ověřit vaši novou e-mailovou adresu. Pokud tento e-mail neobdržíte, prosím zkontrolujte si složku „spam“.
|
||||||
updated: Váš účet byl úspěšně aktualizován.
|
updated: Váš účet byl úspěšně aktualizován.
|
||||||
|
|
|
@ -593,18 +593,6 @@ el:
|
||||||
title: Φίλτρα
|
title: Φίλτρα
|
||||||
new:
|
new:
|
||||||
title: Πρόσθεσε νέο φίλτρο
|
title: Πρόσθεσε νέο φίλτρο
|
||||||
followers:
|
|
||||||
domain: Τομέας
|
|
||||||
explanation_html: Αν θέλεις να διασφαλίσεις την ιδιωτικότητα των ενημερώσεών σου, πρέπει να ξέρεις ποιος σε ακολουθεί. <strong>Οι ιδιωτικές ενημερώσεις σου μεταφέρονται σε όλους τους κόμβους στους οποίους έχεις ακόλουθους</strong>. Ίσως να θέλεις να κάνεις μια ανασκόπηση σε αυτούς και να αφαιρέσεις ακολούθους αν δεν εμπιστεύεσαι το προσωπικό αυτών των κόμβων πως θα σεβαστούν την ιδιωτικότητά σου.
|
|
||||||
followers_count: Πλήθος ακολούθων
|
|
||||||
lock_link: Κλείδωσε το λογαριασμό σου
|
|
||||||
purge: Αφαίρεσε από ακόλουθο
|
|
||||||
success:
|
|
||||||
one: Ημι-μπλοκάροντας τους ακόλουθους από έναν τομέα...
|
|
||||||
other: Ημι-μπλοκάροντας τους ακόλουθους από %{count} τομείς...
|
|
||||||
true_privacy_html: Έχε υπ' όψιν σου πως <strong>η πραγματική ιδιωτικότητα επιτυγχάνεται μόνο με κρυπτογράφηση από άκρη σε άκρη</strong>.
|
|
||||||
unlocked_warning_html: Μπορεί ο οποιοσδήποτε να σε ακολουθήσει και να βλέπει κατευθείαν τις ιδιωτικές ενημερώσεις σου. %{lock_link} για να αναθεωρήσεις και απορρίψεις ακόλουθους.
|
|
||||||
unlocked_warning_title: Ο λογαριασμός σου δεν είναι κλειδωμένος
|
|
||||||
footer:
|
footer:
|
||||||
developers: Ανάπτυξη
|
developers: Ανάπτυξη
|
||||||
more: Περισσότερα…
|
more: Περισσότερα…
|
||||||
|
@ -806,7 +794,6 @@ el:
|
||||||
edit_profile: Επεξεργασία προφίλ
|
edit_profile: Επεξεργασία προφίλ
|
||||||
export: Εξαγωγή δεδομένων
|
export: Εξαγωγή δεδομένων
|
||||||
featured_tags: Χαρακτηριστικές ταμπέλες
|
featured_tags: Χαρακτηριστικές ταμπέλες
|
||||||
followers: Εγκεκριμένοι ακόλουθοι
|
|
||||||
import: Εισαγωγή
|
import: Εισαγωγή
|
||||||
migrate: Μετακόμιση λογαριασμού
|
migrate: Μετακόμιση λογαριασμού
|
||||||
notifications: Ειδοποιήσεις
|
notifications: Ειδοποιήσεις
|
||||||
|
|
|
@ -624,23 +624,12 @@ en:
|
||||||
title: Filters
|
title: Filters
|
||||||
new:
|
new:
|
||||||
title: Add new filter
|
title: Add new filter
|
||||||
followers:
|
|
||||||
domain: Domain
|
|
||||||
explanation_html: If you want to ensure the privacy of your statuses, you must be aware of who is following you. <strong>Your private statuses are delivered to all servers where you have followers</strong>. You may wish to review them, and remove followers if you do not trust your privacy to be respected by the staff or software of those servers.
|
|
||||||
followers_count: Number of followers
|
|
||||||
lock_link: Lock your account
|
|
||||||
purge: Remove from followers
|
|
||||||
success:
|
|
||||||
one: In the process of soft-blocking followers from one domain...
|
|
||||||
other: In the process of soft-blocking followers from %{count} domains...
|
|
||||||
true_privacy_html: Please mind that <strong>true privacy can only be achieved with end-to-end encryption</strong>.
|
|
||||||
unlocked_warning_html: Anyone can follow you to immediately view your private statuses. %{lock_link} to be able to review and reject followers.
|
|
||||||
unlocked_warning_title: Your account is not locked
|
|
||||||
footer:
|
footer:
|
||||||
developers: Developers
|
developers: Developers
|
||||||
more: More…
|
more: More…
|
||||||
resources: Resources
|
resources: Resources
|
||||||
generic:
|
generic:
|
||||||
|
all: All
|
||||||
changes_saved_msg: Changes successfully saved!
|
changes_saved_msg: Changes successfully saved!
|
||||||
copy: Copy
|
copy: Copy
|
||||||
save_changes: Save changes
|
save_changes: Save changes
|
||||||
|
@ -765,6 +754,15 @@ en:
|
||||||
other: Other
|
other: Other
|
||||||
publishing: Publishing
|
publishing: Publishing
|
||||||
web: Web
|
web: Web
|
||||||
|
relationships:
|
||||||
|
abandoned: Abandoned
|
||||||
|
active: Active
|
||||||
|
mutual: Mutual
|
||||||
|
relationship: Relationship
|
||||||
|
remove_selected_domains: Remove all followers from the selected domains
|
||||||
|
remove_selected_followers: Remove selected followers
|
||||||
|
remove_selected_follows: Unfollow selected users
|
||||||
|
status: Account status
|
||||||
remote_follow:
|
remote_follow:
|
||||||
acct: Enter your username@domain you want to act from
|
acct: Enter your username@domain you want to act from
|
||||||
missing_resource: Could not find the required redirect URL for your account
|
missing_resource: Could not find the required redirect URL for your account
|
||||||
|
@ -840,11 +838,11 @@ en:
|
||||||
export: Data export
|
export: Data export
|
||||||
featured_tags: Featured hashtags
|
featured_tags: Featured hashtags
|
||||||
flavours: Flavours
|
flavours: Flavours
|
||||||
followers: Authorized followers
|
|
||||||
import: Import
|
import: Import
|
||||||
migrate: Account migration
|
migrate: Account migration
|
||||||
notifications: Notifications
|
notifications: Notifications
|
||||||
preferences: Preferences
|
preferences: Preferences
|
||||||
|
relationships: Follows and followers
|
||||||
settings: Settings
|
settings: Settings
|
||||||
two_factor_authentication: Two-factor Auth
|
two_factor_authentication: Two-factor Auth
|
||||||
your_apps: Your applications
|
your_apps: Your applications
|
||||||
|
|
|
@ -595,18 +595,6 @@ eo:
|
||||||
title: Filtriloj
|
title: Filtriloj
|
||||||
new:
|
new:
|
||||||
title: Aldoni novan filtrilon
|
title: Aldoni novan filtrilon
|
||||||
followers:
|
|
||||||
domain: Domajno
|
|
||||||
explanation_html: Se vi volas esti certa pri la privateco de viaj mesaĝoj, vi bezonas esti atenta pri tiuj, kiuj sekvas vin. <strong>Viaj privataj mesaĝoj estas liveritaj al ĉiuj serviloj, kie vi havas sekvantojn</strong>. Eble vi ŝatus kontroli ilin, kaj forigi la sekvantojn de la serviloj, kie vi ne certas ĉu via privateco estos respektita de la tiea teamo aŭ programo.
|
|
||||||
followers_count: Nombro de sekvantoj
|
|
||||||
lock_link: Ŝlosu vian konton
|
|
||||||
purge: Forigi el la sekvantoj
|
|
||||||
success:
|
|
||||||
one: Forigado de sekvantoj el iu domajno...
|
|
||||||
other: Forigado de sekvantoj el %{count} domajnoj...
|
|
||||||
true_privacy_html: Bonvolu atenti, ke <strong>vera privateco povas esti atingita nur per ĉifrado de komenco al fino</strong>.
|
|
||||||
unlocked_warning_html: Iu ajn povas eksekvi vin por tuj vidi viajn privatajn mesaĝojn. %{lock_link} por povi akcepti kaj rifuzi petojn de sekvado.
|
|
||||||
unlocked_warning_title: Via konto ne estas ŝlosita
|
|
||||||
footer:
|
footer:
|
||||||
developers: Programistoj
|
developers: Programistoj
|
||||||
more: Pli…
|
more: Pli…
|
||||||
|
@ -799,7 +787,6 @@ eo:
|
||||||
edit_profile: Redakti profilon
|
edit_profile: Redakti profilon
|
||||||
export: Eksporti datumojn
|
export: Eksporti datumojn
|
||||||
featured_tags: Elstarigitaj kradvortoj
|
featured_tags: Elstarigitaj kradvortoj
|
||||||
followers: Rajtigitaj sekvantoj
|
|
||||||
import: Importi
|
import: Importi
|
||||||
migrate: Konta migrado
|
migrate: Konta migrado
|
||||||
notifications: Sciigoj
|
notifications: Sciigoj
|
||||||
|
|
|
@ -529,18 +529,6 @@ es:
|
||||||
title: Filtros
|
title: Filtros
|
||||||
new:
|
new:
|
||||||
title: Añadir un nuevo filtro
|
title: Añadir un nuevo filtro
|
||||||
followers:
|
|
||||||
domain: Dominio
|
|
||||||
explanation_html: Si deseas asegurar la privacidad de tus estados, tienes que cuidarte de quién te sigue. <strong>Tus estados privados son enviados a todas las instancias de tus seguidores</strong>. Puede que desees revisarlas, y remover seguidores si no confías en tu privacidad para ser respetado por el staff o software de esas instancias.
|
|
||||||
followers_count: Número de seguidores
|
|
||||||
lock_link: Bloquear tu cuenta
|
|
||||||
purge: Remover de los seguidores
|
|
||||||
success:
|
|
||||||
one: En el proceso de bloquear suavemente usuarios de un solo dominio...
|
|
||||||
other: En el proceso de bloquear suavemente usuarios de %{count} dominios...
|
|
||||||
true_privacy_html: Por favor ten en cuenta que <strong>la verdadera privacidad se consigue con encriptación de punto a punto</strong>.
|
|
||||||
unlocked_warning_html: Todos pueden seguirte para ver tus estados privados inmediatamente. %{lock_link} para poder chequear y rechazar seguidores.
|
|
||||||
unlocked_warning_title: Tu cuenta no está bloqueada
|
|
||||||
footer:
|
footer:
|
||||||
developers: Desarrolladores
|
developers: Desarrolladores
|
||||||
more: Mas…
|
more: Mas…
|
||||||
|
@ -711,7 +699,6 @@ es:
|
||||||
development: Desarrollo
|
development: Desarrollo
|
||||||
edit_profile: Editar perfil
|
edit_profile: Editar perfil
|
||||||
export: Exportar información
|
export: Exportar información
|
||||||
followers: Seguidores autorizados
|
|
||||||
import: Importar
|
import: Importar
|
||||||
migrate: Migración de cuenta
|
migrate: Migración de cuenta
|
||||||
notifications: Notificaciones
|
notifications: Notificaciones
|
||||||
|
|
|
@ -592,18 +592,6 @@ eu:
|
||||||
title: Iragazkiak
|
title: Iragazkiak
|
||||||
new:
|
new:
|
||||||
title: Gehitu iragazki berria
|
title: Gehitu iragazki berria
|
||||||
followers:
|
|
||||||
domain: Domeinua
|
|
||||||
explanation_html: Zure mezuen pribatutasuna bermatu nahi baduzu, nork jarraitzen zaituen jakin behar duzu. <strong>Zure mezu pribatuak zure jarraitzaileak dituzten zerbitzari guztietara bidaltzen dira</strong>. Zerbitzari bateko langileek edo softwareak zure pribatutasunari dagokion begirunea ez dutela izango uste baduzu, berrikusi eta kendu jarraitzaileak.
|
|
||||||
followers_count: Jarraitzaile kopurua
|
|
||||||
lock_link: Giltzapetu zure kontua
|
|
||||||
purge: Kendu jarraitzaileetatik
|
|
||||||
success:
|
|
||||||
one: Domeinu bateko jarraitzaileei blokeo leuna ezartzen...
|
|
||||||
other: "%{count} domeinuetako jarraitzaileei blokeo leuna ezartzen..."
|
|
||||||
true_privacy_html: Kontuan izan <strong>egiazko pribatutasuna lortzeko muturretik muturrerako zifratzea ezinbestekoa dela</strong>.
|
|
||||||
unlocked_warning_html: Edonork jarraitu zaitzake eta berehala zure mezu pribatuak ikusi. %{lock_link} jarraitzaileak berrikusi eta ukatu ahal izateko.
|
|
||||||
unlocked_warning_title: Zure kontua ez dago giltzapetuta
|
|
||||||
footer:
|
footer:
|
||||||
developers: Garatzaileak
|
developers: Garatzaileak
|
||||||
more: Gehiago…
|
more: Gehiago…
|
||||||
|
@ -796,7 +784,6 @@ eu:
|
||||||
edit_profile: Aldatu profila
|
edit_profile: Aldatu profila
|
||||||
export: Datuen esportazioa
|
export: Datuen esportazioa
|
||||||
featured_tags: Nabarmendutako traolak
|
featured_tags: Nabarmendutako traolak
|
||||||
followers: Baimendutako jarraitzaileak
|
|
||||||
import: Inportazioa
|
import: Inportazioa
|
||||||
migrate: Kontuaren migrazioa
|
migrate: Kontuaren migrazioa
|
||||||
notifications: Jakinarazpenak
|
notifications: Jakinarazpenak
|
||||||
|
|
|
@ -593,18 +593,6 @@ fa:
|
||||||
title: فیلترها
|
title: فیلترها
|
||||||
new:
|
new:
|
||||||
title: افزودن فیلتر تازه
|
title: افزودن فیلتر تازه
|
||||||
followers:
|
|
||||||
domain: دامین
|
|
||||||
explanation_html: اگر میخواهید از خصوصیبودن نوشتههای خود مطمئن شوید، باید بدانید که چه کسانی پیگیر شما هستند. <strong>نوشتههای خصوصی شما به همهٔ سرورهایی که در آنها پیگیر دارید فرستاده میشود</strong>. شاید بخواهید این سرورها را بررسی کنید، و اگر به مسئولان یا نرمافزارهای آنها در رعایت حریم خصوصی خود اعتماد ندارید، میتوانید آنها را حذف کنید.
|
|
||||||
followers_count: تعداد پیگیران
|
|
||||||
lock_link: حساب خود را خصوصی کنید
|
|
||||||
purge: برداشتن پیگیری
|
|
||||||
success:
|
|
||||||
one: در حال انجام مسدودسازی نرم روی کاربران یک دامین...
|
|
||||||
other: در حال انجام مسدودسازی نرم روی کاربران %{count} دامین...
|
|
||||||
true_privacy_html: لطفاً بدانید که <strong>داشتن حریم خصوصی واقعی تنها با رمزگذاری سرتاسر (end-to-end encryption) ممکن است</strong>.
|
|
||||||
unlocked_warning_html: هر کسی میتواند پیگیر شما شود تا بلافاصله نوشتههای خصوصی شما را ببیند. اگر %{lock_link} خواهید توانست درخواستهای پیگیری را بررسی کرده و نپذیرید.
|
|
||||||
unlocked_warning_title: حساب شما خصوصی نیست
|
|
||||||
footer:
|
footer:
|
||||||
developers: برنامهنویسان
|
developers: برنامهنویسان
|
||||||
more: بیشتر…
|
more: بیشتر…
|
||||||
|
@ -807,7 +795,6 @@ fa:
|
||||||
edit_profile: ویرایش نمایه
|
edit_profile: ویرایش نمایه
|
||||||
export: برونسپاری دادهها
|
export: برونسپاری دادهها
|
||||||
featured_tags: برچسبهای منتخب
|
featured_tags: برچسبهای منتخب
|
||||||
followers: پیگیران مورد تأیید
|
|
||||||
import: درونریزی
|
import: درونریزی
|
||||||
migrate: انتقال حساب
|
migrate: انتقال حساب
|
||||||
notifications: اعلانها
|
notifications: اعلانها
|
||||||
|
|
|
@ -449,18 +449,6 @@ fi:
|
||||||
follows: Seurattavat
|
follows: Seurattavat
|
||||||
mutes: Mykistetyt
|
mutes: Mykistetyt
|
||||||
storage: Media-arkisto
|
storage: Media-arkisto
|
||||||
followers:
|
|
||||||
domain: Verkkotunnus
|
|
||||||
explanation_html: Jos haluat olla varma tilapäivitystesi yksityisyydestä, sinun täytyy tietää, ketkä seuraavat sinua. <strong>Yksityiset tilapäivityksesi lähetetään kaikkiin niihin instansseihin, joissa sinulla on seuraajia</strong>. Jos et luota siihen, että näiden instanssien ylläpitäjät tai ohjelmisto kunnioittavat yksityisyyttäsi, käy läpi seuraajaluettelosi ja poista tarvittaessa käyttäjiä.
|
|
||||||
followers_count: Seuraajien määrä
|
|
||||||
lock_link: Lukitse tili
|
|
||||||
purge: Poista seuraajista
|
|
||||||
success:
|
|
||||||
one: Estetään kevyesti seuraajia yhdestä verkkotunnuksesta...
|
|
||||||
other: Estetään kevyesti seuraajia %{count} verkkotunnuksesta...
|
|
||||||
true_privacy_html: Muista, että <strong>kunnollinen yksityisyys voidaan varmistaa vain päästä päähän -salauksella</strong>.
|
|
||||||
unlocked_warning_html: Kuka tahansa voi seurata sinua ja nähdä saman tien yksityiset tilapäivityksesi. %{lock_link}, niin voit tarkastaa ja torjua seuraajia.
|
|
||||||
unlocked_warning_title: Tiliäsi ei ole lukittu
|
|
||||||
generic:
|
generic:
|
||||||
changes_saved_msg: Muutosten tallennus onnistui!
|
changes_saved_msg: Muutosten tallennus onnistui!
|
||||||
save_changes: Tallenna muutokset
|
save_changes: Tallenna muutokset
|
||||||
|
@ -622,7 +610,6 @@ fi:
|
||||||
development: Kehittäminen
|
development: Kehittäminen
|
||||||
edit_profile: Muokkaa profiilia
|
edit_profile: Muokkaa profiilia
|
||||||
export: Vie tietoja
|
export: Vie tietoja
|
||||||
followers: Valtuutetut seuraajat
|
|
||||||
import: Tuo
|
import: Tuo
|
||||||
migrate: Tilin muutto muualle
|
migrate: Tilin muutto muualle
|
||||||
notifications: Ilmoitukset
|
notifications: Ilmoitukset
|
||||||
|
|
|
@ -593,18 +593,6 @@ fr:
|
||||||
title: Filtres
|
title: Filtres
|
||||||
new:
|
new:
|
||||||
title: Ajouter un nouveau filtre
|
title: Ajouter un nouveau filtre
|
||||||
followers:
|
|
||||||
domain: Domaine
|
|
||||||
explanation_html: Si vous voulez vous assurer que vos statuts restent privés, vous devez savoir qui vous suit. <strong>Vos statuts privés seront diffusés sur toutes les instances où vous avez des abonné·e·s</strong>. Vous voudrez peut-être les passer en revue et les supprimer si vous pensez que votre vie privée ne sera pas respectée par l’administration ou le logiciel de ces instances.
|
|
||||||
followers_count: Nombre d’abonné⋅e⋅s
|
|
||||||
lock_link: Rendez votre compte privé
|
|
||||||
purge: Retirer de la liste d’abonné⋅e⋅s
|
|
||||||
success:
|
|
||||||
one: Suppression des abonné⋅e⋅s venant d’un domaine en cours…
|
|
||||||
other: Suppression des abonné⋅e⋅s venant de %{count} domaines en cours…
|
|
||||||
true_privacy_html: Soyez conscient⋅e⋅s <strong>qu’une vraie confidentialité ne peut être atteinte que par un chiffrement de bout-en-bout</strong>.
|
|
||||||
unlocked_warning_html: N’importe qui peut vous suivre et voir vos statuts privés. %{lock_link} afin de pouvoir vérifier et rejeter des abonné⋅e⋅s.
|
|
||||||
unlocked_warning_title: Votre compte n’est pas privé
|
|
||||||
footer:
|
footer:
|
||||||
developers: Développeurs
|
developers: Développeurs
|
||||||
more: Davantage…
|
more: Davantage…
|
||||||
|
@ -807,7 +795,6 @@ fr:
|
||||||
edit_profile: Modifier le profil
|
edit_profile: Modifier le profil
|
||||||
export: Export de données
|
export: Export de données
|
||||||
featured_tags: Hashtags mis en avant
|
featured_tags: Hashtags mis en avant
|
||||||
followers: Abonné⋅es autorisé⋅es
|
|
||||||
import: Import de données
|
import: Import de données
|
||||||
migrate: Migration de compte
|
migrate: Migration de compte
|
||||||
notifications: Notifications
|
notifications: Notifications
|
||||||
|
|
|
@ -593,18 +593,6 @@ gl:
|
||||||
title: Filtros
|
title: Filtros
|
||||||
new:
|
new:
|
||||||
title: Engadir novo filtro
|
title: Engadir novo filtro
|
||||||
followers:
|
|
||||||
domain: Dominio
|
|
||||||
explanation_html: Se quere asegurar a intimidade dos seus estados, debe ser consciente de quen a está a seguir. <strong>Os seus estados privados son enviados a todas os servidores onde ten seguidoras</strong>. Podería querer revisalas, e elminar seguidoras si non confía que a súa intimidade sexa respetada polos administradores ou o software de ese servidor.
|
|
||||||
followers_count: Número de seguidoras
|
|
||||||
lock_link: Bloquear a súa conta
|
|
||||||
purge: Eliminar das seguidoras
|
|
||||||
success:
|
|
||||||
one: En proceso de bloquear seguidoras de un dominio...
|
|
||||||
other: No proceso de bloquear seguidoras de %{count} dominios...
|
|
||||||
true_privacy_html: Por favor teña en conta que <strong>a verdadeira intimidade só pode ser conseguida con cifrado de extremo-a-extremo</strong>.
|
|
||||||
unlocked_warning_html: Calquera pode seguila para inmediatamente ver os seus estados privados. %{lock_link} para poder revisar e rexeitar seguidoras.
|
|
||||||
unlocked_warning_title: A súa conta non está pechada
|
|
||||||
footer:
|
footer:
|
||||||
developers: Desenvolvedoras
|
developers: Desenvolvedoras
|
||||||
more: Máis…
|
more: Máis…
|
||||||
|
@ -807,7 +795,6 @@ gl:
|
||||||
edit_profile: Editar perfil
|
edit_profile: Editar perfil
|
||||||
export: Exportar datos
|
export: Exportar datos
|
||||||
featured_tags: Etiquetas destacadas
|
featured_tags: Etiquetas destacadas
|
||||||
followers: Seguidoras autorizadas
|
|
||||||
import: Importar
|
import: Importar
|
||||||
migrate: Migrar conta
|
migrate: Migrar conta
|
||||||
notifications: Notificacións
|
notifications: Notificacións
|
||||||
|
|
|
@ -240,18 +240,6 @@ he:
|
||||||
follows: רשימת נעקבים
|
follows: רשימת נעקבים
|
||||||
mutes: רשימת השתקות
|
mutes: רשימת השתקות
|
||||||
storage: אחסון מדיה
|
storage: אחסון מדיה
|
||||||
followers:
|
|
||||||
domain: קהילה
|
|
||||||
explanation_html: אם ברצונך להבטיח את הפרטיות של הודעותיך, יש לשים לב מי עוקב אחריך. <strong>הודעותיך הפרטיות יועברו לכל השרתים בהם יש לך עוקבים</strong>. כדאי לעבור על הרשימה ולהסיר עוקבים אם אין לך אמון בתוכנה או בצוות המפעילים של השרת הרחוק שיכבד את פרטיותך.
|
|
||||||
followers_count: מספר העוקבים
|
|
||||||
lock_link: לנעול את חשבונך
|
|
||||||
purge: הסרה מהעוקבים
|
|
||||||
success:
|
|
||||||
one: בתהליך חסימה של עוקבים ממתחם אחד...
|
|
||||||
other: בתהליך חסימה של עוקבים המגיעים מ־%{count} מתחמים...
|
|
||||||
true_privacy_html: 'לתשומת ליבך: <strong>פרטיות אמיתית ניתן להשיג אך ורק על ידי הצפנה מקצה לקצה</strong>.'
|
|
||||||
unlocked_warning_html: כל אחד יכול לעקוב אחריך כדי לראות מיידית את חצרוציך הפרטיים. %{lock_link} כדי לבחון ולדחות עוקבים.
|
|
||||||
unlocked_warning_title: חשבונך אינו נעול
|
|
||||||
generic:
|
generic:
|
||||||
changes_saved_msg: השינויים נשמרו בהצלחה!
|
changes_saved_msg: השינויים נשמרו בהצלחה!
|
||||||
save_changes: שמור שינויים
|
save_changes: שמור שינויים
|
||||||
|
@ -320,7 +308,6 @@ he:
|
||||||
back: חזרה למסטודון
|
back: חזרה למסטודון
|
||||||
edit_profile: עריכת פרופיל
|
edit_profile: עריכת פרופיל
|
||||||
export: יצוא מידע
|
export: יצוא מידע
|
||||||
followers: עוקבים מאושרים
|
|
||||||
import: יבוא
|
import: יבוא
|
||||||
preferences: העדפות
|
preferences: העדפות
|
||||||
settings: הגדרות
|
settings: הגדרות
|
||||||
|
|
|
@ -374,18 +374,6 @@ hu:
|
||||||
follows: Követettjeid
|
follows: Követettjeid
|
||||||
mutes: Némításaid
|
mutes: Némításaid
|
||||||
storage: Médiatároló
|
storage: Médiatároló
|
||||||
followers:
|
|
||||||
domain: Domain
|
|
||||||
explanation_html: Ahhoz, hogy biztosítsd a tülkjeid adatvédelmét, tudnod kell, kik követnek téged. <strong>Még privátnak jelölt tülkjeid is továbbítódnak minden instanciára, ahol követőid vannak</strong>. Az alábbi listában láthatod, melyek ezek az instanciák; eltávolíthatod őket, ha nem vagy biztos benne, hogy az adott instancia üzemeltetői tiszteletben tartják az adatvédelmi beállításaidat.
|
|
||||||
followers_count: Követők száma
|
|
||||||
lock_link: Fiókod priváttá tétele
|
|
||||||
purge: Eltávolítás a követőid közül
|
|
||||||
success:
|
|
||||||
one: Egy domainen található követőid tiltása folyamatban...
|
|
||||||
other: "%{count} domainen található követőid tiltása folyamatban..."
|
|
||||||
true_privacy_html: Tartsd észben, hogy <strong>valódi biztonság csak végponttól-végpontig titkosítással érhető el</strong>.
|
|
||||||
unlocked_warning_html: Bárki követhet és így azonnal láthatja a privát tülkjeid. A %{lock_link} funkció bekapcsolásával lehetőséged van egyenként felülvizsgálni a követési kérelmeket.
|
|
||||||
unlocked_warning_title: A fiókod jelenleg nem privát
|
|
||||||
generic:
|
generic:
|
||||||
changes_saved_msg: Változások sikeresen elmentve!
|
changes_saved_msg: Változások sikeresen elmentve!
|
||||||
save_changes: Változások mentése
|
save_changes: Változások mentése
|
||||||
|
@ -542,7 +530,6 @@ hu:
|
||||||
development: Fejlesztőknek
|
development: Fejlesztőknek
|
||||||
edit_profile: Profil szerkesztése
|
edit_profile: Profil szerkesztése
|
||||||
export: Adatok exportálása
|
export: Adatok exportálása
|
||||||
followers: Jóváhagyott követők
|
|
||||||
import: Importálás
|
import: Importálás
|
||||||
migrate: Fiók átirányítása
|
migrate: Fiók átirányítása
|
||||||
notifications: Értesítések
|
notifications: Értesítések
|
||||||
|
|
|
@ -266,18 +266,6 @@ id:
|
||||||
follows: Anda ikuti
|
follows: Anda ikuti
|
||||||
mutes: Anda bisukan
|
mutes: Anda bisukan
|
||||||
storage: Penyimpanan media
|
storage: Penyimpanan media
|
||||||
followers:
|
|
||||||
domain: Domain
|
|
||||||
explanation_html: Jika anda ingin memastikan privasi dari status anda, anda harus tahu siapa yang mengikuti anda. <strong>Status pribadi anda dikirim ke semua server dimana pengikut anda berada</strong>. Anda mungkin ingin untuk mengkaji ulang dan menghapus pengikut jika anda tidak mempercayai bahwa privasi anda di tangan staf atau software di server tersebut.
|
|
||||||
followers_count: Jumlah pengikut
|
|
||||||
lock_link: Kunci akun anda
|
|
||||||
purge: Hapus dari pengikut
|
|
||||||
success:
|
|
||||||
one: Dalam proses memblokir pengikut dari satu domain...
|
|
||||||
other: Dalam proses memblokir pengikut dari %{count} domain...
|
|
||||||
true_privacy_html: Mohon diingat bahwa <strong>privasi yang sebenarnya hanya dapat dicapai dengan enkripsi end-to-end</strong>.
|
|
||||||
unlocked_warning_html: Semua orang dapat mengikuti anda untuk langsung dapat melihat status pribadi anda. %{lock_link} untuk dapat meninjau dan menolak calon pengikut.
|
|
||||||
unlocked_warning_title: Akun anda tidak dikunci
|
|
||||||
generic:
|
generic:
|
||||||
changes_saved_msg: Perubahan berhasil disimpan!
|
changes_saved_msg: Perubahan berhasil disimpan!
|
||||||
save_changes: Simpan perubahan
|
save_changes: Simpan perubahan
|
||||||
|
@ -344,7 +332,6 @@ id:
|
||||||
back: Kembali ke Mastodon
|
back: Kembali ke Mastodon
|
||||||
edit_profile: Ubah profil
|
edit_profile: Ubah profil
|
||||||
export: Expor data
|
export: Expor data
|
||||||
followers: Pengikut yang diizinkan
|
|
||||||
import: Impor
|
import: Impor
|
||||||
preferences: Pilihan
|
preferences: Pilihan
|
||||||
settings: Pengaturan
|
settings: Pengaturan
|
||||||
|
|
|
@ -554,15 +554,6 @@ it:
|
||||||
title: Filtri
|
title: Filtri
|
||||||
new:
|
new:
|
||||||
title: Aggiungi filtro
|
title: Aggiungi filtro
|
||||||
followers:
|
|
||||||
domain: Dominio
|
|
||||||
explanation_html: Se vuoi garantire la privacy dei tuoi status, devi sapere chi ti sta seguendo. <strong>I tuoi status privati vengono inviati a tutti i server su cui hai dei seguaci</strong>. Puoi controllare chi sono i tuoi seguaci, ed eliminarli se non hai fiducia che la tua privacy venga rispettata dallo staff o dal software di quei server.
|
|
||||||
followers_count: Numero di seguaci
|
|
||||||
lock_link: Blocca il tuo account
|
|
||||||
purge: Elimina dai seguaci
|
|
||||||
true_privacy_html: Tieni presente che <strong>l'effettiva riservatezza si può ottenere solo con la crittografia end-to-end</strong>.
|
|
||||||
unlocked_warning_html: Chiunque può seguirti per vedere immediatamente i tuoi status privati. %{lock_link} per poter esaminare e respingere gli utenti che vogliono seguirti.
|
|
||||||
unlocked_warning_title: Il tuo account non è bloccato
|
|
||||||
footer:
|
footer:
|
||||||
developers: Sviluppatori
|
developers: Sviluppatori
|
||||||
more: Altro…
|
more: Altro…
|
||||||
|
@ -722,7 +713,6 @@ it:
|
||||||
development: Sviluppo
|
development: Sviluppo
|
||||||
edit_profile: Modifica profilo
|
edit_profile: Modifica profilo
|
||||||
export: Esporta impostazioni
|
export: Esporta impostazioni
|
||||||
followers: Seguaci autorizzati
|
|
||||||
import: Importa
|
import: Importa
|
||||||
migrate: Migrazione dell'account
|
migrate: Migrazione dell'account
|
||||||
notifications: Notifiche
|
notifications: Notifiche
|
||||||
|
|
|
@ -607,18 +607,6 @@ ja:
|
||||||
title: フィルター
|
title: フィルター
|
||||||
new:
|
new:
|
||||||
title: 新規フィルターを追加
|
title: 新規フィルターを追加
|
||||||
followers:
|
|
||||||
domain: ドメイン
|
|
||||||
explanation_html: あなたの投稿のプライバシーを確保したい場合、誰があなたをフォローしているのかを把握している必要があります。 <strong>プライベート投稿は、あなたのフォロワーがいる全てのサーバーに配信されます</strong>。 フォロワーのサーバーの管理者やソフトウェアがあなたのプライバシーを尊重してくれるかどうか怪しい場合は、そのフォロワーを削除した方がよいかもしれません。
|
|
||||||
followers_count: フォロワー数
|
|
||||||
lock_link: 承認制アカウントにする
|
|
||||||
purge: フォロワーから削除する
|
|
||||||
success:
|
|
||||||
one: 1個のドメインからソフトブロックするフォロワーを処理中...
|
|
||||||
other: "%{count} 個のドメインからソフトブロックするフォロワーを処理中..."
|
|
||||||
true_privacy_html: "<strong>プライバシーの保護はエンドツーエンドの暗号化でのみ実現可能</strong>であることに留意ください。"
|
|
||||||
unlocked_warning_html: 誰でもあなたをフォローすることができ、フォロワー限定の投稿をすぐに見ることができます。フォローする人を限定したい場合は%{lock_link}に設定してください。
|
|
||||||
unlocked_warning_title: このアカウントは承認制アカウントに設定されていません
|
|
||||||
footer:
|
footer:
|
||||||
developers: 開発者向け
|
developers: 開発者向け
|
||||||
more: さらに…
|
more: さらに…
|
||||||
|
@ -822,7 +810,6 @@ ja:
|
||||||
export: データのエクスポート
|
export: データのエクスポート
|
||||||
featured_tags: 注目のハッシュタグ
|
featured_tags: 注目のハッシュタグ
|
||||||
flavours: フレーバー
|
flavours: フレーバー
|
||||||
followers: 信頼済みのサーバー
|
|
||||||
import: データのインポート
|
import: データのインポート
|
||||||
migrate: アカウントの引っ越し
|
migrate: アカウントの引っ越し
|
||||||
notifications: 通知
|
notifications: 通知
|
||||||
|
|
|
@ -496,18 +496,6 @@ ka:
|
||||||
title: ფილტრები
|
title: ფილტრები
|
||||||
new:
|
new:
|
||||||
title: ახალი ფილტრის დამატება
|
title: ახალი ფილტრის დამატება
|
||||||
followers:
|
|
||||||
domain: დომენი
|
|
||||||
explanation_html: თუ გსურთ უზრუნველყოთ თქვენი სტატუსების კონფიდენციალურობა, უნდა იცოდეთ თუ ვინ მოგყვებათ. <strong>კერძო სტატუსები მიეწოდება ყველა ინსტანციას, სადაც გყავთ მიმდევრები</strong>. შესაძლოა გსურდეთ განიხილოთ ისინი და ამოშალოთ მიმდევრები თუ არ ენდობით თქვენი კონფიდენციალურობის პატივისცემას სტაფისა თუ პროგრამისგან იმ ინსტანციებში.
|
|
||||||
followers_count: მიმდევრების რაოდენობა
|
|
||||||
lock_link: თქვენი ანგარიშის ჩაკეტვა
|
|
||||||
purge: მიმდევრებიდან ამოშლა
|
|
||||||
success:
|
|
||||||
one: მიმდევრების სოფტ-ბლოკირების პროცესი ერთი დომენზე...
|
|
||||||
other: მიმდევრების სოფტ-ბლოკირების პროცესი %{count} დომენზე...
|
|
||||||
true_privacy_html: გთხოვთ გაითვალისწინეთ, <strong>ჭეშმარიტი კონფიდენციალურობა მიღწევადია მხოლოდ ენდ-თუ-ენდ შიფრაციით</strong>.
|
|
||||||
unlocked_warning_html: ყველას შეუძლია გამოგყვეთ, რომ უცბად იხილოს თქვენი სტატუსები. %{lock_link} რომ შეძლოთ განიხილოთ და უარყოთ მიმდევრები.
|
|
||||||
unlocked_warning_title: თქვენი ანგარიში არაა ჩაკეტილი
|
|
||||||
footer:
|
footer:
|
||||||
developers: დეველოპერები
|
developers: დეველოპერები
|
||||||
more: მეტი…
|
more: მეტი…
|
||||||
|
@ -677,7 +665,6 @@ ka:
|
||||||
development: დეველოპმენტი
|
development: დეველოპმენტი
|
||||||
edit_profile: პროფილის ცვლილება
|
edit_profile: პროფილის ცვლილება
|
||||||
export: მონაცემის ექსპორტი
|
export: მონაცემის ექსპორტი
|
||||||
followers: ავტორიზირებული მიმდევრები
|
|
||||||
import: იმპორტი
|
import: იმპორტი
|
||||||
migrate: ანგარიშის მიგრაცია
|
migrate: ანგარიშის მიგრაცია
|
||||||
notifications: შეტყობინებები
|
notifications: შეტყობინებები
|
||||||
|
|
|
@ -593,18 +593,6 @@ kk:
|
||||||
title: Фильтрлер
|
title: Фильтрлер
|
||||||
new:
|
new:
|
||||||
title: Жаңа фильтр қосу
|
title: Жаңа фильтр қосу
|
||||||
followers:
|
|
||||||
domain: Домен
|
|
||||||
explanation_html: Егер сіз жазбаларыңыздың құпиялылығын қамтамасыз еткіңіз келсе, сізді кім іздейтінін білуіңіз керек. <strong> Сіздің жазбаларыңыз оқырмандарыңыз бар барлық серверлерге жеткізіледі </strong>. Оларды оқырмандарыңызға және админдерге немесе осы серверлердің бағдарламалық жасақтамасына жауапты қызметкерлерге сенбесеңіз, оқырмандарыңызды алып тастауыңызға болады.
|
|
||||||
followers_count: Оқырман саны
|
|
||||||
lock_link: Аккаунтыңызды құлыптау
|
|
||||||
purge: Оқырмандар тізімінен шығару
|
|
||||||
success:
|
|
||||||
one: Бір доменнен оқырмандарды бұғаттау барысында...
|
|
||||||
other: "%{count} доменнен оқырмандарды бұғаттау барысында..."
|
|
||||||
true_privacy_html: Ұмытпаңыз, <strong>нақты құпиялылықты шифрлаудан соң ғана қол жеткізуге болатындығын ескеріңіз.</strong>.
|
|
||||||
unlocked_warning_html: Кез келген адам жазбаларыңызды оқу үшін сізге жазыла алады. Жазылушыларды қарап, қабылдамау үшін %{lock_link}.
|
|
||||||
unlocked_warning_title: Аккаунтыңыз қазір құлыпталды
|
|
||||||
footer:
|
footer:
|
||||||
developers: Жасаушылар
|
developers: Жасаушылар
|
||||||
more: Тағы…
|
more: Тағы…
|
||||||
|
@ -796,7 +784,6 @@ kk:
|
||||||
edit_profile: Профиль өңдеу
|
edit_profile: Профиль өңдеу
|
||||||
export: Экспорт уақыты
|
export: Экспорт уақыты
|
||||||
featured_tags: Таңдаулы хэштегтер
|
featured_tags: Таңдаулы хэштегтер
|
||||||
followers: Авторизацияланған оқырмандар
|
|
||||||
import: Импорт
|
import: Импорт
|
||||||
migrate: Аккаунт көшіру
|
migrate: Аккаунт көшіру
|
||||||
notifications: Ескертпелер
|
notifications: Ескертпелер
|
||||||
|
|
|
@ -595,18 +595,6 @@ ko:
|
||||||
title: 필터
|
title: 필터
|
||||||
new:
|
new:
|
||||||
title: 필터 추가
|
title: 필터 추가
|
||||||
followers:
|
|
||||||
domain: 도메인
|
|
||||||
explanation_html: 프라이버시를 확보하고 싶은 경우, 누가 여러분을 팔로우 하고 있는지 파악해둘 필요가 있습니다. <strong>프라이빗 포스팅은 여러분의 팔로워가 소속하는 모든 서버로 배달됩니다</strong>. 팔로워가 소속된 서버 관리자나 소프트웨어가 여러분의 프라이버시를 존중하고 있는지 잘 모를 경우, 그 팔로워를 삭제하는 것이 좋을 수도 있습니다.
|
|
||||||
followers_count: 팔로워 수
|
|
||||||
lock_link: 비공개 계정
|
|
||||||
purge: 팔로워에서 삭제
|
|
||||||
success:
|
|
||||||
one: 1개 도메인에서 팔로워를 soft-block 처리 중...
|
|
||||||
other: "%{count}개 도메인에서 팔로워를 soft-block 처리 중..."
|
|
||||||
true_privacy_html: "<strong>프라이버시 보호는 End-to-End 암호화로만 이루어 질 수 있다는 것에 유의</strong>해 주십시오."
|
|
||||||
unlocked_warning_html: 누구든 여러분을 팔로우 할 수 있으며, 여러분의 프라이빗 투고를 볼 수 있습니다. 팔로우 할 수 있는 사람을 제한하고 싶은 경우 %{lock_link}에서 설정해 주십시오.
|
|
||||||
unlocked_warning_title: 이 계정은 비공개로 설정되어 있지 않습니다
|
|
||||||
footer:
|
footer:
|
||||||
developers: 개발자
|
developers: 개발자
|
||||||
more: 더 보기…
|
more: 더 보기…
|
||||||
|
@ -809,7 +797,6 @@ ko:
|
||||||
edit_profile: 프로필 편집
|
edit_profile: 프로필 편집
|
||||||
export: 데이터 내보내기
|
export: 데이터 내보내기
|
||||||
featured_tags: 추천 해시태그
|
featured_tags: 추천 해시태그
|
||||||
followers: 신뢰 중인 인스턴스
|
|
||||||
import: 데이터 가져오기
|
import: 데이터 가져오기
|
||||||
migrate: 계정 이동
|
migrate: 계정 이동
|
||||||
notifications: 알림
|
notifications: 알림
|
||||||
|
|
|
@ -602,19 +602,6 @@ lt:
|
||||||
title: Filtrai
|
title: Filtrai
|
||||||
new:
|
new:
|
||||||
title: Pridėti naują filtrą
|
title: Pridėti naują filtrą
|
||||||
followers:
|
|
||||||
domain: Domenas
|
|
||||||
explanation_html: Jeigu norite garantuoti savo statusų privatumą, turite žinoti, kas jus seka. <strong>Jūsų privatūs statusai yra pristatyti visiems serveriams, kur jūs turite sekėju</strong>. Galbūt jūs norite juos peržiūrėti ir panaikinti sekėjus, kuriais nepasitikite.
|
|
||||||
followers_count: Sekėjų skaičius
|
|
||||||
lock_link: Užrakinti savo paskyrą
|
|
||||||
purge: Panaikint iš sekėju
|
|
||||||
success:
|
|
||||||
few: Švelnaus sekėjų blokavimo procedūroje iš %{count} domenų...
|
|
||||||
one: Švelnaus sekėjų blokavimo procedūroje iš vieno domeno...
|
|
||||||
other: Švelnaus sekėjų blokavimo procedūroje iš %{count} domenų...
|
|
||||||
true_privacy_html: Prašau prisiminti, kad <strong> tikras privatumas gali būti pasiekamas tik su end-to-end užsifravimu</strong>.
|
|
||||||
unlocked_warning_html: Visi, kurie nori matyti Jūsų privatų statusą, gali jus sekti. %{lock_link} kad galėtumėte peržiurėti ir pašalinti sekėjus.
|
|
||||||
unlocked_warning_title: Jūsų paskyra neužrakinta
|
|
||||||
footer:
|
footer:
|
||||||
developers: Programuotojai
|
developers: Programuotojai
|
||||||
more: Daugiau…
|
more: Daugiau…
|
||||||
|
@ -810,7 +797,6 @@ lt:
|
||||||
edit_profile: Keisti profilį
|
edit_profile: Keisti profilį
|
||||||
export: Informacijos eksportas
|
export: Informacijos eksportas
|
||||||
featured_tags: Rodomi saitažodžiai(#)
|
featured_tags: Rodomi saitažodžiai(#)
|
||||||
followers: Autorizuoti sekėjai
|
|
||||||
import: Importuoti
|
import: Importuoti
|
||||||
migrate: Paskyros migracija
|
migrate: Paskyros migracija
|
||||||
notifications: Pranešimai
|
notifications: Pranešimai
|
||||||
|
|
|
@ -317,10 +317,6 @@ ms:
|
||||||
exports:
|
exports:
|
||||||
archive_takeout:
|
archive_takeout:
|
||||||
in_progress: Mengkompil arkib anda...
|
in_progress: Mengkompil arkib anda...
|
||||||
followers:
|
|
||||||
success:
|
|
||||||
one: Dalam proses menyekat-lembut pengikut daripada satu domain...
|
|
||||||
other: Dalam proses menyekat-lembut pengikut daripada %{count} domain...
|
|
||||||
notification_mailer:
|
notification_mailer:
|
||||||
digest:
|
digest:
|
||||||
title: Ketika anda tiada di sini...
|
title: Ketika anda tiada di sini...
|
||||||
|
|
|
@ -593,18 +593,6 @@ nl:
|
||||||
title: Filters
|
title: Filters
|
||||||
new:
|
new:
|
||||||
title: Nieuw filter toevoegen
|
title: Nieuw filter toevoegen
|
||||||
followers:
|
|
||||||
domain: Domein
|
|
||||||
explanation_html: Wanneer je de privacy van jouw toots wilt garanderen, moet je goed weten wie jouw volgers zijn. <strong>Toots die alleen aan jouw volgers zijn gericht, worden aan de Mastodonservers van jouw volgers afgeleverd.</strong> Daarom wil je ze misschien controleren en desnoods volgers verwijderen die zich op een Mastodonserver bevinden die jij niet vertrouwd. Bijvoorbeeld omdat de beheerder(s) of de software van zo'n server jouw privacy niet respecteert.
|
|
||||||
followers_count: Aantal volgers
|
|
||||||
lock_link: Maak jouw account besloten
|
|
||||||
purge: Volgers verwijderen
|
|
||||||
success:
|
|
||||||
one: Bezig om volgers van één domein te verwijderen...
|
|
||||||
other: Bezig om volgers van %{count} domeinen te verwijderen...
|
|
||||||
true_privacy_html: Hou er wel rekening mee dat <strong>echte privacy alleen gegarandeerd kan worden met behulp van end-to-end-encryptie</strong>.
|
|
||||||
unlocked_warning_html: Iedereen kan jou volgen en daarmee meteen toots zien die je alleen aan jouw volgers hebt gericht. %{lock_link} om volgers te kunnen beoordelen en desnoods te weigeren.
|
|
||||||
unlocked_warning_title: Jouw account is niet besloten
|
|
||||||
footer:
|
footer:
|
||||||
developers: Ontwikkelaars
|
developers: Ontwikkelaars
|
||||||
more: Meer…
|
more: Meer…
|
||||||
|
@ -797,7 +785,6 @@ nl:
|
||||||
edit_profile: Profiel bewerken
|
edit_profile: Profiel bewerken
|
||||||
export: Exporteren
|
export: Exporteren
|
||||||
featured_tags: Uitgelichte hashtags
|
featured_tags: Uitgelichte hashtags
|
||||||
followers: Geautoriseerde volgers
|
|
||||||
import: Importeren
|
import: Importeren
|
||||||
migrate: Accountmigratie
|
migrate: Accountmigratie
|
||||||
notifications: Meldingen
|
notifications: Meldingen
|
||||||
|
|
|
@ -374,18 +374,6 @@
|
||||||
follows: Du følger
|
follows: Du følger
|
||||||
mutes: Du demper
|
mutes: Du demper
|
||||||
storage: Medialagring
|
storage: Medialagring
|
||||||
followers:
|
|
||||||
domain: Domene
|
|
||||||
explanation_html: Hvis du vil styre hvem som ser statusene dine, må du være klar over hvem som følger deg. <strong>Dine private statuser leveres til alle instanser der du har følgere</strong>. Du bør kanskje se over dem, og fjerne følgere hvis du ikke stoler på at ditt privatliv vil bli respektert av staben eller programvaren på de instansene.
|
|
||||||
followers_count: Antall følgere
|
|
||||||
lock_link: Lås kontoen din
|
|
||||||
purge: Fjern fra følgere
|
|
||||||
success:
|
|
||||||
one: I ferd med å mykblokkere følgere fra ett domene...
|
|
||||||
other: I ferd med å mykblokkere følgere fra %{count} domener...
|
|
||||||
true_privacy_html: Merk deg at <strong>virkelig privatliv kun kan oppnås med ende-til-ende-kryptering</strong>.
|
|
||||||
unlocked_warning_html: Alle kan følge deg for å umiddelbart se dine private statuser. %{lock_link} for å kunne se over og avvise følgere.
|
|
||||||
unlocked_warning_title: Din konto er ikke låst
|
|
||||||
generic:
|
generic:
|
||||||
changes_saved_msg: Vellykket lagring av endringer!
|
changes_saved_msg: Vellykket lagring av endringer!
|
||||||
save_changes: Lagre endringer
|
save_changes: Lagre endringer
|
||||||
|
@ -542,7 +530,6 @@
|
||||||
development: Utvikling
|
development: Utvikling
|
||||||
edit_profile: Endre profil
|
edit_profile: Endre profil
|
||||||
export: Dataeksport
|
export: Dataeksport
|
||||||
followers: Godkjente følgere
|
|
||||||
import: Importér
|
import: Importér
|
||||||
migrate: Kontomigrering
|
migrate: Kontomigrering
|
||||||
notifications: Varslinger
|
notifications: Varslinger
|
||||||
|
|
|
@ -649,18 +649,6 @@ oc:
|
||||||
title: Filtres
|
title: Filtres
|
||||||
new:
|
new:
|
||||||
title: Ajustar un nòu filtre
|
title: Ajustar un nòu filtre
|
||||||
followers:
|
|
||||||
domain: Domeni
|
|
||||||
explanation_html: Se volètz vos assegurar de la confidencialitat de vòstres estatuts, vos cal saber qual sèc vòstre compte. <strong>Vòstres estatuts privats son enviats a totas las instàncias qu’an de monde que vos sègon.</strong>. Benlèu que volètz repassar vòstra lista e tirar los seguidors s’avètz de dobtes tocant las politicas de confidencialitat dels gestionaris de lor instància o sul logicial qu’utilizan.
|
|
||||||
followers_count: Nombre de seguidors
|
|
||||||
lock_link: Clavar vòstre compte
|
|
||||||
purge: Tirar dels seguidors
|
|
||||||
success:
|
|
||||||
one: Soi a blocar los seguidors d’un domeni…
|
|
||||||
other: Soi a blocar los seguidors de %{count} domenis…
|
|
||||||
true_privacy_html: Mèfi que la <strong>vertadièra confidencialitat pòt solament èsser amb un chiframent del cap a la fin (end-to-end)</strong>.
|
|
||||||
unlocked_warning_html: Tot lo monde pòt vos sègre e veire sulpic vòstres estatuts privats. %{lock_link} per poder repassar e regetar los seguidors.
|
|
||||||
unlocked_warning_title: Vòstre compte es pas clavat
|
|
||||||
footer:
|
footer:
|
||||||
developers: Desvolopaires
|
developers: Desvolopaires
|
||||||
more: Mai…
|
more: Mai…
|
||||||
|
@ -853,7 +841,6 @@ oc:
|
||||||
edit_profile: Modificar lo perfil
|
edit_profile: Modificar lo perfil
|
||||||
export: Exportar de donadas
|
export: Exportar de donadas
|
||||||
featured_tags: Etiquetas en avant
|
featured_tags: Etiquetas en avant
|
||||||
followers: Seguidors autorizats
|
|
||||||
import: Importar de donadas
|
import: Importar de donadas
|
||||||
migrate: Migracion de compte
|
migrate: Migracion de compte
|
||||||
notifications: Notificacions
|
notifications: Notificacions
|
||||||
|
|
|
@ -606,20 +606,6 @@ pl:
|
||||||
title: Filtry
|
title: Filtry
|
||||||
new:
|
new:
|
||||||
title: Dodaj nowy filtr
|
title: Dodaj nowy filtr
|
||||||
followers:
|
|
||||||
domain: Domena
|
|
||||||
explanation_html: Jeżeli chcesz mieć pewność, kto może przeczytać Twoje wpisy, musisz kontrolować, kto śledzi Twój profil. <strong>Twoje prywatne wpisy są dostarczane na te instancje, na których jesteś śledzony</strong>. Możesz sprawdzać, kto Cię śledzi i blokować ich, jeśli nie ufasz właścicielom lub oprogramowaniu danej instancji.
|
|
||||||
followers_count: Liczba śledzących
|
|
||||||
lock_link: Zablokuj swoje konto
|
|
||||||
purge: Przestań śledzić
|
|
||||||
success:
|
|
||||||
few: W trakcie usuwania śledzących z %{count} domen…
|
|
||||||
many: W trakcie usuwania śledzących z %{count} domen…
|
|
||||||
one: W trakcie usuwania śledzących z jednej domeny…
|
|
||||||
other: W trakcie usuwania śledzących z %{count} domen…
|
|
||||||
true_privacy_html: Pamiętaj, że <strong>rzeczywista prywatność może zostać uzyskana wyłącznie dzięki szyfrowaniu end-to-end</strong>.
|
|
||||||
unlocked_warning_html: Każdy może Cię śledzić, dzięki czemu może zobaczyć Twoje niepubliczne wpisy. %{lock_link} aby móc kontrolować, kto Cię śledzi.
|
|
||||||
unlocked_warning_title: Twoje konto nie jest zablokowane
|
|
||||||
footer:
|
footer:
|
||||||
developers: Dla programistów
|
developers: Dla programistów
|
||||||
more: Więcej…
|
more: Więcej…
|
||||||
|
@ -822,7 +808,6 @@ pl:
|
||||||
export: Eksportowanie danych
|
export: Eksportowanie danych
|
||||||
featured_tags: Wyróżnione hashtagi
|
featured_tags: Wyróżnione hashtagi
|
||||||
flavours: Odmiany
|
flavours: Odmiany
|
||||||
followers: Autoryzowani śledzący
|
|
||||||
import: Importowanie danych
|
import: Importowanie danych
|
||||||
migrate: Migracja konta
|
migrate: Migracja konta
|
||||||
notifications: Powiadomienia
|
notifications: Powiadomienia
|
||||||
|
|
|
@ -585,18 +585,6 @@ pt-BR:
|
||||||
title: Filtros
|
title: Filtros
|
||||||
new:
|
new:
|
||||||
title: Adicionar novo filtro
|
title: Adicionar novo filtro
|
||||||
followers:
|
|
||||||
domain: Domínio
|
|
||||||
explanation_html: Se você quer garantir a privacidade de suas postagens, você deve ficar atento a quem está te seguindo.<strong>Suas postagens privadas são enviadas para todas as instâncias em que você tem seguidores</strong>. Convém revisá-las e remover seguidores se você acredita que a sua privacidade não será respeitada pela equipe ou software destas instâncias.
|
|
||||||
followers_count: Número de seguidores
|
|
||||||
lock_link: Tranque a sua conta
|
|
||||||
purge: Remover de seus seguidores
|
|
||||||
success:
|
|
||||||
one: No processo de bloqueio suave de seguidores de outro domínio...
|
|
||||||
other: No processo de bloqueio suave de seguidores de outros %{count} domínios...
|
|
||||||
true_privacy_html: Lembre-se de que <strong>a verdadeira privacidade só pode ser alcançada através de encriptação ponto-a-ponto</strong>.
|
|
||||||
unlocked_warning_html: Qualquer pessoa pode te seguir e ver as suas postagens privadas. %{lock_link} para ser capaz de revisar e rejeitar seguidores.
|
|
||||||
unlocked_warning_title: A sua conta não está trancada
|
|
||||||
footer:
|
footer:
|
||||||
developers: Desenvolvedores
|
developers: Desenvolvedores
|
||||||
more: Mais…
|
more: Mais…
|
||||||
|
@ -782,7 +770,6 @@ pt-BR:
|
||||||
development: Desenvolvimento
|
development: Desenvolvimento
|
||||||
edit_profile: Editar perfil
|
edit_profile: Editar perfil
|
||||||
export: Exportar dados
|
export: Exportar dados
|
||||||
followers: Seguidores autorizados
|
|
||||||
import: Importar
|
import: Importar
|
||||||
migrate: Migração de conta
|
migrate: Migração de conta
|
||||||
notifications: Notificações
|
notifications: Notificações
|
||||||
|
|
|
@ -377,18 +377,6 @@ pt:
|
||||||
follows: Segues
|
follows: Segues
|
||||||
mutes: Tens em silêncio
|
mutes: Tens em silêncio
|
||||||
storage: Armazenamento de média
|
storage: Armazenamento de média
|
||||||
followers:
|
|
||||||
domain: Domínio
|
|
||||||
explanation_html: Se queres garantir a privacidade das tuas publicações, deves ficar atento a quem te está a seguir.<strong>As tuas publicações privadas são enviadas para todas as instâncias nas que tens seguidores</strong>. Convém revisá-las e remover seguidores se achares que a tua privacidade não será respeitada pela equipa ou software destas instâncias.
|
|
||||||
followers_count: Número de seguidores
|
|
||||||
lock_link: Bloquear a tua conta
|
|
||||||
purge: Eliminar dos seguidores
|
|
||||||
success:
|
|
||||||
one: No processo de bloqueio suave de seguidores de outro domínio...
|
|
||||||
other: No processo de bloqueio suave de seguidores de outros %{count} domínios...
|
|
||||||
true_privacy_html: Por favor leva em conta que <strong>a verdadeira privacidade só pode ser alcançada através de encriptação ponto-a-ponto</strong>.
|
|
||||||
unlocked_warning_html: Qualquer pessoa pode seguir-te e ver as tuas publicações privadas. %{lock_link} para ser capaz de revisar e rejeitar seguidores.
|
|
||||||
unlocked_warning_title: A tua conta não está bloqueada
|
|
||||||
generic:
|
generic:
|
||||||
changes_saved_msg: Alterações guardadas!
|
changes_saved_msg: Alterações guardadas!
|
||||||
save_changes: Guardar alterações
|
save_changes: Guardar alterações
|
||||||
|
@ -544,7 +532,6 @@ pt:
|
||||||
development: Desenvolvimento
|
development: Desenvolvimento
|
||||||
edit_profile: Editar perfil
|
edit_profile: Editar perfil
|
||||||
export: Exportar dados
|
export: Exportar dados
|
||||||
followers: Seguidores autorizados
|
|
||||||
import: Importar
|
import: Importar
|
||||||
migrate: Migração de conta
|
migrate: Migração de conta
|
||||||
notifications: Notificações
|
notifications: Notificações
|
||||||
|
|
|
@ -109,9 +109,3 @@ ro:
|
||||||
title: Filtre
|
title: Filtre
|
||||||
new:
|
new:
|
||||||
title: Adaugă un filtru nou
|
title: Adaugă un filtru nou
|
||||||
followers:
|
|
||||||
domain: Domeniu
|
|
||||||
explanation_html: Dacă vrei să fi sigur de confidențialitatea statusurilor tale, ar trebui să fi conștient de cine te urmărește. <strong>Statusurile tale private sunt livrate către toate instanțele unde ai urmăritori</strong>. Este recomandabil să verifici și să ștergi urmăritorii în care nu ai încredere că îți vor respecta intimitatea.
|
|
||||||
followers_count: Numărul de urmăritori
|
|
||||||
lock_link: Privează contul tău
|
|
||||||
purge: Elimină de la urmăritori
|
|
||||||
|
|
|
@ -519,20 +519,6 @@ ru:
|
||||||
title: Фильтры
|
title: Фильтры
|
||||||
new:
|
new:
|
||||||
title: Добавить фильтр
|
title: Добавить фильтр
|
||||||
followers:
|
|
||||||
domain: Домен
|
|
||||||
explanation_html: Если Вы хотите быть уверены в приватности Ваших статусов, Вы должны иметь четкое представление о том, кто на Вас подписан. <strong>Ваши приватные статусы отправляются всем узлам, на которых у Вас есть подписчики</strong>. Рекомендуем удалить из подписчиков пользователей узлов, администрации или программному обеспечению которых Вы не доверяете.
|
|
||||||
followers_count: Количество подписчиков
|
|
||||||
lock_link: Закройте аккаунт
|
|
||||||
purge: Удалить из подписчиков
|
|
||||||
success:
|
|
||||||
few: В процессе мягкой блокировки подписчиков с %{count} доменов...
|
|
||||||
many: В процессе мягкой блокировки подписчиков с %{count} доменов...
|
|
||||||
one: В процессе мягкой блокировки подписчиков с одного домена...
|
|
||||||
other: В процессе мягкой блокировки подписчиков с %{count} доменов...
|
|
||||||
true_privacy_html: Пожалуйста, заметьте, что <strong>настоящая конфиденциальность может быть достигнута только при помощи end-to-end шифрования</strong>.
|
|
||||||
unlocked_warning_html: Кто угодно может подписаться на Вас и получить доступ к просмотру Ваших приватных статусов. %{lock_link}, чтобы получить возможность рассматривать и вручную подтверждать запросы о подписке.
|
|
||||||
unlocked_warning_title: Ваш аккаунт не закрыт для подписки
|
|
||||||
footer:
|
footer:
|
||||||
developers: Разработчикам
|
developers: Разработчикам
|
||||||
more: Ещё…
|
more: Ещё…
|
||||||
|
@ -709,7 +695,6 @@ ru:
|
||||||
development: Разработка
|
development: Разработка
|
||||||
edit_profile: Изменить профиль
|
edit_profile: Изменить профиль
|
||||||
export: Экспорт данных
|
export: Экспорт данных
|
||||||
followers: Авторизованные подписчики
|
|
||||||
import: Импорт
|
import: Импорт
|
||||||
migrate: Перенос аккаунта
|
migrate: Перенос аккаунта
|
||||||
notifications: Уведомления
|
notifications: Уведомления
|
||||||
|
|
|
@ -600,19 +600,6 @@ sk:
|
||||||
title: Triedenia
|
title: Triedenia
|
||||||
new:
|
new:
|
||||||
title: Pridaj nové triedenie
|
title: Pridaj nové triedenie
|
||||||
followers:
|
|
||||||
domain: Doména
|
|
||||||
explanation_html: Pokiaľ chceš zaručiť súkromie svojích príspevkov, musíš mať na vedomí, kto ťa sleduje. <strong> Tvoje súkromné príspevky sú doručené na každý server z ktorého ťa niekto následuje. </strong> Takže možno by si ich chcel/a skontrolovať, a odstrániť tých následovníkov, čo sú na serveroch ktorím dostatočne nedôveruješ v zmysle, že ich moderátori, alebo ich softvérové úpravy, budú tiež rešpektovať tvoje súkromie.
|
|
||||||
followers_count: Počet následovateľov
|
|
||||||
lock_link: Zamkni svoj účet
|
|
||||||
purge: Odstráň sledovateľa
|
|
||||||
success:
|
|
||||||
few: Počas utišovania sledovateľov z %{count} domén...
|
|
||||||
one: Počas utišovania sledovateľov z jednej domény...
|
|
||||||
other: Počas utišovania sledovateľov z %{count} domén...
|
|
||||||
true_privacy_html: Prosím ber na vedomie, <strong> že ozajstné súkromie sa dá dosiahnúť iba za pomoci end-to-end enkrypcie</strong>.
|
|
||||||
unlocked_warning_html: Hocikto ťa môže následovať aby mohol/a ihneď vidieť tvoje súkromné príspevky. %{lock_link} aby si mohla skontrolovať a odmietať sledovateľov.
|
|
||||||
unlocked_warning_title: Tvoj účet nieje zamknutý
|
|
||||||
footer:
|
footer:
|
||||||
developers: Vývojári
|
developers: Vývojári
|
||||||
more: Viac…
|
more: Viac…
|
||||||
|
@ -818,7 +805,6 @@ sk:
|
||||||
edit_profile: Uprav profil
|
edit_profile: Uprav profil
|
||||||
export: Exportovať dáta
|
export: Exportovať dáta
|
||||||
featured_tags: Popredne zvýraznené haštagy
|
featured_tags: Popredne zvýraznené haštagy
|
||||||
followers: Povolení následovatelia
|
|
||||||
import: Importovať
|
import: Importovať
|
||||||
migrate: Presunutie účtu
|
migrate: Presunutie účtu
|
||||||
notifications: Oznámenia
|
notifications: Oznámenia
|
||||||
|
|
|
@ -590,18 +590,6 @@ sq:
|
||||||
title: Filtra
|
title: Filtra
|
||||||
new:
|
new:
|
||||||
title: Shtoni filtër të ri
|
title: Shtoni filtër të ri
|
||||||
followers:
|
|
||||||
domain: Përkatësi
|
|
||||||
explanation_html: Nëse doni të garantoni privatësinë e gjendjeve tuaja, duhet të jeni në dijeni se cilët ju ndjekin. <strong>Gjendjet tuaja private u dërgohen krejt shërbyes ku keni ndjekës</strong>. Mund të donit t’i rishqyrtoni ato, dhe të hiqni ndjekës, nëse nuk besoni se privatësia juaj respektohet nga stafi apo software-i i këtyre shërbyesve.
|
|
||||||
followers_count: Numër ndjekësish
|
|
||||||
lock_link: Kyçeni llogarinë tuaj
|
|
||||||
purge: Hiqe nga ndjekësit
|
|
||||||
success:
|
|
||||||
one: Në përmbushje e sipër të bllokimit të butë të ndjekësve nga një përkatësi…
|
|
||||||
other: Në përmbushje e sipër të bllokimit të butë të ndjekësve nga %{count} përkatësi…
|
|
||||||
true_privacy_html: Ju lutemi, kini parasysh se <strong>privatësi e vërtetë mund të arrihet vetëm me fshehtëzim skaj-më-skaj</strong>.
|
|
||||||
unlocked_warning_html: Mund t’ju ndjekë cilido, që të shohë menjëherë gjendjet tuaja private. %{lock_link} që të jeni në gjendje të shqyrtoni dhe hidhni poshtë ndjekës.
|
|
||||||
unlocked_warning_title: Llogaria juaj s’është kyçur
|
|
||||||
footer:
|
footer:
|
||||||
developers: Zhvillues
|
developers: Zhvillues
|
||||||
more: Më tepër…
|
more: Më tepër…
|
||||||
|
@ -793,7 +781,6 @@ sq:
|
||||||
edit_profile: Përpunoni profilin
|
edit_profile: Përpunoni profilin
|
||||||
export: Eksportim të dhënash
|
export: Eksportim të dhënash
|
||||||
featured_tags: Hashtagë të zgjedhur
|
featured_tags: Hashtagë të zgjedhur
|
||||||
followers: Ndjekës të autorizuar
|
|
||||||
import: Importo
|
import: Importo
|
||||||
migrate: Migrim llogarie
|
migrate: Migrim llogarie
|
||||||
notifications: Njoftime
|
notifications: Njoftime
|
||||||
|
|
|
@ -367,20 +367,6 @@ sr-Latn:
|
||||||
follows: Pratite
|
follows: Pratite
|
||||||
mutes: Ućutkali ste
|
mutes: Ućutkali ste
|
||||||
storage: Multimedijalno skladište
|
storage: Multimedijalno skladište
|
||||||
followers:
|
|
||||||
domain: Domen
|
|
||||||
explanation_html: Ako želite da osigurate privatnost Vaših statusa, morate biti svesni ko Vas prati. <strong>Vaši privatni statusi se šalju na sve instance na kojima imate pratioce</strong>. Možda želite da ih pregledate i da uklonite one pratioce na onim instancama za koje nemate poverenja da će poštovati Vašu privatnost.
|
|
||||||
followers_count: Broj pratilaca
|
|
||||||
lock_link: Zaključajte nalog
|
|
||||||
purge: Ukloni iz pratioca
|
|
||||||
success:
|
|
||||||
few: U procesu blokiranja pratioca sa %{count} domena...
|
|
||||||
many: U procesu blokiranja pratioca sa %{count} domena...
|
|
||||||
one: U procesu blokiranja pratioca sa jednog domena...
|
|
||||||
other: U procesu blokiranja pratioca sa %{count} domena...
|
|
||||||
true_privacy_html: Zapamtite da se <strong>prava privatnost može postići samo šifrovanjem sa kraja na kraj</strong>.
|
|
||||||
unlocked_warning_html: Svako može da Vas zaprati da odmah vidi Vaše privatne statuse. %{lock_link} da biste pregledali i odbacili pratioce.
|
|
||||||
unlocked_warning_title: Vaš nalog nije zaključan
|
|
||||||
generic:
|
generic:
|
||||||
changes_saved_msg: Izmene uspešno sačuvane!
|
changes_saved_msg: Izmene uspešno sačuvane!
|
||||||
save_changes: Snimi izmene
|
save_changes: Snimi izmene
|
||||||
|
@ -534,7 +520,6 @@ sr-Latn:
|
||||||
development: Razvoj
|
development: Razvoj
|
||||||
edit_profile: Izmena profila
|
edit_profile: Izmena profila
|
||||||
export: Izvoz podataka
|
export: Izvoz podataka
|
||||||
followers: Autorizovani pratioci
|
|
||||||
import: Uvoz
|
import: Uvoz
|
||||||
migrate: Prebacivanje naloga
|
migrate: Prebacivanje naloga
|
||||||
notifications: Obaveštenja
|
notifications: Obaveštenja
|
||||||
|
|
|
@ -599,20 +599,6 @@ sr:
|
||||||
title: Филтери
|
title: Филтери
|
||||||
new:
|
new:
|
||||||
title: Додај нови филтер
|
title: Додај нови филтер
|
||||||
followers:
|
|
||||||
domain: Домен
|
|
||||||
explanation_html: Ако желите да осигурате приватност Ваших статуса, морате бити свесни ко Вас прати. <strong>Ваши приватни статуси се шаљу на све инстанце на којима имате пратиоце</strong>. Можда желите да их прегледате и да уклоните оне пратиоце на оним инстанцама за које немате поверења да ће поштовати Вашу приватност.
|
|
||||||
followers_count: Број пратилаца
|
|
||||||
lock_link: Закључајте налог
|
|
||||||
purge: Уклони из пратиоца
|
|
||||||
success:
|
|
||||||
few: У процесу блокирања пратиоца са %{count} домена...
|
|
||||||
many: У процесу блокирања пратиоца са %{count} домена...
|
|
||||||
one: У процесу блокирања пратиоца са једног домена...
|
|
||||||
other: У процесу блокирања пратиоца са %{count} домена...
|
|
||||||
true_privacy_html: Запамтите да се <strong>права приватност може постићи само шифровањем са краја на крај</strong>.
|
|
||||||
unlocked_warning_html: Свако може да Вас запрати да одмах види Ваше приватне статусе. %{lock_link} да бисте прегледали и одбацили пратиоце.
|
|
||||||
unlocked_warning_title: Ваш налог није закључан
|
|
||||||
footer:
|
footer:
|
||||||
developers: Програмери
|
developers: Програмери
|
||||||
more: Више…
|
more: Више…
|
||||||
|
@ -803,7 +789,6 @@ sr:
|
||||||
development: Развој
|
development: Развој
|
||||||
edit_profile: Измена профила
|
edit_profile: Измена профила
|
||||||
export: Извоз података
|
export: Извоз података
|
||||||
followers: Ауторизовани пратиоци
|
|
||||||
import: Увоз
|
import: Увоз
|
||||||
migrate: Пребацивање налога
|
migrate: Пребацивање налога
|
||||||
notifications: Обавештења
|
notifications: Обавештења
|
||||||
|
|
|
@ -433,18 +433,6 @@ sv:
|
||||||
follows: Du följer
|
follows: Du följer
|
||||||
mutes: Du tystar
|
mutes: Du tystar
|
||||||
storage: Medialagring
|
storage: Medialagring
|
||||||
followers:
|
|
||||||
domain: Domän
|
|
||||||
explanation_html: Om du vill försäkra integriteten av dina statusar måste du vara medveten om vem som följer dig. <strong>Dina privata statusar levereras till alla instanser där du har följare</strong>. Du kanske vill granska och eventuellt ta bort följare om du inte litar på att din integritet respekteras hos medarbetarna eller programvara i dessa instanser.
|
|
||||||
followers_count: Antal följare
|
|
||||||
lock_link: Lås ditt konto
|
|
||||||
purge: Ta bort från följare
|
|
||||||
success:
|
|
||||||
one: I processen med soft-blocking följare från en domän ...
|
|
||||||
other: I processen med soft-blocking följare från %{count} domäner...
|
|
||||||
true_privacy_html: Kom ihåg att <strong>sann integritet kan bara uppnås med end-to-end kryptering</strong>.
|
|
||||||
unlocked_warning_html: Vem som helst kan följa dig för att omedelbart se dina privata statusar. %{lock_link} för att kunna granska och avvisa följare.
|
|
||||||
unlocked_warning_title: Ditt konto är inte låst
|
|
||||||
generic:
|
generic:
|
||||||
changes_saved_msg: Ändringar sparades framgångsrikt!
|
changes_saved_msg: Ändringar sparades framgångsrikt!
|
||||||
save_changes: Spara ändringar
|
save_changes: Spara ändringar
|
||||||
|
@ -609,7 +597,6 @@ sv:
|
||||||
development: Utveckling
|
development: Utveckling
|
||||||
edit_profile: Redigera profil
|
edit_profile: Redigera profil
|
||||||
export: Exportera data
|
export: Exportera data
|
||||||
followers: Auktoriserade följare
|
|
||||||
import: Import
|
import: Import
|
||||||
migrate: Kontoflytt
|
migrate: Kontoflytt
|
||||||
notifications: Meddelanden
|
notifications: Meddelanden
|
||||||
|
|
|
@ -176,18 +176,6 @@ th:
|
||||||
follows: คุณติดตาม
|
follows: คุณติดตาม
|
||||||
mutes: คุณปิดเสียง
|
mutes: คุณปิดเสียง
|
||||||
storage: ที่เก็บสื่อ
|
storage: ที่เก็บสื่อ
|
||||||
followers:
|
|
||||||
domain: โดเมน
|
|
||||||
explanation_html: If you want to ensure the privacy of your statuses, you must be aware of who is following you. <strong>Your private statuses are delivered to all instances where you have followers</strong>. You may wish to review them, and remove followers if you do not trust your privacy to be respected by the staff or software of those instances.
|
|
||||||
followers_count: จำนวนผู้ติดตาม
|
|
||||||
lock_link: ล๊อคแอคเค๊าท์ของคุณ
|
|
||||||
purge: นำผู้ติดตามออก
|
|
||||||
success:
|
|
||||||
one: In the process of soft-blocking followers from one domain...
|
|
||||||
other: In the process of soft-blocking followers from %{count} domains...
|
|
||||||
true_privacy_html: Please mind that <strong>true privacy can only be achieved with end-to-end encryption</strong>.
|
|
||||||
unlocked_warning_html: Anyone can follow you to immediately view your private statuses. %{lock_link} to be able to review and reject followers.
|
|
||||||
unlocked_warning_title: แอคเค๊าท์ของคุณไม่ได้ล๊อค
|
|
||||||
generic:
|
generic:
|
||||||
changes_saved_msg: บันทึกการแก้ไขแล้ว!
|
changes_saved_msg: บันทึกการแก้ไขแล้ว!
|
||||||
save_changes: บันทึกการเปลี่ยนแปลง
|
save_changes: บันทึกการเปลี่ยนแปลง
|
||||||
|
@ -256,7 +244,6 @@ th:
|
||||||
back: กลับไปที่แมสโทดอน
|
back: กลับไปที่แมสโทดอน
|
||||||
edit_profile: แก้ไขโปรไฟล์
|
edit_profile: แก้ไขโปรไฟล์
|
||||||
export: นำข้อมูลออก
|
export: นำข้อมูลออก
|
||||||
followers: Authorized followers
|
|
||||||
import: นำเข้า
|
import: นำเข้า
|
||||||
preferences: Preferences
|
preferences: Preferences
|
||||||
settings: ตั้งค่า
|
settings: ตั้งค่า
|
||||||
|
|
|
@ -277,18 +277,6 @@ tr:
|
||||||
follows: Takip ettikleriniz
|
follows: Takip ettikleriniz
|
||||||
mutes: Susturduklarınız
|
mutes: Susturduklarınız
|
||||||
storage: Ortam deposu
|
storage: Ortam deposu
|
||||||
followers:
|
|
||||||
domain: Domain
|
|
||||||
explanation_html: Eğer gönderilerinizin gizliliğini garanti altına almak istiyorsanız, sizi kimin takip ettiğinden emin olmak zorundasınız. <strong> Gizli gönderileriniz, takipçilerinizin olduğu bütün sunuculara iletilir</strong>. Gönderilerinizi gözden geçirmek isteyebilir, ve o sunuculardaki yazılımın veya ilgili çalışanın, gizliliğinizi suistimal edeceğinizi düşünüyorsanız, o sunucudaki takipçilerinizi silebilirsiniz.
|
|
||||||
followers_count: Takipçi sayısı
|
|
||||||
lock_link: Hesabımı kilitle
|
|
||||||
purge: Takipçilerimden çıkar
|
|
||||||
success:
|
|
||||||
one: Domaindeki takipçilerin engellenmesi sürüyor...
|
|
||||||
other: "%{count} domaindeki takipçilerin engellenmesi sürüyor..."
|
|
||||||
true_privacy_html: 'Lütfen aklınızda bulundurun: <strong>gerçek gizlilik yalnızca uçtan-uca şifreleme ile sağlanır</strong>.'
|
|
||||||
unlocked_warning_html: Herhangi bir kişi sizi takip edebilir ve paylaştığınız gizli gönderilerinizi görebilir. %{lock_link}'e tıklayarak takipçilerinizi gözden geçirebilir ve reddedebilirsiniz.
|
|
||||||
unlocked_warning_title: Hesabınız kilitlendi
|
|
||||||
generic:
|
generic:
|
||||||
changes_saved_msg: Değişiklikler başarıyla kaydedildi!
|
changes_saved_msg: Değişiklikler başarıyla kaydedildi!
|
||||||
save_changes: Değişiklikleri kaydet
|
save_changes: Değişiklikleri kaydet
|
||||||
|
@ -357,7 +345,6 @@ tr:
|
||||||
back: Mastodon'a geri dön
|
back: Mastodon'a geri dön
|
||||||
edit_profile: Profili düzenle
|
edit_profile: Profili düzenle
|
||||||
export: Dışa aktar
|
export: Dışa aktar
|
||||||
followers: İzin verilmiş takipçiler
|
|
||||||
import: İçe aktar
|
import: İçe aktar
|
||||||
preferences: Tercihler
|
preferences: Tercihler
|
||||||
settings: Ayarlar
|
settings: Ayarlar
|
||||||
|
|
|
@ -481,16 +481,6 @@ uk:
|
||||||
title: Фільтри
|
title: Фільтри
|
||||||
new:
|
new:
|
||||||
title: Додати фільтр
|
title: Додати фільтр
|
||||||
followers:
|
|
||||||
domain: Домен
|
|
||||||
explanation_html: Якщо Ви хочете бути впевнені в приватності Ваших статусів, Ви повинні мати чітке уявлення про те, хто на Вас підписаний. <strong>Ваші приватні статусі відправляються усім сайтам, на яких у Вас є підписники</strong>. Рекомендуємо видалити з підписників користувачів інстанцій, адміністрації чи програмному забезпеченню яких Ви не довіряєте.
|
|
||||||
followers_count: Кількість підписників
|
|
||||||
lock_link: Закрийте акаунт
|
|
||||||
purge: Видалити з підписників
|
|
||||||
success: У процесі м'якого блокування підписників з %{count} доменів...
|
|
||||||
true_privacy_html: Будь ласка, помітьте, що <strong>справжняя конфіденційність може бути досягнена тільки за допомогою end-to-end шифрування</strong>.
|
|
||||||
unlocked_warning_html: Хто завгодно може підписатися на Вас та отримати доступ до перегляду Ваших приватних статусів. %{lock_link}, щоб отримати можливість роздивлятися та вручну підтверджувати запити щодо підписки.
|
|
||||||
unlocked_warning_title: Ваш аккаунт не закритий для підписки
|
|
||||||
generic:
|
generic:
|
||||||
changes_saved_msg: Зміни успішно збережені!
|
changes_saved_msg: Зміни успішно збережені!
|
||||||
save_changes: Зберегти зміни
|
save_changes: Зберегти зміни
|
||||||
|
@ -655,7 +645,6 @@ uk:
|
||||||
development: Розробка
|
development: Розробка
|
||||||
edit_profile: Редагувати профіль
|
edit_profile: Редагувати профіль
|
||||||
export: Експорт даних
|
export: Експорт даних
|
||||||
followers: Авторизовані підписники
|
|
||||||
import: Імпорт
|
import: Імпорт
|
||||||
migrate: Міграція акаунту
|
migrate: Міграція акаунту
|
||||||
notifications: Сповіщення
|
notifications: Сповіщення
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue