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

Conflicts:
- app/controllers/settings/follower_domains_controller.rb
  Removed upstream. Did the same here. Maybe we should not have?
- config/locales/en.yml
  Upstream removed the “Authorized followers” page and associated
  translations. This is too close in the file to our glitch-soc-specific
  “flavour” string. No actual conflict.
- config/locales/ja.yml
  Same as above.
- config/locales/pl.yml
  Same as above.
- config/navigation.rb
  No real conflict. New route added too close to the glitch-soc-specific
  “flavours” one.
- config/webpack/configuration.js
  Upstream refactored the webpack(er) configuration quite a bit.
  Tried to keep up.
- config/webpack/loaders/babel.js
  Upstream refactored the webpack(er) configuration quite a bit.
  Tried to keep up.
  The contents of this file have been moved to package.json.
- config/webpack/shared.js
  Upstream refactored the webpack(er) configuration quite a bit.
  Tried to keep up.
- config/webpacker.yml
  Upstream refactored the webpack(er) configuration quite a bit.
  Tried to keep up.
- jest.config.js
  The contents of this file have been moved to package.json.
- package.json
  Upstream refactored the webpack(er) configuration quite a bit.
  Tried to keep up.
- yarn.lock
  Upstream refactored the webpack(er) configuration quite a bit.
  Tried to keep up.
This commit is contained in:
Thibaut Girka 2019-03-16 13:52:55 +01:00
commit 4df3b7cb06
122 changed files with 2456 additions and 2454 deletions

View File

@ -15,7 +15,7 @@ gem 'makara', '~> 0.4'
gem 'pghero', '~> 2.2'
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-openstack', '~> 0.3', require: false
gem 'paperclip', '~> 6.0'
@ -87,7 +87,7 @@ gem 'tty-command', '~> 0.8', require: false
gem 'tty-prompt', '~> 0.18', require: false
gem 'twitter-text', '~> 1.14'
gem 'tzinfo-data', '~> 1.2018'
gem 'webpacker', '~> 3.5'
gem 'webpacker', '~> 4.0'
gem 'webpush'
gem 'json-ld', '~> 3.0'

View File

@ -75,21 +75,23 @@ GEM
encryptor (~> 3.0.0)
av (0.9.0)
cocaine (~> 0.5.3)
aws-eventstream (1.0.1)
aws-partitions (1.143.0)
aws-sdk-core (3.46.2)
aws-eventstream (~> 1.0)
aws-eventstream (1.0.2)
aws-partitions (1.144.0)
aws-sdk-core (3.47.0)
aws-eventstream (~> 1.0, >= 1.0.2)
aws-partitions (~> 1.0)
aws-sigv4 (~> 1.0)
aws-sigv4 (~> 1.1)
http-2 (~> 0.10)
jmespath (~> 1.0)
aws-sdk-kms (1.13.0)
aws-sdk-core (~> 3, >= 3.39.0)
aws-sigv4 (~> 1.0)
aws-sdk-s3 (1.31.0)
aws-sdk-core (~> 3, >= 3.39.0)
aws-sdk-kms (1.14.0)
aws-sdk-core (~> 3, >= 3.47.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.32.0)
aws-sdk-core (~> 3, >= 3.47.0)
aws-sdk-kms (~> 1)
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)
benchmark-ips (2.7.2)
better_errors (2.5.1)
@ -259,6 +261,7 @@ GEM
html2text (0.2.1)
nokogiri (~> 1.6)
htmlentities (4.3.4)
http-2 (0.10.1)
http (3.3.0)
addressable (~> 2.3)
http-cookie (~> 1.0)
@ -365,7 +368,7 @@ GEM
concurrent-ruby (~> 1.0, >= 1.0.2)
sidekiq (>= 3.5)
statsd-ruby (~> 1.4, >= 1.4.0)
oj (3.7.9)
oj (3.7.10)
omniauth (1.9.0)
hashie (>= 3.4.6, < 3.7.0)
rack (>= 1.6.2, < 3)
@ -432,7 +435,7 @@ GEM
rack-cors (1.0.2)
rack-protection (2.0.5)
rack
rack-proxy (0.6.4)
rack-proxy (0.6.5)
rack
rack-test (1.1.0)
rack (>= 1.0, < 3)
@ -639,7 +642,7 @@ GEM
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff
webpacker (3.5.5)
webpacker (4.0.2)
activesupport (>= 4.2)
rack-proxy (>= 0.6.1)
railties (>= 4.2)
@ -661,7 +664,7 @@ DEPENDENCIES
active_record_query_trace (~> 1.6)
addressable (~> 2.6)
annotate (~> 2.7)
aws-sdk-s3 (~> 1.31)
aws-sdk-s3 (~> 1.32)
better_errors (~> 2.5)
binding_of_caller (~> 0.7)
bootsnap (~> 1.4)
@ -772,7 +775,7 @@ DEPENDENCIES
twitter-text (~> 1.14)
tzinfo-data (~> 1.2018)
webmock (~> 3.5)
webpacker (~> 3.5)
webpacker (~> 4.0)
webpush
RUBY VERSION

View File

@ -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

View File

@ -9,7 +9,7 @@ class Api::V1::Statuses::ReblogsController < Api::BaseController
respond_to :json
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
end
@ -32,4 +32,8 @@ class Api::V1::Statuses::ReblogsController < Api::BaseController
def status_for_destroy
current_user.account.statuses.where(reblog_of_id: params[:status_id]).first!
end
def reblog_params
params.permit(:visibility)
end
end

View File

@ -0,0 +1,98 @@
# frozen_string_literal: true
class RelationshipsController < ApplicationController
layout 'admin'
before_action :authenticate_user!
before_action :set_accounts, only: :show
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
end

View File

@ -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

View File

@ -9,42 +9,6 @@ module Admin::ActionLogsHelper
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)
if log.target_type == 'CustomEmoji' && [:enable, :disable, :destroy].include?(log.action)
log.recorded_changes.slice('domain')
@ -111,4 +75,40 @@ module Admin::ActionLogsHelper
def opposite_verbs?(log)
%w(DomainBlock EmailDomainBlock AccountWarning).include?(log.target_type)
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

View File

@ -7,8 +7,9 @@ module Admin::FilterHelper
CUSTOM_EMOJI_FILTERS = %i(local remote by_domain shortcode).freeze
TAGS_FILTERS = %i(hidden).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)
new_url = filtered_url_for(link_to_params)

View File

@ -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>
);
}
}

View File

@ -13,6 +13,7 @@ import { connectUserStream } from '../actions/streaming';
import { IntlProvider, addLocaleData } from 'react-intl';
import { getLocale } from '../locales';
import initialState from '../initial_state';
import ErrorBoundary from '../components/error_boundary';
const { localeData, messages } = getLocale();
addLocaleData(localeData);
@ -75,7 +76,9 @@ export default class Mastodon extends React.PureComponent {
return (
<IntlProvider locale={locale} messages={messages}>
<Provider store={store}>
<MastodonMount />
<ErrorBoundary>
<MastodonMount />
</ErrorBoundary>
</Provider>
</IntlProvider>
);

View File

@ -53,6 +53,11 @@ class Bundle extends React.PureComponent {
const { fetchComponent, onFetch, onFetchSuccess, onFetchFail, renderDelay } = props || this.props;
const cachedMod = Bundle.cache.get(fetchComponent);
if (fetchComponent === undefined) {
this.setState({ mod: null });
return Promise.resolve();
}
onFetch();
if (cachedMod) {

View File

@ -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.lock": "uzamčen",
"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_loud": "{publish}!",
"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.show_reblogs": "Zobrazit boosty",
"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.federated.headline": "Federovaná",
"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.follow": "{name} vás začal/a sledovat",
"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",
"notifications.clear": "Vymazat 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.total_votes": "{count, plural, one {# vote} other {# votes}}",
"poll.vote": "Vote",
"poll_button.add_poll": "Přidat anketu",
"poll_button.remove_poll": "Odstranit anketu",
"privacy.change": "Změnit soukromí tootu",
"privacy.direct.long": "Odeslat pouze zmíněným uživatelům",
"privacy.direct.short": "Přímý",
@ -356,6 +366,7 @@
"upload_area.title": "Přetažením nahrajete",
"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.poll": "Nahrávání souborů není povoleno u anket.",
"upload_form.description": "Popis pro zrakově postižené",
"upload_form.focus": "Změnit náhled",
"upload_form.undo": "Smazat",

View File

@ -140,6 +140,15 @@ a.table-action-link {
input {
margin-top: 8px;
}
&--aligned {
display: flex;
align-items: center;
input {
margin-top: 0;
}
}
}
&__actions,
@ -183,6 +192,10 @@ a.table-action-link {
&__content {
padding-top: 12px;
padding-bottom: 16px;
&--unpadded {
padding: 0;
}
}
}
@ -197,4 +210,10 @@ a.table-action-link {
font-weight: 700;
}
}
.nothing-here {
border: 1px solid darken($ui-base-color, 8%);
border-top: 0;
box-shadow: none;
}
}

View File

@ -3,7 +3,8 @@
class LanguageDetector
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
@identifier = CLD3::NNetLanguageIdentifier.new(1, 2048)
@ -11,15 +12,14 @@ class LanguageDetector
def detect(text, account)
input_text = prepare_text(text)
return if input_text.blank?
detect_language_code(input_text) || default_locale(account)
end
def language_names
@language_names =
CLD3::TaskContextParams::LANGUAGE_NAMES.map { |name| iso6391(name.to_s).to_sym }
.uniq
@language_names = CLD3::TaskContextParams::LANGUAGE_NAMES.map { |name| iso6391(name.to_s).to_sym }.uniq
end
private
@ -29,12 +29,29 @@ class LanguageDetector
end
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
def detect_language_code(text)
return if unreliable_input?(text)
result = @identifier.find_language(text)
iso6391(result.language.to_s).to_sym if result.reliable?
end
@ -77,6 +94,6 @@ class LanguageDetector
end
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

View File

@ -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

View File

@ -73,7 +73,9 @@ class Status < ApplicationRecord
validates_with StatusLengthValidator
validates_with DisallowedHashtagsValidator
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 }

View File

@ -32,7 +32,7 @@ class REST::InstanceSerializer < ActiveModel::Serializer
end
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
def max_toot_chars

View File

@ -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

View File

@ -11,7 +11,7 @@ class RSS::AccountSerializer
builder.title("#{display_name(account)} (@#{account.local_username_and_domain})")
.description(account_description(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')
builder.image(full_asset_url(account.avatar.url(:original))) if account.avatar?

View File

@ -12,7 +12,7 @@ class RSS::TagSerializer
builder.title("##{tag.name}")
.description(strip_tags(I18n.t('about.about_hashtag_html', hashtag: tag.name)))
.link(tag_url(tag))
.logo(full_asset_url(asset_pack_path('logo.svg')))
.logo(full_pack_url('media/images/logo.svg'))
.accent_color('2b90d9')
statuses.each do |status|

View File

@ -29,7 +29,6 @@ class PostStatusService < BaseService
return idempotency_duplicate if idempotency_given? && idempotency_duplicate?
validate_media!
validate_poll!
preprocess_attributes!
if scheduled?
@ -74,6 +73,7 @@ class PostStatusService < BaseService
def schedule_status!
status_for_validation = @account.statuses.build(status_attributes)
if status_for_validation.valid?
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?)
end
def validate_poll!
return if @options[:poll].blank?
@poll = @account.polls.new(@options[:poll])
end
def language_from_option(str)
ISO_639.find(str)&.alpha2
end
@ -168,13 +162,13 @@ class PostStatusService < BaseService
text: @text,
media_attachments: @media || [],
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?,
spoiler_text: @options[:spoiler_text] || '',
visibility: @visibility,
language: language_from_option(@options[:language]) || @account.user&.setting_default_language&.presence || LanguageDetector.instance.detect(@text, @account),
application: @options[:application],
}
}.compact
end
def scheduled_status_attributes
@ -185,6 +179,12 @@ class PostStatusService < BaseService
}
end
def poll_attributes
return if @options[:poll].blank?
@options[:poll].merge(account: @account)
end
def scheduled_options
@options.tap do |options_hash|
options_hash[:in_reply_to_id] = options_hash.delete(:thread)&.id

View File

@ -7,8 +7,9 @@ class ReblogService < BaseService
# Reblog a status and notify its remote author
# @param [Account] account Account to reblog from
# @param [Status] reblogged_status Status to be reblogged
# @param [Hash] options
# @return [Status]
def call(account, reblogged_status)
def call(account, reblogged_status, options = {})
reblogged_status = reblogged_status.reblog if reblogged_status.reblog?
authorize_with account, reblogged_status, :reblog?
@ -17,7 +18,7 @@ class ReblogService < BaseService
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)
@ -38,7 +39,7 @@ class ReblogService < BaseService
reblogged_status = reblog.reblog
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?
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)

View File

@ -8,7 +8,7 @@
.column-0
.public-account-header.public-account-header--no-bar
.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
.landing-page__call-to-action{ dir: 'ltr' }
@ -24,7 +24,7 @@
%span= t 'about.status_count_after', count: @instance_presenter.status_count
.row__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
.landing-page__information.contact-widget

View File

@ -8,7 +8,7 @@
.landing
.landing__brand
= 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'
.landing__grid
@ -48,7 +48,7 @@
.hero-widget
.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?
.hero-widget__text

View File

@ -10,10 +10,7 @@
= image_tag invite.user.account.avatar.url(:original), alt: '', width: 16, height: 16, class: 'avatar'
%span.username= invite.user.account.username
- if invite.expired?
%td{ colspan: 2 }
= t('invites.expired')
- else
- if invite.valid_for_use?
%td
= fa_icon 'user fw'
= invite.uses
@ -24,6 +21,10 @@
- else
%time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) }
= l invite.expires_at
- else
%td{ colspan: 2 }
= t('invites.expired')
%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

View File

@ -1,6 +1,6 @@
.hero-widget
.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
%p= @instance_presenter.site_short_description.html_safe.presence || @instance_presenter.site_description.html_safe.presence || t('about.generic_description', domain: site_hostname)

View File

@ -9,7 +9,7 @@
.app-holder#mastodon{ data: { props: Oj.dump(default_props) } }
%noscript
= image_tag asset_pack_path('logo.svg'), alt: 'Mastodon'
= image_pack_tag 'logo.svg', alt: 'Mastodon'
%div
= t('errors.noscript_html', apps_path: 'https://joinmastodon.org/apps')

View File

@ -5,10 +5,7 @@
%input{ type: :text, maxlength: '999', spellcheck: 'false', readonly: 'true', value: public_invite_url(invite_code: invite.code) }
%button{ type: :button }= t('generic.copy')
- if invite.expired?
%td{ colspan: 2 }
= t('invites.expired')
- else
- if invite.valid_for_use?
%td
= fa_icon 'user fw'
= invite.uses
@ -19,7 +16,10 @@
- else
%time.formatted{ datetime: invite.expires_at.iso8601, title: l(invite.expires_at) }
= l invite.expires_at
- else
%td{ colspan: 2 }
= t('invites.expired')
%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

View File

@ -3,7 +3,7 @@
.sidebar-wrapper
.sidebar
= 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
.content-wrapper

View File

@ -3,7 +3,7 @@
.logo-container
%h1
= 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
= render 'flashes'

View File

@ -24,7 +24,7 @@
%tr
%td.column-cell
= 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
@ -49,4 +49,4 @@
%p= link_to t('application_mailer.notification_preferences'), settings_notifications_url
%td.column-cell.text-right
= 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

View File

@ -5,7 +5,7 @@
%nav.header
.nav-left
= 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('about.about_this'), about_more_path, class: 'nav-link optional'

View File

@ -17,7 +17,7 @@
%tbody
%tr
%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'
%p.lead= t('notification_mailer.favourite.body', name: @account.acct)

View File

@ -17,7 +17,7 @@
%tbody
%tr
%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'
%p.lead= t('notification_mailer.follow.body', name: @account.acct)

View File

@ -17,7 +17,7 @@
%tbody
%tr
%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'
%p.lead= t('notification_mailer.follow_request.body', name: @account.acct)

View File

@ -17,7 +17,7 @@
%tbody
%tr
%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'
%p.lead= t('notification_mailer.mention.body', name: @status.account.acct)

View File

@ -17,7 +17,7 @@
%tbody
%tr
%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'
%p.lead= t('notification_mailer.reblog.body', name: @account.acct)

View File

@ -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')

View File

@ -0,0 +1,43 @@
- content_for :page_title do
= t('settings.relationships')
- content_for :header_tags do
= javascript_pack_tag 'admin', integrity: true, async: true, crossorigin: 'anonymous'
.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

View File

@ -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

View File

@ -8,7 +8,7 @@
= opengraph 'og:type', 'website'
= opengraph 'og:title', @instance_presenter.site_title
= 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:height', thumbnail ? thumbnail.meta['height'] : '630'
= opengraph 'twitter:card', 'summary_large_image'

View File

@ -17,7 +17,7 @@
%tbody
%tr
%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'

View File

@ -17,7 +17,7 @@
%tbody
%tr
%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'

View File

@ -17,7 +17,7 @@
%tbody
%tr
%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'
%p.lead= t 'devise.mailer.email_changed.explanation'

View File

@ -17,7 +17,7 @@
%tbody
%tr
%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'
%p.lead= t 'devise.mailer.password_change.explanation'

View File

@ -17,7 +17,7 @@
%tbody
%tr
%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'
%p.lead= t 'devise.mailer.reconfirmation_instructions.explanation'

View File

@ -17,7 +17,7 @@
%tbody
%tr
%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'
%p.lead= t 'devise.mailer.reset_password_instructions.explanation'

View File

@ -17,7 +17,7 @@
%tbody
%tr
%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}"

View File

@ -17,7 +17,7 @@
%tbody
%tr
%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
%p.lead= t 'user_mailer.welcome.explanation'

View File

@ -12,4 +12,8 @@ require "bundler/setup"
require "webpacker"
require "webpacker/webpack_runner"
Webpacker::WebpackRunner.run(ARGV)
APP_ROOT = File.expand_path("..", __dir__)
Dir.chdir(APP_ROOT) do
Webpacker::WebpackRunner.run(ARGV)
end

View File

@ -12,4 +12,8 @@ require "bundler/setup"
require "webpacker"
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

View File

@ -1,6 +1,9 @@
---
en:
activerecord:
attributes:
status:
owned_poll: Poll
errors:
models:
account:

View File

@ -607,15 +607,6 @@ ar:
title: عوامل التصفية
new:
title: إضافة عامل تصفية جديد
followers:
domain: النطاق
followers_count: عدد المتابِعين
lock_link: قم بتجميد حسابك
purge: تنحية من بين متابعيك
success: جارية عملية حظر المتابِعين بسلاسة من %{count} نطاقات أخرى ...
true_privacy_html: تذكر دائمًا أنّ <strong>الخصوصية التامة لا يمكن بلوغها إلّا بالتعمية و التشفير من طرف إلى آخَر</strong>.
unlocked_warning_html: يمكن لأي كان متابعة حسابك و الإطلاع مباشرة على تبويقاتك. إستخدِم %{lock_link} لمُعاينة أو رفض طلبات المتابِعين الجُدُد.
unlocked_warning_title: إنّ حسابك غير مقفل
footer:
developers: المطورون
more: المزيد …
@ -818,7 +809,6 @@ ar:
development: التطوير
edit_profile: تعديل الملف الشخصي
export: تصدير البيانات
followers: المتابِعون المُرَخّصون
import: إستيراد
migrate: تهجير الحساب
notifications: الإخطارات

View File

@ -182,10 +182,6 @@ ast:
title: Peñeres
new:
title: Amestar una peñera nueva
followers:
domain: Dominiu
followers_count: Númberu de siguidores
purge: Desaniciar de los siguidores
generic:
changes_saved_msg: "¡Los cambeos guardáronse con ésitu!"
save_changes: Guardar cambeos
@ -302,7 +298,6 @@ ast:
back: Volver a Mastodon
edit_profile: Edición del perfil
export: Esportación de datos
followers: Siguidores autorizaos
import: Importación
notifications: Avisos
preferences: Preferencies

View File

@ -588,18 +588,6 @@ ca:
title: Filtres
new:
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:
developers: Desenvolupadors
more: Més…
@ -785,7 +773,6 @@ ca:
development: Desenvolupament
edit_profile: Editar perfil
export: Exportar informació
followers: Seguidors autoritzats
import: Importar
migrate: Migració del compte
notifications: Notificacions

View File

@ -593,18 +593,6 @@ co:
title: Filtri
new:
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 dabbunati
lock_link: Rendete u contu privatu
purge: Toglie di a lista dabbunati
success:
one: Suppressione di labbunati dun duminiu...
other: Suppressione di labbunati da %{count} duminii...
true_privacy_html: Ùn vi scurdate chì <strong>una vera cunfidenzialità pò solu esse ottenuta cù crittografia da un capu à laltru</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:
developers: Sviluppatori
more: Di più…
@ -807,7 +795,6 @@ co:
edit_profile: Mudificà u prufile
export: Spurtazione dinfurmazione
featured_tags: Hashtag in vista
followers: Abbunati auturizati
import: Impurtazione
migrate: Migrazione di u contu
notifications: Nutificazione

View File

@ -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_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
active_count_after: aktivních
active_footnote: Měsíční aktivní uživatelé (MAU)
administered_by: 'Server spravuje:'
api: API
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_missing: Nenastaveno
contact_unavailable: Neuvedeno
discover_users: Objevujte uživatele
documentation: Dokumentace
extended_description_html: |
<h3>Dobré místo pro pravidla</h3>
<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"
get_apps: Vyzkoušejte mobilní aplikaci
hosted_on: Server Mastodon na adrese %{domain}
learn_more: Zjistit více
privacy_policy: Zásady soukromí
see_whats_happening: Podívejte se, co se děje
server_stats: 'Statistika serveru:'
source_code: Zdrojový kód
status_count_after:
few: tooty
one: toot
other: tootů
status_count_before: Kteří napsali
tagline: Sledujte své přátele a objevujte nové
terms: Podmínky používání
user_count_after:
few: uživatelů
few: uživatelé
one: uživatele
other: uživatelů
user_count_before: Domov
@ -72,6 +83,7 @@ cs:
delete: Smazat
destroyed_msg: Poznámka moderátora byla úspěšně zničena!
accounts:
approve: Schválit
are_you_sure: Jste si jistý/á?
avatar: Avatar
by_domain: Doména
@ -117,6 +129,7 @@ cs:
moderation:
active: Aktivní
all: Vše
pending: Čekající
silenced: Utišen/a
suspended: Pozastaven/a
title: Moderace
@ -126,6 +139,7 @@ cs:
no_limits_imposed: Nejsou nastavena žádná omezení
not_subscribed: Neodebírá
outbox_url: URL odchozích zpráv
pending: Čeká na posouzení
perform_full_suspension: Pozastavit
profile_url: URL profilu
promote: Povýšit
@ -133,6 +147,7 @@ cs:
public: Veřejný
push_subscription_expires: Odebírání PuSH expiruje
redownload: Obnovit profil
reject: Zamítnout
remove_avatar: Odstranit avatar
remove_header: Odstranit hlavičku
resend_confirmation:
@ -406,6 +421,12 @@ cs:
min_invite_role:
disabled: Nikdo
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:
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
@ -468,6 +489,9 @@ cs:
edit_preset: Upravit přednastavení pro varování
title: Spravovat přednastavení pro varování
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:
body: "%{reporter} nahlásil/a 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
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>.
apply_for_account: Vyžádat si pozvánku
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
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í.
@ -505,10 +531,12 @@ cs:
cas: CAS
saml: SAML
register: Registrovat
registration_closed: "%{instance} nepřijímá nové členy"
resend_confirmation: Znovu odeslat pokyny pro potvrzení
reset_password: Obnovit heslo
security: Zabezpečení
set_new_password: Nastavit nové heslo
trouble_logging_in: Problémy s přihlašováním?
authorize_follow:
already_following: Tento účet již sledujete
error: Při hledání vzdáleného účtu bohužel nastala chyba
@ -600,19 +628,6 @@ cs:
title: Filtry
new:
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:
developers: Vývojáři
more: Více…
@ -818,7 +833,6 @@ cs:
edit_profile: Upravit profil
export: Export dat
featured_tags: Zvýrazněné hashtagy
followers: Autorizovaní sledující
import: Import
migrate: Přesunutí účtu
notifications: Oznámení

View File

@ -614,22 +614,6 @@ cy:
title: Hidlyddion
new:
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:
developers: Datblygwyr
more: Mwy…
@ -815,7 +799,6 @@ cy:
development: Datblygu
edit_profile: Golygu proffil
export: Allforio data
followers: Dilynwyr awdurdodedig
import: Mewnforio
migrate: Mudo cyfrif
notifications: Hysbysiadau

View File

@ -526,18 +526,6 @@ da:
title: Filtrer
new:
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:
developers: Udviklere
more: Mere…
@ -708,7 +696,6 @@ da:
development: Udvikling
edit_profile: Rediger profil
export: Data eksportering
followers: Godkendte følgere
import: Importer
migrate: Konto migrering
notifications: Notifikationer

View File

@ -592,18 +592,6 @@ de:
title: Filter
new:
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:
developers: Entwickler
more: Mehr…
@ -796,7 +784,6 @@ de:
edit_profile: Profil bearbeiten
export: Datenexport
featured_tags: Empfohlene Hashtags
followers: Autorisierte Folgende
import: Datenimport
migrate: Konto-Umzug
notifications: Benachrichtigungen

View File

@ -12,6 +12,7 @@ cs:
last_attempt: Máte ještě jeden pokus, než bude váš účet uzamčen.
locked: Váš účet je uzamčen.
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.
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.
@ -20,6 +21,7 @@ cs:
action: Potvrdit e-mailovou adresu
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_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>.
subject: 'Mastodon: Potvrzovací instrukce pro %{instance}'
title: Potvrďte e-mailovou adresu
@ -60,6 +62,7 @@ cs:
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_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.
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.

View File

@ -593,18 +593,6 @@ el:
title: Φίλτρα
new:
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:
developers: Ανάπτυξη
more: Περισσότερα…
@ -806,7 +794,6 @@ el:
edit_profile: Επεξεργασία προφίλ
export: Εξαγωγή δεδομένων
featured_tags: Χαρακτηριστικές ταμπέλες
followers: Εγκεκριμένοι ακόλουθοι
import: Εισαγωγή
migrate: Μετακόμιση λογαριασμού
notifications: Ειδοποιήσεις

View File

@ -624,23 +624,12 @@ en:
title: Filters
new:
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:
developers: Developers
more: More…
resources: Resources
generic:
all: All
changes_saved_msg: Changes successfully saved!
copy: Copy
save_changes: Save changes
@ -765,6 +754,15 @@ en:
other: Other
publishing: Publishing
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:
acct: Enter your username@domain you want to act from
missing_resource: Could not find the required redirect URL for your account
@ -840,11 +838,11 @@ en:
export: Data export
featured_tags: Featured hashtags
flavours: Flavours
followers: Authorized followers
import: Import
migrate: Account migration
notifications: Notifications
preferences: Preferences
relationships: Follows and followers
settings: Settings
two_factor_authentication: Two-factor Auth
your_apps: Your applications

View File

@ -595,18 +595,6 @@ eo:
title: Filtriloj
new:
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:
developers: Programistoj
more: Pli…
@ -799,7 +787,6 @@ eo:
edit_profile: Redakti profilon
export: Eksporti datumojn
featured_tags: Elstarigitaj kradvortoj
followers: Rajtigitaj sekvantoj
import: Importi
migrate: Konta migrado
notifications: Sciigoj

View File

@ -529,18 +529,6 @@ es:
title: Filtros
new:
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:
developers: Desarrolladores
more: Mas…
@ -711,7 +699,6 @@ es:
development: Desarrollo
edit_profile: Editar perfil
export: Exportar información
followers: Seguidores autorizados
import: Importar
migrate: Migración de cuenta
notifications: Notificaciones

View File

@ -592,18 +592,6 @@ eu:
title: Iragazkiak
new:
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:
developers: Garatzaileak
more: Gehiago…
@ -796,7 +784,6 @@ eu:
edit_profile: Aldatu profila
export: Datuen esportazioa
featured_tags: Nabarmendutako traolak
followers: Baimendutako jarraitzaileak
import: Inportazioa
migrate: Kontuaren migrazioa
notifications: Jakinarazpenak

View File

@ -593,18 +593,6 @@ fa:
title: فیلترها
new:
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:
developers: برنامه‌نویسان
more: بیشتر…
@ -807,7 +795,6 @@ fa:
edit_profile: ویرایش نمایه
export: برون‌سپاری داده‌ها
featured_tags: برچسب‌های منتخب
followers: پیگیران مورد تأیید
import: درون‌ریزی
migrate: انتقال حساب
notifications: اعلان‌ها

View File

@ -449,18 +449,6 @@ fi:
follows: Seurattavat
mutes: Mykistetyt
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:
changes_saved_msg: Muutosten tallennus onnistui!
save_changes: Tallenna muutokset
@ -622,7 +610,6 @@ fi:
development: Kehittäminen
edit_profile: Muokkaa profiilia
export: Vie tietoja
followers: Valtuutetut seuraajat
import: Tuo
migrate: Tilin muutto muualle
notifications: Ilmoitukset

View File

@ -593,18 +593,6 @@ fr:
title: Filtres
new:
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 ladministration ou le logiciel de ces instances.
followers_count: Nombre dabonné⋅e⋅s
lock_link: Rendez votre compte privé
purge: Retirer de la liste dabonné⋅e⋅s
success:
one: Suppression des abonné⋅e⋅s venant dun domaine en cours…
other: Suppression des abonné⋅e⋅s venant de %{count} domaines en cours…
true_privacy_html: Soyez conscient⋅e⋅s <strong>quune vraie confidentialité ne peut être atteinte que par un chiffrement de bout-en-bout</strong>.
unlocked_warning_html: Nimporte 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 nest pas privé
footer:
developers: Développeurs
more: Davantage…
@ -807,7 +795,6 @@ fr:
edit_profile: Modifier le profil
export: Export de données
featured_tags: Hashtags mis en avant
followers: Abonné⋅es autorisé⋅es
import: Import de données
migrate: Migration de compte
notifications: Notifications

View File

@ -593,18 +593,6 @@ gl:
title: Filtros
new:
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:
developers: Desenvolvedoras
more: Máis…
@ -807,7 +795,6 @@ gl:
edit_profile: Editar perfil
export: Exportar datos
featured_tags: Etiquetas destacadas
followers: Seguidoras autorizadas
import: Importar
migrate: Migrar conta
notifications: Notificacións

View File

@ -240,18 +240,6 @@ he:
follows: רשימת נעקבים
mutes: רשימת השתקות
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:
changes_saved_msg: השינויים נשמרו בהצלחה!
save_changes: שמור שינויים
@ -320,7 +308,6 @@ he:
back: חזרה למסטודון
edit_profile: עריכת פרופיל
export: יצוא מידע
followers: עוקבים מאושרים
import: יבוא
preferences: העדפות
settings: הגדרות

View File

@ -374,18 +374,6 @@ hu:
follows: Követettjeid
mutes: Némításaid
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:
changes_saved_msg: Változások sikeresen elmentve!
save_changes: Változások mentése
@ -542,7 +530,6 @@ hu:
development: Fejlesztőknek
edit_profile: Profil szerkesztése
export: Adatok exportálása
followers: Jóváhagyott követők
import: Importálás
migrate: Fiók átirányítása
notifications: Értesítések

View File

@ -266,18 +266,6 @@ id:
follows: Anda ikuti
mutes: Anda bisukan
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:
changes_saved_msg: Perubahan berhasil disimpan!
save_changes: Simpan perubahan
@ -344,7 +332,6 @@ id:
back: Kembali ke Mastodon
edit_profile: Ubah profil
export: Expor data
followers: Pengikut yang diizinkan
import: Impor
preferences: Pilihan
settings: Pengaturan

View File

@ -554,15 +554,6 @@ it:
title: Filtri
new:
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:
developers: Sviluppatori
more: Altro…
@ -722,7 +713,6 @@ it:
development: Sviluppo
edit_profile: Modifica profilo
export: Esporta impostazioni
followers: Seguaci autorizzati
import: Importa
migrate: Migrazione dell'account
notifications: Notifiche

View File

@ -607,18 +607,6 @@ ja:
title: フィルター
new:
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:
developers: 開発者向け
more: さらに…
@ -822,7 +810,6 @@ ja:
export: データのエクスポート
featured_tags: 注目のハッシュタグ
flavours: フレーバー
followers: 信頼済みのサーバー
import: データのインポート
migrate: アカウントの引っ越し
notifications: 通知

View File

@ -496,18 +496,6 @@ ka:
title: ფილტრები
new:
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:
developers: დეველოპერები
more: მეტი…
@ -677,7 +665,6 @@ ka:
development: დეველოპმენტი
edit_profile: პროფილის ცვლილება
export: მონაცემის ექსპორტი
followers: ავტორიზირებული მიმდევრები
import: იმპორტი
migrate: ანგარიშის მიგრაცია
notifications: შეტყობინებები

View File

@ -593,18 +593,6 @@ kk:
title: Фильтрлер
new:
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:
developers: Жасаушылар
more: Тағы…
@ -796,7 +784,6 @@ kk:
edit_profile: Профиль өңдеу
export: Экспорт уақыты
featured_tags: Таңдаулы хэштегтер
followers: Авторизацияланған оқырмандар
import: Импорт
migrate: Аккаунт көшіру
notifications: Ескертпелер

View File

@ -595,18 +595,6 @@ ko:
title: 필터
new:
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:
developers: 개발자
more: 더 보기…
@ -809,7 +797,6 @@ ko:
edit_profile: 프로필 편집
export: 데이터 내보내기
featured_tags: 추천 해시태그
followers: 신뢰 중인 인스턴스
import: 데이터 가져오기
migrate: 계정 이동
notifications: 알림

View File

@ -602,19 +602,6 @@ lt:
title: Filtrai
new:
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:
developers: Programuotojai
more: Daugiau…
@ -810,7 +797,6 @@ lt:
edit_profile: Keisti profilį
export: Informacijos eksportas
featured_tags: Rodomi saitažodžiai(#)
followers: Autorizuoti sekėjai
import: Importuoti
migrate: Paskyros migracija
notifications: Pranešimai

View File

@ -317,10 +317,6 @@ ms:
exports:
archive_takeout:
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:
digest:
title: Ketika anda tiada di sini...

View File

@ -593,18 +593,6 @@ nl:
title: Filters
new:
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:
developers: Ontwikkelaars
more: Meer…
@ -797,7 +785,6 @@ nl:
edit_profile: Profiel bewerken
export: Exporteren
featured_tags: Uitgelichte hashtags
followers: Geautoriseerde volgers
import: Importeren
migrate: Accountmigratie
notifications: Meldingen

View File

@ -374,18 +374,6 @@
follows: Du følger
mutes: Du demper
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:
changes_saved_msg: Vellykket lagring av endringer!
save_changes: Lagre endringer
@ -542,7 +530,6 @@
development: Utvikling
edit_profile: Endre profil
export: Dataeksport
followers: Godkjente følgere
import: Importér
migrate: Kontomigrering
notifications: Varslinger

View File

@ -649,18 +649,6 @@ oc:
title: Filtres
new:
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 quan de monde que vos sègon.</strong>. Benlèu que volètz repassar vòstra lista e tirar los seguidors savètz de dobtes tocant las politicas de confidencialitat dels gestionaris de lor instància o sul logicial quutilizan.
followers_count: Nombre de seguidors
lock_link: Clavar vòstre compte
purge: Tirar dels seguidors
success:
one: Soi a blocar los seguidors dun 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:
developers: Desvolopaires
more: Mai…
@ -853,7 +841,6 @@ oc:
edit_profile: Modificar lo perfil
export: Exportar de donadas
featured_tags: Etiquetas en avant
followers: Seguidors autorizats
import: Importar de donadas
migrate: Migracion de compte
notifications: Notificacions

View File

@ -606,20 +606,6 @@ pl:
title: Filtry
new:
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:
developers: Dla programistów
more: Więcej…
@ -822,7 +808,6 @@ pl:
export: Eksportowanie danych
featured_tags: Wyróżnione hashtagi
flavours: Odmiany
followers: Autoryzowani śledzący
import: Importowanie danych
migrate: Migracja konta
notifications: Powiadomienia

View File

@ -585,18 +585,6 @@ pt-BR:
title: Filtros
new:
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:
developers: Desenvolvedores
more: Mais…
@ -782,7 +770,6 @@ pt-BR:
development: Desenvolvimento
edit_profile: Editar perfil
export: Exportar dados
followers: Seguidores autorizados
import: Importar
migrate: Migração de conta
notifications: Notificações

View File

@ -377,18 +377,6 @@ pt:
follows: Segues
mutes: Tens em silêncio
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:
changes_saved_msg: Alterações guardadas!
save_changes: Guardar alterações
@ -544,7 +532,6 @@ pt:
development: Desenvolvimento
edit_profile: Editar perfil
export: Exportar dados
followers: Seguidores autorizados
import: Importar
migrate: Migração de conta
notifications: Notificações

View File

@ -109,9 +109,3 @@ ro:
title: Filtre
new:
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

View File

@ -519,20 +519,6 @@ ru:
title: Фильтры
new:
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:
developers: Разработчикам
more: Ещё…
@ -709,7 +695,6 @@ ru:
development: Разработка
edit_profile: Изменить профиль
export: Экспорт данных
followers: Авторизованные подписчики
import: Импорт
migrate: Перенос аккаунта
notifications: Уведомления

View File

@ -600,19 +600,6 @@ sk:
title: Triedenia
new:
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:
developers: Vývojári
more: Viac…
@ -818,7 +805,6 @@ sk:
edit_profile: Uprav profil
export: Exportovať dáta
featured_tags: Popredne zvýraznené haštagy
followers: Povolení následovatelia
import: Importovať
migrate: Presunutie účtu
notifications: Oznámenia

View File

@ -590,18 +590,6 @@ sq:
title: Filtra
new:
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 ti 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 tju 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:
developers: Zhvillues
more: Më tepër…
@ -793,7 +781,6 @@ sq:
edit_profile: Përpunoni profilin
export: Eksportim të dhënash
featured_tags: Hashtagë të zgjedhur
followers: Ndjekës të autorizuar
import: Importo
migrate: Migrim llogarie
notifications: Njoftime

View File

@ -367,20 +367,6 @@ sr-Latn:
follows: Pratite
mutes: Ućutkali ste
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:
changes_saved_msg: Izmene uspešno sačuvane!
save_changes: Snimi izmene
@ -534,7 +520,6 @@ sr-Latn:
development: Razvoj
edit_profile: Izmena profila
export: Izvoz podataka
followers: Autorizovani pratioci
import: Uvoz
migrate: Prebacivanje naloga
notifications: Obaveštenja

View File

@ -599,20 +599,6 @@ sr:
title: Филтери
new:
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:
developers: Програмери
more: Више…
@ -803,7 +789,6 @@ sr:
development: Развој
edit_profile: Измена профила
export: Извоз података
followers: Ауторизовани пратиоци
import: Увоз
migrate: Пребацивање налога
notifications: Обавештења

View File

@ -433,18 +433,6 @@ sv:
follows: Du följer
mutes: Du tystar
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:
changes_saved_msg: Ändringar sparades framgångsrikt!
save_changes: Spara ändringar
@ -609,7 +597,6 @@ sv:
development: Utveckling
edit_profile: Redigera profil
export: Exportera data
followers: Auktoriserade följare
import: Import
migrate: Kontoflytt
notifications: Meddelanden

View File

@ -176,18 +176,6 @@ th:
follows: คุณติดตาม
mutes: คุณปิดเสียง
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:
changes_saved_msg: บันทึกการแก้ไขแล้ว!
save_changes: บันทึกการเปลี่ยนแปลง
@ -256,7 +244,6 @@ th:
back: กลับไปที่แมสโทดอน
edit_profile: แก้ไขโปรไฟล์
export: นำข้อมูลออก
followers: Authorized followers
import: นำเข้า
preferences: Preferences
settings: ตั้งค่า

View File

@ -277,18 +277,6 @@ tr:
follows: Takip ettikleriniz
mutes: Susturduklarınız
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:
changes_saved_msg: Değişiklikler başarıyla kaydedildi!
save_changes: Değişiklikleri kaydet
@ -357,7 +345,6 @@ tr:
back: Mastodon'a geri dön
edit_profile: Profili düzenle
export: Dışa aktar
followers: İzin verilmiş takipçiler
import: İçe aktar
preferences: Tercihler
settings: Ayarlar

View File

@ -481,16 +481,6 @@ uk:
title: Фільтри
new:
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:
changes_saved_msg: Зміни успішно збережені!
save_changes: Зберегти зміни
@ -655,7 +645,6 @@ uk:
development: Розробка
edit_profile: Редагувати профіль
export: Експорт даних
followers: Авторизовані підписники
import: Імпорт
migrate: Міграція акаунту
notifications: Сповіщення

View File

@ -498,16 +498,6 @@ zh-CN:
title: 过滤器
new:
title: 添加新的过滤器
followers:
domain: 域名
explanation_html: 为保证你的嘟文的隐私安全,你应当经常检查你的关注者列表。<strong>受保护的嘟文将会发送到所有关注者所在的实例上</strong>。有些实例使用的软件代码或其管理员可能不会尊重你的隐私设置,因此你应当复查一下关注者列表,并移除那些你无法信任的关注者。
followers_count: 关注者数量
lock_link: 为你的帐户开启保护
purge: 从关注者中移除
success: 正在从 %{count} 个域名中移除关注者……
true_privacy_html: 请始终铭记:<strong>真正的隐私只能靠端到端加密来实现</strong>
unlocked_warning_html: 任何人都可以在关注你后立即查看非公开的嘟文。只要%{lock_link},你就可以审核并拒绝关注请求。
unlocked_warning_title: 你的帐户未受到保护
generic:
changes_saved_msg: 更改保存成功!
save_changes: 保存更改
@ -671,7 +661,6 @@ zh-CN:
development: 开发
edit_profile: 更改个人资料
export: 导出
followers: 已授权的关注者
import: 导入
migrate: 帐户迁移
notifications: 通知

View File

@ -431,18 +431,6 @@ zh-HK:
follows: 你所關注的用戶
mutes: 你所靜音的用戶
storage: 媒體容量大小
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: 你的用戶目前為「公共」
generic:
changes_saved_msg: 已成功儲存修改。
save_changes: 儲存修改
@ -606,7 +594,6 @@ zh-HK:
development: 開發
edit_profile: 修改個人資料
export: 匯出
followers: 授權關注
import: 匯入
migrate: 帳戶遷移
notifications: 通知

View File

@ -436,16 +436,6 @@ zh-TW:
follows: 您關注的使用者
mutes: 您靜音的使用者
storage: 儲存空間大小
followers:
domain: 網域
explanation_html: 為確保個人隱私,您必須知道有哪些使用者正關注你。<strong>您的私密內容會被發送到所有您有被關注的站點上</strong>。如果您不信任這些站點的管理者,您可以選擇檢查或刪除您的關注者。
followers_count: 關注者數量
lock_link: 將你的帳戶設定為私人
purge: 移除關注者
success: 正準備軟性封鎖 %{count} 個網域的關注者……
true_privacy_html: 請謹記,唯有<strong>點對點加密方可以真正確保你的隱私</strong>。
unlocked_warning_html: 任何人都可以在關注你後立即查看非公開的嘟文。只要%{lock_link},你就可以審核並拒絕關注請求。
unlocked_warning_title: 你的帳戶是公開的
generic:
changes_saved_msg: 已成功儲存修改!
save_changes: 儲存修改
@ -594,7 +584,6 @@ zh-TW:
development: 開發
edit_profile: 編輯使用者資訊
export: 匯出
followers: 授權關注者
import: 匯入
migrate: 帳戶搬遷
notifications: 通知

View File

@ -14,7 +14,6 @@ SimpleNavigation::Configuration.run do |navigation|
settings.item :import, safe_join([fa_icon('cloud-upload fw'), t('settings.import')]), settings_import_url
settings.item :export, safe_join([fa_icon('cloud-download fw'), t('settings.export')]), settings_export_url
settings.item :authorized_apps, safe_join([fa_icon('list fw'), t('settings.authorized_apps')]), oauth_authorized_applications_url
settings.item :follower_domains, safe_join([fa_icon('users fw'), t('settings.followers')]), settings_follower_domains_url
end
primary.item :flavours, safe_join([fa_icon('paint-brush fw'), t('settings.flavours')]), settings_flavours_url do |flavours|
@ -23,6 +22,7 @@ SimpleNavigation::Configuration.run do |navigation|
end
end
primary.item :relationships, safe_join([fa_icon('users fw'), t('settings.relationships')]), relationships_url
primary.item :filters, safe_join([fa_icon('filter fw'), t('filters.index.title')]), filters_path, highlights_on: %r{/filters}
primary.item :invites, safe_join([fa_icon('user-plus fw'), t('invites.title')]), invites_path, if: proc { Setting.min_invite_role == 'user' }

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