Merge branch 'gs-master' into glitch-theme

pull/229/head
David Yip 2017-12-04 11:07:01 -06:00
commit d9800a5647
No known key found for this signature in database
GPG Key ID: 7DA0036508FCC0CC
214 changed files with 5378 additions and 1033 deletions

View File

@ -1,21 +1,36 @@
engines: version: "2"
checks:
argument-count:
enabled: false
complex-logic:
enabled: false
file-lines:
enabled: false
method-complexity:
enabled: false
method-count:
enabled: false
method-lines:
enabled: false
nested-control-flow:
enabled: false
return-statements:
enabled: false
similar-code:
enabled: false
identical-code:
enabled: false
plugins:
brakeman: brakeman:
enabled: true enabled: true
bundler-audit: bundler-audit:
enabled: true enabled: true
duplication:
enabled: false
eslint: eslint:
enabled: true enabled: true
rubocop: rubocop:
enabled: true enabled: true
scss-lint: scss-lint:
enabled: true enabled: true
ratings: exclude_patterns:
paths:
- "**.rb"
- "**.js"
- "**.scss"
exclude_paths:
- spec/ - spec/
- vendor/asset - vendor/asset

View File

@ -34,7 +34,7 @@ This Code of Conduct applies both within project spaces and in public spaces whe
## Enforcement ## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at eugen@zeonfederated.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at beatrix.bitrot@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

View File

@ -24,11 +24,11 @@ GEM
erubi (~> 1.4) erubi (~> 1.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.3) rails-html-sanitizer (~> 1.0, >= 1.0.3)
active_model_serializers (0.10.6) active_model_serializers (0.10.7)
actionpack (>= 4.1, < 6) actionpack (>= 4.1, < 6)
activemodel (>= 4.1, < 6) activemodel (>= 4.1, < 6)
case_transform (>= 0.2) case_transform (>= 0.2)
jsonapi-renderer (>= 0.1.1.beta1, < 0.2) jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
active_record_query_trace (1.5.4) active_record_query_trace (1.5.4)
activejob (5.1.4) activejob (5.1.4)
activesupport (= 5.1.4) activesupport (= 5.1.4)
@ -83,15 +83,15 @@ GEM
capistrano-bundler (1.3.0) capistrano-bundler (1.3.0)
capistrano (~> 3.1) capistrano (~> 3.1)
sshkit (~> 1.2) sshkit (~> 1.2)
capistrano-rails (1.3.0) capistrano-rails (1.3.1)
capistrano (~> 3.1) capistrano (~> 3.1)
capistrano-bundler (~> 1.1) capistrano-bundler (~> 1.1)
capistrano-rbenv (2.1.2) capistrano-rbenv (2.1.3)
capistrano (~> 3.1) capistrano (~> 3.1)
sshkit (~> 1.3) sshkit (~> 1.3)
capistrano-yarn (2.0.2) capistrano-yarn (2.0.2)
capistrano (~> 3.0) capistrano (~> 3.0)
capybara (2.15.4) capybara (2.16.1)
addressable addressable
mini_mime (>= 0.1.3) mini_mime (>= 0.1.3)
nokogiri (>= 1.3.3) nokogiri (>= 1.3.3)
@ -113,7 +113,7 @@ GEM
connection_pool (2.2.1) connection_pool (2.2.1)
crack (0.4.3) crack (0.4.3)
safe_yaml (~> 1.0.0) safe_yaml (~> 1.0.0)
crass (1.0.2) crass (1.0.3)
debug_inspector (0.0.3) debug_inspector (0.0.3)
devise (4.3.0) devise (4.3.0)
bcrypt (~> 3.0) bcrypt (~> 3.0)
@ -121,11 +121,11 @@ GEM
railties (>= 4.1.0, < 5.2) railties (>= 4.1.0, < 5.2)
responders responders
warden (~> 1.2.3) warden (~> 1.2.3)
devise-two-factor (3.0.0) devise-two-factor (3.0.2)
activesupport activesupport (< 5.2)
attr_encrypted (>= 1.3, < 4, != 2) attr_encrypted (>= 1.3, < 4, != 2)
devise (~> 4.0) devise (~> 4.0)
railties railties (< 5.2)
rotp (~> 2.0) rotp (~> 2.0)
diff-lcs (1.3) diff-lcs (1.3)
docile (1.1.5) docile (1.1.5)
@ -184,7 +184,7 @@ GEM
http (~> 2.2) http (~> 2.2)
nokogiri (~> 1.8) nokogiri (~> 1.8)
oj (~> 3.0) oj (~> 3.0)
hamlit (2.8.4) hamlit (2.8.5)
temple (>= 0.8.0) temple (>= 0.8.0)
thor thor
tilt tilt
@ -196,7 +196,7 @@ GEM
hamster (3.0.0) hamster (3.0.0)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
hashdiff (0.3.7) hashdiff (0.3.7)
highline (1.7.8) highline (1.7.10)
hiredis (0.6.1) hiredis (0.6.1)
hkdf (0.3.0) hkdf (0.3.0)
htmlentities (4.3.4) htmlentities (4.3.4)
@ -213,9 +213,9 @@ GEM
httplog (0.99.7) httplog (0.99.7)
colorize colorize
rack rack
i18n (0.9.0) i18n (0.9.1)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
i18n-tasks (0.9.18) i18n-tasks (0.9.19)
activesupport (>= 4.0.2) activesupport (>= 4.0.2)
ast (>= 2.1.0) ast (>= 2.1.0)
easy_translate (>= 0.5.0) easy_translate (>= 0.5.0)
@ -236,8 +236,8 @@ GEM
json-ld (~> 2.1, >= 2.1.5) json-ld (~> 2.1, >= 2.1.5)
multi_json (~> 1.11) multi_json (~> 1.11)
rdf (~> 2.2) rdf (~> 2.2)
jsonapi-renderer (0.1.3) jsonapi-renderer (0.2.0)
jwt (1.5.6) jwt (2.1.0)
kaminari (1.1.1) kaminari (1.1.1)
activesupport (>= 4.1.0) activesupport (>= 4.1.0)
kaminari-actionview (= 1.1.1) kaminari-actionview (= 1.1.1)
@ -267,8 +267,8 @@ GEM
loofah (2.1.1) loofah (2.1.1)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.5.9) nokogiri (>= 1.5.9)
mail (2.6.6) mail (2.7.0)
mime-types (>= 1.16, < 4) mini_mime (>= 0.1.1)
mario-redis-lock (1.2.0) mario-redis-lock (1.2.0)
redis (~> 3, >= 3.0.5) redis (~> 3, >= 3.0.5)
method_source (0.9.0) method_source (0.9.0)
@ -279,7 +279,7 @@ GEM
mime-types-data (~> 3.2015) mime-types-data (~> 3.2015)
mime-types-data (3.2016.0521) mime-types-data (3.2016.0521)
mimemagic (0.3.2) mimemagic (0.3.2)
mini_mime (0.1.4) mini_mime (1.0.0)
mini_portile2 (2.3.0) mini_portile2 (2.3.0)
minitest (5.10.3) minitest (5.10.3)
msgpack (1.1.0) msgpack (1.1.0)
@ -305,7 +305,7 @@ GEM
http (~> 2.0) http (~> 2.0)
nokogiri (~> 1.6) nokogiri (~> 1.6)
openssl (~> 2.0) openssl (~> 2.0)
ox (2.8.1) ox (2.8.2)
paperclip (5.1.0) paperclip (5.1.0)
activemodel (>= 4.2.0) activemodel (>= 4.2.0)
activesupport (>= 4.2.0) activesupport (>= 4.2.0)
@ -316,22 +316,22 @@ GEM
av (~> 0.9.0) av (~> 0.9.0)
paperclip (>= 2.5.2) paperclip (>= 2.5.2)
parallel (1.12.0) parallel (1.12.0)
parallel_tests (2.17.0) parallel_tests (2.19.0)
parallel parallel
parser (2.4.0.0) parser (2.4.0.2)
ast (~> 2.2) ast (~> 2.3)
pg (0.21.0) pg (0.21.0)
pghero (1.7.0) pghero (1.7.0)
activerecord activerecord
pkg-config (1.2.8) pkg-config (1.2.8)
powerpack (0.1.1) powerpack (0.1.1)
pry (0.11.2) pry (0.11.3)
coderay (~> 1.1.0) coderay (~> 1.1.0)
method_source (~> 0.9.0) method_source (~> 0.9.0)
pry-rails (0.3.6) pry-rails (0.3.6)
pry (>= 0.10.4) pry (>= 0.10.4)
public_suffix (3.0.0) public_suffix (3.0.1)
puma (3.10.0) puma (3.11.0)
pundit (1.1.0) pundit (1.1.0)
activesupport (>= 3.0.0) activesupport (>= 3.0.0)
rabl (0.13.1) rabl (0.13.1)
@ -344,7 +344,7 @@ GEM
rack rack
rack-proxy (0.6.2) rack-proxy (0.6.2)
rack rack
rack-test (0.7.0) rack-test (0.8.2)
rack (>= 1.0, < 3) rack (>= 1.0, < 3)
rack-timeout (0.4.2) rack-timeout (0.4.2)
rails (5.1.4) rails (5.1.4)
@ -381,8 +381,11 @@ GEM
thor (>= 0.18.1, < 2.0) thor (>= 0.18.1, < 2.0)
rainbow (2.2.2) rainbow (2.2.2)
rake rake
rake (12.2.1) rake (12.3.0)
rdf (2.2.11) rb-fsevent (0.10.2)
rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2)
rdf (2.2.12)
hamster (~> 3.0) hamster (~> 3.0)
link_header (~> 0.0, >= 0.0.8) link_header (~> 0.0, >= 0.0.8)
rdf-normalize (0.3.2) rdf-normalize (0.3.2)
@ -395,8 +398,8 @@ GEM
redis-activesupport (5.0.4) redis-activesupport (5.0.4)
activesupport (>= 3, < 6) activesupport (>= 3, < 6)
redis-store (>= 1.3, < 2) redis-store (>= 1.3, < 2)
redis-namespace (1.5.3) redis-namespace (1.6.0)
redis (~> 3.0, >= 3.0.4) redis (>= 3.0.4)
redis-rack (2.0.3) redis-rack (2.0.3)
rack (>= 1.5, < 3) rack (>= 1.5, < 3)
redis-store (>= 1.2, < 2) redis-store (>= 1.2, < 2)
@ -421,7 +424,7 @@ GEM
rspec-mocks (3.7.0) rspec-mocks (3.7.0)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.7.0) rspec-support (~> 3.7.0)
rspec-rails (3.7.1) rspec-rails (3.7.2)
actionpack (>= 3.0) actionpack (>= 3.0)
activesupport (>= 3.0) activesupport (>= 3.0)
railties (>= 3.0) railties (>= 3.0)
@ -449,10 +452,14 @@ GEM
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.4.4) nokogiri (>= 1.4.4)
nokogumbo (~> 1.4.1) nokogumbo (~> 1.4.1)
sass (3.4.25) sass (3.5.3)
scss_lint (0.55.0) sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
scss_lint (0.56.0)
rake (>= 0.9, < 13) rake (>= 0.9, < 13)
sass (~> 3.4.20) sass (~> 3.5.3)
sidekiq (5.0.5) sidekiq (5.0.5)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
connection_pool (~> 2.2, >= 2.2.0) connection_pool (~> 2.2, >= 2.2.0)
@ -486,7 +493,7 @@ GEM
actionpack (>= 4.0) actionpack (>= 4.0)
activesupport (>= 4.0) activesupport (>= 4.0)
sprockets (>= 3.0.0) sprockets (>= 3.0.0)
sshkit (1.14.0) sshkit (1.15.1)
net-scp (>= 1.1.2) net-scp (>= 1.1.2)
net-ssh (>= 2.8.0) net-ssh (>= 2.8.0)
statsd-ruby (1.2.1) statsd-ruby (1.2.1)
@ -514,7 +521,7 @@ GEM
uniform_notifier (1.10.0) uniform_notifier (1.10.0)
warden (1.2.7) warden (1.2.7)
rack (>= 1.0) rack (>= 1.0)
webmock (3.1.0) webmock (3.1.1)
addressable (>= 2.3.6) addressable (>= 2.3.6)
crack (>= 0.3.2) crack (>= 0.3.2)
hashdiff hashdiff
@ -522,12 +529,12 @@ GEM
activesupport (>= 4.2) activesupport (>= 4.2)
rack-proxy (>= 0.6.1) rack-proxy (>= 0.6.1)
railties (>= 4.2) railties (>= 4.2)
webpush (0.3.2) webpush (0.3.3)
hkdf (~> 0.2) hkdf (~> 0.2)
jwt jwt (~> 2.0)
websocket-driver (0.6.5) websocket-driver (0.6.5)
websocket-extensions (>= 0.1.0) websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.2) websocket-extensions (0.1.3)
xpath (2.1.0) xpath (2.1.0)
nokogiri (~> 1.3) nokogiri (~> 1.3)
@ -638,4 +645,4 @@ RUBY VERSION
ruby 2.4.2p198 ruby 2.4.2p198
BUNDLED WITH BUNDLED WITH
1.15.4 1.16.0

View File

@ -21,7 +21,7 @@ module Admin
def destroy def destroy
authorize @account_moderation_note, :destroy? authorize @account_moderation_note, :destroy?
@account_moderation_note.destroy @account_moderation_note.destroy!
redirect_to admin_account_path(@account_moderation_note.target_account_id), notice: I18n.t('admin.account_moderation_notes.destroyed_msg') redirect_to admin_account_path(@account_moderation_note.target_account_id), notice: I18n.t('admin.account_moderation_notes.destroyed_msg')
end end

View File

@ -32,18 +32,21 @@ module Admin
def memorialize def memorialize
authorize @account, :memorialize? authorize @account, :memorialize?
@account.memorialize! @account.memorialize!
log_action :memorialize, @account
redirect_to admin_account_path(@account.id) redirect_to admin_account_path(@account.id)
end end
def enable def enable
authorize @account.user, :enable? authorize @account.user, :enable?
@account.user.enable! @account.user.enable!
log_action :enable, @account.user
redirect_to admin_account_path(@account.id) redirect_to admin_account_path(@account.id)
end end
def disable def disable
authorize @account.user, :disable? authorize @account.user, :disable?
@account.user.disable! @account.user.disable!
log_action :disable, @account.user
redirect_to admin_account_path(@account.id) redirect_to admin_account_path(@account.id)
end end

View File

@ -0,0 +1,9 @@
# frozen_string_literal: true
module Admin
class ActionLogsController < BaseController
def index
@action_logs = Admin::ActionLog.page(params[:page])
end
end
end

View File

@ -3,6 +3,7 @@
module Admin module Admin
class BaseController < ApplicationController class BaseController < ApplicationController
include Authorization include Authorization
include AccountableConcern
layout 'admin' layout 'admin'

View File

@ -7,6 +7,7 @@ module Admin
def create def create
authorize @user, :confirm? authorize @user, :confirm?
@user.confirm! @user.confirm!
log_action :confirm, @user
redirect_to admin_accounts_path redirect_to admin_accounts_path
end end

View File

@ -20,6 +20,7 @@ module Admin
@custom_emoji = CustomEmoji.new(resource_params) @custom_emoji = CustomEmoji.new(resource_params)
if @custom_emoji.save if @custom_emoji.save
log_action :create, @custom_emoji
redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.created_msg') redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.created_msg')
else else
render :new render :new
@ -30,6 +31,7 @@ module Admin
authorize @custom_emoji, :update? authorize @custom_emoji, :update?
if @custom_emoji.update(resource_params) if @custom_emoji.update(resource_params)
log_action :update, @custom_emoji
redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.updated_msg') redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.updated_msg')
else else
redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.update_failed_msg') redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.update_failed_msg')
@ -38,7 +40,8 @@ module Admin
def destroy def destroy
authorize @custom_emoji, :destroy? authorize @custom_emoji, :destroy?
@custom_emoji.destroy @custom_emoji.destroy!
log_action :destroy, @custom_emoji
redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.destroyed_msg') redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.destroyed_msg')
end end
@ -49,6 +52,7 @@ module Admin
emoji.image = @custom_emoji.image emoji.image = @custom_emoji.image
if emoji.save if emoji.save
log_action :create, emoji
flash[:notice] = I18n.t('admin.custom_emojis.copied_msg') flash[:notice] = I18n.t('admin.custom_emojis.copied_msg')
else else
flash[:alert] = I18n.t('admin.custom_emojis.copy_failed_msg') flash[:alert] = I18n.t('admin.custom_emojis.copy_failed_msg')
@ -60,12 +64,14 @@ module Admin
def enable def enable
authorize @custom_emoji, :enable? authorize @custom_emoji, :enable?
@custom_emoji.update!(disabled: false) @custom_emoji.update!(disabled: false)
log_action :enable, @custom_emoji
redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.enabled_msg') redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.enabled_msg')
end end
def disable def disable
authorize @custom_emoji, :disable? authorize @custom_emoji, :disable?
@custom_emoji.update!(disabled: true) @custom_emoji.update!(disabled: true)
log_action :disable, @custom_emoji
redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.disabled_msg') redirect_to admin_custom_emojis_path, notice: I18n.t('admin.custom_emojis.disabled_msg')
end end

View File

@ -21,6 +21,7 @@ module Admin
if @domain_block.save if @domain_block.save
DomainBlockWorker.perform_async(@domain_block.id) DomainBlockWorker.perform_async(@domain_block.id)
log_action :create, @domain_block
redirect_to admin_domain_blocks_path, notice: I18n.t('admin.domain_blocks.created_msg') redirect_to admin_domain_blocks_path, notice: I18n.t('admin.domain_blocks.created_msg')
else else
render :new render :new
@ -34,6 +35,7 @@ module Admin
def destroy def destroy
authorize @domain_block, :destroy? authorize @domain_block, :destroy?
UnblockDomainService.new.call(@domain_block, retroactive_unblock?) UnblockDomainService.new.call(@domain_block, retroactive_unblock?)
log_action :destroy, @domain_block
redirect_to admin_domain_blocks_path, notice: I18n.t('admin.domain_blocks.destroyed_msg') redirect_to admin_domain_blocks_path, notice: I18n.t('admin.domain_blocks.destroyed_msg')
end end

View File

@ -20,6 +20,7 @@ module Admin
@email_domain_block = EmailDomainBlock.new(resource_params) @email_domain_block = EmailDomainBlock.new(resource_params)
if @email_domain_block.save if @email_domain_block.save
log_action :create, @email_domain_block
redirect_to admin_email_domain_blocks_path, notice: I18n.t('admin.email_domain_blocks.created_msg') redirect_to admin_email_domain_blocks_path, notice: I18n.t('admin.email_domain_blocks.created_msg')
else else
render :new render :new
@ -28,7 +29,8 @@ module Admin
def destroy def destroy
authorize @email_domain_block, :destroy? authorize @email_domain_block, :destroy?
@email_domain_block.destroy @email_domain_block.destroy!
log_action :destroy, @email_domain_block
redirect_to admin_email_domain_blocks_path, notice: I18n.t('admin.email_domain_blocks.destroyed_msg') redirect_to admin_email_domain_blocks_path, notice: I18n.t('admin.email_domain_blocks.destroyed_msg')
end end

View File

@ -0,0 +1,47 @@
# frozen_string_literal: true
module Admin
class InvitesController < BaseController
def index
authorize :invite, :index?
@invites = filtered_invites.includes(user: :account).page(params[:page])
@invite = Invite.new
end
def create
authorize :invite, :create?
@invite = Invite.new(resource_params)
@invite.user = current_user
if @invite.save
redirect_to admin_invites_path
else
@invites = Invite.page(params[:page])
render :index
end
end
def destroy
@invite = Invite.find(params[:id])
authorize @invite, :destroy?
@invite.expire!
redirect_to admin_invites_path
end
private
def resource_params
params.require(:invite).permit(:max_uses, :expires_in)
end
def filtered_invites
InviteFilter.new(filter_params).results
end
def filter_params
params.permit(:available, :expired)
end
end
end

View File

@ -8,7 +8,7 @@ module Admin
def create def create
authorize :status, :update? authorize :status, :update?
@form = Form::StatusBatch.new(form_status_batch_params) @form = Form::StatusBatch.new(form_status_batch_params.merge(current_account: current_account))
flash[:alert] = I18n.t('admin.statuses.failed_to_execute') unless @form.save flash[:alert] = I18n.t('admin.statuses.failed_to_execute') unless @form.save
redirect_to admin_report_path(@report) redirect_to admin_report_path(@report)
@ -16,13 +16,15 @@ module Admin
def update def update
authorize @status, :update? authorize @status, :update?
@status.update(status_params) @status.update!(status_params)
log_action :update, @status
redirect_to admin_report_path(@report) redirect_to admin_report_path(@report)
end end
def destroy def destroy
authorize @status, :destroy? authorize @status, :destroy?
RemovalWorker.perform_async(@status.id) RemovalWorker.perform_async(@status.id)
log_action :destroy, @status
render json: @status render json: @status
end end

View File

@ -25,12 +25,17 @@ module Admin
def process_report def process_report
case params[:outcome].to_s case params[:outcome].to_s
when 'resolve' when 'resolve'
@report.update(action_taken_by_current_attributes) @report.update!(action_taken_by_current_attributes)
log_action :resolve, @report
when 'suspend' when 'suspend'
Admin::SuspensionWorker.perform_async(@report.target_account.id) Admin::SuspensionWorker.perform_async(@report.target_account.id)
log_action :resolve, @report
log_action :suspend, @report.target_account
resolve_all_target_account_reports resolve_all_target_account_reports
when 'silence' when 'silence'
@report.target_account.update(silenced: true) @report.target_account.update!(silenced: true)
log_action :resolve, @report
log_action :silence, @report.target_account
resolve_all_target_account_reports resolve_all_target_account_reports
else else
raise ActiveRecord::RecordNotFound raise ActiveRecord::RecordNotFound

View File

@ -7,6 +7,7 @@ module Admin
def create def create
authorize @user, :reset_password? authorize @user, :reset_password?
@user.send_reset_password_instructions @user.send_reset_password_instructions
log_action :reset_password, @user
redirect_to admin_accounts_path redirect_to admin_accounts_path
end end

View File

@ -7,12 +7,14 @@ module Admin
def promote def promote
authorize @user, :promote? authorize @user, :promote?
@user.promote! @user.promote!
log_action :promote, @user
redirect_to admin_account_path(@user.account_id) redirect_to admin_account_path(@user.account_id)
end end
def demote def demote
authorize @user, :demote? authorize @user, :demote?
@user.demote! @user.demote!
log_action :demote, @user
redirect_to admin_account_path(@user.account_id) redirect_to admin_account_path(@user.account_id)
end end

View File

@ -13,14 +13,17 @@ module Admin
closed_registrations_message closed_registrations_message
open_deletion open_deletion
timeline_preview timeline_preview
show_staff_badge
bootstrap_timeline_accounts bootstrap_timeline_accounts
thumbnail thumbnail
min_invite_role
).freeze ).freeze
BOOLEAN_SETTINGS = %w( BOOLEAN_SETTINGS = %w(
open_registrations open_registrations
open_deletion open_deletion
timeline_preview timeline_preview
show_staff_badge
).freeze ).freeze
UPLOAD_SETTINGS = %w( UPLOAD_SETTINGS = %w(

View File

@ -6,13 +6,15 @@ module Admin
def create def create
authorize @account, :silence? authorize @account, :silence?
@account.update(silenced: true) @account.update!(silenced: true)
log_action :silence, @account
redirect_to admin_accounts_path redirect_to admin_accounts_path
end end
def destroy def destroy
authorize @account, :unsilence? authorize @account, :unsilence?
@account.update(silenced: false) @account.update!(silenced: false)
log_action :unsilence, @account
redirect_to admin_accounts_path redirect_to admin_accounts_path
end end

View File

@ -26,7 +26,7 @@ module Admin
def create def create
authorize :status, :update? authorize :status, :update?
@form = Form::StatusBatch.new(form_status_batch_params) @form = Form::StatusBatch.new(form_status_batch_params.merge(current_account: current_account))
flash[:alert] = I18n.t('admin.statuses.failed_to_execute') unless @form.save flash[:alert] = I18n.t('admin.statuses.failed_to_execute') unless @form.save
redirect_to admin_account_statuses_path(@account.id, current_params) redirect_to admin_account_statuses_path(@account.id, current_params)
@ -34,13 +34,15 @@ module Admin
def update def update
authorize @status, :update? authorize @status, :update?
@status.update(status_params) @status.update!(status_params)
log_action :update, @status
redirect_to admin_account_statuses_path(@account.id, current_params) redirect_to admin_account_statuses_path(@account.id, current_params)
end end
def destroy def destroy
authorize @status, :destroy? authorize @status, :destroy?
RemovalWorker.perform_async(@status.id) RemovalWorker.perform_async(@status.id)
log_action :destroy, @status
render json: @status render json: @status
end end

View File

@ -7,12 +7,14 @@ module Admin
def create def create
authorize @account, :suspend? authorize @account, :suspend?
Admin::SuspensionWorker.perform_async(@account.id) Admin::SuspensionWorker.perform_async(@account.id)
log_action :suspend, @account
redirect_to admin_accounts_path redirect_to admin_accounts_path
end end
def destroy def destroy
authorize @account, :unsuspend? authorize @account, :unsuspend?
@account.unsuspend! @account.unsuspend!
log_action :unsuspend, @account
redirect_to admin_accounts_path redirect_to admin_accounts_path
end end

View File

@ -7,6 +7,7 @@ module Admin
def destroy def destroy
authorize @user, :disable_2fa? authorize @user, :disable_2fa?
@user.disable_two_factor! @user.disable_two_factor!
log_action :disable_2fa, @user
redirect_to admin_accounts_path redirect_to admin_accounts_path
end end

View File

@ -13,11 +13,9 @@ class Api::V1::AccountsController < Api::BaseController
end end
def follow def follow
reblogs_arg = { reblogs: params[:reblogs] } FollowService.new.call(current_user.account, @account.acct, reblogs: params[:reblogs])
FollowService.new.call(current_user.account, @account.acct, reblogs_arg) options = @account.locked? ? {} : { following_map: { @account.id => { reblogs: params[:reblogs] } }, requested_map: { @account.id => false } }
options = @account.locked? ? {} : { following_map: { @account.id => reblogs_arg }, requested_map: { @account.id => false } }
render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships(options) render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships(options)
end end

View File

@ -17,13 +17,16 @@ class Auth::RegistrationsController < Devise::RegistrationsController
def build_resource(hash = nil) def build_resource(hash = nil)
super(hash) super(hash)
resource.locale = I18n.locale resource.locale = I18n.locale
resource.invite_code = params[:invite_code] if resource.invite_code.blank?
resource.build_account if resource.account.nil? resource.build_account if resource.account.nil?
end end
def configure_sign_up_params def configure_sign_up_params
devise_parameter_sanitizer.permit(:sign_up) do |u| devise_parameter_sanitizer.permit(:sign_up) do |u|
u.permit({ account_attributes: [:username] }, :email, :password, :password_confirmation) u.permit({ account_attributes: [:username] }, :email, :password, :password_confirmation, :invite_code)
end end
end end
@ -36,7 +39,19 @@ class Auth::RegistrationsController < Devise::RegistrationsController
end end
def check_enabled_registrations def check_enabled_registrations
redirect_to root_path if single_user_mode? || !Setting.open_registrations redirect_to root_path if single_user_mode? || !allowed_registrations?
end
def allowed_registrations?
Setting.open_registrations || (invite_code.present? && Invite.find_by(code: invite_code)&.valid_for_use?)
end
def invite_code
if params[:user]
params[:user][:invite_code]
else
params[:invite_code]
end
end end
private private

View File

@ -0,0 +1,9 @@
# frozen_string_literal: true
module AccountableConcern
extend ActiveSupport::Concern
def log_action(action, target)
Admin::ActionLog.create(account: current_account, action: action, target: target)
end
end

View File

@ -0,0 +1,43 @@
# frozen_string_literal: true
class InvitesController < ApplicationController
include Authorization
layout 'admin'
before_action :authenticate_user!
def index
authorize :invite, :create?
@invites = Invite.where(user: current_user)
@invite = Invite.new(expires_in: 1.day.to_i)
end
def create
authorize :invite, :create?
@invite = Invite.new(resource_params)
@invite.user = current_user
if @invite.save
redirect_to invites_path
else
@invites = Invite.where(user: current_user)
render :index
end
end
def destroy
@invite = Invite.where(user: current_user).find(params[:id])
authorize @invite, :destroy?
@invite.expire!
redirect_to invites_path
end
private
def resource_params
params.require(:invite).permit(:max_uses, :expires_in)
end
end

View File

@ -0,0 +1,33 @@
# frozen_string_literal: true
class Settings::MigrationsController < ApplicationController
layout 'admin'
before_action :authenticate_user!
def show
@migration = Form::Migration.new(account: current_account.moved_to_account)
end
def update
@migration = Form::Migration.new(resource_params)
if @migration.valid? && migration_account_changed?
current_account.update!(moved_to_account: @migration.account)
ActivityPub::UpdateDistributionWorker.perform_async(current_account.id)
redirect_to settings_migration_path, notice: I18n.t('migrations.updated_msg')
else
render :show
end
end
private
def resource_params
params.require(:migration).permit(:acct)
end
def migration_account_changed?
current_account.moved_to_account_id != @migration.account&.id
end
end

View File

@ -0,0 +1,103 @@
# frozen_string_literal: true
module Admin::ActionLogsHelper
def log_target(log)
if log.target
linkable_log_target(log.target)
else
log_target_from_history(log.target_type, log.recorded_changes)
end
end
def linkable_log_target(record)
case record.class.name
when 'Account'
link_to record.acct, admin_account_path(record.id)
when 'User'
link_to record.account.acct, admin_account_path(record.account_id)
when 'CustomEmoji'
record.shortcode
when 'Report'
link_to "##{record.id}", admin_report_path(record)
when 'DomainBlock', 'EmailDomainBlock'
link_to record.domain, "https://#{record.domain}"
when 'Status'
link_to record.account.acct, TagManager.instance.url_for(record)
end
end
def log_target_from_history(type, attributes)
case type
when 'CustomEmoji'
attributes['shortcode']
when 'DomainBlock', 'EmailDomainBlock'
link_to attributes['domain'], "https://#{attributes['domain']}"
when 'Status'
tmp_status = Status.new(attributes)
link_to tmp_status.account.acct, TagManager.instance.url_for(tmp_status)
end
end
def relevant_log_changes(log)
if log.target_type == 'CustomEmoji' && [:enable, :disable, :destroy].include?(log.action)
log.recorded_changes.slice('domain')
elsif log.target_type == 'CustomEmoji' && log.action == :update
log.recorded_changes.slice('domain', 'visible_in_picker')
elsif log.target_type == 'User' && [:promote, :demote].include?(log.action)
log.recorded_changes.slice('moderator', 'admin')
elsif log.target_type == 'DomainBlock'
log.recorded_changes.slice('severity', 'reject_media')
elsif log.target_type == 'Status' && log.action == :update
log.recorded_changes.slice('sensitive')
end
end
def log_extra_attributes(hash)
safe_join(hash.to_a.map { |key, value| safe_join([content_tag(:span, key, class: 'diff-key'), '=', log_change(value)]) }, ' ')
end
def log_change(val)
return content_tag(:span, val, class: 'diff-neutral') unless val.is_a?(Array)
safe_join([content_tag(:span, val.first, class: 'diff-old'), content_tag(:span, val.last, class: 'diff-new')], '→')
end
def icon_for_log(log)
case log.target_type
when 'Account', 'User'
'user'
when 'CustomEmoji'
'file'
when 'Report'
'flag'
when 'DomainBlock'
'lock'
when 'EmailDomainBlock'
'envelope'
when 'Status'
'pencil'
end
end
def class_for_log_icon(log)
case log.action
when :enable, :unsuspend, :unsilence, :confirm, :promote, :resolve
'positive'
when :create
opposite_verbs?(log) ? 'negative' : 'positive'
when :update, :reset_password, :disable_2fa, :memorialize
'neutral'
when :demote, :silence, :disable, :suspend
'negative'
when :destroy
opposite_verbs?(log) ? 'positive' : 'negative'
else
''
end
end
private
def opposite_verbs?(log)
%w(DomainBlock EmailDomainBlock).include?(log.target_type)
end
end

View File

@ -3,8 +3,9 @@
module Admin::FilterHelper module Admin::FilterHelper
ACCOUNT_FILTERS = %i(local remote by_domain silenced suspended recent username display_name email ip).freeze ACCOUNT_FILTERS = %i(local remote by_domain silenced suspended recent username display_name email ip).freeze
REPORT_FILTERS = %i(resolved account_id target_account_id).freeze REPORT_FILTERS = %i(resolved account_id target_account_id).freeze
INVITE_FILTER = %i(available expired).freeze
FILTERS = ACCOUNT_FILTERS + REPORT_FILTERS FILTERS = ACCOUNT_FILTERS + REPORT_FILTERS + INVITE_FILTER
def filter_link_to(text, link_to_params, link_class_params = link_to_params) def filter_link_to(text, link_to_params, link_class_params = link_to_params)
new_url = filtered_url_for(link_to_params) new_url = filtered_url_for(link_to_params)

View File

@ -9,6 +9,24 @@ module JsonLdHelper
value.is_a?(Array) ? value.first : value value.is_a?(Array) ? value.first : value
end end
# The url attribute can be a string, an array of strings, or an array of objects.
# The objects could include a mimeType. Not-included mimeType means it's text/html.
def url_to_href(value, preferred_type = nil)
single_value = if value.is_a?(Array) && !value.first.is_a?(String)
value.find { |link| preferred_type.nil? || ((link['mimeType'].presence || 'text/html') == preferred_type) }
elsif value.is_a?(Array)
value.first
else
value
end
if single_value.nil? || single_value.is_a?(String)
single_value
else
single_value['href']
end
end
def as_array(value) def as_array(value)
value.is_a?(Array) ? value : [value] value.is_a?(Array) ? value : [value]
end end

View File

@ -9,6 +9,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { MediaGallery, Video } from 'flavours/glitch/util/async-components'; import { MediaGallery, Video } from 'flavours/glitch/util/async-components';
import { HotKeys } from 'react-hotkeys'; import { HotKeys } from 'react-hotkeys';
import NotificationOverlayContainer from 'flavours/glitch/features/notifications/containers/overlay_container'; import NotificationOverlayContainer from 'flavours/glitch/features/notifications/containers/overlay_container';
import classNames from 'classnames';
// We use the component (and not the container) since we do not want // We use the component (and not the container) since we do not want
// to use the progress bar to show download progress // to use the progress bar to show download progress
@ -21,6 +22,7 @@ export default class Status extends ImmutablePureComponent {
}; };
static propTypes = { static propTypes = {
containerId: PropTypes.string,
id: PropTypes.string, id: PropTypes.string,
status: ImmutablePropTypes.map, status: ImmutablePropTypes.map,
account: ImmutablePropTypes.map, account: ImmutablePropTypes.map,
@ -59,6 +61,7 @@ export default class Status extends ImmutablePureComponent {
'muted', 'muted',
'collapse', 'collapse',
'notification', 'notification',
'hidden',
] ]
updateOnStates = [ updateOnStates = [
@ -187,7 +190,9 @@ export default class Status extends ImmutablePureComponent {
} }
handleExpandedToggle = () => { handleExpandedToggle = () => {
this.setExpansion(this.state.isExpanded || !this.props.status.get('spoiler') ? null : true); if (this.props.status.get('spoiler_text')) {
this.setExpansion(this.state.isExpanded ? null : true);
}
}; };
handleOpenVideo = startTime => { handleOpenVideo = startTime => {
@ -221,11 +226,11 @@ export default class Status extends ImmutablePureComponent {
} }
handleHotkeyMoveUp = () => { handleHotkeyMoveUp = () => {
this.props.onMoveUp(this.props.status.get('id')); this.props.onMoveUp(this.props.containerId || this.props.id);
} }
handleHotkeyMoveDown = () => { handleHotkeyMoveDown = () => {
this.props.onMoveDown(this.props.status.get('id')); this.props.onMoveDown(this.props.containerId || this.props.id);
} }
handleRef = c => { handleRef = c => {
@ -370,31 +375,24 @@ export default class Status extends ImmutablePureComponent {
openProfile: this.handleHotkeyOpenProfile, openProfile: this.handleHotkeyOpenProfile,
moveUp: this.handleHotkeyMoveUp, moveUp: this.handleHotkeyMoveUp,
moveDown: this.handleHotkeyMoveDown, moveDown: this.handleHotkeyMoveDown,
toggleSpoiler: this.handleExpandedToggle,
}; };
const computedClass = classNames('status', `status-${status.get('visibility')}`, {
collapsed: isExpanded === false,
'has-background': isExpanded === false && background,
'marked-for-delete': this.state.markedForDelete,
muted,
}, 'focusable');
return ( return (
<HotKeys handlers={handlers}> <HotKeys handlers={handlers}>
<div <div
className={ className={computedClass}
`status${ style={isExpanded === false && background ? { backgroundImage: `url(${background})` } : null}
muted ? ' muted' : ''
} status-${status.get('visibility')}${
isExpanded === false ? ' collapsed' : ''
}${
isExpanded === false && background ? ' has-background' : ''
}${
this.state.markedForDelete ? ' marked-for-delete' : ''
}`
}
style={{
backgroundImage: (
isExpanded === false && background ?
`url(${background})` :
'none'
),
}}
{...selectorAttribs} {...selectorAttribs}
ref={handleRef} ref={handleRef}
tabIndex='0'
> >
{prepend && account ? ( {prepend && account ? (
<StatusPrepend <StatusPrepend

View File

@ -45,6 +45,7 @@ const makeMapStateToProps = () => {
} }
return { return {
containerId : props.containerId || props.id, // Should match reblogStatus's id for reblogs
status : status, status : status,
account : account || props.account, account : account || props.account,
settings : state.get('local_settings'), settings : state.get('local_settings'),

View File

@ -14,6 +14,7 @@ import NotificationOverlayContainer from '../containers/overlay_container';
export default class NotificationFollow extends ImmutablePureComponent { export default class NotificationFollow extends ImmutablePureComponent {
static propTypes = { static propTypes = {
hidden: PropTypes.bool,
id: PropTypes.string.isRequired, id: PropTypes.string.isRequired,
account: ImmutablePropTypes.map.isRequired, account: ImmutablePropTypes.map.isRequired,
notification: ImmutablePropTypes.map.isRequired, notification: ImmutablePropTypes.map.isRequired,
@ -57,7 +58,7 @@ export default class NotificationFollow extends ImmutablePureComponent {
} }
render () { render () {
const { account, notification } = this.props; const { account, notification, hidden } = this.props;
// Links to the display name. // Links to the display name.
const displayName = account.get('display_name_html') || account.get('username'); const displayName = account.get('display_name_html') || account.get('username');
@ -87,7 +88,7 @@ export default class NotificationFollow extends ImmutablePureComponent {
/> />
</div> </div>
<AccountContainer id={account.get('id')} withNote={false} /> <AccountContainer hidden={hidden} id={account.get('id')} withNote={false} />
<NotificationOverlayContainer notification={notification} /> <NotificationOverlayContainer notification={notification} />
</div> </div>
</HotKeys> </HotKeys>

View File

@ -16,70 +16,75 @@ export default class Notification extends ImmutablePureComponent {
onMoveUp: PropTypes.func.isRequired, onMoveUp: PropTypes.func.isRequired,
onMoveDown: PropTypes.func.isRequired, onMoveDown: PropTypes.func.isRequired,
onMention: PropTypes.func.isRequired, onMention: PropTypes.func.isRequired,
settings: ImmutablePropTypes.map.isRequired,
}; };
renderFollow () { render () {
const { notification } = this.props; const {
hidden,
notification,
onMoveDown,
onMoveUp,
onMention,
} = this.props;
switch(notification.get('type')) {
case 'follow':
return ( return (
<NotificationFollow <NotificationFollow
hidden={hidden}
id={notification.get('id')} id={notification.get('id')}
account={notification.get('account')} account={notification.get('account')}
notification={notification} notification={notification}
onMoveDown={onMoveDown}
onMoveUp={onMoveUp}
onMention={onMention}
/> />
); );
} case 'mention':
renderMention () {
const { notification } = this.props;
return ( return (
<StatusContainer <StatusContainer
containerId={notification.get('id')}
hidden={hidden}
id={notification.get('status')} id={notification.get('status')}
notification={notification} notification={notification}
onMoveDown={onMoveDown}
onMoveUp={onMoveUp}
onMention={onMention}
withDismiss withDismiss
/> />
); );
} case 'favourite':
renderFavourite () {
const { notification } = this.props;
return ( return (
<StatusContainer <StatusContainer
containerId={notification.get('id')}
hidden={hidden}
id={notification.get('status')} id={notification.get('status')}
account={notification.get('account')} account={notification.get('account')}
prepend='favourite' prepend='favourite'
muted muted
notification={notification} notification={notification}
onMoveDown={onMoveDown}
onMoveUp={onMoveUp}
onMention={onMention}
withDismiss withDismiss
/> />
); );
} case 'reblog':
renderReblog () {
const { notification } = this.props;
return ( return (
<StatusContainer <StatusContainer
containerId={notification.get('id')}
hidden={hidden}
id={notification.get('status')} id={notification.get('status')}
account={notification.get('account')} account={notification.get('account')}
prepend='reblog' prepend='reblog'
muted muted
notification={notification} notification={notification}
onMoveDown={onMoveDown}
onMoveUp={onMoveUp}
onMention={onMention}
withDismiss withDismiss
/> />
); );
}
render () {
const { notification } = this.props;
switch(notification.get('type')) {
case 'follow':
return this.renderFollow();
case 'mention':
return this.renderMention();
case 'favourite':
return this.renderFavourite();
case 'reblog':
return this.renderReblog();
default: default:
return null; return null;
} }

View File

@ -11,7 +11,6 @@ const makeMapStateToProps = () => {
const mapStateToProps = (state, props) => ({ const mapStateToProps = (state, props) => ({
notification: getNotification(state, props.notification, props.accountId), notification: getNotification(state, props.notification, props.accountId),
settings: state.get('local_settings'),
notifCleaning: state.getIn(['notifications', 'cleaningMode']), notifCleaning: state.getIn(['notifications', 'cleaningMode']),
}); });

View File

@ -41,7 +41,7 @@ export default class DetailedStatus extends ImmutablePureComponent {
render () { render () {
const status = this.props.status.get('reblog') ? this.props.status.get('reblog') : this.props.status; const status = this.props.status.get('reblog') ? this.props.status.get('reblog') : this.props.status;
const { settings } = this.props; const { expanded, setExpansion, settings } = this.props;
let media = ''; let media = '';
let mediaIcon = null; let mediaIcon = null;
@ -109,6 +109,8 @@ export default class DetailedStatus extends ImmutablePureComponent {
status={status} status={status}
media={media} media={media}
mediaIcon={mediaIcon} mediaIcon={mediaIcon}
expanded={expanded}
setExpansion={setExpansion}
/> />
<div className='detailed-status__meta'> <div className='detailed-status__meta'>

View File

@ -71,6 +71,7 @@ export default class Status extends ImmutablePureComponent {
state = { state = {
fullscreen: false, fullscreen: false,
isExpanded: null,
}; };
componentWillMount () { componentWillMount () {
@ -88,6 +89,12 @@ export default class Status extends ImmutablePureComponent {
} }
} }
handleExpandedToggle = () => {
if (this.props.status.get('spoiler_text')) {
this.setExpansion(this.state.isExpanded ? null : true);
}
};
handleFavouriteClick = (status) => { handleFavouriteClick = (status) => {
if (status.get('favourited')) { if (status.get('favourited')) {
this.props.dispatch(unfavourite(status)); this.props.dispatch(unfavourite(status));
@ -241,6 +248,10 @@ export default class Status extends ImmutablePureComponent {
)); ));
} }
setExpansion = value => {
this.setState({ isExpanded: value ? true : null });
}
setRef = c => { setRef = c => {
this.node = c; this.node = c;
} }
@ -272,8 +283,9 @@ export default class Status extends ImmutablePureComponent {
render () { render () {
let ancestors, descendants; let ancestors, descendants;
const { setExpansion } = this;
const { status, settings, ancestorsIds, descendantsIds } = this.props; const { status, settings, ancestorsIds, descendantsIds } = this.props;
const { fullscreen } = this.state; const { fullscreen, isExpanded } = this.state;
if (status === null) { if (status === null) {
return ( return (
@ -300,6 +312,7 @@ export default class Status extends ImmutablePureComponent {
boost: this.handleHotkeyBoost, boost: this.handleHotkeyBoost,
mention: this.handleHotkeyMention, mention: this.handleHotkeyMention,
openProfile: this.handleHotkeyOpenProfile, openProfile: this.handleHotkeyOpenProfile,
toggleSpoiler: this.handleExpandedToggle,
}; };
return ( return (
@ -317,6 +330,8 @@ export default class Status extends ImmutablePureComponent {
settings={settings} settings={settings}
onOpenVideo={this.handleOpenVideo} onOpenVideo={this.handleOpenVideo}
onOpenMedia={this.handleOpenMedia} onOpenMedia={this.handleOpenMedia}
expanded={isExpanded}
setExpansion={setExpansion}
/> />
<ActionBar <ActionBar

View File

@ -84,6 +84,7 @@ const keyMap = {
goToProfile: 'g u', goToProfile: 'g u',
goToBlocked: 'g b', goToBlocked: 'g b',
goToMuted: 'g m', goToMuted: 'g m',
toggleSpoiler: 'x',
}; };
@connect(mapStateToProps) @connect(mapStateToProps)

View File

@ -46,6 +46,7 @@
margin-left: -22px; margin-left: -22px;
margin-right: -22px; margin-right: -22px;
width: inherit; width: inherit;
max-width: none;
height: 250px; height: 250px;
} }
} }

View File

@ -1058,6 +1058,14 @@
color: $ui-secondary-color; color: $ui-secondary-color;
} }
.account__avatar {
@include avatar-radius();
@include avatar-size(90px);
display: block;
margin: 0 auto 10px;
overflow: hidden;
}
.account__header__display-name { .account__header__display-name {
color: $primary-text-color; color: $primary-text-color;
display: inline-block; display: inline-block;
@ -1248,14 +1256,6 @@
} }
} }
.account__header__avatar {
@include avatar-radius();
@include avatar-size(90px);
display: block;
margin: 0 auto 10px;
overflow: hidden;
}
.account-authorize { .account-authorize {
padding: 14px 10px; padding: 14px 10px;

View File

@ -0,0 +1,44 @@
{
"getting_started.open_source_notice": "Glitchsoc jest wolnym i otwartoźródłowym forkiem oprogramowania {Mastodon}. Możesz współtworzyć projekt lub zgłaszać błędy na GitHubie pod adresem {github}.",
"layout.auto": "Automatyczny",
"layout.current_is": "Twój obecny układ to:",
"layout.desktop": "Desktopowy",
"layout.mobile": "Mobilny",
"navigation_bar.app_settings": "Ustawienia aplikacji",
"getting_started.onboarding": "Rozejrzyj się",
"onboarding.page_one.federation": "{domain} jest 'instancją' Mastodona. Mastodon to sieć działających niezależnie serwerów tworzących jedną sieć społecznościową. Te serwery nazywane są instancjami.",
"onboarding.page_one.welcome": "Witamy na {domain}!",
"onboarding.page_six.github": "{domain} jest oparty na Glitchsoc. Glitchsoc jest {forkiem} {Mastodon}a kompatybilnym z każdym klientem i aplikacją Mastodona. Glitchsoc jest całkowicie wolnym i otwartoźródłowym oprogramowaniem. Możesz zgłaszać błędy i sugestie funkcji oraz współtworzyć projekt na {github}.",
"settings.auto_collapse": "Automatyczne zwijanie",
"settings.auto_collapse_all": "Wszystko",
"settings.auto_collapse_lengthy": "Długie wpisy",
"settings.auto_collapse_media": "Wpisy z zawartością multimedialną",
"settings.auto_collapse_notifications": "Powiadomienia",
"settings.auto_collapse_reblogs": "Podbicia",
"settings.auto_collapse_replies": "Odpowiedzi",
"settings.close": "Zamknij",
"settings.collapsed_statuses": "Zwijanie wpisów",
"settings.enable_collapsed": "Włącz zwijanie wpisów",
"settings.general": "Ogólne",
"settings.image_backgrounds": "Obrazy w tle",
"settings.image_backgrounds_media": "Wyświetlaj zawartość multimedialną zwiniętych wpisów",
"settings.image_backgrounds_users": "Nadaj tło zwiniętym wpisom",
"settings.media": "Zawartość multimedialna",
"settings.media_letterbox": "Letterbox media",
"settings.media_fullwidth": "Podgląd zawartości multimedialnej o pełnej szerokości",
"settings.preferences": "Preferencje użyytkownika",
"settings.wide_view": "Szeroki widok (tylko w trybie desktopowym)",
"settings.navbar_under": "Pasek nawigacji na dole (tylko w trybie mobilnym)",
"status.collapse": "Zwiń",
"status.uncollapse": "Rozwiń",
"notification.markForDeletion": "Oznacz do usunięcia",
"notifications.clear": "Wyczyść wszystkie powiadomienia",
"notifications.marked_clear_confirmation": "Czy na pewno chcesz bezpowrtonie usunąć wszystkie powiadomienia?",
"notifications.marked_clear": "Usuń zaznaczone powiadomienia",
"notification_purge.btn_all": "Zaznacz\nwszystkie",
"notification_purge.btn_none": "Odznacz\nwszystkie",
"notification_purge.btn_invert": "Odwróć\nzaznaczenie",
"notification_purge.btn_apply": "Usuń\nzaznaczone"
}

View File

@ -105,12 +105,13 @@ export function fetchAccountFail(id, error) {
}; };
}; };
export function followAccount(id) { export function followAccount(id, reblogs = true) {
return (dispatch, getState) => { return (dispatch, getState) => {
const alreadyFollowing = getState().getIn(['relationships', id, 'following']);
dispatch(followAccountRequest(id)); dispatch(followAccountRequest(id));
api(getState).post(`/api/v1/accounts/${id}/follow`).then(response => { api(getState).post(`/api/v1/accounts/${id}/follow`, { reblogs }).then(response => {
dispatch(followAccountSuccess(response.data)); dispatch(followAccountSuccess(response.data, alreadyFollowing));
}).catch(error => { }).catch(error => {
dispatch(followAccountFail(error)); dispatch(followAccountFail(error));
}); });
@ -136,10 +137,11 @@ export function followAccountRequest(id) {
}; };
}; };
export function followAccountSuccess(relationship) { export function followAccountSuccess(relationship, alreadyFollowing) {
return { return {
type: ACCOUNT_FOLLOW_SUCCESS, type: ACCOUNT_FOLLOW_SUCCESS,
relationship, relationship,
alreadyFollowing,
}; };
}; };

View File

@ -0,0 +1,28 @@
import api from '../api';
export const LIST_FETCH_REQUEST = 'LIST_FETCH_REQUEST';
export const LIST_FETCH_SUCCESS = 'LIST_FETCH_SUCCESS';
export const LIST_FETCH_FAIL = 'LIST_FETCH_FAIL';
export const fetchList = id => (dispatch, getState) => {
dispatch(fetchListRequest(id));
api(getState).get(`/api/v1/lists/${id}`)
.then(({ data }) => dispatch(fetchListSuccess(data)))
.catch(err => dispatch(fetchListFail(err)));
};
export const fetchListRequest = id => ({
type: LIST_FETCH_REQUEST,
id,
});
export const fetchListSuccess = list => ({
type: LIST_FETCH_SUCCESS,
list,
});
export const fetchListFail = error => ({
type: LIST_FETCH_FAIL,
error,
});

View File

@ -1,6 +1,6 @@
import api, { getLinks } from '../api'; import api, { getLinks } from '../api';
import { fetchRelationships } from './accounts'; import { fetchRelationships } from './accounts';
import { openModal } from '../../mastodon/actions/modal'; import { openModal } from './modal';
export const MUTES_FETCH_REQUEST = 'MUTES_FETCH_REQUEST'; export const MUTES_FETCH_REQUEST = 'MUTES_FETCH_REQUEST';
export const MUTES_FETCH_SUCCESS = 'MUTES_FETCH_SUCCESS'; export const MUTES_FETCH_SUCCESS = 'MUTES_FETCH_SUCCESS';

View File

@ -51,3 +51,4 @@ export const connectCommunityStream = () => connectTimelineStream('community', '
export const connectMediaStream = () => connectTimelineStream('community', 'public:local'); export const connectMediaStream = () => connectTimelineStream('community', 'public:local');
export const connectPublicStream = () => connectTimelineStream('public', 'public'); export const connectPublicStream = () => connectTimelineStream('public', 'public');
export const connectHashtagStream = (tag) => connectTimelineStream(`hashtag:${tag}`, `hashtag&tag=${tag}`); export const connectHashtagStream = (tag) => connectTimelineStream(`hashtag:${tag}`, `hashtag&tag=${tag}`);
export const connectListStream = (id) => connectTimelineStream(`list:${id}`, `list&list=${id}`);

View File

@ -118,6 +118,7 @@ export const refreshCommunityTimeline = () => refreshTimeline('community', '/
export const refreshAccountTimeline = accountId => refreshTimeline(`account:${accountId}`, `/api/v1/accounts/${accountId}/statuses`); export const refreshAccountTimeline = accountId => refreshTimeline(`account:${accountId}`, `/api/v1/accounts/${accountId}/statuses`);
export const refreshAccountMediaTimeline = accountId => refreshTimeline(`account:${accountId}:media`, `/api/v1/accounts/${accountId}/statuses`, { only_media: true }); export const refreshAccountMediaTimeline = accountId => refreshTimeline(`account:${accountId}:media`, `/api/v1/accounts/${accountId}/statuses`, { only_media: true });
export const refreshHashtagTimeline = hashtag => refreshTimeline(`hashtag:${hashtag}`, `/api/v1/timelines/tag/${hashtag}`); export const refreshHashtagTimeline = hashtag => refreshTimeline(`hashtag:${hashtag}`, `/api/v1/timelines/tag/${hashtag}`);
export const refreshListTimeline = id => refreshTimeline(`list:${id}`, `/api/v1/timelines/list/${id}`);
export function refreshTimelineFail(timeline, error, skipLoading) { export function refreshTimelineFail(timeline, error, skipLoading) {
return { return {
@ -158,6 +159,7 @@ export const expandCommunityTimeline = () => expandTimeline('community', '/ap
export const expandAccountTimeline = accountId => expandTimeline(`account:${accountId}`, `/api/v1/accounts/${accountId}/statuses`); export const expandAccountTimeline = accountId => expandTimeline(`account:${accountId}`, `/api/v1/accounts/${accountId}/statuses`);
export const expandAccountMediaTimeline = accountId => expandTimeline(`account:${accountId}:media`, `/api/v1/accounts/${accountId}/statuses`, { only_media: true }); export const expandAccountMediaTimeline = accountId => expandTimeline(`account:${accountId}:media`, `/api/v1/accounts/${accountId}/statuses`, { only_media: true });
export const expandHashtagTimeline = hashtag => expandTimeline(`hashtag:${hashtag}`, `/api/v1/timelines/tag/${hashtag}`); export const expandHashtagTimeline = hashtag => expandTimeline(`hashtag:${hashtag}`, `/api/v1/timelines/tag/${hashtag}`);
export const expandListTimeline = id => expandTimeline(`list:${id}`, `/api/v1/timelines/list/${id}`);
export function expandTimelineRequest(timeline) { export function expandTimelineRequest(timeline) {
return { return {

View File

@ -93,7 +93,7 @@ export default class Account extends ImmutablePureComponent {
</div> </div>
); );
} else { } else {
buttons = <IconButton icon={following ? 'user-times' : 'user-plus'} title={intl.formatMessage(following ? messages.unfollow : messages.follow)} onClick={this.handleFollow} active={following} />; buttons = <IconButton icon={following ? 'user-times' : 'user-plus'} title={intl.formatMessage(following ? messages.unfollow : messages.follow)} onClick={this.handleFollow} active={following ? true : false} />;
} }
} }

View File

@ -110,7 +110,7 @@ export default class Dropdown extends React.PureComponent {
icon: PropTypes.string.isRequired, icon: PropTypes.string.isRequired,
items: PropTypes.array.isRequired, items: PropTypes.array.isRequired,
size: PropTypes.number.isRequired, size: PropTypes.number.isRequired,
ariaLabel: PropTypes.string, title: PropTypes.string,
disabled: PropTypes.bool, disabled: PropTypes.bool,
status: ImmutablePropTypes.map, status: ImmutablePropTypes.map,
isUserTouching: PropTypes.func, isUserTouching: PropTypes.func,
@ -120,7 +120,7 @@ export default class Dropdown extends React.PureComponent {
}; };
static defaultProps = { static defaultProps = {
ariaLabel: 'Menu', title: 'Menu',
}; };
state = { state = {
@ -186,14 +186,14 @@ export default class Dropdown extends React.PureComponent {
} }
render () { render () {
const { icon, items, size, ariaLabel, disabled } = this.props; const { icon, items, size, title, disabled } = this.props;
const { expanded } = this.state; const { expanded } = this.state;
return ( return (
<div onKeyDown={this.handleKeyDown}> <div onKeyDown={this.handleKeyDown}>
<IconButton <IconButton
icon={icon} icon={icon}
title={ariaLabel} title={title}
active={expanded} active={expanded}
disabled={disabled} disabled={disabled}
size={size} size={size}

View File

@ -179,7 +179,7 @@ export default class StatusActionBar extends ImmutablePureComponent {
{shareButton} {shareButton}
<div className='status__action-bar-dropdown'> <div className='status__action-bar-dropdown'>
<DropdownMenuContainer disabled={anonymousAccess} status={status} items={menu} icon='ellipsis-h' size={18} direction='right' ariaLabel={intl.formatMessage(messages.more)} /> <DropdownMenuContainer disabled={anonymousAccess} status={status} items={menu} icon='ellipsis-h' size={18} direction='right' title={intl.formatMessage(messages.more)} />
</div> </div>
</div> </div>
); );

View File

@ -20,6 +20,8 @@ const messages = defineMessages({
media: { id: 'account.media', defaultMessage: 'Media' }, media: { id: 'account.media', defaultMessage: 'Media' },
blockDomain: { id: 'account.block_domain', defaultMessage: 'Hide everything from {domain}' }, blockDomain: { id: 'account.block_domain', defaultMessage: 'Hide everything from {domain}' },
unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unhide {domain}' }, unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unhide {domain}' },
hideReblogs: { id: 'account.hide_reblogs', defaultMessage: 'Hide boosts from @{name}' },
showReblogs: { id: 'account.show_reblogs', defaultMessage: 'Show boosts from @{name}' },
}); });
@injectIntl @injectIntl
@ -30,6 +32,7 @@ export default class ActionBar extends React.PureComponent {
onFollow: PropTypes.func, onFollow: PropTypes.func,
onBlock: PropTypes.func.isRequired, onBlock: PropTypes.func.isRequired,
onMention: PropTypes.func.isRequired, onMention: PropTypes.func.isRequired,
onReblogToggle: PropTypes.func.isRequired,
onReport: PropTypes.func.isRequired, onReport: PropTypes.func.isRequired,
onMute: PropTypes.func.isRequired, onMute: PropTypes.func.isRequired,
onBlockDomain: PropTypes.func.isRequired, onBlockDomain: PropTypes.func.isRequired,
@ -60,6 +63,15 @@ export default class ActionBar extends React.PureComponent {
if (account.get('id') === me) { if (account.get('id') === me) {
menu.push({ text: intl.formatMessage(messages.edit_profile), href: '/settings/profile' }); menu.push({ text: intl.formatMessage(messages.edit_profile), href: '/settings/profile' });
} else { } else {
const following = account.getIn(['relationship', 'following']);
if (following) {
if (following.get('reblogs')) {
menu.push({ text: intl.formatMessage(messages.hideReblogs, { name: account.get('username') }), action: this.props.onReblogToggle });
} else {
menu.push({ text: intl.formatMessage(messages.showReblogs, { name: account.get('username') }), action: this.props.onReblogToggle });
}
}
if (account.getIn(['relationship', 'muting'])) { if (account.getIn(['relationship', 'muting'])) {
menu.push({ text: intl.formatMessage(messages.unmute, { name: account.get('username') }), action: this.props.onMute }); menu.push({ text: intl.formatMessage(messages.unmute, { name: account.get('username') }), action: this.props.onMute });
} else { } else {

View File

@ -7,6 +7,7 @@ import Motion from '../../ui/util/optional_motion';
import spring from 'react-motion/lib/spring'; import spring from 'react-motion/lib/spring';
import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePureComponent from 'react-immutable-pure-component';
import { autoPlayGif, me } from '../../../initial_state'; import { autoPlayGif, me } from '../../../initial_state';
import classNames from 'classnames';
const messages = defineMessages({ const messages = defineMessages({
unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' }, unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },
@ -102,6 +103,10 @@ export default class Header extends ImmutablePureComponent {
} }
} }
if (account.get('moved')) {
actionBtn = '';
}
if (account.get('locked')) { if (account.get('locked')) {
lockedIcon = <i className='fa fa-lock' />; lockedIcon = <i className='fa fa-lock' />;
} }
@ -110,7 +115,7 @@ export default class Header extends ImmutablePureComponent {
const displayNameHtml = { __html: account.get('display_name_html') }; const displayNameHtml = { __html: account.get('display_name_html') };
return ( return (
<div className='account__header' style={{ backgroundImage: `url(${account.get('header')})` }}> <div className={classNames('account__header', { inactive: !!account.get('moved') })} style={{ backgroundImage: `url(${account.get('header')})` }}>
<div> <div>
<Avatar account={account} /> <Avatar account={account} />

View File

@ -5,6 +5,7 @@ import InnerHeader from '../../account/components/header';
import ActionBar from '../../account/components/action_bar'; import ActionBar from '../../account/components/action_bar';
import MissingIndicator from '../../../components/missing_indicator'; import MissingIndicator from '../../../components/missing_indicator';
import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePureComponent from 'react-immutable-pure-component';
import MovedNote from './moved_note';
export default class Header extends ImmutablePureComponent { export default class Header extends ImmutablePureComponent {
@ -13,6 +14,7 @@ export default class Header extends ImmutablePureComponent {
onFollow: PropTypes.func.isRequired, onFollow: PropTypes.func.isRequired,
onBlock: PropTypes.func.isRequired, onBlock: PropTypes.func.isRequired,
onMention: PropTypes.func.isRequired, onMention: PropTypes.func.isRequired,
onReblogToggle: PropTypes.func.isRequired,
onReport: PropTypes.func.isRequired, onReport: PropTypes.func.isRequired,
onMute: PropTypes.func.isRequired, onMute: PropTypes.func.isRequired,
onBlockDomain: PropTypes.func.isRequired, onBlockDomain: PropTypes.func.isRequired,
@ -39,6 +41,10 @@ export default class Header extends ImmutablePureComponent {
this.props.onReport(this.props.account); this.props.onReport(this.props.account);
} }
handleReblogToggle = () => {
this.props.onReblogToggle(this.props.account);
}
handleMute = () => { handleMute = () => {
this.props.onMute(this.props.account); this.props.onMute(this.props.account);
} }
@ -68,6 +74,8 @@ export default class Header extends ImmutablePureComponent {
return ( return (
<div className='account-timeline__header'> <div className='account-timeline__header'>
{account.get('moved') && <MovedNote from={account} to={account.get('moved')} />}
<InnerHeader <InnerHeader
account={account} account={account}
onFollow={this.handleFollow} onFollow={this.handleFollow}
@ -77,6 +85,7 @@ export default class Header extends ImmutablePureComponent {
account={account} account={account}
onBlock={this.handleBlock} onBlock={this.handleBlock}
onMention={this.handleMention} onMention={this.handleMention}
onReblogToggle={this.handleReblogToggle}
onReport={this.handleReport} onReport={this.handleReport}
onMute={this.handleMute} onMute={this.handleMute}
onBlockDomain={this.handleBlockDomain} onBlockDomain={this.handleBlockDomain}

View File

@ -0,0 +1,48 @@
import React from 'react';
import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { FormattedMessage } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component';
import AvatarOverlay from '../../../components/avatar_overlay';
import DisplayName from '../../../components/display_name';
export default class MovedNote extends ImmutablePureComponent {
static contextTypes = {
router: PropTypes.object,
};
static propTypes = {
from: ImmutablePropTypes.map.isRequired,
to: ImmutablePropTypes.map.isRequired,
};
handleAccountClick = e => {
if (e.button === 0) {
e.preventDefault();
this.context.router.history.push(`/accounts/${this.props.to.get('id')}`);
}
e.stopPropagation();
}
render () {
const { from, to } = this.props;
const displayNameHtml = { __html: from.get('display_name_html') };
return (
<div className='account__moved-note'>
<div className='account__moved-note__message'>
<div className='account__moved-note__icon-wrapper'><i className='fa fa-fw fa-suitcase account__moved-note__icon' /></div>
<FormattedMessage id='account.moved_to' defaultMessage='{name} has moved to:' values={{ name: <strong dangerouslySetInnerHTML={displayNameHtml} /> }} />
</div>
<a href={to.get('url')} onClick={this.handleAccountClick} className='detailed-status__display-name'>
<div className='detailed-status__display-avatar'><AvatarOverlay account={to} friend={from} /></div>
<DisplayName account={to} />
</a>
</div>
);
}
}

View File

@ -67,6 +67,14 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
dispatch(mentionCompose(account, router)); dispatch(mentionCompose(account, router));
}, },
onReblogToggle (account) {
if (account.getIn(['relationship', 'following', 'reblogs'])) {
dispatch(followAccount(account.get('id'), false));
} else {
dispatch(followAccount(account.get('id'), true));
}
},
onReport (account) { onReport (account) {
dispatch(initReport(account)); dispatch(initReport(account));
}, },

View File

@ -11,7 +11,7 @@ export default class NavigationBar extends ImmutablePureComponent {
static propTypes = { static propTypes = {
account: ImmutablePropTypes.map.isRequired, account: ImmutablePropTypes.map.isRequired,
onClose: PropTypes.func.isRequired, onClose: PropTypes.func,
}; };
render () { render () {

View File

@ -25,6 +25,7 @@ const messages = defineMessages({
mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' }, mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' },
info: { id: 'navigation_bar.info', defaultMessage: 'Extended information' }, info: { id: 'navigation_bar.info', defaultMessage: 'Extended information' },
pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' }, pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' },
keyboard_shortcuts: { id: 'navigation_bar.keyboard_shortcuts', defaultMessage: 'Keyboard shortcuts' },
}); });
const mapStateToProps = state => ({ const mapStateToProps = state => ({
@ -78,6 +79,7 @@ export default class GettingStarted extends ImmutablePureComponent {
navItems = navItems.concat([ navItems = navItems.concat([
<ColumnLink key='7' icon='volume-off' text={intl.formatMessage(messages.mutes)} to='/mutes' />, <ColumnLink key='7' icon='volume-off' text={intl.formatMessage(messages.mutes)} to='/mutes' />,
<ColumnLink key='8' icon='ban' text={intl.formatMessage(messages.blocks)} to='/blocks' />, <ColumnLink key='8' icon='ban' text={intl.formatMessage(messages.blocks)} to='/blocks' />,
<ColumnLink key='9' icon='question' text={intl.formatMessage(messages.keyboard_shortcuts)} to='/keyboard-shortcuts' hideOnMobile />,
]); ]);
return ( return (

View File

@ -0,0 +1,98 @@
import React from 'react';
import Column from '../ui/components/column';
import ColumnBackButtonSlim from '../../components/column_back_button_slim';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types';
import ImmutablePureComponent from 'react-immutable-pure-component';
const messages = defineMessages({
heading: { id: 'keyboard_shortcuts.heading', defaultMessage: 'Keyboard Shortcuts' },
});
@injectIntl
export default class KeyboardShortcuts extends ImmutablePureComponent {
static propTypes = {
intl: PropTypes.object.isRequired,
multiColumn: PropTypes.bool,
};
render () {
const { intl } = this.props;
return (
<Column icon='question' heading={intl.formatMessage(messages.heading)}>
<ColumnBackButtonSlim />
<div className='keyboard-shortcuts scrollable optionally-scrollable'>
<table>
<thead>
<tr>
<th><FormattedMessage id='keyboard_shortcuts.hotkey' defaultMessage='Hotkey' /></th>
<th><FormattedMessage id='keyboard_shortcuts.description' defaultMessage='Description' /></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>r</code></td>
<td><FormattedMessage id='keyboard_shortcuts.reply' defaultMessage='to reply' /></td>
</tr>
<tr>
<td><code>m</code></td>
<td><FormattedMessage id='keyboard_shortcuts.mention' defaultMessage='to mention author' /></td>
</tr>
<tr>
<td><code>f</code></td>
<td><FormattedMessage id='keyboard_shortcuts.favourite' defaultMessage='to favourite' /></td>
</tr>
<tr>
<td><code>b</code></td>
<td><FormattedMessage id='keyboard_shortcuts.boost' defaultMessage='to boost' /></td>
</tr>
<tr>
<td><code>enter</code></td>
<td><FormattedMessage id='keyboard_shortcuts.enter' defaultMessage='to open status' /></td>
</tr>
<tr>
<td><code>up</code></td>
<td><FormattedMessage id='keyboard_shortcuts.up' defaultMessage='to move up in the list' /></td>
</tr>
<tr>
<td><code>down</code></td>
<td><FormattedMessage id='keyboard_shortcuts.down' defaultMessage='to move down in the list' /></td>
</tr>
<tr>
<td><code>1</code>-<code>9</code></td>
<td><FormattedMessage id='keyboard_shortcuts.column' defaultMessage='to focus a status in one of the columns' /></td>
</tr>
<tr>
<td><code>n</code></td>
<td><FormattedMessage id='keyboard_shortcuts.compose' defaultMessage='to focus the compose textarea' /></td>
</tr>
<tr>
<td><code>alt</code>+<code>n</code></td>
<td><FormattedMessage id='keyboard_shortcuts.toot' defaultMessage='to start a brand new toot' /></td>
</tr>
<tr>
<td><code>backspace</code></td>
<td><FormattedMessage id='keyboard_shortcuts.back' defaultMessage='to navigate back' /></td>
</tr>
<tr>
<td><code>s</code></td>
<td><FormattedMessage id='keyboard_shortcuts.search' defaultMessage='to focus search' /></td>
</tr>
<tr>
<td><code>esc</code></td>
<td><FormattedMessage id='keyboard_shortcuts.unfocus' defaultMessage='to un-focus compose textarea/search' /></td>
</tr>
<tr>
<td><code>?</code></td>
<td><FormattedMessage id='keyboard_shortcuts.legend' defaultMessage='to display this legend' /></td>
</tr>
</tbody>
</table>
</div>
</Column>
);
}
}

View File

@ -0,0 +1,106 @@
import React from 'react';
import { connect } from 'react-redux';
import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes';
import StatusListContainer from '../ui/containers/status_list_container';
import Column from '../../components/column';
import ColumnHeader from '../../components/column_header';
import { addColumn, removeColumn, moveColumn } from '../../actions/columns';
import { FormattedMessage } from 'react-intl';
import { connectListStream } from '../../actions/streaming';
import { refreshListTimeline, expandListTimeline } from '../../actions/timelines';
import { fetchList } from '../../actions/lists';
const mapStateToProps = (state, props) => ({
list: state.getIn(['lists', props.params.id]),
hasUnread: state.getIn(['timelines', `list:${props.params.id}`, 'unread']) > 0,
});
@connect(mapStateToProps)
export default class ListTimeline extends React.PureComponent {
static propTypes = {
params: PropTypes.object.isRequired,
dispatch: PropTypes.func.isRequired,
columnId: PropTypes.string,
hasUnread: PropTypes.bool,
multiColumn: PropTypes.bool,
list: ImmutablePropTypes.map,
};
handlePin = () => {
const { columnId, dispatch } = this.props;
if (columnId) {
dispatch(removeColumn(columnId));
} else {
dispatch(addColumn('LIST', { id: this.props.params.id }));
}
}
handleMove = (dir) => {
const { columnId, dispatch } = this.props;
dispatch(moveColumn(columnId, dir));
}
handleHeaderClick = () => {
this.column.scrollTop();
}
componentDidMount () {
const { dispatch } = this.props;
const { id } = this.props.params;
dispatch(fetchList(id));
dispatch(refreshListTimeline(id));
this.disconnect = dispatch(connectListStream(id));
}
componentWillUnmount () {
if (this.disconnect) {
this.disconnect();
this.disconnect = null;
}
}
setRef = c => {
this.column = c;
}
handleLoadMore = () => {
const { id } = this.props.params;
this.props.dispatch(expandListTimeline(id));
}
render () {
const { hasUnread, columnId, multiColumn, list } = this.props;
const { id } = this.props.params;
const pinned = !!columnId;
const title = list ? list.get('title') : id;
return (
<Column ref={this.setRef}>
<ColumnHeader
icon='bars'
active={hasUnread}
title={title}
onPin={this.handlePin}
onMove={this.handleMove}
onClick={this.handleHeaderClick}
pinned={pinned}
multiColumn={multiColumn}
/>
<StatusListContainer
trackScroll={!pinned}
scrollKey={`list_timeline-${columnId}`}
timelineId={`list:${id}`}
loadMore={this.handleLoadMore}
emptyMessage={<FormattedMessage id='empty_column.list' defaultMessage='There is nothing in this list yet.' />}
/>
</Column>
);
}
}

View File

@ -120,7 +120,7 @@ export default class ActionBar extends React.PureComponent {
{shareButton} {shareButton}
<div className='detailed-status__action-bar-dropdown'> <div className='detailed-status__action-bar-dropdown'>
<DropdownMenuContainer size={18} icon='ellipsis-h' items={menu} direction='left' ariaLabel='More' /> <DropdownMenuContainer size={18} icon='ellipsis-h' items={menu} direction='left' title='More' />
</div> </div>
</div> </div>
); );

View File

@ -1,5 +1,6 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import Immutable from 'immutable';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import punycode from 'punycode'; import punycode from 'punycode';
import classnames from 'classnames'; import classnames from 'classnames';
@ -24,6 +25,7 @@ export default class Card extends React.PureComponent {
static propTypes = { static propTypes = {
card: ImmutablePropTypes.map, card: ImmutablePropTypes.map,
maxDescription: PropTypes.number, maxDescription: PropTypes.number,
onOpenMedia: PropTypes.func.isRequired,
}; };
static defaultProps = { static defaultProps = {
@ -34,6 +36,27 @@ export default class Card extends React.PureComponent {
width: 0, width: 0,
}; };
handlePhotoClick = () => {
const { card, onOpenMedia } = this.props;
onOpenMedia(
Immutable.fromJS([
{
type: 'image',
url: card.get('url'),
description: card.get('title'),
meta: {
original: {
width: card.get('width'),
height: card.get('height'),
},
},
},
]),
0
);
};
renderLink () { renderLink () {
const { card, maxDescription } = this.props; const { card, maxDescription } = this.props;
@ -73,9 +96,16 @@ export default class Card extends React.PureComponent {
const { card } = this.props; const { card } = this.props;
return ( return (
<a href={card.get('url')} className='status-card-photo' target='_blank' rel='noopener'> <img
<img src={card.get('url')} alt={card.get('title')} width={card.get('width')} height={card.get('height')} /> className='status-card-photo'
</a> onClick={this.handlePhotoClick}
role='button'
tabIndex='0'
src={card.get('url')}
alt={card.get('title')}
width={card.get('width')}
height={card.get('height')}
/>
); );
} }

View File

@ -73,7 +73,7 @@ export default class DetailedStatus extends ImmutablePureComponent {
); );
} }
} else if (status.get('spoiler_text').length === 0) { } else if (status.get('spoiler_text').length === 0) {
media = <CardContainer statusId={status.get('id')} />; media = <CardContainer onOpenMedia={this.props.onOpenMedia} statusId={status.get('id')} />;
} }
if (status.get('application')) { if (status.get('application')) {

View File

@ -11,7 +11,7 @@ import BundleContainer from '../containers/bundle_container';
import ColumnLoading from './column_loading'; import ColumnLoading from './column_loading';
import DrawerLoading from './drawer_loading'; import DrawerLoading from './drawer_loading';
import BundleColumnError from './bundle_column_error'; import BundleColumnError from './bundle_column_error';
import { Compose, Notifications, HomeTimeline, CommunityTimeline, PublicTimeline, HashtagTimeline, FavouritedStatuses } from '../../ui/util/async-components'; import { Compose, Notifications, HomeTimeline, CommunityTimeline, PublicTimeline, HashtagTimeline, FavouritedStatuses, ListTimeline } from '../../ui/util/async-components';
import detectPassiveEvents from 'detect-passive-events'; import detectPassiveEvents from 'detect-passive-events';
import { scrollRight } from '../../../scroll'; import { scrollRight } from '../../../scroll';
@ -24,6 +24,7 @@ const componentMap = {
'COMMUNITY': CommunityTimeline, 'COMMUNITY': CommunityTimeline,
'HASHTAG': HashtagTimeline, 'HASHTAG': HashtagTimeline,
'FAVOURITES': FavouritedStatuses, 'FAVOURITES': FavouritedStatuses,
'LIST': ListTimeline,
}; };
@component => injectIntl(component, { withRef: true }) @component => injectIntl(component, { withRef: true })

View File

@ -7,7 +7,7 @@ export default class ImageLoader extends React.PureComponent {
static propTypes = { static propTypes = {
alt: PropTypes.string, alt: PropTypes.string,
src: PropTypes.string.isRequired, src: PropTypes.string.isRequired,
previewSrc: PropTypes.string.isRequired, previewSrc: PropTypes.string,
width: PropTypes.number, width: PropTypes.number,
height: PropTypes.number, height: PropTypes.number,
} }
@ -47,7 +47,7 @@ export default class ImageLoader extends React.PureComponent {
this.removeEventListeners(); this.removeEventListeners();
this.setState({ loading: true, error: false }); this.setState({ loading: true, error: false });
Promise.all([ Promise.all([
this.loadPreviewCanvas(props), props.previewSrc && this.loadPreviewCanvas(props),
this.hasSize() && this.loadOriginalImage(props), this.hasSize() && this.loadOriginalImage(props),
].filter(Boolean)) ].filter(Boolean))
.then(() => { .then(() => {

View File

@ -92,7 +92,7 @@ export default class MediaModal extends ImmutablePureComponent {
const height = image.getIn(['meta', 'original', 'height']) || null; const height = image.getIn(['meta', 'original', 'height']) || null;
if (image.get('type') === 'image') { if (image.get('type') === 'image') {
return <ImageLoader previewSrc={image.get('preview_url')} src={image.get('url')} width={width} height={height} alt={image.get('description')} key={image.get('preview_url')} />; return <ImageLoader previewSrc={image.get('preview_url')} src={image.get('url')} width={width} height={height} alt={image.get('description')} key={image.get('url')} />;
} else if (image.get('type') === 'gifv') { } else if (image.get('type') === 'gifv') {
return <ExtendedVideoPlayer src={image.get('url')} muted controls={false} width={width} height={height} key={image.get('preview_url')} alt={image.get('description')} />; return <ExtendedVideoPlayer src={image.get('url')} muted controls={false} width={width} height={height} key={image.get('preview_url')} alt={image.get('description')} />;
} }

View File

@ -19,6 +19,7 @@ import {
Compose, Compose,
Status, Status,
GettingStarted, GettingStarted,
KeyboardShortcuts,
PublicTimeline, PublicTimeline,
CommunityTimeline, CommunityTimeline,
AccountTimeline, AccountTimeline,
@ -33,6 +34,7 @@ import {
FollowRequests, FollowRequests,
GenericNotFound, GenericNotFound,
FavouritedStatuses, FavouritedStatuses,
ListTimeline,
Blocks, Blocks,
Mutes, Mutes,
PinnedStatuses, PinnedStatuses,
@ -55,6 +57,7 @@ const mapStateToProps = state => ({
}); });
const keyMap = { const keyMap = {
help: '?',
new: 'n', new: 'n',
search: 's', search: 's',
forceNew: 'option+n', forceNew: 'option+n',
@ -297,6 +300,14 @@ export default class UI extends React.Component {
this.hotkeys = c; this.hotkeys = c;
} }
handleHotkeyToggleHelp = () => {
if (this.props.location.pathname === '/keyboard-shortcuts') {
this.context.router.history.goBack();
} else {
this.context.router.history.push('/keyboard-shortcuts');
}
}
handleHotkeyGoToHome = () => { handleHotkeyGoToHome = () => {
this.context.router.history.push('/timelines/home'); this.context.router.history.push('/timelines/home');
} }
@ -342,6 +353,7 @@ export default class UI extends React.Component {
const { children } = this.props; const { children } = this.props;
const handlers = { const handlers = {
help: this.handleHotkeyToggleHelp,
new: this.handleHotkeyNew, new: this.handleHotkeyNew,
search: this.handleHotkeySearch, search: this.handleHotkeySearch,
forceNew: this.handleHotkeyForceNew, forceNew: this.handleHotkeyForceNew,
@ -368,10 +380,12 @@ export default class UI extends React.Component {
<WrappedSwitch> <WrappedSwitch>
<Redirect from='/' to='/getting-started' exact /> <Redirect from='/' to='/getting-started' exact />
<WrappedRoute path='/getting-started' component={GettingStarted} content={children} /> <WrappedRoute path='/getting-started' component={GettingStarted} content={children} />
<WrappedRoute path='/keyboard-shortcuts' component={KeyboardShortcuts} content={children} />
<WrappedRoute path='/timelines/home' component={HomeTimeline} content={children} /> <WrappedRoute path='/timelines/home' component={HomeTimeline} content={children} />
<WrappedRoute path='/timelines/public' exact component={PublicTimeline} content={children} /> <WrappedRoute path='/timelines/public' exact component={PublicTimeline} content={children} />
<WrappedRoute path='/timelines/public/local' component={CommunityTimeline} content={children} /> <WrappedRoute path='/timelines/public/local' component={CommunityTimeline} content={children} />
<WrappedRoute path='/timelines/tag/:id' component={HashtagTimeline} content={children} /> <WrappedRoute path='/timelines/tag/:id' component={HashtagTimeline} content={children} />
<WrappedRoute path='/timelines/list/:id' component={ListTimeline} content={children} />
<WrappedRoute path='/notifications' component={Notifications} content={children} /> <WrappedRoute path='/notifications' component={Notifications} content={children} />
<WrappedRoute path='/favourites' component={FavouritedStatuses} content={children} /> <WrappedRoute path='/favourites' component={FavouritedStatuses} content={children} />

View File

@ -26,6 +26,10 @@ export function HashtagTimeline () {
return import(/* webpackChunkName: "features/hashtag_timeline" */'../../hashtag_timeline'); return import(/* webpackChunkName: "features/hashtag_timeline" */'../../hashtag_timeline');
} }
export function ListTimeline () {
return import(/* webpackChunkName: "features/list_timeline" */'../../list_timeline');
}
export function Status () { export function Status () {
return import(/* webpackChunkName: "features/status" */'../../status'); return import(/* webpackChunkName: "features/status" */'../../status');
} }
@ -34,6 +38,10 @@ export function GettingStarted () {
return import(/* webpackChunkName: "features/getting_started" */'../../getting_started'); return import(/* webpackChunkName: "features/getting_started" */'../../getting_started');
} }
export function KeyboardShortcuts () {
return import(/* webpackChunkName: "features/keyboard_shortcuts" */'../../keyboard_shortcuts');
}
export function PinnedStatuses () { export function PinnedStatuses () {
return import(/* webpackChunkName: "features/pinned_statuses" */'../../pinned_statuses'); return import(/* webpackChunkName: "features/pinned_statuses" */'../../pinned_statuses');
} }

View File

@ -7,17 +7,22 @@
"account.followers": "المتابعون", "account.followers": "المتابعون",
"account.follows": "يتبع", "account.follows": "يتبع",
"account.follows_you": "يتابعك", "account.follows_you": "يتابعك",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "وسائط", "account.media": "وسائط",
"account.mention": "أُذكُر @{name}", "account.mention": "أُذكُر @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "أكتم @{name}", "account.mute": "أكتم @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "المشاركات", "account.posts": "المشاركات",
"account.report": "أبلغ عن @{name}", "account.report": "أبلغ عن @{name}",
"account.requested": "في انتظار الموافقة", "account.requested": "في انتظار الموافقة",
"account.share": "مشاركة @{name}'s profile", "account.share": "مشاركة @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "إلغاء الحظر عن @{name}", "account.unblock": "إلغاء الحظر عن @{name}",
"account.unblock_domain": "فك حظر {domain}", "account.unblock_domain": "فك حظر {domain}",
"account.unfollow": "إلغاء المتابعة", "account.unfollow": "إلغاء المتابعة",
"account.unmute": "إلغاء الكتم عن @{name}", "account.unmute": "إلغاء الكتم عن @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "عرض الملف الشخصي كاملا", "account.view_full_profile": "عرض الملف الشخصي كاملا",
"boost_modal.combo": "يمكنك ضغط {combo} لتخطّي هذه في المرّة القادمة", "boost_modal.combo": "يمكنك ضغط {combo} لتخطّي هذه في المرّة القادمة",
"bundle_column_error.body": "لقد وقع هناك خطأ أثناء عملية تحميل هذا العنصر.", "bundle_column_error.body": "لقد وقع هناك خطأ أثناء عملية تحميل هذا العنصر.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "ليس هناك بعدُ أي محتوى ذو علاقة بهذا الوسم.", "empty_column.hashtag": "ليس هناك بعدُ أي محتوى ذو علاقة بهذا الوسم.",
"empty_column.home": "إنك لا تتبع بعد أي شخص إلى حد الآن. زر {public} أو استخدام حقل البحث لكي تبدأ على التعرف على مستخدمين آخرين.", "empty_column.home": "إنك لا تتبع بعد أي شخص إلى حد الآن. زر {public} أو استخدام حقل البحث لكي تبدأ على التعرف على مستخدمين آخرين.",
"empty_column.home.public_timeline": "الخيط العام", "empty_column.home.public_timeline": "الخيط العام",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "لم تتلق أي إشعار بعدُ. تفاعل مع المستخدمين الآخرين لإنشاء محادثة.", "empty_column.notifications": "لم تتلق أي إشعار بعدُ. تفاعل مع المستخدمين الآخرين لإنشاء محادثة.",
"empty_column.public": "لا يوجد شيء هنا ! قم بتحرير شيء ما بشكل عام، أو اتبع مستخدمين آخرين في الخوادم المثيلة الأخرى لملء خيط المحادثات العام.", "empty_column.public": "لا يوجد شيء هنا ! قم بتحرير شيء ما بشكل عام، أو اتبع مستخدمين آخرين في الخوادم المثيلة الأخرى لملء خيط المحادثات العام.",
"follow_request.authorize": "ترخيص", "follow_request.authorize": "ترخيص",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "عرض الترقيات", "home.column_settings.show_reblogs": "عرض الترقيات",
"home.column_settings.show_replies": "عرض الردود", "home.column_settings.show_replies": "عرض الردود",
"home.settings": "إعدادات العمود", "home.settings": "إعدادات العمود",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "إغلاق", "lightbox.close": "إغلاق",
"lightbox.next": "التالي", "lightbox.next": "التالي",
"lightbox.previous": "العودة", "lightbox.previous": "العودة",
"loading_indicator.label": "تحميل ...", "loading_indicator.label": "تحميل ...",
"media_gallery.toggle_visible": "عرض / إخفاء", "media_gallery.toggle_visible": "عرض / إخفاء",
"missing_indicator.label": "تعذر العثور عليه", "missing_indicator.label": "تعذر العثور عليه",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "الحسابات المحجوبة", "navigation_bar.blocks": "الحسابات المحجوبة",
"navigation_bar.community_timeline": "الخيط العام المحلي", "navigation_bar.community_timeline": "الخيط العام المحلي",
"navigation_bar.edit_profile": "تعديل الملف الشخصي", "navigation_bar.edit_profile": "تعديل الملف الشخصي",
"navigation_bar.favourites": "المفضلة", "navigation_bar.favourites": "المفضلة",
"navigation_bar.follow_requests": "طلبات المتابعة", "navigation_bar.follow_requests": "طلبات المتابعة",
"navigation_bar.info": "معلومات إضافية", "navigation_bar.info": "معلومات إضافية",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "خروج", "navigation_bar.logout": "خروج",
"navigation_bar.mutes": "الحسابات المكتومة", "navigation_bar.mutes": "الحسابات المكتومة",
"navigation_bar.pins": "التبويقات المثبتة", "navigation_bar.pins": "التبويقات المثبتة",
@ -204,6 +229,7 @@
"tabs_bar.home": "الرئيسية", "tabs_bar.home": "الرئيسية",
"tabs_bar.local_timeline": "المحلي", "tabs_bar.local_timeline": "المحلي",
"tabs_bar.notifications": "الإخطارات", "tabs_bar.notifications": "الإخطارات",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "إسحب ثم أفلت للرفع", "upload_area.title": "إسحب ثم أفلت للرفع",
"upload_button.label": "إضافة وسائط", "upload_button.label": "إضافة وسائط",
"upload_form.description": "وصف للمعاقين بصريا", "upload_form.description": "وصف للمعاقين بصريا",

View File

@ -7,17 +7,22 @@
"account.followers": "Последователи", "account.followers": "Последователи",
"account.follows": "Следвам", "account.follows": "Следвам",
"account.follows_you": "Твой последовател", "account.follows_you": "Твой последовател",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Media", "account.media": "Media",
"account.mention": "Споменаване", "account.mention": "Споменаване",
"account.moved_to": "{name} has moved to:",
"account.mute": "Mute @{name}", "account.mute": "Mute @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Публикации", "account.posts": "Публикации",
"account.report": "Report @{name}", "account.report": "Report @{name}",
"account.requested": "В очакване на одобрение", "account.requested": "В очакване на одобрение",
"account.share": "Share @{name}'s profile", "account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Не блокирай", "account.unblock": "Не блокирай",
"account.unblock_domain": "Unhide {domain}", "account.unblock_domain": "Unhide {domain}",
"account.unfollow": "Не следвай", "account.unfollow": "Не следвай",
"account.unmute": "Unmute @{name}", "account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile", "account.view_full_profile": "View full profile",
"boost_modal.combo": "You can press {combo} to skip this next time", "boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "There is nothing in this hashtag yet.", "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.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
"empty_column.home.public_timeline": "the public timeline", "empty_column.home.public_timeline": "the public timeline",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.", "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.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
"follow_request.authorize": "Authorize", "follow_request.authorize": "Authorize",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "Show replies",
"home.settings": "Column settings", "home.settings": "Column settings",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Затвори", "lightbox.close": "Затвори",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"loading_indicator.label": "Зареждане...", "loading_indicator.label": "Зареждане...",
"media_gallery.toggle_visible": "Toggle visibility", "media_gallery.toggle_visible": "Toggle visibility",
"missing_indicator.label": "Not found", "missing_indicator.label": "Not found",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Blocked users", "navigation_bar.blocks": "Blocked users",
"navigation_bar.community_timeline": "Local timeline", "navigation_bar.community_timeline": "Local timeline",
"navigation_bar.edit_profile": "Редактирай профил", "navigation_bar.edit_profile": "Редактирай профил",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",
"navigation_bar.info": "Extended information", "navigation_bar.info": "Extended information",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Излизане", "navigation_bar.logout": "Излизане",
"navigation_bar.mutes": "Muted users", "navigation_bar.mutes": "Muted users",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned toots",
@ -204,6 +229,7 @@
"tabs_bar.home": "Начало", "tabs_bar.home": "Начало",
"tabs_bar.local_timeline": "Local", "tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Известия", "tabs_bar.notifications": "Известия",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Drag & drop to upload", "upload_area.title": "Drag & drop to upload",
"upload_button.label": "Добави медия", "upload_button.label": "Добави медия",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",

View File

@ -7,17 +7,22 @@
"account.followers": "Seguidors", "account.followers": "Seguidors",
"account.follows": "Seguint", "account.follows": "Seguint",
"account.follows_you": "et segueix", "account.follows_you": "et segueix",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Media", "account.media": "Media",
"account.mention": "Esmentar @{name}", "account.mention": "Esmentar @{name}",
"account.moved_to": "{name} s'ha mogut a:",
"account.mute": "Silenciar @{name}", "account.mute": "Silenciar @{name}",
"account.mute_notifications": "Notificacions desactivades de @{name}",
"account.posts": "Publicacions", "account.posts": "Publicacions",
"account.report": "Informe @{name}", "account.report": "Informe @{name}",
"account.requested": "Esperant aprovació", "account.requested": "Esperant aprovació. Clic per a cancel·lar la petició de seguiment",
"account.share": "Compartir el perfil de @{name}", "account.share": "Compartir el perfil de @{name}",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Desbloquejar @{name}", "account.unblock": "Desbloquejar @{name}",
"account.unblock_domain": "Mostra {domain}", "account.unblock_domain": "Mostra {domain}",
"account.unfollow": "Deixar de seguir", "account.unfollow": "Deixar de seguir",
"account.unmute": "Treure silenci de @{name}", "account.unmute": "Treure silenci de @{name}",
"account.unmute_notifications": "Activar notificacions de @{name}",
"account.view_full_profile": "Veure el perfil complet", "account.view_full_profile": "Veure el perfil complet",
"boost_modal.combo": "Pots premer {combo} per saltar-te això el proper cop", "boost_modal.combo": "Pots premer {combo} per saltar-te això el proper cop",
"bundle_column_error.body": "S'ha produït un error en carregar aquest component.", "bundle_column_error.body": "S'ha produït un error en carregar aquest component.",
@ -51,7 +56,7 @@
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.sensitive": "Marcar multimèdia com a sensible", "compose_form.sensitive": "Marcar multimèdia com a sensible",
"compose_form.spoiler": "Amagar text darrera l'advertència", "compose_form.spoiler": "Amagar text darrera l'advertència",
"compose_form.spoiler_placeholder": "Advertència de contingut", "compose_form.spoiler_placeholder": "Escriu l'advertència aquí",
"confirmation_modal.cancel": "Cancel·lar", "confirmation_modal.cancel": "Cancel·lar",
"confirmations.block.confirm": "Bloquejar", "confirmations.block.confirm": "Bloquejar",
"confirmations.block.message": "Estàs segur que vols bloquejar {name}?", "confirmations.block.message": "Estàs segur que vols bloquejar {name}?",
@ -64,7 +69,7 @@
"confirmations.unfollow.confirm": "Deixar de seguir", "confirmations.unfollow.confirm": "Deixar de seguir",
"confirmations.unfollow.message": "Estàs segur que vols deixar de seguir {name}?", "confirmations.unfollow.message": "Estàs segur que vols deixar de seguir {name}?",
"embed.instructions": "Incrusta aquest estat al lloc web copiant el codi a continuació.", "embed.instructions": "Incrusta aquest estat al lloc web copiant el codi a continuació.",
"embed.preview": "A continuació s'explica com:", "embed.preview": "Aquí tenim quin aspecte tindrá:",
"emoji_button.activity": "Activitat", "emoji_button.activity": "Activitat",
"emoji_button.custom": "Personalitzat", "emoji_button.custom": "Personalitzat",
"emoji_button.flags": "Flags", "emoji_button.flags": "Flags",
@ -83,6 +88,7 @@
"empty_column.hashtag": "Encara no hi ha res amb aquesta etiqueta.", "empty_column.hashtag": "Encara no hi ha res amb aquesta etiqueta.",
"empty_column.home": "Encara no segueixes ningú. Visita {public} o fes cerca per començar i conèixer altres usuaris.", "empty_column.home": "Encara no segueixes ningú. Visita {public} o fes cerca per començar i conèixer altres usuaris.",
"empty_column.home.public_timeline": "la línia de temps pública", "empty_column.home.public_timeline": "la línia de temps pública",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "Encara no tens notificacions. Interactua amb altres per iniciar la conversa.", "empty_column.notifications": "Encara no tens notificacions. Interactua amb altres per iniciar la conversa.",
"empty_column.public": "No hi ha res aquí! Escriu alguna cosa públicament o segueix manualment usuaris d'altres instàncies per omplir-ho", "empty_column.public": "No hi ha res aquí! Escriu alguna cosa públicament o segueix manualment usuaris d'altres instàncies per omplir-ho",
"follow_request.authorize": "Autoritzar", "follow_request.authorize": "Autoritzar",
@ -95,21 +101,40 @@
"home.column_settings.advanced": "Avançat", "home.column_settings.advanced": "Avançat",
"home.column_settings.basic": "Bàsic", "home.column_settings.basic": "Bàsic",
"home.column_settings.filter_regex": "Filtrar per expressió regular", "home.column_settings.filter_regex": "Filtrar per expressió regular",
"home.column_settings.show_reblogs": "Mostrar 'boosts'", "home.column_settings.show_reblogs": "Mostrar impulsos",
"home.column_settings.show_replies": "Mostrar respostes", "home.column_settings.show_replies": "Mostrar respostes",
"home.settings": "Ajustos de columna", "home.settings": "Ajustos de columna",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Tancar", "lightbox.close": "Tancar",
"lightbox.next": "Següent", "lightbox.next": "Següent",
"lightbox.previous": "Anterior", "lightbox.previous": "Anterior",
"loading_indicator.label": "Carregant...", "loading_indicator.label": "Carregant...",
"media_gallery.toggle_visible": "Alternar visibilitat", "media_gallery.toggle_visible": "Alternar visibilitat",
"missing_indicator.label": "No trobat", "missing_indicator.label": "No trobat",
"mute_modal.hide_notifications": "Amagar notificacions d'aquest usuari?",
"navigation_bar.blocks": "Usuaris bloquejats", "navigation_bar.blocks": "Usuaris bloquejats",
"navigation_bar.community_timeline": "Línia de temps Local", "navigation_bar.community_timeline": "Línia de temps Local",
"navigation_bar.edit_profile": "Editar perfil", "navigation_bar.edit_profile": "Editar perfil",
"navigation_bar.favourites": "Favorits", "navigation_bar.favourites": "Favorits",
"navigation_bar.follow_requests": "Sol·licituds de seguiment", "navigation_bar.follow_requests": "Sol·licituds de seguiment",
"navigation_bar.info": "Informació addicional", "navigation_bar.info": "Informació addicional",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Tancar sessió", "navigation_bar.logout": "Tancar sessió",
"navigation_bar.mutes": "Usuaris silenciats", "navigation_bar.mutes": "Usuaris silenciats",
"navigation_bar.pins": "Toots fixats", "navigation_bar.pins": "Toots fixats",
@ -127,7 +152,7 @@
"notifications.column_settings.mention": "Mencions:", "notifications.column_settings.mention": "Mencions:",
"notifications.column_settings.push": "Push notificacions", "notifications.column_settings.push": "Push notificacions",
"notifications.column_settings.push_meta": "Aquest dispositiu", "notifications.column_settings.push_meta": "Aquest dispositiu",
"notifications.column_settings.reblog": "Boosts:", "notifications.column_settings.reblog": "Impulsos:",
"notifications.column_settings.show": "Mostrar en la columna", "notifications.column_settings.show": "Mostrar en la columna",
"notifications.column_settings.sound": "Reproduïr so", "notifications.column_settings.sound": "Reproduïr so",
"onboarding.done": "Fet", "onboarding.done": "Fet",
@ -159,11 +184,11 @@
"privacy.public.short": "Públic", "privacy.public.short": "Públic",
"privacy.unlisted.long": "No publicar en línies de temps públiques", "privacy.unlisted.long": "No publicar en línies de temps públiques",
"privacy.unlisted.short": "No llistat", "privacy.unlisted.short": "No llistat",
"relative_time.days": "fa {number} jorns", "relative_time.days": "fa {number} dies",
"relative_time.hours": "fa {number} hores", "relative_time.hours": "fa {number} hores",
"relative_time.just_now": "ara", "relative_time.just_now": "ara",
"relative_time.minutes": "fa {number} minutes", "relative_time.minutes": "fa {number} minuts",
"relative_time.seconds": "fa {number} segondes", "relative_time.seconds": "fa {number} segons",
"reply_indicator.cancel": "Cancel·lar", "reply_indicator.cancel": "Cancel·lar",
"report.placeholder": "Comentaris addicionals", "report.placeholder": "Comentaris addicionals",
"report.submit": "Enviar", "report.submit": "Enviar",
@ -187,7 +212,7 @@
"status.mute_conversation": "Silenciar conversació", "status.mute_conversation": "Silenciar conversació",
"status.open": "Ampliar aquest estat", "status.open": "Ampliar aquest estat",
"status.pin": "Fixat en el perfil", "status.pin": "Fixat en el perfil",
"status.reblog": "Boost", "status.reblog": "Impuls",
"status.reblogged_by": "{name} ha retootejat", "status.reblogged_by": "{name} ha retootejat",
"status.reply": "Respondre", "status.reply": "Respondre",
"status.replyAll": "Respondre al tema", "status.replyAll": "Respondre al tema",
@ -204,6 +229,7 @@
"tabs_bar.home": "Inici", "tabs_bar.home": "Inici",
"tabs_bar.local_timeline": "Local", "tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Notificacions", "tabs_bar.notifications": "Notificacions",
"ui.beforeunload": "El vostre esborrany es perdrà si sortiu de Mastodon.",
"upload_area.title": "Arrossega i deixa anar per carregar", "upload_area.title": "Arrossega i deixa anar per carregar",
"upload_button.label": "Afegir multimèdia", "upload_button.label": "Afegir multimèdia",
"upload_form.description": "Descriure els problemes visuals", "upload_form.description": "Descriure els problemes visuals",

View File

@ -7,17 +7,22 @@
"account.followers": "Folgende", "account.followers": "Folgende",
"account.follows": "Folgt", "account.follows": "Folgt",
"account.follows_you": "Folgt dir", "account.follows_you": "Folgt dir",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Medien", "account.media": "Medien",
"account.mention": "@{name} erwähnen", "account.mention": "@{name} erwähnen",
"account.moved_to": "{name} has moved to:",
"account.mute": "@{name} stummschalten", "account.mute": "@{name} stummschalten",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Beiträge", "account.posts": "Beiträge",
"account.report": "@{name} melden", "account.report": "@{name} melden",
"account.requested": "Warte auf Erlaubnis. Klicke zum Abbrechen", "account.requested": "Warte auf Erlaubnis. Klicke zum Abbrechen",
"account.share": "Profil von @{name} teilen", "account.share": "Profil von @{name} teilen",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "@{name} entblocken", "account.unblock": "@{name} entblocken",
"account.unblock_domain": "{domain} wieder anzeigen", "account.unblock_domain": "{domain} wieder anzeigen",
"account.unfollow": "Entfolgen", "account.unfollow": "Entfolgen",
"account.unmute": "@{name} nicht mehr stummschalten", "account.unmute": "@{name} nicht mehr stummschalten",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "Vollständiges Profil anzeigen", "account.view_full_profile": "Vollständiges Profil anzeigen",
"boost_modal.combo": "Du kannst {combo} drücken, um dies beim nächsten Mal zu überspringen", "boost_modal.combo": "Du kannst {combo} drücken, um dies beim nächsten Mal zu überspringen",
"bundle_column_error.body": "Etwas ist beim Laden schiefgelaufen.", "bundle_column_error.body": "Etwas ist beim Laden schiefgelaufen.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "Unter diesem Hashtag gibt es noch nichts.", "empty_column.hashtag": "Unter diesem Hashtag gibt es noch nichts.",
"empty_column.home": "Deine Startseite ist leer! Besuche {public} oder nutze die Suche, um loszulegen und andere Leute zu finden.", "empty_column.home": "Deine Startseite ist leer! Besuche {public} oder nutze die Suche, um loszulegen und andere Leute zu finden.",
"empty_column.home.public_timeline": "die öffentliche Zeitleiste", "empty_column.home.public_timeline": "die öffentliche Zeitleiste",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "Du hast noch keine Mitteilungen. Interagiere mit anderen, um ins Gespräch zu kommen.", "empty_column.notifications": "Du hast noch keine Mitteilungen. Interagiere mit anderen, um ins Gespräch zu kommen.",
"empty_column.public": "Hier ist nichts zu sehen! Schreibe etwas öffentlich oder folge Profilen von anderen Instanzen, um die Zeitleiste aufzufüllen", "empty_column.public": "Hier ist nichts zu sehen! Schreibe etwas öffentlich oder folge Profilen von anderen Instanzen, um die Zeitleiste aufzufüllen",
"follow_request.authorize": "Erlauben", "follow_request.authorize": "Erlauben",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen", "home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen",
"home.column_settings.show_replies": "Antworten anzeigen", "home.column_settings.show_replies": "Antworten anzeigen",
"home.settings": "Spalteneinstellungen", "home.settings": "Spalteneinstellungen",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Schließen", "lightbox.close": "Schließen",
"lightbox.next": "Weiter", "lightbox.next": "Weiter",
"lightbox.previous": "Zurück", "lightbox.previous": "Zurück",
"loading_indicator.label": "Wird geladen …", "loading_indicator.label": "Wird geladen …",
"media_gallery.toggle_visible": "Sichtbarkeit umschalten", "media_gallery.toggle_visible": "Sichtbarkeit umschalten",
"missing_indicator.label": "Nicht gefunden", "missing_indicator.label": "Nicht gefunden",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Blockierte Profile", "navigation_bar.blocks": "Blockierte Profile",
"navigation_bar.community_timeline": "Lokale Zeitleiste", "navigation_bar.community_timeline": "Lokale Zeitleiste",
"navigation_bar.edit_profile": "Profil bearbeiten", "navigation_bar.edit_profile": "Profil bearbeiten",
"navigation_bar.favourites": "Favoriten", "navigation_bar.favourites": "Favoriten",
"navigation_bar.follow_requests": "Folgeanfragen", "navigation_bar.follow_requests": "Folgeanfragen",
"navigation_bar.info": "Über diese Instanz", "navigation_bar.info": "Über diese Instanz",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Abmelden", "navigation_bar.logout": "Abmelden",
"navigation_bar.mutes": "Stummgeschaltete Profile", "navigation_bar.mutes": "Stummgeschaltete Profile",
"navigation_bar.pins": "Angeheftete Beiträge", "navigation_bar.pins": "Angeheftete Beiträge",
@ -204,6 +229,7 @@
"tabs_bar.home": "Startseite", "tabs_bar.home": "Startseite",
"tabs_bar.local_timeline": "Lokal", "tabs_bar.local_timeline": "Lokal",
"tabs_bar.notifications": "Mitteilungen", "tabs_bar.notifications": "Mitteilungen",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Zum Hochladen hereinziehen", "upload_area.title": "Zum Hochladen hereinziehen",
"upload_button.label": "Mediendatei hinzufügen", "upload_button.label": "Mediendatei hinzufügen",
"upload_form.description": "Für Menschen mit Sehbehinderung beschreiben", "upload_form.description": "Für Menschen mit Sehbehinderung beschreiben",

View File

@ -29,6 +29,14 @@
{ {
"defaultMessage": "Unmute @{name}", "defaultMessage": "Unmute @{name}",
"id": "account.unmute" "id": "account.unmute"
},
{
"defaultMessage": "Mute notifications from @{name}",
"id": "account.mute_notifications"
},
{
"defaultMessage": "Unmute notifications from @{name}",
"id": "account.unmute_notifications"
} }
], ],
"path": "app/javascript/mastodon/components/account.json" "path": "app/javascript/mastodon/components/account.json"
@ -283,17 +291,9 @@
"defaultMessage": "Block", "defaultMessage": "Block",
"id": "confirmations.block.confirm" "id": "confirmations.block.confirm"
}, },
{
"defaultMessage": "Mute",
"id": "confirmations.mute.confirm"
},
{ {
"defaultMessage": "Are you sure you want to block {name}?", "defaultMessage": "Are you sure you want to block {name}?",
"id": "confirmations.block.message" "id": "confirmations.block.message"
},
{
"defaultMessage": "Are you sure you want to mute {name}?",
"id": "confirmations.mute.message"
} }
], ],
"path": "app/javascript/mastodon/containers/status_container.json" "path": "app/javascript/mastodon/containers/status_container.json"
@ -307,6 +307,15 @@
], ],
"path": "app/javascript/mastodon/features/account_gallery/index.json" "path": "app/javascript/mastodon/features/account_gallery/index.json"
}, },
{
"descriptors": [
{
"defaultMessage": "{name} has moved to:",
"id": "account.moved_to"
}
],
"path": "app/javascript/mastodon/features/account_timeline/components/moved_note.json"
},
{ {
"descriptors": [ "descriptors": [
{ {
@ -317,10 +326,6 @@
"defaultMessage": "Block", "defaultMessage": "Block",
"id": "confirmations.block.confirm" "id": "confirmations.block.confirm"
}, },
{
"defaultMessage": "Mute",
"id": "confirmations.mute.confirm"
},
{ {
"defaultMessage": "Hide entire domain", "defaultMessage": "Hide entire domain",
"id": "confirmations.domain_block.confirm" "id": "confirmations.domain_block.confirm"
@ -333,10 +338,6 @@
"defaultMessage": "Are you sure you want to block {name}?", "defaultMessage": "Are you sure you want to block {name}?",
"id": "confirmations.block.message" "id": "confirmations.block.message"
}, },
{
"defaultMessage": "Are you sure you want to mute {name}?",
"id": "confirmations.mute.message"
},
{ {
"defaultMessage": "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.", "defaultMessage": "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.",
"id": "confirmations.domain_block.message" "id": "confirmations.domain_block.message"
@ -398,6 +399,14 @@
"defaultMessage": "Unhide {domain}", "defaultMessage": "Unhide {domain}",
"id": "account.unblock_domain" "id": "account.unblock_domain"
}, },
{
"defaultMessage": "Hide boosts from @{name}",
"id": "account.hide_reblogs"
},
{
"defaultMessage": "Show boosts from @{name}",
"id": "account.show_reblogs"
},
{ {
"defaultMessage": "Information below may reflect the user's profile incompletely.", "defaultMessage": "Information below may reflect the user's profile incompletely.",
"id": "account.disclaimer_full" "id": "account.disclaimer_full"
@ -848,6 +857,10 @@
"defaultMessage": "Pinned toots", "defaultMessage": "Pinned toots",
"id": "navigation_bar.pins" "id": "navigation_bar.pins"
}, },
{
"defaultMessage": "Keyboard shortcuts",
"id": "navigation_bar.keyboard_shortcuts"
},
{ {
"defaultMessage": "FAQ", "defaultMessage": "FAQ",
"id": "getting_started.faq" "id": "getting_started.faq"
@ -922,6 +935,88 @@
], ],
"path": "app/javascript/mastodon/features/home_timeline/index.json" "path": "app/javascript/mastodon/features/home_timeline/index.json"
}, },
{
"descriptors": [
{
"defaultMessage": "Keyboard Shortcuts",
"id": "keyboard_shortcuts.heading"
},
{
"defaultMessage": "Hotkey",
"id": "keyboard_shortcuts.hotkey"
},
{
"defaultMessage": "Description",
"id": "keyboard_shortcuts.description"
},
{
"defaultMessage": "to reply",
"id": "keyboard_shortcuts.reply"
},
{
"defaultMessage": "to mention author",
"id": "keyboard_shortcuts.mention"
},
{
"defaultMessage": "to favourite",
"id": "keyboard_shortcuts.favourite"
},
{
"defaultMessage": "to boost",
"id": "keyboard_shortcuts.boost"
},
{
"defaultMessage": "to open status",
"id": "keyboard_shortcuts.enter"
},
{
"defaultMessage": "to move up in the list",
"id": "keyboard_shortcuts.up"
},
{
"defaultMessage": "to move down in the list",
"id": "keyboard_shortcuts.down"
},
{
"defaultMessage": "to focus a status in one of the columns",
"id": "keyboard_shortcuts.column"
},
{
"defaultMessage": "to focus the compose textarea",
"id": "keyboard_shortcuts.compose"
},
{
"defaultMessage": "to start a brand new toot",
"id": "keyboard_shortcuts.toot"
},
{
"defaultMessage": "to navigate back",
"id": "keyboard_shortcuts.back"
},
{
"defaultMessage": "to focus search",
"id": "keyboard_shortcuts.search"
},
{
"defaultMessage": "to un-focus compose textarea/search",
"id": "keyboard_shortcuts.unfocus"
},
{
"defaultMessage": "to display this legend",
"id": "keyboard_shortcuts.legend"
}
],
"path": "app/javascript/mastodon/features/keyboard_shortcuts/index.json"
},
{
"descriptors": [
{
"defaultMessage": "There is nothing in this list yet.",
"id": "empty_column.list"
}
],
"path": "app/javascript/mastodon/features/list_timeline/index.json"
},
{ {
"descriptors": [ "descriptors": [
{ {
@ -1207,6 +1302,27 @@
], ],
"path": "app/javascript/mastodon/features/ui/components/media_modal.json" "path": "app/javascript/mastodon/features/ui/components/media_modal.json"
}, },
{
"descriptors": [
{
"defaultMessage": "Are you sure you want to mute {name}?",
"id": "confirmations.mute.message"
},
{
"defaultMessage": "Hide notifications from this user?",
"id": "mute_modal.hide_notifications"
},
{
"defaultMessage": "Cancel",
"id": "confirmation_modal.cancel"
},
{
"defaultMessage": "Mute",
"id": "confirmations.mute.confirm"
}
],
"path": "app/javascript/mastodon/features/ui/components/mute_modal.json"
},
{ {
"descriptors": [ "descriptors": [
{ {
@ -1359,6 +1475,15 @@
], ],
"path": "app/javascript/mastodon/features/ui/components/upload_area.json" "path": "app/javascript/mastodon/features/ui/components/upload_area.json"
}, },
{
"descriptors": [
{
"defaultMessage": "Your draft will be lost if you leave Mastodon.",
"id": "ui.beforeunload"
}
],
"path": "app/javascript/mastodon/features/ui/index.json"
},
{ {
"descriptors": [ "descriptors": [
{ {

View File

@ -7,17 +7,22 @@
"account.followers": "Followers", "account.followers": "Followers",
"account.follows": "Follows", "account.follows": "Follows",
"account.follows_you": "Follows you", "account.follows_you": "Follows you",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Media", "account.media": "Media",
"account.mention": "Mention @{name}", "account.mention": "Mention @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "Mute @{name}", "account.mute": "Mute @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Posts", "account.posts": "Posts",
"account.report": "Report @{name}", "account.report": "Report @{name}",
"account.requested": "Awaiting approval. Click to cancel follow request", "account.requested": "Awaiting approval. Click to cancel follow request",
"account.share": "Share @{name}'s profile", "account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Unblock @{name}", "account.unblock": "Unblock @{name}",
"account.unblock_domain": "Unhide {domain}", "account.unblock_domain": "Unhide {domain}",
"account.unfollow": "Unfollow", "account.unfollow": "Unfollow",
"account.unmute": "Unmute @{name}", "account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile", "account.view_full_profile": "View full profile",
"boost_modal.combo": "You can press {combo} to skip this next time", "boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "There is nothing in this hashtag yet.", "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.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
"empty_column.home.public_timeline": "the public timeline", "empty_column.home.public_timeline": "the public timeline",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.", "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.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
"follow_request.authorize": "Authorize", "follow_request.authorize": "Authorize",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "Show replies",
"home.settings": "Column settings", "home.settings": "Column settings",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Close", "lightbox.close": "Close",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"loading_indicator.label": "Loading...", "loading_indicator.label": "Loading...",
"media_gallery.toggle_visible": "Toggle visibility", "media_gallery.toggle_visible": "Toggle visibility",
"missing_indicator.label": "Not found", "missing_indicator.label": "Not found",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Blocked users", "navigation_bar.blocks": "Blocked users",
"navigation_bar.community_timeline": "Local timeline", "navigation_bar.community_timeline": "Local timeline",
"navigation_bar.edit_profile": "Edit profile", "navigation_bar.edit_profile": "Edit profile",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",
"navigation_bar.info": "About this instance", "navigation_bar.info": "About this instance",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Logout", "navigation_bar.logout": "Logout",
"navigation_bar.mutes": "Muted users", "navigation_bar.mutes": "Muted users",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned toots",
@ -204,6 +229,7 @@
"tabs_bar.home": "Home", "tabs_bar.home": "Home",
"tabs_bar.local_timeline": "Local", "tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Notifications", "tabs_bar.notifications": "Notifications",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Drag & drop to upload", "upload_area.title": "Drag & drop to upload",
"upload_button.label": "Add media", "upload_button.label": "Add media",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",

View File

@ -7,17 +7,22 @@
"account.followers": "Sekvantoj", "account.followers": "Sekvantoj",
"account.follows": "Sekvatoj", "account.follows": "Sekvatoj",
"account.follows_you": "Sekvas vin", "account.follows_you": "Sekvas vin",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Sonbildaĵoj", "account.media": "Sonbildaĵoj",
"account.mention": "Mencii @{name}", "account.mention": "Mencii @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "Silentigi @{name}", "account.mute": "Silentigi @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Mesaĝoj", "account.posts": "Mesaĝoj",
"account.report": "Signali @{name}", "account.report": "Signali @{name}",
"account.requested": "Atendas aprobon", "account.requested": "Atendas aprobon",
"account.share": "Diskonigi la profilon de @{name}", "account.share": "Diskonigi la profilon de @{name}",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Malbloki @{name}", "account.unblock": "Malbloki @{name}",
"account.unblock_domain": "Malkaŝi {domain}", "account.unblock_domain": "Malkaŝi {domain}",
"account.unfollow": "Ne plus sekvi", "account.unfollow": "Ne plus sekvi",
"account.unmute": "Malsilentigi @{name}", "account.unmute": "Malsilentigi @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "Vidi plenan profilon", "account.view_full_profile": "Vidi plenan profilon",
"boost_modal.combo": "La proksiman fojon, premu {combo} por pasigi", "boost_modal.combo": "La proksiman fojon, premu {combo} por pasigi",
"bundle_column_error.body": "Io malfunkciis ŝargante tiun ĉi komponanton.", "bundle_column_error.body": "Io malfunkciis ŝargante tiun ĉi komponanton.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "Ĝise, neniu enhavo estas asociita kun tiu kradvorto.", "empty_column.hashtag": "Ĝise, neniu enhavo estas asociita kun tiu kradvorto.",
"empty_column.home": "Via hejma tempolinio estas malplena! Vizitu {public} aŭ uzu la serĉilon por renkonti aliajn uzantojn.", "empty_column.home": "Via hejma tempolinio estas malplena! Vizitu {public} aŭ uzu la serĉilon por renkonti aliajn uzantojn.",
"empty_column.home.public_timeline": "la publika tempolinio", "empty_column.home.public_timeline": "la publika tempolinio",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "Vi dume ne havas sciigojn. Interagi kun aliajn uzantojn por komenci la konversacion.", "empty_column.notifications": "Vi dume ne havas sciigojn. Interagi kun aliajn uzantojn por komenci la konversacion.",
"empty_column.public": "Estas nenio ĉi tie! Publike skribu ion, aŭ mane sekvu uzantojn de aliaj instancoj por plenigi la publikan tempolinion.", "empty_column.public": "Estas nenio ĉi tie! Publike skribu ion, aŭ mane sekvu uzantojn de aliaj instancoj por plenigi la publikan tempolinion.",
"follow_request.authorize": "Akcepti", "follow_request.authorize": "Akcepti",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Montri diskonigojn", "home.column_settings.show_reblogs": "Montri diskonigojn",
"home.column_settings.show_replies": "Montri respondojn", "home.column_settings.show_replies": "Montri respondojn",
"home.settings": "Agordoj de la kolumno", "home.settings": "Agordoj de la kolumno",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Fermi", "lightbox.close": "Fermi",
"lightbox.next": "Malantaŭa", "lightbox.next": "Malantaŭa",
"lightbox.previous": "Antaŭa", "lightbox.previous": "Antaŭa",
"loading_indicator.label": "Ŝarganta…", "loading_indicator.label": "Ŝarganta…",
"media_gallery.toggle_visible": "Baskuli videblecon", "media_gallery.toggle_visible": "Baskuli videblecon",
"missing_indicator.label": "Ne trovita", "missing_indicator.label": "Ne trovita",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Blokitaj uzantoj", "navigation_bar.blocks": "Blokitaj uzantoj",
"navigation_bar.community_timeline": "Loka tempolinio", "navigation_bar.community_timeline": "Loka tempolinio",
"navigation_bar.edit_profile": "Redakti la profilon", "navigation_bar.edit_profile": "Redakti la profilon",
"navigation_bar.favourites": "Favoritaj", "navigation_bar.favourites": "Favoritaj",
"navigation_bar.follow_requests": "Abonpetoj", "navigation_bar.follow_requests": "Abonpetoj",
"navigation_bar.info": "Plia informo", "navigation_bar.info": "Plia informo",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Elsaluti", "navigation_bar.logout": "Elsaluti",
"navigation_bar.mutes": "Silentigitaj uzantoj", "navigation_bar.mutes": "Silentigitaj uzantoj",
"navigation_bar.pins": "Alpinglitaj pepoj", "navigation_bar.pins": "Alpinglitaj pepoj",
@ -204,6 +229,7 @@
"tabs_bar.home": "Hejmo", "tabs_bar.home": "Hejmo",
"tabs_bar.local_timeline": "Loka tempolinio", "tabs_bar.local_timeline": "Loka tempolinio",
"tabs_bar.notifications": "Sciigoj", "tabs_bar.notifications": "Sciigoj",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Algliti por alŝuti", "upload_area.title": "Algliti por alŝuti",
"upload_button.label": "Aldoni sonbildaĵon", "upload_button.label": "Aldoni sonbildaĵon",
"upload_form.description": "Priskribi por la misvidantaj", "upload_form.description": "Priskribi por la misvidantaj",

View File

@ -7,17 +7,22 @@
"account.followers": "Seguidores", "account.followers": "Seguidores",
"account.follows": "Sigue", "account.follows": "Sigue",
"account.follows_you": "Te sigue", "account.follows_you": "Te sigue",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Media", "account.media": "Media",
"account.mention": "Mencionar a @{name}", "account.mention": "Mencionar a @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "Silenciar a @{name}", "account.mute": "Silenciar a @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Publicaciones", "account.posts": "Publicaciones",
"account.report": "Reportar a @{name}", "account.report": "Reportar a @{name}",
"account.requested": "Esperando aprobación", "account.requested": "Esperando aprobación",
"account.share": "Compartir el perfil de @{name}", "account.share": "Compartir el perfil de @{name}",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Desbloquear a @{name}", "account.unblock": "Desbloquear a @{name}",
"account.unblock_domain": "Mostrar a {domain}", "account.unblock_domain": "Mostrar a {domain}",
"account.unfollow": "Dejar de seguir", "account.unfollow": "Dejar de seguir",
"account.unmute": "Dejar de silenciar a @{name}", "account.unmute": "Dejar de silenciar a @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "Ver perfil completo", "account.view_full_profile": "Ver perfil completo",
"boost_modal.combo": "Puedes presionar {combo} para saltear este aviso la próxima vez", "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.body": "Algo salió mal al cargar este componente.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "No hay nada en este hashtag aún.", "empty_column.hashtag": "No hay nada en este hashtag aún.",
"empty_column.home": "No estás siguiendo a nadie aún. Visita {public} o haz búsquedas para empezar y conocer gente nueva.", "empty_column.home": "No estás siguiendo a nadie aún. Visita {public} o haz búsquedas para empezar y conocer gente nueva.",
"empty_column.home.public_timeline": "la línea de tiempo pública", "empty_column.home.public_timeline": "la línea de tiempo pública",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "No tienes ninguna notificación aún. Interactúa con otros para empezar una conversación.", "empty_column.notifications": "No tienes ninguna notificación aún. Interactúa con otros para empezar una conversación.",
"empty_column.public": "¡No hay nada aquí! Escribe algo públicamente, o sigue usuarios de otras instancias manualmente para llenarlo.", "empty_column.public": "¡No hay nada aquí! Escribe algo públicamente, o sigue usuarios de otras instancias manualmente para llenarlo.",
"follow_request.authorize": "Autorizar", "follow_request.authorize": "Autorizar",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Mostrar retoots", "home.column_settings.show_reblogs": "Mostrar retoots",
"home.column_settings.show_replies": "Mostrar respuestas", "home.column_settings.show_replies": "Mostrar respuestas",
"home.settings": "Ajustes de columna", "home.settings": "Ajustes de columna",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Cerrar", "lightbox.close": "Cerrar",
"lightbox.next": "Siguiente", "lightbox.next": "Siguiente",
"lightbox.previous": "Anterior", "lightbox.previous": "Anterior",
"loading_indicator.label": "Cargando…", "loading_indicator.label": "Cargando…",
"media_gallery.toggle_visible": "Cambiar visibilidad", "media_gallery.toggle_visible": "Cambiar visibilidad",
"missing_indicator.label": "No encontrado", "missing_indicator.label": "No encontrado",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Usuarios bloqueados", "navigation_bar.blocks": "Usuarios bloqueados",
"navigation_bar.community_timeline": "Historia local", "navigation_bar.community_timeline": "Historia local",
"navigation_bar.edit_profile": "Editar perfil", "navigation_bar.edit_profile": "Editar perfil",
"navigation_bar.favourites": "Favoritos", "navigation_bar.favourites": "Favoritos",
"navigation_bar.follow_requests": "Solicitudes para seguirte", "navigation_bar.follow_requests": "Solicitudes para seguirte",
"navigation_bar.info": "Información adicional", "navigation_bar.info": "Información adicional",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Cerrar sesión", "navigation_bar.logout": "Cerrar sesión",
"navigation_bar.mutes": "Usuarios silenciados", "navigation_bar.mutes": "Usuarios silenciados",
"navigation_bar.pins": "Toots fijados", "navigation_bar.pins": "Toots fijados",
@ -204,6 +229,7 @@
"tabs_bar.home": "Inicio", "tabs_bar.home": "Inicio",
"tabs_bar.local_timeline": "Local", "tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Notificaciones", "tabs_bar.notifications": "Notificaciones",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Arrastra y suelta para subir", "upload_area.title": "Arrastra y suelta para subir",
"upload_button.label": "Subir multimedia", "upload_button.label": "Subir multimedia",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",

View File

@ -7,17 +7,22 @@
"account.followers": "پیگیران", "account.followers": "پیگیران",
"account.follows": "پی می‌گیرد", "account.follows": "پی می‌گیرد",
"account.follows_you": "پیگیر شماست", "account.follows_you": "پیگیر شماست",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "رسانه", "account.media": "رسانه",
"account.mention": "نام‌بردن از @{name}", "account.mention": "نام‌بردن از @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "بی‌صدا کردن @{name}", "account.mute": "بی‌صدا کردن @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "نوشته‌ها", "account.posts": "نوشته‌ها",
"account.report": "گزارش @{name}", "account.report": "گزارش @{name}",
"account.requested": "در انتظار پذیرش", "account.requested": "در انتظار پذیرش",
"account.share": "هم‌رسانی نمایهٔ @{name}", "account.share": "هم‌رسانی نمایهٔ @{name}",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "رفع انسداد @{name}", "account.unblock": "رفع انسداد @{name}",
"account.unblock_domain": "رفع پنهان‌سازی از {domain}", "account.unblock_domain": "رفع پنهان‌سازی از {domain}",
"account.unfollow": "پایان پیگیری", "account.unfollow": "پایان پیگیری",
"account.unmute": "باصدا کردن @{name}", "account.unmute": "باصدا کردن @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "نمایش نمایهٔ کامل", "account.view_full_profile": "نمایش نمایهٔ کامل",
"boost_modal.combo": "دکمهٔ {combo} را بزنید تا دیگر این را نبینید", "boost_modal.combo": "دکمهٔ {combo} را بزنید تا دیگر این را نبینید",
"bundle_column_error.body": "هنگام بازکردن این بخش خطایی رخ داد.", "bundle_column_error.body": "هنگام بازکردن این بخش خطایی رخ داد.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "هنوز هیچ چیزی با این هشتگ نیست.", "empty_column.hashtag": "هنوز هیچ چیزی با این هشتگ نیست.",
"empty_column.home": "شما هنوز پیگیر کسی نیستید. {public} را ببینید یا چیزی را جستجو کنید تا کاربران دیگر را ببینید.", "empty_column.home": "شما هنوز پیگیر کسی نیستید. {public} را ببینید یا چیزی را جستجو کنید تا کاربران دیگر را ببینید.",
"empty_column.home.public_timeline": "فهرست نوشته‌های همه‌جا", "empty_column.home.public_timeline": "فهرست نوشته‌های همه‌جا",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "هنوز هیچ اعلانی ندارید. به نوشته‌های دیگران واکنش نشان دهید تا گفتگو آغاز شود.", "empty_column.notifications": "هنوز هیچ اعلانی ندارید. به نوشته‌های دیگران واکنش نشان دهید تا گفتگو آغاز شود.",
"empty_column.public": "این‌جا هنوز چیزی نیست! خودتان چیزی بنویسید یا کاربران دیگر را پی بگیرید تا این‌جا پر شود", "empty_column.public": "این‌جا هنوز چیزی نیست! خودتان چیزی بنویسید یا کاربران دیگر را پی بگیرید تا این‌جا پر شود",
"follow_request.authorize": "اجازه دهید", "follow_request.authorize": "اجازه دهید",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "نمایش بازبوق‌ها", "home.column_settings.show_reblogs": "نمایش بازبوق‌ها",
"home.column_settings.show_replies": "نمایش پاسخ‌ها", "home.column_settings.show_replies": "نمایش پاسخ‌ها",
"home.settings": "تنظیمات ستون", "home.settings": "تنظیمات ستون",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "بستن", "lightbox.close": "بستن",
"lightbox.next": "بعدی", "lightbox.next": "بعدی",
"lightbox.previous": "قبلی", "lightbox.previous": "قبلی",
"loading_indicator.label": "بارگیری...", "loading_indicator.label": "بارگیری...",
"media_gallery.toggle_visible": "تغییر پیدایی", "media_gallery.toggle_visible": "تغییر پیدایی",
"missing_indicator.label": "پیدا نشد", "missing_indicator.label": "پیدا نشد",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "کاربران مسدودشده", "navigation_bar.blocks": "کاربران مسدودشده",
"navigation_bar.community_timeline": "نوشته‌های محلی", "navigation_bar.community_timeline": "نوشته‌های محلی",
"navigation_bar.edit_profile": "ویرایش نمایه", "navigation_bar.edit_profile": "ویرایش نمایه",
"navigation_bar.favourites": "پسندیده‌ها", "navigation_bar.favourites": "پسندیده‌ها",
"navigation_bar.follow_requests": "درخواست‌های پیگیری", "navigation_bar.follow_requests": "درخواست‌های پیگیری",
"navigation_bar.info": "اطلاعات تکمیلی", "navigation_bar.info": "اطلاعات تکمیلی",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "خروج", "navigation_bar.logout": "خروج",
"navigation_bar.mutes": "کاربران بی‌صداشده", "navigation_bar.mutes": "کاربران بی‌صداشده",
"navigation_bar.pins": "نوشته‌های ثابت", "navigation_bar.pins": "نوشته‌های ثابت",
@ -204,6 +229,7 @@
"tabs_bar.home": "خانه", "tabs_bar.home": "خانه",
"tabs_bar.local_timeline": "محلی", "tabs_bar.local_timeline": "محلی",
"tabs_bar.notifications": "اعلان‌ها", "tabs_bar.notifications": "اعلان‌ها",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "برای بارگذاری به این‌جا بکشید", "upload_area.title": "برای بارگذاری به این‌جا بکشید",
"upload_button.label": "افزودن تصویر", "upload_button.label": "افزودن تصویر",
"upload_form.description": "نوشتهٔ توضیحی برای کم‌بینایان و نابینایان", "upload_form.description": "نوشتهٔ توضیحی برای کم‌بینایان و نابینایان",

View File

@ -7,17 +7,22 @@
"account.followers": "Seuraajia", "account.followers": "Seuraajia",
"account.follows": "Seuraa", "account.follows": "Seuraa",
"account.follows_you": "Seuraa sinua", "account.follows_you": "Seuraa sinua",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Media", "account.media": "Media",
"account.mention": "Mainitse @{name}", "account.mention": "Mainitse @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "Mute @{name}", "account.mute": "Mute @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Postit", "account.posts": "Postit",
"account.report": "Report @{name}", "account.report": "Report @{name}",
"account.requested": "Odottaa hyväksyntää", "account.requested": "Odottaa hyväksyntää",
"account.share": "Share @{name}'s profile", "account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Salli @{name}", "account.unblock": "Salli @{name}",
"account.unblock_domain": "Unhide {domain}", "account.unblock_domain": "Unhide {domain}",
"account.unfollow": "Lopeta seuraaminen", "account.unfollow": "Lopeta seuraaminen",
"account.unmute": "Unmute @{name}", "account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile", "account.view_full_profile": "View full profile",
"boost_modal.combo": "You can press {combo} to skip this next time", "boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "There is nothing in this hashtag yet.", "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.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
"empty_column.home.public_timeline": "the public timeline", "empty_column.home.public_timeline": "the public timeline",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.", "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.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
"follow_request.authorize": "Authorize", "follow_request.authorize": "Authorize",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "Show replies",
"home.settings": "Column settings", "home.settings": "Column settings",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Sulje", "lightbox.close": "Sulje",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"loading_indicator.label": "Ladataan...", "loading_indicator.label": "Ladataan...",
"media_gallery.toggle_visible": "Toggle visibility", "media_gallery.toggle_visible": "Toggle visibility",
"missing_indicator.label": "Not found", "missing_indicator.label": "Not found",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Blocked users", "navigation_bar.blocks": "Blocked users",
"navigation_bar.community_timeline": "Paikallinen aikajana", "navigation_bar.community_timeline": "Paikallinen aikajana",
"navigation_bar.edit_profile": "Muokkaa profiilia", "navigation_bar.edit_profile": "Muokkaa profiilia",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",
"navigation_bar.info": "Extended information", "navigation_bar.info": "Extended information",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Kirjaudu ulos", "navigation_bar.logout": "Kirjaudu ulos",
"navigation_bar.mutes": "Muted users", "navigation_bar.mutes": "Muted users",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned toots",
@ -204,6 +229,7 @@
"tabs_bar.home": "Koti", "tabs_bar.home": "Koti",
"tabs_bar.local_timeline": "Local", "tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Ilmoitukset", "tabs_bar.notifications": "Ilmoitukset",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Drag & drop to upload", "upload_area.title": "Drag & drop to upload",
"upload_button.label": "Lisää mediaa", "upload_button.label": "Lisää mediaa",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",

View File

@ -7,17 +7,22 @@
"account.followers": "Abonné⋅e⋅s", "account.followers": "Abonné⋅e⋅s",
"account.follows": "Abonnements", "account.follows": "Abonnements",
"account.follows_you": "Vous suit", "account.follows_you": "Vous suit",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Média", "account.media": "Média",
"account.mention": "Mentionner", "account.mention": "Mentionner",
"account.moved_to": "{name} has moved to:",
"account.mute": "Masquer", "account.mute": "Masquer",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Statuts", "account.posts": "Statuts",
"account.report": "Signaler", "account.report": "Signaler",
"account.requested": "Invitation envoyée", "account.requested": "Invitation envoyée",
"account.share": "Partager le profil de @{name}", "account.share": "Partager le profil de @{name}",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Débloquer", "account.unblock": "Débloquer",
"account.unblock_domain": "Ne plus masquer {domain}", "account.unblock_domain": "Ne plus masquer {domain}",
"account.unfollow": "Ne plus suivre", "account.unfollow": "Ne plus suivre",
"account.unmute": "Ne plus masquer", "account.unmute": "Ne plus masquer",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "Afficher le profil complet", "account.view_full_profile": "Afficher le profil complet",
"boost_modal.combo": "Vous pouvez appuyer sur {combo} pour pouvoir passer ceci, la prochaine fois", "boost_modal.combo": "Vous pouvez appuyer sur {combo} pour pouvoir passer ceci, la prochaine fois",
"bundle_column_error.body": "Une erreur sest produite lors du chargement de ce composant.", "bundle_column_error.body": "Une erreur sest produite lors du chargement de ce composant.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "Il ny a encore aucun contenu associé à ce hashtag", "empty_column.hashtag": "Il ny a encore aucun contenu associé à ce hashtag",
"empty_column.home": "Vous ne suivez encore personne. Visitez {public} ou bien utilisez la recherche pour vous connecter à dautres utilisateur⋅ice⋅s.", "empty_column.home": "Vous ne suivez encore personne. Visitez {public} ou bien utilisez la recherche pour vous connecter à dautres utilisateur⋅ice⋅s.",
"empty_column.home.public_timeline": "le fil public", "empty_column.home.public_timeline": "le fil public",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "Vous navez pas encore de notification. Interagissez avec dautres utilisateur⋅ice⋅s pour débuter la conversation.", "empty_column.notifications": "Vous navez pas encore de notification. Interagissez avec dautres utilisateur⋅ice⋅s pour débuter la conversation.",
"empty_column.public": "Il ny a rien ici! Écrivez quelque chose publiquement, ou bien suivez manuellement des utilisateur⋅ice⋅s dautres instances pour remplir le fil public.", "empty_column.public": "Il ny a rien ici! Écrivez quelque chose publiquement, ou bien suivez manuellement des utilisateur⋅ice⋅s dautres instances pour remplir le fil public.",
"follow_request.authorize": "Accepter", "follow_request.authorize": "Accepter",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Afficher les partages", "home.column_settings.show_reblogs": "Afficher les partages",
"home.column_settings.show_replies": "Afficher les réponses", "home.column_settings.show_replies": "Afficher les réponses",
"home.settings": "Paramètres de la colonne", "home.settings": "Paramètres de la colonne",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Fermer", "lightbox.close": "Fermer",
"lightbox.next": "Suivant", "lightbox.next": "Suivant",
"lightbox.previous": "Précédent", "lightbox.previous": "Précédent",
"loading_indicator.label": "Chargement…", "loading_indicator.label": "Chargement…",
"media_gallery.toggle_visible": "Modifier la visibilité", "media_gallery.toggle_visible": "Modifier la visibilité",
"missing_indicator.label": "Non trouvé", "missing_indicator.label": "Non trouvé",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Comptes bloqués", "navigation_bar.blocks": "Comptes bloqués",
"navigation_bar.community_timeline": "Fil public local", "navigation_bar.community_timeline": "Fil public local",
"navigation_bar.edit_profile": "Modifier le profil", "navigation_bar.edit_profile": "Modifier le profil",
"navigation_bar.favourites": "Favoris", "navigation_bar.favourites": "Favoris",
"navigation_bar.follow_requests": "Demandes de suivi", "navigation_bar.follow_requests": "Demandes de suivi",
"navigation_bar.info": "Plus dinformations", "navigation_bar.info": "Plus dinformations",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Déconnexion", "navigation_bar.logout": "Déconnexion",
"navigation_bar.mutes": "Comptes masqués", "navigation_bar.mutes": "Comptes masqués",
"navigation_bar.pins": "Pouets épinglés", "navigation_bar.pins": "Pouets épinglés",
@ -204,6 +229,7 @@
"tabs_bar.home": "Accueil", "tabs_bar.home": "Accueil",
"tabs_bar.local_timeline": "Fil public local", "tabs_bar.local_timeline": "Fil public local",
"tabs_bar.notifications": "Notifications", "tabs_bar.notifications": "Notifications",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Glissez et déposez pour envoyer", "upload_area.title": "Glissez et déposez pour envoyer",
"upload_button.label": "Joindre un média", "upload_button.label": "Joindre un média",
"upload_form.description": "Décrire pour les malvoyants", "upload_form.description": "Décrire pour les malvoyants",

View File

@ -7,17 +7,22 @@
"account.followers": "עוקבים", "account.followers": "עוקבים",
"account.follows": "נעקבים", "account.follows": "נעקבים",
"account.follows_you": "במעקב אחריך", "account.follows_you": "במעקב אחריך",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "מדיה", "account.media": "מדיה",
"account.mention": "אזכור של @{name}", "account.mention": "אזכור של @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "להשתיק את @{name}", "account.mute": "להשתיק את @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "הודעות", "account.posts": "הודעות",
"account.report": "לדווח על @{name}", "account.report": "לדווח על @{name}",
"account.requested": "בהמתנה לאישור", "account.requested": "בהמתנה לאישור",
"account.share": "Share @{name}'s profile", "account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "הסרת חסימה מעל @{name}", "account.unblock": "הסרת חסימה מעל @{name}",
"account.unblock_domain": "הסר חסימה מקהילת {domain}", "account.unblock_domain": "הסר חסימה מקהילת {domain}",
"account.unfollow": "הפסקת מעקב", "account.unfollow": "הפסקת מעקב",
"account.unmute": "הפסקת השתקת @{name}", "account.unmute": "הפסקת השתקת @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile", "account.view_full_profile": "View full profile",
"boost_modal.combo": "ניתן להקיש {combo} כדי לדלג בפעם הבאה", "boost_modal.combo": "ניתן להקיש {combo} כדי לדלג בפעם הבאה",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "אין כלום בהאשתג הזה עדיין.", "empty_column.hashtag": "אין כלום בהאשתג הזה עדיין.",
"empty_column.home": "אף אחד לא במעקב עדיין. אפשר לבקר ב{public} או להשתמש בחיפוש כדי להתחיל ולהכיר חצוצרנים אחרים.", "empty_column.home": "אף אחד לא במעקב עדיין. אפשר לבקר ב{public} או להשתמש בחיפוש כדי להתחיל ולהכיר חצוצרנים אחרים.",
"empty_column.home.public_timeline": "ציר זמן בין-קהילתי", "empty_column.home.public_timeline": "ציר זמן בין-קהילתי",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "אין התראות עדיין. יאללה, הגיע הזמן להתחיל להתערבב!", "empty_column.notifications": "אין התראות עדיין. יאללה, הגיע הזמן להתחיל להתערבב!",
"empty_column.public": "אין פה כלום! כדי למלא את הטור הזה אפשר לכתוב משהו, או להתחיל לעקוב אחרי אנשים מקהילות אחרות.", "empty_column.public": "אין פה כלום! כדי למלא את הטור הזה אפשר לכתוב משהו, או להתחיל לעקוב אחרי אנשים מקהילות אחרות.",
"follow_request.authorize": "קבלה", "follow_request.authorize": "קבלה",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "הצגת הדהודים", "home.column_settings.show_reblogs": "הצגת הדהודים",
"home.column_settings.show_replies": "הצגת תגובות", "home.column_settings.show_replies": "הצגת תגובות",
"home.settings": "הגדרות טור", "home.settings": "הגדרות טור",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "סגירה", "lightbox.close": "סגירה",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"loading_indicator.label": "טוען...", "loading_indicator.label": "טוען...",
"media_gallery.toggle_visible": "נראה\\בלתי נראה", "media_gallery.toggle_visible": "נראה\\בלתי נראה",
"missing_indicator.label": "לא נמצא", "missing_indicator.label": "לא נמצא",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "חסימות", "navigation_bar.blocks": "חסימות",
"navigation_bar.community_timeline": "ציר זמן מקומי", "navigation_bar.community_timeline": "ציר זמן מקומי",
"navigation_bar.edit_profile": "עריכת פרופיל", "navigation_bar.edit_profile": "עריכת פרופיל",
"navigation_bar.favourites": "חיבובים", "navigation_bar.favourites": "חיבובים",
"navigation_bar.follow_requests": "בקשות מעקב", "navigation_bar.follow_requests": "בקשות מעקב",
"navigation_bar.info": "מידע נוסף", "navigation_bar.info": "מידע נוסף",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "יציאה", "navigation_bar.logout": "יציאה",
"navigation_bar.mutes": "השתקות", "navigation_bar.mutes": "השתקות",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned toots",
@ -204,6 +229,7 @@
"tabs_bar.home": "בבית", "tabs_bar.home": "בבית",
"tabs_bar.local_timeline": "ציר זמן מקומי", "tabs_bar.local_timeline": "ציר זמן מקומי",
"tabs_bar.notifications": "התראות", "tabs_bar.notifications": "התראות",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "ניתן להעלות על ידי Drag & drop", "upload_area.title": "ניתן להעלות על ידי Drag & drop",
"upload_button.label": "הוספת מדיה", "upload_button.label": "הוספת מדיה",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",

View File

@ -7,17 +7,22 @@
"account.followers": "Sljedbenici", "account.followers": "Sljedbenici",
"account.follows": "Slijedi", "account.follows": "Slijedi",
"account.follows_you": "te slijedi", "account.follows_you": "te slijedi",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Media", "account.media": "Media",
"account.mention": "Spomeni @{name}", "account.mention": "Spomeni @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "Utišaj @{name}", "account.mute": "Utišaj @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Postovi", "account.posts": "Postovi",
"account.report": "Prijavi @{name}", "account.report": "Prijavi @{name}",
"account.requested": "Čeka pristanak", "account.requested": "Čeka pristanak",
"account.share": "Share @{name}'s profile", "account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Deblokiraj @{name}", "account.unblock": "Deblokiraj @{name}",
"account.unblock_domain": "Poništi sakrivanje {domain}", "account.unblock_domain": "Poništi sakrivanje {domain}",
"account.unfollow": "Prestani slijediti", "account.unfollow": "Prestani slijediti",
"account.unmute": "Poništi utišavanje @{name}", "account.unmute": "Poništi utišavanje @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile", "account.view_full_profile": "View full profile",
"boost_modal.combo": "Možeš pritisnuti {combo} kako bi ovo preskočio sljedeći put", "boost_modal.combo": "Možeš pritisnuti {combo} kako bi ovo preskočio sljedeći put",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "Još ne postoji ništa s ovim hashtagom.", "empty_column.hashtag": "Još ne postoji ništa s ovim hashtagom.",
"empty_column.home": "Još ne slijediš nikoga. Posjeti {public} ili koristi tražilicu kako bi počeo i upoznao druge korisnike.", "empty_column.home": "Još ne slijediš nikoga. Posjeti {public} ili koristi tražilicu kako bi počeo i upoznao druge korisnike.",
"empty_column.home.public_timeline": "javni timeline", "empty_column.home.public_timeline": "javni timeline",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "Još nemaš notifikacija. Komuniciraj sa drugima kako bi započeo razgovor.", "empty_column.notifications": "Još nemaš notifikacija. Komuniciraj sa drugima kako bi započeo razgovor.",
"empty_column.public": "Ovdje nema ništa! Napiši nešto javno, ili ručno slijedi korisnike sa drugih instanci kako bi popunio", "empty_column.public": "Ovdje nema ništa! Napiši nešto javno, ili ručno slijedi korisnike sa drugih instanci kako bi popunio",
"follow_request.authorize": "Autoriziraj", "follow_request.authorize": "Autoriziraj",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Pokaži boostove", "home.column_settings.show_reblogs": "Pokaži boostove",
"home.column_settings.show_replies": "Pokaži odgovore", "home.column_settings.show_replies": "Pokaži odgovore",
"home.settings": "Postavke Stupca", "home.settings": "Postavke Stupca",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Zatvori", "lightbox.close": "Zatvori",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"loading_indicator.label": "Učitavam...", "loading_indicator.label": "Učitavam...",
"media_gallery.toggle_visible": "Preklopi vidljivost", "media_gallery.toggle_visible": "Preklopi vidljivost",
"missing_indicator.label": "Nije nađen", "missing_indicator.label": "Nije nađen",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Blokirani korisnici", "navigation_bar.blocks": "Blokirani korisnici",
"navigation_bar.community_timeline": "Lokalni timeline", "navigation_bar.community_timeline": "Lokalni timeline",
"navigation_bar.edit_profile": "Uredi profil", "navigation_bar.edit_profile": "Uredi profil",
"navigation_bar.favourites": "Favoriti", "navigation_bar.favourites": "Favoriti",
"navigation_bar.follow_requests": "Zahtjevi za slijeđenje", "navigation_bar.follow_requests": "Zahtjevi za slijeđenje",
"navigation_bar.info": "Više informacija", "navigation_bar.info": "Više informacija",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Odjavi se", "navigation_bar.logout": "Odjavi se",
"navigation_bar.mutes": "Utišani korisnici", "navigation_bar.mutes": "Utišani korisnici",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned toots",
@ -204,6 +229,7 @@
"tabs_bar.home": "Dom", "tabs_bar.home": "Dom",
"tabs_bar.local_timeline": "Lokalno", "tabs_bar.local_timeline": "Lokalno",
"tabs_bar.notifications": "Notifikacije", "tabs_bar.notifications": "Notifikacije",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Povuci i spusti kako bi uploadao", "upload_area.title": "Povuci i spusti kako bi uploadao",
"upload_button.label": "Dodaj media", "upload_button.label": "Dodaj media",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",

View File

@ -7,17 +7,22 @@
"account.followers": "Követők", "account.followers": "Követők",
"account.follows": "Követve", "account.follows": "Követve",
"account.follows_you": "Követnek téged", "account.follows_you": "Követnek téged",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Media", "account.media": "Media",
"account.mention": "Említés", "account.mention": "Említés",
"account.moved_to": "{name} has moved to:",
"account.mute": "Mute @{name}", "account.mute": "Mute @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Posts", "account.posts": "Posts",
"account.report": "Report @{name}", "account.report": "Report @{name}",
"account.requested": "Awaiting approval", "account.requested": "Awaiting approval",
"account.share": "Share @{name}'s profile", "account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Blokkolás levétele", "account.unblock": "Blokkolás levétele",
"account.unblock_domain": "Unhide {domain}", "account.unblock_domain": "Unhide {domain}",
"account.unfollow": "Követés abbahagyása", "account.unfollow": "Követés abbahagyása",
"account.unmute": "Unmute @{name}", "account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile", "account.view_full_profile": "View full profile",
"boost_modal.combo": "You can press {combo} to skip this next time", "boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "There is nothing in this hashtag yet.", "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.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
"empty_column.home.public_timeline": "the public timeline", "empty_column.home.public_timeline": "the public timeline",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.", "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.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
"follow_request.authorize": "Authorize", "follow_request.authorize": "Authorize",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "Show replies",
"home.settings": "Column settings", "home.settings": "Column settings",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Bezárás", "lightbox.close": "Bezárás",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"loading_indicator.label": "Betöltés...", "loading_indicator.label": "Betöltés...",
"media_gallery.toggle_visible": "Toggle visibility", "media_gallery.toggle_visible": "Toggle visibility",
"missing_indicator.label": "Not found", "missing_indicator.label": "Not found",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Blocked users", "navigation_bar.blocks": "Blocked users",
"navigation_bar.community_timeline": "Local timeline", "navigation_bar.community_timeline": "Local timeline",
"navigation_bar.edit_profile": "Profil szerkesztése", "navigation_bar.edit_profile": "Profil szerkesztése",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",
"navigation_bar.info": "Extended information", "navigation_bar.info": "Extended information",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Kijelentkezés", "navigation_bar.logout": "Kijelentkezés",
"navigation_bar.mutes": "Muted users", "navigation_bar.mutes": "Muted users",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned toots",
@ -204,6 +229,7 @@
"tabs_bar.home": "Kezdőlap", "tabs_bar.home": "Kezdőlap",
"tabs_bar.local_timeline": "Local", "tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Notifications", "tabs_bar.notifications": "Notifications",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Drag & drop to upload", "upload_area.title": "Drag & drop to upload",
"upload_button.label": "Média hozzáadása", "upload_button.label": "Média hozzáadása",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",

View File

@ -7,17 +7,22 @@
"account.followers": "Pengikut", "account.followers": "Pengikut",
"account.follows": "Mengikuti", "account.follows": "Mengikuti",
"account.follows_you": "Mengikuti anda", "account.follows_you": "Mengikuti anda",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Media", "account.media": "Media",
"account.mention": "Balasan @{name}", "account.mention": "Balasan @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "Bisukan @{name}", "account.mute": "Bisukan @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Postingan", "account.posts": "Postingan",
"account.report": "Laporkan @{name}", "account.report": "Laporkan @{name}",
"account.requested": "Menunggu persetujuan", "account.requested": "Menunggu persetujuan",
"account.share": "Share @{name}'s profile", "account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Hapus blokir @{name}", "account.unblock": "Hapus blokir @{name}",
"account.unblock_domain": "Unhide {domain}", "account.unblock_domain": "Unhide {domain}",
"account.unfollow": "Berhenti mengikuti", "account.unfollow": "Berhenti mengikuti",
"account.unmute": "Berhenti membisukan @{name}", "account.unmute": "Berhenti membisukan @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile", "account.view_full_profile": "View full profile",
"boost_modal.combo": "Anda dapat menekan {combo} untuk melewati ini", "boost_modal.combo": "Anda dapat menekan {combo} untuk melewati ini",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "Tidak ada apapun dalam hashtag ini.", "empty_column.hashtag": "Tidak ada apapun dalam hashtag ini.",
"empty_column.home": "Anda sedang tidak mengikuti siapapun. Kunjungi {public} atau gunakan pencarian untuk memulai dan bertemu pengguna lain.", "empty_column.home": "Anda sedang tidak mengikuti siapapun. Kunjungi {public} atau gunakan pencarian untuk memulai dan bertemu pengguna lain.",
"empty_column.home.public_timeline": "linimasa publik", "empty_column.home.public_timeline": "linimasa publik",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "Anda tidak memiliki notifikasi apapun. Berinteraksi dengan orang lain untuk memulai percakapan.", "empty_column.notifications": "Anda tidak memiliki notifikasi apapun. Berinteraksi dengan orang lain untuk memulai percakapan.",
"empty_column.public": "Tidak ada apapun disini! Tulis sesuatu, atau ikuti pengguna lain dari server lain untuk mengisinya secara manual", "empty_column.public": "Tidak ada apapun disini! Tulis sesuatu, atau ikuti pengguna lain dari server lain untuk mengisinya secara manual",
"follow_request.authorize": "Izinkan", "follow_request.authorize": "Izinkan",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Tampilkan Boost", "home.column_settings.show_reblogs": "Tampilkan Boost",
"home.column_settings.show_replies": "Tampilkan balasan", "home.column_settings.show_replies": "Tampilkan balasan",
"home.settings": "Pengaturan kolom", "home.settings": "Pengaturan kolom",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Tutup", "lightbox.close": "Tutup",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"loading_indicator.label": "Tunggu sebentar...", "loading_indicator.label": "Tunggu sebentar...",
"media_gallery.toggle_visible": "Tampil/Sembunyikan", "media_gallery.toggle_visible": "Tampil/Sembunyikan",
"missing_indicator.label": "Tidak ditemukan", "missing_indicator.label": "Tidak ditemukan",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Pengguna diblokir", "navigation_bar.blocks": "Pengguna diblokir",
"navigation_bar.community_timeline": "Linimasa lokal", "navigation_bar.community_timeline": "Linimasa lokal",
"navigation_bar.edit_profile": "Ubah profil", "navigation_bar.edit_profile": "Ubah profil",
"navigation_bar.favourites": "Favorit", "navigation_bar.favourites": "Favorit",
"navigation_bar.follow_requests": "Permintaan mengikuti", "navigation_bar.follow_requests": "Permintaan mengikuti",
"navigation_bar.info": "Informasi selengkapnya", "navigation_bar.info": "Informasi selengkapnya",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Keluar", "navigation_bar.logout": "Keluar",
"navigation_bar.mutes": "Pengguna dibisukan", "navigation_bar.mutes": "Pengguna dibisukan",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned toots",
@ -204,6 +229,7 @@
"tabs_bar.home": "Beranda", "tabs_bar.home": "Beranda",
"tabs_bar.local_timeline": "Lokal", "tabs_bar.local_timeline": "Lokal",
"tabs_bar.notifications": "Notifikasi", "tabs_bar.notifications": "Notifikasi",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Seret & lepaskan untuk mengunggah", "upload_area.title": "Seret & lepaskan untuk mengunggah",
"upload_button.label": "Tambahkan media", "upload_button.label": "Tambahkan media",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",

View File

@ -7,17 +7,22 @@
"account.followers": "Sequanti", "account.followers": "Sequanti",
"account.follows": "Sequas", "account.follows": "Sequas",
"account.follows_you": "Sequas tu", "account.follows_you": "Sequas tu",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Media", "account.media": "Media",
"account.mention": "Mencionar @{name}", "account.mention": "Mencionar @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "Celar @{name}", "account.mute": "Celar @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Mesaji", "account.posts": "Mesaji",
"account.report": "Denuncar @{name}", "account.report": "Denuncar @{name}",
"account.requested": "Vartante aprobo", "account.requested": "Vartante aprobo",
"account.share": "Share @{name}'s profile", "account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Desblokusar @{name}", "account.unblock": "Desblokusar @{name}",
"account.unblock_domain": "Unhide {domain}", "account.unblock_domain": "Unhide {domain}",
"account.unfollow": "Ne plus sequar", "account.unfollow": "Ne plus sequar",
"account.unmute": "Ne plus celar @{name}", "account.unmute": "Ne plus celar @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile", "account.view_full_profile": "View full profile",
"boost_modal.combo": "Tu povas presar sur {combo} por omisar co en la venonta foyo", "boost_modal.combo": "Tu povas presar sur {combo} por omisar co en la venonta foyo",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "Esas ankore nulo en ta gretovorto.", "empty_column.hashtag": "Esas ankore nulo en ta gretovorto.",
"empty_column.home": "Tu sequas ankore nulu. Vizitez {public} od uzez la serchilo por komencar e renkontrar altra uzeri.", "empty_column.home": "Tu sequas ankore nulu. Vizitez {public} od uzez la serchilo por komencar e renkontrar altra uzeri.",
"empty_column.home.public_timeline": "la publika tempolineo", "empty_column.home.public_timeline": "la publika tempolineo",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "Tu havas ankore nula savigo. Komunikez kun altri por debutar la konverso.", "empty_column.notifications": "Tu havas ankore nula savigo. Komunikez kun altri por debutar la konverso.",
"empty_column.public": "Esas nulo hike! Skribez ulo publike, o manuale sequez uzeri de altra instaluri por plenigar ol.", "empty_column.public": "Esas nulo hike! Skribez ulo publike, o manuale sequez uzeri de altra instaluri por plenigar ol.",
"follow_request.authorize": "Yurizar", "follow_request.authorize": "Yurizar",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Montrar repeti", "home.column_settings.show_reblogs": "Montrar repeti",
"home.column_settings.show_replies": "Montrar respondi", "home.column_settings.show_replies": "Montrar respondi",
"home.settings": "Aranji di la kolumno", "home.settings": "Aranji di la kolumno",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Klozar", "lightbox.close": "Klozar",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"loading_indicator.label": "Kargante...", "loading_indicator.label": "Kargante...",
"media_gallery.toggle_visible": "Chanjar videbleso", "media_gallery.toggle_visible": "Chanjar videbleso",
"missing_indicator.label": "Ne trovita", "missing_indicator.label": "Ne trovita",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Blokusita uzeri", "navigation_bar.blocks": "Blokusita uzeri",
"navigation_bar.community_timeline": "Lokala tempolineo", "navigation_bar.community_timeline": "Lokala tempolineo",
"navigation_bar.edit_profile": "Modifikar profilo", "navigation_bar.edit_profile": "Modifikar profilo",
"navigation_bar.favourites": "Favorati", "navigation_bar.favourites": "Favorati",
"navigation_bar.follow_requests": "Demandi di sequado", "navigation_bar.follow_requests": "Demandi di sequado",
"navigation_bar.info": "Detaloza informi", "navigation_bar.info": "Detaloza informi",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Ekirar", "navigation_bar.logout": "Ekirar",
"navigation_bar.mutes": "Celita uzeri", "navigation_bar.mutes": "Celita uzeri",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned toots",
@ -204,6 +229,7 @@
"tabs_bar.home": "Hemo", "tabs_bar.home": "Hemo",
"tabs_bar.local_timeline": "Lokala", "tabs_bar.local_timeline": "Lokala",
"tabs_bar.notifications": "Savigi", "tabs_bar.notifications": "Savigi",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Tranar faligar por kargar", "upload_area.title": "Tranar faligar por kargar",
"upload_button.label": "Adjuntar kontenajo", "upload_button.label": "Adjuntar kontenajo",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",

View File

@ -7,17 +7,22 @@
"account.followers": "Seguaci", "account.followers": "Seguaci",
"account.follows": "Segue", "account.follows": "Segue",
"account.follows_you": "Ti segue", "account.follows_you": "Ti segue",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Media", "account.media": "Media",
"account.mention": "Menziona @{name}", "account.mention": "Menziona @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "Silenzia @{name}", "account.mute": "Silenzia @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Posts", "account.posts": "Posts",
"account.report": "Segnala @{name}", "account.report": "Segnala @{name}",
"account.requested": "In attesa di approvazione", "account.requested": "In attesa di approvazione",
"account.share": "Share @{name}'s profile", "account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Sblocca @{name}", "account.unblock": "Sblocca @{name}",
"account.unblock_domain": "Unhide {domain}", "account.unblock_domain": "Unhide {domain}",
"account.unfollow": "Non seguire", "account.unfollow": "Non seguire",
"account.unmute": "Non silenziare @{name}", "account.unmute": "Non silenziare @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile", "account.view_full_profile": "View full profile",
"boost_modal.combo": "Puoi premere {combo} per saltare questo passaggio la prossima volta", "boost_modal.combo": "Puoi premere {combo} per saltare questo passaggio la prossima volta",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "Non c'è ancora nessun post con questo hashtag.", "empty_column.hashtag": "Non c'è ancora nessun post con questo hashtag.",
"empty_column.home": "Non stai ancora seguendo nessuno. Visita {public} o usa la ricerca per incontrare nuove persone.", "empty_column.home": "Non stai ancora seguendo nessuno. Visita {public} o usa la ricerca per incontrare nuove persone.",
"empty_column.home.public_timeline": "la timeline pubblica", "empty_column.home.public_timeline": "la timeline pubblica",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "Non hai ancora nessuna notifica. Interagisci con altri per iniziare conversazioni.", "empty_column.notifications": "Non hai ancora nessuna notifica. Interagisci con altri per iniziare conversazioni.",
"empty_column.public": "Qui non c'è nulla! Scrivi qualcosa pubblicamente, o aggiungi utenti da altri server per riempire questo spazio.", "empty_column.public": "Qui non c'è nulla! Scrivi qualcosa pubblicamente, o aggiungi utenti da altri server per riempire questo spazio.",
"follow_request.authorize": "Autorizza", "follow_request.authorize": "Autorizza",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Mostra post condivisi", "home.column_settings.show_reblogs": "Mostra post condivisi",
"home.column_settings.show_replies": "Mostra risposte", "home.column_settings.show_replies": "Mostra risposte",
"home.settings": "Impostazioni colonna", "home.settings": "Impostazioni colonna",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Chiudi", "lightbox.close": "Chiudi",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"loading_indicator.label": "Carico...", "loading_indicator.label": "Carico...",
"media_gallery.toggle_visible": "Imposta visibilità", "media_gallery.toggle_visible": "Imposta visibilità",
"missing_indicator.label": "Non trovato", "missing_indicator.label": "Non trovato",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Utenti bloccati", "navigation_bar.blocks": "Utenti bloccati",
"navigation_bar.community_timeline": "Timeline locale", "navigation_bar.community_timeline": "Timeline locale",
"navigation_bar.edit_profile": "Modifica profilo", "navigation_bar.edit_profile": "Modifica profilo",
"navigation_bar.favourites": "Apprezzati", "navigation_bar.favourites": "Apprezzati",
"navigation_bar.follow_requests": "Richieste di amicizia", "navigation_bar.follow_requests": "Richieste di amicizia",
"navigation_bar.info": "Informazioni estese", "navigation_bar.info": "Informazioni estese",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Logout", "navigation_bar.logout": "Logout",
"navigation_bar.mutes": "Utenti silenziati", "navigation_bar.mutes": "Utenti silenziati",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned toots",
@ -204,6 +229,7 @@
"tabs_bar.home": "Home", "tabs_bar.home": "Home",
"tabs_bar.local_timeline": "Locale", "tabs_bar.local_timeline": "Locale",
"tabs_bar.notifications": "Notifiche", "tabs_bar.notifications": "Notifiche",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Trascina per caricare", "upload_area.title": "Trascina per caricare",
"upload_button.label": "Aggiungi file multimediale", "upload_button.label": "Aggiungi file multimediale",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",

View File

@ -7,17 +7,22 @@
"account.followers": "フォロワー", "account.followers": "フォロワー",
"account.follows": "フォロー", "account.follows": "フォロー",
"account.follows_you": "フォローされています", "account.follows_you": "フォローされています",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "メディア", "account.media": "メディア",
"account.mention": "返信", "account.mention": "返信",
"account.moved_to": "{name}さんは引っ越しました:",
"account.mute": "ミュート", "account.mute": "ミュート",
"account.mute_notifications": "@{name}からの通知を受け取る",
"account.posts": "投稿", "account.posts": "投稿",
"account.report": "通報", "account.report": "通報",
"account.requested": "承認待ち", "account.requested": "承認待ち",
"account.share": "@{name} のプロフィールを共有する", "account.share": "@{name} のプロフィールを共有する",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "ブロック解除", "account.unblock": "ブロック解除",
"account.unblock_domain": "{domain}を表示", "account.unblock_domain": "{domain}を表示",
"account.unfollow": "フォロー解除", "account.unfollow": "フォロー解除",
"account.unmute": "ミュート解除", "account.unmute": "ミュート解除",
"account.unmute_notifications": "@{name}からの通知を受け取らない",
"account.view_full_profile": "全ての情報を見る", "account.view_full_profile": "全ての情報を見る",
"boost_modal.combo": "次からは{combo}を押せば、これをスキップできます。", "boost_modal.combo": "次からは{combo}を押せば、これをスキップできます。",
"bundle_column_error.body": "コンポーネントの読み込み中に問題が発生しました。", "bundle_column_error.body": "コンポーネントの読み込み中に問題が発生しました。",
@ -83,6 +88,7 @@
"empty_column.hashtag": "このハッシュタグはまだ使われていません。", "empty_column.hashtag": "このハッシュタグはまだ使われていません。",
"empty_column.home": "まだ誰もフォローしていません。{public}を見に行くか、検索を使って他のユーザーを見つけましょう。", "empty_column.home": "まだ誰もフォローしていません。{public}を見に行くか、検索を使って他のユーザーを見つけましょう。",
"empty_column.home.public_timeline": "連合タイムライン", "empty_column.home.public_timeline": "連合タイムライン",
"empty_column.list": "このリストにはまだなにもありません。",
"empty_column.notifications": "まだ通知がありません。他の人とふれ合って会話を始めましょう。", "empty_column.notifications": "まだ通知がありません。他の人とふれ合って会話を始めましょう。",
"empty_column.public": "ここにはまだ何もありません!公開で何かを投稿したり、他のインスタンスのユーザーをフォローしたりしていっぱいにしましょう!", "empty_column.public": "ここにはまだ何もありません!公開で何かを投稿したり、他のインスタンスのユーザーをフォローしたりしていっぱいにしましょう!",
"follow_request.authorize": "許可", "follow_request.authorize": "許可",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "ブースト表示", "home.column_settings.show_reblogs": "ブースト表示",
"home.column_settings.show_replies": "返信表示", "home.column_settings.show_replies": "返信表示",
"home.settings": "カラム設定", "home.settings": "カラム設定",
"keyboard_shortcuts.back": "戻る",
"keyboard_shortcuts.boost": "ブースト",
"keyboard_shortcuts.column": "左からn番目のカラム内最新トゥートに移動",
"keyboard_shortcuts.compose": "トゥート入力欄に移動",
"keyboard_shortcuts.description": "説明",
"keyboard_shortcuts.down": "カラム内一つ下に移動",
"keyboard_shortcuts.enter": "トゥートの詳細を表示",
"keyboard_shortcuts.favourite": "お気に入り",
"keyboard_shortcuts.heading": "キーボードショートカット一覧",
"keyboard_shortcuts.hotkey": "ホットキー",
"keyboard_shortcuts.legend": "この一覧を表示",
"keyboard_shortcuts.mention": "メンション",
"keyboard_shortcuts.reply": "返信",
"keyboard_shortcuts.search": "検索欄に移動",
"keyboard_shortcuts.toot": "新規トゥート",
"keyboard_shortcuts.unfocus": "トゥート入力欄・検索欄から離れる",
"keyboard_shortcuts.up": "カラム内一つ上に移動",
"lightbox.close": "閉じる", "lightbox.close": "閉じる",
"lightbox.next": "次", "lightbox.next": "次",
"lightbox.previous": "前", "lightbox.previous": "前",
"loading_indicator.label": "読み込み中...", "loading_indicator.label": "読み込み中...",
"media_gallery.toggle_visible": "表示切り替え", "media_gallery.toggle_visible": "表示切り替え",
"missing_indicator.label": "見つかりません", "missing_indicator.label": "見つかりません",
"mute_modal.hide_notifications": "このユーザーからの通知を隠しますか?",
"navigation_bar.blocks": "ブロックしたユーザー", "navigation_bar.blocks": "ブロックしたユーザー",
"navigation_bar.community_timeline": "ローカルタイムライン", "navigation_bar.community_timeline": "ローカルタイムライン",
"navigation_bar.edit_profile": "プロフィールを編集", "navigation_bar.edit_profile": "プロフィールを編集",
"navigation_bar.favourites": "お気に入り", "navigation_bar.favourites": "お気に入り",
"navigation_bar.follow_requests": "フォローリクエスト", "navigation_bar.follow_requests": "フォローリクエスト",
"navigation_bar.info": "このインスタンスについて", "navigation_bar.info": "このインスタンスについて",
"navigation_bar.keyboard_shortcuts": "キーボードショートカット",
"navigation_bar.logout": "ログアウト", "navigation_bar.logout": "ログアウト",
"navigation_bar.mutes": "ミュートしたユーザー", "navigation_bar.mutes": "ミュートしたユーザー",
"navigation_bar.pins": "固定されたトゥート", "navigation_bar.pins": "固定されたトゥート",
@ -204,6 +229,7 @@
"tabs_bar.home": "ホーム", "tabs_bar.home": "ホーム",
"tabs_bar.local_timeline": "ローカル", "tabs_bar.local_timeline": "ローカル",
"tabs_bar.notifications": "通知", "tabs_bar.notifications": "通知",
"ui.beforeunload": "Mastodonから離れるとあなたのドラフトは失われます。",
"upload_area.title": "ドラッグ&ドロップでアップロード", "upload_area.title": "ドラッグ&ドロップでアップロード",
"upload_button.label": "メディアを追加", "upload_button.label": "メディアを追加",
"upload_form.description": "視覚障害者のための説明", "upload_form.description": "視覚障害者のための説明",

View File

@ -7,17 +7,22 @@
"account.followers": "팔로워", "account.followers": "팔로워",
"account.follows": "팔로우", "account.follows": "팔로우",
"account.follows_you": "날 팔로우합니다", "account.follows_you": "날 팔로우합니다",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "미디어", "account.media": "미디어",
"account.mention": "답장", "account.mention": "답장",
"account.moved_to": "{name} has moved to:",
"account.mute": "뮤트", "account.mute": "뮤트",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "포스트", "account.posts": "포스트",
"account.report": "신고", "account.report": "신고",
"account.requested": "승인 대기 중", "account.requested": "승인 대기 중",
"account.share": "Share @{name}'s profile", "account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "차단 해제", "account.unblock": "차단 해제",
"account.unblock_domain": "{domain} 숨김 해제", "account.unblock_domain": "{domain} 숨김 해제",
"account.unfollow": "팔로우 해제", "account.unfollow": "팔로우 해제",
"account.unmute": "뮤트 해제", "account.unmute": "뮤트 해제",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "전체 프로필 보기", "account.view_full_profile": "전체 프로필 보기",
"boost_modal.combo": "다음부터 {combo}를 누르면 이 과정을 건너뛸 수 있습니다.", "boost_modal.combo": "다음부터 {combo}를 누르면 이 과정을 건너뛸 수 있습니다.",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
@ -83,11 +88,12 @@
"empty_column.hashtag": "이 해시태그는 아직 사용되지 않았습니다.", "empty_column.hashtag": "이 해시태그는 아직 사용되지 않았습니다.",
"empty_column.home": "아직 아무도 팔로우 하고 있지 않습니다. {public}를 보러 가거나, 검색하여 다른 사용자를 찾아 보세요.", "empty_column.home": "아직 아무도 팔로우 하고 있지 않습니다. {public}를 보러 가거나, 검색하여 다른 사용자를 찾아 보세요.",
"empty_column.home.public_timeline": "연합 타임라인", "empty_column.home.public_timeline": "연합 타임라인",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "아직 알림이 없습니다. 다른 사람과 대화를 시작해 보세요!", "empty_column.notifications": "아직 알림이 없습니다. 다른 사람과 대화를 시작해 보세요!",
"empty_column.public": "여기엔 아직 아무 것도 없습니다! 공개적으로 무언가 포스팅하거나, 다른 인스턴스 유저를 팔로우 해서 가득 채워보세요!", "empty_column.public": "여기엔 아직 아무 것도 없습니다! 공개적으로 무언가 포스팅하거나, 다른 인스턴스 유저를 팔로우 해서 가득 채워보세요!",
"follow_request.authorize": "허가", "follow_request.authorize": "허가",
"follow_request.reject": "거부", "follow_request.reject": "거부",
"getting_started.appsshort": "플리케이션", "getting_started.appsshort": "플리케이션",
"getting_started.faq": "자주 있는 질문", "getting_started.faq": "자주 있는 질문",
"getting_started.heading": "시작", "getting_started.heading": "시작",
"getting_started.open_source_notice": "Mastodon은 오픈 소스 소프트웨어입니다. 누구나 GitHub({github})에서 개발에 참여하거나, 문제를 보고할 수 있습니다.", "getting_started.open_source_notice": "Mastodon은 오픈 소스 소프트웨어입니다. 누구나 GitHub({github})에서 개발에 참여하거나, 문제를 보고할 수 있습니다.",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "부스트 표시", "home.column_settings.show_reblogs": "부스트 표시",
"home.column_settings.show_replies": "답글 표시", "home.column_settings.show_replies": "답글 표시",
"home.settings": "컬럼 설정", "home.settings": "컬럼 설정",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "닫기", "lightbox.close": "닫기",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"loading_indicator.label": "불러오는 중...", "loading_indicator.label": "불러오는 중...",
"media_gallery.toggle_visible": "표시 전환", "media_gallery.toggle_visible": "표시 전환",
"missing_indicator.label": "찾을 수 없습니다", "missing_indicator.label": "찾을 수 없습니다",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "차단한 사용자", "navigation_bar.blocks": "차단한 사용자",
"navigation_bar.community_timeline": "로컬 타임라인", "navigation_bar.community_timeline": "로컬 타임라인",
"navigation_bar.edit_profile": "프로필 편집", "navigation_bar.edit_profile": "프로필 편집",
"navigation_bar.favourites": "즐겨찾기", "navigation_bar.favourites": "즐겨찾기",
"navigation_bar.follow_requests": "팔로우 요청", "navigation_bar.follow_requests": "팔로우 요청",
"navigation_bar.info": "이 인스턴스에 대해서", "navigation_bar.info": "이 인스턴스에 대해서",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "로그아웃", "navigation_bar.logout": "로그아웃",
"navigation_bar.mutes": "뮤트 중인 사용자", "navigation_bar.mutes": "뮤트 중인 사용자",
"navigation_bar.pins": "고정된 툿", "navigation_bar.pins": "고정된 툿",
@ -145,7 +170,7 @@
"onboarding.page_six.github": "Mastodon는 오픈 소스 소프트웨어입니다. 버그 보고나 기능 추가 요청, 기여는 {github}에서 할 수 있습니다.", "onboarding.page_six.github": "Mastodon는 오픈 소스 소프트웨어입니다. 버그 보고나 기능 추가 요청, 기여는 {github}에서 할 수 있습니다.",
"onboarding.page_six.guidelines": "커뮤니티 가이드라인", "onboarding.page_six.guidelines": "커뮤니티 가이드라인",
"onboarding.page_six.read_guidelines": "{guidelines}을 확인하는 것을 잊지 마세요.", "onboarding.page_six.read_guidelines": "{guidelines}을 확인하는 것을 잊지 마세요.",
"onboarding.page_six.various_app": "다양한 모바일 플리케이션", "onboarding.page_six.various_app": "다양한 모바일 플리케이션",
"onboarding.page_three.profile": "[프로필 편집] 에서 자기 소개나 이름을 변경할 수 있습니다. 또한 다른 설정도 변경할 수 있습니다.", "onboarding.page_three.profile": "[프로필 편집] 에서 자기 소개나 이름을 변경할 수 있습니다. 또한 다른 설정도 변경할 수 있습니다.",
"onboarding.page_three.search": "검색 바에서 {illustration} 나 {introductions} 와 같이 특정 해시태그가 달린 포스트를 보거나, 사용자를 찾을 수 있습니다.", "onboarding.page_three.search": "검색 바에서 {illustration} 나 {introductions} 와 같이 특정 해시태그가 달린 포스트를 보거나, 사용자를 찾을 수 있습니다.",
"onboarding.page_two.compose": "이 폼에서 포스팅 할 수 있습니다. 이미지나 공개 범위 설정, 스포일러 경고 설정은 아래 아이콘으로 설정할 수 있습니다.", "onboarding.page_two.compose": "이 폼에서 포스팅 할 수 있습니다. 이미지나 공개 범위 설정, 스포일러 경고 설정은 아래 아이콘으로 설정할 수 있습니다.",
@ -204,6 +229,7 @@
"tabs_bar.home": "홈", "tabs_bar.home": "홈",
"tabs_bar.local_timeline": "로컬", "tabs_bar.local_timeline": "로컬",
"tabs_bar.notifications": "알림", "tabs_bar.notifications": "알림",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "드래그 & 드롭으로 업로드", "upload_area.title": "드래그 & 드롭으로 업로드",
"upload_button.label": "미디어 추가", "upload_button.label": "미디어 추가",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",

View File

@ -7,17 +7,22 @@
"account.followers": "Volgers", "account.followers": "Volgers",
"account.follows": "Volgt", "account.follows": "Volgt",
"account.follows_you": "Volgt jou", "account.follows_you": "Volgt jou",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Media", "account.media": "Media",
"account.mention": "Vermeld @{name}", "account.mention": "Vermeld @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "Negeer @{name}", "account.mute": "Negeer @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Toots", "account.posts": "Toots",
"account.report": "Rapporteer @{name}", "account.report": "Rapporteer @{name}",
"account.requested": "Wacht op goedkeuring. Klik om volgverzoek te annuleren.", "account.requested": "Wacht op goedkeuring. Klik om volgverzoek te annuleren.",
"account.share": "Profiel van @{name} delen", "account.share": "Profiel van @{name} delen",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Deblokkeer @{name}", "account.unblock": "Deblokkeer @{name}",
"account.unblock_domain": "{domain} niet meer negeren", "account.unblock_domain": "{domain} niet meer negeren",
"account.unfollow": "Ontvolgen", "account.unfollow": "Ontvolgen",
"account.unmute": "@{name} niet meer negeren", "account.unmute": "@{name} niet meer negeren",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "Volledig profiel tonen", "account.view_full_profile": "Volledig profiel tonen",
"boost_modal.combo": "Je kunt {combo} klikken om dit de volgende keer over te slaan", "boost_modal.combo": "Je kunt {combo} klikken om dit de volgende keer over te slaan",
"bundle_column_error.body": "Tijdens het laden van dit onderdeel is er iets fout gegaan.", "bundle_column_error.body": "Tijdens het laden van dit onderdeel is er iets fout gegaan.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "Er is nog niks te vinden onder deze hashtag.", "empty_column.hashtag": "Er is nog niks te vinden onder deze hashtag.",
"empty_column.home": "Jij volgt nog niemand. Bezoek {public} of gebruik het zoekvenster om andere mensen te ontmoeten.", "empty_column.home": "Jij volgt nog niemand. Bezoek {public} of gebruik het zoekvenster om andere mensen te ontmoeten.",
"empty_column.home.public_timeline": "de globale tijdlijn", "empty_column.home.public_timeline": "de globale tijdlijn",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "Je hebt nog geen meldingen. Heb interactie met andere mensen om het gesprek aan te gaan.", "empty_column.notifications": "Je hebt nog geen meldingen. Heb interactie met andere mensen om het gesprek aan te gaan.",
"empty_column.public": "Er is hier helemaal niks! Toot iets in het openbaar of volg mensen van andere Mastodon-servers om het te vullen.", "empty_column.public": "Er is hier helemaal niks! Toot iets in het openbaar of volg mensen van andere Mastodon-servers om het te vullen.",
"follow_request.authorize": "Goedkeuren", "follow_request.authorize": "Goedkeuren",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Boosts tonen", "home.column_settings.show_reblogs": "Boosts tonen",
"home.column_settings.show_replies": "Reacties tonen", "home.column_settings.show_replies": "Reacties tonen",
"home.settings": "Kolom-instellingen", "home.settings": "Kolom-instellingen",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Sluiten", "lightbox.close": "Sluiten",
"lightbox.next": "Volgende", "lightbox.next": "Volgende",
"lightbox.previous": "Vorige", "lightbox.previous": "Vorige",
"loading_indicator.label": "Laden…", "loading_indicator.label": "Laden…",
"media_gallery.toggle_visible": "Media wel/niet tonen", "media_gallery.toggle_visible": "Media wel/niet tonen",
"missing_indicator.label": "Niet gevonden", "missing_indicator.label": "Niet gevonden",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Geblokkeerde gebruikers", "navigation_bar.blocks": "Geblokkeerde gebruikers",
"navigation_bar.community_timeline": "Lokale tijdlijn", "navigation_bar.community_timeline": "Lokale tijdlijn",
"navigation_bar.edit_profile": "Profiel bewerken", "navigation_bar.edit_profile": "Profiel bewerken",
"navigation_bar.favourites": "Favorieten", "navigation_bar.favourites": "Favorieten",
"navigation_bar.follow_requests": "Volgverzoeken", "navigation_bar.follow_requests": "Volgverzoeken",
"navigation_bar.info": "Uitgebreide informatie", "navigation_bar.info": "Uitgebreide informatie",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Afmelden", "navigation_bar.logout": "Afmelden",
"navigation_bar.mutes": "Genegeerde gebruikers", "navigation_bar.mutes": "Genegeerde gebruikers",
"navigation_bar.pins": "Vastgezette toots", "navigation_bar.pins": "Vastgezette toots",
@ -204,6 +229,7 @@
"tabs_bar.home": "Start", "tabs_bar.home": "Start",
"tabs_bar.local_timeline": "Lokaal", "tabs_bar.local_timeline": "Lokaal",
"tabs_bar.notifications": "Meldingen", "tabs_bar.notifications": "Meldingen",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Hierin slepen om te uploaden", "upload_area.title": "Hierin slepen om te uploaden",
"upload_button.label": "Media toevoegen", "upload_button.label": "Media toevoegen",
"upload_form.description": "Omschrijf dit voor mensen met een visuele beperking", "upload_form.description": "Omschrijf dit voor mensen met een visuele beperking",

View File

@ -7,17 +7,22 @@
"account.followers": "Følgere", "account.followers": "Følgere",
"account.follows": "Følger", "account.follows": "Følger",
"account.follows_you": "Følger deg", "account.follows_you": "Følger deg",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Media", "account.media": "Media",
"account.mention": "Nevn @{name}", "account.mention": "Nevn @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "Demp @{name}", "account.mute": "Demp @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Innlegg", "account.posts": "Innlegg",
"account.report": "Rapportér @{name}", "account.report": "Rapportér @{name}",
"account.requested": "Venter på godkjennelse", "account.requested": "Venter på godkjennelse",
"account.share": "Share @{name}'s profile", "account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Avblokker @{name}", "account.unblock": "Avblokker @{name}",
"account.unblock_domain": "Vis {domain}", "account.unblock_domain": "Vis {domain}",
"account.unfollow": "Avfølg", "account.unfollow": "Avfølg",
"account.unmute": "Avdemp @{name}", "account.unmute": "Avdemp @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile", "account.view_full_profile": "View full profile",
"boost_modal.combo": "You kan trykke {combo} for å hoppe over dette neste gang", "boost_modal.combo": "You kan trykke {combo} for å hoppe over dette neste gang",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "Det er ingenting i denne hashtagen ennå.", "empty_column.hashtag": "Det er ingenting i denne hashtagen ennå.",
"empty_column.home": "Du har ikke fulgt noen ennå. Besøk {publlic} eller bruk søk for å komme i gang og møte andre brukere.", "empty_column.home": "Du har ikke fulgt noen ennå. Besøk {publlic} eller bruk søk for å komme i gang og møte andre brukere.",
"empty_column.home.public_timeline": "en offentlig tidslinje", "empty_column.home.public_timeline": "en offentlig tidslinje",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "Du har ingen varsler ennå. Kommuniser med andre for å begynne samtalen.", "empty_column.notifications": "Du har ingen varsler ennå. Kommuniser med andre for å begynne samtalen.",
"empty_column.public": "Det er ingenting her! Skriv noe offentlig, eller følg brukere manuelt fra andre instanser for å fylle den opp", "empty_column.public": "Det er ingenting her! Skriv noe offentlig, eller følg brukere manuelt fra andre instanser for å fylle den opp",
"follow_request.authorize": "Autorisér", "follow_request.authorize": "Autorisér",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Vis fremhevinger", "home.column_settings.show_reblogs": "Vis fremhevinger",
"home.column_settings.show_replies": "Vis svar", "home.column_settings.show_replies": "Vis svar",
"home.settings": "Kolonneinnstillinger", "home.settings": "Kolonneinnstillinger",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Lukk", "lightbox.close": "Lukk",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"loading_indicator.label": "Laster...", "loading_indicator.label": "Laster...",
"media_gallery.toggle_visible": "Veksle synlighet", "media_gallery.toggle_visible": "Veksle synlighet",
"missing_indicator.label": "Ikke funnet", "missing_indicator.label": "Ikke funnet",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Blokkerte brukere", "navigation_bar.blocks": "Blokkerte brukere",
"navigation_bar.community_timeline": "Lokal tidslinje", "navigation_bar.community_timeline": "Lokal tidslinje",
"navigation_bar.edit_profile": "Rediger profil", "navigation_bar.edit_profile": "Rediger profil",
"navigation_bar.favourites": "Likt", "navigation_bar.favourites": "Likt",
"navigation_bar.follow_requests": "Følgeforespørsler", "navigation_bar.follow_requests": "Følgeforespørsler",
"navigation_bar.info": "Utvidet informasjon", "navigation_bar.info": "Utvidet informasjon",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Logg ut", "navigation_bar.logout": "Logg ut",
"navigation_bar.mutes": "Dempede brukere", "navigation_bar.mutes": "Dempede brukere",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned toots",
@ -204,6 +229,7 @@
"tabs_bar.home": "Hjem", "tabs_bar.home": "Hjem",
"tabs_bar.local_timeline": "Lokal", "tabs_bar.local_timeline": "Lokal",
"tabs_bar.notifications": "Varslinger", "tabs_bar.notifications": "Varslinger",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Dra og slipp for å laste opp", "upload_area.title": "Dra og slipp for å laste opp",
"upload_button.label": "Legg til media", "upload_button.label": "Legg til media",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",

View File

@ -7,17 +7,22 @@
"account.followers": "Seguidors", "account.followers": "Seguidors",
"account.follows": "Abonaments", "account.follows": "Abonaments",
"account.follows_you": "Vos sèc", "account.follows_you": "Vos sèc",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Mèdias", "account.media": "Mèdias",
"account.mention": "Mencionar @{name}", "account.mention": "Mencionar @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "Rescondre @{name}", "account.mute": "Rescondre @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Estatuts", "account.posts": "Estatuts",
"account.report": "Senhalar @{name}", "account.report": "Senhalar @{name}",
"account.requested": "Invitacion mandada. Clicatz per anullar.", "account.requested": "Invitacion mandada. Clicatz per anullar.",
"account.share": "Partejar lo perfil a @{name}", "account.share": "Partejar lo perfil a @{name}",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Desblocar @{name}", "account.unblock": "Desblocar @{name}",
"account.unblock_domain": "Desblocar {domain}", "account.unblock_domain": "Desblocar {domain}",
"account.unfollow": "Quitar de sègre", "account.unfollow": "Quitar de sègre",
"account.unmute": "Quitar de rescondre @{name}", "account.unmute": "Quitar de rescondre @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "Veire lo perfil complet", "account.view_full_profile": "Veire lo perfil complet",
"boost_modal.combo": "Podètz botar {combo} per passar aquò lo còp que ven", "boost_modal.combo": "Podètz botar {combo} per passar aquò lo còp que ven",
"bundle_column_error.body": "Quicòm a fach meuca pendent lo cargament daqueste compausant.", "bundle_column_error.body": "Quicòm a fach meuca pendent lo cargament daqueste compausant.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "I a pas encara de contengut ligat a aqueste hashtag", "empty_column.hashtag": "I a pas encara de contengut ligat a aqueste hashtag",
"empty_column.home": "Vòstre flux dacuèlh es void. Visitatz {public} o utilizatz la recèrca per vos connectar a dautras personas.", "empty_column.home": "Vòstre flux dacuèlh es void. Visitatz {public} o utilizatz la recèrca per vos connectar a dautras personas.",
"empty_column.home.public_timeline": "lo flux public", "empty_column.home.public_timeline": "lo flux public",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "Avètz pas encara de notificacions. Respondètz a qualquun per començar una conversacion.", "empty_column.notifications": "Avètz pas encara de notificacions. Respondètz a qualquun per començar una conversacion.",
"empty_column.public": "I a pas res aquí! Escrivètz quicòm de public, o seguètz de personas dautras instàncias per garnir lo flux public.", "empty_column.public": "I a pas res aquí! Escrivètz quicòm de public, o seguètz de personas dautras instàncias per garnir lo flux public.",
"follow_request.authorize": "Autorizar", "follow_request.authorize": "Autorizar",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Mostrar los partatges", "home.column_settings.show_reblogs": "Mostrar los partatges",
"home.column_settings.show_replies": "Mostrar las responsas", "home.column_settings.show_replies": "Mostrar las responsas",
"home.settings": "Paramètres de la colomna", "home.settings": "Paramètres de la colomna",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Tampar", "lightbox.close": "Tampar",
"lightbox.next": "Seguent", "lightbox.next": "Seguent",
"lightbox.previous": "Precedent", "lightbox.previous": "Precedent",
"loading_indicator.label": "Cargament…", "loading_indicator.label": "Cargament…",
"media_gallery.toggle_visible": "Modificar la visibilitat", "media_gallery.toggle_visible": "Modificar la visibilitat",
"missing_indicator.label": "Pas trobat", "missing_indicator.label": "Pas trobat",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Personas blocadas", "navigation_bar.blocks": "Personas blocadas",
"navigation_bar.community_timeline": "Flux public local", "navigation_bar.community_timeline": "Flux public local",
"navigation_bar.edit_profile": "Modificar lo perfil", "navigation_bar.edit_profile": "Modificar lo perfil",
"navigation_bar.favourites": "Favorits", "navigation_bar.favourites": "Favorits",
"navigation_bar.follow_requests": "Demandas d'abonament", "navigation_bar.follow_requests": "Demandas d'abonament",
"navigation_bar.info": "Mai informacions", "navigation_bar.info": "Mai informacions",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Desconnexion", "navigation_bar.logout": "Desconnexion",
"navigation_bar.mutes": "Personas rescondudas", "navigation_bar.mutes": "Personas rescondudas",
"navigation_bar.pins": "Tuts penjats", "navigation_bar.pins": "Tuts penjats",
@ -204,6 +229,7 @@
"tabs_bar.home": "Acuèlh", "tabs_bar.home": "Acuèlh",
"tabs_bar.local_timeline": "Flux public local", "tabs_bar.local_timeline": "Flux public local",
"tabs_bar.notifications": "Notificacions", "tabs_bar.notifications": "Notificacions",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Lisatz e depausatz per mandar", "upload_area.title": "Lisatz e depausatz per mandar",
"upload_button.label": "Ajustar un mèdia", "upload_button.label": "Ajustar un mèdia",
"upload_form.description": "Descripcion pels mal vesents", "upload_form.description": "Descripcion pels mal vesents",

View File

@ -7,17 +7,22 @@
"account.followers": "Śledzący", "account.followers": "Śledzący",
"account.follows": "Śledzeni", "account.follows": "Śledzeni",
"account.follows_you": "Śledzi Cię", "account.follows_you": "Śledzi Cię",
"account.hide_reblogs": "Ukryj podbicia od @{name}",
"account.media": "Media", "account.media": "Media",
"account.mention": "Wspomnij o @{name}", "account.mention": "Wspomnij o @{name}",
"account.moved_to": "{name} przeniósł się do:",
"account.mute": "Wycisz @{name}", "account.mute": "Wycisz @{name}",
"account.mute_notifications": "Wycisz powiadomienia o @{name}",
"account.posts": "Wpisy", "account.posts": "Wpisy",
"account.report": "Zgłoś @{name}", "account.report": "Zgłoś @{name}",
"account.requested": "Oczekująca prośba, kliknij aby anulować", "account.requested": "Oczekująca prośba, kliknij aby anulować",
"account.share": "Udostępnij profil @{name}", "account.share": "Udostępnij profil @{name}",
"account.show_reblogs": "Pokazuj podbicia od @{name}",
"account.unblock": "Odblokuj @{name}", "account.unblock": "Odblokuj @{name}",
"account.unblock_domain": "Odblokuj domenę {domain}", "account.unblock_domain": "Odblokuj domenę {domain}",
"account.unfollow": "Przestań śledzić", "account.unfollow": "Przestań śledzić",
"account.unmute": "Cofnij wyciszenie @{name}", "account.unmute": "Cofnij wyciszenie @{name}",
"account.unmute_notifications": "Cofnij wyciszenie powiadomień od @{name}",
"account.view_full_profile": "Wyświetl pełny profil", "account.view_full_profile": "Wyświetl pełny profil",
"boost_modal.combo": "Naciśnij {combo}, aby pominąć to następnym razem", "boost_modal.combo": "Naciśnij {combo}, aby pominąć to następnym razem",
"bundle_column_error.body": "Coś poszło nie tak podczas ładowania tego składnika.", "bundle_column_error.body": "Coś poszło nie tak podczas ładowania tego składnika.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "Nie ma wpisów oznaczonych tym hashtagiem. Możesz napisać pierwszy!", "empty_column.hashtag": "Nie ma wpisów oznaczonych tym hashtagiem. Możesz napisać pierwszy!",
"empty_column.home": "Nie śledzisz nikogo. Odwiedź publiczną oś czasu lub użyj wyszukiwarki, aby znaleźć interesujące Cię profile.", "empty_column.home": "Nie śledzisz nikogo. Odwiedź publiczną oś czasu lub użyj wyszukiwarki, aby znaleźć interesujące Cię profile.",
"empty_column.home.public_timeline": "publiczna oś czasu", "empty_column.home.public_timeline": "publiczna oś czasu",
"empty_column.list": "Nie ma nic na tej liście.",
"empty_column.notifications": "Nie masz żadnych powiadomień. Rozpocznij interakcje z innymi użytkownikami.", "empty_column.notifications": "Nie masz żadnych powiadomień. Rozpocznij interakcje z innymi użytkownikami.",
"empty_column.public": "Tu nic nie ma! Napisz coś publicznie, lub dodaj ludzi z innych instancji, aby to wyświetlić.", "empty_column.public": "Tu nic nie ma! Napisz coś publicznie, lub dodaj ludzi z innych instancji, aby to wyświetlić.",
"follow_request.authorize": "Autoryzuj", "follow_request.authorize": "Autoryzuj",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Pokazuj podbicia", "home.column_settings.show_reblogs": "Pokazuj podbicia",
"home.column_settings.show_replies": "Pokazuj odpowiedzi", "home.column_settings.show_replies": "Pokazuj odpowiedzi",
"home.settings": "Ustawienia kolumny", "home.settings": "Ustawienia kolumny",
"keyboard_shortcuts.back": "aby cofnąć się",
"keyboard_shortcuts.boost": "aby podbić wpis",
"keyboard_shortcuts.column": "aby przejść do wpisu z jednej z kolumn",
"keyboard_shortcuts.compose": "aby przejść do pola tworzenia wpisu",
"keyboard_shortcuts.description": "Opis",
"keyboard_shortcuts.down": "aby przejść na dół listy",
"keyboard_shortcuts.enter": "aby otworzyć wpis",
"keyboard_shortcuts.favourite": "aby dodać do ulubionych",
"keyboard_shortcuts.heading": "Skróty klawiszowe",
"keyboard_shortcuts.hotkey": "Klawisz",
"keyboard_shortcuts.legend": "aby wyświetlić tą legendę",
"keyboard_shortcuts.mention": "aby wspomnieć o autorze",
"keyboard_shortcuts.reply": "aby odpowiedzieć",
"keyboard_shortcuts.search": "aby przejść do pola wyszukiwania",
"keyboard_shortcuts.toot": "aby utworzyć nowy wpis",
"keyboard_shortcuts.unfocus": "aby opuścić pole wyszukiwania/pisania",
"keyboard_shortcuts.up": "aby przejść na górę listy",
"lightbox.close": "Zamknij", "lightbox.close": "Zamknij",
"lightbox.next": "Następne", "lightbox.next": "Następne",
"lightbox.previous": "Poprzednie", "lightbox.previous": "Poprzednie",
"loading_indicator.label": "Ładowanie…", "loading_indicator.label": "Ładowanie…",
"media_gallery.toggle_visible": "Przełącz widoczność", "media_gallery.toggle_visible": "Przełącz widoczność",
"missing_indicator.label": "Nie znaleziono", "missing_indicator.label": "Nie znaleziono",
"mute_modal.hide_notifications": "Chcesz ukryć powiadomienia od tego użytkownika?",
"navigation_bar.blocks": "Zablokowani użytkownicy", "navigation_bar.blocks": "Zablokowani użytkownicy",
"navigation_bar.community_timeline": "Lokalna oś czasu", "navigation_bar.community_timeline": "Lokalna oś czasu",
"navigation_bar.edit_profile": "Edytuj profil", "navigation_bar.edit_profile": "Edytuj profil",
"navigation_bar.favourites": "Ulubione", "navigation_bar.favourites": "Ulubione",
"navigation_bar.follow_requests": "Prośby o śledzenie", "navigation_bar.follow_requests": "Prośby o śledzenie",
"navigation_bar.info": "Szczegółowe informacje", "navigation_bar.info": "Szczegółowe informacje",
"navigation_bar.keyboard_shortcuts": "Skróty klawiszowe",
"navigation_bar.logout": "Wyloguj", "navigation_bar.logout": "Wyloguj",
"navigation_bar.mutes": "Wyciszeni użytkownicy", "navigation_bar.mutes": "Wyciszeni użytkownicy",
"navigation_bar.pins": "Przypięte wpisy", "navigation_bar.pins": "Przypięte wpisy",
@ -204,6 +229,7 @@
"tabs_bar.home": "Strona główna", "tabs_bar.home": "Strona główna",
"tabs_bar.local_timeline": "Lokalne", "tabs_bar.local_timeline": "Lokalne",
"tabs_bar.notifications": "Powiadomienia", "tabs_bar.notifications": "Powiadomienia",
"ui.beforeunload": "Utracisz tworzony wpis, jeżeli opuścisz Mastodona.",
"upload_area.title": "Przeciągnij i upuść aby wysłać", "upload_area.title": "Przeciągnij i upuść aby wysłać",
"upload_button.label": "Dodaj zawartość multimedialną", "upload_button.label": "Dodaj zawartość multimedialną",
"upload_form.description": "Wprowadź opis dla niewidomych i niedowidzących", "upload_form.description": "Wprowadź opis dla niewidomych i niedowidzących",

View File

@ -7,17 +7,22 @@
"account.followers": "Seguidores", "account.followers": "Seguidores",
"account.follows": "Segue", "account.follows": "Segue",
"account.follows_you": "Segue você", "account.follows_you": "Segue você",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Mídia", "account.media": "Mídia",
"account.mention": "Mencionar @{name}", "account.mention": "Mencionar @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "Silenciar @{name}", "account.mute": "Silenciar @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Posts", "account.posts": "Posts",
"account.report": "Denunciar @{name}", "account.report": "Denunciar @{name}",
"account.requested": "Aguardando aprovação. Clique para cancelar a solicitação.", "account.requested": "Aguardando aprovação. Clique para cancelar a solicitação.",
"account.share": "Compartilhar perfil de @{name}", "account.share": "Compartilhar perfil de @{name}",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Desbloquear @{name}", "account.unblock": "Desbloquear @{name}",
"account.unblock_domain": "Desbloquear {domain}", "account.unblock_domain": "Desbloquear {domain}",
"account.unfollow": "Deixar de seguir", "account.unfollow": "Deixar de seguir",
"account.unmute": "Não silenciar @{name}", "account.unmute": "Não silenciar @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "Ver perfil completo", "account.view_full_profile": "Ver perfil completo",
"boost_modal.combo": "Você pode pressionar {combo} para ignorar este diálogo na próxima vez", "boost_modal.combo": "Você pode pressionar {combo} para ignorar este diálogo na próxima vez",
"bundle_column_error.body": "Algo de errado aconteceu enquanto este componente era carregado.", "bundle_column_error.body": "Algo de errado aconteceu enquanto este componente era carregado.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "Ainda não há qualquer conteúdo com essa hashtag", "empty_column.hashtag": "Ainda não há qualquer conteúdo com essa hashtag",
"empty_column.home": "Você ainda não segue usuário algo. Visite a timeline {public} ou use o buscador para procurar e conhecer outros usuários.", "empty_column.home": "Você ainda não segue usuário algo. Visite a timeline {public} ou use o buscador para procurar e conhecer outros usuários.",
"empty_column.home.public_timeline": "global", "empty_column.home.public_timeline": "global",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "Você ainda não possui notificações. Interaja com outros usuários para começar a conversar!", "empty_column.notifications": "Você ainda não possui notificações. Interaja com outros usuários para começar a conversar!",
"empty_column.public": "Não há nada aqui! Escreva algo publicamente ou siga manualmente usuários de outras instâncias.", "empty_column.public": "Não há nada aqui! Escreva algo publicamente ou siga manualmente usuários de outras instâncias.",
"follow_request.authorize": "Autorizar", "follow_request.authorize": "Autorizar",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Mostrar compartilhamentos", "home.column_settings.show_reblogs": "Mostrar compartilhamentos",
"home.column_settings.show_replies": "Mostrar as respostas", "home.column_settings.show_replies": "Mostrar as respostas",
"home.settings": "Configurações de colunas", "home.settings": "Configurações de colunas",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Fechar", "lightbox.close": "Fechar",
"lightbox.next": "Próximo", "lightbox.next": "Próximo",
"lightbox.previous": "Anterior", "lightbox.previous": "Anterior",
"loading_indicator.label": "Carregando...", "loading_indicator.label": "Carregando...",
"media_gallery.toggle_visible": "Esconder/Mostrar", "media_gallery.toggle_visible": "Esconder/Mostrar",
"missing_indicator.label": "Não encontrado", "missing_indicator.label": "Não encontrado",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Usuários bloqueados", "navigation_bar.blocks": "Usuários bloqueados",
"navigation_bar.community_timeline": "Local", "navigation_bar.community_timeline": "Local",
"navigation_bar.edit_profile": "Editar perfil", "navigation_bar.edit_profile": "Editar perfil",
"navigation_bar.favourites": "Favoritos", "navigation_bar.favourites": "Favoritos",
"navigation_bar.follow_requests": "Seguidores pendentes", "navigation_bar.follow_requests": "Seguidores pendentes",
"navigation_bar.info": "Mais informações", "navigation_bar.info": "Mais informações",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Sair", "navigation_bar.logout": "Sair",
"navigation_bar.mutes": "Usuários silenciados", "navigation_bar.mutes": "Usuários silenciados",
"navigation_bar.pins": "Postagens fixadas", "navigation_bar.pins": "Postagens fixadas",
@ -204,6 +229,7 @@
"tabs_bar.home": "Página inicial", "tabs_bar.home": "Página inicial",
"tabs_bar.local_timeline": "Local", "tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Notificações", "tabs_bar.notifications": "Notificações",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Arraste e solte para enviar", "upload_area.title": "Arraste e solte para enviar",
"upload_button.label": "Adicionar mídia", "upload_button.label": "Adicionar mídia",
"upload_form.description": "Descreva a imagem para deficientes visuais", "upload_form.description": "Descreva a imagem para deficientes visuais",

View File

@ -7,17 +7,22 @@
"account.followers": "Seguidores", "account.followers": "Seguidores",
"account.follows": "Segue", "account.follows": "Segue",
"account.follows_you": "É teu seguidor", "account.follows_you": "É teu seguidor",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Media", "account.media": "Media",
"account.mention": "Mencionar @{name}", "account.mention": "Mencionar @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "Silenciar @{name}", "account.mute": "Silenciar @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Posts", "account.posts": "Posts",
"account.report": "Denunciar @{name}", "account.report": "Denunciar @{name}",
"account.requested": "A aguardar aprovação", "account.requested": "A aguardar aprovação",
"account.share": "Share @{name}'s profile", "account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Não bloquear @{name}", "account.unblock": "Não bloquear @{name}",
"account.unblock_domain": "Unhide {domain}", "account.unblock_domain": "Unhide {domain}",
"account.unfollow": "Deixar de seguir", "account.unfollow": "Deixar de seguir",
"account.unmute": "Não silenciar @{name}", "account.unmute": "Não silenciar @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile", "account.view_full_profile": "View full profile",
"boost_modal.combo": "Pode clicar {combo} para não voltar a ver", "boost_modal.combo": "Pode clicar {combo} para não voltar a ver",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "Ainda não existe qualquer conteúdo com essa hashtag", "empty_column.hashtag": "Ainda não existe qualquer conteúdo com essa hashtag",
"empty_column.home": "Ainda não segues qualquer utilizador. Visita {public} ou utiliza a pesquisa para procurar outros utilizadores.", "empty_column.home": "Ainda não segues qualquer utilizador. Visita {public} ou utiliza a pesquisa para procurar outros utilizadores.",
"empty_column.home.public_timeline": "global", "empty_column.home.public_timeline": "global",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "Não tens notificações. Interage com outros utilizadores para iniciar uma conversa.", "empty_column.notifications": "Não tens notificações. Interage com outros utilizadores para iniciar uma conversa.",
"empty_column.public": "Não há nada aqui! Escreve algo publicamente ou segue outros utilizadores para ver aqui os conteúdos públicos.", "empty_column.public": "Não há nada aqui! Escreve algo publicamente ou segue outros utilizadores para ver aqui os conteúdos públicos.",
"follow_request.authorize": "Autorizar", "follow_request.authorize": "Autorizar",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Mostrar as partilhas", "home.column_settings.show_reblogs": "Mostrar as partilhas",
"home.column_settings.show_replies": "Mostrar as respostas", "home.column_settings.show_replies": "Mostrar as respostas",
"home.settings": "Parâmetros da listagem", "home.settings": "Parâmetros da listagem",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Fechar", "lightbox.close": "Fechar",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"loading_indicator.label": "Carregando...", "loading_indicator.label": "Carregando...",
"media_gallery.toggle_visible": "Esconder/Mostrar", "media_gallery.toggle_visible": "Esconder/Mostrar",
"missing_indicator.label": "Não encontrado", "missing_indicator.label": "Não encontrado",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Utilizadores bloqueados", "navigation_bar.blocks": "Utilizadores bloqueados",
"navigation_bar.community_timeline": "Local", "navigation_bar.community_timeline": "Local",
"navigation_bar.edit_profile": "Editar perfil", "navigation_bar.edit_profile": "Editar perfil",
"navigation_bar.favourites": "Favoritos", "navigation_bar.favourites": "Favoritos",
"navigation_bar.follow_requests": "Seguidores pendentes", "navigation_bar.follow_requests": "Seguidores pendentes",
"navigation_bar.info": "Mais informações", "navigation_bar.info": "Mais informações",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Sair", "navigation_bar.logout": "Sair",
"navigation_bar.mutes": "Utilizadores silenciados", "navigation_bar.mutes": "Utilizadores silenciados",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned toots",
@ -204,6 +229,7 @@
"tabs_bar.home": "Home", "tabs_bar.home": "Home",
"tabs_bar.local_timeline": "Local", "tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Notificações", "tabs_bar.notifications": "Notificações",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Arraste e solte para enviar", "upload_area.title": "Arraste e solte para enviar",
"upload_button.label": "Adicionar media", "upload_button.label": "Adicionar media",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",

View File

@ -7,17 +7,22 @@
"account.followers": "Подписаны", "account.followers": "Подписаны",
"account.follows": "Подписки", "account.follows": "Подписки",
"account.follows_you": "Подписан(а) на Вас", "account.follows_you": "Подписан(а) на Вас",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Медиаконтент", "account.media": "Медиаконтент",
"account.mention": "Упомянуть", "account.mention": "Упомянуть",
"account.moved_to": "{name} has moved to:",
"account.mute": "Заглушить", "account.mute": "Заглушить",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Посты", "account.posts": "Посты",
"account.report": "Пожаловаться", "account.report": "Пожаловаться",
"account.requested": "Ожидает подтверждения", "account.requested": "Ожидает подтверждения",
"account.share": "Поделиться профилем @{name}", "account.share": "Поделиться профилем @{name}",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Разблокировать", "account.unblock": "Разблокировать",
"account.unblock_domain": "Разблокировать {domain}", "account.unblock_domain": "Разблокировать {domain}",
"account.unfollow": "Отписаться", "account.unfollow": "Отписаться",
"account.unmute": "Снять глушение", "account.unmute": "Снять глушение",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "Показать полный профиль", "account.view_full_profile": "Показать полный профиль",
"boost_modal.combo": "Нажмите {combo}, чтобы пропустить это в следующий раз", "boost_modal.combo": "Нажмите {combo}, чтобы пропустить это в следующий раз",
"bundle_column_error.body": "Что-то пошло не так при загрузке этого компонента.", "bundle_column_error.body": "Что-то пошло не так при загрузке этого компонента.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "Статусов с таким хэштегом еще не существует.", "empty_column.hashtag": "Статусов с таким хэштегом еще не существует.",
"empty_column.home": "Пока Вы ни на кого не подписаны. Полистайте {public} или используйте поиск, чтобы освоиться и завести новые знакомства.", "empty_column.home": "Пока Вы ни на кого не подписаны. Полистайте {public} или используйте поиск, чтобы освоиться и завести новые знакомства.",
"empty_column.home.public_timeline": "публичные ленты", "empty_column.home.public_timeline": "публичные ленты",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "У Вас еще нет уведомлений. Заведите знакомство с другими пользователями, чтобы начать разговор.", "empty_column.notifications": "У Вас еще нет уведомлений. Заведите знакомство с другими пользователями, чтобы начать разговор.",
"empty_column.public": "Здесь ничего нет! Опубликуйте что-нибудь или подпишитесь на пользователей с других узлов, чтобы заполнить ленту.", "empty_column.public": "Здесь ничего нет! Опубликуйте что-нибудь или подпишитесь на пользователей с других узлов, чтобы заполнить ленту.",
"follow_request.authorize": "Авторизовать", "follow_request.authorize": "Авторизовать",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Показывать продвижения", "home.column_settings.show_reblogs": "Показывать продвижения",
"home.column_settings.show_replies": "Показывать ответы", "home.column_settings.show_replies": "Показывать ответы",
"home.settings": "Настройки колонки", "home.settings": "Настройки колонки",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Закрыть", "lightbox.close": "Закрыть",
"lightbox.next": "Далее", "lightbox.next": "Далее",
"lightbox.previous": "Назад", "lightbox.previous": "Назад",
"loading_indicator.label": "Загрузка...", "loading_indicator.label": "Загрузка...",
"media_gallery.toggle_visible": "Показать/скрыть", "media_gallery.toggle_visible": "Показать/скрыть",
"missing_indicator.label": "Не найдено", "missing_indicator.label": "Не найдено",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Список блокировки", "navigation_bar.blocks": "Список блокировки",
"navigation_bar.community_timeline": "Локальная лента", "navigation_bar.community_timeline": "Локальная лента",
"navigation_bar.edit_profile": "Изменить профиль", "navigation_bar.edit_profile": "Изменить профиль",
"navigation_bar.favourites": "Понравившееся", "navigation_bar.favourites": "Понравившееся",
"navigation_bar.follow_requests": "Запросы на подписку", "navigation_bar.follow_requests": "Запросы на подписку",
"navigation_bar.info": "Об узле", "navigation_bar.info": "Об узле",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Выйти", "navigation_bar.logout": "Выйти",
"navigation_bar.mutes": "Список глушения", "navigation_bar.mutes": "Список глушения",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned toots",
@ -204,6 +229,7 @@
"tabs_bar.home": "Главная", "tabs_bar.home": "Главная",
"tabs_bar.local_timeline": "Локальная", "tabs_bar.local_timeline": "Локальная",
"tabs_bar.notifications": "Уведомления", "tabs_bar.notifications": "Уведомления",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Перетащите сюда, чтобы загрузить", "upload_area.title": "Перетащите сюда, чтобы загрузить",
"upload_button.label": "Добавить медиаконтент", "upload_button.label": "Добавить медиаконтент",
"upload_form.description": "Описать для людей с нарушениями зрения", "upload_form.description": "Описать для людей с нарушениями зрения",

View File

@ -7,17 +7,22 @@
"account.followers": "Följare", "account.followers": "Följare",
"account.follows": "Följer", "account.follows": "Följer",
"account.follows_you": "Följer dig", "account.follows_you": "Följer dig",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Media", "account.media": "Media",
"account.mention": "Nämna @{name}", "account.mention": "Nämna @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "Tysta @{name}", "account.mute": "Tysta @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Inlägg", "account.posts": "Inlägg",
"account.report": "Rapportera @{name}", "account.report": "Rapportera @{name}",
"account.requested": "Inväntar godkännande. Klicka för att avbryta följförfrågan", "account.requested": "Inväntar godkännande. Klicka för att avbryta följförfrågan",
"account.share": "Dela @{name}'s profil", "account.share": "Dela @{name}'s profil",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Avblockera @{name}", "account.unblock": "Avblockera @{name}",
"account.unblock_domain": "Ta fram {domain}", "account.unblock_domain": "Ta fram {domain}",
"account.unfollow": "Sluta följa", "account.unfollow": "Sluta följa",
"account.unmute": "Ta bort tystad @{name}", "account.unmute": "Ta bort tystad @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "Visa hela profilen", "account.view_full_profile": "Visa hela profilen",
"boost_modal.combo": "Du kan trycka {combo} för att slippa denna nästa gång", "boost_modal.combo": "Du kan trycka {combo} för att slippa denna nästa gång",
"bundle_column_error.body": "Något gick fel när du laddade denna komponent.", "bundle_column_error.body": "Något gick fel när du laddade denna komponent.",
@ -82,8 +87,8 @@
"empty_column.community": "Den lokala tidslinjen är tom. Skriv något offentligt för att få bollen att rulla!", "empty_column.community": "Den lokala tidslinjen är tom. Skriv något offentligt för att få bollen att rulla!",
"empty_column.hashtag": "Det finns inget i denna hashtag ännu.", "empty_column.hashtag": "Det finns inget i denna hashtag ännu.",
"empty_column.home": "Din hemma-tidslinje är tom! Besök {public} eller använd sökning för att komma igång och träffa andra användare.", "empty_column.home": "Din hemma-tidslinje är tom! Besök {public} eller använd sökning för att komma igång och träffa andra användare.",
"empty_column.home.inactivity": "Ditt hemmafeed är tomt. Om du har varit inaktiv ett tag kommer det att regenereras för dig snart.",
"empty_column.home.public_timeline": "den publika tidslinjen", "empty_column.home.public_timeline": "den publika tidslinjen",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "Du har inga meddelanden än. Interagera med andra för att starta konversationen.", "empty_column.notifications": "Du har inga meddelanden än. Interagera med andra för att starta konversationen.",
"empty_column.public": "Det finns inget här! Skriv något offentligt, eller följ manuellt användarna från andra instanser för att fylla på det", "empty_column.public": "Det finns inget här! Skriv något offentligt, eller följ manuellt användarna från andra instanser för att fylla på det",
"follow_request.authorize": "Godkänn", "follow_request.authorize": "Godkänn",
@ -99,22 +104,40 @@
"home.column_settings.show_reblogs": "Visa knuffar", "home.column_settings.show_reblogs": "Visa knuffar",
"home.column_settings.show_replies": "Visa svar", "home.column_settings.show_replies": "Visa svar",
"home.settings": "Kolumninställningar", "home.settings": "Kolumninställningar",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Stäng", "lightbox.close": "Stäng",
"lightbox.next": "Nästa", "lightbox.next": "Nästa",
"lightbox.previous": "Tidigare", "lightbox.previous": "Tidigare",
"loading_indicator.label": "Laddar...", "loading_indicator.label": "Laddar...",
"media_gallery.toggle_visible": "Växla synlighet", "media_gallery.toggle_visible": "Växla synlighet",
"missing_indicator.label": "Hittades inte", "missing_indicator.label": "Hittades inte",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Blockerade användare", "navigation_bar.blocks": "Blockerade användare",
"navigation_bar.community_timeline": "Lokal tidslinje", "navigation_bar.community_timeline": "Lokal tidslinje",
"navigation_bar.edit_profile": "Redigera profil", "navigation_bar.edit_profile": "Redigera profil",
"navigation_bar.favourites": "Favoriter", "navigation_bar.favourites": "Favoriter",
"navigation_bar.follow_requests": "Följförfrågningar", "navigation_bar.follow_requests": "Följförfrågningar",
"navigation_bar.info": "Om denna instans", "navigation_bar.info": "Om denna instans",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Logga ut", "navigation_bar.logout": "Logga ut",
"navigation_bar.mutes": "Tystade användare", "navigation_bar.mutes": "Tystade användare",
"navigation_bar.pins": "Nålade inlägg (toots)", "navigation_bar.pins": "Nålade inlägg (toots)",
"navigation_bar.preferences": "Inställningar", "navigation_bar.preferences": "Inställningar",
"navigation_bar.public_timeline": "Förenad tidslinje", "navigation_bar.public_timeline": "Förenad tidslinje",
"notification.favourite": "{name} favoriserade din status", "notification.favourite": "{name} favoriserade din status",
@ -161,6 +184,11 @@
"privacy.public.short": "Publik", "privacy.public.short": "Publik",
"privacy.unlisted.long": "Skicka inte till publik tidslinje", "privacy.unlisted.long": "Skicka inte till publik tidslinje",
"privacy.unlisted.short": "Olistad", "privacy.unlisted.short": "Olistad",
"relative_time.days": "{number}d",
"relative_time.hours": "{number}h",
"relative_time.just_now": "now",
"relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s",
"reply_indicator.cancel": "Ångra", "reply_indicator.cancel": "Ångra",
"report.placeholder": "Ytterligare kommentarer", "report.placeholder": "Ytterligare kommentarer",
"report.submit": "Skicka", "report.submit": "Skicka",
@ -180,6 +208,7 @@
"status.load_more": "Ladda fler", "status.load_more": "Ladda fler",
"status.media_hidden": "Media dold", "status.media_hidden": "Media dold",
"status.mention": "Omnämn @{name}", "status.mention": "Omnämn @{name}",
"status.more": "More",
"status.mute_conversation": "Tysta konversation", "status.mute_conversation": "Tysta konversation",
"status.open": "Utvidga denna status", "status.open": "Utvidga denna status",
"status.pin": "Fäst i profil", "status.pin": "Fäst i profil",
@ -200,6 +229,7 @@
"tabs_bar.home": "Hem", "tabs_bar.home": "Hem",
"tabs_bar.local_timeline": "Lokal", "tabs_bar.local_timeline": "Lokal",
"tabs_bar.notifications": "Meddelanden", "tabs_bar.notifications": "Meddelanden",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Dra & släpp för att ladda upp", "upload_area.title": "Dra & släpp för att ladda upp",
"upload_button.label": "Lägg till media", "upload_button.label": "Lägg till media",
"upload_form.description": "Beskriv för synskadade", "upload_form.description": "Beskriv för synskadade",

View File

@ -7,17 +7,22 @@
"account.followers": "Followers", "account.followers": "Followers",
"account.follows": "Follows", "account.follows": "Follows",
"account.follows_you": "Follows you", "account.follows_you": "Follows you",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Media", "account.media": "Media",
"account.mention": "Mention @{name}", "account.mention": "Mention @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "Mute @{name}", "account.mute": "Mute @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Posts", "account.posts": "Posts",
"account.report": "Report @{name}", "account.report": "Report @{name}",
"account.requested": "Awaiting approval", "account.requested": "Awaiting approval",
"account.share": "Share @{name}'s profile", "account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Unblock @{name}", "account.unblock": "Unblock @{name}",
"account.unblock_domain": "Unhide {domain}", "account.unblock_domain": "Unhide {domain}",
"account.unfollow": "Unfollow", "account.unfollow": "Unfollow",
"account.unmute": "Unmute @{name}", "account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile", "account.view_full_profile": "View full profile",
"boost_modal.combo": "You can press {combo} to skip this next time", "boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "There is nothing in this hashtag yet.", "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.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
"empty_column.home.public_timeline": "the public timeline", "empty_column.home.public_timeline": "the public timeline",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.", "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.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up",
"follow_request.authorize": "Authorize", "follow_request.authorize": "Authorize",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_reblogs": "Show boosts",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "Show replies",
"home.settings": "Column settings", "home.settings": "Column settings",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Close", "lightbox.close": "Close",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"loading_indicator.label": "Loading...", "loading_indicator.label": "Loading...",
"media_gallery.toggle_visible": "Toggle visibility", "media_gallery.toggle_visible": "Toggle visibility",
"missing_indicator.label": "Not found", "missing_indicator.label": "Not found",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Blocked users", "navigation_bar.blocks": "Blocked users",
"navigation_bar.community_timeline": "Local timeline", "navigation_bar.community_timeline": "Local timeline",
"navigation_bar.edit_profile": "Edit profile", "navigation_bar.edit_profile": "Edit profile",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Favourites",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",
"navigation_bar.info": "About this instance", "navigation_bar.info": "About this instance",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Logout", "navigation_bar.logout": "Logout",
"navigation_bar.mutes": "Muted users", "navigation_bar.mutes": "Muted users",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned toots",
@ -204,6 +229,7 @@
"tabs_bar.home": "Home", "tabs_bar.home": "Home",
"tabs_bar.local_timeline": "Local", "tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Notifications", "tabs_bar.notifications": "Notifications",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Drag & drop to upload", "upload_area.title": "Drag & drop to upload",
"upload_button.label": "Add media", "upload_button.label": "Add media",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",

View File

@ -7,17 +7,22 @@
"account.followers": "Takipçiler", "account.followers": "Takipçiler",
"account.follows": "Takip ettikleri", "account.follows": "Takip ettikleri",
"account.follows_you": "Seni takip ediyor", "account.follows_you": "Seni takip ediyor",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Media", "account.media": "Media",
"account.mention": "Bahset @{name}", "account.mention": "Bahset @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "Sustur @{name}", "account.mute": "Sustur @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Gönderiler", "account.posts": "Gönderiler",
"account.report": "Rapor et @{name}", "account.report": "Rapor et @{name}",
"account.requested": "Onay bekleniyor", "account.requested": "Onay bekleniyor",
"account.share": "Share @{name}'s profile", "account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Engeli kaldır @{name}", "account.unblock": "Engeli kaldır @{name}",
"account.unblock_domain": "Unhide {domain}", "account.unblock_domain": "Unhide {domain}",
"account.unfollow": "Takipten vazgeç", "account.unfollow": "Takipten vazgeç",
"account.unmute": "Sesi aç @{name}", "account.unmute": "Sesi aç @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile", "account.view_full_profile": "View full profile",
"boost_modal.combo": "Bir dahaki sefere {combo} tuşuna basabilirsiniz", "boost_modal.combo": "Bir dahaki sefere {combo} tuşuna basabilirsiniz",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "Henüz bu hashtage sahip hiçbir gönderi yok.", "empty_column.hashtag": "Henüz bu hashtage sahip hiçbir gönderi yok.",
"empty_column.home": "Henüz kimseyi takip etmiyorsunuz. {public} ziyaret edebilir veya arama kısmını kullanarak diğer kullanıcılarla iletişime geçebilirsiniz.", "empty_column.home": "Henüz kimseyi takip etmiyorsunuz. {public} ziyaret edebilir veya arama kısmını kullanarak diğer kullanıcılarla iletişime geçebilirsiniz.",
"empty_column.home.public_timeline": "herkese açık zaman tüneli", "empty_column.home.public_timeline": "herkese açık zaman tüneli",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "Henüz hiçbir bildiriminiz yok. Diğer insanlarla sobhet edebilmek için etkileşime geçebilirsiniz.", "empty_column.notifications": "Henüz hiçbir bildiriminiz yok. Diğer insanlarla sobhet edebilmek için etkileşime geçebilirsiniz.",
"empty_column.public": "Burada hiçbir gönderi yok! Herkese açık bir şeyler yazın, veya diğer sunucudaki insanları takip ederek bu alanın dolmasını sağlayın", "empty_column.public": "Burada hiçbir gönderi yok! Herkese açık bir şeyler yazın, veya diğer sunucudaki insanları takip ederek bu alanın dolmasını sağlayın",
"follow_request.authorize": "Yetkilendir", "follow_request.authorize": "Yetkilendir",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Boost edilenleri göster", "home.column_settings.show_reblogs": "Boost edilenleri göster",
"home.column_settings.show_replies": "Cevapları göster", "home.column_settings.show_replies": "Cevapları göster",
"home.settings": "Kolon ayarları", "home.settings": "Kolon ayarları",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Kapat", "lightbox.close": "Kapat",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"loading_indicator.label": "Yükleniyor...", "loading_indicator.label": "Yükleniyor...",
"media_gallery.toggle_visible": "Görünürlüğü değiştir", "media_gallery.toggle_visible": "Görünürlüğü değiştir",
"missing_indicator.label": "Bulunamadı", "missing_indicator.label": "Bulunamadı",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Engellenen kullanıcılar", "navigation_bar.blocks": "Engellenen kullanıcılar",
"navigation_bar.community_timeline": "Yerel zaman tüneli", "navigation_bar.community_timeline": "Yerel zaman tüneli",
"navigation_bar.edit_profile": "Profili düzenle", "navigation_bar.edit_profile": "Profili düzenle",
"navigation_bar.favourites": "Favoriler", "navigation_bar.favourites": "Favoriler",
"navigation_bar.follow_requests": "Takip istekleri", "navigation_bar.follow_requests": "Takip istekleri",
"navigation_bar.info": "Genişletilmiş bilgi", "navigation_bar.info": "Genişletilmiş bilgi",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": ıkış", "navigation_bar.logout": ıkış",
"navigation_bar.mutes": "Sessize alınmış kullanıcılar", "navigation_bar.mutes": "Sessize alınmış kullanıcılar",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned toots",
@ -204,6 +229,7 @@
"tabs_bar.home": "Ana sayfa", "tabs_bar.home": "Ana sayfa",
"tabs_bar.local_timeline": "Yerel", "tabs_bar.local_timeline": "Yerel",
"tabs_bar.notifications": "Bildirimler", "tabs_bar.notifications": "Bildirimler",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Upload için sürükle bırak yapınız", "upload_area.title": "Upload için sürükle bırak yapınız",
"upload_button.label": "Görsel ekle", "upload_button.label": "Görsel ekle",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",

View File

@ -7,17 +7,22 @@
"account.followers": "Підписники", "account.followers": "Підписники",
"account.follows": "Підписки", "account.follows": "Підписки",
"account.follows_you": "Підписаний(-а) на Вас", "account.follows_you": "Підписаний(-а) на Вас",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "Медія", "account.media": "Медія",
"account.mention": "Згадати", "account.mention": "Згадати",
"account.moved_to": "{name} has moved to:",
"account.mute": "Заглушити", "account.mute": "Заглушити",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "Пости", "account.posts": "Пости",
"account.report": "Поскаржитися", "account.report": "Поскаржитися",
"account.requested": "Очікує підтвердження", "account.requested": "Очікує підтвердження",
"account.share": "Share @{name}'s profile", "account.share": "Share @{name}'s profile",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "Розблокувати", "account.unblock": "Розблокувати",
"account.unblock_domain": "Розблокувати {domain}", "account.unblock_domain": "Розблокувати {domain}",
"account.unfollow": "Відписатися", "account.unfollow": "Відписатися",
"account.unmute": "Зняти глушення", "account.unmute": "Зняти глушення",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "View full profile", "account.view_full_profile": "View full profile",
"boost_modal.combo": "Ви можете натиснути {combo}, щоб пропустити це наступного разу", "boost_modal.combo": "Ви можете натиснути {combo}, щоб пропустити це наступного разу",
"bundle_column_error.body": "Something went wrong while loading this component.", "bundle_column_error.body": "Something went wrong while loading this component.",
@ -83,6 +88,7 @@
"empty_column.hashtag": "Дописів з цим хештегом поки не існує.", "empty_column.hashtag": "Дописів з цим хештегом поки не існує.",
"empty_column.home": "Ви поки ні на кого не підписані. Погортайте {public}, або скористуйтесь пошуком, щоб освоїтися та познайомитися з іншими користувачами.", "empty_column.home": "Ви поки ні на кого не підписані. Погортайте {public}, або скористуйтесь пошуком, щоб освоїтися та познайомитися з іншими користувачами.",
"empty_column.home.public_timeline": "публічні стрічки", "empty_column.home.public_timeline": "публічні стрічки",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "У вас ще немає сповіщень. Переписуйтесь з іншими користувачами, щоб почати розмову.", "empty_column.notifications": "У вас ще немає сповіщень. Переписуйтесь з іншими користувачами, щоб почати розмову.",
"empty_column.public": "Тут поки нічого немає! Опублікуйте щось, або вручну підпишіться на користувачів інших інстанцій, щоб заповнити стрічку.", "empty_column.public": "Тут поки нічого немає! Опублікуйте щось, або вручну підпишіться на користувачів інших інстанцій, щоб заповнити стрічку.",
"follow_request.authorize": "Авторизувати", "follow_request.authorize": "Авторизувати",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "Показувати передмухи", "home.column_settings.show_reblogs": "Показувати передмухи",
"home.column_settings.show_replies": "Показувати відповіді", "home.column_settings.show_replies": "Показувати відповіді",
"home.settings": "Налаштування колонок", "home.settings": "Налаштування колонок",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "Закрити", "lightbox.close": "Закрити",
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"loading_indicator.label": "Завантаження...", "loading_indicator.label": "Завантаження...",
"media_gallery.toggle_visible": "Показати/приховати", "media_gallery.toggle_visible": "Показати/приховати",
"missing_indicator.label": "Не знайдено", "missing_indicator.label": "Не знайдено",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "Заблоковані користувачі", "navigation_bar.blocks": "Заблоковані користувачі",
"navigation_bar.community_timeline": "Локальна стрічка", "navigation_bar.community_timeline": "Локальна стрічка",
"navigation_bar.edit_profile": "Редагувати профіль", "navigation_bar.edit_profile": "Редагувати профіль",
"navigation_bar.favourites": "Вподобане", "navigation_bar.favourites": "Вподобане",
"navigation_bar.follow_requests": "Запити на підписку", "navigation_bar.follow_requests": "Запити на підписку",
"navigation_bar.info": "Про інстанцію", "navigation_bar.info": "Про інстанцію",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "Вийти", "navigation_bar.logout": "Вийти",
"navigation_bar.mutes": "Заглушені користувачі", "navigation_bar.mutes": "Заглушені користувачі",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned toots",
@ -204,6 +229,7 @@
"tabs_bar.home": "Головна", "tabs_bar.home": "Головна",
"tabs_bar.local_timeline": "Локальна", "tabs_bar.local_timeline": "Локальна",
"tabs_bar.notifications": "Сповіщення", "tabs_bar.notifications": "Сповіщення",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "Перетягніть сюди, щоб завантажити", "upload_area.title": "Перетягніть сюди, щоб завантажити",
"upload_button.label": "Додати медіаконтент", "upload_button.label": "Додати медіаконтент",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",

View File

@ -0,0 +1,2 @@
[
]

View File

@ -1,23 +1,28 @@
{ {
"account.block": "屏蔽 @{name}", "account.block": "屏蔽 @{name}",
"account.block_domain": "隐藏一切来自 {domain} 的嘟文", "account.block_domain": "隐藏来自 {domain} 的内容",
"account.disclaimer_full": "此处显示的信息可能不是全部内容。", "account.disclaimer_full": "此处显示的信息可能不是全部内容。",
"account.edit_profile": "修改个人资料", "account.edit_profile": "修改个人资料",
"account.follow": "关注", "account.follow": "关注",
"account.followers": "关注者", "account.followers": "关注者",
"account.follows": "正在关注", "account.follows": "正在关注",
"account.follows_you": "关注了你", "account.follows_you": "关注了你",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "媒体", "account.media": "媒体",
"account.mention": "提及 @{name}", "account.mention": "提及 @{name}",
"account.mute": "静音 @{name}", "account.moved_to": "{name} 已经迁移到:",
"account.mute": "隐藏 @{name}",
"account.mute_notifications": "隐藏来自 @{name} 的通知",
"account.posts": "嘟文", "account.posts": "嘟文",
"account.report": "举报 @{name}", "account.report": "举报 @{name}",
"account.requested": "正在等待对方同意。点击以取消发送关注请求", "account.requested": "正在等待对方同意。点击以取消发送关注请求",
"account.share": "分享 @{name} 的个人资料", "account.share": "分享 @{name} 的个人资料",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "不再屏蔽 @{name}", "account.unblock": "不再屏蔽 @{name}",
"account.unblock_domain": "不再隐藏 {domain}", "account.unblock_domain": "不再隐藏来自 {domain} 的内容",
"account.unfollow": "取消关注", "account.unfollow": "取消关注",
"account.unmute": "不再静音 @{name}", "account.unmute": "不再隐藏 @{name}",
"account.unmute_notifications": "不再隐藏来自 @{name} 的通知",
"account.view_full_profile": "查看完整资料", "account.view_full_profile": "查看完整资料",
"boost_modal.combo": "下次按住 {combo} 即可跳过此提示", "boost_modal.combo": "下次按住 {combo} 即可跳过此提示",
"bundle_column_error.body": "载入组件出错。", "bundle_column_error.body": "载入组件出错。",
@ -31,7 +36,7 @@
"column.favourites": "收藏过的嘟文", "column.favourites": "收藏过的嘟文",
"column.follow_requests": "关注请求", "column.follow_requests": "关注请求",
"column.home": "主页", "column.home": "主页",
"column.mutes": "被静音的用户", "column.mutes": "被隐藏的用户",
"column.notifications": "通知", "column.notifications": "通知",
"column.pins": "置顶嘟文", "column.pins": "置顶嘟文",
"column.public": "跨站公共时间轴", "column.public": "跨站公共时间轴",
@ -57,10 +62,10 @@
"confirmations.block.message": "想好了,真的要屏蔽 {name}", "confirmations.block.message": "想好了,真的要屏蔽 {name}",
"confirmations.delete.confirm": "删除", "confirmations.delete.confirm": "删除",
"confirmations.delete.message": "想好了,真的要删除这条嘟文?", "confirmations.delete.message": "想好了,真的要删除这条嘟文?",
"confirmations.domain_block.confirm": "隐藏整个网站", "confirmations.domain_block.confirm": "隐藏整个网站的内容",
"confirmations.domain_block.message": "你真的真的确定要隐藏整个 {domain}?多数情况下,屏蔽或静音几个特定的用户就应该能满足你的需要了。", "confirmations.domain_block.message": "你真的真的确定要隐藏所有来自 {domain} 的内容吗?多数情况下,屏蔽或隐藏几个特定的用户就应该能满足你的需要了。",
"confirmations.mute.confirm": "静音", "confirmations.mute.confirm": "隐藏",
"confirmations.mute.message": "想好了,真的要静音 {name}", "confirmations.mute.message": "想好了,真的要隐藏 {name}",
"confirmations.unfollow.confirm": "取消关注", "confirmations.unfollow.confirm": "取消关注",
"confirmations.unfollow.message": "确定要取消关注 {name} 吗?", "confirmations.unfollow.message": "确定要取消关注 {name} 吗?",
"embed.instructions": "要在你的网站上嵌入这条嘟文,请复制以下代码。", "embed.instructions": "要在你的网站上嵌入这条嘟文,请复制以下代码。",
@ -83,6 +88,7 @@
"empty_column.hashtag": "这个话题标签下暂时没有内容。", "empty_column.hashtag": "这个话题标签下暂时没有内容。",
"empty_column.home": "你还没有关注任何用户。快看看{public},向其他用户搭讪吧。", "empty_column.home": "你还没有关注任何用户。快看看{public},向其他用户搭讪吧。",
"empty_column.home.public_timeline": "公共时间轴", "empty_column.home.public_timeline": "公共时间轴",
"empty_column.list": "这个列表中暂时没有内容。",
"empty_column.notifications": "你还没有收到过通知信息,快向其他用户搭讪吧。", "empty_column.notifications": "你还没有收到过通知信息,快向其他用户搭讪吧。",
"empty_column.public": "这里神马都没有!写一些公开的嘟文,或者关注其他实例的用户,这里就会有嘟文出现了哦!", "empty_column.public": "这里神马都没有!写一些公开的嘟文,或者关注其他实例的用户,这里就会有嘟文出现了哦!",
"follow_request.authorize": "同意", "follow_request.authorize": "同意",
@ -98,20 +104,39 @@
"home.column_settings.show_reblogs": "显示转嘟", "home.column_settings.show_reblogs": "显示转嘟",
"home.column_settings.show_replies": "显示回复", "home.column_settings.show_replies": "显示回复",
"home.settings": "栏目设置", "home.settings": "栏目设置",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "关闭", "lightbox.close": "关闭",
"lightbox.next": "下一步", "lightbox.next": "下一步",
"lightbox.previous": "上一步", "lightbox.previous": "上一步",
"loading_indicator.label": "加载中……", "loading_indicator.label": "加载中……",
"media_gallery.toggle_visible": "切换显示/隐藏", "media_gallery.toggle_visible": "切换显示/隐藏",
"missing_indicator.label": "找不到内容", "missing_indicator.label": "找不到内容",
"mute_modal.hide_notifications": "隐藏来自这个用户的通知",
"navigation_bar.blocks": "被屏蔽的用户", "navigation_bar.blocks": "被屏蔽的用户",
"navigation_bar.community_timeline": "本站时间轴", "navigation_bar.community_timeline": "本站时间轴",
"navigation_bar.edit_profile": "修改个人资料", "navigation_bar.edit_profile": "修改个人资料",
"navigation_bar.favourites": "收藏的内容", "navigation_bar.favourites": "收藏的内容",
"navigation_bar.follow_requests": "关注请求", "navigation_bar.follow_requests": "关注请求",
"navigation_bar.info": "关于本站", "navigation_bar.info": "关于本站",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "注销", "navigation_bar.logout": "注销",
"navigation_bar.mutes": "被静音的用户", "navigation_bar.mutes": "被隐藏的用户",
"navigation_bar.pins": "置顶嘟文", "navigation_bar.pins": "置顶嘟文",
"navigation_bar.preferences": "首选项", "navigation_bar.preferences": "首选项",
"navigation_bar.public_timeline": "跨站公共时间轴", "navigation_bar.public_timeline": "跨站公共时间轴",
@ -184,7 +209,7 @@
"status.media_hidden": "隐藏媒体内容", "status.media_hidden": "隐藏媒体内容",
"status.mention": "提及 @{name}", "status.mention": "提及 @{name}",
"status.more": "更多", "status.more": "更多",
"status.mute_conversation": "静音此对话", "status.mute_conversation": "隐藏此对话",
"status.open": "展开嘟文", "status.open": "展开嘟文",
"status.pin": "在个人资料页面置顶", "status.pin": "在个人资料页面置顶",
"status.reblog": "转嘟", "status.reblog": "转嘟",
@ -197,7 +222,7 @@
"status.share": "分享", "status.share": "分享",
"status.show_less": "隐藏内容", "status.show_less": "隐藏内容",
"status.show_more": "显示内容", "status.show_more": "显示内容",
"status.unmute_conversation": "不再静音此对话", "status.unmute_conversation": "不再隐藏此对话",
"status.unpin": "在个人资料页面取消置顶", "status.unpin": "在个人资料页面取消置顶",
"tabs_bar.compose": "撰写", "tabs_bar.compose": "撰写",
"tabs_bar.federated_timeline": "跨站", "tabs_bar.federated_timeline": "跨站",

View File

@ -7,17 +7,22 @@
"account.followers": "關注的人", "account.followers": "關注的人",
"account.follows": "正關注", "account.follows": "正關注",
"account.follows_you": "關注你", "account.follows_you": "關注你",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "媒體", "account.media": "媒體",
"account.mention": "提及 @{name}", "account.mention": "提及 @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "將 @{name} 靜音", "account.mute": "將 @{name} 靜音",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "文章", "account.posts": "文章",
"account.report": "舉報 @{name}", "account.report": "舉報 @{name}",
"account.requested": "等候審批", "account.requested": "等候審批",
"account.share": "分享 @{name} 的個人資料", "account.share": "分享 @{name} 的個人資料",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "解除對 @{name} 的封鎖", "account.unblock": "解除對 @{name} 的封鎖",
"account.unblock_domain": "不再隱藏 {domain}", "account.unblock_domain": "不再隱藏 {domain}",
"account.unfollow": "取消關注", "account.unfollow": "取消關注",
"account.unmute": "取消 @{name} 的靜音", "account.unmute": "取消 @{name} 的靜音",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "查看完整資料", "account.view_full_profile": "查看完整資料",
"boost_modal.combo": "如你想在下次路過這顯示,請按{combo}", "boost_modal.combo": "如你想在下次路過這顯示,請按{combo}",
"bundle_column_error.body": "加載本組件出錯。", "bundle_column_error.body": "加載本組件出錯。",
@ -83,6 +88,7 @@
"empty_column.hashtag": "這個標籤暫時未有內容。", "empty_column.hashtag": "這個標籤暫時未有內容。",
"empty_column.home": "你還沒有關注任何用戶。快看看{public},向其他用戶搭訕吧。", "empty_column.home": "你還沒有關注任何用戶。快看看{public},向其他用戶搭訕吧。",
"empty_column.home.public_timeline": "公共時間軸", "empty_column.home.public_timeline": "公共時間軸",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "你沒有任何通知紀錄,快向其他用戶搭訕吧。", "empty_column.notifications": "你沒有任何通知紀錄,快向其他用戶搭訕吧。",
"empty_column.public": "跨站時間軸暫時沒有內容!快寫一些公共的文章,或者關注另一些服務站的用戶吧!你和本站、友站的交流,將決定這裏出現的內容。", "empty_column.public": "跨站時間軸暫時沒有內容!快寫一些公共的文章,或者關注另一些服務站的用戶吧!你和本站、友站的交流,將決定這裏出現的內容。",
"follow_request.authorize": "批准", "follow_request.authorize": "批准",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "顯示被轉推的文章", "home.column_settings.show_reblogs": "顯示被轉推的文章",
"home.column_settings.show_replies": "顯示回應文章", "home.column_settings.show_replies": "顯示回應文章",
"home.settings": "欄位設定", "home.settings": "欄位設定",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "關閉", "lightbox.close": "關閉",
"lightbox.next": "繼續", "lightbox.next": "繼續",
"lightbox.previous": "回退", "lightbox.previous": "回退",
"loading_indicator.label": "載入中...", "loading_indicator.label": "載入中...",
"media_gallery.toggle_visible": "打開或關上", "media_gallery.toggle_visible": "打開或關上",
"missing_indicator.label": "找不到內容", "missing_indicator.label": "找不到內容",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "被你封鎖的用戶", "navigation_bar.blocks": "被你封鎖的用戶",
"navigation_bar.community_timeline": "本站時間軸", "navigation_bar.community_timeline": "本站時間軸",
"navigation_bar.edit_profile": "修改個人資料", "navigation_bar.edit_profile": "修改個人資料",
"navigation_bar.favourites": "最愛的內容", "navigation_bar.favourites": "最愛的內容",
"navigation_bar.follow_requests": "關注請求", "navigation_bar.follow_requests": "關注請求",
"navigation_bar.info": "關於本服務站", "navigation_bar.info": "關於本服務站",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "登出", "navigation_bar.logout": "登出",
"navigation_bar.mutes": "被你靜音的用戶", "navigation_bar.mutes": "被你靜音的用戶",
"navigation_bar.pins": "置頂文章", "navigation_bar.pins": "置頂文章",
@ -204,6 +229,7 @@
"tabs_bar.home": "主頁", "tabs_bar.home": "主頁",
"tabs_bar.local_timeline": "本站", "tabs_bar.local_timeline": "本站",
"tabs_bar.notifications": "通知", "tabs_bar.notifications": "通知",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "將檔案拖放至此上載", "upload_area.title": "將檔案拖放至此上載",
"upload_button.label": "上載媒體檔案", "upload_button.label": "上載媒體檔案",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",

View File

@ -7,17 +7,22 @@
"account.followers": "專注者", "account.followers": "專注者",
"account.follows": "正關注", "account.follows": "正關注",
"account.follows_you": "關注你", "account.follows_you": "關注你",
"account.hide_reblogs": "Hide boosts from @{name}",
"account.media": "媒體", "account.media": "媒體",
"account.mention": "提到 @{name}", "account.mention": "提到 @{name}",
"account.moved_to": "{name} has moved to:",
"account.mute": "消音 @{name}", "account.mute": "消音 @{name}",
"account.mute_notifications": "Mute notifications from @{name}",
"account.posts": "貼文", "account.posts": "貼文",
"account.report": "檢舉 @{name}", "account.report": "檢舉 @{name}",
"account.requested": "正在等待許可", "account.requested": "正在等待許可",
"account.share": "分享 @{name} 的用者資訊", "account.share": "分享 @{name} 的用者資訊",
"account.show_reblogs": "Show boosts from @{name}",
"account.unblock": "取消封鎖 @{name}", "account.unblock": "取消封鎖 @{name}",
"account.unblock_domain": "不再隱藏 {domain}", "account.unblock_domain": "不再隱藏 {domain}",
"account.unfollow": "取消關注", "account.unfollow": "取消關注",
"account.unmute": "不再消音 @{name}", "account.unmute": "不再消音 @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}",
"account.view_full_profile": "查看完整資訊", "account.view_full_profile": "查看完整資訊",
"boost_modal.combo": "下次你可以按 {combo} 來跳過", "boost_modal.combo": "下次你可以按 {combo} 來跳過",
"bundle_column_error.body": "加載本組件出錯。", "bundle_column_error.body": "加載本組件出錯。",
@ -83,6 +88,7 @@
"empty_column.hashtag": "這個主題標籤下什麼都沒有。", "empty_column.hashtag": "這個主題標籤下什麼都沒有。",
"empty_column.home": "你還沒關注任何人。造訪{public}或利用搜尋功能找到其他用者。", "empty_column.home": "你還沒關注任何人。造訪{public}或利用搜尋功能找到其他用者。",
"empty_column.home.public_timeline": "公開時間軸", "empty_column.home.public_timeline": "公開時間軸",
"empty_column.list": "There is nothing in this list yet.",
"empty_column.notifications": "還沒有任何通知。和別的使用者互動來開始對話。", "empty_column.notifications": "還沒有任何通知。和別的使用者互動來開始對話。",
"empty_column.public": "這裡什麼都沒有!公開寫些什麼,或是關注其他副本的使用者。", "empty_column.public": "這裡什麼都沒有!公開寫些什麼,或是關注其他副本的使用者。",
"follow_request.authorize": "授權", "follow_request.authorize": "授權",
@ -98,18 +104,37 @@
"home.column_settings.show_reblogs": "顯示轉推", "home.column_settings.show_reblogs": "顯示轉推",
"home.column_settings.show_replies": "顯示回應", "home.column_settings.show_replies": "顯示回應",
"home.settings": "欄位設定", "home.settings": "欄位設定",
"keyboard_shortcuts.back": "to navigate back",
"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.description": "Description",
"keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status",
"keyboard_shortcuts.favourite": "to favourite",
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
"keyboard_shortcuts.hotkey": "Hotkey",
"keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.mention": "to mention author",
"keyboard_shortcuts.reply": "to reply",
"keyboard_shortcuts.search": "to focus search",
"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",
"lightbox.close": "關閉", "lightbox.close": "關閉",
"lightbox.next": "繼續", "lightbox.next": "繼續",
"lightbox.previous": "回退", "lightbox.previous": "回退",
"loading_indicator.label": "讀取中...", "loading_indicator.label": "讀取中...",
"media_gallery.toggle_visible": "切換可見性", "media_gallery.toggle_visible": "切換可見性",
"missing_indicator.label": "找不到", "missing_indicator.label": "找不到",
"mute_modal.hide_notifications": "Hide notifications from this user?",
"navigation_bar.blocks": "封鎖的使用者", "navigation_bar.blocks": "封鎖的使用者",
"navigation_bar.community_timeline": "本地時間軸", "navigation_bar.community_timeline": "本地時間軸",
"navigation_bar.edit_profile": "編輯用者資訊", "navigation_bar.edit_profile": "編輯用者資訊",
"navigation_bar.favourites": "最愛", "navigation_bar.favourites": "最愛",
"navigation_bar.follow_requests": "關注請求", "navigation_bar.follow_requests": "關注請求",
"navigation_bar.info": "關於本站", "navigation_bar.info": "關於本站",
"navigation_bar.keyboard_shortcuts": "Keyboard shortcuts",
"navigation_bar.logout": "登出", "navigation_bar.logout": "登出",
"navigation_bar.mutes": "消音的使用者", "navigation_bar.mutes": "消音的使用者",
"navigation_bar.pins": "置頂貼文", "navigation_bar.pins": "置頂貼文",
@ -204,6 +229,7 @@
"tabs_bar.home": "家", "tabs_bar.home": "家",
"tabs_bar.local_timeline": "本地", "tabs_bar.local_timeline": "本地",
"tabs_bar.notifications": "通知", "tabs_bar.notifications": "通知",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"upload_area.title": "拖放來上傳", "upload_area.title": "拖放來上傳",
"upload_button.label": "增加媒體", "upload_button.label": "增加媒體",
"upload_form.description": "Describe for the visually impaired", "upload_form.description": "Describe for the visually impaired",

View File

@ -59,6 +59,11 @@ const normalizeAccount = (state, account) => {
account.display_name_html = emojify(escapeTextContentForBrowser(displayName)); account.display_name_html = emojify(escapeTextContentForBrowser(displayName));
account.note_emojified = emojify(account.note); account.note_emojified = emojify(account.note);
if (account.moved) {
state = normalizeAccount(state, account.moved);
account.moved = account.moved.id;
}
return state.set(account.id, fromJS(account)); return state.set(account.id, fromJS(account));
}; };

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