mirror of
https://github.com/yingziwu/mastodon.git
synced 2026-02-04 03:25:14 +00:00
Merge remote-tracking branch 'upstream/master'
Add audio uploads
This commit is contained in:
commit
7cb680fc83
139 changed files with 4035 additions and 1240 deletions
|
|
@ -174,8 +174,7 @@ jobs:
|
|||
steps:
|
||||
- *attach_workspace
|
||||
- run: bundle exec i18n-tasks check-normalized
|
||||
- run: bundle exec i18n-tasks unused
|
||||
- run: bundle exec i18n-tasks missing -t plural
|
||||
- run: bundle exec i18n-tasks unused -l en
|
||||
- run: bundle exec i18n-tasks check-consistent-interpolations
|
||||
|
||||
workflows:
|
||||
|
|
|
|||
25
CHANGELOG.md
25
CHANGELOG.md
|
|
@ -3,6 +3,31 @@ Changelog
|
|||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [2.9.1] - 2019-06-22
|
||||
### Added
|
||||
|
||||
- Add moderation API ([Gargron](https://github.com/tootsuite/mastodon/pull/9387))
|
||||
- Add audio uploads ([Gargron](https://github.com/tootsuite/mastodon/pull/11123), [Gargron](https://github.com/tootsuite/mastodon/pull/11141))
|
||||
|
||||
### Changed
|
||||
|
||||
- Change domain blocks to automatically support subdomains ([Gargron](https://github.com/tootsuite/mastodon/pull/11138))
|
||||
- Change Nanobox configuration to bring it up to date ([danhunsaker](https://github.com/tootsuite/mastodon/pull/11083))
|
||||
|
||||
### Removed
|
||||
|
||||
- Remove expensive counters from federation page in admin UI ([Gargron](https://github.com/tootsuite/mastodon/pull/11139))
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix converted media being saved with original extension and mime type ([Gargron](https://github.com/tootsuite/mastodon/pull/11130))
|
||||
- Fix layout of identity proofs settings ([acid-chicken](https://github.com/tootsuite/mastodon/pull/11126))
|
||||
- Fix active scope only returning suspended users ([ThibG](https://github.com/tootsuite/mastodon/pull/11111))
|
||||
- Fix sanitizer making block level elements unreadable ([Gargron](https://github.com/tootsuite/mastodon/pull/10836))
|
||||
- Fix label for site theme not being translated in admin UI ([palindromordnilap](https://github.com/tootsuite/mastodon/pull/11121))
|
||||
- Fix statuses not being filtered irreversibly in web UI under some circumstances ([ThibG](https://github.com/tootsuite/mastodon/pull/11113))
|
||||
- Fix scrolling behaviour in compose form ([ThibG](https://github.com/tootsuite/mastodon/pull/11093))
|
||||
|
||||
## [2.9.0] - 2019-06-13
|
||||
### Added
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,9 @@ Bug reports and feature suggestions can be submitted to [GitHub Issues](https://
|
|||
|
||||
## Translations
|
||||
|
||||
You can submit translations via pull request.
|
||||
You can submit translations via [Crowdin](https://crowdin.com/project/mastodon). They are periodically merged into the codebase.
|
||||
|
||||
[][crowdin]
|
||||
|
||||
## Pull requests
|
||||
|
||||
|
|
|
|||
8
Gemfile
8
Gemfile
|
|
@ -15,7 +15,7 @@ gem 'makara', '~> 0.4'
|
|||
gem 'pghero', '~> 2.2'
|
||||
gem 'dotenv-rails', '~> 2.7'
|
||||
|
||||
gem 'aws-sdk-s3', '~> 1.41', require: false
|
||||
gem 'aws-sdk-s3', '~> 1.42', require: false
|
||||
gem 'fog-core', '<= 2.1.0'
|
||||
gem 'fog-openstack', '~> 0.3', require: false
|
||||
gem 'paperclip', '~> 6.0'
|
||||
|
|
@ -62,7 +62,7 @@ gem 'nokogiri', '~> 1.10'
|
|||
gem 'nsa', '~> 0.2'
|
||||
gem 'oj', '~> 3.7'
|
||||
gem 'ostatus2', '~> 2.0'
|
||||
gem 'ox', '~> 2.10'
|
||||
gem 'ox', '~> 2.11'
|
||||
gem 'posix-spawn', git: 'https://github.com/rtomayko/posix-spawn', ref: '58465d2e213991f8afb13b984854a49fcdcc980c'
|
||||
gem 'pundit', '~> 2.0'
|
||||
gem 'premailer-rails'
|
||||
|
|
@ -108,14 +108,14 @@ group :production, :test do
|
|||
end
|
||||
|
||||
group :test do
|
||||
gem 'capybara', '~> 3.22'
|
||||
gem 'capybara', '~> 3.24'
|
||||
gem 'climate_control', '~> 0.2'
|
||||
gem 'faker', '~> 1.9'
|
||||
gem 'microformats', '~> 4.1'
|
||||
gem 'rails-controller-testing', '~> 1.0'
|
||||
gem 'rspec-sidekiq', '~> 3.0'
|
||||
gem 'simplecov', '~> 0.16', require: false
|
||||
gem 'webmock', '~> 3.5'
|
||||
gem 'webmock', '~> 3.6'
|
||||
gem 'parallel_tests', '~> 2.29'
|
||||
end
|
||||
|
||||
|
|
|
|||
36
Gemfile.lock
36
Gemfile.lock
|
|
@ -76,8 +76,8 @@ GEM
|
|||
av (0.9.0)
|
||||
cocaine (~> 0.5.3)
|
||||
aws-eventstream (1.0.3)
|
||||
aws-partitions (1.169.0)
|
||||
aws-sdk-core (3.54.0)
|
||||
aws-partitions (1.175.0)
|
||||
aws-sdk-core (3.55.0)
|
||||
aws-eventstream (~> 1.0, >= 1.0.2)
|
||||
aws-partitions (~> 1.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
|
|
@ -85,7 +85,7 @@ GEM
|
|||
aws-sdk-kms (1.21.0)
|
||||
aws-sdk-core (~> 3, >= 3.53.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-s3 (1.41.0)
|
||||
aws-sdk-s3 (1.42.0)
|
||||
aws-sdk-core (~> 3, >= 3.53.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.1)
|
||||
|
|
@ -129,7 +129,7 @@ GEM
|
|||
sshkit (~> 1.3)
|
||||
capistrano-yarn (2.0.2)
|
||||
capistrano (~> 3.0)
|
||||
capybara (3.22.0)
|
||||
capybara (3.24.0)
|
||||
addressable
|
||||
mini_mime (>= 0.1.3)
|
||||
nokogiri (~> 1.8)
|
||||
|
|
@ -253,7 +253,7 @@ GEM
|
|||
railties (>= 4.0.1)
|
||||
hamster (3.0.0)
|
||||
concurrent-ruby (~> 1.0)
|
||||
hashdiff (0.3.7)
|
||||
hashdiff (0.4.0)
|
||||
hashie (3.6.0)
|
||||
heapy (0.1.4)
|
||||
highline (2.0.1)
|
||||
|
|
@ -269,7 +269,7 @@ GEM
|
|||
domain_name (~> 0.5)
|
||||
http-form_data (2.1.1)
|
||||
http_accept_language (2.1.1)
|
||||
httplog (1.3.0)
|
||||
httplog (1.3.1)
|
||||
rack (>= 1.0)
|
||||
rainbow (>= 2.0.0)
|
||||
i18n (1.6.0)
|
||||
|
|
@ -320,7 +320,7 @@ GEM
|
|||
letter_opener (~> 1.0)
|
||||
railties (>= 3.2)
|
||||
link_header (0.0.8)
|
||||
lograge (0.11.1)
|
||||
lograge (0.11.2)
|
||||
actionpack (>= 4)
|
||||
activesupport (>= 4)
|
||||
railties (>= 4)
|
||||
|
|
@ -382,7 +382,7 @@ GEM
|
|||
addressable (~> 2.5)
|
||||
http (~> 3.0)
|
||||
nokogiri (~> 1.8)
|
||||
ox (2.10.1)
|
||||
ox (2.11.0)
|
||||
paperclip (6.0.0)
|
||||
activemodel (>= 4.2.0)
|
||||
activesupport (>= 4.2.0)
|
||||
|
|
@ -401,7 +401,7 @@ GEM
|
|||
equatable (~> 0.5.0)
|
||||
tty-color (~> 0.4.0)
|
||||
pg (1.1.4)
|
||||
pghero (2.2.0)
|
||||
pghero (2.2.1)
|
||||
activerecord
|
||||
pkg-config (1.3.7)
|
||||
premailer (1.11.1)
|
||||
|
|
@ -531,15 +531,15 @@ GEM
|
|||
rainbow (>= 2.2.2, < 4.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (>= 1.4.0, < 1.7)
|
||||
rubocop-rails (2.0.0)
|
||||
rack (>= 2.0)
|
||||
rubocop-rails (2.0.1)
|
||||
rack (>= 1.1)
|
||||
rubocop (>= 0.70.0)
|
||||
ruby-progressbar (1.10.1)
|
||||
ruby-saml (1.9.0)
|
||||
nokogiri (>= 1.5.10)
|
||||
rufus-scheduler (3.5.2)
|
||||
fugit (~> 1.1, >= 1.1.5)
|
||||
safe_yaml (1.0.4)
|
||||
safe_yaml (1.0.5)
|
||||
sanitize (5.0.0)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.8.0)
|
||||
|
|
@ -621,10 +621,10 @@ GEM
|
|||
uniform_notifier (1.12.1)
|
||||
warden (1.2.8)
|
||||
rack (>= 2.0.6)
|
||||
webmock (3.5.1)
|
||||
webmock (3.6.0)
|
||||
addressable (>= 2.3.6)
|
||||
crack (>= 0.3.2)
|
||||
hashdiff
|
||||
hashdiff (>= 0.4.0, < 2.0.0)
|
||||
webpacker (4.0.7)
|
||||
activesupport (>= 4.2)
|
||||
rack-proxy (>= 0.6.1)
|
||||
|
|
@ -647,7 +647,7 @@ DEPENDENCIES
|
|||
active_record_query_trace (~> 1.6)
|
||||
addressable (~> 2.6)
|
||||
annotate (~> 2.7)
|
||||
aws-sdk-s3 (~> 1.41)
|
||||
aws-sdk-s3 (~> 1.42)
|
||||
better_errors (~> 2.5)
|
||||
binding_of_caller (~> 0.7)
|
||||
blurhash (~> 0.1)
|
||||
|
|
@ -660,7 +660,7 @@ DEPENDENCIES
|
|||
capistrano-rails (~> 1.4)
|
||||
capistrano-rbenv (~> 2.1)
|
||||
capistrano-yarn (~> 2.0)
|
||||
capybara (~> 3.22)
|
||||
capybara (~> 3.24)
|
||||
charlock_holmes (~> 0.7.6)
|
||||
chewy (~> 5.0)
|
||||
cld3 (~> 3.2.4)
|
||||
|
|
@ -710,7 +710,7 @@ DEPENDENCIES
|
|||
omniauth-cas (~> 1.1)
|
||||
omniauth-saml (~> 1.10)
|
||||
ostatus2 (~> 2.0)
|
||||
ox (~> 2.10)
|
||||
ox (~> 2.11)
|
||||
paperclip (~> 6.0)
|
||||
paperclip-av-transcoder (~> 0.6)
|
||||
parallel_tests (~> 2.29)
|
||||
|
|
@ -757,7 +757,7 @@ DEPENDENCIES
|
|||
tty-prompt (~> 0.19)
|
||||
twitter-text (~> 1.14)
|
||||
tzinfo-data (~> 1.2019)
|
||||
webmock (~> 3.5)
|
||||
webmock (~> 3.6)
|
||||
webpacker (~> 4.0)
|
||||
webpush
|
||||
|
||||
|
|
|
|||
|
|
@ -127,6 +127,7 @@ module Admin
|
|||
:by_domain,
|
||||
:active,
|
||||
:pending,
|
||||
:disabled,
|
||||
:silenced,
|
||||
:suspended,
|
||||
:username,
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ module Admin
|
|||
authorize :domain_block, :create?
|
||||
|
||||
@domain_block = DomainBlock.new(resource_params)
|
||||
existing_domain_block = resource_params[:domain].present? ? DomainBlock.find_by(domain: resource_params[:domain]) : nil
|
||||
existing_domain_block = resource_params[:domain].present? ? DomainBlock.rule_for(resource_params[:domain]) : nil
|
||||
|
||||
if existing_domain_block.present? && !@domain_block.stricter_than?(existing_domain_block)
|
||||
@domain_block.save
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ module Admin
|
|||
@blocks_count = Block.where(target_account: Account.where(domain: params[:id])).count
|
||||
@available = DeliveryFailureTracker.available?(Account.select(:shared_inbox_url).where(domain: params[:id]).first&.shared_inbox_url)
|
||||
@media_storage = MediaAttachment.where(account: Account.where(domain: params[:id])).sum(:file_file_size)
|
||||
@domain_block = DomainBlock.find_by(domain: params[:id])
|
||||
@domain_block = DomainBlock.rule_for(params[:id])
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
|||
32
app/controllers/api/v1/admin/account_actions_controller.rb
Normal file
32
app/controllers/api/v1/admin/account_actions_controller.rb
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class Api::V1::Admin::AccountActionsController < Api::BaseController
|
||||
before_action -> { doorkeeper_authorize! :'admin:write', :'admin:write:accounts' }
|
||||
before_action :require_staff!
|
||||
before_action :set_account
|
||||
|
||||
def create
|
||||
account_action = Admin::AccountAction.new(resource_params)
|
||||
account_action.target_account = @account
|
||||
account_action.current_account = current_account
|
||||
account_action.save!
|
||||
|
||||
render_empty
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_account
|
||||
@account = Account.find(params[:account_id])
|
||||
end
|
||||
|
||||
def resource_params
|
||||
params.permit(
|
||||
:type,
|
||||
:report_id,
|
||||
:warning_preset_id,
|
||||
:text,
|
||||
:send_email_notification
|
||||
)
|
||||
end
|
||||
end
|
||||
128
app/controllers/api/v1/admin/accounts_controller.rb
Normal file
128
app/controllers/api/v1/admin/accounts_controller.rb
Normal file
|
|
@ -0,0 +1,128 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class Api::V1::Admin::AccountsController < Api::BaseController
|
||||
include Authorization
|
||||
include AccountableConcern
|
||||
|
||||
LIMIT = 100
|
||||
|
||||
before_action -> { doorkeeper_authorize! :'admin:read', :'admin:read:accounts' }, only: [:index, :show]
|
||||
before_action -> { doorkeeper_authorize! :'admin:write', :'admin:write:accounts' }, except: [:index, :show]
|
||||
before_action :require_staff!
|
||||
before_action :set_accounts, only: :index
|
||||
before_action :set_account, except: :index
|
||||
before_action :require_local_account!, only: [:enable, :approve, :reject]
|
||||
|
||||
after_action :insert_pagination_headers, only: :index
|
||||
|
||||
FILTER_PARAMS = %i(
|
||||
local
|
||||
remote
|
||||
by_domain
|
||||
active
|
||||
pending
|
||||
disabled
|
||||
silenced
|
||||
suspended
|
||||
username
|
||||
display_name
|
||||
email
|
||||
ip
|
||||
staff
|
||||
).freeze
|
||||
|
||||
PAGINATION_PARAMS = (%i(limit) + FILTER_PARAMS).freeze
|
||||
|
||||
def index
|
||||
authorize :account, :index?
|
||||
render json: @accounts, each_serializer: REST::Admin::AccountSerializer
|
||||
end
|
||||
|
||||
def show
|
||||
authorize @account, :show?
|
||||
render json: @account, serializer: REST::Admin::AccountSerializer
|
||||
end
|
||||
|
||||
def enable
|
||||
authorize @account.user, :enable?
|
||||
@account.user.enable!
|
||||
log_action :enable, @account.user
|
||||
render json: @account, serializer: REST::Admin::AccountSerializer
|
||||
end
|
||||
|
||||
def approve
|
||||
authorize @account.user, :approve?
|
||||
@account.user.approve!
|
||||
render json: @account, serializer: REST::Admin::AccountSerializer
|
||||
end
|
||||
|
||||
def reject
|
||||
authorize @account.user, :reject?
|
||||
SuspendAccountService.new.call(@account, including_user: true, destroy: true, skip_distribution: true)
|
||||
render json: @account, serializer: REST::Admin::AccountSerializer
|
||||
end
|
||||
|
||||
def unsilence
|
||||
authorize @account, :unsilence?
|
||||
@account.unsilence!
|
||||
log_action :unsilence, @account
|
||||
render json: @account, serializer: REST::Admin::AccountSerializer
|
||||
end
|
||||
|
||||
def unsuspend
|
||||
authorize @account, :unsuspend?
|
||||
@account.unsuspend!
|
||||
log_action :unsuspend, @account
|
||||
render json: @account, serializer: REST::Admin::AccountSerializer
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_accounts
|
||||
@accounts = filtered_accounts.order(id: :desc).includes(user: [:invite_request, :invite]).paginate_by_id(limit_param(LIMIT), params_slice(:max_id, :since_id, :min_id))
|
||||
end
|
||||
|
||||
def set_account
|
||||
@account = Account.find(params[:id])
|
||||
end
|
||||
|
||||
def filtered_accounts
|
||||
AccountFilter.new(filter_params).results
|
||||
end
|
||||
|
||||
def filter_params
|
||||
params.permit(*FILTER_PARAMS)
|
||||
end
|
||||
|
||||
def insert_pagination_headers
|
||||
set_pagination_headers(next_path, prev_path)
|
||||
end
|
||||
|
||||
def next_path
|
||||
api_v1_admin_accounts_url(pagination_params(max_id: pagination_max_id)) if records_continue?
|
||||
end
|
||||
|
||||
def prev_path
|
||||
api_v1_admin_accounts_url(pagination_params(min_id: pagination_since_id)) unless @accounts.empty?
|
||||
end
|
||||
|
||||
def pagination_max_id
|
||||
@accounts.last.id
|
||||
end
|
||||
|
||||
def pagination_since_id
|
||||
@accounts.first.id
|
||||
end
|
||||
|
||||
def records_continue?
|
||||
@accounts.size == limit_param(LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(*PAGINATION_PARAMS).permit(*PAGINATION_PARAMS).merge(core_params)
|
||||
end
|
||||
|
||||
def require_local_account!
|
||||
forbidden unless @account.local? && @account.user.present?
|
||||
end
|
||||
end
|
||||
108
app/controllers/api/v1/admin/reports_controller.rb
Normal file
108
app/controllers/api/v1/admin/reports_controller.rb
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class Api::V1::Admin::ReportsController < Api::BaseController
|
||||
include Authorization
|
||||
include AccountableConcern
|
||||
|
||||
LIMIT = 100
|
||||
|
||||
before_action -> { doorkeeper_authorize! :'admin:read', :'admin:read:reports' }, only: [:index, :show]
|
||||
before_action -> { doorkeeper_authorize! :'admin:write', :'admin:write:reports' }, except: [:index, :show]
|
||||
before_action :require_staff!
|
||||
before_action :set_reports, only: :index
|
||||
before_action :set_report, except: :index
|
||||
|
||||
after_action :insert_pagination_headers, only: :index
|
||||
|
||||
FILTER_PARAMS = %i(
|
||||
resolved
|
||||
account_id
|
||||
target_account_id
|
||||
).freeze
|
||||
|
||||
PAGINATION_PARAMS = (%i(limit) + FILTER_PARAMS).freeze
|
||||
|
||||
def index
|
||||
authorize :report, :index?
|
||||
render json: @reports, each_serializer: REST::Admin::ReportSerializer
|
||||
end
|
||||
|
||||
def show
|
||||
authorize @report, :show?
|
||||
render json: @report, serializer: REST::Admin::ReportSerializer
|
||||
end
|
||||
|
||||
def assign_to_self
|
||||
authorize @report, :update?
|
||||
@report.update!(assigned_account_id: current_account.id)
|
||||
log_action :assigned_to_self, @report
|
||||
render json: @report, serializer: REST::Admin::ReportSerializer
|
||||
end
|
||||
|
||||
def unassign
|
||||
authorize @report, :update?
|
||||
@report.update!(assigned_account_id: nil)
|
||||
log_action :unassigned, @report
|
||||
render json: @report, serializer: REST::Admin::ReportSerializer
|
||||
end
|
||||
|
||||
def reopen
|
||||
authorize @report, :update?
|
||||
@report.unresolve!
|
||||
log_action :reopen, @report
|
||||
render json: @report, serializer: REST::Admin::ReportSerializer
|
||||
end
|
||||
|
||||
def resolve
|
||||
authorize @report, :update?
|
||||
@report.resolve!(current_account)
|
||||
log_action :resolve, @report
|
||||
render json: @report, serializer: REST::Admin::ReportSerializer
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_reports
|
||||
@reports = filtered_reports.order(id: :desc).with_accounts.paginate_by_id(limit_param(LIMIT), params_slice(:max_id, :since_id, :min_id))
|
||||
end
|
||||
|
||||
def set_report
|
||||
@report = Report.find(params[:id])
|
||||
end
|
||||
|
||||
def filtered_reports
|
||||
ReportFilter.new(filter_params).results
|
||||
end
|
||||
|
||||
def filter_params
|
||||
params.permit(*FILTER_PARAMS)
|
||||
end
|
||||
|
||||
def insert_pagination_headers
|
||||
set_pagination_headers(next_path, prev_path)
|
||||
end
|
||||
|
||||
def next_path
|
||||
api_v1_admin_reports_url(pagination_params(max_id: pagination_max_id)) if records_continue?
|
||||
end
|
||||
|
||||
def prev_path
|
||||
api_v1_admin_reports_url(pagination_params(min_id: pagination_since_id)) unless @reports.empty?
|
||||
end
|
||||
|
||||
def pagination_max_id
|
||||
@reports.last.id
|
||||
end
|
||||
|
||||
def pagination_since_id
|
||||
@reports.first.id
|
||||
end
|
||||
|
||||
def records_continue?
|
||||
@reports.size == limit_param(LIMIT)
|
||||
end
|
||||
|
||||
def pagination_params(core_params)
|
||||
params.slice(*PAGINATION_PARAMS).permit(*PAGINATION_PARAMS).merge(core_params)
|
||||
end
|
||||
end
|
||||
|
|
@ -7,6 +7,8 @@ class MediaController < ApplicationController
|
|||
|
||||
before_action :set_media_attachment
|
||||
before_action :verify_permitted_status!
|
||||
before_action :check_playable, only: :player
|
||||
before_action :allow_iframing, only: :player
|
||||
|
||||
content_security_policy only: :player do |p|
|
||||
p.frame_ancestors(false)
|
||||
|
|
@ -18,8 +20,6 @@ class MediaController < ApplicationController
|
|||
|
||||
def player
|
||||
@body_classes = 'player'
|
||||
response.headers['X-Frame-Options'] = 'ALLOWALL'
|
||||
raise ActiveRecord::RecordNotFound unless @media_attachment.video? || @media_attachment.gifv?
|
||||
end
|
||||
|
||||
private
|
||||
|
|
@ -34,4 +34,12 @@ class MediaController < ApplicationController
|
|||
# Reraise in order to get a 404 instead of a 403 error code
|
||||
raise ActiveRecord::RecordNotFound
|
||||
end
|
||||
|
||||
def check_playable
|
||||
not_found unless @media_attachment.larger_media_format?
|
||||
end
|
||||
|
||||
def allow_iframing
|
||||
response.headers['X-Frame-Options'] = 'ALLOWALL'
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -39,6 +39,6 @@ class MediaProxyController < ApplicationController
|
|||
end
|
||||
|
||||
def reject_media?
|
||||
DomainBlock.find_by(domain: @media_attachment.account.domain)&.reject_media?
|
||||
DomainBlock.reject_media?(@media_attachment.account.domain)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -56,8 +56,4 @@ class Settings::IdentityProofsController < Settings::BaseController
|
|||
def post_params
|
||||
params.require(:account_identity_proof).permit(:post_status, :status_text)
|
||||
end
|
||||
|
||||
def set_body_classes
|
||||
@body_classes = ''
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -48,9 +48,14 @@ export function updateNotifications(notification, intlMessages, intlLocale) {
|
|||
let filtered = false;
|
||||
|
||||
if (notification.type === 'mention') {
|
||||
const dropRegex = regexFromFilters(filters.filter(filter => filter.get('irreversible')));
|
||||
const regex = regexFromFilters(filters);
|
||||
const searchIndex = notification.status.spoiler_text + '\n' + unescapeHTML(notification.status.content);
|
||||
|
||||
if (dropRegex && dropRegex.test(searchIndex)) {
|
||||
return;
|
||||
}
|
||||
|
||||
filtered = regex && regex.test(searchIndex);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -157,7 +157,7 @@ class Item extends React.PureComponent {
|
|||
if (attachment.get('type') === 'unknown') {
|
||||
return (
|
||||
<div className={classNames('media-gallery__item', { standalone })} key={attachment.get('id')} style={{ left: left, top: top, right: right, bottom: bottom, width: `${width}%`, height: `${height}%` }}>
|
||||
<a className='media-gallery__item-thumbnail' href={attachment.get('remote_url')} target='_blank' style={{ cursor: 'pointer' }}>
|
||||
<a className='media-gallery__item-thumbnail' href={attachment.get('remote_url')} target='_blank' style={{ cursor: 'pointer' }} title={attachment.get('description')}>
|
||||
<canvas width={32} height={32} ref={this.setCanvasRef} className='media-gallery__preview' />
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -333,17 +333,17 @@ class Status extends ImmutablePureComponent {
|
|||
media={status.get('media_attachments')}
|
||||
/>
|
||||
);
|
||||
} else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {
|
||||
const video = status.getIn(['media_attachments', 0]);
|
||||
} else if (['video', 'audio'].includes(status.getIn(['media_attachments', 0, 'type']))) {
|
||||
const attachment = status.getIn(['media_attachments', 0]);
|
||||
|
||||
media = (
|
||||
<Bundle fetchComponent={Video} loading={this.renderLoadingVideoPlayer} >
|
||||
{Component => (
|
||||
<Component
|
||||
preview={video.get('preview_url')}
|
||||
blurhash={video.get('blurhash')}
|
||||
src={video.get('url')}
|
||||
alt={video.get('description')}
|
||||
preview={attachment.get('preview_url')}
|
||||
blurhash={attachment.get('blurhash')}
|
||||
src={attachment.get('url')}
|
||||
alt={attachment.get('description')}
|
||||
width={this.props.cachedMediaWidth}
|
||||
height={110}
|
||||
inline
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ class ComposeForm extends ImmutablePureComponent {
|
|||
onPickEmoji: PropTypes.func.isRequired,
|
||||
showSearch: PropTypes.bool,
|
||||
anyMedia: PropTypes.bool,
|
||||
singleColumn: PropTypes.bool,
|
||||
};
|
||||
|
||||
static defaultProps = {
|
||||
|
|
@ -115,7 +116,7 @@ class ComposeForm extends ImmutablePureComponent {
|
|||
}
|
||||
|
||||
handleFocus = () => {
|
||||
if (this.composeForm) {
|
||||
if (this.composeForm && !this.props.singleColumn) {
|
||||
this.composeForm.scrollIntoView();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,9 +7,11 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
|
|||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||
|
||||
const messages = defineMessages({
|
||||
upload: { id: 'upload_button.label', defaultMessage: 'Add media (JPEG, PNG, GIF, WebM, MP4, MOV)' },
|
||||
upload: { id: 'upload_button.label', defaultMessage: 'Add media ({formats})' },
|
||||
});
|
||||
|
||||
const SUPPORTED_FORMATS = 'JPEG, PNG, GIF, WebM, MP4, MOV, OGG, WAV, MP3, FLAC';
|
||||
|
||||
const makeMapStateToProps = () => {
|
||||
const mapStateToProps = state => ({
|
||||
acceptContentTypes: state.getIn(['media_attachments', 'accept_content_types']),
|
||||
|
|
@ -60,9 +62,9 @@ class UploadButton extends ImmutablePureComponent {
|
|||
|
||||
return (
|
||||
<div className='compose-form__upload-button'>
|
||||
<IconButton icon='camera' title={intl.formatMessage(messages.upload)} disabled={disabled} onClick={this.handleClick} className='compose-form__upload-button-icon' size={18} inverted style={iconStyle} />
|
||||
<IconButton icon='camera' title={intl.formatMessage(messages.upload, { formats: SUPPORTED_FORMATS })} disabled={disabled} onClick={this.handleClick} className='compose-form__upload-button-icon' size={18} inverted style={iconStyle} />
|
||||
<label>
|
||||
<span style={{ display: 'none' }}>{intl.formatMessage(messages.upload)}</span>
|
||||
<span style={{ display: 'none' }}>{intl.formatMessage(messages.upload, { formats: SUPPORTED_FORMATS })}</span>
|
||||
<input
|
||||
key={resetFileKey}
|
||||
ref={this.setRef}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import UploadButton from '../components/upload_button';
|
|||
import { uploadCompose } from '../../../actions/compose';
|
||||
|
||||
const mapStateToProps = state => ({
|
||||
disabled: state.getIn(['compose', 'is_uploading']) || (state.getIn(['compose', 'media_attachments']).size > 3 || state.getIn(['compose', 'media_attachments']).some(m => m.get('type') === 'video')),
|
||||
disabled: state.getIn(['compose', 'is_uploading']) || (state.getIn(['compose', 'media_attachments']).size > 3 || state.getIn(['compose', 'media_attachments']).some(m => ['video', 'audio'].includes(m.get('type')))),
|
||||
unavailable: state.getIn(['compose', 'poll']) !== null,
|
||||
resetFileKey: state.getIn(['compose', 'resetFileKey']),
|
||||
});
|
||||
|
|
|
|||
|
|
@ -107,15 +107,15 @@ export default class DetailedStatus extends ImmutablePureComponent {
|
|||
}
|
||||
|
||||
if (status.get('media_attachments').size > 0) {
|
||||
if (status.getIn(['media_attachments', 0, 'type']) === 'video') {
|
||||
const video = status.getIn(['media_attachments', 0]);
|
||||
if (['video', 'audio'].includes(status.getIn(['media_attachments', 0, 'type']))) {
|
||||
const attachment = status.getIn(['media_attachments', 0]);
|
||||
|
||||
media = (
|
||||
<Video
|
||||
preview={video.get('preview_url')}
|
||||
blurhash={video.get('blurhash')}
|
||||
src={video.get('url')}
|
||||
alt={video.get('description')}
|
||||
preview={attachment.get('preview_url')}
|
||||
blurhash={attachment.get('blurhash')}
|
||||
src={attachment.get('url')}
|
||||
alt={attachment.get('description')}
|
||||
width={300}
|
||||
height={150}
|
||||
inline
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ const ComposePanel = () => (
|
|||
<div className='compose-panel'>
|
||||
<SearchContainer openInRoute />
|
||||
<NavigationContainer />
|
||||
<ComposeFormContainer />
|
||||
<ComposeFormContainer singleColumn />
|
||||
<LinkFooter withHotkeys />
|
||||
</div>
|
||||
);
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
"bundle_modal_error.message": "لقد وقع هناك خطأ أثناء عملية تحميل هذا العنصر.",
|
||||
"bundle_modal_error.retry": "إعادة المحاولة",
|
||||
"column.blocks": "الحسابات المحجوبة",
|
||||
"column.community": "التَسَلْسُل الزَمني المحلي",
|
||||
"column.community": "الخيط العام المحلي",
|
||||
"column.direct": "الرسائل المباشرة",
|
||||
"column.domain_blocks": "النطاقات المخفية",
|
||||
"column.favourites": "المفضلة",
|
||||
|
|
@ -109,7 +109,7 @@
|
|||
"emoji_button.food": "الطعام والشراب",
|
||||
"emoji_button.label": "أدرج إيموجي",
|
||||
"emoji_button.nature": "الطبيعة",
|
||||
"emoji_button.not_found": "لا إيموجو !! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.not_found": "لا إيموجو!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.objects": "أشياء",
|
||||
"emoji_button.people": "الناس",
|
||||
"emoji_button.recent": "الشائعة الاستخدام",
|
||||
|
|
@ -120,7 +120,7 @@
|
|||
"empty_column.account_timeline": "ليس هناك تبويقات!",
|
||||
"empty_column.account_unavailable": "الملف الشخصي غير متوفر",
|
||||
"empty_column.blocks": "لم تقم بحظر أي مستخدِم بعد.",
|
||||
"empty_column.community": "الخط الزمني المحلي فارغ. أكتب شيئا ما للعامة كبداية!",
|
||||
"empty_column.community": "الخط العام المحلي فارغ. أكتب شيئا ما للعامة كبداية!",
|
||||
"empty_column.direct": "لم تتلق أية رسالة خاصة مباشِرة بعد. سوف يتم عرض الرسائل المباشرة هنا إن قمت بإرسال واحدة أو تلقيت البعض منها.",
|
||||
"empty_column.domain_blocks": "ليس هناك نطاقات مخفية بعد.",
|
||||
"empty_column.favourited_statuses": "ليس لديك أية تبويقات مفضلة بعد. عندما ستقوم بالإعجاب بواحد، سيظهر هنا.",
|
||||
|
|
@ -164,8 +164,8 @@
|
|||
"introduction.federation.federated.text": "كافة المنشورات التي نُشِرت إلى العامة على الخوادم الأخرى للفديفرس سوف يتم عرضها على الخيط المُوحَّد.",
|
||||
"introduction.federation.home.headline": "الرئيسي",
|
||||
"introduction.federation.home.text": "سوف تُعرَض منشورات الأشخاص الذين تُتابِعهم على الخيط الرئيسي. بإمكانك متابعة أي حساب أيا كان الخادم الذي هو عليه!",
|
||||
"introduction.federation.local.headline": "المحلي",
|
||||
"introduction.federation.local.text": "المنشورات المُوجّهة للعامة على نفس الخادم الذي أنتم عليه ستظهر على الخيط الزمني المحلي.",
|
||||
"introduction.federation.local.headline": "الخيط العام المحلي",
|
||||
"introduction.federation.local.text": "المنشورات المُوجّهة للعامة على نفس الخادم الذي أنتم عليه ستظهر على الخيط العام المحلي.",
|
||||
"introduction.interactions.action": "إنهاء العرض التوضيحي!",
|
||||
"introduction.interactions.favourite.headline": "الإضافة إلى المفضلة",
|
||||
"introduction.interactions.favourite.text": "يمكِنك إضافة أي تبويق إلى المفضلة و إعلام صاحبه أنك أعجِبت بذاك التبويق.",
|
||||
|
|
@ -192,7 +192,7 @@
|
|||
"keyboard_shortcuts.home": "لفتح الخيط الرئيسي",
|
||||
"keyboard_shortcuts.hotkey": "مفتاح الاختصار",
|
||||
"keyboard_shortcuts.legend": "لعرض هذا المفتاح",
|
||||
"keyboard_shortcuts.local": "لفتح الخيط الزمني المحلي",
|
||||
"keyboard_shortcuts.local": "لفتح الخيط العام المحلي",
|
||||
"keyboard_shortcuts.mention": "لذِكر الناشر",
|
||||
"keyboard_shortcuts.muted": "لفتح قائمة المستخدِمين المكتومين",
|
||||
"keyboard_shortcuts.my_profile": "لفتح ملفك الشخصي",
|
||||
|
|
@ -221,7 +221,7 @@
|
|||
"lists.new.title_placeholder": "عنوان القائمة الجديدة",
|
||||
"lists.search": "إبحث في قائمة الحسابات التي تُتابِعها",
|
||||
"lists.subheading": "قوائمك",
|
||||
"loading_indicator.label": "تحميل ...",
|
||||
"loading_indicator.label": "تحميل...",
|
||||
"media_gallery.toggle_visible": "عرض / إخفاء",
|
||||
"missing_indicator.label": "تعذر العثور عليه",
|
||||
"missing_indicator.sublabel": "تعذر العثور على هذا المورد",
|
||||
|
|
@ -358,7 +358,7 @@
|
|||
"suggestions.header": "يمكن أن يهمك…",
|
||||
"tabs_bar.federated_timeline": "الموحَّد",
|
||||
"tabs_bar.home": "الرئيسية",
|
||||
"tabs_bar.local_timeline": "المحلي",
|
||||
"tabs_bar.local_timeline": "الخيط العام المحلي",
|
||||
"tabs_bar.notifications": "الإخطارات",
|
||||
"tabs_bar.search": "البحث",
|
||||
"time_remaining.days": "{number, plural, one {# يوم} other {# أيام}} متبقية",
|
||||
|
|
@ -369,7 +369,7 @@
|
|||
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} آخرون {people}} يتحدثون",
|
||||
"ui.beforeunload": "سوف تفقد مسودتك إن تركت ماستدون.",
|
||||
"upload_area.title": "اسحب ثم أفلت للرفع",
|
||||
"upload_button.label": "إضافة وسائط (JPEG، PNG، GIF، WebM، MP4، MOV)",
|
||||
"upload_button.label": "إضافة وسائط ({formats})",
|
||||
"upload_error.limit": "لقد تم بلوغ الحد الأقصى المسموح به لإرسال الملفات.",
|
||||
"upload_error.poll": "لا يمكن إدراج ملفات في استطلاعات الرأي.",
|
||||
"upload_form.description": "وصف للمعاقين بصريا",
|
||||
|
|
|
|||
|
|
@ -239,7 +239,7 @@
|
|||
"navigation_bar.follow_requests": "অনুসরণের অনুরোধগুলি",
|
||||
"navigation_bar.follows_and_followers": "Follows and followers",
|
||||
"navigation_bar.info": "এই সার্ভার সম্পর্কে",
|
||||
"navigation_bar.keyboard_shortcuts": "চাবি ব্যবহার",
|
||||
"navigation_bar.keyboard_shortcuts": "হটকীগুলি",
|
||||
"navigation_bar.lists": "তালিকাগুলো",
|
||||
"navigation_bar.logout": "বাইরে যান",
|
||||
"navigation_bar.mutes": "যেসব বেভহারকারীদের কার্যক্রম বন্ধ করা আছে",
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@
|
|||
"intervals.full.minutes": "{number, plural, one {# minuta} other {# minute}}",
|
||||
"introduction.federation.action": "Cuntinuà",
|
||||
"introduction.federation.federated.headline": "Federata",
|
||||
"introduction.federation.federated.text": "I statuti pubblichi da l'altri servori di u fediverse saranu mustrati nant'à a linea pubblica federata.",
|
||||
"introduction.federation.federated.text": "I statuti pubblichi da l'altri servori di u fediverse saranu mustrati nant'à a linea pubblica glubale.",
|
||||
"introduction.federation.home.headline": "Accolta",
|
||||
"introduction.federation.home.text": "I statuti da a ghjente che vo siguitate saranu affissati nant'à a linea d'accolta. Pudete seguità qualvogliasia nant'à tutti i servori!",
|
||||
"introduction.federation.local.headline": "Lucale",
|
||||
|
|
@ -187,7 +187,7 @@
|
|||
"keyboard_shortcuts.enter": "apre u statutu",
|
||||
"keyboard_shortcuts.favourite": "aghjunghje à i favuriti",
|
||||
"keyboard_shortcuts.favourites": "per apre a lista di i favuriti",
|
||||
"keyboard_shortcuts.federated": "per apre a linea pubblica federata",
|
||||
"keyboard_shortcuts.federated": "per apre a linea pubblica glubale",
|
||||
"keyboard_shortcuts.heading": "Accorte cù a tastera",
|
||||
"keyboard_shortcuts.home": "per apre a linea d'accolta",
|
||||
"keyboard_shortcuts.hotkey": "Accorta",
|
||||
|
|
@ -286,9 +286,9 @@
|
|||
"privacy.direct.short": "Direttu",
|
||||
"privacy.private.long": "Mustrà solu à l'abbunati",
|
||||
"privacy.private.short": "Privatu",
|
||||
"privacy.public.long": "Mustrà à tuttu u mondu nant'a linea pubblica",
|
||||
"privacy.public.long": "Mustrà à tuttu u mondu nant'à e linee pubbliche",
|
||||
"privacy.public.short": "Pubblicu",
|
||||
"privacy.unlisted.long": "Ùn mette micca nant'a linea pubblica (ma tutt'u mondu pò vede u statutu nant'à u vostru prufile)",
|
||||
"privacy.unlisted.long": "Ùn mette micca nant'à e linee pubbliche",
|
||||
"privacy.unlisted.short": "Micca listatu",
|
||||
"regeneration_indicator.label": "Caricamentu…",
|
||||
"regeneration_indicator.sublabel": "Priparazione di a vostra pagina d'accolta!",
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@
|
|||
"reply_indicator.cancel": "Zrušit",
|
||||
"report.forward": "Přeposlat na {target}",
|
||||
"report.forward_hint": "Tento účet je z jiného serveru. Chcete na něj také poslat anonymizovanou kopii?",
|
||||
"report.hint": "Toto nahlášení bude zasláno moderátorům vašeho serveru. Níže můžete uvést, proč tento účet nahlašujete:",
|
||||
"report.hint": "Nahlášení bude zasláno moderátorům vašeho serveru. Níže můžete uvést, proč tento účet nahlašujete:",
|
||||
"report.placeholder": "Dodatečné komentáře",
|
||||
"report.submit": "Odeslat",
|
||||
"report.target": "Nahlášení uživatele {target}",
|
||||
|
|
|
|||
|
|
@ -264,7 +264,7 @@
|
|||
"notifications.column_settings.follow": "Dilynwyr newydd:",
|
||||
"notifications.column_settings.mention": "Crybwylliadau:",
|
||||
"notifications.column_settings.poll": "Canlyniadau pleidlais:",
|
||||
"notifications.column_settings.push": "Hysbysiadau push",
|
||||
"notifications.column_settings.push": "Hysbysiadau gwthiadwy",
|
||||
"notifications.column_settings.reblog": "Hybiadau:",
|
||||
"notifications.column_settings.show": "Dangos yn y golofn",
|
||||
"notifications.column_settings.sound": "Chwarae sain",
|
||||
|
|
|
|||
|
|
@ -369,7 +369,7 @@
|
|||
"trends.count_by_accounts": "{count} {rawCount, plural, eine {Person} other {Personen}} reden darüber",
|
||||
"ui.beforeunload": "Dein Entwurf geht verloren, wenn du Mastodon verlässt.",
|
||||
"upload_area.title": "Zum Hochladen hereinziehen",
|
||||
"upload_button.label": "Mediendatei hinzufügen (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_button.label": "Mediendatei hinzufügen ({formats})",
|
||||
"upload_error.limit": "Dateiupload-Limit erreicht.",
|
||||
"upload_error.poll": "Dateiuploads sind in Kombination mit Umfragen nicht erlaubt.",
|
||||
"upload_form.description": "Für Menschen mit Sehbehinderung beschreiben",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"account.add_or_remove_from_list": "Προσθήκη ή Αφαίρεση από λίστες",
|
||||
"account.badges.bot": "Μποτ",
|
||||
"account.block": "Απόκλεισε τον/την @{name}",
|
||||
"account.block": "Αποκλισμός @{name}",
|
||||
"account.block_domain": "Απόκρυψε τα πάντα από το {domain}",
|
||||
"account.blocked": "Αποκλεισμένος/η",
|
||||
"account.direct": "Προσωπικό μήνυμα προς @{name}",
|
||||
|
|
@ -27,13 +27,13 @@
|
|||
"account.posts_with_replies": "Τουτ και απαντήσεις",
|
||||
"account.report": "Κατάγγειλε @{name}",
|
||||
"account.requested": "Εκκρεμεί έγκριση. Κάνε κλικ για να ακυρώσεις το αίτημα παρακολούθησης",
|
||||
"account.share": "Μοιράσου το προφίλ του/της @{name}",
|
||||
"account.show_reblogs": "Δείξε τις προωθήσεις του/της @{name}",
|
||||
"account.share": "Μοίρασμα του προφίλ @{name}",
|
||||
"account.show_reblogs": "Εμφάνιση προωθήσεων από @{name}",
|
||||
"account.unblock": "Ξεμπλόκαρε @{name}",
|
||||
"account.unblock_domain": "Αποκάλυψε το {domain}",
|
||||
"account.unendorse": "Άνευ προβολής στο προφίλ",
|
||||
"account.unfollow": "Διακοπή παρακολούθησης",
|
||||
"account.unmute": "Διακοπή αποσιώπησης του/της @{name}",
|
||||
"account.unmute": "Διακοπή αποσιώπησης @{name}",
|
||||
"account.unmute_notifications": "Διακοπή αποσιώπησης ειδοποιήσεων του/της @{name}",
|
||||
"alert.unexpected.message": "Προέκυψε απροσδόκητο σφάλμα.",
|
||||
"alert.unexpected.title": "Εεπ!",
|
||||
|
|
@ -41,8 +41,8 @@
|
|||
"bundle_column_error.body": "Κάτι πήγε στραβά ενώ φορτωνόταν αυτό το στοιχείο.",
|
||||
"bundle_column_error.retry": "Δοκίμασε ξανά",
|
||||
"bundle_column_error.title": "Σφάλμα δικτύου",
|
||||
"bundle_modal_error.close": "Κλείσε",
|
||||
"bundle_modal_error.message": "Κάτι πήγε στραβά ενώ φορτωνόταν αυτό το στοιχείο.",
|
||||
"bundle_modal_error.close": "Κλείσιμο",
|
||||
"bundle_modal_error.message": "Κάτι πήγε στραβά κατά τη φόρτωση του στοιχείου.",
|
||||
"bundle_modal_error.retry": "Δοκίμασε ξανά",
|
||||
"column.blocks": "Αποκλεισμένοι χρήστες",
|
||||
"column.community": "Τοπική ροή",
|
||||
|
|
@ -69,7 +69,7 @@
|
|||
"compose_form.direct_message_warning_learn_more": "Μάθετε περισσότερα",
|
||||
"compose_form.hashtag_warning": "Αυτό το τουτ δεν θα εμφανίζεται κάτω από κανένα hashtag καθώς είναι αφανές. Μόνο τα δημόσια τουτ μπορούν να αναζητηθούν ανά hashtag.",
|
||||
"compose_form.lock_disclaimer": "Ο λογαριασμός σου δεν είναι {locked}. Οποιοσδήποτε μπορεί να σε ακολουθήσει για να δει τις δημοσιεύσεις σας προς τους ακολούθους σας.",
|
||||
"compose_form.lock_disclaimer.lock": "κλειδωμένος",
|
||||
"compose_form.lock_disclaimer.lock": "κλειδωμένο",
|
||||
"compose_form.placeholder": "Τι σκέφτεσαι;",
|
||||
"compose_form.poll.add_option": "Προσθήκη επιλογής",
|
||||
"compose_form.poll.duration": "Διάρκεια δημοσκόπησης",
|
||||
|
|
@ -88,7 +88,7 @@
|
|||
"confirmations.block.confirm": "Απόκλεισε",
|
||||
"confirmations.block.message": "Σίγουρα θες να αποκλείσεις {name};",
|
||||
"confirmations.delete.confirm": "Διέγραψε",
|
||||
"confirmations.delete.message": "Σίγουρα θες να διαγράψεις αυτή την κατάσταση;",
|
||||
"confirmations.delete.message": "Σίγουρα θες να διαγράψεις αυτή τη δημοσίευση;",
|
||||
"confirmations.delete_list.confirm": "Διέγραψε",
|
||||
"confirmations.delete_list.message": "Σίγουρα θες να διαγράψεις οριστικά αυτή τη λίστα;",
|
||||
"confirmations.domain_block.confirm": "Απόκρυψη ολόκληρου του τομέα",
|
||||
|
|
@ -149,7 +149,7 @@
|
|||
"hashtag.column_header.tag_mode.none": "χωρίς {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "Δεν βρέθηκαν προτάσεις",
|
||||
"hashtag.column_settings.select.placeholder": "Γράψε μερικές ταμπέλες…",
|
||||
"hashtag.column_settings.tag_mode.all": "Όλα αυτα",
|
||||
"hashtag.column_settings.tag_mode.all": "Όλα αυτά",
|
||||
"hashtag.column_settings.tag_mode.any": "Οποιοδήποτε από αυτά",
|
||||
"hashtag.column_settings.tag_mode.none": "Κανένα από αυτά",
|
||||
"hashtag.column_settings.tag_toggle": "Προσθήκη επιπλέον ταμπελών για την κολώνα",
|
||||
|
|
|
|||
|
|
@ -369,7 +369,7 @@
|
|||
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
|
||||
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
|
||||
"upload_area.title": "Drag & drop to upload",
|
||||
"upload_button.label": "Add media (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_button.label": "Add media ({formats})",
|
||||
"upload_error.limit": "File upload limit exceeded.",
|
||||
"upload_error.poll": "File upload not allowed with polls.",
|
||||
"upload_form.description": "Describe for the visually impaired",
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
"account.hide_reblogs": "Ocultar retoots de @{name}",
|
||||
"account.link_verified_on": "El proprietario de este link fue verificado el {date}",
|
||||
"account.locked_info": "El estado de privacidad de esta cuenta està configurado como bloqueado. El proprietario debe revisar manualmente quien puede seguirle.",
|
||||
"account.media": "Media",
|
||||
"account.media": "Multimedia",
|
||||
"account.mention": "Mencionar a @{name}",
|
||||
"account.moved_to": "{name} se ha mudado a:",
|
||||
"account.mute": "Silenciar a @{name}",
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
"account.unmute": "Dejar de silenciar a @{name}",
|
||||
"account.unmute_notifications": "Dejar de silenciar las notificaciones de @{name}",
|
||||
"alert.unexpected.message": "Hubo un error inesperado.",
|
||||
"alert.unexpected.title": "Oops!",
|
||||
"alert.unexpected.title": "¡Ups!",
|
||||
"boost_modal.combo": "Puedes presionar {combo} para saltear este aviso la próxima vez",
|
||||
"bundle_column_error.body": "Algo salió mal al cargar este componente.",
|
||||
"bundle_column_error.retry": "Inténtalo de nuevo",
|
||||
|
|
@ -71,25 +71,25 @@
|
|||
"compose_form.lock_disclaimer": "Tu cuenta no está bloqueada. Todos pueden seguirte para ver tus toots solo para seguidores.",
|
||||
"compose_form.lock_disclaimer.lock": "bloqueado",
|
||||
"compose_form.placeholder": "¿En qué estás pensando?",
|
||||
"compose_form.poll.add_option": "Add a choice",
|
||||
"compose_form.poll.duration": "Poll duration",
|
||||
"compose_form.poll.option_placeholder": "Choice {number}",
|
||||
"compose_form.poll.remove_option": "Remove this choice",
|
||||
"compose_form.poll.add_option": "Añadir una opción",
|
||||
"compose_form.poll.duration": "Duración de la encuesta",
|
||||
"compose_form.poll.option_placeholder": "Elección {number}",
|
||||
"compose_form.poll.remove_option": "Eliminar esta opción",
|
||||
"compose_form.publish": "Tootear",
|
||||
"compose_form.publish_loud": "{publish}!",
|
||||
"compose_form.sensitive.hide": "Mark media as sensitive",
|
||||
"compose_form.sensitive.hide": "Marcar multimedia como sensible",
|
||||
"compose_form.sensitive.marked": "Material marcado como sensible",
|
||||
"compose_form.sensitive.unmarked": "Material no marcado como sensible",
|
||||
"compose_form.spoiler.marked": "Texto oculto tras la advertencia",
|
||||
"compose_form.spoiler.unmarked": "Texto no oculto",
|
||||
"compose_form.spoiler_placeholder": "Advertencia de contenido",
|
||||
"confirmation_modal.cancel": "Cancelar",
|
||||
"confirmations.block.block_and_report": "Block & Report",
|
||||
"confirmations.block.block_and_report": "Bloquear y Reportar",
|
||||
"confirmations.block.confirm": "Bloquear",
|
||||
"confirmations.block.message": "¿Estás seguro de que quieres bloquear a {name}?",
|
||||
"confirmations.delete.confirm": "Eliminar",
|
||||
"confirmations.delete.message": "¿Estás seguro de que quieres borrar este toot?",
|
||||
"confirmations.delete_list.confirm": "Delete",
|
||||
"confirmations.delete_list.confirm": "Eliminar",
|
||||
"confirmations.delete_list.message": "¿Seguro que quieres borrar esta lista permanentemente?",
|
||||
"confirmations.domain_block.confirm": "Ocultar dominio entero",
|
||||
"confirmations.domain_block.message": "¿Seguro de que quieres bloquear al dominio {domain} entero? En general unos cuantos bloqueos y silenciados concretos es suficiente y preferible.",
|
||||
|
|
@ -97,7 +97,7 @@
|
|||
"confirmations.mute.message": "¿Estás seguro de que quieres silenciar a {name}?",
|
||||
"confirmations.redraft.confirm": "Borrar y volver a borrador",
|
||||
"confirmations.redraft.message": "Estás seguro de que quieres borrar este estado y volverlo a borrador? Perderás todas las respuestas, impulsos y favoritos asociados a él, y las respuestas a la publicación original quedarán huérfanos.",
|
||||
"confirmations.reply.confirm": "Reply",
|
||||
"confirmations.reply.confirm": "Responder",
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.unfollow.confirm": "Dejar de seguir",
|
||||
"confirmations.unfollow.message": "¿Estás seguro de que quieres dejar de seguir a {name}?",
|
||||
|
|
@ -117,8 +117,8 @@
|
|||
"emoji_button.search_results": "Resultados de búsqueda",
|
||||
"emoji_button.symbols": "Símbolos",
|
||||
"emoji_button.travel": "Viajes y lugares",
|
||||
"empty_column.account_timeline": "No toots here!",
|
||||
"empty_column.account_unavailable": "Profile unavailable",
|
||||
"empty_column.account_timeline": "¡No hay toots aquí!",
|
||||
"empty_column.account_unavailable": "Perfil no disponible",
|
||||
"empty_column.blocks": "Aún no has bloqueado a ningún usuario.",
|
||||
"empty_column.community": "La línea de tiempo local está vacía. ¡Escribe algo para empezar la fiesta!",
|
||||
"empty_column.direct": "Aún no tienes ningún mensaje directo. Cuando envíes o recibas uno, se mostrará aquí.",
|
||||
|
|
@ -137,21 +137,21 @@
|
|||
"follow_request.authorize": "Autorizar",
|
||||
"follow_request.reject": "Rechazar",
|
||||
"getting_started.developers": "Desarrolladores",
|
||||
"getting_started.directory": "Profile directory",
|
||||
"getting_started.documentation": "Documentation",
|
||||
"getting_started.directory": "Directorio de perfil",
|
||||
"getting_started.documentation": "Documentación",
|
||||
"getting_started.heading": "Primeros pasos",
|
||||
"getting_started.invite": "Invitar usuarios",
|
||||
"getting_started.open_source_notice": "Mastodon es software libre. Puedes contribuir o reportar errores en {github}.",
|
||||
"getting_started.security": "Seguridad",
|
||||
"getting_started.terms": "Términos de servicio",
|
||||
"hashtag.column_header.tag_mode.all": "and {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "or {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "without {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "No suggestions found",
|
||||
"hashtag.column_settings.select.placeholder": "Enter hashtags…",
|
||||
"hashtag.column_header.tag_mode.all": "y {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "o {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "sin {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "No se encontraron sugerencias",
|
||||
"hashtag.column_settings.select.placeholder": "Introduzca hashtags…",
|
||||
"hashtag.column_settings.tag_mode.all": "All of these",
|
||||
"hashtag.column_settings.tag_mode.any": "Any of these",
|
||||
"hashtag.column_settings.tag_mode.none": "None of these",
|
||||
"hashtag.column_settings.tag_mode.any": "Cualquiera de estos",
|
||||
"hashtag.column_settings.tag_mode.none": "Ninguno de estos",
|
||||
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
|
||||
"home.column_settings.basic": "Básico",
|
||||
"home.column_settings.show_reblogs": "Mostrar retoots",
|
||||
|
|
@ -159,29 +159,29 @@
|
|||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
"introduction.federation.action": "Next",
|
||||
"introduction.federation.federated.headline": "Federated",
|
||||
"introduction.federation.action": "Siguiente",
|
||||
"introduction.federation.federated.headline": "Federado",
|
||||
"introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
|
||||
"introduction.federation.home.headline": "Home",
|
||||
"introduction.federation.home.headline": "Inicio",
|
||||
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
|
||||
"introduction.federation.local.headline": "Local",
|
||||
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
|
||||
"introduction.interactions.action": "Finish toot-orial!",
|
||||
"introduction.interactions.favourite.headline": "Favourite",
|
||||
"introduction.interactions.action": "¡Terminar tutorial!",
|
||||
"introduction.interactions.favourite.headline": "Favorito",
|
||||
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
|
||||
"introduction.interactions.reblog.headline": "Boost",
|
||||
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
|
||||
"introduction.interactions.reply.headline": "Reply",
|
||||
"introduction.interactions.reply.headline": "Responder",
|
||||
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
|
||||
"introduction.welcome.action": "Let's go!",
|
||||
"introduction.welcome.headline": "First steps",
|
||||
"introduction.welcome.action": "¡Vamos!",
|
||||
"introduction.welcome.headline": "Primeros pasos",
|
||||
"introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
|
||||
"keyboard_shortcuts.back": "volver atrás",
|
||||
"keyboard_shortcuts.blocked": "abrir una lista de usuarios bloqueados",
|
||||
"keyboard_shortcuts.boost": "retootear",
|
||||
"keyboard_shortcuts.column": "enfocar un estado en una de las columnas",
|
||||
"keyboard_shortcuts.compose": "enfocar el área de texto de redacción",
|
||||
"keyboard_shortcuts.description": "Description",
|
||||
"keyboard_shortcuts.description": "Descripción",
|
||||
"keyboard_shortcuts.direct": "abrir la columna de mensajes directos",
|
||||
"keyboard_shortcuts.down": "mover hacia abajo en la lista",
|
||||
"keyboard_shortcuts.enter": "to open status",
|
||||
|
|
@ -211,10 +211,10 @@
|
|||
"lightbox.close": "Cerrar",
|
||||
"lightbox.next": "Siguiente",
|
||||
"lightbox.previous": "Anterior",
|
||||
"lightbox.view_context": "View context",
|
||||
"lightbox.view_context": "Ver contexto",
|
||||
"lists.account.add": "Añadir a lista",
|
||||
"lists.account.remove": "Quitar de lista",
|
||||
"lists.delete": "Delete list",
|
||||
"lists.delete": "Borrar lista",
|
||||
"lists.edit": "Editar lista",
|
||||
"lists.edit.submit": "Change title",
|
||||
"lists.new.create": "Añadir lista",
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
"account.mute": "Mututu @{name}",
|
||||
"account.mute_notifications": "Mututu @{name}(r)en jakinarazpenak",
|
||||
"account.muted": "Mutututa",
|
||||
"account.posts": "Tootak",
|
||||
"account.posts": "Toot",
|
||||
"account.posts_with_replies": "Toot eta erantzunak",
|
||||
"account.report": "Salatu @{name}",
|
||||
"account.requested": "Onarpenaren zain. Klikatu jarraitzeko eskaera ezeztatzeko",
|
||||
|
|
@ -32,7 +32,7 @@
|
|||
"account.unblock": "Desblokeatu @{name}",
|
||||
"account.unblock_domain": "Berriz erakutsi {domain}",
|
||||
"account.unendorse": "Ez nabarmendu profilean",
|
||||
"account.unfollow": "Jarraitzeari utzi",
|
||||
"account.unfollow": "Utzi jarraitzeari",
|
||||
"account.unmute": "Desmututu @{name}",
|
||||
"account.unmute_notifications": "Desmututu @{name}(r)en jakinarazpenak",
|
||||
"alert.unexpected.message": "Ustekabeko errore bat gertatu da.",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"account.add_or_remove_from_list": "افزودن یا برداشتن از فهرست",
|
||||
"account.add_or_remove_from_list": "افزودن یا حذف از فهرستها",
|
||||
"account.badges.bot": "ربات",
|
||||
"account.block": "مسدودسازی @{name}",
|
||||
"account.block_domain": "پنهانسازی همه چیز از سرور {domain}",
|
||||
|
|
|
|||
|
|
@ -71,20 +71,20 @@
|
|||
"compose_form.lock_disclaimer": "Tilisi ei ole {locked}. Kuka tahansa voi seurata tiliäsi ja nähdä vain seuraajille rajaamasi julkaisut.",
|
||||
"compose_form.lock_disclaimer.lock": "lukittu",
|
||||
"compose_form.placeholder": "Mitä mietit?",
|
||||
"compose_form.poll.add_option": "Add a choice",
|
||||
"compose_form.poll.duration": "Poll duration",
|
||||
"compose_form.poll.option_placeholder": "Choice {number}",
|
||||
"compose_form.poll.remove_option": "Remove this choice",
|
||||
"compose_form.poll.add_option": "Lisää valinta",
|
||||
"compose_form.poll.duration": "Äänestyksen kesto",
|
||||
"compose_form.poll.option_placeholder": "Valinta numero",
|
||||
"compose_form.poll.remove_option": "Poista tämä valinta",
|
||||
"compose_form.publish": "Tuuttaa",
|
||||
"compose_form.publish_loud": "{publish}!",
|
||||
"compose_form.sensitive.hide": "Mark media as sensitive",
|
||||
"compose_form.publish_loud": "Julkista!",
|
||||
"compose_form.sensitive.hide": "Valitse tämä arkaluontoisena",
|
||||
"compose_form.sensitive.marked": "Media on merkitty arkaluontoiseksi",
|
||||
"compose_form.sensitive.unmarked": "Mediaa ei ole merkitty arkaluontoiseksi",
|
||||
"compose_form.spoiler.marked": "Teksti on piilotettu varoituksen taakse",
|
||||
"compose_form.spoiler.unmarked": "Teksti ei ole piilotettu",
|
||||
"compose_form.spoiler_placeholder": "Sisältövaroitus",
|
||||
"confirmation_modal.cancel": "Peruuta",
|
||||
"confirmations.block.block_and_report": "Block & Report",
|
||||
"confirmations.block.block_and_report": "Estä ja raportoi",
|
||||
"confirmations.block.confirm": "Estä",
|
||||
"confirmations.block.message": "Haluatko varmasti estää käyttäjän {name}?",
|
||||
"confirmations.delete.confirm": "Poista",
|
||||
|
|
@ -118,7 +118,7 @@
|
|||
"emoji_button.symbols": "Symbolit",
|
||||
"emoji_button.travel": "Matkailu",
|
||||
"empty_column.account_timeline": "Ei ole 'toots' täällä!",
|
||||
"empty_column.account_unavailable": "Profile unavailable",
|
||||
"empty_column.account_unavailable": "Profiilia ei löydy",
|
||||
"empty_column.blocks": "Et ole vielä estänyt yhtään käyttäjää.",
|
||||
"empty_column.community": "Paikallinen aikajana on tyhjä. Homma lähtee käyntiin, kun kirjoitat jotain julkista!",
|
||||
"empty_column.direct": "Sinulla ei ole vielä yhtään viestiä yksittäiselle käyttäjälle. Kun lähetät tai vastaanotat sellaisen, se näkyy täällä.",
|
||||
|
|
@ -138,7 +138,7 @@
|
|||
"follow_request.reject": "Hylkää",
|
||||
"getting_started.developers": "Kehittäjille",
|
||||
"getting_started.directory": "Profiili hakemisto",
|
||||
"getting_started.documentation": "Documentation",
|
||||
"getting_started.documentation": "Documentaatio",
|
||||
"getting_started.heading": "Aloitus",
|
||||
"getting_started.invite": "Kutsu ihmisiä",
|
||||
"getting_started.open_source_notice": "Mastodon on avoimen lähdekoodin ohjelma. Voit avustaa tai raportoida ongelmia GitHubissa: {github}.",
|
||||
|
|
@ -147,8 +147,8 @@
|
|||
"hashtag.column_header.tag_mode.all": "ja {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "tai {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "ilman {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "No suggestions found",
|
||||
"hashtag.column_settings.select.placeholder": "Enter hashtags…",
|
||||
"hashtag.column_settings.select.no_options_message": "Ehdostuta ei löydetty",
|
||||
"hashtag.column_settings.select.placeholder": "Laita häshtägejä…",
|
||||
"hashtag.column_settings.tag_mode.all": "Kaikki",
|
||||
"hashtag.column_settings.tag_mode.any": "Kaikki",
|
||||
"hashtag.column_settings.tag_mode.none": "Ei mikään",
|
||||
|
|
@ -156,25 +156,25 @@
|
|||
"home.column_settings.basic": "Perusasetukset",
|
||||
"home.column_settings.show_reblogs": "Näytä buustaukset",
|
||||
"home.column_settings.show_replies": "Näytä vastaukset",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
"intervals.full.days": "Päivä päiviä",
|
||||
"intervals.full.hours": "Tunti tunteja",
|
||||
"intervals.full.minutes": "Minuuti minuuteja",
|
||||
"introduction.federation.action": "Seuraava",
|
||||
"introduction.federation.federated.headline": "Federated",
|
||||
"introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
|
||||
"introduction.federation.home.headline": "Home",
|
||||
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
|
||||
"introduction.federation.local.headline": "Local",
|
||||
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
|
||||
"introduction.interactions.action": "Finish toot-orial!",
|
||||
"introduction.interactions.favourite.headline": "Favourite",
|
||||
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
|
||||
"introduction.interactions.reblog.headline": "Boost",
|
||||
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
|
||||
"introduction.interactions.reply.headline": "Reply",
|
||||
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
|
||||
"introduction.welcome.action": "Let's go!",
|
||||
"introduction.welcome.headline": "First steps",
|
||||
"introduction.federation.federated.headline": "Federaatioitettu",
|
||||
"introduction.federation.federated.text": "Julkisia viestejä muiden serverien that is not a word aikoo tulla federoituun aikajanaan.",
|
||||
"introduction.federation.home.headline": "Koti",
|
||||
"introduction.federation.home.text": "Viestit muilta pelaajilta jota seuraat aikovat tulla koti sivuusi. Voit seurata ketä vain missä vain serverillä!",
|
||||
"introduction.federation.local.headline": "Paikallinen",
|
||||
"introduction.federation.local.text": "Julkiset viestit muilta pelaajilta samalla serverillä tulevat sinun paikalliseen aikajanaan.",
|
||||
"introduction.interactions.action": "Suorita harjoitus!",
|
||||
"introduction.interactions.favourite.headline": "Lempi",
|
||||
"introduction.interactions.favourite.text": "Toot is not a word.",
|
||||
"introduction.interactions.reblog.headline": "Nopeutus",
|
||||
"introduction.interactions.reblog.text": "Toot is not a word",
|
||||
"introduction.interactions.reply.headline": "Vastaa",
|
||||
"introduction.interactions.reply.text": "TOOT IS NOT A WORD",
|
||||
"introduction.welcome.action": "Mennään!",
|
||||
"introduction.welcome.headline": "Ensimmäiset askeleet",
|
||||
"introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
|
||||
"keyboard_shortcuts.back": "liiku taaksepäin",
|
||||
"keyboard_shortcuts.blocked": "avaa lista estetyistä käyttäjistä",
|
||||
|
|
|
|||
|
|
@ -1,107 +1,107 @@
|
|||
{
|
||||
"account.add_or_remove_from_list": "Add or Remove from lists",
|
||||
"account.add_or_remove_from_list": "Hozzáadás és elvétel listáról",
|
||||
"account.badges.bot": "Bot",
|
||||
"account.block": "@{name} letiltása",
|
||||
"account.block_domain": "Minden elrejtése innen: {domain}",
|
||||
"account.blocked": "Blocked",
|
||||
"account.direct": "Direct Message @{name}",
|
||||
"account.domain_blocked": "Domain hidden",
|
||||
"account.blocked": "Letiltva",
|
||||
"account.direct": "Közvetlen üzenet @{name} számára",
|
||||
"account.domain_blocked": "Rejtett domain",
|
||||
"account.edit_profile": "Profil szerkesztése",
|
||||
"account.endorse": "Feature on profile",
|
||||
"account.endorse": "Kiemelés a profilodon",
|
||||
"account.follow": "Követés",
|
||||
"account.followers": "Követők",
|
||||
"account.followers.empty": "No one follows this user yet.",
|
||||
"account.follows": "Követve",
|
||||
"account.follows.empty": "This user doesn't follow anyone yet.",
|
||||
"account.follows_you": "Követnek téged",
|
||||
"account.hide_reblogs": "Rejtsd el a tülkölést @{name}-tól/től",
|
||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
||||
"account.followers": "Követő",
|
||||
"account.followers.empty": "Ezt a felhasználót még senki sem követi.",
|
||||
"account.follows": "Követett",
|
||||
"account.follows.empty": "Ez a felhasználó még senkit sem követ.",
|
||||
"account.follows_you": "Követ téged",
|
||||
"account.hide_reblogs": "@{name} megtolásainak némítása",
|
||||
"account.link_verified_on": "A linket ellenőriztük: {date}",
|
||||
"account.locked_info": "Ez a fiók zárt. A tulaj engedélyezi, ki követheti őt.",
|
||||
"account.media": "Média",
|
||||
"account.mention": "@{name} említése",
|
||||
"account.moved_to": "{name} átköltözött:",
|
||||
"account.mute": "@{name} némítása",
|
||||
"account.mute_notifications": "@{name} értesítések némítása",
|
||||
"account.muted": "Muted",
|
||||
"account.posts": "Státuszok",
|
||||
"account.posts_with_replies": "Toots with replies",
|
||||
"account.mute_notifications": "@{name} értesítéseinek némítása",
|
||||
"account.muted": "Némítva",
|
||||
"account.posts": "Tülkölés",
|
||||
"account.posts_with_replies": "Tülkölés válaszokkal",
|
||||
"account.report": "@{name} jelentése",
|
||||
"account.requested": "Engedélyre vár. Kattintson a követési kérés visszavonására",
|
||||
"account.requested": "Engedélyre vár. Kattints a követési kérés visszavonásához",
|
||||
"account.share": "@{name} profiljának megosztása",
|
||||
"account.show_reblogs": "@{name} kedvenceinek mutatása",
|
||||
"account.unblock": "@{name} kiblokkolása",
|
||||
"account.unblock_domain": "{domain} mutatása",
|
||||
"account.unendorse": "Don't feature on profile",
|
||||
"account.unfollow": "Követés abbahagyása",
|
||||
"account.unmute": "@{name} kinémítása",
|
||||
"account.unmute_notifications": "@{name} értesítéseinek kinémítása",
|
||||
"alert.unexpected.message": "An unexpected error occurred.",
|
||||
"alert.unexpected.title": "Oops!",
|
||||
"boost_modal.combo": "Megnyomhatod {combo}, hogy átugord következő alkalommal",
|
||||
"account.show_reblogs": "@{name} megtolásainak mutatása",
|
||||
"account.unblock": "@{name} letiltásának feloldása",
|
||||
"account.unblock_domain": "{domain} elrejtésének feloldása",
|
||||
"account.unendorse": "Kiemelés törlése a profilodról",
|
||||
"account.unfollow": "Követés vége",
|
||||
"account.unmute": "@{name} némítás feloldása",
|
||||
"account.unmute_notifications": "@{name} némított értesítéseinek feloldása",
|
||||
"alert.unexpected.message": "Váratlan hiba történt.",
|
||||
"alert.unexpected.title": "Hoppá!",
|
||||
"boost_modal.combo": "Hogy átugord ezt következő alkalommal, használd {combo}",
|
||||
"bundle_column_error.body": "Hiba történt a komponens betöltése közben.",
|
||||
"bundle_column_error.retry": "Próbálja újra",
|
||||
"bundle_column_error.retry": "Próbáld újra",
|
||||
"bundle_column_error.title": "Hálózati hiba",
|
||||
"bundle_modal_error.close": "Bezár",
|
||||
"bundle_modal_error.close": "Bezárás",
|
||||
"bundle_modal_error.message": "Hiba történt a komponens betöltésekor.",
|
||||
"bundle_modal_error.retry": "Próbálja újra",
|
||||
"bundle_modal_error.retry": "Próbáld újra",
|
||||
"column.blocks": "Letiltott felhasználók",
|
||||
"column.community": "Helyi idővonal",
|
||||
"column.direct": "Direct messages",
|
||||
"column.domain_blocks": "Hidden domains",
|
||||
"column.direct": "Közvetlen üzenetek",
|
||||
"column.domain_blocks": "Rejtett domainek",
|
||||
"column.favourites": "Kedvencek",
|
||||
"column.follow_requests": "Követési kérések",
|
||||
"column.follow_requests": "Követési kérelmek",
|
||||
"column.home": "Kezdőlap",
|
||||
"column.lists": "Listák",
|
||||
"column.mutes": "Némított felhasználók",
|
||||
"column.notifications": "Értesítések",
|
||||
"column.pins": "Kitűzött tülkölések",
|
||||
"column.pins": "Kitűzött tülkök",
|
||||
"column.public": "Nyilvános idővonal",
|
||||
"column_back_button.label": "Vissza",
|
||||
"column_header.hide_settings": "Beállítások elrejtése",
|
||||
"column_header.moveLeft_settings": "Oszlop elmozdítása balra",
|
||||
"column_header.moveRight_settings": "oszlop elmozdítása jobbra",
|
||||
"column_header.pin": "Kitűz",
|
||||
"column_header.moveRight_settings": "Oszlop elmozdítása jobbra",
|
||||
"column_header.pin": "Kitűzés",
|
||||
"column_header.show_settings": "Beállítások mutatása",
|
||||
"column_header.unpin": "Kitűzés eltávolítása",
|
||||
"column_subheading.settings": "Beállítások",
|
||||
"community.column_settings.media_only": "Media Only",
|
||||
"compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.",
|
||||
"compose_form.direct_message_warning_learn_more": "Learn more",
|
||||
"compose_form.hashtag_warning": "Ezen tülkölés nem fog megjelenni semmilyen hashtag alatt mivel listázatlan. Csak a publikus tülkölések kereshetőek hashtag-el.",
|
||||
"compose_form.lock_disclaimer": "Az ön fiókja nincs {locked}. Bárki követni tud, hogy megtekintse a kizárt követőknek szánt üzeneteid.",
|
||||
"community.column_settings.media_only": "Csak média",
|
||||
"compose_form.direct_message_warning": "Ezt a tülköt csak a benne megemlített felhasználók láthatják majd.",
|
||||
"compose_form.direct_message_warning_learn_more": "Több infó",
|
||||
"compose_form.hashtag_warning": "Ez a tülköd nem fog megjelenni semmilyen hashtag alatt mivel listázatlan. Csak nyilvános tülkök kereshetőek hashtaggel.",
|
||||
"compose_form.lock_disclaimer": "A fiókod nincs {locked}. Bárki követni tud, hogy megtekintse a kizárólag követőknek szánt üzeneteidet.",
|
||||
"compose_form.lock_disclaimer.lock": "lezárva",
|
||||
"compose_form.placeholder": "Mire gondolsz?",
|
||||
"compose_form.poll.add_option": "Add a choice",
|
||||
"compose_form.poll.duration": "Poll duration",
|
||||
"compose_form.poll.option_placeholder": "Choice {number}",
|
||||
"compose_form.poll.remove_option": "Remove this choice",
|
||||
"compose_form.placeholder": "Mi jár a fejedben?",
|
||||
"compose_form.poll.add_option": "Lehetőség hozzáadása",
|
||||
"compose_form.poll.duration": "Szavazás időtartama",
|
||||
"compose_form.poll.option_placeholder": "Lehetőség {number}",
|
||||
"compose_form.poll.remove_option": "Lehetőség törlése",
|
||||
"compose_form.publish": "Tülk",
|
||||
"compose_form.publish_loud": "{publish}!",
|
||||
"compose_form.sensitive.hide": "Mark media as sensitive",
|
||||
"compose_form.sensitive.marked": "Media is marked as sensitive",
|
||||
"compose_form.sensitive.unmarked": "Media is not marked as sensitive",
|
||||
"compose_form.spoiler.marked": "Text is hidden behind warning",
|
||||
"compose_form.spoiler.unmarked": "Text is not hidden",
|
||||
"compose_form.spoiler_placeholder": "Figyelmeztetését írja ide",
|
||||
"confirmation_modal.cancel": "Bezár",
|
||||
"confirmations.block.block_and_report": "Block & Report",
|
||||
"confirmations.block.confirm": "Letilt",
|
||||
"confirmations.block.message": "Biztos benne, hogy le szeretné tiltani {name}?",
|
||||
"confirmations.delete.confirm": "Töröl",
|
||||
"confirmations.delete.message": "Biztos benne, hogy törölni szeretné ezt a státuszt?",
|
||||
"confirmations.delete_list.confirm": "Töröl",
|
||||
"confirmations.delete_list.message": "Biztos benne, hogy véglegesen törölni szeretné ezt a listát?",
|
||||
"confirmations.domain_block.confirm": "Egész domain elrejtése",
|
||||
"confirmations.domain_block.message": "Nagyon biztos abban, hogy le szeretné tiltani az egész {domain}-t? A legtöbb esetben néhány célszerű tiltás vagy némítás elegendő és kívánatosabb megoldás.",
|
||||
"confirmations.mute.confirm": "Némít",
|
||||
"confirmations.mute.message": "Biztos benne, hogy némítani szeretné {name}?",
|
||||
"confirmations.redraft.confirm": "Delete & redraft",
|
||||
"confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it.",
|
||||
"confirmations.reply.confirm": "Reply",
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"compose_form.sensitive.hide": "Média megjelölése szenzitívként",
|
||||
"compose_form.sensitive.marked": "A médiát szenzitívnek jelölték",
|
||||
"compose_form.sensitive.unmarked": "A médiát nem jelölték szenzitívnek",
|
||||
"compose_form.spoiler.marked": "A szöveg figyelmeztetés mögé van rejtve",
|
||||
"compose_form.spoiler.unmarked": "A szöveg nem rejtett",
|
||||
"compose_form.spoiler_placeholder": "Írd ide a figyelmeztetést",
|
||||
"confirmation_modal.cancel": "Mégse",
|
||||
"confirmations.block.block_and_report": "Letiltás és Bejelentés",
|
||||
"confirmations.block.confirm": "Letiltás",
|
||||
"confirmations.block.message": "Biztos, hogy le szeretnéd tiltani {name}?",
|
||||
"confirmations.delete.confirm": "Törlés",
|
||||
"confirmations.delete.message": "Biztos, hogy törölni szeretnéd ezt a tülkölést?",
|
||||
"confirmations.delete_list.confirm": "Törlés",
|
||||
"confirmations.delete_list.message": "Biztos, hogy véglegesen törölni szeretnéd ezt a listát?",
|
||||
"confirmations.domain_block.confirm": "Teljes domain elrejtése",
|
||||
"confirmations.domain_block.message": "Egészen biztos, hogy le szeretnéd tiltani a teljes {domain}-t? A legtöbb esetben néhány célzott tiltás vagy némítás elegendő és kívánatosabb megoldás. Semmilyen tartalmat nem fogsz látni ebből a domainből se idővonalakon, se értesítésekben. Az ebben a domainben lévő követőidet is eltávolítjuk.",
|
||||
"confirmations.mute.confirm": "Némítás",
|
||||
"confirmations.mute.message": "Biztos, hogy némítani szeretnéd {name}?",
|
||||
"confirmations.redraft.confirm": "Törlés és újraírás",
|
||||
"confirmations.redraft.message": "Biztos, hogy ezt a tülköt szeretnéd törölni és újraírni? Minden megtolást és kedvencnek jelölést elvesztesz, az eredetire adott válaszok pedig elárvulnak.",
|
||||
"confirmations.reply.confirm": "Válasz",
|
||||
"confirmations.reply.message": "Ha most válaszolsz, ez felülírja a most szerkesztés alatt álló üzenetet. Mégis ezt szeretnéd?",
|
||||
"confirmations.unfollow.confirm": "Követés visszavonása",
|
||||
"confirmations.unfollow.message": "Biztos benne, hogy vissza szeretné vonni {name} követését?",
|
||||
"embed.instructions": "Ágyazza be ezen státuszt weboldalába az alábbi kód másolásával.",
|
||||
"confirmations.unfollow.message": "Biztos, hogy vissza szeretnéd vonni {name} követését?",
|
||||
"embed.instructions": "Ágyazd be ezt a tülköt a weboldaladba az alábbi kód kimásolásával.",
|
||||
"embed.preview": "Így fog kinézni:",
|
||||
"emoji_button.activity": "Aktivitás",
|
||||
"emoji_button.custom": "Egyéni",
|
||||
|
|
@ -109,7 +109,7 @@
|
|||
"emoji_button.food": "Étel és Ital",
|
||||
"emoji_button.label": "Emoji beszúrása",
|
||||
"emoji_button.nature": "Természet",
|
||||
"emoji_button.not_found": "Nincsenek emojok!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.not_found": "Nincsenek emojik!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.objects": "Tárgyak",
|
||||
"emoji_button.people": "Emberek",
|
||||
"emoji_button.recent": "Gyakran használt",
|
||||
|
|
@ -117,272 +117,272 @@
|
|||
"emoji_button.search_results": "Keresési találatok",
|
||||
"emoji_button.symbols": "Szimbólumok",
|
||||
"emoji_button.travel": "Utazás és Helyek",
|
||||
"empty_column.account_timeline": "No toots here!",
|
||||
"empty_column.account_unavailable": "Profile unavailable",
|
||||
"empty_column.blocks": "You haven't blocked any users yet.",
|
||||
"empty_column.community": "A helyi idővonal üres. Írj egy publikus stástuszt, hogy elindítsd a labdát!",
|
||||
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
|
||||
"empty_column.domain_blocks": "There are no hidden domains yet.",
|
||||
"empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.",
|
||||
"empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
|
||||
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
|
||||
"empty_column.hashtag": "Jelenleg nem található semmi ezen hashtaggel.",
|
||||
"empty_column.home": "A hazai idővonala üres! Látogasd meg a {public} vagy használd a keresőt, hogy ismerj meg más felhasználókat.",
|
||||
"empty_column.home.public_timeline": "publikus idővonal",
|
||||
"empty_column.list": "A lista jelenleg üres. Mikor a listatagok új státuszt posztolnak itt meg fognak jelenni.",
|
||||
"empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.",
|
||||
"empty_column.mutes": "You haven't muted any users yet.",
|
||||
"empty_column.notifications": "Jelenleg nincsenek értesítései. Lépj kapcsolatba másokkal, hogy indítsd el a beszélgetést.",
|
||||
"empty_column.public": "Jelenleg semmi nincs itt! Írj valamit publikusan vagy kövess más szervereken levő felhasználókat, hogy megtöltsd",
|
||||
"follow_request.authorize": "Engedélyez",
|
||||
"follow_request.reject": "Visszautasít",
|
||||
"getting_started.developers": "Developers",
|
||||
"getting_started.directory": "Profile directory",
|
||||
"getting_started.documentation": "Documentation",
|
||||
"empty_column.account_timeline": "Itt nincs tülkölés!",
|
||||
"empty_column.account_unavailable": "A profil nem elérhető",
|
||||
"empty_column.blocks": "Még senkit sem tiltottál le.",
|
||||
"empty_column.community": "A helyi idővonal üres. Tülkölj egyet nyilvánosan, hogy elindítsd az eseményeket!",
|
||||
"empty_column.direct": "Még nincs egy közvetlen üzeneted sem. Ha küldesz vagy kapsz egyet, itt fog megjelenni.",
|
||||
"empty_column.domain_blocks": "Még nem rejtettél el egyetlen domaint sem.",
|
||||
"empty_column.favourited_statuses": "Még nincs egy kedvenc tülköd sem. Ha kedvencnek jelölsz egyet, itt fog megjelenni.",
|
||||
"empty_column.favourites": "Még senki sem jelölte ezt a tülköt kedvencként. Ha valaki mégis megteszi, itt fogjuk mutatni.",
|
||||
"empty_column.follow_requests": "Még nincs egy követési kérésed sem. Ha kapsz egyet, itt fogjuk feltüntetni.",
|
||||
"empty_column.hashtag": "Jelenleg nem található semmi ezzel a hashtaggel.",
|
||||
"empty_column.home": "A saját idővonalad üres! Látogasd meg a {public} -at vagy használd a keresőt, hogy megismerj másokat.",
|
||||
"empty_column.home.public_timeline": "nyilvános idővonal",
|
||||
"empty_column.list": "A lista jelenleg üres. Ha a listatagok tülkölnek, itt fognak megjelenni.",
|
||||
"empty_column.lists": "Még nem hoztál létre listát. Ha csinálsz egyet, itt látszik majd.",
|
||||
"empty_column.mutes": "Még egy felhasználót sem némítottál le.",
|
||||
"empty_column.notifications": "Jelenleg nincsenek értesítéseid. Lépj kapcsolatba másokkal, hogy elindítsd a beszélgetést.",
|
||||
"empty_column.public": "Jelenleg itt nincs semmi! Írj valamit nyilvánosan vagy kövess más szervereken levő felhasználókat, hogy megtöltsd",
|
||||
"follow_request.authorize": "Engedélyezés",
|
||||
"follow_request.reject": "Visszautasítás",
|
||||
"getting_started.developers": "Fejlesztőknek",
|
||||
"getting_started.directory": "Profilok",
|
||||
"getting_started.documentation": "Dokumentáció",
|
||||
"getting_started.heading": "Első lépések",
|
||||
"getting_started.invite": "Invite people",
|
||||
"getting_started.open_source_notice": "Mastodon egy nyílt forráskódú szoftver. Hozzájárulás vagy problémák jelentése a GitHub-on {github}.",
|
||||
"getting_started.security": "Security",
|
||||
"getting_started.terms": "Terms of service",
|
||||
"hashtag.column_header.tag_mode.all": "and {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "or {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "without {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "No suggestions found",
|
||||
"hashtag.column_settings.select.placeholder": "Enter hashtags…",
|
||||
"hashtag.column_settings.tag_mode.all": "All of these",
|
||||
"hashtag.column_settings.tag_mode.any": "Any of these",
|
||||
"hashtag.column_settings.tag_mode.none": "None of these",
|
||||
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
|
||||
"home.column_settings.basic": "Alap",
|
||||
"home.column_settings.show_reblogs": "Ismétlések mutatása",
|
||||
"getting_started.invite": "Mások meghívása",
|
||||
"getting_started.open_source_notice": "A Mastodon nyílt forráskódú szoftver. Csatlakozhatsz a fejlesztéshez vagy jelenthetsz problémákat GitHub-on {github}.",
|
||||
"getting_started.security": "Biztonság",
|
||||
"getting_started.terms": "Felhasználási feltételek",
|
||||
"hashtag.column_header.tag_mode.all": "és {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "vagy {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "nélküle {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "Nincs javaslat",
|
||||
"hashtag.column_settings.select.placeholder": "Addj meg hashtageket…",
|
||||
"hashtag.column_settings.tag_mode.all": "Mindegyik",
|
||||
"hashtag.column_settings.tag_mode.any": "Bármelyik",
|
||||
"hashtag.column_settings.tag_mode.none": "Egyik sem",
|
||||
"hashtag.column_settings.tag_toggle": "Új tagek felvétele ehhez az oszlophoz",
|
||||
"home.column_settings.basic": "Alapértelmezések",
|
||||
"home.column_settings.show_reblogs": "Megtolások mutatása",
|
||||
"home.column_settings.show_replies": "Válaszok mutatása",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
"introduction.federation.action": "Next",
|
||||
"introduction.federation.federated.headline": "Federated",
|
||||
"introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
|
||||
"introduction.federation.home.headline": "Home",
|
||||
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
|
||||
"introduction.federation.local.headline": "Local",
|
||||
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
|
||||
"introduction.interactions.action": "Finish toot-orial!",
|
||||
"introduction.interactions.favourite.headline": "Favourite",
|
||||
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
|
||||
"introduction.interactions.reblog.headline": "Boost",
|
||||
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
|
||||
"introduction.interactions.reply.headline": "Reply",
|
||||
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
|
||||
"introduction.welcome.action": "Let's go!",
|
||||
"introduction.welcome.headline": "First steps",
|
||||
"introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
|
||||
"keyboard_shortcuts.back": "vissza navigálás",
|
||||
"keyboard_shortcuts.blocked": "to open blocked users list",
|
||||
"keyboard_shortcuts.boost": "ismétlés",
|
||||
"keyboard_shortcuts.column": "összpontosítson egy státuszra az egyik oszlopban",
|
||||
"keyboard_shortcuts.compose": "fókuszálja a szerkesztési szövegdobozt",
|
||||
"intervals.full.days": "{number, plural, one {# nap} other {# nap}}",
|
||||
"intervals.full.hours": "{number, plural, one {# óra} other {# óra}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# perc} other {# perc}}",
|
||||
"introduction.federation.action": "Következő",
|
||||
"introduction.federation.federated.headline": "Föderációs",
|
||||
"introduction.federation.federated.text": "A fediverzum más szervereiről származó nyilvános tülkök a föderációs idővonalon jelennek meg.",
|
||||
"introduction.federation.home.headline": "Saját",
|
||||
"introduction.federation.home.text": "A saját idővonaladon az általad követettek tülkjei jelennek meg. Bárkit követhetsz bármely szerveren.",
|
||||
"introduction.federation.local.headline": "Helyi",
|
||||
"introduction.federation.local.text": "A helyi idővonalon a veled közös szerveren lévő emberek nyilvános tülkjei jelennek meg.",
|
||||
"introduction.interactions.action": "Oktatóanyag befejezése!",
|
||||
"introduction.interactions.favourite.headline": "Kedvenc",
|
||||
"introduction.interactions.favourite.text": "A kedvenc funkcióval elrakhatsz későbbre egy tülköt, illetve közölheted a szerzővel, hogy tetszett a megosztása.",
|
||||
"introduction.interactions.reblog.headline": "Megtolás",
|
||||
"introduction.interactions.reblog.text": "A saját követőiddel mások tülkjeit is megoszthatod úgy, hogy megtolod őket.",
|
||||
"introduction.interactions.reply.headline": "Válasz",
|
||||
"introduction.interactions.reply.text": "Saját vagy mások tülkjeire válaszolva egy beszélgetési láncot alakíthatsz ki.",
|
||||
"introduction.welcome.action": "Csapjunk bele!",
|
||||
"introduction.welcome.headline": "Első lépések",
|
||||
"introduction.welcome.text": "Üdv a fediverzumban! Pár pillanat múlva már küldheted is üzeneteidet barátaidnak bármely szerveren. Ez a szerver {domain} viszont különleges. Ez tartja nyilván a profilod, szóval jegyezd meg a nevét.",
|
||||
"keyboard_shortcuts.back": "visszafelé navigálás",
|
||||
"keyboard_shortcuts.blocked": "letiltott felhasználók listájának megnyitása",
|
||||
"keyboard_shortcuts.boost": "megtolás",
|
||||
"keyboard_shortcuts.column": "fókuszálás egy tülkre az egyik oszlopban",
|
||||
"keyboard_shortcuts.compose": "fókuszálás a szerkesztési szövegdobozra",
|
||||
"keyboard_shortcuts.description": "Leírás",
|
||||
"keyboard_shortcuts.direct": "to open direct messages column",
|
||||
"keyboard_shortcuts.direct": "közvetlen üzenetek megnyitása",
|
||||
"keyboard_shortcuts.down": "lefele navigálás a listában",
|
||||
"keyboard_shortcuts.enter": "státusz megnyitása",
|
||||
"keyboard_shortcuts.favourite": "kedvenccé tétel",
|
||||
"keyboard_shortcuts.favourites": "to open favourites list",
|
||||
"keyboard_shortcuts.federated": "to open federated timeline",
|
||||
"keyboard_shortcuts.heading": "Billentyű rövidítések",
|
||||
"keyboard_shortcuts.home": "to open home timeline",
|
||||
"keyboard_shortcuts.enter": "tülk megnyitása",
|
||||
"keyboard_shortcuts.favourite": "kedvencnek jelölés",
|
||||
"keyboard_shortcuts.favourites": "kedvenc lista megnyitása",
|
||||
"keyboard_shortcuts.federated": "föderációs idővonal megnyitása",
|
||||
"keyboard_shortcuts.heading": "Billentyűparancsok",
|
||||
"keyboard_shortcuts.home": "saját idővonal megnyitása",
|
||||
"keyboard_shortcuts.hotkey": "Gyorsbillentyű",
|
||||
"keyboard_shortcuts.legend": "jelmagyarázat megjelenítése",
|
||||
"keyboard_shortcuts.local": "to open local timeline",
|
||||
"keyboard_shortcuts.mention": "szerző megjelenítése",
|
||||
"keyboard_shortcuts.muted": "to open muted users list",
|
||||
"keyboard_shortcuts.my_profile": "to open your profile",
|
||||
"keyboard_shortcuts.notifications": "to open notifications column",
|
||||
"keyboard_shortcuts.pinned": "to open pinned toots list",
|
||||
"keyboard_shortcuts.profile": "to open author's profile",
|
||||
"keyboard_shortcuts.reply": "válaszolás",
|
||||
"keyboard_shortcuts.requests": "to open follow requests list",
|
||||
"keyboard_shortcuts.search": "kereső kiemelése",
|
||||
"keyboard_shortcuts.start": "to open \"get started\" column",
|
||||
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
|
||||
"keyboard_shortcuts.toot": "új tülk megkezdése",
|
||||
"keyboard_shortcuts.local": "helyi idővonal megnyitása",
|
||||
"keyboard_shortcuts.mention": "szerző megemlítése",
|
||||
"keyboard_shortcuts.muted": "némított felhasználók listájának megnyitása",
|
||||
"keyboard_shortcuts.my_profile": "profilod megnyitása",
|
||||
"keyboard_shortcuts.notifications": "értesítések megnyitása",
|
||||
"keyboard_shortcuts.pinned": "kitűzött tülkök listájának megnyitása",
|
||||
"keyboard_shortcuts.profile": "szerző profiljának megnyitása",
|
||||
"keyboard_shortcuts.reply": "válasz",
|
||||
"keyboard_shortcuts.requests": "követési kérések listájának megnyitása",
|
||||
"keyboard_shortcuts.search": "fókuszálás a keresőre",
|
||||
"keyboard_shortcuts.start": "\"Első lépések\" megnyitása",
|
||||
"keyboard_shortcuts.toggle_hidden": "tartalmi figyelmeztetéssel ellátott szöveg mutatása/elrejtése",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "média mutatása/elrejtése",
|
||||
"keyboard_shortcuts.toot": "új tülk írása",
|
||||
"keyboard_shortcuts.unfocus": "tülk szerkesztés/keresés fókuszpontból való kivétele",
|
||||
"keyboard_shortcuts.up": "fennebb helyezés a listában",
|
||||
"keyboard_shortcuts.up": "felfelé mozdítás a listában",
|
||||
"lightbox.close": "Bezárás",
|
||||
"lightbox.next": "Következő",
|
||||
"lightbox.previous": "Előző",
|
||||
"lightbox.view_context": "View context",
|
||||
"lightbox.view_context": "Kontextus megtekintése",
|
||||
"lists.account.add": "Hozzáadás a listához",
|
||||
"lists.account.remove": "Eltávolít a listából",
|
||||
"lists.account.remove": "Eltávolítás a listából",
|
||||
"lists.delete": "Lista törlése",
|
||||
"lists.edit": "Lista szerkesztése",
|
||||
"lists.edit.submit": "Change title",
|
||||
"lists.edit.submit": "Cím megváltoztatása",
|
||||
"lists.new.create": "Lista hozzáadása",
|
||||
"lists.new.title_placeholder": "Új lista cím",
|
||||
"lists.search": "Keresés a követtett személyek között",
|
||||
"lists.new.title_placeholder": "Új lista címe",
|
||||
"lists.search": "Keresés a követett személyek között",
|
||||
"lists.subheading": "Listáid",
|
||||
"loading_indicator.label": "Betöltés...",
|
||||
"media_gallery.toggle_visible": "Láthatóság váltása",
|
||||
"media_gallery.toggle_visible": "Láthatóság állítása",
|
||||
"missing_indicator.label": "Nincs találat",
|
||||
"missing_indicator.sublabel": "Ezen forrás nem található",
|
||||
"mute_modal.hide_notifications": "Értesítések elrejtése ezen felhasználótól?",
|
||||
"navigation_bar.apps": "Mobile apps",
|
||||
"navigation_bar.blocks": "Tiltott felhasználók",
|
||||
"missing_indicator.sublabel": "Ez az erőforrás nem található",
|
||||
"mute_modal.hide_notifications": "Rejtsük el a felhasználótól származó értesítéseket?",
|
||||
"navigation_bar.apps": "Mobil appok",
|
||||
"navigation_bar.blocks": "Letiltott felhasználók",
|
||||
"navigation_bar.community_timeline": "Helyi idővonal",
|
||||
"navigation_bar.compose": "Compose new toot",
|
||||
"navigation_bar.direct": "Direct messages",
|
||||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.compose": "Új tülk írása",
|
||||
"navigation_bar.direct": "Közvetlen üzenetek",
|
||||
"navigation_bar.discover": "Felfedezés",
|
||||
"navigation_bar.domain_blocks": "Rejtett domainek",
|
||||
"navigation_bar.edit_profile": "Profil szerkesztése",
|
||||
"navigation_bar.favourites": "Kedvencek",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "Követési kérések",
|
||||
"navigation_bar.follows_and_followers": "Follows and followers",
|
||||
"navigation_bar.info": "Ezen szerverről",
|
||||
"navigation_bar.filters": "Némított szavak",
|
||||
"navigation_bar.follow_requests": "Követési kérelmek",
|
||||
"navigation_bar.follows_and_followers": "Követettek és követők",
|
||||
"navigation_bar.info": "Erről a szerverről",
|
||||
"navigation_bar.keyboard_shortcuts": "Gyorsbillentyűk",
|
||||
"navigation_bar.lists": "Listák",
|
||||
"navigation_bar.logout": "Kijelentkezés",
|
||||
"navigation_bar.mutes": "Némított felhasználók",
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.personal": "Személyes",
|
||||
"navigation_bar.pins": "Kitűzött tülkök",
|
||||
"navigation_bar.preferences": "Beállítások",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.public_timeline": "Nyilvános időfolyam",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.favourite": "{name} kedvencnek jelölte az állapotod",
|
||||
"navigation_bar.profile_directory": "Profilok",
|
||||
"navigation_bar.public_timeline": "Föderációs idővonal",
|
||||
"navigation_bar.security": "Biztonság",
|
||||
"notification.favourite": "{name} kedvencnek jelölte egy tülködet",
|
||||
"notification.follow": "{name} követ téged",
|
||||
"notification.mention": "{name} megemlített",
|
||||
"notification.poll": "A poll you have voted in has ended",
|
||||
"notification.reblog": "{name} rebloggolta az állapotod",
|
||||
"notification.poll": "Egy szavazás, melyben részt vettél, véget ért",
|
||||
"notification.reblog": "{name} megtolta a tülködet",
|
||||
"notifications.clear": "Értesítések törlése",
|
||||
"notifications.clear_confirmation": "Biztos benne, hogy véglegesen törölni akarja az összes értesítését?",
|
||||
"notifications.column_settings.alert": "Asztali gépi értesítések",
|
||||
"notifications.clear_confirmation": "Biztos, hogy véglegesen törölni akarod az összes értesítésed?",
|
||||
"notifications.column_settings.alert": "Asztali értesítések",
|
||||
"notifications.column_settings.favourite": "Kedvencek:",
|
||||
"notifications.column_settings.filter_bar.advanced": "Display all categories",
|
||||
"notifications.column_settings.filter_bar.category": "Quick filter bar",
|
||||
"notifications.column_settings.filter_bar.show": "Show",
|
||||
"notifications.column_settings.filter_bar.advanced": "Minden kategória mutatása",
|
||||
"notifications.column_settings.filter_bar.category": "Gyorskereső mező",
|
||||
"notifications.column_settings.filter_bar.show": "Mutat",
|
||||
"notifications.column_settings.follow": "Új követők:",
|
||||
"notifications.column_settings.mention": "Megemítéseim:",
|
||||
"notifications.column_settings.poll": "Poll results:",
|
||||
"notifications.column_settings.mention": "Megemlítéseid:",
|
||||
"notifications.column_settings.poll": "Szavazás eredménye:",
|
||||
"notifications.column_settings.push": "Push értesítések",
|
||||
"notifications.column_settings.reblog": "Rebloggolások:",
|
||||
"notifications.column_settings.reblog": "Megtolások:",
|
||||
"notifications.column_settings.show": "Oszlopban mutatás",
|
||||
"notifications.column_settings.sound": "Hang lejátszása",
|
||||
"notifications.filter.all": "All",
|
||||
"notifications.filter.boosts": "Boosts",
|
||||
"notifications.filter.favourites": "Favourites",
|
||||
"notifications.filter.follows": "Follows",
|
||||
"notifications.filter.mentions": "Mentions",
|
||||
"notifications.filter.polls": "Poll results",
|
||||
"notifications.group": "{count} notifications",
|
||||
"poll.closed": "Closed",
|
||||
"poll.refresh": "Refresh",
|
||||
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
|
||||
"poll.vote": "Vote",
|
||||
"poll_button.add_poll": "Add a poll",
|
||||
"poll_button.remove_poll": "Remove poll",
|
||||
"privacy.change": "Státusz láthatóságának módosítása",
|
||||
"privacy.direct.long": "Posztolás csak az említett felhasználóknak",
|
||||
"privacy.direct.short": "Egyenesen",
|
||||
"privacy.private.long": "Posztolás csak követőknek",
|
||||
"notifications.filter.all": "Mind",
|
||||
"notifications.filter.boosts": "Megtolások",
|
||||
"notifications.filter.favourites": "Kedvencnek jelölések",
|
||||
"notifications.filter.follows": "Követések",
|
||||
"notifications.filter.mentions": "Megemlítések",
|
||||
"notifications.filter.polls": "Szavazások eredményei",
|
||||
"notifications.group": "{count} értesítés",
|
||||
"poll.closed": "Lezárva",
|
||||
"poll.refresh": "Frissítés",
|
||||
"poll.total_votes": "{count, plural, one {# szavazat} other {# szavazat}}",
|
||||
"poll.vote": "Szavazás",
|
||||
"poll_button.add_poll": "Új szavazás",
|
||||
"poll_button.remove_poll": "Szavazás törlése",
|
||||
"privacy.change": "Tülk láthatóságának módosítása",
|
||||
"privacy.direct.long": "Tülk csak az említett felhasználóknak",
|
||||
"privacy.direct.short": "Közvetlen",
|
||||
"privacy.private.long": "Tülk csak követőknek",
|
||||
"privacy.private.short": "Csak követőknek",
|
||||
"privacy.public.long": "Posztolás a publikus idővonalakra",
|
||||
"privacy.public.short": "Publikus",
|
||||
"privacy.unlisted.long": "Do not show in public timelines",
|
||||
"privacy.public.long": "Tülk a nyilvános idővonalra",
|
||||
"privacy.public.short": "Nyilvános",
|
||||
"privacy.unlisted.long": "Ne mutassuk nyilvános idővonalon",
|
||||
"privacy.unlisted.short": "Listázatlan",
|
||||
"regeneration_indicator.label": "Töltődik…",
|
||||
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
|
||||
"relative_time.days": "{number}d",
|
||||
"relative_time.hours": "{number}h",
|
||||
"regeneration_indicator.sublabel": "A saját idővonalad épp készül!",
|
||||
"relative_time.days": "{number}nap",
|
||||
"relative_time.hours": "{number}ó",
|
||||
"relative_time.just_now": "most",
|
||||
"relative_time.minutes": "{number}m",
|
||||
"relative_time.seconds": "{number}s",
|
||||
"relative_time.minutes": "{number}p",
|
||||
"relative_time.seconds": "{number}mp",
|
||||
"reply_indicator.cancel": "Mégsem",
|
||||
"report.forward": "Forward to {target}",
|
||||
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
|
||||
"report.hint": "The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:",
|
||||
"report.placeholder": "További kommentek",
|
||||
"report.submit": "Submit",
|
||||
"report.target": "Reporting",
|
||||
"report.forward": "Továbbítás neki {target}",
|
||||
"report.forward_hint": "Ez a fiók egy másik szerverről van. Küldjünk oda is egy anonimizált bejelentést?",
|
||||
"report.hint": "A bejelentést a szervered moderátorainak küldjük el. Megmagyarázhatod, miért jelented az alábbi problémát:",
|
||||
"report.placeholder": "További megjegyzések",
|
||||
"report.submit": "Küldés",
|
||||
"report.target": "{target} jelentése",
|
||||
"search.placeholder": "Keresés",
|
||||
"search_popout.search_format": "Fejlett keresés",
|
||||
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
|
||||
"search_popout.search_format": "Haladó keresés",
|
||||
"search_popout.tips.full_text": "Egyszerű szöveg. Illeszkedő, általad írt tülköket, kedvencnek jelöléseket, megtolást, megemlítést, felhasználói nevet, megjelenített nevet, hashtageket ad majd vissza.",
|
||||
"search_popout.tips.hashtag": "hashtag",
|
||||
"search_popout.tips.status": "status",
|
||||
"search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
|
||||
"search_popout.tips.status": "tülk",
|
||||
"search_popout.tips.text": "Egyszerű szöveg. Illeszkedő megjelenített nevet, felhasználói nevet, hashtageket ad majd vissza",
|
||||
"search_popout.tips.user": "felhasználó",
|
||||
"search_results.accounts": "People",
|
||||
"search_results.hashtags": "Hashtags",
|
||||
"search_results.statuses": "Toots",
|
||||
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
|
||||
"status.admin_account": "Open moderation interface for @{name}",
|
||||
"status.admin_status": "Open this status in the moderation interface",
|
||||
"status.block": "Block @{name}",
|
||||
"status.cancel_reblog_private": "Unboost",
|
||||
"status.cannot_reblog": "Ezen státusz nem rebloggolható",
|
||||
"status.copy": "Copy link to status",
|
||||
"search_results.accounts": "Emberek",
|
||||
"search_results.hashtags": "Hashtagek",
|
||||
"search_results.statuses": "Tülkök",
|
||||
"search_results.total": "{count, number} {count, plural, one {találat} other {találat}}",
|
||||
"status.admin_account": "Moderáció megnyitása @{name} felhasználóhoz",
|
||||
"status.admin_status": "Tülk megnyitása moderációra",
|
||||
"status.block": "@{name} letiltása",
|
||||
"status.cancel_reblog_private": "Megtolás törlése",
|
||||
"status.cannot_reblog": "Ez a tülk nem tolható meg",
|
||||
"status.copy": "Link másolása tülkbe",
|
||||
"status.delete": "Törlés",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Direct message @{name}",
|
||||
"status.embed": "Beágyaz",
|
||||
"status.detailed_status": "Részletes beszélgetési nézet",
|
||||
"status.direct": "Közvetlen üzenet @{name} számára",
|
||||
"status.embed": "Beágyazás",
|
||||
"status.favourite": "Kedvenc",
|
||||
"status.filtered": "Filtered",
|
||||
"status.filtered": "Megszűrt",
|
||||
"status.load_more": "Többet",
|
||||
"status.media_hidden": "Média elrejtve",
|
||||
"status.mention": "Említés",
|
||||
"status.mention": "@{name} említése",
|
||||
"status.more": "Többet",
|
||||
"status.mute": "@{name} némítása",
|
||||
"status.mute_conversation": "Beszélgetés némítása",
|
||||
"status.open": "Státusz kinagyítása",
|
||||
"status.open": "Tülk kibontása",
|
||||
"status.pin": "Kitűzés a profilra",
|
||||
"status.pinned": "Pinned toot",
|
||||
"status.read_more": "Read more",
|
||||
"status.reblog": "Reblog",
|
||||
"status.reblog_private": "Boost to original audience",
|
||||
"status.reblogged_by": "{name} reblogolta",
|
||||
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
|
||||
"status.redraft": "Delete & re-draft",
|
||||
"status.pinned": "Kitűzött tülk",
|
||||
"status.read_more": "Bővebben",
|
||||
"status.reblog": "Megtolás",
|
||||
"status.reblog_private": "Megtolás az eredeti közönségnek",
|
||||
"status.reblogged_by": "{name} megtolta",
|
||||
"status.reblogs.empty": "Senki sem tolta még meg ezt a tülköt. Ha valaki megteszi, itt fog megjelenni.",
|
||||
"status.redraft": "Törlés és újraírás",
|
||||
"status.reply": "Válasz",
|
||||
"status.replyAll": "Válaszolj a beszélgetésre",
|
||||
"status.report": "Report @{name}",
|
||||
"status.sensitive_warning": "Érzékeny tartalom",
|
||||
"status.replyAll": "Válasz a beszélgetésre",
|
||||
"status.report": "@{name} jelentése",
|
||||
"status.sensitive_warning": "Szenzitív tartalom",
|
||||
"status.share": "Megosztás",
|
||||
"status.show_less": "Kevesebb",
|
||||
"status.show_less_all": "Show less for all",
|
||||
"status.show_less": "Kevesebbet",
|
||||
"status.show_less_all": "Kevesebbet mindenhol",
|
||||
"status.show_more": "Többet",
|
||||
"status.show_more_all": "Show more for all",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.unmute_conversation": "Beszélgetés némításának elvonása",
|
||||
"status.unpin": "Kitűzés eltávolítása a profilról",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
"suggestions.header": "You might be interested in…",
|
||||
"tabs_bar.federated_timeline": "Federált",
|
||||
"tabs_bar.home": "Kezdőlap",
|
||||
"tabs_bar.local_timeline": "Local",
|
||||
"status.show_more_all": "Többet mindenhol",
|
||||
"status.show_thread": "Szál mutatása",
|
||||
"status.unmute_conversation": "Beszélgetés némításának kikapcsolása",
|
||||
"status.unpin": "Kitűzés eltávolítása a profilodról",
|
||||
"suggestions.dismiss": "Javaslat elvetése",
|
||||
"suggestions.header": "Esetleg érdekelhet…",
|
||||
"tabs_bar.federated_timeline": "Föderációs",
|
||||
"tabs_bar.home": "Saját",
|
||||
"tabs_bar.local_timeline": "Helyi",
|
||||
"tabs_bar.notifications": "Értesítések",
|
||||
"tabs_bar.search": "Search",
|
||||
"time_remaining.days": "{number, plural, one {# day} other {# days}} left",
|
||||
"time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left",
|
||||
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
|
||||
"time_remaining.moments": "Moments remaining",
|
||||
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
|
||||
"ui.beforeunload": "A piszkozata el fog vesztődni ha elhagyja Mastodon-t.",
|
||||
"upload_area.title": "Húzza ide a feltöltéshez",
|
||||
"upload_button.label": "Média hozzáadása",
|
||||
"upload_error.limit": "File upload limit exceeded.",
|
||||
"upload_error.poll": "File upload not allowed with polls.",
|
||||
"upload_form.description": "Describe for the visually impaired",
|
||||
"upload_form.focus": "Crop",
|
||||
"tabs_bar.search": "Keresés",
|
||||
"time_remaining.days": "{number, plural, one {# nap} other {# nap}} van hátra",
|
||||
"time_remaining.hours": "{number, plural, one {# óra} other {# óra}} van hátra",
|
||||
"time_remaining.minutes": "{number, plural, one {# perc} other {# perc}} van hátra",
|
||||
"time_remaining.moments": "Pillanatok vannak hátra",
|
||||
"time_remaining.seconds": "{number, plural, one {# másodperc} other {# másodperc}} van hátra",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {résztvevő} other {résztvevő}} beszélget",
|
||||
"ui.beforeunload": "A piszkozatod el fog veszni, ha elhagyod a Mastodon-t.",
|
||||
"upload_area.title": "Húzd ide a feltöltéshez",
|
||||
"upload_button.label": "Média hozzáadása (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_error.limit": "Túllépted a fájl feltöltési limitet.",
|
||||
"upload_error.poll": "Szavazásnál nem lehet fájlt feltölteni.",
|
||||
"upload_form.description": "Leírás látáskorlátozottak számára",
|
||||
"upload_form.focus": "Előnézet megváltoztatása",
|
||||
"upload_form.undo": "Mégsem",
|
||||
"upload_progress.label": "Uploading...",
|
||||
"video.close": "Close video",
|
||||
"video.exit_fullscreen": "Exit full screen",
|
||||
"video.expand": "Expand video",
|
||||
"video.fullscreen": "Full screen",
|
||||
"video.hide": "Hide video",
|
||||
"video.mute": "Mute sound",
|
||||
"upload_progress.label": "Feltöltés...",
|
||||
"video.close": "Videó bezárása",
|
||||
"video.exit_fullscreen": "Kilépés teljes képernyőből",
|
||||
"video.expand": "Videó nagyítása",
|
||||
"video.fullscreen": "Teljes képernyő",
|
||||
"video.hide": "Videó elrejtése",
|
||||
"video.mute": "Hang némitása",
|
||||
"video.pause": "Szünet",
|
||||
"video.play": "Lejátszás",
|
||||
"video.unmute": "Hang kinémítása"
|
||||
"video.unmute": "Hang némitásának vége"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
"boost_modal.combo": "Puoi premere {combo} per saltare questo passaggio la prossima volta",
|
||||
"bundle_column_error.body": "E' avvenuto un errore durante il caricamento di questo componente.",
|
||||
"bundle_column_error.retry": "Riprova",
|
||||
"bundle_column_error.title": "Network error",
|
||||
"bundle_column_error.title": "Errore di rete",
|
||||
"bundle_modal_error.close": "Chiudi",
|
||||
"bundle_modal_error.message": "C'è stato un errore mentre questo componente veniva caricato.",
|
||||
"bundle_modal_error.retry": "Riprova",
|
||||
|
|
@ -71,20 +71,20 @@
|
|||
"compose_form.lock_disclaimer": "Il tuo account non è {bloccato}. Chiunque può decidere di seguirti per vedere i tuoi post per soli seguaci.",
|
||||
"compose_form.lock_disclaimer.lock": "bloccato",
|
||||
"compose_form.placeholder": "A cosa stai pensando?",
|
||||
"compose_form.poll.add_option": "Add a choice",
|
||||
"compose_form.poll.duration": "Poll duration",
|
||||
"compose_form.poll.option_placeholder": "Choice {number}",
|
||||
"compose_form.poll.remove_option": "Remove this choice",
|
||||
"compose_form.poll.add_option": "Aggiungi una scelta",
|
||||
"compose_form.poll.duration": "Durata del sondaggio",
|
||||
"compose_form.poll.option_placeholder": "Scelta {number}",
|
||||
"compose_form.poll.remove_option": "Rimuovi questa scelta",
|
||||
"compose_form.publish": "Toot",
|
||||
"compose_form.publish_loud": "{publish}!",
|
||||
"compose_form.sensitive.hide": "Mark media as sensitive",
|
||||
"compose_form.sensitive.hide": "Segna media come sensibile",
|
||||
"compose_form.sensitive.marked": "Questo media è contrassegnato come sensibile",
|
||||
"compose_form.sensitive.unmarked": "Questo media non è contrassegnato come sensibile",
|
||||
"compose_form.spoiler.marked": "Il testo è nascosto dall'avviso",
|
||||
"compose_form.spoiler.unmarked": "Il testo non è nascosto",
|
||||
"compose_form.spoiler_placeholder": "Content warning",
|
||||
"confirmation_modal.cancel": "Annulla",
|
||||
"confirmations.block.block_and_report": "Block & Report",
|
||||
"confirmations.block.block_and_report": "Blocca & Segnala",
|
||||
"confirmations.block.confirm": "Blocca",
|
||||
"confirmations.block.message": "Sei sicuro di voler bloccare {name}?",
|
||||
"confirmations.delete.confirm": "Cancella",
|
||||
|
|
@ -118,7 +118,7 @@
|
|||
"emoji_button.symbols": "Simboli",
|
||||
"emoji_button.travel": "Viaggi e luoghi",
|
||||
"empty_column.account_timeline": "Non ci sono toot qui!",
|
||||
"empty_column.account_unavailable": "Profile unavailable",
|
||||
"empty_column.account_unavailable": "Profilo non disponibile",
|
||||
"empty_column.blocks": "Non hai ancora bloccato nessun utente.",
|
||||
"empty_column.community": "La timeline locale è vuota. Condividi qualcosa pubblicamente per dare inizio alla festa!",
|
||||
"empty_column.direct": "Non hai ancora nessun messaggio diretto. Quando ne manderai o riceverai qualcuno, apparirà qui.",
|
||||
|
|
@ -156,15 +156,15 @@
|
|||
"home.column_settings.basic": "Semplice",
|
||||
"home.column_settings.show_reblogs": "Mostra post condivisi",
|
||||
"home.column_settings.show_replies": "Mostra risposte",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
"intervals.full.days": "{number, plural, one {# giorno} other {# giorni}}",
|
||||
"intervals.full.hours": "{number, plural, one {# ora} other {# ore}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minuti}}",
|
||||
"introduction.federation.action": "Avanti",
|
||||
"introduction.federation.federated.headline": "Federated",
|
||||
"introduction.federation.federated.headline": "Federato",
|
||||
"introduction.federation.federated.text": "I post pubblici provenienti da altri server del fediverse saranno mostrati nella timeline federata.",
|
||||
"introduction.federation.home.headline": "Home",
|
||||
"introduction.federation.home.text": "I post scritti da persone che segui saranno mostrati nella timeline home. Puoi seguire chiunque su qualunque server!",
|
||||
"introduction.federation.local.headline": "Local",
|
||||
"introduction.federation.local.headline": "Locale",
|
||||
"introduction.federation.local.text": "I post pubblici scritti da persone sul tuo stesso server saranno mostrati nella timeline locale.",
|
||||
"introduction.interactions.action": "Finisci il tutorial!",
|
||||
"introduction.interactions.favourite.headline": "Apprezza",
|
||||
|
|
@ -204,17 +204,17 @@
|
|||
"keyboard_shortcuts.search": "per spostare il focus sulla ricerca",
|
||||
"keyboard_shortcuts.start": "per aprire la colonna \"Come iniziare\"",
|
||||
"keyboard_shortcuts.toggle_hidden": "per mostrare/nascondere il testo dei CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "mostrare/nascondere media",
|
||||
"keyboard_shortcuts.toot": "per iniziare a scrivere un toot completamente nuovo",
|
||||
"keyboard_shortcuts.unfocus": "per uscire dall'area di composizione o dalla ricerca",
|
||||
"keyboard_shortcuts.up": "per spostarsi in alto nella lista",
|
||||
"lightbox.close": "Chiudi",
|
||||
"lightbox.next": "Successivo",
|
||||
"lightbox.previous": "Precedente",
|
||||
"lightbox.view_context": "View context",
|
||||
"lightbox.view_context": "Mostra contesto",
|
||||
"lists.account.add": "Aggiungi alla lista",
|
||||
"lists.account.remove": "Togli dalla lista",
|
||||
"lists.delete": "Delete list",
|
||||
"lists.delete": "Elimina lista",
|
||||
"lists.edit": "Modifica lista",
|
||||
"lists.edit.submit": "Cambia titolo",
|
||||
"lists.new.create": "Aggiungi lista",
|
||||
|
|
@ -243,16 +243,16 @@
|
|||
"navigation_bar.lists": "Liste",
|
||||
"navigation_bar.logout": "Esci",
|
||||
"navigation_bar.mutes": "Utenti silenziati",
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.personal": "Personale",
|
||||
"navigation_bar.pins": "Toot fissati in cima",
|
||||
"navigation_bar.preferences": "Impostazioni",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.profile_directory": "Directory dei profili",
|
||||
"navigation_bar.public_timeline": "Timeline federata",
|
||||
"navigation_bar.security": "Sicurezza",
|
||||
"notification.favourite": "{name} ha apprezzato il tuo post",
|
||||
"notification.follow": "{name} ha iniziato a seguirti",
|
||||
"notification.mention": "{name} ti ha menzionato",
|
||||
"notification.poll": "A poll you have voted in has ended",
|
||||
"notification.poll": "Un sondaggio in cui hai votato è terminato",
|
||||
"notification.reblog": "{name} ha condiviso il tuo post",
|
||||
"notifications.clear": "Cancella notifiche",
|
||||
"notifications.clear_confirmation": "Vuoi davvero cancellare tutte le notifiche?",
|
||||
|
|
@ -263,7 +263,7 @@
|
|||
"notifications.column_settings.filter_bar.show": "Mostra",
|
||||
"notifications.column_settings.follow": "Nuovi seguaci:",
|
||||
"notifications.column_settings.mention": "Menzioni:",
|
||||
"notifications.column_settings.poll": "Poll results:",
|
||||
"notifications.column_settings.poll": "Risultati del sondaggio:",
|
||||
"notifications.column_settings.push": "Notifiche push",
|
||||
"notifications.column_settings.reblog": "Post condivisi:",
|
||||
"notifications.column_settings.show": "Mostra in colonna",
|
||||
|
|
@ -273,14 +273,14 @@
|
|||
"notifications.filter.favourites": "Apprezzati",
|
||||
"notifications.filter.follows": "Seguaci",
|
||||
"notifications.filter.mentions": "Menzioni",
|
||||
"notifications.filter.polls": "Poll results",
|
||||
"notifications.filter.polls": "Risultati del sondaggio",
|
||||
"notifications.group": "{count} notifiche",
|
||||
"poll.closed": "Chiuso",
|
||||
"poll.refresh": "Aggiorna",
|
||||
"poll.total_votes": "{count, plural, one {# voto} other {# voti}}",
|
||||
"poll.vote": "Vota",
|
||||
"poll_button.add_poll": "Add a poll",
|
||||
"poll_button.remove_poll": "Remove poll",
|
||||
"poll_button.add_poll": "Aggiungi un sondaggio",
|
||||
"poll_button.remove_poll": "Rimuovi sondaggio",
|
||||
"privacy.change": "Modifica privacy del post",
|
||||
"privacy.direct.long": "Invia solo a utenti menzionati",
|
||||
"privacy.direct.short": "Diretto",
|
||||
|
|
@ -292,8 +292,8 @@
|
|||
"privacy.unlisted.short": "Non elencato",
|
||||
"regeneration_indicator.label": "Caricamento in corso…",
|
||||
"regeneration_indicator.sublabel": "Stiamo preparando il tuo home feed!",
|
||||
"relative_time.days": "{number}d",
|
||||
"relative_time.hours": "{number}h",
|
||||
"relative_time.days": "{number}g",
|
||||
"relative_time.hours": "{number}o",
|
||||
"relative_time.just_now": "ora",
|
||||
"relative_time.minutes": "{number}m",
|
||||
"relative_time.seconds": "{number}s",
|
||||
|
|
@ -307,8 +307,8 @@
|
|||
"search.placeholder": "Cerca",
|
||||
"search_popout.search_format": "Formato di ricerca avanzato",
|
||||
"search_popout.tips.full_text": "Testo semplice per trovare gli status che hai scritto, segnato come apprezzati, condiviso o in cui sei stato citato, e inoltre i nomi utente, nomi visualizzati e hashtag che lo contengono.",
|
||||
"search_popout.tips.hashtag": "hashtag",
|
||||
"search_popout.tips.status": "status",
|
||||
"search_popout.tips.hashtag": "etichetta",
|
||||
"search_popout.tips.status": "stato",
|
||||
"search_popout.tips.text": "Testo semplice per trovare nomi visualizzati, nomi utente e hashtag che lo contengono",
|
||||
"search_popout.tips.user": "utente",
|
||||
"search_results.accounts": "Gente",
|
||||
|
|
@ -371,7 +371,7 @@
|
|||
"upload_area.title": "Trascina per caricare",
|
||||
"upload_button.label": "Aggiungi file multimediale",
|
||||
"upload_error.limit": "Limite al caricamento di file superato.",
|
||||
"upload_error.poll": "File upload not allowed with polls.",
|
||||
"upload_error.poll": "Caricamento file non consentito nei sondaggi.",
|
||||
"upload_form.description": "Descrizione per utenti con disabilità visive",
|
||||
"upload_form.focus": "Modifica anteprima",
|
||||
"upload_form.undo": "Cancella",
|
||||
|
|
|
|||
|
|
@ -369,7 +369,7 @@
|
|||
"trends.count_by_accounts": "{count}人がトゥート",
|
||||
"ui.beforeunload": "Mastodonから離れると送信前の投稿は失われます。",
|
||||
"upload_area.title": "ドラッグ&ドロップでアップロード",
|
||||
"upload_button.label": "メディアを追加 (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_button.label": "メディアを追加 ({formats})",
|
||||
"upload_error.limit": "アップロードできる上限を超えています。",
|
||||
"upload_error.poll": "アンケートではファイルをアップロードできません。",
|
||||
"upload_form.description": "視覚障害者のための説明",
|
||||
|
|
|
|||
|
|
@ -361,15 +361,15 @@
|
|||
"tabs_bar.local_timeline": "Lokaal",
|
||||
"tabs_bar.notifications": "Meldingen",
|
||||
"tabs_bar.search": "Zoeken",
|
||||
"time_remaining.days": "{number, plural, one {# dag} other {# dagen}} left",
|
||||
"time_remaining.hours": "{number, plural, one {# uur} other {# uur}} left",
|
||||
"time_remaining.minutes": "{number, plural, one {# minuut} other {# minuten}} left",
|
||||
"time_remaining.days": "{number, plural, one {# dag} other {# dagen}} te gaan",
|
||||
"time_remaining.hours": "{number, plural, one {# uur} other {# uur}} te gaan",
|
||||
"time_remaining.minutes": "{number, plural, one {# minuut} other {# minuten}} te gaan",
|
||||
"time_remaining.moments": "Nog enkele ogenblikken resterend",
|
||||
"time_remaining.seconds": "{number, plural, one {# seconde} other {# seconden}} left",
|
||||
"time_remaining.seconds": "{number, plural, one {# seconde} other {# seconden}} te gaan",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {persoon praat} other {mensen praten}} hierover",
|
||||
"ui.beforeunload": "Je concept zal verloren gaan als je Mastodon verlaat.",
|
||||
"upload_area.title": "Hierin slepen om te uploaden",
|
||||
"upload_button.label": "Media toevoegen (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_area.title": "Hiernaar toe slepen om te uploaden",
|
||||
"upload_button.label": "Media toevoegen ({formats})",
|
||||
"upload_error.limit": "Uploadlimiet van bestand overschreden.",
|
||||
"upload_error.poll": "Het uploaden van bestanden is in polls niet toegestaan.",
|
||||
"upload_form.description": "Omschrijf dit voor mensen met een visuele beperking",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"account.add_or_remove_from_list": "Pridaj, alebo odstráň zo zoznamov",
|
||||
"account.add_or_remove_from_list": "Pridaj do, alebo odober zo zoznamov",
|
||||
"account.badges.bot": "Bot",
|
||||
"account.block": "Blokuj @{name}",
|
||||
"account.block_domain": "Ukry všetko z {domain}",
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
"account.unmute": "Prestaň ignorovať @{name}",
|
||||
"account.unmute_notifications": "Zruš stĺmenie oboznámení od @{name}",
|
||||
"alert.unexpected.message": "Vyskytla sa nečakaná chyba.",
|
||||
"alert.unexpected.title": "Oops!",
|
||||
"alert.unexpected.title": "Ups!",
|
||||
"boost_modal.combo": "Nabudúce môžeš kliknúť {combo} pre preskočenie",
|
||||
"bundle_column_error.body": "Pri načítaní tohto prvku nastala nejaká chyba.",
|
||||
"bundle_column_error.retry": "Skús to znova",
|
||||
|
|
@ -77,14 +77,14 @@
|
|||
"compose_form.poll.remove_option": "Odstráň túto voľbu",
|
||||
"compose_form.publish": "Pošli",
|
||||
"compose_form.publish_loud": "{publish}!",
|
||||
"compose_form.sensitive.hide": "Mark media as sensitive",
|
||||
"compose_form.sensitive.hide": "Označ médiá ako chúlostivé",
|
||||
"compose_form.sensitive.marked": "Médiálny obsah je označený ako chúlostivý",
|
||||
"compose_form.sensitive.unmarked": "Médiálny obsah nieje označený ako chúlostivý",
|
||||
"compose_form.spoiler.marked": "Text je ukrytý za varovaním",
|
||||
"compose_form.spoiler.unmarked": "Text nieje ukrytý",
|
||||
"compose_form.spoiler_placeholder": "Sem napíš tvoje varovanie",
|
||||
"confirmation_modal.cancel": "Zruš",
|
||||
"confirmations.block.block_and_report": "Block & Report",
|
||||
"confirmations.block.block_and_report": "Zablokuj a nahlás",
|
||||
"confirmations.block.confirm": "Blokuj",
|
||||
"confirmations.block.message": "Si si istý/á, že chceš blokovať {name}?",
|
||||
"confirmations.delete.confirm": "Vymaž",
|
||||
|
|
@ -204,14 +204,14 @@
|
|||
"keyboard_shortcuts.search": "zameraj sa na vyhľadávanie",
|
||||
"keyboard_shortcuts.start": "otvor panel ''začíname''",
|
||||
"keyboard_shortcuts.toggle_hidden": "ukáž/skry text za CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "pre zobrazenie/skrytie médií",
|
||||
"keyboard_shortcuts.toot": "začni úplne nový príspevok",
|
||||
"keyboard_shortcuts.unfocus": "nesústreď sa na písaciu plochu, alebo hľadanie",
|
||||
"keyboard_shortcuts.up": "posuň sa vyššie v zozname",
|
||||
"lightbox.close": "Zatvor",
|
||||
"lightbox.next": "Ďalšie",
|
||||
"lightbox.previous": "Predchádzajúci",
|
||||
"lightbox.view_context": "View context",
|
||||
"lightbox.view_context": "Ukáž kontext",
|
||||
"lists.account.add": "Pridaj do zoznamu",
|
||||
"lists.account.remove": "Odober zo zoznamu",
|
||||
"lists.delete": "Vymaž list",
|
||||
|
|
@ -237,7 +237,7 @@
|
|||
"navigation_bar.favourites": "Obľúbené",
|
||||
"navigation_bar.filters": "Filtrované slová",
|
||||
"navigation_bar.follow_requests": "Žiadosti o sledovanie",
|
||||
"navigation_bar.follows_and_followers": "Follows and followers",
|
||||
"navigation_bar.follows_and_followers": "Následovaní a sledovatelia",
|
||||
"navigation_bar.info": "O tomto serveri",
|
||||
"navigation_bar.keyboard_shortcuts": "Klávesové skratky",
|
||||
"navigation_bar.lists": "Zoznamy",
|
||||
|
|
@ -246,7 +246,7 @@
|
|||
"navigation_bar.personal": "Osobné",
|
||||
"navigation_bar.pins": "Pripnuté príspevky",
|
||||
"navigation_bar.preferences": "Voľby",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.profile_directory": "Katalóg profilov",
|
||||
"navigation_bar.public_timeline": "Federovaná časová os",
|
||||
"navigation_bar.security": "Zabezbečenie",
|
||||
"notification.favourite": "{name} si obľúbil/a tvoj príspevok",
|
||||
|
|
@ -292,11 +292,11 @@
|
|||
"privacy.unlisted.short": "Verejne, ale nezobraziť v osi",
|
||||
"regeneration_indicator.label": "Načítava sa…",
|
||||
"regeneration_indicator.sublabel": "Vaša domovská nástenka sa pripravuje!",
|
||||
"relative_time.days": "{number}d",
|
||||
"relative_time.hours": "{number}h",
|
||||
"relative_time.days": "{number}dní",
|
||||
"relative_time.hours": "{number}hod",
|
||||
"relative_time.just_now": "teraz",
|
||||
"relative_time.minutes": "{number}m",
|
||||
"relative_time.seconds": "{number}s",
|
||||
"relative_time.minutes": "{number}min",
|
||||
"relative_time.seconds": "{number}sek",
|
||||
"reply_indicator.cancel": "Zrušiť",
|
||||
"report.forward": "Posuň ku {target}",
|
||||
"report.forward_hint": "Tento účet je z iného serveru. Chceš poslať anonymnú kópiu hlásenia aj tam?",
|
||||
|
|
@ -308,7 +308,7 @@
|
|||
"search_popout.search_format": "Pokročilé vyhľadávanie",
|
||||
"search_popout.tips.full_text": "Vráti jednoduchý textový výpis príspevkov ktoré si napísal/a, ktoré si obľúbil/a, povýšil/a, alebo aj tých, v ktorých si bol/a spomenutý/á, a potom všetky zadaniu odpovedajúce prezívky, mená a haštagy.",
|
||||
"search_popout.tips.hashtag": "haštag",
|
||||
"search_popout.tips.status": "status",
|
||||
"search_popout.tips.status": "príspevok",
|
||||
"search_popout.tips.text": "Vráti jednoduchý textový výpis zhodujúcich sa mien, prezývok a haštagov",
|
||||
"search_popout.tips.user": "užívateľ",
|
||||
"search_results.accounts": "Ľudia",
|
||||
|
|
@ -361,7 +361,7 @@
|
|||
"tabs_bar.local_timeline": "Miestna",
|
||||
"tabs_bar.notifications": "Oboznámenia",
|
||||
"tabs_bar.search": "Hľadaj",
|
||||
"time_remaining.days": "Ostáva {number, plural, one {# deň} few {# dní} many {# dni} other {# dni}}",
|
||||
"time_remaining.days": "Ostáva {number, plural, one {# deň} few {# dní} many {# dní} other {# dni}}",
|
||||
"time_remaining.hours": "Ostáva {number, plural, one {# hodina} few {# hodín} many {# hodín} other {# hodiny}}",
|
||||
"time_remaining.minutes": "Ostáva {number, plural, one {# minúta} few {# minút} many {# minút} other {# minúty}}",
|
||||
"time_remaining.moments": "Ostáva už iba chviľka",
|
||||
|
|
|
|||
|
|
@ -13,10 +13,10 @@
|
|||
"account.followers.empty": "Nihče ne sledi temu uporabniku.",
|
||||
"account.follows": "Sledi",
|
||||
"account.follows.empty": "Ta uporabnik še ne sledi nikomur.",
|
||||
"account.follows_you": "Ti sledi",
|
||||
"account.hide_reblogs": "Skrij sunke od @{name}",
|
||||
"account.follows_you": "Sledi tebi",
|
||||
"account.hide_reblogs": "Skrij spodbude od @{name}",
|
||||
"account.link_verified_on": "Lastništvo te povezave je bilo preverjeno {date}",
|
||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
||||
"account.locked_info": "Stanje zasebnosti računa je nastavljeno na zaklenjeno. Lastnik ročno pregleda, kdo ga lahko spremlja.",
|
||||
"account.media": "Mediji",
|
||||
"account.mention": "Omeni @{name}",
|
||||
"account.moved_to": "{name} se je premaknil na:",
|
||||
|
|
@ -28,16 +28,16 @@
|
|||
"account.report": "Prijavi @{name}",
|
||||
"account.requested": "Čakanje na odobritev. Kliknite, da prekličete prošnjo za sledenje",
|
||||
"account.share": "Delite profil osebe @{name}",
|
||||
"account.show_reblogs": "Pokaži delitve osebe @{name}",
|
||||
"account.show_reblogs": "Pokaži spodbude osebe @{name}",
|
||||
"account.unblock": "Odblokiraj @{name}",
|
||||
"account.unblock_domain": "Razkrij {domain}",
|
||||
"account.unendorse": "Don't feature on profile",
|
||||
"account.unendorse": "Ne vključi v profil",
|
||||
"account.unfollow": "Prenehaj slediti",
|
||||
"account.unmute": "Odtišaj @{name}",
|
||||
"account.unmute_notifications": "Vklopi obvestila od @{name}",
|
||||
"alert.unexpected.message": "Zgodila se je nepričakovana napaka.",
|
||||
"alert.unexpected.title": "Uups!",
|
||||
"boost_modal.combo": "Če želite naslednjič preskočiti to, lahko pritisnete {combo}",
|
||||
"boost_modal.combo": "Če želite preskočiti to, lahko pritisnete {combo}",
|
||||
"bundle_column_error.body": "Med nalaganjem te komponente je prišlo do napake.",
|
||||
"bundle_column_error.retry": "Poskusi ponovno",
|
||||
"bundle_column_error.title": "Napaka omrežja",
|
||||
|
|
@ -67,49 +67,49 @@
|
|||
"community.column_settings.media_only": "Samo mediji",
|
||||
"compose_form.direct_message_warning": "Ta tut bo viden le vsem omenjenim uporabnikom.",
|
||||
"compose_form.direct_message_warning_learn_more": "Nauči se več",
|
||||
"compose_form.hashtag_warning": "Ta tut ne bo naveden pod nobenim hashtagom, ker ni dodan hashtag. Samo javne tute lahko iščete pod hashtagom.",
|
||||
"compose_form.hashtag_warning": "Ta tut ne bo naveden pod nobenim ključnikom, ker ni javen. Samo javne tute lahko iščete s ključniki.",
|
||||
"compose_form.lock_disclaimer": "Vaš račun ni {locked}. Vsakdo vam lahko sledi in si ogleda objave, ki so namenjene samo sledilcem.",
|
||||
"compose_form.lock_disclaimer.lock": "zaklenjen",
|
||||
"compose_form.placeholder": "O čem razmišljaš?",
|
||||
"compose_form.poll.add_option": "Add a choice",
|
||||
"compose_form.poll.duration": "Poll duration",
|
||||
"compose_form.poll.option_placeholder": "Choice {number}",
|
||||
"compose_form.poll.remove_option": "Remove this choice",
|
||||
"compose_form.poll.add_option": "Dodaj izbiro",
|
||||
"compose_form.poll.duration": "Trajanje ankete",
|
||||
"compose_form.poll.option_placeholder": "Izbira {number}",
|
||||
"compose_form.poll.remove_option": "Odstrani to izbiro",
|
||||
"compose_form.publish": "Tutni",
|
||||
"compose_form.publish_loud": "{publish}!",
|
||||
"compose_form.sensitive.hide": "Mark media as sensitive",
|
||||
"compose_form.sensitive.hide": "Označi medij kot občutljiv",
|
||||
"compose_form.sensitive.marked": "Medij je označen kot občutljiv",
|
||||
"compose_form.sensitive.unmarked": "Medij ni označen kot občutljiv",
|
||||
"compose_form.spoiler.marked": "Besedilo je skrito za opozorilom",
|
||||
"compose_form.spoiler.unmarked": "Besedilo ni skrito",
|
||||
"compose_form.spoiler_placeholder": "Napišite opozorilo tukaj",
|
||||
"compose_form.spoiler_placeholder": "Tukaj napišite opozorilo",
|
||||
"confirmation_modal.cancel": "Prekliči",
|
||||
"confirmations.block.block_and_report": "Block & Report",
|
||||
"confirmations.block.confirm": "Block",
|
||||
"confirmations.block.block_and_report": "Blokiraj in Prijavi",
|
||||
"confirmations.block.confirm": "Blokiraj",
|
||||
"confirmations.block.message": "Ali ste prepričani, da želite blokirati {name}?",
|
||||
"confirmations.delete.confirm": "Delete",
|
||||
"confirmations.delete.confirm": "Izbriši",
|
||||
"confirmations.delete.message": "Ali ste prepričani, da želite izbrisati to stanje?",
|
||||
"confirmations.delete_list.confirm": "Delete",
|
||||
"confirmations.delete_list.confirm": "Izbriši",
|
||||
"confirmations.delete_list.message": "Ali ste prepričani, da želite trajno izbrisati ta seznam?",
|
||||
"confirmations.domain_block.confirm": "Skrij celotno domeno",
|
||||
"confirmations.domain_block.message": "Ali ste res, res prepričani, da želite blokirati celotno {domain}? V večini primerov je nekaj ciljnih blokiranj ali utišanj dovolj in boljše.",
|
||||
"confirmations.domain_block.message": "Ali ste res, res prepričani, da želite blokirati celotno {domain}? V večini primerov je nekaj ciljnih blokiranj ali utišanj dovolj in boljše. Vsebino iz te domene ne boste videli v javnih časovnicah ali obvestilih. Vaši sledilci iz te domene bodo odstranjeni.",
|
||||
"confirmations.mute.confirm": "Utišanje",
|
||||
"confirmations.mute.message": "Ali ste prepričani, da želite utišati {name}?",
|
||||
"confirmations.redraft.confirm": "Izbriši in preoblikuj",
|
||||
"confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it.",
|
||||
"confirmations.reply.confirm": "Reply",
|
||||
"confirmations.redraft.message": "Ali ste prepričani, da želite izbrisati ta status in ga preoblikovati? Vzljubi in spodbude bodo izgubljeni, odgovori na izvirno objavo pa bodo osiroteli.",
|
||||
"confirmations.reply.confirm": "Odgovori",
|
||||
"confirmations.reply.message": "Odgovarjanje bo prepisalo sporočilo, ki ga trenutno sestavljate. Ali ste prepričani, da želite nadaljevati?",
|
||||
"confirmations.unfollow.confirm": "Prenehaj slediti",
|
||||
"confirmations.unfollow.message": "Ali ste prepričani, da ne želite več slediti {name}?",
|
||||
"embed.instructions": "Vstavi ta status na svojo spletno stran tako, da kopirate spodnjo kodo.",
|
||||
"embed.preview": "Tukaj je, kako bo izgledalo:",
|
||||
"embed.preview": "Tako bo izgledalo:",
|
||||
"emoji_button.activity": "Dejavnost",
|
||||
"emoji_button.custom": "Po meri",
|
||||
"emoji_button.flags": "Zastave",
|
||||
"emoji_button.food": "Hrana in Pijača",
|
||||
"emoji_button.label": "Vstavi emojija",
|
||||
"emoji_button.label": "Vstavi emotikon",
|
||||
"emoji_button.nature": "Narava",
|
||||
"emoji_button.not_found": "Ni emojijev!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.not_found": "Ni emotikonov!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.objects": "Predmeti",
|
||||
"emoji_button.people": "Ljudje",
|
||||
"emoji_button.recent": "Pogosto uporabljeni",
|
||||
|
|
@ -117,50 +117,50 @@
|
|||
"emoji_button.search_results": "Rezultati iskanja",
|
||||
"emoji_button.symbols": "Simboli",
|
||||
"emoji_button.travel": "Potovanja in Kraji",
|
||||
"empty_column.account_timeline": "No toots here!",
|
||||
"empty_column.account_unavailable": "Profile unavailable",
|
||||
"empty_column.account_timeline": "Tukaj ni tutov!",
|
||||
"empty_column.account_unavailable": "Profil ni na voljo",
|
||||
"empty_column.blocks": "Niste še blokirali nobenega uporabnika.",
|
||||
"empty_column.community": "Lokalna časovnica je prazna. Napišite nekaj javnega, da se bo žoga zakotalila!",
|
||||
"empty_column.direct": "Nimate še nobenih neposrednih sporočil. Ko ga pošljete ali prejmete, se prikaže tukaj.",
|
||||
"empty_column.direct": "Nimate še nobenih neposrednih sporočil. Ko ga boste poslali ali prejeli, se bo prikazal tukaj.",
|
||||
"empty_column.domain_blocks": "Še vedno ni skritih domen.",
|
||||
"empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.",
|
||||
"empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
|
||||
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
|
||||
"empty_column.hashtag": "V tem hashtagu še ni nič.",
|
||||
"empty_column.favourited_statuses": "Nimate priljubljenih tutov. Ko boste vzljubili kakšnega, se bo prikazal tukaj.",
|
||||
"empty_column.favourites": "Nihče še ni vzljubil tega tuta. Ko ga bo nekdo, se bo pojavil tukaj.",
|
||||
"empty_column.follow_requests": "Nimate prošenj za sledenje. Ko boste prejeli kakšno, se bo prikazala tukaj.",
|
||||
"empty_column.hashtag": "V tem ključniku še ni nič.",
|
||||
"empty_column.home": "Vaša domača časovnica je prazna! Obiščite {public} ali uporabite iskanje, da se boste srečali druge uporabnike.",
|
||||
"empty_column.home.public_timeline": "javna časovnica",
|
||||
"empty_column.list": "Na tem seznamu ni ničesar. Ko bodo člani tega seznama objavili nove statuse, se bodo pojavili tukaj.",
|
||||
"empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.",
|
||||
"empty_column.mutes": "You haven't muted any users yet.",
|
||||
"empty_column.lists": "Nimate seznamov. Ko ga boste ustvarili, se bo prikazal tukaj.",
|
||||
"empty_column.mutes": "Niste utišali še nobenega uporabnika.",
|
||||
"empty_column.notifications": "Nimate še nobenih obvestil. Poveži se z drugimi, da začnete pogovor.",
|
||||
"empty_column.public": "Tukaj ni ničesar! Da ga napolnite, napišite nekaj javnega ali pa ročno sledite uporabnikom iz drugih vozlišč",
|
||||
"follow_request.authorize": "Odobri",
|
||||
"empty_column.public": "Tukaj ni ničesar! Da ga napolnite, napišite nekaj javnega ali pa ročno sledite uporabnikom iz drugih strežnikov",
|
||||
"follow_request.authorize": "Overi",
|
||||
"follow_request.reject": "Zavrni",
|
||||
"getting_started.developers": "Developers",
|
||||
"getting_started.directory": "Profile directory",
|
||||
"getting_started.documentation": "Documentation",
|
||||
"getting_started.heading": "Prvi koraki",
|
||||
"getting_started.invite": "Invite people",
|
||||
"getting_started.open_source_notice": "Mastodon je odprtokodna programska oprema. V GitHubu na {github} lahko prispevate ali poročate o napakah.",
|
||||
"getting_started.security": "Security",
|
||||
"getting_started.terms": "Terms of service",
|
||||
"hashtag.column_header.tag_mode.all": "and {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "or {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "without {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "No suggestions found",
|
||||
"hashtag.column_settings.select.placeholder": "Enter hashtags…",
|
||||
"hashtag.column_settings.tag_mode.all": "All of these",
|
||||
"hashtag.column_settings.tag_mode.any": "Any of these",
|
||||
"hashtag.column_settings.tag_mode.none": "None of these",
|
||||
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
|
||||
"getting_started.developers": "Razvijalci",
|
||||
"getting_started.directory": "Imenik profilov",
|
||||
"getting_started.documentation": "Dokumentacija",
|
||||
"getting_started.heading": "Kako začeti",
|
||||
"getting_started.invite": "Povabite osebe",
|
||||
"getting_started.open_source_notice": "Mastodon je odprtokodna programska oprema. Na GitHubu na {github} lahko prispevate ali poročate o napakah.",
|
||||
"getting_started.security": "Varnost",
|
||||
"getting_started.terms": "Pogoji uporabe",
|
||||
"hashtag.column_header.tag_mode.all": "in {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "ali {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "brez {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "Ni najdenih predlogov",
|
||||
"hashtag.column_settings.select.placeholder": "Vpiši ključnik…",
|
||||
"hashtag.column_settings.tag_mode.all": "Vse našteto",
|
||||
"hashtag.column_settings.tag_mode.any": "Karkoli od naštetega",
|
||||
"hashtag.column_settings.tag_mode.none": "Nič od naštetega",
|
||||
"hashtag.column_settings.tag_toggle": "V ta stolpec vključite dodatne oznake",
|
||||
"home.column_settings.basic": "Osnovno",
|
||||
"home.column_settings.show_reblogs": "Pokaži sunke",
|
||||
"home.column_settings.show_reblogs": "Pokaži spodbude",
|
||||
"home.column_settings.show_replies": "Pokaži odgovore",
|
||||
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
"introduction.federation.action": "Next",
|
||||
"introduction.federation.federated.headline": "Federated",
|
||||
"intervals.full.days": "{number, plural, one {# dan} two {# dni} few {# dni} other {# dni}}",
|
||||
"intervals.full.hours": "{number, plural, one {# ura} two {# uri} few {# ure} other {# ur}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuta} two {# minuti} few {# minute} other {# minut}}",
|
||||
"introduction.federation.action": "Naprej",
|
||||
"introduction.federation.federated.headline": "Združeno",
|
||||
"introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
|
||||
"introduction.federation.home.headline": "Home",
|
||||
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
|
||||
|
|
|
|||
|
|
@ -11,12 +11,12 @@
|
|||
"account.follow": "ติดตาม",
|
||||
"account.followers": "ผู้ติดตาม",
|
||||
"account.followers.empty": "ยังไม่มีใครติดตามผู้ใช้นี้",
|
||||
"account.follows": "ติดตาม",
|
||||
"account.follows": "การติดตาม",
|
||||
"account.follows.empty": "ผู้ใช้นี้ยังไม่ได้ติดตามใคร",
|
||||
"account.follows_you": "ติดตามคุณ",
|
||||
"account.hide_reblogs": "ซ่อนการดันจาก @{name}",
|
||||
"account.link_verified_on": "ตรวจสอบความเป็นเจ้าของของลิงก์นี้เมื่อ {date}",
|
||||
"account.locked_info": "บัญชีนี้ถูกล็อคไว้ เจ้าของจะต้องรับรองการติดตามของคุณด้วย",
|
||||
"account.locked_info": "มีการตั้งสถานะความเป็นส่วนตัวของบัญชีนี้เป็นล็อคอยู่ เจ้าของตรวจทานผู้ที่สามารถติดตามเขาด้วยตนเอง",
|
||||
"account.media": "สื่อ",
|
||||
"account.mention": "กล่าวถึง @{name}",
|
||||
"account.moved_to": "{name} ได้ย้ายไปยัง:",
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
"account.unmute_notifications": "เลิกปิดเสียงการแจ้งเตือนจาก @{name}",
|
||||
"alert.unexpected.message": "เกิดข้อผิดพลาดที่ไม่คาดคิด",
|
||||
"alert.unexpected.title": "อุปส์!",
|
||||
"boost_modal.combo": "กด {combo} เพื่อข้าม",
|
||||
"boost_modal.combo": "คุณสามารถกด {combo} เพื่อข้ามสิ่งนี้ในครั้งถัดไป",
|
||||
"bundle_column_error.body": "มีบางอย่างผิดพลาดขณะโหลดส่วนประกอบนี้",
|
||||
"bundle_column_error.retry": "ลองอีกครั้ง",
|
||||
"bundle_column_error.title": "ข้อผิดพลาดเครือข่าย",
|
||||
|
|
@ -65,23 +65,23 @@
|
|||
"column_header.unpin": "ถอนหมุด",
|
||||
"column_subheading.settings": "การตั้งค่า",
|
||||
"community.column_settings.media_only": "สื่อเท่านั้น",
|
||||
"compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.",
|
||||
"compose_form.direct_message_warning": "จะส่งโพสต์นี้ไปยังผู้ใช้ที่กล่าวถึงเท่านั้น",
|
||||
"compose_form.direct_message_warning_learn_more": "เรียนรู้เพิ่มเติม",
|
||||
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
|
||||
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
|
||||
"compose_form.lock_disclaimer.lock": "locked",
|
||||
"compose_form.placeholder": "What is on your mind?",
|
||||
"compose_form.poll.add_option": "Add a choice",
|
||||
"compose_form.hashtag_warning": "จะไม่แสดงรายการโพสต์นี้ภายใต้แฮชแท็กใด ๆ เนื่องจากไม่อยู่ในรายการ เฉพาะโพสต์สาธารณะเท่านั้นที่สามารถค้นหาโดยแฮชแท็ก",
|
||||
"compose_form.lock_disclaimer": "บัญชีของคุณไม่ได้ {locked} ใครก็ตามสามารถติดตามคุณเพื่อดูโพสต์สำหรับผู้ติดตามเท่านั้นของคุณ",
|
||||
"compose_form.lock_disclaimer.lock": "ล็อคอยู่",
|
||||
"compose_form.placeholder": "คุณกำลังคิดอะไรอยู่?",
|
||||
"compose_form.poll.add_option": "เพิ่มทางเลือก",
|
||||
"compose_form.poll.duration": "Poll duration",
|
||||
"compose_form.poll.option_placeholder": "Choice {number}",
|
||||
"compose_form.poll.remove_option": "Remove this choice",
|
||||
"compose_form.poll.option_placeholder": "ทางเลือก {number}",
|
||||
"compose_form.poll.remove_option": "เอาทางเลือกนี้ออก",
|
||||
"compose_form.publish": "โพสต์",
|
||||
"compose_form.publish_loud": "{publish}!",
|
||||
"compose_form.sensitive.hide": "Mark media as sensitive",
|
||||
"compose_form.sensitive.marked": "Media is marked as sensitive",
|
||||
"compose_form.sensitive.unmarked": "Media is not marked as sensitive",
|
||||
"compose_form.spoiler.marked": "Text is hidden behind warning",
|
||||
"compose_form.spoiler.unmarked": "Text is not hidden",
|
||||
"compose_form.sensitive.hide": "ทำเครื่องหมายสื่อว่าละเอียดอ่อน",
|
||||
"compose_form.sensitive.marked": "มีการทำเครื่องหมายสื่อว่าละเอียดอ่อน",
|
||||
"compose_form.sensitive.unmarked": "ไม่มีการทำเครื่องหมายสื่อว่าละเอียดอ่อน",
|
||||
"compose_form.spoiler.marked": "มีการซ่อนข้อความอยู่หลังคำเตือน",
|
||||
"compose_form.spoiler.unmarked": "ไม่มีการซ่อนข้อความ",
|
||||
"compose_form.spoiler_placeholder": "เขียนคำเตือนของคุณที่นี่",
|
||||
"confirmation_modal.cancel": "ยกเลิก",
|
||||
"confirmations.block.block_and_report": "ปิดกั้นแล้วรายงาน",
|
||||
|
|
@ -91,25 +91,25 @@
|
|||
"confirmations.delete.message": "คุณแน่ใจหรือไม่ว่าต้องการลบสถานะนี้?",
|
||||
"confirmations.delete_list.confirm": "ลบ",
|
||||
"confirmations.delete_list.message": "คุณแน่ใจหรือไม่ว่าต้องการลบรายการนี้อย่างถาวร?",
|
||||
"confirmations.domain_block.confirm": "Hide entire domain",
|
||||
"confirmations.domain_block.confirm": "ซ่อนทั้งโดเมน",
|
||||
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
|
||||
"confirmations.mute.confirm": "ปิดเสียง",
|
||||
"confirmations.mute.message": "คุณแน่ใจหรือไม่ว่าต้องการปิดเสียง {name}?",
|
||||
"confirmations.redraft.confirm": "ลบแล้วร่างใหม่",
|
||||
"confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it.",
|
||||
"confirmations.redraft.message": "คุณแน่ใจหรือไม่ว่าต้องการลบสถานะนี้แล้วร่างใหม่? รายการโปรดและการดันจะหายไป และการตอบกลับโพสต์ดั้งเดิมจะไม่มีความเกี่ยวพัน",
|
||||
"confirmations.reply.confirm": "ตอบกลับ",
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.reply.message": "การตอบกลับตอนนี้จะเขียนทับข้อความที่คุณกำลังเขียน คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?",
|
||||
"confirmations.unfollow.confirm": "เลิกติดตาม",
|
||||
"confirmations.unfollow.message": "คุณแน่ใจหรือไม่ว่าต้องการเลิกติดตาม {name}?",
|
||||
"embed.instructions": "Embed this status on your website by copying the code below.",
|
||||
"embed.preview": "Here is what it will look like:",
|
||||
"embed.instructions": "ฝังสถานะนี้ในเว็บไซต์ของคุณโดยคัดลอกโค้ดด้านล่าง",
|
||||
"embed.preview": "นี่คือลักษณะที่จะปรากฏ:",
|
||||
"emoji_button.activity": "กิจกรรม",
|
||||
"emoji_button.custom": "กำหนดเอง",
|
||||
"emoji_button.flags": "ธง",
|
||||
"emoji_button.food": "อาหารและเครื่องดื่ม",
|
||||
"emoji_button.label": "แทรกอีโมจิ",
|
||||
"emoji_button.nature": "ธรรมชาติ",
|
||||
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.not_found": "ไม่มีอีโมโจ!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.objects": "วัตถุ",
|
||||
"emoji_button.people": "ผู้คน",
|
||||
"emoji_button.recent": "ที่ใช้บ่อย",
|
||||
|
|
@ -118,22 +118,22 @@
|
|||
"emoji_button.symbols": "สัญลักษณ์",
|
||||
"emoji_button.travel": "การเดินทางและสถานที่",
|
||||
"empty_column.account_timeline": "ไม่มีโพสต์ที่นี่!",
|
||||
"empty_column.account_unavailable": "Profile unavailable",
|
||||
"empty_column.blocks": "You haven't blocked any users yet.",
|
||||
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
|
||||
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
|
||||
"empty_column.account_unavailable": "ไม่มีโปรไฟล์",
|
||||
"empty_column.blocks": "คุณยังไม่ได้ปิดกั้นผู้ใช้ใด ๆ",
|
||||
"empty_column.community": "เส้นเวลาในเว็บว่างเปล่า เขียนบางอย่างเป็นสาธารณะเพื่อเริ่มต้น!",
|
||||
"empty_column.direct": "คุณยังไม่มีข้อความโดยตรงใด ๆ เมื่อคุณส่งหรือรับข้อความ ข้อความจะปรากฏที่นี่",
|
||||
"empty_column.domain_blocks": "ยังไม่มีโดเมนที่ซ่อนอยู่",
|
||||
"empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.",
|
||||
"empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
|
||||
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
|
||||
"empty_column.hashtag": "There is nothing in this hashtag yet.",
|
||||
"empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
|
||||
"empty_column.favourited_statuses": "คุณยังไม่มีโพสต์ที่ชื่นชอบใด ๆ เมื่อคุณชื่นชอบโพสต์ โพสต์จะปรากฏที่นี่",
|
||||
"empty_column.favourites": "ยังไม่มีใครชื่นชอบโพสต์นี้ เมื่อใครสักคนชื่นชอบ เขาจะปรากฏที่นี่",
|
||||
"empty_column.follow_requests": "คุณยังไม่มีคำขอติดตามใด ๆ เมื่อคุณได้รับคำขอ คำขอจะปรากฏที่นี่",
|
||||
"empty_column.hashtag": "ยังไม่มีสิ่งใดในแฮชแท็กนี้",
|
||||
"empty_column.home": "เส้นเวลาหน้าแรกของคุณว่างเปล่า! เยี่ยมชม {public} หรือใช้การค้นหาเพื่อเริ่มต้นใช้งานและพบปะผู้ใช้อื่น ๆ",
|
||||
"empty_column.home.public_timeline": "เส้นเวลาสาธารณะ",
|
||||
"empty_column.list": "There is nothing in this list yet.",
|
||||
"empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.",
|
||||
"empty_column.mutes": "You haven't muted any users yet.",
|
||||
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
|
||||
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
|
||||
"empty_column.list": "ยังไม่มีสิ่งใดในรายการนี้ เมื่อสมาชิกของรายการนี้โพสต์สถานะใหม่ สถานะจะปรากฏที่นี่",
|
||||
"empty_column.lists": "คุณยังไม่มีรายการใด ๆ เมื่อคุณสร้างรายการ รายการจะปรากฏที่นี่",
|
||||
"empty_column.mutes": "คุณยังไม่ได้ปิดเสียงผู้ใช้ใด ๆ",
|
||||
"empty_column.notifications": "คุณยังไม่มีการแจ้งเตือนใด ๆ โต้ตอบกับผู้อื่นเพื่อเริ่มการสนทนา",
|
||||
"empty_column.public": "ไม่มีสิ่งใดที่นี่! เขียนบางอย่างเป็นสาธารณะ หรือติดตามผู้ใช้จากเซิร์ฟเวอร์อื่น ๆ ด้วยตนเองเพื่อเติมให้เต็ม",
|
||||
"follow_request.authorize": "อนุญาต",
|
||||
"follow_request.reject": "ปฏิเสธ",
|
||||
"getting_started.developers": "นักพัฒนา",
|
||||
|
|
@ -141,7 +141,7 @@
|
|||
"getting_started.documentation": "เอกสารประกอบ",
|
||||
"getting_started.heading": "เริ่มต้นใช้งาน",
|
||||
"getting_started.invite": "เชิญผู้คน",
|
||||
"getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}.",
|
||||
"getting_started.open_source_notice": "Mastodon เป็นซอฟต์แวร์เปิดต้นฉบับ คุณสามารถมีส่วนร่วมหรือรายงานปัญหาใน GitHub ที่ {github}",
|
||||
"getting_started.security": "ความปลอดภัย",
|
||||
"getting_started.terms": "เงื่อนไขการให้บริการ",
|
||||
"hashtag.column_header.tag_mode.all": "และ {additional}",
|
||||
|
|
@ -149,10 +149,10 @@
|
|||
"hashtag.column_header.tag_mode.none": "โดยไม่มี {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "ไม่พบข้อเสนอแนะ",
|
||||
"hashtag.column_settings.select.placeholder": "ป้อนแฮชแท็ก…",
|
||||
"hashtag.column_settings.tag_mode.all": "All of these",
|
||||
"hashtag.column_settings.tag_mode.any": "Any of these",
|
||||
"hashtag.column_settings.tag_mode.none": "None of these",
|
||||
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
|
||||
"hashtag.column_settings.tag_mode.all": "ทั้งหมดนี้",
|
||||
"hashtag.column_settings.tag_mode.any": "ใดก็ตามนี้",
|
||||
"hashtag.column_settings.tag_mode.none": "ไม่ใช่ทั้งหมดนี้",
|
||||
"hashtag.column_settings.tag_toggle": "รวมแท็กเพิ่มเติมสำหรับคอลัมน์นี้",
|
||||
"home.column_settings.basic": "พื้นฐาน",
|
||||
"home.column_settings.show_reblogs": "แสดงการดัน",
|
||||
"home.column_settings.show_replies": "แสดงการตอบกลับ",
|
||||
|
|
@ -160,58 +160,58 @@
|
|||
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
|
||||
"introduction.federation.action": "ถัดไป",
|
||||
"introduction.federation.federated.headline": "Federated",
|
||||
"introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
|
||||
"introduction.federation.home.headline": "Home",
|
||||
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
|
||||
"introduction.federation.local.headline": "Local",
|
||||
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
|
||||
"introduction.interactions.action": "Finish toot-orial!",
|
||||
"introduction.interactions.favourite.headline": "Favourite",
|
||||
"introduction.federation.federated.headline": "ที่ติดต่อกับภายนอก",
|
||||
"introduction.federation.federated.text": "โพสต์สาธารณะจากเซิร์ฟเวอร์อื่น ๆ ของ Fediverse จะปรากฏในเส้นเวลาที่ติดต่อกับภายนอก",
|
||||
"introduction.federation.home.headline": "หน้าแรก",
|
||||
"introduction.federation.home.text": "โพสต์จากผู้คนที่คุณติดตามจะปรากฏในฟีดหน้าแรกของคุณ คุณสามารถติดตามใครก็ตามในเซิร์ฟเวอร์ใดก็ตาม!",
|
||||
"introduction.federation.local.headline": "ในเว็บ",
|
||||
"introduction.federation.local.text": "โพสต์สาธารณะจากผู้คนในเซิร์ฟเวอร์เดียวกันกับคุณจะปรากฏในเส้นเวลาในเว็บ",
|
||||
"introduction.interactions.action": "เสร็จสิ้นบทช่วยสอน!",
|
||||
"introduction.interactions.favourite.headline": "ชื่นชอบ",
|
||||
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
|
||||
"introduction.interactions.reblog.headline": "Boost",
|
||||
"introduction.interactions.reblog.headline": "ดัน",
|
||||
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
|
||||
"introduction.interactions.reply.headline": "Reply",
|
||||
"introduction.interactions.reply.headline": "ตอบกลับ",
|
||||
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
|
||||
"introduction.welcome.action": "Let's go!",
|
||||
"introduction.welcome.headline": "First steps",
|
||||
"introduction.welcome.action": "ไปกันเลย!",
|
||||
"introduction.welcome.headline": "ขั้นตอนแรก",
|
||||
"introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
|
||||
"keyboard_shortcuts.back": "to navigate back",
|
||||
"keyboard_shortcuts.blocked": "to open blocked users list",
|
||||
"keyboard_shortcuts.boost": "to boost",
|
||||
"keyboard_shortcuts.column": "to focus a status in one of the columns",
|
||||
"keyboard_shortcuts.compose": "to focus the compose textarea",
|
||||
"keyboard_shortcuts.back": "เพื่อนำทางย้อนกลับ",
|
||||
"keyboard_shortcuts.blocked": "เพื่อเปิดรายการผู้ใช้ที่ปิดกั้นอยู่",
|
||||
"keyboard_shortcuts.boost": "เพื่อดัน",
|
||||
"keyboard_shortcuts.column": "เพื่อโฟกัสสถานะในหนึ่งในคอลัมน์",
|
||||
"keyboard_shortcuts.compose": "เพื่อโฟกัสพื้นที่เขียนข้อความ",
|
||||
"keyboard_shortcuts.description": "คำอธิบาย",
|
||||
"keyboard_shortcuts.direct": "to open direct messages column",
|
||||
"keyboard_shortcuts.down": "to move down in the list",
|
||||
"keyboard_shortcuts.enter": "to open status",
|
||||
"keyboard_shortcuts.favourite": "to favourite",
|
||||
"keyboard_shortcuts.favourites": "to open favourites list",
|
||||
"keyboard_shortcuts.federated": "to open federated timeline",
|
||||
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
|
||||
"keyboard_shortcuts.home": "to open home timeline",
|
||||
"keyboard_shortcuts.direct": "เพื่อเปิดคอลัมน์ข้อความโดยตรง",
|
||||
"keyboard_shortcuts.down": "เพื่อย้ายลงในรายการ",
|
||||
"keyboard_shortcuts.enter": "เพื่อเปิดสถานะ",
|
||||
"keyboard_shortcuts.favourite": "เพื่อชื่นชอบ",
|
||||
"keyboard_shortcuts.favourites": "เพื่อเปิดรายการโปรด",
|
||||
"keyboard_shortcuts.federated": "เพื่อเปิดเส้นเวลาที่ติดต่อกับภายนอก",
|
||||
"keyboard_shortcuts.heading": "แป้นพิมพ์ลัด",
|
||||
"keyboard_shortcuts.home": "เพื่อเปิดเส้นเวลาหน้าแรก",
|
||||
"keyboard_shortcuts.hotkey": "ปุ่มลัด",
|
||||
"keyboard_shortcuts.legend": "to display this legend",
|
||||
"keyboard_shortcuts.local": "to open local timeline",
|
||||
"keyboard_shortcuts.mention": "to mention author",
|
||||
"keyboard_shortcuts.muted": "to open muted users list",
|
||||
"keyboard_shortcuts.my_profile": "to open your profile",
|
||||
"keyboard_shortcuts.notifications": "to open notifications column",
|
||||
"keyboard_shortcuts.pinned": "to open pinned toots list",
|
||||
"keyboard_shortcuts.profile": "to open author's profile",
|
||||
"keyboard_shortcuts.reply": "to reply",
|
||||
"keyboard_shortcuts.requests": "to open follow requests list",
|
||||
"keyboard_shortcuts.search": "to focus search",
|
||||
"keyboard_shortcuts.start": "to open \"get started\" column",
|
||||
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
|
||||
"keyboard_shortcuts.toot": "to start a brand new toot",
|
||||
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
||||
"keyboard_shortcuts.up": "to move up in the list",
|
||||
"keyboard_shortcuts.legend": "เพื่อแสดงคำอธิบายนี้",
|
||||
"keyboard_shortcuts.local": "เพื่อเปิดเส้นเวลาในเว็บ",
|
||||
"keyboard_shortcuts.mention": "เพื่อกล่าวถึงผู้สร้าง",
|
||||
"keyboard_shortcuts.muted": "เพื่อเปิดรายการผู้ใช้ที่ปิดเสียงอยู่",
|
||||
"keyboard_shortcuts.my_profile": "เพื่อเปิดโปรไฟล์ของคุณ",
|
||||
"keyboard_shortcuts.notifications": "เพื่อเปิดคอลัมน์การแจ้งเตือน",
|
||||
"keyboard_shortcuts.pinned": "เพื่อเปิดรายการโพสต์ที่ปักหมุด",
|
||||
"keyboard_shortcuts.profile": "เพื่อเปิดโปรไฟล์ของผู้สร้าง",
|
||||
"keyboard_shortcuts.reply": "เพื่อตอบกลับ",
|
||||
"keyboard_shortcuts.requests": "เพื่อเปิดรายการคำขอติดตาม",
|
||||
"keyboard_shortcuts.search": "เพื่อโฟกัสการค้นหา",
|
||||
"keyboard_shortcuts.start": "เพื่อเปิดคอลัมน์ \"เริ่มต้นใช้งาน\"",
|
||||
"keyboard_shortcuts.toggle_hidden": "เพื่อแสดง/ซ่อนข้อความที่อยู่หลังคำเตือนเนื้อหา",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "เพื่อแสดง/ซ่อนสื่อ",
|
||||
"keyboard_shortcuts.toot": "เพื่อเริ่มโพสต์ใหม่",
|
||||
"keyboard_shortcuts.unfocus": "เพื่อเลิกโฟกัสพื้นที่เขียนข้อความ/การค้นหา",
|
||||
"keyboard_shortcuts.up": "เพื่อย้ายขึ้นในรายการ",
|
||||
"lightbox.close": "ปิด",
|
||||
"lightbox.next": "ถัดไป",
|
||||
"lightbox.previous": "ก่อนหน้า",
|
||||
"lightbox.view_context": "View context",
|
||||
"lightbox.view_context": "ดูบริบท",
|
||||
"lists.account.add": "เพิ่มไปยังรายการ",
|
||||
"lists.account.remove": "เอาออกจากรายการ",
|
||||
"lists.delete": "ลบรายการ",
|
||||
|
|
@ -237,7 +237,7 @@
|
|||
"navigation_bar.favourites": "รายการโปรด",
|
||||
"navigation_bar.filters": "คำที่ปิดเสียงอยู่",
|
||||
"navigation_bar.follow_requests": "คำขอติดตาม",
|
||||
"navigation_bar.follows_and_followers": "Follows and followers",
|
||||
"navigation_bar.follows_and_followers": "การติดตามและผู้ติดตาม",
|
||||
"navigation_bar.info": "เกี่ยวกับเซิร์ฟเวอร์นี้",
|
||||
"navigation_bar.keyboard_shortcuts": "ปุ่มลัด",
|
||||
"navigation_bar.lists": "รายการ",
|
||||
|
|
@ -246,7 +246,7 @@
|
|||
"navigation_bar.personal": "ส่วนบุคคล",
|
||||
"navigation_bar.pins": "โพสต์ที่ปักหมุด",
|
||||
"navigation_bar.preferences": "การกำหนดลักษณะ",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.profile_directory": "ไดเรกทอรีโปรไฟล์",
|
||||
"navigation_bar.public_timeline": "เส้นเวลาที่ติดต่อกับภายนอก",
|
||||
"navigation_bar.security": "ความปลอดภัย",
|
||||
"notification.favourite": "{name} ได้ชื่นชอบสถานะของคุณ",
|
||||
|
|
@ -256,7 +256,7 @@
|
|||
"notification.reblog": "{name} ได้ดันสถานะของคุณ",
|
||||
"notifications.clear": "ล้างการแจ้งเตือน",
|
||||
"notifications.clear_confirmation": "คุณแน่ใจหรือไม่ว่าต้องการล้างการแจ้งเตือนทั้งหมดของคุณอย่างถาวร?",
|
||||
"notifications.column_settings.alert": "Desktop notifications",
|
||||
"notifications.column_settings.alert": "การแจ้งเตือนบนเดสก์ท็อป",
|
||||
"notifications.column_settings.favourite": "รายการโปรด:",
|
||||
"notifications.column_settings.filter_bar.advanced": "แสดงหมวดหมู่ทั้งหมด",
|
||||
"notifications.column_settings.filter_bar.category": "แถบตัวกรองด่วน",
|
||||
|
|
@ -276,12 +276,12 @@
|
|||
"notifications.filter.polls": "Poll results",
|
||||
"notifications.group": "{count} การแจ้งเตือน",
|
||||
"poll.closed": "ปิดแล้ว",
|
||||
"poll.refresh": "Refresh",
|
||||
"poll.refresh": "รีเฟรช",
|
||||
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
|
||||
"poll.vote": "Vote",
|
||||
"poll_button.add_poll": "Add a poll",
|
||||
"poll_button.remove_poll": "Remove poll",
|
||||
"privacy.change": "Adjust status privacy",
|
||||
"privacy.change": "ปรับเปลี่ยนความเป็นส่วนตัวของสถานะ",
|
||||
"privacy.direct.long": "โพสต์ไปยังผู้ใช้ที่กล่าวถึงเท่านั้น",
|
||||
"privacy.direct.short": "โดยตรง",
|
||||
"privacy.private.long": "โพสต์ไปยังผู้ติดตามเท่านั้น",
|
||||
|
|
@ -291,7 +291,7 @@
|
|||
"privacy.unlisted.long": "ไม่โพสต์ไปยังเส้นเวลาสาธารณะ",
|
||||
"privacy.unlisted.short": "ไม่อยู่ในรายการ",
|
||||
"regeneration_indicator.label": "กำลังโหลด…",
|
||||
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
|
||||
"regeneration_indicator.sublabel": "กำลังเตรียมฟีดหน้าแรกของคุณ!",
|
||||
"relative_time.days": "{number} วัน",
|
||||
"relative_time.hours": "{number} ชั่วโมง",
|
||||
"relative_time.just_now": "ตอนนี้",
|
||||
|
|
@ -299,17 +299,17 @@
|
|||
"relative_time.seconds": "{number} วินาที",
|
||||
"reply_indicator.cancel": "ยกเลิก",
|
||||
"report.forward": "ส่งต่อไปยัง {target}",
|
||||
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
|
||||
"report.hint": "The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:",
|
||||
"report.forward_hint": "บัญชีมาจากเซิร์ฟเวอร์อื่น ส่งสำเนาของรายงานที่ไม่ระบุตัวตนไปที่นั่นด้วย?",
|
||||
"report.hint": "จะส่งรายงานไปยังผู้ควบคุมเซิร์ฟเวอร์ของคุณ คุณสามารถให้คำอธิบายเหตุผลที่คุณรายงานบัญชีนี้ด้านล่าง:",
|
||||
"report.placeholder": "ความคิดเห็นเพิ่มเติม",
|
||||
"report.submit": "ส่ง",
|
||||
"report.target": "กำลังรายงาน {target}",
|
||||
"search.placeholder": "ค้นหา",
|
||||
"search_popout.search_format": "รูปแบบการค้นหาขั้นสูง",
|
||||
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
|
||||
"search_popout.tips.full_text": "ข้อความแบบง่ายส่งคืนสถานะที่คุณได้เขียน ชื่นชอบ ดัน หรือได้รับการกล่าวถึง ตลอดจนชื่อผู้ใช้, ชื่อที่แสดง และแฮชแท็กที่ตรงกัน",
|
||||
"search_popout.tips.hashtag": "แฮชแท็ก",
|
||||
"search_popout.tips.status": "สถานะ",
|
||||
"search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
|
||||
"search_popout.tips.text": "ข้อความแบบง่ายส่งคืนชื่อที่แสดง, ชื่อผู้ใช้ และแฮชแท็กที่ตรงกัน",
|
||||
"search_popout.tips.user": "ผู้ใช้",
|
||||
"search_results.accounts": "ผู้คน",
|
||||
"search_results.hashtags": "แฮชแท็ก",
|
||||
|
|
@ -324,7 +324,7 @@
|
|||
"status.delete": "ลบ",
|
||||
"status.detailed_status": "มุมมองการสนทนาโดยละเอียด",
|
||||
"status.direct": "ส่งข้อความโดยตรงถึง @{name}",
|
||||
"status.embed": "Embed",
|
||||
"status.embed": "ฝัง",
|
||||
"status.favourite": "ชื่นชอบ",
|
||||
"status.filtered": "กรองอยู่",
|
||||
"status.load_more": "โหลดเพิ่มเติม",
|
||||
|
|
@ -340,7 +340,7 @@
|
|||
"status.reblog": "ดัน",
|
||||
"status.reblog_private": "ดันไปยังผู้ชมดั้งเดิม",
|
||||
"status.reblogged_by": "{name} ได้ดัน",
|
||||
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
|
||||
"status.reblogs.empty": "ยังไม่มีใครดันโพสต์นี้ เมื่อใครสักคนดัน เขาจะปรากฏที่นี่",
|
||||
"status.redraft": "ลบแล้วร่างใหม่",
|
||||
"status.reply": "ตอบกลับ",
|
||||
"status.replyAll": "ตอบกลับกระทู้",
|
||||
|
|
@ -364,15 +364,15 @@
|
|||
"time_remaining.days": "{number, plural, one {# day} other {# days}} left",
|
||||
"time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left",
|
||||
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
|
||||
"time_remaining.moments": "Moments remaining",
|
||||
"time_remaining.moments": "ช่วงเวลาที่เหลือ",
|
||||
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} talking",
|
||||
"ui.beforeunload": "แบบร่างของคุณจะหายไปหากคุณออกจาก Mastodon",
|
||||
"upload_area.title": "ลากแล้วปล่อยเพื่ออัปโหลด",
|
||||
"upload_button.label": "เพิ่มสื่อ (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_error.limit": "เกินขีดจำกัดการอัปโหลดไฟล์",
|
||||
"upload_error.poll": "File upload not allowed with polls.",
|
||||
"upload_form.description": "Describe for the visually impaired",
|
||||
"upload_error.poll": "ไม่อนุญาตให้อัปโหลดไฟล์กับการลงคะแนน",
|
||||
"upload_form.description": "อธิบายสำหรับผู้บกพร่องทางการมองเห็น",
|
||||
"upload_form.focus": "ตัวอย่างการเปลี่ยนแปลง",
|
||||
"upload_form.undo": "ลบ",
|
||||
"upload_progress.label": "กำลังอัปโหลด...",
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
"account.requested": "正在等待对方同意。点击以取消发送关注请求",
|
||||
"account.share": "分享 @{name} 的个人资料",
|
||||
"account.show_reblogs": "显示来自 @{name} 的转嘟",
|
||||
"account.unblock": "不再屏蔽 @{name}",
|
||||
"account.unblock": "解除屏蔽 @{name}",
|
||||
"account.unblock_domain": "不再隐藏来自 {domain} 的内容",
|
||||
"account.unendorse": "不在个人资料中推荐此用户",
|
||||
"account.unfollow": "取消关注",
|
||||
|
|
@ -98,7 +98,7 @@
|
|||
"confirmations.redraft.confirm": "删除并重新编辑",
|
||||
"confirmations.redraft.message": "你确定要删除这条嘟文并重新编辑它吗?所有相关的转嘟和收藏都会被清除,回复将会被孤立。",
|
||||
"confirmations.reply.confirm": "回复",
|
||||
"confirmations.reply.message": "回复此消息会覆盖掉当前正在编辑的消息。确定继续吗?",
|
||||
"confirmations.reply.message": "回复此消息将会覆盖当前正在编辑的信息。确定继续吗?",
|
||||
"confirmations.unfollow.confirm": "取消关注",
|
||||
"confirmations.unfollow.message": "你确定要取消关注 {name} 吗?",
|
||||
"embed.instructions": "要在你的网站上嵌入这条嘟文,请复制以下代码。",
|
||||
|
|
@ -175,7 +175,7 @@
|
|||
"introduction.interactions.reply.text": "你可以向其他人回复,这些回复会像对话一样串在一起。",
|
||||
"introduction.welcome.action": "让我们开始吧!",
|
||||
"introduction.welcome.headline": "首先",
|
||||
"introduction.welcome.text": "欢迎来到联邦!稍后,您将可以广播消息冰河您的朋友交流,这些消息将穿越于联邦中的各式服务器。但是这台服务器,{domain},是特殊的——它保存了你的个人资料,所以请记住它的名字。",
|
||||
"introduction.welcome.text": "欢迎来到联邦!稍后,您将可以广播消息并和您的朋友交流,这些消息将穿越于联邦中的各式服务器。但是这台服务器,{domain},是特殊的——它保存了你的个人资料,所以请记住它的名字。",
|
||||
"keyboard_shortcuts.back": "返回上一页",
|
||||
"keyboard_shortcuts.blocked": "打开被屏蔽用户列表",
|
||||
"keyboard_shortcuts.boost": "转嘟",
|
||||
|
|
@ -187,12 +187,12 @@
|
|||
"keyboard_shortcuts.enter": "展开嘟文",
|
||||
"keyboard_shortcuts.favourite": "收藏嘟文",
|
||||
"keyboard_shortcuts.favourites": "打开收藏列表",
|
||||
"keyboard_shortcuts.federated": "打开跨站时间线",
|
||||
"keyboard_shortcuts.federated": "打开跨站时间轴",
|
||||
"keyboard_shortcuts.heading": "快捷键列表",
|
||||
"keyboard_shortcuts.home": "打开主页时间线",
|
||||
"keyboard_shortcuts.home": "打开主页时间轴",
|
||||
"keyboard_shortcuts.hotkey": "快捷键",
|
||||
"keyboard_shortcuts.legend": "显示此列表",
|
||||
"keyboard_shortcuts.local": "打开本站时间线",
|
||||
"keyboard_shortcuts.local": "打开本站时间轴",
|
||||
"keyboard_shortcuts.mention": "提及嘟文作者",
|
||||
"keyboard_shortcuts.muted": "打开屏蔽用户列表",
|
||||
"keyboard_shortcuts.my_profile": "打开你的个人资料",
|
||||
|
|
@ -253,11 +253,11 @@
|
|||
"notification.follow": "{name} 开始关注你",
|
||||
"notification.mention": "{name} 提及你",
|
||||
"notification.poll": "你参与的一个投票已经结束",
|
||||
"notification.reblog": "{name} 转嘟了你的嘟文",
|
||||
"notification.reblog": "{name} 转了你的嘟文",
|
||||
"notifications.clear": "清空通知列表",
|
||||
"notifications.clear_confirmation": "你确定要永久清空通知列表吗?",
|
||||
"notifications.column_settings.alert": "桌面通知",
|
||||
"notifications.column_settings.favourite": "当你的嘟文被收藏时:",
|
||||
"notifications.column_settings.favourite": "你的嘟文被收藏时:",
|
||||
"notifications.column_settings.filter_bar.advanced": "显示所有类别",
|
||||
"notifications.column_settings.filter_bar.category": "快速过滤栏",
|
||||
"notifications.column_settings.filter_bar.show": "显示",
|
||||
|
|
@ -300,7 +300,7 @@
|
|||
"reply_indicator.cancel": "取消",
|
||||
"report.forward": "发送举报至 {target}",
|
||||
"report.forward_hint": "这名用户来自另一个服务器。是否要向那个服务器发送一条匿名的举报?",
|
||||
"report.hint": "举报将会发送给你所在服务器的监察员。你可以在下面填写举报这个用户的理由:",
|
||||
"report.hint": "举报将会发送给你所在服务器的监察员。你可以在下面填写举报该用户的理由:",
|
||||
"report.placeholder": "附言",
|
||||
"report.submit": "提交",
|
||||
"report.target": "举报 {target}",
|
||||
|
|
@ -320,7 +320,7 @@
|
|||
"status.block": "屏蔽 @{name}",
|
||||
"status.cancel_reblog_private": "取消转嘟",
|
||||
"status.cannot_reblog": "无法转嘟这条嘟文",
|
||||
"status.copy": "复制链接到嘟文中",
|
||||
"status.copy": "复制嘟文链接",
|
||||
"status.delete": "删除",
|
||||
"status.detailed_status": "对话详情",
|
||||
"status.direct": "发送私信给 @{name}",
|
||||
|
|
|
|||
|
|
@ -84,8 +84,13 @@ export const makeGetStatus = () => {
|
|||
statusReblog = null;
|
||||
}
|
||||
|
||||
const regex = (accountReblog || accountBase).get('id') !== me && regexFromFilters(filters);
|
||||
const filtered = regex && regex.test(statusBase.get('reblog') ? statusReblog.get('search_index') : statusBase.get('search_index'));
|
||||
const dropRegex = (accountReblog || accountBase).get('id') !== me && regexFromFilters(filters.filter(filter => filter.get('irreversible')));
|
||||
if (dropRegex && dropRegex.test(statusBase.get('reblog') ? statusReblog.get('search_index') : statusBase.get('search_index'))) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const regex = (accountReblog || accountBase).get('id') !== me && regexFromFilters(filters);
|
||||
const filtered = regex && regex.test(statusBase.get('reblog') ? statusReblog.get('search_index') : statusBase.get('search_index'));
|
||||
|
||||
return statusBase.withMutations(map => {
|
||||
map.set('reblog', statusReblog);
|
||||
|
|
|
|||
|
|
@ -557,6 +557,7 @@
|
|||
|
||||
.compose-form__upload-thumbnail {
|
||||
border-radius: 4px;
|
||||
background-color: $base-shadow-color;
|
||||
background-position: center;
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
|
|
|
|||
|
|
@ -370,7 +370,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
|
|||
end
|
||||
|
||||
def unsupported_media_type?(mime_type)
|
||||
mime_type.present? && !(MediaAttachment::IMAGE_MIME_TYPES + MediaAttachment::VIDEO_MIME_TYPES).include?(mime_type)
|
||||
mime_type.present? && !MediaAttachment.supported_mime_types.include?(mime_type)
|
||||
end
|
||||
|
||||
def supported_blurhash?(blurhash)
|
||||
|
|
@ -380,7 +380,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
|
|||
|
||||
def skip_download?
|
||||
return @skip_download if defined?(@skip_download)
|
||||
@skip_download ||= DomainBlock.find_by(domain: @account.domain)&.reject_media?
|
||||
@skip_download ||= DomainBlock.reject_media?(@account.domain)
|
||||
end
|
||||
|
||||
def reply_to_local?
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ class ActivityPub::Activity::Flag < ActivityPub::Activity
|
|||
private
|
||||
|
||||
def skip_reports?
|
||||
DomainBlock.find_by(domain: @account.domain)&.reject_reports?
|
||||
DomainBlock.reject_reports?(@account.domain)
|
||||
end
|
||||
|
||||
def object_uris
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ class OStatus::Activity::Creation < OStatus::Activity::Base
|
|||
end
|
||||
|
||||
def save_media
|
||||
do_not_download = DomainBlock.find_by(domain: @account.domain)&.reject_media?
|
||||
do_not_download = DomainBlock.reject_media?(@account.domain)
|
||||
media_attachments = []
|
||||
|
||||
@xml.xpath('./xmlns:link[@rel="enclosure"]', xmlns: OStatus::TagManager::XMLNS).each do |link|
|
||||
|
|
@ -176,7 +176,7 @@ class OStatus::Activity::Creation < OStatus::Activity::Base
|
|||
end
|
||||
|
||||
def save_emojis(parent)
|
||||
do_not_download = DomainBlock.find_by(domain: parent.account.domain)&.reject_media?
|
||||
do_not_download = DomainBlock.reject_media?(parent.account.domain)
|
||||
|
||||
return if do_not_download
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,20 @@ class Sanitize
|
|||
node['class'] = class_list.join(' ')
|
||||
end
|
||||
|
||||
UNSUPPORTED_ELEMENTS_TRANSFORMER = lambda do |env|
|
||||
return unless %w(h1 h2 h3 h4 h5 h6 blockquote pre ul ol li).include?(env[:node_name])
|
||||
|
||||
case env[:node_name]
|
||||
when 'li'
|
||||
env[:node].traverse do |node|
|
||||
node.add_next_sibling('<br>') if node.next_sibling
|
||||
node.replace(node.children) unless node.text?
|
||||
end
|
||||
else
|
||||
env[:node].name = 'p'
|
||||
end
|
||||
end
|
||||
|
||||
MASTODON_STRICT ||= freeze_config(
|
||||
elements: %w(p br span a),
|
||||
|
||||
|
|
@ -40,6 +54,7 @@ class Sanitize
|
|||
|
||||
transformers: [
|
||||
CLASS_WHITELIST_TRANSFORMER,
|
||||
UNSUPPORTED_ELEMENTS_TRANSFORMER,
|
||||
]
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -98,6 +98,7 @@ class Account < ApplicationRecord
|
|||
scope :tagged_with, ->(tag) { joins(:accounts_tags).where(accounts_tags: { tag_id: tag }) }
|
||||
scope :by_recent_status, -> { order(Arel.sql('(case when account_stats.last_status_at is null then 1 else 0 end) asc, account_stats.last_status_at desc')) }
|
||||
scope :popular, -> { order('account_stats.followers_count desc') }
|
||||
scope :by_domain_and_subdomains, ->(domain) { where(domain: domain).or(where(arel_table[:domain].matches('%.' + domain))) }
|
||||
|
||||
delegate :email,
|
||||
:unconfirmed_email,
|
||||
|
|
@ -106,6 +107,8 @@ class Account < ApplicationRecord
|
|||
:confirmed?,
|
||||
:approved?,
|
||||
:pending?,
|
||||
:disabled?,
|
||||
:role,
|
||||
:admin?,
|
||||
:moderator?,
|
||||
:staff?,
|
||||
|
|
|
|||
|
|
@ -37,6 +37,8 @@ class AccountFilter
|
|||
Account.without_suspended
|
||||
when 'pending'
|
||||
accounts_with_users.merge User.pending
|
||||
when 'disabled'
|
||||
accounts_with_users.merge User.disabled
|
||||
when 'silenced'
|
||||
Account.silenced
|
||||
when 'suspended'
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'mime/types'
|
||||
require 'mime/types/columnar'
|
||||
|
||||
module Attachmentable
|
||||
extend ActiveSupport::Concern
|
||||
|
|
|
|||
|
|
@ -13,6 +13,20 @@ module UserRoles
|
|||
admin? || moderator?
|
||||
end
|
||||
|
||||
def role=(value)
|
||||
case value
|
||||
when 'admin'
|
||||
self.admin = true
|
||||
self.moderator = false
|
||||
when 'moderator'
|
||||
self.admin = false
|
||||
self.moderator = true
|
||||
else
|
||||
self.admin = false
|
||||
self.moderator = false
|
||||
end
|
||||
end
|
||||
|
||||
def role
|
||||
if admin?
|
||||
'admin'
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ class CustomEmoji < ApplicationRecord
|
|||
scope :local, -> { where(domain: nil) }
|
||||
scope :remote, -> { where.not(domain: nil) }
|
||||
scope :alphabetic, -> { order(domain: :asc, shortcode: :asc) }
|
||||
scope :by_domain_and_subdomains, ->(domain) { where(domain: domain).or(where(arel_table[:domain].matches('%.' + domain))) }
|
||||
|
||||
remotable_attachment :image, LIMIT
|
||||
|
||||
|
|
|
|||
|
|
@ -24,14 +24,41 @@ class DomainBlock < ApplicationRecord
|
|||
|
||||
scope :matches_domain, ->(value) { where(arel_table[:domain].matches("%#{value}%")) }
|
||||
|
||||
def self.blocked?(domain)
|
||||
where(domain: domain, severity: :suspend).exists?
|
||||
class << self
|
||||
def suspend?(domain)
|
||||
!!rule_for(domain)&.suspend?
|
||||
end
|
||||
|
||||
def silence?(domain)
|
||||
!!rule_for(domain)&.silence?
|
||||
end
|
||||
|
||||
def reject_media?(domain)
|
||||
!!rule_for(domain)&.reject_media?
|
||||
end
|
||||
|
||||
def reject_reports?(domain)
|
||||
!!rule_for(domain)&.reject_reports?
|
||||
end
|
||||
|
||||
alias blocked? suspend?
|
||||
|
||||
def rule_for(domain)
|
||||
return if domain.blank?
|
||||
|
||||
uri = Addressable::URI.new.tap { |u| u.host = domain.gsub(/[\/]/, '') }
|
||||
segments = uri.normalized_host.split('.')
|
||||
variants = segments.map.with_index { |_, i| segments[i..-1].join('.') }
|
||||
|
||||
where(domain: variants[0..-2]).order(Arel.sql('char_length(domain) desc')).first
|
||||
end
|
||||
end
|
||||
|
||||
def stricter_than?(other_block)
|
||||
return true if suspend?
|
||||
return true if suspend?
|
||||
return false if other_block.suspend? && (silence? || noop?)
|
||||
return false if other_block.silence? && noop?
|
||||
|
||||
(reject_media || !other_block.reject_media) && (reject_reports || !other_block.reject_reports)
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -8,15 +8,11 @@ class Instance
|
|||
def initialize(resource)
|
||||
@domain = resource.domain
|
||||
@accounts_count = resource.is_a?(DomainBlock) ? nil : resource.accounts_count
|
||||
@domain_block = resource.is_a?(DomainBlock) ? resource : DomainBlock.find_by(domain: domain)
|
||||
@domain_block = resource.is_a?(DomainBlock) ? resource : DomainBlock.rule_for(domain)
|
||||
end
|
||||
|
||||
def cached_sample_accounts
|
||||
Rails.cache.fetch("#{cache_key}/sample_accounts", expires_in: 12.hours) { Account.where(domain: domain).searchable.joins(:account_stat).popular.limit(3) }
|
||||
end
|
||||
|
||||
def cached_accounts_count
|
||||
@accounts_count || Rails.cache.fetch("#{cache_key}/count", expires_in: 12.hours) { Account.where(domain: domain).count }
|
||||
def countable?
|
||||
@accounts_count.present?
|
||||
end
|
||||
|
||||
def to_param
|
||||
|
|
|
|||
|
|
@ -24,14 +24,16 @@
|
|||
class MediaAttachment < ApplicationRecord
|
||||
self.inheritance_column = nil
|
||||
|
||||
enum type: [:image, :gifv, :video, :unknown]
|
||||
enum type: [:image, :gifv, :video, :unknown, :audio]
|
||||
|
||||
IMAGE_FILE_EXTENSIONS = ['.jpg', '.jpeg', '.png', '.gif', '.webp'].freeze
|
||||
VIDEO_FILE_EXTENSIONS = ['.webm', '.mp4', '.m4v', '.mov'].freeze
|
||||
AUDIO_FILE_EXTENSIONS = ['.ogg', '.oga', '.mp3', '.wav', '.flac', '.opus'].freeze
|
||||
|
||||
IMAGE_MIME_TYPES = ['image/jpeg', 'image/png', 'image/gif', 'image/webp'].freeze
|
||||
VIDEO_MIME_TYPES = ['video/webm', 'video/mp4', 'video/quicktime'].freeze
|
||||
VIDEO_CONVERTIBLE_MIME_TYPES = ['video/webm', 'video/quicktime'].freeze
|
||||
AUDIO_MIME_TYPES = ['audio/wave', 'audio/wav', 'audio/x-wav', 'audio/x-pn-wave', 'audio/ogg', 'audio/mpeg', 'audio/webm', 'audio/flac'].freeze
|
||||
|
||||
BLURHASH_OPTIONS = {
|
||||
x_comp: 4,
|
||||
|
|
@ -65,8 +67,21 @@ class MediaAttachment < ApplicationRecord
|
|||
},
|
||||
}.freeze
|
||||
|
||||
AUDIO_STYLES = {
|
||||
original: {
|
||||
format: 'mp3',
|
||||
content_type: 'audio/mpeg',
|
||||
convert_options: {
|
||||
output: {
|
||||
'q:a' => 2,
|
||||
},
|
||||
},
|
||||
},
|
||||
}.freeze
|
||||
|
||||
VIDEO_FORMAT = {
|
||||
format: 'mp4',
|
||||
content_type: 'video/mp4',
|
||||
convert_options: {
|
||||
output: {
|
||||
'loglevel' => 'fatal',
|
||||
|
|
@ -83,6 +98,11 @@ class MediaAttachment < ApplicationRecord
|
|||
},
|
||||
}.freeze
|
||||
|
||||
VIDEO_CONVERTED_STYLES = {
|
||||
small: VIDEO_STYLES[:small],
|
||||
original: VIDEO_FORMAT,
|
||||
}.freeze
|
||||
|
||||
IMAGE_LIMIT = 16.megabytes
|
||||
VIDEO_LIMIT = 80.megabytes
|
||||
|
||||
|
|
@ -95,9 +115,9 @@ class MediaAttachment < ApplicationRecord
|
|||
processors: ->(f) { file_processors f },
|
||||
convert_options: { all: '-quality 90 -strip' }
|
||||
|
||||
validates_attachment_content_type :file, content_type: IMAGE_MIME_TYPES + VIDEO_MIME_TYPES
|
||||
validates_attachment_size :file, less_than: IMAGE_LIMIT, unless: :video_or_gifv?
|
||||
validates_attachment_size :file, less_than: VIDEO_LIMIT, if: :video_or_gifv?
|
||||
validates_attachment_content_type :file, content_type: IMAGE_MIME_TYPES + VIDEO_MIME_TYPES + AUDIO_MIME_TYPES
|
||||
validates_attachment_size :file, less_than: IMAGE_LIMIT, unless: :larger_media_format?
|
||||
validates_attachment_size :file, less_than: VIDEO_LIMIT, if: :larger_media_format?
|
||||
remotable_attachment :file, VIDEO_LIMIT
|
||||
|
||||
include Attachmentable
|
||||
|
|
@ -120,8 +140,12 @@ class MediaAttachment < ApplicationRecord
|
|||
file.blank? && remote_url.present?
|
||||
end
|
||||
|
||||
def video_or_gifv?
|
||||
video? || gifv?
|
||||
def larger_media_format?
|
||||
video? || gifv? || audio?
|
||||
end
|
||||
|
||||
def audio_or_video?
|
||||
audio? || video?
|
||||
end
|
||||
|
||||
def to_param
|
||||
|
|
@ -153,33 +177,37 @@ class MediaAttachment < ApplicationRecord
|
|||
before_save :set_meta
|
||||
|
||||
class << self
|
||||
def supported_mime_types
|
||||
IMAGE_MIME_TYPES + VIDEO_MIME_TYPES + AUDIO_MIME_TYPES
|
||||
end
|
||||
|
||||
def supported_file_extensions
|
||||
IMAGE_FILE_EXTENSIONS + VIDEO_FILE_EXTENSIONS + AUDIO_FILE_EXTENSIONS
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def file_styles(f)
|
||||
if f.instance.file_content_type == 'image/gif'
|
||||
{
|
||||
small: IMAGE_STYLES[:small],
|
||||
original: VIDEO_FORMAT,
|
||||
}
|
||||
elsif IMAGE_MIME_TYPES.include? f.instance.file_content_type
|
||||
if f.instance.file_content_type == 'image/gif' || VIDEO_CONVERTIBLE_MIME_TYPES.include?(f.instance.file_content_type)
|
||||
VIDEO_CONVERTED_STYLES
|
||||
elsif IMAGE_MIME_TYPES.include?(f.instance.file_content_type)
|
||||
IMAGE_STYLES
|
||||
elsif VIDEO_CONVERTIBLE_MIME_TYPES.include?(f.instance.file_content_type)
|
||||
{
|
||||
small: VIDEO_STYLES[:small],
|
||||
original: VIDEO_FORMAT,
|
||||
}
|
||||
else
|
||||
elsif VIDEO_MIME_TYPES.include?(f.instance.file_content_type)
|
||||
VIDEO_STYLES
|
||||
else
|
||||
AUDIO_STYLES
|
||||
end
|
||||
end
|
||||
|
||||
def file_processors(f)
|
||||
if f.file_content_type == 'image/gif'
|
||||
[:gif_transcoder, :blurhash_transcoder]
|
||||
elsif VIDEO_MIME_TYPES.include? f.file_content_type
|
||||
[:video_transcoder, :blurhash_transcoder]
|
||||
elsif VIDEO_MIME_TYPES.include?(f.file_content_type)
|
||||
[:video_transcoder, :blurhash_transcoder, :type_corrector]
|
||||
elsif AUDIO_MIME_TYPES.include?(f.file_content_type)
|
||||
[:transcoder, :type_corrector]
|
||||
else
|
||||
[:lazy_thumbnail, :blurhash_transcoder]
|
||||
[:lazy_thumbnail, :blurhash_transcoder, :type_corrector]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -202,7 +230,15 @@ class MediaAttachment < ApplicationRecord
|
|||
end
|
||||
|
||||
def set_type_and_extension
|
||||
self.type = VIDEO_MIME_TYPES.include?(file_content_type) ? :video : :image
|
||||
self.type = begin
|
||||
if VIDEO_MIME_TYPES.include?(file_content_type)
|
||||
:video
|
||||
elsif AUDIO_MIME_TYPES.include?(file_content_type)
|
||||
:audio
|
||||
else
|
||||
:image
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def set_meta
|
||||
|
|
@ -245,7 +281,7 @@ class MediaAttachment < ApplicationRecord
|
|||
frame_rate: movie.frame_rate,
|
||||
duration: movie.duration,
|
||||
bitrate: movie.bitrate,
|
||||
}
|
||||
}.compact
|
||||
end
|
||||
|
||||
def reset_parent_cache
|
||||
|
|
|
|||
|
|
@ -17,6 +17,8 @@
|
|||
#
|
||||
|
||||
class Report < ApplicationRecord
|
||||
include Paginable
|
||||
|
||||
belongs_to :account
|
||||
belongs_to :target_account, class_name: 'Account'
|
||||
belongs_to :action_taken_by_account, class_name: 'Account', optional: true
|
||||
|
|
@ -26,6 +28,7 @@ class Report < ApplicationRecord
|
|||
|
||||
scope :unresolved, -> { where(action_taken: false) }
|
||||
scope :resolved, -> { where(action_taken: true) }
|
||||
scope :with_accounts, -> { includes([:account, :target_account, :action_taken_by_account, :assigned_account].each_with_object({}) { |k, h| h[k] = { user: [:invite_request, :invite] } }) }
|
||||
|
||||
validates :comment, length: { maximum: 1000 }
|
||||
|
||||
|
|
|
|||
|
|
@ -9,9 +9,11 @@ class ReportFilter
|
|||
|
||||
def results
|
||||
scope = Report.unresolved
|
||||
|
||||
params.each do |key, value|
|
||||
scope = scope.merge scope_for(key, value)
|
||||
end
|
||||
|
||||
scope
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -87,8 +87,9 @@ class User < ApplicationRecord
|
|||
scope :approved, -> { where(approved: true) }
|
||||
scope :confirmed, -> { where.not(confirmed_at: nil) }
|
||||
scope :enabled, -> { where(disabled: false) }
|
||||
scope :disabled, -> { where(disabled: true) }
|
||||
scope :inactive, -> { where(arel_table[:current_sign_in_at].lt(ACTIVE_DURATION.ago)) }
|
||||
scope :active, -> { confirmed.where(arel_table[:current_sign_in_at].gteq(ACTIVE_DURATION.ago)).joins(:account).where.not(accounts: { suspended_at: nil }) }
|
||||
scope :active, -> { confirmed.where(arel_table[:current_sign_in_at].gteq(ACTIVE_DURATION.ago)).joins(:account).where(accounts: { suspended_at: nil }) }
|
||||
scope :matches_email, ->(value) { where(arel_table[:email].matches("#{value}%")) }
|
||||
scope :emailable, -> { confirmed.enabled.joins(:account).merge(Account.searchable) }
|
||||
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ class InitialStateSerializer < ActiveModel::Serializer
|
|||
end
|
||||
|
||||
def media_attachments
|
||||
{ accept_content_types: MediaAttachment::IMAGE_FILE_EXTENSIONS + MediaAttachment::VIDEO_FILE_EXTENSIONS + MediaAttachment::IMAGE_MIME_TYPES + MediaAttachment::VIDEO_MIME_TYPES }
|
||||
{ accept_content_types: MediaAttachment.supported_file_extensions + MediaAttachment.supported_mime_types }
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
|||
77
app/serializers/rest/admin/account_serializer.rb
Normal file
77
app/serializers/rest/admin/account_serializer.rb
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class REST::Admin::AccountSerializer < ActiveModel::Serializer
|
||||
attributes :id, :username, :domain, :created_at,
|
||||
:email, :ip, :role, :confirmed, :suspended,
|
||||
:silenced, :disabled, :approved, :locale,
|
||||
:invite_request
|
||||
|
||||
attribute :created_by_application_id, if: :created_by_application?
|
||||
attribute :invited_by_account_id, if: :invited?
|
||||
|
||||
has_one :account, serializer: REST::AccountSerializer
|
||||
|
||||
def id
|
||||
object.id.to_s
|
||||
end
|
||||
|
||||
def email
|
||||
object.user_email
|
||||
end
|
||||
|
||||
def ip
|
||||
object.user_current_sign_in_ip.to_s.presence
|
||||
end
|
||||
|
||||
def role
|
||||
object.user_role
|
||||
end
|
||||
|
||||
def suspended
|
||||
object.suspended?
|
||||
end
|
||||
|
||||
def silenced
|
||||
object.silenced?
|
||||
end
|
||||
|
||||
def confirmed
|
||||
object.user_confirmed?
|
||||
end
|
||||
|
||||
def disabled
|
||||
object.user_disabled?
|
||||
end
|
||||
|
||||
def approved
|
||||
object.user_approved?
|
||||
end
|
||||
|
||||
def account
|
||||
object
|
||||
end
|
||||
|
||||
def locale
|
||||
object.user_locale
|
||||
end
|
||||
|
||||
def created_by_application_id
|
||||
object.user&.created_by_application_id&.to_s&.presence
|
||||
end
|
||||
|
||||
def invite_request
|
||||
object.user&.invite_request&.text
|
||||
end
|
||||
|
||||
def invited_by_account_id
|
||||
object.user&.invite&.user&.account_id&.to_s&.presence
|
||||
end
|
||||
|
||||
def invited?
|
||||
object.user&.invited?
|
||||
end
|
||||
|
||||
def created_by_application?
|
||||
object.user&.created_by_application_id&.present?
|
||||
end
|
||||
end
|
||||
16
app/serializers/rest/admin/report_serializer.rb
Normal file
16
app/serializers/rest/admin/report_serializer.rb
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class REST::Admin::ReportSerializer < ActiveModel::Serializer
|
||||
attributes :id, :action_taken, :comment, :created_at, :updated_at
|
||||
|
||||
has_one :account, serializer: REST::Admin::AccountSerializer
|
||||
has_one :target_account, serializer: REST::Admin::AccountSerializer
|
||||
has_one :assigned_account, serializer: REST::Admin::AccountSerializer
|
||||
has_one :action_taken_by_account, serializer: REST::Admin::AccountSerializer
|
||||
|
||||
has_many :statuses, serializer: REST::StatusSerializer
|
||||
|
||||
def id
|
||||
object.id.to_s
|
||||
end
|
||||
end
|
||||
|
|
@ -205,7 +205,7 @@ class ActivityPub::ProcessAccountService < BaseService
|
|||
|
||||
def domain_block
|
||||
return @domain_block if defined?(@domain_block)
|
||||
@domain_block = DomainBlock.find_by(domain: @domain)
|
||||
@domain_block = DomainBlock.rule_for(@domain)
|
||||
end
|
||||
|
||||
def key_changed?
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ class BlockDomainService < BaseService
|
|||
end
|
||||
|
||||
def blocked_domain_accounts
|
||||
Account.where(domain: blocked_domain)
|
||||
Account.by_domain_and_subdomains(blocked_domain)
|
||||
end
|
||||
|
||||
def media_from_blocked_domain
|
||||
|
|
@ -84,6 +84,6 @@ class BlockDomainService < BaseService
|
|||
end
|
||||
|
||||
def emojis_from_blocked_domains
|
||||
CustomEmoji.where(domain: blocked_domain)
|
||||
CustomEmoji.by_domain_and_subdomains(blocked_domain)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ class PostStatusService < BaseService
|
|||
|
||||
@media = @account.media_attachments.where(status_id: nil).where(id: @options[:media_ids].take(4).map(&:to_i))
|
||||
|
||||
raise Mastodon::ValidationError, I18n.t('media_attachments.validations.images_and_video') if @media.size > 1 && @media.find(&:video?)
|
||||
raise Mastodon::ValidationError, I18n.t('media_attachments.validations.images_and_video') if @media.size > 1 && @media.find(&:audio_or_video?)
|
||||
end
|
||||
|
||||
def language_from_option(str)
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ class ResolveAccountService < BaseService
|
|||
|
||||
def domain_block
|
||||
return @domain_block if defined?(@domain_block)
|
||||
@domain_block = DomainBlock.find_by(domain: @domain)
|
||||
@domain_block = DomainBlock.rule_for(@domain)
|
||||
end
|
||||
|
||||
def atom_url
|
||||
|
|
|
|||
|
|
@ -14,7 +14,8 @@ class UnblockDomainService < BaseService
|
|||
end
|
||||
|
||||
def blocked_accounts
|
||||
scope = Account.where(domain: domain_block.domain)
|
||||
scope = Account.by_domain_and_subdomains(domain_block.domain)
|
||||
|
||||
if domain_block.silence?
|
||||
scope.where(silenced_at: @domain_block.created_at)
|
||||
else
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ class UpdateRemoteProfileService < BaseService
|
|||
account.note = remote_profile.note || ''
|
||||
account.locked = remote_profile.locked?
|
||||
|
||||
if !account.suspended? && !DomainBlock.find_by(domain: account.domain)&.reject_media?
|
||||
if !account.suspended? && !DomainBlock.reject_media?(account.domain)
|
||||
if remote_profile.avatar.present?
|
||||
account.avatar_remote_url = remote_profile.avatar
|
||||
else
|
||||
|
|
@ -46,7 +46,7 @@ class UpdateRemoteProfileService < BaseService
|
|||
end
|
||||
|
||||
def save_emojis
|
||||
do_not_download = DomainBlock.find_by(domain: account.domain)&.reject_media?
|
||||
do_not_download = DomainBlock.reject_media?(account.domain)
|
||||
|
||||
return if do_not_download
|
||||
|
||||
|
|
|
|||
|
|
@ -33,21 +33,22 @@
|
|||
%h4
|
||||
= instance.domain
|
||||
%small
|
||||
= t('admin.instances.known_accounts', count: instance.cached_accounts_count)
|
||||
|
||||
- if instance.domain_block
|
||||
- first_item = true
|
||||
- if !instance.domain_block.noop?
|
||||
•
|
||||
= t("admin.domain_blocks.severity.#{instance.domain_block.severity}")
|
||||
- first_item = false
|
||||
- if instance.domain_block.reject_media?
|
||||
•
|
||||
- unless first_item
|
||||
•
|
||||
= t('admin.domain_blocks.rejecting_media')
|
||||
- first_item = false
|
||||
- if instance.domain_block.reject_reports?
|
||||
•
|
||||
- unless first_item
|
||||
•
|
||||
= t('admin.domain_blocks.rejecting_reports')
|
||||
|
||||
.avatar-stack
|
||||
- instance.cached_sample_accounts.each do |account|
|
||||
= image_tag current_account&.user&.setting_auto_play_gif ? account.avatar_original_url : account.avatar_static_url, width: 48, height: 48, alt: '', class: 'account__avatar'
|
||||
|
||||
- else
|
||||
= t('admin.accounts.no_limits_imposed')
|
||||
- if instance.countable?
|
||||
.trends__item__current{ title: t('admin.instances.known_accounts', count: instance.accounts_count) }= number_to_human instance.accounts_count, strip_insignificant_zeros: true
|
||||
= paginate paginated_instances
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
.fields-row
|
||||
.fields-row__column.fields-row__column-6.fields-group
|
||||
= f.input :theme, collection: Themes.instance.names, label_method: lambda { |theme| I18n.t("themes.#{theme}", default: theme) }, wrapper: :with_label, include_blank: false
|
||||
= f.input :theme, collection: Themes.instance.names, label: t('simple_form.labels.defaults.setting_theme'), label_method: lambda { |theme| I18n.t("themes.#{theme}", default: theme) }, wrapper: :with_label, include_blank: false
|
||||
.fields-row__column.fields-row__column-6.fields-group
|
||||
= f.input :registrations_mode, collection: %w(open approved none), wrapper: :with_label, label: t('admin.settings.registrations_mode.title'), include_blank: false, label_method: lambda { |mode| I18n.t("admin.settings.registrations_mode.modes.#{mode}") }
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
= render partial: 'stream_entries/poll', locals: { status: status, poll: status.preloadable_poll, autoplay: autoplay }
|
||||
|
||||
- if !status.media_attachments.empty?
|
||||
- if status.media_attachments.first.video?
|
||||
- if status.media_attachments.first.audio_or_video?
|
||||
- video = status.media_attachments.first
|
||||
= react_component :video, src: video.file.url(:original), preview: video.file.url(:small), blurhash: video.blurhash, sensitive: !current_account&.user&.show_all_media? && status.sensitive? || current_account&.user&.hide_all_media?, width: 670, height: 380, detailed: true, inline: true, alt: video.description do
|
||||
= render partial: 'stream_entries/attachment_list', locals: { attachments: status.media_attachments }
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
= render partial: 'stream_entries/poll', locals: { status: status, poll: status.preloadable_poll, autoplay: autoplay }
|
||||
|
||||
- if !status.media_attachments.empty?
|
||||
- if status.media_attachments.first.video?
|
||||
- if status.media_attachments.first.audio_or_video?
|
||||
- video = status.media_attachments.first
|
||||
= react_component :video, src: video.file.url(:original), preview: video.file.url(:small), blurhash: video.blurhash, sensitive: !current_account&.user&.show_all_media? && status.sensitive? || current_account&.user&.hide_all_media?, width: 610, height: 343, inline: true, alt: video.description do
|
||||
= render partial: 'stream_entries/attachment_list', locals: { attachments: status.media_attachments }
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ module.exports = (api) => {
|
|||
['@babel/proposal-object-rest-spread', { useBuiltIns: true }],
|
||||
['@babel/proposal-decorators', { legacy: true }],
|
||||
'@babel/proposal-class-properties',
|
||||
['react-intl', { messagesDir: './build/messages/' }],
|
||||
['react-intl', { messagesDir: './build/messages' }],
|
||||
'preval',
|
||||
],
|
||||
};
|
||||
|
|
|
|||
74
boxfile.yml
74
boxfile.yml
|
|
@ -64,8 +64,9 @@ deploy.config:
|
|||
- |-
|
||||
if [[ "${ES_ENABLED}" != "false" ]]
|
||||
then
|
||||
bundle exec rake chewy:deploy
|
||||
bin/tootctl search deploy
|
||||
fi
|
||||
- bin/tootctl cache clear
|
||||
|
||||
|
||||
web.web:
|
||||
|
|
@ -120,77 +121,6 @@ worker.sidekiq:
|
|||
- public/system
|
||||
|
||||
|
||||
worker.cron_only:
|
||||
start: sleep 365d
|
||||
|
||||
writable_dirs:
|
||||
- tmp
|
||||
|
||||
log_watch:
|
||||
rake: 'log/production.log'
|
||||
|
||||
network_dirs:
|
||||
data.storage:
|
||||
- public/system
|
||||
|
||||
cron:
|
||||
# 20:00 (8 pm), server time: send out the daily digest emails to everyone
|
||||
# who opted to receive one
|
||||
- id: send_digest_emails
|
||||
schedule: '00 20 * * *'
|
||||
command: 'bundle exec rake mastodon:emails:digest'
|
||||
|
||||
# 00:10 (ten past midnight), server time: remove local copies of remote
|
||||
# users' media once they are older than a certain age (use NUM_DAYS evar to
|
||||
# change this from the default of 7 days)
|
||||
- id: clear_remote_media
|
||||
schedule: '10 00 * * *'
|
||||
command: 'bundle exec rake mastodon:media:remove_remote'
|
||||
|
||||
# 00:20 (twenty past midnight), server time: remove subscriptions to remote
|
||||
# users that nobody follows locally (anymore)
|
||||
- id: clear_unfollowed_subs
|
||||
schedule: '20 00 * * *'
|
||||
command: 'bundle exec rake mastodon:push:clear'
|
||||
|
||||
# 00:30 (half past midnight), server time: update local copies of remote
|
||||
# users' avatars to match whatever they currently have set on their profile
|
||||
- id: update_remote_avatars
|
||||
schedule: '30 00 * * *'
|
||||
command: 'bundle exec rake mastodon:media:redownload_avatars'
|
||||
|
||||
############################################################################
|
||||
# This task is one you might want to enable, or might not. It keeps disk
|
||||
# usage low, but makes "shadow bans" (scenarios where the user is silenced,
|
||||
# but not intended to be made aware that the silencing has occurred) much
|
||||
# more difficult to put in place, as users would then notice their media is
|
||||
# vanishing on a regular basis. Enable it if you aren't worried about users
|
||||
# knowing they've been silenced (on the instance level), and want to save
|
||||
# disk space. Leave it disabled otherwise.
|
||||
############################################################################
|
||||
# # 00:00 (midnight), server time: remove media posted by silenced users
|
||||
# - id: clear_silenced_media
|
||||
# schedule: '00 00 * * *'
|
||||
# command: 'bundle exec rake mastodon:media:remove_silenced'
|
||||
|
||||
############################################################################
|
||||
# The following two tasks can be uncommented to automatically open and close
|
||||
# registrations on a schedule. The format of 'schedule' is a standard cron
|
||||
# time expression: minute hour day month day-of-week; search for "cron
|
||||
# time expressions" for more info on how to set these up. The examples here
|
||||
# open registration only from 8 am to 4 pm, server time.
|
||||
############################################################################
|
||||
# # 08:00 (8 am), server time: open registrations so new users can join
|
||||
# - id: open_registrations
|
||||
# schedule: '00 08 * * *'
|
||||
# command: 'bundle exec rake mastodon:settings:open_registrations'
|
||||
#
|
||||
# # 16:00 (4 pm), server time: close registrations so new users *can't* join
|
||||
# - id: close_registrations
|
||||
# schedule: '00 16 * * *'
|
||||
# command: 'bundle exec rake mastodon:settings:close_registrations'
|
||||
|
||||
|
||||
data.db:
|
||||
image: nanobox/postgresql:9.6
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ require_relative '../app/lib/exceptions'
|
|||
require_relative '../lib/paperclip/lazy_thumbnail'
|
||||
require_relative '../lib/paperclip/gif_transcoder'
|
||||
require_relative '../lib/paperclip/video_transcoder'
|
||||
require_relative '../lib/paperclip/type_corrector'
|
||||
require_relative '../lib/mastodon/snowflake'
|
||||
require_relative '../lib/mastodon/version'
|
||||
require_relative '../lib/devise/ldap_authenticatable'
|
||||
|
|
|
|||
|
|
@ -80,7 +80,13 @@ Doorkeeper.configure do
|
|||
:'read:search',
|
||||
:'read:statuses',
|
||||
:follow,
|
||||
:push
|
||||
:push,
|
||||
:'admin:read',
|
||||
:'admin:read:accounts',
|
||||
:'admin:read:reports',
|
||||
:'admin:write',
|
||||
:'admin:write:accounts',
|
||||
:'admin:write:reports'
|
||||
|
||||
# Change the way client credentials are retrieved from the request object.
|
||||
# By default it retrieves first from the `HTTP_AUTHORIZATION` header, then
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
---
|
||||
cy:
|
||||
activerecord:
|
||||
attributes:
|
||||
poll:
|
||||
expires_at: Terfyn
|
||||
options: Dewisiadau
|
||||
errors:
|
||||
models:
|
||||
account:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
---
|
||||
fa:
|
||||
activerecord:
|
||||
attributes:
|
||||
poll:
|
||||
expires_at: مهلت
|
||||
options: گزینهها
|
||||
errors:
|
||||
models:
|
||||
account:
|
||||
|
|
|
|||
|
|
@ -1 +1,13 @@
|
|||
---
|
||||
fi:
|
||||
activerecord:
|
||||
attributes:
|
||||
poll:
|
||||
expires_at: Määräaika
|
||||
options: Vaihtoehdot
|
||||
errors:
|
||||
models:
|
||||
account:
|
||||
attributes:
|
||||
username:
|
||||
invalid: Vain kirjaimia, numeroita ja alleviivoja
|
||||
|
|
|
|||
|
|
@ -1 +1,13 @@
|
|||
---
|
||||
hu:
|
||||
activerecord:
|
||||
attributes:
|
||||
poll:
|
||||
expires_at: Határidő
|
||||
options: Lehetőségek
|
||||
errors:
|
||||
models:
|
||||
account:
|
||||
attributes:
|
||||
username:
|
||||
invalid: csak betűk, számok vagy alávonás
|
||||
|
|
|
|||
|
|
@ -1,12 +1,16 @@
|
|||
---
|
||||
it:
|
||||
activerecord:
|
||||
attributes:
|
||||
poll:
|
||||
expires_at: Scadenza
|
||||
options: Scelte
|
||||
errors:
|
||||
models:
|
||||
account:
|
||||
attributes:
|
||||
username:
|
||||
invalid: solo lettere, numeri e trattino basso
|
||||
invalid: solo lettere, numeri e trattini bassi
|
||||
status:
|
||||
attributes:
|
||||
reblog:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
---
|
||||
sl:
|
||||
activerecord:
|
||||
attributes:
|
||||
poll:
|
||||
expires_at: Rok
|
||||
options: Izbire
|
||||
errors:
|
||||
models:
|
||||
account:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
---
|
||||
th:
|
||||
activerecord:
|
||||
attributes:
|
||||
poll:
|
||||
expires_at: กำหนดเวลาสิ้นสุด
|
||||
options: ทางเลือก
|
||||
errors:
|
||||
models:
|
||||
account:
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ ar:
|
|||
last_active: آخر نشاط
|
||||
link_verified_on: تم التحقق مِن مالك هذا الرابط بتاريخ %{date}
|
||||
media: الوسائط
|
||||
moved_html: "%{name} إنتقلَ إلى %{new_profile_link} :"
|
||||
moved_html: "%{name} إنتقلَ إلى %{new_profile_link}:"
|
||||
network_hidden: إنّ المعطيات غير متوفرة
|
||||
nothing_here: لا يوجد أي شيء هنا!
|
||||
people_followed_by: الأشخاص الذين يتبعهم %{name}
|
||||
|
|
@ -575,7 +575,7 @@ ar:
|
|||
x_months: "%{count} شه"
|
||||
x_seconds: "%{count}ث"
|
||||
deletes:
|
||||
bad_password_msg: محاولة جيدة يا هاكرز ! كلمة السر خاطئة
|
||||
bad_password_msg: محاولة جيدة يا هاكرز! كلمة السر خاطئة
|
||||
confirm_password: قم بإدخال كلمتك السرية الحالية للتحقق من هويتك
|
||||
proceed: حذف حساب
|
||||
success_msg: تم حذف حسابك بنجاح
|
||||
|
|
@ -753,15 +753,15 @@ ar:
|
|||
follow_request:
|
||||
action: إدارة طلبات المتابَعة
|
||||
body: طلب %{name} متابعتك
|
||||
subject: 'متابع مُعلّق : %{name}'
|
||||
subject: 'متابع مُعلّق: %{name}'
|
||||
title: طلب متابَعة جديد
|
||||
mention:
|
||||
action: الرد
|
||||
body: 'أشار إليك %{name} في :'
|
||||
body: 'أشار إليك %{name} في:'
|
||||
subject: لقد قام %{name} بذِكرك
|
||||
title: إشارة جديدة
|
||||
reblog:
|
||||
body: 'قام %{name} بترقية منشورك :'
|
||||
body: 'قام %{name} بترقية منشورك:'
|
||||
subject: قام %{name} بترقية منشورك
|
||||
title: ترقية جديدة
|
||||
number:
|
||||
|
|
@ -975,15 +975,15 @@ ar:
|
|||
explanation: ها هي بعض النصائح قبل بداية الاستخدام
|
||||
final_action: اشرَع في النشر
|
||||
final_step: |-
|
||||
يمكنك الشروع في النشر في الحين! حتى و إن لم كنت لا تمتلك متابِعين بعدُ، يمكن للآخرين الإطلاع على منشوراتك الموجهة للجمهور على الخيط المحلي أو إن قمت باستخدام وسوم.
|
||||
يمكنك الشروع في النشر في الحين! حتى و إن لم كنت لا تمتلك متابِعين بعدُ، يمكن للآخرين الإطلاع على منشوراتك الموجهة للجمهور على الخيط العام المحلي أو إن قمت باستخدام وسوم.
|
||||
ابدأ بتقديم نفسك باستعمال وسم #introductions.
|
||||
full_handle: عنوانك الكامل
|
||||
full_handle_hint: هذا هو ما يجب تقديمه لأصدقائك قصد أن يكون بإمكانهم متابَعتك أو مُراسَلتك حتى و إن كانت حساباتهم على خوادم أخرى.
|
||||
review_preferences_action: تعديل التفضيلات
|
||||
subject: أهلًا بك على ماستدون
|
||||
tip_federated_timeline: الخيط الزمني الفديرالي هو بمثابة شبه نظرة شاملة على شبكة ماستدون. غير أنه لا يشمل إلا على الأشخاص المتابَعين مِن طرف جيرانك و جاراتك، لذا فهذا الخيط لا يعكس كافة الشبكة برُمّتها.
|
||||
tip_following: أنت تتبع تلقائيا مديري و مديرات الخادم. للعثور على أشخاص مميزين أو قد تهمك حساباتهم بإمكانك الإطلاع على الخيوط المحلية و كذا الفدرالية.
|
||||
tip_local_timeline: الخيط الزمني المحلي هو بمثابة نظرة سريعة على الأشخاص المتواجدين على %{instance} يمكن اعتبارهم كجيرانك وجاراتك الأقرب إليك!
|
||||
tip_following: أنت تتبع تلقائيا مديري و مديرات الخادم. للعثور على أشخاص مميزين أو قد تهمك حساباتهم بإمكانك الإطلاع على الخيوط العامة المحلية و كذا الفدرالية.
|
||||
tip_local_timeline: الخيط العام المحلي هو بمثابة نظرة سريعة على الأشخاص المتواجدين على %{instance} يمكن اعتبارهم كجيرانك وجاراتك الأقرب إليك!
|
||||
tips: نصائح
|
||||
title: أهلاً بك، %{name}!
|
||||
users:
|
||||
|
|
|
|||
|
|
@ -30,10 +30,10 @@ cs:
|
|||
server_stats: 'Statistika serveru:'
|
||||
source_code: Zdrojový kód
|
||||
status_count_after:
|
||||
few: příspěvky
|
||||
many: příspěvků
|
||||
one: příspěvek
|
||||
other: příspěvků
|
||||
few: tooty
|
||||
many: tootů
|
||||
one: toot
|
||||
other: tootů
|
||||
status_count_before: Kteří napsali
|
||||
tagline: Sledujte své přátele a objevujte nové
|
||||
terms: Podmínky používání
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@ cy:
|
|||
promote: Hyrwyddo
|
||||
protocol: Protocol
|
||||
public: Cyhoeddus
|
||||
push_subscription_expires: Tanysgrifiad PuSH yn dod i ben
|
||||
push_subscription_expires: Tanysgrifiad gwthiadwy yn dod i ben
|
||||
redownload: Adnewyddu proffil
|
||||
reject: Gwrthod
|
||||
reject_all: Gwrthod pob un
|
||||
|
|
@ -609,6 +609,13 @@ cy:
|
|||
explanation: Darganfod defnyddwyr yn seiliedig ar eu diddordebau
|
||||
explore_mastodon: Archwilio %{title}
|
||||
how_to_enable: Ar hyn o bryd nid ydych chi wedi dewis y cyfeiriadur. Gallwch ddewis i mewn isod. Defnyddiwch hashnodau yn eich bio-destun i'w restru dan hashnodau penodol!
|
||||
people:
|
||||
few: "%{count} o bobl"
|
||||
many: "%{count} o bobl"
|
||||
one: "%{count} berson"
|
||||
other: "%{count} o bobl"
|
||||
two: "%{count} o bobl"
|
||||
zero: "%{count} person"
|
||||
errors:
|
||||
'403': Nid oes gennych ganiatad i weld y dudalen hon.
|
||||
'404': Nid yw'r dudalen yr oeddech yn chwilio amdani'n bodoli.
|
||||
|
|
@ -842,36 +849,87 @@ cy:
|
|||
no_account_html: Heb gyfrif? Mae modd i chi <a href='%{sign_up_path}' target='_blank'>gofrestru yma</a>
|
||||
proceed: Ymlaen i ddilyn
|
||||
prompt: 'Yr ydych am ddilyn:'
|
||||
reason_html: |-
|
||||
<strong>Pam yw'r cam hyn yn angenrheidiol? </strong>
|
||||
Efallai nid yw <code>%{instance}</code> yn gweinydd ble wnaethoch gofrestru, felly mae'n rhaid i ni ailarweinio chi at eich gweinydd catref yn gyntaf.
|
||||
remote_interaction:
|
||||
favourite:
|
||||
proceed: Ymlaen i hoffi
|
||||
prompt: 'Hoffech hoffi''r tŵt hon:'
|
||||
reblog:
|
||||
proceed: Ymlaen i fŵstio
|
||||
prompt: 'Hoffech fŵstio''r tŵt hon:'
|
||||
reply:
|
||||
proceed: Ymlaen i ateb
|
||||
prompt: 'Hoffech ateb y tŵt hon:'
|
||||
remote_unfollow:
|
||||
error: Gwall
|
||||
title: Teitl
|
||||
unfollowed: Dad-ddilynwyd
|
||||
scheduled_statuses:
|
||||
over_daily_limit: Rydych wedi rhagori'r cyfwng o %{limit} o dŵtiau rhestredig ar y dydd hynny
|
||||
over_total_limit: Rydych wedi rhagori'r cyfwng o %{limit} o dŵtiau rhestredig
|
||||
too_soon: Mae rhaid i'r dydd rhestredig fod yn y dyfodol
|
||||
sessions:
|
||||
activity: Gweithgaredd ddiwethaf
|
||||
browser: Porwr
|
||||
browsers:
|
||||
alipay: Alipay
|
||||
blackberry: Blackberry
|
||||
chrome: Chrome
|
||||
edge: Microsoft Edge
|
||||
electron: Electron
|
||||
firefox: Firefox
|
||||
generic: Porwr anhysbys
|
||||
ie: Internet Explorer
|
||||
micro_messenger: MicroMessenger
|
||||
nokia: Porwr Nokia S40 Ovi
|
||||
opera: Opera
|
||||
otter: Otter
|
||||
phantom_js: PhantomJS
|
||||
qq: Porwr QQ
|
||||
safari: Safari
|
||||
uc_browser: UCBrowser
|
||||
weibo: Weibo
|
||||
current_session: Sesiwn cyfredol
|
||||
description: "%{browser} ar %{platform}"
|
||||
explanation: Dyma'r porwyr gwê sydd wedi mewngofnodi i'ch cyfrif Mastododon ar hyn o bryd.
|
||||
ip: IP
|
||||
platforms:
|
||||
adobe_air: Adobe Air
|
||||
android: Android
|
||||
blackberry: Blackberry
|
||||
chrome_os: OS Chrome
|
||||
firefox_os: OS Firefox
|
||||
ios: iOS
|
||||
linux: Linux
|
||||
mac: Mac
|
||||
other: platfform anhysbys
|
||||
windows: Windows
|
||||
windows_mobile: Windows Mobile
|
||||
windows_phone: Ffôn Windows
|
||||
revoke: Diddymu
|
||||
revoke_success: Sesiwn wedi ei ddiddymu yn llwyddiannus
|
||||
title: Sesiynau
|
||||
settings:
|
||||
account: Cyfrif
|
||||
account_settings: Gosodiadau'r cyfrif
|
||||
appearance: Arddangosiad
|
||||
authorized_apps: Apiau awdurdodedig
|
||||
back: Yn ôl i Mastodon
|
||||
delete: Dileu cyfrif
|
||||
development: Datblygu
|
||||
edit_profile: Golygu proffil
|
||||
export: Allforio data
|
||||
featured_tags: Hashnodau Nodedig
|
||||
identity_proofs: Profiadau Hunaniaeth
|
||||
import: Mewnforio
|
||||
import_and_export: Mewnfori ac allfori
|
||||
migrate: Mudo cyfrif
|
||||
notifications: Hysbysiadau
|
||||
preferences: Dewisiadau
|
||||
profile: Proffil
|
||||
relationships: Dilynion a dilynwyr
|
||||
two_factor_authentication: Awdurdodi dau-gam
|
||||
statuses:
|
||||
attached:
|
||||
|
|
@ -907,8 +965,18 @@ cy:
|
|||
ownership: Ni ellir pinio tŵt rhywun arall
|
||||
private: Ni ellir pinio tŵt nad yw'n gyhoeddus
|
||||
reblog: Ni ellir pinio bŵstiau
|
||||
poll:
|
||||
total_votes:
|
||||
few: "%{count} o bleidleisiau"
|
||||
many: "%{count} o bleidleisiau"
|
||||
one: "%{count} bleidlais"
|
||||
other: "%{count} o bleidleisiau"
|
||||
two: "%{count} o bleidleisiau"
|
||||
zero: "%{count} pleidlais"
|
||||
vote: Pleidleisio
|
||||
show_more: Dangos mwy
|
||||
sign_in_to_participate: Mengofnodwch i gymryd rhan yn y sgwrs
|
||||
title: '%{name}: "%{quote}"'
|
||||
visibilities:
|
||||
private: Dilynwyr yn unig
|
||||
private_long: Dangos i ddilynwyr yn unig
|
||||
|
|
@ -1007,6 +1075,10 @@ cy:
|
|||
contrast: Mastodon (Cyferbyniad uchel)
|
||||
default: Mastodon (Tywyll)
|
||||
mastodon-light: Mastodon (golau)
|
||||
time:
|
||||
formats:
|
||||
default: "%b %d, %Y, %H:%M"
|
||||
month: "%b %Y"
|
||||
two_factor_authentication:
|
||||
code_hint: Mewnbynwch y côd a grewyd gan eich ap dilysu i gadarnhau
|
||||
description_html: Os ydych yn galluogi <strong>awdurdodi dau-gam</strong>, bydd mewngofnodi yn gofyn i chi fod a'ch ffôn gerllaw er mwyn cynhyrchu tocyn i chi gael mewnbynnu.
|
||||
|
|
@ -1031,6 +1103,8 @@ cy:
|
|||
warning:
|
||||
explanation:
|
||||
disable: Er bod eich cyfrif wedi'i rewi, mae eich data cyfrif yn parhau i fod yn gyfan, ond ni allwch chi berfformio unrhyw gamau nes ei ddatgloi.
|
||||
silence: Pan mae eich cyfrif yn gyfyngiedig, dim ond pobl sydd yn barod yn eich dilyn yn gweld eich tŵtiau ar y gweinydd hon, a efallai byddwch yn cael eich tynnu o restrau cyhoeddus. Er hyn, gall eraill eich dilyn chi wrth law.
|
||||
suspend: Mae eich cyfrif wedi cael ei wahardd, a mae gyd o'ch tŵtiau a'ch ffeiliau cyfrwng uwchlwythadwy wedi cael eu tynnu or gweinydd yn barhaol, ac o weinyddau ble yr oedd eich dilynwyr.
|
||||
review_server_policies: Adolygu polisïau'r gweinydd
|
||||
subject:
|
||||
disable: Mae'ch cyfrif %{acct} wedi'i rewi
|
||||
|
|
@ -1056,7 +1130,7 @@ cy:
|
|||
tip_federated_timeline: Mae'r ffrwd ffederasiwn yn olwg firehose o'r rhwydwaith Mastodon. Ond mae ond yn cynnwys y bobl mae eich cymdogion wedi ymrestru iddynt, felly nid yw'n gyflawn.
|
||||
tip_following: Rydych yn dilyn goruwchwyliwr eich gweinydd yn ddiofyn. I ganfod pobl mwy diddorol, edrychwch ar y ffrydiau lleol a'r rhai wedi ei ffedereiddio.
|
||||
tip_local_timeline: Mae'r ffrwd leol yn olwg firehose o bobl ar %{instance}. Dyma eich cymdogion agosaf!
|
||||
tip_mobile_webapp: Os yw eich porwr gwe yn cynnig i ch ychwanegu Mastodon i'ch sgrîn gartref, mae modd i chi dderbyn hysbysiadau push. Mewn sawl modd mae'n gweithio fel ap cynhenid!
|
||||
tip_mobile_webapp: Os yw eich porwr gwe yn cynnig i chi ychwanegu Mastodon i'ch sgrîn gartref, mae modd i chi dderbyn hysbysiadau gwthiadwy. Mewn sawl modd mae'n gweithio fel ap cynhenid!
|
||||
tips: Awgrymiadau
|
||||
title: Croeso, %{name}!
|
||||
users:
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ ar:
|
|||
subject: 'ماستدون: تعليمات التأكيد لمثيل الخادوم %{instance}'
|
||||
title: للتحقق من عنوان البريد الإلكتروني
|
||||
email_changed:
|
||||
explanation: 'لقد تم تغيير عنوان البريد الإلكتروني الخاص بحسابك إلى :'
|
||||
explanation: 'لقد تم تغيير عنوان البريد الإلكتروني الخاص بحسابك إلى:'
|
||||
extra: إن لم تقم شخصيًا بتعديل عنوان بريدك الإلكتروني ، ذلك يعني أنّ شخصا آخر قد نَفِذَ إلى حسابك. فالرجاء قم بتعديل كلمتك السرية في الحال أو قم بالإتصال بمدير مثيل الخادوم إن كنت غير قادر على استعمال حسابك.
|
||||
subject: 'ماستدون: تم استبدال عنوان بريدك الإلكتروني'
|
||||
title: عنوان البريد الإلكتروني الجديد
|
||||
|
|
@ -84,5 +84,5 @@ ar:
|
|||
many: "%{count} أخطاء منعت هذا %{resource} من الحفظ:"
|
||||
one: 'خطأ واحد منع هذا %{resource} من الحفظ:'
|
||||
other: "%{count} أخطاء منعت هذا %{resource} من الحفظ:"
|
||||
two: 'أخطاء منعت هذا %{resource} من الحفظ:'
|
||||
two: "%{count} أخطاء منعت هذا %{resource} من الحفظ:"
|
||||
zero: "%{count} أخطاء منعت هذا %{resource} من الحفظ:"
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ cy:
|
|||
last_attempt: Mae gennych un cyfle arall cyn i'ch cyfrif gael ei gloi.
|
||||
locked: Mae eich cyfrif wedi ei gloi.
|
||||
not_found_in_database: "%{authentication_keys} neu gyfrinair annilys."
|
||||
pending: Mae eich cyfrif dal o dan adolygiad.
|
||||
timeout: Mae eich sesiwn wedi dod i ben. Mewngofnodwch eto i barhau.
|
||||
unauthenticated: Mae angen i chi fewngofnodi neu gofrestru cyn parhau.
|
||||
unconfirmed: Mae rhaid i chi gadarnhau eich cyfeiriad e-bost cyn parhau.
|
||||
|
|
@ -20,6 +21,7 @@ cy:
|
|||
action: Gwiriwch eich cyfeiriad e-bost
|
||||
action_with_app: Cadarnhau a dychwelyd i %{app}
|
||||
explanation: Yr ydych wedi creu cyfrif ar %{host} gyda'r cyfrif e-bost hwn. Dim ond un clic sydd angen i'w wneud yn weithredol. Os nad chi oedd hyn, anwybyddwch yr e-bost hwn os gwelwch yn dda.
|
||||
explanation_when_pending: Rydych wedi gwneud cais am wahoddiad i %{host} gyda'r ebost hyn. Unwaith rydych wedi cadarnhau eich ebost, byddem yn adolygu eich cais. Ni fyddwch yn gallu mewngofnodi tan yr amser hono. Os caiff eich cais ei wrthod, felly nid oes angen unrhyw gweithred pellach o chi. Os nad oeddech wedi gwneud y cais hyn, anwybyddu'r ebost hon, os gwelwch yn dda.
|
||||
extra_html: Gwnewch yn siŵr i edrych ar <a href="%{terms_path}">reolau'r achos</a> a <a href="%{policy_path}">ein telerau gwasanaeth</a>.
|
||||
subject: 'Mastodon: Canllawiau cadarnhau i %{instance}'
|
||||
title: Gwirio cyfeiriad e-bost
|
||||
|
|
@ -60,6 +62,7 @@ cy:
|
|||
signed_up: Croeso! Rydych wedi cofrestru'n llwyddiannus.
|
||||
signed_up_but_inactive: Yr ydych wedi cofrestru'n llwyddiannus. Fodd bynnag, ni allwn eich mewngofnodi achos nid yw eich cyfrif wedi ei actifadu eto.
|
||||
signed_up_but_locked: Yr ydych wedi cofrestru'n llwyddiannus. Fodd bynnag, ni allwn eich mewngofnodi achos fod eich cyfrif wedi ei gloi.
|
||||
signed_up_but_pending: Mae neges a'ch cysylltiad cadarnhau wedi cael ei hanfon i'ch ebost. Ar ôl i chi ei glicio, byddem yn adolygu eich cais. Byddwch yn derbyn hysbysiad os caiff ei gymeradwyo.
|
||||
signed_up_but_unconfirmed: Mae neges gyda dolen cadarnhau wedi ei anfon i'ch cyfeiriad e-bost. Dilynwch y ddolen er mwyn actifadu eich cyfrif. Edrychwch yn eich ffolder sbam os na dderbynioch chi'r e-bost hwn os gwelwch yn dda.
|
||||
update_needs_confirmation: Rydych wedi diweddaru eich cyfrif yn llwyddiannus, ond mae angen i ni wirio'ch cyfeiriad e-bost newydd. Edrychwch ar eich e-byst a dilynwch y ddolen gadarnhau er mwyn cadarnhau eich cyfeiriad e-bost newydd. Edrychwch ar eich ffolder sbam os na dderbynioch chi yr e-bost hwn.
|
||||
updated: Mae eich cyfrif wedi ei ddiweddaru yn llwyddiannus.
|
||||
|
|
|
|||
|
|
@ -2,40 +2,43 @@
|
|||
hu:
|
||||
devise:
|
||||
confirmations:
|
||||
confirmed: Az e-mail címed sikeresen meg lett erősítve.
|
||||
confirmed: Az e-mail címed sikeresen megerősítésre került.
|
||||
send_instructions: Pár percen belül kapni fogsz egy e-mailt az e-mail címed megerősítéséhez szükséges lépésekről.
|
||||
send_paranoid_instructions: Ha az e-mail címed létezik az adatbázisunkban, pár percen belül kapni fogsz egy e-mailt az e-mail címed megerősítéséhez szükséges lépésekről.
|
||||
failure:
|
||||
already_authenticated: Már bejelentkeztél.
|
||||
inactive: Fiókod még nem lett aktiválva.
|
||||
inactive: Fiókodat még nem aktiválták.
|
||||
invalid: Helytelen %{authentication_keys} vagy jelszó.
|
||||
last_attempt: Már csak egy próbálkozásod maradt mielőtt a fiókod lezárásra kerül.
|
||||
last_attempt: Már csak egy próbálkozásod maradt mielőtt a fiókodat lezárjuk.
|
||||
locked: Fiókod le van zárva.
|
||||
not_found_in_database: Helytelen %{authentication_keys} vagy jelszó.
|
||||
pending: Fiókod még engedélyezés alatt áll.
|
||||
timeout: A munkamenet lejárt. Jelentkezz be újra a folytatáshoz.
|
||||
unauthenticated: A folytatás előtt be kell jelentkezned.
|
||||
unconfirmed: A folytatás előtt meg kell erősítened az e-mail címed.
|
||||
mailer:
|
||||
confirmation_instructions:
|
||||
action: Erősítsd meg az e-mail címedet
|
||||
explanation: Ezzel az e-mail címmel kezdeményeztek regisztrációt a(z) %{host} oldalon. Csak egy kattintás, és a felhasználói fiókdat aktiváljuk. Ha a regisztrációt nem te kezdeményezted, kérjük tekintsd ezt az e-mailt tárgytalannak.
|
||||
extra_html: Kérjük tekintsd át a <a href="%{terms_path}">az instancia szabályzatát</a> és <a href="%{policy_path}">a felhasználási feltételeket</a>.
|
||||
action_with_app: Megerősítés majd vissza ide %{app}
|
||||
explanation: Ezzel az e-mail címmel kezdeményeztek regisztrációt a(z) %{host} oldalon. Csak egy kattintás, és a felhasználói fiókodat aktiváljuk. Ha a regisztrációt nem te kezdeményezted, kérjük tekintsd ezt az e-mailt tárgytalannak.
|
||||
explanation_when_pending: Ezzel az e-mail címmel meghívást kértél a(z) %{host} oldalon. Ahogy megerősíted az e-mail címed, átnézzük a jelentkezésedet. Ennek ideje alatt nem tudsz belépni. Ha a jelentkezésed elutasítjuk, az adataidat töröljük, más teendőd nincs. Ha a kérelmet nem te kezdeményezted, kérjük tekintsd ezt az e-mailt tárgytalannak.
|
||||
extra_html: Kérjük tekintsd át a <a href="%{terms_path}">a szerver szabályzatát</a> és <a href="%{policy_path}">a felhasználási feltételeket</a>.
|
||||
subject: 'Mastodon: Megerősítési lépések %{instance}'
|
||||
title: E-mail cím megerősítése
|
||||
email_changed:
|
||||
explanation: 'A fiókodhoz tartozó e-mail címet az alábbira módosítod:'
|
||||
extra: Ha nem te kezdeményezted a fiókodhoz tartozó e-mail cím módosítását, valaki hozzáférhetett a fiókodhoz. Legjobb, ha azonnal megváltoztatod a jelszavadat; ha nem férsz hozzá a fiókodhoz, vedd fel a kapcsolatot az instanciád adminisztrátorával.
|
||||
extra: Ha nem te kezdeményezted a fiókodhoz tartozó e-mail cím módosítását, valaki hozzáférhetett a fiókodhoz. Legjobb, ha azonnal megváltoztatod a jelszavadat; ha nem férsz hozzá a fiókodhoz, vedd fel a kapcsolatot a szervered adminisztrátorával.
|
||||
subject: 'Mastodon: a fiókodhoz tartozó e-mail címet megváltoztattuk'
|
||||
title: Új e-mail cím
|
||||
password_change:
|
||||
explanation: A fiókodhoz tartozó jelszót megváltoztattuk.
|
||||
extra: Ha nem te kezdeményezted a fiókodhoz tartozó jelszó módosítását, valaki hozzáférhetett a fiókodhoz. Legjobb, ha azonnal megváltoztatod a jelszavadat; ha nem férsz hozzá a fiókodhoz, vedd fel a kapcsolatot az instanciád adminisztrátorával.
|
||||
subject: 'Mastodon: Jelszó megváltoztatva'
|
||||
title: Sikeres jelszó-módosítás
|
||||
extra: Ha nem te kezdeményezted a fiókodhoz tartozó jelszó módosítását, valaki hozzáférhetett a fiókodhoz. Legjobb, ha azonnal megváltoztatod a jelszavadat; ha nem férsz hozzá a fiókodhoz, vedd fel a kapcsolatot a szervered adminisztrátorával.
|
||||
subject: 'Mastodon: Jelszavad megváltoztattuk'
|
||||
title: Sikeres jelszómódosítás
|
||||
reconfirmation_instructions:
|
||||
explanation: Az e-mail cím megváltoztatásához meg kell erősítened az új címet.
|
||||
extra: Amennyiben nem te kezdeményezted a módosítást, kérjük tekintsd ezt az e-mailt tárgytalannak. A Mastodon fiókodhoz tartozó e-mail címed változatlan marad mindaddig, amíg rá nem kattintasz a fenti linkre.
|
||||
subject: 'Mastodon: erősítsd meg a(z) %{instance} instanciához tartozó e-mail címed'
|
||||
subject: 'Mastodon: erősítsd meg a(z) %{instance} szerverhez tartozó e-mail címed'
|
||||
title: E-mail cím megerősítése
|
||||
reset_password_instructions:
|
||||
action: Jelszó módosítása
|
||||
|
|
@ -46,30 +49,31 @@ hu:
|
|||
unlock_instructions:
|
||||
subject: 'Mastodon: Feloldási lépések'
|
||||
omniauth_callbacks:
|
||||
failure: "%{kind} nem hitelesíthető, mert %{reason}."
|
||||
failure: Sikertelen hitelesítés %{kind} fiókról, mert "%{reason}".
|
||||
success: Sikeres hitelesítés %{kind} fiókról.
|
||||
passwords:
|
||||
no_token: Nem férhetsz hozzá az oldalhoz jelszó visszaállító e-mail nélkül. Ha egy jelszó visszaállító e-mail hozott ide, ellenőrizd, hogy a megadott teljes URL-t használd.
|
||||
send_instructions: Pár percen belül kapni fogsz egy e-mailt arról, hogy hogyan tudod visszaállítani a jelszavadat.
|
||||
send_paranoid_instructions: Ha létezik az e-mail cím, pár percen belül kapni fogsz egy e-mailt arról, hogy hogyan tudod visszaállítani a jelszavadat.
|
||||
no_token: Nem férhetsz hozzá ehhez az oldalhoz jelszó visszaállító e-mail nélkül. Ha egy jelszó visszaállító e-mail hozott ide, ellenőrizd, hogy a megadott teljes URL-t használd.
|
||||
send_instructions: Pár percen belül kapni fogsz egy e-mailt arról, hogy hogyan tudod visszaállítani a jelszavadat. Kérlek ellenőrizd a levélszemét mappádat, ha nem kaptál ilyen e-mailt.
|
||||
send_paranoid_instructions: Ha létezik az e-mail cím, pár percen belül kapni fogsz egy e-mailt arról, hogy hogyan tudod visszaállítani a jelszavadat. Kérlek ellenőrizd a levélszemét mappádat, ha nem kaptál ilyen e-mailt.
|
||||
updated: Jelszavad sikeresen frissült. Bejelentkeztél.
|
||||
updated_not_active: Jelszavad sikeresen meg lett változtatva.
|
||||
updated_not_active: Jelszavad sikeresen megváltoztattuk.
|
||||
registrations:
|
||||
destroyed: Viszlát! A fiókod sikeresen törölve. Reméljük hamarosan viszontláthatunk.
|
||||
destroyed: Viszlát! A fiókodat sikeresen töröltük. Reméljük hamarosan viszontláthatunk.
|
||||
signed_up: Üdvözlünk! Sikeresen regisztráltál.
|
||||
signed_up_but_inactive: Sikeresen regisztráltál. Ennek ellenére nem tudunk beléptetni, ugyanis a fiókod még nem lett aktiválva.
|
||||
signed_up_but_locked: Sikeresen regisztráltál. Ennek ellenére nem tudunk beléptetni, ugyanis a fiókod le lett zárva.
|
||||
signed_up_but_unconfirmed: Egy üzenet a megerősítési linkkel kiküldésre került az e-mail címedre. Kérjük használd a linket a fiókod aktiválásához.
|
||||
update_needs_confirmation: Sikeresen frissítetted a fiókodat, de szükségünk van az e-mail címed megerősítésére. Kérlek ellenőrizd az e-mailedet és kövesd a levélben szereplő megerősítési linket az e-mail címed megerősítéséhez.
|
||||
signed_up_but_inactive: Sikeresen regisztráltál. Ennek ellenére nem tudunk beléptetni, ugyanis a fiókodat még nem aktiválták.
|
||||
signed_up_but_locked: Sikeresen regisztráltál. Ennek ellenére nem tudunk beléptetni, ugyanis a fiókod le van zárva.
|
||||
signed_up_but_pending: Egy üzenetet a megerősítési linkkel kiküldtünk az e-mail címedre. Ha kattintasz a linkre, átnézzük a kérelmedet. Értesítünk, ha jóváhagytuk.
|
||||
signed_up_but_unconfirmed: Egy üzenetet a megerősítési linkkel kiküldtünk az e-mail címedre. Kérjük használd a linket a fiókod aktiválásához.
|
||||
update_needs_confirmation: Sikeresen frissítetted a fiókodat, de szükségünk van az e-mail címed megerősítésére. Kérlek ellenőrizd az e-mailedet és kövesd a levélben szereplő megerősítési linket az e-mail címed megerősítéséhez. Ellenőrizd a levélszemét mappád, ha nem kaptál volna ilyen levelet.
|
||||
updated: Fiókod frissítése sikeres.
|
||||
sessions:
|
||||
already_signed_out: Sikeres kijelenkezés.
|
||||
already_signed_out: Sikeres kijelentkezés.
|
||||
signed_in: Sikeres bejelentkezés.
|
||||
signed_out: Sikeres kijelentkezés.
|
||||
unlocks:
|
||||
send_instructions: Pár percen belül egy e-mailt fogsz kapni a feloldáshoz szükséges lépésekkel.
|
||||
send_paranoid_instructions: Ha a fiókod létezik, pár percen belül egy e-mailt fogsz kapni a feloldáshoz szükséges lépésekkel.
|
||||
unlocked: A fiókod sikeresen fel lett oldva. Jelentkezz be a folytatáshoz.
|
||||
send_instructions: Pár percen belül egy e-mailt fogsz kapni a feloldáshoz szükséges lépésekkel. Ellenőrizd a levélszemét mappád, ha nem kaptál volna ilyen levelet.
|
||||
send_paranoid_instructions: Ha a fiókod létezik, pár percen belül egy e-mailt fogsz kapni a feloldáshoz szükséges lépésekkel. Ellenőrizd a levélszemét mappád, ha nem kaptál volna ilyen levelet.
|
||||
unlocked: A fiókodat sikeresen feloldottuk. Jelentkezz be a folytatáshoz.
|
||||
errors:
|
||||
messages:
|
||||
already_confirmed: már meg lett erősítve, kérjük jelentkezz be
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ it:
|
|||
last_attempt: Hai un altro tentativo prima che il tuo account venga bloccato.
|
||||
locked: Il tuo account è stato bloccato.
|
||||
not_found_in_database: "%{authentication_keys} o password invalida."
|
||||
pending: Il tuo account è ancora in fase di approvazione.
|
||||
timeout: La tua sessione è terminata. Per favore, effettua l'accesso o registrati per continuare.
|
||||
unauthenticated: Devi effettuare l'accesso o registrarti per continuare.
|
||||
unconfirmed: Devi confermare il tuo indirizzo email per continuare.
|
||||
|
|
@ -20,6 +21,7 @@ it:
|
|||
action: Verifica indirizzo email
|
||||
action_with_app: Conferma e torna a %{app}
|
||||
explanation: Hai creato un account su %{host} con questo indirizzo email. Sei lonatno solo un clic dall'attivarlo. Se non sei stato tu, per favore ignora questa email.
|
||||
explanation_when_pending: Hai richiesto un invito a %{host} con questo indirizzo email. Una volta confermato il tuo indirizzo e-mail, analizzeremo la tua richiesta. Non potrai eseguire l'accesso fino a quel momento. Se la tua richiesta sarà rifiutata, i tuoi dati saranno rimossi, quindi nessun'altra azione ti sarà richiesta. Se non fossi stato tu, per favore ignora questa email.
|
||||
extra_html: Per favore controlla<a href="%{terms_path}">le regole del server</a> e <a href="%{policy_path}">i nostri termini di servizio</a>.
|
||||
subject: 'Mastodon: Istruzioni di conferma per %{instance}'
|
||||
title: Verifica indirizzo email
|
||||
|
|
@ -60,6 +62,7 @@ it:
|
|||
signed_up: Benvenuto! Ti sei registrato con successo.
|
||||
signed_up_but_inactive: Ti sei registrato con successo. Purtroppo però non possiamo farti accedere perché non hai ancora attivato il tuo account.
|
||||
signed_up_but_locked: Ti sei registrato con successo. Purtroppo però non possiamo farti accedere perché il tuo account è bloccato.
|
||||
signed_up_but_pending: Un messaggio con un collegamento per la conferma è stato inviato al tuo indirizzo email. Dopo aver cliccato il collegamento, esamineremo la tua richiesta. Ti sarà notificato se verrà approvata.
|
||||
signed_up_but_unconfirmed: Un messaggio con un link di conferma è stato inviato al tuo indirizzo email. Per favore, visita il link per attivare il tuo account.
|
||||
update_needs_confirmation: Hai aggiornato correttamente il tuo account, ma abbiamo bisogno di verificare il tuo nuovo indirizzo email. Per favore, controlla la posta in arrivo e visita il link di conferma per verificare il tuo indirizzo email.
|
||||
updated: Il tuo account è stato aggiornato con successo.
|
||||
|
|
|
|||
|
|
@ -80,3 +80,8 @@ sk:
|
|||
expired: vypŕšal, prosím, vyžiadaj si nový
|
||||
not_found: nenájdený
|
||||
not_locked: nebol zamknutý
|
||||
not_saved:
|
||||
few: "%{count} chýb zabránilo uloženiu tohto %{resource}:"
|
||||
many: "%{count} chýb zabránilo uloženiu tohto %{resource}:"
|
||||
one: '1 chyba zabránila uloženiu tohto %{resource}:'
|
||||
other: "%{count} chyby zabránili uloženiu tohto %{resource}:"
|
||||
|
|
|
|||
|
|
@ -2,17 +2,37 @@
|
|||
th:
|
||||
devise:
|
||||
confirmations:
|
||||
confirmed: ยืนยันที่อยู่อีเมลของคุณสำเร็จ
|
||||
send_instructions: You will receive an email with instructions for how to confirm your email address in a few minutes.
|
||||
send_paranoid_instructions: If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes.
|
||||
failure:
|
||||
already_authenticated: คุณได้ลงชื่อเข้าอยู่แล้ว
|
||||
inactive: ยังไม่ได้เปิดใช้งานบัญชีของคุณ
|
||||
invalid: "%{authentication_keys} หรือรหัสผ่านไม่ถูกต้อง"
|
||||
not_found_in_database: "%{authentication_keys} หรือรหัสผ่านไม่ถูกต้อง"
|
||||
timeout: เซสชันของคุณหมดอายุแล้ว โปรดลงชื่อเข้าอีกครั้งเพื่อดำเนินการต่อ
|
||||
mailer:
|
||||
email_changed:
|
||||
title: ที่อยู่อีเมลใหม่
|
||||
password_change:
|
||||
subject: 'Mastodon: เปลี่ยนรหัสผ่านแล้ว'
|
||||
title: เปลี่ยนรหัสผ่านแล้ว
|
||||
reset_password_instructions:
|
||||
action: เปลี่ยนรหัสผ่าน
|
||||
passwords:
|
||||
send_instructions: If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes.
|
||||
send_paranoid_instructions: If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes.
|
||||
registrations:
|
||||
signed_up_but_unconfirmed: A message with a confirmation link has been sent to your email address. Please follow the link to activate your account.
|
||||
update_needs_confirmation: You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address.
|
||||
sessions:
|
||||
already_signed_out: ลงชื่อออกสำเร็จ
|
||||
signed_in: ลงชื่อเข้าสำเร็จ
|
||||
signed_out: ลงชื่อออกสำเร็จ
|
||||
unlocks:
|
||||
send_instructions: You will receive an email with instructions for how to unlock your account in a few minutes.
|
||||
send_paranoid_instructions: If your account exists, you will receive an email with instructions for how to unlock it in a few minutes.
|
||||
errors:
|
||||
messages:
|
||||
not_found: ไม่พบ
|
||||
not_locked: ไม่ได้ล็อคอยู่
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ ar:
|
|||
edit:
|
||||
title: تعديل التطبيق
|
||||
form:
|
||||
error: عفوا ! تحقق من خُلوّ الاستمارة من الأخطاء من فضلك
|
||||
error: عفوا! تحقق من خُلوّ الاستمارة من الأخطاء من فضلك
|
||||
help:
|
||||
native_redirect_uri: إستخدم %{native_redirect_uri} للاختبار و التجريب محليا
|
||||
redirect_uri: إستخدم خطا واحدا لكل رابط
|
||||
|
|
|
|||
|
|
@ -114,6 +114,12 @@ co:
|
|||
application:
|
||||
title: Auturizazione OAuth riquestata
|
||||
scopes:
|
||||
admin:read: leghje tutti i dati nant'à u servore
|
||||
admin:read:accounts: leghje i cuntinuti sensibili di tutti i conti
|
||||
admin:read:reports: leghje i cuntinuti sensibili di tutti i rapporti è conti signalati
|
||||
admin:write: mudificà tutti i dati nant'à u servore
|
||||
admin:write:accounts: realizà azzione di muderazione nant'à i conti
|
||||
admin:write:reports: realizà azzione di muderazione nant'à i rapporti
|
||||
follow: Mudificà rilazione trà i conti
|
||||
push: Riceve e vostre nutificazione push
|
||||
read: leghje tutte l’infurmazioni di u vostru contu
|
||||
|
|
|
|||
|
|
@ -114,6 +114,12 @@ cs:
|
|||
application:
|
||||
title: Je požadována autorizace OAuth
|
||||
scopes:
|
||||
admin:read: číst všechna data na serveru
|
||||
admin:read:accounts: číst citlivé informace všech účtů
|
||||
admin:read:reports: číst citlivé informace všech nahlášení a nahlášených účtů
|
||||
admin:write: měnit všechna data na serveru
|
||||
admin:write:accounts: provádět moderátorské akce s účty
|
||||
admin:write:reports: provádět moderátorské akce s nahlášeními
|
||||
follow: upravovat vztahy mezi profily
|
||||
push: přijímat vaše push oznámení
|
||||
read: vidět všechna data vašeho účtu
|
||||
|
|
|
|||
|
|
@ -72,6 +72,7 @@ cy:
|
|||
index:
|
||||
application: Rhaglen
|
||||
created_at: Awdurdodedig
|
||||
date_format: "%Y-%m-%d% %H:%M:%S"
|
||||
scopes: Rhinweddau
|
||||
title: Eich rhaglenni awdurdodedig
|
||||
errors:
|
||||
|
|
@ -114,7 +115,7 @@ cy:
|
|||
title: Mae awdurdodiad OAuth yn ofynnol
|
||||
scopes:
|
||||
follow: addasu perthnasau cyfrif
|
||||
push: derbyn eich hysbysiadau PUSH
|
||||
push: derbyn eich hysbysiadau gwthiadwy
|
||||
read: darllen holl ddata eich cyfrif
|
||||
read:accounts: gweld gwybodaeth y cyfrif
|
||||
read:blocks: gweld eich blociau
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ de:
|
|||
cancel: Abbrechen
|
||||
destroy: Löschen
|
||||
edit: Bearbeiten
|
||||
submit: Übertragen
|
||||
submit: Speichern
|
||||
confirmations:
|
||||
destroy: Bist du sicher?
|
||||
edit:
|
||||
|
|
@ -31,8 +31,8 @@ de:
|
|||
form:
|
||||
error: Hoppla! Bitte überprüfe das Formular auf mögliche Fehler
|
||||
help:
|
||||
native_redirect_uri: "%{native_redirect_uri} für lokale Tests benutzen"
|
||||
redirect_uri: Bitte benutze eine Zeile pro URI
|
||||
native_redirect_uri: Benutze %{native_redirect_uri} für lokale Tests
|
||||
redirect_uri: Benutze eine Zeile pro URI
|
||||
scopes: Bitte die Befugnisse mit Leerzeichen trennen. Zur Verwendung der Standardwerte freilassen.
|
||||
index:
|
||||
application: Anwendung
|
||||
|
|
@ -77,19 +77,19 @@ de:
|
|||
title: Deine autorisierten Anwendungen
|
||||
errors:
|
||||
messages:
|
||||
access_denied: Der »resource owner« oder der Autorisierungs-Server hat die Anfrage verweigert.
|
||||
credential_flow_not_configured: Die Prozedur »Resource Owner Password Credentials« schlug fehl, da Doorkeeper.configure.resource_owner_from_credentials nicht konfiguriert ist.
|
||||
access_denied: Die Anfrage wurde durch Benutzer_in oder Autorisierungs-Server verweigert.
|
||||
credential_flow_not_configured: Das Konto konnte nicht gefunden werden, da Doorkeeper.configure.resource_owner_from_credentials nicht konfiguriert ist.
|
||||
invalid_client: 'Client-Authentifizierung ist fehlgeschlagen: Client unbekannt, keine Authentisierung mitgeliefert oder Authentisierungsmethode wird nicht unterstützt.'
|
||||
invalid_grant: Die beigefügte Autorisierung ist ungültig, abgelaufen, wurde widerrufen, einem anderen Client ausgestellt oder der Weiterleitungs-URI stimmt nicht mit der Autorisierungs-Anfrage überein.
|
||||
invalid_redirect_uri: Der beigefügte Weiterleitungs-URI ist ungültig.
|
||||
invalid_request: Die Anfrage enthält ein nicht-unterstütztes Argument, ein Parameter fehlt, oder sie ist anderweitig fehlerhaft.
|
||||
invalid_resource_owner: Die angegebenen Zugangsdaten für den Ressourcenbesitzer sind ungültig oder der Ressourcenbesitzer kann nicht gefunden werden
|
||||
invalid_resource_owner: Die angegebenen Zugangsdaten für das Konto sind ungültig oder das Konto kann nicht gefunden werden
|
||||
invalid_scope: Die angeforderte Befugnis ist ungültig, unbekannt oder fehlerhaft.
|
||||
invalid_token:
|
||||
expired: Der Zugriffs-Token ist abgelaufen
|
||||
revoked: Der Zugriffs-Token wurde widerrufen
|
||||
unknown: Der Zugriffs-Token ist ungültig
|
||||
resource_owner_authenticator_not_configured: Die Prozedur »Resource Owner find« ist fehlgeschlagen, da Doorkeeper.configure.resource_owner_authenticator nicht konfiguriert ist.
|
||||
resource_owner_authenticator_not_configured: Das Konto konnte nicht gefunden werden, da Doorkeeper.configure.resource_owner_authenticator nicht konfiguriert ist.
|
||||
server_error: Der Autorisierungs-Server hat ein unerwartetes Problem festgestellt und konnte die Anfrage nicht bearbeiten.
|
||||
temporarily_unavailable: Der Autorisierungs-Server ist aufgrund von zwischenzeitlicher Überlastung oder Wartungsarbeiten derzeit nicht in der Lage, die Anfrage zu bearbeiten.
|
||||
unauthorized_client: Der Client ist nicht dazu autorisiert, diese Anfrage mit dieser Methode auszuführen.
|
||||
|
|
|
|||
|
|
@ -114,6 +114,12 @@ el:
|
|||
application:
|
||||
title: Απαιτείται έγκριση OAuth
|
||||
scopes:
|
||||
admin:read: ανάγνωση δεδομένων στον διακομιστή
|
||||
admin:read:accounts: ανάγνωση ευαίσθητων πληροφοριών όλων των λογαριασμών
|
||||
admin:read:reports: ανάγνωση ευαίσθητων πληροφοριών όλων των καταγγελιών και των καταγγελλομένων λογαριασμών
|
||||
admin:write: αλλαγή δεδομένων στον διακομιστή
|
||||
admin:write:accounts: εκτέλεση διαχειριστικών ενεργειών σε λογαριασμούς
|
||||
admin:write:reports: εκτέλεση διαχειριστικών ενεργειών σε καταγγελίες
|
||||
follow: να αλλάζει τις σχέσεις με λογαριασμούς
|
||||
push: να λαμβάνει τις ειδοποιήσεις σου
|
||||
read: να διαβάζει όλα τα στοιχεία του λογαριασμού σου
|
||||
|
|
|
|||
|
|
@ -114,6 +114,12 @@ en:
|
|||
application:
|
||||
title: OAuth authorization required
|
||||
scopes:
|
||||
admin:read: read all data on the server
|
||||
admin:read:accounts: read sensitive information of all accounts
|
||||
admin:read:reports: read sensitive information of all reports and reported accounts
|
||||
admin:write: modify all data on the server
|
||||
admin:write:accounts: perform moderation actions on accounts
|
||||
admin:write:reports: perform moderation actions on reports
|
||||
follow: modify account relationships
|
||||
push: receive your push notifications
|
||||
read: read all your account's data
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ hu:
|
|||
activerecord:
|
||||
attributes:
|
||||
doorkeeper/application:
|
||||
name: Név
|
||||
redirect_uri: Visszairányító URI
|
||||
name: Alkalmazás neve
|
||||
redirect_uri: Átirányító URI
|
||||
scopes: Hatáskör
|
||||
website: Az alkalmazás weboldala
|
||||
errors:
|
||||
|
|
@ -33,22 +33,23 @@ hu:
|
|||
help:
|
||||
native_redirect_uri: Használj %{native_redirect_uri} a helyi tesztekhez
|
||||
redirect_uri: Egy sor URI-nként
|
||||
scopes: A nézeteket szóközzel válaszd el. Hagyd üresen az alapértelmezett nézetekhez.
|
||||
scopes: A hatásköröket szóközzel válaszd el. Hagyd üresen az alapértelmezett hatáskörökhöz.
|
||||
index:
|
||||
application: Alkalmazás
|
||||
callback_url: Callback URL
|
||||
delete: Eltávolítás
|
||||
name: Név
|
||||
new: Új alkalmazás
|
||||
scopes: Hatáskör
|
||||
show: Mutat
|
||||
title: Alkalmazásod
|
||||
title: Alkalmazásaid
|
||||
new:
|
||||
title: Új alkalmazás
|
||||
show:
|
||||
actions: Műveletek
|
||||
application_id: Alkalmazás azonosító
|
||||
callback_urls: Callback urlek
|
||||
scopes: Nézetek
|
||||
callback_urls: Callback URL-ek
|
||||
scopes: Hatáskörök
|
||||
secret: Titok
|
||||
title: 'Alkalmazás: %{name}'
|
||||
authorizations:
|
||||
|
|
@ -61,6 +62,8 @@ hu:
|
|||
able_to: Képes lesz
|
||||
prompt: "%{client_name} nevű alkalmazás engedélyt kér a fiókodhoz való hozzáféréshez."
|
||||
title: Engedély szükséges
|
||||
show:
|
||||
title: Másold le ezt az engedélyező kódot és írd be az alkalmazásba.
|
||||
authorized_applications:
|
||||
buttons:
|
||||
revoke: Visszavonás
|
||||
|
|
@ -68,27 +71,28 @@ hu:
|
|||
revoke: Biztos vagy benne?
|
||||
index:
|
||||
application: Alkalmazás
|
||||
created_at: Készítve
|
||||
created_at: Felhatalmazva
|
||||
date_format: "%Y-%m-%d %H:%M:%S"
|
||||
scopes: Hatáskör
|
||||
title: Engedélyezett alkalmazásaid
|
||||
errors:
|
||||
messages:
|
||||
access_denied: Az erőforrás tulajdonosa vagy hitelesítő kiszolgálója megtakadta a kérést.
|
||||
access_denied: Az erőforrás tulajdonosa vagy hitelesítő kiszolgálója megtagadta a kérést.
|
||||
credential_flow_not_configured: Az erőforrás tulajdonos jelszóadatainak átadása megszakadt, mert a Doorkeeper.configure.resource_owner_from_credentials beállítatlan.
|
||||
invalid_client: A kliens hitelesítése megszakadt, mert a ismeretlen a kliens, kliens nem küldött hitelesítést, vagy ismeretlen a kliens
|
||||
invalid_grant: A biztosított hitelesítés érvénytelen, lejárt, visszavont, vagy nem egyezik a hitelesítéi kérésben használt URIval, vagy más kliensnek lett címezve.
|
||||
invalid_redirect_uri: A redirect uri nem valós.
|
||||
invalid_request: A kérésből hiányzik egy szükséges paraméter, nem támogatott paramétert tartalmaz, vagy egyéb módon hibás.
|
||||
invalid_client: A kliens hitelesítése megszakadt, mert ismeretlen a kliens, a kliens nem küldött hitelesítést, vagy a hitelesítés módja nem támogatott.
|
||||
invalid_grant: A biztosított hitelesítés érvénytelen, lejárt, visszavont, vagy nem egyezik a hitelesítési kérésben használt URI-val, vagy más kliensnek címezték.
|
||||
invalid_redirect_uri: Az átirányító URI nem valós.
|
||||
invalid_request: A kérésből hiányzik egy szükséges paraméter, nem támogatott paramétert tartalmaz, vagy máshogy sérült.
|
||||
invalid_resource_owner: A biztosított erőforrás tulajdonosának hitelesítő adatai nem valósak, vagy az erőforrás tulajdonosa nem található.
|
||||
invalid_scope: A kért nézet érvénytelen, ismeretlen, vagy hibás.
|
||||
invalid_token:
|
||||
expired: Hozzáférési kulcs lejárt
|
||||
revoked: Hozzáférési kulcs vissza lett vonva
|
||||
revoked: Hozzáférési kulcsot visszavonták
|
||||
unknown: Hozzáférési kulcs érvénytelen
|
||||
resource_owner_authenticator_not_configured: Erőforrás tulajdonos keresés megszakadt, ugyanis a Doorkeeper.configure.resource_owner_authenticator beállítatlan.
|
||||
server_error: Hitelesítő szervert váratlan esemény érte, mely meggátolta a kérés teljesítését.
|
||||
temporarily_unavailable: A hitelesítő szerver jelenleg nem tudja teljesíteni a kérést egy átmeneti túlterheltség vagy a kiszolgáló karbantartása miatt.
|
||||
unauthorized_client: A kliens nincs feljogosítva a kérés teljesítésére.
|
||||
temporarily_unavailable: A hitelesítő szerver jelenleg nem tudja teljesíteni a kérést átmeneti túlterheltség vagy a kiszolgáló karbantartása miatt.
|
||||
unauthorized_client: A kliens nincs feljogosítva erre a kérésre.
|
||||
unsupported_grant_type: A hitelesítés módja nem támogatott a hitelesítő kiszolgálón.
|
||||
unsupported_response_type: A hitelesítő kiszolgáló nem támogatja ezt a választ.
|
||||
flash:
|
||||
|
|
@ -110,6 +114,29 @@ hu:
|
|||
application:
|
||||
title: OAuth engedély szükséges
|
||||
scopes:
|
||||
follow: fiókok követése, blokkoláse, blokkolás feloldása és követés abbahagyása
|
||||
follow: fiókok követése, letiltása, tiltás feloldása és követés abbahagyása
|
||||
push: push értesítések fogadása
|
||||
read: fiókod adatainak olvasása
|
||||
write: bejegyzés írása a nevedben
|
||||
read:accounts: fiók adatainak megtekintése
|
||||
read:blocks: letiltások megtekintése
|
||||
read:favourites: kedvencek megtekintése
|
||||
read:filters: szűrök megtekintése
|
||||
read:follows: követések megtekintése
|
||||
read:lists: listák megtekintése
|
||||
read:mutes: némítások megtekintése
|
||||
read:notifications: értesítések megtekintése
|
||||
read:reports: bejelentések megtekintése
|
||||
read:search: nevedben keresés
|
||||
read:statuses: tülkök megtekintése
|
||||
write: fiókod adatainak megváltoztatása
|
||||
write:accounts: profilod megváltoztatása
|
||||
write:blocks: fiókok és domainek letiltása
|
||||
write:favourites: tülkök kedvencnek jelölése
|
||||
write:filters: szűrők létrehozása
|
||||
write:follows: mások követése
|
||||
write:lists: listák létrehozása
|
||||
write:media: média feltöltése
|
||||
write:mutes: emberek és beszélgetések némítása
|
||||
write:notifications: értesítések törlése
|
||||
write:reports: mások bejelentése
|
||||
write:statuses: tülkök közzététele
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue