mirror of
https://git.kescher.at/CatCatNya/catstodon.git
synced 2024-11-24 22:08:08 +01:00
Merge commit '44d92fa4f6aac5c45ad358287af48cd879f5665e' into glitch-soc/merge-upstream
This commit is contained in:
commit
4f1242964b
249 changed files with 1848 additions and 751 deletions
42
CHANGELOG.md
42
CHANGELOG.md
|
@ -2,6 +2,48 @@
|
||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## [4.3.1] - 2024-10-21
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Add more explicit explanations about author attribution and `fediverse:creator` (#32383 by @ClearlyClaire)
|
||||||
|
- Add ability to group follow notifications in WebUI, can be disabled in the column settings (#32520 by @renchap)
|
||||||
|
- Add back a 6 hours mute duration option (#32522 by @renchap)
|
||||||
|
- Add note about not changing ActiveRecord encryption secrets once they are set (#32413, #32476, #32512, and #32537 by @ClearlyClaire and @mjankowski)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Change translation feature to translate to selected regional variant (e.g. pt-BR) if available (#32428 by @c960657)
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
|
||||||
|
- Remove ability to get embed code for remote posts (#32578 by @ClearlyClaire)\
|
||||||
|
Getting the embed code is only reliable for local posts.\
|
||||||
|
It never worked for non-Mastodon servers, and stopped working correctly with the changes made in 4.3.0.\
|
||||||
|
We have therefore decided to remove the menu entry while we investigate solutions.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix follow recommendation moderation page default language when using regional variant (#32580 by @ClearlyClaire)
|
||||||
|
- Fix column-settings spacing in local timeline in advanced view (#32567 by @lindwurm)
|
||||||
|
- Fix broken i18n in text welcome mailer tags area (#32571 by @mjankowski)
|
||||||
|
- Fix missing or incorrect cache-control headers for Streaming server (#32551 by @ThisIsMissEm)
|
||||||
|
- Fix only the first paragraph being displayed in some notifications (#32348 by @ClearlyClaire)
|
||||||
|
- Fix reblog icons on account media view (#32506 by @tribela)
|
||||||
|
- Fix Content-Security-Policy not allowing OpenStack SWIFT object storage URI (#32439 by @kenkiku1021)
|
||||||
|
- Fix back arrow pointing to the incorrect direction in RTL languages (#32485 by @renchap)
|
||||||
|
- Fix streaming server using `REDIS_USERNAME` instead of `REDIS_USER` (#32493 by @ThisIsMissEm)
|
||||||
|
- Fix follow recommendation carrousel scrolling on RTL layouts (#32462 and #32505 by @ClearlyClaire)
|
||||||
|
- Fix follow recommendation suppressions not applying immediately (#32392 by @ClearlyClaire)
|
||||||
|
- Fix language of push notifications (#32415 by @ClearlyClaire)
|
||||||
|
- Fix mute duration not being shown in list of muted accounts in web UI (#32388 by @ClearlyClaire)
|
||||||
|
- Fix “Mark every notification as read” not updating the read marker if scrolled down (#32385 by @ClearlyClaire)
|
||||||
|
- Fix “Mention” appearing for otherwise filtered posts (#32356 by @ClearlyClaire)
|
||||||
|
- Fix notification requests from suspended accounts still being listed (#32354 by @ClearlyClaire)
|
||||||
|
- Fix list edition modal styling (#32358 and #32367 by @ClearlyClaire and @vmstan)
|
||||||
|
- Fix 4 columns barely not fitting on 1920px screen (#32361 by @ClearlyClaire)
|
||||||
|
- Fix icon alignment in applications list (#32293 by @mjankowski)
|
||||||
|
|
||||||
## [4.3.0] - 2024-10-08
|
## [4.3.0] - 2024-10-08
|
||||||
|
|
||||||
The following changelog entries focus on changes visible to users, administrators, client developers or federated software developers, but there has also been a lot of code modernization, refactoring, and tooling work, in particular by @mjankowski.
|
The following changelog entries focus on changes visible to users, administrators, client developers or federated software developers, but there has also been a lot of code modernization, refactoring, and tooling work, in particular by @mjankowski.
|
||||||
|
|
48
Gemfile.lock
48
Gemfile.lock
|
@ -97,7 +97,7 @@ GEM
|
||||||
attr_required (1.0.2)
|
attr_required (1.0.2)
|
||||||
awrence (1.2.1)
|
awrence (1.2.1)
|
||||||
aws-eventstream (1.3.0)
|
aws-eventstream (1.3.0)
|
||||||
aws-partitions (1.1001.0)
|
aws-partitions (1.1004.0)
|
||||||
aws-sdk-core (3.212.0)
|
aws-sdk-core (3.212.0)
|
||||||
aws-eventstream (~> 1, >= 1.3.0)
|
aws-eventstream (~> 1, >= 1.3.0)
|
||||||
aws-partitions (~> 1, >= 1.992.0)
|
aws-partitions (~> 1, >= 1.992.0)
|
||||||
|
@ -106,18 +106,18 @@ GEM
|
||||||
aws-sdk-kms (1.95.0)
|
aws-sdk-kms (1.95.0)
|
||||||
aws-sdk-core (~> 3, >= 3.210.0)
|
aws-sdk-core (~> 3, >= 3.210.0)
|
||||||
aws-sigv4 (~> 1.5)
|
aws-sigv4 (~> 1.5)
|
||||||
aws-sdk-s3 (1.170.0)
|
aws-sdk-s3 (1.170.1)
|
||||||
aws-sdk-core (~> 3, >= 3.210.0)
|
aws-sdk-core (~> 3, >= 3.210.0)
|
||||||
aws-sdk-kms (~> 1)
|
aws-sdk-kms (~> 1)
|
||||||
aws-sigv4 (~> 1.5)
|
aws-sigv4 (~> 1.5)
|
||||||
aws-sigv4 (1.10.1)
|
aws-sigv4 (1.10.1)
|
||||||
aws-eventstream (~> 1, >= 1.0.2)
|
aws-eventstream (~> 1, >= 1.0.2)
|
||||||
azure-blob (0.5.2)
|
azure-blob (0.5.3)
|
||||||
rexml
|
rexml
|
||||||
base64 (0.2.0)
|
base64 (0.2.0)
|
||||||
bcp47_spec (0.2.1)
|
bcp47_spec (0.2.1)
|
||||||
bcrypt (3.1.20)
|
bcrypt (3.1.20)
|
||||||
benchmark (0.3.0)
|
benchmark (0.4.0)
|
||||||
better_errors (2.10.1)
|
better_errors (2.10.1)
|
||||||
erubi (>= 1.0.0)
|
erubi (>= 1.0.0)
|
||||||
rack (>= 0.9.0)
|
rack (>= 0.9.0)
|
||||||
|
@ -131,7 +131,7 @@ GEM
|
||||||
msgpack (~> 1.2)
|
msgpack (~> 1.2)
|
||||||
brakeman (6.2.2)
|
brakeman (6.2.2)
|
||||||
racc
|
racc
|
||||||
browser (6.0.0)
|
browser (6.1.0)
|
||||||
brpoplpush-redis_script (0.1.3)
|
brpoplpush-redis_script (0.1.3)
|
||||||
concurrent-ruby (~> 1.0, >= 1.0.5)
|
concurrent-ruby (~> 1.0, >= 1.0.5)
|
||||||
redis (>= 1.0, < 6)
|
redis (>= 1.0, < 6)
|
||||||
|
@ -178,7 +178,7 @@ GEM
|
||||||
activerecord (>= 5.a)
|
activerecord (>= 5.a)
|
||||||
database_cleaner-core (~> 2.0.0)
|
database_cleaner-core (~> 2.0.0)
|
||||||
database_cleaner-core (2.0.1)
|
database_cleaner-core (2.0.1)
|
||||||
date (3.3.4)
|
date (3.4.0)
|
||||||
debug (1.9.2)
|
debug (1.9.2)
|
||||||
irb (~> 1.10)
|
irb (~> 1.10)
|
||||||
reline (>= 0.3.8)
|
reline (>= 0.3.8)
|
||||||
|
@ -189,10 +189,10 @@ GEM
|
||||||
railties (>= 4.1.0)
|
railties (>= 4.1.0)
|
||||||
responders
|
responders
|
||||||
warden (~> 1.2.3)
|
warden (~> 1.2.3)
|
||||||
devise-two-factor (6.0.0)
|
devise-two-factor (6.1.0)
|
||||||
activesupport (~> 7.0)
|
activesupport (>= 7.0, < 8.1)
|
||||||
devise (~> 4.0)
|
devise (~> 4.0)
|
||||||
railties (~> 7.0)
|
railties (>= 7.0, < 8.1)
|
||||||
rotp (~> 6.0)
|
rotp (~> 6.0)
|
||||||
devise_pam_authenticatable2 (9.2.0)
|
devise_pam_authenticatable2 (9.2.0)
|
||||||
devise (>= 4.0.0)
|
devise (>= 4.0.0)
|
||||||
|
@ -330,7 +330,7 @@ GEM
|
||||||
azure-blob (~> 0.5.2)
|
azure-blob (~> 0.5.2)
|
||||||
hashie (~> 5.0)
|
hashie (~> 5.0)
|
||||||
jmespath (1.6.2)
|
jmespath (1.6.2)
|
||||||
json (2.7.4)
|
json (2.8.1)
|
||||||
json-canonicalization (1.0.0)
|
json-canonicalization (1.0.0)
|
||||||
json-jwt (1.15.3.1)
|
json-jwt (1.15.3.1)
|
||||||
activesupport (>= 4.2)
|
activesupport (>= 4.2)
|
||||||
|
@ -407,16 +407,16 @@ GEM
|
||||||
mime-types (3.6.0)
|
mime-types (3.6.0)
|
||||||
logger
|
logger
|
||||||
mime-types-data (~> 3.2015)
|
mime-types-data (~> 3.2015)
|
||||||
mime-types-data (3.2024.1001)
|
mime-types-data (3.2024.1105)
|
||||||
mini_mime (1.1.5)
|
mini_mime (1.1.5)
|
||||||
mini_portile2 (2.8.7)
|
mini_portile2 (2.8.7)
|
||||||
minitest (5.25.1)
|
minitest (5.25.1)
|
||||||
msgpack (1.7.3)
|
msgpack (1.7.5)
|
||||||
multi_json (1.15.0)
|
multi_json (1.15.0)
|
||||||
mutex_m (0.2.0)
|
mutex_m (0.2.0)
|
||||||
net-http (0.5.0)
|
net-http (0.5.0)
|
||||||
uri
|
uri
|
||||||
net-imap (0.5.0)
|
net-imap (0.5.1)
|
||||||
date
|
date
|
||||||
net-protocol
|
net-protocol
|
||||||
net-ldap (0.19.0)
|
net-ldap (0.19.0)
|
||||||
|
@ -554,10 +554,10 @@ GEM
|
||||||
opentelemetry-semantic_conventions (1.10.1)
|
opentelemetry-semantic_conventions (1.10.1)
|
||||||
opentelemetry-api (~> 1.0)
|
opentelemetry-api (~> 1.0)
|
||||||
orm_adapter (0.5.0)
|
orm_adapter (0.5.0)
|
||||||
ostruct (0.6.0)
|
ostruct (0.6.1)
|
||||||
ox (2.14.18)
|
ox (2.14.18)
|
||||||
parallel (1.26.3)
|
parallel (1.26.3)
|
||||||
parser (3.3.5.0)
|
parser (3.3.6.0)
|
||||||
ast (~> 2.4.1)
|
ast (~> 2.4.1)
|
||||||
racc
|
racc
|
||||||
parslet (2.0.0)
|
parslet (2.0.0)
|
||||||
|
@ -579,7 +579,7 @@ GEM
|
||||||
activesupport (>= 7.0.0)
|
activesupport (>= 7.0.0)
|
||||||
rack
|
rack
|
||||||
railties (>= 7.0.0)
|
railties (>= 7.0.0)
|
||||||
psych (5.1.2)
|
psych (5.2.0)
|
||||||
stringio
|
stringio
|
||||||
public_suffix (6.0.1)
|
public_suffix (6.0.1)
|
||||||
puma (6.4.3)
|
puma (6.4.3)
|
||||||
|
@ -664,7 +664,7 @@ GEM
|
||||||
redlock (1.3.2)
|
redlock (1.3.2)
|
||||||
redis (>= 3.0.0, < 6.0)
|
redis (>= 3.0.0, < 6.0)
|
||||||
regexp_parser (2.9.2)
|
regexp_parser (2.9.2)
|
||||||
reline (0.5.10)
|
reline (0.5.11)
|
||||||
io-console (~> 0.5)
|
io-console (~> 0.5)
|
||||||
request_store (1.6.0)
|
request_store (1.6.0)
|
||||||
rack (>= 1.4)
|
rack (>= 1.4)
|
||||||
|
@ -673,7 +673,7 @@ GEM
|
||||||
railties (>= 5.2)
|
railties (>= 5.2)
|
||||||
rexml (3.3.9)
|
rexml (3.3.9)
|
||||||
rotp (6.3.0)
|
rotp (6.3.0)
|
||||||
rouge (4.4.0)
|
rouge (4.5.1)
|
||||||
rpam2 (4.0.2)
|
rpam2 (4.0.2)
|
||||||
rqrcode (2.2.0)
|
rqrcode (2.2.0)
|
||||||
chunky_png (~> 1.0)
|
chunky_png (~> 1.0)
|
||||||
|
@ -693,7 +693,7 @@ GEM
|
||||||
rspec-mocks (3.13.2)
|
rspec-mocks (3.13.2)
|
||||||
diff-lcs (>= 1.2.0, < 2.0)
|
diff-lcs (>= 1.2.0, < 2.0)
|
||||||
rspec-support (~> 3.13.0)
|
rspec-support (~> 3.13.0)
|
||||||
rspec-rails (7.0.1)
|
rspec-rails (7.1.0)
|
||||||
actionpack (>= 7.0)
|
actionpack (>= 7.0)
|
||||||
activesupport (>= 7.0)
|
activesupport (>= 7.0)
|
||||||
railties (>= 7.0)
|
railties (>= 7.0)
|
||||||
|
@ -753,7 +753,7 @@ GEM
|
||||||
scenic (1.8.0)
|
scenic (1.8.0)
|
||||||
activerecord (>= 4.0.0)
|
activerecord (>= 4.0.0)
|
||||||
railties (>= 4.0.0)
|
railties (>= 4.0.0)
|
||||||
securerandom (0.3.1)
|
securerandom (0.3.2)
|
||||||
selenium-webdriver (4.26.0)
|
selenium-webdriver (4.26.0)
|
||||||
base64 (~> 0.2)
|
base64 (~> 0.2)
|
||||||
logger (~> 1.4)
|
logger (~> 1.4)
|
||||||
|
@ -794,8 +794,8 @@ GEM
|
||||||
stackprof (0.2.26)
|
stackprof (0.2.26)
|
||||||
stoplight (4.1.0)
|
stoplight (4.1.0)
|
||||||
redlock (~> 1.0)
|
redlock (~> 1.0)
|
||||||
stringio (3.1.1)
|
stringio (3.1.2)
|
||||||
strong_migrations (2.0.2)
|
strong_migrations (2.1.0)
|
||||||
activerecord (>= 6.1)
|
activerecord (>= 6.1)
|
||||||
swd (1.3.0)
|
swd (1.3.0)
|
||||||
activesupport (>= 3)
|
activesupport (>= 3)
|
||||||
|
@ -810,7 +810,7 @@ GEM
|
||||||
test-prof (1.4.2)
|
test-prof (1.4.2)
|
||||||
thor (1.3.2)
|
thor (1.3.2)
|
||||||
tilt (2.4.0)
|
tilt (2.4.0)
|
||||||
timeout (0.4.1)
|
timeout (0.4.2)
|
||||||
tpm-key_attestation (0.12.1)
|
tpm-key_attestation (0.12.1)
|
||||||
bindata (~> 2.4)
|
bindata (~> 2.4)
|
||||||
openssl (> 2.0)
|
openssl (> 2.0)
|
||||||
|
@ -867,7 +867,7 @@ GEM
|
||||||
rack-proxy (>= 0.6.1)
|
rack-proxy (>= 0.6.1)
|
||||||
railties (>= 5.2)
|
railties (>= 5.2)
|
||||||
semantic_range (>= 2.3.0)
|
semantic_range (>= 2.3.0)
|
||||||
webrick (1.8.2)
|
webrick (1.9.0)
|
||||||
websocket (1.2.11)
|
websocket (1.2.11)
|
||||||
websocket-driver (0.7.6)
|
websocket-driver (0.7.6)
|
||||||
websocket-extensions (>= 0.1.0)
|
websocket-extensions (>= 0.1.0)
|
||||||
|
|
|
@ -58,10 +58,7 @@ module Admin
|
||||||
private
|
private
|
||||||
|
|
||||||
def set_resolved_records
|
def set_resolved_records
|
||||||
Resolv::DNS.open do |dns|
|
@resolved_records = DomainResource.new(@email_domain_block.domain).mx
|
||||||
dns.timeouts = 5
|
|
||||||
@resolved_records = dns.getresources(@email_domain_block.domain, Resolv::DNS::Resource::IN::MX).to_a
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def resource_params
|
def resource_params
|
||||||
|
|
|
@ -21,6 +21,7 @@ module Admin
|
||||||
@relay = Relay.new(resource_params)
|
@relay = Relay.new(resource_params)
|
||||||
|
|
||||||
if @relay.save
|
if @relay.save
|
||||||
|
log_action :create, @relay
|
||||||
@relay.enable!
|
@relay.enable!
|
||||||
redirect_to admin_relays_path
|
redirect_to admin_relays_path
|
||||||
else
|
else
|
||||||
|
@ -31,18 +32,21 @@ module Admin
|
||||||
def destroy
|
def destroy
|
||||||
authorize :relay, :update?
|
authorize :relay, :update?
|
||||||
@relay.destroy
|
@relay.destroy
|
||||||
|
log_action :destroy, @relay
|
||||||
redirect_to admin_relays_path
|
redirect_to admin_relays_path
|
||||||
end
|
end
|
||||||
|
|
||||||
def enable
|
def enable
|
||||||
authorize :relay, :update?
|
authorize :relay, :update?
|
||||||
@relay.enable!
|
@relay.enable!
|
||||||
|
log_action :enable, @relay
|
||||||
redirect_to admin_relays_path
|
redirect_to admin_relays_path
|
||||||
end
|
end
|
||||||
|
|
||||||
def disable
|
def disable
|
||||||
authorize :relay, :update?
|
authorize :relay, :update?
|
||||||
@relay.disable!
|
@relay.disable!
|
||||||
|
log_action :disable, @relay
|
||||||
redirect_to admin_relays_path
|
redirect_to admin_relays_path
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,8 @@ module Admin
|
||||||
|
|
||||||
def show
|
def show
|
||||||
authorize [:admin, @status], :show?
|
authorize [:admin, @status], :show?
|
||||||
|
|
||||||
|
@status_batch_action = Admin::StatusBatchAction.new
|
||||||
end
|
end
|
||||||
|
|
||||||
def batch
|
def batch
|
||||||
|
|
|
@ -7,7 +7,6 @@ module WebAppControllerConcern
|
||||||
vary_by 'Accept, Accept-Language, Cookie'
|
vary_by 'Accept, Accept-Language, Cookie'
|
||||||
|
|
||||||
before_action :redirect_unauthenticated_to_permalinks!
|
before_action :redirect_unauthenticated_to_permalinks!
|
||||||
before_action :set_app_body_class
|
|
||||||
|
|
||||||
content_security_policy do |p|
|
content_security_policy do |p|
|
||||||
policy = ContentSecurityPolicy.new
|
policy = ContentSecurityPolicy.new
|
||||||
|
@ -24,10 +23,6 @@ module WebAppControllerConcern
|
||||||
!(ENV['ONE_CLICK_SSO_LOGIN'] == 'true' && ENV['OMNIAUTH_ONLY'] == 'true' && Devise.omniauth_providers.length == 1) && current_user.nil?
|
!(ENV['ONE_CLICK_SSO_LOGIN'] == 'true' && ENV['OMNIAUTH_ONLY'] == 'true' && Devise.omniauth_providers.length == 1) && current_user.nil?
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_app_body_class
|
|
||||||
@body_classes = 'app-body'
|
|
||||||
end
|
|
||||||
|
|
||||||
def redirect_unauthenticated_to_permalinks!
|
def redirect_unauthenticated_to_permalinks!
|
||||||
return if user_signed_in? # NOTE: Different from upstream because we allow moved users to log in
|
return if user_signed_in? # NOTE: Different from upstream because we allow moved users to log in
|
||||||
|
|
||||||
|
|
|
@ -35,12 +35,6 @@ class Oauth::AuthorizedApplicationsController < Doorkeeper::AuthorizedApplicatio
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_last_used_at_by_app
|
def set_last_used_at_by_app
|
||||||
@last_used_at_by_app = Doorkeeper::AccessToken
|
@last_used_at_by_app = current_resource_owner.applications_last_used
|
||||||
.select('DISTINCT ON (application_id) application_id, last_used_at')
|
|
||||||
.where(resource_owner_id: current_resource_owner.id)
|
|
||||||
.where.not(last_used_at: nil)
|
|
||||||
.order(application_id: :desc, last_used_at: :desc)
|
|
||||||
.pluck(:application_id, :last_used_at)
|
|
||||||
.to_h
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -12,12 +12,12 @@ module Admin::AccountModerationNotesHelper
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
def admin_account_inline_link_to(account)
|
def admin_account_inline_link_to(account, path: nil)
|
||||||
return if account.nil?
|
return if account.nil?
|
||||||
|
|
||||||
link_to(
|
link_to(
|
||||||
account_inline_text(account),
|
account_inline_text(account),
|
||||||
admin_account_path(account.id),
|
path || admin_account_path(account.id),
|
||||||
class: class_names('inline-name-tag', suspended: suspended_account?(account)),
|
class: class_names('inline-name-tag', suspended: suspended_account?(account)),
|
||||||
title: account.acct
|
title: account.acct
|
||||||
)
|
)
|
||||||
|
|
|
@ -33,6 +33,8 @@ module Admin::ActionLogsHelper
|
||||||
else
|
else
|
||||||
I18n.t('admin.action_logs.deleted_account')
|
I18n.t('admin.action_logs.deleted_account')
|
||||||
end
|
end
|
||||||
|
when 'Relay'
|
||||||
|
link_to log.human_identifier, admin_relays_path
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -79,7 +79,7 @@ module ApplicationHelper
|
||||||
|
|
||||||
def html_title
|
def html_title
|
||||||
safe_join(
|
safe_join(
|
||||||
[content_for(:page_title).to_s.chomp, title]
|
[content_for(:page_title), title]
|
||||||
.compact_blank,
|
.compact_blank,
|
||||||
' - '
|
' - '
|
||||||
)
|
)
|
||||||
|
|
|
@ -393,24 +393,11 @@ class Status extends ImmutablePureComponent {
|
||||||
};
|
};
|
||||||
|
|
||||||
let media, statusAvatar, prepend, rebloggedByText;
|
let media, statusAvatar, prepend, rebloggedByText;
|
||||||
const matchedFilters = status.get('matched_filters');
|
|
||||||
const expanded = (!matchedFilters || this.state.showDespiteFilter) && (!status.get('hidden') || status.get('spoiler_text').length === 0);
|
|
||||||
|
|
||||||
if (hidden) {
|
|
||||||
return (
|
|
||||||
<HotKeys handlers={handlers} tabIndex={unfocusable ? null : -1}>
|
|
||||||
<div ref={this.handleRef} className={classNames('status__wrapper', { focusable: !this.props.muted })} tabIndex={unfocusable ? null : 0}>
|
|
||||||
<span>{status.getIn(['account', 'display_name']) || status.getIn(['account', 'username'])}</span>
|
|
||||||
{status.get('spoiler_text').length > 0 && (<span>{status.get('spoiler_text')}</span>)}
|
|
||||||
{expanded && <span>{status.get('content')}</span>}
|
|
||||||
</div>
|
|
||||||
</HotKeys>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const connectUp = previousId && previousId === status.get('in_reply_to_id');
|
const connectUp = previousId && previousId === status.get('in_reply_to_id');
|
||||||
const connectToRoot = rootId && rootId === status.get('in_reply_to_id');
|
const connectToRoot = rootId && rootId === status.get('in_reply_to_id');
|
||||||
const connectReply = nextInReplyToId && nextInReplyToId === status.get('id');
|
const connectReply = nextInReplyToId && nextInReplyToId === status.get('id');
|
||||||
|
const matchedFilters = status.get('matched_filters');
|
||||||
|
|
||||||
if (featured) {
|
if (featured) {
|
||||||
prepend = (
|
prepend = (
|
||||||
|
@ -446,6 +433,20 @@ class Status extends ImmutablePureComponent {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const expanded = (!matchedFilters || this.state.showDespiteFilter) && (!status.get('hidden') || status.get('spoiler_text').length === 0);
|
||||||
|
|
||||||
|
if (hidden) {
|
||||||
|
return (
|
||||||
|
<HotKeys handlers={handlers} tabIndex={unfocusable ? null : -1}>
|
||||||
|
<div ref={this.handleRef} className={classNames('status__wrapper', { focusable: !this.props.muted })} tabIndex={unfocusable ? null : 0}>
|
||||||
|
<span>{status.getIn(['account', 'display_name']) || status.getIn(['account', 'username'])}</span>
|
||||||
|
{status.get('spoiler_text').length > 0 && (<span>{status.get('spoiler_text')}</span>)}
|
||||||
|
{expanded && <span>{status.get('content')}</span>}
|
||||||
|
</div>
|
||||||
|
</HotKeys>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (pictureInPicture.get('inUse')) {
|
if (pictureInPicture.get('inUse')) {
|
||||||
media = <PictureInPicturePlaceholder aspectRatio={this.getAttachmentAspectRatio()} />;
|
media = <PictureInPicturePlaceholder aspectRatio={this.getAttachmentAspectRatio()} />;
|
||||||
} else if (status.get('media_attachments').size > 0) {
|
} else if (status.get('media_attachments').size > 0) {
|
||||||
|
|
|
@ -7,16 +7,17 @@ export const MostUsedHashtag: React.FC<{
|
||||||
}> = ({ data }) => {
|
}> = ({ data }) => {
|
||||||
const hashtag = data[0];
|
const hashtag = data[0];
|
||||||
|
|
||||||
if (!hashtag) {
|
|
||||||
return (
|
|
||||||
<div className='annual-report__bento__box annual-report__summary__most-used-hashtag' />
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='annual-report__bento__box annual-report__summary__most-used-hashtag'>
|
<div className='annual-report__bento__box annual-report__summary__most-used-hashtag'>
|
||||||
<div className='annual-report__summary__most-used-hashtag__hashtag'>
|
<div className='annual-report__summary__most-used-hashtag__hashtag'>
|
||||||
#{hashtag.name}
|
{hashtag ? (
|
||||||
|
<>#{hashtag.name}</>
|
||||||
|
) : (
|
||||||
|
<FormattedMessage
|
||||||
|
id='annual_report.summary.most_used_hashtag.none'
|
||||||
|
defaultMessage='None'
|
||||||
|
/>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
<div className='annual-report__summary__most-used-hashtag__label'>
|
<div className='annual-report__summary__most-used-hashtag__label'>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
|
|
|
@ -22,9 +22,9 @@ export const Percentile: React.FC<{
|
||||||
percentage: () => (
|
percentage: () => (
|
||||||
<div className='annual-report__summary__percentile__number'>
|
<div className='annual-report__summary__percentile__number'>
|
||||||
<FormattedNumber
|
<FormattedNumber
|
||||||
value={percentile / 100}
|
value={Math.min(percentile, 99) / 100}
|
||||||
style='percent'
|
style='percent'
|
||||||
maximumFractionDigits={1}
|
maximumFractionDigits={percentile < 1 ? 1 : 0}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
),
|
),
|
||||||
|
|
|
@ -482,7 +482,9 @@ class UI extends PureComponent {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
handleHotkeyBack = () => {
|
handleHotkeyBack = e => {
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
const { history } = this.props;
|
const { history } = this.props;
|
||||||
|
|
||||||
if (history.location?.state?.fromMastodon) {
|
if (history.location?.state?.fromMastodon) {
|
||||||
|
|
|
@ -86,6 +86,7 @@
|
||||||
"alert.unexpected.title": "المعذرة!",
|
"alert.unexpected.title": "المعذرة!",
|
||||||
"alt_text_badge.title": "نص بديل",
|
"alt_text_badge.title": "نص بديل",
|
||||||
"announcement.announcement": "إعلان",
|
"announcement.announcement": "إعلان",
|
||||||
|
"annual_report.summary.archetype.booster": "The cool-hunter",
|
||||||
"attachments_list.unprocessed": "(غير معالَج)",
|
"attachments_list.unprocessed": "(غير معالَج)",
|
||||||
"audio.hide": "إخفاء المقطع الصوتي",
|
"audio.hide": "إخفاء المقطع الصوتي",
|
||||||
"block_modal.remote_users_caveat": "سوف نطلب من الخادم {domain} أن يحترم قرارك، لكن الالتزام غير مضمون لأن بعض الخواديم قد تتعامل مع نصوص الكتل بشكل مختلف. قد تظل المنشورات العامة مرئية للمستخدمين غير المسجلين الدخول.",
|
"block_modal.remote_users_caveat": "سوف نطلب من الخادم {domain} أن يحترم قرارك، لكن الالتزام غير مضمون لأن بعض الخواديم قد تتعامل مع نصوص الكتل بشكل مختلف. قد تظل المنشورات العامة مرئية للمستخدمين غير المسجلين الدخول.",
|
||||||
|
|
|
@ -154,7 +154,7 @@
|
||||||
"compose_form.hashtag_warning": "Гэты допіс не будзе паказаны пад аніякім хэштэгам, бо ён не публічны. Толькі публічныя допісы можна знайсці па хэштэгу.",
|
"compose_form.hashtag_warning": "Гэты допіс не будзе паказаны пад аніякім хэштэгам, бо ён не публічны. Толькі публічныя допісы можна знайсці па хэштэгу.",
|
||||||
"compose_form.lock_disclaimer": "Ваш уліковы запіс не {locked}. Усе могуць падпісацца на вас, каб бачыць допісы толькі для падпісчыкаў.",
|
"compose_form.lock_disclaimer": "Ваш уліковы запіс не {locked}. Усе могуць падпісацца на вас, каб бачыць допісы толькі для падпісчыкаў.",
|
||||||
"compose_form.lock_disclaimer.lock": "закрыты",
|
"compose_form.lock_disclaimer.lock": "закрыты",
|
||||||
"compose_form.placeholder": "Што здарылася?",
|
"compose_form.placeholder": "Што ў вас новага?",
|
||||||
"compose_form.poll.duration": "Працягласць апытання",
|
"compose_form.poll.duration": "Працягласць апытання",
|
||||||
"compose_form.poll.multiple": "Множны выбар",
|
"compose_form.poll.multiple": "Множны выбар",
|
||||||
"compose_form.poll.option_placeholder": "Варыянт {number}",
|
"compose_form.poll.option_placeholder": "Варыянт {number}",
|
||||||
|
|
|
@ -87,6 +87,17 @@
|
||||||
"alert.unexpected.title": "Опаа!",
|
"alert.unexpected.title": "Опаа!",
|
||||||
"alt_text_badge.title": "Алтернативен текст",
|
"alt_text_badge.title": "Алтернативен текст",
|
||||||
"announcement.announcement": "Оповестяване",
|
"announcement.announcement": "Оповестяване",
|
||||||
|
"annual_report.summary.archetype.lurker": "Дебнещото",
|
||||||
|
"annual_report.summary.archetype.oracle": "Оракул",
|
||||||
|
"annual_report.summary.archetype.pollster": "Анкетьорче",
|
||||||
|
"annual_report.summary.archetype.replier": "Социална пеперуда",
|
||||||
|
"annual_report.summary.followers.followers": "последователи",
|
||||||
|
"annual_report.summary.followers.total": "{count} общо",
|
||||||
|
"annual_report.summary.highlighted_post.by_favourites": "най-правено като любима публикация",
|
||||||
|
"annual_report.summary.most_used_app.most_used_app": "най-употребявано приложение",
|
||||||
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "най-употребяван хаштаг",
|
||||||
|
"annual_report.summary.new_posts.new_posts": "нови публикации",
|
||||||
|
"annual_report.summary.thanks": "Благодарим, че сте част от Mastodon!",
|
||||||
"attachments_list.unprocessed": "(необработено)",
|
"attachments_list.unprocessed": "(необработено)",
|
||||||
"audio.hide": "Скриване на звука",
|
"audio.hide": "Скриване на звука",
|
||||||
"block_modal.remote_users_caveat": "Ще поискаме сървърът {domain} да почита решението ви. Съгласието обаче не се гарантира откак някои сървъри могат да боравят с блоковете по различен начин. Обществените публикации още може да се виждат от невлезли в системата потребители.",
|
"block_modal.remote_users_caveat": "Ще поискаме сървърът {domain} да почита решението ви. Съгласието обаче не се гарантира откак някои сървъри могат да боравят с блоковете по различен начин. Обществените публикации още може да се виждат от невлезли в системата потребители.",
|
||||||
|
@ -158,6 +169,7 @@
|
||||||
"compose_form.poll.duration": "Времетраене на анкетата",
|
"compose_form.poll.duration": "Времетраене на анкетата",
|
||||||
"compose_form.poll.multiple": "Множествен избор",
|
"compose_form.poll.multiple": "Множествен избор",
|
||||||
"compose_form.poll.option_placeholder": "Избор {number}",
|
"compose_form.poll.option_placeholder": "Избор {number}",
|
||||||
|
"compose_form.poll.single": "Единичен избор",
|
||||||
"compose_form.poll.switch_to_multiple": "Промяна на анкетата, за да се позволят множество възможни избора",
|
"compose_form.poll.switch_to_multiple": "Промяна на анкетата, за да се позволят множество възможни избора",
|
||||||
"compose_form.poll.switch_to_single": "Промяна на анкетата, за да се позволи един възможен избор",
|
"compose_form.poll.switch_to_single": "Промяна на анкетата, за да се позволи един възможен избор",
|
||||||
"compose_form.poll.type": "Стил",
|
"compose_form.poll.type": "Стил",
|
||||||
|
@ -195,6 +207,8 @@
|
||||||
"confirmations.unfollow.message": "Наистина ли искате да не следвате {name}?",
|
"confirmations.unfollow.message": "Наистина ли искате да не следвате {name}?",
|
||||||
"confirmations.unfollow.title": "Спирате ли да следвате потребителя?",
|
"confirmations.unfollow.title": "Спирате ли да следвате потребителя?",
|
||||||
"content_warning.hide": "Скриване на публ.",
|
"content_warning.hide": "Скриване на публ.",
|
||||||
|
"content_warning.show": "Нека се покаже",
|
||||||
|
"content_warning.show_more": "Показване на още",
|
||||||
"conversation.delete": "Изтриване на разговора",
|
"conversation.delete": "Изтриване на разговора",
|
||||||
"conversation.mark_as_read": "Маркиране като прочетено",
|
"conversation.mark_as_read": "Маркиране като прочетено",
|
||||||
"conversation.open": "Преглед на разговора",
|
"conversation.open": "Преглед на разговора",
|
||||||
|
@ -365,6 +379,9 @@
|
||||||
"home.pending_critical_update.link": "Преглед на обновяванията",
|
"home.pending_critical_update.link": "Преглед на обновяванията",
|
||||||
"home.pending_critical_update.title": "Налично критично обновяване на сигурността!",
|
"home.pending_critical_update.title": "Налично критично обновяване на сигурността!",
|
||||||
"home.show_announcements": "Показване на оповестяванията",
|
"home.show_announcements": "Показване на оповестяванията",
|
||||||
|
"ignore_notifications_modal.disclaimer": "Mastodon не може да осведоми потребители, че сте пренебрегнали известията им. Пренебрегването на известията няма да спре самите съобщения да не бъдат изпращани.",
|
||||||
|
"ignore_notifications_modal.filter_to_act_users": "Вие все още ще може да приемате, отхвърляте или докладвате потребители",
|
||||||
|
"ignore_notifications_modal.filter_to_avoid_confusion": "Прецеждането помага за избягване на възможно объркване",
|
||||||
"interaction_modal.description.favourite": "Имайки акаунт в Mastodon, може да сложите тази публикации в любими, за да позволите на автора да узнае, че я цените и да я запазите за по-късно.",
|
"interaction_modal.description.favourite": "Имайки акаунт в Mastodon, може да сложите тази публикации в любими, за да позволите на автора да узнае, че я цените и да я запазите за по-късно.",
|
||||||
"interaction_modal.description.follow": "С акаунт в Mastodon може да последвате {name}, за да получавате публикациите от този акаунт в началния си инфоканал.",
|
"interaction_modal.description.follow": "С акаунт в Mastodon може да последвате {name}, за да получавате публикациите от този акаунт в началния си инфоканал.",
|
||||||
"interaction_modal.description.reblog": "С акаунт в Mastodon може да подсилите тази публикация, за да я споделите с последователите си.",
|
"interaction_modal.description.reblog": "С акаунт в Mastodon може да подсилите тази публикация, за да я споделите с последователите си.",
|
||||||
|
@ -380,6 +397,7 @@
|
||||||
"interaction_modal.title.follow": "Последване на {name}",
|
"interaction_modal.title.follow": "Последване на {name}",
|
||||||
"interaction_modal.title.reblog": "Подсилване на публикацията на {name}",
|
"interaction_modal.title.reblog": "Подсилване на публикацията на {name}",
|
||||||
"interaction_modal.title.reply": "Отговаряне на публикацията на {name}",
|
"interaction_modal.title.reply": "Отговаряне на публикацията на {name}",
|
||||||
|
"interaction_modal.title.vote": "Гласувайте в анкетата на {name}",
|
||||||
"intervals.full.days": "{number, plural, one {# ден} other {# дни}}",
|
"intervals.full.days": "{number, plural, one {# ден} other {# дни}}",
|
||||||
"intervals.full.hours": "{number, plural, one {# час} other {# часа}}",
|
"intervals.full.hours": "{number, plural, one {# час} other {# часа}}",
|
||||||
"intervals.full.minutes": "{number, plural, one {# минута} other {# минути}}",
|
"intervals.full.minutes": "{number, plural, one {# минута} other {# минути}}",
|
||||||
|
@ -420,6 +438,8 @@
|
||||||
"lightbox.close": "Затваряне",
|
"lightbox.close": "Затваряне",
|
||||||
"lightbox.next": "Напред",
|
"lightbox.next": "Напред",
|
||||||
"lightbox.previous": "Назад",
|
"lightbox.previous": "Назад",
|
||||||
|
"lightbox.zoom_in": "Увеличение до действителната големина",
|
||||||
|
"lightbox.zoom_out": "Увеличение до побиране",
|
||||||
"limited_account_hint.action": "Показване на профила въпреки това",
|
"limited_account_hint.action": "Показване на профила въпреки това",
|
||||||
"limited_account_hint.title": "Този профил е бил скрит от модераторите на {domain}.",
|
"limited_account_hint.title": "Този профил е бил скрит от модераторите на {domain}.",
|
||||||
"link_preview.author": "От {name}",
|
"link_preview.author": "От {name}",
|
||||||
|
@ -441,6 +461,7 @@
|
||||||
"lists.subheading": "Вашите списъци",
|
"lists.subheading": "Вашите списъци",
|
||||||
"load_pending": "{count, plural, one {# нов елемент} other {# нови елемента}}",
|
"load_pending": "{count, plural, one {# нов елемент} other {# нови елемента}}",
|
||||||
"loading_indicator.label": "Зареждане…",
|
"loading_indicator.label": "Зареждане…",
|
||||||
|
"media_gallery.hide": "Скриване",
|
||||||
"moved_to_account_banner.text": "Вашият акаунт {disabledAccount} сега е изключен, защото се преместихте в {movedToAccount}.",
|
"moved_to_account_banner.text": "Вашият акаунт {disabledAccount} сега е изключен, защото се преместихте в {movedToAccount}.",
|
||||||
"mute_modal.hide_from_notifications": "Скриване от известията",
|
"mute_modal.hide_from_notifications": "Скриване от известията",
|
||||||
"mute_modal.hide_options": "Скриване на възможностите",
|
"mute_modal.hide_options": "Скриване на възможностите",
|
||||||
|
@ -489,6 +510,7 @@
|
||||||
"notification.favourite": "{name} направи любима публикацията ви",
|
"notification.favourite": "{name} направи любима публикацията ви",
|
||||||
"notification.favourite.name_and_others_with_link": "{name} и <a>{count, plural, one {# друг} other {# други}}</a> направиха любима ваша публикация",
|
"notification.favourite.name_and_others_with_link": "{name} и <a>{count, plural, one {# друг} other {# други}}</a> направиха любима ваша публикация",
|
||||||
"notification.follow": "{name} ви последва",
|
"notification.follow": "{name} ви последва",
|
||||||
|
"notification.follow.name_and_others": "{name} и <a>{count, plural, one {# друг} other {# други}}</a> ви последваха",
|
||||||
"notification.follow_request": "{name} поиска да ви последва",
|
"notification.follow_request": "{name} поиска да ви последва",
|
||||||
"notification.follow_request.name_and_others": "{name} и {count, plural, one {# друг} other {# други}} поискаха да ви последват",
|
"notification.follow_request.name_and_others": "{name} и {count, plural, one {# друг} other {# други}} поискаха да ви последват",
|
||||||
"notification.label.mention": "Споменаване",
|
"notification.label.mention": "Споменаване",
|
||||||
|
@ -496,6 +518,7 @@
|
||||||
"notification.label.private_reply": "Личен отговор",
|
"notification.label.private_reply": "Личен отговор",
|
||||||
"notification.label.reply": "Отговор",
|
"notification.label.reply": "Отговор",
|
||||||
"notification.mention": "Споменаване",
|
"notification.mention": "Споменаване",
|
||||||
|
"notification.mentioned_you": "{name} ви спомена",
|
||||||
"notification.moderation-warning.learn_more": "Научете повече",
|
"notification.moderation-warning.learn_more": "Научете повече",
|
||||||
"notification.moderation_warning": "Получихте предупреждение за модериране",
|
"notification.moderation_warning": "Получихте предупреждение за модериране",
|
||||||
"notification.moderation_warning.action_delete_statuses": "Някои от публикациите ви са премахнати.",
|
"notification.moderation_warning.action_delete_statuses": "Някои от публикациите ви са премахнати.",
|
||||||
|
@ -752,6 +775,7 @@
|
||||||
"status.bookmark": "Отмятане",
|
"status.bookmark": "Отмятане",
|
||||||
"status.cancel_reblog_private": "Край на подсилването",
|
"status.cancel_reblog_private": "Край на подсилването",
|
||||||
"status.cannot_reblog": "Публикацията не може да се подсилва",
|
"status.cannot_reblog": "Публикацията не може да се подсилва",
|
||||||
|
"status.continued_thread": "Продължена нишка",
|
||||||
"status.copy": "Копиране на връзката към публикация",
|
"status.copy": "Копиране на връзката към публикация",
|
||||||
"status.delete": "Изтриване",
|
"status.delete": "Изтриване",
|
||||||
"status.detailed_status": "Подробен изглед на разговора",
|
"status.detailed_status": "Подробен изглед на разговора",
|
||||||
|
@ -760,6 +784,7 @@
|
||||||
"status.edit": "Редактиране",
|
"status.edit": "Редактиране",
|
||||||
"status.edited": "Последно редактирано на {date}",
|
"status.edited": "Последно редактирано на {date}",
|
||||||
"status.edited_x_times": "Редактирано {count, plural,one {{count} път} other {{count} пъти}}",
|
"status.edited_x_times": "Редактирано {count, plural,one {{count} път} other {{count} пъти}}",
|
||||||
|
"status.embed": "Вземане на кода за вграждане",
|
||||||
"status.favourite": "Любимо",
|
"status.favourite": "Любимо",
|
||||||
"status.favourites": "{count, plural, one {любимо} other {любими}}",
|
"status.favourites": "{count, plural, one {любимо} other {любими}}",
|
||||||
"status.filter": "Филтриране на публ.",
|
"status.filter": "Филтриране на публ.",
|
||||||
|
@ -784,6 +809,7 @@
|
||||||
"status.reblogs.empty": "Още никого не е подсилвал публикацията. Подсилващият ще се покаже тук.",
|
"status.reblogs.empty": "Още никого не е подсилвал публикацията. Подсилващият ще се покаже тук.",
|
||||||
"status.redraft": "Изтриване и преработване",
|
"status.redraft": "Изтриване и преработване",
|
||||||
"status.remove_bookmark": "Премахване на отметката",
|
"status.remove_bookmark": "Премахване на отметката",
|
||||||
|
"status.replied_in_thread": "Отговорено в нишката",
|
||||||
"status.replied_to": "В отговор до {name}",
|
"status.replied_to": "В отговор до {name}",
|
||||||
"status.reply": "Отговор",
|
"status.reply": "Отговор",
|
||||||
"status.replyAll": "Отговор на нишка",
|
"status.replyAll": "Отговор на нишка",
|
||||||
|
@ -821,6 +847,7 @@
|
||||||
"upload_error.poll": "Качването на файлове не е позволено с анкети.",
|
"upload_error.poll": "Качването на файлове не е позволено с анкети.",
|
||||||
"upload_form.audio_description": "Опишете за хора, които са глухи или трудно чуват",
|
"upload_form.audio_description": "Опишете за хора, които са глухи или трудно чуват",
|
||||||
"upload_form.description": "Опишете за хора, които са слепи или имат слабо зрение",
|
"upload_form.description": "Опишете за хора, които са слепи или имат слабо зрение",
|
||||||
|
"upload_form.drag_and_drop.instructions": "Натиснете интервал или enter, за да подберете мултимедийно прикачване. Провлачвайки, ползвайте клавишите със стрелки, за да премествате мултимедията във всяка дадена посока. Натиснете пак интервал или enter, за да се стовари мултимедийното прикачване в новото си положение или натиснете Esc за отмяна.",
|
||||||
"upload_form.edit": "Редактиране",
|
"upload_form.edit": "Редактиране",
|
||||||
"upload_form.thumbnail": "Промяна на миниобраза",
|
"upload_form.thumbnail": "Промяна на миниобраза",
|
||||||
"upload_form.video_description": "Опишете за хора, които са глухи или трудно чуват, слепи или имат слабо зрение",
|
"upload_form.video_description": "Опишете за хора, които са глухи или трудно чуват, слепи или имат слабо зрение",
|
||||||
|
|
|
@ -97,6 +97,7 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "de {name}",
|
"annual_report.summary.highlighted_post.possessive": "de {name}",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "l'aplicació més utilitzada",
|
"annual_report.summary.most_used_app.most_used_app": "l'aplicació més utilitzada",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "l'etiqueta més utilitzada",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "l'etiqueta més utilitzada",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Cap",
|
||||||
"annual_report.summary.new_posts.new_posts": "publicacions noves",
|
"annual_report.summary.new_posts.new_posts": "publicacions noves",
|
||||||
"annual_report.summary.thanks": "Gràcies per formar part de Mastodon!",
|
"annual_report.summary.thanks": "Gràcies per formar part de Mastodon!",
|
||||||
"attachments_list.unprocessed": "(sense processar)",
|
"attachments_list.unprocessed": "(sense processar)",
|
||||||
|
|
|
@ -87,11 +87,30 @@
|
||||||
"alert.unexpected.title": "Wps!",
|
"alert.unexpected.title": "Wps!",
|
||||||
"alt_text_badge.title": "Testun Amgen",
|
"alt_text_badge.title": "Testun Amgen",
|
||||||
"announcement.announcement": "Cyhoeddiad",
|
"announcement.announcement": "Cyhoeddiad",
|
||||||
|
"annual_report.summary.archetype.booster": "Y hyrwyddwr",
|
||||||
|
"annual_report.summary.archetype.lurker": "Yr arsylwr",
|
||||||
|
"annual_report.summary.archetype.oracle": "Yr oracl",
|
||||||
|
"annual_report.summary.archetype.pollster": "Yr arholwr",
|
||||||
|
"annual_report.summary.archetype.replier": "Y sbardunwr",
|
||||||
|
"annual_report.summary.followers.followers": "dilynwyr",
|
||||||
|
"annual_report.summary.followers.total": "{count} cyfanswm",
|
||||||
|
"annual_report.summary.here_it_is": "Dyma eich {year} yn gryno:",
|
||||||
|
"annual_report.summary.highlighted_post.by_favourites": "postiad wedi'i ffefrynu fwyaf",
|
||||||
|
"annual_report.summary.highlighted_post.by_reblogs": "postiad wedi'i hybu fwyaf",
|
||||||
|
"annual_report.summary.highlighted_post.by_replies": "postiad gyda'r ymatebion mwyaf",
|
||||||
|
"annual_report.summary.highlighted_post.possessive": "{name}",
|
||||||
|
"annual_report.summary.most_used_app.most_used_app": "ap a ddefnyddiwyd fwyaf",
|
||||||
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "hashnod a ddefnyddiwyd fwyaf",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Dim",
|
||||||
|
"annual_report.summary.new_posts.new_posts": "postiadau newydd",
|
||||||
|
"annual_report.summary.percentile.text": "<topLabel>Rydych chi yn y </topLabel><percentage></percentage><bottomLabel>mwyaf o ddefnyddwyr Mastodon.</bottomLabel>",
|
||||||
|
"annual_report.summary.percentile.we_wont_tell_bernie": "Ni fyddwn yn dweud wrth Bernie.",
|
||||||
|
"annual_report.summary.thanks": "Diolch am fod yn rhan o Mastodon!",
|
||||||
"attachments_list.unprocessed": "(heb eu prosesu)",
|
"attachments_list.unprocessed": "(heb eu prosesu)",
|
||||||
"audio.hide": "Cuddio sain",
|
"audio.hide": "Cuddio sain",
|
||||||
"block_modal.remote_users_caveat": "Byddwn yn gofyn i'r gweinydd {domain} barchu eich penderfyniad. Fodd bynnag, nid yw cydymffurfiad wedi'i warantu gan y gall rhai gweinyddwyr drin rhwystro mewn ffyrdd gwahanol. Mae'n bosibl y bydd postiadau cyhoeddus yn dal i fod yn weladwy i ddefnyddwyr nad ydynt wedi mewngofnodi.",
|
"block_modal.remote_users_caveat": "Byddwn yn gofyn i'r gweinydd {domain} barchu eich penderfyniad. Fodd bynnag, nid yw cydymffurfiad wedi'i warantu gan y gall rhai gweinyddwyr drin rhwystro mewn ffyrdd gwahanol. Mae'n bosibl y bydd postiadau cyhoeddus yn dal i fod yn weladwy i ddefnyddwyr nad ydynt wedi mewngofnodi.",
|
||||||
"block_modal.show_less": "Dangos llai",
|
"block_modal.show_less": "Dangos llai",
|
||||||
"block_modal.show_more": "Dangos mwy",
|
"block_modal.show_more": "Dangos rhagor",
|
||||||
"block_modal.they_cant_mention": "Nid ydynt yn gallu eich crybwyll na'ch dilyn.",
|
"block_modal.they_cant_mention": "Nid ydynt yn gallu eich crybwyll na'ch dilyn.",
|
||||||
"block_modal.they_cant_see_posts": "Nid ydynt yn gallu gweld eich postiadau ac ni fyddwch yn gweld eu rhai hwy.",
|
"block_modal.they_cant_see_posts": "Nid ydynt yn gallu gweld eich postiadau ac ni fyddwch yn gweld eu rhai hwy.",
|
||||||
"block_modal.they_will_know": "Gallant weld eu bod wedi'u rhwystro.",
|
"block_modal.they_will_know": "Gallant weld eu bod wedi'u rhwystro.",
|
||||||
|
@ -163,9 +182,9 @@
|
||||||
"compose_form.poll.switch_to_single": "Newid pleidlais i gyfyngu i un dewis",
|
"compose_form.poll.switch_to_single": "Newid pleidlais i gyfyngu i un dewis",
|
||||||
"compose_form.poll.type": "Arddull",
|
"compose_form.poll.type": "Arddull",
|
||||||
"compose_form.publish": "Postiad",
|
"compose_form.publish": "Postiad",
|
||||||
"compose_form.publish_form": "Cyhoeddi",
|
"compose_form.publish_form": "Postiad newydd",
|
||||||
"compose_form.reply": "Ateb",
|
"compose_form.reply": "Ateb",
|
||||||
"compose_form.save_changes": "Diweddariad",
|
"compose_form.save_changes": "Diweddaru",
|
||||||
"compose_form.spoiler.marked": "Dileu rhybudd cynnwys",
|
"compose_form.spoiler.marked": "Dileu rhybudd cynnwys",
|
||||||
"compose_form.spoiler.unmarked": "Ychwanegu rhybudd cynnwys",
|
"compose_form.spoiler.unmarked": "Ychwanegu rhybudd cynnwys",
|
||||||
"compose_form.spoiler_placeholder": "Rhybudd cynnwys (dewisol)",
|
"compose_form.spoiler_placeholder": "Rhybudd cynnwys (dewisol)",
|
||||||
|
@ -508,6 +527,8 @@
|
||||||
"notification.admin.report_statuses_other": "Adroddodd {name} {target}",
|
"notification.admin.report_statuses_other": "Adroddodd {name} {target}",
|
||||||
"notification.admin.sign_up": "Cofrestrodd {name}",
|
"notification.admin.sign_up": "Cofrestrodd {name}",
|
||||||
"notification.admin.sign_up.name_and_others": "Cofrestrodd {name} {count, plural, one {ac # arall} other {a # arall}}",
|
"notification.admin.sign_up.name_and_others": "Cofrestrodd {name} {count, plural, one {ac # arall} other {a # arall}}",
|
||||||
|
"notification.annual_report.message": "Mae eich #Wrapstodon {year} yn aros i chi! Gwelwch eich uchafbwyntiau ac amseroedd i'w cofio o'r flwyddyn hon ar Mastodon!",
|
||||||
|
"notification.annual_report.view": "Gweld #Wrapstodon",
|
||||||
"notification.favourite": "Ffafriodd {name} eich postiad",
|
"notification.favourite": "Ffafriodd {name} eich postiad",
|
||||||
"notification.favourite.name_and_others_with_link": "Ffafriodd {name} a <a>{count, plural, one {# arall} other {# arall}}</a> eich postiad",
|
"notification.favourite.name_and_others_with_link": "Ffafriodd {name} a <a>{count, plural, one {# arall} other {# arall}}</a> eich postiad",
|
||||||
"notification.follow": "Dilynodd {name} chi",
|
"notification.follow": "Dilynodd {name} chi",
|
||||||
|
|
|
@ -87,6 +87,25 @@
|
||||||
"alert.unexpected.title": "Ups!",
|
"alert.unexpected.title": "Ups!",
|
||||||
"alt_text_badge.title": "Alt text",
|
"alt_text_badge.title": "Alt text",
|
||||||
"announcement.announcement": "Bekendtgørelse",
|
"announcement.announcement": "Bekendtgørelse",
|
||||||
|
"annual_report.summary.archetype.booster": "Cool-hunter",
|
||||||
|
"annual_report.summary.archetype.lurker": "Lurker",
|
||||||
|
"annual_report.summary.archetype.oracle": "Oracle",
|
||||||
|
"annual_report.summary.archetype.pollster": "Pollster",
|
||||||
|
"annual_report.summary.archetype.replier": "Social butterfly",
|
||||||
|
"annual_report.summary.followers.followers": "følgere",
|
||||||
|
"annual_report.summary.followers.total": "{count} i alt",
|
||||||
|
"annual_report.summary.here_it_is": "Her er {year} i sammendrag:",
|
||||||
|
"annual_report.summary.highlighted_post.by_favourites": "mest favoritmarkerede indlæg",
|
||||||
|
"annual_report.summary.highlighted_post.by_reblogs": "mest boostede indlæg",
|
||||||
|
"annual_report.summary.highlighted_post.by_replies": "indlæg med flest svar",
|
||||||
|
"annual_report.summary.highlighted_post.possessive": "{name}s",
|
||||||
|
"annual_report.summary.most_used_app.most_used_app": "mest benyttede app",
|
||||||
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "mest benyttede hashtag",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Intet",
|
||||||
|
"annual_report.summary.new_posts.new_posts": "nye indlæg",
|
||||||
|
"annual_report.summary.percentile.text": "<topLabel>Det betyder, at man er i top</topLabel><percentage></percentage><bottomLabel>af Mastodon-brugere.</bottomLabel>",
|
||||||
|
"annual_report.summary.percentile.we_wont_tell_bernie": "Vi fortæller det ikke til Bernie.",
|
||||||
|
"annual_report.summary.thanks": "Tak for at være en del af Mastodon!",
|
||||||
"attachments_list.unprocessed": "(ubehandlet)",
|
"attachments_list.unprocessed": "(ubehandlet)",
|
||||||
"audio.hide": "Skjul lyd",
|
"audio.hide": "Skjul lyd",
|
||||||
"block_modal.remote_users_caveat": "Serveren {domain} vil blive bedt om at respektere din beslutning. Overholdelse er dog ikke garanteret, da nogle servere kan håndtere blokke forskelligt. Offentlige indlæg kan stadig være synlige for ikke-indloggede brugere.",
|
"block_modal.remote_users_caveat": "Serveren {domain} vil blive bedt om at respektere din beslutning. Overholdelse er dog ikke garanteret, da nogle servere kan håndtere blokke forskelligt. Offentlige indlæg kan stadig være synlige for ikke-indloggede brugere.",
|
||||||
|
@ -158,6 +177,7 @@
|
||||||
"compose_form.poll.duration": "Afstemningens varighed",
|
"compose_form.poll.duration": "Afstemningens varighed",
|
||||||
"compose_form.poll.multiple": "Multivalg",
|
"compose_form.poll.multiple": "Multivalg",
|
||||||
"compose_form.poll.option_placeholder": "Valgmulighed {number}",
|
"compose_form.poll.option_placeholder": "Valgmulighed {number}",
|
||||||
|
"compose_form.poll.single": "Enkeltvalg",
|
||||||
"compose_form.poll.switch_to_multiple": "Ændr afstemning til flervalgstype",
|
"compose_form.poll.switch_to_multiple": "Ændr afstemning til flervalgstype",
|
||||||
"compose_form.poll.switch_to_single": "Ændr afstemning til enkeltvalgstype",
|
"compose_form.poll.switch_to_single": "Ændr afstemning til enkeltvalgstype",
|
||||||
"compose_form.poll.type": "Stil",
|
"compose_form.poll.type": "Stil",
|
||||||
|
@ -507,6 +527,8 @@
|
||||||
"notification.admin.report_statuses_other": "{name} anmeldte {target}",
|
"notification.admin.report_statuses_other": "{name} anmeldte {target}",
|
||||||
"notification.admin.sign_up": "{name} tilmeldte sig",
|
"notification.admin.sign_up": "{name} tilmeldte sig",
|
||||||
"notification.admin.sign_up.name_and_others": "{name} og {count, plural, one {# anden} other {# andre}} tilmeldte sig",
|
"notification.admin.sign_up.name_and_others": "{name} og {count, plural, one {# anden} other {# andre}} tilmeldte sig",
|
||||||
|
"notification.annual_report.message": "{year} #Wrapstodon venter! Afslør årets højdepunkter og mindeværdige øjeblikke på Mastodon!",
|
||||||
|
"notification.annual_report.view": "Vis #Wrapstodon",
|
||||||
"notification.favourite": "{name} favoritmarkerede dit indlæg",
|
"notification.favourite": "{name} favoritmarkerede dit indlæg",
|
||||||
"notification.favourite.name_and_others_with_link": "{name} og <a>{count, plural, one {# anden} other {# andre}}</a> gjorde dit indlæg til favorit",
|
"notification.favourite.name_and_others_with_link": "{name} og <a>{count, plural, one {# anden} other {# andre}}</a> gjorde dit indlæg til favorit",
|
||||||
"notification.follow": "{name} begyndte at følge dig",
|
"notification.follow": "{name} begyndte at følge dig",
|
||||||
|
|
|
@ -101,6 +101,7 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "{name}",
|
"annual_report.summary.highlighted_post.possessive": "{name}",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "am häufigsten verwendete App",
|
"annual_report.summary.most_used_app.most_used_app": "am häufigsten verwendete App",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "am häufigsten verwendeter Hashtag",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "am häufigsten verwendeter Hashtag",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Kein",
|
||||||
"annual_report.summary.new_posts.new_posts": "neue Beiträge",
|
"annual_report.summary.new_posts.new_posts": "neue Beiträge",
|
||||||
"annual_report.summary.percentile.text": "<topLabel>Damit gehörst du zu den obersten</topLabel><percentage></percentage><bottomLabel>der Mastodon-Nutzer*innen.</bottomLabel>",
|
"annual_report.summary.percentile.text": "<topLabel>Damit gehörst du zu den obersten</topLabel><percentage></percentage><bottomLabel>der Mastodon-Nutzer*innen.</bottomLabel>",
|
||||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Wir werden Bernie nichts verraten.",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "Wir werden Bernie nichts verraten.",
|
||||||
|
@ -525,15 +526,15 @@
|
||||||
"notification.admin.report_statuses": "{name} meldete {target} wegen {category}",
|
"notification.admin.report_statuses": "{name} meldete {target} wegen {category}",
|
||||||
"notification.admin.report_statuses_other": "{name} meldete {target}",
|
"notification.admin.report_statuses_other": "{name} meldete {target}",
|
||||||
"notification.admin.sign_up": "{name} registrierte sich",
|
"notification.admin.sign_up": "{name} registrierte sich",
|
||||||
"notification.admin.sign_up.name_and_others": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}} registrierten sich",
|
"notification.admin.sign_up.name_and_others": "{name} und {count, plural, one {# weiteres Profil} other {# weitere Profile}} registrierten sich",
|
||||||
"notification.annual_report.message": "Dein {year} #Wrapstodon erwartet dich! Lass deine Highlights und unvergesslichen Momente auf Mastodon erneut aufleben!",
|
"notification.annual_report.message": "Dein {year} #Wrapstodon erwartet dich! Lass deine Highlights und unvergesslichen Momente auf Mastodon erneut aufleben!",
|
||||||
"notification.annual_report.view": "#Wrapstodon ansehen",
|
"notification.annual_report.view": "#Wrapstodon ansehen",
|
||||||
"notification.favourite": "{name} favorisierte deinen Beitrag",
|
"notification.favourite": "{name} favorisierte deinen Beitrag",
|
||||||
"notification.favourite.name_and_others_with_link": "{name} und <a>{count, plural, one {# weitere Person} other {# weitere Personen}}</a> favorisierten deinen Beitrag",
|
"notification.favourite.name_and_others_with_link": "{name} und <a>{count, plural, one {# weiteres Profil} other {# weitere Profile}}</a> favorisierten deinen Beitrag",
|
||||||
"notification.follow": "{name} folgt dir",
|
"notification.follow": "{name} folgt dir",
|
||||||
"notification.follow.name_and_others": "{name} und <a>{count, plural, one {# weitere Person} other {# weitere Personen}}</a> folgen dir",
|
"notification.follow.name_and_others": "{name} und <a>{count, plural, one {# weiteres Profil} other {# weitere Profile}}</a> folgen dir",
|
||||||
"notification.follow_request": "{name} möchte dir folgen",
|
"notification.follow_request": "{name} möchte dir folgen",
|
||||||
"notification.follow_request.name_and_others": "{name} und {count, plural, one {# weitere Person} other {# weitere Personen}} möchten dir folgen",
|
"notification.follow_request.name_and_others": "{name} und {count, plural, one {# weiteres Profil} other {# weitere Profile}} möchten dir folgen",
|
||||||
"notification.label.mention": "Erwähnung",
|
"notification.label.mention": "Erwähnung",
|
||||||
"notification.label.private_mention": "Private Erwähnung",
|
"notification.label.private_mention": "Private Erwähnung",
|
||||||
"notification.label.private_reply": "Private Antwort",
|
"notification.label.private_reply": "Private Antwort",
|
||||||
|
@ -552,7 +553,7 @@
|
||||||
"notification.own_poll": "Deine Umfrage ist beendet",
|
"notification.own_poll": "Deine Umfrage ist beendet",
|
||||||
"notification.poll": "Eine Umfrage, an der du teilgenommen hast, ist beendet",
|
"notification.poll": "Eine Umfrage, an der du teilgenommen hast, ist beendet",
|
||||||
"notification.reblog": "{name} teilte deinen Beitrag",
|
"notification.reblog": "{name} teilte deinen Beitrag",
|
||||||
"notification.reblog.name_and_others_with_link": "{name} und <a>{count, plural, one {# weitere Person} other {# weitere Personen}}</a> teilten deinen Beitrag",
|
"notification.reblog.name_and_others_with_link": "{name} und <a>{count, plural, one {# weiteres Profil} other {# weitere Profile}}</a> teilten deinen Beitrag",
|
||||||
"notification.relationships_severance_event": "Verbindungen mit {name} verloren",
|
"notification.relationships_severance_event": "Verbindungen mit {name} verloren",
|
||||||
"notification.relationships_severance_event.account_suspension": "Ein Admin von {from} hat {target} gesperrt. Du wirst von diesem Profil keine Updates mehr erhalten und auch nicht mit ihm interagieren können.",
|
"notification.relationships_severance_event.account_suspension": "Ein Admin von {from} hat {target} gesperrt. Du wirst von diesem Profil keine Updates mehr erhalten und auch nicht mit ihm interagieren können.",
|
||||||
"notification.relationships_severance_event.domain_block": "Ein Admin von {from} hat {target} blockiert – darunter {followersCount} deiner Follower und {followingCount, plural, one {# Konto, dem} other {# Konten, denen}} du folgst.",
|
"notification.relationships_severance_event.domain_block": "Ein Admin von {from} hat {target} blockiert – darunter {followersCount} deiner Follower und {followingCount, plural, one {# Konto, dem} other {# Konten, denen}} du folgst.",
|
||||||
|
|
|
@ -87,6 +87,24 @@
|
||||||
"alert.unexpected.title": "Ουπς!",
|
"alert.unexpected.title": "Ουπς!",
|
||||||
"alt_text_badge.title": "Εναλλακτικό κείμενο",
|
"alt_text_badge.title": "Εναλλακτικό κείμενο",
|
||||||
"announcement.announcement": "Ανακοίνωση",
|
"announcement.announcement": "Ανακοίνωση",
|
||||||
|
"annual_report.summary.archetype.booster": "Ο κυνηγός των φοβερών",
|
||||||
|
"annual_report.summary.archetype.lurker": "Ο διακριτικός",
|
||||||
|
"annual_report.summary.archetype.oracle": "Η Πυθία",
|
||||||
|
"annual_report.summary.archetype.pollster": "Ο δημοσκόπος",
|
||||||
|
"annual_report.summary.archetype.replier": "Η κοινωνική πεταλούδα",
|
||||||
|
"annual_report.summary.followers.followers": "ακόλουθοι",
|
||||||
|
"annual_report.summary.followers.total": "{count} συνολικά",
|
||||||
|
"annual_report.summary.here_it_is": "Εδώ είναι το {year} σου σε ανασκόπηση:",
|
||||||
|
"annual_report.summary.highlighted_post.by_favourites": "πιο αγαπημένη ανάρτηση",
|
||||||
|
"annual_report.summary.highlighted_post.by_reblogs": "πιο ενισχυμένη ανάρτηση",
|
||||||
|
"annual_report.summary.highlighted_post.by_replies": "ανάρτηση με τις περισσότερες απαντήσεις",
|
||||||
|
"annual_report.summary.highlighted_post.possessive": "του χρήστη {name}",
|
||||||
|
"annual_report.summary.most_used_app.most_used_app": "πιο χρησιμοποιημένη εφαρμογή",
|
||||||
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "πιο χρησιμοποιημένη ετικέτα",
|
||||||
|
"annual_report.summary.new_posts.new_posts": "νέες αναρτήσεις",
|
||||||
|
"annual_report.summary.percentile.text": "<topLabel>Αυτό σε βάζει στην κορυφή του </topLabel><percentage></percentage><bottomLabel>των χρηστών του Mastodon.</bottomLabel>",
|
||||||
|
"annual_report.summary.percentile.we_wont_tell_bernie": "Δεν θα το πούμε στον Bernie.",
|
||||||
|
"annual_report.summary.thanks": "Ευχαριστούμε που συμμετέχεις στο Mastodon!",
|
||||||
"attachments_list.unprocessed": "(μη επεξεργασμένο)",
|
"attachments_list.unprocessed": "(μη επεξεργασμένο)",
|
||||||
"audio.hide": "Απόκρυψη αρχείου ήχου",
|
"audio.hide": "Απόκρυψη αρχείου ήχου",
|
||||||
"block_modal.remote_users_caveat": "Θα ζητήσουμε από τον διακομιστή {domain} να σεβαστεί την απόφασή σου. Ωστόσο, η συμμόρφωση δεν είναι εγγυημένη δεδομένου ότι ορισμένοι διακομιστές ενδέχεται να χειρίζονται τους αποκλεισμούς διαφορετικά. Οι δημόσιες αναρτήσεις ενδέχεται να είναι ορατές σε μη συνδεδεμένους χρήστες.",
|
"block_modal.remote_users_caveat": "Θα ζητήσουμε από τον διακομιστή {domain} να σεβαστεί την απόφασή σου. Ωστόσο, η συμμόρφωση δεν είναι εγγυημένη δεδομένου ότι ορισμένοι διακομιστές ενδέχεται να χειρίζονται τους αποκλεισμούς διαφορετικά. Οι δημόσιες αναρτήσεις ενδέχεται να είναι ορατές σε μη συνδεδεμένους χρήστες.",
|
||||||
|
@ -158,6 +176,7 @@
|
||||||
"compose_form.poll.duration": "Διάρκεια δημοσκόπησης",
|
"compose_form.poll.duration": "Διάρκεια δημοσκόπησης",
|
||||||
"compose_form.poll.multiple": "Πολλαπλή επιλογή",
|
"compose_form.poll.multiple": "Πολλαπλή επιλογή",
|
||||||
"compose_form.poll.option_placeholder": "Επιλογή {number}",
|
"compose_form.poll.option_placeholder": "Επιλογή {number}",
|
||||||
|
"compose_form.poll.single": "Μονή επιλογή",
|
||||||
"compose_form.poll.switch_to_multiple": "Ενημέρωση δημοσκόπησης με πολλαπλές επιλογές",
|
"compose_form.poll.switch_to_multiple": "Ενημέρωση δημοσκόπησης με πολλαπλές επιλογές",
|
||||||
"compose_form.poll.switch_to_single": "Ενημέρωση δημοσκόπησης με μοναδική επιλογή",
|
"compose_form.poll.switch_to_single": "Ενημέρωση δημοσκόπησης με μοναδική επιλογή",
|
||||||
"compose_form.poll.type": "Στυλ",
|
"compose_form.poll.type": "Στυλ",
|
||||||
|
@ -196,6 +215,7 @@
|
||||||
"confirmations.unfollow.title": "Άρση ακολούθησης;",
|
"confirmations.unfollow.title": "Άρση ακολούθησης;",
|
||||||
"content_warning.hide": "Απόκρυψη ανάρτησης",
|
"content_warning.hide": "Απόκρυψη ανάρτησης",
|
||||||
"content_warning.show": "Εμφάνιση ούτως ή άλλως",
|
"content_warning.show": "Εμφάνιση ούτως ή άλλως",
|
||||||
|
"content_warning.show_more": "Εμφάνιση περισσότερων",
|
||||||
"conversation.delete": "Διαγραφή συζήτησης",
|
"conversation.delete": "Διαγραφή συζήτησης",
|
||||||
"conversation.mark_as_read": "Σήμανση ως αναγνωσμένο",
|
"conversation.mark_as_read": "Σήμανση ως αναγνωσμένο",
|
||||||
"conversation.open": "Προβολή συνομιλίας",
|
"conversation.open": "Προβολή συνομιλίας",
|
||||||
|
@ -304,6 +324,7 @@
|
||||||
"filter_modal.select_filter.subtitle": "Χρησιμοποιήστε μια υπάρχουσα κατηγορία ή δημιουργήστε μια νέα",
|
"filter_modal.select_filter.subtitle": "Χρησιμοποιήστε μια υπάρχουσα κατηγορία ή δημιουργήστε μια νέα",
|
||||||
"filter_modal.select_filter.title": "Φιλτράρισμα αυτής της ανάρτησης",
|
"filter_modal.select_filter.title": "Φιλτράρισμα αυτής της ανάρτησης",
|
||||||
"filter_modal.title.status": "Φιλτράρισμα μιας ανάρτησης",
|
"filter_modal.title.status": "Φιλτράρισμα μιας ανάρτησης",
|
||||||
|
"filter_warning.matches_filter": "Ταιριάζει με το φίλτρο “<span>{title}</span>”",
|
||||||
"filtered_notifications_banner.pending_requests": "Από {count, plural, =0 {κανένα} one {ένα άτομο} other {# άτομα}} που μπορεί να ξέρεις",
|
"filtered_notifications_banner.pending_requests": "Από {count, plural, =0 {κανένα} one {ένα άτομο} other {# άτομα}} που μπορεί να ξέρεις",
|
||||||
"filtered_notifications_banner.title": "Φιλτραρισμένες ειδοποιήσεις",
|
"filtered_notifications_banner.title": "Φιλτραρισμένες ειδοποιήσεις",
|
||||||
"firehose.all": "Όλα",
|
"firehose.all": "Όλα",
|
||||||
|
@ -383,9 +404,10 @@
|
||||||
"interaction_modal.description.follow": "Με έναν λογαριασμό Mastodon, μπορείς να ακολουθήσεις τον/την {name} ώστε να λαμβάνεις τις αναρτήσεις του/της στη δική σου ροή.",
|
"interaction_modal.description.follow": "Με έναν λογαριασμό Mastodon, μπορείς να ακολουθήσεις τον/την {name} ώστε να λαμβάνεις τις αναρτήσεις του/της στη δική σου ροή.",
|
||||||
"interaction_modal.description.reblog": "Με ένα λογαριασμό Mastodon, μπορείς να ενισχύσεις αυτή την ανάρτηση για να τη μοιραστείς με τους δικούς σου ακολούθους.",
|
"interaction_modal.description.reblog": "Με ένα λογαριασμό Mastodon, μπορείς να ενισχύσεις αυτή την ανάρτηση για να τη μοιραστείς με τους δικούς σου ακολούθους.",
|
||||||
"interaction_modal.description.reply": "Με ένα λογαριασμό Mastodon, μπορείς να απαντήσεις σε αυτή την ανάρτηση.",
|
"interaction_modal.description.reply": "Με ένα λογαριασμό Mastodon, μπορείς να απαντήσεις σε αυτή την ανάρτηση.",
|
||||||
"interaction_modal.login.action": "Take me home\nΠήγαινέ με στην αρχική σελίδα",
|
"interaction_modal.description.vote": "Με ένα λογαριασμό Mastodon, μπορείς να απαντήσεις σ' αυτή την ανάρτηση.",
|
||||||
|
"interaction_modal.login.action": "Πήγαινέ με στην αρχική σελίδα",
|
||||||
"interaction_modal.login.prompt": "Τομέας του οικιακού σου διακομιστή, πχ. mastodon.social",
|
"interaction_modal.login.prompt": "Τομέας του οικιακού σου διακομιστή, πχ. mastodon.social",
|
||||||
"interaction_modal.no_account_yet": "Not on Mastodon?\nΔεν είστε στο Mastodon;",
|
"interaction_modal.no_account_yet": "Δεν είστε στο Mastodon;",
|
||||||
"interaction_modal.on_another_server": "Σε διαφορετικό διακομιστή",
|
"interaction_modal.on_another_server": "Σε διαφορετικό διακομιστή",
|
||||||
"interaction_modal.on_this_server": "Σε αυτόν τον διακομιστή",
|
"interaction_modal.on_this_server": "Σε αυτόν τον διακομιστή",
|
||||||
"interaction_modal.sign_in": "Δεν είσαι συνδεδεμένος σε αυτόν το διακομιστή. Πού φιλοξενείται ο λογαριασμός σου;",
|
"interaction_modal.sign_in": "Δεν είσαι συνδεδεμένος σε αυτόν το διακομιστή. Πού φιλοξενείται ο λογαριασμός σου;",
|
||||||
|
@ -394,6 +416,7 @@
|
||||||
"interaction_modal.title.follow": "Ακολούθησε {name}",
|
"interaction_modal.title.follow": "Ακολούθησε {name}",
|
||||||
"interaction_modal.title.reblog": "Ενίσχυσε την ανάρτηση του {name}",
|
"interaction_modal.title.reblog": "Ενίσχυσε την ανάρτηση του {name}",
|
||||||
"interaction_modal.title.reply": "Απάντηση στην ανάρτηση του {name}",
|
"interaction_modal.title.reply": "Απάντηση στην ανάρτηση του {name}",
|
||||||
|
"interaction_modal.title.vote": "Ψήφισε στη δημοσκόπηση του χρήστη {name}",
|
||||||
"intervals.full.days": "{number, plural, one {# μέρα} other {# μέρες}}",
|
"intervals.full.days": "{number, plural, one {# μέρα} other {# μέρες}}",
|
||||||
"intervals.full.hours": "{number, plural, one {# ώρα} other {# ώρες}}",
|
"intervals.full.hours": "{number, plural, one {# ώρα} other {# ώρες}}",
|
||||||
"intervals.full.minutes": "{number, plural, one {# λεπτό} other {# λεπτά}}",
|
"intervals.full.minutes": "{number, plural, one {# λεπτό} other {# λεπτά}}",
|
||||||
|
@ -503,9 +526,12 @@
|
||||||
"notification.admin.report_statuses_other": "Ο χρήστης {name} ανέφερε τον χρήστη {target}",
|
"notification.admin.report_statuses_other": "Ο χρήστης {name} ανέφερε τον χρήστη {target}",
|
||||||
"notification.admin.sign_up": "{name} έχει εγγραφεί",
|
"notification.admin.sign_up": "{name} έχει εγγραφεί",
|
||||||
"notification.admin.sign_up.name_and_others": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}} έχουν εγγραφεί",
|
"notification.admin.sign_up.name_and_others": "{name} και {count, plural, one {# ακόμη} other {# ακόμη}} έχουν εγγραφεί",
|
||||||
|
"notification.annual_report.message": "Το #Wrapstodon {year} σε περιμένει! Αποκάλυψε τα στιγμιότυπα της χρονιάς και αξέχαστες στιγμές σου στο Mastodon!",
|
||||||
|
"notification.annual_report.view": "Προβολή #Wrapstodon",
|
||||||
"notification.favourite": "{name} favorited your post\n{name} προτίμησε την ανάρτηση σου",
|
"notification.favourite": "{name} favorited your post\n{name} προτίμησε την ανάρτηση σου",
|
||||||
"notification.favourite.name_and_others_with_link": "{name} και <a>{count, plural, one {# ακόμη} other {# ακόμη}}</a> αγάπησαν την ανάρτησή σου",
|
"notification.favourite.name_and_others_with_link": "{name} και <a>{count, plural, one {# ακόμη} other {# ακόμη}}</a> αγάπησαν την ανάρτησή σου",
|
||||||
"notification.follow": "Ο/Η {name} σε ακολούθησε",
|
"notification.follow": "Ο/Η {name} σε ακολούθησε",
|
||||||
|
"notification.follow.name_and_others": "Ο χρήστης {name} και <a>{count, plural, one {# ακόμη} other {# ακόμη}}</a> σε ακολούθησαν",
|
||||||
"notification.follow_request": "Ο/H {name} ζήτησε να σε ακολουθήσει",
|
"notification.follow_request": "Ο/H {name} ζήτησε να σε ακολουθήσει",
|
||||||
"notification.follow_request.name_and_others": "{name} και {count, plural, one {# άλλος} other {# άλλοι}} ζήτησαν να σε ακολουθήσουν",
|
"notification.follow_request.name_and_others": "{name} και {count, plural, one {# άλλος} other {# άλλοι}} ζήτησαν να σε ακολουθήσουν",
|
||||||
"notification.label.mention": "Επισήμανση",
|
"notification.label.mention": "Επισήμανση",
|
||||||
|
@ -513,6 +539,7 @@
|
||||||
"notification.label.private_reply": "Ιδιωτική απάντηση",
|
"notification.label.private_reply": "Ιδιωτική απάντηση",
|
||||||
"notification.label.reply": "Απάντηση",
|
"notification.label.reply": "Απάντηση",
|
||||||
"notification.mention": "Επισήμανση",
|
"notification.mention": "Επισήμανση",
|
||||||
|
"notification.mentioned_you": "Ο χρήστης {name} σε επισήμανε",
|
||||||
"notification.moderation-warning.learn_more": "Μάθε περισσότερα",
|
"notification.moderation-warning.learn_more": "Μάθε περισσότερα",
|
||||||
"notification.moderation_warning": "Έχετε λάβει μία προειδοποίηση συντονισμού",
|
"notification.moderation_warning": "Έχετε λάβει μία προειδοποίηση συντονισμού",
|
||||||
"notification.moderation_warning.action_delete_statuses": "Ορισμένες από τις αναρτήσεις σου έχουν αφαιρεθεί.",
|
"notification.moderation_warning.action_delete_statuses": "Ορισμένες από τις αναρτήσεις σου έχουν αφαιρεθεί.",
|
||||||
|
@ -563,6 +590,7 @@
|
||||||
"notifications.column_settings.filter_bar.category": "Μπάρα γρήγορου φίλτρου",
|
"notifications.column_settings.filter_bar.category": "Μπάρα γρήγορου φίλτρου",
|
||||||
"notifications.column_settings.follow": "Νέοι ακόλουθοι:",
|
"notifications.column_settings.follow": "Νέοι ακόλουθοι:",
|
||||||
"notifications.column_settings.follow_request": "Νέο αίτημα ακολούθησης:",
|
"notifications.column_settings.follow_request": "Νέο αίτημα ακολούθησης:",
|
||||||
|
"notifications.column_settings.group": "Ομάδα",
|
||||||
"notifications.column_settings.mention": "Επισημάνσεις:",
|
"notifications.column_settings.mention": "Επισημάνσεις:",
|
||||||
"notifications.column_settings.poll": "Αποτελέσματα δημοσκόπησης:",
|
"notifications.column_settings.poll": "Αποτελέσματα δημοσκόπησης:",
|
||||||
"notifications.column_settings.push": "Ειδοποιήσεις Push",
|
"notifications.column_settings.push": "Ειδοποιήσεις Push",
|
||||||
|
|
|
@ -101,6 +101,7 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "{name}'s",
|
"annual_report.summary.highlighted_post.possessive": "{name}'s",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "most used app",
|
"annual_report.summary.most_used_app.most_used_app": "most used app",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "most used hashtag",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "most used hashtag",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "None",
|
||||||
"annual_report.summary.new_posts.new_posts": "new posts",
|
"annual_report.summary.new_posts.new_posts": "new posts",
|
||||||
"annual_report.summary.percentile.text": "<topLabel>That puts you in the top</topLabel><percentage></percentage><bottomLabel>of Mastodon users.</bottomLabel>",
|
"annual_report.summary.percentile.text": "<topLabel>That puts you in the top</topLabel><percentage></percentage><bottomLabel>of Mastodon users.</bottomLabel>",
|
||||||
"annual_report.summary.percentile.we_wont_tell_bernie": "We won't tell Bernie.",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "We won't tell Bernie.",
|
||||||
|
|
|
@ -90,6 +90,8 @@
|
||||||
"annual_report.summary.archetype.replier": "La plej societema",
|
"annual_report.summary.archetype.replier": "La plej societema",
|
||||||
"annual_report.summary.followers.followers": "sekvantoj",
|
"annual_report.summary.followers.followers": "sekvantoj",
|
||||||
"annual_report.summary.highlighted_post.by_replies": "afiŝo kun la plej multaj respondoj",
|
"annual_report.summary.highlighted_post.by_replies": "afiŝo kun la plej multaj respondoj",
|
||||||
|
"annual_report.summary.most_used_app.most_used_app": "plej uzita apo",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Nenio",
|
||||||
"annual_report.summary.new_posts.new_posts": "novaj afiŝoj",
|
"annual_report.summary.new_posts.new_posts": "novaj afiŝoj",
|
||||||
"annual_report.summary.thanks": "Dankon pro esti parto de Mastodon!",
|
"annual_report.summary.thanks": "Dankon pro esti parto de Mastodon!",
|
||||||
"attachments_list.unprocessed": "(neprilaborita)",
|
"attachments_list.unprocessed": "(neprilaborita)",
|
||||||
|
@ -219,7 +221,7 @@
|
||||||
"dismissable_banner.community_timeline": "Jen la plej novaj publikaj afiŝoj de uzantoj, kies kontojn gastigas {domain}.",
|
"dismissable_banner.community_timeline": "Jen la plej novaj publikaj afiŝoj de uzantoj, kies kontojn gastigas {domain}.",
|
||||||
"dismissable_banner.dismiss": "Eksigi",
|
"dismissable_banner.dismiss": "Eksigi",
|
||||||
"dismissable_banner.explore_links": "Tiuj novaĵoj estas aktuale priparolataj de uzantoj en tiu ĉi kaj aliaj serviloj, sur la malcentrigita reto.",
|
"dismissable_banner.explore_links": "Tiuj novaĵoj estas aktuale priparolataj de uzantoj en tiu ĉi kaj aliaj serviloj, sur la malcentrigita reto.",
|
||||||
"dismissable_banner.explore_statuses": "Ĉi tiuj estas afiŝoj de la tuta socia reto, kiuj populariĝas hodiaŭ. Pli novaj afiŝoj kun pli da diskonigoj kaj plej ŝatataj estas rangigitaj pli alte.",
|
"dismissable_banner.explore_statuses": "Jen afiŝoj en la socia reto kiuj populariĝis hodiaŭ. Novaj afiŝoj kun pli da diskonigoj kaj stelumoj aperas pli alte.",
|
||||||
"dismissable_banner.explore_tags": "Ĉi tiuj kradvostoj populariĝas en ĉi tiu kaj aliaj serviloj en la malcentraliza reto nun.",
|
"dismissable_banner.explore_tags": "Ĉi tiuj kradvostoj populariĝas en ĉi tiu kaj aliaj serviloj en la malcentraliza reto nun.",
|
||||||
"dismissable_banner.public_timeline": "Ĉi tiuj estas la plej lastatempaj publikaj afiŝoj de homoj en la socia reto, kiujn homoj sur {domain} sekvas.",
|
"dismissable_banner.public_timeline": "Ĉi tiuj estas la plej lastatempaj publikaj afiŝoj de homoj en la socia reto, kiujn homoj sur {domain} sekvas.",
|
||||||
"domain_block_modal.block": "Bloki servilon",
|
"domain_block_modal.block": "Bloki servilon",
|
||||||
|
@ -338,7 +340,7 @@
|
||||||
"followed_tags": "Sekvataj kradvortoj",
|
"followed_tags": "Sekvataj kradvortoj",
|
||||||
"footer.about": "Pri",
|
"footer.about": "Pri",
|
||||||
"footer.directory": "Profilujo",
|
"footer.directory": "Profilujo",
|
||||||
"footer.get_app": "Akiru la Programon",
|
"footer.get_app": "Akiri la apon",
|
||||||
"footer.invite": "Inviti homojn",
|
"footer.invite": "Inviti homojn",
|
||||||
"footer.keyboard_shortcuts": "Fulmoklavoj",
|
"footer.keyboard_shortcuts": "Fulmoklavoj",
|
||||||
"footer.privacy_policy": "Politiko de privateco",
|
"footer.privacy_policy": "Politiko de privateco",
|
||||||
|
@ -387,7 +389,7 @@
|
||||||
"ignore_notifications_modal.not_followers_title": "Ĉu ignori sciigojn de homoj, kiuj ne sekvas vin?",
|
"ignore_notifications_modal.not_followers_title": "Ĉu ignori sciigojn de homoj, kiuj ne sekvas vin?",
|
||||||
"ignore_notifications_modal.not_following_title": "Ĉu ignori sciigojn de homoj, kiujn vi ne sekvas?",
|
"ignore_notifications_modal.not_following_title": "Ĉu ignori sciigojn de homoj, kiujn vi ne sekvas?",
|
||||||
"ignore_notifications_modal.private_mentions_title": "Ĉu ignori sciigojn de nepetitaj privataj mencioj?",
|
"ignore_notifications_modal.private_mentions_title": "Ĉu ignori sciigojn de nepetitaj privataj mencioj?",
|
||||||
"interaction_modal.description.favourite": "Per konto ĉe Mastodon, vi povas stelumiti ĉi tiun afiŝon por sciigi la afiŝanton ke vi aprezigas ŝin kaj konservas por la estonteco.",
|
"interaction_modal.description.favourite": "Per konto ĉe Mastodon, vi povas stelumi ĉi tiun afiŝon por sciigi la afiŝanton ke vi sâtas kaj konservas ĝin por poste.",
|
||||||
"interaction_modal.description.follow": "Kun konto ĉe Mastodon, vi povas sekvi {name} por ricevi iliajn afiŝojn en via hejma fluo.",
|
"interaction_modal.description.follow": "Kun konto ĉe Mastodon, vi povas sekvi {name} por ricevi iliajn afiŝojn en via hejma fluo.",
|
||||||
"interaction_modal.description.reblog": "Kun konto ĉe Mastodon, vi povas diskonigi ĉi tiun afiŝon, por ke viaj propraj sekvantoj vidu ĝin.",
|
"interaction_modal.description.reblog": "Kun konto ĉe Mastodon, vi povas diskonigi ĉi tiun afiŝon, por ke viaj propraj sekvantoj vidu ĝin.",
|
||||||
"interaction_modal.description.reply": "Kun konto ĉe Mastodon, vi povos respondi al ĉi tiu afiŝo.",
|
"interaction_modal.description.reply": "Kun konto ĉe Mastodon, vi povos respondi al ĉi tiu afiŝo.",
|
||||||
|
@ -646,7 +648,7 @@
|
||||||
"onboarding.start.lead": "Vi nun estas parto de Mastodon, unika, malcentralizita socia amaskomunikilara platformo, kie vi—ne algoritmo—zorgas vian propran sperton. Ni komencu vin sur ĉi tiu nova socia limo:",
|
"onboarding.start.lead": "Vi nun estas parto de Mastodon, unika, malcentralizita socia amaskomunikilara platformo, kie vi—ne algoritmo—zorgas vian propran sperton. Ni komencu vin sur ĉi tiu nova socia limo:",
|
||||||
"onboarding.start.skip": "Ĉu vi ne bezonas helpon por komenci?",
|
"onboarding.start.skip": "Ĉu vi ne bezonas helpon por komenci?",
|
||||||
"onboarding.start.title": "Vi atingas ĝin!",
|
"onboarding.start.title": "Vi atingas ĝin!",
|
||||||
"onboarding.steps.follow_people.body": "Sekvi interesajn homojn estas pri kio Mastodonto temas.",
|
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
|
||||||
"onboarding.steps.follow_people.title": "Agordu vian hejman fluon",
|
"onboarding.steps.follow_people.title": "Agordu vian hejman fluon",
|
||||||
"onboarding.steps.publish_status.body": "Salutu la mondon per teksto, fotoj, filmetoj aŭ balotenketoj {emoji}",
|
"onboarding.steps.publish_status.body": "Salutu la mondon per teksto, fotoj, filmetoj aŭ balotenketoj {emoji}",
|
||||||
"onboarding.steps.publish_status.title": "Fari vian unuan afiŝon",
|
"onboarding.steps.publish_status.title": "Fari vian unuan afiŝon",
|
||||||
|
@ -780,9 +782,9 @@
|
||||||
"server_banner.is_one_of_many": "{domain} estas unu el la multaj sendependaj Mastodon-serviloj, kiujn vi povas uzi por partopreni en la fediverso.",
|
"server_banner.is_one_of_many": "{domain} estas unu el la multaj sendependaj Mastodon-serviloj, kiujn vi povas uzi por partopreni en la fediverso.",
|
||||||
"server_banner.server_stats": "Statistikoj de la servilo:",
|
"server_banner.server_stats": "Statistikoj de la servilo:",
|
||||||
"sign_in_banner.create_account": "Krei konton",
|
"sign_in_banner.create_account": "Krei konton",
|
||||||
"sign_in_banner.follow_anyone": "Sekvi iun ajn tra la fediverso kaj vidi ĉion en kronologia ordo. Neniuj algoritmoj, reklamoj aŭ klakbetoj videblas.",
|
"sign_in_banner.follow_anyone": "Sekvu iun ajn tra la fediverso kaj vidu ĉion laŭ templinio. Nul algoritmo, reklamo aŭ kliklogilo ĉeestas.",
|
||||||
"sign_in_banner.mastodon_is": "Mastodonto estas la plej bona maniero por resti flank-al-flanke kun kio okazas.",
|
"sign_in_banner.mastodon_is": "Mastodon estas la plej bona maniero resti ĝisdata pri aktualaĵoj.",
|
||||||
"sign_in_banner.sign_in": "Saluti",
|
"sign_in_banner.sign_in": "Ensaluti",
|
||||||
"sign_in_banner.sso_redirect": "Ensalutu aŭ Registriĝi",
|
"sign_in_banner.sso_redirect": "Ensalutu aŭ Registriĝi",
|
||||||
"status.admin_account": "Malfermi fasadon de moderigado por @{name}",
|
"status.admin_account": "Malfermi fasadon de moderigado por @{name}",
|
||||||
"status.admin_domain": "Malfermu moderigan interfacon por {domain}",
|
"status.admin_domain": "Malfermu moderigan interfacon por {domain}",
|
||||||
|
|
|
@ -87,22 +87,23 @@
|
||||||
"alert.unexpected.title": "¡Epa!",
|
"alert.unexpected.title": "¡Epa!",
|
||||||
"alt_text_badge.title": "Texto alternativo",
|
"alt_text_badge.title": "Texto alternativo",
|
||||||
"announcement.announcement": "Anuncio",
|
"announcement.announcement": "Anuncio",
|
||||||
"annual_report.summary.archetype.booster": "El cazador de tendencias",
|
"annual_report.summary.archetype.booster": "Corrió la voz",
|
||||||
"annual_report.summary.archetype.lurker": "El acechador",
|
"annual_report.summary.archetype.lurker": "El acechador",
|
||||||
"annual_report.summary.archetype.oracle": "El oráculo",
|
"annual_report.summary.archetype.oracle": "El oráculo",
|
||||||
"annual_report.summary.archetype.pollster": "El encuestador",
|
"annual_report.summary.archetype.pollster": "Estuvo consultando",
|
||||||
"annual_report.summary.archetype.replier": "El más sociable",
|
"annual_report.summary.archetype.replier": "Respondió un montón",
|
||||||
"annual_report.summary.followers.followers": "seguidores",
|
"annual_report.summary.followers.followers": "seguidores",
|
||||||
"annual_report.summary.followers.total": "{count} en total",
|
"annual_report.summary.followers.total": "{count} en total",
|
||||||
"annual_report.summary.here_it_is": "Aquí está tu resumen de {year}:",
|
"annual_report.summary.here_it_is": "Acá está tu resumen de {year}:",
|
||||||
"annual_report.summary.highlighted_post.by_favourites": "publicación con más favoritos",
|
"annual_report.summary.highlighted_post.by_favourites": "el mensaje más veces marcado como favorito",
|
||||||
"annual_report.summary.highlighted_post.by_reblogs": "publicación más impulsada",
|
"annual_report.summary.highlighted_post.by_reblogs": "el mensaje que más adhesiones recibió",
|
||||||
"annual_report.summary.highlighted_post.by_replies": "publicación con más respuestas",
|
"annual_report.summary.highlighted_post.by_replies": "el mensaje que más respuestas recibió",
|
||||||
"annual_report.summary.highlighted_post.possessive": "de {name}",
|
"annual_report.summary.highlighted_post.possessive": "{name}",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "aplicación más usada",
|
"annual_report.summary.most_used_app.most_used_app": "la aplicación más usada",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "etiqueta más usada",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "la etiqueta más usada",
|
||||||
"annual_report.summary.new_posts.new_posts": "nuevas publicaciones",
|
"annual_report.summary.most_used_hashtag.none": "Ninguna",
|
||||||
"annual_report.summary.percentile.text": "<topLabel>Eso te pone en el top</topLabel><percentage></percentage><bottomLabel>de usuarios de Mastodon.</bottomLabel>",
|
"annual_report.summary.new_posts.new_posts": "nuevos mensajes",
|
||||||
|
"annual_report.summary.percentile.text": "<topLabel>Eso te pone en la cima</topLabel><percentage></percentage><bottomLabel>de los usuarios de Mastodon.</bottomLabel>",
|
||||||
"annual_report.summary.percentile.we_wont_tell_bernie": "No se lo diremos a Bernie.",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "No se lo diremos a Bernie.",
|
||||||
"annual_report.summary.thanks": "¡Gracias por ser parte de Mastodon!",
|
"annual_report.summary.thanks": "¡Gracias por ser parte de Mastodon!",
|
||||||
"attachments_list.unprocessed": "[sin procesar]",
|
"attachments_list.unprocessed": "[sin procesar]",
|
||||||
|
|
|
@ -89,9 +89,9 @@
|
||||||
"announcement.announcement": "Anuncio",
|
"announcement.announcement": "Anuncio",
|
||||||
"annual_report.summary.archetype.booster": "El cazador de tendencias",
|
"annual_report.summary.archetype.booster": "El cazador de tendencias",
|
||||||
"annual_report.summary.archetype.lurker": "El acechador",
|
"annual_report.summary.archetype.lurker": "El acechador",
|
||||||
"annual_report.summary.archetype.oracle": "El oráculo",
|
"annual_report.summary.archetype.oracle": "El oraculo",
|
||||||
"annual_report.summary.archetype.pollster": "El encuestador",
|
"annual_report.summary.archetype.pollster": "El encuestador",
|
||||||
"annual_report.summary.archetype.replier": "El más sociable",
|
"annual_report.summary.archetype.replier": "La mariposa sociable",
|
||||||
"annual_report.summary.followers.followers": "seguidores",
|
"annual_report.summary.followers.followers": "seguidores",
|
||||||
"annual_report.summary.followers.total": "{count} en total",
|
"annual_report.summary.followers.total": "{count} en total",
|
||||||
"annual_report.summary.here_it_is": "Aquí está tu resumen de {year}:",
|
"annual_report.summary.here_it_is": "Aquí está tu resumen de {year}:",
|
||||||
|
@ -101,6 +101,7 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "de {name}",
|
"annual_report.summary.highlighted_post.possessive": "de {name}",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "aplicación más usada",
|
"annual_report.summary.most_used_app.most_used_app": "aplicación más usada",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "etiqueta más usada",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "etiqueta más usada",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Ninguna",
|
||||||
"annual_report.summary.new_posts.new_posts": "nuevas publicaciones",
|
"annual_report.summary.new_posts.new_posts": "nuevas publicaciones",
|
||||||
"annual_report.summary.percentile.text": "<topLabel>Eso te pone en el top</topLabel><percentage></percentage><bottomLabel>de usuarios de Mastodon.</bottomLabel>",
|
"annual_report.summary.percentile.text": "<topLabel>Eso te pone en el top</topLabel><percentage></percentage><bottomLabel>de usuarios de Mastodon.</bottomLabel>",
|
||||||
"annual_report.summary.percentile.we_wont_tell_bernie": "No se lo diremos a Bernie.",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "No se lo diremos a Bernie.",
|
||||||
|
|
|
@ -101,6 +101,7 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "de {name}",
|
"annual_report.summary.highlighted_post.possessive": "de {name}",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "aplicación más usada",
|
"annual_report.summary.most_used_app.most_used_app": "aplicación más usada",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "etiqueta más usada",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "etiqueta más usada",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Ninguna",
|
||||||
"annual_report.summary.new_posts.new_posts": "nuevas publicaciones",
|
"annual_report.summary.new_posts.new_posts": "nuevas publicaciones",
|
||||||
"annual_report.summary.percentile.text": "<topLabel>Eso te pone en el top</topLabel><percentage></percentage><bottomLabel>de usuarios de Mastodon.</bottomLabel>",
|
"annual_report.summary.percentile.text": "<topLabel>Eso te pone en el top</topLabel><percentage></percentage><bottomLabel>de usuarios de Mastodon.</bottomLabel>",
|
||||||
"annual_report.summary.percentile.we_wont_tell_bernie": "No se lo diremos a Bernie.",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "No se lo diremos a Bernie.",
|
||||||
|
|
|
@ -87,10 +87,22 @@
|
||||||
"alert.unexpected.title": "Hups!",
|
"alert.unexpected.title": "Hups!",
|
||||||
"alt_text_badge.title": "Vaihtoehtoinen teksti",
|
"alt_text_badge.title": "Vaihtoehtoinen teksti",
|
||||||
"announcement.announcement": "Tiedote",
|
"announcement.announcement": "Tiedote",
|
||||||
|
"annual_report.summary.archetype.booster": "Tehostaja",
|
||||||
|
"annual_report.summary.archetype.lurker": "Lymyilijä",
|
||||||
|
"annual_report.summary.archetype.oracle": "Oraakkeli",
|
||||||
|
"annual_report.summary.archetype.pollster": "Mielipidetutkija",
|
||||||
"annual_report.summary.archetype.replier": "Sosiaalinen perhonen",
|
"annual_report.summary.archetype.replier": "Sosiaalinen perhonen",
|
||||||
|
"annual_report.summary.followers.followers": "seuraajaa",
|
||||||
|
"annual_report.summary.followers.total": "{count} yhteensä",
|
||||||
|
"annual_report.summary.here_it_is": "Tässä on katsaus vuoteesi {year}:",
|
||||||
|
"annual_report.summary.highlighted_post.by_favourites": "suosikkeihin lisätyin julkaisu",
|
||||||
"annual_report.summary.highlighted_post.by_reblogs": "tehostetuin julkaisu",
|
"annual_report.summary.highlighted_post.by_reblogs": "tehostetuin julkaisu",
|
||||||
|
"annual_report.summary.highlighted_post.by_replies": "julkaisu, jolla on eniten vastauksia",
|
||||||
|
"annual_report.summary.highlighted_post.possessive": "Käyttäjän {name}",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "käytetyin sovellus",
|
"annual_report.summary.most_used_app.most_used_app": "käytetyin sovellus",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "käytetyin aihetunniste",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "käytetyin aihetunniste",
|
||||||
|
"annual_report.summary.new_posts.new_posts": "uutta julkaisua",
|
||||||
|
"annual_report.summary.percentile.text": "<topLabel>Olet osa huippujoukkoa, johon kuuluu</topLabel><percentage></percentage><bottomLabel>Mastodon-käyttäjistä.</bottomLabel>",
|
||||||
"annual_report.summary.thanks": "Kiitos, että olet osa Mastodonia!",
|
"annual_report.summary.thanks": "Kiitos, että olet osa Mastodonia!",
|
||||||
"attachments_list.unprocessed": "(käsittelemätön)",
|
"attachments_list.unprocessed": "(käsittelemätön)",
|
||||||
"audio.hide": "Piilota ääni",
|
"audio.hide": "Piilota ääni",
|
||||||
|
@ -513,6 +525,7 @@
|
||||||
"notification.admin.report_statuses_other": "{name} raportoi käyttäjän {target}",
|
"notification.admin.report_statuses_other": "{name} raportoi käyttäjän {target}",
|
||||||
"notification.admin.sign_up": "{name} rekisteröityi",
|
"notification.admin.sign_up": "{name} rekisteröityi",
|
||||||
"notification.admin.sign_up.name_and_others": "{name} ja {count, plural, one {# muu} other {# muuta}} rekisteröityivät",
|
"notification.admin.sign_up.name_and_others": "{name} ja {count, plural, one {# muu} other {# muuta}} rekisteröityivät",
|
||||||
|
"notification.annual_report.message": "Vuoden {year} #Wrapstodon odottaa! Paljasta vuotesi kohokohdat ikimuistoiset hetket Mastodonissa!",
|
||||||
"notification.annual_report.view": "Näytä #Wrapstodon",
|
"notification.annual_report.view": "Näytä #Wrapstodon",
|
||||||
"notification.favourite": "{name} lisäsi julkaisusi suosikkeihinsa",
|
"notification.favourite": "{name} lisäsi julkaisusi suosikkeihinsa",
|
||||||
"notification.favourite.name_and_others_with_link": "{name} ja <a>{count, plural, one {# muu} other {# muuta}}</a> lisäsivät julkaisusi suosikkeihinsa",
|
"notification.favourite.name_and_others_with_link": "{name} ja <a>{count, plural, one {# muu} other {# muuta}}</a> lisäsivät julkaisusi suosikkeihinsa",
|
||||||
|
|
|
@ -101,6 +101,7 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "hjá {name}",
|
"annual_report.summary.highlighted_post.possessive": "hjá {name}",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "mest brúkta app",
|
"annual_report.summary.most_used_app.most_used_app": "mest brúkta app",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "mest brúkta frámerki",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "mest brúkta frámerki",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Einki",
|
||||||
"annual_report.summary.new_posts.new_posts": "nýggir postar",
|
"annual_report.summary.new_posts.new_posts": "nýggir postar",
|
||||||
"annual_report.summary.percentile.text": "<topLabel>Tað fær teg í topp</topLabel><percentage></percentage><bottomLabel>av Mastodon brúkarum.</bottomLabel>",
|
"annual_report.summary.percentile.text": "<topLabel>Tað fær teg í topp</topLabel><percentage></percentage><bottomLabel>av Mastodon brúkarum.</bottomLabel>",
|
||||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Vit fara ikki at fortelja Bernie tað.",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "Vit fara ikki at fortelja Bernie tað.",
|
||||||
|
|
|
@ -87,6 +87,9 @@
|
||||||
"alert.unexpected.title": "Oups!",
|
"alert.unexpected.title": "Oups!",
|
||||||
"alt_text_badge.title": "Texte Alt",
|
"alt_text_badge.title": "Texte Alt",
|
||||||
"announcement.announcement": "Annonce",
|
"announcement.announcement": "Annonce",
|
||||||
|
"annual_report.summary.archetype.oracle": "L’oracle",
|
||||||
|
"annual_report.summary.here_it_is": "Voici votre récap de {year} :",
|
||||||
|
"annual_report.summary.most_used_app.most_used_app": "appli la plus utilisée",
|
||||||
"attachments_list.unprocessed": "(non traité)",
|
"attachments_list.unprocessed": "(non traité)",
|
||||||
"audio.hide": "Masquer l'audio",
|
"audio.hide": "Masquer l'audio",
|
||||||
"block_modal.remote_users_caveat": "Nous allons demander au serveur {domain} de respecter votre décision. Cependant, ce respect n'est pas garanti, car certains serveurs peuvent gérer différemment les blocages. Les messages publics peuvent rester visibles par les utilisateur·rice·s non connecté·e·s.",
|
"block_modal.remote_users_caveat": "Nous allons demander au serveur {domain} de respecter votre décision. Cependant, ce respect n'est pas garanti, car certains serveurs peuvent gérer différemment les blocages. Les messages publics peuvent rester visibles par les utilisateur·rice·s non connecté·e·s.",
|
||||||
|
|
|
@ -87,6 +87,9 @@
|
||||||
"alert.unexpected.title": "Oups !",
|
"alert.unexpected.title": "Oups !",
|
||||||
"alt_text_badge.title": "Texte Alt",
|
"alt_text_badge.title": "Texte Alt",
|
||||||
"announcement.announcement": "Annonce",
|
"announcement.announcement": "Annonce",
|
||||||
|
"annual_report.summary.archetype.oracle": "L’oracle",
|
||||||
|
"annual_report.summary.here_it_is": "Voici votre récap de {year} :",
|
||||||
|
"annual_report.summary.most_used_app.most_used_app": "appli la plus utilisée",
|
||||||
"attachments_list.unprocessed": "(non traité)",
|
"attachments_list.unprocessed": "(non traité)",
|
||||||
"audio.hide": "Masquer l'audio",
|
"audio.hide": "Masquer l'audio",
|
||||||
"block_modal.remote_users_caveat": "Nous allons demander au serveur {domain} de respecter votre décision. Cependant, ce respect n'est pas garanti, car certains serveurs peuvent gérer différemment les blocages. Les messages publics peuvent rester visibles par les utilisateur·rice·s non connecté·e·s.",
|
"block_modal.remote_users_caveat": "Nous allons demander au serveur {domain} de respecter votre décision. Cependant, ce respect n'est pas garanti, car certains serveurs peuvent gérer différemment les blocages. Les messages publics peuvent rester visibles par les utilisateur·rice·s non connecté·e·s.",
|
||||||
|
|
|
@ -87,6 +87,11 @@
|
||||||
"alert.unexpected.title": "Vaites!",
|
"alert.unexpected.title": "Vaites!",
|
||||||
"alt_text_badge.title": "Texto Alt",
|
"alt_text_badge.title": "Texto Alt",
|
||||||
"announcement.announcement": "Anuncio",
|
"announcement.announcement": "Anuncio",
|
||||||
|
"annual_report.summary.archetype.booster": "A axencia de noticias",
|
||||||
|
"annual_report.summary.archetype.lurker": "Volleur",
|
||||||
|
"annual_report.summary.archetype.oracle": "Sabichón/e",
|
||||||
|
"annual_report.summary.archetype.pollster": "O INE",
|
||||||
|
"annual_report.summary.archetype.replier": "Lareteire",
|
||||||
"annual_report.summary.followers.followers": "seguidoras",
|
"annual_report.summary.followers.followers": "seguidoras",
|
||||||
"annual_report.summary.followers.total": "{count} en total",
|
"annual_report.summary.followers.total": "{count} en total",
|
||||||
"annual_report.summary.here_it_is": "Este é o resumo do teu {year}:",
|
"annual_report.summary.here_it_is": "Este é o resumo do teu {year}:",
|
||||||
|
@ -96,6 +101,7 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "de {name}",
|
"annual_report.summary.highlighted_post.possessive": "de {name}",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "app que mais usaches",
|
"annual_report.summary.most_used_app.most_used_app": "app que mais usaches",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "o cancelo mais utilizado",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "o cancelo mais utilizado",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Nada",
|
||||||
"annual_report.summary.new_posts.new_posts": "novas publicacións",
|
"annual_report.summary.new_posts.new_posts": "novas publicacións",
|
||||||
"annual_report.summary.percentile.text": "<topLabel>Sitúante no top</topLabel><percentage></percentage><bottomLabel> das usuarias de Mastodon.</bottomLabel>",
|
"annual_report.summary.percentile.text": "<topLabel>Sitúante no top</topLabel><percentage></percentage><bottomLabel> das usuarias de Mastodon.</bottomLabel>",
|
||||||
"annual_report.summary.thanks": "Grazas por ser parte de Mastodon!",
|
"annual_report.summary.thanks": "Grazas por ser parte de Mastodon!",
|
||||||
|
@ -520,6 +526,8 @@
|
||||||
"notification.admin.report_statuses_other": "{name} denunciou a {target}",
|
"notification.admin.report_statuses_other": "{name} denunciou a {target}",
|
||||||
"notification.admin.sign_up": "{name} rexistrouse",
|
"notification.admin.sign_up": "{name} rexistrouse",
|
||||||
"notification.admin.sign_up.name_and_others": "{name} e {count, plural, one {# máis} other {# máis}} crearon unha conta",
|
"notification.admin.sign_up.name_and_others": "{name} e {count, plural, one {# máis} other {# máis}} crearon unha conta",
|
||||||
|
"notification.annual_report.message": "A #VidaEnMastodon de {year} agarda por ti! Desvela os momentos máis destacados e historias reseñables en Mastodon!",
|
||||||
|
"notification.annual_report.view": "Ver #VidaEnMastodon",
|
||||||
"notification.favourite": "{name} marcou como favorita a túa publicación",
|
"notification.favourite": "{name} marcou como favorita a túa publicación",
|
||||||
"notification.favourite.name_and_others_with_link": "{name} e <a>{count, plural, one {# máis} other {# máis}}</a> favoreceron a túa publicación",
|
"notification.favourite.name_and_others_with_link": "{name} e <a>{count, plural, one {# máis} other {# máis}}</a> favoreceron a túa publicación",
|
||||||
"notification.follow": "{name} comezou a seguirte",
|
"notification.follow": "{name} comezou a seguirte",
|
||||||
|
|
|
@ -87,6 +87,24 @@
|
||||||
"alert.unexpected.title": "אופס!",
|
"alert.unexpected.title": "אופס!",
|
||||||
"alt_text_badge.title": "כיתוב חלופי",
|
"alt_text_badge.title": "כיתוב חלופי",
|
||||||
"announcement.announcement": "הכרזה",
|
"announcement.announcement": "הכרזה",
|
||||||
|
"annual_report.summary.archetype.booster": "ההד-וניסט(ית)",
|
||||||
|
"annual_report.summary.archetype.lurker": "השורץ.ת השקט.ה",
|
||||||
|
"annual_report.summary.archetype.oracle": "כבוד הרב.ה",
|
||||||
|
"annual_report.summary.archetype.pollster": "הסקרן.ית",
|
||||||
|
"annual_report.summary.archetype.replier": "הפרפר.ית החברתי.ת",
|
||||||
|
"annual_report.summary.followers.followers": "עוקבים",
|
||||||
|
"annual_report.summary.followers.total": "{count} בסך הכל",
|
||||||
|
"annual_report.summary.here_it_is": "והנה סיכום {year} שלך:",
|
||||||
|
"annual_report.summary.highlighted_post.by_favourites": "התות הכי מחובב",
|
||||||
|
"annual_report.summary.highlighted_post.by_reblogs": "התות הכי מהודהד",
|
||||||
|
"annual_report.summary.highlighted_post.by_replies": "התות עם מספר התשובות הגבוה ביותר",
|
||||||
|
"annual_report.summary.highlighted_post.possessive": "של {name}",
|
||||||
|
"annual_report.summary.most_used_app.most_used_app": "היישומון שהכי בשימוש",
|
||||||
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "התג בשימוש הרב ביותר",
|
||||||
|
"annual_report.summary.new_posts.new_posts": "הודעות חדשות",
|
||||||
|
"annual_report.summary.percentile.text": "<topLabel>ממקם אותך באחוזון </topLabel><percentage></percentage><bottomLabel>של משמשי מסטודון.</bottomLabel>",
|
||||||
|
"annual_report.summary.percentile.we_wont_tell_bernie": "לא נגלה לברני.",
|
||||||
|
"annual_report.summary.thanks": "תודה על היותך חלק ממסטודון!",
|
||||||
"attachments_list.unprocessed": "(לא מעובד)",
|
"attachments_list.unprocessed": "(לא מעובד)",
|
||||||
"audio.hide": "השתק",
|
"audio.hide": "השתק",
|
||||||
"block_modal.remote_users_caveat": "אנו נבקש מהשרת {domain} לכבד את החלטתך. עם זאת, ציות למוסכמות איננו מובטח כיוון ששרתים מסויימים עשויים לטפל בחסימות בצורה אחרת. הודעות פומביות עדיין יהיו גלויות לעיני משתמשים שאינם מחוברים.",
|
"block_modal.remote_users_caveat": "אנו נבקש מהשרת {domain} לכבד את החלטתך. עם זאת, ציות למוסכמות איננו מובטח כיוון ששרתים מסויימים עשויים לטפל בחסימות בצורה אחרת. הודעות פומביות עדיין יהיו גלויות לעיני משתמשים שאינם מחוברים.",
|
||||||
|
@ -508,6 +526,8 @@
|
||||||
"notification.admin.report_statuses_other": "{name} דיווח.ה על {target}",
|
"notification.admin.report_statuses_other": "{name} דיווח.ה על {target}",
|
||||||
"notification.admin.sign_up": "{name} נרשמו",
|
"notification.admin.sign_up": "{name} נרשמו",
|
||||||
"notification.admin.sign_up.name_and_others": "{name} ועוד {count, plural,one {אחד אחר}other {# אחרים}} נרשמו",
|
"notification.admin.sign_up.name_and_others": "{name} ועוד {count, plural,one {אחד אחר}other {# אחרים}} נרשמו",
|
||||||
|
"notification.annual_report.message": "ה- #סיכומודון שלך לשנת {year} מחכה! גלו את רגעי השיא והזכרונות ממסטודון!",
|
||||||
|
"notification.annual_report.view": "לצפייה ב- #סיכומודון",
|
||||||
"notification.favourite": "הודעתך חובבה על ידי {name}",
|
"notification.favourite": "הודעתך חובבה על ידי {name}",
|
||||||
"notification.favourite.name_and_others_with_link": "{name} ועוד <a>{count, plural,one {אחד נוסף}other {# נוספים}}</a> חיבבו את הודעתך",
|
"notification.favourite.name_and_others_with_link": "{name} ועוד <a>{count, plural,one {אחד נוסף}other {# נוספים}}</a> חיבבו את הודעתך",
|
||||||
"notification.follow": "{name} במעקב אחרייך",
|
"notification.follow": "{name} במעקב אחרייך",
|
||||||
|
|
|
@ -87,6 +87,25 @@
|
||||||
"alert.unexpected.title": "Hoppá!",
|
"alert.unexpected.title": "Hoppá!",
|
||||||
"alt_text_badge.title": "Helyettesítő szöveg",
|
"alt_text_badge.title": "Helyettesítő szöveg",
|
||||||
"announcement.announcement": "Közlemény",
|
"announcement.announcement": "Közlemény",
|
||||||
|
"annual_report.summary.archetype.booster": "A cool-vadász",
|
||||||
|
"annual_report.summary.archetype.lurker": "A settenkedő",
|
||||||
|
"annual_report.summary.archetype.oracle": "Az orákulum",
|
||||||
|
"annual_report.summary.archetype.pollster": "A közvélemény-kutató",
|
||||||
|
"annual_report.summary.archetype.replier": "A társasági pillangó",
|
||||||
|
"annual_report.summary.followers.followers": "követő",
|
||||||
|
"annual_report.summary.followers.total": "{count} összesen",
|
||||||
|
"annual_report.summary.here_it_is": "Itt a {year}. év értékelése:",
|
||||||
|
"annual_report.summary.highlighted_post.by_favourites": "legkedvencebb bejegyzés",
|
||||||
|
"annual_report.summary.highlighted_post.by_reblogs": "legtöbbet megtolt bejegyzés",
|
||||||
|
"annual_report.summary.highlighted_post.by_replies": "bejegyzés a legtöbb válasszal",
|
||||||
|
"annual_report.summary.highlighted_post.possessive": "{name} fióktól",
|
||||||
|
"annual_report.summary.most_used_app.most_used_app": "legtöbbet használt app",
|
||||||
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "legtöbbet használt hashtag",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Nincs",
|
||||||
|
"annual_report.summary.new_posts.new_posts": "új bejegyzés",
|
||||||
|
"annual_report.summary.percentile.text": "<topLabel>Ezzel a</topLabel><percentage></percentage><bottomLabel>csúcs Mastodon felhasználó között vagy.</bottomLabel>",
|
||||||
|
"annual_report.summary.percentile.we_wont_tell_bernie": "Nem mondjuk el Bernie-nek.",
|
||||||
|
"annual_report.summary.thanks": "Kösz, hogy a Mastodon része vagy!",
|
||||||
"attachments_list.unprocessed": "(feldolgozatlan)",
|
"attachments_list.unprocessed": "(feldolgozatlan)",
|
||||||
"audio.hide": "Hang elrejtése",
|
"audio.hide": "Hang elrejtése",
|
||||||
"block_modal.remote_users_caveat": "Arra kérjük a {domain} kiszolgálót, hogy tartsa tiszteletben a döntésedet. Ugyanakkor az együttműködés nem garantált, mivel néhány kiszolgáló másképp kezelheti a letiltásokat. A nyilvános bejegyzések a be nem jelentkezett felhasználók számára továbbra is látszódhatnak.",
|
"block_modal.remote_users_caveat": "Arra kérjük a {domain} kiszolgálót, hogy tartsa tiszteletben a döntésedet. Ugyanakkor az együttműködés nem garantált, mivel néhány kiszolgáló másképp kezelheti a letiltásokat. A nyilvános bejegyzések a be nem jelentkezett felhasználók számára továbbra is látszódhatnak.",
|
||||||
|
@ -508,6 +527,8 @@
|
||||||
"notification.admin.report_statuses_other": "{name} jelentette: {target}",
|
"notification.admin.report_statuses_other": "{name} jelentette: {target}",
|
||||||
"notification.admin.sign_up": "{name} regisztrált",
|
"notification.admin.sign_up": "{name} regisztrált",
|
||||||
"notification.admin.sign_up.name_and_others": "{name} és {count, plural, one {# másik} other {# másik}} regisztrált",
|
"notification.admin.sign_up.name_and_others": "{name} és {count, plural, one {# másik} other {# másik}} regisztrált",
|
||||||
|
"notification.annual_report.message": "Vár a {year}. év #Wrapstodon jelentése! Fedd fel az éved jelentős eseményeit és emlékezetes pillanatait a Mastodonon!",
|
||||||
|
"notification.annual_report.view": "#Wrapstodon Megtekintése",
|
||||||
"notification.favourite": "{name} kedvencnek jelölte a bejegyzésedet",
|
"notification.favourite": "{name} kedvencnek jelölte a bejegyzésedet",
|
||||||
"notification.favourite.name_and_others_with_link": "{name} és <a>{count, plural, one {# másik} other {# másik}}</a> kedvencnek jelölte a bejegyzésedet",
|
"notification.favourite.name_and_others_with_link": "{name} és <a>{count, plural, one {# másik} other {# másik}}</a> kedvencnek jelölte a bejegyzésedet",
|
||||||
"notification.follow": "{name} követ téged",
|
"notification.follow": "{name} követ téged",
|
||||||
|
|
|
@ -101,6 +101,7 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "{name}",
|
"annual_report.summary.highlighted_post.possessive": "{name}",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "mest notaða forrit",
|
"annual_report.summary.most_used_app.most_used_app": "mest notaða forrit",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "mest notaða myllumerki",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "mest notaða myllumerki",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Ekkert",
|
||||||
"annual_report.summary.new_posts.new_posts": "nýjar færslur",
|
"annual_report.summary.new_posts.new_posts": "nýjar færslur",
|
||||||
"annual_report.summary.percentile.text": "<topLabel>Það setur þig á meðal efstu</topLabel><percentage></percentage><bottomLabel>notenda Mastodon.</bottomLabel>",
|
"annual_report.summary.percentile.text": "<topLabel>Það setur þig á meðal efstu</topLabel><percentage></percentage><bottomLabel>notenda Mastodon.</bottomLabel>",
|
||||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Við förum ekkert að raupa um þetta.",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "Við förum ekkert að raupa um þetta.",
|
||||||
|
|
|
@ -97,9 +97,11 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "di {name}",
|
"annual_report.summary.highlighted_post.possessive": "di {name}",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "l'app più utilizzata",
|
"annual_report.summary.most_used_app.most_used_app": "l'app più utilizzata",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "l'hashtag più usato",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "l'hashtag più usato",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Nessuno",
|
||||||
"annual_report.summary.new_posts.new_posts": "nuovi post",
|
"annual_report.summary.new_posts.new_posts": "nuovi post",
|
||||||
"annual_report.summary.percentile.text": "<topLabel>Questo ti colloca tra il</topLabel><percentage></percentage><bottomLabel>dei migliori utenti Mastodon.</bottomLabel>",
|
"annual_report.summary.percentile.text": "<topLabel>Questo ti colloca tra il</topLabel><percentage></percentage><bottomLabel>dei migliori utenti Mastodon.</bottomLabel>",
|
||||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Non lo diremo a Bernie.",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "Non lo diremo a Bernie.",
|
||||||
|
"annual_report.summary.thanks": "Grazie per far parte di Mastodon!",
|
||||||
"attachments_list.unprocessed": "(non elaborato)",
|
"attachments_list.unprocessed": "(non elaborato)",
|
||||||
"audio.hide": "Nascondi audio",
|
"audio.hide": "Nascondi audio",
|
||||||
"block_modal.remote_users_caveat": "Chiederemo al server {domain} di rispettare la tua decisione. Tuttavia, la conformità non è garantita poiché alcuni server potrebbero gestire i blocchi in modo diverso. I post pubblici potrebbero essere ancora visibili agli utenti che non hanno effettuato l'accesso.",
|
"block_modal.remote_users_caveat": "Chiederemo al server {domain} di rispettare la tua decisione. Tuttavia, la conformità non è garantita poiché alcuni server potrebbero gestire i blocchi in modo diverso. I post pubblici potrebbero essere ancora visibili agli utenti che non hanno effettuato l'accesso.",
|
||||||
|
|
|
@ -87,6 +87,24 @@
|
||||||
"alert.unexpected.title": "エラー!",
|
"alert.unexpected.title": "エラー!",
|
||||||
"alt_text_badge.title": "代替テキスト",
|
"alt_text_badge.title": "代替テキスト",
|
||||||
"announcement.announcement": "お知らせ",
|
"announcement.announcement": "お知らせ",
|
||||||
|
"annual_report.summary.archetype.booster": "トレンドハンター",
|
||||||
|
"annual_report.summary.archetype.lurker": "ROM専",
|
||||||
|
"annual_report.summary.archetype.oracle": "予言者",
|
||||||
|
"annual_report.summary.archetype.pollster": "調査員",
|
||||||
|
"annual_report.summary.archetype.replier": "社交家",
|
||||||
|
"annual_report.summary.followers.followers": "フォロワー",
|
||||||
|
"annual_report.summary.followers.total": "合計{count}",
|
||||||
|
"annual_report.summary.here_it_is": "こちらがあなたの{year}年の振り返りです",
|
||||||
|
"annual_report.summary.highlighted_post.by_favourites": "最もお気に入りされた投稿",
|
||||||
|
"annual_report.summary.highlighted_post.by_reblogs": "最もブーストされた投稿",
|
||||||
|
"annual_report.summary.highlighted_post.by_replies": "最も返信が多かった投稿",
|
||||||
|
"annual_report.summary.highlighted_post.possessive": "{name}の",
|
||||||
|
"annual_report.summary.most_used_app.most_used_app": "最も使用されているアプリ",
|
||||||
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "最も使用されたハッシュタグ",
|
||||||
|
"annual_report.summary.new_posts.new_posts": "新しい投稿",
|
||||||
|
"annual_report.summary.percentile.text": "<topLabel>それにより、あなたは上位に位置しています。</topLabel><percentage></percentage><bottomLabel>Mastodonユーザーの中で。</bottomLabel>",
|
||||||
|
"annual_report.summary.percentile.we_wont_tell_bernie": "バー二ーには秘密にしておくよ。",
|
||||||
|
"annual_report.summary.thanks": "Mastodonの一員になってくれてありがとう!",
|
||||||
"attachments_list.unprocessed": "(未処理)",
|
"attachments_list.unprocessed": "(未処理)",
|
||||||
"audio.hide": "音声を閉じる",
|
"audio.hide": "音声を閉じる",
|
||||||
"block_modal.remote_users_caveat": "このサーバーはあなたのブロックの意思を尊重するように {domain} へ通知します。しかしながら、ブロックの扱い方はサーバーによってさまざまで、相手のサーバーは必ずしもこのブロックを適切に取り扱うものではないことに留意が必要です。また、あなたの公開投稿はサーバーからログアウトすれば誰からも見ることができます。",
|
"block_modal.remote_users_caveat": "このサーバーはあなたのブロックの意思を尊重するように {domain} へ通知します。しかしながら、ブロックの扱い方はサーバーによってさまざまで、相手のサーバーは必ずしもこのブロックを適切に取り扱うものではないことに留意が必要です。また、あなたの公開投稿はサーバーからログアウトすれば誰からも見ることができます。",
|
||||||
|
@ -508,6 +526,8 @@
|
||||||
"notification.admin.report_statuses_other": "{name}さんが{target}さんを通報しました",
|
"notification.admin.report_statuses_other": "{name}さんが{target}さんを通報しました",
|
||||||
"notification.admin.sign_up": "{name}さんがサインアップしました",
|
"notification.admin.sign_up": "{name}さんがサインアップしました",
|
||||||
"notification.admin.sign_up.name_and_others": "{name}さんとほか{count, plural, other {#人}}がサインアップしました",
|
"notification.admin.sign_up.name_and_others": "{name}さんとほか{count, plural, other {#人}}がサインアップしました",
|
||||||
|
"notification.annual_report.message": "「あなたの{year}年の#Wrapstodonが待っています!Mastodonであなたの年のハイライトや思い出の瞬間を公開しましょう!」と訳せます。",
|
||||||
|
"notification.annual_report.view": "#Wrapstodon を表示",
|
||||||
"notification.favourite": "{name}さんがお気に入りしました",
|
"notification.favourite": "{name}さんがお気に入りしました",
|
||||||
"notification.favourite.name_and_others_with_link": "{name}さんと<a>ほか{count, plural, other {#人}}</a>がお気に入りしました",
|
"notification.favourite.name_and_others_with_link": "{name}さんと<a>ほか{count, plural, other {#人}}</a>がお気に入りしました",
|
||||||
"notification.follow": "{name}さんにフォローされました",
|
"notification.follow": "{name}さんにフォローされました",
|
||||||
|
|
|
@ -101,6 +101,7 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "{name} 님의",
|
"annual_report.summary.highlighted_post.possessive": "{name} 님의",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "가장 많이 사용한 앱",
|
"annual_report.summary.most_used_app.most_used_app": "가장 많이 사용한 앱",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "가장 많이 사용한 해시태그",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "가장 많이 사용한 해시태그",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "없음",
|
||||||
"annual_report.summary.new_posts.new_posts": "새 게시물",
|
"annual_report.summary.new_posts.new_posts": "새 게시물",
|
||||||
"annual_report.summary.percentile.text": "<topLabel>마스토돈 사용자의 상위</topLabel><percentage></percentage><bottomLabel>입니다.</bottomLabel>",
|
"annual_report.summary.percentile.text": "<topLabel>마스토돈 사용자의 상위</topLabel><percentage></percentage><bottomLabel>입니다.</bottomLabel>",
|
||||||
"annual_report.summary.percentile.we_wont_tell_bernie": "엄마한테 말 안 할게요.",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "엄마한테 말 안 할게요.",
|
||||||
|
|
|
@ -87,6 +87,17 @@
|
||||||
"alert.unexpected.title": "Atyo!",
|
"alert.unexpected.title": "Atyo!",
|
||||||
"alt_text_badge.title": "Teksto alternativo",
|
"alt_text_badge.title": "Teksto alternativo",
|
||||||
"announcement.announcement": "Pregon",
|
"announcement.announcement": "Pregon",
|
||||||
|
"annual_report.summary.archetype.pollster": "El anketero",
|
||||||
|
"annual_report.summary.followers.followers": "suivantes",
|
||||||
|
"annual_report.summary.highlighted_post.by_favourites": "la puvlikasyon mas favoritada",
|
||||||
|
"annual_report.summary.highlighted_post.by_reblogs": "la puvlikasyon mas repartajada",
|
||||||
|
"annual_report.summary.highlighted_post.by_replies": "la puvlikasyon kon mas repuestas",
|
||||||
|
"annual_report.summary.highlighted_post.possessive": "de {name}",
|
||||||
|
"annual_report.summary.most_used_app.most_used_app": "la aplikasyon mas uzada",
|
||||||
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "la etiketa mas uzada",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Dinguno",
|
||||||
|
"annual_report.summary.new_posts.new_posts": "puvlikasyones muevas",
|
||||||
|
"annual_report.summary.thanks": "Mersi por ser parte de Mastodon!",
|
||||||
"attachments_list.unprocessed": "(no prosesado)",
|
"attachments_list.unprocessed": "(no prosesado)",
|
||||||
"audio.hide": "Eskonde audio",
|
"audio.hide": "Eskonde audio",
|
||||||
"block_modal.show_less": "Amostra manko",
|
"block_modal.show_less": "Amostra manko",
|
||||||
|
@ -97,6 +108,7 @@
|
||||||
"block_modal.you_wont_see_mentions": "No veras publikasyones ke lo enmentan.",
|
"block_modal.you_wont_see_mentions": "No veras publikasyones ke lo enmentan.",
|
||||||
"boost_modal.combo": "Puedes klikar {combo} para ometer esto la proksima vez",
|
"boost_modal.combo": "Puedes klikar {combo} para ometer esto la proksima vez",
|
||||||
"boost_modal.reblog": "Repartajar puvlikasyon?",
|
"boost_modal.reblog": "Repartajar puvlikasyon?",
|
||||||
|
"boost_modal.undo_reblog": "Departajar puvlikasyon?",
|
||||||
"bundle_column_error.copy_stacktrace": "Kopia el raporto de yerro",
|
"bundle_column_error.copy_stacktrace": "Kopia el raporto de yerro",
|
||||||
"bundle_column_error.error.body": "La pajina solisitada no pudo ser renderada. Podria ser por un yerro en muestro kodiche o un problem de kompatibilita kon el navigador.",
|
"bundle_column_error.error.body": "La pajina solisitada no pudo ser renderada. Podria ser por un yerro en muestro kodiche o un problem de kompatibilita kon el navigador.",
|
||||||
"bundle_column_error.error.title": "Atyo, no!",
|
"bundle_column_error.error.title": "Atyo, no!",
|
||||||
|
@ -155,6 +167,7 @@
|
||||||
"compose_form.poll.duration": "Durasion de anketa",
|
"compose_form.poll.duration": "Durasion de anketa",
|
||||||
"compose_form.poll.multiple": "Multiples opsyones",
|
"compose_form.poll.multiple": "Multiples opsyones",
|
||||||
"compose_form.poll.option_placeholder": "Opsyon {number}",
|
"compose_form.poll.option_placeholder": "Opsyon {number}",
|
||||||
|
"compose_form.poll.single": "Opsyon unika",
|
||||||
"compose_form.poll.switch_to_multiple": "Troka anketa para permeter a eskojer mas ke una opsyon",
|
"compose_form.poll.switch_to_multiple": "Troka anketa para permeter a eskojer mas ke una opsyon",
|
||||||
"compose_form.poll.switch_to_single": "Troka anketa para permeter a eskojer solo una opsyon",
|
"compose_form.poll.switch_to_single": "Troka anketa para permeter a eskojer solo una opsyon",
|
||||||
"compose_form.poll.type": "Estilo",
|
"compose_form.poll.type": "Estilo",
|
||||||
|
@ -213,6 +226,7 @@
|
||||||
"dismissable_banner.public_timeline": "Estas son las publikasyones publikas mas resientes de personas en la red sosyala a las kualas la djente de {domain} sige.",
|
"dismissable_banner.public_timeline": "Estas son las publikasyones publikas mas resientes de personas en la red sosyala a las kualas la djente de {domain} sige.",
|
||||||
"domain_block_modal.block": "Bloka sirvidor",
|
"domain_block_modal.block": "Bloka sirvidor",
|
||||||
"domain_block_modal.block_account_instead": "Bloka @{name} en su lugar",
|
"domain_block_modal.block_account_instead": "Bloka @{name} en su lugar",
|
||||||
|
"domain_block_modal.they_can_interact_with_old_posts": "Las personas de este sirvidor pueden enteraktuar kon tus puvlikasyones viejas.",
|
||||||
"domain_block_modal.they_cant_follow": "Dingun de este sirvidor puede segirte.",
|
"domain_block_modal.they_cant_follow": "Dingun de este sirvidor puede segirte.",
|
||||||
"domain_block_modal.they_wont_know": "No savra ke tiene sido blokado.",
|
"domain_block_modal.they_wont_know": "No savra ke tiene sido blokado.",
|
||||||
"domain_block_modal.title": "Bloka el domeno?",
|
"domain_block_modal.title": "Bloka el domeno?",
|
||||||
|
@ -307,6 +321,7 @@
|
||||||
"follow_suggestions.personalized_suggestion": "Sujestion personalizada",
|
"follow_suggestions.personalized_suggestion": "Sujestion personalizada",
|
||||||
"follow_suggestions.popular_suggestion": "Sujestion populara",
|
"follow_suggestions.popular_suggestion": "Sujestion populara",
|
||||||
"follow_suggestions.popular_suggestion_longer": "Popular en {domain}",
|
"follow_suggestions.popular_suggestion_longer": "Popular en {domain}",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "Similares a los profils ke tienes segido resyentemente",
|
||||||
"follow_suggestions.view_all": "Ve todos",
|
"follow_suggestions.view_all": "Ve todos",
|
||||||
"follow_suggestions.who_to_follow": "A ken segir",
|
"follow_suggestions.who_to_follow": "A ken segir",
|
||||||
"followed_tags": "Etiketas segidas",
|
"followed_tags": "Etiketas segidas",
|
||||||
|
@ -335,6 +350,9 @@
|
||||||
"hashtag.follow": "Sige etiketa",
|
"hashtag.follow": "Sige etiketa",
|
||||||
"hashtag.unfollow": "Desige etiketa",
|
"hashtag.unfollow": "Desige etiketa",
|
||||||
"hashtags.and_other": "…i {count, plural, one {}other {# mas}}",
|
"hashtags.and_other": "…i {count, plural, one {}other {# mas}}",
|
||||||
|
"hints.profiles.followers_may_be_missing": "Puede ser ke algunos suivantes de este profil no se amostren.",
|
||||||
|
"hints.profiles.follows_may_be_missing": "Puede ser ke algunos kuentos segidos por este profil no se amostren.",
|
||||||
|
"hints.profiles.posts_may_be_missing": "Puede ser ke algunas puvlikasyones de este profil no se amostren.",
|
||||||
"hints.profiles.see_more_followers": "Ve mas suivantes en {domain}",
|
"hints.profiles.see_more_followers": "Ve mas suivantes en {domain}",
|
||||||
"hints.profiles.see_more_follows": "Ve mas segidos en {domain}",
|
"hints.profiles.see_more_follows": "Ve mas segidos en {domain}",
|
||||||
"hints.profiles.see_more_posts": "Ve mas puvlikasyones en {domain}",
|
"hints.profiles.see_more_posts": "Ve mas puvlikasyones en {domain}",
|
||||||
|
@ -352,10 +370,12 @@
|
||||||
"ignore_notifications_modal.new_accounts_title": "Inyorar avizos de kuentos muevos?",
|
"ignore_notifications_modal.new_accounts_title": "Inyorar avizos de kuentos muevos?",
|
||||||
"ignore_notifications_modal.not_followers_title": "Inyorar avizos de personas a las kualas no te sigen?",
|
"ignore_notifications_modal.not_followers_title": "Inyorar avizos de personas a las kualas no te sigen?",
|
||||||
"ignore_notifications_modal.not_following_title": "Inyorar avizos de personas a las kualas no siges?",
|
"ignore_notifications_modal.not_following_title": "Inyorar avizos de personas a las kualas no siges?",
|
||||||
|
"ignore_notifications_modal.private_mentions_title": "Ignorar avizos de mensyones privadas no solisitadas?",
|
||||||
"interaction_modal.description.favourite": "Kon un kuento en Mastodon, puedes markar esta publikasyon komo favorita para ke el autor sepa ke te plaze i para guadrarla para dempues.",
|
"interaction_modal.description.favourite": "Kon un kuento en Mastodon, puedes markar esta publikasyon komo favorita para ke el autor sepa ke te plaze i para guadrarla para dempues.",
|
||||||
"interaction_modal.description.follow": "Kon un kuento en Mastodon, puedes segir a {name} para risivir sus publikasyones en tu linya temporal prinsipala.",
|
"interaction_modal.description.follow": "Kon un kuento en Mastodon, puedes segir a {name} para risivir sus publikasyones en tu linya temporal prinsipala.",
|
||||||
"interaction_modal.description.reblog": "Kon un kuento en Mastodon, puedes repartajar esta publikasyon para amostrarla a tus suivantes.",
|
"interaction_modal.description.reblog": "Kon un kuento en Mastodon, puedes repartajar esta publikasyon para amostrarla a tus suivantes.",
|
||||||
"interaction_modal.description.reply": "Kon un kuento en Mastodon, puedes arispondir a esta publikasyon.",
|
"interaction_modal.description.reply": "Kon un kuento en Mastodon, puedes arispondir a esta publikasyon.",
|
||||||
|
"interaction_modal.description.vote": "Kon un kuento en Mastodon, puedes votar en esta anketa.",
|
||||||
"interaction_modal.login.action": "Va a tu sirvidor",
|
"interaction_modal.login.action": "Va a tu sirvidor",
|
||||||
"interaction_modal.login.prompt": "Domeno del sirvidor de tu kuento, por enshemplo mastodon.social",
|
"interaction_modal.login.prompt": "Domeno del sirvidor de tu kuento, por enshemplo mastodon.social",
|
||||||
"interaction_modal.no_account_yet": "No tyenes kuento de Mastodon?",
|
"interaction_modal.no_account_yet": "No tyenes kuento de Mastodon?",
|
||||||
|
@ -367,6 +387,7 @@
|
||||||
"interaction_modal.title.follow": "Sige a {name}",
|
"interaction_modal.title.follow": "Sige a {name}",
|
||||||
"interaction_modal.title.reblog": "Repartaja publikasyon de {name}",
|
"interaction_modal.title.reblog": "Repartaja publikasyon de {name}",
|
||||||
"interaction_modal.title.reply": "Arisponde a publikasyon de {name}",
|
"interaction_modal.title.reply": "Arisponde a publikasyon de {name}",
|
||||||
|
"interaction_modal.title.vote": "Vota en la anketa de {name}",
|
||||||
"intervals.full.days": "{number, plural, one {# diya} other {# diyas}}",
|
"intervals.full.days": "{number, plural, one {# diya} other {# diyas}}",
|
||||||
"intervals.full.hours": "{number, plural, one {# ora} other {# oras}}",
|
"intervals.full.hours": "{number, plural, one {# ora} other {# oras}}",
|
||||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
|
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
|
||||||
|
@ -466,13 +487,16 @@
|
||||||
"navigation_bar.security": "Segurita",
|
"navigation_bar.security": "Segurita",
|
||||||
"not_signed_in_indicator.not_signed_in": "Nesesitas konektarse kon tu kuento para akseder este rekurso.",
|
"not_signed_in_indicator.not_signed_in": "Nesesitas konektarse kon tu kuento para akseder este rekurso.",
|
||||||
"notification.admin.report": "{name} raporto {target}",
|
"notification.admin.report": "{name} raporto {target}",
|
||||||
|
"notification.admin.report_statuses": "{name} raporto {target} por {category}",
|
||||||
"notification.admin.report_statuses_other": "{name} raporto {target}",
|
"notification.admin.report_statuses_other": "{name} raporto {target}",
|
||||||
"notification.admin.sign_up": "{name} kriyo un konto",
|
"notification.admin.sign_up": "{name} kriyo un konto",
|
||||||
|
"notification.annual_report.view": "Ve #Wrapstodon",
|
||||||
"notification.favourite": "A {name} le plaze tu publikasyon",
|
"notification.favourite": "A {name} le plaze tu publikasyon",
|
||||||
"notification.follow": "{name} te ampeso a segir",
|
"notification.follow": "{name} te ampeso a segir",
|
||||||
"notification.follow_request": "{name} tiene solisitado segirte",
|
"notification.follow_request": "{name} tiene solisitado segirte",
|
||||||
"notification.label.mention": "Enmenta",
|
"notification.label.mention": "Enmenta",
|
||||||
"notification.label.private_mention": "Enmentadura privada",
|
"notification.label.private_mention": "Enmentadura privada",
|
||||||
|
"notification.label.private_reply": "Repuesta privada",
|
||||||
"notification.label.reply": "Arisponde",
|
"notification.label.reply": "Arisponde",
|
||||||
"notification.mention": "Enmenta",
|
"notification.mention": "Enmenta",
|
||||||
"notification.mentioned_you": "{name} te enmento",
|
"notification.mentioned_you": "{name} te enmento",
|
||||||
|
@ -536,6 +560,7 @@
|
||||||
"notifications.policy.accept_hint": "Amostra en avizos",
|
"notifications.policy.accept_hint": "Amostra en avizos",
|
||||||
"notifications.policy.drop": "Inyora",
|
"notifications.policy.drop": "Inyora",
|
||||||
"notifications.policy.filter": "Filtra",
|
"notifications.policy.filter": "Filtra",
|
||||||
|
"notifications.policy.filter_limited_accounts_hint": "Limitadas por moderadores del sirvidor",
|
||||||
"notifications.policy.filter_limited_accounts_title": "Kuentos moderados",
|
"notifications.policy.filter_limited_accounts_title": "Kuentos moderados",
|
||||||
"notifications.policy.filter_new_accounts.hint": "Kriyadas durante {days, plural, one {el ultimo diya} other {los ultimos # diyas}}",
|
"notifications.policy.filter_new_accounts.hint": "Kriyadas durante {days, plural, one {el ultimo diya} other {los ultimos # diyas}}",
|
||||||
"notifications.policy.filter_new_accounts_title": "Muevos kuentos",
|
"notifications.policy.filter_new_accounts_title": "Muevos kuentos",
|
||||||
|
|
|
@ -101,6 +101,7 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "{name}",
|
"annual_report.summary.highlighted_post.possessive": "{name}",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "labiausiai naudota programa",
|
"annual_report.summary.most_used_app.most_used_app": "labiausiai naudota programa",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "labiausiai naudotas saitažodis",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "labiausiai naudotas saitažodis",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Nieko",
|
||||||
"annual_report.summary.new_posts.new_posts": "nauji įrašai",
|
"annual_report.summary.new_posts.new_posts": "nauji įrašai",
|
||||||
"annual_report.summary.percentile.text": "<topLabel>Tai reiškia, kad esate tarp</topLabel><percentage></percentage><bottomLabel>populiariausių „Mastodon“ naudotojų.</bottomLabel>",
|
"annual_report.summary.percentile.text": "<topLabel>Tai reiškia, kad esate tarp</topLabel><percentage></percentage><bottomLabel>populiariausių „Mastodon“ naudotojų.</bottomLabel>",
|
||||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Mes nesakysime Bernie.",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "Mes nesakysime Bernie.",
|
||||||
|
|
|
@ -86,6 +86,10 @@
|
||||||
"alert.unexpected.message": "Radās negaidīta kļūda.",
|
"alert.unexpected.message": "Radās negaidīta kļūda.",
|
||||||
"alert.unexpected.title": "Ups!",
|
"alert.unexpected.title": "Ups!",
|
||||||
"announcement.announcement": "Paziņojums",
|
"announcement.announcement": "Paziņojums",
|
||||||
|
"annual_report.summary.followers.followers": "sekotāji",
|
||||||
|
"annual_report.summary.followers.total": "pavisam {count}",
|
||||||
|
"annual_report.summary.here_it_is": "Šeit ir {year}. gada pārskats:",
|
||||||
|
"annual_report.summary.new_posts.new_posts": "jauni ieraksti",
|
||||||
"attachments_list.unprocessed": "(neapstrādāti)",
|
"attachments_list.unprocessed": "(neapstrādāti)",
|
||||||
"audio.hide": "Slēpt audio",
|
"audio.hide": "Slēpt audio",
|
||||||
"block_modal.remote_users_caveat": "Mēs vaicāsim serverim {domain} ņemt vērā Tavu lēmumu. Tomēr atbilstība nav nodrošināta, jo atsevišķi serveri var apstrādāt bloķēšanu citādi. Publiski ieraksti joprojām var būt redzami lietotājiem, kuri nav pieteikušies.",
|
"block_modal.remote_users_caveat": "Mēs vaicāsim serverim {domain} ņemt vērā Tavu lēmumu. Tomēr atbilstība nav nodrošināta, jo atsevišķi serveri var apstrādāt bloķēšanu citādi. Publiski ieraksti joprojām var būt redzami lietotājiem, kuri nav pieteikušies.",
|
||||||
|
|
|
@ -101,6 +101,7 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "{name}'s",
|
"annual_report.summary.highlighted_post.possessive": "{name}'s",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "meest gebruikte app",
|
"annual_report.summary.most_used_app.most_used_app": "meest gebruikte app",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "meest gebruikte hashtag",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "meest gebruikte hashtag",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Geen",
|
||||||
"annual_report.summary.new_posts.new_posts": "nieuwe berichten",
|
"annual_report.summary.new_posts.new_posts": "nieuwe berichten",
|
||||||
"annual_report.summary.percentile.text": "<topLabel>Dat zet je in de top</topLabel><percentage></percentage><bottomLabel>van Mastodon-gebruikers.</bottomLabel>",
|
"annual_report.summary.percentile.text": "<topLabel>Dat zet je in de top</topLabel><percentage></percentage><bottomLabel>van Mastodon-gebruikers.</bottomLabel>",
|
||||||
"annual_report.summary.percentile.we_wont_tell_bernie": "We zullen Bernie niets vertellen.",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "We zullen Bernie niets vertellen.",
|
||||||
|
|
|
@ -87,6 +87,24 @@
|
||||||
"alert.unexpected.title": "Oi sann!",
|
"alert.unexpected.title": "Oi sann!",
|
||||||
"alt_text_badge.title": "Alternativ tekst",
|
"alt_text_badge.title": "Alternativ tekst",
|
||||||
"announcement.announcement": "Kunngjering",
|
"announcement.announcement": "Kunngjering",
|
||||||
|
"annual_report.summary.archetype.booster": "Den som jaktar på noko kult",
|
||||||
|
"annual_report.summary.archetype.lurker": "Den som heng på hjørnet",
|
||||||
|
"annual_report.summary.archetype.oracle": "Orakelet",
|
||||||
|
"annual_report.summary.archetype.pollster": "Meiningsmålaren",
|
||||||
|
"annual_report.summary.archetype.replier": "Den sosiale sumarfuglen",
|
||||||
|
"annual_report.summary.followers.followers": "fylgjarar",
|
||||||
|
"annual_report.summary.followers.total": "{count} i alt",
|
||||||
|
"annual_report.summary.here_it_is": "Her er eit gjensyn med {year}:",
|
||||||
|
"annual_report.summary.highlighted_post.by_favourites": "det mest omtykte innlegget",
|
||||||
|
"annual_report.summary.highlighted_post.by_reblogs": "det mest framheva innlegget",
|
||||||
|
"annual_report.summary.highlighted_post.by_replies": "innlegget med flest svar",
|
||||||
|
"annual_report.summary.highlighted_post.possessive": "som {name} laga",
|
||||||
|
"annual_report.summary.most_used_app.most_used_app": "mest brukte app",
|
||||||
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "mest brukte emneknagg",
|
||||||
|
"annual_report.summary.new_posts.new_posts": "nye innlegg",
|
||||||
|
"annual_report.summary.percentile.text": "<topLabel>Du er av dei</topLabel><percentage></percentage><bottomLabel>ivrigaste Mastodon-brukarane.</bottomLabel>",
|
||||||
|
"annual_report.summary.percentile.we_wont_tell_bernie": "Ikkje eit ord til pressa.",
|
||||||
|
"annual_report.summary.thanks": "Takk for at du er med i Mastodon!",
|
||||||
"attachments_list.unprocessed": "(ubehandla)",
|
"attachments_list.unprocessed": "(ubehandla)",
|
||||||
"audio.hide": "Gøym lyd",
|
"audio.hide": "Gøym lyd",
|
||||||
"block_modal.remote_users_caveat": "Me vil be tenaren {domain} om å respektere di avgjerd. Me kan ikkje garantera at det vert gjort, sidan nokre tenarar kan handtera blokkering ulikt. Offentlege innlegg kan framleis vera synlege for ikkje-innlogga brukarar.",
|
"block_modal.remote_users_caveat": "Me vil be tenaren {domain} om å respektere di avgjerd. Me kan ikkje garantera at det vert gjort, sidan nokre tenarar kan handtera blokkering ulikt. Offentlege innlegg kan framleis vera synlege for ikkje-innlogga brukarar.",
|
||||||
|
@ -197,6 +215,7 @@
|
||||||
"confirmations.unfollow.title": "Slutt å fylgja brukaren?",
|
"confirmations.unfollow.title": "Slutt å fylgja brukaren?",
|
||||||
"content_warning.hide": "Gøym innlegg",
|
"content_warning.hide": "Gøym innlegg",
|
||||||
"content_warning.show": "Vis likevel",
|
"content_warning.show": "Vis likevel",
|
||||||
|
"content_warning.show_more": "Vis meir",
|
||||||
"conversation.delete": "Slett samtale",
|
"conversation.delete": "Slett samtale",
|
||||||
"conversation.mark_as_read": "Marker som lesen",
|
"conversation.mark_as_read": "Marker som lesen",
|
||||||
"conversation.open": "Sjå samtale",
|
"conversation.open": "Sjå samtale",
|
||||||
|
@ -305,6 +324,7 @@
|
||||||
"filter_modal.select_filter.subtitle": "Bruk ein eksisterande kategori eller opprett ein ny",
|
"filter_modal.select_filter.subtitle": "Bruk ein eksisterande kategori eller opprett ein ny",
|
||||||
"filter_modal.select_filter.title": "Filtrer dette innlegget",
|
"filter_modal.select_filter.title": "Filtrer dette innlegget",
|
||||||
"filter_modal.title.status": "Filtrer eit innlegg",
|
"filter_modal.title.status": "Filtrer eit innlegg",
|
||||||
|
"filter_warning.matches_filter": "Passar med filteret «<span>{title}</span>»",
|
||||||
"filtered_notifications_banner.pending_requests": "Frå {count, plural, =0 {ingen} one {éin person} other {# personar}} du kanskje kjenner",
|
"filtered_notifications_banner.pending_requests": "Frå {count, plural, =0 {ingen} one {éin person} other {# personar}} du kanskje kjenner",
|
||||||
"filtered_notifications_banner.title": "Filtrerte varslingar",
|
"filtered_notifications_banner.title": "Filtrerte varslingar",
|
||||||
"firehose.all": "Alle",
|
"firehose.all": "Alle",
|
||||||
|
@ -506,6 +526,8 @@
|
||||||
"notification.admin.report_statuses_other": "{name} rapporterte {target}",
|
"notification.admin.report_statuses_other": "{name} rapporterte {target}",
|
||||||
"notification.admin.sign_up": "{name} er registrert",
|
"notification.admin.sign_up": "{name} er registrert",
|
||||||
"notification.admin.sign_up.name_and_others": "{name} og {count, plural, one {# annan} other {# andre}} vart med",
|
"notification.admin.sign_up.name_and_others": "{name} og {count, plural, one {# annan} other {# andre}} vart med",
|
||||||
|
"notification.annual_report.message": "#Året ditt for {year} ventar! Sjå kva som skjedde i løpet av Mastodon-året ditt!",
|
||||||
|
"notification.annual_report.view": "Sjå #Året ditt",
|
||||||
"notification.favourite": "{name} markerte innlegget ditt som favoritt",
|
"notification.favourite": "{name} markerte innlegget ditt som favoritt",
|
||||||
"notification.favourite.name_and_others_with_link": "{name} og <a>{count, plural, one {# annan} other {# andre}}</a> favorittmerka innlegget ditt",
|
"notification.favourite.name_and_others_with_link": "{name} og <a>{count, plural, one {# annan} other {# andre}}</a> favorittmerka innlegget ditt",
|
||||||
"notification.follow": "{name} fylgde deg",
|
"notification.follow": "{name} fylgde deg",
|
||||||
|
|
|
@ -101,6 +101,7 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "{name}",
|
"annual_report.summary.highlighted_post.possessive": "{name}",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "aplicativo mais usado",
|
"annual_report.summary.most_used_app.most_used_app": "aplicativo mais usado",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag mais usada",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag mais usada",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Nenhuma",
|
||||||
"annual_report.summary.new_posts.new_posts": "novas publicações",
|
"annual_report.summary.new_posts.new_posts": "novas publicações",
|
||||||
"annual_report.summary.percentile.text": "<topLabel>Isso o coloca no topo</topLabel></percentage><bottomLabel>dos usuários de Mastodon.</bottomLabel>",
|
"annual_report.summary.percentile.text": "<topLabel>Isso o coloca no topo</topLabel></percentage><bottomLabel>dos usuários de Mastodon.</bottomLabel>",
|
||||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Não contaremos à Bernie.",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "Não contaremos à Bernie.",
|
||||||
|
|
|
@ -85,7 +85,11 @@
|
||||||
"alert.rate_limited.title": "Limite de tentativas",
|
"alert.rate_limited.title": "Limite de tentativas",
|
||||||
"alert.unexpected.message": "Ocorreu um erro inesperado.",
|
"alert.unexpected.message": "Ocorreu um erro inesperado.",
|
||||||
"alert.unexpected.title": "Bolas!",
|
"alert.unexpected.title": "Bolas!",
|
||||||
|
"alt_text_badge.title": "Texto alternativo",
|
||||||
"announcement.announcement": "Anúncio",
|
"announcement.announcement": "Anúncio",
|
||||||
|
"annual_report.summary.followers.total": "{count} total",
|
||||||
|
"annual_report.summary.here_it_is": "Aqui está o seu {year} em revisão:",
|
||||||
|
"annual_report.summary.new_posts.new_posts": "novas publicações",
|
||||||
"attachments_list.unprocessed": "(não processado)",
|
"attachments_list.unprocessed": "(não processado)",
|
||||||
"audio.hide": "Ocultar áudio",
|
"audio.hide": "Ocultar áudio",
|
||||||
"block_modal.remote_users_caveat": "Vamos pedir ao servidor {domain} para respeitar a sua decisão. No entanto, não é garantido o seu cumprimento, uma vez que alguns servidores podem tratar os bloqueios de forma diferente. As mensagens públicas podem continuar a ser visíveis para utilizadores não autenticados.",
|
"block_modal.remote_users_caveat": "Vamos pedir ao servidor {domain} para respeitar a sua decisão. No entanto, não é garantido o seu cumprimento, uma vez que alguns servidores podem tratar os bloqueios de forma diferente. As mensagens públicas podem continuar a ser visíveis para utilizadores não autenticados.",
|
||||||
|
|
|
@ -89,9 +89,11 @@
|
||||||
"announcement.announcement": "Объявление",
|
"announcement.announcement": "Объявление",
|
||||||
"annual_report.summary.archetype.booster": "Репостер",
|
"annual_report.summary.archetype.booster": "Репостер",
|
||||||
"annual_report.summary.archetype.lurker": "Молчун",
|
"annual_report.summary.archetype.lurker": "Молчун",
|
||||||
|
"annual_report.summary.archetype.oracle": "Шаман",
|
||||||
"annual_report.summary.archetype.pollster": "Опросчик",
|
"annual_report.summary.archetype.pollster": "Опросчик",
|
||||||
"annual_report.summary.archetype.replier": "Душа компании",
|
"annual_report.summary.archetype.replier": "Душа компании",
|
||||||
"annual_report.summary.followers.followers": "подписчиков",
|
"annual_report.summary.followers.followers": "подписчиков",
|
||||||
|
"annual_report.summary.followers.total": "{count} за всё время",
|
||||||
"annual_report.summary.here_it_is": "Вот ваши итоги {year} года:",
|
"annual_report.summary.here_it_is": "Вот ваши итоги {year} года:",
|
||||||
"annual_report.summary.highlighted_post.by_favourites": "пост с наибольшим количеством звёздочек",
|
"annual_report.summary.highlighted_post.by_favourites": "пост с наибольшим количеством звёздочек",
|
||||||
"annual_report.summary.highlighted_post.by_reblogs": "пост с наибольшим количеством продвижений",
|
"annual_report.summary.highlighted_post.by_reblogs": "пост с наибольшим количеством продвижений",
|
||||||
|
@ -99,7 +101,9 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "{name}",
|
"annual_report.summary.highlighted_post.possessive": "{name}",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "наиболее часто используемое приложение",
|
"annual_report.summary.most_used_app.most_used_app": "наиболее часто используемое приложение",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "наиболее часто используемый хэштег",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "наиболее часто используемый хэштег",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Нет",
|
||||||
"annual_report.summary.new_posts.new_posts": "новых постов",
|
"annual_report.summary.new_posts.new_posts": "новых постов",
|
||||||
|
"annual_report.summary.percentile.text": "<topLabel>Всё это помещает вас в топ</topLabel><percentage></percentage><bottomLabel>пользователей Mastodon.</bottomLabel>",
|
||||||
"annual_report.summary.thanks": "Спасибо за то, что были вместе с Mastodon!",
|
"annual_report.summary.thanks": "Спасибо за то, что были вместе с Mastodon!",
|
||||||
"attachments_list.unprocessed": "(не обработан)",
|
"attachments_list.unprocessed": "(не обработан)",
|
||||||
"audio.hide": "Скрыть аудио",
|
"audio.hide": "Скрыть аудио",
|
||||||
|
|
|
@ -88,6 +88,8 @@
|
||||||
"alt_text_badge.title": "Alternatívny popis",
|
"alt_text_badge.title": "Alternatívny popis",
|
||||||
"announcement.announcement": "Oznámenie",
|
"announcement.announcement": "Oznámenie",
|
||||||
"annual_report.summary.followers.followers": "sledovatelia",
|
"annual_report.summary.followers.followers": "sledovatelia",
|
||||||
|
"annual_report.summary.followers.total": "{count} celkovo",
|
||||||
|
"annual_report.summary.highlighted_post.by_favourites": "najviac obľúbený príspevok",
|
||||||
"annual_report.summary.highlighted_post.by_reblogs": "najviac vyzdvihovaný príspevok",
|
"annual_report.summary.highlighted_post.by_reblogs": "najviac vyzdvihovaný príspevok",
|
||||||
"annual_report.summary.highlighted_post.by_replies": "príspevok s najviac odpoveďami",
|
"annual_report.summary.highlighted_post.by_replies": "príspevok s najviac odpoveďami",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "najviac používaná aplikácia",
|
"annual_report.summary.most_used_app.most_used_app": "najviac používaná aplikácia",
|
||||||
|
@ -99,6 +101,7 @@
|
||||||
"block_modal.show_less": "Zobraziť menej",
|
"block_modal.show_less": "Zobraziť menej",
|
||||||
"block_modal.show_more": "Zobraziť viac",
|
"block_modal.show_more": "Zobraziť viac",
|
||||||
"block_modal.they_cant_mention": "Nemôžu ťa spomenúť, alebo nasledovať.",
|
"block_modal.they_cant_mention": "Nemôžu ťa spomenúť, alebo nasledovať.",
|
||||||
|
"block_modal.they_cant_see_posts": "On/a nemôže vidieť tvoje príspevky a ty neuvidíš jej/ho.",
|
||||||
"block_modal.they_will_know": "Môžu vidieť, že sú zablokovaní/ý.",
|
"block_modal.they_will_know": "Môžu vidieť, že sú zablokovaní/ý.",
|
||||||
"block_modal.title": "Blokovať užívateľa?",
|
"block_modal.title": "Blokovať užívateľa?",
|
||||||
"block_modal.you_wont_see_mentions": "Neuvidíš príspevky, ktoré ich spomínajú.",
|
"block_modal.you_wont_see_mentions": "Neuvidíš príspevky, ktoré ich spomínajú.",
|
||||||
|
@ -345,6 +348,7 @@
|
||||||
"hashtag.follow": "Sledovať hashtag",
|
"hashtag.follow": "Sledovať hashtag",
|
||||||
"hashtag.unfollow": "Prestať sledovať hashtag",
|
"hashtag.unfollow": "Prestať sledovať hashtag",
|
||||||
"hashtags.and_other": "…a {count, plural, other {# ďalších}}",
|
"hashtags.and_other": "…a {count, plural, other {# ďalších}}",
|
||||||
|
"hints.threads.see_more": "Pozri viac odpovedí na {domain}",
|
||||||
"home.column_settings.show_reblogs": "Zobraziť zdieľania",
|
"home.column_settings.show_reblogs": "Zobraziť zdieľania",
|
||||||
"home.column_settings.show_replies": "Zobraziť odpovede",
|
"home.column_settings.show_replies": "Zobraziť odpovede",
|
||||||
"home.hide_announcements": "Skryť oznámenia",
|
"home.hide_announcements": "Skryť oznámenia",
|
||||||
|
@ -371,6 +375,7 @@
|
||||||
"interaction_modal.title.follow": "Sledovať {name}",
|
"interaction_modal.title.follow": "Sledovať {name}",
|
||||||
"interaction_modal.title.reblog": "Zdieľať príspevok od {name}",
|
"interaction_modal.title.reblog": "Zdieľať príspevok od {name}",
|
||||||
"interaction_modal.title.reply": "Odpovedať na príspevok od {name}",
|
"interaction_modal.title.reply": "Odpovedať na príspevok od {name}",
|
||||||
|
"interaction_modal.title.vote": "Hlasuj v ankete od {name}",
|
||||||
"intervals.full.days": "{number, plural, one {# deň} few {# dni} many {# dní} other {# dní}}",
|
"intervals.full.days": "{number, plural, one {# deň} few {# dni} many {# dní} other {# dní}}",
|
||||||
"intervals.full.hours": "{number, plural, one {# hodina} few {# hodiny} many {# hodín} other {# hodín}}",
|
"intervals.full.hours": "{number, plural, one {# hodina} few {# hodiny} many {# hodín} other {# hodín}}",
|
||||||
"intervals.full.minutes": "{number, plural, one {# minúta} few {# minúty} many {# minút} other {# minút}}",
|
"intervals.full.minutes": "{number, plural, one {# minúta} few {# minúty} many {# minút} other {# minút}}",
|
||||||
|
|
|
@ -96,6 +96,7 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "nga {name}",
|
"annual_report.summary.highlighted_post.possessive": "nga {name}",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "aplikacioni më i përdorur",
|
"annual_report.summary.most_used_app.most_used_app": "aplikacioni më i përdorur",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag-u më i përdorur",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag-u më i përdorur",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Asnjë",
|
||||||
"annual_report.summary.new_posts.new_posts": "postime të reja",
|
"annual_report.summary.new_posts.new_posts": "postime të reja",
|
||||||
"annual_report.summary.percentile.text": "<topLabel>Kjo ju vë në krye</topLabel><percentage></percentage><bottomLabel>të përdoruesve të Mastodon-it.</bottomLabel>",
|
"annual_report.summary.percentile.text": "<topLabel>Kjo ju vë në krye</topLabel><percentage></percentage><bottomLabel>të përdoruesve të Mastodon-it.</bottomLabel>",
|
||||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Nuk do t’ia themi Bernit.",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "Nuk do t’ia themi Bernit.",
|
||||||
|
@ -526,6 +527,7 @@
|
||||||
"notification.favourite": "{name} i vuri shenjë postimit tuaj si të parapëlqyer",
|
"notification.favourite": "{name} i vuri shenjë postimit tuaj si të parapëlqyer",
|
||||||
"notification.favourite.name_and_others_with_link": "{name} dhe <a>{count, plural, one {# tjetër} other {# të tjerë}}</a> i vunë shenjë postimit tuaj si të parapëlqyer",
|
"notification.favourite.name_and_others_with_link": "{name} dhe <a>{count, plural, one {# tjetër} other {# të tjerë}}</a> i vunë shenjë postimit tuaj si të parapëlqyer",
|
||||||
"notification.follow": "{name} zuri t’ju ndjekë",
|
"notification.follow": "{name} zuri t’ju ndjekë",
|
||||||
|
"notification.follow.name_and_others": "Ju ndoqi {name} dhe <a>{count, plural, one {# tjetër} other {# të tjerë}}</a>",
|
||||||
"notification.follow_request": "{name} ka kërkuar t’ju ndjekë",
|
"notification.follow_request": "{name} ka kërkuar t’ju ndjekë",
|
||||||
"notification.follow_request.name_and_others": "Ka kërkuar t’ju ndjekë {name} dhe {count, plural, one {# tjetër} other {# të tjerë}}",
|
"notification.follow_request.name_and_others": "Ka kërkuar t’ju ndjekë {name} dhe {count, plural, one {# tjetër} other {# të tjerë}}",
|
||||||
"notification.label.mention": "Përmendje",
|
"notification.label.mention": "Përmendje",
|
||||||
|
@ -584,6 +586,7 @@
|
||||||
"notifications.column_settings.filter_bar.category": "Shtyllë filtrimesh të shpejta",
|
"notifications.column_settings.filter_bar.category": "Shtyllë filtrimesh të shpejta",
|
||||||
"notifications.column_settings.follow": "Ndjekës të rinj:",
|
"notifications.column_settings.follow": "Ndjekës të rinj:",
|
||||||
"notifications.column_settings.follow_request": "Kërkesa të reja për ndjekje:",
|
"notifications.column_settings.follow_request": "Kërkesa të reja për ndjekje:",
|
||||||
|
"notifications.column_settings.group": "Grupoji",
|
||||||
"notifications.column_settings.mention": "Përmendje:",
|
"notifications.column_settings.mention": "Përmendje:",
|
||||||
"notifications.column_settings.poll": "Përfundime pyetësori:",
|
"notifications.column_settings.poll": "Përfundime pyetësori:",
|
||||||
"notifications.column_settings.push": "Njoftime Push",
|
"notifications.column_settings.push": "Njoftime Push",
|
||||||
|
|
|
@ -101,6 +101,7 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "{name}s",
|
"annual_report.summary.highlighted_post.possessive": "{name}s",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "mest använda app",
|
"annual_report.summary.most_used_app.most_used_app": "mest använda app",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "mest använda hashtag",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "mest använda hashtag",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Inga",
|
||||||
"annual_report.summary.new_posts.new_posts": "nya inlägg",
|
"annual_report.summary.new_posts.new_posts": "nya inlägg",
|
||||||
"annual_report.summary.percentile.text": "<topLabel>Det placerar dig i topp</topLabel><percentage></percentage><bottomLabel>av Mastodon-användare.</bottomLabel>",
|
"annual_report.summary.percentile.text": "<topLabel>Det placerar dig i topp</topLabel><percentage></percentage><bottomLabel>av Mastodon-användare.</bottomLabel>",
|
||||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Vi berättar inte för Bernie.",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "Vi berättar inte för Bernie.",
|
||||||
|
@ -424,7 +425,7 @@
|
||||||
"keyboard_shortcuts.blocked": "Öppna listan över blockerade användare",
|
"keyboard_shortcuts.blocked": "Öppna listan över blockerade användare",
|
||||||
"keyboard_shortcuts.boost": "Boosta inlägg",
|
"keyboard_shortcuts.boost": "Boosta inlägg",
|
||||||
"keyboard_shortcuts.column": "Fokusera kolumn",
|
"keyboard_shortcuts.column": "Fokusera kolumn",
|
||||||
"keyboard_shortcuts.compose": "för att fokusera skrivfältet",
|
"keyboard_shortcuts.compose": "Fokusera skrivfältet",
|
||||||
"keyboard_shortcuts.description": "Beskrivning",
|
"keyboard_shortcuts.description": "Beskrivning",
|
||||||
"keyboard_shortcuts.direct": "för att öppna privata nämningskolumnen",
|
"keyboard_shortcuts.direct": "för att öppna privata nämningskolumnen",
|
||||||
"keyboard_shortcuts.down": "Flytta ner i listan",
|
"keyboard_shortcuts.down": "Flytta ner i listan",
|
||||||
|
@ -433,20 +434,20 @@
|
||||||
"keyboard_shortcuts.favourites": "Öppna favoritlistan",
|
"keyboard_shortcuts.favourites": "Öppna favoritlistan",
|
||||||
"keyboard_shortcuts.federated": "Öppna federerad tidslinje",
|
"keyboard_shortcuts.federated": "Öppna federerad tidslinje",
|
||||||
"keyboard_shortcuts.heading": "Tangentbordsgenvägar",
|
"keyboard_shortcuts.heading": "Tangentbordsgenvägar",
|
||||||
"keyboard_shortcuts.home": "för att öppna Hem-tidslinjen",
|
"keyboard_shortcuts.home": "Öppna Hemtidslinjen",
|
||||||
"keyboard_shortcuts.hotkey": "Kommando",
|
"keyboard_shortcuts.hotkey": "Kommando",
|
||||||
"keyboard_shortcuts.legend": "för att visa denna översikt",
|
"keyboard_shortcuts.legend": "Visa denna översikt",
|
||||||
"keyboard_shortcuts.local": "för att öppna Lokal tidslinje",
|
"keyboard_shortcuts.local": "Öppna lokal tidslinje",
|
||||||
"keyboard_shortcuts.mention": "för att nämna skaparen",
|
"keyboard_shortcuts.mention": "Nämna skaparen",
|
||||||
"keyboard_shortcuts.muted": "Öppna listan över tystade användare",
|
"keyboard_shortcuts.muted": "Öppna listan över tystade användare",
|
||||||
"keyboard_shortcuts.my_profile": "för att öppna din profil",
|
"keyboard_shortcuts.my_profile": "Öppna din profil",
|
||||||
"keyboard_shortcuts.notifications": "för att öppna Meddelanden",
|
"keyboard_shortcuts.notifications": "Öppna meddelanden",
|
||||||
"keyboard_shortcuts.open_media": "öppna media",
|
"keyboard_shortcuts.open_media": "Öppna media",
|
||||||
"keyboard_shortcuts.pinned": "Öppna listan över fästa inlägg",
|
"keyboard_shortcuts.pinned": "Öppna listan över fästa inlägg",
|
||||||
"keyboard_shortcuts.profile": "för att öppna skaparens profil",
|
"keyboard_shortcuts.profile": "Öppna författarens profil",
|
||||||
"keyboard_shortcuts.reply": "Svara på inlägg",
|
"keyboard_shortcuts.reply": "Svara på inlägg",
|
||||||
"keyboard_shortcuts.requests": "för att öppna Följförfrågningar",
|
"keyboard_shortcuts.requests": "Öppna följförfrågningar",
|
||||||
"keyboard_shortcuts.search": "för att fokusera sökfältet",
|
"keyboard_shortcuts.search": "Fokusera sökfältet",
|
||||||
"keyboard_shortcuts.spoilers": "Visa/dölja CW-fält",
|
"keyboard_shortcuts.spoilers": "Visa/dölja CW-fält",
|
||||||
"keyboard_shortcuts.start": "Öppna \"Kom igång\"-kolumnen",
|
"keyboard_shortcuts.start": "Öppna \"Kom igång\"-kolumnen",
|
||||||
"keyboard_shortcuts.toggle_hidden": "Visa/gömma text bakom CW",
|
"keyboard_shortcuts.toggle_hidden": "Visa/gömma text bakom CW",
|
||||||
|
|
|
@ -87,6 +87,13 @@
|
||||||
"alert.unexpected.title": "อุปส์!",
|
"alert.unexpected.title": "อุปส์!",
|
||||||
"alt_text_badge.title": "ข้อความแสดงแทน",
|
"alt_text_badge.title": "ข้อความแสดงแทน",
|
||||||
"announcement.announcement": "ประกาศ",
|
"announcement.announcement": "ประกาศ",
|
||||||
|
"annual_report.summary.followers.followers": "ผู้ติดตาม",
|
||||||
|
"annual_report.summary.highlighted_post.by_favourites": "โพสต์ที่ได้รับการชื่นชอบมากที่สุด",
|
||||||
|
"annual_report.summary.highlighted_post.by_reblogs": "โพสต์ที่ได้รับการดันมากที่สุด",
|
||||||
|
"annual_report.summary.highlighted_post.by_replies": "โพสต์ที่มีการตอบกลับมากที่สุด",
|
||||||
|
"annual_report.summary.new_posts.new_posts": "โพสต์ใหม่",
|
||||||
|
"annual_report.summary.percentile.we_wont_tell_bernie": "เราจะไม่บอก Bernie",
|
||||||
|
"annual_report.summary.thanks": "ขอบคุณสำหรับการเป็นส่วนหนึ่งของ Mastodon!",
|
||||||
"attachments_list.unprocessed": "(ยังไม่ได้ประมวลผล)",
|
"attachments_list.unprocessed": "(ยังไม่ได้ประมวลผล)",
|
||||||
"audio.hide": "ซ่อนเสียง",
|
"audio.hide": "ซ่อนเสียง",
|
||||||
"block_modal.remote_users_caveat": "เราจะขอให้เซิร์ฟเวอร์ {domain} เคารพการตัดสินใจของคุณ อย่างไรก็ตาม ไม่รับประกันการปฏิบัติตามข้อกำหนดเนื่องจากเซิร์ฟเวอร์บางแห่งอาจจัดการการปิดกั้นแตกต่างกัน โพสต์สาธารณะอาจยังคงปรากฏแก่ผู้ใช้ที่ไม่ได้เข้าสู่ระบบ",
|
"block_modal.remote_users_caveat": "เราจะขอให้เซิร์ฟเวอร์ {domain} เคารพการตัดสินใจของคุณ อย่างไรก็ตาม ไม่รับประกันการปฏิบัติตามข้อกำหนดเนื่องจากเซิร์ฟเวอร์บางแห่งอาจจัดการการปิดกั้นแตกต่างกัน โพสต์สาธารณะอาจยังคงปรากฏแก่ผู้ใช้ที่ไม่ได้เข้าสู่ระบบ",
|
||||||
|
@ -508,6 +515,7 @@
|
||||||
"notification.admin.report_statuses_other": "{name} ได้รายงาน {target}",
|
"notification.admin.report_statuses_other": "{name} ได้รายงาน {target}",
|
||||||
"notification.admin.sign_up": "{name} ได้ลงทะเบียน",
|
"notification.admin.sign_up": "{name} ได้ลงทะเบียน",
|
||||||
"notification.admin.sign_up.name_and_others": "{name} และ {count, plural, other {# อื่น ๆ}} ได้ลงทะเบียน",
|
"notification.admin.sign_up.name_and_others": "{name} และ {count, plural, other {# อื่น ๆ}} ได้ลงทะเบียน",
|
||||||
|
"notification.annual_report.view": "ดู #Wrapstodon",
|
||||||
"notification.favourite": "{name} ได้ชื่นชอบโพสต์ของคุณ",
|
"notification.favourite": "{name} ได้ชื่นชอบโพสต์ของคุณ",
|
||||||
"notification.favourite.name_and_others_with_link": "{name} และ <a>{count, plural, other {# อื่น ๆ}}</a> ได้ชื่นชอบโพสต์ของคุณ",
|
"notification.favourite.name_and_others_with_link": "{name} และ <a>{count, plural, other {# อื่น ๆ}}</a> ได้ชื่นชอบโพสต์ของคุณ",
|
||||||
"notification.follow": "{name} ได้ติดตามคุณ",
|
"notification.follow": "{name} ได้ติดตามคุณ",
|
||||||
|
|
|
@ -101,6 +101,7 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "{name}",
|
"annual_report.summary.highlighted_post.possessive": "{name}",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "en çok kullanılan uygulama",
|
"annual_report.summary.most_used_app.most_used_app": "en çok kullanılan uygulama",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "en çok kullanılan etiket",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "en çok kullanılan etiket",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Yok",
|
||||||
"annual_report.summary.new_posts.new_posts": "yeni gönderiler",
|
"annual_report.summary.new_posts.new_posts": "yeni gönderiler",
|
||||||
"annual_report.summary.percentile.text": "<bottomLabel>Mastodon kullanıcılarının</bottomLabel><percentage></percentage><topLabel>üst dilimindesiniz</topLabel>.",
|
"annual_report.summary.percentile.text": "<bottomLabel>Mastodon kullanıcılarının</bottomLabel><percentage></percentage><topLabel>üst dilimindesiniz</topLabel>.",
|
||||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Bernie'ye söylemeyiz.",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "Bernie'ye söylemeyiz.",
|
||||||
|
|
|
@ -87,7 +87,25 @@
|
||||||
"alert.unexpected.title": "Ой!",
|
"alert.unexpected.title": "Ой!",
|
||||||
"alt_text_badge.title": "Альтернативний текст",
|
"alt_text_badge.title": "Альтернативний текст",
|
||||||
"announcement.announcement": "Оголошення",
|
"announcement.announcement": "Оголошення",
|
||||||
|
"annual_report.summary.archetype.booster": "Мисливець на дописи",
|
||||||
|
"annual_report.summary.archetype.lurker": "Причаєнець",
|
||||||
|
"annual_report.summary.archetype.oracle": "Оракул",
|
||||||
|
"annual_report.summary.archetype.pollster": "Опитувач",
|
||||||
|
"annual_report.summary.archetype.replier": "Душа компанії",
|
||||||
|
"annual_report.summary.followers.followers": "підписники",
|
||||||
|
"annual_report.summary.followers.total": "Загалом {count}",
|
||||||
|
"annual_report.summary.here_it_is": "Ось ваші підсумки {year} року:",
|
||||||
|
"annual_report.summary.highlighted_post.by_favourites": "найуподобаніші дописи",
|
||||||
|
"annual_report.summary.highlighted_post.by_reblogs": "найпоширюваніші дописи",
|
||||||
|
"annual_report.summary.highlighted_post.by_replies": "найкоментованіші дописи",
|
||||||
|
"annual_report.summary.highlighted_post.possessive": "{name}",
|
||||||
|
"annual_report.summary.most_used_app.most_used_app": "найчастіше використовуваний застосунок",
|
||||||
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "найчастіший хештег",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Немає",
|
||||||
"annual_report.summary.new_posts.new_posts": "нові дописи",
|
"annual_report.summary.new_posts.new_posts": "нові дописи",
|
||||||
|
"annual_report.summary.percentile.text": "<topLabel>Це виводить вас в топ</topLabel><percentage></percentage><bottomLabel> користувачів Mastodon.</bottomLabel>",
|
||||||
|
"annual_report.summary.percentile.we_wont_tell_bernie": "Ми не скажемо Bernie.",
|
||||||
|
"annual_report.summary.thanks": "Дякуємо, що ви є частиною Mastodon!",
|
||||||
"attachments_list.unprocessed": "(не оброблено)",
|
"attachments_list.unprocessed": "(не оброблено)",
|
||||||
"audio.hide": "Сховати аудіо",
|
"audio.hide": "Сховати аудіо",
|
||||||
"block_modal.remote_users_caveat": "Ми попросимо сервер {domain} поважати ваше рішення. Однак дотримання вимог не гарантується, оскільки деякі сервери можуть обробляти блоки по-різному. Загальнодоступні дописи все ще можуть бути видимими для користувачів, які не увійшли в систему.",
|
"block_modal.remote_users_caveat": "Ми попросимо сервер {domain} поважати ваше рішення. Однак дотримання вимог не гарантується, оскільки деякі сервери можуть обробляти блоки по-різному. Загальнодоступні дописи все ще можуть бути видимими для користувачів, які не увійшли в систему.",
|
||||||
|
@ -509,6 +527,8 @@
|
||||||
"notification.admin.report_statuses_other": "{name} повідомляє про {target}",
|
"notification.admin.report_statuses_other": "{name} повідомляє про {target}",
|
||||||
"notification.admin.sign_up": "{name} приєдналися",
|
"notification.admin.sign_up": "{name} приєдналися",
|
||||||
"notification.admin.sign_up.name_and_others": "{name} та {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} зареєструвалися",
|
"notification.admin.sign_up.name_and_others": "{name} та {count, plural, one {# інший} few {# інших} many {# інших} other {# інший}} зареєструвалися",
|
||||||
|
"notification.annual_report.message": "#Wrapstodon за {year} чекає на вас! Дізнайтеся про найяскравіші та пам'ятні моменти вашого року на Mastodon!",
|
||||||
|
"notification.annual_report.view": "Переглянути #Wrapstodon",
|
||||||
"notification.favourite": "Ваш допис сподобався {name}",
|
"notification.favourite": "Ваш допис сподобався {name}",
|
||||||
"notification.favourite.name_and_others_with_link": "{name} та <a>{count, plural, one {# інший} few {# інших} many {# інших} other {# інший}}</a> вподобали ваш допис",
|
"notification.favourite.name_and_others_with_link": "{name} та <a>{count, plural, one {# інший} few {# інших} many {# інших} other {# інший}}</a> вподобали ваш допис",
|
||||||
"notification.follow": "{name} підписалися на вас",
|
"notification.follow": "{name} підписалися на вас",
|
||||||
|
|
|
@ -101,6 +101,7 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "{name}",
|
"annual_report.summary.highlighted_post.possessive": "{name}",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "app dùng nhiều nhất",
|
"annual_report.summary.most_used_app.most_used_app": "app dùng nhiều nhất",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag dùng nhiều nhất",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "hashtag dùng nhiều nhất",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "Không có",
|
||||||
"annual_report.summary.new_posts.new_posts": "tút mới",
|
"annual_report.summary.new_posts.new_posts": "tút mới",
|
||||||
"annual_report.summary.percentile.text": "<topLabel>Bạn nằm trong top</topLabel><percentage></percentage><bottomLabel>thành viên Mastodon.</bottomLabel>",
|
"annual_report.summary.percentile.text": "<topLabel>Bạn nằm trong top</topLabel><percentage></percentage><bottomLabel>thành viên Mastodon.</bottomLabel>",
|
||||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Chúng tôi sẽ không kể cho Bernie.",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "Chúng tôi sẽ không kể cho Bernie.",
|
||||||
|
|
|
@ -101,6 +101,7 @@
|
||||||
"annual_report.summary.highlighted_post.possessive": "{name} 的",
|
"annual_report.summary.highlighted_post.possessive": "{name} 的",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "最常用的应用",
|
"annual_report.summary.most_used_app.most_used_app": "最常用的应用",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "最常用的话题",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "最常用的话题",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "无",
|
||||||
"annual_report.summary.new_posts.new_posts": "新发嘟",
|
"annual_report.summary.new_posts.new_posts": "新发嘟",
|
||||||
"annual_report.summary.percentile.text": "<topLabel>这使你跻身 Mastodon 用户的前</topLabel><percentage></percentage><bottomLabel></bottomLabel>",
|
"annual_report.summary.percentile.text": "<topLabel>这使你跻身 Mastodon 用户的前</topLabel><percentage></percentage><bottomLabel></bottomLabel>",
|
||||||
"annual_report.summary.percentile.we_wont_tell_bernie": "我们打死也不会告诉Bernie。",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "我们打死也不会告诉Bernie。",
|
||||||
|
|
|
@ -87,23 +87,25 @@
|
||||||
"alert.unexpected.title": "哎呀!",
|
"alert.unexpected.title": "哎呀!",
|
||||||
"alt_text_badge.title": "ALT 說明文字",
|
"alt_text_badge.title": "ALT 說明文字",
|
||||||
"announcement.announcement": "公告",
|
"announcement.announcement": "公告",
|
||||||
"annual_report.summary.archetype.booster": "酷炫的獵人",
|
"annual_report.summary.archetype.booster": "酷炫獵人",
|
||||||
"annual_report.summary.archetype.lurker": "潛伏者",
|
"annual_report.summary.archetype.lurker": "潛水高手",
|
||||||
"annual_report.summary.archetype.oracle": "先知",
|
"annual_report.summary.archetype.oracle": "先知",
|
||||||
"annual_report.summary.archetype.pollster": "民調人員",
|
"annual_report.summary.archetype.pollster": "民調專家",
|
||||||
"annual_report.summary.archetype.replier": "社交菁英",
|
"annual_report.summary.archetype.replier": "社交菁英",
|
||||||
"annual_report.summary.followers.followers": "跟隨者",
|
"annual_report.summary.followers.followers": "跟隨者",
|
||||||
"annual_report.summary.followers.total": "總共 {count}",
|
"annual_report.summary.followers.total": "總共 {count}",
|
||||||
"annual_report.summary.here_it_is": "以下是您的{year}年度回顧:",
|
"annual_report.summary.here_it_is": "以下是您的 {year} 年度回顧:",
|
||||||
"annual_report.summary.highlighted_post.by_favourites": "最愛的嘟文",
|
"annual_report.summary.highlighted_post.by_favourites": "最多被加到最愛的嘟文",
|
||||||
"annual_report.summary.highlighted_post.by_reblogs": "最多轉嘟的嘟文",
|
"annual_report.summary.highlighted_post.by_reblogs": "最多轉嘟的嘟文",
|
||||||
"annual_report.summary.highlighted_post.by_replies": "最多回覆的嘟文",
|
"annual_report.summary.highlighted_post.by_replies": "最多回覆的嘟文",
|
||||||
"annual_report.summary.highlighted_post.possessive": "{name} 的",
|
"annual_report.summary.highlighted_post.possessive": "{name} 的",
|
||||||
"annual_report.summary.most_used_app.most_used_app": "最常使用的應用程式",
|
"annual_report.summary.most_used_app.most_used_app": "最常使用的應用程式",
|
||||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "最常使用的主題標籤",
|
"annual_report.summary.most_used_hashtag.most_used_hashtag": "最常使用的主題標籤",
|
||||||
|
"annual_report.summary.most_used_hashtag.none": "無最常用之主題標籤",
|
||||||
"annual_report.summary.new_posts.new_posts": "新嘟文",
|
"annual_report.summary.new_posts.new_posts": "新嘟文",
|
||||||
"annual_report.summary.percentile.text": "<topLabel>這讓您成為前</topLabel><percentage></percentage><bottomLabel>Mastodon 的使用者。</bottomLabel>",
|
"annual_report.summary.percentile.text": "<topLabel>這讓您成為前</topLabel><percentage></percentage><bottomLabel>Mastodon 的使用者。</bottomLabel>",
|
||||||
"annual_report.summary.thanks": "感謝您成為 Mastodon 的一員!",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "我們不會告訴 Bernie。",
|
||||||
|
"annual_report.summary.thanks": "感謝您成為 Mastodon 的一份子!",
|
||||||
"attachments_list.unprocessed": "(未經處理)",
|
"attachments_list.unprocessed": "(未經處理)",
|
||||||
"audio.hide": "隱藏音訊",
|
"audio.hide": "隱藏音訊",
|
||||||
"block_modal.remote_users_caveat": "我們會要求 {domain} 伺服器尊重您的決定。然而,我們無法保證所有伺服器皆會遵守,某些伺服器可能以不同方式處理封鎖。未登入之使用者仍可能看見您的公開嘟文。",
|
"block_modal.remote_users_caveat": "我們會要求 {domain} 伺服器尊重您的決定。然而,我們無法保證所有伺服器皆會遵守,某些伺服器可能以不同方式處理封鎖。未登入之使用者仍可能看見您的公開嘟文。",
|
||||||
|
@ -525,6 +527,8 @@
|
||||||
"notification.admin.report_statuses_other": "{name} 已檢舉 {target}",
|
"notification.admin.report_statuses_other": "{name} 已檢舉 {target}",
|
||||||
"notification.admin.sign_up": "{name} 已經註冊",
|
"notification.admin.sign_up": "{name} 已經註冊",
|
||||||
"notification.admin.sign_up.name_and_others": "{name} 與{count, plural, other {其他 # 個人}}已註冊",
|
"notification.admin.sign_up.name_and_others": "{name} 與{count, plural, other {其他 # 個人}}已註冊",
|
||||||
|
"notification.annual_report.message": "您的 {year} #Wrapstodon 正等著您!揭開您 Mastodon 上的年度精彩時刻與值得回憶的難忘時光!",
|
||||||
|
"notification.annual_report.view": "檢視 #Wrapstodon",
|
||||||
"notification.favourite": "{name} 已將您的嘟文加入最愛",
|
"notification.favourite": "{name} 已將您的嘟文加入最愛",
|
||||||
"notification.favourite.name_and_others_with_link": "{name} 與<a>{count, plural, other {其他 # 個人}}</a>已將您的嘟文加入最愛",
|
"notification.favourite.name_and_others_with_link": "{name} 與<a>{count, plural, other {其他 # 個人}}</a>已將您的嘟文加入最愛",
|
||||||
"notification.follow": "{name} 已跟隨您",
|
"notification.follow": "{name} 已跟隨您",
|
||||||
|
|
|
@ -535,3 +535,10 @@ a.sparkline {
|
||||||
::-webkit-scrollbar-thumb {
|
::-webkit-scrollbar-thumb {
|
||||||
opacity: 0.25;
|
opacity: 0.25;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.notification-group--annual-report {
|
||||||
|
.notification-group__icon,
|
||||||
|
.notification-group__main .link-button {
|
||||||
|
color: var(--indigo-3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1938,3 +1938,31 @@ a.sparkline {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.status__card {
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 4px;
|
||||||
|
background: $ui-base-color;
|
||||||
|
font-size: 15px;
|
||||||
|
line-height: 20px;
|
||||||
|
word-wrap: break-word;
|
||||||
|
font-weight: 400;
|
||||||
|
border: 1px solid lighten($ui-base-color, 4%);
|
||||||
|
color: $primary-text-color;
|
||||||
|
box-sizing: border-box;
|
||||||
|
min-height: 100%;
|
||||||
|
|
||||||
|
.status__prepend {
|
||||||
|
padding: 0 0 15px;
|
||||||
|
gap: 4px;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.status__content {
|
||||||
|
padding-top: 0;
|
||||||
|
|
||||||
|
summary {
|
||||||
|
display: list-item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -103,6 +103,11 @@
|
||||||
background-color: var(--goldenrod-2);
|
background-color: var(--goldenrod-2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.status-card,
|
||||||
|
.hashtag-bar {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&__followers {
|
&__followers {
|
||||||
|
@ -237,7 +242,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
&__number {
|
&__number {
|
||||||
font-size: 61px;
|
font-size: 54px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
line-height: 73px;
|
line-height: 73px;
|
||||||
color: var(--goldenrod-2);
|
color: var(--goldenrod-2);
|
||||||
|
@ -306,7 +311,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.annual-report-modal {
|
.annual-report-modal {
|
||||||
max-width: 480px;
|
max-width: 600px;
|
||||||
background: var(--indigo-1);
|
background: var(--indigo-1);
|
||||||
border-radius: 16px;
|
border-radius: 16px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
@ -339,16 +339,12 @@ a.table-action-link {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.status__content {
|
// Reset the status card to not have borders, background or padding when
|
||||||
padding-top: 0;
|
// inline in the table of statuses
|
||||||
|
.status__card {
|
||||||
summary {
|
border: none;
|
||||||
display: list-item;
|
background: none;
|
||||||
}
|
padding: 0;
|
||||||
|
|
||||||
strong {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.nothing-here {
|
.nothing-here {
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class AccountReachFinder
|
class AccountReachFinder
|
||||||
|
RECENT_LIMIT = 2_000
|
||||||
|
STATUS_LIMIT = 200
|
||||||
|
STATUS_SINCE = 2.days
|
||||||
|
|
||||||
def initialize(account)
|
def initialize(account)
|
||||||
@account = account
|
@account = account
|
||||||
end
|
end
|
||||||
|
@ -20,13 +24,27 @@ class AccountReachFinder
|
||||||
end
|
end
|
||||||
|
|
||||||
def recently_mentioned_inboxes
|
def recently_mentioned_inboxes
|
||||||
cutoff_id = Mastodon::Snowflake.id_at(2.days.ago, with_random: false)
|
Account
|
||||||
recent_statuses = @account.statuses.recent.where(id: cutoff_id...).limit(200)
|
.joins(:mentions)
|
||||||
|
.where(mentions: { status: recent_statuses })
|
||||||
Account.joins(:mentions).where(mentions: { status: recent_statuses }).inboxes.take(2000)
|
.inboxes
|
||||||
|
.take(RECENT_LIMIT)
|
||||||
end
|
end
|
||||||
|
|
||||||
def relay_inboxes
|
def relay_inboxes
|
||||||
Relay.enabled.pluck(:inbox_url)
|
Relay.enabled.pluck(:inbox_url)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def oldest_status_id
|
||||||
|
Mastodon::Snowflake
|
||||||
|
.id_at(STATUS_SINCE.ago, with_random: false)
|
||||||
|
end
|
||||||
|
|
||||||
|
def recent_statuses
|
||||||
|
@account
|
||||||
|
.statuses
|
||||||
|
.recent
|
||||||
|
.where(id: oldest_status_id...)
|
||||||
|
.limit(STATUS_LIMIT)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
22
app/lib/domain_resource.rb
Normal file
22
app/lib/domain_resource.rb
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class DomainResource
|
||||||
|
attr_reader :domain
|
||||||
|
|
||||||
|
RESOLVE_TIMEOUT = 5
|
||||||
|
|
||||||
|
def initialize(domain)
|
||||||
|
@domain = domain
|
||||||
|
end
|
||||||
|
|
||||||
|
def mx
|
||||||
|
Resolv::DNS.open do |dns|
|
||||||
|
dns.timeouts = RESOLVE_TIMEOUT
|
||||||
|
dns
|
||||||
|
.getresources(domain, Resolv::DNS::Resource::IN::MX)
|
||||||
|
.to_a
|
||||||
|
.map { |mx| mx.exchange.to_s }
|
||||||
|
.compact_blank
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -334,14 +334,10 @@ class Request
|
||||||
def check_private_address(address, host)
|
def check_private_address(address, host)
|
||||||
addr = IPAddr.new(address.to_s)
|
addr = IPAddr.new(address.to_s)
|
||||||
|
|
||||||
return if Rails.env.development? || private_address_exceptions.any? { |range| range.include?(addr) }
|
return if Rails.env.development? || Rails.configuration.x.private_address_exceptions.any? { |range| range.include?(addr) }
|
||||||
|
|
||||||
raise Mastodon::PrivateNetworkAddressError, host if PrivateAddressCheck.private_address?(addr)
|
raise Mastodon::PrivateNetworkAddressError, host if PrivateAddressCheck.private_address?(addr)
|
||||||
end
|
end
|
||||||
|
|
||||||
def private_address_exceptions
|
|
||||||
@private_address_exceptions = (ENV['ALLOWED_PRIVATE_ADDRESSES'] || '').split(/(?:\s*,\s*|\s+)/).map { |addr| IPAddr.new(addr) }
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -9,10 +9,16 @@ class Vacuum::ImportsVacuum
|
||||||
private
|
private
|
||||||
|
|
||||||
def clean_unconfirmed_imports!
|
def clean_unconfirmed_imports!
|
||||||
BulkImport.state_unconfirmed.where(created_at: ..10.minutes.ago).in_batches.delete_all
|
BulkImport
|
||||||
|
.confirmation_missed
|
||||||
|
.in_batches
|
||||||
|
.delete_all
|
||||||
end
|
end
|
||||||
|
|
||||||
def clean_old_imports!
|
def clean_old_imports!
|
||||||
BulkImport.where(created_at: ..1.week.ago).in_batches.delete_all
|
BulkImport
|
||||||
|
.archival_completed
|
||||||
|
.in_batches
|
||||||
|
.delete_all
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -90,6 +90,8 @@ class Account < ApplicationRecord
|
||||||
include Account::Interactions
|
include Account::Interactions
|
||||||
include Account::Merging
|
include Account::Merging
|
||||||
include Account::Search
|
include Account::Search
|
||||||
|
include Account::Sensitizes
|
||||||
|
include Account::Silences
|
||||||
include Account::StatusesSearch
|
include Account::StatusesSearch
|
||||||
include Account::Suspensions
|
include Account::Suspensions
|
||||||
include Account::AttributionDomains
|
include Account::AttributionDomains
|
||||||
|
@ -129,9 +131,6 @@ class Account < ApplicationRecord
|
||||||
scope :remote, -> { where.not(domain: nil) }
|
scope :remote, -> { where.not(domain: nil) }
|
||||||
scope :local, -> { where(domain: nil) }
|
scope :local, -> { where(domain: nil) }
|
||||||
scope :partitioned, -> { order(Arel.sql('row_number() over (partition by domain)')) }
|
scope :partitioned, -> { order(Arel.sql('row_number() over (partition by domain)')) }
|
||||||
scope :silenced, -> { where.not(silenced_at: nil) }
|
|
||||||
scope :sensitized, -> { where.not(sensitized_at: nil) }
|
|
||||||
scope :without_silenced, -> { where(silenced_at: nil) }
|
|
||||||
scope :without_instance_actor, -> { where.not(id: INSTANCE_ACTOR_ID) }
|
scope :without_instance_actor, -> { where.not(id: INSTANCE_ACTOR_ID) }
|
||||||
scope :recent, -> { reorder(id: :desc) }
|
scope :recent, -> { reorder(id: :desc) }
|
||||||
scope :bots, -> { where(actor_type: AUTOMATED_ACTOR_TYPES) }
|
scope :bots, -> { where(actor_type: AUTOMATED_ACTOR_TYPES) }
|
||||||
|
@ -244,30 +243,6 @@ class Account < ApplicationRecord
|
||||||
ResolveAccountService.new.call(acct) unless local?
|
ResolveAccountService.new.call(acct) unless local?
|
||||||
end
|
end
|
||||||
|
|
||||||
def silenced?
|
|
||||||
silenced_at.present?
|
|
||||||
end
|
|
||||||
|
|
||||||
def silence!(date = Time.now.utc)
|
|
||||||
update!(silenced_at: date)
|
|
||||||
end
|
|
||||||
|
|
||||||
def unsilence!
|
|
||||||
update!(silenced_at: nil)
|
|
||||||
end
|
|
||||||
|
|
||||||
def sensitized?
|
|
||||||
sensitized_at.present?
|
|
||||||
end
|
|
||||||
|
|
||||||
def sensitize!(date = Time.now.utc)
|
|
||||||
update!(sensitized_at: date)
|
|
||||||
end
|
|
||||||
|
|
||||||
def unsensitize!
|
|
||||||
update!(sensitized_at: nil)
|
|
||||||
end
|
|
||||||
|
|
||||||
def memorialize!
|
def memorialize!
|
||||||
update!(memorial: true)
|
update!(memorial: true)
|
||||||
end
|
end
|
||||||
|
|
|
@ -31,6 +31,7 @@ class Admin::ActionLogFilter
|
||||||
create_domain_block: { target_type: 'DomainBlock', action: 'create' }.freeze,
|
create_domain_block: { target_type: 'DomainBlock', action: 'create' }.freeze,
|
||||||
create_email_domain_block: { target_type: 'EmailDomainBlock', action: 'create' }.freeze,
|
create_email_domain_block: { target_type: 'EmailDomainBlock', action: 'create' }.freeze,
|
||||||
create_ip_block: { target_type: 'IpBlock', action: 'create' }.freeze,
|
create_ip_block: { target_type: 'IpBlock', action: 'create' }.freeze,
|
||||||
|
create_relay: { target_type: 'Relay', action: 'create' }.freeze,
|
||||||
create_unavailable_domain: { target_type: 'UnavailableDomain', action: 'create' }.freeze,
|
create_unavailable_domain: { target_type: 'UnavailableDomain', action: 'create' }.freeze,
|
||||||
create_user_role: { target_type: 'UserRole', action: 'create' }.freeze,
|
create_user_role: { target_type: 'UserRole', action: 'create' }.freeze,
|
||||||
create_canonical_email_block: { target_type: 'CanonicalEmailBlock', action: 'create' }.freeze,
|
create_canonical_email_block: { target_type: 'CanonicalEmailBlock', action: 'create' }.freeze,
|
||||||
|
@ -40,6 +41,7 @@ class Admin::ActionLogFilter
|
||||||
destroy_domain_allow: { target_type: 'DomainAllow', action: 'destroy' }.freeze,
|
destroy_domain_allow: { target_type: 'DomainAllow', action: 'destroy' }.freeze,
|
||||||
destroy_domain_block: { target_type: 'DomainBlock', action: 'destroy' }.freeze,
|
destroy_domain_block: { target_type: 'DomainBlock', action: 'destroy' }.freeze,
|
||||||
destroy_ip_block: { target_type: 'IpBlock', action: 'destroy' }.freeze,
|
destroy_ip_block: { target_type: 'IpBlock', action: 'destroy' }.freeze,
|
||||||
|
destroy_relay: { target_type: 'Relay', action: 'destroy' }.freeze,
|
||||||
destroy_email_domain_block: { target_type: 'EmailDomainBlock', action: 'destroy' }.freeze,
|
destroy_email_domain_block: { target_type: 'EmailDomainBlock', action: 'destroy' }.freeze,
|
||||||
destroy_instance: { target_type: 'Instance', action: 'destroy' }.freeze,
|
destroy_instance: { target_type: 'Instance', action: 'destroy' }.freeze,
|
||||||
destroy_unavailable_domain: { target_type: 'UnavailableDomain', action: 'destroy' }.freeze,
|
destroy_unavailable_domain: { target_type: 'UnavailableDomain', action: 'destroy' }.freeze,
|
||||||
|
@ -49,8 +51,10 @@ class Admin::ActionLogFilter
|
||||||
disable_2fa_user: { target_type: 'User', action: 'disable_2fa' }.freeze,
|
disable_2fa_user: { target_type: 'User', action: 'disable_2fa' }.freeze,
|
||||||
disable_custom_emoji: { target_type: 'CustomEmoji', action: 'disable' }.freeze,
|
disable_custom_emoji: { target_type: 'CustomEmoji', action: 'disable' }.freeze,
|
||||||
disable_user: { target_type: 'User', action: 'disable' }.freeze,
|
disable_user: { target_type: 'User', action: 'disable' }.freeze,
|
||||||
|
disable_relay: { target_type: 'Relay', action: 'disable' }.freeze,
|
||||||
enable_custom_emoji: { target_type: 'CustomEmoji', action: 'enable' }.freeze,
|
enable_custom_emoji: { target_type: 'CustomEmoji', action: 'enable' }.freeze,
|
||||||
enable_user: { target_type: 'User', action: 'enable' }.freeze,
|
enable_user: { target_type: 'User', action: 'enable' }.freeze,
|
||||||
|
enable_relay: { target_type: 'Relay', action: 'enable' }.freeze,
|
||||||
memorialize_account: { target_type: 'Account', action: 'memorialize' }.freeze,
|
memorialize_account: { target_type: 'Account', action: 'memorialize' }.freeze,
|
||||||
promote_user: { target_type: 'User', action: 'promote' }.freeze,
|
promote_user: { target_type: 'User', action: 'promote' }.freeze,
|
||||||
remove_avatar_user: { target_type: 'User', action: 'remove_avatar' }.freeze,
|
remove_avatar_user: { target_type: 'User', action: 'remove_avatar' }.freeze,
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class ApplicationRecord < ActiveRecord::Base
|
class ApplicationRecord < ActiveRecord::Base
|
||||||
self.abstract_class = true
|
primary_abstract_class
|
||||||
|
|
||||||
include Remotable
|
include Remotable
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,9 @@
|
||||||
class BulkImport < ApplicationRecord
|
class BulkImport < ApplicationRecord
|
||||||
self.inheritance_column = false
|
self.inheritance_column = false
|
||||||
|
|
||||||
|
ARCHIVE_PERIOD = 1.week
|
||||||
|
CONFIRM_PERIOD = 10.minutes
|
||||||
|
|
||||||
belongs_to :account
|
belongs_to :account
|
||||||
has_many :rows, class_name: 'BulkImportRow', inverse_of: :bulk_import, dependent: :delete_all
|
has_many :rows, class_name: 'BulkImportRow', inverse_of: :bulk_import, dependent: :delete_all
|
||||||
|
|
||||||
|
@ -42,6 +45,9 @@ class BulkImport < ApplicationRecord
|
||||||
|
|
||||||
validates :type, presence: true
|
validates :type, presence: true
|
||||||
|
|
||||||
|
scope :archival_completed, -> { where(created_at: ..ARCHIVE_PERIOD.ago) }
|
||||||
|
scope :confirmation_missed, -> { state_unconfirmed.where(created_at: ..CONFIRM_PERIOD.ago) }
|
||||||
|
|
||||||
def self.progress!(bulk_import_id, imported: false)
|
def self.progress!(bulk_import_id, imported: false)
|
||||||
# Use `increment_counter` so that the incrementation is done atomically in the database
|
# Use `increment_counter` so that the incrementation is done atomically in the database
|
||||||
BulkImport.increment_counter(:processed_items, bulk_import_id)
|
BulkImport.increment_counter(:processed_items, bulk_import_id)
|
||||||
|
|
21
app/models/concerns/account/sensitizes.rb
Normal file
21
app/models/concerns/account/sensitizes.rb
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module Account::Sensitizes
|
||||||
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
|
included do
|
||||||
|
scope :sensitized, -> { where.not(sensitized_at: nil) }
|
||||||
|
end
|
||||||
|
|
||||||
|
def sensitized?
|
||||||
|
sensitized_at.present?
|
||||||
|
end
|
||||||
|
|
||||||
|
def sensitize!(date = Time.now.utc)
|
||||||
|
update!(sensitized_at: date)
|
||||||
|
end
|
||||||
|
|
||||||
|
def unsensitize!
|
||||||
|
update!(sensitized_at: nil)
|
||||||
|
end
|
||||||
|
end
|
22
app/models/concerns/account/silences.rb
Normal file
22
app/models/concerns/account/silences.rb
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module Account::Silences
|
||||||
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
|
included do
|
||||||
|
scope :silenced, -> { where.not(silenced_at: nil) }
|
||||||
|
scope :without_silenced, -> { where(silenced_at: nil) }
|
||||||
|
end
|
||||||
|
|
||||||
|
def silenced?
|
||||||
|
silenced_at.present?
|
||||||
|
end
|
||||||
|
|
||||||
|
def silence!(date = Time.now.utc)
|
||||||
|
update!(silenced_at: date)
|
||||||
|
end
|
||||||
|
|
||||||
|
def unsilence!
|
||||||
|
update!(silenced_at: nil)
|
||||||
|
end
|
||||||
|
end
|
|
@ -34,7 +34,7 @@ class List < ApplicationRecord
|
||||||
private
|
private
|
||||||
|
|
||||||
def validate_account_lists_limit
|
def validate_account_lists_limit
|
||||||
errors.add(:base, I18n.t('lists.errors.limit')) if account.lists.count >= PER_ACCOUNT_LIMIT
|
errors.add(:base, I18n.t('lists.errors.limit')) if account.owned_lists.count >= PER_ACCOUNT_LIMIT
|
||||||
end
|
end
|
||||||
|
|
||||||
def clean_feed_manager
|
def clean_feed_manager
|
||||||
|
|
|
@ -25,6 +25,10 @@ class Relay < ApplicationRecord
|
||||||
|
|
||||||
alias enabled? accepted?
|
alias enabled? accepted?
|
||||||
|
|
||||||
|
def to_log_human_identifier
|
||||||
|
inbox_url
|
||||||
|
end
|
||||||
|
|
||||||
def enable!
|
def enable!
|
||||||
activity_id = ActivityPub::TagManager.instance.generate_uri_for(nil)
|
activity_id = ActivityPub::TagManager.instance.generate_uri_for(nil)
|
||||||
payload = Oj.dump(follow_activity(activity_id))
|
payload = Oj.dump(follow_activity(activity_id))
|
||||||
|
|
|
@ -22,19 +22,33 @@ class SoftwareUpdate < ApplicationRecord
|
||||||
Gem::Version.new(version)
|
Gem::Version.new(version)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def outdated?
|
||||||
|
runtime_version >= gem_version
|
||||||
|
end
|
||||||
|
|
||||||
|
def pending?
|
||||||
|
gem_version > runtime_version
|
||||||
|
end
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
def check_enabled?
|
def check_enabled?
|
||||||
ENV['UPDATE_CHECK_URL'] != ''
|
Rails.configuration.x.mastodon.software_update_url.present?
|
||||||
end
|
end
|
||||||
|
|
||||||
def pending_to_a
|
def pending_to_a
|
||||||
return [] unless check_enabled?
|
return [] unless check_enabled?
|
||||||
|
|
||||||
all.to_a.filter { |update| update.gem_version > Mastodon::Version.gem_version }
|
all.to_a.filter(&:pending?)
|
||||||
end
|
end
|
||||||
|
|
||||||
def urgent_pending?
|
def urgent_pending?
|
||||||
pending_to_a.any?(&:urgent?)
|
pending_to_a.any?(&:urgent?)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def runtime_version
|
||||||
|
Mastodon::Version.gem_version
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -280,6 +280,15 @@ class User < ApplicationRecord
|
||||||
save!
|
save!
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def applications_last_used
|
||||||
|
Doorkeeper::AccessToken
|
||||||
|
.where(resource_owner_id: id)
|
||||||
|
.where.not(last_used_at: nil)
|
||||||
|
.group(:application_id)
|
||||||
|
.maximum(:last_used_at)
|
||||||
|
.to_h
|
||||||
|
end
|
||||||
|
|
||||||
def token_for_app(app)
|
def token_for_app(app)
|
||||||
return nil if app.nil? || app.owner != self
|
return nil if app.nil? || app.owner != self
|
||||||
|
|
||||||
|
@ -457,13 +466,7 @@ class User < ApplicationRecord
|
||||||
|
|
||||||
# Doing this conditionally is not very satisfying, but this is consistent
|
# Doing this conditionally is not very satisfying, but this is consistent
|
||||||
# with the MX records validations we do and keeps the specs tractable.
|
# with the MX records validations we do and keeps the specs tractable.
|
||||||
unless self.class.skip_mx_check?
|
records = DomainResource.new(domain).mx unless self.class.skip_mx_check?
|
||||||
Resolv::DNS.open do |dns|
|
|
||||||
dns.timeouts = 5
|
|
||||||
|
|
||||||
records = dns.getresources(domain, Resolv::DNS::Resource::IN::MX).to_a.map { |e| e.exchange.to_s }.compact_blank
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
EmailDomainBlock.requires_approval?(records + [domain], attempt_ip: sign_up_ip)
|
EmailDomainBlock.requires_approval?(records + [domain], attempt_ip: sign_up_ip)
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class REST::CredentialApplicationSerializer < REST::ApplicationSerializer
|
class REST::CredentialApplicationSerializer < REST::ApplicationSerializer
|
||||||
attributes :client_id, :client_secret
|
attributes :client_id, :client_secret, :client_secret_expires_at
|
||||||
|
|
||||||
def client_id
|
def client_id
|
||||||
object.uid
|
object.uid
|
||||||
|
@ -10,4 +10,10 @@ class REST::CredentialApplicationSerializer < REST::ApplicationSerializer
|
||||||
def client_secret
|
def client_secret
|
||||||
object.secret
|
object.secret
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Added for future forwards compatibility when we may decide to expire OAuth
|
||||||
|
# Applications. Set to zero means that the client_secret never expires.
|
||||||
|
def client_secret_expires_at
|
||||||
|
0
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -12,7 +12,7 @@ class SoftwareUpdateCheckService < BaseService
|
||||||
|
|
||||||
def clean_outdated_updates!
|
def clean_outdated_updates!
|
||||||
SoftwareUpdate.find_each do |software_update|
|
SoftwareUpdate.find_each do |software_update|
|
||||||
software_update.delete if Mastodon::Version.gem_version >= software_update.gem_version
|
software_update.delete if software_update.outdated?
|
||||||
rescue ArgumentError
|
rescue ArgumentError
|
||||||
software_update.delete
|
software_update.delete
|
||||||
end
|
end
|
||||||
|
@ -27,7 +27,7 @@ class SoftwareUpdateCheckService < BaseService
|
||||||
end
|
end
|
||||||
|
|
||||||
def api_url
|
def api_url
|
||||||
ENV.fetch('UPDATE_CHECK_URL', 'https://api.joinmastodon.org/update-check')
|
Rails.configuration.x.mastodon.software_update_url
|
||||||
end
|
end
|
||||||
|
|
||||||
def version
|
def version
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
- content_for :page_title do
|
- content_for :page_title, t('about.title')
|
||||||
= t('about.title')
|
|
||||||
|
|
||||||
- content_for :header_tags do
|
- content_for :header_tags do
|
||||||
= render partial: 'shared/og'
|
= render partial: 'shared/og'
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
- content_for :page_title do
|
- content_for :page_title, "#{display_name(@account)} (#{acct(@account)})"
|
||||||
#{display_name(@account)} (#{acct(@account)})
|
|
||||||
|
|
||||||
- content_for :header_tags do
|
- content_for :header_tags do
|
||||||
- if @account.user_prefers_noindex?
|
- if @account.user_prefers_noindex?
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
.dashboard__item
|
.dashboard__item
|
||||||
= react_admin_component :counter,
|
= react_admin_component :counter,
|
||||||
end_at: @time_period.last,
|
end_at: @time_period.last,
|
||||||
href: admin_accounts_path(origin: 'local'),
|
href: current_user.can?(:manage_users) ? admin_accounts_path(origin: 'local') : nil,
|
||||||
label: t('admin.dashboard.new_users'),
|
label: t('admin.dashboard.new_users'),
|
||||||
measure: 'new_users',
|
measure: 'new_users',
|
||||||
start_at: @time_period.first
|
start_at: @time_period.first
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
.dashboard__item
|
.dashboard__item
|
||||||
= react_admin_component :counter,
|
= react_admin_component :counter,
|
||||||
end_at: @time_period.last,
|
end_at: @time_period.last,
|
||||||
href: admin_accounts_path(origin: 'local'),
|
href: current_user.can?(:manage_users) ? admin_accounts_path(origin: 'local') : nil,
|
||||||
label: t('admin.dashboard.active_users'),
|
label: t('admin.dashboard.active_users'),
|
||||||
measure: 'active_users',
|
measure: 'active_users',
|
||||||
start_at: @time_period.first
|
start_at: @time_period.first
|
||||||
|
@ -39,7 +39,7 @@
|
||||||
.dashboard__item
|
.dashboard__item
|
||||||
= react_admin_component :counter,
|
= react_admin_component :counter,
|
||||||
end_at: @time_period.last,
|
end_at: @time_period.last,
|
||||||
href: admin_reports_path,
|
href: current_user.can?(:manage_reports) ? admin_reports_path : nil,
|
||||||
label: t('admin.dashboard.opened_reports'),
|
label: t('admin.dashboard.opened_reports'),
|
||||||
measure: 'opened_reports',
|
measure: 'opened_reports',
|
||||||
start_at: @time_period.first
|
start_at: @time_period.first
|
||||||
|
@ -47,7 +47,7 @@
|
||||||
.dashboard__item
|
.dashboard__item
|
||||||
= react_admin_component :counter,
|
= react_admin_component :counter,
|
||||||
end_at: @time_period.last,
|
end_at: @time_period.last,
|
||||||
href: admin_reports_path(resolved: '1'),
|
href: current_user.can?(:manage_reports) ? admin_reports_path(resolved: '1') : nil,
|
||||||
label: t('admin.dashboard.resolved_reports'),
|
label: t('admin.dashboard.resolved_reports'),
|
||||||
measure: 'resolved_reports',
|
measure: 'resolved_reports',
|
||||||
start_at: @time_period.first
|
start_at: @time_period.first
|
||||||
|
|
|
@ -30,12 +30,12 @@
|
||||||
%label.batch-table__row__select.batch-table__row__select--aligned.batch-checkbox
|
%label.batch-table__row__select.batch-table__row__select--aligned.batch-checkbox
|
||||||
= f.input_field :other_domains,
|
= f.input_field :other_domains,
|
||||||
as: :boolean,
|
as: :boolean,
|
||||||
checked_value: record.exchange.to_s,
|
checked_value: record,
|
||||||
include_hidden: false,
|
include_hidden: false,
|
||||||
multiple: true
|
multiple: true
|
||||||
.batch-table__row__content.pending-account
|
.batch-table__row__content.pending-account
|
||||||
.pending-account__header
|
.pending-account__header
|
||||||
%samp= record.exchange.to_s
|
%samp= record
|
||||||
%br
|
%br
|
||||||
= t('admin.email_domain_blocks.dns.types.mx')
|
= t('admin.email_domain_blocks.dns.types.mx')
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
.dashboard__item
|
.dashboard__item
|
||||||
= react_admin_component :counter,
|
= react_admin_component :counter,
|
||||||
end_at: period_end_at,
|
end_at: period_end_at,
|
||||||
href: admin_accounts_path(origin: 'remote', by_domain: instance_domain),
|
href: current_user.can?(:manage_users) ? admin_accounts_path(origin: 'remote', by_domain: instance_domain) : nil,
|
||||||
label: t('admin.instances.dashboard.instance_accounts_measure'),
|
label: t('admin.instances.dashboard.instance_accounts_measure'),
|
||||||
measure: 'instance_accounts',
|
measure: 'instance_accounts',
|
||||||
params: { domain: instance_domain },
|
params: { domain: instance_domain },
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
.dashboard__item
|
.dashboard__item
|
||||||
= react_admin_component :counter,
|
= react_admin_component :counter,
|
||||||
end_at: period_end_at,
|
end_at: period_end_at,
|
||||||
href: admin_reports_path(by_target_domain: instance_domain),
|
href: current_user.can?(:manage_reports) ? admin_reports_path(by_target_domain: instance_domain) : nil,
|
||||||
label: t('admin.instances.dashboard.instance_reports_measure'),
|
label: t('admin.instances.dashboard.instance_reports_measure'),
|
||||||
measure: 'instance_reports',
|
measure: 'instance_reports',
|
||||||
params: { domain: instance_domain },
|
params: { domain: instance_domain },
|
||||||
|
|
|
@ -2,40 +2,52 @@
|
||||||
%label.batch-table__row__select.batch-checkbox
|
%label.batch-table__row__select.batch-checkbox
|
||||||
= f.check_box :status_ids, { multiple: true, include_hidden: false }, status.id
|
= f.check_box :status_ids, { multiple: true, include_hidden: false }, status.id
|
||||||
.batch-table__row__content
|
.batch-table__row__content
|
||||||
.status__content><
|
.status__card
|
||||||
- if status.proper.spoiler_text.blank?
|
|
||||||
= prerender_custom_emojis(status_content_format(status.proper), status.proper.emojis)
|
|
||||||
- else
|
|
||||||
%details<
|
|
||||||
%summary><
|
|
||||||
%strong> Content warning: #{prerender_custom_emojis(h(status.proper.spoiler_text), status.proper.emojis)}
|
|
||||||
= prerender_custom_emojis(status_content_format(status.proper), status.proper.emojis)
|
|
||||||
|
|
||||||
- unless status.proper.ordered_media_attachments.empty?
|
|
||||||
= render partial: 'admin/reports/media_attachments', locals: { status: status.proper }
|
|
||||||
|
|
||||||
.detailed-status__meta
|
|
||||||
- if status.application
|
|
||||||
= status.application.name
|
|
||||||
·
|
|
||||||
= link_to ActivityPub::TagManager.instance.url_for(status.proper), class: 'detailed-status__datetime', target: stream_link_target, rel: 'noopener noreferrer' do
|
|
||||||
%time.formatted{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at)
|
|
||||||
- if status.edited?
|
|
||||||
·
|
|
||||||
= link_to t('statuses.edited_at_html', date: content_tag(:time, l(status.edited_at), datetime: status.edited_at.iso8601, title: l(status.edited_at), class: 'formatted')),
|
|
||||||
admin_account_status_path(status.account_id, status),
|
|
||||||
class: 'detailed-status__datetime'
|
|
||||||
- if status.discarded?
|
|
||||||
·
|
|
||||||
%span.negative-hint= t('admin.statuses.deleted')
|
|
||||||
·
|
|
||||||
- if status.reblog?
|
- if status.reblog?
|
||||||
= material_symbol('repeat_active')
|
.status__prepend
|
||||||
= t('statuses.boosted_from_html', acct_link: admin_account_inline_link_to(status.proper.account))
|
= material_symbol('repeat')
|
||||||
- else
|
= t('statuses.boosted_from_html', acct_link: admin_account_inline_link_to(status.proper.account, path: admin_account_status_path(status.proper.account.id, status.proper.id)))
|
||||||
|
- elsif status.reply? && status.in_reply_to_id.present?
|
||||||
|
.status__prepend
|
||||||
|
= material_symbol('reply')
|
||||||
|
= t('admin.statuses.replied_to_html', acct_link: admin_account_inline_link_to(status.in_reply_to_account, path: admin_account_status_path(status.thread.account_id, status.in_reply_to_id)))
|
||||||
|
.status__content><
|
||||||
|
- if status.proper.spoiler_text.blank?
|
||||||
|
= prerender_custom_emojis(status_content_format(status.proper), status.proper.emojis)
|
||||||
|
- else
|
||||||
|
%details<
|
||||||
|
%summary><
|
||||||
|
%strong> Content warning: #{prerender_custom_emojis(h(status.proper.spoiler_text), status.proper.emojis)}
|
||||||
|
= prerender_custom_emojis(status_content_format(status.proper), status.proper.emojis)
|
||||||
|
|
||||||
|
- unless status.proper.ordered_media_attachments.empty?
|
||||||
|
= render partial: 'admin/reports/media_attachments', locals: { status: status.proper }
|
||||||
|
|
||||||
|
.detailed-status__meta
|
||||||
|
- if status.application
|
||||||
|
= status.application.name
|
||||||
|
·
|
||||||
|
|
||||||
|
= link_to admin_account_status_path(status.account.id, status), class: 'detailed-status__datetime' do
|
||||||
|
%time.formatted{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at)
|
||||||
|
- if status.edited?
|
||||||
|
·
|
||||||
|
= link_to t('statuses.edited_at_html', date: content_tag(:time, l(status.edited_at), datetime: status.edited_at.iso8601, title: l(status.edited_at), class: 'formatted')),
|
||||||
|
admin_account_status_path(status.account_id, status),
|
||||||
|
class: 'detailed-status__datetime'
|
||||||
|
- if status.discarded?
|
||||||
|
·
|
||||||
|
%span.negative-hint= t('admin.statuses.deleted')
|
||||||
|
·
|
||||||
|
|
||||||
= material_symbol visibility_icon(status)
|
= material_symbol visibility_icon(status)
|
||||||
= t("statuses.visibilities.#{status.visibility}")
|
= t("statuses.visibilities.#{status.visibility}")
|
||||||
- if status.proper.sensitive?
|
|
||||||
·
|
·
|
||||||
= material_symbol('visibility_off')
|
|
||||||
= t('stream_entries.sensitive_content')
|
= link_to ActivityPub::TagManager.instance.url_for(status.proper), class: 'detailed-status__link', target: stream_link_target, rel: 'noopener noreferrer' do
|
||||||
|
= t('admin.statuses.view_publicly')
|
||||||
|
|
||||||
|
- if status.proper.sensitive?
|
||||||
|
·
|
||||||
|
= material_symbol('visibility_off')
|
||||||
|
= t('stream_entries.sensitive_content')
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
- content_for :page_title do
|
- content_for :page_title do
|
||||||
= t('admin.statuses.title')
|
= t('admin.statuses.title', name: @account.pretty_acct)
|
||||||
\-
|
|
||||||
@#{@account.pretty_acct}
|
|
||||||
|
|
||||||
.filters
|
.filters
|
||||||
.filter-subset
|
.filter-subset
|
||||||
|
@ -33,11 +31,18 @@
|
||||||
= check_box_tag :batch_checkbox_all, nil, false
|
= check_box_tag :batch_checkbox_all, nil, false
|
||||||
.batch-table__toolbar__actions
|
.batch-table__toolbar__actions
|
||||||
- unless @statuses.empty?
|
- unless @statuses.empty?
|
||||||
= f.button safe_join([material_symbol('flag'), t('admin.statuses.batch.report')]),
|
- if params[:report_id]
|
||||||
class: 'table-action-link',
|
= f.button safe_join([material_symbol('add'), t('admin.statuses.batch.add_to_report', id: params[:report_id])]),
|
||||||
data: { confirm: t('admin.reports.are_you_sure') },
|
class: 'table-action-link',
|
||||||
name: :report,
|
data: { confirm: t('admin.reports.are_you_sure') },
|
||||||
type: :submit
|
name: :report,
|
||||||
|
type: :submit
|
||||||
|
- else
|
||||||
|
= f.button safe_join([material_symbol('flag'), t('admin.statuses.batch.report')]),
|
||||||
|
class: 'table-action-link',
|
||||||
|
data: { confirm: t('admin.reports.are_you_sure') },
|
||||||
|
name: :report,
|
||||||
|
type: :submit
|
||||||
.batch-table__body
|
.batch-table__body
|
||||||
- if @statuses.empty?
|
- if @statuses.empty?
|
||||||
= nothing_here 'nothing-here--under-tabs'
|
= nothing_here 'nothing-here--under-tabs'
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
- content_for :page_title do
|
- content_for :page_title do
|
||||||
= t('statuses.title', name: display_name(@account), quote: truncate(@status.spoiler_text.presence || @status.text, length: 50, omission: '…', escape: false))
|
= t('admin.statuses.status_title', name: @account.pretty_acct)
|
||||||
|
|
||||||
- content_for :heading_actions do
|
- content_for :heading_actions do
|
||||||
|
= form_with model: @status_batch_action, url: batch_admin_account_statuses_path(@account.id) do |f|
|
||||||
|
= f.hidden_field :status_ids, { multiple: true, value: @status.id }
|
||||||
|
= f.button safe_join([material_symbol('flag'), t('admin.statuses.batch.report')]),
|
||||||
|
class: 'button',
|
||||||
|
data: { confirm: t('admin.reports.are_you_sure') },
|
||||||
|
name: :report,
|
||||||
|
type: :submit
|
||||||
= link_to t('admin.statuses.open'), ActivityPub::TagManager.instance.url_for(@status), class: 'button', target: '_blank', rel: 'noopener noreferrer'
|
= link_to t('admin.statuses.open'), ActivityPub::TagManager.instance.url_for(@status), class: 'button', target: '_blank', rel: 'noopener noreferrer'
|
||||||
|
|
||||||
%h3= t('admin.statuses.metadata')
|
%h3= t('admin.statuses.metadata')
|
||||||
|
@ -44,7 +51,56 @@
|
||||||
|
|
||||||
%hr.spacer/
|
%hr.spacer/
|
||||||
|
|
||||||
%h3= t('admin.statuses.history')
|
%h3= t('admin.statuses.contents')
|
||||||
|
|
||||||
%ol.history
|
.status__card
|
||||||
= render partial: 'admin/status_edits/status_edit', collection: batched_ordered_status_edits
|
- if @status.reblog?
|
||||||
|
.status__prepend
|
||||||
|
= material_symbol('repeat')
|
||||||
|
= t('statuses.boosted_from_html', acct_link: admin_account_inline_link_to(@status.proper.account, path: admin_account_status_path(@status.proper.account.id, @status.proper.id)))
|
||||||
|
- elsif @status.reply? && @status.in_reply_to_id.present?
|
||||||
|
.status__prepend
|
||||||
|
= material_symbol('reply')
|
||||||
|
= t('admin.statuses.replied_to_html', acct_link: admin_account_inline_link_to(@status.in_reply_to_account, path: admin_account_status_path(@status.thread.account_id, @status.in_reply_to_id)))
|
||||||
|
.status__content><
|
||||||
|
- if @status.proper.spoiler_text.blank?
|
||||||
|
= prerender_custom_emojis(status_content_format(@status.proper), @status.proper.emojis)
|
||||||
|
- else
|
||||||
|
%details<
|
||||||
|
%summary><
|
||||||
|
%strong> Content warning: #{prerender_custom_emojis(h(@status.proper.spoiler_text), @status.proper.emojis)}
|
||||||
|
= prerender_custom_emojis(status_content_format(@status.proper), @status.proper.emojis)
|
||||||
|
|
||||||
|
- unless @status.proper.ordered_media_attachments.empty?
|
||||||
|
= render partial: 'admin/reports/media_attachments', locals: { status: @status.proper }
|
||||||
|
|
||||||
|
.detailed-status__meta
|
||||||
|
- if @status.application
|
||||||
|
= @status.application.name
|
||||||
|
·
|
||||||
|
%span.detailed-status__datetime
|
||||||
|
%time.formatted{ datetime: @status.created_at.iso8601, title: l(@status.created_at) }= l(@status.created_at)
|
||||||
|
- if @status.edited?
|
||||||
|
·
|
||||||
|
%span.detailed-status__datetime
|
||||||
|
= t('statuses.edited_at_html', date: content_tag(:time, l(@status.edited_at), datetime: @status.edited_at.iso8601, title: l(@status.edited_at), class: 'formatted'))
|
||||||
|
- if @status.discarded?
|
||||||
|
·
|
||||||
|
%span.negative-hint= t('admin.statuses.deleted')
|
||||||
|
- unless @status.reblog?
|
||||||
|
·
|
||||||
|
= material_symbol(visibility_icon(@status))
|
||||||
|
= t("statuses.visibilities.#{@status.visibility}")
|
||||||
|
- if @status.proper.sensitive?
|
||||||
|
·
|
||||||
|
= material_symbol('visibility_off')
|
||||||
|
= t('stream_entries.sensitive_content')
|
||||||
|
|
||||||
|
%hr.spacer/
|
||||||
|
|
||||||
|
%h3= t('admin.statuses.history')
|
||||||
|
- if @status.edits.empty?
|
||||||
|
%p= t('admin.statuses.no_history')
|
||||||
|
- else
|
||||||
|
%ol.history
|
||||||
|
= render partial: 'admin/status_edits/status_edit', collection: batched_ordered_status_edits
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
- content_for :page_title do
|
- content_for :page_title, t('privacy_policy.title')
|
||||||
= t('privacy_policy.title')
|
|
||||||
|
|
||||||
- content_for :header_tags do
|
- content_for :header_tags do
|
||||||
= render partial: 'shared/og'
|
= render partial: 'shared/og'
|
||||||
|
|
|
@ -65,7 +65,7 @@
|
||||||
%p.lead= t('author_attribution.then_instructions')
|
%p.lead= t('author_attribution.then_instructions')
|
||||||
|
|
||||||
.fields-group
|
.fields-group
|
||||||
= f.input :attribution_domains_as_text, as: :text, wrapper: :with_block_label, input_html: { placeholder: "example1.com\nexample2.com\nexample3.com", rows: 4 }
|
= f.input :attribution_domains_as_text, as: :text, wrapper: :with_block_label, input_html: { placeholder: "example1.com\nexample2.com\nexample3.com", rows: 4, autocapitalize: 'none', autocorrect: 'off' }
|
||||||
|
|
||||||
.actions
|
.actions
|
||||||
= f.button :button, t('generic.save_changes'), type: :submit
|
= f.button :button, t('generic.save_changes'), type: :submit
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
- content_for :body_classes, 'app-body'
|
||||||
- content_for :header_tags do
|
- content_for :header_tags do
|
||||||
- if user_signed_in?
|
- if user_signed_in?
|
||||||
= preload_signed_in_js_packs
|
= preload_signed_in_js_packs
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
- content_for :page_title do
|
- content_for :page_title, t('statuses.title', name: display_name(@account), quote: truncate(@status.spoiler_text.presence || @status.text, length: 50, omission: '…', escape: false))
|
||||||
= t('statuses.title', name: display_name(@account), quote: truncate(@status.spoiler_text.presence || @status.text, length: 50, omission: '…', escape: false))
|
|
||||||
|
|
||||||
- content_for :header_tags do
|
- content_for :header_tags do
|
||||||
- if @account.user_prefers_noindex?
|
- if @account.user_prefers_noindex?
|
||||||
|
|
|
@ -13,6 +13,8 @@ class Web::PushNotificationWorker
|
||||||
@subscription = Web::PushSubscription.find(subscription_id)
|
@subscription = Web::PushSubscription.find(subscription_id)
|
||||||
@notification = Notification.find(notification_id)
|
@notification = Notification.find(notification_id)
|
||||||
|
|
||||||
|
return if @notification.updated_at < TTL.ago
|
||||||
|
|
||||||
# Polymorphically associated activity could have been deleted
|
# Polymorphically associated activity could have been deleted
|
||||||
# in the meantime, so we have to double-check before proceeding
|
# in the meantime, so we have to double-check before proceeding
|
||||||
return unless @notification.activity.present? && @subscription.pushable?(@notification)
|
return unless @notification.activity.present? && @subscription.pushable?(@notification)
|
||||||
|
|
|
@ -105,6 +105,7 @@ module Mastodon
|
||||||
end
|
end
|
||||||
|
|
||||||
config.x.captcha = config_for(:captcha)
|
config.x.captcha = config_for(:captcha)
|
||||||
|
config.x.mastodon = config_for(:mastodon)
|
||||||
config.x.translation = config_for(:translation)
|
config.x.translation = config_for(:translation)
|
||||||
|
|
||||||
config.to_prepare do
|
config.to_prepare do
|
||||||
|
|
5
config/initializers/allowed_private_addresses.rb
Normal file
5
config/initializers/allowed_private_addresses.rb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
Rails.application.configure do
|
||||||
|
config.x.private_address_exceptions = (ENV['ALLOWED_PRIVATE_ADDRESSES'] || '').split(/(?:\s*,\s*|\s+)/).map { |addr| IPAddr.new(addr) }
|
||||||
|
end
|
|
@ -723,7 +723,7 @@ an:
|
||||||
original_status: Publicación orichinal
|
original_status: Publicación orichinal
|
||||||
reblogs: Impulsos
|
reblogs: Impulsos
|
||||||
status_changed: Publicación cambiada
|
status_changed: Publicación cambiada
|
||||||
title: Estau d'as cuentas
|
title: Estau d'as cuentas - @%{name}
|
||||||
trending: En tendencia
|
trending: En tendencia
|
||||||
visibility: Visibilidat
|
visibility: Visibilidat
|
||||||
with_media: Con multimedia
|
with_media: Con multimedia
|
||||||
|
|
|
@ -847,7 +847,7 @@ ar:
|
||||||
original_status: المنشور الأصلي
|
original_status: المنشور الأصلي
|
||||||
reblogs: المعاد تدوينها
|
reblogs: المعاد تدوينها
|
||||||
status_changed: عُدّل المنشور
|
status_changed: عُدّل المنشور
|
||||||
title: منشورات الحساب
|
title: منشورات الحساب - @%{name}
|
||||||
trending: المتداولة
|
trending: المتداولة
|
||||||
visibility: مدى الظهور
|
visibility: مدى الظهور
|
||||||
with_media: تحتوي على وسائط
|
with_media: تحتوي على وسائط
|
||||||
|
|
|
@ -856,7 +856,7 @@ be:
|
||||||
original_status: Зыходны допіс
|
original_status: Зыходны допіс
|
||||||
reblogs: Рэпосты
|
reblogs: Рэпосты
|
||||||
status_changed: Допіс зменены
|
status_changed: Допіс зменены
|
||||||
title: Допісы уліковага запісу
|
title: Допісы уліковага запісу - @%{name}
|
||||||
trending: Папулярныя
|
trending: Папулярныя
|
||||||
visibility: Бачнасць
|
visibility: Бачнасць
|
||||||
with_media: З медыя
|
with_media: З медыя
|
||||||
|
|
|
@ -21,9 +21,12 @@ bg:
|
||||||
one: Публикация
|
one: Публикация
|
||||||
other: Публикации
|
other: Публикации
|
||||||
posts_tab_heading: Публикации
|
posts_tab_heading: Публикации
|
||||||
|
self_follow_error: Не е позволено да следвате собствения си акаунт
|
||||||
admin:
|
admin:
|
||||||
account_actions:
|
account_actions:
|
||||||
action: Изпълняване на действие
|
action: Изпълняване на действие
|
||||||
|
already_silenced: Този акаунт вече е ограничен.
|
||||||
|
already_suspended: Този акаунт вече е спрян.
|
||||||
title: Извършване на модериращо действие за %{acct}
|
title: Извършване на модериращо действие за %{acct}
|
||||||
account_moderation_notes:
|
account_moderation_notes:
|
||||||
create: Оставяне на бележка
|
create: Оставяне на бележка
|
||||||
|
@ -45,6 +48,7 @@ bg:
|
||||||
title: Промяна на имейл за %{username}
|
title: Промяна на имейл за %{username}
|
||||||
change_role:
|
change_role:
|
||||||
changed_msg: Успешно променена роля!
|
changed_msg: Успешно променена роля!
|
||||||
|
edit_roles: Управление на потребителските роли
|
||||||
label: Промяна на ролята
|
label: Промяна на ролята
|
||||||
no_role: Без роля
|
no_role: Без роля
|
||||||
title: Промяна на ролята за %{username}
|
title: Промяна на ролята за %{username}
|
||||||
|
@ -412,6 +416,7 @@ bg:
|
||||||
attempts_over_week:
|
attempts_over_week:
|
||||||
one: "%{count} опит за изминалата седмица"
|
one: "%{count} опит за изминалата седмица"
|
||||||
other: "%{count} опита за регистрация през изминалата седмица"
|
other: "%{count} опита за регистрация през изминалата седмица"
|
||||||
|
created_msg: Успешно блокиран домейн на е-поща
|
||||||
delete: Изтриване
|
delete: Изтриване
|
||||||
dns:
|
dns:
|
||||||
types:
|
types:
|
||||||
|
@ -420,8 +425,11 @@ bg:
|
||||||
new:
|
new:
|
||||||
create: Добавяне на домейн
|
create: Добавяне на домейн
|
||||||
resolve: Преобразуване на домейна
|
resolve: Преобразуване на домейна
|
||||||
|
title: Блокиране на нов домейн на имейл
|
||||||
|
no_email_domain_block_selected: Няма промяна, тъй като няма избрани блокирания на домейн на имейл
|
||||||
not_permitted: Няма позволение
|
not_permitted: Няма позволение
|
||||||
resolved_through_html: Преобразувано чрез %{domain}
|
resolved_through_html: Преобразувано чрез %{domain}
|
||||||
|
title: Блокирани домейни на имейл
|
||||||
export_domain_allows:
|
export_domain_allows:
|
||||||
new:
|
new:
|
||||||
title: Внасяне на позволенията на домейни
|
title: Внасяне на позволенията на домейни
|
||||||
|
@ -799,7 +807,7 @@ bg:
|
||||||
original_status: Първообразна публикация
|
original_status: Първообразна публикация
|
||||||
reblogs: Блогване пак
|
reblogs: Блогване пак
|
||||||
status_changed: Публикацията променена
|
status_changed: Публикацията променена
|
||||||
title: Публикации на акаунта
|
title: Публикации на акаунта - @%{name}
|
||||||
trending: Изгряващи
|
trending: Изгряващи
|
||||||
visibility: Видимост
|
visibility: Видимост
|
||||||
with_media: С мултимедия
|
with_media: С мултимедия
|
||||||
|
@ -842,6 +850,9 @@ bg:
|
||||||
message_html: Не сте определили никакви правила на сървъра.
|
message_html: Не сте определили никакви правила на сървъра.
|
||||||
sidekiq_process_check:
|
sidekiq_process_check:
|
||||||
message_html: Не работи процес Sidekiq за %{value} опашка/и. Прегледайте настройките си за Sidekiq
|
message_html: Не работи процес Sidekiq за %{value} опашка/и. Прегледайте настройките си за Sidekiq
|
||||||
|
software_version_check:
|
||||||
|
action: Преглед на наличните обновявания
|
||||||
|
message_html: Налично е обновяване на Mastodon.
|
||||||
software_version_critical_check:
|
software_version_critical_check:
|
||||||
action: Преглед на наличните обновявания
|
action: Преглед на наличните обновявания
|
||||||
message_html: Налично e критично обновяване на Mastodon. Обновете възможно най-бързо.
|
message_html: Налично e критично обновяване на Mastodon. Обновете възможно най-бързо.
|
||||||
|
@ -868,6 +879,7 @@ bg:
|
||||||
name: Име
|
name: Име
|
||||||
newest: Най-нови
|
newest: Най-нови
|
||||||
oldest: Най-стари
|
oldest: Най-стари
|
||||||
|
open: Преглед публично
|
||||||
reset: Нулиране
|
reset: Нулиране
|
||||||
review: Преглед на състояние
|
review: Преглед на състояние
|
||||||
search: Търсене
|
search: Търсене
|
||||||
|
@ -881,6 +893,7 @@ bg:
|
||||||
links:
|
links:
|
||||||
allow: Позволяване на връзка
|
allow: Позволяване на връзка
|
||||||
allow_provider: Позволяване на публикуващия
|
allow_provider: Позволяване на публикуващия
|
||||||
|
confirm_allow: Наистина ли искате да позволите избраните връзки?
|
||||||
confirm_allow_provider: Наистина ли искате да позволите избраните доставчици?
|
confirm_allow_provider: Наистина ли искате да позволите избраните доставчици?
|
||||||
description_html: Това са връзки, които в момента са много пъти споделяни от акаунти, чиито публикации сървърът ви вижда. Може да помогне на потребителите ви да разберат какво се случва по света. Никоя връзка няма да се показва публично, докато не одобрите публикуващия. Може още и да одобрявате или отхвърляте отделни връзки.
|
description_html: Това са връзки, които в момента са много пъти споделяни от акаунти, чиито публикации сървърът ви вижда. Може да помогне на потребителите ви да разберат какво се случва по света. Никоя връзка няма да се показва публично, докато не одобрите публикуващия. Може още и да одобрявате или отхвърляте отделни връзки.
|
||||||
disallow: Забранявам връзката
|
disallow: Забранявам връзката
|
||||||
|
@ -905,6 +918,8 @@ bg:
|
||||||
statuses:
|
statuses:
|
||||||
allow: Позволяване на публикацията
|
allow: Позволяване на публикацията
|
||||||
allow_account: Позволяване на автора
|
allow_account: Позволяване на автора
|
||||||
|
confirm_allow: Наистина ли искате да позволите избраните статуси?
|
||||||
|
confirm_allow_account: Наистина ли искате да позволите избраните акаунти?
|
||||||
description_html: Това са публикации, за които сървърът ви знае, че са често споделяни или харесвани в момента. Това може да помогне на вашите нови и завръщащи се потребители да открият повече хора за следване. Никоя от публикациите няма да бъде показана публично, докато не одобрите автора и докато авторът не позволи акаунтът му да бъде предлган на другите. Също така можете да позволявате или отхвърляте отделни публикации.
|
description_html: Това са публикации, за които сървърът ви знае, че са често споделяни или харесвани в момента. Това може да помогне на вашите нови и завръщащи се потребители да открият повече хора за следване. Никоя от публикациите няма да бъде показана публично, докато не одобрите автора и докато авторът не позволи акаунтът му да бъде предлган на другите. Също така можете да позволявате или отхвърляте отделни публикации.
|
||||||
disallow: Забраняване на публикацията
|
disallow: Забраняване на публикацията
|
||||||
disallow_account: Забрана на автора
|
disallow_account: Забрана на автора
|
||||||
|
@ -1021,6 +1036,7 @@ bg:
|
||||||
guide_link_text: Всеки може да участва.
|
guide_link_text: Всеки може да участва.
|
||||||
sensitive_content: Деликатно съдържание
|
sensitive_content: Деликатно съдържание
|
||||||
application_mailer:
|
application_mailer:
|
||||||
|
notification_preferences: Промяна на предпочитанията за е-поща
|
||||||
salutation: "%{name},"
|
salutation: "%{name},"
|
||||||
unsubscribe: Стоп на абонамента
|
unsubscribe: Стоп на абонамента
|
||||||
view: 'Преглед:'
|
view: 'Преглед:'
|
||||||
|
@ -1102,11 +1118,18 @@ bg:
|
||||||
status:
|
status:
|
||||||
account_status: Състояние на акаунта
|
account_status: Състояние на акаунта
|
||||||
functional: Вашият акаунт е в изправност.
|
functional: Вашият акаунт е в изправност.
|
||||||
|
pending: Вашето приложение чака преглед от персонала ни. Това може да отнеме време. Ще получите е-писмо, ако приложението ви се одобри.
|
||||||
redirecting_to: Вашият акаунт е бездеен, защото сега се пренасочва към %{acct}.
|
redirecting_to: Вашият акаунт е бездеен, защото сега се пренасочва към %{acct}.
|
||||||
self_destruct: Затваряйки %{domain}, ще получите само ограничен достъп до акаунта си.
|
self_destruct: Затваряйки %{domain}, ще получите само ограничен достъп до акаунта си.
|
||||||
view_strikes: Преглед на предишните предупреждения против акаунта ви
|
view_strikes: Преглед на предишните предупреждения против акаунта ви
|
||||||
too_fast: Образецът подаден пребързо, опитайте пак.
|
too_fast: Образецът подаден пребързо, опитайте пак.
|
||||||
use_security_key: Употреба на ключ за сигурност
|
use_security_key: Употреба на ключ за сигурност
|
||||||
|
author_attribution:
|
||||||
|
example_title: Примерен текст
|
||||||
|
more_from_html: Още от %{name}
|
||||||
|
s_blog: Блогът на %{name}
|
||||||
|
then_instructions: Тогава добавете име на домейна на публикацията в долното поле.
|
||||||
|
title: Приписване на авторството
|
||||||
challenge:
|
challenge:
|
||||||
confirm: Продължаване
|
confirm: Продължаване
|
||||||
hint_html: "<strong>Съвет</strong>: няма да ви питаме пак за паролата през следващия час."
|
hint_html: "<strong>Съвет</strong>: няма да ви питаме пак за паролата през следващия час."
|
||||||
|
@ -1450,6 +1473,7 @@ bg:
|
||||||
update:
|
update:
|
||||||
subject: "%{name} промени публикация"
|
subject: "%{name} промени публикация"
|
||||||
notifications:
|
notifications:
|
||||||
|
administration_emails: Известия за администратори по е-поща
|
||||||
email_events_hint: 'Изберете събития, за които искате да получавате известия:'
|
email_events_hint: 'Изберете събития, за които искате да получавате известия:'
|
||||||
number:
|
number:
|
||||||
human:
|
human:
|
||||||
|
@ -1607,6 +1631,7 @@ bg:
|
||||||
import: Импортиране
|
import: Импортиране
|
||||||
import_and_export: Импортиране и експортиране
|
import_and_export: Импортиране и експортиране
|
||||||
migrate: Миграция на акаунта
|
migrate: Миграция на акаунта
|
||||||
|
notifications: Известия по е-поща
|
||||||
preferences: Предпочитания
|
preferences: Предпочитания
|
||||||
profile: Профил
|
profile: Профил
|
||||||
relationships: Последвания и последователи
|
relationships: Последвания и последователи
|
||||||
|
@ -1842,6 +1867,7 @@ bg:
|
||||||
invalid_otp_token: Невалиден код
|
invalid_otp_token: Невалиден код
|
||||||
otp_lost_help_html: Ако загубите достъп до двете, то може да се свържете с %{email}
|
otp_lost_help_html: Ако загубите достъп до двете, то може да се свържете с %{email}
|
||||||
rate_limited: Премного опити за удостоверяване. Опитайте пак по-късно.
|
rate_limited: Премного опити за удостоверяване. Опитайте пак по-късно.
|
||||||
|
seamless_external_login: Влезли сте чрез външна услуга, така че настройките за парола и имейл не са налични.
|
||||||
signed_in_as: 'Влезли като:'
|
signed_in_as: 'Влезли като:'
|
||||||
verification:
|
verification:
|
||||||
extra_instructions_html: <strong>Съвет:</strong>Връзката в уебсайта ви може да е невидима. Важна част е <code>rel="me"</code>, която предотврятява имитирането на уебсайтове с породено от потребителите съдържание. Може дори да употребите етикет за <code>връзката</code> в заглавката на странице вместо <code>а</code>, но HTML трябва да достъпен без изпълнение на JavaScript.
|
extra_instructions_html: <strong>Съвет:</strong>Връзката в уебсайта ви може да е невидима. Важна част е <code>rel="me"</code>, която предотврятява имитирането на уебсайтове с породено от потребителите съдържание. Може дори да употребите етикет за <code>връзката</code> в заглавката на странице вместо <code>а</code>, но HTML трябва да достъпен без изпълнение на JavaScript.
|
||||||
|
@ -1850,6 +1876,7 @@ bg:
|
||||||
instructions_html: Копипейстнете кода долу в HTML на уебсайта си. Тогава добавете адреса на уебсайта си в едно от допълнителните полета на профила ви от раздела "Редактиране на профила" и запазане на промените.
|
instructions_html: Копипейстнете кода долу в HTML на уебсайта си. Тогава добавете адреса на уебсайта си в едно от допълнителните полета на профила ви от раздела "Редактиране на профила" и запазане на промените.
|
||||||
verification: Проверка
|
verification: Проверка
|
||||||
verified_links: Вашите потвърдени връзки
|
verified_links: Вашите потвърдени връзки
|
||||||
|
website_verification: Потвърждаване на уебсайта
|
||||||
webauthn_credentials:
|
webauthn_credentials:
|
||||||
add: Добавяне на нов ключ за сигурност
|
add: Добавяне на нов ключ за сигурност
|
||||||
create:
|
create:
|
||||||
|
|
|
@ -263,7 +263,7 @@ br:
|
||||||
original_status: Toud orin
|
original_status: Toud orin
|
||||||
reblogs: Skignadennoù
|
reblogs: Skignadennoù
|
||||||
status_changed: Toud kemmet
|
status_changed: Toud kemmet
|
||||||
title: Toudoù ar gont
|
title: Toudoù ar gont - @%{name}
|
||||||
visibility: Gwelusted
|
visibility: Gwelusted
|
||||||
with_media: Gant mediaoù
|
with_media: Gant mediaoù
|
||||||
strikes:
|
strikes:
|
||||||
|
|
|
@ -187,6 +187,7 @@ ca:
|
||||||
create_domain_block: Crea un bloqueig de domini
|
create_domain_block: Crea un bloqueig de domini
|
||||||
create_email_domain_block: Crea un blocatge del domini del correu electrònic
|
create_email_domain_block: Crea un blocatge del domini del correu electrònic
|
||||||
create_ip_block: Crear regla IP
|
create_ip_block: Crear regla IP
|
||||||
|
create_relay: Crea un repetidor
|
||||||
create_unavailable_domain: Crea un domini no disponible
|
create_unavailable_domain: Crea un domini no disponible
|
||||||
create_user_role: Crea Rol
|
create_user_role: Crea Rol
|
||||||
demote_user: Degrada l'usuari
|
demote_user: Degrada l'usuari
|
||||||
|
@ -198,14 +199,17 @@ ca:
|
||||||
destroy_email_domain_block: Elimina el blocatge del domini del correu electrònic
|
destroy_email_domain_block: Elimina el blocatge del domini del correu electrònic
|
||||||
destroy_instance: Purga Domini
|
destroy_instance: Purga Domini
|
||||||
destroy_ip_block: Eliminar regla IP
|
destroy_ip_block: Eliminar regla IP
|
||||||
|
destroy_relay: Esborra el repetidor
|
||||||
destroy_status: Elimina la publicació
|
destroy_status: Elimina la publicació
|
||||||
destroy_unavailable_domain: Esborra domini no disponible
|
destroy_unavailable_domain: Esborra domini no disponible
|
||||||
destroy_user_role: Destrueix Rol
|
destroy_user_role: Destrueix Rol
|
||||||
disable_2fa_user: Desactiva 2FA
|
disable_2fa_user: Desactiva 2FA
|
||||||
disable_custom_emoji: Desactiva l'emoji personalitzat
|
disable_custom_emoji: Desactiva l'emoji personalitzat
|
||||||
|
disable_relay: Desactiva el repetidor
|
||||||
disable_sign_in_token_auth_user: Desactivar l'autenticació de token per correu-e per a l'usuari
|
disable_sign_in_token_auth_user: Desactivar l'autenticació de token per correu-e per a l'usuari
|
||||||
disable_user: Deshabilita l'usuari
|
disable_user: Deshabilita l'usuari
|
||||||
enable_custom_emoji: Activa l'emoji personalitzat
|
enable_custom_emoji: Activa l'emoji personalitzat
|
||||||
|
enable_relay: Activa el repetidor
|
||||||
enable_sign_in_token_auth_user: Activar l'autenticació de token per correu-e per a l'usuari
|
enable_sign_in_token_auth_user: Activar l'autenticació de token per correu-e per a l'usuari
|
||||||
enable_user: Activa l'usuari
|
enable_user: Activa l'usuari
|
||||||
memorialize_account: Memoritza el compte
|
memorialize_account: Memoritza el compte
|
||||||
|
@ -247,6 +251,7 @@ ca:
|
||||||
create_domain_block_html: "%{name} ha bloquejat el domini %{target}"
|
create_domain_block_html: "%{name} ha bloquejat el domini %{target}"
|
||||||
create_email_domain_block_html: "%{name} ha blocat el domini de correu electrònic %{target}"
|
create_email_domain_block_html: "%{name} ha blocat el domini de correu electrònic %{target}"
|
||||||
create_ip_block_html: "%{name} ha creat una regla per a l'IP %{target}"
|
create_ip_block_html: "%{name} ha creat una regla per a l'IP %{target}"
|
||||||
|
create_relay_html: "%{name} ha creat un repetidor %{target}"
|
||||||
create_unavailable_domain_html: "%{name} ha aturat el lliurament al domini %{target}"
|
create_unavailable_domain_html: "%{name} ha aturat el lliurament al domini %{target}"
|
||||||
create_user_role_html: "%{name} ha creat el rol %{target}"
|
create_user_role_html: "%{name} ha creat el rol %{target}"
|
||||||
demote_user_html: "%{name} ha degradat l'usuari %{target}"
|
demote_user_html: "%{name} ha degradat l'usuari %{target}"
|
||||||
|
@ -258,14 +263,17 @@ ca:
|
||||||
destroy_email_domain_block_html: "%{name} ha desblocat el domini de correu electrònic %{target}"
|
destroy_email_domain_block_html: "%{name} ha desblocat el domini de correu electrònic %{target}"
|
||||||
destroy_instance_html: "%{name} ha purgat el domini %{target}"
|
destroy_instance_html: "%{name} ha purgat el domini %{target}"
|
||||||
destroy_ip_block_html: "%{name} ha esborrat la regla per a l'IP %{target}"
|
destroy_ip_block_html: "%{name} ha esborrat la regla per a l'IP %{target}"
|
||||||
|
destroy_relay_html: "%{name} ha esborrat el repetidor %{target}"
|
||||||
destroy_status_html: "%{name} ha eliminat el tut de %{target}"
|
destroy_status_html: "%{name} ha eliminat el tut de %{target}"
|
||||||
destroy_unavailable_domain_html: "%{name} ha représ el lliurament delivery al domini %{target}"
|
destroy_unavailable_domain_html: "%{name} ha représ el lliurament delivery al domini %{target}"
|
||||||
destroy_user_role_html: "%{name} ha esborrat el rol %{target}"
|
destroy_user_role_html: "%{name} ha esborrat el rol %{target}"
|
||||||
disable_2fa_user_html: "%{name} ha desactivat el requisit de dos factors per a l'usuari %{target}"
|
disable_2fa_user_html: "%{name} ha desactivat el requisit de dos factors per a l'usuari %{target}"
|
||||||
disable_custom_emoji_html: "%{name} ha desactivat l'emoji %{target}"
|
disable_custom_emoji_html: "%{name} ha desactivat l'emoji %{target}"
|
||||||
|
disable_relay_html: "%{name} ha desactivat el repetidor %{target}"
|
||||||
disable_sign_in_token_auth_user_html: "%{name} ha desactivat l'autenticació de token per correu-e per a %{target}"
|
disable_sign_in_token_auth_user_html: "%{name} ha desactivat l'autenticació de token per correu-e per a %{target}"
|
||||||
disable_user_html: "%{name} ha desactivat l'accés del usuari %{target}"
|
disable_user_html: "%{name} ha desactivat l'accés del usuari %{target}"
|
||||||
enable_custom_emoji_html: "%{name} ha activat l'emoji %{target}"
|
enable_custom_emoji_html: "%{name} ha activat l'emoji %{target}"
|
||||||
|
enable_relay_html: "%{name} ha activat el repetidor %{target}"
|
||||||
enable_sign_in_token_auth_user_html: "%{name} ha activat l'autenticació de token per correu-e per a %{target}"
|
enable_sign_in_token_auth_user_html: "%{name} ha activat l'autenticació de token per correu-e per a %{target}"
|
||||||
enable_user_html: "%{name} ha activat l'accés del usuari %{target}"
|
enable_user_html: "%{name} ha activat l'accés del usuari %{target}"
|
||||||
memorialize_account_html: "%{name} ha convertit el compte %{target} en una pàgina de memorial"
|
memorialize_account_html: "%{name} ha convertit el compte %{target} en una pàgina de memorial"
|
||||||
|
@ -833,7 +841,7 @@ ca:
|
||||||
original_status: Publicació original
|
original_status: Publicació original
|
||||||
reblogs: Impulsos
|
reblogs: Impulsos
|
||||||
status_changed: Publicació canviada
|
status_changed: Publicació canviada
|
||||||
title: Estats del compte
|
title: Estats del compte - @%{name}
|
||||||
trending: Tendència
|
trending: Tendència
|
||||||
visibility: Visibilitat
|
visibility: Visibilitat
|
||||||
with_media: Amb contingut multimèdia
|
with_media: Amb contingut multimèdia
|
||||||
|
|
|
@ -520,7 +520,7 @@ ckb:
|
||||||
media:
|
media:
|
||||||
title: میدیا
|
title: میدیا
|
||||||
no_status_selected: هیچ دۆخیک نەگۆڕاوە وەک ئەوەی هیچ بارێک دەستنیشان نەکراوە
|
no_status_selected: هیچ دۆخیک نەگۆڕاوە وەک ئەوەی هیچ بارێک دەستنیشان نەکراوە
|
||||||
title: دۆخی ئەژمێر
|
title: دۆخی ئەژمێر - @%{name}
|
||||||
with_media: بە میدیا
|
with_media: بە میدیا
|
||||||
tags:
|
tags:
|
||||||
review: پێداچوونەوەی دۆخ
|
review: پێداچوونەوەی دۆخ
|
||||||
|
|
|
@ -459,7 +459,7 @@ co:
|
||||||
media:
|
media:
|
||||||
title: Media
|
title: Media
|
||||||
no_status_selected: I statuti ùn sò micca stati mudificati perchè manc'unu era selezziunatu
|
no_status_selected: I statuti ùn sò micca stati mudificati perchè manc'unu era selezziunatu
|
||||||
title: Statuti di u contu
|
title: Statuti di u contu - @%{name}
|
||||||
with_media: Cù media
|
with_media: Cù media
|
||||||
system_checks:
|
system_checks:
|
||||||
rules_check:
|
rules_check:
|
||||||
|
|
|
@ -826,7 +826,7 @@ cs:
|
||||||
original_status: Původní příspěvek
|
original_status: Původní příspěvek
|
||||||
reblogs: Boosty
|
reblogs: Boosty
|
||||||
status_changed: Příspěvek změněn
|
status_changed: Příspěvek změněn
|
||||||
title: Příspěvky účtu
|
title: Příspěvky účtu - @%{name}
|
||||||
trending: Populární
|
trending: Populární
|
||||||
visibility: Viditelnost
|
visibility: Viditelnost
|
||||||
with_media: S médii
|
with_media: S médii
|
||||||
|
|
|
@ -199,6 +199,7 @@ cy:
|
||||||
create_domain_block: Creu Gwaharddiad Parth
|
create_domain_block: Creu Gwaharddiad Parth
|
||||||
create_email_domain_block: Creu Rhwystr Parth E-bost
|
create_email_domain_block: Creu Rhwystr Parth E-bost
|
||||||
create_ip_block: Creu rheol IP
|
create_ip_block: Creu rheol IP
|
||||||
|
create_relay: Creu Cyfnewidiad
|
||||||
create_unavailable_domain: Creu Parth Ddim ar Gael
|
create_unavailable_domain: Creu Parth Ddim ar Gael
|
||||||
create_user_role: Creu Rôl
|
create_user_role: Creu Rôl
|
||||||
demote_user: Diraddio Defnyddiwr
|
demote_user: Diraddio Defnyddiwr
|
||||||
|
@ -210,14 +211,17 @@ cy:
|
||||||
destroy_email_domain_block: Dileu Rhwystr Parth E-bost
|
destroy_email_domain_block: Dileu Rhwystr Parth E-bost
|
||||||
destroy_instance: Clirio Parth
|
destroy_instance: Clirio Parth
|
||||||
destroy_ip_block: Dileu rheol IP
|
destroy_ip_block: Dileu rheol IP
|
||||||
|
destroy_relay: Dileu Cyfnewidiad
|
||||||
destroy_status: Dileu Postiad
|
destroy_status: Dileu Postiad
|
||||||
destroy_unavailable_domain: Dileu Parth Ddim ar Gael
|
destroy_unavailable_domain: Dileu Parth Ddim ar Gael
|
||||||
destroy_user_role: Dileu Rôl
|
destroy_user_role: Dileu Rôl
|
||||||
disable_2fa_user: Diffodd 2FA
|
disable_2fa_user: Diffodd 2FA
|
||||||
disable_custom_emoji: Analluogi Emoji Addasedig
|
disable_custom_emoji: Analluogi Emoji Addasedig
|
||||||
|
disable_relay: Analluogi Cyfnewidiad
|
||||||
disable_sign_in_token_auth_user: Analluogi Dilysu Tocyn E-bost Defnyddiwr
|
disable_sign_in_token_auth_user: Analluogi Dilysu Tocyn E-bost Defnyddiwr
|
||||||
disable_user: Analluogi Defnyddiwr
|
disable_user: Analluogi Defnyddiwr
|
||||||
enable_custom_emoji: Galluogi Emoji Addasedig
|
enable_custom_emoji: Galluogi Emoji Addasedig
|
||||||
|
enable_relay: Galluogi Cyfnewidiad
|
||||||
enable_sign_in_token_auth_user: Galluogi Dilysu Tocyn E-bost Defnyddiwr
|
enable_sign_in_token_auth_user: Galluogi Dilysu Tocyn E-bost Defnyddiwr
|
||||||
enable_user: Galluogi Defnyddiwr
|
enable_user: Galluogi Defnyddiwr
|
||||||
memorialize_account: Cofadeilio Cyfrif
|
memorialize_account: Cofadeilio Cyfrif
|
||||||
|
@ -259,6 +263,7 @@ cy:
|
||||||
create_domain_block_html: Mae %{name} wedi rhwystro parth %{target}
|
create_domain_block_html: Mae %{name} wedi rhwystro parth %{target}
|
||||||
create_email_domain_block_html: Mae %{name} wedi rhwystro parth e-bost %{target}
|
create_email_domain_block_html: Mae %{name} wedi rhwystro parth e-bost %{target}
|
||||||
create_ip_block_html: Mae %{name} wedi creu rheol ar gyfer IP %{target}
|
create_ip_block_html: Mae %{name} wedi creu rheol ar gyfer IP %{target}
|
||||||
|
create_relay_html: Creodd %{name} gyfnewidiad %{target}
|
||||||
create_unavailable_domain_html: Mae %{name} wedi stopio danfon i barth %{target}
|
create_unavailable_domain_html: Mae %{name} wedi stopio danfon i barth %{target}
|
||||||
create_user_role_html: Mae %{name} wedi creu rôl %{target}
|
create_user_role_html: Mae %{name} wedi creu rôl %{target}
|
||||||
demote_user_html: Mae %{name} wedi israddio defnyddiwr %{target}
|
demote_user_html: Mae %{name} wedi israddio defnyddiwr %{target}
|
||||||
|
@ -270,14 +275,17 @@ cy:
|
||||||
destroy_email_domain_block_html: Mae %{name} wedi dad-rwystro parth e-bost %{target}
|
destroy_email_domain_block_html: Mae %{name} wedi dad-rwystro parth e-bost %{target}
|
||||||
destroy_instance_html: Mae %{name} wedi dileu parth %{target}
|
destroy_instance_html: Mae %{name} wedi dileu parth %{target}
|
||||||
destroy_ip_block_html: Mae %{name} dileu rheol ar gyfer IP %{target}
|
destroy_ip_block_html: Mae %{name} dileu rheol ar gyfer IP %{target}
|
||||||
|
destroy_relay_html: Dileodd %{name} y cyfnewidiad %{target}
|
||||||
destroy_status_html: Mae %{name} wedi tynnu postiad gan %{target}
|
destroy_status_html: Mae %{name} wedi tynnu postiad gan %{target}
|
||||||
destroy_unavailable_domain_html: Mae %{name} wedi ailddechrau anfon i barth %{target}
|
destroy_unavailable_domain_html: Mae %{name} wedi ailddechrau anfon i barth %{target}
|
||||||
destroy_user_role_html: Mae %{name} wedi dileu rôl %{target}
|
destroy_user_role_html: Mae %{name} wedi dileu rôl %{target}
|
||||||
disable_2fa_user_html: Mae %{name} wedi analluogi gofyniad dau ffactor ar gyfer defnyddiwr %{target}
|
disable_2fa_user_html: Mae %{name} wedi analluogi gofyniad dau ffactor ar gyfer defnyddiwr %{target}
|
||||||
disable_custom_emoji_html: Mae %{name} wedi analluogi emoji %{target}
|
disable_custom_emoji_html: Mae %{name} wedi analluogi emoji %{target}
|
||||||
|
disable_relay_html: Analluogodd %{name} y cyfnewidiad %{target}
|
||||||
disable_sign_in_token_auth_user_html: Mae %{name} wedi analluogi dilysiad tocyn e-bost %{target}
|
disable_sign_in_token_auth_user_html: Mae %{name} wedi analluogi dilysiad tocyn e-bost %{target}
|
||||||
disable_user_html: Mae %{name} wedi analluogi mewngofnodi defnyddiwr %{target}
|
disable_user_html: Mae %{name} wedi analluogi mewngofnodi defnyddiwr %{target}
|
||||||
enable_custom_emoji_html: Mae %{name} wedi analluogi emoji %{target}
|
enable_custom_emoji_html: Mae %{name} wedi analluogi emoji %{target}
|
||||||
|
enable_relay_html: Galluogodd %{name} y cyfnewidiad %{target}
|
||||||
enable_sign_in_token_auth_user_html: Mae %{name} wedi galluogi dilysiad tocyn e-bost %{target}
|
enable_sign_in_token_auth_user_html: Mae %{name} wedi galluogi dilysiad tocyn e-bost %{target}
|
||||||
enable_user_html: Mae %{name} wedi galluogi mewngofnodi defnyddiwr %{target}
|
enable_user_html: Mae %{name} wedi galluogi mewngofnodi defnyddiwr %{target}
|
||||||
memorialize_account_html: Newidiodd %{name} gyfrif %{target} i dudalen memoriam
|
memorialize_account_html: Newidiodd %{name} gyfrif %{target} i dudalen memoriam
|
||||||
|
@ -889,7 +897,7 @@ cy:
|
||||||
original_status: Postiad gwreiddiol
|
original_status: Postiad gwreiddiol
|
||||||
reblogs: Ailflogiadau
|
reblogs: Ailflogiadau
|
||||||
status_changed: Postiad wedi'i newid
|
status_changed: Postiad wedi'i newid
|
||||||
title: Postiadau cyfrif
|
title: Postiadau cyfrif - @%{name}
|
||||||
trending: Yn trendio
|
trending: Yn trendio
|
||||||
visibility: Gwelededd
|
visibility: Gwelededd
|
||||||
with_media: Gyda chyfryngau
|
with_media: Gyda chyfryngau
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue