Merge remote-tracking branch 'parent/main' into upstream-20250210
This commit is contained in:
commit
f3f93ba0c6
108 changed files with 1041 additions and 727 deletions
4
.github/workflows/build-security.yml
vendored
4
.github/workflows/build-security.yml
vendored
|
@ -24,8 +24,6 @@ jobs:
|
||||||
uses: ./.github/workflows/build-container-image.yml
|
uses: ./.github/workflows/build-container-image.yml
|
||||||
with:
|
with:
|
||||||
file_to_build: Dockerfile
|
file_to_build: Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
|
||||||
use_native_arm64_builder: true
|
|
||||||
cache: false
|
cache: false
|
||||||
push_to_images: |
|
push_to_images: |
|
||||||
tootsuite/mastodon
|
tootsuite/mastodon
|
||||||
|
@ -46,8 +44,6 @@ jobs:
|
||||||
uses: ./.github/workflows/build-container-image.yml
|
uses: ./.github/workflows/build-container-image.yml
|
||||||
with:
|
with:
|
||||||
file_to_build: streaming/Dockerfile
|
file_to_build: streaming/Dockerfile
|
||||||
platforms: linux/amd64,linux/arm64
|
|
||||||
use_native_arm64_builder: true
|
|
||||||
cache: false
|
cache: false
|
||||||
push_to_images: |
|
push_to_images: |
|
||||||
tootsuite/mastodon-streaming
|
tootsuite/mastodon-streaming
|
||||||
|
|
1
.github/workflows/test-migrations.yml
vendored
1
.github/workflows/test-migrations.yml
vendored
|
@ -67,7 +67,6 @@ jobs:
|
||||||
DB_HOST: localhost
|
DB_HOST: localhost
|
||||||
DB_USER: postgres
|
DB_USER: postgres
|
||||||
DB_PASS: postgres
|
DB_PASS: postgres
|
||||||
DISABLE_SIMPLECOV: true
|
|
||||||
RAILS_ENV: test
|
RAILS_ENV: test
|
||||||
BUNDLE_CLEAN: true
|
BUNDLE_CLEAN: true
|
||||||
BUNDLE_FROZEN: true
|
BUNDLE_FROZEN: true
|
||||||
|
|
6
.github/workflows/test-ruby.yml
vendored
6
.github/workflows/test-ruby.yml
vendored
|
@ -110,7 +110,7 @@ jobs:
|
||||||
DB_HOST: localhost
|
DB_HOST: localhost
|
||||||
DB_USER: postgres
|
DB_USER: postgres
|
||||||
DB_PASS: postgres
|
DB_PASS: postgres
|
||||||
DISABLE_SIMPLECOV: ${{ matrix.ruby-version != '.ruby-version' }}
|
COVERAGE: ${{ matrix.ruby-version == '.ruby-version' }}
|
||||||
RAILS_ENV: test
|
RAILS_ENV: test
|
||||||
ALLOW_NOPAM: true
|
ALLOW_NOPAM: true
|
||||||
PAM_ENABLED: true
|
PAM_ENABLED: true
|
||||||
|
@ -212,7 +212,7 @@ jobs:
|
||||||
DB_HOST: localhost
|
DB_HOST: localhost
|
||||||
DB_USER: postgres
|
DB_USER: postgres
|
||||||
DB_PASS: postgres
|
DB_PASS: postgres
|
||||||
DISABLE_SIMPLECOV: ${{ matrix.ruby-version != '.ruby-version' }}
|
COVERAGE: ${{ matrix.ruby-version == '.ruby-version' }}
|
||||||
RAILS_ENV: test
|
RAILS_ENV: test
|
||||||
ALLOW_NOPAM: true
|
ALLOW_NOPAM: true
|
||||||
PAM_ENABLED: true
|
PAM_ENABLED: true
|
||||||
|
@ -299,7 +299,6 @@ jobs:
|
||||||
DB_HOST: localhost
|
DB_HOST: localhost
|
||||||
DB_USER: postgres
|
DB_USER: postgres
|
||||||
DB_PASS: postgres
|
DB_PASS: postgres
|
||||||
DISABLE_SIMPLECOV: true
|
|
||||||
RAILS_ENV: test
|
RAILS_ENV: test
|
||||||
BUNDLE_WITH: test
|
BUNDLE_WITH: test
|
||||||
ES_ENABLED: false
|
ES_ENABLED: false
|
||||||
|
@ -416,7 +415,6 @@ jobs:
|
||||||
DB_HOST: localhost
|
DB_HOST: localhost
|
||||||
DB_USER: postgres
|
DB_USER: postgres
|
||||||
DB_PASS: postgres
|
DB_PASS: postgres
|
||||||
DISABLE_SIMPLECOV: true
|
|
||||||
RAILS_ENV: test
|
RAILS_ENV: test
|
||||||
BUNDLE_WITH: test
|
BUNDLE_WITH: test
|
||||||
ES_ENABLED: true
|
ES_ENABLED: true
|
||||||
|
|
10
Gemfile
10
Gemfile
|
@ -116,7 +116,7 @@ group :opentelemetry do
|
||||||
gem 'opentelemetry-instrumentation-net_http', '~> 0.23.0', require: false
|
gem 'opentelemetry-instrumentation-net_http', '~> 0.23.0', require: false
|
||||||
gem 'opentelemetry-instrumentation-pg', '~> 0.30.0', require: false
|
gem 'opentelemetry-instrumentation-pg', '~> 0.30.0', require: false
|
||||||
gem 'opentelemetry-instrumentation-rack', '~> 0.26.0', require: false
|
gem 'opentelemetry-instrumentation-rack', '~> 0.26.0', require: false
|
||||||
gem 'opentelemetry-instrumentation-rails', '~> 0.35.0', require: false
|
gem 'opentelemetry-instrumentation-rails', '~> 0.36.0', require: false
|
||||||
gem 'opentelemetry-instrumentation-redis', '~> 0.26.0', require: false
|
gem 'opentelemetry-instrumentation-redis', '~> 0.26.0', require: false
|
||||||
gem 'opentelemetry-instrumentation-sidekiq', '~> 0.26.0', require: false
|
gem 'opentelemetry-instrumentation-sidekiq', '~> 0.26.0', require: false
|
||||||
gem 'opentelemetry-sdk', '~> 1.4', require: false
|
gem 'opentelemetry-sdk', '~> 1.4', require: false
|
||||||
|
@ -156,7 +156,7 @@ group :test do
|
||||||
|
|
||||||
gem 'shoulda-matchers'
|
gem 'shoulda-matchers'
|
||||||
|
|
||||||
# Coverage formatter for RSpec test if DISABLE_SIMPLECOV is false
|
# Coverage formatter for RSpec
|
||||||
gem 'simplecov', '~> 0.22', require: false
|
gem 'simplecov', '~> 0.22', require: false
|
||||||
gem 'simplecov-lcov', '~> 0.8', require: false
|
gem 'simplecov-lcov', '~> 0.8', require: false
|
||||||
|
|
||||||
|
@ -174,7 +174,7 @@ group :development do
|
||||||
gem 'rubocop-rspec_rails', require: false
|
gem 'rubocop-rspec_rails', require: false
|
||||||
|
|
||||||
# Annotates modules with schema
|
# Annotates modules with schema
|
||||||
gem 'annotaterb', '~> 4.13'
|
gem 'annotaterb', '~> 4.13', require: false
|
||||||
|
|
||||||
# Enhanced error message pages for development
|
# Enhanced error message pages for development
|
||||||
gem 'better_errors', '~> 2.9'
|
gem 'better_errors', '~> 2.9'
|
||||||
|
@ -197,7 +197,7 @@ end
|
||||||
|
|
||||||
group :development, :test do
|
group :development, :test do
|
||||||
# Interactive Debugging tools
|
# Interactive Debugging tools
|
||||||
gem 'debug', '~> 1.8'
|
gem 'debug', '~> 1.8', require: false
|
||||||
|
|
||||||
# Generate fake data values
|
# Generate fake data values
|
||||||
gem 'faker', '~> 3.2'
|
gem 'faker', '~> 3.2'
|
||||||
|
@ -209,7 +209,7 @@ group :development, :test do
|
||||||
gem 'memory_profiler', require: false
|
gem 'memory_profiler', require: false
|
||||||
gem 'ruby-prof', require: false
|
gem 'ruby-prof', require: false
|
||||||
gem 'stackprof', require: false
|
gem 'stackprof', require: false
|
||||||
gem 'test-prof'
|
gem 'test-prof', require: false
|
||||||
|
|
||||||
# RSpec runner for rails
|
# RSpec runner for rails
|
||||||
gem 'rspec-rails', '~> 7.0'
|
gem 'rspec-rails', '~> 7.0'
|
||||||
|
|
61
Gemfile.lock
61
Gemfile.lock
|
@ -220,7 +220,7 @@ GEM
|
||||||
erubi (1.13.1)
|
erubi (1.13.1)
|
||||||
et-orbi (1.2.11)
|
et-orbi (1.2.11)
|
||||||
tzinfo
|
tzinfo
|
||||||
excon (0.112.0)
|
excon (1.2.3)
|
||||||
fabrication (2.31.0)
|
fabrication (2.31.0)
|
||||||
faker (3.5.1)
|
faker (3.5.1)
|
||||||
i18n (>= 1.8.11, < 2)
|
i18n (>= 1.8.11, < 2)
|
||||||
|
@ -244,15 +244,15 @@ GEM
|
||||||
flatware-rspec (2.3.4)
|
flatware-rspec (2.3.4)
|
||||||
flatware (= 2.3.4)
|
flatware (= 2.3.4)
|
||||||
rspec (>= 3.6)
|
rspec (>= 3.6)
|
||||||
fog-core (2.5.0)
|
fog-core (2.6.0)
|
||||||
builder
|
builder
|
||||||
excon (~> 0.71)
|
excon (~> 1.0)
|
||||||
formatador (>= 0.2, < 2.0)
|
formatador (>= 0.2, < 2.0)
|
||||||
mime-types
|
mime-types
|
||||||
fog-json (1.2.0)
|
fog-json (1.2.0)
|
||||||
fog-core
|
fog-core
|
||||||
multi_json (~> 1.10)
|
multi_json (~> 1.10)
|
||||||
fog-openstack (1.1.3)
|
fog-openstack (1.1.4)
|
||||||
fog-core (~> 2.1)
|
fog-core (~> 2.1)
|
||||||
fog-json (>= 1.0)
|
fog-json (>= 1.0)
|
||||||
formatador (1.1.0)
|
formatador (1.1.0)
|
||||||
|
@ -273,7 +273,7 @@ GEM
|
||||||
activesupport (>= 5.1)
|
activesupport (>= 5.1)
|
||||||
haml (>= 4.0.6)
|
haml (>= 4.0.6)
|
||||||
railties (>= 5.1)
|
railties (>= 5.1)
|
||||||
haml_lint (0.59.0)
|
haml_lint (0.60.0)
|
||||||
haml (>= 5.0)
|
haml (>= 5.0)
|
||||||
parallel (~> 1.10)
|
parallel (~> 1.10)
|
||||||
rainbow
|
rainbow
|
||||||
|
@ -350,7 +350,7 @@ GEM
|
||||||
addressable (~> 2.8)
|
addressable (~> 2.8)
|
||||||
bigdecimal (~> 3.1)
|
bigdecimal (~> 3.1)
|
||||||
jsonapi-renderer (0.2.2)
|
jsonapi-renderer (0.2.2)
|
||||||
jwt (2.9.3)
|
jwt (2.10.1)
|
||||||
base64
|
base64
|
||||||
kaminari (1.2.2)
|
kaminari (1.2.2)
|
||||||
activesupport (>= 4.1.0)
|
activesupport (>= 4.1.0)
|
||||||
|
@ -407,7 +407,7 @@ 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.2025.0107)
|
mime-types-data (3.2025.0204)
|
||||||
mini_mime (1.1.5)
|
mini_mime (1.1.5)
|
||||||
mini_portile2 (2.8.8)
|
mini_portile2 (2.8.8)
|
||||||
minitest (5.25.4)
|
minitest (5.25.4)
|
||||||
|
@ -461,7 +461,7 @@ GEM
|
||||||
validate_email
|
validate_email
|
||||||
validate_url
|
validate_url
|
||||||
webfinger (~> 1.2)
|
webfinger (~> 1.2)
|
||||||
openssl (3.2.1)
|
openssl (3.3.0)
|
||||||
openssl-signature_algorithm (1.3.0)
|
openssl-signature_algorithm (1.3.0)
|
||||||
openssl (> 2.0)
|
openssl (> 2.0)
|
||||||
opentelemetry-api (1.4.0)
|
opentelemetry-api (1.4.0)
|
||||||
|
@ -480,7 +480,7 @@ GEM
|
||||||
opentelemetry-api (~> 1.0)
|
opentelemetry-api (~> 1.0)
|
||||||
opentelemetry-instrumentation-active_support (~> 0.7)
|
opentelemetry-instrumentation-active_support (~> 0.7)
|
||||||
opentelemetry-instrumentation-base (~> 0.23.0)
|
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||||
opentelemetry-instrumentation-action_pack (0.11.0)
|
opentelemetry-instrumentation-action_pack (0.12.0)
|
||||||
opentelemetry-api (~> 1.0)
|
opentelemetry-api (~> 1.0)
|
||||||
opentelemetry-instrumentation-base (~> 0.23.0)
|
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||||
opentelemetry-instrumentation-rack (~> 0.21)
|
opentelemetry-instrumentation-rack (~> 0.21)
|
||||||
|
@ -498,6 +498,10 @@ GEM
|
||||||
opentelemetry-instrumentation-active_record (0.9.0)
|
opentelemetry-instrumentation-active_record (0.9.0)
|
||||||
opentelemetry-api (~> 1.0)
|
opentelemetry-api (~> 1.0)
|
||||||
opentelemetry-instrumentation-base (~> 0.23.0)
|
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||||
|
opentelemetry-instrumentation-active_storage (0.1.0)
|
||||||
|
opentelemetry-api (~> 1.4.0)
|
||||||
|
opentelemetry-instrumentation-active_support (~> 0.7)
|
||||||
|
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||||
opentelemetry-instrumentation-active_support (0.8.0)
|
opentelemetry-instrumentation-active_support (0.8.0)
|
||||||
opentelemetry-api (~> 1.0)
|
opentelemetry-api (~> 1.0)
|
||||||
opentelemetry-instrumentation-base (~> 0.23.0)
|
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||||
|
@ -530,17 +534,18 @@ GEM
|
||||||
opentelemetry-instrumentation-rack (0.26.0)
|
opentelemetry-instrumentation-rack (0.26.0)
|
||||||
opentelemetry-api (~> 1.0)
|
opentelemetry-api (~> 1.0)
|
||||||
opentelemetry-instrumentation-base (~> 0.23.0)
|
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||||
opentelemetry-instrumentation-rails (0.35.1)
|
opentelemetry-instrumentation-rails (0.36.0)
|
||||||
opentelemetry-api (~> 1.0)
|
opentelemetry-api (~> 1.0)
|
||||||
opentelemetry-instrumentation-action_mailer (~> 0.4.0)
|
opentelemetry-instrumentation-action_mailer (~> 0.4.0)
|
||||||
opentelemetry-instrumentation-action_pack (~> 0.11.0)
|
opentelemetry-instrumentation-action_pack (~> 0.12.0)
|
||||||
opentelemetry-instrumentation-action_view (~> 0.9.0)
|
opentelemetry-instrumentation-action_view (~> 0.9.0)
|
||||||
opentelemetry-instrumentation-active_job (~> 0.8.0)
|
opentelemetry-instrumentation-active_job (~> 0.8.0)
|
||||||
opentelemetry-instrumentation-active_record (~> 0.9.0)
|
opentelemetry-instrumentation-active_record (~> 0.9.0)
|
||||||
|
opentelemetry-instrumentation-active_storage (~> 0.1.0)
|
||||||
opentelemetry-instrumentation-active_support (~> 0.8.0)
|
opentelemetry-instrumentation-active_support (~> 0.8.0)
|
||||||
opentelemetry-instrumentation-base (~> 0.23.0)
|
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||||
opentelemetry-instrumentation-concurrent_ruby (~> 0.22.0)
|
opentelemetry-instrumentation-concurrent_ruby (~> 0.22.0)
|
||||||
opentelemetry-instrumentation-redis (0.26.0)
|
opentelemetry-instrumentation-redis (0.26.1)
|
||||||
opentelemetry-api (~> 1.0)
|
opentelemetry-api (~> 1.0)
|
||||||
opentelemetry-instrumentation-base (~> 0.23.0)
|
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||||
opentelemetry-instrumentation-sidekiq (0.26.0)
|
opentelemetry-instrumentation-sidekiq (0.26.0)
|
||||||
|
@ -548,7 +553,7 @@ GEM
|
||||||
opentelemetry-instrumentation-base (~> 0.23.0)
|
opentelemetry-instrumentation-base (~> 0.23.0)
|
||||||
opentelemetry-registry (0.3.1)
|
opentelemetry-registry (0.3.1)
|
||||||
opentelemetry-api (~> 1.1)
|
opentelemetry-api (~> 1.1)
|
||||||
opentelemetry-sdk (1.6.0)
|
opentelemetry-sdk (1.7.0)
|
||||||
opentelemetry-api (~> 1.1)
|
opentelemetry-api (~> 1.1)
|
||||||
opentelemetry-common (~> 0.20)
|
opentelemetry-common (~> 0.20)
|
||||||
opentelemetry-registry (~> 0.2)
|
opentelemetry-registry (~> 0.2)
|
||||||
|
@ -591,7 +596,7 @@ GEM
|
||||||
date
|
date
|
||||||
stringio
|
stringio
|
||||||
public_suffix (6.0.1)
|
public_suffix (6.0.1)
|
||||||
puma (6.5.0)
|
puma (6.6.0)
|
||||||
nio4r (~> 2.0)
|
nio4r (~> 2.0)
|
||||||
pundit (2.4.0)
|
pundit (2.4.0)
|
||||||
activesupport (>= 3.0.0)
|
activesupport (>= 3.0.0)
|
||||||
|
@ -692,7 +697,7 @@ GEM
|
||||||
rspec-core (~> 3.13.0)
|
rspec-core (~> 3.13.0)
|
||||||
rspec-expectations (~> 3.13.0)
|
rspec-expectations (~> 3.13.0)
|
||||||
rspec-mocks (~> 3.13.0)
|
rspec-mocks (~> 3.13.0)
|
||||||
rspec-core (3.13.2)
|
rspec-core (3.13.3)
|
||||||
rspec-support (~> 3.13.0)
|
rspec-support (~> 3.13.0)
|
||||||
rspec-expectations (3.13.3)
|
rspec-expectations (3.13.3)
|
||||||
diff-lcs (>= 1.2.0, < 2.0)
|
diff-lcs (>= 1.2.0, < 2.0)
|
||||||
|
@ -702,7 +707,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.1.0)
|
rspec-rails (7.1.1)
|
||||||
actionpack (>= 7.0)
|
actionpack (>= 7.0)
|
||||||
activesupport (>= 7.0)
|
activesupport (>= 7.0)
|
||||||
railties (>= 7.0)
|
railties (>= 7.0)
|
||||||
|
@ -716,14 +721,14 @@ GEM
|
||||||
rspec-mocks (~> 3.0)
|
rspec-mocks (~> 3.0)
|
||||||
sidekiq (>= 5, < 8)
|
sidekiq (>= 5, < 8)
|
||||||
rspec-support (3.13.2)
|
rspec-support (3.13.2)
|
||||||
rubocop (1.71.0)
|
rubocop (1.71.2)
|
||||||
json (~> 2.3)
|
json (~> 2.3)
|
||||||
language_server-protocol (>= 3.17.0)
|
language_server-protocol (>= 3.17.0)
|
||||||
parallel (~> 1.10)
|
parallel (~> 1.10)
|
||||||
parser (>= 3.3.0.2)
|
parser (>= 3.3.0.2)
|
||||||
rainbow (>= 2.2.2, < 4.0)
|
rainbow (>= 2.2.2, < 4.0)
|
||||||
regexp_parser (>= 2.9.3, < 3.0)
|
regexp_parser (>= 2.9.3, < 3.0)
|
||||||
rubocop-ast (>= 1.36.2, < 2.0)
|
rubocop-ast (>= 1.38.0, < 2.0)
|
||||||
ruby-progressbar (~> 1.7)
|
ruby-progressbar (~> 1.7)
|
||||||
unicode-display_width (>= 2.4.0, < 4.0)
|
unicode-display_width (>= 2.4.0, < 4.0)
|
||||||
rubocop-ast (1.38.0)
|
rubocop-ast (1.38.0)
|
||||||
|
@ -748,7 +753,7 @@ GEM
|
||||||
ruby-saml (1.17.0)
|
ruby-saml (1.17.0)
|
||||||
nokogiri (>= 1.13.10)
|
nokogiri (>= 1.13.10)
|
||||||
rexml
|
rexml
|
||||||
ruby-vips (2.2.2)
|
ruby-vips (2.2.3)
|
||||||
ffi (~> 1.12)
|
ffi (~> 1.12)
|
||||||
logger
|
logger
|
||||||
rubyzip (2.4.1)
|
rubyzip (2.4.1)
|
||||||
|
@ -763,7 +768,7 @@ GEM
|
||||||
activerecord (>= 4.0.0)
|
activerecord (>= 4.0.0)
|
||||||
railties (>= 4.0.0)
|
railties (>= 4.0.0)
|
||||||
securerandom (0.4.1)
|
securerandom (0.4.1)
|
||||||
selenium-webdriver (4.28.0)
|
selenium-webdriver (4.27.0)
|
||||||
base64 (~> 0.2)
|
base64 (~> 0.2)
|
||||||
logger (~> 1.4)
|
logger (~> 1.4)
|
||||||
rexml (~> 3.2, >= 3.2.5)
|
rexml (~> 3.2, >= 3.2.5)
|
||||||
|
@ -804,8 +809,8 @@ GEM
|
||||||
stoplight (4.1.0)
|
stoplight (4.1.0)
|
||||||
redlock (~> 1.0)
|
redlock (~> 1.0)
|
||||||
stringio (3.1.2)
|
stringio (3.1.2)
|
||||||
strong_migrations (2.1.0)
|
strong_migrations (2.2.0)
|
||||||
activerecord (>= 6.1)
|
activerecord (>= 7)
|
||||||
swd (1.3.0)
|
swd (1.3.0)
|
||||||
activesupport (>= 3)
|
activesupport (>= 3)
|
||||||
attr_required (>= 0.0.5)
|
attr_required (>= 0.0.5)
|
||||||
|
@ -818,9 +823,9 @@ GEM
|
||||||
climate_control
|
climate_control
|
||||||
test-prof (1.4.4)
|
test-prof (1.4.4)
|
||||||
thor (1.3.2)
|
thor (1.3.2)
|
||||||
tilt (2.5.0)
|
tilt (2.6.0)
|
||||||
timeout (0.4.3)
|
timeout (0.4.3)
|
||||||
tpm-key_attestation (0.12.1)
|
tpm-key_attestation (0.14.0)
|
||||||
bindata (~> 2.4)
|
bindata (~> 2.4)
|
||||||
openssl (> 2.0)
|
openssl (> 2.0)
|
||||||
openssl-signature_algorithm (~> 1.0)
|
openssl-signature_algorithm (~> 1.0)
|
||||||
|
@ -855,18 +860,18 @@ GEM
|
||||||
public_suffix
|
public_suffix
|
||||||
warden (1.2.9)
|
warden (1.2.9)
|
||||||
rack (>= 2.0.9)
|
rack (>= 2.0.9)
|
||||||
webauthn (3.2.2)
|
webauthn (3.3.0)
|
||||||
android_key_attestation (~> 0.3.0)
|
android_key_attestation (~> 0.3.0)
|
||||||
bindata (~> 2.4)
|
bindata (~> 2.4)
|
||||||
cbor (~> 0.5.9)
|
cbor (~> 0.5.9)
|
||||||
cose (~> 1.1)
|
cose (~> 1.1)
|
||||||
openssl (>= 2.2)
|
openssl (>= 2.2)
|
||||||
safety_net_attestation (~> 0.4.0)
|
safety_net_attestation (~> 0.4.0)
|
||||||
tpm-key_attestation (~> 0.12.0)
|
tpm-key_attestation (~> 0.14.0)
|
||||||
webfinger (1.2.0)
|
webfinger (1.2.0)
|
||||||
activesupport
|
activesupport
|
||||||
httpclient (>= 2.4)
|
httpclient (>= 2.4)
|
||||||
webmock (3.24.0)
|
webmock (3.25.0)
|
||||||
addressable (>= 2.8.0)
|
addressable (>= 2.8.0)
|
||||||
crack (>= 0.3.2)
|
crack (>= 0.3.2)
|
||||||
hashdiff (>= 0.4.0, < 2.0.0)
|
hashdiff (>= 0.4.0, < 2.0.0)
|
||||||
|
@ -977,7 +982,7 @@ DEPENDENCIES
|
||||||
opentelemetry-instrumentation-net_http (~> 0.23.0)
|
opentelemetry-instrumentation-net_http (~> 0.23.0)
|
||||||
opentelemetry-instrumentation-pg (~> 0.30.0)
|
opentelemetry-instrumentation-pg (~> 0.30.0)
|
||||||
opentelemetry-instrumentation-rack (~> 0.26.0)
|
opentelemetry-instrumentation-rack (~> 0.26.0)
|
||||||
opentelemetry-instrumentation-rails (~> 0.35.0)
|
opentelemetry-instrumentation-rails (~> 0.36.0)
|
||||||
opentelemetry-instrumentation-redis (~> 0.26.0)
|
opentelemetry-instrumentation-redis (~> 0.26.0)
|
||||||
opentelemetry-instrumentation-sidekiq (~> 0.26.0)
|
opentelemetry-instrumentation-sidekiq (~> 0.26.0)
|
||||||
opentelemetry-sdk (~> 1.4)
|
opentelemetry-sdk (~> 1.4)
|
||||||
|
|
|
@ -7,17 +7,12 @@ module Admin
|
||||||
|
|
||||||
layout 'admin'
|
layout 'admin'
|
||||||
|
|
||||||
before_action :set_cache_headers
|
|
||||||
before_action :set_referrer_policy_header
|
before_action :set_referrer_policy_header
|
||||||
|
|
||||||
after_action :verify_authorized
|
after_action :verify_authorized
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def set_cache_headers
|
|
||||||
response.cache_control.replace(private: true, no_store: true)
|
|
||||||
end
|
|
||||||
|
|
||||||
def set_referrer_policy_header
|
def set_referrer_policy_header
|
||||||
response.headers['Referrer-Policy'] = 'same-origin'
|
response.headers['Referrer-Policy'] = 'same-origin'
|
||||||
end
|
end
|
||||||
|
|
|
@ -12,7 +12,6 @@ class Auth::RegistrationsController < Devise::RegistrationsController
|
||||||
before_action :set_sessions, only: [:edit, :update]
|
before_action :set_sessions, only: [:edit, :update]
|
||||||
before_action :set_strikes, only: [:edit, :update]
|
before_action :set_strikes, only: [:edit, :update]
|
||||||
before_action :require_not_suspended!, only: [:update]
|
before_action :require_not_suspended!, only: [:update]
|
||||||
before_action :set_cache_headers, only: [:edit, :update]
|
|
||||||
before_action :set_rules, only: :new
|
before_action :set_rules, only: :new
|
||||||
before_action :require_rules_acceptance!, only: :new
|
before_action :require_rules_acceptance!, only: :new
|
||||||
before_action :set_registration_form_time, only: :new
|
before_action :set_registration_form_time, only: :new
|
||||||
|
@ -139,10 +138,6 @@ class Auth::RegistrationsController < Devise::RegistrationsController
|
||||||
set_locale { render :rules }
|
set_locale { render :rules }
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_cache_headers
|
|
||||||
response.cache_control.replace(private: true, no_store: true)
|
|
||||||
end
|
|
||||||
|
|
||||||
def is_flashing_format? # rubocop:disable Naming/PredicateName
|
def is_flashing_format? # rubocop:disable Naming/PredicateName
|
||||||
if params[:action] == 'create'
|
if params[:action] == 'create'
|
||||||
false # Disable flash messages for sign-up
|
false # Disable flash messages for sign-up
|
||||||
|
|
|
@ -8,11 +8,4 @@ class Disputes::BaseController < ApplicationController
|
||||||
skip_before_action :require_functional!
|
skip_before_action :require_functional!
|
||||||
|
|
||||||
before_action :authenticate_user!
|
before_action :authenticate_user!
|
||||||
before_action :set_cache_headers
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
def set_cache_headers
|
|
||||||
response.cache_control.replace(private: true, no_store: true)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -6,7 +6,6 @@ class Filters::StatusesController < ApplicationController
|
||||||
before_action :authenticate_user!
|
before_action :authenticate_user!
|
||||||
before_action :set_filter
|
before_action :set_filter
|
||||||
before_action :set_status_filters
|
before_action :set_status_filters
|
||||||
before_action :set_cache_headers
|
|
||||||
|
|
||||||
PER_PAGE = 20
|
PER_PAGE = 20
|
||||||
|
|
||||||
|
@ -40,8 +39,4 @@ class Filters::StatusesController < ApplicationController
|
||||||
def action_from_button
|
def action_from_button
|
||||||
'remove' if params[:remove]
|
'remove' if params[:remove]
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_cache_headers
|
|
||||||
response.cache_control.replace(private: true, no_store: true)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,7 +5,6 @@ class FiltersController < ApplicationController
|
||||||
|
|
||||||
before_action :authenticate_user!
|
before_action :authenticate_user!
|
||||||
before_action :set_filter, only: [:edit, :update, :destroy]
|
before_action :set_filter, only: [:edit, :update, :destroy]
|
||||||
before_action :set_cache_headers
|
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@filters = current_account.custom_filters.includes(:keywords, :statuses).order(:phrase)
|
@filters = current_account.custom_filters.includes(:keywords, :statuses).order(:phrase)
|
||||||
|
@ -50,8 +49,4 @@ class FiltersController < ApplicationController
|
||||||
def resource_params
|
def resource_params
|
||||||
params.expect(custom_filter: [:title, :expires_in, :filter_action, :exclude_follows, :exclude_localusers, :exclude_quote, :exclude_profile, context: [], keywords_attributes: [[:id, :keyword, :whole_word, :_destroy]]])
|
params.expect(custom_filter: [:title, :expires_in, :filter_action, :exclude_follows, :exclude_localusers, :exclude_quote, :exclude_profile, context: [], keywords_attributes: [[:id, :keyword, :whole_word, :_destroy]]])
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_cache_headers
|
|
||||||
response.cache_control.replace(private: true, no_store: true)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -6,7 +6,6 @@ class InvitesController < ApplicationController
|
||||||
layout 'admin'
|
layout 'admin'
|
||||||
|
|
||||||
before_action :authenticate_user!
|
before_action :authenticate_user!
|
||||||
before_action :set_cache_headers
|
|
||||||
|
|
||||||
def index
|
def index
|
||||||
authorize :invite, :create?
|
authorize :invite, :create?
|
||||||
|
@ -45,8 +44,4 @@ class InvitesController < ApplicationController
|
||||||
def resource_params
|
def resource_params
|
||||||
params.expect(invite: [:max_uses, :expires_in, :autofollow, :comment])
|
params.expect(invite: [:max_uses, :expires_in, :autofollow, :comment])
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_cache_headers
|
|
||||||
response.cache_control.replace(private: true, no_store: true)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,7 +5,6 @@ class Oauth::AuthorizationsController < Doorkeeper::AuthorizationsController
|
||||||
|
|
||||||
before_action :store_current_location
|
before_action :store_current_location
|
||||||
before_action :authenticate_resource_owner!
|
before_action :authenticate_resource_owner!
|
||||||
before_action :set_cache_headers
|
|
||||||
|
|
||||||
content_security_policy do |p|
|
content_security_policy do |p|
|
||||||
p.form_action(false)
|
p.form_action(false)
|
||||||
|
@ -32,8 +31,4 @@ class Oauth::AuthorizationsController < Doorkeeper::AuthorizationsController
|
||||||
def truthy_param?(key)
|
def truthy_param?(key)
|
||||||
ActiveModel::Type::Boolean.new.cast(params[key])
|
ActiveModel::Type::Boolean.new.cast(params[key])
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_cache_headers
|
|
||||||
response.cache_control.replace(private: true, no_store: true)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -6,7 +6,6 @@ class Oauth::AuthorizedApplicationsController < Doorkeeper::AuthorizedApplicatio
|
||||||
before_action :store_current_location
|
before_action :store_current_location
|
||||||
before_action :authenticate_resource_owner!
|
before_action :authenticate_resource_owner!
|
||||||
before_action :require_not_suspended!, only: :destroy
|
before_action :require_not_suspended!, only: :destroy
|
||||||
before_action :set_cache_headers
|
|
||||||
|
|
||||||
before_action :set_last_used_at_by_app, only: :index, unless: -> { request.format == :json }
|
before_action :set_last_used_at_by_app, only: :index, unless: -> { request.format == :json }
|
||||||
|
|
||||||
|
@ -30,10 +29,6 @@ class Oauth::AuthorizedApplicationsController < Doorkeeper::AuthorizedApplicatio
|
||||||
forbidden if current_account.unavailable?
|
forbidden if current_account.unavailable?
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_cache_headers
|
|
||||||
response.cache_control.replace(private: true, no_store: true)
|
|
||||||
end
|
|
||||||
|
|
||||||
def set_last_used_at_by_app
|
def set_last_used_at_by_app
|
||||||
@last_used_at_by_app = current_resource_owner.applications_last_used
|
@last_used_at_by_app = current_resource_owner.applications_last_used
|
||||||
end
|
end
|
||||||
|
|
|
@ -6,7 +6,6 @@ class RelationshipsController < ApplicationController
|
||||||
before_action :authenticate_user!
|
before_action :authenticate_user!
|
||||||
before_action :set_accounts, only: :show
|
before_action :set_accounts, only: :show
|
||||||
before_action :set_relationships, only: :show
|
before_action :set_relationships, only: :show
|
||||||
before_action :set_cache_headers
|
|
||||||
|
|
||||||
helper_method :following_relationship?, :followed_by_relationship?, :mutual_relationship?
|
helper_method :following_relationship?, :followed_by_relationship?, :mutual_relationship?
|
||||||
|
|
||||||
|
@ -66,8 +65,4 @@ class RelationshipsController < ApplicationController
|
||||||
'remove_domains_from_followers'
|
'remove_domains_from_followers'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_cache_headers
|
|
||||||
response.cache_control.replace(private: true, no_store: true)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
class Settings::ApplicationsController < Settings::BaseController
|
class Settings::ApplicationsController < Settings::BaseController
|
||||||
before_action :set_application, only: [:show, :update, :destroy, :regenerate]
|
before_action :set_application, only: [:show, :update, :destroy, :regenerate]
|
||||||
before_action :prepare_scopes, only: [:create, :update]
|
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@applications = current_user.applications.order(id: :desc).page(params[:page])
|
@applications = current_user.applications.order(id: :desc).page(params[:page])
|
||||||
|
@ -60,12 +59,6 @@ class Settings::ApplicationsController < Settings::BaseController
|
||||||
end
|
end
|
||||||
|
|
||||||
def application_params
|
def application_params
|
||||||
params
|
params.expect(doorkeeper_application: [:name, :redirect_uri, :website, scopes: []])
|
||||||
.expect(doorkeeper_application: [:name, :redirect_uri, :scopes, :website])
|
|
||||||
end
|
|
||||||
|
|
||||||
def prepare_scopes
|
|
||||||
scopes = application_params.fetch(:doorkeeper_application, {}).fetch(:scopes, nil)
|
|
||||||
params[:doorkeeper_application][:scopes] = scopes.join(' ') if scopes.is_a? Array
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -4,14 +4,9 @@ class Settings::BaseController < ApplicationController
|
||||||
layout 'admin'
|
layout 'admin'
|
||||||
|
|
||||||
before_action :authenticate_user!
|
before_action :authenticate_user!
|
||||||
before_action :set_cache_headers
|
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def set_cache_headers
|
|
||||||
response.cache_control.replace(private: true, no_store: true)
|
|
||||||
end
|
|
||||||
|
|
||||||
def require_not_suspended!
|
def require_not_suspended!
|
||||||
forbidden if current_account.unavailable?
|
forbidden if current_account.unavailable?
|
||||||
end
|
end
|
||||||
|
|
|
@ -4,7 +4,6 @@ class SeveredRelationshipsController < ApplicationController
|
||||||
layout 'admin'
|
layout 'admin'
|
||||||
|
|
||||||
before_action :authenticate_user!
|
before_action :authenticate_user!
|
||||||
before_action :set_cache_headers
|
|
||||||
|
|
||||||
before_action :set_event, only: [:following, :followers]
|
before_action :set_event, only: [:following, :followers]
|
||||||
|
|
||||||
|
@ -49,8 +48,4 @@ class SeveredRelationshipsController < ApplicationController
|
||||||
def acct(account)
|
def acct(account)
|
||||||
account.local? ? account.local_username_and_domain : account.acct
|
account.local? ? account.local_username_and_domain : account.acct
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_cache_headers
|
|
||||||
response.cache_control.replace(private: true, no_store: true)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,7 +5,6 @@ class StatusesCleanupController < ApplicationController
|
||||||
|
|
||||||
before_action :authenticate_user!
|
before_action :authenticate_user!
|
||||||
before_action :set_policy
|
before_action :set_policy
|
||||||
before_action :set_cache_headers
|
|
||||||
|
|
||||||
def show; end
|
def show; end
|
||||||
|
|
||||||
|
@ -30,8 +29,4 @@ class StatusesCleanupController < ApplicationController
|
||||||
def resource_params
|
def resource_params
|
||||||
params.expect(account_statuses_cleanup_policy: [:enabled, :min_status_age, :keep_direct, :keep_pinned, :keep_polls, :keep_media, :keep_self_fav, :keep_self_bookmark, :keep_self_emoji, :min_favs, :min_reblogs, :min_emojis])
|
params.expect(account_statuses_cleanup_policy: [:enabled, :min_status_age, :keep_direct, :keep_pinned, :keep_polls, :keep_media, :keep_self_fav, :keep_self_bookmark, :keep_self_emoji, :min_favs, :min_reblogs, :min_emojis])
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_cache_headers
|
|
||||||
response.cache_control.replace(private: true, no_store: true)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -22,23 +22,23 @@ describe('emoji', () => {
|
||||||
|
|
||||||
it('does unicode', () => {
|
it('does unicode', () => {
|
||||||
expect(emojify('\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66')).toEqual(
|
expect(emojify('\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66')).toEqual(
|
||||||
'<picture><img draggable="false" class="emojione" alt="👩👩👦👦" title=":woman-woman-boy-boy:" src="/emoji/1f469-200d-1f469-200d-1f466-200d-1f466.svg"></picture>');
|
'<img draggable="false" class="emojione" alt="👩👩👦👦" title=":woman-woman-boy-boy:" src="/emoji/1f469-200d-1f469-200d-1f466-200d-1f466.svg">');
|
||||||
expect(emojify('👨👩👧👧')).toEqual(
|
expect(emojify('👨👩👧👧')).toEqual(
|
||||||
'<picture><img draggable="false" class="emojione" alt="👨👩👧👧" title=":man-woman-girl-girl:" src="/emoji/1f468-200d-1f469-200d-1f467-200d-1f467.svg"></picture>');
|
'<img draggable="false" class="emojione" alt="👨👩👧👧" title=":man-woman-girl-girl:" src="/emoji/1f468-200d-1f469-200d-1f467-200d-1f467.svg">');
|
||||||
expect(emojify('👩👩👦')).toEqual('<picture><img draggable="false" class="emojione" alt="👩👩👦" title=":woman-woman-boy:" src="/emoji/1f469-200d-1f469-200d-1f466.svg"></picture>');
|
expect(emojify('👩👩👦')).toEqual('<img draggable="false" class="emojione" alt="👩👩👦" title=":woman-woman-boy:" src="/emoji/1f469-200d-1f469-200d-1f466.svg">');
|
||||||
expect(emojify('\u2757')).toEqual(
|
expect(emojify('\u2757')).toEqual(
|
||||||
'<picture><img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"></picture>');
|
'<img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg">');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('does multiple unicode', () => {
|
it('does multiple unicode', () => {
|
||||||
expect(emojify('\u2757 #\uFE0F\u20E3')).toEqual(
|
expect(emojify('\u2757 #\uFE0F\u20E3')).toEqual(
|
||||||
'<picture><img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"></picture> <picture><img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg"></picture>');
|
'<img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"> <img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg">');
|
||||||
expect(emojify('\u2757#\uFE0F\u20E3')).toEqual(
|
expect(emojify('\u2757#\uFE0F\u20E3')).toEqual(
|
||||||
'<picture><img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"></picture><picture><img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg"></picture>');
|
'<img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"><img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg">');
|
||||||
expect(emojify('\u2757 #\uFE0F\u20E3 \u2757')).toEqual(
|
expect(emojify('\u2757 #\uFE0F\u20E3 \u2757')).toEqual(
|
||||||
'<picture><img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"></picture> <picture><img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg"></picture> <picture><img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"></picture>');
|
'<img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"> <img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg"> <img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg">');
|
||||||
expect(emojify('foo \u2757 #\uFE0F\u20E3 bar')).toEqual(
|
expect(emojify('foo \u2757 #\uFE0F\u20E3 bar')).toEqual(
|
||||||
'foo <picture><img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"></picture> <picture><img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg"></picture> bar');
|
'foo <img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"> <img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg"> bar');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('ignores unicode inside of tags', () => {
|
it('ignores unicode inside of tags', () => {
|
||||||
|
@ -46,16 +46,16 @@ describe('emoji', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('does multiple emoji properly (issue 5188)', () => {
|
it('does multiple emoji properly (issue 5188)', () => {
|
||||||
expect(emojify('👌🌈💕')).toEqual('<picture><img draggable="false" class="emojione" alt="👌" title=":ok_hand:" src="/emoji/1f44c.svg"></picture><picture><img draggable="false" class="emojione" alt="🌈" title=":rainbow:" src="/emoji/1f308.svg"></picture><picture><img draggable="false" class="emojione" alt="💕" title=":two_hearts:" src="/emoji/1f495.svg"></picture>');
|
expect(emojify('👌🌈💕')).toEqual('<img draggable="false" class="emojione" alt="👌" title=":ok_hand:" src="/emoji/1f44c.svg"><img draggable="false" class="emojione" alt="🌈" title=":rainbow:" src="/emoji/1f308.svg"><img draggable="false" class="emojione" alt="💕" title=":two_hearts:" src="/emoji/1f495.svg">');
|
||||||
expect(emojify('👌 🌈 💕')).toEqual('<picture><img draggable="false" class="emojione" alt="👌" title=":ok_hand:" src="/emoji/1f44c.svg"></picture> <picture><img draggable="false" class="emojione" alt="🌈" title=":rainbow:" src="/emoji/1f308.svg"></picture> <picture><img draggable="false" class="emojione" alt="💕" title=":two_hearts:" src="/emoji/1f495.svg"></picture>');
|
expect(emojify('👌 🌈 💕')).toEqual('<img draggable="false" class="emojione" alt="👌" title=":ok_hand:" src="/emoji/1f44c.svg"> <img draggable="false" class="emojione" alt="🌈" title=":rainbow:" src="/emoji/1f308.svg"> <img draggable="false" class="emojione" alt="💕" title=":two_hearts:" src="/emoji/1f495.svg">');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('does an emoji that has no shortcode', () => {
|
it('does an emoji that has no shortcode', () => {
|
||||||
expect(emojify('👁🗨')).toEqual('<picture><img draggable="false" class="emojione" alt="👁🗨" title="" src="/emoji/1f441-200d-1f5e8.svg"></picture>');
|
expect(emojify('👁🗨')).toEqual('<img draggable="false" class="emojione" alt="👁🗨" title="" src="/emoji/1f441-200d-1f5e8.svg">');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('does an emoji whose filename is irregular', () => {
|
it('does an emoji whose filename is irregular', () => {
|
||||||
expect(emojify('↙️')).toEqual('<picture><img draggable="false" class="emojione" alt="↙️" title=":arrow_lower_left:" src="/emoji/2199.svg"></picture>');
|
expect(emojify('↙️')).toEqual('<img draggable="false" class="emojione" alt="↙️" title=":arrow_lower_left:" src="/emoji/2199.svg">');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('avoid emojifying on invisible text', () => {
|
it('avoid emojifying on invisible text', () => {
|
||||||
|
@ -67,11 +67,11 @@ describe('emoji', () => {
|
||||||
|
|
||||||
it('avoid emojifying on invisible text with nested tags', () => {
|
it('avoid emojifying on invisible text with nested tags', () => {
|
||||||
expect(emojify('<span class="invisible">😄<span class="foo">bar</span>😴</span>😇'))
|
expect(emojify('<span class="invisible">😄<span class="foo">bar</span>😴</span>😇'))
|
||||||
.toEqual('<span class="invisible">😄<span class="foo">bar</span>😴</span><picture><img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg"></picture>');
|
.toEqual('<span class="invisible">😄<span class="foo">bar</span>😴</span><img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg">');
|
||||||
expect(emojify('<span class="invisible">😄<span class="invisible">😕</span>😴</span>😇'))
|
expect(emojify('<span class="invisible">😄<span class="invisible">😕</span>😴</span>😇'))
|
||||||
.toEqual('<span class="invisible">😄<span class="invisible">😕</span>😴</span><picture><img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg"></picture>');
|
.toEqual('<span class="invisible">😄<span class="invisible">😕</span>😴</span><img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg">');
|
||||||
expect(emojify('<span class="invisible">😄<br>😴</span>😇'))
|
expect(emojify('<span class="invisible">😄<br>😴</span>😇'))
|
||||||
.toEqual('<span class="invisible">😄<br>😴</span><picture><img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg"></picture>');
|
.toEqual('<span class="invisible">😄<br>😴</span><img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg">');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('does not emojify emojis with textual presentation VS15 character', () => {
|
it('does not emojify emojis with textual presentation VS15 character', () => {
|
||||||
|
@ -81,17 +81,17 @@ describe('emoji', () => {
|
||||||
|
|
||||||
it('does a simple emoji properly', () => {
|
it('does a simple emoji properly', () => {
|
||||||
expect(emojify('♀♂'))
|
expect(emojify('♀♂'))
|
||||||
.toEqual('<picture><img draggable="false" class="emojione" alt="♀" title=":female_sign:" src="/emoji/2640.svg"></picture><picture><img draggable="false" class="emojione" alt="♂" title=":male_sign:" src="/emoji/2642.svg"></picture>');
|
.toEqual('<img draggable="false" class="emojione" alt="♀" title=":female_sign:" src="/emoji/2640.svg"><img draggable="false" class="emojione" alt="♂" title=":male_sign:" src="/emoji/2642.svg">');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('does an emoji containing ZWJ properly', () => {
|
it('does an emoji containing ZWJ properly', () => {
|
||||||
expect(emojify('💂♀️💂♂️'))
|
expect(emojify('💂♀️💂♂️'))
|
||||||
.toEqual('<picture><img draggable="false" class="emojione" alt="💂\u200D♀️" title=":female-guard:" src="/emoji/1f482-200d-2640-fe0f_border.svg"></picture><picture><img draggable="false" class="emojione" alt="💂\u200D♂️" title=":male-guard:" src="/emoji/1f482-200d-2642-fe0f_border.svg"></picture>');
|
.toEqual('<img draggable="false" class="emojione" alt="💂\u200D♀️" title=":female-guard:" src="/emoji/1f482-200d-2640-fe0f_border.svg"><img draggable="false" class="emojione" alt="💂\u200D♂️" title=":male-guard:" src="/emoji/1f482-200d-2642-fe0f_border.svg">');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('keeps ordering as expected (issue fixed by PR 20677)', () => {
|
it('keeps ordering as expected (issue fixed by PR 20677)', () => {
|
||||||
expect(emojify('<p>💕 <a class="hashtag" href="https://example.com/tags/foo" rel="nofollow noopener" target="_blank">#<span>foo</span></a> test: foo.</p>'))
|
expect(emojify('<p>💕 <a class="hashtag" href="https://example.com/tags/foo" rel="nofollow noopener" target="_blank">#<span>foo</span></a> test: foo.</p>'))
|
||||||
.toEqual('<p><picture><img draggable="false" class="emojione" alt="💕" title=":two_hearts:" src="/emoji/1f495.svg"></picture> <a class="hashtag" href="https://example.com/tags/foo" rel="nofollow noopener" target="_blank">#<span>foo</span></a> test: foo.</p>');
|
.toEqual('<p><img draggable="false" class="emojione" alt="💕" title=":two_hearts:" src="/emoji/1f495.svg"> <a class="hashtag" href="https://example.com/tags/foo" rel="nofollow noopener" target="_blank">#<span>foo</span></a> test: foo.</p>');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -97,30 +97,30 @@ const emojifyTextNode = (node, customEmojis) => {
|
||||||
const { filename, shortCode } = unicodeMapping[unicode_emoji];
|
const { filename, shortCode } = unicodeMapping[unicode_emoji];
|
||||||
const title = shortCode ? `:${shortCode}:` : '';
|
const title = shortCode ? `:${shortCode}:` : '';
|
||||||
|
|
||||||
replacement = document.createElement('picture');
|
|
||||||
|
|
||||||
const isSystemTheme = !!document.body?.classList.contains('theme-system');
|
const isSystemTheme = !!document.body?.classList.contains('theme-system');
|
||||||
|
|
||||||
if(isSystemTheme) {
|
const theme = (isSystemTheme || document.body?.classList.contains('theme-mastodon-light')) ? 'light' : 'dark';
|
||||||
let source = document.createElement('source');
|
|
||||||
source.setAttribute('media', '(prefers-color-scheme: dark)');
|
|
||||||
source.setAttribute('srcset', `${assetHost}/emoji/${emojiFilename(filename, "dark")}.svg`);
|
|
||||||
replacement.appendChild(source);
|
|
||||||
}
|
|
||||||
|
|
||||||
let img = document.createElement('img');
|
const imageFilename = emojiFilename(filename, theme);
|
||||||
|
|
||||||
|
const img = document.createElement('img');
|
||||||
img.setAttribute('draggable', 'false');
|
img.setAttribute('draggable', 'false');
|
||||||
img.setAttribute('class', 'emojione');
|
img.setAttribute('class', 'emojione');
|
||||||
img.setAttribute('alt', unicode_emoji);
|
img.setAttribute('alt', unicode_emoji);
|
||||||
img.setAttribute('title', title);
|
img.setAttribute('title', title);
|
||||||
|
img.setAttribute('src', `${assetHost}/emoji/${imageFilename}.svg`);
|
||||||
|
|
||||||
let theme = "light";
|
if (isSystemTheme && imageFilename !== emojiFilename(filename, 'dark')) {
|
||||||
|
replacement = document.createElement('picture');
|
||||||
|
|
||||||
if(!isSystemTheme && !document.body?.classList.contains('theme-mastodon-light'))
|
const source = document.createElement('source');
|
||||||
theme = "dark";
|
source.setAttribute('media', '(prefers-color-scheme: dark)');
|
||||||
|
source.setAttribute('srcset', `${assetHost}/emoji/${emojiFilename(filename, 'dark')}.svg`);
|
||||||
img.setAttribute('src', `${assetHost}/emoji/${emojiFilename(filename, theme)}.svg`);
|
replacement.appendChild(source);
|
||||||
replacement.appendChild(img);
|
replacement.appendChild(img);
|
||||||
|
} else {
|
||||||
|
replacement = img;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add the processed-up-to-now string and the emoji replacement
|
// Add the processed-up-to-now string and the emoji replacement
|
||||||
|
@ -135,7 +135,7 @@ const emojifyTextNode = (node, customEmojis) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const emojifyNode = (node, customEmojis) => {
|
const emojifyNode = (node, customEmojis) => {
|
||||||
for (const child of node.childNodes) {
|
for (const child of Array.from(node.childNodes)) {
|
||||||
switch(child.nodeType) {
|
switch(child.nodeType) {
|
||||||
case Node.TEXT_NODE:
|
case Node.TEXT_NODE:
|
||||||
emojifyTextNode(child, customEmojis);
|
emojifyTextNode(child, customEmojis);
|
||||||
|
|
|
@ -86,6 +86,13 @@
|
||||||
"alert.unexpected.message": "Bilinməyən bir xəta baş verdi.",
|
"alert.unexpected.message": "Bilinməyən bir xəta baş verdi.",
|
||||||
"alert.unexpected.title": "Ah!",
|
"alert.unexpected.title": "Ah!",
|
||||||
"alt_text_badge.title": "Alternativ mətn",
|
"alt_text_badge.title": "Alternativ mətn",
|
||||||
|
"alt_text_modal.add_alt_text": "Alternativ mətn əlavə et",
|
||||||
|
"alt_text_modal.add_text_from_image": "Şəkildəki mətni əlavə et",
|
||||||
|
"alt_text_modal.cancel": "İmtina",
|
||||||
|
"alt_text_modal.change_thumbnail": "Miniatürü dəyişdir",
|
||||||
|
"alt_text_modal.describe_for_people_with_hearing_impairments": "Eşitmə məhdudiyyətli insanlar üçün bunu izah et…",
|
||||||
|
"alt_text_modal.describe_for_people_with_visual_impairments": "Görmə məhdudiyyətli insanlar üçün bunu təsvir et…",
|
||||||
|
"alt_text_modal.done": "Oldu",
|
||||||
"announcement.announcement": "Elan",
|
"announcement.announcement": "Elan",
|
||||||
"annual_report.summary.archetype.booster": "Trend ovçusu",
|
"annual_report.summary.archetype.booster": "Trend ovçusu",
|
||||||
"annual_report.summary.archetype.lurker": "Lurker",
|
"annual_report.summary.archetype.lurker": "Lurker",
|
||||||
|
@ -211,6 +218,10 @@
|
||||||
"confirmations.logout.confirm": "Çıxış et",
|
"confirmations.logout.confirm": "Çıxış et",
|
||||||
"confirmations.logout.message": "Çıxmaq istədiyinizə əminsiniz?",
|
"confirmations.logout.message": "Çıxmaq istədiyinizə əminsiniz?",
|
||||||
"confirmations.logout.title": "Çıxış edilsin?",
|
"confirmations.logout.title": "Çıxış edilsin?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Alternativ mətn əlavə et",
|
||||||
|
"confirmations.missing_alt_text.message": "Paylaşımınız alternativ mətn ehtiva etmir. Təsvir əlavə etmək onun daha çox insan üçün əlçatan olmasına kömək edir.",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Yenə də paylaş",
|
||||||
|
"confirmations.missing_alt_text.title": "Alternativ mətn əlavə edilsin?",
|
||||||
"confirmations.mute.confirm": "Səssizləşdir",
|
"confirmations.mute.confirm": "Səssizləşdir",
|
||||||
"confirmations.redraft.confirm": "Sil və qaralamaya köçür",
|
"confirmations.redraft.confirm": "Sil və qaralamaya köçür",
|
||||||
"confirmations.redraft.message": "Bu paylaşımı silmək və qaralamaya köçürmək istədiyinizə əminsiniz? Bəyənmələr və gücləndirmələr itəcək və orijinal paylaşıma olan cavablar tənha qalacaq.",
|
"confirmations.redraft.message": "Bu paylaşımı silmək və qaralamaya köçürmək istədiyinizə əminsiniz? Bəyənmələr və gücləndirmələr itəcək və orijinal paylaşıma olan cavablar tənha qalacaq.",
|
||||||
|
@ -241,6 +252,7 @@
|
||||||
"dismissable_banner.dismiss": "Bağla",
|
"dismissable_banner.dismiss": "Bağla",
|
||||||
"dismissable_banner.explore_links": "Bu xəbərlər bu gün fediversedə ən çox paylaşılır. Daha fərqli insanlar tərəfindən dərc edilən daha yeni xəbərlər daha yuxarıda sıralanır.",
|
"dismissable_banner.explore_links": "Bu xəbərlər bu gün fediversedə ən çox paylaşılır. Daha fərqli insanlar tərəfindən dərc edilən daha yeni xəbərlər daha yuxarıda sıralanır.",
|
||||||
"dismissable_banner.explore_statuses": "Fediversedən olan bu paylaşımlar bu gün maraq qazanır. Daha çox gücləndirici və bəyənmə olan daha yeni paylaşımlar daha yuxarıda sıralanır.",
|
"dismissable_banner.explore_statuses": "Fediversedən olan bu paylaşımlar bu gün maraq qazanır. Daha çox gücləndirici və bəyənmə olan daha yeni paylaşımlar daha yuxarıda sıralanır.",
|
||||||
|
"dismissable_banner.explore_tags": "Bu heşteqlər fediverse-də trend olublar. Daha çox fərqli insanlar tərəfindən istifadə olunan heşteqlər daha yuxarıda sıralanır.",
|
||||||
"domain_block_modal.block_account_instead": "@{name} istifadəçisini blokla",
|
"domain_block_modal.block_account_instead": "@{name} istifadəçisini blokla",
|
||||||
"domain_block_modal.they_can_interact_with_old_posts": "Bu serverdən olan insanlar köhnə paylaşımlarınızla əlaqə qura bilər."
|
"domain_block_modal.they_can_interact_with_old_posts": "Bu serverdən olan insanlar köhnə paylaşımlarınızla əlaqə qura bilər."
|
||||||
}
|
}
|
||||||
|
|
|
@ -218,6 +218,10 @@
|
||||||
"confirmations.logout.confirm": "Излизане",
|
"confirmations.logout.confirm": "Излизане",
|
||||||
"confirmations.logout.message": "Наистина ли искате да излезете?",
|
"confirmations.logout.message": "Наистина ли искате да излезете?",
|
||||||
"confirmations.logout.title": "Излизате ли от системата?",
|
"confirmations.logout.title": "Излизате ли от системата?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Добавяне на алтернативен текст",
|
||||||
|
"confirmations.missing_alt_text.message": "Вашата публикация съдържа мултимедия без алтернативен текст. Добавянето на описание помага да направите съдържанието си по-достъпно за повече хора.",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Все пак да се публикува",
|
||||||
|
"confirmations.missing_alt_text.title": "Добавяте ли алтернативен текст?",
|
||||||
"confirmations.mute.confirm": "Заглушаване",
|
"confirmations.mute.confirm": "Заглушаване",
|
||||||
"confirmations.redraft.confirm": "Изтриване и преработване",
|
"confirmations.redraft.confirm": "Изтриване и преработване",
|
||||||
"confirmations.redraft.message": "Наистина ли искате да изтриете тази публикация и да я направите чернова? Означаванията като любими и подсилванията ще се изгубят, а и отговорите към първоначалната публикация ще осиротеят.",
|
"confirmations.redraft.message": "Наистина ли искате да изтриете тази публикация и да я направите чернова? Означаванията като любими и подсилванията ще се изгубят, а и отговорите към първоначалната публикация ще осиротеят.",
|
||||||
|
|
|
@ -180,7 +180,7 @@
|
||||||
"compose.published.open": "Obre",
|
"compose.published.open": "Obre",
|
||||||
"compose.saved.body": "Tut desat.",
|
"compose.saved.body": "Tut desat.",
|
||||||
"compose_form.direct_message_warning_learn_more": "Més informació",
|
"compose_form.direct_message_warning_learn_more": "Més informació",
|
||||||
"compose_form.encryption_warning": "Les publicacions a Mastodon no estant xifrades punt a punt. No comparteixis informació sensible mitjançant Mastodon.",
|
"compose_form.encryption_warning": "Els tuts a Mastodon no estan xifrats punt a punt. No compartiu informació confidencial mitjançant Mastodon.",
|
||||||
"compose_form.hashtag_warning": "Aquest tut no apareixerà a les llistes d'etiquetes perquè no és públic. Només els tuts públics apareixen a les cerques per etiqueta.",
|
"compose_form.hashtag_warning": "Aquest tut no apareixerà a les llistes d'etiquetes perquè no és públic. Només els tuts públics apareixen a les cerques per etiqueta.",
|
||||||
"compose_form.lock_disclaimer": "El teu compte no està {locked}. Tothom pot seguir-te i veure els tuts de només per a seguidors.",
|
"compose_form.lock_disclaimer": "El teu compte no està {locked}. Tothom pot seguir-te i veure els tuts de només per a seguidors.",
|
||||||
"compose_form.lock_disclaimer.lock": "blocat",
|
"compose_form.lock_disclaimer.lock": "blocat",
|
||||||
|
@ -218,7 +218,7 @@
|
||||||
"confirmations.logout.confirm": "Tanca la sessió",
|
"confirmations.logout.confirm": "Tanca la sessió",
|
||||||
"confirmations.logout.message": "Segur que vols tancar la sessió?",
|
"confirmations.logout.message": "Segur que vols tancar la sessió?",
|
||||||
"confirmations.logout.title": "Tancar la sessió?",
|
"confirmations.logout.title": "Tancar la sessió?",
|
||||||
"confirmations.missing_alt_text.confirm": "Afegiu text alternatiu",
|
"confirmations.missing_alt_text.confirm": "Afegiu un text alternatiu",
|
||||||
"confirmations.missing_alt_text.message": "La vostra publicació té contingut sense text alternatiu. Afegir-hi descripcions la farà accessible a més persones.",
|
"confirmations.missing_alt_text.message": "La vostra publicació té contingut sense text alternatiu. Afegir-hi descripcions la farà accessible a més persones.",
|
||||||
"confirmations.missing_alt_text.secondary": "Publica-la igualment",
|
"confirmations.missing_alt_text.secondary": "Publica-la igualment",
|
||||||
"confirmations.missing_alt_text.title": "Hi voleu afegir text alternatiu?",
|
"confirmations.missing_alt_text.title": "Hi voleu afegir text alternatiu?",
|
||||||
|
|
|
@ -218,6 +218,10 @@
|
||||||
"confirmations.logout.confirm": "Odhlásit se",
|
"confirmations.logout.confirm": "Odhlásit se",
|
||||||
"confirmations.logout.message": "Opravdu se chcete odhlásit?",
|
"confirmations.logout.message": "Opravdu se chcete odhlásit?",
|
||||||
"confirmations.logout.title": "Odhlásit se?",
|
"confirmations.logout.title": "Odhlásit se?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Přidat alt text",
|
||||||
|
"confirmations.missing_alt_text.message": "Váš příspěvek obsahuje média bez alt textu. Přidání popisů pomáhá zpřístupnit váš obsah většímu počtu lidí.",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Přesto odeslat",
|
||||||
|
"confirmations.missing_alt_text.title": "Přidat alt text?",
|
||||||
"confirmations.mute.confirm": "Skrýt",
|
"confirmations.mute.confirm": "Skrýt",
|
||||||
"confirmations.redraft.confirm": "Smazat a přepsat",
|
"confirmations.redraft.confirm": "Smazat a přepsat",
|
||||||
"confirmations.redraft.message": "Jste si jistí, že chcete odstranit tento příspěvek a vytvořit z něj koncept? Oblíbené a boosty budou ztraceny a odpovědi na původní příspěvek ztratí kontext.",
|
"confirmations.redraft.message": "Jste si jistí, že chcete odstranit tento příspěvek a vytvořit z něj koncept? Oblíbené a boosty budou ztraceny a odpovědi na původní příspěvek ztratí kontext.",
|
||||||
|
|
|
@ -86,6 +86,13 @@
|
||||||
"alert.unexpected.message": "Digwyddodd gwall annisgwyl.",
|
"alert.unexpected.message": "Digwyddodd gwall annisgwyl.",
|
||||||
"alert.unexpected.title": "Wps!",
|
"alert.unexpected.title": "Wps!",
|
||||||
"alt_text_badge.title": "Testun Amgen",
|
"alt_text_badge.title": "Testun Amgen",
|
||||||
|
"alt_text_modal.add_alt_text": "Ychwanegu testun amgen",
|
||||||
|
"alt_text_modal.add_text_from_image": "Ychwanegu testun o'r ddelwedd",
|
||||||
|
"alt_text_modal.cancel": "Diddymu",
|
||||||
|
"alt_text_modal.change_thumbnail": "Newid llun bach",
|
||||||
|
"alt_text_modal.describe_for_people_with_hearing_impairments": "Disgrifiwch hyn ar gyfer pobl â nam ar eu clyw…",
|
||||||
|
"alt_text_modal.describe_for_people_with_visual_impairments": "Disgrifiwch hyn ar gyfer pobl â nam ar eu golwg…",
|
||||||
|
"alt_text_modal.done": "Gorffen",
|
||||||
"announcement.announcement": "Cyhoeddiad",
|
"announcement.announcement": "Cyhoeddiad",
|
||||||
"annual_report.summary.archetype.booster": "Y hyrwyddwr",
|
"annual_report.summary.archetype.booster": "Y hyrwyddwr",
|
||||||
"annual_report.summary.archetype.lurker": "Yr arsylwr",
|
"annual_report.summary.archetype.lurker": "Yr arsylwr",
|
||||||
|
@ -211,6 +218,10 @@
|
||||||
"confirmations.logout.confirm": "Allgofnodi",
|
"confirmations.logout.confirm": "Allgofnodi",
|
||||||
"confirmations.logout.message": "Ydych chi'n siŵr eich bod am allgofnodi?",
|
"confirmations.logout.message": "Ydych chi'n siŵr eich bod am allgofnodi?",
|
||||||
"confirmations.logout.title": "Allgofnodi?",
|
"confirmations.logout.title": "Allgofnodi?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Ychwanegu testun amgen",
|
||||||
|
"confirmations.missing_alt_text.message": "Mae eich postiad yn cynnwys cyfryngau heb destun amgen. Mae ychwanegu disgrifiadau yn helpu i wneud eich cynnwys yn hygyrch i fwy o bobl.",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Postio beth bynnag",
|
||||||
|
"confirmations.missing_alt_text.title": "Ychwanegu testun amgen?",
|
||||||
"confirmations.mute.confirm": "Tewi",
|
"confirmations.mute.confirm": "Tewi",
|
||||||
"confirmations.redraft.confirm": "Dileu ac ailddrafftio",
|
"confirmations.redraft.confirm": "Dileu ac ailddrafftio",
|
||||||
"confirmations.redraft.message": "Ydych chi wir eisiau'r dileu'r postiad hwn a'i ailddrafftio? Bydd ffefrynnau a hybiau'n cael eu colli, a bydd atebion i'r post gwreiddiol yn mynd yn amddifad.",
|
"confirmations.redraft.message": "Ydych chi wir eisiau'r dileu'r postiad hwn a'i ailddrafftio? Bydd ffefrynnau a hybiau'n cael eu colli, a bydd atebion i'r post gwreiddiol yn mynd yn amddifad.",
|
||||||
|
@ -407,6 +418,8 @@
|
||||||
"ignore_notifications_modal.not_followers_title": "Anwybyddu hysbysiadau gan bobl nad ydynt yn eich dilyn?",
|
"ignore_notifications_modal.not_followers_title": "Anwybyddu hysbysiadau gan bobl nad ydynt yn eich dilyn?",
|
||||||
"ignore_notifications_modal.not_following_title": "Anwybyddu hysbysiadau gan bobl nad ydych yn eu dilyn?",
|
"ignore_notifications_modal.not_following_title": "Anwybyddu hysbysiadau gan bobl nad ydych yn eu dilyn?",
|
||||||
"ignore_notifications_modal.private_mentions_title": "Anwybyddu hysbysiadau o Grybwylliadau Preifat digymell?",
|
"ignore_notifications_modal.private_mentions_title": "Anwybyddu hysbysiadau o Grybwylliadau Preifat digymell?",
|
||||||
|
"info_button.label": "Cymorth",
|
||||||
|
"info_button.what_is_alt_text": "<h1>Beth yw testun amgen?</h1><p> Mae Testun Amgen yn darparu disgrifiadau delwedd ar gyfer pobl â nam ar eu golwg, cysylltiadau lled band isel, neu'r rhai sy'n ceisio cyd-destun ychwanegol.</p><p> Gallwch wella hygyrchedd a dealltwriaeth i bawb trwy ysgrifennu testun amgen clir, cryno a gwrthrychol.</p><ul><li> Dal elfennau pwysig</li><li> Crynhoi testun mewn delweddau</li><li> Defnyddiwch strwythur brawddegau rheolaidd</li><li> Osgoi gwybodaeth ddiangen</li><li> Canolbwyntio ar dueddiadau a chanfyddiadau allweddol mewn delweddau cymhleth (fel diagramau neu fapiau)</li></ul>",
|
||||||
"interaction_modal.action.favourite": "I barhau, mae angen i chi hoffi o'ch cyfrif.",
|
"interaction_modal.action.favourite": "I barhau, mae angen i chi hoffi o'ch cyfrif.",
|
||||||
"interaction_modal.action.follow": "I barhau, mae angen i chi ddilyn o'ch cyfrif.",
|
"interaction_modal.action.follow": "I barhau, mae angen i chi ddilyn o'ch cyfrif.",
|
||||||
"interaction_modal.action.reblog": "I barhau, mae angen i chi ail-flogio o'ch cyfrif.",
|
"interaction_modal.action.reblog": "I barhau, mae angen i chi ail-flogio o'ch cyfrif.",
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
"account.endorse": "Fremhæv på profil",
|
"account.endorse": "Fremhæv på profil",
|
||||||
"account.featured_tags.last_status_at": "Seneste indlæg {date}",
|
"account.featured_tags.last_status_at": "Seneste indlæg {date}",
|
||||||
"account.featured_tags.last_status_never": "Ingen indlæg",
|
"account.featured_tags.last_status_never": "Ingen indlæg",
|
||||||
"account.featured_tags.title": "{name}s fremhævede hashtags",
|
"account.featured_tags.title": "{name}s fremhævede etiketter",
|
||||||
"account.follow": "Følg",
|
"account.follow": "Følg",
|
||||||
"account.follow_back": "Følg tilbage",
|
"account.follow_back": "Følg tilbage",
|
||||||
"account.followers": "Følgere",
|
"account.followers": "Følgere",
|
||||||
|
@ -39,7 +39,7 @@
|
||||||
"account.following_counter": "{count, plural, one {{counter} følger} other {{counter} følger}}",
|
"account.following_counter": "{count, plural, one {{counter} følger} other {{counter} følger}}",
|
||||||
"account.follows.empty": "Denne bruger følger ikke nogen endnu.",
|
"account.follows.empty": "Denne bruger følger ikke nogen endnu.",
|
||||||
"account.go_to_profile": "Gå til profil",
|
"account.go_to_profile": "Gå til profil",
|
||||||
"account.hide_reblogs": "Skjul boosts fra @{name}",
|
"account.hide_reblogs": "Skjul fremhævelser fra @{name}",
|
||||||
"account.in_memoriam": "Til minde om.",
|
"account.in_memoriam": "Til minde om.",
|
||||||
"account.joined_short": "Oprettet",
|
"account.joined_short": "Oprettet",
|
||||||
"account.languages": "Skift abonnementssprog",
|
"account.languages": "Skift abonnementssprog",
|
||||||
|
@ -49,9 +49,9 @@
|
||||||
"account.mention": "Nævn @{name}",
|
"account.mention": "Nævn @{name}",
|
||||||
"account.moved_to": "{name} har angivet, at vedkommendes nye konto nu er:",
|
"account.moved_to": "{name} har angivet, at vedkommendes nye konto nu er:",
|
||||||
"account.mute": "Skjul @{name}",
|
"account.mute": "Skjul @{name}",
|
||||||
"account.mute_notifications_short": "Slå lyden fra for notifikationer",
|
"account.mute_notifications_short": "Sluk for notifikationer",
|
||||||
"account.mute_short": "Skjul (mute)",
|
"account.mute_short": "Skjul",
|
||||||
"account.muted": "Skjult (muted)",
|
"account.muted": "Skjult",
|
||||||
"account.mutual": "Fælles",
|
"account.mutual": "Fælles",
|
||||||
"account.no_bio": "Ingen beskrivelse til rådighed.",
|
"account.no_bio": "Ingen beskrivelse til rådighed.",
|
||||||
"account.open_original_page": "Åbn oprindelig side",
|
"account.open_original_page": "Åbn oprindelig side",
|
||||||
|
@ -63,14 +63,14 @@
|
||||||
"account.share": "Del @{name}s profil",
|
"account.share": "Del @{name}s profil",
|
||||||
"account.show_reblogs": "Vis fremhævelser fra @{name}",
|
"account.show_reblogs": "Vis fremhævelser fra @{name}",
|
||||||
"account.statuses_counter": "{count, plural, one {{counter} indlæg} other {{counter} indlæg}}",
|
"account.statuses_counter": "{count, plural, one {{counter} indlæg} other {{counter} indlæg}}",
|
||||||
"account.unblock": "Afblokér @{name}",
|
"account.unblock": "Fjern blokering af @{name}",
|
||||||
"account.unblock_domain": "Afblokér domænet {domain}",
|
"account.unblock_domain": "Fjern blokering af domænet {domain}",
|
||||||
"account.unblock_short": "Afblokér",
|
"account.unblock_short": "Fjern blokering",
|
||||||
"account.unendorse": "Fjern visning på din profil",
|
"account.unendorse": "Fjern visning på din profil",
|
||||||
"account.unfollow": "Følg ikke længere",
|
"account.unfollow": "Følg ikke længere",
|
||||||
"account.unmute": "Vis @{name} igen (unmute)",
|
"account.unmute": "Vis @{name} igen",
|
||||||
"account.unmute_notifications_short": "Slå lyden fra for notifikationer",
|
"account.unmute_notifications_short": "Tænd for notifikationer",
|
||||||
"account.unmute_short": "Vis igen (unmute)",
|
"account.unmute_short": "Vis igen",
|
||||||
"account_note.placeholder": "Klik for at tilføje notat",
|
"account_note.placeholder": "Klik for at tilføje notat",
|
||||||
"admin.dashboard.daily_retention": "Brugerfastholdelsesrate per dag efter tilmelding",
|
"admin.dashboard.daily_retention": "Brugerfastholdelsesrate per dag efter tilmelding",
|
||||||
"admin.dashboard.monthly_retention": "Brugerfastholdelsesrate per måned efter tilmelding",
|
"admin.dashboard.monthly_retention": "Brugerfastholdelsesrate per måned efter tilmelding",
|
||||||
|
@ -94,38 +94,38 @@
|
||||||
"alt_text_modal.describe_for_people_with_visual_impairments": "Beskriv dette for personer med nedsat syn…",
|
"alt_text_modal.describe_for_people_with_visual_impairments": "Beskriv dette for personer med nedsat syn…",
|
||||||
"alt_text_modal.done": "Færdig",
|
"alt_text_modal.done": "Færdig",
|
||||||
"announcement.announcement": "Bekendtgørelse",
|
"announcement.announcement": "Bekendtgørelse",
|
||||||
"annual_report.summary.archetype.booster": "Cool-hunter",
|
"annual_report.summary.archetype.booster": "Fremhæveren",
|
||||||
"annual_report.summary.archetype.lurker": "Lurker",
|
"annual_report.summary.archetype.lurker": "Lureren",
|
||||||
"annual_report.summary.archetype.oracle": "Oracle",
|
"annual_report.summary.archetype.oracle": "Oraklet",
|
||||||
"annual_report.summary.archetype.pollster": "Pollster",
|
"annual_report.summary.archetype.pollster": "Afstemningsmageren",
|
||||||
"annual_report.summary.archetype.replier": "Social butterfly",
|
"annual_report.summary.archetype.replier": "Den social sommerfugl",
|
||||||
"annual_report.summary.followers.followers": "følgere",
|
"annual_report.summary.followers.followers": "følgere",
|
||||||
"annual_report.summary.followers.total": "{count} i alt",
|
"annual_report.summary.followers.total": "{count} i alt",
|
||||||
"annual_report.summary.here_it_is": "Her er {year} i sammendrag:",
|
"annual_report.summary.here_it_is": "Her er dit {year} i sammendrag:",
|
||||||
"annual_report.summary.highlighted_post.by_favourites": "mest favoritmarkerede indlæg",
|
"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_reblogs": "mest fremhævede indlæg",
|
||||||
"annual_report.summary.highlighted_post.by_replies": "indlæg med flest svar",
|
"annual_report.summary.highlighted_post.by_replies": "mest besvarede indlæg",
|
||||||
"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 benyttede app",
|
"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.most_used_hashtag": "mest benyttede etiket",
|
||||||
"annual_report.summary.most_used_hashtag.none": "Intet",
|
"annual_report.summary.most_used_hashtag.none": "Intet",
|
||||||
"annual_report.summary.new_posts.new_posts": "nye indlæg",
|
"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 {domain}-brugere.</bottomLabel>",
|
"annual_report.summary.percentile.text": "<topLabel>Det betyder, at man er i top</topLabel><percentage></percentage><bottomLabel>af {domain}-brugere.</bottomLabel>",
|
||||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Vi fortæller det ikke til Bernie.",
|
"annual_report.summary.percentile.we_wont_tell_bernie": "Vi fortæller det ikke til Pernille Skipper.",
|
||||||
"annual_report.summary.thanks": "Tak for at være en del af Mastodon!",
|
"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.",
|
||||||
"block_modal.show_less": "Vis mindre",
|
"block_modal.show_less": "Vis færre",
|
||||||
"block_modal.show_more": "Vis flere",
|
"block_modal.show_more": "Vis flere",
|
||||||
"block_modal.they_cant_mention": "Vedkommende kan ikke nævne eller følge dig.",
|
"block_modal.they_cant_mention": "Vedkommende kan ikke omtale eller følge dig.",
|
||||||
"block_modal.they_cant_see_posts": "Vedkommende kan ikke se dine indlæg, og du vil ikke se vedkommendes.",
|
"block_modal.they_cant_see_posts": "Vedkommende kan ikke se dine indlæg, og du vil ikke se vedkommendes.",
|
||||||
"block_modal.they_will_know": "Vedkommende kan se den aktive blokering.",
|
"block_modal.they_will_know": "Vedkommende kan se den aktive blokering.",
|
||||||
"block_modal.title": "Blokér bruger?",
|
"block_modal.title": "Blokér bruger?",
|
||||||
"block_modal.you_wont_see_mentions": "Du vil ikke se indlæg, som nævner vedkommende.",
|
"block_modal.you_wont_see_mentions": "Du vil ikke se indlæg, som omtaler vedkommende.",
|
||||||
"boost_modal.combo": "Du kan trykke {combo} for at springe dette over næste gang",
|
"boost_modal.combo": "Du kan trykke {combo} for at springe dette over næste gang",
|
||||||
"boost_modal.reblog": "Boost indlæg?",
|
"boost_modal.reblog": "Fremhæv indlæg?",
|
||||||
"boost_modal.undo_reblog": "Fjern boost af indlæg?",
|
"boost_modal.undo_reblog": "Fjern fremhævning af indlæg?",
|
||||||
"bundle_column_error.copy_stacktrace": "Kopiér fejlrapport",
|
"bundle_column_error.copy_stacktrace": "Kopiér fejlrapport",
|
||||||
"bundle_column_error.error.body": "Den anmodede side kunne ikke gengives. Dette kan skyldes flere typer fejl.",
|
"bundle_column_error.error.body": "Den anmodede side kunne ikke gengives. Dette kan skyldes flere typer fejl.",
|
||||||
"bundle_column_error.error.title": "Åh nej!",
|
"bundle_column_error.error.title": "Åh nej!",
|
||||||
|
@ -153,12 +153,12 @@
|
||||||
"column.domain_blocks": "Blokerede domæner",
|
"column.domain_blocks": "Blokerede domæner",
|
||||||
"column.edit_list": "Redigér liste",
|
"column.edit_list": "Redigér liste",
|
||||||
"column.favourites": "Favoritter",
|
"column.favourites": "Favoritter",
|
||||||
"column.firehose": "Live feeds",
|
"column.firehose": "Realtids-strømme",
|
||||||
"column.follow_requests": "Følgeanmodninger",
|
"column.follow_requests": "Følgeanmodninger",
|
||||||
"column.home": "Hjem",
|
"column.home": "Hjem",
|
||||||
"column.list_members": "Håndtér listemedlemmer",
|
"column.list_members": "Håndtér listemedlemmer",
|
||||||
"column.lists": "Lister",
|
"column.lists": "Lister",
|
||||||
"column.mutes": "Skjulte brugere (mutede)",
|
"column.mutes": "Skjulte brugere",
|
||||||
"column.notifications": "Notifikationer",
|
"column.notifications": "Notifikationer",
|
||||||
"column.pins": "Fastgjorte indlæg",
|
"column.pins": "Fastgjorte indlæg",
|
||||||
"column.public": "Fælles tidslinje",
|
"column.public": "Fælles tidslinje",
|
||||||
|
@ -168,7 +168,7 @@
|
||||||
"column_header.moveRight_settings": "Flyt kolonne til højre",
|
"column_header.moveRight_settings": "Flyt kolonne til højre",
|
||||||
"column_header.pin": "Fastgør",
|
"column_header.pin": "Fastgør",
|
||||||
"column_header.show_settings": "Vis indstillinger",
|
"column_header.show_settings": "Vis indstillinger",
|
||||||
"column_header.unpin": "Løsgør",
|
"column_header.unpin": "Frigør",
|
||||||
"column_search.cancel": "Afbryd",
|
"column_search.cancel": "Afbryd",
|
||||||
"column_subheading.settings": "Indstillinger",
|
"column_subheading.settings": "Indstillinger",
|
||||||
"community.column_settings.local_only": "Kun lokalt",
|
"community.column_settings.local_only": "Kun lokalt",
|
||||||
|
@ -181,7 +181,7 @@
|
||||||
"compose.saved.body": "Indlæg gemt.",
|
"compose.saved.body": "Indlæg gemt.",
|
||||||
"compose_form.direct_message_warning_learn_more": "Få mere at vide",
|
"compose_form.direct_message_warning_learn_more": "Få mere at vide",
|
||||||
"compose_form.encryption_warning": "Indlæg på Mastodon er ikke ende-til-ende-krypteret. Del derfor ikke sensitiv information via Mastodon.",
|
"compose_form.encryption_warning": "Indlæg på Mastodon er ikke ende-til-ende-krypteret. Del derfor ikke sensitiv information via Mastodon.",
|
||||||
"compose_form.hashtag_warning": "Da indlægget ikke er offentligt, vises det ikke under noget hashtag, da kun offentlige indlæg er søgbare via hashtags.",
|
"compose_form.hashtag_warning": "Da indlægget ikke er offentligt, vises det ikke under nogen etiket, da kun offentlige indlæg er søgbare via etiketter.",
|
||||||
"compose_form.lock_disclaimer": "Din konto er ikke {locked}. Enhver kan følge dig og se indlæg kun beregnet for følgere.",
|
"compose_form.lock_disclaimer": "Din konto er ikke {locked}. Enhver kan følge dig og se indlæg kun beregnet for følgere.",
|
||||||
"compose_form.lock_disclaimer.lock": "låst",
|
"compose_form.lock_disclaimer.lock": "låst",
|
||||||
"compose_form.placeholder": "Hvad tænker du på?",
|
"compose_form.placeholder": "Hvad tænker du på?",
|
||||||
|
@ -196,9 +196,9 @@
|
||||||
"compose_form.publish_form": "Publicér",
|
"compose_form.publish_form": "Publicér",
|
||||||
"compose_form.reply": "Svar",
|
"compose_form.reply": "Svar",
|
||||||
"compose_form.save_changes": "Opdatér",
|
"compose_form.save_changes": "Opdatér",
|
||||||
"compose_form.spoiler.marked": "Fjern indholdsadvarsel",
|
"compose_form.spoiler.marked": "Fjern emnefelt",
|
||||||
"compose_form.spoiler.unmarked": "Tilføj indholdsadvarsel",
|
"compose_form.spoiler.unmarked": "Tilføj emnefelt",
|
||||||
"compose_form.spoiler_placeholder": "Indholdsadvarsel (valgfri)",
|
"compose_form.spoiler_placeholder": "Emnefelt (valgfrit)",
|
||||||
"confirmation_modal.cancel": "Afbryd",
|
"confirmation_modal.cancel": "Afbryd",
|
||||||
"confirmations.block.confirm": "Blokér",
|
"confirmations.block.confirm": "Blokér",
|
||||||
"confirmations.delete.confirm": "Slet",
|
"confirmations.delete.confirm": "Slet",
|
||||||
|
@ -222,9 +222,9 @@
|
||||||
"confirmations.missing_alt_text.message": "Indlægget indeholder medier uden alt-tekst. Tilføjelse af beskrivelser bidrager til at gøre indholdet tilgængeligt for flere brugere.",
|
"confirmations.missing_alt_text.message": "Indlægget indeholder medier uden alt-tekst. Tilføjelse af beskrivelser bidrager til at gøre indholdet tilgængeligt for flere brugere.",
|
||||||
"confirmations.missing_alt_text.secondary": "Læg op alligevel",
|
"confirmations.missing_alt_text.secondary": "Læg op alligevel",
|
||||||
"confirmations.missing_alt_text.title": "Tilføj alt-tekst?",
|
"confirmations.missing_alt_text.title": "Tilføj alt-tekst?",
|
||||||
"confirmations.mute.confirm": "Skjul (mute)",
|
"confirmations.mute.confirm": "Skjul",
|
||||||
"confirmations.redraft.confirm": "Slet og omformulér",
|
"confirmations.redraft.confirm": "Slet og omformulér",
|
||||||
"confirmations.redraft.message": "Sikker på, at dette indlæg skal slettes og omskrives? Favoritter og boosts går tabt, og svar til det oprindelige indlæg mister tilknytningen.",
|
"confirmations.redraft.message": "Sikker på, at dette indlæg skal slettes og omskrives? Favoritter og fremhævelser går tabt, og svar til det oprindelige indlæg mister tilknytningen.",
|
||||||
"confirmations.redraft.title": "Slet og omformulér indlæg?",
|
"confirmations.redraft.title": "Slet og omformulér indlæg?",
|
||||||
"confirmations.reply.confirm": "Svar",
|
"confirmations.reply.confirm": "Svar",
|
||||||
"confirmations.reply.message": "Hvis du svarer nu, vil det overskrive den besked, du er ved at skrive. Fortsæt alligevel?",
|
"confirmations.reply.message": "Hvis du svarer nu, vil det overskrive den besked, du er ved at skrive. Fortsæt alligevel?",
|
||||||
|
@ -242,7 +242,7 @@
|
||||||
"copy_icon_button.copied": "Kopieret til udklipsholderen",
|
"copy_icon_button.copied": "Kopieret til udklipsholderen",
|
||||||
"copypaste.copied": "Kopieret",
|
"copypaste.copied": "Kopieret",
|
||||||
"copypaste.copy_to_clipboard": "Kopiér til udklipsholder",
|
"copypaste.copy_to_clipboard": "Kopiér til udklipsholder",
|
||||||
"directory.federated": "Fra kendt fedivers",
|
"directory.federated": "Fra kendt fødivers",
|
||||||
"directory.local": "Kun fra {domain}",
|
"directory.local": "Kun fra {domain}",
|
||||||
"directory.new_arrivals": "Nye ankomster",
|
"directory.new_arrivals": "Nye ankomster",
|
||||||
"directory.recently_active": "Aktive for nyligt",
|
"directory.recently_active": "Aktive for nyligt",
|
||||||
|
@ -250,10 +250,10 @@
|
||||||
"disabled_account_banner.text": "Din konto {disabledAccount} er pt. deaktiveret.",
|
"disabled_account_banner.text": "Din konto {disabledAccount} er pt. deaktiveret.",
|
||||||
"dismissable_banner.community_timeline": "Disse er de seneste offentlige indlæg fra personer med konti hostet af {domain}.",
|
"dismissable_banner.community_timeline": "Disse er de seneste offentlige indlæg fra personer med konti hostet af {domain}.",
|
||||||
"dismissable_banner.dismiss": "Afvis",
|
"dismissable_banner.dismiss": "Afvis",
|
||||||
"dismissable_banner.explore_links": "Disse nyhedshistorier deles mest på fediverset i dag. Nyere nyhedshistorier lagt op af flere forskellige personer rangeres højere.",
|
"dismissable_banner.explore_links": "Disse nyhedshistorier deles mest på fødiverset i dag. Nyere nyhedshistorier lagt op af flere forskellige personer rangeres højere.",
|
||||||
"dismissable_banner.explore_statuses": "Disse indlæg på tværs af fediverset opnår momentum i dag. Nyere indlæg med flere boosts og favoritter rangeres højere.",
|
"dismissable_banner.explore_statuses": "Disse indlæg på tværs af fødiverset opnår momentum i dag. Nyere indlæg med flere fremhævninger og favoritmærker rangeres højere.",
|
||||||
"dismissable_banner.explore_tags": "Disse hashtags opnår momentum på fediverset i dag. Hashtags brugt af flere forskellige personer rangeres højere.",
|
"dismissable_banner.explore_tags": "Disse etiketter opnår momentum på fødiverset i dag. Etiketter brugt af flere forskellige personer rangeres højere.",
|
||||||
"dismissable_banner.public_timeline": "Dette er de seneste offentlige indlæg fra personer på fediverset, som folk på {domain} følger.",
|
"dismissable_banner.public_timeline": "Dette er de seneste offentlige indlæg fra personer på fødiverset, som folk på {domain} følger.",
|
||||||
"domain_block_modal.block": "Blokér server",
|
"domain_block_modal.block": "Blokér server",
|
||||||
"domain_block_modal.block_account_instead": "Blokér i stedet @{name}",
|
"domain_block_modal.block_account_instead": "Blokér i stedet @{name}",
|
||||||
"domain_block_modal.they_can_interact_with_old_posts": "Folk fra denne server kan interagere med de gamle indlæg.",
|
"domain_block_modal.they_can_interact_with_old_posts": "Folk fra denne server kan interagere med de gamle indlæg.",
|
||||||
|
@ -263,20 +263,20 @@
|
||||||
"domain_block_modal.you_will_lose_num_followers": "Man vil miste {followersCount, plural, one {{followersCountDisplay} følger} other {{followersCountDisplay} følgere}} og {followingCount, plural, one {{followingCountDisplay} person, man følger} other {{followingCountDisplay} personer, man følger}}.",
|
"domain_block_modal.you_will_lose_num_followers": "Man vil miste {followersCount, plural, one {{followersCountDisplay} følger} other {{followersCountDisplay} følgere}} og {followingCount, plural, one {{followingCountDisplay} person, man følger} other {{followingCountDisplay} personer, man følger}}.",
|
||||||
"domain_block_modal.you_will_lose_relationships": "Alle følgere og personer som følges på denne server mistes.",
|
"domain_block_modal.you_will_lose_relationships": "Alle følgere og personer som følges på denne server mistes.",
|
||||||
"domain_block_modal.you_wont_see_posts": "Indlæg eller notifikationer fra brugere på denne server vises ikke.",
|
"domain_block_modal.you_wont_see_posts": "Indlæg eller notifikationer fra brugere på denne server vises ikke.",
|
||||||
"domain_pill.activitypub_lets_connect": "Det muliggør at komme i forbindelse og interagere med folk ikke kun på Mastodon, men også på tværs af forskellige sociale apps.",
|
"domain_pill.activitypub_lets_connect": "Det muliggører at forbinde og interagere med folk, ikke kun på Mastodon, men også på tværs af forskellige sociale apps.",
|
||||||
"domain_pill.activitypub_like_language": "ActivityPub er \"sproget\", Mastodon taler med andre sociale netværk.",
|
"domain_pill.activitypub_like_language": "ActivityPub er \"sproget\", som Mastodon taler med andre sociale netværk.",
|
||||||
"domain_pill.server": "Server",
|
"domain_pill.server": "Server",
|
||||||
"domain_pill.their_handle": "Vedkommendes handle:",
|
"domain_pill.their_handle": "Deres greb:",
|
||||||
"domain_pill.their_server": "Det digitale hjem, hvor alle indlæggene findes.",
|
"domain_pill.their_server": "Det digitale hjem, hvor alle indlæggene findes.",
|
||||||
"domain_pill.their_username": "Entydig identifikator på denne server. Det er muligt at finde brugere med samme brugernavn på forskellige servere.",
|
"domain_pill.their_username": "Entydig identifikator på denne server. Det er muligt at finde brugere med samme brugernavn på forskellige servere.",
|
||||||
"domain_pill.username": "Brugernavn",
|
"domain_pill.username": "Brugernavn",
|
||||||
"domain_pill.whats_in_a_handle": "Hvad er der i et handle (@brugernavn)?",
|
"domain_pill.whats_in_a_handle": "Hvad er der i et greb?",
|
||||||
"domain_pill.who_they_are": "Da et handle fortæller, hvem nogen er, og hvor de er, kan man interagere med folk på tværs af det sociale net af <button>ActivityPub-drevne platforme</button>.",
|
"domain_pill.who_they_are": "Da et greb fortæller, hvem nogen er, og hvor de er, kan man interagere med folk på tværs af det sociale net af <button>ActivityPub-drevne platforme</button>.",
|
||||||
"domain_pill.who_you_are": "Da et handle fortæller, hvem man er, og hvor man er, kan man interagere med folk på tværs af det sociale net af <button>ActivityPub-drevne platforme</button>.",
|
"domain_pill.who_you_are": "Da et greb fortæller, hvem man er, og hvor man er, kan man interagere med folk på tværs af det sociale net af <button>ActivityPub-drevne platforme</button>.",
|
||||||
"domain_pill.your_handle": "Dit handle:",
|
"domain_pill.your_handle": "Dit greb:",
|
||||||
"domain_pill.your_server": "Dit digitale hjem, hvor alle dine indlæg lever. Synes ikke om denne? Overfør til enhver tid servere samt tilhængere også.",
|
"domain_pill.your_server": "Dit digitale hjem, hvor alle dine indlæg lever. Synes ikke om den her server? Du kan til enhver tid rykke over på en anden server og beholde dine følgere.",
|
||||||
"domain_pill.your_username": "Din entydige identifikator på denne server. Det er muligt at finde brugere med samme brugernavn på forskellige servere.",
|
"domain_pill.your_username": "Din entydige identifikator på denne server. Det er muligt at finde brugere med samme brugernavn på forskellige servere.",
|
||||||
"embed.instructions": "Indlejr dette indlæg på dit websted ved at kopiere nedenstående kode.",
|
"embed.instructions": "Indlejr dette indlæg på din hjemmeside ved at kopiere nedenstående kode.",
|
||||||
"embed.preview": "Sådan kommer det til at se ud:",
|
"embed.preview": "Sådan kommer det til at se ud:",
|
||||||
"emoji_button.activity": "Aktivitet",
|
"emoji_button.activity": "Aktivitet",
|
||||||
"emoji_button.clear": "Ryd",
|
"emoji_button.clear": "Ryd",
|
||||||
|
@ -295,36 +295,36 @@
|
||||||
"emoji_button.travel": "Rejser og steder",
|
"emoji_button.travel": "Rejser og steder",
|
||||||
"empty_column.account_hides_collections": "Brugeren har valgt ikke at gøre denne information tilgængelig",
|
"empty_column.account_hides_collections": "Brugeren har valgt ikke at gøre denne information tilgængelig",
|
||||||
"empty_column.account_suspended": "Konto suspenderet",
|
"empty_column.account_suspended": "Konto suspenderet",
|
||||||
"empty_column.account_timeline": "Ingen indlæg hér!",
|
"empty_column.account_timeline": "Ingen indlæg her!",
|
||||||
"empty_column.account_unavailable": "Profil utilgængelig",
|
"empty_column.account_unavailable": "Profil utilgængelig",
|
||||||
"empty_column.blocks": "Ingen brugere blokeret endnu.",
|
"empty_column.blocks": "Ingen brugere blokeret endnu.",
|
||||||
"empty_column.bookmarked_statuses": "Du har ingen bogmærkede indlæg endnu. Når du bogmærker ét, vil det dukke op hér.",
|
"empty_column.bookmarked_statuses": "Du har ingen bogmærkede indlæg endnu. Når du bogmærker ét, vil det dukke op hér.",
|
||||||
"empty_column.community": "Den lokale tidslinje er tom. Skriv noget offentligt for at sætte tingene i gang!",
|
"empty_column.community": "Den lokale tidslinje er tom. Skriv noget offentligt for at sætte tingene i gang!",
|
||||||
"empty_column.direct": "Der er endnu ingen private omtaler. Når en sendes eller modtages, dukker den op hér.",
|
"empty_column.direct": "Der er endnu ingen private omtaler. Når en sendes eller modtages, dukker den op her.",
|
||||||
"empty_column.domain_blocks": "Ingen blokerede domæner endnu.",
|
"empty_column.domain_blocks": "Ingen blokerede domæner endnu.",
|
||||||
"empty_column.explore_statuses": "Ingen nye tendenser lige nu. Tjek igen senere!",
|
"empty_column.explore_statuses": "Ingen nye tendenser lige nu. Tjek igen senere!",
|
||||||
"empty_column.favourited_statuses": "Du har endnu ingen favoritindlæg. Når du favoritmarkerer ét, vil det dukke op hér.",
|
"empty_column.favourited_statuses": "Du har endnu ingen favoritindlæg. Når du føjer et opslag til favoritter, vil det dukke op her.",
|
||||||
"empty_column.favourites": "Ingen har endnu gjort dette indlæg til favorit. Når nogen gør dét, vil det dukke op hér.",
|
"empty_column.favourites": "Ingen har endnu føjet dette indlæg til favoritter. Når nogen gør det, vil det dukke op her.",
|
||||||
"empty_column.follow_requests": "Du har endnu ingen følgeanmodninger. Når du modtager én, vil den dukke op hér.",
|
"empty_column.follow_requests": "Du har endnu ingen følgeanmodninger. Når du modtager én, vil den dukke op her.",
|
||||||
"empty_column.followed_tags": "Ingen hashtags følges endnu. Når det sker, vil de fremgå hér.",
|
"empty_column.followed_tags": "Ingen etiketter følges endnu. Når det sker, vil de fremgå her.",
|
||||||
"empty_column.hashtag": "Der er intet med dette hashtag endnu.",
|
"empty_column.hashtag": "Der er intet med denne etiket endnu.",
|
||||||
"empty_column.home": "Din hjemmetidslinje er tom! Følg nogle personer, for at udfylde den. {suggestions}",
|
"empty_column.home": "Din hjemmetidslinje er tom! Følg nogle personer, for at fylde den op.",
|
||||||
"empty_column.list": "Der er ikke noget på denne liste endnu. Når medlemmer af listen udgiver nye indlæg vil de fremgå hér.",
|
"empty_column.list": "Der er ikke noget på denne liste endnu. Når medlemmer af listen udgiver nye indlæg vil de fremgå her.",
|
||||||
"empty_column.mutes": "Du har endnu ikke skjult (muted) nogle brugere.",
|
"empty_column.mutes": "Du har endnu ikke skjult nogle brugere.",
|
||||||
"empty_column.notification_requests": "Alt er klar! Der er intet her. Når der modtages nye notifikationer, fremgår de her jf. dine indstillinger.",
|
"empty_column.notification_requests": "Alt er klar! Der er intet her. Når der modtages nye notifikationer, fremgår de her jævnfør dine indstillinger.",
|
||||||
"empty_column.notifications": "Du har endnu ingen notifikationer. Når andre interagerer med dig, vil det fremgå hér.",
|
"empty_column.notifications": "Du har endnu ingen notifikationer. Når andre interagerer med dig, vil det fremgå her.",
|
||||||
"empty_column.public": "Der er intet hér! Skriv noget offentligt eller følg manuelt brugere fra andre servere for at se indhold",
|
"empty_column.public": "Der er intet her! Skriv noget offentligt eller følg manuelt brugere fra andre servere for at se indhold",
|
||||||
"error.unexpected_crash.explanation": "Grundet en fejl i vores kode, eller en browser-kompatibilitetsfejl, kunne siden ikke vises korrekt.",
|
"error.unexpected_crash.explanation": "Grundet en fejl i vores kode, eller en netlæser-kompatibilitetsfejl, kunne siden ikke vises korrekt.",
|
||||||
"error.unexpected_crash.explanation_addons": "Denne side kunne ikke vises korrekt. Fejlen skyldes sandsynligvis en browsertilføjelse eller automatiske oversættelsesværktøjer.",
|
"error.unexpected_crash.explanation_addons": "Denne side kunne ikke vises korrekt. Fejlen skyldes sandsynligvis en browsertilføjelse eller automatiske oversættelsesværktøjer.",
|
||||||
"error.unexpected_crash.next_steps": "Prøv at opfriske siden. Hjælper dette ikke, kan Mastodon muligvis stadig bruges via en anden browser eller app.",
|
"error.unexpected_crash.next_steps": "Prøv at opfriske siden. Hjælper dette ikke, kan Mastodon muligvis stadig bruges via en anden netlæser eller app.",
|
||||||
"error.unexpected_crash.next_steps_addons": "Prøv at deaktivere dem og genindlæse siden. Hvis det ikke hjælper, kan Mastodon muligvis stadig bruges via en anden browser eller app.",
|
"error.unexpected_crash.next_steps_addons": "Prøv at deaktivere dem og genindlæse siden. Hvis det ikke hjælper, kan Mastodon muligvis stadig bruges via en anden netlæser eller app.",
|
||||||
"errors.unexpected_crash.copy_stacktrace": "Kopiér stacktrace til udklipsholderen",
|
"errors.unexpected_crash.copy_stacktrace": "Kopiér stacktrace til udklipsholderen",
|
||||||
"errors.unexpected_crash.report_issue": "Anmeld problem",
|
"errors.unexpected_crash.report_issue": "Anmeld problem",
|
||||||
"explore.suggested_follows": "Personer",
|
"explore.suggested_follows": "Personer",
|
||||||
"explore.title": "Udforsk",
|
"explore.title": "Udforsk",
|
||||||
"explore.trending_links": "Nyheder",
|
"explore.trending_links": "Nyheder",
|
||||||
"explore.trending_statuses": "Indlæg",
|
"explore.trending_statuses": "Indlæg",
|
||||||
"explore.trending_tags": "Hashtags",
|
"explore.trending_tags": "Etiketter",
|
||||||
"filter_modal.added.context_mismatch_explanation": "Denne filterkategori omfatter ikke konteksten, hvorunder dette indlæg er tilgået. Redigér filteret, hvis indlægget også ønskes filtreret i denne kontekst.",
|
"filter_modal.added.context_mismatch_explanation": "Denne filterkategori omfatter ikke konteksten, hvorunder dette indlæg er tilgået. Redigér filteret, hvis indlægget også ønskes filtreret i denne kontekst.",
|
||||||
"filter_modal.added.context_mismatch_title": "Kontekstmisforhold!",
|
"filter_modal.added.context_mismatch_title": "Kontekstmisforhold!",
|
||||||
"filter_modal.added.expired_explanation": "Denne filterkategori er udløbet. Ændr dens udløbsdato, for at anvende den.",
|
"filter_modal.added.expired_explanation": "Denne filterkategori er udløbet. Ændr dens udløbsdato, for at anvende den.",
|
||||||
|
@ -332,7 +332,7 @@
|
||||||
"filter_modal.added.review_and_configure": "Gå til {settings_link} for at gennemse og yderligere opsætte denne filterkategori.",
|
"filter_modal.added.review_and_configure": "Gå til {settings_link} for at gennemse og yderligere opsætte denne filterkategori.",
|
||||||
"filter_modal.added.review_and_configure_title": "Filterindstillinger",
|
"filter_modal.added.review_and_configure_title": "Filterindstillinger",
|
||||||
"filter_modal.added.settings_link": "indstillingsside",
|
"filter_modal.added.settings_link": "indstillingsside",
|
||||||
"filter_modal.added.short_explanation": "Dette indlæg er nu føjet til flg. filterkategori: {title}.",
|
"filter_modal.added.short_explanation": "Dette indlæg er nu føjet til følgende filterkategori: {title}.",
|
||||||
"filter_modal.added.title": "Filter tilføjet!",
|
"filter_modal.added.title": "Filter tilføjet!",
|
||||||
"filter_modal.select_filter.context_mismatch": "gælder ikke for denne kontekst",
|
"filter_modal.select_filter.context_mismatch": "gælder ikke for denne kontekst",
|
||||||
"filter_modal.select_filter.expired": "udløbet",
|
"filter_modal.select_filter.expired": "udløbet",
|
||||||
|
@ -365,7 +365,7 @@
|
||||||
"follow_suggestions.similar_to_recently_followed_longer": "Svarende til profiler, som for nylig er fulgt",
|
"follow_suggestions.similar_to_recently_followed_longer": "Svarende til profiler, som for nylig er fulgt",
|
||||||
"follow_suggestions.view_all": "Vis alle",
|
"follow_suggestions.view_all": "Vis alle",
|
||||||
"follow_suggestions.who_to_follow": "Hvem, som skal følges",
|
"follow_suggestions.who_to_follow": "Hvem, som skal følges",
|
||||||
"followed_tags": "Hashtag, som følges",
|
"followed_tags": "Etiketter, som følges",
|
||||||
"footer.about": "Om",
|
"footer.about": "Om",
|
||||||
"footer.directory": "Profiloversigt",
|
"footer.directory": "Profiloversigt",
|
||||||
"footer.get_app": "Hent appen",
|
"footer.get_app": "Hent appen",
|
||||||
|
@ -381,7 +381,7 @@
|
||||||
"hashtag.column_header.tag_mode.any": "eller {additional}",
|
"hashtag.column_header.tag_mode.any": "eller {additional}",
|
||||||
"hashtag.column_header.tag_mode.none": "uden {additional}",
|
"hashtag.column_header.tag_mode.none": "uden {additional}",
|
||||||
"hashtag.column_settings.select.no_options_message": "Ingen forslag fundet",
|
"hashtag.column_settings.select.no_options_message": "Ingen forslag fundet",
|
||||||
"hashtag.column_settings.select.placeholder": "Angiv hashtags…",
|
"hashtag.column_settings.select.placeholder": "Angiv etiketter…",
|
||||||
"hashtag.column_settings.tag_mode.all": "Alle disse",
|
"hashtag.column_settings.tag_mode.all": "Alle disse",
|
||||||
"hashtag.column_settings.tag_mode.any": "Nogle af disse",
|
"hashtag.column_settings.tag_mode.any": "Nogle af disse",
|
||||||
"hashtag.column_settings.tag_mode.none": "Ingen af disse",
|
"hashtag.column_settings.tag_mode.none": "Ingen af disse",
|
||||||
|
@ -389,8 +389,8 @@
|
||||||
"hashtag.counter_by_accounts": "{count, plural, one {{counter} deltager} other {{counter} deltagere}}",
|
"hashtag.counter_by_accounts": "{count, plural, one {{counter} deltager} other {{counter} deltagere}}",
|
||||||
"hashtag.counter_by_uses": "{count, plural, one {{counter} indlæg} other {{counter} indlæg}}",
|
"hashtag.counter_by_uses": "{count, plural, one {{counter} indlæg} other {{counter} indlæg}}",
|
||||||
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} indlæg} other {{counter} indlæg}} i dag",
|
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} indlæg} other {{counter} indlæg}} i dag",
|
||||||
"hashtag.follow": "Følg hashtag",
|
"hashtag.follow": "Følg etiket",
|
||||||
"hashtag.unfollow": "Stop med at følge hashtag",
|
"hashtag.unfollow": "Stop med at følge etiket",
|
||||||
"hashtags.and_other": "…og {count, plural, one {}other {# flere}}",
|
"hashtags.and_other": "…og {count, plural, one {}other {# flere}}",
|
||||||
"hints.profiles.followers_may_be_missing": "Der kan mangle følgere for denne profil.",
|
"hints.profiles.followers_may_be_missing": "Der kan mangle følgere for denne profil.",
|
||||||
"hints.profiles.follows_may_be_missing": "Fulgte kan mangle for denne profil.",
|
"hints.profiles.follows_may_be_missing": "Fulgte kan mangle for denne profil.",
|
||||||
|
@ -400,15 +400,15 @@
|
||||||
"hints.profiles.see_more_posts": "Se flere indlæg på {domain}",
|
"hints.profiles.see_more_posts": "Se flere indlæg på {domain}",
|
||||||
"hints.threads.replies_may_be_missing": "Der kan mangle svar fra andre servere.",
|
"hints.threads.replies_may_be_missing": "Der kan mangle svar fra andre servere.",
|
||||||
"hints.threads.see_more": "Se flere svar på {domain}",
|
"hints.threads.see_more": "Se flere svar på {domain}",
|
||||||
"home.column_settings.show_reblogs": "Vis boosts",
|
"home.column_settings.show_reblogs": "Vis fremhævelser",
|
||||||
"home.column_settings.show_replies": "Vis svar",
|
"home.column_settings.show_replies": "Vis svar",
|
||||||
"home.hide_announcements": "Skjul bekendtgørelser",
|
"home.hide_announcements": "Skjul bekendtgørelser",
|
||||||
"home.pending_critical_update.body": "Opdater din Mastodon-server snarest muligt!",
|
"home.pending_critical_update.body": "Opdatér venligst din Mastodon-server snarest muligt!",
|
||||||
"home.pending_critical_update.link": "Se opdateringer",
|
"home.pending_critical_update.link": "Se opdateringer",
|
||||||
"home.pending_critical_update.title": "Kritisk sikkerhedsopdatering tilgængelig!",
|
"home.pending_critical_update.title": "Kritisk sikkerhedsopdatering tilgængelig!",
|
||||||
"home.show_announcements": "Vis bekendtgørelser",
|
"home.show_announcements": "Vis bekendtgørelser",
|
||||||
"ignore_notifications_modal.disclaimer": "Mastodon kan ikke informere brugere om, at man har ignoreret deres notifikationer. Ignorerer man notifikationer, forhindrer det ikke selve beskedafsendelsen.",
|
"ignore_notifications_modal.disclaimer": "Mastodon kan ikke informere brugere om, at man har ignoreret deres notifikationer. Ignorerer man notifikationer, forhindrer det ikke selve beskedafsendelsen.",
|
||||||
"ignore_notifications_modal.filter_instead": "Filtrer i stedet",
|
"ignore_notifications_modal.filter_instead": "Filtrér i stedet",
|
||||||
"ignore_notifications_modal.filter_to_act_users": "Man vil stadig kunne acceptere, afvise eller anmelde brugere",
|
"ignore_notifications_modal.filter_to_act_users": "Man vil stadig kunne acceptere, afvise eller anmelde brugere",
|
||||||
"ignore_notifications_modal.filter_to_avoid_confusion": "Filtrering medvirker til at undgå potentiel forvirring",
|
"ignore_notifications_modal.filter_to_avoid_confusion": "Filtrering medvirker til at undgå potentiel forvirring",
|
||||||
"ignore_notifications_modal.filter_to_review_separately": "Man kan gennemgå filtrerede notifikationer separat",
|
"ignore_notifications_modal.filter_to_review_separately": "Man kan gennemgå filtrerede notifikationer separat",
|
||||||
|
@ -420,43 +420,43 @@
|
||||||
"ignore_notifications_modal.private_mentions_title": "Ignorér notifikationer fra uopfordrede Private omtaler?",
|
"ignore_notifications_modal.private_mentions_title": "Ignorér notifikationer fra uopfordrede Private omtaler?",
|
||||||
"info_button.label": "Hjælp",
|
"info_button.label": "Hjælp",
|
||||||
"info_button.what_is_alt_text": "<h1>Hvad er alt-tekst?</h1> <p>Alt-tekst leverer billedbeskrivelser til folk med synsnedsættelser, lav båndbredde-forbindelser eller med ønske om ekstra kontekst.</p> <p>Tilgængelighed og forståelse kan forbedres for alle ved at skrive klar, kortfattet og objektiv alt-tekst.</p> <ul> <li>Fang vigtige elementer</li> <li>Opsummér tekst i billeder</li> <li>Brug almindelig sætningsstruktur</li> <li>Undgå overflødig information</li> <li>Fokusér på tendenser og centrale resultater i kompleks grafik (såsom diagrammer eller kort)</li> </ul>",
|
"info_button.what_is_alt_text": "<h1>Hvad er alt-tekst?</h1> <p>Alt-tekst leverer billedbeskrivelser til folk med synsnedsættelser, lav båndbredde-forbindelser eller med ønske om ekstra kontekst.</p> <p>Tilgængelighed og forståelse kan forbedres for alle ved at skrive klar, kortfattet og objektiv alt-tekst.</p> <ul> <li>Fang vigtige elementer</li> <li>Opsummér tekst i billeder</li> <li>Brug almindelig sætningsstruktur</li> <li>Undgå overflødig information</li> <li>Fokusér på tendenser og centrale resultater i kompleks grafik (såsom diagrammer eller kort)</li> </ul>",
|
||||||
"interaction_modal.action.favourite": "For at fortsætte, skal man vælge Gør til favorit fra sin konto.",
|
"interaction_modal.action.favourite": "For at fortsætte, skal du føje til favoritter fra din konto.",
|
||||||
"interaction_modal.action.follow": "For at fortsætte, skal man vælge Følg fra sin konto.",
|
"interaction_modal.action.follow": "For at fortsætte, skal man vælge Følg fra sin konto.",
|
||||||
"interaction_modal.action.reblog": "For at fortsætte, skal man vælge Genblog fra sin konto.",
|
"interaction_modal.action.reblog": "For at fortsætte, skal man vælge Fremhæv fra sin konto.",
|
||||||
"interaction_modal.action.reply": "For at fortsætte, skal man besvar fra sin konto.",
|
"interaction_modal.action.reply": "For at fortsætte, skal man besvar fra sin konto.",
|
||||||
"interaction_modal.action.vote": "For at fortsætte, skal man stemme fra sin konto.",
|
"interaction_modal.action.vote": "For at fortsætte, skal man stemme fra sin konto.",
|
||||||
"interaction_modal.go": "Gå",
|
"interaction_modal.go": "Gå",
|
||||||
"interaction_modal.no_account_yet": "Har endnu ingen konto?",
|
"interaction_modal.no_account_yet": "Har endnu ingen konto?",
|
||||||
"interaction_modal.on_another_server": "På en anden server",
|
"interaction_modal.on_another_server": "På en anden server",
|
||||||
"interaction_modal.on_this_server": "På denne server",
|
"interaction_modal.on_this_server": "På denne server",
|
||||||
"interaction_modal.title.favourite": "Gør {name}s indlæg til favorit",
|
"interaction_modal.title.favourite": "Føj {name}s indlæg til favoritter",
|
||||||
"interaction_modal.title.follow": "Følg {name}",
|
"interaction_modal.title.follow": "Følg {name}",
|
||||||
"interaction_modal.title.reblog": "Boost {name}s indlæg",
|
"interaction_modal.title.reblog": "Fremhæv {name}s indlæg",
|
||||||
"interaction_modal.title.reply": "Besvar {name}s indlæg",
|
"interaction_modal.title.reply": "Besvar {name}s indlæg",
|
||||||
"interaction_modal.title.vote": "Deltag i {name}s afstemning",
|
"interaction_modal.title.vote": "Stem i {name}s afstemning",
|
||||||
"interaction_modal.username_prompt": "F.eks. {example}",
|
"interaction_modal.username_prompt": "F.eks. {example}",
|
||||||
"intervals.full.days": "{number, plural, one {# dag} other {# dage}}",
|
"intervals.full.days": "{number, plural, one {# dag} other {# dage}}",
|
||||||
"intervals.full.hours": "{number, plural, one {# time} other {# timer}}",
|
"intervals.full.hours": "{number, plural, one {# time} other {# timer}}",
|
||||||
"intervals.full.minutes": "{number, plural, one {# minut} other {# minutter}}",
|
"intervals.full.minutes": "{number, plural, one {# minut} other {# minutter}}",
|
||||||
"keyboard_shortcuts.back": "Gå tilbage",
|
"keyboard_shortcuts.back": "Gå tilbage",
|
||||||
"keyboard_shortcuts.blocked": "Åbn listen over blokerede brugere",
|
"keyboard_shortcuts.blocked": "Åbn listen over blokerede brugere",
|
||||||
"keyboard_shortcuts.boost": "Boost indlæg",
|
"keyboard_shortcuts.boost": "Fremhæv indlæg",
|
||||||
"keyboard_shortcuts.column": "Fokusér kolonne",
|
"keyboard_shortcuts.column": "Fokusér kolonne",
|
||||||
"keyboard_shortcuts.compose": "Fokusér skriveområdet",
|
"keyboard_shortcuts.compose": "Fokusér skriveområdet",
|
||||||
"keyboard_shortcuts.description": "Beskrivelse",
|
"keyboard_shortcuts.description": "Beskrivelse",
|
||||||
"keyboard_shortcuts.direct": "for at åbne kolonnen private omtaler",
|
"keyboard_shortcuts.direct": "for at åbne kolonnen private omtaler",
|
||||||
"keyboard_shortcuts.down": "Flyt nedad på listen",
|
"keyboard_shortcuts.down": "Flyt nedad på listen",
|
||||||
"keyboard_shortcuts.enter": "Åbn indlæg",
|
"keyboard_shortcuts.enter": "Åbn indlæg",
|
||||||
"keyboard_shortcuts.favourite": "Favoritmarkér indlæg",
|
"keyboard_shortcuts.favourite": "Føj indlæg til favoritter",
|
||||||
"keyboard_shortcuts.favourites": "Åbn favoritlisten",
|
"keyboard_shortcuts.favourites": "Åbn favoritlisten",
|
||||||
"keyboard_shortcuts.federated": "Åbn fælles tidslinje",
|
"keyboard_shortcuts.federated": "Åbn fødereret tidslinje",
|
||||||
"keyboard_shortcuts.heading": "Tastaturgenveje",
|
"keyboard_shortcuts.heading": "Tastaturgenveje",
|
||||||
"keyboard_shortcuts.home": "Åbn hjemmetidslinje",
|
"keyboard_shortcuts.home": "Åbn hjemmetidslinje",
|
||||||
"keyboard_shortcuts.hotkey": "Hurtigtast",
|
"keyboard_shortcuts.hotkey": "Hurtigtast",
|
||||||
"keyboard_shortcuts.legend": "Vis dette symbol",
|
"keyboard_shortcuts.legend": "Vis dette symbol",
|
||||||
"keyboard_shortcuts.local": "Åbn lokal tidslinje",
|
"keyboard_shortcuts.local": "Åbn lokal tidslinje",
|
||||||
"keyboard_shortcuts.mention": "Omtal forfatter",
|
"keyboard_shortcuts.mention": "Omtal forfatter",
|
||||||
"keyboard_shortcuts.muted": "Åbn listen over skjulte (mutede) brugere",
|
"keyboard_shortcuts.muted": "Åbn listen over skjulte brugere",
|
||||||
"keyboard_shortcuts.my_profile": "Åbn din profil",
|
"keyboard_shortcuts.my_profile": "Åbn din profil",
|
||||||
"keyboard_shortcuts.notifications": "for at åbne notifikationskolonnen",
|
"keyboard_shortcuts.notifications": "for at åbne notifikationskolonnen",
|
||||||
"keyboard_shortcuts.open_media": "Åbn medier",
|
"keyboard_shortcuts.open_media": "Åbn medier",
|
||||||
|
@ -465,9 +465,9 @@
|
||||||
"keyboard_shortcuts.reply": "Besvar indlægget",
|
"keyboard_shortcuts.reply": "Besvar indlægget",
|
||||||
"keyboard_shortcuts.requests": "Åbn liste over følgeanmodninger",
|
"keyboard_shortcuts.requests": "Åbn liste over følgeanmodninger",
|
||||||
"keyboard_shortcuts.search": "Fokusér søgebjælke",
|
"keyboard_shortcuts.search": "Fokusér søgebjælke",
|
||||||
"keyboard_shortcuts.spoilers": "Vis/skjul CW-felt",
|
"keyboard_shortcuts.spoilers": "Vis/skjul emnefelt",
|
||||||
"keyboard_shortcuts.start": "Åbn \"komme i gang\"-kolonne",
|
"keyboard_shortcuts.start": "Åbn \"komme i gang\"-kolonne",
|
||||||
"keyboard_shortcuts.toggle_hidden": "Vis/skjul tekst bag CW",
|
"keyboard_shortcuts.toggle_hidden": "Vis/skjul tekst bag emnefelt",
|
||||||
"keyboard_shortcuts.toggle_sensitivity": "Vis/skjul medier",
|
"keyboard_shortcuts.toggle_sensitivity": "Vis/skjul medier",
|
||||||
"keyboard_shortcuts.toot": "Påbegynd nyt indlæg",
|
"keyboard_shortcuts.toot": "Påbegynd nyt indlæg",
|
||||||
"keyboard_shortcuts.translate": "for at oversætte et indlæg",
|
"keyboard_shortcuts.translate": "for at oversætte et indlæg",
|
||||||
|
@ -515,16 +515,16 @@
|
||||||
"moved_to_account_banner.text": "Din konto {disabledAccount} er pt. deaktiveret, da du flyttede til {movedToAccount}.",
|
"moved_to_account_banner.text": "Din konto {disabledAccount} er pt. deaktiveret, da du flyttede til {movedToAccount}.",
|
||||||
"mute_modal.hide_from_notifications": "Skjul fra notifikationer",
|
"mute_modal.hide_from_notifications": "Skjul fra notifikationer",
|
||||||
"mute_modal.hide_options": "Skjul valgmuligheder",
|
"mute_modal.hide_options": "Skjul valgmuligheder",
|
||||||
"mute_modal.indefinite": "Indtil jeg fjerner tavsgørelsen",
|
"mute_modal.indefinite": "Indtil jeg vælger at se dem igen",
|
||||||
"mute_modal.show_options": "Vis valgmuligheder",
|
"mute_modal.show_options": "Vis valgmuligheder",
|
||||||
"mute_modal.they_can_mention_and_follow": "Vedkommende kan nævne og følge dig, men vil ikke blive vist.",
|
"mute_modal.they_can_mention_and_follow": "De kan omtale og følge dig, men du vil ikke se dem.",
|
||||||
"mute_modal.they_wont_know": "Vedkommende ser ikke den aktive tavsgørelse.",
|
"mute_modal.they_wont_know": "De vil ikke vide, at de er blevet skjult.",
|
||||||
"mute_modal.title": "Tavsgør bruger?",
|
"mute_modal.title": "Skjul bruger?",
|
||||||
"mute_modal.you_wont_see_mentions": "Indlæg, som nævner vedkommende, vises ikke.",
|
"mute_modal.you_wont_see_mentions": "Du vil ikke se indlæg som omtaler dem.",
|
||||||
"mute_modal.you_wont_see_posts": "Vedkommende kan stadig se dine indlæg, med vedkommendes vise ikke.",
|
"mute_modal.you_wont_see_posts": "De kan stadig se dine indlæg, men du vil ikke se deres.",
|
||||||
"navigation_bar.about": "Om",
|
"navigation_bar.about": "Om",
|
||||||
"navigation_bar.administration": "Håndtering",
|
"navigation_bar.administration": "Administration",
|
||||||
"navigation_bar.advanced_interface": "Åbn i avanceret webgrænseflade",
|
"navigation_bar.advanced_interface": "Åbn i avanceret netgrænseflade",
|
||||||
"navigation_bar.blocks": "Blokerede brugere",
|
"navigation_bar.blocks": "Blokerede brugere",
|
||||||
"navigation_bar.bookmarks": "Bogmærker",
|
"navigation_bar.bookmarks": "Bogmærker",
|
||||||
"navigation_bar.community_timeline": "Lokal tidslinje",
|
"navigation_bar.community_timeline": "Lokal tidslinje",
|
||||||
|
@ -534,14 +534,14 @@
|
||||||
"navigation_bar.domain_blocks": "Blokerede domæner",
|
"navigation_bar.domain_blocks": "Blokerede domæner",
|
||||||
"navigation_bar.explore": "Udforsk",
|
"navigation_bar.explore": "Udforsk",
|
||||||
"navigation_bar.favourites": "Favoritter",
|
"navigation_bar.favourites": "Favoritter",
|
||||||
"navigation_bar.filters": "Skjulte ord (mutede)",
|
"navigation_bar.filters": "Skjulte ord",
|
||||||
"navigation_bar.follow_requests": "Følgeanmodninger",
|
"navigation_bar.follow_requests": "Følgeanmodninger",
|
||||||
"navigation_bar.followed_tags": "Hashtag, som følges",
|
"navigation_bar.followed_tags": "Etiketter, som følges",
|
||||||
"navigation_bar.follows_and_followers": "Følges og følgere",
|
"navigation_bar.follows_and_followers": "Følges og følgere",
|
||||||
"navigation_bar.lists": "Lister",
|
"navigation_bar.lists": "Lister",
|
||||||
"navigation_bar.logout": "Log af",
|
"navigation_bar.logout": "Log af",
|
||||||
"navigation_bar.moderation": "Moderering",
|
"navigation_bar.moderation": "Moderering",
|
||||||
"navigation_bar.mutes": "Skjulte brugere (mutede)",
|
"navigation_bar.mutes": "Skjulte brugere",
|
||||||
"navigation_bar.opened_in_classic_interface": "Indlæg, konti og visse andre sider åbnes som standard i den klassiske webgrænseflade.",
|
"navigation_bar.opened_in_classic_interface": "Indlæg, konti og visse andre sider åbnes som standard i den klassiske webgrænseflade.",
|
||||||
"navigation_bar.personal": "Personlig",
|
"navigation_bar.personal": "Personlig",
|
||||||
"navigation_bar.pins": "Fastgjorte indlæg",
|
"navigation_bar.pins": "Fastgjorte indlæg",
|
||||||
|
@ -559,10 +559,10 @@
|
||||||
"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.message": "{year} #Wrapstodon venter! Afslør årets højdepunkter og mindeværdige øjeblikke på Mastodon!",
|
||||||
"notification.annual_report.view": "Vis #Wrapstodon",
|
"notification.annual_report.view": "Vis #Wrapstodon",
|
||||||
"notification.favourite": "{name} favoritmarkerede dit indlæg",
|
"notification.favourite": "{name} føjede dit indlæg til favoritter",
|
||||||
"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> føjede dit indlæg til favoritter",
|
||||||
"notification.favourite_pm": "{name} favoritmarkerede din private omtale",
|
"notification.favourite_pm": "{name} føjede din private omtale til favoritter",
|
||||||
"notification.favourite_pm.name_and_others_with_link": "{name} og <a>{count, plural, one {# anden} other {# andre}}</a> favoritmarkerede dit indlæg",
|
"notification.favourite_pm.name_and_others_with_link": "{name} og <a>{count, plural, one {# anden} other {# andre}}</a> føjede dit indlæg til favoritter",
|
||||||
"notification.follow": "{name} begyndte at følge dig",
|
"notification.follow": "{name} begyndte at følge dig",
|
||||||
"notification.follow.name_and_others": "{name} og <a>{count, plural, one {# andre} other {# andre}}</a> begyndte at følge dig",
|
"notification.follow.name_and_others": "{name} og <a>{count, plural, one {# andre} other {# andre}}</a> begyndte at følge dig",
|
||||||
"notification.follow_request": "{name} har anmodet om at følge dig",
|
"notification.follow_request": "{name} har anmodet om at følge dig",
|
||||||
|
@ -570,36 +570,36 @@
|
||||||
"notification.label.mention": "Omtale",
|
"notification.label.mention": "Omtale",
|
||||||
"notification.label.private_mention": "Privat omtale",
|
"notification.label.private_mention": "Privat omtale",
|
||||||
"notification.label.private_reply": "Privat svar",
|
"notification.label.private_reply": "Privat svar",
|
||||||
"notification.label.reply": "Besvar",
|
"notification.label.reply": "Svar",
|
||||||
"notification.mention": "Omtale",
|
"notification.mention": "Omtale",
|
||||||
"notification.mentioned_you": "{name} nævnte dig",
|
"notification.mentioned_you": "{name} omtalte dig",
|
||||||
"notification.moderation-warning.learn_more": "Læs mere",
|
"notification.moderation-warning.learn_more": "Læs mere",
|
||||||
"notification.moderation_warning": "Du er tildelt en moderationsadvarsel",
|
"notification.moderation_warning": "Du har fået en moderationsadvarsel",
|
||||||
"notification.moderation_warning.action_delete_statuses": "Nogle af dine indlæg er blevet fjernet.",
|
"notification.moderation_warning.action_delete_statuses": "Nogle af dine indlæg er blevet fjernet.",
|
||||||
"notification.moderation_warning.action_disable": "Din konto er blevet deaktiveret.",
|
"notification.moderation_warning.action_disable": "Din konto er blevet deaktiveret.",
|
||||||
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Nogle af dine indlæg er blevet markeret som sensitive.",
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Nogle af dine indlæg er blevet markeret som følsomme.",
|
||||||
"notification.moderation_warning.action_none": "Din konto er tildelt en moderationsadvarsel.",
|
"notification.moderation_warning.action_none": "Din konto har fået en moderationsadvarsel.",
|
||||||
"notification.moderation_warning.action_sensitive": "Dine indlæg markeres fra nu af som sensitive.",
|
"notification.moderation_warning.action_sensitive": "Dine indlæg markeres fra nu af som følsomme.",
|
||||||
"notification.moderation_warning.action_silence": "Din konto er blevet begrænset.",
|
"notification.moderation_warning.action_silence": "Din konto er blevet begrænset.",
|
||||||
"notification.moderation_warning.action_suspend": "Din konto er suspenderet.",
|
"notification.moderation_warning.action_suspend": "Din konto er suspenderet.",
|
||||||
"notification.own_poll": "Din afstemning er afsluttet",
|
"notification.own_poll": "Din afstemning er afsluttet",
|
||||||
"notification.poll": "En afstemning, hvori du har stemt, er slut",
|
"notification.poll": "En afstemning, hvori du har stemt, er slut",
|
||||||
"notification.reblog": "{name} boostede dit indlæg",
|
"notification.reblog": "{name} fremhævede dit indlæg",
|
||||||
"notification.reblog.name_and_others_with_link": "{name} og <a>{count, plural, one {# anden} other {# andre}}</a> boostede dit indlæg",
|
"notification.reblog.name_and_others_with_link": "{name} og <a>{count, plural, one {# anden} other {# andre}}</a> fremhævede dit indlæg",
|
||||||
"notification.relationships_severance_event": "Mistede forbindelser med {name}",
|
"notification.relationships_severance_event": "Mistede forbindelser med {name}",
|
||||||
"notification.relationships_severance_event.account_suspension": "En admin fra {from} har suspenderet {target}, hvofor opdateringer herfra eller interaktion hermed ikke længer er mulig.",
|
"notification.relationships_severance_event.account_suspension": "En admin fra {from} har suspenderet {target}, så du kan ikke længere få opdateringer fra eller interagere med dem.",
|
||||||
"notification.relationships_severance_event.domain_block": "En admin fra {from} har blokeret {target}, herunder {followersCount} tilhængere og {followingCount, plural, one {# konto, der} other {# konti, som}} følges.",
|
"notification.relationships_severance_event.domain_block": "En admin fra {from} har blokeret {target}, herunder {followersCount} følgere og {followingCount, plural, one {# konto, der} other {# konti, som}} som du følger.",
|
||||||
"notification.relationships_severance_event.learn_more": "Læs mere",
|
"notification.relationships_severance_event.learn_more": "Læs mere",
|
||||||
"notification.relationships_severance_event.user_domain_block": "{target} er blevet blokeret, og {followersCount} tilhængere samt {followingCount, plural, one {# konto, der} other {# konti, som}} følges, er hermed fjernet.",
|
"notification.relationships_severance_event.user_domain_block": "Du har blokeret {target}. {followersCount} af dine følgere samt {followingCount, plural, one {# konto, der} other {# konti, som}} du følger, er hermed fjernet.",
|
||||||
"notification.status": "{name} har netop postet",
|
"notification.status": "{name} har netop slået noget op",
|
||||||
"notification.update": "{name} redigerede et indlæg",
|
"notification.update": "{name} redigerede et indlæg",
|
||||||
"notification_requests.accept": "Acceptér",
|
"notification_requests.accept": "Acceptér",
|
||||||
"notification_requests.accept_multiple": "{count, plural, one {Acceptér # anmodning…} other {Acceptér # anmodninger…}}",
|
"notification_requests.accept_multiple": "{count, plural, one {Acceptér # anmodning…} other {Acceptér # anmodninger…}}",
|
||||||
"notification_requests.confirm_accept_multiple.button": "{count, plural, one {Acceptér anmodning} other {Acceptér anmodninger}}",
|
"notification_requests.confirm_accept_multiple.button": "{count, plural, one {Acceptér anmodning} other {Acceptér anmodninger}}",
|
||||||
"notification_requests.confirm_accept_multiple.message": "{count, plural, one {En notifikationsanmodning} other {# notifikationsanmodninger}} er ved at blive accepteret. Fortsæt, sikker?",
|
"notification_requests.confirm_accept_multiple.message": "{count, plural, one {En notifikationsanmodning} other {# notifikationsanmodninger}} er ved at blive accepteret. Er du sikker på, at du vil fortsætte?",
|
||||||
"notification_requests.confirm_accept_multiple.title": "Acceptér notifikationsanmodninger?",
|
"notification_requests.confirm_accept_multiple.title": "Acceptér notifikationsanmodninger?",
|
||||||
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Afvis anmodning} other {Afvis anmodninger}}",
|
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Afvis anmodning} other {Afvis anmodninger}}",
|
||||||
"notification_requests.confirm_dismiss_multiple.message": "{count, plural, one {En notifikationsanmodning} other {# notifikationsanmodninger}} er ved at blive afvist, hvorfor man ikke nemt vil kunne tilgå {count, plural, one {den} other {dem}} igen. Fortsæt, sikker?",
|
"notification_requests.confirm_dismiss_multiple.message": "{count, plural, one {En notifikationsanmodning} other {# notifikationsanmodninger}} er ved at blive afvist, hvorfor man ikke nemt vil kunne tilgå {count, plural, one {den} other {dem}} igen. Er du sikker på, at du vil fortsætte?",
|
||||||
"notification_requests.confirm_dismiss_multiple.title": "Afvis notifikationsanmodninger?",
|
"notification_requests.confirm_dismiss_multiple.title": "Afvis notifikationsanmodninger?",
|
||||||
"notification_requests.dismiss": "Afvis",
|
"notification_requests.dismiss": "Afvis",
|
||||||
"notification_requests.dismiss_multiple": "{count, plural, one {Afvis # anmodning…} other {Afvis # anmodninger…}}",
|
"notification_requests.dismiss_multiple": "{count, plural, one {Afvis # anmodning…} other {Afvis # anmodninger…}}",
|
||||||
|
@ -615,7 +615,7 @@
|
||||||
"notifications.clear": "Ryd notifikationer",
|
"notifications.clear": "Ryd notifikationer",
|
||||||
"notifications.clear_confirmation": "Er du sikker på, at du vil rydde alle dine notifikationer permanent?",
|
"notifications.clear_confirmation": "Er du sikker på, at du vil rydde alle dine notifikationer permanent?",
|
||||||
"notifications.clear_title": "Ryd notifikationer?",
|
"notifications.clear_title": "Ryd notifikationer?",
|
||||||
"notifications.column_settings.admin.report": "Nye anmeldelser:",
|
"notifications.column_settings.admin.report": "Nye rapporteringer:",
|
||||||
"notifications.column_settings.admin.sign_up": "Nye tilmeldinger:",
|
"notifications.column_settings.admin.sign_up": "Nye tilmeldinger:",
|
||||||
"notifications.column_settings.alert": "Computernotifikationer",
|
"notifications.column_settings.alert": "Computernotifikationer",
|
||||||
"notifications.column_settings.favourite": "Favoritter:",
|
"notifications.column_settings.favourite": "Favoritter:",
|
||||||
|
@ -627,7 +627,7 @@
|
||||||
"notifications.column_settings.mention": "Omtaler:",
|
"notifications.column_settings.mention": "Omtaler:",
|
||||||
"notifications.column_settings.poll": "Afstemningsresultater:",
|
"notifications.column_settings.poll": "Afstemningsresultater:",
|
||||||
"notifications.column_settings.push": "Push-notifikationer",
|
"notifications.column_settings.push": "Push-notifikationer",
|
||||||
"notifications.column_settings.reblog": "Boosts:",
|
"notifications.column_settings.reblog": "Fremhævelser:",
|
||||||
"notifications.column_settings.show": "Vis i kolonne",
|
"notifications.column_settings.show": "Vis i kolonne",
|
||||||
"notifications.column_settings.sound": "Afspil lyd",
|
"notifications.column_settings.sound": "Afspil lyd",
|
||||||
"notifications.column_settings.status": "Nye indlæg:",
|
"notifications.column_settings.status": "Nye indlæg:",
|
||||||
|
@ -635,7 +635,7 @@
|
||||||
"notifications.column_settings.unread_notifications.highlight": "Fremhæv ulæste notifikationer",
|
"notifications.column_settings.unread_notifications.highlight": "Fremhæv ulæste notifikationer",
|
||||||
"notifications.column_settings.update": "Redigeringer:",
|
"notifications.column_settings.update": "Redigeringer:",
|
||||||
"notifications.filter.all": "Alle",
|
"notifications.filter.all": "Alle",
|
||||||
"notifications.filter.boosts": "Boosts",
|
"notifications.filter.boosts": "Fremhævelser",
|
||||||
"notifications.filter.favourites": "Favoritter",
|
"notifications.filter.favourites": "Favoritter",
|
||||||
"notifications.filter.follows": "Følger",
|
"notifications.filter.follows": "Følger",
|
||||||
"notifications.filter.mentions": "Omtaler",
|
"notifications.filter.mentions": "Omtaler",
|
||||||
|
@ -644,8 +644,8 @@
|
||||||
"notifications.grant_permission": "Tildel tilladelse.",
|
"notifications.grant_permission": "Tildel tilladelse.",
|
||||||
"notifications.group": "{count} notifikationer",
|
"notifications.group": "{count} notifikationer",
|
||||||
"notifications.mark_as_read": "Markér alle notifikationer som læst",
|
"notifications.mark_as_read": "Markér alle notifikationer som læst",
|
||||||
"notifications.permission_denied": "Computernotifikationer er utilgængelige grundet tidligere afvist browsertilladelsesanmodning",
|
"notifications.permission_denied": "Computernotifikationer er utilgængelige grundet tidligere afvist netlæser-tilladelsesanmodning",
|
||||||
"notifications.permission_denied_alert": "Computernotifikationer kan ikke aktiveres, da browsertilladelse tidligere blev nægtet",
|
"notifications.permission_denied_alert": "Computernotifikationer kan ikke aktiveres, da netlæser-tilladelse tidligere blev nægtet",
|
||||||
"notifications.permission_required": "Computernotifikationer er utilgængelige, da den krævede tilladelse ikke er tildelt.",
|
"notifications.permission_required": "Computernotifikationer er utilgængelige, da den krævede tilladelse ikke er tildelt.",
|
||||||
"notifications.policy.accept": "Acceptér",
|
"notifications.policy.accept": "Acceptér",
|
||||||
"notifications.policy.accept_hint": "Vis notifikationer",
|
"notifications.policy.accept_hint": "Vis notifikationer",
|
||||||
|
@ -674,14 +674,14 @@
|
||||||
"onboarding.follows.title": "Følg folk for at komme i gang",
|
"onboarding.follows.title": "Følg folk for at komme i gang",
|
||||||
"onboarding.profile.discoverable": "Gør min profil synlig",
|
"onboarding.profile.discoverable": "Gør min profil synlig",
|
||||||
"onboarding.profile.discoverable_hint": "Når man vælger at være synlig på Mastodon, kan ens indlæg fremgå i søgeresultater og tendenser, og profilen kan blive foreslået til andre med tilsvarende interesse.",
|
"onboarding.profile.discoverable_hint": "Når man vælger at være synlig på Mastodon, kan ens indlæg fremgå i søgeresultater og tendenser, og profilen kan blive foreslået til andre med tilsvarende interesse.",
|
||||||
"onboarding.profile.display_name": "Visningsnavn",
|
"onboarding.profile.display_name": "Vist navn",
|
||||||
"onboarding.profile.display_name_hint": "Fulde navn eller dit sjove navn…",
|
"onboarding.profile.display_name_hint": "Dit fulde navn eller dit sjove navn…",
|
||||||
"onboarding.profile.note": "Bio",
|
"onboarding.profile.note": "Bio",
|
||||||
"onboarding.profile.note_hint": "Man kan @omtale andre personer eller #hashtags…",
|
"onboarding.profile.note_hint": "Man kan @omtale andre personer eller #etiketter…",
|
||||||
"onboarding.profile.save_and_continue": "Gem og fortsæt",
|
"onboarding.profile.save_and_continue": "Gem og fortsæt",
|
||||||
"onboarding.profile.title": "Profilopsætning",
|
"onboarding.profile.title": "Profilopsætning",
|
||||||
"onboarding.profile.upload_avatar": "Upload profilbillede",
|
"onboarding.profile.upload_avatar": "Upload profilbillede",
|
||||||
"onboarding.profile.upload_header": "Upload profiloverskrift",
|
"onboarding.profile.upload_header": "Upload profilbanner",
|
||||||
"password_confirmation.exceeds_maxlength": "Adgangskodebekræftelse overstiger maks. adgangskodelængde",
|
"password_confirmation.exceeds_maxlength": "Adgangskodebekræftelse overstiger maks. adgangskodelængde",
|
||||||
"password_confirmation.mismatching": "Adgangskodebekræftelse matcher ikke",
|
"password_confirmation.mismatching": "Adgangskodebekræftelse matcher ikke",
|
||||||
"picture_in_picture.restore": "Indsæt det igen",
|
"picture_in_picture.restore": "Indsæt det igen",
|
||||||
|
@ -696,21 +696,21 @@
|
||||||
"poll_button.add_poll": "Tilføj en afstemning",
|
"poll_button.add_poll": "Tilføj en afstemning",
|
||||||
"poll_button.remove_poll": "Fjern afstemning",
|
"poll_button.remove_poll": "Fjern afstemning",
|
||||||
"privacy.change": "Tilpas indlægsfortrolighed",
|
"privacy.change": "Tilpas indlægsfortrolighed",
|
||||||
"privacy.direct.long": "Alle nævnt i indlægget",
|
"privacy.direct.long": "Alle omtalt i indlægget",
|
||||||
"privacy.direct.short": "Bestemte personer",
|
"privacy.direct.short": "Bestemte personer",
|
||||||
"privacy.private.long": "Kun dine følgere",
|
"privacy.private.long": "Kun dine følgere",
|
||||||
"privacy.private.short": "Følgere",
|
"privacy.private.short": "Følgere",
|
||||||
"privacy.public.long": "Alle på og udenfor Mastodon",
|
"privacy.public.long": "Alle på og udenfor Mastodon",
|
||||||
"privacy.public.short": "Offentlig",
|
"privacy.public.short": "Offentlig",
|
||||||
"privacy.unlisted.additional": "Dette er præcis som offentlig adfærd, dog vises indlægget ikke i live feeds/hashtags, udforsk eller Mastodon-søgning, selv hvis valget gælder hele kontoen.",
|
"privacy.unlisted.additional": "Dette er præcis som offentlig adfærd, dog vises indlægget ikke i realtids-strømme/etiketter, udforsk eller Mastodon-søgning, selv hvis valget gælder hele kontoen.",
|
||||||
"privacy.unlisted.long": "Færre algoritmiske fanfarer",
|
"privacy.unlisted.long": "Færre algoritmiske fanfarer",
|
||||||
"privacy.unlisted.short": "Tavsgøre offentligt",
|
"privacy.unlisted.short": "Stille offentligt",
|
||||||
"privacy_policy.last_updated": "Senest opdateret {date}",
|
"privacy_policy.last_updated": "Senest opdateret {date}",
|
||||||
"privacy_policy.title": "Privatlivspolitik",
|
"privacy_policy.title": "Privatlivspolitik",
|
||||||
"recommended": "Anbefalet",
|
"recommended": "Anbefalet",
|
||||||
"refresh": "Genindlæs",
|
"refresh": "Genindlæs",
|
||||||
"regeneration_indicator.please_stand_by": "Vent venligst.",
|
"regeneration_indicator.please_stand_by": "Vent venligst.",
|
||||||
"regeneration_indicator.preparing_your_home_feed": "Forbereder hjemme-feed'et…",
|
"regeneration_indicator.preparing_your_home_feed": "Forbereder hjemmestrømmen…",
|
||||||
"relative_time.days": "{number}d",
|
"relative_time.days": "{number}d",
|
||||||
"relative_time.full.days": "{number, plural, one {# dag} other {# dage}} siden",
|
"relative_time.full.days": "{number, plural, one {# dag} other {# dage}} siden",
|
||||||
"relative_time.full.hours": "{number, plural, one {# time} other {# timer}} siden",
|
"relative_time.full.hours": "{number, plural, one {# time} other {# timer}} siden",
|
||||||
|
@ -739,12 +739,12 @@
|
||||||
"report.comment.title": "Er der andet, som vi bør vide?",
|
"report.comment.title": "Er der andet, som vi bør vide?",
|
||||||
"report.forward": "Videresend til {target}",
|
"report.forward": "Videresend til {target}",
|
||||||
"report.forward_hint": "Kontoen er fra en anden server. Send også en anonymiseret kopi af anmeldelsen dertil?",
|
"report.forward_hint": "Kontoen er fra en anden server. Send også en anonymiseret kopi af anmeldelsen dertil?",
|
||||||
"report.mute": "Skjul (mute)",
|
"report.mute": "Skjul",
|
||||||
"report.mute_explanation": "Du vil ikke se vedkommendes indlæg. Vedkommende kan stadig se dine indlæg og følge dig. Vedkommende vil ikke kunne se, at de er blevet skjult.",
|
"report.mute_explanation": "Du vil ikke se deres indlæg. De kan stadig se dine indlæg og følge dig. De vil ikke kunne se, at de er blevet skjult.",
|
||||||
"report.next": "Næste",
|
"report.next": "Næste",
|
||||||
"report.placeholder": "Yderligere kommentarer",
|
"report.placeholder": "Yderligere kommentarer",
|
||||||
"report.reasons.dislike": "Jeg bryder mig ikke om det",
|
"report.reasons.dislike": "Jeg bryder mig ikke om det",
|
||||||
"report.reasons.dislike_description": "Det er ikke noget, man ønsker at se",
|
"report.reasons.dislike_description": "Det er ikke noget, du ønsker at se",
|
||||||
"report.reasons.legal": "Det er ulovligt",
|
"report.reasons.legal": "Det er ulovligt",
|
||||||
"report.reasons.legal_description": "Du mener, at det er i strid med lovgivningen i dit eller serverens land",
|
"report.reasons.legal_description": "Du mener, at det er i strid med lovgivningen i dit eller serverens land",
|
||||||
"report.reasons.other": "Det er noget andet",
|
"report.reasons.other": "Det er noget andet",
|
||||||
|
@ -764,7 +764,7 @@
|
||||||
"report.thanks.title": "Ønsker ikke at se dette?",
|
"report.thanks.title": "Ønsker ikke at se dette?",
|
||||||
"report.thanks.title_actionable": "Tak for anmeldelsen, der vil blive set nærmere på dette.",
|
"report.thanks.title_actionable": "Tak for anmeldelsen, der vil blive set nærmere på dette.",
|
||||||
"report.unfollow": "Følg ikke længere @{name}",
|
"report.unfollow": "Følg ikke længere @{name}",
|
||||||
"report.unfollow_explanation": "Du følger denne konto. For ikke længere at se vedkommendes indlæg i dit hjemmefeed, kan du stoppe med at følge dem.",
|
"report.unfollow_explanation": "Du følger denne konto. For ikke længere at se vedkommendes indlæg i din hjemmestrøm, kan du stoppe med at følge dem.",
|
||||||
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} poster}} vedhæftet",
|
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} poster}} vedhæftet",
|
||||||
"report_notification.categories.legal": "Juridisk",
|
"report_notification.categories.legal": "Juridisk",
|
||||||
"report_notification.categories.legal_sentence": "ikke-tilladt indhold",
|
"report_notification.categories.legal_sentence": "ikke-tilladt indhold",
|
||||||
|
@ -779,7 +779,7 @@
|
||||||
"search.placeholder": "Søg",
|
"search.placeholder": "Søg",
|
||||||
"search.quick_action.account_search": "Profiler matchende {x}",
|
"search.quick_action.account_search": "Profiler matchende {x}",
|
||||||
"search.quick_action.go_to_account": "Gå til profilen {x}",
|
"search.quick_action.go_to_account": "Gå til profilen {x}",
|
||||||
"search.quick_action.go_to_hashtag": "Gå til hashtagget {x}",
|
"search.quick_action.go_to_hashtag": "Gå til etiketten {x}",
|
||||||
"search.quick_action.open_url": "Åbn URL i Mastodon",
|
"search.quick_action.open_url": "Åbn URL i Mastodon",
|
||||||
"search.quick_action.status_search": "Indlæg matchende {x}",
|
"search.quick_action.status_search": "Indlæg matchende {x}",
|
||||||
"search.search_or_paste": "Søg efter eller angiv URL",
|
"search.search_or_paste": "Søg efter eller angiv URL",
|
||||||
|
@ -793,19 +793,19 @@
|
||||||
"search_popout.user": "bruger",
|
"search_popout.user": "bruger",
|
||||||
"search_results.accounts": "Profiler",
|
"search_results.accounts": "Profiler",
|
||||||
"search_results.all": "Alle",
|
"search_results.all": "Alle",
|
||||||
"search_results.hashtags": "Hashtags",
|
"search_results.hashtags": "Etiketter",
|
||||||
"search_results.no_results": "Ingen resultater.",
|
"search_results.no_results": "Ingen resultater.",
|
||||||
"search_results.no_search_yet": "Prøv at søge efter indlæg, profiler eller hashtags.",
|
"search_results.no_search_yet": "Prøv at søge efter indlæg, profiler eller etiketter.",
|
||||||
"search_results.see_all": "Vis alle",
|
"search_results.see_all": "Vis alle",
|
||||||
"search_results.statuses": "Indlæg",
|
"search_results.statuses": "Indlæg",
|
||||||
"search_results.title": "Søg efter \"{q}\"",
|
"search_results.title": "Søg efter \"{q}\"",
|
||||||
"server_banner.about_active_users": "Folk, som brugte denne server de seneste 30 dage (månedlige aktive brugere)",
|
"server_banner.about_active_users": "Folk, som brugte denne server de seneste 30 dage (månedlige aktive brugere)",
|
||||||
"server_banner.active_users": "aktive brugere",
|
"server_banner.active_users": "aktive brugere",
|
||||||
"server_banner.administered_by": "Håndteres af:",
|
"server_banner.administered_by": "Håndteres af:",
|
||||||
"server_banner.is_one_of_many": "{domain} er en af de mange uafhængige Mastodon-servere, man kan bruge for at deltage i fediverset.",
|
"server_banner.is_one_of_many": "{domain} er en af de mange uafhængige Mastodon-servere, man kan bruge for at deltage i fødiverset.",
|
||||||
"server_banner.server_stats": "Serverstatstik:",
|
"server_banner.server_stats": "Serverstatstik:",
|
||||||
"sign_in_banner.create_account": "Opret konto",
|
"sign_in_banner.create_account": "Opret konto",
|
||||||
"sign_in_banner.follow_anyone": "Følg alle på tværs af fediverset og se alt i kronologisk rækkefølge. Ingen algoritmer, annoncer eller clickbait i syne.",
|
"sign_in_banner.follow_anyone": "Følg alle på tværs af fødiverset og se alt i kronologisk rækkefølge. Ingen algoritmer, annoncer eller clickbait i syne.",
|
||||||
"sign_in_banner.mastodon_is": "Mastodon er den bedste måde at holde sig ajour med, hvad der sker.",
|
"sign_in_banner.mastodon_is": "Mastodon er den bedste måde at holde sig ajour med, hvad der sker.",
|
||||||
"sign_in_banner.sign_in": "Log ind",
|
"sign_in_banner.sign_in": "Log ind",
|
||||||
"sign_in_banner.sso_redirect": "Log ind eller Tilmeld",
|
"sign_in_banner.sso_redirect": "Log ind eller Tilmeld",
|
||||||
|
@ -814,7 +814,7 @@
|
||||||
"status.admin_status": "Åbn dette indlæg i modereringsbrugerfladen",
|
"status.admin_status": "Åbn dette indlæg i modereringsbrugerfladen",
|
||||||
"status.block": "Blokér @{name}",
|
"status.block": "Blokér @{name}",
|
||||||
"status.bookmark": "Bogmærk",
|
"status.bookmark": "Bogmærk",
|
||||||
"status.cancel_reblog_private": "Fjern boost",
|
"status.cancel_reblog_private": "Fjern fremhævelse",
|
||||||
"status.cannot_reblog": "Dette indlæg kan ikke fremhæves",
|
"status.cannot_reblog": "Dette indlæg kan ikke fremhæves",
|
||||||
"status.continued_thread": "Fortsat tråd",
|
"status.continued_thread": "Fortsat tråd",
|
||||||
"status.copy": "Kopiér link til indlæg",
|
"status.copy": "Kopiér link til indlæg",
|
||||||
|
@ -837,24 +837,24 @@
|
||||||
"status.media_hidden": "Medie skjult",
|
"status.media_hidden": "Medie skjult",
|
||||||
"status.mention": "Nævn @{name}",
|
"status.mention": "Nævn @{name}",
|
||||||
"status.more": "Mere",
|
"status.more": "Mere",
|
||||||
"status.mute": "Skjul @{name} (mute)",
|
"status.mute": "Skjul @{name}",
|
||||||
"status.mute_conversation": "Skjul samtale (mute)",
|
"status.mute_conversation": "Skjul samtale",
|
||||||
"status.open": "Udvid dette indlæg",
|
"status.open": "Udvid dette indlæg",
|
||||||
"status.pin": "Fastgør til profil",
|
"status.pin": "Fastgør til profil",
|
||||||
"status.pinned": "Fastgjort indlæg",
|
"status.pinned": "Fastgjort indlæg",
|
||||||
"status.read_more": "Læs mere",
|
"status.read_more": "Læs mere",
|
||||||
"status.reblog": "Fremhæv",
|
"status.reblog": "Fremhæv",
|
||||||
"status.reblog_private": "Boost med oprindelig synlighed",
|
"status.reblog_private": "Fremhæv med oprindelig synlighed",
|
||||||
"status.reblogged_by": "{name} fremhævede",
|
"status.reblogged_by": "{name} fremhævede",
|
||||||
"status.reblogs": "{count, plural, one {# boost} other {# boosts}}",
|
"status.reblogs": "{count, plural, one {# fremhævelse} other {# fremhævelser}}",
|
||||||
"status.reblogs.empty": "Ingen har endnu fremhævet dette indlæg. Når nogen gør, vil det fremgå hér.",
|
"status.reblogs.empty": "Ingen har endnu fremhævet dette indlæg. Når nogen gør, vil det fremgå hér.",
|
||||||
"status.redraft": "Slet og omformulér",
|
"status.redraft": "Slet og omformulér",
|
||||||
"status.remove_bookmark": "Fjern bogmærke",
|
"status.remove_bookmark": "Fjern bogmærke",
|
||||||
"status.remove_favourite": "Fjern fra favoritter",
|
"status.remove_favourite": "Fjern fra favoritter",
|
||||||
"status.replied_in_thread": "Svaret i tråd",
|
"status.replied_in_thread": "Svaret i tråd",
|
||||||
"status.replied_to": "Besvarede {name}",
|
"status.replied_to": "Svarede {name}",
|
||||||
"status.reply": "Besvar",
|
"status.reply": "Besvar",
|
||||||
"status.replyAll": "Besvar alle",
|
"status.replyAll": "Svar alle",
|
||||||
"status.report": "Anmeld @{name}",
|
"status.report": "Anmeld @{name}",
|
||||||
"status.sensitive_warning": "Følsomt indhold",
|
"status.sensitive_warning": "Følsomt indhold",
|
||||||
"status.share": "Del",
|
"status.share": "Del",
|
||||||
|
@ -903,8 +903,8 @@
|
||||||
"video.expand": "Udvid video",
|
"video.expand": "Udvid video",
|
||||||
"video.fullscreen": "Fuldskærm",
|
"video.fullscreen": "Fuldskærm",
|
||||||
"video.hide": "Skjul video",
|
"video.hide": "Skjul video",
|
||||||
"video.mute": "Sluk lyden",
|
"video.mute": "Sluk for lyden",
|
||||||
"video.pause": "Pausér",
|
"video.pause": "Sæt på pause",
|
||||||
"video.play": "Afspil",
|
"video.play": "Afspil",
|
||||||
"video.unmute": "Tænd for lyden"
|
"video.unmute": "Tænd for lyden"
|
||||||
}
|
}
|
||||||
|
|
|
@ -218,6 +218,10 @@
|
||||||
"confirmations.logout.confirm": "Αποσύνδεση",
|
"confirmations.logout.confirm": "Αποσύνδεση",
|
||||||
"confirmations.logout.message": "Σίγουρα θέλεις να αποσυνδεθείς;",
|
"confirmations.logout.message": "Σίγουρα θέλεις να αποσυνδεθείς;",
|
||||||
"confirmations.logout.title": "Αποσύνδεση;",
|
"confirmations.logout.title": "Αποσύνδεση;",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Προσθήκη εναλ κειμένου",
|
||||||
|
"confirmations.missing_alt_text.message": "Η ανάρτησή σου περιέχει πολυμέσα χωρίς εναλλακτικό κείμενο. Η προσθήκη περιγραφών βοηθά να γίνει το περιεχόμενό σου προσβάσιμο σε περισσότερους ανθρώπους.",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Δημοσίευση όπως και να ΄χει",
|
||||||
|
"confirmations.missing_alt_text.title": "Προσθήκη alt κειμένου;",
|
||||||
"confirmations.mute.confirm": "Αποσιώπηση",
|
"confirmations.mute.confirm": "Αποσιώπηση",
|
||||||
"confirmations.redraft.confirm": "Διαγραφή & ξαναγράψιμο",
|
"confirmations.redraft.confirm": "Διαγραφή & ξαναγράψιμο",
|
||||||
"confirmations.redraft.message": "Σίγουρα θέλεις να σβήσεις αυτή την ανάρτηση και να την ξαναγράψεις; Οι προτιμήσεις και προωθήσεις θα χαθούν και οι απαντήσεις στην αρχική ανάρτηση θα μείνουν ορφανές.",
|
"confirmations.redraft.message": "Σίγουρα θέλεις να σβήσεις αυτή την ανάρτηση και να την ξαναγράψεις; Οι προτιμήσεις και προωθήσεις θα χαθούν και οι απαντήσεις στην αρχική ανάρτηση θα μείνουν ορφανές.",
|
||||||
|
|
|
@ -218,6 +218,10 @@
|
||||||
"confirmations.logout.confirm": "Log out",
|
"confirmations.logout.confirm": "Log out",
|
||||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||||
"confirmations.logout.title": "Log out?",
|
"confirmations.logout.title": "Log out?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Add alt text",
|
||||||
|
"confirmations.missing_alt_text.message": "Your post contains media without alt text. Adding descriptions helps make your content accessible to more people.",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Post anyway",
|
||||||
|
"confirmations.missing_alt_text.title": "Add alt text?",
|
||||||
"confirmations.mute.confirm": "Mute",
|
"confirmations.mute.confirm": "Mute",
|
||||||
"confirmations.redraft.confirm": "Delete & redraft",
|
"confirmations.redraft.confirm": "Delete & redraft",
|
||||||
"confirmations.redraft.message": "Are you sure you want to delete this post and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.",
|
"confirmations.redraft.message": "Are you sure you want to delete this post and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.",
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
"account.languages": "Ŝanĝi la abonitajn lingvojn",
|
"account.languages": "Ŝanĝi la abonitajn lingvojn",
|
||||||
"account.link_verified_on": "Propreco de tiu ligilo estis konfirmita je {date}",
|
"account.link_verified_on": "Propreco de tiu ligilo estis konfirmita je {date}",
|
||||||
"account.locked_info": "Tiu konto estas privatigita. La posedanto mane akceptas tiun, kiu povas sekvi rin.",
|
"account.locked_info": "Tiu konto estas privatigita. La posedanto mane akceptas tiun, kiu povas sekvi rin.",
|
||||||
"account.media": "Plurmedio",
|
"account.media": "Aŭdovidaĵoj",
|
||||||
"account.mention": "Mencii @{name}",
|
"account.mention": "Mencii @{name}",
|
||||||
"account.moved_to": "{name} indikis, ke ria nova konto estas nun:",
|
"account.moved_to": "{name} indikis, ke ria nova konto estas nun:",
|
||||||
"account.mute": "Silentigi @{name}",
|
"account.mute": "Silentigi @{name}",
|
||||||
|
@ -172,7 +172,7 @@
|
||||||
"column_search.cancel": "Nuligi",
|
"column_search.cancel": "Nuligi",
|
||||||
"column_subheading.settings": "Agordoj",
|
"column_subheading.settings": "Agordoj",
|
||||||
"community.column_settings.local_only": "Nur loka",
|
"community.column_settings.local_only": "Nur loka",
|
||||||
"community.column_settings.media_only": "Nur plurmedio",
|
"community.column_settings.media_only": "Nur vidaŭdaĵoj",
|
||||||
"community.column_settings.remote_only": "Nur fora",
|
"community.column_settings.remote_only": "Nur fora",
|
||||||
"compose.language.change": "Ŝanĝi lingvon",
|
"compose.language.change": "Ŝanĝi lingvon",
|
||||||
"compose.language.search": "Serĉi lingvojn...",
|
"compose.language.search": "Serĉi lingvojn...",
|
||||||
|
@ -208,7 +208,7 @@
|
||||||
"confirmations.delete_list.message": "Ĉu vi certas, ke vi volas porĉiame forigi ĉi tiun liston?",
|
"confirmations.delete_list.message": "Ĉu vi certas, ke vi volas porĉiame forigi ĉi tiun liston?",
|
||||||
"confirmations.delete_list.title": "Ĉu forigi liston?",
|
"confirmations.delete_list.title": "Ĉu forigi liston?",
|
||||||
"confirmations.discard_edit_media.confirm": "Forĵeti",
|
"confirmations.discard_edit_media.confirm": "Forĵeti",
|
||||||
"confirmations.discard_edit_media.message": "Vi havas nekonservitajn ŝanĝojn de la priskribo aŭ la antaŭmontro de la plurmedio, ĉu vi forĵetu ilin malgraŭe?",
|
"confirmations.discard_edit_media.message": "Vi havas nekonservitajn ŝanĝojn de la priskribo aŭ la antaŭvidigo de la vidaŭdaĵo, ĉu vi forĵetu ilin malgraŭe?",
|
||||||
"confirmations.edit.confirm": "Redakti",
|
"confirmations.edit.confirm": "Redakti",
|
||||||
"confirmations.edit.message": "Redakti nun anstataŭigos la skribatan afiŝon. Ĉu vi certas, ke vi volas daŭrigi?",
|
"confirmations.edit.message": "Redakti nun anstataŭigos la skribatan afiŝon. Ĉu vi certas, ke vi volas daŭrigi?",
|
||||||
"confirmations.edit.title": "Ĉu superskribi afiŝon?",
|
"confirmations.edit.title": "Ĉu superskribi afiŝon?",
|
||||||
|
@ -459,7 +459,7 @@
|
||||||
"keyboard_shortcuts.muted": "Malfermu la liston de silentigitaj uzantoj",
|
"keyboard_shortcuts.muted": "Malfermu la liston de silentigitaj uzantoj",
|
||||||
"keyboard_shortcuts.my_profile": "Malfermu vian profilon",
|
"keyboard_shortcuts.my_profile": "Malfermu vian profilon",
|
||||||
"keyboard_shortcuts.notifications": "Malfermu la sciigajn kolumnon",
|
"keyboard_shortcuts.notifications": "Malfermu la sciigajn kolumnon",
|
||||||
"keyboard_shortcuts.open_media": "Malfermu plurmedion",
|
"keyboard_shortcuts.open_media": "Malfermi vidaŭdaĵon",
|
||||||
"keyboard_shortcuts.pinned": "Malfermu alpinglitajn afiŝojn-liston",
|
"keyboard_shortcuts.pinned": "Malfermu alpinglitajn afiŝojn-liston",
|
||||||
"keyboard_shortcuts.profile": "Malfermu la profilon de aŭtoroprofilo",
|
"keyboard_shortcuts.profile": "Malfermu la profilon de aŭtoroprofilo",
|
||||||
"keyboard_shortcuts.reply": "Respondu al afiŝo",
|
"keyboard_shortcuts.reply": "Respondu al afiŝo",
|
||||||
|
@ -468,7 +468,7 @@
|
||||||
"keyboard_shortcuts.spoilers": "Montri/kaŝi CW-kampon",
|
"keyboard_shortcuts.spoilers": "Montri/kaŝi CW-kampon",
|
||||||
"keyboard_shortcuts.start": "Malfermu \"por komenci\" kolumnon",
|
"keyboard_shortcuts.start": "Malfermu \"por komenci\" kolumnon",
|
||||||
"keyboard_shortcuts.toggle_hidden": "Montri/kaŝi tekston malantaŭ CW",
|
"keyboard_shortcuts.toggle_hidden": "Montri/kaŝi tekston malantaŭ CW",
|
||||||
"keyboard_shortcuts.toggle_sensitivity": "Montri/kaŝi plurmedion",
|
"keyboard_shortcuts.toggle_sensitivity": "Montri/kaŝi vidaŭdaĵojn",
|
||||||
"keyboard_shortcuts.toot": "Komencu novan afiŝon",
|
"keyboard_shortcuts.toot": "Komencu novan afiŝon",
|
||||||
"keyboard_shortcuts.translate": "Traduki afiŝon",
|
"keyboard_shortcuts.translate": "Traduki afiŝon",
|
||||||
"keyboard_shortcuts.unfocus": "Senfokusigi verki tekstareon/serĉon",
|
"keyboard_shortcuts.unfocus": "Senfokusigi verki tekstareon/serĉon",
|
||||||
|
@ -540,7 +540,7 @@
|
||||||
"navigation_bar.follows_and_followers": "Sekvatoj kaj sekvantoj",
|
"navigation_bar.follows_and_followers": "Sekvatoj kaj sekvantoj",
|
||||||
"navigation_bar.lists": "Listoj",
|
"navigation_bar.lists": "Listoj",
|
||||||
"navigation_bar.logout": "Elsaluti",
|
"navigation_bar.logout": "Elsaluti",
|
||||||
"navigation_bar.moderation": "Modereco",
|
"navigation_bar.moderation": "Reguligo",
|
||||||
"navigation_bar.mutes": "Silentigitaj uzantoj",
|
"navigation_bar.mutes": "Silentigitaj uzantoj",
|
||||||
"navigation_bar.opened_in_classic_interface": "Afiŝoj, kontoj, kaj aliaj specifaj paĝoj kiuj estas malfermititaj defaulta en la klasika reta interfaco.",
|
"navigation_bar.opened_in_classic_interface": "Afiŝoj, kontoj, kaj aliaj specifaj paĝoj kiuj estas malfermititaj defaulta en la klasika reta interfaco.",
|
||||||
"navigation_bar.personal": "Persone",
|
"navigation_bar.personal": "Persone",
|
||||||
|
@ -574,11 +574,11 @@
|
||||||
"notification.mention": "Mencii",
|
"notification.mention": "Mencii",
|
||||||
"notification.mentioned_you": "{name} menciis vin",
|
"notification.mentioned_you": "{name} menciis vin",
|
||||||
"notification.moderation-warning.learn_more": "Lerni pli",
|
"notification.moderation-warning.learn_more": "Lerni pli",
|
||||||
"notification.moderation_warning": "Vi ricevis moderigan averton",
|
"notification.moderation_warning": "Vi ricevis reguligan averton",
|
||||||
"notification.moderation_warning.action_delete_statuses": "Kelkaj el viaj afiŝoj estis forigitaj.",
|
"notification.moderation_warning.action_delete_statuses": "Kelkaj el viaj afiŝoj estis forigitaj.",
|
||||||
"notification.moderation_warning.action_disable": "Via konto estas malŝaltita.",
|
"notification.moderation_warning.action_disable": "Via konto estas malŝaltita.",
|
||||||
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Kelkaj el viaj afiŝoj estis markitaj kiel sentemaj.",
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Kelkaj el viaj afiŝoj estis markitaj kiel sentemaj.",
|
||||||
"notification.moderation_warning.action_none": "Via konto ricevis moderigan averton.",
|
"notification.moderation_warning.action_none": "Via konto ricevis reguligan averton.",
|
||||||
"notification.moderation_warning.action_sensitive": "Viaj afiŝoj estos markitaj kiel sentemaj ekde nun.",
|
"notification.moderation_warning.action_sensitive": "Viaj afiŝoj estos markitaj kiel sentemaj ekde nun.",
|
||||||
"notification.moderation_warning.action_silence": "Via konto estis limigita.",
|
"notification.moderation_warning.action_silence": "Via konto estis limigita.",
|
||||||
"notification.moderation_warning.action_suspend": "Via konto estas malakceptita.",
|
"notification.moderation_warning.action_suspend": "Via konto estas malakceptita.",
|
||||||
|
@ -605,8 +605,8 @@
|
||||||
"notification_requests.dismiss_multiple": "{count, plural, one {Malakcepti # peton…} other {# Malakcepti # petojn…}}",
|
"notification_requests.dismiss_multiple": "{count, plural, one {Malakcepti # peton…} other {# Malakcepti # petojn…}}",
|
||||||
"notification_requests.edit_selection": "Redakti",
|
"notification_requests.edit_selection": "Redakti",
|
||||||
"notification_requests.exit_selection": "Farita",
|
"notification_requests.exit_selection": "Farita",
|
||||||
"notification_requests.explainer_for_limited_account": "Sciigoj de ĉi tiu konto estis filtritaj ĉar la konto estis limigita de moderanto.",
|
"notification_requests.explainer_for_limited_account": "Sciigoj de ĉi tiu konto estis filtritaj ĉar la konto estis limigita de reguligisto.",
|
||||||
"notification_requests.explainer_for_limited_remote_account": "Sciigoj de ĉi tiu konto estis filtritaj ĉar la konto aŭ ĝia servilo estis limigitaj de moderanto.",
|
"notification_requests.explainer_for_limited_remote_account": "Sciigoj de ĉi tiu konto estis filtritaj ĉar la konto aŭ ĝia servilo estis limigitaj de reguligisto.",
|
||||||
"notification_requests.maximize": "Maksimumigi",
|
"notification_requests.maximize": "Maksimumigi",
|
||||||
"notification_requests.minimize_banner": "Minimumigi filtritajn sciigojn-rubandon",
|
"notification_requests.minimize_banner": "Minimumigi filtritajn sciigojn-rubandon",
|
||||||
"notification_requests.notifications_from": "Sciigoj de {name}",
|
"notification_requests.notifications_from": "Sciigoj de {name}",
|
||||||
|
@ -653,8 +653,8 @@
|
||||||
"notifications.policy.drop_hint": "Sendi al la malpleno, por neniam esti vidita denove",
|
"notifications.policy.drop_hint": "Sendi al la malpleno, por neniam esti vidita denove",
|
||||||
"notifications.policy.filter": "Filtri",
|
"notifications.policy.filter": "Filtri",
|
||||||
"notifications.policy.filter_hint": "Sendi al filtritaj sciigoj-enirkesto",
|
"notifications.policy.filter_hint": "Sendi al filtritaj sciigoj-enirkesto",
|
||||||
"notifications.policy.filter_limited_accounts_hint": "Limigita de servilaj moderigantoj",
|
"notifications.policy.filter_limited_accounts_hint": "Limigita de servilaj reguligistoj",
|
||||||
"notifications.policy.filter_limited_accounts_title": "Moderigitaj kontoj",
|
"notifications.policy.filter_limited_accounts_title": "Reguligitaj kontoj",
|
||||||
"notifications.policy.filter_new_accounts.hint": "Kreite en la {days, plural, one {lasta tago} other {# lastaj tagoj}}",
|
"notifications.policy.filter_new_accounts.hint": "Kreite en la {days, plural, one {lasta tago} other {# lastaj tagoj}}",
|
||||||
"notifications.policy.filter_new_accounts_title": "Novaj kontoj",
|
"notifications.policy.filter_new_accounts_title": "Novaj kontoj",
|
||||||
"notifications.policy.filter_not_followers_hint": "Inkluzive de homoj, kiuj sekvis vin malpli ol {days, plural, one {unu tago} other {# tagoj}}",
|
"notifications.policy.filter_not_followers_hint": "Inkluzive de homoj, kiuj sekvis vin malpli ol {days, plural, one {unu tago} other {# tagoj}}",
|
||||||
|
@ -781,7 +781,7 @@
|
||||||
"search.quick_action.go_to_account": "Iri al profilo {x}",
|
"search.quick_action.go_to_account": "Iri al profilo {x}",
|
||||||
"search.quick_action.go_to_hashtag": "Iri al kradvorto {x}",
|
"search.quick_action.go_to_hashtag": "Iri al kradvorto {x}",
|
||||||
"search.quick_action.open_url": "Malfermi URL en Mastodono",
|
"search.quick_action.open_url": "Malfermi URL en Mastodono",
|
||||||
"search.quick_action.status_search": "Afiŝoj kiuj kongruas kun {x}",
|
"search.quick_action.status_search": "Afiŝoj kiuj konformas kun {x}",
|
||||||
"search.search_or_paste": "Serĉu aŭ algluu URL-on",
|
"search.search_or_paste": "Serĉu aŭ algluu URL-on",
|
||||||
"search_popout.full_text_search_disabled_message": "Ne havebla sur {domain}.",
|
"search_popout.full_text_search_disabled_message": "Ne havebla sur {domain}.",
|
||||||
"search_popout.full_text_search_logged_out_message": "Disponebla nur kiam ensalutinte.",
|
"search_popout.full_text_search_logged_out_message": "Disponebla nur kiam ensalutinte.",
|
||||||
|
@ -796,7 +796,7 @@
|
||||||
"search_results.hashtags": "Kradvortoj",
|
"search_results.hashtags": "Kradvortoj",
|
||||||
"search_results.no_results": "Ne estas rezultoj.",
|
"search_results.no_results": "Ne estas rezultoj.",
|
||||||
"search_results.no_search_yet": "Provu serĉi afiŝojn, profilojn aŭ kradvortojn.",
|
"search_results.no_search_yet": "Provu serĉi afiŝojn, profilojn aŭ kradvortojn.",
|
||||||
"search_results.see_all": "Vidu ĉiujn",
|
"search_results.see_all": "Vidi ĉiujn",
|
||||||
"search_results.statuses": "Afiŝoj",
|
"search_results.statuses": "Afiŝoj",
|
||||||
"search_results.title": "Serĉu \"{q}\"",
|
"search_results.title": "Serĉu \"{q}\"",
|
||||||
"server_banner.about_active_users": "Personoj uzantaj ĉi tiun servilon dum la lastaj 30 tagoj (Aktivaj Uzantoj Monate)",
|
"server_banner.about_active_users": "Personoj uzantaj ĉi tiun servilon dum la lastaj 30 tagoj (Aktivaj Uzantoj Monate)",
|
||||||
|
@ -809,9 +809,9 @@
|
||||||
"sign_in_banner.mastodon_is": "Mastodon estas la plej bona maniero resti ĝisdata pri aktualaĵoj.",
|
"sign_in_banner.mastodon_is": "Mastodon estas la plej bona maniero resti ĝisdata pri aktualaĵoj.",
|
||||||
"sign_in_banner.sign_in": "Ensaluti",
|
"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 la reguligado por @{name}",
|
||||||
"status.admin_domain": "Malfermu moderigan interfacon por {domain}",
|
"status.admin_domain": "Malfermi fasadon de la reguligado por {domain}",
|
||||||
"status.admin_status": "Malfermi ĉi tiun afiŝon en la kontrola interfaco",
|
"status.admin_status": "Malfermi ĉi tiun afiŝon en la fasado de la reguligado",
|
||||||
"status.block": "Bloki @{name}",
|
"status.block": "Bloki @{name}",
|
||||||
"status.bookmark": "Aldoni al la legosignoj",
|
"status.bookmark": "Aldoni al la legosignoj",
|
||||||
"status.cancel_reblog_private": "Ne plu diskonigi",
|
"status.cancel_reblog_private": "Ne plu diskonigi",
|
||||||
|
@ -834,7 +834,7 @@
|
||||||
"status.load_more": "Ŝargi pli",
|
"status.load_more": "Ŝargi pli",
|
||||||
"status.media.open": "Alklaki por malfermi",
|
"status.media.open": "Alklaki por malfermi",
|
||||||
"status.media.show": "Alklaki por montri",
|
"status.media.show": "Alklaki por montri",
|
||||||
"status.media_hidden": "Plurmedio kaŝita",
|
"status.media_hidden": "Vidaŭdaĵo kaŝita",
|
||||||
"status.mention": "Mencii @{name}",
|
"status.mention": "Mencii @{name}",
|
||||||
"status.more": "Pli",
|
"status.more": "Pli",
|
||||||
"status.mute": "Silentigi @{name}",
|
"status.mute": "Silentigi @{name}",
|
||||||
|
|
|
@ -218,10 +218,10 @@
|
||||||
"confirmations.logout.confirm": "Cerrar sesión",
|
"confirmations.logout.confirm": "Cerrar sesión",
|
||||||
"confirmations.logout.message": "¿Estás seguro que querés cerrar la sesión?",
|
"confirmations.logout.message": "¿Estás seguro que querés cerrar la sesión?",
|
||||||
"confirmations.logout.title": "¿Cerrar sesión?",
|
"confirmations.logout.title": "¿Cerrar sesión?",
|
||||||
"confirmations.missing_alt_text.confirm": "Añadir texto alternativo",
|
"confirmations.missing_alt_text.confirm": "Agregar texto alternativo",
|
||||||
"confirmations.missing_alt_text.message": "Tu publicación contiene medios sin texto alternativo. Añadir descripciones ayuda a que tu contenido sea accesible para más personas.",
|
"confirmations.missing_alt_text.message": "Tu mensaje contiene medios sin texto alternativo. Agregar descripciones ayuda a que tu contenido sea accesible para más personas.",
|
||||||
"confirmations.missing_alt_text.secondary": "Publicar de todos modos",
|
"confirmations.missing_alt_text.secondary": "Enviar de todos modos",
|
||||||
"confirmations.missing_alt_text.title": "¿Deseas añadir texto alternativo?",
|
"confirmations.missing_alt_text.title": "¿Agregar texto alternativo?",
|
||||||
"confirmations.mute.confirm": "Silenciar",
|
"confirmations.mute.confirm": "Silenciar",
|
||||||
"confirmations.redraft.confirm": "Eliminar mensaje original y editarlo",
|
"confirmations.redraft.confirm": "Eliminar mensaje original y editarlo",
|
||||||
"confirmations.redraft.message": "¿Estás seguro que querés eliminar este mensaje y volver a editarlo? Se perderán las veces marcadas como favorito y sus adhesiones, y las respuestas al mensaje original quedarán huérfanas.",
|
"confirmations.redraft.message": "¿Estás seguro que querés eliminar este mensaje y volver a editarlo? Se perderán las veces marcadas como favorito y sus adhesiones, y las respuestas al mensaje original quedarán huérfanas.",
|
||||||
|
|
|
@ -208,6 +208,9 @@
|
||||||
"confirmations.logout.confirm": "Amaitu saioa",
|
"confirmations.logout.confirm": "Amaitu saioa",
|
||||||
"confirmations.logout.message": "Ziur saioa amaitu nahi duzula?",
|
"confirmations.logout.message": "Ziur saioa amaitu nahi duzula?",
|
||||||
"confirmations.logout.title": "Itxi saioa?",
|
"confirmations.logout.title": "Itxi saioa?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Gehitu testu alternatiboa",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Bidali edonola ere",
|
||||||
|
"confirmations.missing_alt_text.title": "Testu alternatiboa gehitu?",
|
||||||
"confirmations.mute.confirm": "Mututu",
|
"confirmations.mute.confirm": "Mututu",
|
||||||
"confirmations.redraft.confirm": "Ezabatu eta berridatzi",
|
"confirmations.redraft.confirm": "Ezabatu eta berridatzi",
|
||||||
"confirmations.redraft.message": "Ziur argitalpen hau ezabatu eta zirriborroa berriro egitea nahi duzula? Gogokoak eta bultzadak galduko dira, eta jatorrizko argitalpenaren erantzunak zurtz geratuko dira.",
|
"confirmations.redraft.message": "Ziur argitalpen hau ezabatu eta zirriborroa berriro egitea nahi duzula? Gogokoak eta bultzadak galduko dira, eta jatorrizko argitalpenaren erantzunak zurtz geratuko dira.",
|
||||||
|
|
|
@ -218,6 +218,10 @@
|
||||||
"confirmations.logout.confirm": "Se déconnecter",
|
"confirmations.logout.confirm": "Se déconnecter",
|
||||||
"confirmations.logout.message": "Voulez-vous vraiment vous déconnecter?",
|
"confirmations.logout.message": "Voulez-vous vraiment vous déconnecter?",
|
||||||
"confirmations.logout.title": "Se déconnecter ?",
|
"confirmations.logout.title": "Se déconnecter ?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Ajouter un texte alternatif",
|
||||||
|
"confirmations.missing_alt_text.message": "Votre post contient des médias sans texte alternatif. Ajouter des descriptions rend votre contenu accessible à un plus grand nombre de personnes.",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Publier quand-même",
|
||||||
|
"confirmations.missing_alt_text.title": "Ajouter un texte alternatif?",
|
||||||
"confirmations.mute.confirm": "Masquer",
|
"confirmations.mute.confirm": "Masquer",
|
||||||
"confirmations.redraft.confirm": "Supprimer et réécrire",
|
"confirmations.redraft.confirm": "Supprimer et réécrire",
|
||||||
"confirmations.redraft.message": "Êtes-vous sûr·e de vouloir effacer cette publication pour la réécrire? Ses ses mises en favori et boosts seront perdus et ses réponses seront orphelines.",
|
"confirmations.redraft.message": "Êtes-vous sûr·e de vouloir effacer cette publication pour la réécrire? Ses ses mises en favori et boosts seront perdus et ses réponses seront orphelines.",
|
||||||
|
|
|
@ -218,6 +218,10 @@
|
||||||
"confirmations.logout.confirm": "Se déconnecter",
|
"confirmations.logout.confirm": "Se déconnecter",
|
||||||
"confirmations.logout.message": "Voulez-vous vraiment vous déconnecter ?",
|
"confirmations.logout.message": "Voulez-vous vraiment vous déconnecter ?",
|
||||||
"confirmations.logout.title": "Se déconnecter ?",
|
"confirmations.logout.title": "Se déconnecter ?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Ajouter un texte alternatif",
|
||||||
|
"confirmations.missing_alt_text.message": "Votre post contient des médias sans texte alternatif. Ajouter des descriptions rend votre contenu accessible à un plus grand nombre de personnes.",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Publier quand-même",
|
||||||
|
"confirmations.missing_alt_text.title": "Ajouter un texte alternatif?",
|
||||||
"confirmations.mute.confirm": "Masquer",
|
"confirmations.mute.confirm": "Masquer",
|
||||||
"confirmations.redraft.confirm": "Supprimer et ré-écrire",
|
"confirmations.redraft.confirm": "Supprimer et ré-écrire",
|
||||||
"confirmations.redraft.message": "Voulez-vous vraiment supprimer le message pour le réécrire ? Ses partages ainsi que ses mises en favori seront perdues, et ses réponses seront orphelines.",
|
"confirmations.redraft.message": "Voulez-vous vraiment supprimer le message pour le réécrire ? Ses partages ainsi que ses mises en favori seront perdues, et ses réponses seront orphelines.",
|
||||||
|
|
|
@ -86,6 +86,13 @@
|
||||||
"alert.unexpected.message": "Tharla earráid gan choinne.",
|
"alert.unexpected.message": "Tharla earráid gan choinne.",
|
||||||
"alert.unexpected.title": "Hiúps!",
|
"alert.unexpected.title": "Hiúps!",
|
||||||
"alt_text_badge.title": "Téacs alt",
|
"alt_text_badge.title": "Téacs alt",
|
||||||
|
"alt_text_modal.add_alt_text": "Cuir téacs alt leis",
|
||||||
|
"alt_text_modal.add_text_from_image": "Cuir téacs ón íomhá leis",
|
||||||
|
"alt_text_modal.cancel": "Cealaigh",
|
||||||
|
"alt_text_modal.change_thumbnail": "Athraigh mionsamhail",
|
||||||
|
"alt_text_modal.describe_for_people_with_hearing_impairments": "Déan cur síos air seo do dhaoine le lagú éisteachta…",
|
||||||
|
"alt_text_modal.describe_for_people_with_visual_impairments": "Déan cur síos air seo do dhaoine a bhfuil lagú amhairc orthu…",
|
||||||
|
"alt_text_modal.done": "Déanta",
|
||||||
"announcement.announcement": "Fógra",
|
"announcement.announcement": "Fógra",
|
||||||
"annual_report.summary.archetype.booster": "An sealgair fionnuar",
|
"annual_report.summary.archetype.booster": "An sealgair fionnuar",
|
||||||
"annual_report.summary.archetype.lurker": "An lurker",
|
"annual_report.summary.archetype.lurker": "An lurker",
|
||||||
|
@ -211,6 +218,10 @@
|
||||||
"confirmations.logout.confirm": "Logáil amach",
|
"confirmations.logout.confirm": "Logáil amach",
|
||||||
"confirmations.logout.message": "An bhfuil tú cinnte gur mhaith leat logáil amach?",
|
"confirmations.logout.message": "An bhfuil tú cinnte gur mhaith leat logáil amach?",
|
||||||
"confirmations.logout.title": "Logáil Amach?",
|
"confirmations.logout.title": "Logáil Amach?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Cuir téacs alt leis",
|
||||||
|
"confirmations.missing_alt_text.message": "Tá meáin gan alt téacs i do phostáil. Má chuirtear tuairiscí leis, cabhraíonn sé seo leat d’inneachar a rochtain do níos mó daoine.",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Post ar aon nós",
|
||||||
|
"confirmations.missing_alt_text.title": "Cuir téacs alt leis?",
|
||||||
"confirmations.mute.confirm": "Balbhaigh",
|
"confirmations.mute.confirm": "Balbhaigh",
|
||||||
"confirmations.redraft.confirm": "Scrios ⁊ athdhréachtaigh",
|
"confirmations.redraft.confirm": "Scrios ⁊ athdhréachtaigh",
|
||||||
"confirmations.redraft.message": "An bhfuil tú cinnte gur mhaith leat an postáil seo a scriosadh agus é a athdhréachtú? Caillfear ceanáin agus treisithe, agus dílleachtaí freagraí ar an mbunphostála.",
|
"confirmations.redraft.message": "An bhfuil tú cinnte gur mhaith leat an postáil seo a scriosadh agus é a athdhréachtú? Caillfear ceanáin agus treisithe, agus dílleachtaí freagraí ar an mbunphostála.",
|
||||||
|
@ -407,6 +418,8 @@
|
||||||
"ignore_notifications_modal.not_followers_title": "An dtugann tú aird ar fhógraí ó dhaoine nach leanann tú?",
|
"ignore_notifications_modal.not_followers_title": "An dtugann tú aird ar fhógraí ó dhaoine nach leanann tú?",
|
||||||
"ignore_notifications_modal.not_following_title": "An ndéanann tú neamhaird de fhógraí ó dhaoine nach leanann tú?",
|
"ignore_notifications_modal.not_following_title": "An ndéanann tú neamhaird de fhógraí ó dhaoine nach leanann tú?",
|
||||||
"ignore_notifications_modal.private_mentions_title": "An dtugann tú aird ar fhógraí ó Luaintí Príobháideacha gan iarraidh?",
|
"ignore_notifications_modal.private_mentions_title": "An dtugann tú aird ar fhógraí ó Luaintí Príobháideacha gan iarraidh?",
|
||||||
|
"info_button.label": "Cabhrú",
|
||||||
|
"info_button.what_is_alt_text": "<h1>Cad is téacs altach ann?</h1> <p>Soláthraíonn téacs Alt cur síos ar íomhánna do dhaoine le lagú radhairc, naisc íseal-bandaleithead, nó daoine atá ag lorg comhthéacs breise.</p> <p>Is féidir leat inrochtaineacht agus tuiscint a fheabhsú do chách trí théacs alt soiléir, gonta, oibiachtúil a scríobh.</p> <ul> <li>Glac gnéithe tábhachtacha</li> <li>Déan achoimre ar théacs in íomhánna</li> <li>Úsáid struchtúr abairtí rialta</li> li> <li>Seachain faisnéis iomarcach</li> <li>Fócas ar threochtaí agus ar phríomhthorthaí i bhfíseanna casta (amhail léaráidí nó léarscáileanna)</li> </ul>",
|
||||||
"interaction_modal.action.favourite": "Chun leanúint ar aghaidh, ní mór duit an ceann is fearr leat ó do chuntas.",
|
"interaction_modal.action.favourite": "Chun leanúint ar aghaidh, ní mór duit an ceann is fearr leat ó do chuntas.",
|
||||||
"interaction_modal.action.follow": "Chun leanúint ar aghaidh, ní mór duit leanúint ó do chuntas.",
|
"interaction_modal.action.follow": "Chun leanúint ar aghaidh, ní mór duit leanúint ó do chuntas.",
|
||||||
"interaction_modal.action.reblog": "Chun leanúint ar aghaidh, ní mór duit athbhlagáil ó do chuntas.",
|
"interaction_modal.action.reblog": "Chun leanúint ar aghaidh, ní mór duit athbhlagáil ó do chuntas.",
|
||||||
|
|
|
@ -86,9 +86,12 @@
|
||||||
"alert.unexpected.message": "Un error inexpectate ha occurrite.",
|
"alert.unexpected.message": "Un error inexpectate ha occurrite.",
|
||||||
"alert.unexpected.title": "Ups!",
|
"alert.unexpected.title": "Ups!",
|
||||||
"alt_text_badge.title": "Texto alternative",
|
"alt_text_badge.title": "Texto alternative",
|
||||||
|
"alt_text_modal.add_alt_text": "Adder texto alternative",
|
||||||
"alt_text_modal.add_text_from_image": "Adder texto ab imagine",
|
"alt_text_modal.add_text_from_image": "Adder texto ab imagine",
|
||||||
"alt_text_modal.cancel": "Cancellar",
|
"alt_text_modal.cancel": "Cancellar",
|
||||||
"alt_text_modal.change_thumbnail": "Cambiar le miniatura",
|
"alt_text_modal.change_thumbnail": "Cambiar le miniatura",
|
||||||
|
"alt_text_modal.describe_for_people_with_hearing_impairments": "Describe isto pro personas con impedimentos auditive…",
|
||||||
|
"alt_text_modal.describe_for_people_with_visual_impairments": "Describe isto pro personas con impedimentos visual…",
|
||||||
"alt_text_modal.done": "Preste",
|
"alt_text_modal.done": "Preste",
|
||||||
"announcement.announcement": "Annuncio",
|
"announcement.announcement": "Annuncio",
|
||||||
"annual_report.summary.archetype.booster": "Le impulsator",
|
"annual_report.summary.archetype.booster": "Le impulsator",
|
||||||
|
@ -215,6 +218,10 @@
|
||||||
"confirmations.logout.confirm": "Clauder session",
|
"confirmations.logout.confirm": "Clauder session",
|
||||||
"confirmations.logout.message": "Es tu secur que tu vole clauder le session?",
|
"confirmations.logout.message": "Es tu secur que tu vole clauder le session?",
|
||||||
"confirmations.logout.title": "Clauder session?",
|
"confirmations.logout.title": "Clauder session?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Adder texto alternative",
|
||||||
|
"confirmations.missing_alt_text.message": "Tu message contine multimedia sin texto alternative. Adder descriptiones adjuta a render tu contento accessibile a plus personas.",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Publicar totevia",
|
||||||
|
"confirmations.missing_alt_text.title": "Adder texto alternative?",
|
||||||
"confirmations.mute.confirm": "Silentiar",
|
"confirmations.mute.confirm": "Silentiar",
|
||||||
"confirmations.redraft.confirm": "Deler e rescriber",
|
"confirmations.redraft.confirm": "Deler e rescriber",
|
||||||
"confirmations.redraft.message": "Es tu secur de voler deler iste message e rescriber lo? Le favorites e le impulsos essera perdite, e le responsas al message original essera orphanate.",
|
"confirmations.redraft.message": "Es tu secur de voler deler iste message e rescriber lo? Le favorites e le impulsos essera perdite, e le responsas al message original essera orphanate.",
|
||||||
|
@ -411,6 +418,8 @@
|
||||||
"ignore_notifications_modal.not_followers_title": "Ignorar notificationes de personas qui non te seque?",
|
"ignore_notifications_modal.not_followers_title": "Ignorar notificationes de personas qui non te seque?",
|
||||||
"ignore_notifications_modal.not_following_title": "Ignorar notificationes de personas que tu non seque?",
|
"ignore_notifications_modal.not_following_title": "Ignorar notificationes de personas que tu non seque?",
|
||||||
"ignore_notifications_modal.private_mentions_title": "Ignorar notificationes de mentiones private non requestate?",
|
"ignore_notifications_modal.private_mentions_title": "Ignorar notificationes de mentiones private non requestate?",
|
||||||
|
"info_button.label": "Adjuta",
|
||||||
|
"info_button.what_is_alt_text": "<h1>Que es texto alternative?</h1><p>Le texto alternative forni descriptiones de imagines a personas con impedimentos visual, con connexiones lente, o qui cerca contexto additional.</p><p>Tu pote meliorar le accessibilitate e le comprension pro totes scribente un texto alternative clar, concise e objective.</p><ul><li>Captura le elementos importante</li><li>Summarisa texto in imagines</li><li>Usa le structura de phrase normal</li><li>Evita information redundante</li><li>In figuras complexe (como diagrammas o mappas), concentra te sur le tendentias e punctos clave</li></ul>",
|
||||||
"interaction_modal.action.favourite": "Per favor reveni a tu conto pro marcar isto como favorite.",
|
"interaction_modal.action.favourite": "Per favor reveni a tu conto pro marcar isto como favorite.",
|
||||||
"interaction_modal.action.follow": "Per favor reveni a tu conto pro sequer.",
|
"interaction_modal.action.follow": "Per favor reveni a tu conto pro sequer.",
|
||||||
"interaction_modal.action.reblog": "Per favor reveni a tu conto pro impulsar.",
|
"interaction_modal.action.reblog": "Per favor reveni a tu conto pro impulsar.",
|
||||||
|
@ -825,7 +834,7 @@
|
||||||
"status.load_more": "Cargar plus",
|
"status.load_more": "Cargar plus",
|
||||||
"status.media.open": "Clicca pro aperir",
|
"status.media.open": "Clicca pro aperir",
|
||||||
"status.media.show": "Clicca pro monstrar",
|
"status.media.show": "Clicca pro monstrar",
|
||||||
"status.media_hidden": "Medios celate",
|
"status.media_hidden": "Contento multimedial celate",
|
||||||
"status.mention": "Mentionar @{name}",
|
"status.mention": "Mentionar @{name}",
|
||||||
"status.more": "Plus",
|
"status.more": "Plus",
|
||||||
"status.mute": "Silentiar @{name}",
|
"status.mute": "Silentiar @{name}",
|
||||||
|
|
|
@ -218,6 +218,10 @@
|
||||||
"confirmations.logout.confirm": "Disconnettiti",
|
"confirmations.logout.confirm": "Disconnettiti",
|
||||||
"confirmations.logout.message": "Sei sicuro di volerti disconnettere?",
|
"confirmations.logout.message": "Sei sicuro di volerti disconnettere?",
|
||||||
"confirmations.logout.title": "Uscire?",
|
"confirmations.logout.title": "Uscire?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Aggiungi testo alternativo",
|
||||||
|
"confirmations.missing_alt_text.message": "Il tuo post contiene media senza testo alternativo. L'aggiunta di descrizioni aiuta a rendere i tuoi contenuti accessibili a più persone.",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Pubblica comunque",
|
||||||
|
"confirmations.missing_alt_text.title": "Aggiungere testo alternativo?",
|
||||||
"confirmations.mute.confirm": "Silenzia",
|
"confirmations.mute.confirm": "Silenzia",
|
||||||
"confirmations.redraft.confirm": "Elimina e riscrivi",
|
"confirmations.redraft.confirm": "Elimina e riscrivi",
|
||||||
"confirmations.redraft.message": "Sei sicuro di voler eliminare questo post e riscriverlo? I preferiti e i boost andranno persi e le risposte al post originale non saranno più collegate.",
|
"confirmations.redraft.message": "Sei sicuro di voler eliminare questo post e riscriverlo? I preferiti e i boost andranno persi e le risposte al post originale non saranno più collegate.",
|
||||||
|
|
|
@ -99,8 +99,11 @@
|
||||||
"alert.unexpected.title": "エラー!",
|
"alert.unexpected.title": "エラー!",
|
||||||
"alt_text_badge.title": "代替テキスト",
|
"alt_text_badge.title": "代替テキスト",
|
||||||
"alt_text_modal.add_alt_text": "代替テキストを追加",
|
"alt_text_modal.add_alt_text": "代替テキストを追加",
|
||||||
|
"alt_text_modal.add_text_from_image": "画像からテキストを追加",
|
||||||
"alt_text_modal.cancel": "キャンセル",
|
"alt_text_modal.cancel": "キャンセル",
|
||||||
"alt_text_modal.change_thumbnail": "サムネイルを変更",
|
"alt_text_modal.change_thumbnail": "サムネイルを変更",
|
||||||
|
"alt_text_modal.describe_for_people_with_hearing_impairments": "耳の不自由な方のために説明してください…",
|
||||||
|
"alt_text_modal.describe_for_people_with_visual_impairments": "目が不自由な方のために説明してください…",
|
||||||
"alt_text_modal.done": "完了",
|
"alt_text_modal.done": "完了",
|
||||||
"announcement.announcement": "お知らせ",
|
"announcement.announcement": "お知らせ",
|
||||||
"annual_report.summary.archetype.booster": "トレンドハンター",
|
"annual_report.summary.archetype.booster": "トレンドハンター",
|
||||||
|
@ -334,6 +337,10 @@
|
||||||
"confirmations.logout.confirm": "ログアウト",
|
"confirmations.logout.confirm": "ログアウト",
|
||||||
"confirmations.logout.message": "本当にログアウトしますか?",
|
"confirmations.logout.message": "本当にログアウトしますか?",
|
||||||
"confirmations.logout.title": "ログアウトしようとしています",
|
"confirmations.logout.title": "ログアウトしようとしています",
|
||||||
|
"confirmations.missing_alt_text.confirm": "代替テキストを追加",
|
||||||
|
"confirmations.missing_alt_text.message": "あなたの投稿には大体テキストのないメディアが含まれています。説明文を追加することで、より多くの人がコンテンツにアクセスできるようになります。",
|
||||||
|
"confirmations.missing_alt_text.secondary": "そのまま投稿する",
|
||||||
|
"confirmations.missing_alt_text.title": "代替テキストを追加しますか?",
|
||||||
"confirmations.mute.confirm": "ミュート",
|
"confirmations.mute.confirm": "ミュート",
|
||||||
"confirmations.redraft.confirm": "削除して下書きに戻す",
|
"confirmations.redraft.confirm": "削除して下書きに戻す",
|
||||||
"confirmations.redraft.message": "投稿を削除して下書きに戻します。この投稿へのお気に入り登録やブーストは失われ、返信は孤立することになります。よろしいですか?",
|
"confirmations.redraft.message": "投稿を削除して下書きに戻します。この投稿へのお気に入り登録やブーストは失われ、返信は孤立することになります。よろしいですか?",
|
||||||
|
@ -590,6 +597,7 @@
|
||||||
"keyboard_shortcuts.toggle_hidden": "CWで隠れた文を見る/隠す",
|
"keyboard_shortcuts.toggle_hidden": "CWで隠れた文を見る/隠す",
|
||||||
"keyboard_shortcuts.toggle_sensitivity": "非表示のメディアを見る/隠す",
|
"keyboard_shortcuts.toggle_sensitivity": "非表示のメディアを見る/隠す",
|
||||||
"keyboard_shortcuts.toot": "新規投稿",
|
"keyboard_shortcuts.toot": "新規投稿",
|
||||||
|
"keyboard_shortcuts.translate": "投稿を翻訳する",
|
||||||
"keyboard_shortcuts.unfocus": "投稿の入力欄・検索欄から離れる",
|
"keyboard_shortcuts.unfocus": "投稿の入力欄・検索欄から離れる",
|
||||||
"keyboard_shortcuts.up": "カラム内一つ上に移動",
|
"keyboard_shortcuts.up": "カラム内一つ上に移動",
|
||||||
"lightbox.close": "閉じる",
|
"lightbox.close": "閉じる",
|
||||||
|
|
|
@ -218,6 +218,10 @@
|
||||||
"confirmations.logout.confirm": "로그아웃",
|
"confirmations.logout.confirm": "로그아웃",
|
||||||
"confirmations.logout.message": "정말로 로그아웃 하시겠습니까?",
|
"confirmations.logout.message": "정말로 로그아웃 하시겠습니까?",
|
||||||
"confirmations.logout.title": "로그아웃 할까요?",
|
"confirmations.logout.title": "로그아웃 할까요?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "대체 텍스트 추가",
|
||||||
|
"confirmations.missing_alt_text.message": "대체 텍스트가 없는 미디어를 포함하고 있습니다. 설명을 추가하면 더 많은 사람들이 내 콘텐츠에 접근할 수 있습니다.",
|
||||||
|
"confirmations.missing_alt_text.secondary": "그냥 게시하기",
|
||||||
|
"confirmations.missing_alt_text.title": "대체 텍스트를 추가할까요?",
|
||||||
"confirmations.mute.confirm": "뮤트",
|
"confirmations.mute.confirm": "뮤트",
|
||||||
"confirmations.redraft.confirm": "삭제하고 다시 쓰기",
|
"confirmations.redraft.confirm": "삭제하고 다시 쓰기",
|
||||||
"confirmations.redraft.message": "정말로 이 게시물을 삭제하고 다시 쓰시겠습니까? 해당 게시물에 대한 부스트와 좋아요를 잃게 되고 원본에 대한 답장은 연결 되지 않습니다.",
|
"confirmations.redraft.message": "정말로 이 게시물을 삭제하고 다시 쓰시겠습니까? 해당 게시물에 대한 부스트와 좋아요를 잃게 되고 원본에 대한 답장은 연결 되지 않습니다.",
|
||||||
|
@ -415,6 +419,7 @@
|
||||||
"ignore_notifications_modal.not_following_title": "내가 팔로우하지 않는 사람들의 알림을 무시할까요?",
|
"ignore_notifications_modal.not_following_title": "내가 팔로우하지 않는 사람들의 알림을 무시할까요?",
|
||||||
"ignore_notifications_modal.private_mentions_title": "요청하지 않은 개인 멘션 알림을 무시할까요?",
|
"ignore_notifications_modal.private_mentions_title": "요청하지 않은 개인 멘션 알림을 무시할까요?",
|
||||||
"info_button.label": "도움말",
|
"info_button.label": "도움말",
|
||||||
|
"info_button.what_is_alt_text": "<h1>대체 텍스트가 무었인가요?</h1> <p>대체 텍스트는 저시력자, 낮은 인터넷 대역폭 사용자, 더 자세한 문맥을 위해 이미지에 대한 설명을 제공하는 것입니다.</p> <p>깔끔하고 간결하고 객관적인 대체 텍스트를 작성해 모두가 이해하기 쉽게 만들고 접근성이 높아질 수 있습니다.</p><ul><li>중요한 요소에 중점을 두세요</li> <li>이미지 안의 글자를 요약하세요</li> <li>정형화된 문장 구조를 사용하세요</li> <li>중복된 정보를 피하세요</li> <li>복잡한 시각자료(도표나 지도 같은)에선 추세와 주요 결과에 중점을 두세요</li> </ul>",
|
||||||
"interaction_modal.action.favourite": "계속하려면 내 계정으로 즐겨찾기해야 합니다.",
|
"interaction_modal.action.favourite": "계속하려면 내 계정으로 즐겨찾기해야 합니다.",
|
||||||
"interaction_modal.action.follow": "계속하려면 내 계정으로 팔로우해야 합니다.",
|
"interaction_modal.action.follow": "계속하려면 내 계정으로 팔로우해야 합니다.",
|
||||||
"interaction_modal.action.reblog": "계속하려면 내 계정으로 리블로그해야 합니다.",
|
"interaction_modal.action.reblog": "계속하려면 내 계정으로 리블로그해야 합니다.",
|
||||||
|
|
|
@ -218,6 +218,10 @@
|
||||||
"confirmations.logout.confirm": "Atsijungti",
|
"confirmations.logout.confirm": "Atsijungti",
|
||||||
"confirmations.logout.message": "Ar tikrai nori atsijungti?",
|
"confirmations.logout.message": "Ar tikrai nori atsijungti?",
|
||||||
"confirmations.logout.title": "Atsijungti?",
|
"confirmations.logout.title": "Atsijungti?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Pridėti alternatyvųjį tekstą",
|
||||||
|
"confirmations.missing_alt_text.message": "Jūsų įrašas turi mediją be alternatyvaus teksto. Pridėjus aprašymus, jūsų turinys taps pasiekiamas daugeliui asmenų.",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Siųsti vis tiek",
|
||||||
|
"confirmations.missing_alt_text.title": "Pridėti alternatyvųjį tekstą?",
|
||||||
"confirmations.mute.confirm": "Nutildyti",
|
"confirmations.mute.confirm": "Nutildyti",
|
||||||
"confirmations.redraft.confirm": "Ištrinti ir iš naujo parengti",
|
"confirmations.redraft.confirm": "Ištrinti ir iš naujo parengti",
|
||||||
"confirmations.redraft.message": "Ar tikrai nori ištrinti šį įrašą ir parengti jį iš naujo? Bus prarasti mėgstami ir pasidalinimai, o atsakymai į originalų įrašą bus panaikinti.",
|
"confirmations.redraft.message": "Ar tikrai nori ištrinti šį įrašą ir parengti jį iš naujo? Bus prarasti mėgstami ir pasidalinimai, o atsakymai į originalų įrašą bus panaikinti.",
|
||||||
|
|
|
@ -86,6 +86,13 @@
|
||||||
"alert.unexpected.message": "發生意外ê錯誤。.",
|
"alert.unexpected.message": "發生意外ê錯誤。.",
|
||||||
"alert.unexpected.title": "Ai-ioh!",
|
"alert.unexpected.title": "Ai-ioh!",
|
||||||
"alt_text_badge.title": "替代文字",
|
"alt_text_badge.title": "替代文字",
|
||||||
|
"alt_text_modal.add_alt_text": "加添說明文字",
|
||||||
|
"alt_text_modal.add_text_from_image": "Tuì圖加說明文字",
|
||||||
|
"alt_text_modal.cancel": "取消",
|
||||||
|
"alt_text_modal.change_thumbnail": "改縮小圖",
|
||||||
|
"alt_text_modal.describe_for_people_with_hearing_impairments": "請替聽有困難ê敘述tsit ê內容…",
|
||||||
|
"alt_text_modal.describe_for_people_with_visual_impairments": "請替看有困難ê敘述tsit ê內容…",
|
||||||
|
"alt_text_modal.done": "做好ah",
|
||||||
"announcement.announcement": "公告",
|
"announcement.announcement": "公告",
|
||||||
"annual_report.summary.archetype.booster": "追求趣味ê",
|
"annual_report.summary.archetype.booster": "追求趣味ê",
|
||||||
"annual_report.summary.archetype.lurker": "有讀無PO ê",
|
"annual_report.summary.archetype.lurker": "有讀無PO ê",
|
||||||
|
@ -182,7 +189,52 @@
|
||||||
"compose_form.poll.multiple": "Tsē選擇",
|
"compose_form.poll.multiple": "Tsē選擇",
|
||||||
"compose_form.poll.option_placeholder": "選項 {number}",
|
"compose_form.poll.option_placeholder": "選項 {number}",
|
||||||
"compose_form.poll.single": "單選擇",
|
"compose_form.poll.single": "單選擇",
|
||||||
|
"compose_form.poll.switch_to_multiple": "Kā投票改做ē當選tsē-tsē ê。",
|
||||||
|
"compose_form.poll.switch_to_single": "Kā投票改做kan-ta通選tsi̍t-ê",
|
||||||
|
"compose_form.poll.type": "投票ê方法",
|
||||||
|
"compose_form.publish": "PO文",
|
||||||
|
"compose_form.publish_form": "PO出去",
|
||||||
|
"compose_form.reply": "回應",
|
||||||
|
"compose_form.save_changes": "更新",
|
||||||
|
"compose_form.spoiler.marked": "Thâi掉內容警告",
|
||||||
|
"compose_form.spoiler.unmarked": "加添內容警告",
|
||||||
|
"compose_form.spoiler_placeholder": "內容警告(m̄是必要)",
|
||||||
|
"confirmation_modal.cancel": "取消",
|
||||||
|
"confirmations.block.confirm": "封鎖",
|
||||||
|
"confirmations.delete.confirm": "Thâi掉",
|
||||||
|
"confirmations.delete.message": "Lí kám確定beh thâi掉tsit ê PO文?",
|
||||||
|
"confirmations.delete.title": "Kám beh thâi掉tsit ê PO文?",
|
||||||
|
"confirmations.delete_list.confirm": "Thâi掉",
|
||||||
|
"confirmations.delete_list.message": "Lí kám確定beh永永thâi掉tsit ê列單?",
|
||||||
|
"confirmations.delete_list.title": "Kám beh thâi掉tsit ê列單?",
|
||||||
|
"confirmations.discard_edit_media.confirm": "棄sak",
|
||||||
|
"confirmations.discard_edit_media.message": "Lí佇媒體敘述á是先看māi ê所在有iáu buē儲存ê改變,kám beh kā in棄sak?",
|
||||||
|
"confirmations.edit.confirm": "編輯",
|
||||||
|
"confirmations.edit.message": "Tsit-má編輯ē khàm掉lí tng-leh編寫ê訊息,lí kám beh繼續án-ne做?",
|
||||||
|
"confirmations.edit.title": "Kám beh khàm掉PO文?",
|
||||||
"confirmations.follow_to_list.confirm": "跟tuè,加入kàu列單",
|
"confirmations.follow_to_list.confirm": "跟tuè,加入kàu列單",
|
||||||
|
"confirmations.follow_to_list.message": "Beh kā {name} 加添kàu列單,lí tio̍h先跟tuè伊。",
|
||||||
|
"confirmations.follow_to_list.title": "Kám beh跟tuè tsit ê用者?",
|
||||||
|
"confirmations.logout.confirm": "登出",
|
||||||
|
"confirmations.logout.message": "Lí kám確定beh登出?",
|
||||||
|
"confirmations.logout.title": "Lí kám beh登出?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "加添說明文字",
|
||||||
|
"confirmations.missing_alt_text.message": "Lí ê PO文包含無說明文字ê媒體。加添敘述,ē幫tsān lí ê內容hōo khah tsē lâng接近使用。",
|
||||||
|
"confirmations.missing_alt_text.secondary": "就按呢PO出去",
|
||||||
|
"confirmations.missing_alt_text.title": "Kám beh加添說明文字?",
|
||||||
|
"confirmations.mute.confirm": "消音",
|
||||||
|
"confirmations.redraft.confirm": "Thâi掉了後重寫",
|
||||||
|
"confirmations.redraft.message": "Lí kám確定behthâi掉tsit篇PO文了後koh重寫?收藏kap轉PO ē無去,而且原底ê PO文ê回應ē變孤立。",
|
||||||
|
"confirmations.redraft.title": "Kám beh thâi掉koh重寫PO文?",
|
||||||
|
"confirmations.reply.confirm": "回應",
|
||||||
|
"confirmations.reply.message": "Tsit-má回應ē khàm掉lí tng-leh編寫ê訊息。Lí kám確定beh繼續án-ne做?",
|
||||||
|
"confirmations.reply.title": "Kám beh khàm掉PO文?",
|
||||||
|
"confirmations.unfollow.confirm": "取消跟tuè",
|
||||||
|
"confirmations.unfollow.message": "Lí kám確定無愛跟tuè {name}?",
|
||||||
|
"confirmations.unfollow.title": "Kám beh取消跟tuè tsit ê用者?",
|
||||||
|
"content_warning.hide": "Am-khàm PO文",
|
||||||
|
"emoji_button.label": "加入繪文字(emoji)",
|
||||||
|
"emoji_button.nature": "自然",
|
||||||
"notification.favourite_pm": "{name} kah意lí ê私人提起",
|
"notification.favourite_pm": "{name} kah意lí ê私人提起",
|
||||||
"notification.favourite_pm.name_and_others_with_link": "{name} kap<a>{count, plural, other {另外 # ê lâng}}</a>kah意lí ê私人提起",
|
"notification.favourite_pm.name_and_others_with_link": "{name} kap<a>{count, plural, other {另外 # ê lâng}}</a>kah意lí ê私人提起",
|
||||||
"search_popout.language_code": "ISO語言代碼",
|
"search_popout.language_code": "ISO語言代碼",
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
"account.no_bio": "ਕੋਈ ਵਰਣਨ ਨਹੀਂ ਦਿੱਤਾ।",
|
"account.no_bio": "ਕੋਈ ਵਰਣਨ ਨਹੀਂ ਦਿੱਤਾ।",
|
||||||
"account.open_original_page": "ਅਸਲ ਸਫ਼ੇ ਨੂੰ ਖੋਲ੍ਹੋ",
|
"account.open_original_page": "ਅਸਲ ਸਫ਼ੇ ਨੂੰ ਖੋਲ੍ਹੋ",
|
||||||
"account.posts": "ਪੋਸਟਾਂ",
|
"account.posts": "ਪੋਸਟਾਂ",
|
||||||
"account.posts_with_replies": "ਪੋਸਤਾਂ ਅਤੇ ਜਵਾਬ",
|
"account.posts_with_replies": "ਪੋਸਟਾਂ ਅਤੇ ਜਵਾਬ",
|
||||||
"account.report": "{name} ਬਾਰੇ ਰਿਪੋਰਟ ਕਰੋ",
|
"account.report": "{name} ਬਾਰੇ ਰਿਪੋਰਟ ਕਰੋ",
|
||||||
"account.requested": "ਮਨਜ਼ੂਰੀ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ। ਫ਼ਾਲੋ ਬੇਨਤੀਆਂ ਨੂੰ ਰੱਦ ਕਰਨ ਲਈ ਕਲਿੱਕ ਕਰੋ",
|
"account.requested": "ਮਨਜ਼ੂਰੀ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ। ਫ਼ਾਲੋ ਬੇਨਤੀਆਂ ਨੂੰ ਰੱਦ ਕਰਨ ਲਈ ਕਲਿੱਕ ਕਰੋ",
|
||||||
"account.requested_follow": "{name} ਨੇ ਤੁਹਾਨੂੰ ਫ਼ਾਲੋ ਕਰਨ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਹੈ",
|
"account.requested_follow": "{name} ਨੇ ਤੁਹਾਨੂੰ ਫ਼ਾਲੋ ਕਰਨ ਦੀ ਬੇਨਤੀ ਕੀਤੀ ਹੈ",
|
||||||
|
@ -57,6 +57,8 @@
|
||||||
"admin.dashboard.retention.cohort_size": "ਨਵੇਂ ਵਰਤੋਂਕਾਰ",
|
"admin.dashboard.retention.cohort_size": "ਨਵੇਂ ਵਰਤੋਂਕਾਰ",
|
||||||
"alert.unexpected.title": "ਓਹੋ!",
|
"alert.unexpected.title": "ਓਹੋ!",
|
||||||
"alt_text_badge.title": "ਬਦਲੀ ਲਿਖਤ",
|
"alt_text_badge.title": "ਬਦਲੀ ਲਿਖਤ",
|
||||||
|
"alt_text_modal.cancel": "ਰੱਦ ਕਰੋ",
|
||||||
|
"alt_text_modal.done": "ਮੁਕੰਮਲ",
|
||||||
"announcement.announcement": "ਹੋਕਾ",
|
"announcement.announcement": "ਹੋਕਾ",
|
||||||
"annual_report.summary.followers.followers": "ਫ਼ਾਲੋਅਰ",
|
"annual_report.summary.followers.followers": "ਫ਼ਾਲੋਅਰ",
|
||||||
"annual_report.summary.followers.total": "{count} ਕੁੱਲ",
|
"annual_report.summary.followers.total": "{count} ਕੁੱਲ",
|
||||||
|
@ -73,6 +75,7 @@
|
||||||
"block_modal.show_more": "ਵੱਧ ਦਿਖਾਓ",
|
"block_modal.show_more": "ਵੱਧ ਦਿਖਾਓ",
|
||||||
"block_modal.title": "ਵਰਤੋਂਕਾਰ ਉੱਤੇ ਪਾਬੰਦੀ ਲਾਉਣੀ ਹੈ?",
|
"block_modal.title": "ਵਰਤੋਂਕਾਰ ਉੱਤੇ ਪਾਬੰਦੀ ਲਾਉਣੀ ਹੈ?",
|
||||||
"boost_modal.reblog": "ਪੋਸਟ ਨੂੰ ਬੂਸਟ ਕਰਨਾ ਹੈ?",
|
"boost_modal.reblog": "ਪੋਸਟ ਨੂੰ ਬੂਸਟ ਕਰਨਾ ਹੈ?",
|
||||||
|
"bundle_column_error.copy_stacktrace": "ਗਲਤੀ ਰਿਪੋਰਟ ਨੂੰ ਕਾਪੀ ਕਰੋ",
|
||||||
"bundle_column_error.error.title": "ਓਹ ਹੋ!",
|
"bundle_column_error.error.title": "ਓਹ ਹੋ!",
|
||||||
"bundle_column_error.network.title": "ਨੈੱਟਵਰਕ ਦੀ ਸਮੱਸਿਆ",
|
"bundle_column_error.network.title": "ਨੈੱਟਵਰਕ ਦੀ ਸਮੱਸਿਆ",
|
||||||
"bundle_column_error.retry": "ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਕਰੋ",
|
"bundle_column_error.retry": "ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਕਰੋ",
|
||||||
|
@ -106,6 +109,7 @@
|
||||||
"column_header.pin": "ਟੰਗੋ",
|
"column_header.pin": "ਟੰਗੋ",
|
||||||
"column_header.show_settings": "ਸੈਟਿੰਗਾਂ ਦਿਖਾਓ",
|
"column_header.show_settings": "ਸੈਟਿੰਗਾਂ ਦਿਖਾਓ",
|
||||||
"column_header.unpin": "ਲਾਹੋ",
|
"column_header.unpin": "ਲਾਹੋ",
|
||||||
|
"column_search.cancel": "ਰੱਦ ਕਰੋ",
|
||||||
"column_subheading.settings": "ਸੈਟਿੰਗਾਂ",
|
"column_subheading.settings": "ਸੈਟਿੰਗਾਂ",
|
||||||
"community.column_settings.local_only": "ਸਿਰਫ ਲੋਕਲ ਹੀ",
|
"community.column_settings.local_only": "ਸਿਰਫ ਲੋਕਲ ਹੀ",
|
||||||
"community.column_settings.media_only": "ਸਿਰਫ ਮੀਡੀਆ ਹੀ",
|
"community.column_settings.media_only": "ਸਿਰਫ ਮੀਡੀਆ ਹੀ",
|
||||||
|
@ -141,9 +145,12 @@
|
||||||
"confirmations.delete_list.title": "ਸੂਚੀ ਨੂੰ ਹਟਾਉਣਾ ਹੈ?",
|
"confirmations.delete_list.title": "ਸੂਚੀ ਨੂੰ ਹਟਾਉਣਾ ਹੈ?",
|
||||||
"confirmations.discard_edit_media.confirm": "ਰੱਦ ਕਰੋ",
|
"confirmations.discard_edit_media.confirm": "ਰੱਦ ਕਰੋ",
|
||||||
"confirmations.edit.confirm": "ਸੋਧ",
|
"confirmations.edit.confirm": "ਸੋਧ",
|
||||||
|
"confirmations.follow_to_list.confirm": "ਫ਼ਾਲੋ ਕਰੋ ਅਤੇ ਲਿਸਟ 'ਚ ਜੋੜੋ",
|
||||||
|
"confirmations.follow_to_list.title": "ਵਰਤੋਂਕਾਰ ਨੂੰ ਫ਼ਾਲੋ ਕਰਨਾ ਹੈ?",
|
||||||
"confirmations.logout.confirm": "ਬਾਹਰ ਹੋਵੋ",
|
"confirmations.logout.confirm": "ਬਾਹਰ ਹੋਵੋ",
|
||||||
"confirmations.logout.message": "ਕੀ ਤੁਸੀਂ ਲਾਗ ਆਉਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?",
|
"confirmations.logout.message": "ਕੀ ਤੁਸੀਂ ਲਾਗ ਆਉਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?",
|
||||||
"confirmations.logout.title": "ਲਾਗ ਆਉਟ ਕਰਨਾ ਹੈ?",
|
"confirmations.logout.title": "ਲਾਗ ਆਉਟ ਕਰਨਾ ਹੈ?",
|
||||||
|
"confirmations.missing_alt_text.secondary": "ਕਿਵੇਂ ਵੀ ਪੋਸਟ ਕਰੋ",
|
||||||
"confirmations.mute.confirm": "ਮੌਨ ਕਰੋ",
|
"confirmations.mute.confirm": "ਮੌਨ ਕਰੋ",
|
||||||
"confirmations.redraft.confirm": "ਹਟਾਓ ਤੇ ਮੁੜ-ਡਰਾਫਟ",
|
"confirmations.redraft.confirm": "ਹਟਾਓ ਤੇ ਮੁੜ-ਡਰਾਫਟ",
|
||||||
"confirmations.reply.confirm": "ਜਵਾਬ ਦੇਵੋ",
|
"confirmations.reply.confirm": "ਜਵਾਬ ਦੇਵੋ",
|
||||||
|
@ -209,9 +216,12 @@
|
||||||
"filter_modal.select_filter.expired": "ਮਿਆਦ ਪੁੱਗੀ",
|
"filter_modal.select_filter.expired": "ਮਿਆਦ ਪੁੱਗੀ",
|
||||||
"filter_modal.select_filter.prompt_new": "ਨਵੀਂ ਕੈਟਾਗਰੀ: {name}",
|
"filter_modal.select_filter.prompt_new": "ਨਵੀਂ ਕੈਟਾਗਰੀ: {name}",
|
||||||
"filter_modal.select_filter.search": "ਖੋਜੋ ਜਾਂ ਬਣਾਓ",
|
"filter_modal.select_filter.search": "ਖੋਜੋ ਜਾਂ ਬਣਾਓ",
|
||||||
|
"filter_modal.select_filter.title": "ਇਸ ਪੋਸਟ ਨੂੰ ਫਿਲਟਰ ਕਰੋ",
|
||||||
|
"filter_modal.title.status": "ਇੱਕ ਪੋਸਟ ਨੂੰ ਫਿਲਟਰ ਕਰੋ",
|
||||||
"firehose.all": "ਸਭ",
|
"firehose.all": "ਸਭ",
|
||||||
"firehose.local": "ਇਹ ਸਰਵਰ",
|
"firehose.local": "ਇਹ ਸਰਵਰ",
|
||||||
"firehose.remote": "ਹੋਰ ਸਰਵਰ",
|
"firehose.remote": "ਹੋਰ ਸਰਵਰ",
|
||||||
|
"follow_request.authorize": "ਪਰਮਾਣਿਤ",
|
||||||
"follow_request.reject": "ਰੱਦ ਕਰੋ",
|
"follow_request.reject": "ਰੱਦ ਕਰੋ",
|
||||||
"follow_suggestions.dismiss": "ਮੁੜ ਨਾ ਵੇਖਾਓ",
|
"follow_suggestions.dismiss": "ਮੁੜ ਨਾ ਵੇਖਾਓ",
|
||||||
"follow_suggestions.personalized_suggestion": "ਨਿੱਜੀ ਸੁਝਾਅ",
|
"follow_suggestions.personalized_suggestion": "ਨਿੱਜੀ ਸੁਝਾਅ",
|
||||||
|
@ -227,6 +237,7 @@
|
||||||
"footer.privacy_policy": "ਪਰਦੇਦਾਰੀ ਨੀਤੀ",
|
"footer.privacy_policy": "ਪਰਦੇਦਾਰੀ ਨੀਤੀ",
|
||||||
"footer.source_code": "ਸਰੋਤ ਕੋਡ ਵੇਖੋ",
|
"footer.source_code": "ਸਰੋਤ ਕੋਡ ਵੇਖੋ",
|
||||||
"footer.status": "ਹਾਲਤ",
|
"footer.status": "ਹਾਲਤ",
|
||||||
|
"footer.terms_of_service": "ਸੇਵਾ ਦੀਆਂ ਸ਼ਰਤਾਂ",
|
||||||
"generic.saved": "ਸਾਂਭੀ ਗਈ",
|
"generic.saved": "ਸਾਂਭੀ ਗਈ",
|
||||||
"getting_started.heading": "ਸ਼ੁਰੂ ਕਰੀਏ",
|
"getting_started.heading": "ਸ਼ੁਰੂ ਕਰੀਏ",
|
||||||
"hashtag.column_header.tag_mode.all": "ਅਤੇ {additional}",
|
"hashtag.column_header.tag_mode.all": "ਅਤੇ {additional}",
|
||||||
|
@ -243,11 +254,15 @@
|
||||||
"hints.profiles.see_more_followers": "{domain} ਉੱਤੇ ਹੋਰ ਫ਼ਾਲੋਅਰ ਵੇਖੋ",
|
"hints.profiles.see_more_followers": "{domain} ਉੱਤੇ ਹੋਰ ਫ਼ਾਲੋਅਰ ਵੇਖੋ",
|
||||||
"hints.profiles.see_more_follows": "{domain} ਉੱਤੇ ਹੋਰ ਫ਼ਾਲੋ ਨੂੰ ਵੇਖੋ",
|
"hints.profiles.see_more_follows": "{domain} ਉੱਤੇ ਹੋਰ ਫ਼ਾਲੋ ਨੂੰ ਵੇਖੋ",
|
||||||
"hints.profiles.see_more_posts": "{domain} ਉੱਤੇ ਹੋਰ ਪੋਸਟਾਂ ਨੂੰ ਵੇਖੋ",
|
"hints.profiles.see_more_posts": "{domain} ਉੱਤੇ ਹੋਰ ਪੋਸਟਾਂ ਨੂੰ ਵੇਖੋ",
|
||||||
|
"hints.threads.see_more": "{domain} ਤੋਂ ਹੋਰ ਜਵਾਬਾਂ ਨੂੰ ਵੇਖੋ",
|
||||||
"home.column_settings.show_reblogs": "ਬੂਸਟਾਂ ਨੂੰ ਵੇਖੋ",
|
"home.column_settings.show_reblogs": "ਬੂਸਟਾਂ ਨੂੰ ਵੇਖੋ",
|
||||||
"home.column_settings.show_replies": "ਜਵਾਬਾਂ ਨੂੰ ਵੇਖੋ",
|
"home.column_settings.show_replies": "ਜਵਾਬਾਂ ਨੂੰ ਵੇਖੋ",
|
||||||
"home.hide_announcements": "ਐਲਾਨਾਂ ਨੂੰ ਓਹਲੇ ਕਰੋ",
|
"home.hide_announcements": "ਐਲਾਨਾਂ ਨੂੰ ਓਹਲੇ ਕਰੋ",
|
||||||
"home.pending_critical_update.link": "ਅੱਪਡੇਟ ਵੇਖੋ",
|
"home.pending_critical_update.link": "ਅੱਪਡੇਟ ਵੇਖੋ",
|
||||||
"ignore_notifications_modal.ignore": "ਨੋਟਫਿਕੇਸ਼ਨਾਂ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰੋ",
|
"ignore_notifications_modal.ignore": "ਨੋਟਫਿਕੇਸ਼ਨਾਂ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰੋ",
|
||||||
|
"info_button.label": "ਮਦਦ",
|
||||||
|
"interaction_modal.go": "ਜਾਓ",
|
||||||
|
"interaction_modal.no_account_yet": "ਹਾਲੇ ਖਾਤਾ ਨਹੀਂ ਹੈ?",
|
||||||
"interaction_modal.on_another_server": "ਵੱਖਰੇ ਸਰਵਰ ਉੱਤੇ",
|
"interaction_modal.on_another_server": "ਵੱਖਰੇ ਸਰਵਰ ਉੱਤੇ",
|
||||||
"interaction_modal.on_this_server": "ਇਸ ਸਰਵਰ ਉੱਤੇ",
|
"interaction_modal.on_this_server": "ਇਸ ਸਰਵਰ ਉੱਤੇ",
|
||||||
"interaction_modal.title.favourite": "{name} ਦੀ ਪੋਸਟ ਨੂੰ ਪਸੰਦ ਕਰੋ",
|
"interaction_modal.title.favourite": "{name} ਦੀ ਪੋਸਟ ਨੂੰ ਪਸੰਦ ਕਰੋ",
|
||||||
|
@ -255,6 +270,7 @@
|
||||||
"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} ਦੀ ਚੋਣ ਵਾਸਤੇ ਵੋਟ ਪਾਓ",
|
"interaction_modal.title.vote": "{name} ਦੀ ਚੋਣ ਵਾਸਤੇ ਵੋਟ ਪਾਓ",
|
||||||
|
"interaction_modal.username_prompt": "ਜਿਵੇਂ {example}",
|
||||||
"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 {# ਮਿੰਟ}}",
|
||||||
|
@ -268,6 +284,7 @@
|
||||||
"keyboard_shortcuts.down": "ਸੂਚੀ ਵਿੱਚ ਹੇਠਾਂ ਭੇਜੋ",
|
"keyboard_shortcuts.down": "ਸੂਚੀ ਵਿੱਚ ਹੇਠਾਂ ਭੇਜੋ",
|
||||||
"keyboard_shortcuts.enter": "ਪੋਸਟ ਨੂੰ ਖੋਲ੍ਹੋ",
|
"keyboard_shortcuts.enter": "ਪੋਸਟ ਨੂੰ ਖੋਲ੍ਹੋ",
|
||||||
"keyboard_shortcuts.favourite": "ਪੋਸਟ ਨੂੰ ਪਸੰਦ ਕਰੋ",
|
"keyboard_shortcuts.favourite": "ਪੋਸਟ ਨੂੰ ਪਸੰਦ ਕਰੋ",
|
||||||
|
"keyboard_shortcuts.favourites": "ਮਨਪਸੰਦ ਸੂਚੀ ਨੂੰ ਖੋਲ੍ਹੋ",
|
||||||
"keyboard_shortcuts.federated": "",
|
"keyboard_shortcuts.federated": "",
|
||||||
"keyboard_shortcuts.heading": "ਕੀਬੋਰਡ ਸ਼ਾਰਟਕੱਟ",
|
"keyboard_shortcuts.heading": "ਕੀਬੋਰਡ ਸ਼ਾਰਟਕੱਟ",
|
||||||
"keyboard_shortcuts.home": "ਮੁੱਖ-ਸਫ਼ਾ ਟਾਈਮ-ਲਾਈਨ ਨੂੰ ਖੋਲ੍ਹੋ",
|
"keyboard_shortcuts.home": "ਮੁੱਖ-ਸਫ਼ਾ ਟਾਈਮ-ਲਾਈਨ ਨੂੰ ਖੋਲ੍ਹੋ",
|
||||||
|
@ -288,11 +305,13 @@
|
||||||
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
|
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
|
||||||
"keyboard_shortcuts.toggle_sensitivity": "ਮੀਡੀਆ ਦਿਖਾਉਣ/ਲੁਕਾਉਣ ਲਈ",
|
"keyboard_shortcuts.toggle_sensitivity": "ਮੀਡੀਆ ਦਿਖਾਉਣ/ਲੁਕਾਉਣ ਲਈ",
|
||||||
"keyboard_shortcuts.toot": "ਨਵੀਂ ਪੋਸਟ ਸ਼ੁਰੂ ਕਰੋ",
|
"keyboard_shortcuts.toot": "ਨਵੀਂ ਪੋਸਟ ਸ਼ੁਰੂ ਕਰੋ",
|
||||||
|
"keyboard_shortcuts.translate": "ਪੋਸਟ ਨੂੰ ਅਨੁਵਾਦ ਕਰਨ ਲਈ",
|
||||||
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
||||||
"keyboard_shortcuts.up": "ਸੂਚੀ ਵਿੱਚ ਉੱਤੇ ਭੇਜੋ",
|
"keyboard_shortcuts.up": "ਸੂਚੀ ਵਿੱਚ ਉੱਤੇ ਭੇਜੋ",
|
||||||
"lightbox.close": "ਬੰਦ ਕਰੋ",
|
"lightbox.close": "ਬੰਦ ਕਰੋ",
|
||||||
"lightbox.next": "ਅਗਲੀ",
|
"lightbox.next": "ਅਗਲੀ",
|
||||||
"lightbox.previous": "ਪਿਛਲੀ",
|
"lightbox.previous": "ਪਿਛਲੀ",
|
||||||
|
"limited_account_hint.action": "ਪਰੋਫਾਈਲ ਨੂੰ ਕਿਵੇਂ ਵੀ ਵੇਖਾਓ",
|
||||||
"link_preview.author": "{name} ਵਲੋਂ",
|
"link_preview.author": "{name} ਵਲੋਂ",
|
||||||
"link_preview.more_from_author": "{name} ਵਲੋਂ ਹੋਰ",
|
"link_preview.more_from_author": "{name} ਵਲੋਂ ਹੋਰ",
|
||||||
"link_preview.shares": "{count, plural, one {{counter} ਪੋਸਟ} other {{counter} ਪੋਸਟਾਂ}}",
|
"link_preview.shares": "{count, plural, one {{counter} ਪੋਸਟ} other {{counter} ਪੋਸਟਾਂ}}",
|
||||||
|
@ -309,13 +328,17 @@
|
||||||
"lists.list_name": "ਸੂਚੀ ਦਾ ਨਾਂ",
|
"lists.list_name": "ਸੂਚੀ ਦਾ ਨਾਂ",
|
||||||
"lists.new_list_name": "ਨਵੀਂ ਸੂਚੀਂ ਦਾ ਨਾਂ",
|
"lists.new_list_name": "ਨਵੀਂ ਸੂਚੀਂ ਦਾ ਨਾਂ",
|
||||||
"lists.no_lists_yet": "ਹਾਲੇ ਕੋਈ ਵੀ ਸੂਚੀ ਨਹੀਂ ਹੈ।",
|
"lists.no_lists_yet": "ਹਾਲੇ ਕੋਈ ਵੀ ਸੂਚੀ ਨਹੀਂ ਹੈ।",
|
||||||
|
"lists.no_members_yet": "ਹਾਲੇ ਮੈਂਬਰ ਨਹੀਂ ਹਨ।",
|
||||||
|
"lists.no_results_found": "ਕੋਈ ਨਤੀਜਾ ਨਹੀਂ ਮਿਲਿਆ।",
|
||||||
"lists.remove_member": "ਹਟਾਓ",
|
"lists.remove_member": "ਹਟਾਓ",
|
||||||
"lists.replies_policy.followed": "ਕੋਈ ਵੀ ਫ਼ਾਲੋ ਕੀਤਾ ਵਰਤੋਂਕਾਰ",
|
"lists.replies_policy.followed": "ਕੋਈ ਵੀ ਫ਼ਾਲੋ ਕੀਤਾ ਵਰਤੋਂਕਾਰ",
|
||||||
"lists.replies_policy.list": "ਸੂਚੀ ਦੇ ਮੈਂਬਰ",
|
"lists.replies_policy.list": "ਸੂਚੀ ਦੇ ਮੈਂਬਰ",
|
||||||
"lists.replies_policy.none": "ਕੋਈ ਨਹੀਂ",
|
"lists.replies_policy.none": "ਕੋਈ ਨਹੀਂ",
|
||||||
"lists.save": "ਸੰਭਾਲੋ",
|
"lists.save": "ਸੰਭਾਲੋ",
|
||||||
|
"lists.search": "ਖੋਜੋ",
|
||||||
"loading_indicator.label": "ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ…",
|
"loading_indicator.label": "ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ…",
|
||||||
"media_gallery.hide": "ਲੁਕਾਓ",
|
"media_gallery.hide": "ਲੁਕਾਓ",
|
||||||
|
"mute_modal.hide_from_notifications": "ਨੋਟੀਫਿਕੇਸ਼ਨਾਂ ਵਿੱਚੋਂ ਲੁਕਾਓ",
|
||||||
"mute_modal.show_options": "ਚੋਣਾਂ ਨੂੰ ਵੇਖਾਓ",
|
"mute_modal.show_options": "ਚੋਣਾਂ ਨੂੰ ਵੇਖਾਓ",
|
||||||
"navigation_bar.about": "ਇਸ ਬਾਰੇ",
|
"navigation_bar.about": "ਇਸ ਬਾਰੇ",
|
||||||
"navigation_bar.administration": "ਪਰਸ਼ਾਸ਼ਨ",
|
"navigation_bar.administration": "ਪਰਸ਼ਾਸ਼ਨ",
|
||||||
|
@ -354,6 +377,8 @@
|
||||||
"notification.mentioned_you": "{name} ਨੇ ਤੁਹਾਡਾ ਜ਼ਿਕਰ ਕੀਤਾ",
|
"notification.mentioned_you": "{name} ਨੇ ਤੁਹਾਡਾ ਜ਼ਿਕਰ ਕੀਤਾ",
|
||||||
"notification.moderation-warning.learn_more": "ਹੋਰ ਜਾਣੋ",
|
"notification.moderation-warning.learn_more": "ਹੋਰ ਜਾਣੋ",
|
||||||
"notification.moderation_warning.action_disable": "ਤੁਹਾਡੇ ਖਾਤੇ ਨੂੰਅਸਮਰੱਥ ਕੀਤਾ ਹੈ।",
|
"notification.moderation_warning.action_disable": "ਤੁਹਾਡੇ ਖਾਤੇ ਨੂੰਅਸਮਰੱਥ ਕੀਤਾ ਹੈ।",
|
||||||
|
"notification.moderation_warning.action_silence": "ਤੁਹਾਡੇ ਖਾਤੇ ਨੂੰ ਸੀਮਿਤ ਕੀਤਾ ਗਿਆ ਹੈ।",
|
||||||
|
"notification.moderation_warning.action_suspend": "ਤੁਹਾਡੇ ਖਾਤੇ ਨੂੰ ਮੁਅੱਤਲ ਕੀਤਾ ਗਿਆ ਹੈ।",
|
||||||
"notification.reblog": "{name} boosted your status",
|
"notification.reblog": "{name} boosted your status",
|
||||||
"notification.relationships_severance_event.learn_more": "ਹੋਰ ਜਾਣੋ",
|
"notification.relationships_severance_event.learn_more": "ਹੋਰ ਜਾਣੋ",
|
||||||
"notification.status": "{name} ਨੇ ਹੁਣੇ ਪੋਸਟ ਕੀਤਾ",
|
"notification.status": "{name} ਨੇ ਹੁਣੇ ਪੋਸਟ ਕੀਤਾ",
|
||||||
|
@ -393,6 +418,14 @@
|
||||||
"notifications.policy.accept": "ਮਨਜ਼ੂਰ",
|
"notifications.policy.accept": "ਮਨਜ਼ੂਰ",
|
||||||
"notifications.policy.accept_hint": "ਨੋਟੀਫਿਕੇਸ਼ਨਾਂ ਵਿੱਚ ਵੇਖਾਓ",
|
"notifications.policy.accept_hint": "ਨੋਟੀਫਿਕੇਸ਼ਨਾਂ ਵਿੱਚ ਵੇਖਾਓ",
|
||||||
"notifications.policy.drop": "ਅਣਡਿੱਠਾ",
|
"notifications.policy.drop": "ਅਣਡਿੱਠਾ",
|
||||||
|
"notifications.policy.filter": "ਫਿਲਟਰ",
|
||||||
|
"notifications.policy.filter_new_accounts_title": "ਨਵੇਂ ਖਾਤੇ",
|
||||||
|
"notifications.policy.filter_not_followers_title": "ਲੋਕ ਤੁਹਾਨੂੰ ਫ਼ਾਲੋ ਨਹੀਂ ਕਰਦੇ",
|
||||||
|
"notifications.policy.filter_not_following_hint": "ਜਦ ਤੱਕ ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ ਖੁਦ ਮਨਜ਼ੂਰੀ ਨਹੀਂ ਦਿੰਦੇ",
|
||||||
|
"notifications_permission_banner.enable": "ਡੈਸਕਟਾਪ ਸੂਚਨਾਵਾਂ ਸਮਰੱਥ ਕਰੋ",
|
||||||
|
"onboarding.follows.back": "ਪਿੱਛੇ",
|
||||||
|
"onboarding.follows.done": "ਮੁਕੰਮਲ",
|
||||||
|
"onboarding.follows.search": "ਖੋਜੋ",
|
||||||
"onboarding.profile.note": "ਜਾਣਕਾਰੀ",
|
"onboarding.profile.note": "ਜਾਣਕਾਰੀ",
|
||||||
"onboarding.profile.save_and_continue": "ਸੰਭਾਲੋ ਅਤੇ ਜਾਰੀ ਰੱਖੋ",
|
"onboarding.profile.save_and_continue": "ਸੰਭਾਲੋ ਅਤੇ ਜਾਰੀ ਰੱਖੋ",
|
||||||
"onboarding.profile.title": "ਪਰੋਫਾਈਲ ਸੈਟਅੱਪ",
|
"onboarding.profile.title": "ਪਰੋਫਾਈਲ ਸੈਟਅੱਪ",
|
||||||
|
@ -403,11 +436,16 @@
|
||||||
"poll.vote": "ਵੋਟ ਪਾਓ",
|
"poll.vote": "ਵੋਟ ਪਾਓ",
|
||||||
"poll.voted": "ਤੁਸੀਂ ਇਸ ਜਵਾਬ ਲਈ ਵੋਟ ਕੀਤਾ",
|
"poll.voted": "ਤੁਸੀਂ ਇਸ ਜਵਾਬ ਲਈ ਵੋਟ ਕੀਤਾ",
|
||||||
"privacy.change": "ਪੋਸਟ ਦੀ ਪਰਦੇਦਾਰੀ ਨੂੰ ਬਦਲੋ",
|
"privacy.change": "ਪੋਸਟ ਦੀ ਪਰਦੇਦਾਰੀ ਨੂੰ ਬਦਲੋ",
|
||||||
|
"privacy.direct.long": "ਪੋਸਟ ਵਿੱਚ ਜ਼ਿਕਰ ਕੀਤੇ ਹਰ ਕੋਈ",
|
||||||
|
"privacy.direct.short": "ਖਾਸ ਲੋਕ",
|
||||||
|
"privacy.private.long": "ਸਿਰਫ਼ ਤੁਹਾਡੇ ਫ਼ਾਲੋਅਰ ਹੀ",
|
||||||
"privacy.private.short": "ਫ਼ਾਲੋਅਰ",
|
"privacy.private.short": "ਫ਼ਾਲੋਅਰ",
|
||||||
"privacy.public.short": "ਜਨਤਕ",
|
"privacy.public.short": "ਜਨਤਕ",
|
||||||
|
"privacy_policy.last_updated": "ਆਖਰੀ ਵਾਰ {date} ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ",
|
||||||
"privacy_policy.title": "ਪਰਦੇਦਾਰੀ ਨੀਤੀ",
|
"privacy_policy.title": "ਪਰਦੇਦਾਰੀ ਨੀਤੀ",
|
||||||
"recommended": "ਸਿਫ਼ਾਰਸ਼ੀ",
|
"recommended": "ਸਿਫ਼ਾਰਸ਼ੀ",
|
||||||
"refresh": "ਤਾਜ਼ਾ ਕਰੋ",
|
"refresh": "ਤਾਜ਼ਾ ਕਰੋ",
|
||||||
|
"regeneration_indicator.please_stand_by": "ਕਿਰਪਾ ਕਰਕੇ ਉਡੀਕੋ।",
|
||||||
"relative_time.days": "{number}ਦਿਨ",
|
"relative_time.days": "{number}ਦਿਨ",
|
||||||
"relative_time.full.days": "{number, plural, one {# ਦਿਨ} other {# ਦਿਨ}} ਪਹਿਲਾਂ",
|
"relative_time.full.days": "{number, plural, one {# ਦਿਨ} other {# ਦਿਨ}} ਪਹਿਲਾਂ",
|
||||||
"relative_time.full.hours": "{number, plural, one {# ਘੰਟਾ} other {# ਘੰਟੇ}} ਪਹਿਲਾਂ",
|
"relative_time.full.hours": "{number, plural, one {# ਘੰਟਾ} other {# ਘੰਟੇ}} ਪਹਿਲਾਂ",
|
||||||
|
@ -431,9 +469,16 @@
|
||||||
"report.next": "ਅਗਲੀ",
|
"report.next": "ਅਗਲੀ",
|
||||||
"report.placeholder": "ਵਧੀਕ ਟਿੱਪਣੀਆਂ",
|
"report.placeholder": "ਵਧੀਕ ਟਿੱਪਣੀਆਂ",
|
||||||
"report.reasons.dislike": "ਮੈਨੂੰ ਇਹ ਪਸੰਦ ਨਹੀਂ ਹੈ",
|
"report.reasons.dislike": "ਮੈਨੂੰ ਇਹ ਪਸੰਦ ਨਹੀਂ ਹੈ",
|
||||||
|
"report.reasons.legal": "ਇਹ ਗ਼ੈਰ-ਕਨੂੰਨੀ ਹੈ",
|
||||||
|
"report.reasons.other": "ਇਹ ਕੁਝ ਹੋਰ ਹੈ",
|
||||||
"report.reasons.spam": "ਇਹ ਸਪੈਮ ਹੈ",
|
"report.reasons.spam": "ਇਹ ਸਪੈਮ ਹੈ",
|
||||||
|
"report.rules.subtitle": "ਲਾਗੂ ਹੋਣ ਵਾਲੇ ਸਾਰੇ ਚੁਣੋ",
|
||||||
|
"report.rules.title": "ਕਿਹੜੇ ਨਿਯਮਾਂ ਦਾ ਉਲੰਘਣ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ?",
|
||||||
|
"report.statuses.subtitle": "ਲਾਗੂ ਹੋਣ ਵਾਲੇ ਸਾਰੇ ਚੁਣੋ",
|
||||||
"report.submit": "ਭੇਜੋ",
|
"report.submit": "ਭੇਜੋ",
|
||||||
"report.target": "{target} ਰਿਪੋਰਟ",
|
"report.target": "{target} ਰਿਪੋਰਟ",
|
||||||
|
"report.thanks.title": "ਇਸ ਨੂੰ ਵੇਖਣਾ ਨਹੀਂ ਚਾਹੁੰਦੇ ਹੋ?",
|
||||||
|
"report.thanks.title_actionable": "ਰਿਪੋਰਟ ਕਰਨ ਲਈ ਧੰਨਵਾਦ ਹੈ। ਅਸੀਂ ਇਸ ਦੀ ਛਾਣਬੀਣ ਕਰਾਂਗੇ।",
|
||||||
"report.unfollow": "@{name} ਨੂੰ ਅਣ-ਫ਼ਾਲੋ ਕਰੋ",
|
"report.unfollow": "@{name} ਨੂੰ ਅਣ-ਫ਼ਾਲੋ ਕਰੋ",
|
||||||
"report_notification.attached_statuses": "{count, plural, one {# post} other {# posts}} attached",
|
"report_notification.attached_statuses": "{count, plural, one {# post} other {# posts}} attached",
|
||||||
"report_notification.categories.legal": "ਕਨੂੰਨੀ",
|
"report_notification.categories.legal": "ਕਨੂੰਨੀ",
|
||||||
|
@ -444,6 +489,7 @@
|
||||||
"report_notification.categories.violation": "ਨਿਯਮ ਦੀ ਉਲੰਘਣਾ",
|
"report_notification.categories.violation": "ਨਿਯਮ ਦੀ ਉਲੰਘਣਾ",
|
||||||
"report_notification.categories.violation_sentence": "ਨਿਯਮ ਦੀ ਉਲੰਘਣਾ",
|
"report_notification.categories.violation_sentence": "ਨਿਯਮ ਦੀ ਉਲੰਘਣਾ",
|
||||||
"report_notification.open": "ਰਿਪੋਰਟ ਨੂੰ ਖੋਲ੍ਹੋ",
|
"report_notification.open": "ਰਿਪੋਰਟ ਨੂੰ ਖੋਲ੍ਹੋ",
|
||||||
|
"search.no_recent_searches": "ਕੋਈ ਸੱਜਰੀ ਖੋਜ ਨਹੀਂ ਹੈ",
|
||||||
"search.placeholder": "ਖੋਜੋ",
|
"search.placeholder": "ਖੋਜੋ",
|
||||||
"search.quick_action.go_to_account": "ਪਰੋਫਾਈਲ {x} ਉੱਤੇ ਜਾਓ",
|
"search.quick_action.go_to_account": "ਪਰੋਫਾਈਲ {x} ਉੱਤੇ ਜਾਓ",
|
||||||
"search.quick_action.go_to_hashtag": "ਹੈਸ਼ਟੈਗ {x} ਉੱਤੇ ਜਾਓ",
|
"search.quick_action.go_to_hashtag": "ਹੈਸ਼ਟੈਗ {x} ਉੱਤੇ ਜਾਓ",
|
||||||
|
@ -456,6 +502,7 @@
|
||||||
"search_results.accounts": "ਪਰੋਫਾਈਲ",
|
"search_results.accounts": "ਪਰੋਫਾਈਲ",
|
||||||
"search_results.all": "ਸਭ",
|
"search_results.all": "ਸਭ",
|
||||||
"search_results.hashtags": "ਹੈਸ਼ਟੈਗ",
|
"search_results.hashtags": "ਹੈਸ਼ਟੈਗ",
|
||||||
|
"search_results.no_results": "ਕੋਈ ਨਤੀਜੇ ਨਹੀਂ ਹਨ।",
|
||||||
"search_results.see_all": "ਸਭ ਵੇਖੋ",
|
"search_results.see_all": "ਸਭ ਵੇਖੋ",
|
||||||
"search_results.statuses": "ਪੋਸਟਾਂ",
|
"search_results.statuses": "ਪੋਸਟਾਂ",
|
||||||
"server_banner.active_users": "ਸਰਗਰਮ ਵਰਤੋਂਕਾਰ",
|
"server_banner.active_users": "ਸਰਗਰਮ ਵਰਤੋਂਕਾਰ",
|
||||||
|
@ -478,31 +525,49 @@
|
||||||
"status.load_more": "ਹੋਰ ਦਿਖਾਓ",
|
"status.load_more": "ਹੋਰ ਦਿਖਾਓ",
|
||||||
"status.media.open": "ਖੋਲ੍ਹਣ ਲਈ ਕਲਿੱਕ ਕਰੋ",
|
"status.media.open": "ਖੋਲ੍ਹਣ ਲਈ ਕਲਿੱਕ ਕਰੋ",
|
||||||
"status.media.show": "ਵੇਖਾਉਣ ਲਈ ਕਲਿੱਕ ਕਰੋ",
|
"status.media.show": "ਵੇਖਾਉਣ ਲਈ ਕਲਿੱਕ ਕਰੋ",
|
||||||
|
"status.media_hidden": "ਮੀਡਿਆ ਲੁਕਵਾਂ ਹੈ",
|
||||||
"status.mention": "@{name} ਦਾ ਜ਼ਿਕਰ",
|
"status.mention": "@{name} ਦਾ ਜ਼ਿਕਰ",
|
||||||
"status.more": "ਹੋਰ",
|
"status.more": "ਹੋਰ",
|
||||||
|
"status.mute": "@{name} ਨੂੰ ਮੌਨ ਕਰੋ",
|
||||||
|
"status.mute_conversation": "ਗੱਲਬਾਤ ਨੂੰ ਮੌਨ ਕਰੋ",
|
||||||
"status.open": "ਇਹ ਪੋਸਟ ਨੂੰ ਫੈਲਾਓ",
|
"status.open": "ਇਹ ਪੋਸਟ ਨੂੰ ਫੈਲਾਓ",
|
||||||
"status.pin": "ਪਰੋਫਾਈਲ ਉੱਤੇ ਟੰਗੋ",
|
"status.pin": "ਪਰੋਫਾਈਲ ਉੱਤੇ ਟੰਗੋ",
|
||||||
"status.pinned": "ਟੰਗੀ ਹੋਈ ਪੋਸਟ",
|
"status.pinned": "ਟੰਗੀ ਹੋਈ ਪੋਸਟ",
|
||||||
"status.read_more": "ਹੋਰ ਪੜ੍ਹੋ",
|
"status.read_more": "ਹੋਰ ਪੜ੍ਹੋ",
|
||||||
"status.reblog": "ਵਧਾਓ",
|
"status.reblog": "ਵਧਾਓ",
|
||||||
|
"status.reblogged_by": "{name} ਨੇ ਬੂਸਟ ਕੀਤਾ",
|
||||||
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
|
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
|
||||||
|
"status.redraft": "ਹਟਾਓ ਤੇ ਮੁੜ-ਡਰਾਫਟ",
|
||||||
|
"status.remove_bookmark": "ਬੁੱਕਮਾਰਕ ਨੂੰ ਹਟਾਓ",
|
||||||
|
"status.remove_favourite": "ਮਨਪਸੰਦ ਵਿੱਚੋਂ ਹਟਾਓ",
|
||||||
|
"status.replied_in_thread": "ਮਾਮਲੇ ਵਿੱਚ ਜਵਾਬ ਦਿਓ",
|
||||||
"status.replied_to": "{name} ਨੂੰ ਜਵਾਬ ਦਿੱਤਾ",
|
"status.replied_to": "{name} ਨੂੰ ਜਵਾਬ ਦਿੱਤਾ",
|
||||||
"status.reply": "ਜਵਾਬ ਦੇਵੋ",
|
"status.reply": "ਜਵਾਬ ਦੇਵੋ",
|
||||||
"status.replyAll": "ਮਾਮਲੇ ਨੂੰ ਜਵਾਬ ਦਿਓ",
|
"status.replyAll": "ਮਾਮਲੇ ਨੂੰ ਜਵਾਬ ਦਿਓ",
|
||||||
"status.report": "@{name} ਦੀ ਰਿਪੋਰਟ ਕਰੋ",
|
"status.report": "@{name} ਦੀ ਰਿਪੋਰਟ ਕਰੋ",
|
||||||
"status.sensitive_warning": "ਸੰਵੇਦਨਸ਼ੀਲ ਸਮੱਗਰੀ",
|
"status.sensitive_warning": "ਸੰਵੇਦਨਸ਼ੀਲ ਸਮੱਗਰੀ",
|
||||||
"status.share": "ਸਾਂਝਾ ਕਰੋ",
|
"status.share": "ਸਾਂਝਾ ਕਰੋ",
|
||||||
|
"status.show_less_all": "ਸਭ ਲਈ ਘੱਟ ਵੇਖਾਓ",
|
||||||
|
"status.show_more_all": "ਸਭ ਲਈ ਵੱਧ ਵੇਖਾਓ",
|
||||||
|
"status.show_original": "ਅਸਲ ਨੂੰ ਵੇਖਾਓ",
|
||||||
"status.title.with_attachments": "{user} ਨੇ {attachmentCount, plural,one {ਅਟੈਚਮੈਂਟ} other {{attachmentCount}ਅਟੈਚਮੈਂਟਾਂ}} ਪੋਸਟ ਕੀਤੀਆਂ",
|
"status.title.with_attachments": "{user} ਨੇ {attachmentCount, plural,one {ਅਟੈਚਮੈਂਟ} other {{attachmentCount}ਅਟੈਚਮੈਂਟਾਂ}} ਪੋਸਟ ਕੀਤੀਆਂ",
|
||||||
"status.translate": "ਉਲੱਥਾ ਕਰੋ",
|
"status.translate": "ਉਲੱਥਾ ਕਰੋ",
|
||||||
|
"status.translated_from_with": "{provider} ਵਰਤ ਕੇ {lang} ਤੋਂ ਅਨੁਵਾਦ ਕੀਤਾ",
|
||||||
|
"status.uncached_media_warning": "ਝਲਕ ਮੌਜੂਦ ਨਹੀਂ ਹੈ",
|
||||||
"status.unpin": "ਪਰੋਫਾਈਲ ਤੋਂ ਲਾਹੋ",
|
"status.unpin": "ਪਰੋਫਾਈਲ ਤੋਂ ਲਾਹੋ",
|
||||||
"subscribed_languages.save": "ਤਬਦੀਲੀਆਂ ਸੰਭਾਲੋ",
|
"subscribed_languages.save": "ਤਬਦੀਲੀਆਂ ਸੰਭਾਲੋ",
|
||||||
"tabs_bar.home": "ਘਰ",
|
"tabs_bar.home": "ਘਰ",
|
||||||
"tabs_bar.notifications": "ਸੂਚਨਾਵਾਂ",
|
"tabs_bar.notifications": "ਸੂਚਨਾਵਾਂ",
|
||||||
|
"terms_of_service.title": "ਸੇਵਾ ਦੀਆਂ ਸ਼ਰਤਾਂ",
|
||||||
|
"time_remaining.days": "{number, plural, one {# ਦਿਨ} other {# ਦਿਨ}} ਬਾਕੀ",
|
||||||
|
"time_remaining.hours": "{number, plural, one {# ਘੰਟਾ} other {# ਘੰਟੇ}} ਬਾਕੀ",
|
||||||
|
"time_remaining.minutes": "{number, plural, one {# ਮਿੰਟ} other {# ਮਿੰਟ}} ਬਾਕੀ",
|
||||||
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
|
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {# days}}",
|
||||||
"trends.trending_now": "ਹੁਣ ਰੁਝਾਨ ਵਿੱਚ",
|
"trends.trending_now": "ਹੁਣ ਰੁਝਾਨ ਵਿੱਚ",
|
||||||
"units.short.billion": "{count}ਿਬ",
|
"units.short.billion": "{count}ਿਬ",
|
||||||
"units.short.million": "{count}ਮਿ",
|
"units.short.million": "{count}ਮਿ",
|
||||||
"units.short.thousand": "{count}ਹਜ਼ਾਰ",
|
"units.short.thousand": "{count}ਹਜ਼ਾਰ",
|
||||||
|
"upload_button.label": "ਚਿੱਤਰ, ਵੀਡੀਓ ਜਾਂ ਆਡੀਓ ਫਾਇਲ ਨੂੰ ਜੋੜੋ",
|
||||||
"upload_form.edit": "ਸੋਧ",
|
"upload_form.edit": "ਸੋਧ",
|
||||||
"upload_progress.label": "ਅੱਪਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ...",
|
"upload_progress.label": "ਅੱਪਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ...",
|
||||||
"upload_progress.processing": "ਕਾਰਵਾਈ ਚੱਲ ਰਹੀ ਹੈ…",
|
"upload_progress.processing": "ਕਾਰਵਾਈ ਚੱਲ ਰਹੀ ਹੈ…",
|
||||||
|
@ -513,6 +578,8 @@
|
||||||
"video.expand": "ਵੀਡੀਓ ਨੂੰ ਫੈਲਾਓ",
|
"video.expand": "ਵੀਡੀਓ ਨੂੰ ਫੈਲਾਓ",
|
||||||
"video.fullscreen": "ਪੂਰੀ ਸਕਰੀਨ",
|
"video.fullscreen": "ਪੂਰੀ ਸਕਰੀਨ",
|
||||||
"video.hide": "ਵੀਡੀਓ ਨੂੰ ਲੁਕਾਓ",
|
"video.hide": "ਵੀਡੀਓ ਨੂੰ ਲੁਕਾਓ",
|
||||||
|
"video.mute": "ਆਵਾਜ਼ ਨੂੰ ਬੰਦ ਕਰੋ",
|
||||||
"video.pause": "ਠਹਿਰੋ",
|
"video.pause": "ਠਹਿਰੋ",
|
||||||
"video.play": "ਚਲਾਓ"
|
"video.play": "ਚਲਾਓ",
|
||||||
|
"video.unmute": "ਆਵਾਜ਼ ਨੂੰ ਸੁਣਾਓ"
|
||||||
}
|
}
|
||||||
|
|
|
@ -218,6 +218,7 @@
|
||||||
"confirmations.logout.confirm": "Wyloguj",
|
"confirmations.logout.confirm": "Wyloguj",
|
||||||
"confirmations.logout.message": "Czy na pewno chcesz się wylogować?",
|
"confirmations.logout.message": "Czy na pewno chcesz się wylogować?",
|
||||||
"confirmations.logout.title": "Wylogować?",
|
"confirmations.logout.title": "Wylogować?",
|
||||||
|
"confirmations.missing_alt_text.message": "Twój wpis zawiera treści graficzne bez opisu pomocniczego. Dodając opis, sprawisz, że będzie on bardziej dostępny dla większej liczby osób.",
|
||||||
"confirmations.mute.confirm": "Wycisz",
|
"confirmations.mute.confirm": "Wycisz",
|
||||||
"confirmations.redraft.confirm": "Usuń i przeredaguj",
|
"confirmations.redraft.confirm": "Usuń i przeredaguj",
|
||||||
"confirmations.redraft.message": "Czy na pewno chcesz usunąć i przeredagować ten wpis? Polubienia i podbicia zostaną utracone, a odpowiedzi do oryginalnego wpisu zostaną osierocone.",
|
"confirmations.redraft.message": "Czy na pewno chcesz usunąć i przeredagować ten wpis? Polubienia i podbicia zostaną utracone, a odpowiedzi do oryginalnego wpisu zostaną osierocone.",
|
||||||
|
@ -414,6 +415,8 @@
|
||||||
"ignore_notifications_modal.not_followers_title": "Ignoruj powiadomienia od użytkowników którzy cię nie obserwują?",
|
"ignore_notifications_modal.not_followers_title": "Ignoruj powiadomienia od użytkowników którzy cię nie obserwują?",
|
||||||
"ignore_notifications_modal.not_following_title": "Ignoruj powiadomienia od użytkowników których nie obserwujesz?",
|
"ignore_notifications_modal.not_following_title": "Ignoruj powiadomienia od użytkowników których nie obserwujesz?",
|
||||||
"ignore_notifications_modal.private_mentions_title": "Ignoruj powiadomienia o nieproszonych wzmiankach prywatnych?",
|
"ignore_notifications_modal.private_mentions_title": "Ignoruj powiadomienia o nieproszonych wzmiankach prywatnych?",
|
||||||
|
"info_button.label": "Pomoc",
|
||||||
|
"info_button.what_is_alt_text": "<h1>Czym jest tekst pomocniczy obrazków?</h1><p> Tekst pomocniczy zapewnia osobom z zaburzeniem widzenia, słabym łączem internetowym oraz tym, którzy szukają dodatkowego kontekstu opis grafik i zdjęć.</p>\n<p>Możesz zwiększyć jego dostępność i zrozumienie poprzez jasne, zwięzłe i obiektywne sformułowanie tekstu pomocniczego.</p>\n<ul>\n<li>Uchwyć ważne elementy</li>\n<li>Streść tekst na obrazkach</li>\n<li>Używaj standardowej składni zdań</li>\n<li>Unikaj wprowadzania zbędnych informacji</li>\n<li>Skup się na głównych trendach i kluczowych informacjach w skomplikowanych materiałach (tkaich jak wykresy czy mapy)</li>\n</ul>",
|
||||||
"interaction_modal.action.favourite": "Aby kontynuować, musisz dodać do ulubionych na swoim koncie.",
|
"interaction_modal.action.favourite": "Aby kontynuować, musisz dodać do ulubionych na swoim koncie.",
|
||||||
"interaction_modal.action.follow": "Aby kontynuować, musisz obserwować ze swojego konta.",
|
"interaction_modal.action.follow": "Aby kontynuować, musisz obserwować ze swojego konta.",
|
||||||
"interaction_modal.action.reblog": "Aby kontynuować, musisz podać dalej ze swojego konta.",
|
"interaction_modal.action.reblog": "Aby kontynuować, musisz podać dalej ze swojego konta.",
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
"account.hide_reblogs": "Esconder partilhas impulsionadas de @{name}",
|
"account.hide_reblogs": "Esconder partilhas impulsionadas de @{name}",
|
||||||
"account.in_memoriam": "Em Memória.",
|
"account.in_memoriam": "Em Memória.",
|
||||||
"account.joined_short": "Juntou-se a",
|
"account.joined_short": "Juntou-se a",
|
||||||
"account.languages": "Alterar línguas subscritas",
|
"account.languages": "Alterar idiomas subscritos",
|
||||||
"account.link_verified_on": "O proprietário desta hiperligação foi verificado em {date}",
|
"account.link_verified_on": "O proprietário desta hiperligação foi verificado em {date}",
|
||||||
"account.locked_info": "Esta conta é privada. O proprietário revê manualmente quem o pode seguir.",
|
"account.locked_info": "Esta conta é privada. O proprietário revê manualmente quem o pode seguir.",
|
||||||
"account.media": "Multimédia",
|
"account.media": "Multimédia",
|
||||||
|
@ -219,7 +219,7 @@
|
||||||
"confirmations.logout.message": "Tens a certeza de que queres terminar a sessão?",
|
"confirmations.logout.message": "Tens a certeza de que queres terminar a sessão?",
|
||||||
"confirmations.logout.title": "Terminar sessão?",
|
"confirmations.logout.title": "Terminar sessão?",
|
||||||
"confirmations.missing_alt_text.confirm": "Adicionar texto alternativo",
|
"confirmations.missing_alt_text.confirm": "Adicionar texto alternativo",
|
||||||
"confirmations.missing_alt_text.message": "A sua publicação contém elementos gráficos sem texto alternativo. Adicionar descrições ajuda a tornar o seu conteúdo acessível a mais pessoas.",
|
"confirmations.missing_alt_text.message": "A tua publicação contém multimédia sem texto alternativo. A adição de descrições ajuda a tornar o conteúdo acessível a mais pessoas.",
|
||||||
"confirmations.missing_alt_text.secondary": "Publicar mesmo assim",
|
"confirmations.missing_alt_text.secondary": "Publicar mesmo assim",
|
||||||
"confirmations.missing_alt_text.title": "Adicionar texto alternativo?",
|
"confirmations.missing_alt_text.title": "Adicionar texto alternativo?",
|
||||||
"confirmations.mute.confirm": "Ocultar",
|
"confirmations.mute.confirm": "Ocultar",
|
||||||
|
@ -817,7 +817,7 @@
|
||||||
"status.cancel_reblog_private": "Retirar impulso",
|
"status.cancel_reblog_private": "Retirar impulso",
|
||||||
"status.cannot_reblog": "Esta publicação não pode ser impulsionada",
|
"status.cannot_reblog": "Esta publicação não pode ser impulsionada",
|
||||||
"status.continued_thread": "Continuação da conversa",
|
"status.continued_thread": "Continuação da conversa",
|
||||||
"status.copy": "Copiar hiperligação para a publicação",
|
"status.copy": "Copiar hiperligação da publicação",
|
||||||
"status.delete": "Eliminar",
|
"status.delete": "Eliminar",
|
||||||
"status.detailed_status": "Vista pormenorizada da conversa",
|
"status.detailed_status": "Vista pormenorizada da conversa",
|
||||||
"status.direct": "Mencionar @{name} em privado",
|
"status.direct": "Mencionar @{name} em privado",
|
||||||
|
|
|
@ -86,6 +86,13 @@
|
||||||
"alert.unexpected.message": "Произошла непредвиденная ошибка.",
|
"alert.unexpected.message": "Произошла непредвиденная ошибка.",
|
||||||
"alert.unexpected.title": "Ой!",
|
"alert.unexpected.title": "Ой!",
|
||||||
"alt_text_badge.title": "Альтернативный текст",
|
"alt_text_badge.title": "Альтернативный текст",
|
||||||
|
"alt_text_modal.add_alt_text": "Альтернативный текст",
|
||||||
|
"alt_text_modal.add_text_from_image": "Добавить текст из изображения",
|
||||||
|
"alt_text_modal.cancel": "Отмена",
|
||||||
|
"alt_text_modal.change_thumbnail": "Изменить обложку",
|
||||||
|
"alt_text_modal.describe_for_people_with_hearing_impairments": "Опишите то, что слышите, для людей с нарушениями слуха…",
|
||||||
|
"alt_text_modal.describe_for_people_with_visual_impairments": "Опишите то, что видите, для людей с нарушениями зрения…",
|
||||||
|
"alt_text_modal.done": "Готово",
|
||||||
"announcement.announcement": "Объявление",
|
"announcement.announcement": "Объявление",
|
||||||
"annual_report.summary.archetype.booster": "Репостер",
|
"annual_report.summary.archetype.booster": "Репостер",
|
||||||
"annual_report.summary.archetype.lurker": "Молчун",
|
"annual_report.summary.archetype.lurker": "Молчун",
|
||||||
|
@ -211,6 +218,10 @@
|
||||||
"confirmations.logout.confirm": "Выйти",
|
"confirmations.logout.confirm": "Выйти",
|
||||||
"confirmations.logout.message": "Вы уверены, что хотите выйти?",
|
"confirmations.logout.message": "Вы уверены, что хотите выйти?",
|
||||||
"confirmations.logout.title": "Выйти?",
|
"confirmations.logout.title": "Выйти?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Добавить",
|
||||||
|
"confirmations.missing_alt_text.message": "Ваш пост содержит медиафайлы без альтернативного текста. Добавляя описания, вы делаете ваш контент доступным для более широкого круга людей.",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Опубликовать",
|
||||||
|
"confirmations.missing_alt_text.title": "Добавить альтернативный текст?",
|
||||||
"confirmations.mute.confirm": "Игнорировать",
|
"confirmations.mute.confirm": "Игнорировать",
|
||||||
"confirmations.redraft.confirm": "Удалить и исправить",
|
"confirmations.redraft.confirm": "Удалить и исправить",
|
||||||
"confirmations.redraft.message": "Вы уверены, что хотите удалить и переписать этот пост? Отметки «избранного», продвижения и ответы к оригинальному посту будут потеряны.",
|
"confirmations.redraft.message": "Вы уверены, что хотите удалить и переписать этот пост? Отметки «избранного», продвижения и ответы к оригинальному посту будут потеряны.",
|
||||||
|
@ -407,6 +418,8 @@
|
||||||
"ignore_notifications_modal.not_followers_title": "Игнорировать уведомления от людей, которые не следят за вами?",
|
"ignore_notifications_modal.not_followers_title": "Игнорировать уведомления от людей, которые не следят за вами?",
|
||||||
"ignore_notifications_modal.not_following_title": "Игнорировать уведомления от людей, за которыми вы не следите?",
|
"ignore_notifications_modal.not_following_title": "Игнорировать уведомления от людей, за которыми вы не следите?",
|
||||||
"ignore_notifications_modal.private_mentions_title": "Игнорировать уведомления о нежелательных личных сообщениях?",
|
"ignore_notifications_modal.private_mentions_title": "Игнорировать уведомления о нежелательных личных сообщениях?",
|
||||||
|
"info_button.label": "Помощь",
|
||||||
|
"info_button.what_is_alt_text": "<h1>Что это такое?</h1> <p>Альтернативный текст содержит описание изображения для людей с ограничениями зрения, медленным интернетом и для тех, кому нужен дополнительный контекст.</p> <p>Вы можете улучшить доступность и понимание для всех, написав четкий, краткий и объективный альтернативный текст.</p> <ul> <li>Уловите важные элементы</li> <li>Перескажите текстовую информацию на изображении</li> <li>Используйте правильную структуру предложений</li> <li>Избегайте избыточной информации</li> <li>Сосредоточьтесь на тенденциях и ключевых выводах при описании сложных визуализаций (таких как диаграммы или карты)</li> </ul>",
|
||||||
"interaction_modal.action.favourite": "Вы можете добавить этот пост в избранное со своей учётной записью.",
|
"interaction_modal.action.favourite": "Вы можете добавить этот пост в избранное со своей учётной записью.",
|
||||||
"interaction_modal.action.follow": "Вы можете подписаться со своей учётной записью.",
|
"interaction_modal.action.follow": "Вы можете подписаться со своей учётной записью.",
|
||||||
"interaction_modal.action.reblog": "Вы можете продвинуть этот пост со своей учётной записью.",
|
"interaction_modal.action.reblog": "Вы можете продвинуть этот пост со своей учётной записью.",
|
||||||
|
@ -457,6 +470,7 @@
|
||||||
"keyboard_shortcuts.toggle_hidden": "показать/скрыть текст за предупреждением",
|
"keyboard_shortcuts.toggle_hidden": "показать/скрыть текст за предупреждением",
|
||||||
"keyboard_shortcuts.toggle_sensitivity": "показать/скрыть медиафайлы",
|
"keyboard_shortcuts.toggle_sensitivity": "показать/скрыть медиафайлы",
|
||||||
"keyboard_shortcuts.toot": "начать писать новый пост",
|
"keyboard_shortcuts.toot": "начать писать новый пост",
|
||||||
|
"keyboard_shortcuts.translate": "перевести пост",
|
||||||
"keyboard_shortcuts.unfocus": "убрать фокус с поля ввода/поиска",
|
"keyboard_shortcuts.unfocus": "убрать фокус с поля ввода/поиска",
|
||||||
"keyboard_shortcuts.up": "вверх по списку",
|
"keyboard_shortcuts.up": "вверх по списку",
|
||||||
"lightbox.close": "Закрыть",
|
"lightbox.close": "Закрыть",
|
||||||
|
@ -836,6 +850,7 @@
|
||||||
"status.reblogs.empty": "Никто ещё не продвинул этот пост. Как только кто-то это сделает, они появятся здесь.",
|
"status.reblogs.empty": "Никто ещё не продвинул этот пост. Как только кто-то это сделает, они появятся здесь.",
|
||||||
"status.redraft": "Создать заново",
|
"status.redraft": "Создать заново",
|
||||||
"status.remove_bookmark": "Убрать из закладок",
|
"status.remove_bookmark": "Убрать из закладок",
|
||||||
|
"status.remove_favourite": "Убрать из избранного",
|
||||||
"status.replied_in_thread": "Ответил в теме",
|
"status.replied_in_thread": "Ответил в теме",
|
||||||
"status.replied_to": "Ответил(а) {name}",
|
"status.replied_to": "Ответил(а) {name}",
|
||||||
"status.reply": "Ответить",
|
"status.reply": "Ответить",
|
||||||
|
|
|
@ -205,6 +205,7 @@
|
||||||
"confirmations.logout.confirm": "Odhlásiť sa",
|
"confirmations.logout.confirm": "Odhlásiť sa",
|
||||||
"confirmations.logout.message": "Určite sa chcete odhlásiť?",
|
"confirmations.logout.message": "Určite sa chcete odhlásiť?",
|
||||||
"confirmations.logout.title": "Odhlásiť sa?",
|
"confirmations.logout.title": "Odhlásiť sa?",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Odošli aj tak",
|
||||||
"confirmations.mute.confirm": "Stíšiť",
|
"confirmations.mute.confirm": "Stíšiť",
|
||||||
"confirmations.redraft.confirm": "Vymazať a prepísať",
|
"confirmations.redraft.confirm": "Vymazať a prepísať",
|
||||||
"confirmations.redraft.message": "Určite chcete tento príspevok vymazať a prepísať? Prídete o jeho zdieľania a ohviezdičkovania a odpovede na pôvodný príspevok budú odlúčené.",
|
"confirmations.redraft.message": "Určite chcete tento príspevok vymazať a prepísať? Prídete o jeho zdieľania a ohviezdičkovania a odpovede na pôvodný príspevok budú odlúčené.",
|
||||||
|
@ -319,6 +320,7 @@
|
||||||
"follow_requests.unlocked_explanation": "Aj keď váš účet nie je uzamknutý, tím domény {domain} si myslel, že môžete chcieť skontrolovať žiadosti o sledovanie z týchto účtov manuálne.",
|
"follow_requests.unlocked_explanation": "Aj keď váš účet nie je uzamknutý, tím domény {domain} si myslel, že môžete chcieť skontrolovať žiadosti o sledovanie z týchto účtov manuálne.",
|
||||||
"follow_suggestions.curated_suggestion": "Výber redakcie",
|
"follow_suggestions.curated_suggestion": "Výber redakcie",
|
||||||
"follow_suggestions.dismiss": "Znova nezobrazovať",
|
"follow_suggestions.dismiss": "Znova nezobrazovať",
|
||||||
|
"follow_suggestions.featured_longer": "Ručne vybrané tímom {domain}",
|
||||||
"follow_suggestions.friends_of_friends_longer": "Populárne medzi ľudmi ktorých nasleduješ",
|
"follow_suggestions.friends_of_friends_longer": "Populárne medzi ľudmi ktorých nasleduješ",
|
||||||
"follow_suggestions.hints.featured": "Tento profil bol ručne zvolený tímom domény {domain}.",
|
"follow_suggestions.hints.featured": "Tento profil bol ručne zvolený tímom domény {domain}.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Tento profil je obľúbený medzi účtami, ktoré sledujete.",
|
"follow_suggestions.hints.friends_of_friends": "Tento profil je obľúbený medzi účtami, ktoré sledujete.",
|
||||||
|
@ -452,6 +454,8 @@
|
||||||
"lists.delete": "Vymazať zoznam",
|
"lists.delete": "Vymazať zoznam",
|
||||||
"lists.done": "Hotovo",
|
"lists.done": "Hotovo",
|
||||||
"lists.edit": "Upraviť zoznam",
|
"lists.edit": "Upraviť zoznam",
|
||||||
|
"lists.exclusive": "Skryť členov na Domovskej osi",
|
||||||
|
"lists.exclusive_hint": "Ak je niekto na tomto zozname, skry ich na tvojej Domácej osi, aby si ich príspevky nevidel/a dvakrát.",
|
||||||
"lists.find_users_to_add": "Nájdi užívateľov na pridanie",
|
"lists.find_users_to_add": "Nájdi užívateľov na pridanie",
|
||||||
"lists.list_members": "Členovia zoznamu",
|
"lists.list_members": "Členovia zoznamu",
|
||||||
"lists.list_name": "Názov zoznamu",
|
"lists.list_name": "Názov zoznamu",
|
||||||
|
@ -465,6 +469,7 @@
|
||||||
"lists.replies_policy.none": "Nikomu",
|
"lists.replies_policy.none": "Nikomu",
|
||||||
"lists.save": "Ulož",
|
"lists.save": "Ulož",
|
||||||
"lists.search": "Hľadaj",
|
"lists.search": "Hľadaj",
|
||||||
|
"lists.show_replies_to": "Zahrnúť odpovede od členov zoznamu na",
|
||||||
"load_pending": "{count, plural, one {# nová položka} few {# nové položky} many {# nových položiek} other {# nových položiek}}",
|
"load_pending": "{count, plural, one {# nová položka} few {# nové položky} many {# nových položiek} other {# nových položiek}}",
|
||||||
"loading_indicator.label": "Načítavanie…",
|
"loading_indicator.label": "Načítavanie…",
|
||||||
"media_gallery.hide": "Skryť",
|
"media_gallery.hide": "Skryť",
|
||||||
|
@ -598,6 +603,7 @@
|
||||||
"onboarding.follows.done": "Hotovo",
|
"onboarding.follows.done": "Hotovo",
|
||||||
"onboarding.follows.empty": "Žiaľ, momentálne sa nedajú zobraziť žiadne výsledky. Môžete skúsiť použiť vyhľadávanie alebo navštíviť stránku objavovania a nájsť ľudí, ktorých chcete sledovať, alebo to skúste znova neskôr.",
|
"onboarding.follows.empty": "Žiaľ, momentálne sa nedajú zobraziť žiadne výsledky. Môžete skúsiť použiť vyhľadávanie alebo navštíviť stránku objavovania a nájsť ľudí, ktorých chcete sledovať, alebo to skúste znova neskôr.",
|
||||||
"onboarding.follows.search": "Hľadať",
|
"onboarding.follows.search": "Hľadať",
|
||||||
|
"onboarding.follows.title": "Pre začiatok nasleduj ľudí",
|
||||||
"onboarding.profile.discoverable": "Nastavte svoj profil ako objaviteľný",
|
"onboarding.profile.discoverable": "Nastavte svoj profil ako objaviteľný",
|
||||||
"onboarding.profile.discoverable_hint": "Keď si na Mastodone zapnete objaviteľnosť, vaše príspevky sa môžu zobrazovať vo výsledkoch vyhľadávania a v populárnych. Váš profil môže byť navyše navrhovaný ľuďom, s ktorými máte podobné záujmy.",
|
"onboarding.profile.discoverable_hint": "Keď si na Mastodone zapnete objaviteľnosť, vaše príspevky sa môžu zobrazovať vo výsledkoch vyhľadávania a v populárnych. Váš profil môže byť navyše navrhovaný ľuďom, s ktorými máte podobné záujmy.",
|
||||||
"onboarding.profile.display_name": "Používateľské meno",
|
"onboarding.profile.display_name": "Používateľské meno",
|
||||||
|
|
|
@ -86,6 +86,13 @@
|
||||||
"alert.unexpected.message": "Ett oväntat fel uppstod.",
|
"alert.unexpected.message": "Ett oväntat fel uppstod.",
|
||||||
"alert.unexpected.title": "Hoppsan!",
|
"alert.unexpected.title": "Hoppsan!",
|
||||||
"alt_text_badge.title": "Alt-Text",
|
"alt_text_badge.title": "Alt-Text",
|
||||||
|
"alt_text_modal.add_alt_text": "Lägg till alt-text",
|
||||||
|
"alt_text_modal.add_text_from_image": "Lägg till text från bild",
|
||||||
|
"alt_text_modal.cancel": "Avbryt",
|
||||||
|
"alt_text_modal.change_thumbnail": "Ändra miniatyr",
|
||||||
|
"alt_text_modal.describe_for_people_with_hearing_impairments": "Beskriv detta för personer med hörselnedsättning…",
|
||||||
|
"alt_text_modal.describe_for_people_with_visual_impairments": "Beskriv detta för personer med synnedsättning…",
|
||||||
|
"alt_text_modal.done": "Klar",
|
||||||
"announcement.announcement": "Meddelande",
|
"announcement.announcement": "Meddelande",
|
||||||
"annual_report.summary.archetype.booster": "Häftighetsjägaren",
|
"annual_report.summary.archetype.booster": "Häftighetsjägaren",
|
||||||
"annual_report.summary.archetype.lurker": "Smygaren",
|
"annual_report.summary.archetype.lurker": "Smygaren",
|
||||||
|
@ -211,6 +218,7 @@
|
||||||
"confirmations.logout.confirm": "Logga ut",
|
"confirmations.logout.confirm": "Logga ut",
|
||||||
"confirmations.logout.message": "Är du säker på att du vill logga ut?",
|
"confirmations.logout.message": "Är du säker på att du vill logga ut?",
|
||||||
"confirmations.logout.title": "Logga ut?",
|
"confirmations.logout.title": "Logga ut?",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Lägg till alt-text",
|
||||||
"confirmations.mute.confirm": "Tysta",
|
"confirmations.mute.confirm": "Tysta",
|
||||||
"confirmations.redraft.confirm": "Radera & gör om",
|
"confirmations.redraft.confirm": "Radera & gör om",
|
||||||
"confirmations.redraft.message": "Är du säker på att du vill radera detta inlägg och göra om det? Favoritmarkeringar, boostar och svar till det ursprungliga inlägget kommer förlora sitt sammanhang.",
|
"confirmations.redraft.message": "Är du säker på att du vill radera detta inlägg och göra om det? Favoritmarkeringar, boostar och svar till det ursprungliga inlägget kommer förlora sitt sammanhang.",
|
||||||
|
@ -220,7 +228,7 @@
|
||||||
"confirmations.reply.title": "Skriva över inlägget?",
|
"confirmations.reply.title": "Skriva över inlägget?",
|
||||||
"confirmations.unfollow.confirm": "Avfölj",
|
"confirmations.unfollow.confirm": "Avfölj",
|
||||||
"confirmations.unfollow.message": "Är du säker på att du vill avfölja {name}?",
|
"confirmations.unfollow.message": "Är du säker på att du vill avfölja {name}?",
|
||||||
"confirmations.unfollow.title": "Avfölj %s?",
|
"confirmations.unfollow.title": "Avfölj användare?",
|
||||||
"content_warning.hide": "Dölj inlägg",
|
"content_warning.hide": "Dölj inlägg",
|
||||||
"content_warning.show": "Visa ändå",
|
"content_warning.show": "Visa ändå",
|
||||||
"content_warning.show_more": "Visa mer",
|
"content_warning.show_more": "Visa mer",
|
||||||
|
@ -407,6 +415,7 @@
|
||||||
"ignore_notifications_modal.not_followers_title": "Vill du ignorera aviseringar från personer som inte följer dig?",
|
"ignore_notifications_modal.not_followers_title": "Vill du ignorera aviseringar från personer som inte följer dig?",
|
||||||
"ignore_notifications_modal.not_following_title": "Vill du blockera aviseringar från personer som du inte följer dig?",
|
"ignore_notifications_modal.not_following_title": "Vill du blockera aviseringar från personer som du inte följer dig?",
|
||||||
"ignore_notifications_modal.private_mentions_title": "Vill du ignorera aviseringar från oombedda privata omnämnanden?",
|
"ignore_notifications_modal.private_mentions_title": "Vill du ignorera aviseringar från oombedda privata omnämnanden?",
|
||||||
|
"info_button.label": "Hjälp",
|
||||||
"interaction_modal.action.favourite": "För att fortsätta, måste du favoritmarkera från ditt konto.",
|
"interaction_modal.action.favourite": "För att fortsätta, måste du favoritmarkera från ditt konto.",
|
||||||
"interaction_modal.action.follow": "För att fortsätta, måste du följa från ditt konto.",
|
"interaction_modal.action.follow": "För att fortsätta, måste du följa från ditt konto.",
|
||||||
"interaction_modal.action.reblog": "För att fortsätta, måste du boosta från ditt konto.",
|
"interaction_modal.action.reblog": "För att fortsätta, måste du boosta från ditt konto.",
|
||||||
|
|
|
@ -219,6 +219,7 @@
|
||||||
"confirmations.logout.message": "Ви впевнені, що хочете вийти?",
|
"confirmations.logout.message": "Ви впевнені, що хочете вийти?",
|
||||||
"confirmations.logout.title": "Вийти?",
|
"confirmations.logout.title": "Вийти?",
|
||||||
"confirmations.missing_alt_text.confirm": "Додати альтернативний текст",
|
"confirmations.missing_alt_text.confirm": "Додати альтернативний текст",
|
||||||
|
"confirmations.missing_alt_text.message": "У вашому дописі є медіа без альтернативного тексту. Додавання опису допоможе зробити ваші матеріали доступними для більшої кількості людей.",
|
||||||
"confirmations.missing_alt_text.secondary": "Все одно опублікувати",
|
"confirmations.missing_alt_text.secondary": "Все одно опублікувати",
|
||||||
"confirmations.missing_alt_text.title": "Додати альтернативний текст?",
|
"confirmations.missing_alt_text.title": "Додати альтернативний текст?",
|
||||||
"confirmations.mute.confirm": "Приховати",
|
"confirmations.mute.confirm": "Приховати",
|
||||||
|
|
|
@ -218,6 +218,10 @@
|
||||||
"confirmations.logout.confirm": "Đăng xuất",
|
"confirmations.logout.confirm": "Đăng xuất",
|
||||||
"confirmations.logout.message": "Bạn có chắc muốn thoát?",
|
"confirmations.logout.message": "Bạn có chắc muốn thoát?",
|
||||||
"confirmations.logout.title": "Đăng xuất",
|
"confirmations.logout.title": "Đăng xuất",
|
||||||
|
"confirmations.missing_alt_text.confirm": "Thêm văn bản thay thế",
|
||||||
|
"confirmations.missing_alt_text.message": "Tút của bạn chứa media không có văn bản thay thế. Thêm mô tả giúp nội dung của bạn dễ tiếp cận với nhiều người hơn.",
|
||||||
|
"confirmations.missing_alt_text.secondary": "Đăng luôn",
|
||||||
|
"confirmations.missing_alt_text.title": "Thêm văn bản thay thế?",
|
||||||
"confirmations.mute.confirm": "Ẩn",
|
"confirmations.mute.confirm": "Ẩn",
|
||||||
"confirmations.redraft.confirm": "Xóa & viết lại",
|
"confirmations.redraft.confirm": "Xóa & viết lại",
|
||||||
"confirmations.redraft.message": "Điều này sẽ khiến những lượt thích và đăng lại của tút bị mất, cũng như những trả lời sẽ không còn nội dung gốc.",
|
"confirmations.redraft.message": "Điều này sẽ khiến những lượt thích và đăng lại của tút bị mất, cũng như những trả lời sẽ không còn nội dung gốc.",
|
||||||
|
@ -414,6 +418,8 @@
|
||||||
"ignore_notifications_modal.not_followers_title": "Bỏ qua thông báo từ những người chưa theo dõi bạn?",
|
"ignore_notifications_modal.not_followers_title": "Bỏ qua thông báo từ những người chưa theo dõi bạn?",
|
||||||
"ignore_notifications_modal.not_following_title": "Bỏ qua thông báo từ những người bạn không theo dõi?",
|
"ignore_notifications_modal.not_following_title": "Bỏ qua thông báo từ những người bạn không theo dõi?",
|
||||||
"ignore_notifications_modal.private_mentions_title": "Bỏ qua thông báo từ những lượt Nhắn Riêng không mong muốn?",
|
"ignore_notifications_modal.private_mentions_title": "Bỏ qua thông báo từ những lượt Nhắn Riêng không mong muốn?",
|
||||||
|
"info_button.label": "Trợ giúp",
|
||||||
|
"info_button.what_is_alt_text": "<h1>Văn bản thay thế là gì?</h1> <p>Văn bản thay thế giúp mô tả hình ảnh cho những người khiếm thị, kết nối mạng chậm hoặc những người muốn biết ngữ cảnh bổ sung.</p> <p>Bạn có thể cải thiện khả năng tiếp cận và giải thích kỹ hơn cho mọi người bằng cách viết văn bản thay thế rõ ràng, ngắn gọn và khách quan.</p> <ul> <li>Nắm bắt thành phần quan trọng</li> <li>Tóm tắt văn bản trong hình</li> <li>Dùng cấu trúc câu đơn</li> <li>Tránh giải thích rối rắmn</li> <li>Tập trung vào các xu hướng và phát hiện chính trong hình ảnh phức tạp (như biểu đồ hoặc bản đồ)</li> </ul>",
|
||||||
"interaction_modal.action.favourite": "Để thích, bạn cần dùng tài khoản của bạn.",
|
"interaction_modal.action.favourite": "Để thích, bạn cần dùng tài khoản của bạn.",
|
||||||
"interaction_modal.action.follow": "Để theo dõi, bạn cần dùng tài khoản của bạn.",
|
"interaction_modal.action.follow": "Để theo dõi, bạn cần dùng tài khoản của bạn.",
|
||||||
"interaction_modal.action.reblog": "Để đăng lại, bạn cần dùng tài khoản của bạn.",
|
"interaction_modal.action.reblog": "Để đăng lại, bạn cần dùng tài khoản của bạn.",
|
||||||
|
|
|
@ -76,7 +76,7 @@ class Admin::SystemCheck::MediaPrivacyCheck < Admin::SystemCheck::BaseCheck
|
||||||
|
|
||||||
def media_attachment
|
def media_attachment
|
||||||
@media_attachment ||= begin
|
@media_attachment ||= begin
|
||||||
attachment = Account.representative.media_attachments.first
|
attachment = Account.representative.media_attachments.take
|
||||||
if attachment.present?
|
if attachment.present?
|
||||||
attachment.touch
|
attachment.touch
|
||||||
attachment
|
attachment
|
||||||
|
|
|
@ -32,6 +32,15 @@ class FeedManager
|
||||||
"feed:#{type}:#{id}:#{subtype}"
|
"feed:#{type}:#{id}:#{subtype}"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# The number of items in the given timeline
|
||||||
|
# @param [Symbol] type
|
||||||
|
# @param [Integer] id
|
||||||
|
# @param [Symbol] subtype
|
||||||
|
# @return [Integer]
|
||||||
|
def timeline_size(type, id, subtype = nil)
|
||||||
|
redis.zcard(key(type, id, subtype))
|
||||||
|
end
|
||||||
|
|
||||||
# The filter result of the status to a particular feed
|
# The filter result of the status to a particular feed
|
||||||
# @param [Symbol] timeline_type
|
# @param [Symbol] timeline_type
|
||||||
# @param [Status] status
|
# @param [Status] status
|
||||||
|
@ -42,7 +51,7 @@ class FeedManager
|
||||||
when :home
|
when :home
|
||||||
filter_from_home(status, receiver.id, build_crutches(receiver.id, [status]), :home)
|
filter_from_home(status, receiver.id, build_crutches(receiver.id, [status]), :home)
|
||||||
when :list
|
when :list
|
||||||
(filter_from_list?(status, receiver) ? :filter : nil) || filter_from_home(status, receiver.account_id, build_crutches(receiver.account_id, [status]), :list, stl_home: stl_home)
|
(filter_from_list?(status, receiver) ? :filter : nil) || filter_from_home(status, receiver.account_id, build_crutches(receiver.account_id, [status], list: receiver), :list, stl_home: stl_home)
|
||||||
when :mentions
|
when :mentions
|
||||||
filter_from_mentions?(status, receiver.id) ? :filter : nil
|
filter_from_mentions?(status, receiver.id) ? :filter : nil
|
||||||
when :tags
|
when :tags
|
||||||
|
@ -136,7 +145,7 @@ class FeedManager
|
||||||
|
|
||||||
timeline_key = key(:home, into_account.id)
|
timeline_key = key(:home, into_account.id)
|
||||||
aggregate = into_account.user&.aggregates_reblogs?
|
aggregate = into_account.user&.aggregates_reblogs?
|
||||||
query = from_account.statuses.list_eligible_visibility.includes(:preloadable_poll, :media_attachments, reblog: :account).limit(FeedManager::MAX_ITEMS / 4)
|
query = from_account.statuses.list_eligible_visibility.includes(reblog: :account).limit(FeedManager::MAX_ITEMS / 4)
|
||||||
|
|
||||||
if redis.zcard(timeline_key) >= FeedManager::MAX_ITEMS / 4
|
if redis.zcard(timeline_key) >= FeedManager::MAX_ITEMS / 4
|
||||||
oldest_home_score = redis.zrange(timeline_key, 0, 0, with_scores: true).first.last.to_i
|
oldest_home_score = redis.zrange(timeline_key, 0, 0, with_scores: true).first.last.to_i
|
||||||
|
@ -164,7 +173,7 @@ class FeedManager
|
||||||
|
|
||||||
timeline_key = key(:list, list.id)
|
timeline_key = key(:list, list.id)
|
||||||
aggregate = list.account.user&.aggregates_reblogs?
|
aggregate = list.account.user&.aggregates_reblogs?
|
||||||
query = from_account.statuses.list_eligible_visibility.includes(:preloadable_poll, :media_attachments, reblog: :account).limit(FeedManager::MAX_ITEMS / 4)
|
query = from_account.statuses.list_eligible_visibility.includes(reblog: :account).limit(FeedManager::MAX_ITEMS / 4)
|
||||||
|
|
||||||
if redis.zcard(timeline_key) >= FeedManager::MAX_ITEMS / 4
|
if redis.zcard(timeline_key) >= FeedManager::MAX_ITEMS / 4
|
||||||
oldest_home_score = redis.zrange(timeline_key, 0, 0, with_scores: true).first.last.to_i
|
oldest_home_score = redis.zrange(timeline_key, 0, 0, with_scores: true).first.last.to_i
|
||||||
|
@ -172,10 +181,10 @@ class FeedManager
|
||||||
end
|
end
|
||||||
|
|
||||||
statuses = query.to_a
|
statuses = query.to_a
|
||||||
crutches = build_crutches(list.account_id, statuses)
|
crutches = build_crutches(list.account_id, statuses, list: list)
|
||||||
|
|
||||||
statuses.each do |status|
|
statuses.each do |status|
|
||||||
next if filter_from_home(status, list.account_id, crutches) || filter_from_list?(status, list)
|
next if filter_from_home(status, list.account_id, crutches, :list)
|
||||||
|
|
||||||
add_to_feed(:list, list.id, status, aggregate_reblogs: aggregate)
|
add_to_feed(:list, list.id, status, aggregate_reblogs: aggregate)
|
||||||
end
|
end
|
||||||
|
@ -309,23 +318,32 @@ class FeedManager
|
||||||
limit = FeedManager::MAX_ITEMS / 2
|
limit = FeedManager::MAX_ITEMS / 2
|
||||||
aggregate = account.user&.aggregates_reblogs?
|
aggregate = account.user&.aggregates_reblogs?
|
||||||
timeline_key = key(:home, account.id)
|
timeline_key = key(:home, account.id)
|
||||||
|
over_limit = false
|
||||||
|
|
||||||
account.statuses.limit(limit).each do |status|
|
account.statuses.limit(limit).each do |status|
|
||||||
add_to_feed(:home, account.id, status, aggregate_reblogs: aggregate)
|
add_to_feed(:home, account.id, status, aggregate_reblogs: aggregate)
|
||||||
end
|
end
|
||||||
|
|
||||||
account.following.includes(:account_stat).reorder(nil).find_each do |target_account|
|
account.following.includes(:account_stat).reorder(nil).find_each do |target_account|
|
||||||
if redis.zcard(timeline_key) >= limit
|
query = target_account.statuses.list_eligible_visibility.includes(reblog: :account).limit(limit)
|
||||||
|
|
||||||
|
over_limit ||= redis.zcard(timeline_key) >= limit
|
||||||
|
if over_limit
|
||||||
oldest_home_score = redis.zrange(timeline_key, 0, 0, with_scores: true).first.last.to_i
|
oldest_home_score = redis.zrange(timeline_key, 0, 0, with_scores: true).first.last.to_i
|
||||||
last_status_score = Mastodon::Snowflake.id_at(target_account.last_status_at)
|
last_status_score = Mastodon::Snowflake.id_at(target_account.last_status_at, with_random: false)
|
||||||
|
|
||||||
# If the feed is full and this account has not posted more recently
|
# If the feed is full and this account has not posted more recently
|
||||||
# than the last item on the feed, then we can skip the whole account
|
# than the last item on the feed, then we can skip the whole account
|
||||||
# because none of its statuses would stay on the feed anyway
|
# because none of its statuses would stay on the feed anyway
|
||||||
next if last_status_score < oldest_home_score
|
next if last_status_score < oldest_home_score
|
||||||
|
|
||||||
|
# No need to get older statuses
|
||||||
|
query = query.where(id: oldest_home_score...)
|
||||||
end
|
end
|
||||||
|
|
||||||
statuses = target_account.statuses.list_eligible_visibility.includes(:preloadable_poll, :media_attachments, :account, reblog: :account).limit(limit)
|
statuses = query.to_a
|
||||||
|
next if statuses.empty?
|
||||||
|
|
||||||
crutches = build_crutches(account.id, statuses)
|
crutches = build_crutches(account.id, statuses)
|
||||||
|
|
||||||
statuses.each do |status|
|
statuses.each do |status|
|
||||||
|
@ -345,23 +363,32 @@ class FeedManager
|
||||||
limit = FeedManager::MAX_ITEMS / 2
|
limit = FeedManager::MAX_ITEMS / 2
|
||||||
aggregate = list.account.user&.aggregates_reblogs?
|
aggregate = list.account.user&.aggregates_reblogs?
|
||||||
timeline_key = key(:list, list.id)
|
timeline_key = key(:list, list.id)
|
||||||
|
over_limit = false
|
||||||
|
|
||||||
list.active_accounts.includes(:account_stat).reorder(nil).find_each do |target_account|
|
list.active_accounts.includes(:account_stat).reorder(nil).find_each do |target_account|
|
||||||
if redis.zcard(timeline_key) >= limit
|
query = target_account.statuses.list_eligible_visibility.includes(reblog: :account).limit(limit)
|
||||||
|
|
||||||
|
over_limit ||= redis.zcard(timeline_key) >= limit
|
||||||
|
if over_limit
|
||||||
oldest_home_score = redis.zrange(timeline_key, 0, 0, with_scores: true).first.last.to_i
|
oldest_home_score = redis.zrange(timeline_key, 0, 0, with_scores: true).first.last.to_i
|
||||||
last_status_score = Mastodon::Snowflake.id_at(target_account.last_status_at)
|
last_status_score = Mastodon::Snowflake.id_at(target_account.last_status_at, with_random: false)
|
||||||
|
|
||||||
# If the feed is full and this account has not posted more recently
|
# If the feed is full and this account has not posted more recently
|
||||||
# than the last item on the feed, then we can skip the whole account
|
# than the last item on the feed, then we can skip the whole account
|
||||||
# because none of its statuses would stay on the feed anyway
|
# because none of its statuses would stay on the feed anyway
|
||||||
next if last_status_score < oldest_home_score
|
next if last_status_score < oldest_home_score
|
||||||
|
|
||||||
|
# No need to get older statuses
|
||||||
|
query = query.where(id: oldest_home_score...)
|
||||||
end
|
end
|
||||||
|
|
||||||
statuses = target_account.statuses.list_eligible_visibility.includes(:preloadable_poll, :media_attachments, :account, reblog: :account).limit(limit)
|
statuses = query.to_a
|
||||||
crutches = build_crutches(list.account_id, statuses)
|
next if statuses.empty?
|
||||||
|
|
||||||
|
crutches = build_crutches(list.account_id, statuses, list: list)
|
||||||
|
|
||||||
statuses.each do |status|
|
statuses.each do |status|
|
||||||
next if filter_from_home(status, list.account_id, crutches) || filter_from_list?(status, list)
|
next if filter_from_home(status, list.account_id, crutches, :list)
|
||||||
|
|
||||||
add_to_feed(:list, list.id, status, aggregate_reblogs: aggregate)
|
add_to_feed(:list, list.id, status, aggregate_reblogs: aggregate)
|
||||||
end
|
end
|
||||||
|
@ -632,8 +659,9 @@ class FeedManager
|
||||||
# are going to be checked by the filtering methods
|
# are going to be checked by the filtering methods
|
||||||
# @param [Integer] receiver_id
|
# @param [Integer] receiver_id
|
||||||
# @param [Array<Status>] statuses
|
# @param [Array<Status>] statuses
|
||||||
|
# @param [List] list
|
||||||
# @return [Hash]
|
# @return [Hash]
|
||||||
def build_crutches(receiver_id, statuses) # rubocop:disable Metrics/AbcSize
|
def build_crutches(receiver_id, statuses, list: nil)
|
||||||
crutches = {}
|
crutches = {}
|
||||||
|
|
||||||
crutches[:active_mentions] = crutches_active_mentions(statuses)
|
crutches[:active_mentions] = crutches_active_mentions(statuses)
|
||||||
|
@ -650,25 +678,43 @@ class FeedManager
|
||||||
arr
|
arr
|
||||||
end
|
end
|
||||||
|
|
||||||
lists = List.where(account_id: receiver_id, exclusive: true)
|
crutches[:following] = crutches_following(receiver_id, statuses, list)
|
||||||
antennas = Antenna.where(list: lists, insert_feeds: true)
|
|
||||||
|
|
||||||
replied_accounts = statuses.filter_map(&:in_reply_to_account_id)
|
|
||||||
replied_accounts += statuses.filter { |status| status.limited_visibility? && status.thread.present? }.map { |status| status.thread.account_id }
|
|
||||||
|
|
||||||
crutches[:following] = Follow.where(account_id: receiver_id, target_account_id: replied_accounts).pluck(:target_account_id).index_with(true)
|
|
||||||
crutches[:languages] = Follow.where(account_id: receiver_id, target_account_id: statuses.map(&:account_id)).pluck(:target_account_id, :languages).to_h
|
crutches[:languages] = Follow.where(account_id: receiver_id, target_account_id: statuses.map(&:account_id)).pluck(:target_account_id, :languages).to_h
|
||||||
crutches[:hiding_reblogs] = Follow.where(account_id: receiver_id, target_account_id: statuses.filter_map { |s| s.account_id if s.reblog? }, show_reblogs: false).pluck(:target_account_id).index_with(true)
|
crutches[:hiding_reblogs] = Follow.where(account_id: receiver_id, target_account_id: statuses.filter_map { |s| s.account_id if s.reblog? }, show_reblogs: false).pluck(:target_account_id).index_with(true)
|
||||||
crutches[:blocking] = Block.where(account_id: receiver_id, target_account_id: check_for_blocks).pluck(:target_account_id).index_with(true)
|
crutches[:blocking] = Block.where(account_id: receiver_id, target_account_id: check_for_blocks).pluck(:target_account_id).index_with(true)
|
||||||
crutches[:muting] = Mute.where(account_id: receiver_id, target_account_id: check_for_blocks).pluck(:target_account_id).index_with(true)
|
crutches[:muting] = Mute.where(account_id: receiver_id, target_account_id: check_for_blocks).pluck(:target_account_id).index_with(true)
|
||||||
crutches[:domain_blocking] = AccountDomainBlock.where(account_id: receiver_id, domain: statuses.flat_map { |s| [s.account.domain, s.reblog&.account&.domain] }.compact).pluck(:domain).index_with(true)
|
crutches[:domain_blocking] = AccountDomainBlock.where(account_id: receiver_id, domain: statuses.flat_map { |s| [s.account.domain, s.reblog&.account&.domain] }.compact).pluck(:domain).index_with(true)
|
||||||
crutches[:blocked_by] = Block.where(target_account_id: receiver_id, account_id: statuses.map { |s| [s.account_id, s.reblog&.account_id] }.flatten.compact).pluck(:account_id).index_with(true)
|
crutches[:blocked_by] = Block.where(target_account_id: receiver_id, account_id: statuses.map { |s| [s.account_id, s.reblog&.account_id] }.flatten.compact).pluck(:account_id).index_with(true)
|
||||||
crutches[:exclusive_list_users] = ListAccount.where(list: lists, account_id: statuses.map(&:account_id)).pluck(:account_id).index_with(true)
|
crutches[:exclusive_list_users] = crutches_exclusive_list_users(receiver_id, statuses) if list.blank?
|
||||||
crutches[:exclusive_antenna_users] = AntennaAccount.where(antenna: antennas, account_id: statuses.map(&:account_id)).pluck(:account_id).index_with(true)
|
crutches[:exclusive_antenna_users] = crutches_exclusive_antenna_users(receiver_id, statuses)
|
||||||
|
|
||||||
crutches
|
crutches
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def crutches_exclusive_list_users(recipient_id, statuses)
|
||||||
|
lists = List.where(account_id: recipient_id, exclusive: true)
|
||||||
|
ListAccount.where(list: lists, account_id: statuses.map(&:account_id)).pluck(:account_id).index_with(true)
|
||||||
|
end
|
||||||
|
|
||||||
|
def crutches_exclusive_antenna_users(recipient_id, statuses)
|
||||||
|
lists = List.where(account_id: recipient_id, exclusive: true)
|
||||||
|
antennas = Antenna.where(list: lists, insert_feeds: true)
|
||||||
|
AntennaAccount.where(antenna: antennas, account_id: statuses.map(&:account_id)).pluck(:account_id).index_with(true)
|
||||||
|
end
|
||||||
|
|
||||||
|
def crutches_following(recipient_id, statuses, list)
|
||||||
|
if list.blank? || list.show_followed?
|
||||||
|
replied_accounts = statuses.filter_map(&:in_reply_to_account_id)
|
||||||
|
replied_accounts += statuses.filter { |status| status.limited_visibility? && status.thread.present? }.map { |status| status.thread.account_id }
|
||||||
|
|
||||||
|
Follow.where(account_id: recipient_id, target_account_id: replied_accounts).pluck(:target_account_id).index_with(true)
|
||||||
|
elsif list.show_list?
|
||||||
|
ListAccount.where(list_id: list.id, account_id: statuses.filter_map(&:in_reply_to_account_id)).pluck(:account_id).index_with(true)
|
||||||
|
else
|
||||||
|
{}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def crutches_active_mentions(statuses)
|
def crutches_active_mentions(statuses)
|
||||||
Mention
|
Mention
|
||||||
.active
|
.active
|
||||||
|
|
|
@ -3,13 +3,21 @@
|
||||||
class PrecomputeFeedService < BaseService
|
class PrecomputeFeedService < BaseService
|
||||||
include Redisable
|
include Redisable
|
||||||
|
|
||||||
def call(account)
|
def call(account, skip_filled_timelines: false)
|
||||||
FeedManager.instance.populate_home(account)
|
@skip_filled_timelines = skip_filled_timelines
|
||||||
|
|
||||||
|
FeedManager.instance.populate_home(account) unless skip_timeline?(:home, account.id)
|
||||||
|
|
||||||
account.owned_lists.each do |list|
|
account.owned_lists.each do |list|
|
||||||
FeedManager.instance.populate_list(list)
|
FeedManager.instance.populate_list(list) unless skip_timeline?(:list, list.id)
|
||||||
end
|
end
|
||||||
ensure
|
ensure
|
||||||
redis.del("account:#{account.id}:regeneration")
|
redis.del("account:#{account.id}:regeneration")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def skip_timeline?(type, id)
|
||||||
|
@skip_filled_timelines && FeedManager.instance.timeline_size(type, id) * 2 > FeedManager::MAX_ITEMS
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
if ENV['MASTODON_PROMETHEUS_EXPORTER_ENABLED'] == 'true'
|
if ENV['MASTODON_PROMETHEUS_EXPORTER_ENABLED'] == 'true'
|
||||||
if ENV['MASTODON_PROMETHEUS_EXPORTER_LOCAL'] == 'true'
|
if ENV['MASTODON_PROMETHEUS_EXPORTER_LOCAL'] == 'true'
|
||||||
|
require 'prometheus_exporter'
|
||||||
require 'prometheus_exporter/server'
|
require 'prometheus_exporter/server'
|
||||||
require 'prometheus_exporter/client'
|
require 'prometheus_exporter/client'
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,8 @@ ru:
|
||||||
models:
|
models:
|
||||||
account:
|
account:
|
||||||
attributes:
|
attributes:
|
||||||
|
fields:
|
||||||
|
fields_with_values_missing_labels: содержит значения с отсутствующими ключами
|
||||||
username:
|
username:
|
||||||
invalid: только буквы, цифры и символ подчёркивания
|
invalid: только буквы, цифры и символ подчёркивания
|
||||||
reserved: зарезервировано
|
reserved: зарезервировано
|
||||||
|
|
|
@ -1200,6 +1200,7 @@ bg:
|
||||||
too_fast: Образецът подаден пребързо, опитайте пак.
|
too_fast: Образецът подаден пребързо, опитайте пак.
|
||||||
use_security_key: Употреба на ключ за сигурност
|
use_security_key: Употреба на ключ за сигурност
|
||||||
user_agreement_html: Прочетох и се съгласявам с <a href="%{terms_of_service_path}" target="_blank">условията на услугата</a> и <a href="%{privacy_policy_path}" target="_blank">политиката за поверителност</a>
|
user_agreement_html: Прочетох и се съгласявам с <a href="%{terms_of_service_path}" target="_blank">условията на услугата</a> и <a href="%{privacy_policy_path}" target="_blank">политиката за поверителност</a>
|
||||||
|
user_privacy_agreement_html: Прочетох и има съгласието ми за <a href="%{privacy_policy_path}" target="_blank">политиката за поверителност</a>
|
||||||
author_attribution:
|
author_attribution:
|
||||||
example_title: Примерен текст
|
example_title: Примерен текст
|
||||||
hint_html: Пишете ли новинарски статии или блогове извън Mastodon? Управлявайте как ви приписват авторството, когато са споделени в Mastodon.
|
hint_html: Пишете ли новинарски статии или блогове извън Mastodon? Управлявайте как ви приписват авторството, когато са споделени в Mastodon.
|
||||||
|
|
|
@ -948,6 +948,9 @@ ca:
|
||||||
preview:
|
preview:
|
||||||
explanation_html: 'Aquest correu-e s''enviarà a <strong>%{display_count} usuaris</strong> que han signat abans de %{date}. S''hi inclourà aquest text:'
|
explanation_html: 'Aquest correu-e s''enviarà a <strong>%{display_count} usuaris</strong> que han signat abans de %{date}. S''hi inclourà aquest text:'
|
||||||
send_preview: Envia una vista prèvia a %{email}
|
send_preview: Envia una vista prèvia a %{email}
|
||||||
|
send_to_all:
|
||||||
|
one: Envia %{display_count} correu-e
|
||||||
|
other: Envia %{display_count} correus-e
|
||||||
title: Vista prèvia de la notificació de les condicions de servei
|
title: Vista prèvia de la notificació de les condicions de servei
|
||||||
publish: Publica
|
publish: Publica
|
||||||
published_on_html: Publicada el %{date}
|
published_on_html: Publicada el %{date}
|
||||||
|
@ -1411,6 +1414,22 @@ ca:
|
||||||
merge_long: Mantenir els registres existents i afegir-ne de nous
|
merge_long: Mantenir els registres existents i afegir-ne de nous
|
||||||
overwrite: Sobreescriu
|
overwrite: Sobreescriu
|
||||||
overwrite_long: Reemplaça els registres actuals amb els nous
|
overwrite_long: Reemplaça els registres actuals amb els nous
|
||||||
|
overwrite_preambles:
|
||||||
|
blocking_html:
|
||||||
|
one: Esteu a punt de <strong>reemplaçar la vostra llista de blocats</strong> amb fins a <strong>%{count} compte</strong> des de <strong>%{filename}</strong>.
|
||||||
|
other: Esteu a punt de <strong>reemplaçar la vostra llista de blocats</strong> amb fins a <strong>%{count} comptes</strong> des de <strong>%{filename}</strong>.
|
||||||
|
bookmarks_html:
|
||||||
|
one: Esteu a punt de <strong>reemplaçar els vostres marcadors</strong> amb fins a <strong>%{count} publicació</strong> des de <strong>%{filename}</strong>.
|
||||||
|
other: Esteu a punt de <strong>reemplaçar els vostres marcadors</strong> amb fins a <strong>%{count} publicacions</strong> des de <strong>%{filename}</strong>.
|
||||||
|
domain_blocking_html:
|
||||||
|
one: Esteu a punt de <strong>reemplaçar la vostra llista de dominis blocats</strong> amb fins a <strong>%{count} domini</strong> des de <strong>%{filename}</strong>.
|
||||||
|
other: Esteu a punt de <strong>reemplaçar la vostra llista de dominis blocats</strong> amb fins a <strong>%{count} dominis</strong> des de <strong>%{filename}</strong>.
|
||||||
|
following_html:
|
||||||
|
one: Esteu a punt de <strong>seguir</strong> fins a <strong>%{count} compte</strong> des de <strong>%{filename}</strong> i <strong>deixar de seguir la resta</strong>.
|
||||||
|
other: Esteu a punt de <strong>seguir</strong> fins a <strong>%{count} comptes</strong> des de <strong>%{filename}</strong> i <strong>deixar de seguir la resta</strong>.
|
||||||
|
lists_html:
|
||||||
|
one: Esteu a punt de <strong>reemplaçar les vostres llistes</strong> amb contactes de <strong>%{filename}</strong>. S'afegirà <strong>%{count} compte</strong> a les noves llistes.
|
||||||
|
other: Esteu a punt de <strong>reemplaçar les vostres llistes</strong> amb contactes de <strong>%{filename}</strong>. S'afegiran fins a <strong>%{count} comptes</strong> a les noves llistes.
|
||||||
preface: Pots importar algunes les dades que has exportat des d'un altre servidor, com ara el llistat de les persones que estàs seguint o bloquejant.
|
preface: Pots importar algunes les dades que has exportat des d'un altre servidor, com ara el llistat de les persones que estàs seguint o bloquejant.
|
||||||
recent_imports: Importacions recents
|
recent_imports: Importacions recents
|
||||||
states:
|
states:
|
||||||
|
|
|
@ -1285,6 +1285,7 @@ cy:
|
||||||
too_fast: Cafodd y ffurflen ei chyflwyno'n rhy gyflym, ceisiwch eto.
|
too_fast: Cafodd y ffurflen ei chyflwyno'n rhy gyflym, ceisiwch eto.
|
||||||
use_security_key: Defnyddiwch allwedd diogelwch
|
use_security_key: Defnyddiwch allwedd diogelwch
|
||||||
user_agreement_html: Rwyf wedi darllen ac yn cytuno i <a href="%{terms_of_service_path}" target="_blank">delerau gwasanaeth</a> a'r <a href="%{privacy_policy_path}" target="_blank">polisi preifatrwydd</a>
|
user_agreement_html: Rwyf wedi darllen ac yn cytuno i <a href="%{terms_of_service_path}" target="_blank">delerau gwasanaeth</a> a'r <a href="%{privacy_policy_path}" target="_blank">polisi preifatrwydd</a>
|
||||||
|
user_privacy_agreement_html: Rwyf wedi darllen ac yn cytuno i'r <a href="%{privacy_policy_path}" target="_blank">polisi preifatrwydd</a>
|
||||||
author_attribution:
|
author_attribution:
|
||||||
example_title: Testun enghreifftiol
|
example_title: Testun enghreifftiol
|
||||||
hint_html: Ydych chi'n ysgrifennu erthyglau newyddion neu flog y tu allan i Mastodon? Rheolwch sut y byddwch yn cael eich cydnabod pan fyddan nhw'n cael eu rhannu ar Mastodon.
|
hint_html: Ydych chi'n ysgrifennu erthyglau newyddion neu flog y tu allan i Mastodon? Rheolwch sut y byddwch yn cael eich cydnabod pan fyddan nhw'n cael eu rhannu ar Mastodon.
|
||||||
|
|
|
@ -9,12 +9,12 @@ da:
|
||||||
accounts:
|
accounts:
|
||||||
followers:
|
followers:
|
||||||
one: Følger
|
one: Følger
|
||||||
other: tilhængere
|
other: Følgere
|
||||||
following: Følger
|
following: Følger
|
||||||
instance_actor_flash: Denne konto er en virtuel aktør repræsenterende selve serveren og ikke en individuel bruger. Den anvendes til fællesformål og bør ikke suspenderes.
|
instance_actor_flash: Denne konto er en virtuel aktør repræsenterende selve serveren og ikke en individuel bruger. Den anvendes til fællesformål og bør ikke suspenderes.
|
||||||
last_active: senest aktiv
|
last_active: senest aktiv
|
||||||
link_verified_on: Ejerskab af dette link blev tjekket %{date}
|
link_verified_on: Ejerskab af dette link blev tjekket %{date}
|
||||||
nothing_here: Der er intet hér!
|
nothing_here: Der er intet her!
|
||||||
pin_errors:
|
pin_errors:
|
||||||
following: Man skal allerede følge den person, man ønsker at støtte
|
following: Man skal allerede følge den person, man ønsker at støtte
|
||||||
posts:
|
posts:
|
||||||
|
@ -108,11 +108,11 @@ da:
|
||||||
not_subscribed: Abonnerer ikke
|
not_subscribed: Abonnerer ikke
|
||||||
pending: Afventende vurdering
|
pending: Afventende vurdering
|
||||||
perform_full_suspension: Suspendér
|
perform_full_suspension: Suspendér
|
||||||
previous_strikes: Tidligere anmeldelser (strikes)
|
previous_strikes: Tidligere anmeldelser
|
||||||
previous_strikes_description_html:
|
previous_strikes_description_html:
|
||||||
one: Denne konto har <strong>en</strong> anmeldelse.
|
one: Denne konto har <strong>en</strong> anmeldelse.
|
||||||
other: Denne konto har <strong>%{count}</strong> anmeldelser.
|
other: Denne konto har <strong>%{count}</strong> anmeldelser.
|
||||||
promote: Fremhæv
|
promote: Forfrem
|
||||||
protocol: Protokol
|
protocol: Protokol
|
||||||
public: Offentlig
|
public: Offentlig
|
||||||
push_subscription_expires: PuSH-abonnement udløber
|
push_subscription_expires: PuSH-abonnement udløber
|
||||||
|
@ -123,9 +123,9 @@ da:
|
||||||
remote_suspension_irreversible: Denne kontos data er slettet permanent.
|
remote_suspension_irreversible: Denne kontos data er slettet permanent.
|
||||||
remote_suspension_reversible_hint_html: Kontoen er suspenderet på den pågældende server, og kontodata fjernes fuldstændig pr. %{date}. Indtil da vil fjernserveren kunne foretage en komplet reetablering af kontoen. Ønskes alle kontodata fjernet straks, kan dette gøres nedenfor.
|
remote_suspension_reversible_hint_html: Kontoen er suspenderet på den pågældende server, og kontodata fjernes fuldstændig pr. %{date}. Indtil da vil fjernserveren kunne foretage en komplet reetablering af kontoen. Ønskes alle kontodata fjernet straks, kan dette gøres nedenfor.
|
||||||
remove_avatar: Fjern profilbillede
|
remove_avatar: Fjern profilbillede
|
||||||
remove_header: Fjern overskrift
|
remove_header: Fjern banner
|
||||||
removed_avatar_msg: "%{username}s profilbillede fjernet"
|
removed_avatar_msg: "%{username}s profilbillede fjernet"
|
||||||
removed_header_msg: "%{username}s overskriftsbillede fjernet"
|
removed_header_msg: "%{username}s banner fjernet"
|
||||||
resend_confirmation:
|
resend_confirmation:
|
||||||
already_confirmed: Denne bruger er allerede bekræftet
|
already_confirmed: Denne bruger er allerede bekræftet
|
||||||
send: Gensend bekræftelseslink
|
send: Gensend bekræftelseslink
|
||||||
|
@ -141,8 +141,8 @@ da:
|
||||||
security_measures:
|
security_measures:
|
||||||
only_password: Kun adgangskode
|
only_password: Kun adgangskode
|
||||||
password_and_2fa: Adgangskode og 2FA
|
password_and_2fa: Adgangskode og 2FA
|
||||||
sensitive: Gennemtving sensitiv
|
sensitive: Gennemtving følsom
|
||||||
sensitized: Markeret som sensitiv
|
sensitized: Markeret som følsom
|
||||||
shared_inbox_url: Delt indbakke-URL
|
shared_inbox_url: Delt indbakke-URL
|
||||||
show:
|
show:
|
||||||
created_reports: Indsendte anmeldelser
|
created_reports: Indsendte anmeldelser
|
||||||
|
@ -160,7 +160,7 @@ da:
|
||||||
unblock_email: Afblokér e-mailadresse
|
unblock_email: Afblokér e-mailadresse
|
||||||
unblocked_email_msg: "%{username}s e-mail-adresse afblokeret"
|
unblocked_email_msg: "%{username}s e-mail-adresse afblokeret"
|
||||||
unconfirmed_email: Ubekræftet e-mail
|
unconfirmed_email: Ubekræftet e-mail
|
||||||
undo_sensitized: Fortryd gennemtving sensitiv
|
undo_sensitized: Fortryd gennemtving-følsom
|
||||||
undo_silenced: Fortryd begrænsning
|
undo_silenced: Fortryd begrænsning
|
||||||
undo_suspension: Fortryd suspendering
|
undo_suspension: Fortryd suspendering
|
||||||
unsilenced_msg: "%{username}s kontobegrænsning er fjernet"
|
unsilenced_msg: "%{username}s kontobegrænsning er fjernet"
|
||||||
|
@ -169,8 +169,8 @@ da:
|
||||||
username: Brugernavn
|
username: Brugernavn
|
||||||
view_domain: Vis domæneoversigt
|
view_domain: Vis domæneoversigt
|
||||||
warn: Advar
|
warn: Advar
|
||||||
web: Web
|
web: Net
|
||||||
whitelisted: Tilladt for federering
|
whitelisted: Tilladt for føderation
|
||||||
action_logs:
|
action_logs:
|
||||||
action_types:
|
action_types:
|
||||||
approve_appeal: Godkend appel
|
approve_appeal: Godkend appel
|
||||||
|
@ -225,8 +225,8 @@ da:
|
||||||
sensitive_account: Gennemtving sensitiv konto
|
sensitive_account: Gennemtving sensitiv konto
|
||||||
silence_account: Begræns konto
|
silence_account: Begræns konto
|
||||||
suspend_account: Suspendér konto
|
suspend_account: Suspendér konto
|
||||||
unassigned_report: Fjer anmeldelsestildeling
|
unassigned_report: Fjern anmeldelsestildeling
|
||||||
unblock_email_account: Afblokér e-mailadresse
|
unblock_email_account: Fjern blokering af e-mailadresse
|
||||||
unsensitive_account: Fjern Gennemtving sensitiv konto
|
unsensitive_account: Fjern Gennemtving sensitiv konto
|
||||||
unsilence_account: Fjern kontobegrænselse
|
unsilence_account: Fjern kontobegrænselse
|
||||||
unsuspend_account: Afsuspendér konto
|
unsuspend_account: Afsuspendér konto
|
||||||
|
@ -374,7 +374,7 @@ da:
|
||||||
other: "<strong>%{count}</strong> verserende anmeldelser"
|
other: "<strong>%{count}</strong> verserende anmeldelser"
|
||||||
pending_tags_html:
|
pending_tags_html:
|
||||||
one: "<strong>%{count}</strong> afventende hashtag"
|
one: "<strong>%{count}</strong> afventende hashtag"
|
||||||
other: "<strong>%{count}</strong> afventende hashtags"
|
other: "<strong>%{count}</strong> afventende etiketter"
|
||||||
pending_users_html:
|
pending_users_html:
|
||||||
one: "<strong>%{count}</strong> afventende bruger"
|
one: "<strong>%{count}</strong> afventende bruger"
|
||||||
other: "<strong>%{count}</strong> afventende brugere"
|
other: "<strong>%{count}</strong> afventende brugere"
|
||||||
|
@ -735,7 +735,7 @@ da:
|
||||||
manage_settings: Håndtere indstillinger
|
manage_settings: Håndtere indstillinger
|
||||||
manage_settings_description: Tillader brugere at ændre webstedsindstillinger
|
manage_settings_description: Tillader brugere at ændre webstedsindstillinger
|
||||||
manage_taxonomies: Håndtere taksonomier
|
manage_taxonomies: Håndtere taksonomier
|
||||||
manage_taxonomies_description: Tillader brugere at gennemse tenderende indhold og opdatere hashtag-indstillinger
|
manage_taxonomies_description: Tillader brugere at gennemse tenderende indhold og opdatere etiket-indstillinger
|
||||||
manage_user_access: Håndtere brugeradgang
|
manage_user_access: Håndtere brugeradgang
|
||||||
manage_user_access_description: Tillader brugere at deaktivere andre brugeres tofaktorgodkendelse, skifte deres e-mailadresse og nulstille deres adgangskode
|
manage_user_access_description: Tillader brugere at deaktivere andre brugeres tofaktorgodkendelse, skifte deres e-mailadresse og nulstille deres adgangskode
|
||||||
manage_users: Håndtere brugere
|
manage_users: Håndtere brugere
|
||||||
|
@ -925,7 +925,7 @@ da:
|
||||||
reset: Nulstil
|
reset: Nulstil
|
||||||
review: Gennmgangsstatus
|
review: Gennmgangsstatus
|
||||||
search: Søg
|
search: Søg
|
||||||
title: Hashtags
|
title: Etiketter
|
||||||
updated_msg: Hashtag-indstillinger opdateret
|
updated_msg: Hashtag-indstillinger opdateret
|
||||||
terms_of_service:
|
terms_of_service:
|
||||||
back: Tilbage til Tjenestevilkår
|
back: Tilbage til Tjenestevilkår
|
||||||
|
@ -1014,14 +1014,14 @@ da:
|
||||||
tag_servers_dimension: Topservere
|
tag_servers_dimension: Topservere
|
||||||
tag_servers_measure: forskellige servere
|
tag_servers_measure: forskellige servere
|
||||||
tag_uses_measure: anvendelser i alt
|
tag_uses_measure: anvendelser i alt
|
||||||
description_html: Disse er hashtags, som pt. vises i en masse indlæg, som serveren ser. Det kan hjælpe brugerne til at finde ud af, hvad folk taler mest om pt. Ingen hashtags vises offentligt, før man godkender dem.
|
description_html: Disse er etiketter, som pt. vises i en masse indlæg, som serveren ser. Det kan hjælpe brugerne til at finde ud af, hvad folk taler mest om pt. Ingen etiketter vises offentligt, før man godkender dem.
|
||||||
listable: Kan foreslås
|
listable: Kan foreslås
|
||||||
no_tag_selected: Intet tag ændret (da intet var valgt)
|
no_tag_selected: Intet tag ændret (da intet var valgt)
|
||||||
not_listable: Foreslås ikke
|
not_listable: Foreslås ikke
|
||||||
not_trendable: Vises ikke under tendenser
|
not_trendable: Vises ikke under tendenser
|
||||||
not_usable: Kan ikke anvendes
|
not_usable: Kan ikke anvendes
|
||||||
peaked_on_and_decaying: Toppede pr. %{date}, nu for nedadgående
|
peaked_on_and_decaying: Toppede pr. %{date}, nu for nedadgående
|
||||||
title: Populære hashtags
|
title: Populære etiketter
|
||||||
trendable: Kan vises under tendenser
|
trendable: Kan vises under tendenser
|
||||||
trending_rank: 'Populær #%{rank}'
|
trending_rank: 'Populær #%{rank}'
|
||||||
usable: Kan anvendes
|
usable: Kan anvendes
|
||||||
|
@ -1093,7 +1093,7 @@ da:
|
||||||
new_trending_statuses:
|
new_trending_statuses:
|
||||||
title: Populære opslag
|
title: Populære opslag
|
||||||
new_trending_tags:
|
new_trending_tags:
|
||||||
title: Populære hashtags
|
title: Populære etiketter
|
||||||
subject: Nye tendenser klar til gennemgang på %{instance}
|
subject: Nye tendenser klar til gennemgang på %{instance}
|
||||||
aliases:
|
aliases:
|
||||||
add_new: Opret alias
|
add_new: Opret alias
|
||||||
|
@ -1104,7 +1104,7 @@ da:
|
||||||
remove: Fjern aliaslinkning
|
remove: Fjern aliaslinkning
|
||||||
appearance:
|
appearance:
|
||||||
advanced_web_interface: Avanceret webgrænseflade
|
advanced_web_interface: Avanceret webgrænseflade
|
||||||
advanced_web_interface_hint: 'Ønsker du udnytte hele skærmbredden, lader den avancerede webgrænseflade dig opsætte mange forskellige kolonner for at se så meget information på samme tid som ønsket: Hjem, notifikationer, federeret tidslinje, et hvilket som helst antal lister og hashtags.'
|
advanced_web_interface_hint: 'Ønsker du udnytte hele skærmbredden, lader den avancerede netgrænseflade dig opsætte mange forskellige kolonner for at se så meget information på samme tid som ønsket: Hjem, notifikationer, fødereret tidslinje, et hvilket som helst antal lister og etiketter.'
|
||||||
animations_and_accessibility: Animationer og tilgængelighed
|
animations_and_accessibility: Animationer og tilgængelighed
|
||||||
confirmation_dialogs: Bekræftelsesdialoger
|
confirmation_dialogs: Bekræftelsesdialoger
|
||||||
discovery: Opdagelse
|
discovery: Opdagelse
|
||||||
|
@ -1326,13 +1326,13 @@ da:
|
||||||
csv: CSV
|
csv: CSV
|
||||||
domain_blocks: Domæneblokeringer
|
domain_blocks: Domæneblokeringer
|
||||||
lists: Lister
|
lists: Lister
|
||||||
mutes: Du tavsgør
|
mutes: Du skjuler
|
||||||
storage: Medielagerplads
|
storage: Medielagerplads
|
||||||
featured_tags:
|
featured_tags:
|
||||||
add_new: Tilføj nyt
|
add_new: Tilføj nyt
|
||||||
errors:
|
errors:
|
||||||
limit: Det maksimale antal hashtags er allerede fremhævet
|
limit: Det maksimale antal etiketter er allerede fremhævet
|
||||||
hint_html: "<strong>Hvad er fremhævede hashtags?</strong> De vises i en fremtrædende position på din offentlige profil og giver folk mulighed for at gennemse dine offentlige indlæg specifikt under disse hashtags. De er et fantastisk værktøj til at holde styr på kreative værker eller langsigtede projekter."
|
hint_html: "<strong>Hvad er fremhævede etiketter?</strong> De vises i en fremtrædende position på din offentlige profil og giver folk mulighed for at gennemse dine offentlige indlæg specifikt under disse etiketter. De er et fantastisk værktøj til at holde styr på kreative værker eller langsigtede projekter."
|
||||||
filters:
|
filters:
|
||||||
contexts:
|
contexts:
|
||||||
account: Profiler
|
account: Profiler
|
||||||
|
@ -1432,7 +1432,7 @@ da:
|
||||||
other: Man er ved at <strong>erstatte sine lister</strong> med indhold fra <strong>%{filename}</strong>. Op til <strong>%{count} konti</strong> føjes til nye lister.
|
other: Man er ved at <strong>erstatte sine lister</strong> med indhold fra <strong>%{filename}</strong>. Op til <strong>%{count} konti</strong> føjes til nye lister.
|
||||||
muting_html:
|
muting_html:
|
||||||
one: Man er ved at <strong>sin liste over en tavsgjort konto</strong> med <strong>%{count} konto</strong> fra <strong>%{filename}</strong>.
|
one: Man er ved at <strong>sin liste over en tavsgjort konto</strong> med <strong>%{count} konto</strong> fra <strong>%{filename}</strong>.
|
||||||
other: Man er ved at <strong>sin liste over tavsgjorte konti</strong> med op til <strong>%{count} konti</strong> fra <strong>%{filename}</strong>.
|
other: Du er ved at <strong>erstatte din liste over skjulte kontoer</strong> med op til <strong>%{count} kontoer</strong> fra <strong>%{filename}</strong>.
|
||||||
preambles:
|
preambles:
|
||||||
blocking_html:
|
blocking_html:
|
||||||
one: Man er ved at <strong>blokere</strong> <strong>%{count} konto</strong> fra <strong>%{filename}</strong>.
|
one: Man er ved at <strong>blokere</strong> <strong>%{count} konto</strong> fra <strong>%{filename}</strong>.
|
||||||
|
@ -1451,7 +1451,7 @@ da:
|
||||||
other: Man er ved at tilføje <strong>%{count} konti</strong> fra <strong>%{filename}</strong> til sine <strong>lister</strong>. Nye lister oprettes, hvis der ikke findes nogen liste at tilføje til.
|
other: Man er ved at tilføje <strong>%{count} konti</strong> fra <strong>%{filename}</strong> til sine <strong>lister</strong>. Nye lister oprettes, hvis der ikke findes nogen liste at tilføje til.
|
||||||
muting_html:
|
muting_html:
|
||||||
one: Man er ved at <strong>tavsgøre</strong> <strong>%{count} konto</strong> fra <strong>%{filename}</strong>.
|
one: Man er ved at <strong>tavsgøre</strong> <strong>%{count} konto</strong> fra <strong>%{filename}</strong>.
|
||||||
other: Man er ved at <strong>tavsgøre</strong> op til <strong>%{count} konto</strong> fra <strong>%{filename}</strong>.
|
other: Du er ved at <strong>skjule</strong> op til <strong>%{count} kontoer</strong> fra <strong>%{filename}</strong>.
|
||||||
preface: Du kan importere data, du har eksporteret fra en anden server, såsom en liste over folk du følger eller blokerer.
|
preface: Du kan importere data, du har eksporteret fra en anden server, såsom en liste over folk du følger eller blokerer.
|
||||||
recent_imports: Seneste importer
|
recent_imports: Seneste importer
|
||||||
states:
|
states:
|
||||||
|
@ -1468,11 +1468,11 @@ da:
|
||||||
domain_blocking: Importerer blokerede konti
|
domain_blocking: Importerer blokerede konti
|
||||||
following: Importerer fulgte konti
|
following: Importerer fulgte konti
|
||||||
lists: Import af lister
|
lists: Import af lister
|
||||||
muting: Importerer tavsgjorte konti
|
muting: Importerer skjulte kontoer
|
||||||
type: Importtype
|
type: Importtype
|
||||||
type_groups:
|
type_groups:
|
||||||
constructive: Følger og Bogmærker
|
constructive: Følger og Bogmærker
|
||||||
destructive: Blokeringer og tavsgjorte
|
destructive: Blokerede og skjulte kontoer
|
||||||
types:
|
types:
|
||||||
blocking: Blokeringsliste
|
blocking: Blokeringsliste
|
||||||
bookmarks: Bogmærker
|
bookmarks: Bogmærker
|
||||||
|
@ -1529,7 +1529,7 @@ da:
|
||||||
follow: e-mailnotifikationer om nye følgere
|
follow: e-mailnotifikationer om nye følgere
|
||||||
follow_request: e-mailnotifikationer om følgeanmodninger
|
follow_request: e-mailnotifikationer om følgeanmodninger
|
||||||
mention: e-mailnotifikationer om omtaler
|
mention: e-mailnotifikationer om omtaler
|
||||||
reblog: e-mailnotifikationer om boosts
|
reblog: e-mailnotifikationer om fremhævelser
|
||||||
resubscribe_html: Har man afmeldt sig ved en fejl, kan man gentilmelde sig via <a href="%{settings_path}">indstillingerne E-mailnotifikationer</a>.
|
resubscribe_html: Har man afmeldt sig ved en fejl, kan man gentilmelde sig via <a href="%{settings_path}">indstillingerne E-mailnotifikationer</a>.
|
||||||
success_html: Man vil ikke længere modtage %{type} for Mastodon på %{domain} til e-mailen %{email}.
|
success_html: Man vil ikke længere modtage %{type} for Mastodon på %{domain} til e-mailen %{email}.
|
||||||
title: Opsig abonnement
|
title: Opsig abonnement
|
||||||
|
@ -1574,7 +1574,7 @@ da:
|
||||||
title: Moderation
|
title: Moderation
|
||||||
move_handler:
|
move_handler:
|
||||||
carry_blocks_over_text: Denne bruger er flyttet fra %{acct}, som du har haft blokeret.
|
carry_blocks_over_text: Denne bruger er flyttet fra %{acct}, som du har haft blokeret.
|
||||||
carry_mutes_over_text: Denne bruger er flyttet fra %{acct}, som du har haft tavsgjort.
|
carry_mutes_over_text: Denne bruger er flyttet fra %{acct}, som du har haft skjult.
|
||||||
copy_account_note_text: 'Denne bruger er flyttet fra %{acct}, hvor dine tidligere noter om dem var:'
|
copy_account_note_text: 'Denne bruger er flyttet fra %{acct}, hvor dine tidligere noter om dem var:'
|
||||||
navigation:
|
navigation:
|
||||||
toggle_menu: Åbn/luk menu
|
toggle_menu: Åbn/luk menu
|
||||||
|
@ -1605,9 +1605,9 @@ da:
|
||||||
poll:
|
poll:
|
||||||
subject: En afstemning fra %{name} er afsluttet
|
subject: En afstemning fra %{name} er afsluttet
|
||||||
reblog:
|
reblog:
|
||||||
body: 'Dit indlæg blev boostet af %{name}:'
|
body: 'Dit indlæg blev fremhævet af %{name}:'
|
||||||
subject: "%{name} boostede dit indlæg"
|
subject: "%{name} fremhævede dit indlæg"
|
||||||
title: Nyt boost
|
title: Ny fremhævelse
|
||||||
status:
|
status:
|
||||||
subject: "%{name} har netop postet"
|
subject: "%{name} har netop postet"
|
||||||
update:
|
update:
|
||||||
|
@ -1704,7 +1704,7 @@ da:
|
||||||
content_warning: 'Indholdsadvarsel:'
|
content_warning: 'Indholdsadvarsel:'
|
||||||
descriptions:
|
descriptions:
|
||||||
account: Offentlige indlæg fra @%{acct}
|
account: Offentlige indlæg fra @%{acct}
|
||||||
tag: 'Offentlige indlæg tagget #%{hashtag}'
|
tag: 'Offentlige indlæg etiketteret #%{hashtag}'
|
||||||
scheduled_statuses:
|
scheduled_statuses:
|
||||||
over_daily_limit: Den daglige grænse på %{limit} planlagte indlæg er nået
|
over_daily_limit: Den daglige grænse på %{limit} planlagte indlæg er nået
|
||||||
over_total_limit: Grænsen på %{limit} planlagte indlæg er nået
|
over_total_limit: Grænsen på %{limit} planlagte indlæg er nået
|
||||||
|
@ -1769,7 +1769,7 @@ da:
|
||||||
development: Udvikling
|
development: Udvikling
|
||||||
edit_profile: Redigér profil
|
edit_profile: Redigér profil
|
||||||
export: Eksport
|
export: Eksport
|
||||||
featured_tags: Udvalgte hashtags
|
featured_tags: Udvalgte etiketter
|
||||||
import: Import
|
import: Import
|
||||||
import_and_export: Import og eksport
|
import_and_export: Import og eksport
|
||||||
migrate: Kontomigrering
|
migrate: Kontomigrering
|
||||||
|
@ -1805,12 +1805,12 @@ da:
|
||||||
video:
|
video:
|
||||||
one: "%{count} video"
|
one: "%{count} video"
|
||||||
other: "%{count} videoer"
|
other: "%{count} videoer"
|
||||||
boosted_from_html: Boostet fra %{acct_link}
|
boosted_from_html: Fremhævet fra %{acct_link}
|
||||||
content_warning: 'Indholdsadvarsel: %{warning}'
|
content_warning: 'Indholdsadvarsel: %{warning}'
|
||||||
default_language: Samme som UI-sproget
|
default_language: Samme som UI-sproget
|
||||||
disallowed_hashtags:
|
disallowed_hashtags:
|
||||||
one: 'indeholdte et ikke tilladt hashtag: %{tags}'
|
one: 'indeholdte en ikke tilladt etiket: %{tags}'
|
||||||
other: 'indeholdte de ikke tilladte hashtags: %{tags}'
|
other: 'indeholdte de ikke tilladte etiketter: %{tags}'
|
||||||
edited_at_html: Redigeret %{date}
|
edited_at_html: Redigeret %{date}
|
||||||
errors:
|
errors:
|
||||||
in_reply_not_found: Indlægget, der forsøges besvaret, ser ikke ud til at eksistere.
|
in_reply_not_found: Indlægget, der forsøges besvaret, ser ikke ud til at eksistere.
|
||||||
|
@ -1819,7 +1819,7 @@ da:
|
||||||
direct: Indlæg, som kun kan ses af omtalte brugere, kan ikke fastgøres
|
direct: Indlæg, som kun kan ses af omtalte brugere, kan ikke fastgøres
|
||||||
limit: Maksimalt antal indlæg allerede fastgjort
|
limit: Maksimalt antal indlæg allerede fastgjort
|
||||||
ownership: Andres indlæg kan ikke fastgøres
|
ownership: Andres indlæg kan ikke fastgøres
|
||||||
reblog: Et boost kan ikke fastgøres
|
reblog: En fremhævelse kan ikke fastgøres
|
||||||
title: '%{name}: "%{quote}"'
|
title: '%{name}: "%{quote}"'
|
||||||
visibilities:
|
visibilities:
|
||||||
direct: Direkte
|
direct: Direkte
|
||||||
|
@ -1835,9 +1835,9 @@ da:
|
||||||
exceptions: Undtagelser
|
exceptions: Undtagelser
|
||||||
explanation: Sletning af indlæg er en ressourcekrævende operation, hvorfor dette sker gradvist over tid, når serveren ellers ikke er optaget. Indlæg kan derfor blive slettet efter, at de reelt har passeret aldersgrænsen.
|
explanation: Sletning af indlæg er en ressourcekrævende operation, hvorfor dette sker gradvist over tid, når serveren ellers ikke er optaget. Indlæg kan derfor blive slettet efter, at de reelt har passeret aldersgrænsen.
|
||||||
ignore_favs: Ignorér favoritter
|
ignore_favs: Ignorér favoritter
|
||||||
ignore_reblogs: Ignorér boosts
|
ignore_reblogs: Ignorér fremhævelser
|
||||||
interaction_exceptions: Undtagelser baseret på interaktioner
|
interaction_exceptions: Undtagelser baseret på interaktioner
|
||||||
interaction_exceptions_explanation: Bemærk, at det ikke garanteres, at indlæg slettes, hvis de når under favorit- eller boost-tærsklerne efter én gang at været nået over dem.
|
interaction_exceptions_explanation: Bemærk, at det ikke garanteres, at indlæg slettes, hvis de når under favorit- eller fremhævelses-tærsklerne efter én gang at været nået over dem.
|
||||||
keep_direct: Behold direkte besked
|
keep_direct: Behold direkte besked
|
||||||
keep_direct_hint: Sletter ingen af dine direkte beskeder
|
keep_direct_hint: Sletter ingen af dine direkte beskeder
|
||||||
keep_media: Behold indlæg med medievedhæftninger
|
keep_media: Behold indlæg med medievedhæftninger
|
||||||
|
@ -1862,8 +1862,8 @@ da:
|
||||||
min_age_label: Alderstærskel
|
min_age_label: Alderstærskel
|
||||||
min_favs: Behold indlæg favoritmarkeret mindst
|
min_favs: Behold indlæg favoritmarkeret mindst
|
||||||
min_favs_hint: Sletter ingen egne indlæg, som har modtaget minimum dette antal favoritmarkeringer. Lad stå tomt for at slette indlæg uanset favoritmarkeringer
|
min_favs_hint: Sletter ingen egne indlæg, som har modtaget minimum dette antal favoritmarkeringer. Lad stå tomt for at slette indlæg uanset favoritmarkeringer
|
||||||
min_reblogs: Behold indlæg boostet mindst
|
min_reblogs: Behold indlæg fremhævet mindst
|
||||||
min_reblogs_hint: Sletter ingen egne indlæg, som er boostet flere end dette antal gange. Lad stå tomt for at ignorere denne tærskel under sletning
|
min_reblogs_hint: Sletter ingen af egne indlæg, som er fremhævet flere end dette antal gange. Lad stå tomt for at ignorere denne tærskel under sletning
|
||||||
stream_entries:
|
stream_entries:
|
||||||
sensitive_content: Sensitivt indhold
|
sensitive_content: Sensitivt indhold
|
||||||
strikes:
|
strikes:
|
||||||
|
@ -2003,8 +2003,8 @@ da:
|
||||||
one: "%{people} person de seneste 2 dage"
|
one: "%{people} person de seneste 2 dage"
|
||||||
other: "%{people} personer de seneste 2 dage"
|
other: "%{people} personer de seneste 2 dage"
|
||||||
hashtags_subtitle: Udforsk de seneste 2 dages tendenser
|
hashtags_subtitle: Udforsk de seneste 2 dages tendenser
|
||||||
hashtags_title: Populære hashtags
|
hashtags_title: Populære etiketter
|
||||||
hashtags_view_more: Se flere populære hashtags
|
hashtags_view_more: Se flere populære etiketter
|
||||||
post_action: Skriv
|
post_action: Skriv
|
||||||
post_step: Sig hej til verden med tekst, fotos, videoer eller afstemninger.
|
post_step: Sig hej til verden med tekst, fotos, videoer eller afstemninger.
|
||||||
post_title: Opret det første indlæg
|
post_title: Opret det første indlæg
|
||||||
|
|
|
@ -130,11 +130,11 @@ da:
|
||||||
crypto: Ende-til-ende kryptering
|
crypto: Ende-til-ende kryptering
|
||||||
favourites: Favoritter
|
favourites: Favoritter
|
||||||
filters: Filtre
|
filters: Filtre
|
||||||
follow: Følger, Tavsgør og Blokerer
|
follow: Fulgte, skjjulte og blokerede kontoer
|
||||||
follows: Følger
|
follows: Følger
|
||||||
lists: Lister
|
lists: Lister
|
||||||
media: Medievedhæftninger
|
media: Medievedhæftninger
|
||||||
mutes: Tavsgørelser
|
mutes: Skjulte kontoer
|
||||||
notifications: Notifikationer
|
notifications: Notifikationer
|
||||||
profile: Din Mastodon-profil
|
profile: Din Mastodon-profil
|
||||||
push: Push-notifikationer
|
push: Push-notifikationer
|
||||||
|
@ -177,7 +177,7 @@ da:
|
||||||
read:filters: se dine filtre
|
read:filters: se dine filtre
|
||||||
read:follows: se dine følger
|
read:follows: se dine følger
|
||||||
read:lists: se dine lister
|
read:lists: se dine lister
|
||||||
read:mutes: se dine tavsgørelser
|
read:mutes: se dine skjulte kontoer
|
||||||
read:notifications: se dine notifikationer
|
read:notifications: se dine notifikationer
|
||||||
read:reports: se dine anmeldelser
|
read:reports: se dine anmeldelser
|
||||||
read:search: søg på dine vegne
|
read:search: søg på dine vegne
|
||||||
|
@ -186,13 +186,13 @@ da:
|
||||||
write:accounts: ændre din profil
|
write:accounts: ændre din profil
|
||||||
write:blocks: blokere konti og domæner
|
write:blocks: blokere konti og domæner
|
||||||
write:bookmarks: bogmærke indlæg
|
write:bookmarks: bogmærke indlæg
|
||||||
write:conversations: tavsgøre og slette konversationer
|
write:conversations: skjul og slet samtaler
|
||||||
write:favourites: favoritmarkere indlæg
|
write:favourites: favoritmarkere indlæg
|
||||||
write:filters: oprette filtre
|
write:filters: oprette filtre
|
||||||
write:follows: følge personer
|
write:follows: følge personer
|
||||||
write:lists: oprette lister
|
write:lists: oprette lister
|
||||||
write:media: uploade mediefiler
|
write:media: uploade mediefiler
|
||||||
write:mutes: tavsgøre personer og konversationer
|
write:mutes: skjul personer og samtaler
|
||||||
write:notifications: rydde dine notifikationer
|
write:notifications: rydde dine notifikationer
|
||||||
write:reports: anmelde personer
|
write:reports: anmelde personer
|
||||||
write:statuses: udgive indlæg
|
write:statuses: udgive indlæg
|
||||||
|
|
|
@ -191,7 +191,7 @@ eo:
|
||||||
write:filters: krei filtrilojn
|
write:filters: krei filtrilojn
|
||||||
write:follows: sekvi homojn
|
write:follows: sekvi homojn
|
||||||
write:lists: krei listojn
|
write:lists: krei listojn
|
||||||
write:media: alŝuti plurmediojn
|
write:media: alŝuti aŭdovidaĵojn
|
||||||
write:mutes: silentigi homojn kaj konversaciojn
|
write:mutes: silentigi homojn kaj konversaciojn
|
||||||
write:notifications: forigi viajn sciigojn
|
write:notifications: forigi viajn sciigojn
|
||||||
write:reports: signali aliajn homojn
|
write:reports: signali aliajn homojn
|
||||||
|
|
|
@ -363,7 +363,7 @@ eo:
|
||||||
dashboard:
|
dashboard:
|
||||||
active_users: aktivaj uzantoj
|
active_users: aktivaj uzantoj
|
||||||
interactions: interago
|
interactions: interago
|
||||||
media_storage: Konservo de plurmedioj
|
media_storage: Konservo de aŭdovidaĵoj
|
||||||
new_users: novaj uzantoj
|
new_users: novaj uzantoj
|
||||||
opened_reports: raportoj malfermitaj
|
opened_reports: raportoj malfermitaj
|
||||||
pending_appeals_html:
|
pending_appeals_html:
|
||||||
|
@ -508,7 +508,7 @@ eo:
|
||||||
description_html: Vi povas difini enhavopolitikojn al la ĉiuj kontoj.
|
description_html: Vi povas difini enhavopolitikojn al la ĉiuj kontoj.
|
||||||
limited_federation_mode_description_html: Vi povas elekti, ĉu permesi federacion kun tiu domajno.
|
limited_federation_mode_description_html: Vi povas elekti, ĉu permesi federacion kun tiu domajno.
|
||||||
policies:
|
policies:
|
||||||
reject_media: Malakcepti plurmediojn
|
reject_media: Malakcepti la vidaŭdaĵojn
|
||||||
reject_reports: Malakcepti raportojn
|
reject_reports: Malakcepti raportojn
|
||||||
silence: Kaŝu
|
silence: Kaŝu
|
||||||
suspend: Suspendi
|
suspend: Suspendi
|
||||||
|
|
|
@ -1266,6 +1266,7 @@ ga:
|
||||||
too_fast: Cuireadh an fhoirm isteach róthapa, triail arís.
|
too_fast: Cuireadh an fhoirm isteach róthapa, triail arís.
|
||||||
use_security_key: Úsáid eochair shlándála
|
use_security_key: Úsáid eochair shlándála
|
||||||
user_agreement_html: Léigh mé agus aontaím leis na <a href="%{terms_of_service_path}" target="_blank">téarmaí seirbhíse</a> agus <a href="%{privacy_policy_path}" target="_blank">polasaí príobháideachais</a>
|
user_agreement_html: Léigh mé agus aontaím leis na <a href="%{terms_of_service_path}" target="_blank">téarmaí seirbhíse</a> agus <a href="%{privacy_policy_path}" target="_blank">polasaí príobháideachais</a>
|
||||||
|
user_privacy_agreement_html: Léigh mé agus aontaím leis an <a href="%{privacy_policy_path}" target="_blank">polasaí príobháideachais</a>
|
||||||
author_attribution:
|
author_attribution:
|
||||||
example_title: Téacs samplach
|
example_title: Téacs samplach
|
||||||
hint_html: An bhfuil tú ag scríobh altanna nuachta nó blag lasmuigh de Mastodon? Rialú conas a gheobhaidh tú creidmheas nuair a roinntear iad ar Mastodon.
|
hint_html: An bhfuil tú ag scríobh altanna nuachta nó blag lasmuigh de Mastodon? Rialú conas a gheobhaidh tú creidmheas nuair a roinntear iad ar Mastodon.
|
||||||
|
|
|
@ -1209,6 +1209,7 @@ ia:
|
||||||
too_fast: Formulario inviate troppo rapidemente. Tenta lo de novo.
|
too_fast: Formulario inviate troppo rapidemente. Tenta lo de novo.
|
||||||
use_security_key: Usar clave de securitate
|
use_security_key: Usar clave de securitate
|
||||||
user_agreement_html: Io ha legite e accepta le <a href="%{terms_of_service_path}" target="_blank">conditiones de servicio</a> e le <a href="%{privacy_policy_path}" target="_blank">politica de confidentialitate</a>
|
user_agreement_html: Io ha legite e accepta le <a href="%{terms_of_service_path}" target="_blank">conditiones de servicio</a> e le <a href="%{privacy_policy_path}" target="_blank">politica de confidentialitate</a>
|
||||||
|
user_privacy_agreement_html: Io ha legite e io accepta le <a href="%{privacy_policy_path}" target="_blank">politica de confidentialitate</a>
|
||||||
author_attribution:
|
author_attribution:
|
||||||
example_title: Texto de exemplo
|
example_title: Texto de exemplo
|
||||||
hint_html: Scribe tu articulos de novas o de blog foras de Mastodon? Controla le maniera in que tu recipe attribution quando on los condivide sur Mastodon.
|
hint_html: Scribe tu articulos de novas o de blog foras de Mastodon? Controla le maniera in que tu recipe attribution quando on los condivide sur Mastodon.
|
||||||
|
|
|
@ -1673,7 +1673,7 @@ ko:
|
||||||
over_total_limit: 예약 게시물 제한 %{limit}을 초과합니다
|
over_total_limit: 예약 게시물 제한 %{limit}을 초과합니다
|
||||||
too_soon: 미래의 날짜여야 합니다
|
too_soon: 미래의 날짜여야 합니다
|
||||||
self_destruct:
|
self_destruct:
|
||||||
lead_html: 안타깝게도, <strong>%{domain}</strong> 도메인을 영구히 폐쇄합니다. 이곳의 계정을 가졌다면, 이제 이용할 수 없으며, 당분간 백업 데이터를 요청할 수 있습니다.
|
lead_html: 안타깝게도, <strong>%{domain}</strong>은 영구적으로 폐쇄됩니다. 이곳의 계정을 가지고 있었다면, 이제 이용할 수 없지만 백업 데이터는 요청할 수 있습니다.
|
||||||
title: 이 서버는 폐쇄중입니다
|
title: 이 서버는 폐쇄중입니다
|
||||||
sessions:
|
sessions:
|
||||||
activity: 최근 활동
|
activity: 최근 활동
|
||||||
|
|
|
@ -1247,6 +1247,7 @@ pl:
|
||||||
too_fast: Zbyt szybko przesłano formularz, spróbuj ponownie.
|
too_fast: Zbyt szybko przesłano formularz, spróbuj ponownie.
|
||||||
use_security_key: Użyj klucza bezpieczeństwa
|
use_security_key: Użyj klucza bezpieczeństwa
|
||||||
user_agreement_html: Przeczytałem i akceptuję <a href="%{terms_of_service_path}" target="_blank">warunki korzystania z usługi</a> oraz <a href="%{privacy_policy_path}" target="_blank">politykę prywatności</a>
|
user_agreement_html: Przeczytałem i akceptuję <a href="%{terms_of_service_path}" target="_blank">warunki korzystania z usługi</a> oraz <a href="%{privacy_policy_path}" target="_blank">politykę prywatności</a>
|
||||||
|
user_privacy_agreement_html: Przeczytałem/am/o i akceptuję <a href="%{privacy_policy_path}" target="_blank">politykę prywatności</a>
|
||||||
author_attribution:
|
author_attribution:
|
||||||
example_title: Przykładowy tekst
|
example_title: Przykładowy tekst
|
||||||
hint_html: Piszesz wiadomości albo bloga poza Mastodonem? Kontroluj jak będą ci przypisywane podczas dizielenia się nimi na Mastodonie.
|
hint_html: Piszesz wiadomości albo bloga poza Mastodonem? Kontroluj jak będą ci przypisywane podczas dizielenia się nimi na Mastodonie.
|
||||||
|
|
|
@ -1247,6 +1247,7 @@ ru:
|
||||||
too_fast: Форма отправлена слишком быстро, попробуйте еще раз.
|
too_fast: Форма отправлена слишком быстро, попробуйте еще раз.
|
||||||
use_security_key: Использовать ключ безопасности
|
use_security_key: Использовать ключ безопасности
|
||||||
user_agreement_html: Мной прочитаны и приняты<a href="%{terms_of_service_path}" target="_blank">пользовательское соглашение</a> и <a href="%{privacy_policy_path}" target="_blank">политика конфиденциальности</a>
|
user_agreement_html: Мной прочитаны и приняты<a href="%{terms_of_service_path}" target="_blank">пользовательское соглашение</a> и <a href="%{privacy_policy_path}" target="_blank">политика конфиденциальности</a>
|
||||||
|
user_privacy_agreement_html: Мной прочитана и принята <a href="%{privacy_policy_path}" target="_blank">политика конфиденциальности</a>
|
||||||
author_attribution:
|
author_attribution:
|
||||||
example_title: Образец текста
|
example_title: Образец текста
|
||||||
hint_html: Публикуете ли вы свои статьи где-либо ещё кроме Mastodon? Если да, то ваше авторство может быть упомянуто, когда ими делятся в Mastodon.
|
hint_html: Публикуете ли вы свои статьи где-либо ещё кроме Mastodon? Если да, то ваше авторство может быть упомянуто, когда ими делятся в Mastodon.
|
||||||
|
|
|
@ -233,6 +233,7 @@ cs:
|
||||||
setting_display_media_show_all: Zobrazit vše
|
setting_display_media_show_all: Zobrazit vše
|
||||||
setting_expand_spoilers: Vždy rozbalit příspěvky označené varováními o obsahu
|
setting_expand_spoilers: Vždy rozbalit příspěvky označené varováními o obsahu
|
||||||
setting_hide_network: Skrýt mou síť
|
setting_hide_network: Skrýt mou síť
|
||||||
|
setting_missing_alt_text_modal: Zobrazit potvrzovací dialog před odesláním médií bez alt textu
|
||||||
setting_reduce_motion: Omezit pohyb v animacích
|
setting_reduce_motion: Omezit pohyb v animacích
|
||||||
setting_system_font_ui: Použít výchozí písmo systému
|
setting_system_font_ui: Použít výchozí písmo systému
|
||||||
setting_system_scrollbars_ui: Použít výchozí posuvník systému
|
setting_system_scrollbars_ui: Použít výchozí posuvník systému
|
||||||
|
|
|
@ -3,6 +3,7 @@ cy:
|
||||||
simple_form:
|
simple_form:
|
||||||
hints:
|
hints:
|
||||||
account:
|
account:
|
||||||
|
attribution_domains: Un i bob llinell. Yn amddiffyn rhag priodoli ffug.
|
||||||
discoverable: Mae'n bosibl y bydd eich postiadau cyhoeddus a'ch proffil yn cael sylw neu'n cael eu hargymell mewn gwahanol feysydd o Mastodon ac efallai y bydd eich proffil yn cael ei awgrymu i ddefnyddwyr eraill.
|
discoverable: Mae'n bosibl y bydd eich postiadau cyhoeddus a'ch proffil yn cael sylw neu'n cael eu hargymell mewn gwahanol feysydd o Mastodon ac efallai y bydd eich proffil yn cael ei awgrymu i ddefnyddwyr eraill.
|
||||||
display_name: Eich enw llawn neu'ch enw hwyl.
|
display_name: Eich enw llawn neu'ch enw hwyl.
|
||||||
fields: Eich tudalen cartref, rhagenwau, oed, neu unrhyw beth.
|
fields: Eich tudalen cartref, rhagenwau, oed, neu unrhyw beth.
|
||||||
|
@ -155,6 +156,7 @@ cy:
|
||||||
url: I ble bydd digwyddiadau'n cael eu hanfon
|
url: I ble bydd digwyddiadau'n cael eu hanfon
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
|
attribution_domains: Gwefannau sy'n cael caniatâd i'ch cydnabod chi
|
||||||
discoverable: Proffil nodwedd a phostiadau mewn algorithmau darganfod
|
discoverable: Proffil nodwedd a phostiadau mewn algorithmau darganfod
|
||||||
fields:
|
fields:
|
||||||
name: Label
|
name: Label
|
||||||
|
@ -231,6 +233,7 @@ cy:
|
||||||
setting_display_media_show_all: Dangos popeth
|
setting_display_media_show_all: Dangos popeth
|
||||||
setting_expand_spoilers: Dangos postiadau wedi'u marcio â rhybudd cynnwys bob tro
|
setting_expand_spoilers: Dangos postiadau wedi'u marcio â rhybudd cynnwys bob tro
|
||||||
setting_hide_network: Cuddio eich graff cymdeithasol
|
setting_hide_network: Cuddio eich graff cymdeithasol
|
||||||
|
setting_missing_alt_text_modal: Dangos deialog cadarnhau cyn postio cyfrwng heb destun amgen
|
||||||
setting_reduce_motion: Lleihau mudiant mewn animeiddiadau
|
setting_reduce_motion: Lleihau mudiant mewn animeiddiadau
|
||||||
setting_system_font_ui: Defnyddio ffont rhagosodedig y system
|
setting_system_font_ui: Defnyddio ffont rhagosodedig y system
|
||||||
setting_system_scrollbars_ui: Defnyddiwch far sgrolio rhagosodedig y system
|
setting_system_scrollbars_ui: Defnyddiwch far sgrolio rhagosodedig y system
|
||||||
|
|
|
@ -8,7 +8,7 @@ da:
|
||||||
display_name: Dit fulde navn eller dit sjove navn.
|
display_name: Dit fulde navn eller dit sjove navn.
|
||||||
fields: Din hjemmeside, dine pronominer, din alder, eller hvad du har lyst til.
|
fields: Din hjemmeside, dine pronominer, din alder, eller hvad du har lyst til.
|
||||||
indexable: Dine offentlige indlæg vil kunne vises i Mastodon-søgeresultater. Folk, som har interageret med dem, vil kunne finde dem uanset.
|
indexable: Dine offentlige indlæg vil kunne vises i Mastodon-søgeresultater. Folk, som har interageret med dem, vil kunne finde dem uanset.
|
||||||
note: 'Du kan @omtale andre personer eller #hashtags.'
|
note: 'Du kan @omtale andre personer eller #etiketter.'
|
||||||
show_collections: Folk vil ikke kunne tjekke dine Følger og Følgere. Folk, du selv følger, vil stadig kunne se dette.
|
show_collections: Folk vil ikke kunne tjekke dine Følger og Følgere. Folk, du selv følger, vil stadig kunne se dette.
|
||||||
unlocked: Man vil kunne følges af folk uden først at godkende dem. Ønsker man at gennemgå Følg-anmodninger og individuelt acceptere/afvise nye følgere, så fjern markeringen.
|
unlocked: Man vil kunne følges af folk uden først at godkende dem. Ønsker man at gennemgå Følg-anmodninger og individuelt acceptere/afvise nye følgere, så fjern markeringen.
|
||||||
account_alias:
|
account_alias:
|
||||||
|
@ -16,7 +16,7 @@ da:
|
||||||
account_migration:
|
account_migration:
|
||||||
acct: Angiv brugernavn@domain for den konto, hvortil du vil flytte
|
acct: Angiv brugernavn@domain for den konto, hvortil du vil flytte
|
||||||
account_warning_preset:
|
account_warning_preset:
|
||||||
text: Du kan bruge indlægssyntaks, såsom URL'er, hashtags og omtaler
|
text: Du kan bruge indlægssyntaks, såsom URL'er, etiketter og omtaler
|
||||||
title: Valgfri. Ikke synlig for modtageren
|
title: Valgfri. Ikke synlig for modtageren
|
||||||
admin_account_action:
|
admin_account_action:
|
||||||
include_statuses: Brugeren vil se, hvilke indlæg, som har forårsaget modereringen/advarslen
|
include_statuses: Brugeren vil se, hvilke indlæg, som har forårsaget modereringen/advarslen
|
||||||
|
@ -54,7 +54,7 @@ da:
|
||||||
password: Brug mindst 8 tegn
|
password: Brug mindst 8 tegn
|
||||||
phrase: Matches uanset uanset brug af store/små bogstaver i teksten eller indholdsadvarsel for et indlæg
|
phrase: Matches uanset uanset brug af store/små bogstaver i teksten eller indholdsadvarsel for et indlæg
|
||||||
scopes: De API'er, som applikationen vil kunne tilgå. Vælges en topniveaudstrækning, vil detailvalg være unødvendige.
|
scopes: De API'er, som applikationen vil kunne tilgå. Vælges en topniveaudstrækning, vil detailvalg være unødvendige.
|
||||||
setting_aggregate_reblogs: Vis ikke nye boosts for nyligt boostede indlæg (påvirker kun nyligt modtagne boosts)
|
setting_aggregate_reblogs: Vis ikke nye fremhævelser for nyligt fremhævede indlæg (påvirker kun nyligt modtagne fremhævelser)
|
||||||
setting_always_send_emails: Normalt sendes ingen e-mailnotifikationer under aktivt brug af Mastodon
|
setting_always_send_emails: Normalt sendes ingen e-mailnotifikationer under aktivt brug af Mastodon
|
||||||
setting_default_sensitive: Sensitive medier er som standard skjult og kan vises med et klik
|
setting_default_sensitive: Sensitive medier er som standard skjult og kan vises med et klik
|
||||||
setting_display_media_default: Skjul medier med sensitiv-markering
|
setting_display_media_default: Skjul medier med sensitiv-markering
|
||||||
|
@ -71,7 +71,7 @@ da:
|
||||||
domain: Dette kan være domænenavnet vist i den benyttede i e-mailadresse eller MX-post. Begge tjekkes under tilmelding.
|
domain: Dette kan være domænenavnet vist i den benyttede i e-mailadresse eller MX-post. Begge tjekkes under tilmelding.
|
||||||
with_dns_records: Et forsøg på at opløse det givne domænes DNS-poster foretages, og resultaterne blokeres ligeledes
|
with_dns_records: Et forsøg på at opløse det givne domænes DNS-poster foretages, og resultaterne blokeres ligeledes
|
||||||
featured_tag:
|
featured_tag:
|
||||||
name: 'Her er nogle af dine hyppigst brugte hashtags:'
|
name: 'Her er nogle af dine hyppigst brugte etiketter:'
|
||||||
filters:
|
filters:
|
||||||
action: Vælg handlingen til eksekvering, når et indlæg matcher filteret
|
action: Vælg handlingen til eksekvering, når et indlæg matcher filteret
|
||||||
actions:
|
actions:
|
||||||
|
@ -83,7 +83,7 @@ da:
|
||||||
backups_retention_period: Brugere har mulighed for at generere arkiver af deres indlæg til senere downloade. Når sat til positiv værdi, vil disse arkiver automatisk blive slettet fra lagerpladsen efter det angivne antal dage.
|
backups_retention_period: Brugere har mulighed for at generere arkiver af deres indlæg til senere downloade. Når sat til positiv værdi, vil disse arkiver automatisk blive slettet fra lagerpladsen efter det angivne antal dage.
|
||||||
bootstrap_timeline_accounts: Disse konti fastgøres øverst på nye brugeres følg-anbefalinger.
|
bootstrap_timeline_accounts: Disse konti fastgøres øverst på nye brugeres følg-anbefalinger.
|
||||||
closed_registrations_message: Vises, når tilmeldinger er lukket
|
closed_registrations_message: Vises, når tilmeldinger er lukket
|
||||||
content_cache_retention_period: Alle indlæg fra andre servere (herunder boosts og besvarelser) slettes efter det angivne antal dage uden hensyn til lokal brugerinteraktion med disse indlæg. Dette omfatter indlæg, hvor en lokal bruger har markeret dem som bogmærker eller favoritter. Private omtaler mellem brugere fra forskellige instanser vil også være tabt og umulige at gendanne. Brugen af denne indstilling er beregnet til særlige formål instanser og bryder mange brugerforventninger ved implementering til almindelig brug.
|
content_cache_retention_period: Alle indlæg fra andre servere (herunder fremhævelser og besvarelser) slettes efter det angivne antal dage uden hensyn til lokal brugerinteraktion med disse indlæg. Dette omfatter indlæg, hvor en lokal bruger har markeret dem som bogmærker eller favoritter. Private omtaler mellem brugere fra forskellige instanser vil også være tabt og umulige at gendanne. Brugen af denne indstilling er beregnet til særlige formål instanser og bryder mange brugerforventninger ved implementering til almindelig brug.
|
||||||
custom_css: Man kan anvende tilpassede stilarter på Mastodon-webversionen.
|
custom_css: Man kan anvende tilpassede stilarter på Mastodon-webversionen.
|
||||||
favicon: WEBP, PNG, GIF eller JPG. Tilsidesætter standard Mastodon favikonet på mobilenheder med et tilpasset ikon.
|
favicon: WEBP, PNG, GIF eller JPG. Tilsidesætter standard Mastodon favikonet på mobilenheder med et tilpasset ikon.
|
||||||
mascot: Tilsidesætter illustrationen i den avancerede webgrænseflade.
|
mascot: Tilsidesætter illustrationen i den avancerede webgrænseflade.
|
||||||
|
@ -102,7 +102,7 @@ da:
|
||||||
thumbnail: Et ca. 2:1 billede vist sammen med serveroplysningerne.
|
thumbnail: Et ca. 2:1 billede vist sammen med serveroplysningerne.
|
||||||
timeline_preview: Udloggede besøgende kan gennemse serverens seneste offentlige indlæg.
|
timeline_preview: Udloggede besøgende kan gennemse serverens seneste offentlige indlæg.
|
||||||
trendable_by_default: Spring manuel gennemgang af trendindhold over. Individuelle elementer kan stadig fjernes fra trends efter kendsgerningen.
|
trendable_by_default: Spring manuel gennemgang af trendindhold over. Individuelle elementer kan stadig fjernes fra trends efter kendsgerningen.
|
||||||
trends: Tendenser viser, hvilke indlæg, hashtags og nyheder opnår momentum på serveren.
|
trends: Tendenser viser, hvilke indlæg, etiketter og nyheder opnår momentum på serveren.
|
||||||
trends_as_landing_page: Vis tendensindhold til udloggede brugere og besøgende i stedet for en beskrivelse af denne server. Kræver, at tendenser er aktiveret.
|
trends_as_landing_page: Vis tendensindhold til udloggede brugere og besøgende i stedet for en beskrivelse af denne server. Kræver, at tendenser er aktiveret.
|
||||||
form_challenge:
|
form_challenge:
|
||||||
current_password: Du bevæger dig ind på et sikkert område
|
current_password: Du bevæger dig ind på et sikkert område
|
||||||
|
@ -217,10 +217,10 @@ da:
|
||||||
password: Adgangskode
|
password: Adgangskode
|
||||||
phrase: Nøgleord/-sætning
|
phrase: Nøgleord/-sætning
|
||||||
setting_advanced_layout: Aktivér avanceret webgrænseflade
|
setting_advanced_layout: Aktivér avanceret webgrænseflade
|
||||||
setting_aggregate_reblogs: Gruppér boosts på tidslinjer
|
setting_aggregate_reblogs: Gruppér fremhævelser på tidslinjer
|
||||||
setting_always_send_emails: Send altid e-mailnotifikationer
|
setting_always_send_emails: Send altid e-mailnotifikationer
|
||||||
setting_auto_play_gif: Autoafspil animerede GIF'er
|
setting_auto_play_gif: Autoafspil animerede GIF'er
|
||||||
setting_boost_modal: Vis bekræftelsesdialog inden boosting
|
setting_boost_modal: Vis bekræftelsesdialog inden fremhævelse
|
||||||
setting_default_language: Sprog for indlæg
|
setting_default_language: Sprog for indlæg
|
||||||
setting_default_privacy: Fortrolighed for indlæg
|
setting_default_privacy: Fortrolighed for indlæg
|
||||||
setting_default_sensitive: Markér altid medier som sensitive
|
setting_default_sensitive: Markér altid medier som sensitive
|
||||||
|
@ -311,7 +311,7 @@ da:
|
||||||
follow_request: Nogen anmodede om at følge dig
|
follow_request: Nogen anmodede om at følge dig
|
||||||
mention: Nogen omtalte dig
|
mention: Nogen omtalte dig
|
||||||
pending_account: Ny konto kræver gennemgang
|
pending_account: Ny konto kræver gennemgang
|
||||||
reblog: Nogen boostede dit indlæg
|
reblog: Nogen fremhævede dit indlæg
|
||||||
report: Ny anmeldelse indsendt
|
report: Ny anmeldelse indsendt
|
||||||
software_updates:
|
software_updates:
|
||||||
all: Notificér ved alle opdateringer
|
all: Notificér ved alle opdateringer
|
||||||
|
@ -327,10 +327,10 @@ da:
|
||||||
indexable: Inkludér profilside i søgemaskiner
|
indexable: Inkludér profilside i søgemaskiner
|
||||||
show_application: Vis, fra hvilken app et indlæg er sendt
|
show_application: Vis, fra hvilken app et indlæg er sendt
|
||||||
tag:
|
tag:
|
||||||
listable: Tillad visning af dette hashtag i søgninger og forslag
|
listable: Tillad visning af denne etiket i søgninger og forslag
|
||||||
name: Hashtag
|
name: Hashtag
|
||||||
trendable: Tillad visning af dette hashtag under trends
|
trendable: Tillad visning af denne etiket under tendenser
|
||||||
usable: Tillad indlæg at benytte dette hashtag lokalt
|
usable: Tillad indlæg at benytte denne etiket lokalt
|
||||||
terms_of_service:
|
terms_of_service:
|
||||||
changelog: Hvad der er ændret?
|
changelog: Hvad der er ændret?
|
||||||
text: Tjenestevilkår
|
text: Tjenestevilkår
|
||||||
|
|
|
@ -233,6 +233,7 @@ en-GB:
|
||||||
setting_display_media_show_all: Show all
|
setting_display_media_show_all: Show all
|
||||||
setting_expand_spoilers: Always expand posts marked with content warnings
|
setting_expand_spoilers: Always expand posts marked with content warnings
|
||||||
setting_hide_network: Hide your social graph
|
setting_hide_network: Hide your social graph
|
||||||
|
setting_missing_alt_text_modal: Show confirmation dialogue before posting media without alt text
|
||||||
setting_reduce_motion: Reduce motion in animations
|
setting_reduce_motion: Reduce motion in animations
|
||||||
setting_system_font_ui: Use system's default font
|
setting_system_font_ui: Use system's default font
|
||||||
setting_system_scrollbars_ui: Use system's default scrollbar
|
setting_system_scrollbars_ui: Use system's default scrollbar
|
||||||
|
|
|
@ -56,10 +56,10 @@ eo:
|
||||||
scopes: Kiujn API-ojn la aplikaĵo permesiĝos atingi. Se vi elektas supran amplekson, vi ne bezonas elekti la individuajn.
|
scopes: Kiujn API-ojn la aplikaĵo permesiĝos atingi. Se vi elektas supran amplekson, vi ne bezonas elekti la individuajn.
|
||||||
setting_aggregate_reblogs: Ne montri novajn plusendojn de mesaĝoj lastatempe plusenditaj (nur efikas al nove ricevitaj plusendoj)
|
setting_aggregate_reblogs: Ne montri novajn plusendojn de mesaĝoj lastatempe plusenditaj (nur efikas al nove ricevitaj plusendoj)
|
||||||
setting_always_send_emails: Normale, la sciigoj per retpoŝto ne estos senditaj kiam vi uzas Mastodon aktive
|
setting_always_send_emails: Normale, la sciigoj per retpoŝto ne estos senditaj kiam vi uzas Mastodon aktive
|
||||||
setting_default_sensitive: Tiklaj plurmedioj estas kaŝitaj implicite, kaj povas esti montritaj per klako
|
setting_default_sensitive: Tiklaj vidaŭdaĵoj estas kaŝitaj implicite, kaj povas esti montritaj per klako
|
||||||
setting_display_media_default: Kaŝi plurmediojn markitajn kiel tiklaj
|
setting_display_media_default: Kaŝi plurmediojn markitajn kiel tiklaj
|
||||||
setting_display_media_hide_all: Ĉiam kaŝi la plurmediojn
|
setting_display_media_hide_all: Ĉiam kaŝi la vidaŭdaĵojn
|
||||||
setting_display_media_show_all: Ĉiam montri la plurmediojn
|
setting_display_media_show_all: Ĉiam montri la vidaŭdaĵojn
|
||||||
setting_system_scrollbars_ui: Aplikas nur por surtablaj retumiloj baziĝas de Safari kaj Chrome
|
setting_system_scrollbars_ui: Aplikas nur por surtablaj retumiloj baziĝas de Safari kaj Chrome
|
||||||
setting_use_blurhash: Transirojn estas bazita sur la koloroj de la kaŝitaj aŭdovidaĵoj sed ne montri iun ajn detalon
|
setting_use_blurhash: Transirojn estas bazita sur la koloroj de la kaŝitaj aŭdovidaĵoj sed ne montri iun ajn detalon
|
||||||
setting_use_pending_items: Kaŝi tempoliniajn ĝisdatigojn malantaŭ klako anstataŭ aŭtomate rulumi la fluon
|
setting_use_pending_items: Kaŝi tempoliniajn ĝisdatigojn malantaŭ klako anstataŭ aŭtomate rulumi la fluon
|
||||||
|
@ -223,11 +223,11 @@ eo:
|
||||||
setting_boost_modal: Montri konfirman fenestron antaŭ ol diskonigi mesaĝon
|
setting_boost_modal: Montri konfirman fenestron antaŭ ol diskonigi mesaĝon
|
||||||
setting_default_language: Publikada lingvo
|
setting_default_language: Publikada lingvo
|
||||||
setting_default_privacy: Privateco de afiŝado
|
setting_default_privacy: Privateco de afiŝado
|
||||||
setting_default_sensitive: Ĉiam marki plurmediojn kiel tiklaj
|
setting_default_sensitive: Ĉiam marki la vidaŭdaĵojn kiel tiklaj
|
||||||
setting_delete_modal: Montri konfirman fenestron antaŭ ol forigi mesaĝon
|
setting_delete_modal: Montri konfirman fenestron antaŭ ol forigi mesaĝon
|
||||||
setting_disable_hover_cards: Malebligi profilan antaŭmontron kiam oni musumas
|
setting_disable_hover_cards: Malebligi profilan antaŭmontron kiam oni musumas
|
||||||
setting_disable_swiping: Malebligi svingajn movojn
|
setting_disable_swiping: Malebligi svingajn movojn
|
||||||
setting_display_media: Montrado de plurmedioj
|
setting_display_media: Vidigo de vidaŭdaĵoj
|
||||||
setting_display_media_default: Implicita
|
setting_display_media_default: Implicita
|
||||||
setting_display_media_hide_all: Kaŝi ĉiujn
|
setting_display_media_hide_all: Kaŝi ĉiujn
|
||||||
setting_display_media_show_all: Montri ĉiujn
|
setting_display_media_show_all: Montri ĉiujn
|
||||||
|
|
|
@ -233,7 +233,7 @@ es-AR:
|
||||||
setting_display_media_show_all: Mostrar todo
|
setting_display_media_show_all: Mostrar todo
|
||||||
setting_expand_spoilers: Siempre expandir los mensajes marcados con advertencias de contenido
|
setting_expand_spoilers: Siempre expandir los mensajes marcados con advertencias de contenido
|
||||||
setting_hide_network: Ocultá tu gráfica social
|
setting_hide_network: Ocultá tu gráfica social
|
||||||
setting_missing_alt_text_modal: Mostrar diálogo de confirmación antes de publicar medios sin texto alternativo
|
setting_missing_alt_text_modal: Mostrar diálogo de confirmación antes de enviar medios sin texto alternativo
|
||||||
setting_reduce_motion: Reducir el movimiento de las animaciones
|
setting_reduce_motion: Reducir el movimiento de las animaciones
|
||||||
setting_system_font_ui: Utilizar la tipografía predeterminada del sistema
|
setting_system_font_ui: Utilizar la tipografía predeterminada del sistema
|
||||||
setting_system_scrollbars_ui: Usar la barra de desplazamiento predeterminada del sistema operativo
|
setting_system_scrollbars_ui: Usar la barra de desplazamiento predeterminada del sistema operativo
|
||||||
|
|
|
@ -233,6 +233,7 @@ fr-CA:
|
||||||
setting_display_media_show_all: Montrer tout
|
setting_display_media_show_all: Montrer tout
|
||||||
setting_expand_spoilers: Toujours déplier les messages marqués d’un avertissement de contenu
|
setting_expand_spoilers: Toujours déplier les messages marqués d’un avertissement de contenu
|
||||||
setting_hide_network: Cacher votre réseau
|
setting_hide_network: Cacher votre réseau
|
||||||
|
setting_missing_alt_text_modal: Afficher une fenêtre de confirmation avant de poster un média sans texte alternatif
|
||||||
setting_reduce_motion: Réduire la vitesse des animations
|
setting_reduce_motion: Réduire la vitesse des animations
|
||||||
setting_system_font_ui: Utiliser la police par défaut du système
|
setting_system_font_ui: Utiliser la police par défaut du système
|
||||||
setting_system_scrollbars_ui: Utiliser la barre de défilement par défaut du système
|
setting_system_scrollbars_ui: Utiliser la barre de défilement par défaut du système
|
||||||
|
|
|
@ -233,6 +233,7 @@ fr:
|
||||||
setting_display_media_show_all: Montrer tout
|
setting_display_media_show_all: Montrer tout
|
||||||
setting_expand_spoilers: Toujours déplier les messages marqués d’un avertissement de contenu
|
setting_expand_spoilers: Toujours déplier les messages marqués d’un avertissement de contenu
|
||||||
setting_hide_network: Cacher votre réseau
|
setting_hide_network: Cacher votre réseau
|
||||||
|
setting_missing_alt_text_modal: Afficher une fenêtre de confirmation avant de poster un média sans texte alternatif
|
||||||
setting_reduce_motion: Réduire la vitesse des animations
|
setting_reduce_motion: Réduire la vitesse des animations
|
||||||
setting_system_font_ui: Utiliser la police par défaut du système
|
setting_system_font_ui: Utiliser la police par défaut du système
|
||||||
setting_system_scrollbars_ui: Utiliser la barre de défilement par défaut du système
|
setting_system_scrollbars_ui: Utiliser la barre de défilement par défaut du système
|
||||||
|
|
|
@ -3,6 +3,7 @@ ga:
|
||||||
simple_form:
|
simple_form:
|
||||||
hints:
|
hints:
|
||||||
account:
|
account:
|
||||||
|
attribution_domains: Ceann in aghaidh an líne. Cosnaíonn sé ó sannadh bréagach.
|
||||||
discoverable: Seans go mbeidh do phostálacha poiblí agus do phróifíl le feiceáil nó molta i réimsí éagsúla de Mastodon agus is féidir do phróifíl a mholadh d’úsáideoirí eile.
|
discoverable: Seans go mbeidh do phostálacha poiblí agus do phróifíl le feiceáil nó molta i réimsí éagsúla de Mastodon agus is féidir do phróifíl a mholadh d’úsáideoirí eile.
|
||||||
display_name: D'ainm iomlán nó d'ainm spraoi.
|
display_name: D'ainm iomlán nó d'ainm spraoi.
|
||||||
fields: Do leathanach baile, forainmneacha, aois, rud ar bith is mian leat.
|
fields: Do leathanach baile, forainmneacha, aois, rud ar bith is mian leat.
|
||||||
|
@ -155,6 +156,7 @@ ga:
|
||||||
url: An áit a seolfar imeachtaí chuig
|
url: An áit a seolfar imeachtaí chuig
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
|
attribution_domains: Tá cead ag suíomhanna Gréasáin creidmheas a thabhairt duit
|
||||||
discoverable: Próifíl gné agus postálacha in halgartaim fionnachtana
|
discoverable: Próifíl gné agus postálacha in halgartaim fionnachtana
|
||||||
fields:
|
fields:
|
||||||
name: Lipéad
|
name: Lipéad
|
||||||
|
@ -231,6 +233,7 @@ ga:
|
||||||
setting_display_media_show_all: Taispeáin uile
|
setting_display_media_show_all: Taispeáin uile
|
||||||
setting_expand_spoilers: Méadaigh postálacha atá marcáilte le rabhaidh inneachair i gcónaí
|
setting_expand_spoilers: Méadaigh postálacha atá marcáilte le rabhaidh inneachair i gcónaí
|
||||||
setting_hide_network: Folaigh do ghraf sóisialta
|
setting_hide_network: Folaigh do ghraf sóisialta
|
||||||
|
setting_missing_alt_text_modal: Taispeáin dialóg deimhnithe sula bpostálann tú meán gan alt téacs
|
||||||
setting_reduce_motion: Laghdú ar an tairiscint i beochan
|
setting_reduce_motion: Laghdú ar an tairiscint i beochan
|
||||||
setting_system_font_ui: Úsáid cló réamhshocraithe an chórais
|
setting_system_font_ui: Úsáid cló réamhshocraithe an chórais
|
||||||
setting_system_scrollbars_ui: Bain úsáid as scrollbharra réamhshocraithe an chórais
|
setting_system_scrollbars_ui: Bain úsáid as scrollbharra réamhshocraithe an chórais
|
||||||
|
|
|
@ -58,8 +58,8 @@ ia:
|
||||||
setting_always_send_emails: Normalmente, le notificationes de e-mail non es inviate quando tu activemente usa Mastodon
|
setting_always_send_emails: Normalmente, le notificationes de e-mail non es inviate quando tu activemente usa Mastodon
|
||||||
setting_default_sensitive: Le medios sensibile es celate de ordinario e pote esser revelate con un clic
|
setting_default_sensitive: Le medios sensibile es celate de ordinario e pote esser revelate con un clic
|
||||||
setting_display_media_default: Celar le medios marcate como sensibile
|
setting_display_media_default: Celar le medios marcate como sensibile
|
||||||
setting_display_media_hide_all: Sempre celar le medios
|
setting_display_media_hide_all: Sempre celar contento multimedial
|
||||||
setting_display_media_show_all: Sempre monstrar le medios
|
setting_display_media_show_all: Sempre monstrar contento multimedial
|
||||||
setting_system_scrollbars_ui: Se applica solmente al navigatores de scriptorio basate sur Safari e Chrome
|
setting_system_scrollbars_ui: Se applica solmente al navigatores de scriptorio basate sur Safari e Chrome
|
||||||
setting_use_blurhash: Le imagines degradate se basa sur le colores del visuales celate, ma illos offusca tote le detalios
|
setting_use_blurhash: Le imagines degradate se basa sur le colores del visuales celate, ma illos offusca tote le detalios
|
||||||
setting_use_pending_items: Requirer un clic pro monstrar nove messages in vice de rolar automaticamente le fluxo
|
setting_use_pending_items: Requirer un clic pro monstrar nove messages in vice de rolar automaticamente le fluxo
|
||||||
|
@ -233,6 +233,7 @@ ia:
|
||||||
setting_display_media_show_all: Monstrar toto
|
setting_display_media_show_all: Monstrar toto
|
||||||
setting_expand_spoilers: Sempre expander messages marcate con avisos de contento
|
setting_expand_spoilers: Sempre expander messages marcate con avisos de contento
|
||||||
setting_hide_network: Cela tu rete social
|
setting_hide_network: Cela tu rete social
|
||||||
|
setting_missing_alt_text_modal: Monstrar un dialogo de confirmation ante de publicar multimedia sin texto alternative
|
||||||
setting_reduce_motion: Reducer movimento in animationes
|
setting_reduce_motion: Reducer movimento in animationes
|
||||||
setting_system_font_ui: Usar typo de litteras predefinite del systema
|
setting_system_font_ui: Usar typo de litteras predefinite del systema
|
||||||
setting_system_scrollbars_ui: Usar le barra de rolamento predefinite del systema
|
setting_system_scrollbars_ui: Usar le barra de rolamento predefinite del systema
|
||||||
|
|
|
@ -233,6 +233,7 @@ it:
|
||||||
setting_display_media_show_all: Mostra tutti
|
setting_display_media_show_all: Mostra tutti
|
||||||
setting_expand_spoilers: Espandi sempre post con content warning
|
setting_expand_spoilers: Espandi sempre post con content warning
|
||||||
setting_hide_network: Nascondi la tua rete
|
setting_hide_network: Nascondi la tua rete
|
||||||
|
setting_missing_alt_text_modal: Chiedi di confermare prima di pubblicare media senza testo alternativo
|
||||||
setting_reduce_motion: Riduci movimento nelle animazioni
|
setting_reduce_motion: Riduci movimento nelle animazioni
|
||||||
setting_system_font_ui: Usa il carattere predefinito del sistema
|
setting_system_font_ui: Usa il carattere predefinito del sistema
|
||||||
setting_system_scrollbars_ui: Utilizza la barra di scorrimento predefinita del sistema
|
setting_system_scrollbars_ui: Utilizza la barra di scorrimento predefinita del sistema
|
||||||
|
|
|
@ -219,11 +219,11 @@ ko:
|
||||||
setting_aggregate_reblogs: 타임라인의 부스트를 그룹화
|
setting_aggregate_reblogs: 타임라인의 부스트를 그룹화
|
||||||
setting_always_send_emails: 항상 이메일 알림 보내기
|
setting_always_send_emails: 항상 이메일 알림 보내기
|
||||||
setting_auto_play_gif: 애니메이션 GIF를 자동 재생
|
setting_auto_play_gif: 애니메이션 GIF를 자동 재생
|
||||||
setting_boost_modal: 부스트 전 확인 창을 표시
|
setting_boost_modal: 부스트 전 확인창을 띄웁니다
|
||||||
setting_default_language: 게시물 언어
|
setting_default_language: 게시물 언어
|
||||||
setting_default_privacy: 게시물 프라이버시
|
setting_default_privacy: 게시물 프라이버시
|
||||||
setting_default_sensitive: 미디어를 언제나 민감한 콘텐츠로 설정
|
setting_default_sensitive: 미디어를 언제나 민감한 콘텐츠로 설정
|
||||||
setting_delete_modal: 게시물 삭제 전 확인 창을 표시
|
setting_delete_modal: 게시물 삭제 전 확인창을 띄웁니다
|
||||||
setting_disable_hover_cards: 호버시 프로필 미리보기를 비활성화
|
setting_disable_hover_cards: 호버시 프로필 미리보기를 비활성화
|
||||||
setting_disable_swiping: 스와이프 모션 비활성화
|
setting_disable_swiping: 스와이프 모션 비활성화
|
||||||
setting_display_media: 미디어 표시
|
setting_display_media: 미디어 표시
|
||||||
|
@ -232,6 +232,7 @@ ko:
|
||||||
setting_display_media_show_all: 모두 보이기
|
setting_display_media_show_all: 모두 보이기
|
||||||
setting_expand_spoilers: 내용 경고로 표시된 게시물을 항상 펼치기
|
setting_expand_spoilers: 내용 경고로 표시된 게시물을 항상 펼치기
|
||||||
setting_hide_network: 내 인맥 숨기기
|
setting_hide_network: 내 인맥 숨기기
|
||||||
|
setting_missing_alt_text_modal: 대체 텍스트 없이 미디어를 게시하려고 할 때 확인창을 띄웁니다
|
||||||
setting_reduce_motion: 애니메이션 줄이기
|
setting_reduce_motion: 애니메이션 줄이기
|
||||||
setting_system_font_ui: 시스템의 기본 글꼴을 사용
|
setting_system_font_ui: 시스템의 기본 글꼴을 사용
|
||||||
setting_system_scrollbars_ui: 시스템 기본 스크롤바 사용
|
setting_system_scrollbars_ui: 시스템 기본 스크롤바 사용
|
||||||
|
|
|
@ -160,6 +160,7 @@ lt:
|
||||||
setting_display_media_show_all: Rodyti viską
|
setting_display_media_show_all: Rodyti viską
|
||||||
setting_expand_spoilers: Visada išplėsti įrašus, pažymėtus turinio įspėjimais
|
setting_expand_spoilers: Visada išplėsti įrašus, pažymėtus turinio įspėjimais
|
||||||
setting_hide_network: Slėpti savo socialinę diagramą
|
setting_hide_network: Slėpti savo socialinę diagramą
|
||||||
|
setting_missing_alt_text_modal: Rodyti patvirtinimo dialogo langą prieš skelbiant mediją be alternatyvaus teksto.
|
||||||
setting_reduce_motion: Sumažinti judėjimą animacijose
|
setting_reduce_motion: Sumažinti judėjimą animacijose
|
||||||
setting_system_font_ui: Naudoti numatytąjį sistemos šriftą
|
setting_system_font_ui: Naudoti numatytąjį sistemos šriftą
|
||||||
setting_system_scrollbars_ui: Naudoti numatytąją sistemos slankjuostę
|
setting_system_scrollbars_ui: Naudoti numatytąją sistemos slankjuostę
|
||||||
|
|
|
@ -137,6 +137,10 @@ pl:
|
||||||
admin_email: Zawiadomienia prawne obejmują środki zapobiegawcze, nakazy sądowe, wnioski o popełnienie sprawy oraz wnioski organów ścigania.
|
admin_email: Zawiadomienia prawne obejmują środki zapobiegawcze, nakazy sądowe, wnioski o popełnienie sprawy oraz wnioski organów ścigania.
|
||||||
arbitration_address: Może być taki sam jak adres fizyczny powyżej lub „N/A” jeśli używasz adresu e-mail
|
arbitration_address: Może być taki sam jak adres fizyczny powyżej lub „N/A” jeśli używasz adresu e-mail
|
||||||
arbitration_website: Może być formularzem internetowym lub „N/A”, jeśli używasz adresu e-mail
|
arbitration_website: Może być formularzem internetowym lub „N/A”, jeśli używasz adresu e-mail
|
||||||
|
dmca_address: W przypadku operatorów z USA należy użyć adresu zarejestrowanego w DMCA Designated Agent Directory. Lista skrytek pocztowych dostępna jest na bezpośrednią prośbę użytkownika. Użyj DMCA Agent Post Office Box Waiver Request, aby wysłać email do Copyright Office z informacją, że jesteś domowym administratorm treści i z powodu obawy o zemstę lub odwetu za swoje działania, musisz użyć skrytki pocztowej, żeby usunąć swój adres domowy z dostępu publicznego.
|
||||||
|
dmca_email: Adres email może być taki sam jak wcześniejszy "adres e-mail przeznaczony do celów prawnych"
|
||||||
|
domain: Unikalny numer identyfikacji świadczonej przez Ciebie usługi online.
|
||||||
|
jurisdiction: Wymień państwo, w którym mieszkają osoby płacące rachunki. Jeżeli jest to spółka lub inny zarejestrowany podmiot, w zależności od przypadku podaj państwo, w którym jest zarejestrowany, a także miasto, region czy województwo.
|
||||||
user:
|
user:
|
||||||
chosen_languages: Jeżeli zaznaczone, tylko wpisy w wybranych językach będą wyświetlane na publicznych osiach czasu
|
chosen_languages: Jeżeli zaznaczone, tylko wpisy w wybranych językach będą wyświetlane na publicznych osiach czasu
|
||||||
role: Rola kontroluje uprawnienia użytkownika.
|
role: Rola kontroluje uprawnienia użytkownika.
|
||||||
|
@ -152,6 +156,7 @@ pl:
|
||||||
url: Dokąd będą wysłane zdarzenia
|
url: Dokąd będą wysłane zdarzenia
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
|
attribution_domains: Strony które mogą ci przypisywać autorstwo
|
||||||
discoverable: Udostępniaj profil i wpisy funkcjom odkrywania
|
discoverable: Udostępniaj profil i wpisy funkcjom odkrywania
|
||||||
fields:
|
fields:
|
||||||
name: Nazwa
|
name: Nazwa
|
||||||
|
@ -228,6 +233,7 @@ pl:
|
||||||
setting_display_media_show_all: Pokaż wszystko
|
setting_display_media_show_all: Pokaż wszystko
|
||||||
setting_expand_spoilers: Zawsze rozwijaj wpisy oznaczone ostrzeżeniem o zawartości
|
setting_expand_spoilers: Zawsze rozwijaj wpisy oznaczone ostrzeżeniem o zawartości
|
||||||
setting_hide_network: Ukryj swoją sieć
|
setting_hide_network: Ukryj swoją sieć
|
||||||
|
setting_missing_alt_text_modal: Pokaż okno potwierdzenia przed opublikowaniem materiałów bez pomocniczego opisu obrazów
|
||||||
setting_reduce_motion: Ogranicz ruch w animacjach
|
setting_reduce_motion: Ogranicz ruch w animacjach
|
||||||
setting_system_font_ui: Używaj domyślnej czcionki systemu
|
setting_system_font_ui: Używaj domyślnej czcionki systemu
|
||||||
setting_system_scrollbars_ui: Używaj domyślnego paska przewijania systemu
|
setting_system_scrollbars_ui: Używaj domyślnego paska przewijania systemu
|
||||||
|
@ -329,6 +335,7 @@ pl:
|
||||||
changelog: Co się zmieniło?
|
changelog: Co się zmieniło?
|
||||||
text: Warunki korzystania z usługi
|
text: Warunki korzystania z usługi
|
||||||
terms_of_service_generator:
|
terms_of_service_generator:
|
||||||
|
admin_email: Adres e-mail przeznaczony do celów prawnych
|
||||||
arbitration_address: Adres fizyczny powiadomień arbitrażowych
|
arbitration_address: Adres fizyczny powiadomień arbitrażowych
|
||||||
arbitration_website: Strona internetowa do składania zgłoszeń arbitrażowych
|
arbitration_website: Strona internetowa do składania zgłoszeń arbitrażowych
|
||||||
dmca_address: Adres fizyczny dla zgłoszeń naruszenia DMCA/praw autorskich
|
dmca_address: Adres fizyczny dla zgłoszeń naruszenia DMCA/praw autorskich
|
||||||
|
|
|
@ -233,7 +233,7 @@ pt-PT:
|
||||||
setting_display_media_show_all: Mostrar todos
|
setting_display_media_show_all: Mostrar todos
|
||||||
setting_expand_spoilers: Expandir sempre as publicações marcadas com avisos de conteúdo
|
setting_expand_spoilers: Expandir sempre as publicações marcadas com avisos de conteúdo
|
||||||
setting_hide_network: Esconder a tua rede
|
setting_hide_network: Esconder a tua rede
|
||||||
setting_missing_alt_text_modal: Mostrar janela de confirmação antes de publicar elementos gráficos sem texto alternativo
|
setting_missing_alt_text_modal: Mostrar janela de confirmação antes de publicar multimédia sem texto alternativo
|
||||||
setting_reduce_motion: Reduzir movimento em animações
|
setting_reduce_motion: Reduzir movimento em animações
|
||||||
setting_system_font_ui: Usar o tipo de letra padrão do sistema
|
setting_system_font_ui: Usar o tipo de letra padrão do sistema
|
||||||
setting_system_scrollbars_ui: Utilizar a barra de deslocação predefinida do sistema
|
setting_system_scrollbars_ui: Utilizar a barra de deslocação predefinida do sistema
|
||||||
|
|
|
@ -3,6 +3,7 @@ ru:
|
||||||
simple_form:
|
simple_form:
|
||||||
hints:
|
hints:
|
||||||
account:
|
account:
|
||||||
|
attribution_domains: По одному на строку. Защищает от ложных атрибуций.
|
||||||
discoverable: Ваши публичные сообщения и профиль могут быть показаны или рекомендованы в различных разделах Mastodon, и ваш профиль может быть предложен другим пользователям.
|
discoverable: Ваши публичные сообщения и профиль могут быть показаны или рекомендованы в различных разделах Mastodon, и ваш профиль может быть предложен другим пользователям.
|
||||||
display_name: Ваше полное имя или псевдоним.
|
display_name: Ваше полное имя или псевдоним.
|
||||||
fields: Ваша домашняя страница, местоимения, возраст - все, что угодно.
|
fields: Ваша домашняя страница, местоимения, возраст - все, что угодно.
|
||||||
|
@ -155,6 +156,7 @@ ru:
|
||||||
url: Куда события будут отправляться
|
url: Куда события будут отправляться
|
||||||
labels:
|
labels:
|
||||||
account:
|
account:
|
||||||
|
attribution_domains: Веб-сайты, которым разрешено ссылаться на вас
|
||||||
discoverable: Профиль и сообщения в алгоритмах обнаружения
|
discoverable: Профиль и сообщения в алгоритмах обнаружения
|
||||||
fields:
|
fields:
|
||||||
name: Пункт
|
name: Пункт
|
||||||
|
@ -231,6 +233,7 @@ ru:
|
||||||
setting_display_media_show_all: Показывать все
|
setting_display_media_show_all: Показывать все
|
||||||
setting_expand_spoilers: Всегда раскрывать посты, имеющие предупреждение о содержании
|
setting_expand_spoilers: Всегда раскрывать посты, имеющие предупреждение о содержании
|
||||||
setting_hide_network: Скрыть свои связи
|
setting_hide_network: Скрыть свои связи
|
||||||
|
setting_missing_alt_text_modal: Всегда спрашивать перед публикацией медиафайлов без альтернативного текста
|
||||||
setting_reduce_motion: Уменьшить движение в анимации
|
setting_reduce_motion: Уменьшить движение в анимации
|
||||||
setting_system_font_ui: Использовать шрифт системы по умолчанию
|
setting_system_font_ui: Использовать шрифт системы по умолчанию
|
||||||
setting_system_scrollbars_ui: Использовать системные полосы прокрутки
|
setting_system_scrollbars_ui: Использовать системные полосы прокрутки
|
||||||
|
|
|
@ -232,6 +232,7 @@ uk:
|
||||||
setting_display_media_show_all: Показати всі
|
setting_display_media_show_all: Показати всі
|
||||||
setting_expand_spoilers: Завжди розгортати дописи з попередженнями про вміст
|
setting_expand_spoilers: Завжди розгортати дописи з попередженнями про вміст
|
||||||
setting_hide_network: Сховати вашу мережу
|
setting_hide_network: Сховати вашу мережу
|
||||||
|
setting_missing_alt_text_modal: Запитувати перед розміщенням медіа без альтернативного тексту
|
||||||
setting_reduce_motion: Менше руху в анімаціях
|
setting_reduce_motion: Менше руху в анімаціях
|
||||||
setting_system_font_ui: Використовувати типовий системний шрифт
|
setting_system_font_ui: Використовувати типовий системний шрифт
|
||||||
setting_system_scrollbars_ui: Використовувати системну панель гортання
|
setting_system_scrollbars_ui: Використовувати системну панель гортання
|
||||||
|
|
|
@ -233,6 +233,7 @@ vi:
|
||||||
setting_display_media_show_all: Hiện toàn bộ
|
setting_display_media_show_all: Hiện toàn bộ
|
||||||
setting_expand_spoilers: Luôn mở rộng tút chứa nội dung ẩn
|
setting_expand_spoilers: Luôn mở rộng tút chứa nội dung ẩn
|
||||||
setting_hide_network: Ẩn quan hệ của bạn
|
setting_hide_network: Ẩn quan hệ của bạn
|
||||||
|
setting_missing_alt_text_modal: Hiện xác nhận trước khi đăng media không có văn bản thay thế
|
||||||
setting_reduce_motion: Giảm chuyển động ảnh GIF
|
setting_reduce_motion: Giảm chuyển động ảnh GIF
|
||||||
setting_system_font_ui: Dùng phông chữ mặc định hệ thống
|
setting_system_font_ui: Dùng phông chữ mặc định hệ thống
|
||||||
setting_system_scrollbars_ui: Dùng scrollbar mặc định hệ thống
|
setting_system_scrollbars_ui: Dùng scrollbar mặc định hệ thống
|
||||||
|
|
|
@ -391,6 +391,7 @@ sk:
|
||||||
email_domain_blocks:
|
email_domain_blocks:
|
||||||
add_new: Pridaj nový
|
add_new: Pridaj nový
|
||||||
allow_registrations_with_approval: Povoľ registrovanie so schválením
|
allow_registrations_with_approval: Povoľ registrovanie so schválením
|
||||||
|
created_msg: Úspešne zablokovaná emailová doména
|
||||||
delete: Vymaž
|
delete: Vymaž
|
||||||
dns:
|
dns:
|
||||||
types:
|
types:
|
||||||
|
@ -399,6 +400,7 @@ sk:
|
||||||
new:
|
new:
|
||||||
create: Pridaj doménu
|
create: Pridaj doménu
|
||||||
resolve: Preveď doménu
|
resolve: Preveď doménu
|
||||||
|
title: Blokovať novú emailovú doménu
|
||||||
not_permitted: Nepovolená
|
not_permitted: Nepovolená
|
||||||
resolved_through_html: Prevedená cez %{domain}
|
resolved_through_html: Prevedená cez %{domain}
|
||||||
title: Blokované e-mailové domény
|
title: Blokované e-mailové domény
|
||||||
|
@ -1365,6 +1367,7 @@ sk:
|
||||||
explanation: Tu nájdeš nejaké tipy do začiatku
|
explanation: Tu nájdeš nejaké tipy do začiatku
|
||||||
feature_action: Zisti viac
|
feature_action: Zisti viac
|
||||||
follow_action: Nasleduj
|
follow_action: Nasleduj
|
||||||
|
follow_title: Prispôsob svoj domáci kanál
|
||||||
follows_title: Koho nasledovať
|
follows_title: Koho nasledovať
|
||||||
post_title: Vytvor svoj prvý príspevok
|
post_title: Vytvor svoj prvý príspevok
|
||||||
share_action: Zdieľaj
|
share_action: Zdieľaj
|
||||||
|
|
|
@ -1190,6 +1190,7 @@ vi:
|
||||||
too_fast: Nghi vấn đăng ký spam, xin thử lại.
|
too_fast: Nghi vấn đăng ký spam, xin thử lại.
|
||||||
use_security_key: Dùng khóa bảo mật
|
use_security_key: Dùng khóa bảo mật
|
||||||
user_agreement_html: Tôi đã đọc và đồng ý với <a href="%{terms_of_service_path}" target="_blank">điều khoản dịch vụ</a> và <a href="%{privacy_policy_path}" target="_blank">chính sách bảo mật</a>
|
user_agreement_html: Tôi đã đọc và đồng ý với <a href="%{terms_of_service_path}" target="_blank">điều khoản dịch vụ</a> và <a href="%{privacy_policy_path}" target="_blank">chính sách bảo mật</a>
|
||||||
|
user_privacy_agreement_html: Tôi đã đọc và đồng ý <a href="%{privacy_policy_path}" target="_blank">chính sách bảo mật</a>
|
||||||
author_attribution:
|
author_attribution:
|
||||||
example_title: Văn bản mẫu
|
example_title: Văn bản mẫu
|
||||||
hint_html: Bạn là nhà báo hoặc blogger bên ngoài Mastodon? Kiểm soát cách bài viết của bạn được ghi nhận khi chia sẻ trên Mastodon.
|
hint_html: Bạn là nhà báo hoặc blogger bên ngoài Mastodon? Kiểm soát cách bài viết của bạn được ghi nhận khi chia sẻ trên Mastodon.
|
||||||
|
|
|
@ -13,8 +13,8 @@ default: &default
|
||||||
# ['app/assets', 'engine/foo/app/assets']
|
# ['app/assets', 'engine/foo/app/assets']
|
||||||
resolved_paths: []
|
resolved_paths: []
|
||||||
|
|
||||||
# Reload manifest.json on all requests so we reload latest compiled packs
|
# Cache manifest.json for performance
|
||||||
cache_manifest: false
|
cache_manifest: true
|
||||||
|
|
||||||
# Extract and emit a css file
|
# Extract and emit a css file
|
||||||
extract_css: true
|
extract_css: true
|
||||||
|
@ -55,6 +55,9 @@ development:
|
||||||
|
|
||||||
compile: true
|
compile: true
|
||||||
|
|
||||||
|
# Reload manifest in development environment so we pick up changes
|
||||||
|
cache_manifest: false
|
||||||
|
|
||||||
# Reference: https://webpack.js.org/configuration/dev-server/
|
# Reference: https://webpack.js.org/configuration/dev-server/
|
||||||
dev_server:
|
dev_server:
|
||||||
https: false
|
https: false
|
||||||
|
@ -89,6 +92,3 @@ production:
|
||||||
|
|
||||||
# Production depends on precompilation of packs prior to booting for performance.
|
# Production depends on precompilation of packs prior to booting for performance.
|
||||||
compile: false
|
compile: false
|
||||||
|
|
||||||
# Cache manifest.json for performance
|
|
||||||
cache_manifest: true
|
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class AddNewPublicIndexToStatuses < ActiveRecord::Migration[8.0]
|
||||||
|
disable_ddl_transaction!
|
||||||
|
|
||||||
|
def change
|
||||||
|
add_index :statuses, [:id, :language, :account_id], name: :index_statuses_public_20250210, algorithm: :concurrently, order: { id: :desc }, where: 'deleted_at IS NULL AND visibility IN (0, 10, 11) AND reblog_of_id IS NULL AND ((NOT reply) OR (in_reply_to_account_id = account_id))' # rubocop:disable Naming/VariableNumber
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,9 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class RemoveOldPublicIndexToStatuses < ActiveRecord::Migration[8.0]
|
||||||
|
disable_ddl_transaction!
|
||||||
|
|
||||||
|
def change
|
||||||
|
remove_index :statuses, [:id, :account_id], name: :index_statuses_public_20231213, algorithm: :concurrently, order: { id: :desc }, where: 'deleted_at IS NULL AND visibility IN (0, 10, 11) AND reblog_of_id IS NULL AND ((NOT reply) OR (in_reply_to_account_id = account_id))' # rubocop:disable Naming/VariableNumber
|
||||||
|
end
|
||||||
|
end
|
|
@ -1425,7 +1425,7 @@ ActiveRecord::Schema[8.0].define(version: 2025_01_30_232529) do
|
||||||
t.index ["conversation_id"], name: "index_statuses_on_conversation_id"
|
t.index ["conversation_id"], name: "index_statuses_on_conversation_id"
|
||||||
t.index ["deleted_at"], name: "index_statuses_on_deleted_at", where: "(deleted_at IS NOT NULL)"
|
t.index ["deleted_at"], name: "index_statuses_on_deleted_at", where: "(deleted_at IS NOT NULL)"
|
||||||
t.index ["id", "account_id"], name: "index_statuses_local_20231213", order: { id: :desc }, where: "((local OR (uri IS NULL)) AND (deleted_at IS NULL) AND (visibility = ANY (ARRAY[0, 10, 11])) AND (reblog_of_id IS NULL) AND ((NOT reply) OR (in_reply_to_account_id = account_id)))"
|
t.index ["id", "account_id"], name: "index_statuses_local_20231213", order: { id: :desc }, where: "((local OR (uri IS NULL)) AND (deleted_at IS NULL) AND (visibility = ANY (ARRAY[0, 10, 11])) AND (reblog_of_id IS NULL) AND ((NOT reply) OR (in_reply_to_account_id = account_id)))"
|
||||||
t.index ["id", "account_id"], name: "index_statuses_public_20231213", order: { id: :desc }, where: "((deleted_at IS NULL) AND (visibility = ANY (ARRAY[0, 10, 11])) AND (reblog_of_id IS NULL) AND ((NOT reply) OR (in_reply_to_account_id = account_id)))"
|
t.index ["id", "language", "account_id"], name: "index_statuses_public_20250210", order: { id: :desc }, where: "((deleted_at IS NULL) AND (visibility = ANY (ARRAY[0, 10, 11])) AND (reblog_of_id IS NULL) AND ((NOT reply) OR (in_reply_to_account_id = account_id)))"
|
||||||
t.index ["in_reply_to_account_id"], name: "index_statuses_on_in_reply_to_account_id", where: "(in_reply_to_account_id IS NOT NULL)"
|
t.index ["in_reply_to_account_id"], name: "index_statuses_on_in_reply_to_account_id", where: "(in_reply_to_account_id IS NOT NULL)"
|
||||||
t.index ["in_reply_to_id"], name: "index_statuses_on_in_reply_to_id", where: "(in_reply_to_id IS NOT NULL)"
|
t.index ["in_reply_to_id"], name: "index_statuses_on_in_reply_to_id", where: "(in_reply_to_id IS NOT NULL)"
|
||||||
t.index ["quote_of_id", "account_id"], name: "index_statuses_on_quote_of_id_and_account_id"
|
t.index ["quote_of_id", "account_id"], name: "index_statuses_on_quote_of_id_and_account_id"
|
||||||
|
|
|
@ -11,17 +11,21 @@ module Mastodon::CLI
|
||||||
option :concurrency, type: :numeric, default: 5, aliases: [:c]
|
option :concurrency, type: :numeric, default: 5, aliases: [:c]
|
||||||
option :verbose, type: :boolean, aliases: [:v]
|
option :verbose, type: :boolean, aliases: [:v]
|
||||||
option :dry_run, type: :boolean, default: false
|
option :dry_run, type: :boolean, default: false
|
||||||
|
option :skip_filled_timelines
|
||||||
desc 'build [USERNAME]', 'Build home and list feeds for one or all users'
|
desc 'build [USERNAME]', 'Build home and list feeds for one or all users'
|
||||||
long_desc <<-LONG_DESC
|
long_desc <<-LONG_DESC
|
||||||
Build home and list feeds that are stored in Redis from the database.
|
Build home and list feeds that are stored in Redis from the database.
|
||||||
|
|
||||||
|
With the --skip-filled-timelines, timelines which contain more than half
|
||||||
|
the maximum number of posts will be skipped.
|
||||||
|
|
||||||
With the --all option, all active users will be processed.
|
With the --all option, all active users will be processed.
|
||||||
Otherwise, a single user specified by USERNAME.
|
Otherwise, a single user specified by USERNAME.
|
||||||
LONG_DESC
|
LONG_DESC
|
||||||
def build(username = nil)
|
def build(username = nil)
|
||||||
if options[:all] || username.nil?
|
if options[:all] || username.nil?
|
||||||
processed, = parallelize_with_progress(active_user_accounts) do |account|
|
processed, = parallelize_with_progress(active_user_accounts) do |account|
|
||||||
PrecomputeFeedService.new.call(account) unless dry_run?
|
PrecomputeFeedService.new.call(account, skip_filled_timelines: options[:skip_filled_timelines]) unless dry_run?
|
||||||
end
|
end
|
||||||
|
|
||||||
say("Regenerated feeds for #{processed} accounts #{dry_run_mode_suffix}", :green, true)
|
say("Regenerated feeds for #{processed} accounts #{dry_run_mode_suffix}", :green, true)
|
||||||
|
@ -30,7 +34,7 @@ module Mastodon::CLI
|
||||||
|
|
||||||
fail_with_message 'No such account' if account.nil?
|
fail_with_message 'No such account' if account.nil?
|
||||||
|
|
||||||
PrecomputeFeedService.new.call(account) unless dry_run?
|
PrecomputeFeedService.new.call(account, skip_filled_timelines: options[:skip_filled_timelines]) unless dry_run?
|
||||||
|
|
||||||
say("OK #{dry_run_mode_suffix}", :green, true)
|
say("OK #{dry_run_mode_suffix}", :green, true)
|
||||||
else
|
else
|
||||||
|
|
|
@ -200,9 +200,9 @@ namespace :dangerous do
|
||||||
ActiveRecord::Base.connection.execute('UPDATE custom_filters SET action = 0 WHERE action = 2')
|
ActiveRecord::Base.connection.execute('UPDATE custom_filters SET action = 0 WHERE action = 2')
|
||||||
ActiveRecord::Base.connection.execute('UPDATE account_warnings SET action = 1250 WHERE action = 1200')
|
ActiveRecord::Base.connection.execute('UPDATE account_warnings SET action = 1250 WHERE action = 1200')
|
||||||
ActiveRecord::Base.connection.execute('CREATE INDEX IF NOT EXISTS index_statuses_local_20190824 ON statuses USING btree (id DESC, account_id) WHERE (local OR (uri IS NULL)) AND deleted_at IS NULL AND visibility = 0 AND reblog_of_id IS NULL AND ((NOT reply) OR (in_reply_to_account_id = account_id))')
|
ActiveRecord::Base.connection.execute('CREATE INDEX IF NOT EXISTS index_statuses_local_20190824 ON statuses USING btree (id DESC, account_id) WHERE (local OR (uri IS NULL)) AND deleted_at IS NULL AND visibility = 0 AND reblog_of_id IS NULL AND ((NOT reply) OR (in_reply_to_account_id = account_id))')
|
||||||
ActiveRecord::Base.connection.execute('CREATE INDEX IF NOT EXISTS index_statuses_public_20200119 ON statuses USING btree (id DESC, account_id) WHERE deleted_at IS NULL AND visibility = 0 AND reblog_of_id IS NULL AND ((NOT reply) OR (in_reply_to_account_id = account_id))')
|
ActiveRecord::Base.connection.execute('CREATE INDEX IF NOT EXISTS index_statuses_public_20250129 ON statuses USING btree (id DESC, language, account_id) WHERE deleted_at IS NULL AND visibility = 0 AND reblog_of_id IS NULL AND ((NOT reply) OR (in_reply_to_account_id = account_id))')
|
||||||
ActiveRecord::Base.connection.execute('DROP INDEX IF EXISTS index_statuses_local_20231213')
|
ActiveRecord::Base.connection.execute('DROP INDEX IF EXISTS index_statuses_local_20231213')
|
||||||
ActiveRecord::Base.connection.execute('DROP INDEX IF EXISTS index_statuses_public_20231213')
|
ActiveRecord::Base.connection.execute('DROP INDEX IF EXISTS index_statuses_public_20250210')
|
||||||
ActiveRecord::Base.connection.execute('ALTER TABLE ONLY custom_filter_keywords ALTER COLUMN whole_word SET DEFAULT true')
|
ActiveRecord::Base.connection.execute('ALTER TABLE ONLY custom_filter_keywords ALTER COLUMN whole_word SET DEFAULT true')
|
||||||
prompt.ok 'Proceed'
|
prompt.ok 'Proceed'
|
||||||
|
|
||||||
|
|
|
@ -1,125 +0,0 @@
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
RSpec.describe Admin::ReportsController do
|
|
||||||
render_views
|
|
||||||
|
|
||||||
let(:user) { Fabricate(:admin_user) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
sign_in user, scope: :user
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'GET #index' do
|
|
||||||
it 'returns http success with no filters' do
|
|
||||||
specified = Fabricate(:report, action_taken_at: nil, comment: 'First report')
|
|
||||||
other = Fabricate(:report, action_taken_at: Time.now.utc, comment: 'Second report')
|
|
||||||
|
|
||||||
get :index
|
|
||||||
|
|
||||||
expect(response).to have_http_status(200)
|
|
||||||
expect(response.body)
|
|
||||||
.to include(specified.comment)
|
|
||||||
.and not_include(other.comment)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'returns http success with resolved filter' do
|
|
||||||
specified = Fabricate(:report, action_taken_at: Time.now.utc, comment: 'First report')
|
|
||||||
other = Fabricate(:report, action_taken_at: nil, comment: 'Second report')
|
|
||||||
|
|
||||||
get :index, params: { resolved: '1' }
|
|
||||||
|
|
||||||
expect(response).to have_http_status(200)
|
|
||||||
expect(response.body)
|
|
||||||
.to include(specified.comment)
|
|
||||||
.and not_include(other.comment)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'GET #show' do
|
|
||||||
it 'renders report' do
|
|
||||||
report = Fabricate(:report, comment: 'A big problem')
|
|
||||||
|
|
||||||
get :show, params: { id: report }
|
|
||||||
|
|
||||||
expect(response).to have_http_status(200)
|
|
||||||
expect(response.body)
|
|
||||||
.to include(report.comment)
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'account moderation notes' do
|
|
||||||
let(:report) { Fabricate(:report) }
|
|
||||||
|
|
||||||
it 'includes moderation notes' do
|
|
||||||
note1 = Fabricate(:report_note, report: report)
|
|
||||||
note2 = Fabricate(:report_note, report: report)
|
|
||||||
|
|
||||||
get :show, params: { id: report }
|
|
||||||
|
|
||||||
expect(response).to have_http_status(200)
|
|
||||||
|
|
||||||
report_notes = assigns(:report_notes).to_a
|
|
||||||
|
|
||||||
expect(report_notes.size).to be 2
|
|
||||||
expect(report_notes).to eq [note1, note2]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'POST #resolve' do
|
|
||||||
it 'resolves the report' do
|
|
||||||
report = Fabricate(:report)
|
|
||||||
|
|
||||||
put :resolve, params: { id: report }
|
|
||||||
expect(response).to redirect_to(admin_reports_path)
|
|
||||||
report.reload
|
|
||||||
expect(report.action_taken_by_account).to eq user.account
|
|
||||||
expect(report.action_taken?).to be true
|
|
||||||
expect(last_action_log.target).to eq(report)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'POST #reopen' do
|
|
||||||
it 'reopens the report' do
|
|
||||||
report = Fabricate(:report, action_taken_at: 3.days.ago)
|
|
||||||
|
|
||||||
put :reopen, params: { id: report }
|
|
||||||
expect(response).to redirect_to(admin_report_path(report))
|
|
||||||
report.reload
|
|
||||||
expect(report.action_taken_by_account).to be_nil
|
|
||||||
expect(report.action_taken?).to be false
|
|
||||||
expect(last_action_log.target).to eq(report)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'POST #assign_to_self' do
|
|
||||||
it 'reopens the report' do
|
|
||||||
report = Fabricate(:report)
|
|
||||||
|
|
||||||
put :assign_to_self, params: { id: report }
|
|
||||||
expect(response).to redirect_to(admin_report_path(report))
|
|
||||||
report.reload
|
|
||||||
expect(report.assigned_account).to eq user.account
|
|
||||||
expect(last_action_log.target).to eq(report)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'POST #unassign' do
|
|
||||||
it 'reopens the report' do
|
|
||||||
report = Fabricate(:report, assigned_account_id: Account.last.id)
|
|
||||||
|
|
||||||
put :unassign, params: { id: report }
|
|
||||||
expect(response).to redirect_to(admin_report_path(report))
|
|
||||||
report.reload
|
|
||||||
expect(report.assigned_account).to be_nil
|
|
||||||
expect(last_action_log.target).to eq(report)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
def last_action_log
|
|
||||||
Admin::ActionLog.last
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,102 +0,0 @@
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
RSpec.describe Auth::PasswordsController do
|
|
||||||
include Devise::Test::ControllerHelpers
|
|
||||||
|
|
||||||
describe 'GET #new' do
|
|
||||||
it 'returns http success' do
|
|
||||||
request.env['devise.mapping'] = Devise.mappings[:user]
|
|
||||||
get :new
|
|
||||||
expect(response).to have_http_status(200)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'GET #edit' do
|
|
||||||
let(:user) { Fabricate(:user) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
request.env['devise.mapping'] = Devise.mappings[:user]
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with valid reset_password_token' do
|
|
||||||
it 'returns http success' do
|
|
||||||
token = user.send_reset_password_instructions
|
|
||||||
|
|
||||||
get :edit, params: { reset_password_token: token }
|
|
||||||
|
|
||||||
expect(response).to have_http_status(200)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with invalid reset_password_token' do
|
|
||||||
it 'redirects to #new' do
|
|
||||||
get :edit, params: { reset_password_token: 'some_invalid_value' }
|
|
||||||
expect(response).to redirect_to subject.new_password_path(subject.send(:resource_name))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'POST #update' do
|
|
||||||
let(:user) { Fabricate(:user) }
|
|
||||||
let(:password) { 'reset0password' }
|
|
||||||
|
|
||||||
before do
|
|
||||||
request.env['devise.mapping'] = Devise.mappings[:user]
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with valid reset_password_token' do
|
|
||||||
let!(:session_activation) { Fabricate(:session_activation, user: user) }
|
|
||||||
let!(:access_token) { Fabricate(:access_token, resource_owner_id: user.id) }
|
|
||||||
let!(:web_push_subscription) { Fabricate(:web_push_subscription, access_token: access_token) }
|
|
||||||
|
|
||||||
before do
|
|
||||||
token = user.send_reset_password_instructions
|
|
||||||
|
|
||||||
post :update, params: { user: { password: password, password_confirmation: password, reset_password_token: token } }
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'resets the password' do
|
|
||||||
expect(response)
|
|
||||||
.to redirect_to '/auth/sign_in'
|
|
||||||
|
|
||||||
# Change password
|
|
||||||
expect(User.find(user.id))
|
|
||||||
.to be_present
|
|
||||||
.and be_valid_password(password)
|
|
||||||
|
|
||||||
# Deactivate session
|
|
||||||
expect(user.session_activations.count)
|
|
||||||
.to eq 0
|
|
||||||
expect { session_activation.reload }
|
|
||||||
.to raise_error(ActiveRecord::RecordNotFound)
|
|
||||||
|
|
||||||
# Revoke tokens
|
|
||||||
expect(Doorkeeper::AccessToken.active_for(user).count)
|
|
||||||
.to eq 0
|
|
||||||
|
|
||||||
# Remove push subs
|
|
||||||
expect(Web::PushSubscription.where(user: user).or(Web::PushSubscription.where(access_token: access_token)).count)
|
|
||||||
.to eq 0
|
|
||||||
expect { web_push_subscription.reload }
|
|
||||||
.to raise_error(ActiveRecord::RecordNotFound)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with invalid reset_password_token' do
|
|
||||||
before do
|
|
||||||
post :update, params: { user: { password: password, password_confirmation: password, reset_password_token: 'some_invalid_value' } }
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'renders reset password and retains password' do
|
|
||||||
expect(response)
|
|
||||||
.to render_template(:new)
|
|
||||||
|
|
||||||
expect(User.find(user.id))
|
|
||||||
.to be_present
|
|
||||||
.and be_external_or_valid_password(user.password)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -40,15 +40,11 @@ RSpec.describe Api::RateLimitHeaders do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'applies rate limiting limit header' do
|
it 'provides rate limit information in headers' do
|
||||||
expect(response.headers['X-RateLimit-Limit']).to eq '100'
|
expect(response.headers['X-RateLimit-Limit']).to eq '100'
|
||||||
end
|
|
||||||
|
|
||||||
it 'applies rate limiting remaining header' do
|
|
||||||
expect(response.headers['X-RateLimit-Remaining']).to eq '80'
|
expect(response.headers['X-RateLimit-Remaining']).to eq '80'
|
||||||
end
|
|
||||||
|
|
||||||
it 'applies rate limiting reset header' do
|
|
||||||
expect(response.headers['X-RateLimit-Reset']).to eq (start_time + 10.seconds).iso8601(6)
|
expect(response.headers['X-RateLimit-Reset']).to eq (start_time + 10.seconds).iso8601(6)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -23,11 +23,9 @@ RSpec.describe Filters::StatusesController do
|
||||||
get :index, params: { filter_id: filter }
|
get :index, params: { filter_id: filter }
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'returns http success' do
|
it 'returns http success and private cache control headers' do
|
||||||
expect(response).to have_http_status(200)
|
expect(response).to have_http_status(200)
|
||||||
end
|
|
||||||
|
|
||||||
it 'returns private cache control headers' do
|
|
||||||
expect(response.headers['Cache-Control']).to include('private, no-store')
|
expect(response.headers['Cache-Control']).to include('private, no-store')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -14,11 +14,9 @@ RSpec.describe RelationshipsController do
|
||||||
get :show, params: { page: 2, relationship: 'followed_by' }
|
get :show, params: { page: 2, relationship: 'followed_by' }
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'returns http success' do
|
it 'returns http success and private cache control headers' do
|
||||||
expect(response).to have_http_status(200)
|
expect(response).to have_http_status(200)
|
||||||
end
|
|
||||||
|
|
||||||
it 'returns private cache control headers' do
|
|
||||||
expect(response.headers['Cache-Control']).to include('private, no-store')
|
expect(response.headers['Cache-Control']).to include('private, no-store')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
if defined?(Flatware)
|
if defined?(Flatware)
|
||||||
Flatware.configure do |config|
|
Flatware.configure do |config|
|
||||||
config.after_fork do |test_env_number|
|
config.after_fork do |test_env_number|
|
||||||
unless ENV.fetch('DISABLE_SIMPLECOV', nil) == 'true'
|
if ENV.fetch('COVERAGE', false)
|
||||||
require 'simplecov'
|
require 'simplecov'
|
||||||
SimpleCov.at_fork.call(test_env_number) # Combines parallel coverage results
|
SimpleCov.at_fork.call(test_env_number) # Combines parallel coverage results
|
||||||
end
|
end
|
||||||
|
|
|
@ -233,6 +233,28 @@ RSpec.describe FeedManager do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'with list feed' do
|
||||||
|
let(:list) { Fabricate(:list, account: bob) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
bob.follow!(alice)
|
||||||
|
list.list_accounts.create!(account: alice)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns false for followee's status" do
|
||||||
|
status = Fabricate(:status, text: 'Hello world', account: alice)
|
||||||
|
|
||||||
|
expect(subject.filter?(:list, status, list)).to be false
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'returns false for reblog by followee' do
|
||||||
|
status = Fabricate(:status, text: 'Hello world', account: jeff)
|
||||||
|
reblog = Fabricate(:status, reblog: status, account: alice)
|
||||||
|
|
||||||
|
expect(subject.filter?(:list, reblog, list)).to be false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'with mentions feed' do
|
context 'with mentions feed' do
|
||||||
it 'returns true for status that mentions blocked account' do
|
it 'returns true for status that mentions blocked account' do
|
||||||
bob.block!(jeff)
|
bob.block!(jeff)
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
ENV['RAILS_ENV'] ||= 'test'
|
ENV['RAILS_ENV'] ||= 'test'
|
||||||
|
|
||||||
unless ENV['DISABLE_SIMPLECOV'] == 'true'
|
if ENV.fetch('COVERAGE', false)
|
||||||
require 'simplecov'
|
require 'simplecov'
|
||||||
|
|
||||||
SimpleCov.start 'rails' do
|
SimpleCov.start 'rails' do
|
||||||
|
|
34
spec/requests/auth/passwords_spec.rb
Normal file
34
spec/requests/auth/passwords_spec.rb
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe 'Auth Passwords' do
|
||||||
|
describe 'GET /auth/password/edit' do
|
||||||
|
context 'with invalid reset_password_token' do
|
||||||
|
it 'redirects to #new' do
|
||||||
|
get edit_user_password_path, params: { reset_password_token: 'some_invalid_value' }
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to redirect_to new_user_password_path
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'PUT /auth/password' do
|
||||||
|
let(:user) { Fabricate(:user) }
|
||||||
|
let(:password) { 'reset0password' }
|
||||||
|
|
||||||
|
context 'with invalid reset_password_token' do
|
||||||
|
it 'renders reset password and retains password' do
|
||||||
|
put user_password_path, params: { user: { password: password, password_confirmation: password, reset_password_token: 'some_invalid_value' } }
|
||||||
|
|
||||||
|
expect(response.body)
|
||||||
|
.to include(I18n.t('auth.set_new_password'))
|
||||||
|
|
||||||
|
expect(User.find(user.id))
|
||||||
|
.to be_present
|
||||||
|
.and be_external_or_valid_password(user.password)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue