Merge remote-tracking branch 'parent/main' into upstream-20240618
This commit is contained in:
commit
aa2cdc898a
271 changed files with 1839 additions and 1397 deletions
|
@ -1,8 +0,0 @@
|
||||||
---
|
|
||||||
ignore:
|
|
||||||
# devise-two-factor advisory about brute-forcing TOTP
|
|
||||||
# We have rate-limits on authentication endpoints in place (including second
|
|
||||||
# factor verification) since Mastodon v3.2.0
|
|
||||||
- CVE-2024-0227
|
|
||||||
- CVE-2024-27456
|
|
||||||
- CVE-2023-51774
|
|
|
@ -349,6 +349,9 @@ module.exports = defineConfig({
|
||||||
// Disable formatting rules that have been enabled in the base config
|
// Disable formatting rules that have been enabled in the base config
|
||||||
'indent': 'off',
|
'indent': 'off',
|
||||||
|
|
||||||
|
// This is not needed as we use noImplicitReturns, which handles this in addition to understanding types
|
||||||
|
'consistent-return': 'off',
|
||||||
|
|
||||||
'import/consistent-type-specifier-style': ['error', 'prefer-top-level'],
|
'import/consistent-type-specifier-style': ['error', 'prefer-top-level'],
|
||||||
|
|
||||||
'@typescript-eslint/consistent-type-definitions': ['warn', 'interface'],
|
'@typescript-eslint/consistent-type-definitions': ['warn', 'interface'],
|
||||||
|
|
1
.github/renovate.json5
vendored
1
.github/renovate.json5
vendored
|
@ -2,6 +2,7 @@
|
||||||
$schema: 'https://docs.renovatebot.com/renovate-schema.json',
|
$schema: 'https://docs.renovatebot.com/renovate-schema.json',
|
||||||
extends: [
|
extends: [
|
||||||
'config:recommended',
|
'config:recommended',
|
||||||
|
'customManagers:dockerfileVersions',
|
||||||
':labels(dependencies)',
|
':labels(dependencies)',
|
||||||
':prConcurrentLimitNone', // Remove limit for open PRs at any time.
|
':prConcurrentLimitNone', // Remove limit for open PRs at any time.
|
||||||
':prHourlyLimit2', // Rate limit PR creation to a maximum of two per hour.
|
':prHourlyLimit2', // Rate limit PR creation to a maximum of two per hour.
|
||||||
|
|
13
.github/workflows/bundler-audit.yml
vendored
13
.github/workflows/bundler-audit.yml
vendored
|
@ -6,14 +6,12 @@ on:
|
||||||
paths:
|
paths:
|
||||||
- 'Gemfile*'
|
- 'Gemfile*'
|
||||||
- '.ruby-version'
|
- '.ruby-version'
|
||||||
- '.bundler-audit.yml'
|
|
||||||
- '.github/workflows/bundler-audit.yml'
|
- '.github/workflows/bundler-audit.yml'
|
||||||
|
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- 'Gemfile*'
|
- 'Gemfile*'
|
||||||
- '.ruby-version'
|
- '.ruby-version'
|
||||||
- '.bundler-audit.yml'
|
|
||||||
- '.github/workflows/bundler-audit.yml'
|
- '.github/workflows/bundler-audit.yml'
|
||||||
|
|
||||||
schedule:
|
schedule:
|
||||||
|
@ -23,12 +21,17 @@ jobs:
|
||||||
security:
|
security:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
env:
|
||||||
|
BUNDLE_ONLY: development
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone repository
|
- name: Clone repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Ruby environment
|
- name: Set up Ruby
|
||||||
uses: ./.github/actions/setup-ruby
|
uses: ruby/setup-ruby@v1
|
||||||
|
with:
|
||||||
|
bundler-cache: true
|
||||||
|
|
||||||
- name: Run bundler-audit
|
- name: Run bundler-audit
|
||||||
run: bundle exec bundler-audit
|
run: bundle exec bundler-audit check --update
|
||||||
|
|
10
.github/workflows/lint-haml.yml
vendored
10
.github/workflows/lint-haml.yml
vendored
|
@ -26,12 +26,18 @@ on:
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
lint:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
env:
|
||||||
|
BUNDLE_ONLY: development
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone repository
|
- name: Clone repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Ruby environment
|
- name: Set up Ruby
|
||||||
uses: ./.github/actions/setup-ruby
|
uses: ruby/setup-ruby@v1
|
||||||
|
with:
|
||||||
|
bundler-cache: true
|
||||||
|
|
||||||
- name: Run haml-lint
|
- name: Run haml-lint
|
||||||
run: |
|
run: |
|
||||||
|
|
13
.github/workflows/lint-ruby.yml
vendored
13
.github/workflows/lint-ruby.yml
vendored
|
@ -27,19 +27,24 @@ jobs:
|
||||||
lint:
|
lint:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
env:
|
||||||
|
BUNDLE_ONLY: development
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Clone repository
|
- name: Clone repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Ruby environment
|
- name: Set up Ruby
|
||||||
uses: ./.github/actions/setup-ruby
|
uses: ruby/setup-ruby@v1
|
||||||
|
with:
|
||||||
|
bundler-cache: true
|
||||||
|
|
||||||
- name: Set-up RuboCop Problem Matcher
|
- name: Set-up RuboCop Problem Matcher
|
||||||
uses: r7kamura/rubocop-problem-matchers-action@v1
|
uses: r7kamura/rubocop-problem-matchers-action@v1
|
||||||
|
|
||||||
- name: Run rubocop
|
- name: Run rubocop
|
||||||
run: bundle exec rubocop
|
run: bin/rubocop
|
||||||
|
|
||||||
- name: Run brakeman
|
- name: Run brakeman
|
||||||
if: always() # Run both checks, even if the first failed
|
if: always() # Run both checks, even if the first failed
|
||||||
run: bundle exec brakeman
|
run: bin/brakeman
|
||||||
|
|
2
.github/workflows/rebase-needed.yml
vendored
2
.github/workflows/rebase-needed.yml
vendored
|
@ -17,7 +17,7 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check for merge conflicts
|
- name: Check for merge conflicts
|
||||||
uses: eps1lon/actions-label-merge-conflict@releases/2.x
|
uses: eps1lon/actions-label-merge-conflict@v3
|
||||||
with:
|
with:
|
||||||
dirtyLabel: 'rebase needed :construction:'
|
dirtyLabel: 'rebase needed :construction:'
|
||||||
repoToken: '${{ secrets.GITHUB_TOKEN }}'
|
repoToken: '${{ secrets.GITHUB_TOKEN }}'
|
||||||
|
|
95
.github/workflows/test-migrations-two-step.yml
vendored
95
.github/workflows/test-migrations-two-step.yml
vendored
|
@ -1,95 +0,0 @@
|
||||||
name: Test two step migrations
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches-ignore:
|
|
||||||
- 'dependabot/**'
|
|
||||||
- 'renovate/**'
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
pre_job:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
should_skip: ${{ steps.skip_check.outputs.should_skip }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- id: skip_check
|
|
||||||
uses: fkirc/skip-duplicate-actions@v5
|
|
||||||
with:
|
|
||||||
paths: '["Gemfile*", ".ruby-version", "**/*.rb", ".github/workflows/test-migrations-two-step.yml", "lib/tasks/tests.rake"]'
|
|
||||||
|
|
||||||
test:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: pre_job
|
|
||||||
if: needs.pre_job.outputs.should_skip != 'true'
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
|
|
||||||
matrix:
|
|
||||||
postgres:
|
|
||||||
- 14-alpine
|
|
||||||
- 15-alpine
|
|
||||||
|
|
||||||
services:
|
|
||||||
postgres:
|
|
||||||
image: postgres:${{ matrix.postgres}}
|
|
||||||
env:
|
|
||||||
POSTGRES_PASSWORD: postgres
|
|
||||||
POSTGRES_USER: postgres
|
|
||||||
options: >-
|
|
||||||
--health-cmd pg_isready
|
|
||||||
--health-interval 10s
|
|
||||||
--health-timeout 5s
|
|
||||||
--health-retries 5
|
|
||||||
ports:
|
|
||||||
- 5432:5432
|
|
||||||
|
|
||||||
redis:
|
|
||||||
image: redis:7-alpine
|
|
||||||
options: >-
|
|
||||||
--health-cmd "redis-cli ping"
|
|
||||||
--health-interval 10s
|
|
||||||
--health-timeout 5s
|
|
||||||
--health-retries 5
|
|
||||||
ports:
|
|
||||||
- 6379:6379
|
|
||||||
|
|
||||||
env:
|
|
||||||
CONTINUOUS_INTEGRATION: true
|
|
||||||
DB_HOST: localhost
|
|
||||||
DB_USER: postgres
|
|
||||||
DB_PASS: postgres
|
|
||||||
DISABLE_SIMPLECOV: true
|
|
||||||
RAILS_ENV: test
|
|
||||||
BUNDLE_CLEAN: true
|
|
||||||
BUNDLE_FROZEN: true
|
|
||||||
BUNDLE_WITHOUT: 'development production'
|
|
||||||
BUNDLE_JOBS: 3
|
|
||||||
BUNDLE_RETRY: 3
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Set up Ruby environment
|
|
||||||
uses: ./.github/actions/setup-ruby
|
|
||||||
|
|
||||||
- name: Create database
|
|
||||||
run: './bin/rails db:create'
|
|
||||||
|
|
||||||
- name: Run historical migrations with data population
|
|
||||||
run: './bin/rails tests:migrations:prepare_database'
|
|
||||||
env:
|
|
||||||
SKIP_POST_DEPLOYMENT_MIGRATIONS: true
|
|
||||||
|
|
||||||
- name: Run all remaining pre-deployment migrations
|
|
||||||
run: './bin/rails db:migrate'
|
|
||||||
env:
|
|
||||||
SKIP_POST_DEPLOYMENT_MIGRATIONS: true
|
|
||||||
|
|
||||||
- name: Run all post-deployment migrations
|
|
||||||
run: './bin/rails db:migrate'
|
|
||||||
|
|
||||||
- name: Check migration result
|
|
||||||
run: './bin/rails tests:migrations:check_database'
|
|
|
@ -1,4 +1,5 @@
|
||||||
name: Test one step migrations
|
name: Historical data migration test
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches-ignore:
|
branches-ignore:
|
||||||
|
@ -17,7 +18,7 @@ jobs:
|
||||||
- id: skip_check
|
- id: skip_check
|
||||||
uses: fkirc/skip-duplicate-actions@v5
|
uses: fkirc/skip-duplicate-actions@v5
|
||||||
with:
|
with:
|
||||||
paths: '["Gemfile*", ".ruby-version", "**/*.rb", ".github/workflows/test-migrations-one-step.yml", "lib/tasks/tests.rake"]'
|
paths: '["Gemfile*", ".ruby-version", "**/*.rb", ".github/workflows/test-migrations.yml", "lib/tasks/tests.rake"]'
|
||||||
|
|
||||||
test:
|
test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@ -40,9 +41,9 @@ jobs:
|
||||||
POSTGRES_USER: postgres
|
POSTGRES_USER: postgres
|
||||||
options: >-
|
options: >-
|
||||||
--health-cmd pg_isready
|
--health-cmd pg_isready
|
||||||
--health-interval 10s
|
--health-interval 10ms
|
||||||
--health-timeout 5s
|
--health-timeout 3s
|
||||||
--health-retries 5
|
--health-retries 50
|
||||||
ports:
|
ports:
|
||||||
- 5432:5432
|
- 5432:5432
|
||||||
|
|
||||||
|
@ -50,14 +51,13 @@ jobs:
|
||||||
image: redis:7-alpine
|
image: redis:7-alpine
|
||||||
options: >-
|
options: >-
|
||||||
--health-cmd "redis-cli ping"
|
--health-cmd "redis-cli ping"
|
||||||
--health-interval 10s
|
--health-interval 10ms
|
||||||
--health-timeout 5s
|
--health-timeout 3s
|
||||||
--health-retries 5
|
--health-retries 50
|
||||||
ports:
|
ports:
|
||||||
- 6379:6379
|
- 6379:6379
|
||||||
|
|
||||||
env:
|
env:
|
||||||
CONTINUOUS_INTEGRATION: true
|
|
||||||
DB_HOST: localhost
|
DB_HOST: localhost
|
||||||
DB_USER: postgres
|
DB_USER: postgres
|
||||||
DB_PASS: postgres
|
DB_PASS: postgres
|
||||||
|
@ -65,7 +65,7 @@ jobs:
|
||||||
RAILS_ENV: test
|
RAILS_ENV: test
|
||||||
BUNDLE_CLEAN: true
|
BUNDLE_CLEAN: true
|
||||||
BUNDLE_FROZEN: true
|
BUNDLE_FROZEN: true
|
||||||
BUNDLE_WITHOUT: 'development production'
|
BUNDLE_WITHOUT: 'development:production'
|
||||||
BUNDLE_JOBS: 3
|
BUNDLE_JOBS: 3
|
||||||
BUNDLE_RETRY: 3
|
BUNDLE_RETRY: 3
|
||||||
|
|
||||||
|
@ -75,14 +75,19 @@ jobs:
|
||||||
- name: Set up Ruby environment
|
- name: Set up Ruby environment
|
||||||
uses: ./.github/actions/setup-ruby
|
uses: ./.github/actions/setup-ruby
|
||||||
|
|
||||||
- name: Create database
|
- name: Test "one step migration" flow
|
||||||
run: './bin/rails db:create'
|
run: |
|
||||||
|
bin/rails db:drop
|
||||||
|
bin/rails db:create
|
||||||
|
bin/rails tests:migrations:prepare_database
|
||||||
|
bin/rails db:migrate
|
||||||
|
bin/rails tests:migrations:check_database
|
||||||
|
|
||||||
- name: Run historical migrations with data population
|
- name: Test "two step migration" flow
|
||||||
run: './bin/rails tests:migrations:prepare_database'
|
run: |
|
||||||
|
bin/rails db:drop
|
||||||
- name: Run all remaining migrations
|
bin/rails db:create
|
||||||
run: './bin/rails db:migrate'
|
SKIP_POST_DEPLOYMENT_MIGRATIONS=true bin/rails tests:migrations:prepare_database
|
||||||
|
SKIP_POST_DEPLOYMENT_MIGRATIONS=true bin/rails db:migrate
|
||||||
- name: Check migration result
|
bin/rails db:migrate
|
||||||
run: './bin/rails tests:migrations:check_database'
|
bin/rails tests:migrations:check_database
|
66
.github/workflows/test-ruby.yml
vendored
66
.github/workflows/test-ruby.yml
vendored
|
@ -28,11 +28,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
RAILS_ENV: ${{ matrix.mode }}
|
RAILS_ENV: ${{ matrix.mode }}
|
||||||
BUNDLE_WITH: ${{ matrix.mode }}
|
BUNDLE_WITH: ${{ matrix.mode }}
|
||||||
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY: precompile_placeholder
|
SECRET_KEY_BASE_DUMMY: 1
|
||||||
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT: precompile_placeholder
|
|
||||||
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY: precompile_placeholder
|
|
||||||
OTP_SECRET: precompile_placeholder
|
|
||||||
SECRET_KEY_BASE: precompile_placeholder
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
@ -77,9 +73,9 @@ jobs:
|
||||||
POSTGRES_USER: postgres
|
POSTGRES_USER: postgres
|
||||||
options: >-
|
options: >-
|
||||||
--health-cmd pg_isready
|
--health-cmd pg_isready
|
||||||
--health-interval 10s
|
--health-interval 10ms
|
||||||
--health-timeout 5s
|
--health-timeout 3s
|
||||||
--health-retries 5
|
--health-retries 50
|
||||||
ports:
|
ports:
|
||||||
- 5432:5432
|
- 5432:5432
|
||||||
|
|
||||||
|
@ -87,9 +83,9 @@ jobs:
|
||||||
image: redis:7-alpine
|
image: redis:7-alpine
|
||||||
options: >-
|
options: >-
|
||||||
--health-cmd "redis-cli ping"
|
--health-cmd "redis-cli ping"
|
||||||
--health-interval 10s
|
--health-interval 10ms
|
||||||
--health-timeout 5s
|
--health-timeout 3s
|
||||||
--health-retries 5
|
--health-retries 50
|
||||||
ports:
|
ports:
|
||||||
- 6379:6379
|
- 6379:6379
|
||||||
|
|
||||||
|
@ -164,9 +160,9 @@ jobs:
|
||||||
POSTGRES_USER: postgres
|
POSTGRES_USER: postgres
|
||||||
options: >-
|
options: >-
|
||||||
--health-cmd pg_isready
|
--health-cmd pg_isready
|
||||||
--health-interval 10s
|
--health-interval 10ms
|
||||||
--health-timeout 5s
|
--health-timeout 3s
|
||||||
--health-retries 5
|
--health-retries 50
|
||||||
ports:
|
ports:
|
||||||
- 5432:5432
|
- 5432:5432
|
||||||
|
|
||||||
|
@ -174,9 +170,9 @@ jobs:
|
||||||
image: redis:7-alpine
|
image: redis:7-alpine
|
||||||
options: >-
|
options: >-
|
||||||
--health-cmd "redis-cli ping"
|
--health-cmd "redis-cli ping"
|
||||||
--health-interval 10s
|
--health-interval 10ms
|
||||||
--health-timeout 5s
|
--health-timeout 3s
|
||||||
--health-retries 5
|
--health-retries 50
|
||||||
ports:
|
ports:
|
||||||
- 6379:6379
|
- 6379:6379
|
||||||
|
|
||||||
|
@ -251,9 +247,9 @@ jobs:
|
||||||
POSTGRES_USER: postgres
|
POSTGRES_USER: postgres
|
||||||
options: >-
|
options: >-
|
||||||
--health-cmd pg_isready
|
--health-cmd pg_isready
|
||||||
--health-interval 10s
|
--health-interval 10ms
|
||||||
--health-timeout 5s
|
--health-timeout 3s
|
||||||
--health-retries 5
|
--health-retries 50
|
||||||
ports:
|
ports:
|
||||||
- 5432:5432
|
- 5432:5432
|
||||||
|
|
||||||
|
@ -261,9 +257,9 @@ jobs:
|
||||||
image: redis:7-alpine
|
image: redis:7-alpine
|
||||||
options: >-
|
options: >-
|
||||||
--health-cmd "redis-cli ping"
|
--health-cmd "redis-cli ping"
|
||||||
--health-interval 10s
|
--health-interval 10ms
|
||||||
--health-timeout 5s
|
--health-timeout 3s
|
||||||
--health-retries 5
|
--health-retries 50
|
||||||
ports:
|
ports:
|
||||||
- 6379:6379
|
- 6379:6379
|
||||||
|
|
||||||
|
@ -337,9 +333,9 @@ jobs:
|
||||||
POSTGRES_USER: postgres
|
POSTGRES_USER: postgres
|
||||||
options: >-
|
options: >-
|
||||||
--health-cmd pg_isready
|
--health-cmd pg_isready
|
||||||
--health-interval 10s
|
--health-interval 10ms
|
||||||
--health-timeout 5s
|
--health-timeout 3s
|
||||||
--health-retries 5
|
--health-retries 50
|
||||||
ports:
|
ports:
|
||||||
- 5432:5432
|
- 5432:5432
|
||||||
|
|
||||||
|
@ -347,9 +343,9 @@ jobs:
|
||||||
image: redis:7-alpine
|
image: redis:7-alpine
|
||||||
options: >-
|
options: >-
|
||||||
--health-cmd "redis-cli ping"
|
--health-cmd "redis-cli ping"
|
||||||
--health-interval 10s
|
--health-interval 10ms
|
||||||
--health-timeout 5s
|
--health-timeout 3s
|
||||||
--health-retries 5
|
--health-retries 50
|
||||||
ports:
|
ports:
|
||||||
- 6379:6379
|
- 6379:6379
|
||||||
|
|
||||||
|
@ -360,9 +356,9 @@ jobs:
|
||||||
xpack.security.enabled: false
|
xpack.security.enabled: false
|
||||||
options: >-
|
options: >-
|
||||||
--health-cmd "curl http://localhost:9200/_cluster/health"
|
--health-cmd "curl http://localhost:9200/_cluster/health"
|
||||||
--health-interval 10s
|
--health-interval 2s
|
||||||
--health-timeout 5s
|
--health-timeout 3s
|
||||||
--health-retries 10
|
--health-retries 50
|
||||||
ports:
|
ports:
|
||||||
- 9200:9200
|
- 9200:9200
|
||||||
|
|
||||||
|
@ -374,9 +370,9 @@ jobs:
|
||||||
DISABLE_SECURITY_PLUGIN: true
|
DISABLE_SECURITY_PLUGIN: true
|
||||||
options: >-
|
options: >-
|
||||||
--health-cmd "curl http://localhost:9200/_cluster/health"
|
--health-cmd "curl http://localhost:9200/_cluster/health"
|
||||||
--health-interval 10s
|
--health-interval 2s
|
||||||
--health-timeout 5s
|
--health-timeout 3s
|
||||||
--health-retries 10
|
--health-retries 50
|
||||||
ports:
|
ports:
|
||||||
- 9200:9200
|
- 9200:9200
|
||||||
|
|
||||||
|
|
270
.rubocop.yml
270
.rubocop.yml
|
@ -1,7 +1,34 @@
|
||||||
# Can be removed once all rules are addressed or moved to this file as documented overrides
|
---
|
||||||
inherit_from: .rubocop_todo.yml
|
AllCops:
|
||||||
|
CacheRootDirectory: tmp
|
||||||
|
DisplayCopNames: true
|
||||||
|
DisplayStyleGuide: true
|
||||||
|
Exclude:
|
||||||
|
- db/schema.rb
|
||||||
|
- bin/*
|
||||||
|
- node_modules/**/*
|
||||||
|
- Vagrantfile
|
||||||
|
- vendor/**/*
|
||||||
|
- config/initializers/json_ld*
|
||||||
|
- lib/mastodon/migration_helpers.rb
|
||||||
|
- lib/templates/**/*
|
||||||
|
ExtraDetails: true
|
||||||
|
NewCops: enable
|
||||||
|
TargetRubyVersion: 3.1 # Oldest supported ruby version
|
||||||
|
UseCache: true
|
||||||
|
|
||||||
|
inherit_from:
|
||||||
|
- .rubocop/layout.yml
|
||||||
|
- .rubocop/metrics.yml
|
||||||
|
- .rubocop/naming.yml
|
||||||
|
- .rubocop/rails.yml
|
||||||
|
- .rubocop/rspec_rails.yml
|
||||||
|
- .rubocop/rspec.yml
|
||||||
|
- .rubocop/style.yml
|
||||||
|
- .rubocop/custom.yml
|
||||||
|
- .rubocop_todo.yml
|
||||||
|
- .rubocop/strict.yml
|
||||||
|
|
||||||
# Used for merging with exclude lists with .rubocop_todo.yml
|
|
||||||
inherit_mode:
|
inherit_mode:
|
||||||
merge:
|
merge:
|
||||||
- Exclude
|
- Exclude
|
||||||
|
@ -13,240 +40,3 @@ require:
|
||||||
- rubocop-performance
|
- rubocop-performance
|
||||||
- rubocop-capybara
|
- rubocop-capybara
|
||||||
- ./lib/linter/rubocop_middle_dot
|
- ./lib/linter/rubocop_middle_dot
|
||||||
|
|
||||||
AllCops:
|
|
||||||
TargetRubyVersion: 3.1 # Set to minimum supported version of CI
|
|
||||||
DisplayCopNames: true
|
|
||||||
DisplayStyleGuide: true
|
|
||||||
ExtraDetails: true
|
|
||||||
UseCache: true
|
|
||||||
CacheRootDirectory: tmp
|
|
||||||
NewCops: enable # Opt-in to newly added rules
|
|
||||||
Exclude:
|
|
||||||
- 'db/schema.rb'
|
|
||||||
- 'bin/*'
|
|
||||||
- 'node_modules/**/*'
|
|
||||||
- 'Vagrantfile'
|
|
||||||
- 'vendor/**/*'
|
|
||||||
- 'config/initializers/json_ld*' # Generated files
|
|
||||||
- 'lib/mastodon/migration_helpers.rb' # Vendored from GitLab
|
|
||||||
- 'lib/templates/**/*'
|
|
||||||
|
|
||||||
# Reason: Prefer Hashes without extreme indentation
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_layout.html#layoutfirsthashelementindentation
|
|
||||||
Layout/FirstHashElementIndentation:
|
|
||||||
EnforcedStyle: consistent
|
|
||||||
|
|
||||||
# Reason: Currently disabled in .rubocop_todo.yml
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_layout.html#layoutlinelength
|
|
||||||
Layout/LineLength:
|
|
||||||
Max: 300 # Default of 120 causes a duplicate entry in generated todo file
|
|
||||||
|
|
||||||
## Disable most Metrics/*Length cops
|
|
||||||
# Reason: those are often triggered and force significant refactors when this happend
|
|
||||||
# but the team feel they are not really improving the code quality.
|
|
||||||
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsblocklength
|
|
||||||
Metrics/BlockLength:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsclasslength
|
|
||||||
Metrics/ClassLength:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsmethodlength
|
|
||||||
Metrics/MethodLength:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsmodulelength
|
|
||||||
Metrics/ModuleLength:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
## End Disable Metrics/*Length cops
|
|
||||||
|
|
||||||
# Reason: Currently disabled in .rubocop_todo.yml
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsabcsize
|
|
||||||
Metrics/AbcSize:
|
|
||||||
Exclude:
|
|
||||||
- 'app/serializers/initial_state_serializer.rb'
|
|
||||||
- 'lib/mastodon/cli/*.rb'
|
|
||||||
|
|
||||||
# Reason: Currently disabled in .rubocop_todo.yml
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricscyclomaticcomplexity
|
|
||||||
Metrics/CyclomaticComplexity:
|
|
||||||
Exclude:
|
|
||||||
- 'app/lib/feed_manager.rb'
|
|
||||||
- 'app/policies/status_policy.rb'
|
|
||||||
- 'app/services/activitypub/process_account_service.rb'
|
|
||||||
- 'app/services/delivery_antenna_service.rb'
|
|
||||||
- 'app/services/post_status_service.rb'
|
|
||||||
- lib/mastodon/cli/*.rb
|
|
||||||
|
|
||||||
# Reason:
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsparameterlists
|
|
||||||
Metrics/ParameterLists:
|
|
||||||
CountKeywordArgs: false
|
|
||||||
|
|
||||||
Metrics/PerceivedComplexity:
|
|
||||||
Exclude:
|
|
||||||
- 'app/policies/status_policy.rb'
|
|
||||||
- 'app/services/delivery_antenna_service.rb'
|
|
||||||
- 'app/services/post_status_service.rb'
|
|
||||||
|
|
||||||
# Reason: Prefer seeing a variable name
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_naming.html#namingblockforwarding
|
|
||||||
Naming/BlockForwarding:
|
|
||||||
EnforcedStyle: explicit
|
|
||||||
|
|
||||||
# Reason: Prevailing style is argument file paths
|
|
||||||
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsfilepath
|
|
||||||
Rails/FilePath:
|
|
||||||
EnforcedStyle: arguments
|
|
||||||
|
|
||||||
# Reason: Prevailing style uses numeric status codes, matches RSpec/Rails/HttpStatus
|
|
||||||
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railshttpstatus
|
|
||||||
Rails/HttpStatus:
|
|
||||||
EnforcedStyle: numeric
|
|
||||||
|
|
||||||
# Reason: Conflicts with `Lint/UselessMethodDefinition` for inherited controller actions
|
|
||||||
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railslexicallyscopedactionfilter
|
|
||||||
Rails/LexicallyScopedActionFilter:
|
|
||||||
Exclude:
|
|
||||||
- 'app/controllers/auth/*'
|
|
||||||
|
|
||||||
# Reason: These tasks are doing local work which do not need full env loaded
|
|
||||||
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsrakeenvironment
|
|
||||||
Rails/RakeEnvironment:
|
|
||||||
Exclude:
|
|
||||||
- 'lib/tasks/auto_annotate_models.rake'
|
|
||||||
- 'lib/tasks/emojis.rake'
|
|
||||||
- 'lib/tasks/mastodon.rake'
|
|
||||||
- 'lib/tasks/repo.rake'
|
|
||||||
- 'lib/tasks/statistics.rake'
|
|
||||||
|
|
||||||
# Reason: There are appropriate times to use these features
|
|
||||||
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsskipsmodelvalidations
|
|
||||||
Rails/SkipsModelValidations:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Reason: We want to preserve the ability to migrate from arbitrary old versions,
|
|
||||||
# and cannot guarantee that every installation has run every migration as they upgrade.
|
|
||||||
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsunusedignoredcolumns
|
|
||||||
Rails/UnusedIgnoredColumns:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Reason: Prevailing style choice
|
|
||||||
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsnegateinclude
|
|
||||||
Rails/NegateInclude:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Reason: Enforce default limit, but allow some elements to span lines
|
|
||||||
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecexamplelength
|
|
||||||
RSpec/ExampleLength:
|
|
||||||
CountAsOne: ['array', 'heredoc', 'method_call']
|
|
||||||
|
|
||||||
# Reason: Deprecated cop, will be removed in 3.0, replaced by SpecFilePathFormat
|
|
||||||
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecfilepath
|
|
||||||
RSpec/FilePath:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Reason:
|
|
||||||
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecnamedsubject
|
|
||||||
RSpec/NamedSubject:
|
|
||||||
EnforcedStyle: named_only
|
|
||||||
|
|
||||||
# Reason: Prevailing style choice
|
|
||||||
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecnottonot
|
|
||||||
RSpec/NotToNot:
|
|
||||||
EnforcedStyle: to_not
|
|
||||||
|
|
||||||
# Reason: Match overrides from Rspec/FilePath rule above
|
|
||||||
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecspecfilepathformat
|
|
||||||
RSpec/SpecFilePathFormat:
|
|
||||||
CustomTransform:
|
|
||||||
ActivityPub: activitypub
|
|
||||||
DeepL: deepl
|
|
||||||
FetchOEmbedService: fetch_oembed_service
|
|
||||||
OEmbedController: oembed_controller
|
|
||||||
OStatus: ostatus
|
|
||||||
|
|
||||||
# Reason: Prevailing style uses numeric status codes, matches Rails/HttpStatus
|
|
||||||
# https://docs.rubocop.org/rubocop-rspec/cops_rspec_rails.html#rspecrailshttpstatus
|
|
||||||
RSpecRails/HttpStatus:
|
|
||||||
EnforcedStyle: numeric
|
|
||||||
|
|
||||||
# Reason:
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_style.html#styleclassandmodulechildren
|
|
||||||
Style/ClassAndModuleChildren:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Reason: Classes mostly self-document with their names
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_style.html#styledocumentation
|
|
||||||
Style/Documentation:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Reason: Route redirects are not token-formatted and must be skipped
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_style.html#styleformatstringtoken
|
|
||||||
Style/FormatStringToken:
|
|
||||||
inherit_mode:
|
|
||||||
merge:
|
|
||||||
- AllowedMethods # The rubocop-rails config adds `redirect`
|
|
||||||
AllowedMethods:
|
|
||||||
- redirect_with_vary
|
|
||||||
|
|
||||||
# Reason: Prevailing style choice
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylehashaslastarrayitem
|
|
||||||
Style/HashAsLastArrayItem:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Reason: Enforce modern Ruby style
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylehashsyntax
|
|
||||||
Style/HashSyntax:
|
|
||||||
EnforcedStyle: ruby19_no_mixed_keys
|
|
||||||
EnforcedShorthandSyntax: either
|
|
||||||
|
|
||||||
# Reason:
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylenumericliterals
|
|
||||||
Style/NumericLiterals:
|
|
||||||
AllowedPatterns:
|
|
||||||
- \d{4}_\d{2}_\d{2}_\d{6} # For DB migration date version number readability
|
|
||||||
|
|
||||||
# Reason:
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylepercentliteraldelimiters
|
|
||||||
Style/PercentLiteralDelimiters:
|
|
||||||
PreferredDelimiters:
|
|
||||||
'%i': '()'
|
|
||||||
'%w': '()'
|
|
||||||
|
|
||||||
# Reason: Prefer less indentation in conditional assignments
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_style.html#styleredundantbegin
|
|
||||||
Style/RedundantBegin:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Reason: Prevailing style choice
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_style.html#styleredundantfetchblock
|
|
||||||
Style/RedundantFetchBlock:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Reason: Overridden to reduce implicit StandardError rescues
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylerescuestandarderror
|
|
||||||
Style/RescueStandardError:
|
|
||||||
EnforcedStyle: implicit
|
|
||||||
|
|
||||||
# Reason: Originally disabled for CodeClimate, and no config consensus has been found
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylesymbolarray
|
|
||||||
Style/SymbolArray:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Reason:
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_style.html#styletrailingcommainarrayliteral
|
|
||||||
Style/TrailingCommaInArrayLiteral:
|
|
||||||
EnforcedStyleForMultiline: 'comma'
|
|
||||||
|
|
||||||
# Reason:
|
|
||||||
# https://docs.rubocop.org/rubocop/cops_style.html#styletrailingcommainhashliteral
|
|
||||||
Style/TrailingCommaInHashLiteral:
|
|
||||||
EnforcedStyleForMultiline: 'comma'
|
|
||||||
|
|
||||||
Style/MiddleDot:
|
|
||||||
Enabled: true
|
|
||||||
|
|
6
.rubocop/custom.yml
Normal file
6
.rubocop/custom.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
require:
|
||||||
|
- ../lib/linter/rubocop_middle_dot
|
||||||
|
|
||||||
|
Style/MiddleDot:
|
||||||
|
Enabled: true
|
6
.rubocop/layout.yml
Normal file
6
.rubocop/layout.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
Layout/FirstHashElementIndentation:
|
||||||
|
EnforcedStyle: consistent
|
||||||
|
|
||||||
|
Layout/LineLength:
|
||||||
|
Max: 300 # Default of 120 causes a duplicate entry in generated todo file
|
29
.rubocop/metrics.yml
Normal file
29
.rubocop/metrics.yml
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
---
|
||||||
|
Metrics/AbcSize:
|
||||||
|
Exclude:
|
||||||
|
- 'app/serializers/initial_state_serializer.rb'
|
||||||
|
- lib/mastodon/cli/*.rb
|
||||||
|
|
||||||
|
Metrics/BlockLength:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
Metrics/ClassLength:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
Metrics/CyclomaticComplexity:
|
||||||
|
Exclude:
|
||||||
|
- 'app/lib/feed_manager.rb'
|
||||||
|
- 'app/policies/status_policy.rb'
|
||||||
|
- 'app/services/activitypub/process_account_service.rb'
|
||||||
|
- 'app/services/delivery_antenna_service.rb'
|
||||||
|
- 'app/services/post_status_service.rb'
|
||||||
|
- lib/mastodon/cli/*.rb
|
||||||
|
|
||||||
|
Metrics/MethodLength:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
Metrics/ModuleLength:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
Metrics/ParameterLists:
|
||||||
|
CountKeywordArgs: false
|
3
.rubocop/naming.yml
Normal file
3
.rubocop/naming.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
Naming/BlockForwarding:
|
||||||
|
EnforcedStyle: explicit
|
27
.rubocop/rails.yml
Normal file
27
.rubocop/rails.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
---
|
||||||
|
Rails/FilePath:
|
||||||
|
EnforcedStyle: arguments
|
||||||
|
|
||||||
|
Rails/HttpStatus:
|
||||||
|
EnforcedStyle: numeric
|
||||||
|
|
||||||
|
Rails/LexicallyScopedActionFilter:
|
||||||
|
Exclude:
|
||||||
|
- app/controllers/auth/* # Conflicts with `Lint/UselessMethodDefinition` for inherited controller actions
|
||||||
|
|
||||||
|
Rails/NegateInclude:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
Rails/RakeEnvironment:
|
||||||
|
Exclude: # Tasks are doing local work which do not need full env loaded
|
||||||
|
- lib/tasks/auto_annotate_models.rake
|
||||||
|
- lib/tasks/emojis.rake
|
||||||
|
- lib/tasks/mastodon.rake
|
||||||
|
- lib/tasks/repo.rake
|
||||||
|
- lib/tasks/statistics.rake
|
||||||
|
|
||||||
|
Rails/SkipsModelValidations:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
Rails/UnusedIgnoredColumns:
|
||||||
|
Enabled: false # Preserve ability to migrate from arbitrary old versions
|
29
.rubocop/rspec.yml
Normal file
29
.rubocop/rspec.yml
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
---
|
||||||
|
RSpec/ExampleLength:
|
||||||
|
CountAsOne: ['array', 'heredoc', 'method_call']
|
||||||
|
Max: 20 # Override default of 5
|
||||||
|
|
||||||
|
RSpec/MultipleExpectations:
|
||||||
|
Max: 10 # Overrides default of 1
|
||||||
|
|
||||||
|
RSpec/MultipleMemoizedHelpers:
|
||||||
|
Max: 20 # Overrides default of 5
|
||||||
|
Exclude:
|
||||||
|
- 'spec/services/delete_account_service_spec.rb'
|
||||||
|
|
||||||
|
RSpec/NamedSubject:
|
||||||
|
EnforcedStyle: named_only
|
||||||
|
|
||||||
|
RSpec/NestedGroups:
|
||||||
|
Max: 10 # Overrides default of 3
|
||||||
|
|
||||||
|
RSpec/NotToNot:
|
||||||
|
EnforcedStyle: to_not
|
||||||
|
|
||||||
|
RSpec/SpecFilePathFormat:
|
||||||
|
CustomTransform:
|
||||||
|
ActivityPub: activitypub
|
||||||
|
DeepL: deepl
|
||||||
|
FetchOEmbedService: fetch_oembed_service
|
||||||
|
OEmbedController: oembed_controller
|
||||||
|
OStatus: ostatus
|
3
.rubocop/rspec_rails.yml
Normal file
3
.rubocop/rspec_rails.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
RSpecRails/HttpStatus:
|
||||||
|
EnforcedStyle: numeric
|
19
.rubocop/strict.yml
Normal file
19
.rubocop/strict.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
Lint/Debugger: # Remove any `binding.pry`
|
||||||
|
Enabled: true
|
||||||
|
Exclude: []
|
||||||
|
|
||||||
|
RSpec/Focus: # Require full spec run on CI
|
||||||
|
Enabled: true
|
||||||
|
Exclude: []
|
||||||
|
|
||||||
|
Rails/Output: # Remove any `puts` debugging
|
||||||
|
Enabled: true
|
||||||
|
Exclude: []
|
||||||
|
|
||||||
|
Rails/FindEach: # Using `each` could impact performance, use `find_each`
|
||||||
|
Enabled: true
|
||||||
|
Exclude: []
|
||||||
|
|
||||||
|
Rails/UniqBeforePluck: # Require `uniq.pluck` and not `pluck.uniq`
|
||||||
|
Enabled: true
|
||||||
|
Exclude: []
|
47
.rubocop/style.yml
Normal file
47
.rubocop/style.yml
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
---
|
||||||
|
Style/ClassAndModuleChildren:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
Style/Documentation:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
Style/FormatStringToken:
|
||||||
|
AllowedMethods:
|
||||||
|
- redirect_with_vary # Route redirects are not token-formatted
|
||||||
|
inherit_mode:
|
||||||
|
merge:
|
||||||
|
- AllowedMethods
|
||||||
|
|
||||||
|
Style/HashAsLastArrayItem:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
Style/HashSyntax:
|
||||||
|
EnforcedShorthandSyntax: either
|
||||||
|
EnforcedStyle: ruby19_no_mixed_keys
|
||||||
|
|
||||||
|
Style/NumericLiterals:
|
||||||
|
AllowedPatterns:
|
||||||
|
- \d{4}_\d{2}_\d{2}_\d{6}
|
||||||
|
|
||||||
|
Style/PercentLiteralDelimiters:
|
||||||
|
PreferredDelimiters:
|
||||||
|
'%i': ()
|
||||||
|
'%w': ()
|
||||||
|
|
||||||
|
Style/RedundantBegin:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
Style/RedundantFetchBlock:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
Style/RescueStandardError:
|
||||||
|
EnforcedStyle: implicit
|
||||||
|
|
||||||
|
Style/SymbolArray:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
Style/TrailingCommaInArrayLiteral:
|
||||||
|
EnforcedStyleForMultiline: comma
|
||||||
|
|
||||||
|
Style/TrailingCommaInHashLiteral:
|
||||||
|
EnforcedStyleForMultiline: comma
|
|
@ -26,25 +26,10 @@ Metrics/CyclomaticComplexity:
|
||||||
# Configuration parameters: AllowedMethods, AllowedPatterns.
|
# Configuration parameters: AllowedMethods, AllowedPatterns.
|
||||||
Metrics/PerceivedComplexity:
|
Metrics/PerceivedComplexity:
|
||||||
Max: 27
|
Max: 27
|
||||||
|
|
||||||
# Configuration parameters: CountAsOne.
|
|
||||||
RSpec/ExampleLength:
|
|
||||||
Max: 18
|
|
||||||
|
|
||||||
RSpec/MultipleExpectations:
|
|
||||||
Max: 7
|
|
||||||
|
|
||||||
# Configuration parameters: AllowSubject.
|
|
||||||
RSpec/MultipleMemoizedHelpers:
|
|
||||||
Max: 17
|
|
||||||
Exclude:
|
Exclude:
|
||||||
- 'spec/lib/activitypub/activity/create_spec.rb'
|
- 'app/policies/status_policy.rb'
|
||||||
- 'spec/services/delete_account_service_spec.rb'
|
- 'app/services/delivery_antenna_service.rb'
|
||||||
- 'spec/services/fan_out_on_write_service_spec.rb'
|
- 'app/services/post_status_service.rb'
|
||||||
|
|
||||||
# Configuration parameters: AllowedGroups.
|
|
||||||
RSpec/NestedGroups:
|
|
||||||
Max: 6
|
|
||||||
|
|
||||||
Rails/OutputSafety:
|
Rails/OutputSafety:
|
||||||
Exclude:
|
Exclude:
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
3.3.2
|
3.3.3
|
||||||
|
|
91
Dockerfile
91
Dockerfile
|
@ -11,8 +11,10 @@ ARG TARGETPLATFORM=${TARGETPLATFORM}
|
||||||
ARG BUILDPLATFORM=${BUILDPLATFORM}
|
ARG BUILDPLATFORM=${BUILDPLATFORM}
|
||||||
|
|
||||||
# Ruby image to use for base image, change with [--build-arg RUBY_VERSION="3.3.x"]
|
# Ruby image to use for base image, change with [--build-arg RUBY_VERSION="3.3.x"]
|
||||||
ARG RUBY_VERSION="3.3.2"
|
# renovate: datasource=docker depName=docker.io/ruby
|
||||||
|
ARG RUBY_VERSION="3.3.3"
|
||||||
# # Node version to use in base image, change with [--build-arg NODE_MAJOR_VERSION="20"]
|
# # Node version to use in base image, change with [--build-arg NODE_MAJOR_VERSION="20"]
|
||||||
|
# renovate: datasource=node-version depName=node
|
||||||
ARG NODE_MAJOR_VERSION="20"
|
ARG NODE_MAJOR_VERSION="20"
|
||||||
# Debian image to use for base image, change with [--build-arg DEBIAN_VERSION="bookworm"]
|
# Debian image to use for base image, change with [--build-arg DEBIAN_VERSION="bookworm"]
|
||||||
ARG DEBIAN_VERSION="bookworm"
|
ARG DEBIAN_VERSION="bookworm"
|
||||||
|
@ -46,8 +48,6 @@ ENV \
|
||||||
# Apply Mastodon version information
|
# Apply Mastodon version information
|
||||||
MASTODON_VERSION_PRERELEASE="${MASTODON_VERSION_PRERELEASE}" \
|
MASTODON_VERSION_PRERELEASE="${MASTODON_VERSION_PRERELEASE}" \
|
||||||
MASTODON_VERSION_METADATA="${MASTODON_VERSION_METADATA}" \
|
MASTODON_VERSION_METADATA="${MASTODON_VERSION_METADATA}" \
|
||||||
# Enable libvips
|
|
||||||
MASTODON_USE_LIBVIPS=true \
|
|
||||||
# Apply Mastodon static files and YJIT options
|
# Apply Mastodon static files and YJIT options
|
||||||
RAILS_SERVE_STATIC_FILES=${RAILS_SERVE_STATIC_FILES} \
|
RAILS_SERVE_STATIC_FILES=${RAILS_SERVE_STATIC_FILES} \
|
||||||
RUBY_YJIT_ENABLE=${RUBY_YJIT_ENABLE} \
|
RUBY_YJIT_ENABLE=${RUBY_YJIT_ENABLE} \
|
||||||
|
@ -65,7 +65,9 @@ ENV \
|
||||||
DEBIAN_FRONTEND="noninteractive" \
|
DEBIAN_FRONTEND="noninteractive" \
|
||||||
PATH="${PATH}:/opt/ruby/bin:/opt/mastodon/bin" \
|
PATH="${PATH}:/opt/ruby/bin:/opt/mastodon/bin" \
|
||||||
# Optimize jemalloc 5.x performance
|
# Optimize jemalloc 5.x performance
|
||||||
MALLOC_CONF="narenas:2,background_thread:true,thp:never,dirty_decay_ms:1000,muzzy_decay_ms:0"
|
MALLOC_CONF="narenas:2,background_thread:true,thp:never,dirty_decay_ms:1000,muzzy_decay_ms:0" \
|
||||||
|
# Enable libvips, should not be changed
|
||||||
|
MASTODON_USE_LIBVIPS=true
|
||||||
|
|
||||||
# Set default shell used for running commands
|
# Set default shell used for running commands
|
||||||
SHELL ["/bin/bash", "-o", "pipefail", "-o", "errexit", "-c"]
|
SHELL ["/bin/bash", "-o", "pipefail", "-o", "errexit", "-c"]
|
||||||
|
@ -102,7 +104,6 @@ RUN \
|
||||||
curl \
|
curl \
|
||||||
ffmpeg \
|
ffmpeg \
|
||||||
file \
|
file \
|
||||||
libvips42 \
|
|
||||||
libjemalloc2 \
|
libjemalloc2 \
|
||||||
patchelf \
|
patchelf \
|
||||||
procps \
|
procps \
|
||||||
|
@ -136,18 +137,31 @@ RUN \
|
||||||
--mount=type=cache,id=apt-lib-${TARGETPLATFORM},target=/var/lib/apt,sharing=locked \
|
--mount=type=cache,id=apt-lib-${TARGETPLATFORM},target=/var/lib/apt,sharing=locked \
|
||||||
# Install build tools and bundler dependencies from APT
|
# Install build tools and bundler dependencies from APT
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
g++ \
|
build-essential \
|
||||||
gcc \
|
|
||||||
git \
|
git \
|
||||||
libgdbm-dev \
|
libgdbm-dev \
|
||||||
|
libglib2.0-dev \
|
||||||
libgmp-dev \
|
libgmp-dev \
|
||||||
libicu-dev \
|
libicu-dev \
|
||||||
libidn-dev \
|
libidn-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
make \
|
meson \
|
||||||
|
pkg-config \
|
||||||
shared-mime-info \
|
shared-mime-info \
|
||||||
zlib1g-dev \
|
# libvips components
|
||||||
|
libcgif-dev \
|
||||||
|
libexif-dev \
|
||||||
|
libexpat1-dev \
|
||||||
|
libgirepository1.0-dev \
|
||||||
|
libheif-dev \
|
||||||
|
libimagequant-dev \
|
||||||
|
libjpeg62-turbo-dev \
|
||||||
|
liblcms2-dev \
|
||||||
|
liborc-dev \
|
||||||
|
libspng-dev \
|
||||||
|
libtiff-dev \
|
||||||
|
libwebp-dev \
|
||||||
;
|
;
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
|
@ -156,6 +170,26 @@ RUN \
|
||||||
corepack enable; \
|
corepack enable; \
|
||||||
corepack prepare --activate;
|
corepack prepare --activate;
|
||||||
|
|
||||||
|
# Create temporary libvips specific build layer from build layer
|
||||||
|
FROM build as libvips
|
||||||
|
|
||||||
|
# libvips version to compile, change with [--build-arg VIPS_VERSION="8.15.2"]
|
||||||
|
# renovate: datasource=github-releases depName=libvips packageName=libvips/libvips
|
||||||
|
ARG VIPS_VERSION=8.15.2
|
||||||
|
# libvips download URL, change with [--build-arg VIPS_URL="https://github.com/libvips/libvips/releases/download"]
|
||||||
|
ARG VIPS_URL=https://github.com/libvips/libvips/releases/download
|
||||||
|
|
||||||
|
WORKDIR /usr/local/libvips/src
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
curl -sSL -o vips-${VIPS_VERSION}.tar.xz ${VIPS_URL}/v${VIPS_VERSION}/vips-${VIPS_VERSION}.tar.xz; \
|
||||||
|
tar xf vips-${VIPS_VERSION}.tar.xz; \
|
||||||
|
cd vips-${VIPS_VERSION}; \
|
||||||
|
meson setup build --prefix /usr/local/libvips --libdir=lib -Ddeprecated=false -Dintrospection=disabled -Dmodules=disabled -Dexamples=false; \
|
||||||
|
cd build; \
|
||||||
|
ninja; \
|
||||||
|
ninja install;
|
||||||
|
|
||||||
# Create temporary bundler specific build layer from build layer
|
# Create temporary bundler specific build layer from build layer
|
||||||
FROM build as bundler
|
FROM build as bundler
|
||||||
|
|
||||||
|
@ -205,16 +239,16 @@ COPY . /opt/mastodon/
|
||||||
COPY --from=yarn /opt/mastodon /opt/mastodon/
|
COPY --from=yarn /opt/mastodon /opt/mastodon/
|
||||||
COPY --from=bundler /opt/mastodon /opt/mastodon/
|
COPY --from=bundler /opt/mastodon /opt/mastodon/
|
||||||
COPY --from=bundler /usr/local/bundle/ /usr/local/bundle/
|
COPY --from=bundler /usr/local/bundle/ /usr/local/bundle/
|
||||||
|
# Copy libvips components to layer for precompiler
|
||||||
|
COPY --from=libvips /usr/local/libvips/bin /usr/local/bin
|
||||||
|
COPY --from=libvips /usr/local/libvips/lib /usr/local/lib
|
||||||
|
|
||||||
ARG TARGETPLATFORM
|
ARG TARGETPLATFORM
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
|
ldconfig; \
|
||||||
# Use Ruby on Rails to create Mastodon assets
|
# Use Ruby on Rails to create Mastodon assets
|
||||||
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=precompile_placeholder \
|
SECRET_KEY_BASE_DUMMY=1 \
|
||||||
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=precompile_placeholder \
|
|
||||||
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=precompile_placeholder \
|
|
||||||
OTP_SECRET=precompile_placeholder \
|
|
||||||
SECRET_KEY_BASE=precompile_placeholder \
|
|
||||||
bundle exec rails assets:precompile; \
|
bundle exec rails assets:precompile; \
|
||||||
# Cleanup temporary files
|
# Cleanup temporary files
|
||||||
rm -fr /opt/mastodon/tmp;
|
rm -fr /opt/mastodon/tmp;
|
||||||
|
@ -234,12 +268,27 @@ RUN \
|
||||||
--mount=type=cache,id=yarn-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/yarn,sharing=locked \
|
--mount=type=cache,id=yarn-cache-${TARGETPLATFORM},target=/usr/local/share/.cache/yarn,sharing=locked \
|
||||||
# Apt update install non-dev versions of necessary components
|
# Apt update install non-dev versions of necessary components
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
libssl3 \
|
libexpat1 \
|
||||||
libpq5 \
|
libglib2.0-0 \
|
||||||
libicu72 \
|
libicu72 \
|
||||||
libidn12 \
|
libidn12 \
|
||||||
|
libpq5 \
|
||||||
libreadline8 \
|
libreadline8 \
|
||||||
|
libssl3 \
|
||||||
libyaml-0-2 \
|
libyaml-0-2 \
|
||||||
|
# libvips components
|
||||||
|
libcgif0 \
|
||||||
|
libexif12 \
|
||||||
|
libheif1 \
|
||||||
|
libimagequant0 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
liblcms2-2 \
|
||||||
|
liborc-0.4-0 \
|
||||||
|
libspng0 \
|
||||||
|
libtiff6 \
|
||||||
|
libwebp7 \
|
||||||
|
libwebpdemux2 \
|
||||||
|
libwebpmux3 \
|
||||||
;
|
;
|
||||||
|
|
||||||
# Copy Mastodon sources into final layer
|
# Copy Mastodon sources into final layer
|
||||||
|
@ -250,9 +299,17 @@ COPY --from=precompiler /opt/mastodon/public/packs /opt/mastodon/public/packs
|
||||||
COPY --from=precompiler /opt/mastodon/public/assets /opt/mastodon/public/assets
|
COPY --from=precompiler /opt/mastodon/public/assets /opt/mastodon/public/assets
|
||||||
# Copy bundler components to layer
|
# Copy bundler components to layer
|
||||||
COPY --from=bundler /usr/local/bundle/ /usr/local/bundle/
|
COPY --from=bundler /usr/local/bundle/ /usr/local/bundle/
|
||||||
|
# Copy libvips components to layer
|
||||||
|
COPY --from=libvips /usr/local/libvips/bin /usr/local/bin
|
||||||
|
COPY --from=libvips /usr/local/libvips/lib /usr/local/lib
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
# Precompile bootsnap code for faster Rails startup
|
ldconfig; \
|
||||||
|
# Smoketest media processors
|
||||||
|
vips -v;
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
# Precompile bootsnap code for faster Rails startup
|
||||||
bundle exec bootsnap precompile --gemfile app/ lib/;
|
bundle exec bootsnap precompile --gemfile app/ lib/;
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
|
|
3
Gemfile
3
Gemfile
|
@ -57,7 +57,7 @@ gem 'hiredis', '~> 0.6'
|
||||||
gem 'htmlentities', '~> 4.3'
|
gem 'htmlentities', '~> 4.3'
|
||||||
gem 'http', '~> 5.2.0'
|
gem 'http', '~> 5.2.0'
|
||||||
gem 'http_accept_language', '~> 2.1'
|
gem 'http_accept_language', '~> 2.1'
|
||||||
gem 'httplog', '~> 1.6.2'
|
gem 'httplog', '~> 1.7.0'
|
||||||
gem 'i18n'
|
gem 'i18n'
|
||||||
gem 'idn-ruby', require: 'idn'
|
gem 'idn-ruby', require: 'idn'
|
||||||
gem 'inline_svg'
|
gem 'inline_svg'
|
||||||
|
@ -171,6 +171,7 @@ group :development do
|
||||||
gem 'rubocop-performance', require: false
|
gem 'rubocop-performance', require: false
|
||||||
gem 'rubocop-rails', require: false
|
gem 'rubocop-rails', require: false
|
||||||
gem 'rubocop-rspec', require: false
|
gem 'rubocop-rspec', require: false
|
||||||
|
gem 'rubocop-rspec_rails', require: false
|
||||||
|
|
||||||
# Annotates modules with schema
|
# Annotates modules with schema
|
||||||
gem 'annotate', '~> 3.2'
|
gem 'annotate', '~> 3.2'
|
||||||
|
|
62
Gemfile.lock
62
Gemfile.lock
|
@ -109,7 +109,7 @@ GEM
|
||||||
aws-sdk-kms (1.83.0)
|
aws-sdk-kms (1.83.0)
|
||||||
aws-sdk-core (~> 3, >= 3.197.0)
|
aws-sdk-core (~> 3, >= 3.197.0)
|
||||||
aws-sigv4 (~> 1.1)
|
aws-sigv4 (~> 1.1)
|
||||||
aws-sdk-s3 (1.152.0)
|
aws-sdk-s3 (1.152.3)
|
||||||
aws-sdk-core (~> 3, >= 3.197.0)
|
aws-sdk-core (~> 3, >= 3.197.0)
|
||||||
aws-sdk-kms (~> 1)
|
aws-sdk-kms (~> 1)
|
||||||
aws-sigv4 (~> 1.8)
|
aws-sigv4 (~> 1.8)
|
||||||
|
@ -168,7 +168,7 @@ GEM
|
||||||
climate_control (1.2.0)
|
climate_control (1.2.0)
|
||||||
cocoon (1.2.15)
|
cocoon (1.2.15)
|
||||||
color_diff (0.1)
|
color_diff (0.1)
|
||||||
concurrent-ruby (1.3.1)
|
concurrent-ruby (1.3.3)
|
||||||
connection_pool (2.4.1)
|
connection_pool (2.4.1)
|
||||||
cose (1.3.0)
|
cose (1.3.0)
|
||||||
cbor (~> 0.5.9)
|
cbor (~> 0.5.9)
|
||||||
|
@ -272,7 +272,7 @@ GEM
|
||||||
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.1)
|
fog-openstack (1.1.3)
|
||||||
fog-core (~> 2.1)
|
fog-core (~> 2.1)
|
||||||
fog-json (>= 1.0)
|
fog-json (>= 1.0)
|
||||||
formatador (1.1.0)
|
formatador (1.1.0)
|
||||||
|
@ -321,7 +321,7 @@ GEM
|
||||||
http-form_data (2.3.0)
|
http-form_data (2.3.0)
|
||||||
http_accept_language (2.1.1)
|
http_accept_language (2.1.1)
|
||||||
httpclient (2.8.3)
|
httpclient (2.8.3)
|
||||||
httplog (1.6.3)
|
httplog (1.7.0)
|
||||||
rack (>= 2.0)
|
rack (>= 2.0)
|
||||||
rainbow (>= 2.0.0)
|
rainbow (>= 2.0.0)
|
||||||
i18n (1.14.5)
|
i18n (1.14.5)
|
||||||
|
@ -341,7 +341,7 @@ GEM
|
||||||
activesupport (>= 3.0)
|
activesupport (>= 3.0)
|
||||||
nokogiri (>= 1.6)
|
nokogiri (>= 1.6)
|
||||||
io-console (0.7.2)
|
io-console (0.7.2)
|
||||||
irb (1.13.1)
|
irb (1.13.2)
|
||||||
rdoc (>= 4.0.0)
|
rdoc (>= 4.0.0)
|
||||||
reline (>= 0.4.2)
|
reline (>= 0.4.2)
|
||||||
jmespath (1.6.2)
|
jmespath (1.6.2)
|
||||||
|
@ -419,10 +419,10 @@ GEM
|
||||||
addressable (~> 2.5)
|
addressable (~> 2.5)
|
||||||
azure-storage-blob (~> 2.0.1)
|
azure-storage-blob (~> 2.0.1)
|
||||||
hashie (~> 5.0)
|
hashie (~> 5.0)
|
||||||
memory_profiler (1.0.1)
|
memory_profiler (1.0.2)
|
||||||
mime-types (3.5.2)
|
mime-types (3.5.2)
|
||||||
mime-types-data (~> 3.2015)
|
mime-types-data (~> 3.2015)
|
||||||
mime-types-data (3.2024.0507)
|
mime-types-data (3.2024.0604)
|
||||||
mini_mime (1.1.5)
|
mini_mime (1.1.5)
|
||||||
mini_portile2 (2.8.7)
|
mini_portile2 (2.8.7)
|
||||||
minitest (5.23.1)
|
minitest (5.23.1)
|
||||||
|
@ -445,7 +445,7 @@ GEM
|
||||||
net-smtp (0.5.0)
|
net-smtp (0.5.0)
|
||||||
net-protocol
|
net-protocol
|
||||||
nio4r (2.7.3)
|
nio4r (2.7.3)
|
||||||
nokogiri (1.16.5)
|
nokogiri (1.16.6)
|
||||||
mini_portile2 (~> 2.8.2)
|
mini_portile2 (~> 2.8.2)
|
||||||
racc (~> 1.4)
|
racc (~> 1.4)
|
||||||
nsa (0.3.0)
|
nsa (0.3.0)
|
||||||
|
@ -453,7 +453,7 @@ GEM
|
||||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||||
sidekiq (>= 3.5)
|
sidekiq (>= 3.5)
|
||||||
statsd-ruby (~> 1.4, >= 1.4.0)
|
statsd-ruby (~> 1.4, >= 1.4.0)
|
||||||
oj (3.16.3)
|
oj (3.16.4)
|
||||||
bigdecimal (>= 3.0)
|
bigdecimal (>= 3.0)
|
||||||
omniauth (2.1.2)
|
omniauth (2.1.2)
|
||||||
hashie (>= 3.4.6)
|
hashie (>= 3.4.6)
|
||||||
|
@ -498,6 +498,10 @@ GEM
|
||||||
opentelemetry-semantic_conventions
|
opentelemetry-semantic_conventions
|
||||||
opentelemetry-helpers-sql-obfuscation (0.1.0)
|
opentelemetry-helpers-sql-obfuscation (0.1.0)
|
||||||
opentelemetry-common (~> 0.20)
|
opentelemetry-common (~> 0.20)
|
||||||
|
opentelemetry-instrumentation-action_mailer (0.1.0)
|
||||||
|
opentelemetry-api (~> 1.0)
|
||||||
|
opentelemetry-instrumentation-active_support (~> 0.1)
|
||||||
|
opentelemetry-instrumentation-base (~> 0.22.1)
|
||||||
opentelemetry-instrumentation-action_pack (0.9.0)
|
opentelemetry-instrumentation-action_pack (0.9.0)
|
||||||
opentelemetry-api (~> 1.0)
|
opentelemetry-api (~> 1.0)
|
||||||
opentelemetry-instrumentation-base (~> 0.22.1)
|
opentelemetry-instrumentation-base (~> 0.22.1)
|
||||||
|
@ -551,8 +555,9 @@ GEM
|
||||||
opentelemetry-api (~> 1.0)
|
opentelemetry-api (~> 1.0)
|
||||||
opentelemetry-common (~> 0.20.0)
|
opentelemetry-common (~> 0.20.0)
|
||||||
opentelemetry-instrumentation-base (~> 0.22.1)
|
opentelemetry-instrumentation-base (~> 0.22.1)
|
||||||
opentelemetry-instrumentation-rails (0.30.1)
|
opentelemetry-instrumentation-rails (0.30.2)
|
||||||
opentelemetry-api (~> 1.0)
|
opentelemetry-api (~> 1.0)
|
||||||
|
opentelemetry-instrumentation-action_mailer (~> 0.1.0)
|
||||||
opentelemetry-instrumentation-action_pack (~> 0.9.0)
|
opentelemetry-instrumentation-action_pack (~> 0.9.0)
|
||||||
opentelemetry-instrumentation-action_view (~> 0.7.0)
|
opentelemetry-instrumentation-action_view (~> 0.7.0)
|
||||||
opentelemetry-instrumentation-active_job (~> 0.7.0)
|
opentelemetry-instrumentation-active_job (~> 0.7.0)
|
||||||
|
@ -578,8 +583,8 @@ GEM
|
||||||
opentelemetry-api (~> 1.0)
|
opentelemetry-api (~> 1.0)
|
||||||
orm_adapter (0.5.0)
|
orm_adapter (0.5.0)
|
||||||
ox (2.14.18)
|
ox (2.14.18)
|
||||||
parallel (1.24.0)
|
parallel (1.25.1)
|
||||||
parser (3.3.2.0)
|
parser (3.3.3.0)
|
||||||
ast (~> 2.4.1)
|
ast (~> 2.4.1)
|
||||||
racc
|
racc
|
||||||
parslet (2.0.0)
|
parslet (2.0.0)
|
||||||
|
@ -604,7 +609,7 @@ GEM
|
||||||
railties (>= 7.0.0)
|
railties (>= 7.0.0)
|
||||||
psych (5.1.2)
|
psych (5.1.2)
|
||||||
stringio
|
stringio
|
||||||
public_suffix (5.0.5)
|
public_suffix (5.1.1)
|
||||||
puma (6.4.2)
|
puma (6.4.2)
|
||||||
nio4r (~> 2.0)
|
nio4r (~> 2.0)
|
||||||
pundit (2.3.2)
|
pundit (2.3.2)
|
||||||
|
@ -686,15 +691,15 @@ GEM
|
||||||
redlock (1.3.2)
|
redlock (1.3.2)
|
||||||
redis (>= 3.0.0, < 6.0)
|
redis (>= 3.0.0, < 6.0)
|
||||||
regexp_parser (2.9.2)
|
regexp_parser (2.9.2)
|
||||||
reline (0.5.8)
|
reline (0.5.9)
|
||||||
io-console (~> 0.5)
|
io-console (~> 0.5)
|
||||||
request_store (1.6.0)
|
request_store (1.6.0)
|
||||||
rack (>= 1.4)
|
rack (>= 1.4)
|
||||||
responders (3.1.1)
|
responders (3.1.1)
|
||||||
actionpack (>= 5.2)
|
actionpack (>= 5.2)
|
||||||
railties (>= 5.2)
|
railties (>= 5.2)
|
||||||
rexml (3.2.8)
|
rexml (3.3.0)
|
||||||
strscan (>= 3.0.9)
|
strscan
|
||||||
rotp (6.3.0)
|
rotp (6.3.0)
|
||||||
rouge (4.2.1)
|
rouge (4.2.1)
|
||||||
rpam2 (4.0.2)
|
rpam2 (4.0.2)
|
||||||
|
@ -739,11 +744,9 @@ GEM
|
||||||
unicode-display_width (>= 2.4.0, < 3.0)
|
unicode-display_width (>= 2.4.0, < 3.0)
|
||||||
rubocop-ast (1.31.3)
|
rubocop-ast (1.31.3)
|
||||||
parser (>= 3.3.1.0)
|
parser (>= 3.3.1.0)
|
||||||
rubocop-capybara (2.20.0)
|
rubocop-capybara (2.21.0)
|
||||||
rubocop (~> 1.41)
|
rubocop (~> 1.41)
|
||||||
rubocop-factory_bot (2.25.1)
|
rubocop-performance (1.21.1)
|
||||||
rubocop (~> 1.41)
|
|
||||||
rubocop-performance (1.21.0)
|
|
||||||
rubocop (>= 1.48.1, < 2.0)
|
rubocop (>= 1.48.1, < 2.0)
|
||||||
rubocop-ast (>= 1.31.1, < 2.0)
|
rubocop-ast (>= 1.31.1, < 2.0)
|
||||||
rubocop-rails (2.25.0)
|
rubocop-rails (2.25.0)
|
||||||
|
@ -751,13 +754,11 @@ GEM
|
||||||
rack (>= 1.1)
|
rack (>= 1.1)
|
||||||
rubocop (>= 1.33.0, < 2.0)
|
rubocop (>= 1.33.0, < 2.0)
|
||||||
rubocop-ast (>= 1.31.1, < 2.0)
|
rubocop-ast (>= 1.31.1, < 2.0)
|
||||||
rubocop-rspec (2.31.0)
|
rubocop-rspec (3.0.1)
|
||||||
rubocop (~> 1.40)
|
rubocop (~> 1.61)
|
||||||
rubocop-capybara (~> 2.17)
|
rubocop-rspec_rails (2.30.0)
|
||||||
rubocop-factory_bot (~> 2.22)
|
rubocop (~> 1.61)
|
||||||
rubocop-rspec_rails (~> 2.28)
|
rubocop-rspec (~> 3, >= 3.0.1)
|
||||||
rubocop-rspec_rails (2.28.3)
|
|
||||||
rubocop (~> 1.40)
|
|
||||||
ruby-prof (1.7.0)
|
ruby-prof (1.7.0)
|
||||||
ruby-progressbar (1.13.0)
|
ruby-progressbar (1.13.0)
|
||||||
ruby-saml (1.16.0)
|
ruby-saml (1.16.0)
|
||||||
|
@ -771,7 +772,7 @@ GEM
|
||||||
fugit (~> 1.1, >= 1.1.6)
|
fugit (~> 1.1, >= 1.1.6)
|
||||||
safety_net_attestation (0.4.0)
|
safety_net_attestation (0.4.0)
|
||||||
jwt (~> 2.0)
|
jwt (~> 2.0)
|
||||||
sanitize (6.1.0)
|
sanitize (6.1.1)
|
||||||
crass (~> 1.0.2)
|
crass (~> 1.0.2)
|
||||||
nokogiri (>= 1.12.0)
|
nokogiri (>= 1.12.0)
|
||||||
scenic (1.8.0)
|
scenic (1.8.0)
|
||||||
|
@ -815,7 +816,7 @@ GEM
|
||||||
statsd-ruby (1.5.0)
|
statsd-ruby (1.5.0)
|
||||||
stoplight (4.1.0)
|
stoplight (4.1.0)
|
||||||
redlock (~> 1.0)
|
redlock (~> 1.0)
|
||||||
stringio (3.1.0)
|
stringio (3.1.1)
|
||||||
strong_migrations (1.8.0)
|
strong_migrations (1.8.0)
|
||||||
activerecord (>= 5.2)
|
activerecord (>= 5.2)
|
||||||
strscan (3.1.0)
|
strscan (3.1.0)
|
||||||
|
@ -947,7 +948,7 @@ DEPENDENCIES
|
||||||
htmlentities (~> 4.3)
|
htmlentities (~> 4.3)
|
||||||
http (~> 5.2.0)
|
http (~> 5.2.0)
|
||||||
http_accept_language (~> 2.1)
|
http_accept_language (~> 2.1)
|
||||||
httplog (~> 1.6.2)
|
httplog (~> 1.7.0)
|
||||||
i18n
|
i18n
|
||||||
i18n-tasks (~> 1.0)
|
i18n-tasks (~> 1.0)
|
||||||
idn-ruby
|
idn-ruby
|
||||||
|
@ -1023,6 +1024,7 @@ DEPENDENCIES
|
||||||
rubocop-performance
|
rubocop-performance
|
||||||
rubocop-rails
|
rubocop-rails
|
||||||
rubocop-rspec
|
rubocop-rspec
|
||||||
|
rubocop-rspec_rails
|
||||||
ruby-prof
|
ruby-prof
|
||||||
ruby-progressbar (~> 1.13)
|
ruby-progressbar (~> 1.13)
|
||||||
ruby-vips (~> 2.2)
|
ruby-vips (~> 2.2)
|
||||||
|
|
|
@ -4,6 +4,28 @@ module Admin
|
||||||
class DomainBlocksController < BaseController
|
class DomainBlocksController < BaseController
|
||||||
before_action :set_domain_block, only: [:destroy, :edit, :update]
|
before_action :set_domain_block, only: [:destroy, :edit, :update]
|
||||||
|
|
||||||
|
PERMITTED_PARAMS = %i(
|
||||||
|
block_trends
|
||||||
|
detect_invalid_subscription
|
||||||
|
domain
|
||||||
|
hidden
|
||||||
|
obfuscate
|
||||||
|
private_comment
|
||||||
|
public_comment
|
||||||
|
reject_favourite
|
||||||
|
reject_friend
|
||||||
|
reject_hashtag
|
||||||
|
reject_media
|
||||||
|
reject_new_follow
|
||||||
|
reject_reply_exclude_followers
|
||||||
|
reject_reports
|
||||||
|
reject_send_sensitive
|
||||||
|
reject_straight_follow
|
||||||
|
severity
|
||||||
|
).freeze
|
||||||
|
|
||||||
|
PERMITTED_UPDATE_PARAMS = PERMITTED_PARAMS.without(:domain).freeze
|
||||||
|
|
||||||
def batch
|
def batch
|
||||||
authorize :domain_block, :create?
|
authorize :domain_block, :create?
|
||||||
@form = Form::DomainBlockBatch.new(form_domain_block_batch_params.merge(current_account: current_account, action: action_from_button))
|
@form = Form::DomainBlockBatch.new(form_domain_block_batch_params.merge(current_account: current_account, action: action_from_button))
|
||||||
|
@ -88,13 +110,17 @@ module Admin
|
||||||
end
|
end
|
||||||
|
|
||||||
def update_params
|
def update_params
|
||||||
params.require(:domain_block).permit(:severity, :reject_media, :reject_favourite, :reject_reply_exclude_followers, :reject_send_sensitive, :reject_hashtag,
|
params
|
||||||
:reject_straight_follow, :reject_new_follow, :reject_friend, :block_trends, :detect_invalid_subscription, :reject_reports, :private_comment, :public_comment, :obfuscate, :hidden)
|
.require(:domain_block)
|
||||||
|
.slice(*PERMITTED_UPDATE_PARAMS)
|
||||||
|
.permit(*PERMITTED_UPDATE_PARAMS)
|
||||||
end
|
end
|
||||||
|
|
||||||
def resource_params
|
def resource_params
|
||||||
params.require(:domain_block).permit(:domain, :severity, :reject_media, :reject_favourite, :reject_reply_exclude_followers, :reject_send_sensitive, :reject_hashtag,
|
params
|
||||||
:reject_straight_follow, :reject_new_follow, :reject_friend, :block_trends, :detect_invalid_subscription, :reject_reports, :private_comment, :public_comment, :obfuscate, :hidden)
|
.require(:domain_block)
|
||||||
|
.slice(*PERMITTED_PARAMS)
|
||||||
|
.permit(*PERMITTED_PARAMS)
|
||||||
end
|
end
|
||||||
|
|
||||||
def form_domain_block_batch_params
|
def form_domain_block_batch_params
|
||||||
|
|
|
@ -13,6 +13,13 @@ class Api::V1::Admin::TagsController < Api::BaseController
|
||||||
|
|
||||||
LIMIT = 100
|
LIMIT = 100
|
||||||
|
|
||||||
|
PERMITTED_PARAMS = %i(
|
||||||
|
display_name
|
||||||
|
listable
|
||||||
|
trendable
|
||||||
|
usable
|
||||||
|
).freeze
|
||||||
|
|
||||||
def index
|
def index
|
||||||
authorize :tag, :index?
|
authorize :tag, :index?
|
||||||
render json: @tags, each_serializer: REST::Admin::TagSerializer
|
render json: @tags, each_serializer: REST::Admin::TagSerializer
|
||||||
|
@ -40,7 +47,9 @@ class Api::V1::Admin::TagsController < Api::BaseController
|
||||||
end
|
end
|
||||||
|
|
||||||
def tag_params
|
def tag_params
|
||||||
params.permit(:display_name, :trendable, :usable, :listable)
|
params
|
||||||
|
.slice(*PERMITTED_PARAMS)
|
||||||
|
.permit(*PERMITTED_PARAMS)
|
||||||
end
|
end
|
||||||
|
|
||||||
def next_path
|
def next_path
|
||||||
|
|
|
@ -4,27 +4,42 @@ module Admin::AccountModerationNotesHelper
|
||||||
def admin_account_link_to(account, path: nil)
|
def admin_account_link_to(account, path: nil)
|
||||||
return if account.nil?
|
return if account.nil?
|
||||||
|
|
||||||
link_to path || admin_account_path(account.id), class: name_tag_classes(account), title: account.acct do
|
link_to(
|
||||||
safe_join([
|
labeled_account_avatar(account),
|
||||||
image_tag(account.avatar.url, width: 15, height: 15, alt: '', class: 'avatar'),
|
path || admin_account_path(account.id),
|
||||||
content_tag(:span, account.acct, class: 'username'),
|
class: class_names('name-tag', suspended: suspended_account?(account)),
|
||||||
], ' ')
|
title: account.acct
|
||||||
end
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
def admin_account_inline_link_to(account)
|
def admin_account_inline_link_to(account)
|
||||||
return if account.nil?
|
return if account.nil?
|
||||||
|
|
||||||
link_to admin_account_path(account.id), class: name_tag_classes(account, true), title: account.acct do
|
link_to(
|
||||||
content_tag(:span, account.acct, class: 'username')
|
account_inline_text(account),
|
||||||
end
|
admin_account_path(account.id),
|
||||||
|
class: class_names('inline-name-tag', suspended: suspended_account?(account)),
|
||||||
|
title: account.acct
|
||||||
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def name_tag_classes(account, inline = false)
|
def labeled_account_avatar(account)
|
||||||
classes = [inline ? 'inline-name-tag' : 'name-tag']
|
safe_join(
|
||||||
classes << 'suspended' if account.suspended? || (account.local? && account.user.nil?)
|
[
|
||||||
classes.join(' ')
|
image_tag(account.avatar.url, width: 15, height: 15, alt: '', class: 'avatar'),
|
||||||
|
account_inline_text(account),
|
||||||
|
],
|
||||||
|
' '
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
def account_inline_text(account)
|
||||||
|
content_tag(:span, account.acct, class: 'username')
|
||||||
|
end
|
||||||
|
|
||||||
|
def suspended_account?(account)
|
||||||
|
account.suspended? || (account.local? && account.user.nil?)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -15,8 +15,8 @@ module Admin::ActionLogsHelper
|
||||||
link_to log.human_identifier, admin_roles_path(log.target_id)
|
link_to log.human_identifier, admin_roles_path(log.target_id)
|
||||||
when 'Report'
|
when 'Report'
|
||||||
link_to "##{log.human_identifier.presence || log.target_id}", admin_report_path(log.target_id)
|
link_to "##{log.human_identifier.presence || log.target_id}", admin_report_path(log.target_id)
|
||||||
when 'DomainBlock', 'DomainAllow', 'EmailDomainBlock', 'UnavailableDomain'
|
when 'Instance', 'DomainBlock', 'DomainAllow', 'UnavailableDomain'
|
||||||
link_to log.human_identifier, "https://#{log.human_identifier.presence}"
|
log.human_identifier.present? ? link_to(log.human_identifier, admin_instance_path(log.human_identifier)) : I18n.t('admin.action_logs.unavailable_instance')
|
||||||
when 'Status'
|
when 'Status'
|
||||||
link_to log.human_identifier, log.permalink
|
link_to log.human_identifier, log.permalink
|
||||||
when 'AccountWarning'
|
when 'AccountWarning'
|
||||||
|
@ -25,7 +25,7 @@ module Admin::ActionLogsHelper
|
||||||
link_to truncate(log.human_identifier), edit_admin_announcement_path(log.target_id)
|
link_to truncate(log.human_identifier), edit_admin_announcement_path(log.target_id)
|
||||||
when 'CustomEmoji'
|
when 'CustomEmoji'
|
||||||
link_to log.human_identifier, edit_admin_custom_emoji_path(log.target_id)
|
link_to log.human_identifier, edit_admin_custom_emoji_path(log.target_id)
|
||||||
when 'IpBlock', 'Instance'
|
when 'IpBlock', 'EmailDomainBlock'
|
||||||
log.human_identifier
|
log.human_identifier
|
||||||
when 'CanonicalEmailBlock'
|
when 'CanonicalEmailBlock'
|
||||||
content_tag(:samp, (log.human_identifier.presence || '')[0...7], title: log.human_identifier)
|
content_tag(:samp, (log.human_identifier.presence || '')[0...7], title: log.human_identifier)
|
||||||
|
|
|
@ -270,6 +270,10 @@ module ApplicationHelper
|
||||||
instance_presenter.app_icon&.file&.url(size)
|
instance_presenter.app_icon&.file&.url(size)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def use_mask_icon?
|
||||||
|
instance_presenter.app_icon.blank?
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def storage_host_var
|
def storage_host_var
|
||||||
|
|
|
@ -68,17 +68,21 @@ export function importFetchedStatuses(statuses) {
|
||||||
status.filtered.forEach(result => pushUnique(filters, result.filter));
|
status.filtered.forEach(result => pushUnique(filters, result.filter));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (status.reblog && status.reblog.id) {
|
if (status.reblog?.id) {
|
||||||
processStatus(status.reblog);
|
processStatus(status.reblog);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (status.quote && status.quote.id && !getState().getIn(['statuses', status.id])) {
|
if (status.quote?.id && !getState().getIn(['statuses', status.id])) {
|
||||||
processStatus(status.quote);
|
processStatus(status.quote);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (status.poll && status.poll.id) {
|
if (status.poll?.id) {
|
||||||
pushUnique(polls, normalizePoll(status.poll, getState().getIn(['polls', status.poll.id])));
|
pushUnique(polls, normalizePoll(status.poll, getState().getIn(['polls', status.poll.id])));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (status.card?.author_account) {
|
||||||
|
pushUnique(accounts, status.card.author_account);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
statuses.forEach(processStatus);
|
statuses.forEach(processStatus);
|
||||||
|
|
|
@ -36,6 +36,10 @@ export function normalizeStatus(status, normalOldStatus) {
|
||||||
normalStatus.poll = status.poll.id;
|
normalStatus.poll = status.poll.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (status.card?.author_account) {
|
||||||
|
normalStatus.card = { ...status.card, author_account: status.card.author_account.id };
|
||||||
|
}
|
||||||
|
|
||||||
if (status.filtered) {
|
if (status.filtered) {
|
||||||
normalStatus.filtered = status.filtered.map(normalizeFilterResult);
|
normalStatus.filtered = status.filtered.map(normalizeFilterResult);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import api, { getLinks } from '../api';
|
import api, { getLinks } from '../api';
|
||||||
|
|
||||||
import { importFetchedStatuses } from './importer';
|
import { importFetchedStatuses, importFetchedAccounts } from './importer';
|
||||||
|
|
||||||
export const TRENDS_TAGS_FETCH_REQUEST = 'TRENDS_TAGS_FETCH_REQUEST';
|
export const TRENDS_TAGS_FETCH_REQUEST = 'TRENDS_TAGS_FETCH_REQUEST';
|
||||||
export const TRENDS_TAGS_FETCH_SUCCESS = 'TRENDS_TAGS_FETCH_SUCCESS';
|
export const TRENDS_TAGS_FETCH_SUCCESS = 'TRENDS_TAGS_FETCH_SUCCESS';
|
||||||
|
@ -49,8 +49,11 @@ export const fetchTrendingLinks = () => (dispatch) => {
|
||||||
dispatch(fetchTrendingLinksRequest());
|
dispatch(fetchTrendingLinksRequest());
|
||||||
|
|
||||||
api()
|
api()
|
||||||
.get('/api/v1/trends/links')
|
.get('/api/v1/trends/links', { params: { limit: 20 } })
|
||||||
.then(({ data }) => dispatch(fetchTrendingLinksSuccess(data)))
|
.then(({ data }) => {
|
||||||
|
dispatch(importFetchedAccounts(data.map(link => link.author_account).filter(account => !!account)));
|
||||||
|
dispatch(fetchTrendingLinksSuccess(data));
|
||||||
|
})
|
||||||
.catch(err => dispatch(fetchTrendingLinksFail(err)));
|
.catch(err => dispatch(fetchTrendingLinksFail(err)));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
19
app/javascript/mastodon/components/more_from_author.jsx
Normal file
19
app/javascript/mastodon/components/more_from_author.jsx
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { FormattedMessage } from 'react-intl';
|
||||||
|
|
||||||
|
import { AuthorLink } from 'mastodon/features/explore/components/author_link';
|
||||||
|
|
||||||
|
export const MoreFromAuthor = ({ accountId }) => (
|
||||||
|
<div className='more-from-author'>
|
||||||
|
<svg viewBox='0 0 79 79' className='logo logo--icon' role='img'>
|
||||||
|
<use xlinkHref='#logo-symbol-icon' />
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
<FormattedMessage id='link_preview.more_from_author' defaultMessage='More from {name}' values={{ name: <AuthorLink accountId={accountId} /> }} />
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
|
MoreFromAuthor.propTypes = {
|
||||||
|
accountId: PropTypes.string.isRequired,
|
||||||
|
};
|
|
@ -42,10 +42,12 @@ class ServerBanner extends PureComponent {
|
||||||
return (
|
return (
|
||||||
<div className='server-banner'>
|
<div className='server-banner'>
|
||||||
<div className='server-banner__introduction'>
|
<div className='server-banner__introduction'>
|
||||||
<FormattedMessage id='server_banner.introduction' defaultMessage='{domain} is part of the decentralized social network powered by {mastodon}.' values={{ domain: <strong>{domain}</strong>, mastodon: <a href='https://joinmastodon.org' target='_blank'>Mastodon</a> }} />
|
<FormattedMessage id='server_banner.is_one_of_many' defaultMessage='{domain} is one of the many independent Mastodon servers you can use to participate in the fediverse.' values={{ domain: <strong>{domain}</strong>, mastodon: <a href='https://joinmastodon.org' target='_blank'>Mastodon</a> }} />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<Link to='/about'>
|
||||||
<ServerHeroImage blurhash={server.getIn(['thumbnail', 'blurhash'])} src={server.getIn(['thumbnail', 'url'])} className='server-banner__hero' />
|
<ServerHeroImage blurhash={server.getIn(['thumbnail', 'blurhash'])} src={server.getIn(['thumbnail', 'url'])} className='server-banner__hero' />
|
||||||
|
</Link>
|
||||||
|
|
||||||
<div className='server-banner__description'>
|
<div className='server-banner__description'>
|
||||||
{isLoading ? (
|
{isLoading ? (
|
||||||
|
@ -84,10 +86,6 @@ class ServerBanner extends PureComponent {
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<hr className='spacer' />
|
|
||||||
|
|
||||||
<Link className='button button--block button-secondary' to='/about'><FormattedMessage id='server_banner.learn_more' defaultMessage='Learn more' /></Link>
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -110,18 +110,6 @@ class LanguageDropdownMenu extends PureComponent {
|
||||||
}).map(result => result.obj);
|
}).map(result => result.obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
frequentlyUsed () {
|
|
||||||
const { languages, value } = this.props;
|
|
||||||
const current = languages.find(lang => lang[0] === value);
|
|
||||||
const results = [];
|
|
||||||
|
|
||||||
if (current) {
|
|
||||||
results.push(current);
|
|
||||||
}
|
|
||||||
|
|
||||||
return results;
|
|
||||||
}
|
|
||||||
|
|
||||||
handleClick = e => {
|
handleClick = e => {
|
||||||
const value = e.currentTarget.getAttribute('data-index');
|
const value = e.currentTarget.getAttribute('data-index');
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
|
import { Link } from 'react-router-dom';
|
||||||
|
|
||||||
|
import { Avatar } from 'mastodon/components/avatar';
|
||||||
|
import { useAppSelector } from 'mastodon/store';
|
||||||
|
|
||||||
|
export const AuthorLink = ({ accountId }) => {
|
||||||
|
const account = useAppSelector(state => state.getIn(['accounts', accountId]));
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Link to={`/@${account.get('acct')}`} className='story__details__shared__author-link'>
|
||||||
|
<Avatar account={account} size={16} />
|
||||||
|
<bdi dangerouslySetInnerHTML={{ __html: account.get('display_name_html') }} />
|
||||||
|
</Link>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
AuthorLink.propTypes = {
|
||||||
|
accountId: PropTypes.string.isRequired,
|
||||||
|
};
|
|
@ -1,61 +1,89 @@
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { PureComponent } from 'react';
|
import { useState, useCallback } from 'react';
|
||||||
|
|
||||||
import { FormattedMessage } from 'react-intl';
|
import { FormattedMessage } from 'react-intl';
|
||||||
|
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
|
|
||||||
import { Blurhash } from 'mastodon/components/blurhash';
|
import { Blurhash } from 'mastodon/components/blurhash';
|
||||||
import { accountsCountRenderer } from 'mastodon/components/hashtag';
|
|
||||||
import { RelativeTimestamp } from 'mastodon/components/relative_timestamp';
|
import { RelativeTimestamp } from 'mastodon/components/relative_timestamp';
|
||||||
import { ShortNumber } from 'mastodon/components/short_number';
|
import { ShortNumber } from 'mastodon/components/short_number';
|
||||||
import { Skeleton } from 'mastodon/components/skeleton';
|
import { Skeleton } from 'mastodon/components/skeleton';
|
||||||
|
|
||||||
export default class Story extends PureComponent {
|
import { AuthorLink } from './author_link';
|
||||||
|
|
||||||
static propTypes = {
|
const sharesCountRenderer = (displayNumber, pluralReady) => (
|
||||||
|
<FormattedMessage
|
||||||
|
id='link_preview.shares'
|
||||||
|
defaultMessage='{count, plural, one {{counter} post} other {{counter} posts}}'
|
||||||
|
values={{
|
||||||
|
count: pluralReady,
|
||||||
|
counter: <strong>{displayNumber}</strong>,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
|
||||||
|
export const Story = ({
|
||||||
|
url,
|
||||||
|
title,
|
||||||
|
lang,
|
||||||
|
publisher,
|
||||||
|
publishedAt,
|
||||||
|
author,
|
||||||
|
authorAccount,
|
||||||
|
sharedTimes,
|
||||||
|
thumbnail,
|
||||||
|
thumbnailDescription,
|
||||||
|
blurhash,
|
||||||
|
expanded
|
||||||
|
}) => {
|
||||||
|
const [thumbnailLoaded, setThumbnailLoaded] = useState(false);
|
||||||
|
|
||||||
|
const handleImageLoad = useCallback(() => {
|
||||||
|
setThumbnailLoaded(true);
|
||||||
|
}, [setThumbnailLoaded]);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className={classNames('story', { expanded })}>
|
||||||
|
<div className='story__details'>
|
||||||
|
<div className='story__details__publisher'>
|
||||||
|
{publisher ? <span lang={lang}>{publisher}</span> : <Skeleton width={50} />}{publishedAt && <> · <RelativeTimestamp timestamp={publishedAt} /></>}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<a className='story__details__title' lang={lang} href={url} target='blank' rel='noopener'>
|
||||||
|
{title ? title : <Skeleton />}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<div className='story__details__shared'>
|
||||||
|
{author ? <FormattedMessage id='link_preview.author' className='story__details__shared__author' defaultMessage='By {name}' values={{ name: authorAccount ? <AuthorLink accountId={authorAccount} /> : <strong>{author}</strong> }} /> : <span />}
|
||||||
|
{typeof sharedTimes === 'number' ? <span className='story__details__shared__pill'><ShortNumber value={sharedTimes} renderer={sharesCountRenderer} /></span> : <Skeleton width='10ch' />}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<a className='story__thumbnail' href={url} target='blank' rel='noopener'>
|
||||||
|
{thumbnail ? (
|
||||||
|
<>
|
||||||
|
<div className={classNames('story__thumbnail__preview', { 'story__thumbnail__preview--hidden': thumbnailLoaded })}><Blurhash hash={blurhash} /></div>
|
||||||
|
<img src={thumbnail} onLoad={handleImageLoad} alt={thumbnailDescription} title={thumbnailDescription} lang={lang} />
|
||||||
|
</>
|
||||||
|
) : <Skeleton />}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
Story.propTypes = {
|
||||||
url: PropTypes.string,
|
url: PropTypes.string,
|
||||||
title: PropTypes.string,
|
title: PropTypes.string,
|
||||||
lang: PropTypes.string,
|
lang: PropTypes.string,
|
||||||
publisher: PropTypes.string,
|
publisher: PropTypes.string,
|
||||||
publishedAt: PropTypes.string,
|
publishedAt: PropTypes.string,
|
||||||
author: PropTypes.string,
|
author: PropTypes.string,
|
||||||
|
authorAccount: PropTypes.string,
|
||||||
sharedTimes: PropTypes.number,
|
sharedTimes: PropTypes.number,
|
||||||
thumbnail: PropTypes.string,
|
thumbnail: PropTypes.string,
|
||||||
thumbnailDescription: PropTypes.string,
|
thumbnailDescription: PropTypes.string,
|
||||||
blurhash: PropTypes.string,
|
blurhash: PropTypes.string,
|
||||||
expanded: PropTypes.bool,
|
expanded: PropTypes.bool,
|
||||||
};
|
};
|
||||||
|
|
||||||
state = {
|
|
||||||
thumbnailLoaded: false,
|
|
||||||
};
|
|
||||||
|
|
||||||
handleImageLoad = () => this.setState({ thumbnailLoaded: true });
|
|
||||||
|
|
||||||
render () {
|
|
||||||
const { expanded, url, title, lang, publisher, author, publishedAt, sharedTimes, thumbnail, thumbnailDescription, blurhash } = this.props;
|
|
||||||
|
|
||||||
const { thumbnailLoaded } = this.state;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<a className={classNames('story', { expanded })} href={url} target='blank' rel='noopener'>
|
|
||||||
<div className='story__details'>
|
|
||||||
<div className='story__details__publisher'>{publisher ? <span lang={lang}>{publisher}</span> : <Skeleton width={50} />}{publishedAt && <> · <RelativeTimestamp timestamp={publishedAt} /></>}</div>
|
|
||||||
<div className='story__details__title' lang={lang}>{title ? title : <Skeleton />}</div>
|
|
||||||
<div className='story__details__shared'>{author && <><FormattedMessage id='link_preview.author' defaultMessage='By {name}' values={{ name: <strong>{author}</strong> }} /> · </>}{typeof sharedTimes === 'number' ? <ShortNumber value={sharedTimes} renderer={accountsCountRenderer} /> : <Skeleton width={100} />}</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className='story__thumbnail'>
|
|
||||||
{thumbnail ? (
|
|
||||||
<>
|
|
||||||
<div className={classNames('story__thumbnail__preview', { 'story__thumbnail__preview--hidden': thumbnailLoaded })}><Blurhash hash={blurhash} /></div>
|
|
||||||
<img src={thumbnail} onLoad={this.handleImageLoad} alt={thumbnailDescription} title={thumbnailDescription} lang={lang} />
|
|
||||||
</>
|
|
||||||
) : <Skeleton />}
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ import { DismissableBanner } from 'mastodon/components/dismissable_banner';
|
||||||
import { LoadingIndicator } from 'mastodon/components/loading_indicator';
|
import { LoadingIndicator } from 'mastodon/components/loading_indicator';
|
||||||
import { WithRouterPropTypes } from 'mastodon/utils/react_router';
|
import { WithRouterPropTypes } from 'mastodon/utils/react_router';
|
||||||
|
|
||||||
import Story from './components/story';
|
import { Story } from './components/story';
|
||||||
|
|
||||||
const mapStateToProps = state => ({
|
const mapStateToProps = state => ({
|
||||||
links: state.getIn(['trends', 'links', 'items']),
|
links: state.getIn(['trends', 'links', 'items']),
|
||||||
|
@ -75,6 +75,7 @@ class Links extends PureComponent {
|
||||||
publisher={link.get('provider_name')}
|
publisher={link.get('provider_name')}
|
||||||
publishedAt={link.get('published_at')}
|
publishedAt={link.get('published_at')}
|
||||||
author={link.get('author_name')}
|
author={link.get('author_name')}
|
||||||
|
authorAccount={link.getIn(['author_account', 'id'])}
|
||||||
sharedTimes={link.getIn(['history', 0, 'accounts']) * 1 + link.getIn(['history', 1, 'accounts']) * 1}
|
sharedTimes={link.getIn(['history', 0, 'accounts']) * 1 + link.getIn(['history', 1, 'accounts']) * 1}
|
||||||
thumbnail={link.get('image')}
|
thumbnail={link.get('image')}
|
||||||
thumbnailDescription={link.get('image_description')}
|
thumbnailDescription={link.get('image_description')}
|
||||||
|
|
|
@ -6,7 +6,6 @@ import { PureComponent } from 'react';
|
||||||
import { FormattedMessage } from 'react-intl';
|
import { FormattedMessage } from 'react-intl';
|
||||||
|
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { Link } from 'react-router-dom';
|
|
||||||
|
|
||||||
|
|
||||||
import Immutable from 'immutable';
|
import Immutable from 'immutable';
|
||||||
|
@ -15,9 +14,9 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||||
import DescriptionIcon from '@/material-icons/400-24px/description-fill.svg?react';
|
import DescriptionIcon from '@/material-icons/400-24px/description-fill.svg?react';
|
||||||
import OpenInNewIcon from '@/material-icons/400-24px/open_in_new.svg?react';
|
import OpenInNewIcon from '@/material-icons/400-24px/open_in_new.svg?react';
|
||||||
import PlayArrowIcon from '@/material-icons/400-24px/play_arrow-fill.svg?react';
|
import PlayArrowIcon from '@/material-icons/400-24px/play_arrow-fill.svg?react';
|
||||||
import { Avatar } from 'mastodon/components/avatar';
|
|
||||||
import { Blurhash } from 'mastodon/components/blurhash';
|
import { Blurhash } from 'mastodon/components/blurhash';
|
||||||
import { Icon } from 'mastodon/components/icon';
|
import { Icon } from 'mastodon/components/icon';
|
||||||
|
import { MoreFromAuthor } from 'mastodon/components/more_from_author';
|
||||||
import { RelativeTimestamp } from 'mastodon/components/relative_timestamp';
|
import { RelativeTimestamp } from 'mastodon/components/relative_timestamp';
|
||||||
import { useBlurhash } from 'mastodon/initial_state';
|
import { useBlurhash } from 'mastodon/initial_state';
|
||||||
|
|
||||||
|
@ -59,20 +58,6 @@ const addAutoPlay = html => {
|
||||||
return html;
|
return html;
|
||||||
};
|
};
|
||||||
|
|
||||||
const MoreFromAuthor = ({ author }) => (
|
|
||||||
<div className='more-from-author'>
|
|
||||||
<svg viewBox='0 0 79 79' className='logo logo--icon' role='img'>
|
|
||||||
<use xlinkHref='#logo-symbol-icon' />
|
|
||||||
</svg>
|
|
||||||
|
|
||||||
<FormattedMessage id='link_preview.more_from_author' defaultMessage='More from {name}' values={{ name: <Link to={`/@${author.get('acct')}`}><Avatar account={author} size={16} /> {author.get('display_name')}</Link> }} />
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
|
|
||||||
MoreFromAuthor.propTypes = {
|
|
||||||
author: ImmutablePropTypes.map,
|
|
||||||
};
|
|
||||||
|
|
||||||
export default class Card extends PureComponent {
|
export default class Card extends PureComponent {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -259,7 +244,7 @@ export default class Card extends PureComponent {
|
||||||
{description}
|
{description}
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
{showAuthor && <MoreFromAuthor author={card.get('author_account')} />}
|
{showAuthor && <MoreFromAuthor accountId={card.get('author_account')} />}
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,8 @@ const SignInBanner = () => {
|
||||||
if (sso_redirect) {
|
if (sso_redirect) {
|
||||||
return (
|
return (
|
||||||
<div className='sign-in-banner'>
|
<div className='sign-in-banner'>
|
||||||
<p><FormattedMessage id='sign_in_banner.text' defaultMessage='Login to follow profiles or hashtags, favorite, share and reply to posts. You can also interact from your account on a different server.' /></p>
|
<p><strong><FormattedMessage id='sign_in_banner.mastodon_is' defaultMessage="Mastodon is the best way to keep up with what's happening." /></strong></p>
|
||||||
|
<p><FormattedMessage id='sign_in_banner.follow_anyone' defaultMessage='Follow anyone across the fediverse and see it all in chronological order. No algorithms, ads, or clickbait in sight.' /></p>
|
||||||
<a href={sso_redirect} data-method='post' className='button button--block button-tertiary'><FormattedMessage id='sign_in_banner.sso_redirect' defaultMessage='Login or Register' /></a>
|
<a href={sso_redirect} data-method='post' className='button button--block button-tertiary'><FormattedMessage id='sign_in_banner.sso_redirect' defaultMessage='Login or Register' /></a>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
@ -44,7 +45,8 @@ const SignInBanner = () => {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='sign-in-banner'>
|
<div className='sign-in-banner'>
|
||||||
<p><FormattedMessage id='sign_in_banner.text' defaultMessage='Login to follow profiles or hashtags, favorite, share and reply to posts. You can also interact from your account on a different server.' /></p>
|
<p><strong><FormattedMessage id='sign_in_banner.mastodon_is' defaultMessage="Mastodon is the best way to keep up with what's happening." /></strong></p>
|
||||||
|
<p><FormattedMessage id='sign_in_banner.follow_anyone' defaultMessage='Follow anyone across the fediverse and see it all in chronological order. No algorithms, ads, or clickbait in sight.' /></p>
|
||||||
{signupButton}
|
{signupButton}
|
||||||
<a href='/auth/sign_in' className='button button--block button-tertiary'><FormattedMessage id='sign_in_banner.sign_in' defaultMessage='Login' /></a>
|
<a href='/auth/sign_in' className='button button--block button-tertiary'><FormattedMessage id='sign_in_banner.sign_in' defaultMessage='Login' /></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -476,8 +476,6 @@
|
||||||
"server_banner.about_active_users": "Usuarios activos en o servidor entre los zaguers 30 días (Usuarios Activos Mensuals)",
|
"server_banner.about_active_users": "Usuarios activos en o servidor entre los zaguers 30 días (Usuarios Activos Mensuals)",
|
||||||
"server_banner.active_users": "usuarios activos",
|
"server_banner.active_users": "usuarios activos",
|
||||||
"server_banner.administered_by": "Administrau per:",
|
"server_banner.administered_by": "Administrau per:",
|
||||||
"server_banner.introduction": "{domain} ye parte d'o ret social descentralizau liderada per {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Saber mas",
|
|
||||||
"server_banner.server_stats": "Estatisticas d'o servidor:",
|
"server_banner.server_stats": "Estatisticas d'o servidor:",
|
||||||
"sign_in_banner.create_account": "Creyar cuenta",
|
"sign_in_banner.create_account": "Creyar cuenta",
|
||||||
"sign_in_banner.sign_in": "Iniciar sesión",
|
"sign_in_banner.sign_in": "Iniciar sesión",
|
||||||
|
|
|
@ -225,7 +225,11 @@
|
||||||
"domain_pill.their_username": "مُعرّفُهم الفريد على الخادم. من الممكن العثور على مستخدمين بنفس اسم المستخدم على خوادم مختلفة.",
|
"domain_pill.their_username": "مُعرّفُهم الفريد على الخادم. من الممكن العثور على مستخدمين بنفس اسم المستخدم على خوادم مختلفة.",
|
||||||
"domain_pill.username": "اسم المستخدم",
|
"domain_pill.username": "اسم المستخدم",
|
||||||
"domain_pill.whats_in_a_handle": "ما المقصود بالمُعرِّف؟",
|
"domain_pill.whats_in_a_handle": "ما المقصود بالمُعرِّف؟",
|
||||||
|
"domain_pill.who_they_are": "بما أن المعالجات تقول من هو الشخص ومكان وجوده، يمكنك التفاعل مع الناس عبر الشبكة الاجتماعية لـ <button>ActivityPub-Power منصات</button>.",
|
||||||
|
"domain_pill.who_you_are": "لأن معالجتك تقول من أنت ومكان وجودك، يمكن الناس التفاعل معك عبر الشبكة الاجتماعية لـ <button>ActivityPub-Power منصات</button>.",
|
||||||
"domain_pill.your_handle": "عنوانك الكامل:",
|
"domain_pill.your_handle": "عنوانك الكامل:",
|
||||||
|
"domain_pill.your_server": "منزلك الرقمي، حيث تعيش جميع مشاركاتك. لا تحب هذا؟ إنقل الخوادم في أي وقت واخضر متابعينك أيضًا.",
|
||||||
|
"domain_pill.your_username": "معرفك الفريد على هذا الخادم. من الممكن العثور على مستخدمين بنفس إسم المستخدم على خوادم مختلفة.",
|
||||||
"embed.instructions": "يمكنكم إدماج هذا المنشور على موقعكم الإلكتروني عن طريق نسخ الشفرة أدناه.",
|
"embed.instructions": "يمكنكم إدماج هذا المنشور على موقعكم الإلكتروني عن طريق نسخ الشفرة أدناه.",
|
||||||
"embed.preview": "إليك ما سيبدو عليه:",
|
"embed.preview": "إليك ما سيبدو عليه:",
|
||||||
"emoji_button.activity": "الأنشطة",
|
"emoji_button.activity": "الأنشطة",
|
||||||
|
@ -262,6 +266,7 @@
|
||||||
"empty_column.list": "هذه القائمة فارغة مؤقتا و لكن سوف تمتلئ تدريجيا عندما يبدأ الأعضاء المُنتَمين إليها بنشر منشورات.",
|
"empty_column.list": "هذه القائمة فارغة مؤقتا و لكن سوف تمتلئ تدريجيا عندما يبدأ الأعضاء المُنتَمين إليها بنشر منشورات.",
|
||||||
"empty_column.lists": "ليس عندك أية قائمة بعد. سوف تظهر قوائمك هنا إن قمت بإنشاء واحدة.",
|
"empty_column.lists": "ليس عندك أية قائمة بعد. سوف تظهر قوائمك هنا إن قمت بإنشاء واحدة.",
|
||||||
"empty_column.mutes": "لم تقم بكتم أي مستخدم بعد.",
|
"empty_column.mutes": "لم تقم بكتم أي مستخدم بعد.",
|
||||||
|
"empty_column.notification_requests": "لا يوجد شيء هنا. عندما تتلقى إشعارات جديدة، سوف تظهر هنا وفقًا لإعداداتك.",
|
||||||
"empty_column.notifications": "لم تتلق أي إشعار بعدُ. تفاعل مع المستخدمين الآخرين لإنشاء محادثة.",
|
"empty_column.notifications": "لم تتلق أي إشعار بعدُ. تفاعل مع المستخدمين الآخرين لإنشاء محادثة.",
|
||||||
"empty_column.public": "لا يوجد أي شيء هنا! قم بنشر شيء ما للعامة، أو اتبع المستخدمين الآخرين المتواجدين على الخوادم الأخرى لملء خيط المحادثات",
|
"empty_column.public": "لا يوجد أي شيء هنا! قم بنشر شيء ما للعامة، أو اتبع المستخدمين الآخرين المتواجدين على الخوادم الأخرى لملء خيط المحادثات",
|
||||||
"error.unexpected_crash.explanation": "نظرا لوجود خطأ في التعليمات البرمجية أو مشكلة توافق مع المتصفّح، تعذر عرض هذه الصفحة بشكل صحيح.",
|
"error.unexpected_crash.explanation": "نظرا لوجود خطأ في التعليمات البرمجية أو مشكلة توافق مع المتصفّح، تعذر عرض هذه الصفحة بشكل صحيح.",
|
||||||
|
@ -292,6 +297,8 @@
|
||||||
"filter_modal.select_filter.subtitle": "استخدم فئة موجودة أو قم بإنشاء فئة جديدة",
|
"filter_modal.select_filter.subtitle": "استخدم فئة موجودة أو قم بإنشاء فئة جديدة",
|
||||||
"filter_modal.select_filter.title": "تصفية هذا المنشور",
|
"filter_modal.select_filter.title": "تصفية هذا المنشور",
|
||||||
"filter_modal.title.status": "تصفية منشور",
|
"filter_modal.title.status": "تصفية منشور",
|
||||||
|
"filtered_notifications_banner.mentions": "{count, plural, one {إشارة} two {إشارتين} few {# إشارات} other {# إشارة}}",
|
||||||
|
"filtered_notifications_banner.pending_requests": "إشعارات من {count, plural, zero {}=0 {لا أحد} one {شخص واحد قد تعرفه} two {شخصين قد تعرفهما} few {# أشخاص قد تعرفهم} many {# شخص قد تعرفهم} other {# شخص قد تعرفهم}}",
|
||||||
"filtered_notifications_banner.title": "الإشعارات المصفاة",
|
"filtered_notifications_banner.title": "الإشعارات المصفاة",
|
||||||
"firehose.all": "الكل",
|
"firehose.all": "الكل",
|
||||||
"firehose.local": "هذا الخادم",
|
"firehose.local": "هذا الخادم",
|
||||||
|
@ -301,6 +308,8 @@
|
||||||
"follow_requests.unlocked_explanation": "حتى وإن كان حسابك غير مقفل، يعتقد فريق {domain} أنك قد ترغب في مراجعة طلبات المتابعة من هذه الحسابات يدوياً.",
|
"follow_requests.unlocked_explanation": "حتى وإن كان حسابك غير مقفل، يعتقد فريق {domain} أنك قد ترغب في مراجعة طلبات المتابعة من هذه الحسابات يدوياً.",
|
||||||
"follow_suggestions.curated_suggestion": "اختيار الموظفين",
|
"follow_suggestions.curated_suggestion": "اختيار الموظفين",
|
||||||
"follow_suggestions.dismiss": "لا تُظهرها مجدّدًا",
|
"follow_suggestions.dismiss": "لا تُظهرها مجدّدًا",
|
||||||
|
"follow_suggestions.featured_longer": "مختار يدوياً من قِبل فريق {domain}",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "مشهور بين الأشخاص الذين تتابعهم",
|
||||||
"follow_suggestions.hints.featured": "تم اختيار هذا الملف الشخصي يدوياً من قبل فريق {domain}.",
|
"follow_suggestions.hints.featured": "تم اختيار هذا الملف الشخصي يدوياً من قبل فريق {domain}.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "هذا الملف الشخصي مشهور بين الأشخاص الذين تتابعهم.",
|
"follow_suggestions.hints.friends_of_friends": "هذا الملف الشخصي مشهور بين الأشخاص الذين تتابعهم.",
|
||||||
"follow_suggestions.hints.most_followed": "هذا الملف الشخصي هو واحد من الأكثر متابعة على {domain}.",
|
"follow_suggestions.hints.most_followed": "هذا الملف الشخصي هو واحد من الأكثر متابعة على {domain}.",
|
||||||
|
@ -405,6 +414,7 @@
|
||||||
"limited_account_hint.action": "إظهار الملف التعريفي على أي حال",
|
"limited_account_hint.action": "إظهار الملف التعريفي على أي حال",
|
||||||
"limited_account_hint.title": "تم إخفاء هذا الملف الشخصي من قبل مشرفي {domain}.",
|
"limited_account_hint.title": "تم إخفاء هذا الملف الشخصي من قبل مشرفي {domain}.",
|
||||||
"link_preview.author": "مِن {name}",
|
"link_preview.author": "مِن {name}",
|
||||||
|
"link_preview.more_from_author": "المزيد من {name}",
|
||||||
"lists.account.add": "أضف إلى القائمة",
|
"lists.account.add": "أضف إلى القائمة",
|
||||||
"lists.account.remove": "احذف من القائمة",
|
"lists.account.remove": "احذف من القائمة",
|
||||||
"lists.delete": "احذف القائمة",
|
"lists.delete": "احذف القائمة",
|
||||||
|
@ -465,10 +475,13 @@
|
||||||
"notification.follow_request": "لقد طلب {name} متابعتك",
|
"notification.follow_request": "لقد طلب {name} متابعتك",
|
||||||
"notification.mention": "{name} ذكرك",
|
"notification.mention": "{name} ذكرك",
|
||||||
"notification.moderation-warning.learn_more": "اعرف المزيد",
|
"notification.moderation-warning.learn_more": "اعرف المزيد",
|
||||||
|
"notification.moderation_warning": "لقد تلقيت تحذيرًا بالإشراف",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "تم إزالة بعض مشاركاتك.",
|
||||||
"notification.moderation_warning.action_disable": "تم تعطيل حسابك.",
|
"notification.moderation_warning.action_disable": "تم تعطيل حسابك.",
|
||||||
"notification.moderation_warning.action_mark_statuses_as_sensitive": "بعض من منشوراتك تم تصنيفها على أنها حساسة.",
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "بعض من منشوراتك تم تصنيفها على أنها حساسة.",
|
||||||
"notification.moderation_warning.action_none": "لقد تلقى حسابك تحذيرا بالإشراف.",
|
"notification.moderation_warning.action_none": "لقد تلقى حسابك تحذيرا بالإشراف.",
|
||||||
"notification.moderation_warning.action_sensitive": "سيتم وضع علامة على منشوراتك على أنها حساسة من الآن فصاعدا.",
|
"notification.moderation_warning.action_sensitive": "سيتم وضع علامة على منشوراتك على أنها حساسة من الآن فصاعدا.",
|
||||||
|
"notification.moderation_warning.action_silence": "لقد تم تقييد حسابك.",
|
||||||
"notification.moderation_warning.action_suspend": "لقد تم تعليق حسابك.",
|
"notification.moderation_warning.action_suspend": "لقد تم تعليق حسابك.",
|
||||||
"notification.own_poll": "انتهى استطلاعك للرأي",
|
"notification.own_poll": "انتهى استطلاعك للرأي",
|
||||||
"notification.poll": "لقد انتهى استطلاع رأي شاركتَ فيه",
|
"notification.poll": "لقد انتهى استطلاع رأي شاركتَ فيه",
|
||||||
|
@ -682,13 +695,10 @@
|
||||||
"server_banner.about_active_users": "الأشخاص الذين يستخدمون هذا الخادم خلال الأيام الثلاثين الأخيرة (المستخدمون النشطون شهريًا)",
|
"server_banner.about_active_users": "الأشخاص الذين يستخدمون هذا الخادم خلال الأيام الثلاثين الأخيرة (المستخدمون النشطون شهريًا)",
|
||||||
"server_banner.active_users": "مستخدم نشط",
|
"server_banner.active_users": "مستخدم نشط",
|
||||||
"server_banner.administered_by": "يُديره:",
|
"server_banner.administered_by": "يُديره:",
|
||||||
"server_banner.introduction": "{domain} هو جزء من الشبكة الاجتماعية اللامركزية التي تعمل بواسطة {mastodon}.",
|
|
||||||
"server_banner.learn_more": "تعلم المزيد",
|
|
||||||
"server_banner.server_stats": "إحصائيات الخادم:",
|
"server_banner.server_stats": "إحصائيات الخادم:",
|
||||||
"sign_in_banner.create_account": "أنشئ حسابًا",
|
"sign_in_banner.create_account": "أنشئ حسابًا",
|
||||||
"sign_in_banner.sign_in": "تسجيل الدخول",
|
"sign_in_banner.sign_in": "تسجيل الدخول",
|
||||||
"sign_in_banner.sso_redirect": "تسجيل الدخول أو إنشاء حساب",
|
"sign_in_banner.sso_redirect": "تسجيل الدخول أو إنشاء حساب",
|
||||||
"sign_in_banner.text": "قم بالولوج بحسابك لمتابعة الصفحات الشخصية أو الوسوم، أو لإضافة المنشورات إلى المفضلة ومشاركتها والرد عليها أو التفاعل بواسطة حسابك المتواجد على خادم مختلف.",
|
|
||||||
"status.admin_account": "افتح الواجهة الإدارية لـ @{name}",
|
"status.admin_account": "افتح الواجهة الإدارية لـ @{name}",
|
||||||
"status.admin_domain": "فتح واجهة الإشراف لـ {domain}",
|
"status.admin_domain": "فتح واجهة الإشراف لـ {domain}",
|
||||||
"status.admin_status": "افتح هذا المنشور على واجهة الإشراف",
|
"status.admin_status": "افتح هذا المنشور على واجهة الإشراف",
|
||||||
|
|
|
@ -409,8 +409,6 @@
|
||||||
"search_results.see_all": "Ver too",
|
"search_results.see_all": "Ver too",
|
||||||
"search_results.statuses": "Artículos",
|
"search_results.statuses": "Artículos",
|
||||||
"search_results.title": "Busca de: {q}",
|
"search_results.title": "Busca de: {q}",
|
||||||
"server_banner.introduction": "{domain} ye parte de la rede social descentralizada que tien la teunoloxía de {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Saber más",
|
|
||||||
"server_banner.server_stats": "Estadístiques del sirvidor:",
|
"server_banner.server_stats": "Estadístiques del sirvidor:",
|
||||||
"sign_in_banner.create_account": "Crear una cuenta",
|
"sign_in_banner.create_account": "Crear una cuenta",
|
||||||
"sign_in_banner.sso_redirect": "Aniciar la sesión o rexistrase",
|
"sign_in_banner.sso_redirect": "Aniciar la sesión o rexistrase",
|
||||||
|
|
|
@ -308,6 +308,8 @@
|
||||||
"follow_requests.unlocked_explanation": "Ваш акаўнт не схаваны, аднак прадстаўнікі {domain} палічылі, што вы можаце захацець праглядзець запыты на падпіску з гэтых профіляў уручную.",
|
"follow_requests.unlocked_explanation": "Ваш акаўнт не схаваны, аднак прадстаўнікі {domain} палічылі, што вы можаце захацець праглядзець запыты на падпіску з гэтых профіляў уручную.",
|
||||||
"follow_suggestions.curated_suggestion": "Выбар адміністрацыі",
|
"follow_suggestions.curated_suggestion": "Выбар адміністрацыі",
|
||||||
"follow_suggestions.dismiss": "Не паказваць зноў",
|
"follow_suggestions.dismiss": "Не паказваць зноў",
|
||||||
|
"follow_suggestions.featured_longer": "Адабраныя камандай {domain} уручную",
|
||||||
|
"follow_suggestions.friends_of_friends_longer": "Папулярнае сярод людзей, на якіх Вы падпісаны",
|
||||||
"follow_suggestions.hints.featured": "Гэты профіль быў выбраны ўручную камандай {domain}.",
|
"follow_suggestions.hints.featured": "Гэты профіль быў выбраны ўручную камандай {domain}.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Гэты профіль папулярны сярод людзей, на якіх вы падпісаліся.",
|
"follow_suggestions.hints.friends_of_friends": "Гэты профіль папулярны сярод людзей, на якіх вы падпісаліся.",
|
||||||
"follow_suggestions.hints.most_followed": "Гэты профіль - адзін з профіляў з самай вялікай колькасцю падпісак на {domain}.",
|
"follow_suggestions.hints.most_followed": "Гэты профіль - адзін з профіляў з самай вялікай колькасцю падпісак на {domain}.",
|
||||||
|
@ -315,6 +317,8 @@
|
||||||
"follow_suggestions.hints.similar_to_recently_followed": "Гэты профіль падобны на профілі, на якія вы нядаўна падпісаліся.",
|
"follow_suggestions.hints.similar_to_recently_followed": "Гэты профіль падобны на профілі, на якія вы нядаўна падпісаліся.",
|
||||||
"follow_suggestions.personalized_suggestion": "Персаналізаваная прапанова",
|
"follow_suggestions.personalized_suggestion": "Персаналізаваная прапанова",
|
||||||
"follow_suggestions.popular_suggestion": "Папулярная прапанова",
|
"follow_suggestions.popular_suggestion": "Папулярная прапанова",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "Папулярнае на {domain}",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "Падобныя профілі, за якімі вы нядаўна сачылі",
|
||||||
"follow_suggestions.view_all": "Праглядзець усё",
|
"follow_suggestions.view_all": "Праглядзець усё",
|
||||||
"follow_suggestions.who_to_follow": "На каго падпісацца",
|
"follow_suggestions.who_to_follow": "На каго падпісацца",
|
||||||
"followed_tags": "Падпіскі",
|
"followed_tags": "Падпіскі",
|
||||||
|
@ -410,6 +414,7 @@
|
||||||
"limited_account_hint.action": "Усе роўна паказваць профіль",
|
"limited_account_hint.action": "Усе роўна паказваць профіль",
|
||||||
"limited_account_hint.title": "Гэты профіль быў схаваны мадэратарамі",
|
"limited_account_hint.title": "Гэты профіль быў схаваны мадэратарамі",
|
||||||
"link_preview.author": "Ад {name}",
|
"link_preview.author": "Ад {name}",
|
||||||
|
"link_preview.more_from_author": "Больш ад {name}",
|
||||||
"lists.account.add": "Дадаць да спісу",
|
"lists.account.add": "Дадаць да спісу",
|
||||||
"lists.account.remove": "Выдаліць са спісу",
|
"lists.account.remove": "Выдаліць са спісу",
|
||||||
"lists.delete": "Выдаліць спіс",
|
"lists.delete": "Выдаліць спіс",
|
||||||
|
@ -439,7 +444,7 @@
|
||||||
"mute_modal.you_wont_see_posts": "Карыстальнік па-ранейшаму будзе бачыць вашыя паведамленні, але вы не будзеце паведамленні карыстальніка.",
|
"mute_modal.you_wont_see_posts": "Карыстальнік па-ранейшаму будзе бачыць вашыя паведамленні, але вы не будзеце паведамленні карыстальніка.",
|
||||||
"navigation_bar.about": "Пра нас",
|
"navigation_bar.about": "Пра нас",
|
||||||
"navigation_bar.advanced_interface": "Адкрыць у пашыраным вэб-інтэрфейсе",
|
"navigation_bar.advanced_interface": "Адкрыць у пашыраным вэб-інтэрфейсе",
|
||||||
"navigation_bar.blocks": "Заблакаваныя карыстальнікі",
|
"navigation_bar.blocks": "Заблакіраваныя карыстальнікі",
|
||||||
"navigation_bar.bookmarks": "Закладкі",
|
"navigation_bar.bookmarks": "Закладкі",
|
||||||
"navigation_bar.community_timeline": "Лакальная стужка",
|
"navigation_bar.community_timeline": "Лакальная стужка",
|
||||||
"navigation_bar.compose": "Стварыць новы допіс",
|
"navigation_bar.compose": "Стварыць новы допіс",
|
||||||
|
@ -458,7 +463,7 @@
|
||||||
"navigation_bar.opened_in_classic_interface": "Допісы, уліковыя запісы і іншыя спецыфічныя старонкі па змоўчанні адчыняюцца ў класічным вэб-інтэрфейсе.",
|
"navigation_bar.opened_in_classic_interface": "Допісы, уліковыя запісы і іншыя спецыфічныя старонкі па змоўчанні адчыняюцца ў класічным вэб-інтэрфейсе.",
|
||||||
"navigation_bar.personal": "Асабістае",
|
"navigation_bar.personal": "Асабістае",
|
||||||
"navigation_bar.pins": "Замацаваныя допісы",
|
"navigation_bar.pins": "Замацаваныя допісы",
|
||||||
"navigation_bar.preferences": "Параметры",
|
"navigation_bar.preferences": "Налады",
|
||||||
"navigation_bar.public_timeline": "Глабальная стужка",
|
"navigation_bar.public_timeline": "Глабальная стужка",
|
||||||
"navigation_bar.search": "Пошук",
|
"navigation_bar.search": "Пошук",
|
||||||
"navigation_bar.security": "Бяспека",
|
"navigation_bar.security": "Бяспека",
|
||||||
|
@ -470,10 +475,22 @@
|
||||||
"notification.follow_request": "{name} адправіў запыт на падпіску",
|
"notification.follow_request": "{name} адправіў запыт на падпіску",
|
||||||
"notification.mention": "{name} згадаў вас",
|
"notification.mention": "{name} згадаў вас",
|
||||||
"notification.moderation-warning.learn_more": "Даведацца больш",
|
"notification.moderation-warning.learn_more": "Даведацца больш",
|
||||||
|
"notification.moderation_warning": "Вы атрымалі папярэджанне аб мадэрацыі",
|
||||||
|
"notification.moderation_warning.action_delete_statuses": "Некаторыя вашыя допісы былі выдаленыя.",
|
||||||
|
"notification.moderation_warning.action_disable": "Ваш уліковы запіс быў адключаны.",
|
||||||
|
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Некаторыя з вашых допісаў былі пазначаныя як далікатныя.",
|
||||||
|
"notification.moderation_warning.action_none": "Ваш уліковы запіс атрымаў папярэджанне ад мадэратараў.",
|
||||||
|
"notification.moderation_warning.action_sensitive": "З гэтага моманту вашыя допісы будуць пазначаныя як далікатныя.",
|
||||||
|
"notification.moderation_warning.action_silence": "Ваш уліковы запіс быў абмежаваны.",
|
||||||
|
"notification.moderation_warning.action_suspend": "Ваш уліковы запіс быў прыпынены.",
|
||||||
"notification.own_poll": "Ваша апытанне скончылася",
|
"notification.own_poll": "Ваша апытанне скончылася",
|
||||||
"notification.poll": "Апытанне, дзе вы прынялі ўдзел, скончылася",
|
"notification.poll": "Апытанне, дзе вы прынялі ўдзел, скончылася",
|
||||||
"notification.reblog": "{name} пашырыў ваш допіс",
|
"notification.reblog": "{name} пашырыў ваш допіс",
|
||||||
|
"notification.relationships_severance_event": "Страціў сувязь з {name}",
|
||||||
|
"notification.relationships_severance_event.account_suspension": "Адміністратар з {from} прыпыніў працу {target}, што азначае, што вы больш не можаце атрымліваць ад іх абнаўлення ці ўзаемадзейнічаць з імі.",
|
||||||
|
"notification.relationships_severance_event.domain_block": "Адміністратар з {from} заблакіраваў {target}, у тым ліку {followersCount} вашых падпісчыка(-аў) і {followingCount, plural, one {# уліковы запіс} few {# уліковыя запісы} many {# уліковых запісаў} other {# уліковых запісаў}}.",
|
||||||
"notification.relationships_severance_event.learn_more": "Даведацца больш",
|
"notification.relationships_severance_event.learn_more": "Даведацца больш",
|
||||||
|
"notification.relationships_severance_event.user_domain_block": "Вы заблакіравалі {target} выдаліўшы {followersCount} сваіх падпісчыкаў і {followingCount, plural, one {# уліковы запіс} few {# уліковыя запісы} many {# уліковых запісаў} other {# уліковых запісаў}}, за якімі вы сочыце.",
|
||||||
"notification.status": "Новы допіс ад {name}",
|
"notification.status": "Новы допіс ад {name}",
|
||||||
"notification.update": "Допіс {name} адрэдагаваны",
|
"notification.update": "Допіс {name} адрэдагаваны",
|
||||||
"notification_requests.accept": "Прыняць",
|
"notification_requests.accept": "Прыняць",
|
||||||
|
@ -678,13 +695,10 @@
|
||||||
"server_banner.about_active_users": "Людзі, якія карыстаюцца гэтым сервера на працягу апошніх 30 дзён (Штомесячна Актыўныя Карыстальнікі)",
|
"server_banner.about_active_users": "Людзі, якія карыстаюцца гэтым сервера на працягу апошніх 30 дзён (Штомесячна Актыўныя Карыстальнікі)",
|
||||||
"server_banner.active_users": "актыўныя карыстальнікі",
|
"server_banner.active_users": "актыўныя карыстальнікі",
|
||||||
"server_banner.administered_by": "Адміністратар:",
|
"server_banner.administered_by": "Адміністратар:",
|
||||||
"server_banner.introduction": "{domain} ёсць часткай дэцэнтралізаванай сацыяльнай сеткі ад {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Даведацца больш",
|
|
||||||
"server_banner.server_stats": "Статыстыка сервера:",
|
"server_banner.server_stats": "Статыстыка сервера:",
|
||||||
"sign_in_banner.create_account": "Стварыць уліковы запіс",
|
"sign_in_banner.create_account": "Стварыць уліковы запіс",
|
||||||
"sign_in_banner.sign_in": "Увайсці",
|
"sign_in_banner.sign_in": "Увайсці",
|
||||||
"sign_in_banner.sso_redirect": "Уваход ці рэгістрацыя",
|
"sign_in_banner.sso_redirect": "Уваход ці рэгістрацыя",
|
||||||
"sign_in_banner.text": "Увайдзіце, каб падпісацца на людзей і тэгі, каб адказваць на допісы, дзяліцца імі і падабаць іх, альбо кантактаваць з вашага ўліковага запісу на іншым серверы.",
|
|
||||||
"status.admin_account": "Адкрыць інтэрфейс мадэратара для @{name}",
|
"status.admin_account": "Адкрыць інтэрфейс мадэратара для @{name}",
|
||||||
"status.admin_domain": "Адкрыць інтэрфейс мадэратара для {domain}",
|
"status.admin_domain": "Адкрыць інтэрфейс мадэратара для {domain}",
|
||||||
"status.admin_status": "Адкрыць гэты допіс у інтэрфейсе мадэрацыі",
|
"status.admin_status": "Адкрыць гэты допіс у інтэрфейсе мадэрацыі",
|
||||||
|
|
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "Този профил е бил скрит от модераторите на {domain}.",
|
"limited_account_hint.title": "Този профил е бил скрит от модераторите на {domain}.",
|
||||||
"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} публикации}}",
|
||||||
"lists.account.add": "Добавяне към списък",
|
"lists.account.add": "Добавяне към списък",
|
||||||
"lists.account.remove": "Премахване от списъка",
|
"lists.account.remove": "Премахване от списъка",
|
||||||
"lists.delete": "Изтриване на списъка",
|
"lists.delete": "Изтриване на списъка",
|
||||||
|
@ -695,13 +696,13 @@
|
||||||
"server_banner.about_active_users": "Ползващите сървъра през последните 30 дни (дейните месечно потребители)",
|
"server_banner.about_active_users": "Ползващите сървъра през последните 30 дни (дейните месечно потребители)",
|
||||||
"server_banner.active_users": "дейни потребители",
|
"server_banner.active_users": "дейни потребители",
|
||||||
"server_banner.administered_by": "Администрира се от:",
|
"server_banner.administered_by": "Администрира се от:",
|
||||||
"server_banner.introduction": "{domain} е част от децентрализираната социална мрежа, поддържана от {mastodon}.",
|
"server_banner.is_one_of_many": "{domain} е един от многото независими сървъри на Mastodon, които може да употребявате, за да участвате във федивселената.",
|
||||||
"server_banner.learn_more": "Научете повече",
|
|
||||||
"server_banner.server_stats": "Статистика на сървъра:",
|
"server_banner.server_stats": "Статистика на сървъра:",
|
||||||
"sign_in_banner.create_account": "Създаване на акаунт",
|
"sign_in_banner.create_account": "Създаване на акаунт",
|
||||||
|
"sign_in_banner.follow_anyone": "Последвайте някого през федивселената и вижте всичко в хронологичен ред. Без алгоритми, реклами, или примамващи връзки в полезрението.",
|
||||||
|
"sign_in_banner.mastodon_is": "Mastodon е най-добрия начин да бъдете в крак със случващото се.",
|
||||||
"sign_in_banner.sign_in": "Вход",
|
"sign_in_banner.sign_in": "Вход",
|
||||||
"sign_in_banner.sso_redirect": "Влизане или регистриране",
|
"sign_in_banner.sso_redirect": "Влизане или регистриране",
|
||||||
"sign_in_banner.text": "Влезте, за да последвате профили или хаштагове, отбелязвате като любими, споделяте и отговаряте на публикации. Може също така да взаимодействате от акаунта си на друг сървър.",
|
|
||||||
"status.admin_account": "Отваряне на интерфейс за модериране за @{name}",
|
"status.admin_account": "Отваряне на интерфейс за модериране за @{name}",
|
||||||
"status.admin_domain": "Отваряне на модериращия интерфейс за {domain}",
|
"status.admin_domain": "Отваряне на модериращия интерфейс за {domain}",
|
||||||
"status.admin_status": "Отваряне на публикацията в модериращия интерфейс",
|
"status.admin_status": "Отваряне на публикацията в модериращия интерфейс",
|
||||||
|
@ -742,7 +743,7 @@
|
||||||
"status.reblogged_by": "{name} подсили",
|
"status.reblogged_by": "{name} подсили",
|
||||||
"status.reblogs": "{count, plural, one {подсилване} other {подсилвания}}",
|
"status.reblogs": "{count, plural, one {подсилване} other {подсилвания}}",
|
||||||
"status.reblogs.empty": "Още никого не е подсилвал публикацията. Подсилващият ще се покаже тук.",
|
"status.reblogs.empty": "Още никого не е подсилвал публикацията. Подсилващият ще се покаже тук.",
|
||||||
"status.redraft": "Изтриване и преначертаване",
|
"status.redraft": "Изтриване и преработване",
|
||||||
"status.remove_bookmark": "Премахване на отметката",
|
"status.remove_bookmark": "Премахване на отметката",
|
||||||
"status.replied_to": "В отговор до {name}",
|
"status.replied_to": "В отговор до {name}",
|
||||||
"status.reply": "Отговор",
|
"status.reply": "Отговор",
|
||||||
|
|
|
@ -407,7 +407,6 @@
|
||||||
"search_results.all": "সব",
|
"search_results.all": "সব",
|
||||||
"search_results.hashtags": "হ্যাশট্যাগগুলি",
|
"search_results.hashtags": "হ্যাশট্যাগগুলি",
|
||||||
"search_results.statuses": "টুট",
|
"search_results.statuses": "টুট",
|
||||||
"server_banner.learn_more": "আরো জানো",
|
|
||||||
"sign_in_banner.sign_in": "Sign in",
|
"sign_in_banner.sign_in": "Sign in",
|
||||||
"status.admin_account": "@{name} র জন্য পরিচালনার ইন্টারফেসে ঢুকুন",
|
"status.admin_account": "@{name} র জন্য পরিচালনার ইন্টারফেসে ঢুকুন",
|
||||||
"status.admin_status": "যায় লেখাটি পরিচালনার ইন্টারফেসে খুলুন",
|
"status.admin_status": "যায় লেখাটি পরিচালনার ইন্টারফেসে খুলুন",
|
||||||
|
|
|
@ -566,7 +566,6 @@
|
||||||
"search_results.title": "Klask {q}",
|
"search_results.title": "Klask {q}",
|
||||||
"server_banner.active_users": "implijerien·ezed oberiant",
|
"server_banner.active_users": "implijerien·ezed oberiant",
|
||||||
"server_banner.administered_by": "Meret gant :",
|
"server_banner.administered_by": "Meret gant :",
|
||||||
"server_banner.learn_more": "Gouzout hiroc'h",
|
|
||||||
"server_banner.server_stats": "Stadegoù ar servijer :",
|
"server_banner.server_stats": "Stadegoù ar servijer :",
|
||||||
"sign_in_banner.create_account": "Krouiñ ur gont",
|
"sign_in_banner.create_account": "Krouiñ ur gont",
|
||||||
"sign_in_banner.sign_in": "Kevreañ",
|
"sign_in_banner.sign_in": "Kevreañ",
|
||||||
|
|
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "Aquest perfil l'han amagat els moderadors de {domain}.",
|
"limited_account_hint.title": "Aquest perfil l'han amagat els moderadors de {domain}.",
|
||||||
"link_preview.author": "Per {name}",
|
"link_preview.author": "Per {name}",
|
||||||
"link_preview.more_from_author": "Més de {name}",
|
"link_preview.more_from_author": "Més de {name}",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} publicació} other {{counter} publicacions}}",
|
||||||
"lists.account.add": "Afegeix a la llista",
|
"lists.account.add": "Afegeix a la llista",
|
||||||
"lists.account.remove": "Elimina de la llista",
|
"lists.account.remove": "Elimina de la llista",
|
||||||
"lists.delete": "Elimina la llista",
|
"lists.delete": "Elimina la llista",
|
||||||
|
@ -695,13 +696,13 @@
|
||||||
"server_banner.about_active_users": "Gent que ha fet servir aquest servidor en els darrers 30 dies (Usuaris Actius Mensuals)",
|
"server_banner.about_active_users": "Gent que ha fet servir aquest servidor en els darrers 30 dies (Usuaris Actius Mensuals)",
|
||||||
"server_banner.active_users": "usuaris actius",
|
"server_banner.active_users": "usuaris actius",
|
||||||
"server_banner.administered_by": "Administrat per:",
|
"server_banner.administered_by": "Administrat per:",
|
||||||
"server_banner.introduction": "{domain} és part de la xarxa social descentralitzada impulsada per {mastodon}.",
|
"server_banner.is_one_of_many": "{domain} és un dels molts servidors de Mastodon que pots fer servir per a participar en el fedivers.",
|
||||||
"server_banner.learn_more": "Més informació",
|
|
||||||
"server_banner.server_stats": "Estadístiques del servidor:",
|
"server_banner.server_stats": "Estadístiques del servidor:",
|
||||||
"sign_in_banner.create_account": "Crea un compte",
|
"sign_in_banner.create_account": "Crea un compte",
|
||||||
|
"sign_in_banner.follow_anyone": "Segueix qui sigui al fedivers i ho veuràs tot en ordre cronològic. Sense algorismes, anuncis o pescaclics.",
|
||||||
|
"sign_in_banner.mastodon_is": "Mastodon és la millor manera de seguir al moment què passa.",
|
||||||
"sign_in_banner.sign_in": "Inici de sessió",
|
"sign_in_banner.sign_in": "Inici de sessió",
|
||||||
"sign_in_banner.sso_redirect": "Inici de sessió o Registre",
|
"sign_in_banner.sso_redirect": "Inici de sessió o Registre",
|
||||||
"sign_in_banner.text": "Inicia la sessió per a seguir perfils o etiquetes, afavorir, compartir i respondre tuts. També pots interactuar des del teu compte a un servidor diferent.",
|
|
||||||
"status.admin_account": "Obre la interfície de moderació per a @{name}",
|
"status.admin_account": "Obre la interfície de moderació per a @{name}",
|
||||||
"status.admin_domain": "Obre la interfície de moderació per a @{domain}",
|
"status.admin_domain": "Obre la interfície de moderació per a @{domain}",
|
||||||
"status.admin_status": "Obre aquest tut a la interfície de moderació",
|
"status.admin_status": "Obre aquest tut a la interfície de moderació",
|
||||||
|
|
|
@ -533,8 +533,6 @@
|
||||||
"server_banner.about_active_users": "ئەو کەسانەی لە ماوەی ٣٠ ڕۆژی ڕابردوودا ئەم سێرڤەرە بەکاردەهێنن (بەکارهێنەرانی چالاک مانگانە)",
|
"server_banner.about_active_users": "ئەو کەسانەی لە ماوەی ٣٠ ڕۆژی ڕابردوودا ئەم سێرڤەرە بەکاردەهێنن (بەکارهێنەرانی چالاک مانگانە)",
|
||||||
"server_banner.active_users": "بەکارهێنەرانی چالاک",
|
"server_banner.active_users": "بەکارهێنەرانی چالاک",
|
||||||
"server_banner.administered_by": "بەڕێوەبردن لەلایەن:",
|
"server_banner.administered_by": "بەڕێوەبردن لەلایەن:",
|
||||||
"server_banner.introduction": "{domain} بەشێکە لەو تۆڕە کۆمەڵایەتییە لامەرکەزییەی کە لەلایەن {mastodon}ەوە بەهێز دەکرێت.",
|
|
||||||
"server_banner.learn_more": "زیاتر فێربه",
|
|
||||||
"server_banner.server_stats": "دۆخی ڕاژەکار:",
|
"server_banner.server_stats": "دۆخی ڕاژەکار:",
|
||||||
"sign_in_banner.create_account": "هەژمار دروستبکە",
|
"sign_in_banner.create_account": "هەژمار دروستبکە",
|
||||||
"sign_in_banner.sign_in": "بچۆ ژوورەوە",
|
"sign_in_banner.sign_in": "بچۆ ژوورەوە",
|
||||||
|
|
|
@ -694,13 +694,10 @@
|
||||||
"server_banner.about_active_users": "Lidé používající tento server během posledních 30 dní (měsíční aktivní uživatelé)",
|
"server_banner.about_active_users": "Lidé používající tento server během posledních 30 dní (měsíční aktivní uživatelé)",
|
||||||
"server_banner.active_users": "aktivní uživatelé",
|
"server_banner.active_users": "aktivní uživatelé",
|
||||||
"server_banner.administered_by": "Spravováno:",
|
"server_banner.administered_by": "Spravováno:",
|
||||||
"server_banner.introduction": "{domain} je součástí decentralizované sociální sítě běžící na {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Zjistit více",
|
|
||||||
"server_banner.server_stats": "Statistiky serveru:",
|
"server_banner.server_stats": "Statistiky serveru:",
|
||||||
"sign_in_banner.create_account": "Vytvořit účet",
|
"sign_in_banner.create_account": "Vytvořit účet",
|
||||||
"sign_in_banner.sign_in": "Přihlásit se",
|
"sign_in_banner.sign_in": "Přihlásit se",
|
||||||
"sign_in_banner.sso_redirect": "Přihlášení nebo Registrace",
|
"sign_in_banner.sso_redirect": "Přihlášení nebo Registrace",
|
||||||
"sign_in_banner.text": "Přihlaste se pro sledování profilů nebo hashtagů, oblíbení, sdílení a odpovídání na příspěvky. Svůj účet můžete také používat k interagování i na jiném serveru.",
|
|
||||||
"status.admin_account": "Otevřít moderátorské rozhraní pro @{name}",
|
"status.admin_account": "Otevřít moderátorské rozhraní pro @{name}",
|
||||||
"status.admin_domain": "Otevřít moderátorské rozhraní pro {domain}",
|
"status.admin_domain": "Otevřít moderátorské rozhraní pro {domain}",
|
||||||
"status.admin_status": "Otevřít tento příspěvek v moderátorském rozhraní",
|
"status.admin_status": "Otevřít tento příspěvek v moderátorském rozhraní",
|
||||||
|
|
|
@ -694,13 +694,10 @@
|
||||||
"server_banner.about_active_users": "Pobl sy'n defnyddio'r gweinydd hwn yn ystod y 30 diwrnod diwethaf (Defnyddwyr Gweithredol Misol)",
|
"server_banner.about_active_users": "Pobl sy'n defnyddio'r gweinydd hwn yn ystod y 30 diwrnod diwethaf (Defnyddwyr Gweithredol Misol)",
|
||||||
"server_banner.active_users": "defnyddwyr gweithredol",
|
"server_banner.active_users": "defnyddwyr gweithredol",
|
||||||
"server_banner.administered_by": "Gweinyddir gan:",
|
"server_banner.administered_by": "Gweinyddir gan:",
|
||||||
"server_banner.introduction": "Mae {domain} yn rhan o'r rhwydwaith cymdeithasol datganoledig sy'n cael ei bweru gan {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Dysgu mwy",
|
|
||||||
"server_banner.server_stats": "Ystadegau'r gweinydd:",
|
"server_banner.server_stats": "Ystadegau'r gweinydd:",
|
||||||
"sign_in_banner.create_account": "Creu cyfrif",
|
"sign_in_banner.create_account": "Creu cyfrif",
|
||||||
"sign_in_banner.sign_in": "Mewngofnodi",
|
"sign_in_banner.sign_in": "Mewngofnodi",
|
||||||
"sign_in_banner.sso_redirect": "Mewngofnodi neu Gofrestru",
|
"sign_in_banner.sso_redirect": "Mewngofnodi neu Gofrestru",
|
||||||
"sign_in_banner.text": "Mewngofnodwch i ddilyn proffiliau neu hashnodau, ffefrynnau, rhannu ac ymateb i bostiadau. Gallwch hefyd ryngweithio o'ch cyfrif ar weinyddion gwahanol.",
|
|
||||||
"status.admin_account": "Agor rhyngwyneb cymedroli ar gyfer @{name}",
|
"status.admin_account": "Agor rhyngwyneb cymedroli ar gyfer @{name}",
|
||||||
"status.admin_domain": "Agor rhyngwyneb cymedroli {domain}",
|
"status.admin_domain": "Agor rhyngwyneb cymedroli {domain}",
|
||||||
"status.admin_status": "Agor y postiad hwn yn y rhyngwyneb cymedroli",
|
"status.admin_status": "Agor y postiad hwn yn y rhyngwyneb cymedroli",
|
||||||
|
|
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "Denne profil er blevet skjult af {domain}-moderatorerne.",
|
"limited_account_hint.title": "Denne profil er blevet skjult af {domain}-moderatorerne.",
|
||||||
"link_preview.author": "Af {name}",
|
"link_preview.author": "Af {name}",
|
||||||
"link_preview.more_from_author": "Mere fra {name}",
|
"link_preview.more_from_author": "Mere fra {name}",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} indlæg} other {{counter} indlæg}}",
|
||||||
"lists.account.add": "Føj til liste",
|
"lists.account.add": "Føj til liste",
|
||||||
"lists.account.remove": "Fjern fra liste",
|
"lists.account.remove": "Fjern fra liste",
|
||||||
"lists.delete": "Slet liste",
|
"lists.delete": "Slet liste",
|
||||||
|
@ -695,13 +696,10 @@
|
||||||
"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.introduction": "{domain} er en del af det decentraliserede, sociale netværk drevet af {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Læs mere",
|
|
||||||
"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.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",
|
||||||
"sign_in_banner.text": "Log ind for at følge profiler eller hashtags, markere som favorit, dele og besvare indlæg eller interagere fra din konto på en anden server.",
|
|
||||||
"status.admin_account": "Åbn modereringsbrugerflade for @{name}",
|
"status.admin_account": "Åbn modereringsbrugerflade for @{name}",
|
||||||
"status.admin_domain": "Åbn modereringsbrugerflade for {domain}",
|
"status.admin_domain": "Åbn modereringsbrugerflade for {domain}",
|
||||||
"status.admin_status": "Åbn dette indlæg i modereringsbrugerfladen",
|
"status.admin_status": "Åbn dette indlæg i modereringsbrugerfladen",
|
||||||
|
|
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "Dieses Profil wurde von den Moderator*innen von {domain} ausgeblendet.",
|
"limited_account_hint.title": "Dieses Profil wurde von den Moderator*innen von {domain} ausgeblendet.",
|
||||||
"link_preview.author": "Von {name}",
|
"link_preview.author": "Von {name}",
|
||||||
"link_preview.more_from_author": "Mehr von {name}",
|
"link_preview.more_from_author": "Mehr von {name}",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} Beitrag} other {{counter} Beiträge}}",
|
||||||
"lists.account.add": "Zur Liste hinzufügen",
|
"lists.account.add": "Zur Liste hinzufügen",
|
||||||
"lists.account.remove": "Von der Liste entfernen",
|
"lists.account.remove": "Von der Liste entfernen",
|
||||||
"lists.delete": "Liste löschen",
|
"lists.delete": "Liste löschen",
|
||||||
|
@ -695,13 +696,13 @@
|
||||||
"server_banner.about_active_users": "Personen, die diesen Server in den vergangenen 30 Tagen verwendet haben (monatlich aktive Nutzer*innen)",
|
"server_banner.about_active_users": "Personen, die diesen Server in den vergangenen 30 Tagen verwendet haben (monatlich aktive Nutzer*innen)",
|
||||||
"server_banner.active_users": "aktive Profile",
|
"server_banner.active_users": "aktive Profile",
|
||||||
"server_banner.administered_by": "Verwaltet von:",
|
"server_banner.administered_by": "Verwaltet von:",
|
||||||
"server_banner.introduction": "{domain} ist Teil eines dezentralisierten sozialen Netzwerks, angetrieben von {mastodon}.",
|
"server_banner.is_one_of_many": "{domain} ist einer von vielen unabhängigen Mastodon-Servern, mit dem du dich im Fediverse beteiligen kannst.",
|
||||||
"server_banner.learn_more": "Mehr erfahren",
|
|
||||||
"server_banner.server_stats": "Serverstatistik:",
|
"server_banner.server_stats": "Serverstatistik:",
|
||||||
"sign_in_banner.create_account": "Konto erstellen",
|
"sign_in_banner.create_account": "Konto erstellen",
|
||||||
|
"sign_in_banner.follow_anyone": "Du kannst jedem im Fediverse folgen und alles in chronologischer Reihenfolge sehen. Keine Algorithmen, Werbung oder Clickbaits vorhanden.",
|
||||||
|
"sign_in_banner.mastodon_is": "Mastodon ist der beste Zugang, um auf dem Laufenden zu bleiben.",
|
||||||
"sign_in_banner.sign_in": "Anmelden",
|
"sign_in_banner.sign_in": "Anmelden",
|
||||||
"sign_in_banner.sso_redirect": "Anmelden oder registrieren",
|
"sign_in_banner.sso_redirect": "Anmelden oder registrieren",
|
||||||
"sign_in_banner.text": "Melde dich an, um Profilen oder Hashtags zu folgen, Beiträge zu favorisieren, zu teilen und auf sie zu antworten. Du kannst auch von deinem Konto aus auf einem anderen Server interagieren.",
|
|
||||||
"status.admin_account": "@{name} moderieren",
|
"status.admin_account": "@{name} moderieren",
|
||||||
"status.admin_domain": "{domain} moderieren",
|
"status.admin_domain": "{domain} moderieren",
|
||||||
"status.admin_status": "Beitrag moderieren",
|
"status.admin_status": "Beitrag moderieren",
|
||||||
|
|
|
@ -558,13 +558,10 @@
|
||||||
"server_banner.about_active_users": "Άτομα που χρησιμοποιούν αυτόν τον διακομιστή κατά τις τελευταίες 30 ημέρες (Μηνιαία Ενεργοί Χρήστες)",
|
"server_banner.about_active_users": "Άτομα που χρησιμοποιούν αυτόν τον διακομιστή κατά τις τελευταίες 30 ημέρες (Μηνιαία Ενεργοί Χρήστες)",
|
||||||
"server_banner.active_users": "ενεργοί χρήστες",
|
"server_banner.active_users": "ενεργοί χρήστες",
|
||||||
"server_banner.administered_by": "Διαχειριστής:",
|
"server_banner.administered_by": "Διαχειριστής:",
|
||||||
"server_banner.introduction": "Ο {domain} είναι μέρος του αποκεντρωμένου κοινωνικού δικτύου που παρέχεται από {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Μάθε περισσότερα",
|
|
||||||
"server_banner.server_stats": "Στατιστικά διακομιστή:",
|
"server_banner.server_stats": "Στατιστικά διακομιστή:",
|
||||||
"sign_in_banner.create_account": "Δημιουργία λογαριασμού",
|
"sign_in_banner.create_account": "Δημιουργία λογαριασμού",
|
||||||
"sign_in_banner.sign_in": "Σύνδεση",
|
"sign_in_banner.sign_in": "Σύνδεση",
|
||||||
"sign_in_banner.sso_redirect": "Συνδεθείτε ή Εγγραφείτε",
|
"sign_in_banner.sso_redirect": "Συνδεθείτε ή Εγγραφείτε",
|
||||||
"sign_in_banner.text": "Συνδεθείτε για να ακολουθήσετε προφίλ ή ετικέτες, αγαπήστε, μοιραστείτε και απαντήστε σε δημοσιεύσεις. Μπορείτε επίσης να αλληλεπιδράσετε από τον λογαριασμό σας σε διαφορετικό διακομιστή.",
|
|
||||||
"status.admin_account": "Άνοιγμα διεπαφής συντονισμού για τον/την @{name}",
|
"status.admin_account": "Άνοιγμα διεπαφής συντονισμού για τον/την @{name}",
|
||||||
"status.admin_domain": "Άνοιγμα λειτουργίας διαμεσολάβησης για {domain}",
|
"status.admin_domain": "Άνοιγμα λειτουργίας διαμεσολάβησης για {domain}",
|
||||||
"status.admin_status": "Άνοιγμα αυτής της ανάρτησης σε διεπαφή συντονισμού",
|
"status.admin_status": "Άνοιγμα αυτής της ανάρτησης σε διεπαφή συντονισμού",
|
||||||
|
|
|
@ -694,13 +694,10 @@
|
||||||
"server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)",
|
"server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)",
|
||||||
"server_banner.active_users": "active users",
|
"server_banner.active_users": "active users",
|
||||||
"server_banner.administered_by": "Administered by:",
|
"server_banner.administered_by": "Administered by:",
|
||||||
"server_banner.introduction": "{domain} is part of the decentralised social network powered by {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Learn more",
|
|
||||||
"server_banner.server_stats": "Server stats:",
|
"server_banner.server_stats": "Server stats:",
|
||||||
"sign_in_banner.create_account": "Create account",
|
"sign_in_banner.create_account": "Create account",
|
||||||
"sign_in_banner.sign_in": "Sign in",
|
"sign_in_banner.sign_in": "Sign in",
|
||||||
"sign_in_banner.sso_redirect": "Login or Register",
|
"sign_in_banner.sso_redirect": "Login or Register",
|
||||||
"sign_in_banner.text": "Login to follow profiles or hashtags, favourite, share and reply to posts. You can also interact from your account on a different server.",
|
|
||||||
"status.admin_account": "Open moderation interface for @{name}",
|
"status.admin_account": "Open moderation interface for @{name}",
|
||||||
"status.admin_domain": "Open moderation interface for {domain}",
|
"status.admin_domain": "Open moderation interface for {domain}",
|
||||||
"status.admin_status": "Open this post in the moderation interface",
|
"status.admin_status": "Open this post in the moderation interface",
|
||||||
|
|
|
@ -521,6 +521,7 @@
|
||||||
"limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.",
|
"limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.",
|
||||||
"link_preview.author": "By {name}",
|
"link_preview.author": "By {name}",
|
||||||
"link_preview.more_from_author": "More from {name}",
|
"link_preview.more_from_author": "More from {name}",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} post} other {{counter} posts}}",
|
||||||
"lists.account.add": "Add to list",
|
"lists.account.add": "Add to list",
|
||||||
"lists.account.remove": "Remove from list",
|
"lists.account.remove": "Remove from list",
|
||||||
"lists.antennas": "Related antennas",
|
"lists.antennas": "Related antennas",
|
||||||
|
@ -848,13 +849,13 @@
|
||||||
"server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)",
|
"server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)",
|
||||||
"server_banner.active_users": "active users",
|
"server_banner.active_users": "active users",
|
||||||
"server_banner.administered_by": "Administered by:",
|
"server_banner.administered_by": "Administered by:",
|
||||||
"server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.",
|
"server_banner.is_one_of_many": "{domain} is one of the many independent Mastodon servers you can use to participate in the fediverse.",
|
||||||
"server_banner.learn_more": "Learn more",
|
|
||||||
"server_banner.server_stats": "Server stats:",
|
"server_banner.server_stats": "Server stats:",
|
||||||
"sign_in_banner.create_account": "Create account",
|
"sign_in_banner.create_account": "Create account",
|
||||||
|
"sign_in_banner.follow_anyone": "Follow anyone across the fediverse and see it all in chronological order. No algorithms, ads, or clickbait in sight.",
|
||||||
|
"sign_in_banner.mastodon_is": "Mastodon is the best way to keep up with what's happening.",
|
||||||
"sign_in_banner.sign_in": "Login",
|
"sign_in_banner.sign_in": "Login",
|
||||||
"sign_in_banner.sso_redirect": "Login or Register",
|
"sign_in_banner.sso_redirect": "Login or Register",
|
||||||
"sign_in_banner.text": "Login to follow profiles or hashtags, favorite, share and reply to posts. You can also interact from your account on a different server.",
|
|
||||||
"status.admin_account": "Open moderation interface for @{name}",
|
"status.admin_account": "Open moderation interface for @{name}",
|
||||||
"status.admin_domain": "Open moderation interface for {domain}",
|
"status.admin_domain": "Open moderation interface for {domain}",
|
||||||
"status.admin_status": "Open this post in the moderation interface",
|
"status.admin_status": "Open this post in the moderation interface",
|
||||||
|
|
|
@ -498,7 +498,14 @@
|
||||||
"poll_button.add_poll": "Aldoni balotenketon",
|
"poll_button.add_poll": "Aldoni balotenketon",
|
||||||
"poll_button.remove_poll": "Forigi balotenketon",
|
"poll_button.remove_poll": "Forigi balotenketon",
|
||||||
"privacy.change": "Agordi mesaĝan privatecon",
|
"privacy.change": "Agordi mesaĝan privatecon",
|
||||||
|
"privacy.direct.long": "Ĉiuj menciitaj en la afiŝo",
|
||||||
|
"privacy.direct.short": "Specifaj homoj",
|
||||||
|
"privacy.private.long": "Nur viaj sekvantoj",
|
||||||
|
"privacy.private.short": "Sekvantoj",
|
||||||
|
"privacy.public.long": "Ĉiujn ajn ĉe kaj ekster Mastodon",
|
||||||
"privacy.public.short": "Publika",
|
"privacy.public.short": "Publika",
|
||||||
|
"privacy.unlisted.long": "Malpli algoritmaj fanfaroj",
|
||||||
|
"privacy.unlisted.short": "Diskrete publika",
|
||||||
"privacy_policy.last_updated": "Laste ĝisdatigita en {date}",
|
"privacy_policy.last_updated": "Laste ĝisdatigita en {date}",
|
||||||
"privacy_policy.title": "Politiko de privateco",
|
"privacy_policy.title": "Politiko de privateco",
|
||||||
"recommended": "Rekomendita",
|
"recommended": "Rekomendita",
|
||||||
|
@ -589,13 +596,10 @@
|
||||||
"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)",
|
||||||
"server_banner.active_users": "aktivaj uzantoj",
|
"server_banner.active_users": "aktivaj uzantoj",
|
||||||
"server_banner.administered_by": "Administrata de:",
|
"server_banner.administered_by": "Administrata de:",
|
||||||
"server_banner.introduction": "{domain} apartenas al la malcentra socia retejo povigita de {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Lernu pli",
|
|
||||||
"server_banner.server_stats": "Statistikoj de la servilo:",
|
"server_banner.server_stats": "Statistikoj de la servilo:",
|
||||||
"sign_in_banner.create_account": "Krei konton",
|
"sign_in_banner.create_account": "Krei konton",
|
||||||
"sign_in_banner.sign_in": "Saluti",
|
"sign_in_banner.sign_in": "Saluti",
|
||||||
"sign_in_banner.sso_redirect": "Ensalutu aŭ Registriĝi",
|
"sign_in_banner.sso_redirect": "Ensalutu aŭ Registriĝi",
|
||||||
"sign_in_banner.text": "Ensalutu por sekvi profilojn aŭ haŝetikedojn, ŝatatajn, dividi kaj respondi afiŝojn. Vi ankaŭ povas interagi de via konto sur alia servilo.",
|
|
||||||
"status.admin_account": "Malfermi fasadon de moderigado por @{name}",
|
"status.admin_account": "Malfermi fasadon de moderigado por @{name}",
|
||||||
"status.admin_domain": "Malfermu moderigan interfacon por {domain}",
|
"status.admin_domain": "Malfermu moderigan interfacon por {domain}",
|
||||||
"status.admin_status": "Malfermi ĉi tiun mesaĝon en la kontrola interfaco",
|
"status.admin_status": "Malfermi ĉi tiun mesaĝon en la kontrola interfaco",
|
||||||
|
|
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "Este perfil fue ocultado por los moderadores de {domain}.",
|
"limited_account_hint.title": "Este perfil fue ocultado por los moderadores de {domain}.",
|
||||||
"link_preview.author": "Por {name}",
|
"link_preview.author": "Por {name}",
|
||||||
"link_preview.more_from_author": "Más de {name}",
|
"link_preview.more_from_author": "Más de {name}",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} mensaje} other {{counter} mensajes}}",
|
||||||
"lists.account.add": "Agregar a lista",
|
"lists.account.add": "Agregar a lista",
|
||||||
"lists.account.remove": "Quitar de lista",
|
"lists.account.remove": "Quitar de lista",
|
||||||
"lists.delete": "Eliminar lista",
|
"lists.delete": "Eliminar lista",
|
||||||
|
@ -695,13 +696,13 @@
|
||||||
"server_banner.about_active_users": "Personas usando este servidor durante los últimos 30 días (Usuarios Activos Mensuales)",
|
"server_banner.about_active_users": "Personas usando este servidor durante los últimos 30 días (Usuarios Activos Mensuales)",
|
||||||
"server_banner.active_users": "usuarios activos",
|
"server_banner.active_users": "usuarios activos",
|
||||||
"server_banner.administered_by": "Administrado por:",
|
"server_banner.administered_by": "Administrado por:",
|
||||||
"server_banner.introduction": "{domain} es parte de la red social descentralizada con la tecnología de {mastodon}.",
|
"server_banner.is_one_of_many": "{domain} es uno de los muchos servidores de Mastodon independientes que podés usar para participar en el Fediverso.",
|
||||||
"server_banner.learn_more": "Aprendé más",
|
|
||||||
"server_banner.server_stats": "Estadísticas del servidor:",
|
"server_banner.server_stats": "Estadísticas del servidor:",
|
||||||
"sign_in_banner.create_account": "Crear cuenta",
|
"sign_in_banner.create_account": "Crear cuenta",
|
||||||
|
"sign_in_banner.follow_anyone": "Seguí a cualquiera cuenta a través del Fediverso y leé todo en orden cronológico. Nada de algoritmos, publicidad o titulares engañosos.",
|
||||||
|
"sign_in_banner.mastodon_is": "Mastodon es la mejor manera de mantenerse al día sobre lo que está sucediendo.",
|
||||||
"sign_in_banner.sign_in": "Iniciar sesión",
|
"sign_in_banner.sign_in": "Iniciar sesión",
|
||||||
"sign_in_banner.sso_redirect": "Iniciá sesión o registrate",
|
"sign_in_banner.sso_redirect": "Iniciá sesión o registrate",
|
||||||
"sign_in_banner.text": "Iniciá sesión para seguir cuentas o etiquetas, marcar mensajes como favoritos, compartirlos y responderlos. También podés interactuar desde tu cuenta en un servidor diferente.",
|
|
||||||
"status.admin_account": "Abrir interface de moderación para @{name}",
|
"status.admin_account": "Abrir interface de moderación para @{name}",
|
||||||
"status.admin_domain": "Abrir interface de moderación para {domain}",
|
"status.admin_domain": "Abrir interface de moderación para {domain}",
|
||||||
"status.admin_status": "Abrir este mensaje en la interface de moderación",
|
"status.admin_status": "Abrir este mensaje en la interface de moderación",
|
||||||
|
|
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "Este perfil ha sido ocultado por los moderadores de {domain}.",
|
"limited_account_hint.title": "Este perfil ha sido ocultado por los moderadores de {domain}.",
|
||||||
"link_preview.author": "Por {name}",
|
"link_preview.author": "Por {name}",
|
||||||
"link_preview.more_from_author": "Más de {name}",
|
"link_preview.more_from_author": "Más de {name}",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} publicación} other {{counter} publicaciones}}",
|
||||||
"lists.account.add": "Añadir a lista",
|
"lists.account.add": "Añadir a lista",
|
||||||
"lists.account.remove": "Quitar de lista",
|
"lists.account.remove": "Quitar de lista",
|
||||||
"lists.delete": "Borrar lista",
|
"lists.delete": "Borrar lista",
|
||||||
|
@ -695,13 +696,13 @@
|
||||||
"server_banner.about_active_users": "Personas utilizando este servidor durante los últimos 30 días (Usuarios Activos Mensuales)",
|
"server_banner.about_active_users": "Personas utilizando este servidor durante los últimos 30 días (Usuarios Activos Mensuales)",
|
||||||
"server_banner.active_users": "usuarios activos",
|
"server_banner.active_users": "usuarios activos",
|
||||||
"server_banner.administered_by": "Administrado por:",
|
"server_banner.administered_by": "Administrado por:",
|
||||||
"server_banner.introduction": "{domain} es parte de la red social descentralizada gestionada por {mastodon}.",
|
"server_banner.is_one_of_many": "{domain} es uno de los varios servidores independientes de Mastodon que puedes usar para participar en el fediverso.",
|
||||||
"server_banner.learn_more": "Saber más",
|
|
||||||
"server_banner.server_stats": "Estadísticas del servidor:",
|
"server_banner.server_stats": "Estadísticas del servidor:",
|
||||||
"sign_in_banner.create_account": "Crear cuenta",
|
"sign_in_banner.create_account": "Crear cuenta",
|
||||||
|
"sign_in_banner.follow_anyone": "Sigue a cualquier persona en el fediverso y velo todo en orden cronológico. Sin algoritmos, sin anuncios o titulares engañosos.",
|
||||||
|
"sign_in_banner.mastodon_is": "Mastodon es el mejor modo de mantenerse al día sobre qué está ocurriendo.",
|
||||||
"sign_in_banner.sign_in": "Iniciar sesión",
|
"sign_in_banner.sign_in": "Iniciar sesión",
|
||||||
"sign_in_banner.sso_redirect": "Iniciar sesión o Registrarse",
|
"sign_in_banner.sso_redirect": "Iniciar sesión o Registrarse",
|
||||||
"sign_in_banner.text": "Inicia sesión para seguir perfiles o etiquetas, así como marcar como favoritas, compartir y responder a publicaciones. También puedes interactuar desde tu cuenta en un servidor diferente.",
|
|
||||||
"status.admin_account": "Abrir interfaz de moderación para @{name}",
|
"status.admin_account": "Abrir interfaz de moderación para @{name}",
|
||||||
"status.admin_domain": "Abrir interfaz de moderación para {domain}",
|
"status.admin_domain": "Abrir interfaz de moderación para {domain}",
|
||||||
"status.admin_status": "Abrir este estado en la interfaz de moderación",
|
"status.admin_status": "Abrir este estado en la interfaz de moderación",
|
||||||
|
|
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "Este perfil ha sido ocultado por los moderadores de {domain}.",
|
"limited_account_hint.title": "Este perfil ha sido ocultado por los moderadores de {domain}.",
|
||||||
"link_preview.author": "Por {name}",
|
"link_preview.author": "Por {name}",
|
||||||
"link_preview.more_from_author": "Más de {name}",
|
"link_preview.more_from_author": "Más de {name}",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} publicación} other {{counter} publicaciones}}",
|
||||||
"lists.account.add": "Añadir a lista",
|
"lists.account.add": "Añadir a lista",
|
||||||
"lists.account.remove": "Quitar de lista",
|
"lists.account.remove": "Quitar de lista",
|
||||||
"lists.delete": "Borrar lista",
|
"lists.delete": "Borrar lista",
|
||||||
|
@ -695,13 +696,13 @@
|
||||||
"server_banner.about_active_users": "Usuarios activos en el servidor durante los últimos 30 días (Usuarios Activos Mensuales)",
|
"server_banner.about_active_users": "Usuarios activos en el servidor durante los últimos 30 días (Usuarios Activos Mensuales)",
|
||||||
"server_banner.active_users": "usuarios activos",
|
"server_banner.active_users": "usuarios activos",
|
||||||
"server_banner.administered_by": "Administrado por:",
|
"server_banner.administered_by": "Administrado por:",
|
||||||
"server_banner.introduction": "{domain} es parte de la red social descentralizada liderada por {mastodon}.",
|
"server_banner.is_one_of_many": "{domain} es uno de los varios servidores independientes de Mastodon que puedes usar para participar en el fediverso.",
|
||||||
"server_banner.learn_more": "Saber más",
|
|
||||||
"server_banner.server_stats": "Estadísticas del servidor:",
|
"server_banner.server_stats": "Estadísticas del servidor:",
|
||||||
"sign_in_banner.create_account": "Crear cuenta",
|
"sign_in_banner.create_account": "Crear cuenta",
|
||||||
|
"sign_in_banner.follow_anyone": "Sigue a cualquier persona en el fediverso y velo todo en orden cronológico. Sin algoritmos, sin anuncios o titulares engañosos.",
|
||||||
|
"sign_in_banner.mastodon_is": "Mastodon es el mejor modo de mantenerse al día sobre qué está ocurriendo.",
|
||||||
"sign_in_banner.sign_in": "Iniciar sesión",
|
"sign_in_banner.sign_in": "Iniciar sesión",
|
||||||
"sign_in_banner.sso_redirect": "Iniciar sesión o Registrarse",
|
"sign_in_banner.sso_redirect": "Iniciar sesión o Registrarse",
|
||||||
"sign_in_banner.text": "Inicia sesión para seguir perfiles o etiquetas, así como marcar como favoritas, compartir y responder a publicaciones. También puedes interactuar desde tu cuenta en un servidor diferente.",
|
|
||||||
"status.admin_account": "Abrir interfaz de moderación para @{name}",
|
"status.admin_account": "Abrir interfaz de moderación para @{name}",
|
||||||
"status.admin_domain": "Abrir interfaz de moderación para {domain}",
|
"status.admin_domain": "Abrir interfaz de moderación para {domain}",
|
||||||
"status.admin_status": "Abrir esta publicación en la interfaz de moderación",
|
"status.admin_status": "Abrir esta publicación en la interfaz de moderación",
|
||||||
|
|
|
@ -680,13 +680,10 @@
|
||||||
"server_banner.about_active_users": "Inimesed, kes kasutavad seda serverit viimase 30 päeva jooksul (kuu aktiivsed kasutajad)",
|
"server_banner.about_active_users": "Inimesed, kes kasutavad seda serverit viimase 30 päeva jooksul (kuu aktiivsed kasutajad)",
|
||||||
"server_banner.active_users": "aktiivsed kasutajad",
|
"server_banner.active_users": "aktiivsed kasutajad",
|
||||||
"server_banner.administered_by": "Administraator:",
|
"server_banner.administered_by": "Administraator:",
|
||||||
"server_banner.introduction": "{domain} on osa detsentraliseeritud sotsiaalvõrgustikust, mida võimaldab {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Vaata täpsemalt",
|
|
||||||
"server_banner.server_stats": "Serveri statistika:",
|
"server_banner.server_stats": "Serveri statistika:",
|
||||||
"sign_in_banner.create_account": "Loo konto",
|
"sign_in_banner.create_account": "Loo konto",
|
||||||
"sign_in_banner.sign_in": "Logi sisse",
|
"sign_in_banner.sign_in": "Logi sisse",
|
||||||
"sign_in_banner.sso_redirect": "Sisene või registreeru",
|
"sign_in_banner.sso_redirect": "Sisene või registreeru",
|
||||||
"sign_in_banner.text": "Logi sisse, et jälgida profiile või silte, märkida lemmikuks, jagada ja vastata postitustele. Võid suhelda ka mõne teise serveri konto kaudu.",
|
|
||||||
"status.admin_account": "Ava @{name} moderaatorivaates",
|
"status.admin_account": "Ava @{name} moderaatorivaates",
|
||||||
"status.admin_domain": "Ava {domain} modeereerimisliides",
|
"status.admin_domain": "Ava {domain} modeereerimisliides",
|
||||||
"status.admin_status": "Ava postitus moderaatorivaates",
|
"status.admin_status": "Ava postitus moderaatorivaates",
|
||||||
|
|
|
@ -692,13 +692,10 @@
|
||||||
"server_banner.about_active_users": "Azken 30 egunetan zerbitzari hau erabili duen jendea (hilabeteko erabiltzaile aktiboak)",
|
"server_banner.about_active_users": "Azken 30 egunetan zerbitzari hau erabili duen jendea (hilabeteko erabiltzaile aktiboak)",
|
||||||
"server_banner.active_users": "erabiltzaile aktibo",
|
"server_banner.active_users": "erabiltzaile aktibo",
|
||||||
"server_banner.administered_by": "Administratzailea(k):",
|
"server_banner.administered_by": "Administratzailea(k):",
|
||||||
"server_banner.introduction": "{domain} zerbitzaria {mastodon} erabiltzen duen sare sozial deszentralizatuko parte da.",
|
|
||||||
"server_banner.learn_more": "Ikasi gehiago",
|
|
||||||
"server_banner.server_stats": "Zerbitzariaren estatistikak:",
|
"server_banner.server_stats": "Zerbitzariaren estatistikak:",
|
||||||
"sign_in_banner.create_account": "Sortu kontua",
|
"sign_in_banner.create_account": "Sortu kontua",
|
||||||
"sign_in_banner.sign_in": "Hasi saioa",
|
"sign_in_banner.sign_in": "Hasi saioa",
|
||||||
"sign_in_banner.sso_redirect": "Hasi saioa edo izena eman",
|
"sign_in_banner.sso_redirect": "Hasi saioa edo izena eman",
|
||||||
"sign_in_banner.text": "Hasi saioa profilak edo traolak jarraitzeko, bidalketak gogokoetara gehitzeko, partekatzeko edo erantzuteko. Zure kontutik ere komunika zaitezke beste zerbitzari ezberdin batean.",
|
|
||||||
"status.admin_account": "Ireki @{name} erabiltzailearen moderazio interfazea",
|
"status.admin_account": "Ireki @{name} erabiltzailearen moderazio interfazea",
|
||||||
"status.admin_domain": "{domain}-(r)en moderazio-interfazea ireki",
|
"status.admin_domain": "{domain}-(r)en moderazio-interfazea ireki",
|
||||||
"status.admin_status": "Ireki bidalketa hau moderazio interfazean",
|
"status.admin_status": "Ireki bidalketa hau moderazio interfazean",
|
||||||
|
|
|
@ -620,13 +620,10 @@
|
||||||
"server_banner.about_active_users": "افرادی که در ۳۰ روز گذشته از این کارساز استفاده کردهاند (کاربران فعّال ماهانه)",
|
"server_banner.about_active_users": "افرادی که در ۳۰ روز گذشته از این کارساز استفاده کردهاند (کاربران فعّال ماهانه)",
|
||||||
"server_banner.active_users": "کاربر فعّال",
|
"server_banner.active_users": "کاربر فعّال",
|
||||||
"server_banner.administered_by": "به مدیریت:",
|
"server_banner.administered_by": "به مدیریت:",
|
||||||
"server_banner.introduction": "{domain} بخشی از شبکهٔ اجتماعی نامتمرکزیست که از {mastodon} نیرو گرفته.",
|
|
||||||
"server_banner.learn_more": "بیشتر بیاموزید",
|
|
||||||
"server_banner.server_stats": "آمار کارساز:",
|
"server_banner.server_stats": "آمار کارساز:",
|
||||||
"sign_in_banner.create_account": "ایجاد حساب",
|
"sign_in_banner.create_account": "ایجاد حساب",
|
||||||
"sign_in_banner.sign_in": "ورود",
|
"sign_in_banner.sign_in": "ورود",
|
||||||
"sign_in_banner.sso_redirect": "ورود یا ثبت نام",
|
"sign_in_banner.sso_redirect": "ورود یا ثبت نام",
|
||||||
"sign_in_banner.text": "برای پیگیری نمایهها یا برچسبها، پسندیدن، همرسانی و یا پاسخ به فرستهها وارد شوید. همچنین میتوانید این کارها را با حسابتان در کارسازی دیگر انجام دهید.",
|
|
||||||
"status.admin_account": "گشودن واسط مدیریت برای @{name}",
|
"status.admin_account": "گشودن واسط مدیریت برای @{name}",
|
||||||
"status.admin_domain": "گشودن واسط مدیریت برای {domain}",
|
"status.admin_domain": "گشودن واسط مدیریت برای {domain}",
|
||||||
"status.admin_status": "گشودن این فرسته در واسط مدیریت",
|
"status.admin_status": "گشودن این فرسته در واسط مدیریت",
|
||||||
|
|
|
@ -96,7 +96,7 @@
|
||||||
"block_modal.they_cant_see_posts": "Hän ei voi enää nähdä julkaisujasi, etkä sinä voi nähdä hänen.",
|
"block_modal.they_cant_see_posts": "Hän ei voi enää nähdä julkaisujasi, etkä sinä voi nähdä hänen.",
|
||||||
"block_modal.they_will_know": "Hän voi nähdä, että hänet on estetty.",
|
"block_modal.they_will_know": "Hän voi nähdä, että hänet on estetty.",
|
||||||
"block_modal.title": "Estetäänkö käyttäjä?",
|
"block_modal.title": "Estetäänkö käyttäjä?",
|
||||||
"block_modal.you_wont_see_mentions": "Et enää näe hänen julkaisujaan etkä voi seurata häntä.",
|
"block_modal.you_wont_see_mentions": "Et tule enää näkemään julkaisuja, joissa hänet mainitaan.",
|
||||||
"boost_modal.combo": "Ensi kerralla voit ohittaa tämän painamalla {combo}",
|
"boost_modal.combo": "Ensi kerralla voit ohittaa tämän painamalla {combo}",
|
||||||
"bundle_column_error.copy_stacktrace": "Kopioi virheraportti",
|
"bundle_column_error.copy_stacktrace": "Kopioi virheraportti",
|
||||||
"bundle_column_error.error.body": "Pyydettyä sivua ei voitu hahmontaa. Se voi johtua virheestä koodissamme tai selaimen yhteensopivuudessa.",
|
"bundle_column_error.error.body": "Pyydettyä sivua ei voitu hahmontaa. Se voi johtua virheestä koodissamme tai selaimen yhteensopivuudessa.",
|
||||||
|
@ -213,7 +213,7 @@
|
||||||
"domain_block_modal.block_account_instead": "Estä sen sijaan @{name}",
|
"domain_block_modal.block_account_instead": "Estä sen sijaan @{name}",
|
||||||
"domain_block_modal.they_can_interact_with_old_posts": "Ihmiset tältä palvelimelta eivät voi olla vuorovaikutuksessa vanhojen julkaisujesi kanssa.",
|
"domain_block_modal.they_can_interact_with_old_posts": "Ihmiset tältä palvelimelta eivät voi olla vuorovaikutuksessa vanhojen julkaisujesi kanssa.",
|
||||||
"domain_block_modal.they_cant_follow": "Kukaan tältä palvelimelta ei voi seurata sinua.",
|
"domain_block_modal.they_cant_follow": "Kukaan tältä palvelimelta ei voi seurata sinua.",
|
||||||
"domain_block_modal.they_wont_know": "Hän ei saa tietää, että hänet on estetty.",
|
"domain_block_modal.they_wont_know": "Hän ei saa ilmoitusta tulleensa estetyksi.",
|
||||||
"domain_block_modal.title": "Estetäänkö verkkotunnus?",
|
"domain_block_modal.title": "Estetäänkö verkkotunnus?",
|
||||||
"domain_block_modal.you_will_lose_followers": "Kaikki seuraajasi tältä palvelimelta poistetaan.",
|
"domain_block_modal.you_will_lose_followers": "Kaikki seuraajasi tältä palvelimelta poistetaan.",
|
||||||
"domain_block_modal.you_wont_see_posts": "Et enää näe julkaisuja etkä ilmoituksia tämän palvelimen käyttäjiltä.",
|
"domain_block_modal.you_wont_see_posts": "Et enää näe julkaisuja etkä ilmoituksia tämän palvelimen käyttäjiltä.",
|
||||||
|
@ -266,7 +266,7 @@
|
||||||
"empty_column.list": "Tällä listalla ei ole vielä mitään. Kun tämän listan jäsenet lähettävät uusia julkaisuja, ne näkyvät tässä.",
|
"empty_column.list": "Tällä listalla ei ole vielä mitään. Kun tämän listan jäsenet lähettävät uusia julkaisuja, ne näkyvät tässä.",
|
||||||
"empty_column.lists": "Sinulla ei ole vielä yhtään listaa. Kun luot sellaisen, näkyy se tässä.",
|
"empty_column.lists": "Sinulla ei ole vielä yhtään listaa. Kun luot sellaisen, näkyy se tässä.",
|
||||||
"empty_column.mutes": "Et ole mykistänyt vielä yhtään käyttäjää.",
|
"empty_column.mutes": "Et ole mykistänyt vielä yhtään käyttäjää.",
|
||||||
"empty_column.notification_requests": "Kaikki kunnossa! Täällä ei ole mitään. Kun saat uusia ilmoituksia, ne näkyvät täällä asetustesi mukaisesti.",
|
"empty_column.notification_requests": "Olet ajan tasalla! Täällä ei ole mitään uutta kerrottavaa. Kun saat uusia ilmoituksia, ne näkyvät täällä asetustesi mukaisesti.",
|
||||||
"empty_column.notifications": "Sinulla ei ole vielä ilmoituksia. Kun keskustelet muille, näet sen täällä.",
|
"empty_column.notifications": "Sinulla ei ole vielä ilmoituksia. Kun keskustelet muille, näet sen täällä.",
|
||||||
"empty_column.public": "Täällä ei ole mitään! Kirjoita jotain julkisesti. Voit myös seurata muiden palvelimien käyttäjiä",
|
"empty_column.public": "Täällä ei ole mitään! Kirjoita jotain julkisesti. Voit myös seurata muiden palvelimien käyttäjiä",
|
||||||
"error.unexpected_crash.explanation": "Sivua ei voida näyttää oikein ohjelmointivirheen tai selaimen yhteensopivuusvajeen vuoksi.",
|
"error.unexpected_crash.explanation": "Sivua ei voida näyttää oikein ohjelmointivirheen tai selaimen yhteensopivuusvajeen vuoksi.",
|
||||||
|
@ -308,7 +308,7 @@
|
||||||
"follow_requests.unlocked_explanation": "Vaikkei tiliäsi ole lukittu, palvelimen {domain} ylläpito on arvioinut, että saatat olla halukas tarkistamaan nämä seuraamispyynnöt erikseen.",
|
"follow_requests.unlocked_explanation": "Vaikkei tiliäsi ole lukittu, palvelimen {domain} ylläpito on arvioinut, että saatat olla halukas tarkistamaan nämä seuraamispyynnöt erikseen.",
|
||||||
"follow_suggestions.curated_suggestion": "Ehdotus ylläpidolta",
|
"follow_suggestions.curated_suggestion": "Ehdotus ylläpidolta",
|
||||||
"follow_suggestions.dismiss": "Älä näytä uudelleen",
|
"follow_suggestions.dismiss": "Älä näytä uudelleen",
|
||||||
"follow_suggestions.featured_longer": "Valinnut käsin palvelimen {domain} tiimi",
|
"follow_suggestions.featured_longer": "Palvelimen {domain} tiimin poimintoja",
|
||||||
"follow_suggestions.friends_of_friends_longer": "Suosittu seuraamiesi ihmisten keskuudessa",
|
"follow_suggestions.friends_of_friends_longer": "Suosittu seuraamiesi ihmisten keskuudessa",
|
||||||
"follow_suggestions.hints.featured": "Tämän profiilin on valinnut palvelimen {domain} tiimi.",
|
"follow_suggestions.hints.featured": "Tämän profiilin on valinnut palvelimen {domain} tiimi.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Seuraamasi käyttäjät suosivat tätä profiilia.",
|
"follow_suggestions.hints.friends_of_friends": "Seuraamasi käyttäjät suosivat tätä profiilia.",
|
||||||
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "Palvelimen {domain} valvojat ovat piilottaneet tämän käyttäjätilin.",
|
"limited_account_hint.title": "Palvelimen {domain} valvojat ovat piilottaneet tämän käyttäjätilin.",
|
||||||
"link_preview.author": "Julkaissut {name}",
|
"link_preview.author": "Julkaissut {name}",
|
||||||
"link_preview.more_from_author": "Lisää käyttäjältä {name}",
|
"link_preview.more_from_author": "Lisää käyttäjältä {name}",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} julkaisu} other {{counter} julkaisua}}",
|
||||||
"lists.account.add": "Lisää listalle",
|
"lists.account.add": "Lisää listalle",
|
||||||
"lists.account.remove": "Poista listalta",
|
"lists.account.remove": "Poista listalta",
|
||||||
"lists.delete": "Poista lista",
|
"lists.delete": "Poista lista",
|
||||||
|
@ -434,13 +435,13 @@
|
||||||
"media_gallery.toggle_visible": "{number, plural, one {Piilota kuva} other {Piilota kuvat}}",
|
"media_gallery.toggle_visible": "{number, plural, one {Piilota kuva} other {Piilota kuvat}}",
|
||||||
"moved_to_account_banner.text": "Tilisi {disabledAccount} on tällä hetkellä poissa käytöstä, koska teit siirron tiliin {movedToAccount}.",
|
"moved_to_account_banner.text": "Tilisi {disabledAccount} on tällä hetkellä poissa käytöstä, koska teit siirron tiliin {movedToAccount}.",
|
||||||
"mute_modal.hide_from_notifications": "Piilota ilmoituksista",
|
"mute_modal.hide_from_notifications": "Piilota ilmoituksista",
|
||||||
"mute_modal.hide_options": "Piilota valinnat",
|
"mute_modal.hide_options": "Piilota vaihtoehdot",
|
||||||
"mute_modal.indefinite": "Kunnes poistan mykistyksen häneltä",
|
"mute_modal.indefinite": "Kunnes perun häntä koskevan mykistyksen",
|
||||||
"mute_modal.show_options": "Näytä valinnat",
|
"mute_modal.show_options": "Näytä vaihtoehdot",
|
||||||
"mute_modal.they_can_mention_and_follow": "Hän voi mainita sinut ja seurata sinua, mutta sinä et näe häntä.",
|
"mute_modal.they_can_mention_and_follow": "Hän voi mainita sinut ja seurata sinua, mutta sinä et näe häntä.",
|
||||||
"mute_modal.they_wont_know": "Hän ei saa tietää, että hänet on mykistetty.",
|
"mute_modal.they_wont_know": "Hän ei saa ilmoitusta tulleensa mykistetyksi.",
|
||||||
"mute_modal.title": "Mykistetäänkö käyttäjä?",
|
"mute_modal.title": "Mykistetäänkö käyttäjä?",
|
||||||
"mute_modal.you_wont_see_mentions": "Et enää näe julkaisuja, joissa hänet mainitaan.",
|
"mute_modal.you_wont_see_mentions": "Et tule enää näkemään julkaisuja, joissa hänet mainitaan.",
|
||||||
"mute_modal.you_wont_see_posts": "Hän voi yhä nähdä julkaisusi, mutta sinä et näe hänen.",
|
"mute_modal.you_wont_see_posts": "Hän voi yhä nähdä julkaisusi, mutta sinä et näe hänen.",
|
||||||
"navigation_bar.about": "Tietoja",
|
"navigation_bar.about": "Tietoja",
|
||||||
"navigation_bar.advanced_interface": "Avaa edistyneessä selainkäyttöliittymässä",
|
"navigation_bar.advanced_interface": "Avaa edistyneessä selainkäyttöliittymässä",
|
||||||
|
@ -530,11 +531,11 @@
|
||||||
"notifications.permission_denied": "Työpöytäilmoitukset eivät ole käytettävissä, koska selaimen käyttöoikeuspyyntö on aiemmin evätty",
|
"notifications.permission_denied": "Työpöytäilmoitukset eivät ole käytettävissä, koska selaimen käyttöoikeuspyyntö on aiemmin evätty",
|
||||||
"notifications.permission_denied_alert": "Työpöytäilmoituksia ei voi ottaa käyttöön, koska selaimen käyttöoikeus on aiemmin estetty",
|
"notifications.permission_denied_alert": "Työpöytäilmoituksia ei voi ottaa käyttöön, koska selaimen käyttöoikeus on aiemmin estetty",
|
||||||
"notifications.permission_required": "Työpöytäilmoitukset eivät ole käytettävissä, koska siihen tarvittavaa lupaa ei ole myönnetty.",
|
"notifications.permission_required": "Työpöytäilmoitukset eivät ole käytettävissä, koska siihen tarvittavaa lupaa ei ole myönnetty.",
|
||||||
"notifications.policy.filter_new_accounts.hint": "Luotu {days, plural, one {viime päivänä} other {viimeisenä # päivänä}}",
|
"notifications.policy.filter_new_accounts.hint": "Luotu {days, plural, one {viimeisimmän päivän aikana} other {# viime päivän aikana}}",
|
||||||
"notifications.policy.filter_new_accounts_title": "Uudet tilit",
|
"notifications.policy.filter_new_accounts_title": "Uudet tilit",
|
||||||
"notifications.policy.filter_not_followers_hint": "Mukaan lukien ne, jotka ovat seuranneet sinua vähemmän kuin {days, plural, one {päivän} other {# päivää}}",
|
"notifications.policy.filter_not_followers_hint": "Mukaan lukien alle {days, plural, one {päivän} other {# päivän}} verran sinua seuranneet",
|
||||||
"notifications.policy.filter_not_followers_title": "Henkilöt, jotka eivät seuraa sinua",
|
"notifications.policy.filter_not_followers_title": "Henkilöt, jotka eivät seuraa sinua",
|
||||||
"notifications.policy.filter_not_following_hint": "Kunnes hyväksyt ne manuaalisesti",
|
"notifications.policy.filter_not_following_hint": "Kunnes hyväksyt ne omin käsin",
|
||||||
"notifications.policy.filter_not_following_title": "Henkilöt, joita et seuraa",
|
"notifications.policy.filter_not_following_title": "Henkilöt, joita et seuraa",
|
||||||
"notifications.policy.filter_private_mentions_hint": "Suodatetaan, ellei se vastaa omaan mainintaasi tai ellet seuraa lähettäjää",
|
"notifications.policy.filter_private_mentions_hint": "Suodatetaan, ellei se vastaa omaan mainintaasi tai ellet seuraa lähettäjää",
|
||||||
"notifications.policy.filter_private_mentions_title": "Ei-toivotut yksityismaininnat",
|
"notifications.policy.filter_private_mentions_title": "Ei-toivotut yksityismaininnat",
|
||||||
|
@ -695,13 +696,13 @@
|
||||||
"server_banner.about_active_users": "Palvelimen käyttäjät viimeisten 30 päivän ajalta (kuukauden aktiiviset käyttäjät)",
|
"server_banner.about_active_users": "Palvelimen käyttäjät viimeisten 30 päivän ajalta (kuukauden aktiiviset käyttäjät)",
|
||||||
"server_banner.active_users": "aktiivista käyttäjää",
|
"server_banner.active_users": "aktiivista käyttäjää",
|
||||||
"server_banner.administered_by": "Ylläpitäjä:",
|
"server_banner.administered_by": "Ylläpitäjä:",
|
||||||
"server_banner.introduction": "{domain} kuuluu hajautettuun sosiaaliseen verkostoon, jonka voimanlähde on {mastodon}.",
|
"server_banner.is_one_of_many": "{domain} on yksi monista itsenäisistä Mastodon-palvelimista, joiden välityksellä voit toimia fediversumissa.",
|
||||||
"server_banner.learn_more": "Lue lisää",
|
|
||||||
"server_banner.server_stats": "Palvelimen tilastot:",
|
"server_banner.server_stats": "Palvelimen tilastot:",
|
||||||
"sign_in_banner.create_account": "Luo tili",
|
"sign_in_banner.create_account": "Luo tili",
|
||||||
|
"sign_in_banner.follow_anyone": "Seuraa kenen tahansa julkaisuja fediversumissa ja näe ne kaikki aikajärjestyksessä. Ei algoritmejä, mainoksia tai klikkikalastelua.",
|
||||||
|
"sign_in_banner.mastodon_is": "Mastodon on paras tapa pysyä ajan tasalla siitä, mitä ympärillä tapahtuu.",
|
||||||
"sign_in_banner.sign_in": "Kirjaudu",
|
"sign_in_banner.sign_in": "Kirjaudu",
|
||||||
"sign_in_banner.sso_redirect": "Kirjaudu tai rekisteröidy",
|
"sign_in_banner.sso_redirect": "Kirjaudu tai rekisteröidy",
|
||||||
"sign_in_banner.text": "Kirjaudu sisään, niin voit seurata profiileja tai aihetunnisteita, lisätä julkaisuja suosikkeihin, jakaa julkaisuja ja vastata niihin. Voit olla vuorovaikutuksessa myös eri palvelimella olevalta tililtäsi.",
|
|
||||||
"status.admin_account": "Avaa tilin @{name} valvontanäkymä",
|
"status.admin_account": "Avaa tilin @{name} valvontanäkymä",
|
||||||
"status.admin_domain": "Avaa palvelimen {domain} valvontanäkymä",
|
"status.admin_domain": "Avaa palvelimen {domain} valvontanäkymä",
|
||||||
"status.admin_status": "Avaa julkaisu valvontanäkymässä",
|
"status.admin_status": "Avaa julkaisu valvontanäkymässä",
|
||||||
|
|
|
@ -308,7 +308,6 @@
|
||||||
"search_popout.recent": "Kamakailang mga paghahanap",
|
"search_popout.recent": "Kamakailang mga paghahanap",
|
||||||
"search_results.all": "Lahat",
|
"search_results.all": "Lahat",
|
||||||
"search_results.see_all": "Ipakita lahat",
|
"search_results.see_all": "Ipakita lahat",
|
||||||
"server_banner.learn_more": "Matuto nang higit pa",
|
|
||||||
"server_banner.server_stats": "Katayuan ng serbiro:",
|
"server_banner.server_stats": "Katayuan ng serbiro:",
|
||||||
"status.block": "Harangan si @{name}",
|
"status.block": "Harangan si @{name}",
|
||||||
"status.delete": "Tanggalin",
|
"status.delete": "Tanggalin",
|
||||||
|
|
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "Hesin vangin er fjaldur av kjakleiðarunum á {domain}.",
|
"limited_account_hint.title": "Hesin vangin er fjaldur av kjakleiðarunum á {domain}.",
|
||||||
"link_preview.author": "Av {name}",
|
"link_preview.author": "Av {name}",
|
||||||
"link_preview.more_from_author": "Meira frá {name}",
|
"link_preview.more_from_author": "Meira frá {name}",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} postur} other {{counter} postar}}",
|
||||||
"lists.account.add": "Legg afturat lista",
|
"lists.account.add": "Legg afturat lista",
|
||||||
"lists.account.remove": "Tak av lista",
|
"lists.account.remove": "Tak av lista",
|
||||||
"lists.delete": "Strika lista",
|
"lists.delete": "Strika lista",
|
||||||
|
@ -695,13 +696,13 @@
|
||||||
"server_banner.about_active_users": "Fólk, sum hava brúkt hendan ambætaran seinastu 30 dagarnar (mánaðarligir virknir brúkarar)",
|
"server_banner.about_active_users": "Fólk, sum hava brúkt hendan ambætaran seinastu 30 dagarnar (mánaðarligir virknir brúkarar)",
|
||||||
"server_banner.active_users": "virknir brúkarar",
|
"server_banner.active_users": "virknir brúkarar",
|
||||||
"server_banner.administered_by": "Umsitari:",
|
"server_banner.administered_by": "Umsitari:",
|
||||||
"server_banner.introduction": "{domain} er partur av desentrala sosiala netverkinum, sum er drivið av {mastodon}.",
|
"server_banner.is_one_of_many": "{domain} er ein av nógvum óheftum Mastodon ambætarum, sum tú kanst brúka at luttaka í fediversinum.",
|
||||||
"server_banner.learn_more": "Lær meira",
|
|
||||||
"server_banner.server_stats": "Ambætarahagtøl:",
|
"server_banner.server_stats": "Ambætarahagtøl:",
|
||||||
"sign_in_banner.create_account": "Stovna kontu",
|
"sign_in_banner.create_account": "Stovna kontu",
|
||||||
|
"sign_in_banner.follow_anyone": "Fylg ein og hvønn í fediversinum og síggj alt í tíðarrøð. Ongar algoritmur, ongar lýsingar og einki klikkbeit í eygsjón.",
|
||||||
|
"sign_in_banner.mastodon_is": "Mastodon er best mátin at fylgja við í tí, sum hendir.",
|
||||||
"sign_in_banner.sign_in": "Rita inn",
|
"sign_in_banner.sign_in": "Rita inn",
|
||||||
"sign_in_banner.sso_redirect": "Rita inn ella Skráset teg",
|
"sign_in_banner.sso_redirect": "Rita inn ella Skráset teg",
|
||||||
"sign_in_banner.text": "Innrita fyri at fylgja vangum og frámerkjum, dáma, deila og svara postum. Tú kanst eisini brúka kontuna til at samvirka á einum øðrum ambætara.",
|
|
||||||
"status.admin_account": "Lat kjakleiðaramarkamót upp fyri @{name}",
|
"status.admin_account": "Lat kjakleiðaramarkamót upp fyri @{name}",
|
||||||
"status.admin_domain": "Lat umsjónarmarkamót upp fyri {domain}",
|
"status.admin_domain": "Lat umsjónarmarkamót upp fyri {domain}",
|
||||||
"status.admin_status": "Lat hendan postin upp í kjakleiðaramarkamótinum",
|
"status.admin_status": "Lat hendan postin upp í kjakleiðaramarkamótinum",
|
||||||
|
|
|
@ -156,7 +156,7 @@
|
||||||
"compose_form.poll.duration": "Durée du sondage",
|
"compose_form.poll.duration": "Durée du sondage",
|
||||||
"compose_form.poll.multiple": "Choix multiple",
|
"compose_form.poll.multiple": "Choix multiple",
|
||||||
"compose_form.poll.option_placeholder": "Option {number}",
|
"compose_form.poll.option_placeholder": "Option {number}",
|
||||||
"compose_form.poll.single": "Choisissez-en un",
|
"compose_form.poll.single": "Choix unique",
|
||||||
"compose_form.poll.switch_to_multiple": "Changer le sondage pour autoriser plusieurs choix",
|
"compose_form.poll.switch_to_multiple": "Changer le sondage pour autoriser plusieurs choix",
|
||||||
"compose_form.poll.switch_to_single": "Changer le sondage pour n'autoriser qu'un seul choix",
|
"compose_form.poll.switch_to_single": "Changer le sondage pour n'autoriser qu'un seul choix",
|
||||||
"compose_form.poll.type": "Style",
|
"compose_form.poll.type": "Style",
|
||||||
|
@ -585,9 +585,9 @@
|
||||||
"privacy.private.short": "Abonnés",
|
"privacy.private.short": "Abonnés",
|
||||||
"privacy.public.long": "Tout le monde sur et en dehors de Mastodon",
|
"privacy.public.long": "Tout le monde sur et en dehors de Mastodon",
|
||||||
"privacy.public.short": "Public",
|
"privacy.public.short": "Public",
|
||||||
"privacy.unlisted.additional": "Cette option se comporte exactement comme l'option publique, sauf que le message n'apparaîtra pas dans les flux en direct, les hashtags, l'exploration ou la recherche Mastodon, même si vous avez opté pour l'option publique pour l'ensemble de votre compte.",
|
"privacy.unlisted.additional": "Se comporte exactement comme « public », sauf que le message n'apparaîtra pas dans les flux en direct, les hashtags, explorer ou la recherche Mastodon, même si vous les avez activé au niveau de votre compte.",
|
||||||
"privacy.unlisted.long": "Moins de fanfares algorithmiques",
|
"privacy.unlisted.long": "Moins de fanfares algorithmiques",
|
||||||
"privacy.unlisted.short": "Public calme",
|
"privacy.unlisted.short": "Public discret",
|
||||||
"privacy_policy.last_updated": "Dernière mise à jour {date}",
|
"privacy_policy.last_updated": "Dernière mise à jour {date}",
|
||||||
"privacy_policy.title": "Politique de confidentialité",
|
"privacy_policy.title": "Politique de confidentialité",
|
||||||
"recommended": "Recommandé",
|
"recommended": "Recommandé",
|
||||||
|
@ -680,13 +680,10 @@
|
||||||
"server_banner.about_active_users": "Personnes utilisant ce serveur au cours des 30 derniers jours (Comptes actifs mensuellement)",
|
"server_banner.about_active_users": "Personnes utilisant ce serveur au cours des 30 derniers jours (Comptes actifs mensuellement)",
|
||||||
"server_banner.active_users": "comptes actifs",
|
"server_banner.active_users": "comptes actifs",
|
||||||
"server_banner.administered_by": "Administré par:",
|
"server_banner.administered_by": "Administré par:",
|
||||||
"server_banner.introduction": "{domain} fait partie du réseau social décentralisé propulsé par {mastodon}.",
|
|
||||||
"server_banner.learn_more": "En savoir plus",
|
|
||||||
"server_banner.server_stats": "Statistiques du serveur:",
|
"server_banner.server_stats": "Statistiques du serveur:",
|
||||||
"sign_in_banner.create_account": "Créer un compte",
|
"sign_in_banner.create_account": "Créer un compte",
|
||||||
"sign_in_banner.sign_in": "Se connecter",
|
"sign_in_banner.sign_in": "Se connecter",
|
||||||
"sign_in_banner.sso_redirect": "Se connecter ou s’inscrire",
|
"sign_in_banner.sso_redirect": "Se connecter ou s’inscrire",
|
||||||
"sign_in_banner.text": "Identifiez-vous pour suivre des profils ou des hashtags, ajouter des favoris, partager et répondre à des publications. Vous pouvez également interagir depuis votre compte sur un autre serveur.",
|
|
||||||
"status.admin_account": "Ouvrir l’interface de modération pour @{name}",
|
"status.admin_account": "Ouvrir l’interface de modération pour @{name}",
|
||||||
"status.admin_domain": "Ouvrir l’interface de modération pour {domain}",
|
"status.admin_domain": "Ouvrir l’interface de modération pour {domain}",
|
||||||
"status.admin_status": "Ouvrir ce message dans l’interface de modération",
|
"status.admin_status": "Ouvrir ce message dans l’interface de modération",
|
||||||
|
|
|
@ -156,7 +156,7 @@
|
||||||
"compose_form.poll.duration": "Durée du sondage",
|
"compose_form.poll.duration": "Durée du sondage",
|
||||||
"compose_form.poll.multiple": "Choix multiple",
|
"compose_form.poll.multiple": "Choix multiple",
|
||||||
"compose_form.poll.option_placeholder": "Option {number}",
|
"compose_form.poll.option_placeholder": "Option {number}",
|
||||||
"compose_form.poll.single": "Choisissez-en un",
|
"compose_form.poll.single": "Choix unique",
|
||||||
"compose_form.poll.switch_to_multiple": "Changer le sondage pour autoriser plusieurs choix",
|
"compose_form.poll.switch_to_multiple": "Changer le sondage pour autoriser plusieurs choix",
|
||||||
"compose_form.poll.switch_to_single": "Modifier le sondage pour autoriser qu'un seul choix",
|
"compose_form.poll.switch_to_single": "Modifier le sondage pour autoriser qu'un seul choix",
|
||||||
"compose_form.poll.type": "Style",
|
"compose_form.poll.type": "Style",
|
||||||
|
@ -585,9 +585,9 @@
|
||||||
"privacy.private.short": "Abonnés",
|
"privacy.private.short": "Abonnés",
|
||||||
"privacy.public.long": "Tout le monde sur et en dehors de Mastodon",
|
"privacy.public.long": "Tout le monde sur et en dehors de Mastodon",
|
||||||
"privacy.public.short": "Public",
|
"privacy.public.short": "Public",
|
||||||
"privacy.unlisted.additional": "Cette option se comporte exactement comme l'option publique, sauf que le message n'apparaîtra pas dans les flux en direct, les hashtags, l'exploration ou la recherche Mastodon, même si vous avez opté pour l'option publique pour l'ensemble de votre compte.",
|
"privacy.unlisted.additional": "Se comporte exactement comme « public », sauf que le message n'apparaîtra pas dans les flux en direct, les hashtags, explorer ou la recherche Mastodon, même si vous les avez activé au niveau de votre compte.",
|
||||||
"privacy.unlisted.long": "Moins de fanfares algorithmiques",
|
"privacy.unlisted.long": "Moins de fanfares algorithmiques",
|
||||||
"privacy.unlisted.short": "Public calme",
|
"privacy.unlisted.short": "Public discret",
|
||||||
"privacy_policy.last_updated": "Dernière mise à jour {date}",
|
"privacy_policy.last_updated": "Dernière mise à jour {date}",
|
||||||
"privacy_policy.title": "Politique de confidentialité",
|
"privacy_policy.title": "Politique de confidentialité",
|
||||||
"recommended": "Recommandé",
|
"recommended": "Recommandé",
|
||||||
|
@ -680,13 +680,10 @@
|
||||||
"server_banner.about_active_users": "Personnes utilisant ce serveur au cours des 30 derniers jours (Comptes actifs mensuellement)",
|
"server_banner.about_active_users": "Personnes utilisant ce serveur au cours des 30 derniers jours (Comptes actifs mensuellement)",
|
||||||
"server_banner.active_users": "comptes actifs",
|
"server_banner.active_users": "comptes actifs",
|
||||||
"server_banner.administered_by": "Administré par :",
|
"server_banner.administered_by": "Administré par :",
|
||||||
"server_banner.introduction": "{domain} fait partie du réseau social décentralisé propulsé par {mastodon}.",
|
|
||||||
"server_banner.learn_more": "En savoir plus",
|
|
||||||
"server_banner.server_stats": "Statistiques du serveur :",
|
"server_banner.server_stats": "Statistiques du serveur :",
|
||||||
"sign_in_banner.create_account": "Créer un compte",
|
"sign_in_banner.create_account": "Créer un compte",
|
||||||
"sign_in_banner.sign_in": "Se connecter",
|
"sign_in_banner.sign_in": "Se connecter",
|
||||||
"sign_in_banner.sso_redirect": "Se connecter ou s’inscrire",
|
"sign_in_banner.sso_redirect": "Se connecter ou s’inscrire",
|
||||||
"sign_in_banner.text": "Identifiez-vous pour suivre des profils ou des hashtags, ajouter des favoris, partager et répondre à des messages. Vous pouvez également interagir depuis votre compte sur un autre serveur.",
|
|
||||||
"status.admin_account": "Ouvrir l’interface de modération pour @{name}",
|
"status.admin_account": "Ouvrir l’interface de modération pour @{name}",
|
||||||
"status.admin_domain": "Ouvrir l’interface de modération pour {domain}",
|
"status.admin_domain": "Ouvrir l’interface de modération pour {domain}",
|
||||||
"status.admin_status": "Ouvrir ce message dans l’interface de modération",
|
"status.admin_status": "Ouvrir ce message dans l’interface de modération",
|
||||||
|
|
|
@ -655,13 +655,10 @@
|
||||||
"server_banner.about_active_users": "Oantal brûkers yn de ôfrûne 30 dagen (MAU)",
|
"server_banner.about_active_users": "Oantal brûkers yn de ôfrûne 30 dagen (MAU)",
|
||||||
"server_banner.active_users": "warbere brûkers",
|
"server_banner.active_users": "warbere brûkers",
|
||||||
"server_banner.administered_by": "Beheard troch:",
|
"server_banner.administered_by": "Beheard troch:",
|
||||||
"server_banner.introduction": "{domain} is ûnderdiel fan it desintralisearre sosjale netwurk {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Mear ynfo",
|
|
||||||
"server_banner.server_stats": "Serverstatistiken:",
|
"server_banner.server_stats": "Serverstatistiken:",
|
||||||
"sign_in_banner.create_account": "Account registrearje",
|
"sign_in_banner.create_account": "Account registrearje",
|
||||||
"sign_in_banner.sign_in": "Oanmelde",
|
"sign_in_banner.sign_in": "Oanmelde",
|
||||||
"sign_in_banner.sso_redirect": "Oanmelde of Registrearje",
|
"sign_in_banner.sso_redirect": "Oanmelde of Registrearje",
|
||||||
"sign_in_banner.text": "Meld jo oan, om profilen of hashtags te folgjen, berjochten favoryt te meitsjen, te dielen en te beäntwurdzjen of om fan jo account út op in oare server mei oaren ynteraksje te hawwen.",
|
|
||||||
"status.admin_account": "Moderaasje-omjouwing fan @{name} iepenje",
|
"status.admin_account": "Moderaasje-omjouwing fan @{name} iepenje",
|
||||||
"status.admin_domain": "Moderaasje-omjouwing fan {domain} iepenje",
|
"status.admin_domain": "Moderaasje-omjouwing fan {domain} iepenje",
|
||||||
"status.admin_status": "Open this status in the moderation interface",
|
"status.admin_status": "Open this status in the moderation interface",
|
||||||
|
|
|
@ -438,7 +438,6 @@
|
||||||
"search_results.statuses": "Postálacha",
|
"search_results.statuses": "Postálacha",
|
||||||
"search_results.title": "Cuardaigh ar thóir {q}",
|
"search_results.title": "Cuardaigh ar thóir {q}",
|
||||||
"server_banner.active_users": "úsáideoirí gníomhacha",
|
"server_banner.active_users": "úsáideoirí gníomhacha",
|
||||||
"server_banner.learn_more": "Tuilleadh eolais",
|
|
||||||
"server_banner.server_stats": "Staitisticí freastalaí:",
|
"server_banner.server_stats": "Staitisticí freastalaí:",
|
||||||
"sign_in_banner.create_account": "Cruthaigh cuntas",
|
"sign_in_banner.create_account": "Cruthaigh cuntas",
|
||||||
"sign_in_banner.sign_in": "Sinigh isteach",
|
"sign_in_banner.sign_in": "Sinigh isteach",
|
||||||
|
|
|
@ -684,13 +684,10 @@
|
||||||
"server_banner.about_active_users": "Daoine a chleachd am frithealaiche seo rè an 30 latha mu dheireadh (Cleachdaichean gnìomhach gach mìos)",
|
"server_banner.about_active_users": "Daoine a chleachd am frithealaiche seo rè an 30 latha mu dheireadh (Cleachdaichean gnìomhach gach mìos)",
|
||||||
"server_banner.active_users": "cleachdaichean gnìomhach",
|
"server_banner.active_users": "cleachdaichean gnìomhach",
|
||||||
"server_banner.administered_by": "Rianachd le:",
|
"server_banner.administered_by": "Rianachd le:",
|
||||||
"server_banner.introduction": "Tha {domain} am measg an lìonraidh shòisealta sgaoilte le cumhachd {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Barrachd fiosrachaidh",
|
|
||||||
"server_banner.server_stats": "Stadastaireachd an fhrithealaiche:",
|
"server_banner.server_stats": "Stadastaireachd an fhrithealaiche:",
|
||||||
"sign_in_banner.create_account": "Cruthaich cunntas",
|
"sign_in_banner.create_account": "Cruthaich cunntas",
|
||||||
"sign_in_banner.sign_in": "Clàraich a-steach",
|
"sign_in_banner.sign_in": "Clàraich a-steach",
|
||||||
"sign_in_banner.sso_redirect": "Clàraich a-steach no clàraich leinn",
|
"sign_in_banner.sso_redirect": "Clàraich a-steach no clàraich leinn",
|
||||||
"sign_in_banner.text": "Clàraich a-steach a leantainn phròifilean no thagaichean hais, a’ cur postaichean ris na h-annsachdan ’s ’gan co-roinneadh is freagairt dhaibh. ’S urrainn dhut gnìomh a ghabhail le cunntas o fhrithealaiche eile cuideachd.",
|
|
||||||
"status.admin_account": "Fosgail eadar-aghaidh na maorsainneachd dha @{name}",
|
"status.admin_account": "Fosgail eadar-aghaidh na maorsainneachd dha @{name}",
|
||||||
"status.admin_domain": "Fosgail eadar-aghaidh na maorsainneachd dha {domain}",
|
"status.admin_domain": "Fosgail eadar-aghaidh na maorsainneachd dha {domain}",
|
||||||
"status.admin_status": "Fosgail am post seo ann an eadar-aghaidh na maorsainneachd",
|
"status.admin_status": "Fosgail am post seo ann an eadar-aghaidh na maorsainneachd",
|
||||||
|
|
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "Este perfil foi agochado pola moderación de {domain}.",
|
"limited_account_hint.title": "Este perfil foi agochado pola moderación de {domain}.",
|
||||||
"link_preview.author": "Por {name}",
|
"link_preview.author": "Por {name}",
|
||||||
"link_preview.more_from_author": "Máis de {name}",
|
"link_preview.more_from_author": "Máis de {name}",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} publicación} other {{counter} publicacións}}",
|
||||||
"lists.account.add": "Engadir á listaxe",
|
"lists.account.add": "Engadir á listaxe",
|
||||||
"lists.account.remove": "Eliminar da listaxe",
|
"lists.account.remove": "Eliminar da listaxe",
|
||||||
"lists.delete": "Eliminar listaxe",
|
"lists.delete": "Eliminar listaxe",
|
||||||
|
@ -695,13 +696,13 @@
|
||||||
"server_banner.about_active_users": "Persoas que usaron este servidor nos últimos 30 días (Usuarias Activas Mensuais)",
|
"server_banner.about_active_users": "Persoas que usaron este servidor nos últimos 30 días (Usuarias Activas Mensuais)",
|
||||||
"server_banner.active_users": "usuarias activas",
|
"server_banner.active_users": "usuarias activas",
|
||||||
"server_banner.administered_by": "Administrada por:",
|
"server_banner.administered_by": "Administrada por:",
|
||||||
"server_banner.introduction": "{domain} é parte da rede social descentralizada que funciona grazas a {mastodon}.",
|
"server_banner.is_one_of_many": "{domain} é un dos moitos servidores Mastodon independentes que podes usar para participar do Fediverso.",
|
||||||
"server_banner.learn_more": "Saber máis",
|
|
||||||
"server_banner.server_stats": "Estatísticas do servidor:",
|
"server_banner.server_stats": "Estatísticas do servidor:",
|
||||||
"sign_in_banner.create_account": "Crear conta",
|
"sign_in_banner.create_account": "Crear conta",
|
||||||
|
"sign_in_banner.follow_anyone": "Sigue a quen queiras no Fediverso e le as publicacións en orde cronolóxica. Sen algoritmos, publicidade nin titulares engañosos.",
|
||||||
|
"sign_in_banner.mastodon_is": "Mastodon é o mellor xeito de estar ao día do que acontece.",
|
||||||
"sign_in_banner.sign_in": "Iniciar sesión",
|
"sign_in_banner.sign_in": "Iniciar sesión",
|
||||||
"sign_in_banner.sso_redirect": "Acceder ou Crear conta",
|
"sign_in_banner.sso_redirect": "Acceder ou Crear conta",
|
||||||
"sign_in_banner.text": "Inicia sesión para seguir perfís ou cancelos, marcar como favorita e responder a publicacións. Tamén podes interactuar coa túa conta noutro servidor.",
|
|
||||||
"status.admin_account": "Abrir interface de moderación para @{name}",
|
"status.admin_account": "Abrir interface de moderación para @{name}",
|
||||||
"status.admin_domain": "Abrir interface de moderación para {domain}",
|
"status.admin_domain": "Abrir interface de moderación para {domain}",
|
||||||
"status.admin_status": "Abrir esta publicación na interface de moderación",
|
"status.admin_status": "Abrir esta publicación na interface de moderación",
|
||||||
|
|
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "פרופיל המשתמש הזה הוסתר על ידי המנחים של {domain}.",
|
"limited_account_hint.title": "פרופיל המשתמש הזה הוסתר על ידי המנחים של {domain}.",
|
||||||
"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 {הודעה אחת} two {הודעותיים} many {{count} הודעות} other {{count} הודעות}}",
|
||||||
"lists.account.add": "הוסף לרשימה",
|
"lists.account.add": "הוסף לרשימה",
|
||||||
"lists.account.remove": "הסר מרשימה",
|
"lists.account.remove": "הסר מרשימה",
|
||||||
"lists.delete": "מחיקת רשימה",
|
"lists.delete": "מחיקת רשימה",
|
||||||
|
@ -695,13 +696,10 @@
|
||||||
"server_banner.about_active_users": "משתמשים פעילים בשרת ב־30 הימים האחרונים (משתמשים פעילים חודשיים)",
|
"server_banner.about_active_users": "משתמשים פעילים בשרת ב־30 הימים האחרונים (משתמשים פעילים חודשיים)",
|
||||||
"server_banner.active_users": "משתמשים פעילים",
|
"server_banner.active_users": "משתמשים פעילים",
|
||||||
"server_banner.administered_by": "מנוהל ע\"י:",
|
"server_banner.administered_by": "מנוהל ע\"י:",
|
||||||
"server_banner.introduction": "{domain} הוא שרת ברשת המבוזרת {mastodon}.",
|
|
||||||
"server_banner.learn_more": "מידע נוסף",
|
|
||||||
"server_banner.server_stats": "סטטיסטיקות שרת:",
|
"server_banner.server_stats": "סטטיסטיקות שרת:",
|
||||||
"sign_in_banner.create_account": "יצירת חשבון",
|
"sign_in_banner.create_account": "יצירת חשבון",
|
||||||
"sign_in_banner.sign_in": "התחברות",
|
"sign_in_banner.sign_in": "התחברות",
|
||||||
"sign_in_banner.sso_redirect": "התחברות/הרשמה",
|
"sign_in_banner.sso_redirect": "התחברות/הרשמה",
|
||||||
"sign_in_banner.text": "יש להתחבר כדי לעקוב אחרי משתמשים או תגיות, לחבב, לשתף ולענות להודעות. ניתן גם לתקשר מהחשבון שלך עם שרת אחר.",
|
|
||||||
"status.admin_account": "פתח/י ממשק ניהול עבור @{name}",
|
"status.admin_account": "פתח/י ממשק ניהול עבור @{name}",
|
||||||
"status.admin_domain": "פתיחת ממשק ניהול עבור {domain}",
|
"status.admin_domain": "פתיחת ממשק ניהול עבור {domain}",
|
||||||
"status.admin_status": "Open this status in the moderation interface",
|
"status.admin_status": "Open this status in the moderation interface",
|
||||||
|
|
|
@ -455,8 +455,6 @@
|
||||||
"server_banner.about_active_users": "Popis aktivnih korisnika prošli mjesec",
|
"server_banner.about_active_users": "Popis aktivnih korisnika prošli mjesec",
|
||||||
"server_banner.active_users": "aktivni korisnici",
|
"server_banner.active_users": "aktivni korisnici",
|
||||||
"server_banner.administered_by": "Administrator je:",
|
"server_banner.administered_by": "Administrator je:",
|
||||||
"server_banner.introduction": "{domain} je dio decentralizirane socijalne mreže koju pokreće {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Saznaj više",
|
|
||||||
"server_banner.server_stats": "Statistike poslužitelja:",
|
"server_banner.server_stats": "Statistike poslužitelja:",
|
||||||
"sign_in_banner.create_account": "Stvori račun",
|
"sign_in_banner.create_account": "Stvori račun",
|
||||||
"sign_in_banner.sign_in": "Prijavi se",
|
"sign_in_banner.sign_in": "Prijavi se",
|
||||||
|
|
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "Ezt a profilt {domain} moderátorai elrejtették.",
|
"limited_account_hint.title": "Ezt a profilt {domain} moderátorai elrejtették.",
|
||||||
"link_preview.author": "{name} szerint",
|
"link_preview.author": "{name} szerint",
|
||||||
"link_preview.more_from_author": "Több tőle: {name}",
|
"link_preview.more_from_author": "Több tőle: {name}",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} bejegyzés} other {{counter} bejegyzés}}",
|
||||||
"lists.account.add": "Hozzáadás a listához",
|
"lists.account.add": "Hozzáadás a listához",
|
||||||
"lists.account.remove": "Eltávolítás a listából",
|
"lists.account.remove": "Eltávolítás a listából",
|
||||||
"lists.delete": "Lista törlése",
|
"lists.delete": "Lista törlése",
|
||||||
|
@ -695,13 +696,13 @@
|
||||||
"server_banner.about_active_users": "Az elmúlt 30 napban ezt a kiszolgálót használók száma (Havi aktív felhasználók)",
|
"server_banner.about_active_users": "Az elmúlt 30 napban ezt a kiszolgálót használók száma (Havi aktív felhasználók)",
|
||||||
"server_banner.active_users": "aktív felhasználó",
|
"server_banner.active_users": "aktív felhasználó",
|
||||||
"server_banner.administered_by": "Adminisztrátor:",
|
"server_banner.administered_by": "Adminisztrátor:",
|
||||||
"server_banner.introduction": "{domain} része egy decentralizált közösségi hálónak, melyet a {mastodon} hajt meg.",
|
"server_banner.is_one_of_many": "{domain} egy a jelentős, független Mastodon kiszolgálók közül, melyet a fediverzumban való részvételre használhatsz.",
|
||||||
"server_banner.learn_more": "Tudj meg többet",
|
|
||||||
"server_banner.server_stats": "Kiszolgálóstatisztika:",
|
"server_banner.server_stats": "Kiszolgálóstatisztika:",
|
||||||
"sign_in_banner.create_account": "Fiók létrehozása",
|
"sign_in_banner.create_account": "Fiók létrehozása",
|
||||||
|
"sign_in_banner.follow_anyone": "Kövess bárkit a fediverzumon keresztül, és láss mindent időrendi sorrendben. Algoritmusok, hirdetések, kattintásvadászat nélkül.",
|
||||||
|
"sign_in_banner.mastodon_is": "A Mastodon a legjobb módja annak, hogy a történésekkel kapcsolatban naprakész maradj.",
|
||||||
"sign_in_banner.sign_in": "Bejelentkezés",
|
"sign_in_banner.sign_in": "Bejelentkezés",
|
||||||
"sign_in_banner.sso_redirect": "Bejelentkezés vagy regisztráció",
|
"sign_in_banner.sso_redirect": "Bejelentkezés vagy regisztráció",
|
||||||
"sign_in_banner.text": "Jelentkezz be profilok vagy hashtagek követéséhez, kedvencnek jelöléséhez, bejegyzések megosztásához, megválaszolásához. A fiókodból más kiszolgálókon is kommunikálhatsz.",
|
|
||||||
"status.admin_account": "Moderációs felület megnyitása @{name} fiókhoz",
|
"status.admin_account": "Moderációs felület megnyitása @{name} fiókhoz",
|
||||||
"status.admin_domain": "Moderációs felület megnyitása {domain} esetében",
|
"status.admin_domain": "Moderációs felület megnyitása {domain} esetében",
|
||||||
"status.admin_status": "Bejegyzés megnyitása a moderációs felületen",
|
"status.admin_status": "Bejegyzés megnyitása a moderációs felületen",
|
||||||
|
|
|
@ -441,8 +441,6 @@
|
||||||
"search_results.title": "Որոնել {q}-ն",
|
"search_results.title": "Որոնել {q}-ն",
|
||||||
"server_banner.active_users": "ակտիւ մարդիկ",
|
"server_banner.active_users": "ակտիւ մարդիկ",
|
||||||
"server_banner.administered_by": "Կառաւարող",
|
"server_banner.administered_by": "Կառաւարող",
|
||||||
"server_banner.introduction": "{domain}-ը հանդիասնում է ապակենտրոն սոց. ցանցի մաս, ստեղծուած {mastodon}-ով։\n",
|
|
||||||
"server_banner.learn_more": "Իմանալ աւելին",
|
|
||||||
"server_banner.server_stats": "Սերուերի վիճակը",
|
"server_banner.server_stats": "Սերուերի վիճակը",
|
||||||
"sign_in_banner.create_account": "Ստեղծել հաշիւ",
|
"sign_in_banner.create_account": "Ստեղծել հաշիւ",
|
||||||
"sign_in_banner.sign_in": "Մուտք",
|
"sign_in_banner.sign_in": "Մուտք",
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
"account.block_domain": "Blocar dominio {domain}",
|
"account.block_domain": "Blocar dominio {domain}",
|
||||||
"account.block_short": "Blocar",
|
"account.block_short": "Blocar",
|
||||||
"account.blocked": "Blocate",
|
"account.blocked": "Blocate",
|
||||||
"account.browse_more_on_origin_server": "Percurrer plus sur le profilo original",
|
"account.browse_more_on_origin_server": "Explorar plus sur le profilo original",
|
||||||
"account.cancel_follow_request": "Cancellar sequimento",
|
"account.cancel_follow_request": "Cancellar sequimento",
|
||||||
"account.copy": "Copiar ligamine a profilo",
|
"account.copy": "Copiar ligamine a profilo",
|
||||||
"account.direct": "Mentionar privatemente @{name}",
|
"account.direct": "Mentionar privatemente @{name}",
|
||||||
|
@ -111,7 +111,7 @@
|
||||||
"bundle_modal_error.message": "Un error ha occurrite durante le cargamento de iste componente.",
|
"bundle_modal_error.message": "Un error ha occurrite durante le cargamento de iste componente.",
|
||||||
"bundle_modal_error.retry": "Tentar novemente",
|
"bundle_modal_error.retry": "Tentar novemente",
|
||||||
"closed_registrations.other_server_instructions": "Perque Mastodon es decentralisate, tu pote crear un conto sur un altere servitor e totevia interager con iste servitor.",
|
"closed_registrations.other_server_instructions": "Perque Mastodon es decentralisate, tu pote crear un conto sur un altere servitor e totevia interager con iste servitor.",
|
||||||
"closed_registrations_modal.description": "Crear un conto in {domain} actualmente non es possibile, ma considera que non es necessari haber un conto specificamente sur {domain} pro usar Mastodon.",
|
"closed_registrations_modal.description": "Crear un conto sur {domain} non es actualmente possibile, ma considera que non es necessari haber un conto specificamente sur {domain} pro usar Mastodon.",
|
||||||
"closed_registrations_modal.find_another_server": "Cercar un altere servitor",
|
"closed_registrations_modal.find_another_server": "Cercar un altere servitor",
|
||||||
"closed_registrations_modal.preamble": "Mastodon es decentralisate, dunque, non importa ubi tu crea tu conto, tu pote sequer e communicar con omne persona sur iste servitor. Tu pote mesmo hospitar tu proprie servitor!",
|
"closed_registrations_modal.preamble": "Mastodon es decentralisate, dunque, non importa ubi tu crea tu conto, tu pote sequer e communicar con omne persona sur iste servitor. Tu pote mesmo hospitar tu proprie servitor!",
|
||||||
"closed_registrations_modal.title": "Crear un conto sur Mastodon",
|
"closed_registrations_modal.title": "Crear un conto sur Mastodon",
|
||||||
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "Iste profilo ha essite celate per le moderatores de {domain}.",
|
"limited_account_hint.title": "Iste profilo ha essite celate per le moderatores de {domain}.",
|
||||||
"link_preview.author": "Per {name}",
|
"link_preview.author": "Per {name}",
|
||||||
"link_preview.more_from_author": "Plus de {name}",
|
"link_preview.more_from_author": "Plus de {name}",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} message} other {{counter} messages}}",
|
||||||
"lists.account.add": "Adder al lista",
|
"lists.account.add": "Adder al lista",
|
||||||
"lists.account.remove": "Remover del lista",
|
"lists.account.remove": "Remover del lista",
|
||||||
"lists.delete": "Deler lista",
|
"lists.delete": "Deler lista",
|
||||||
|
@ -695,13 +696,10 @@
|
||||||
"server_banner.about_active_users": "Personas que ha usate iste servitor in le ultime 30 dies (usatores active per mense)",
|
"server_banner.about_active_users": "Personas que ha usate iste servitor in le ultime 30 dies (usatores active per mense)",
|
||||||
"server_banner.active_users": "usatores active",
|
"server_banner.active_users": "usatores active",
|
||||||
"server_banner.administered_by": "Administrate per:",
|
"server_banner.administered_by": "Administrate per:",
|
||||||
"server_banner.introduction": "{domain} face parte del rete social decentralisate actionate per {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Apprender plus",
|
|
||||||
"server_banner.server_stats": "Statos del servitor:",
|
"server_banner.server_stats": "Statos del servitor:",
|
||||||
"sign_in_banner.create_account": "Crear un conto",
|
"sign_in_banner.create_account": "Crear un conto",
|
||||||
"sign_in_banner.sign_in": "Aperir session",
|
"sign_in_banner.sign_in": "Aperir session",
|
||||||
"sign_in_banner.sso_redirect": "Aperir session o crear conto",
|
"sign_in_banner.sso_redirect": "Aperir session o crear conto",
|
||||||
"sign_in_banner.text": "Aperi session pro sequer profilos o hashtags, marcar messages como favorite, e condivider e responder a messages. Tu pote etiam interager desde tu conto sur un altere servitor.",
|
|
||||||
"status.admin_account": "Aperir le interfacie de moderation pro @{name}",
|
"status.admin_account": "Aperir le interfacie de moderation pro @{name}",
|
||||||
"status.admin_domain": "Aperir le interfacie de moderation pro {domain}",
|
"status.admin_domain": "Aperir le interfacie de moderation pro {domain}",
|
||||||
"status.admin_status": "Aperir iste message in le interfacie de moderation",
|
"status.admin_status": "Aperir iste message in le interfacie de moderation",
|
||||||
|
|
|
@ -299,6 +299,11 @@
|
||||||
"follow_suggestions.dismiss": "Jangan tampilkan lagi",
|
"follow_suggestions.dismiss": "Jangan tampilkan lagi",
|
||||||
"follow_suggestions.hints.featured": "Profil ini telah dipilih sendiri oleh tim {domain}.",
|
"follow_suggestions.hints.featured": "Profil ini telah dipilih sendiri oleh tim {domain}.",
|
||||||
"follow_suggestions.hints.friends_of_friends": "Profil ini populer di kalangan orang yang anda ikuti.",
|
"follow_suggestions.hints.friends_of_friends": "Profil ini populer di kalangan orang yang anda ikuti.",
|
||||||
|
"follow_suggestions.personalized_suggestion": "Saran yang dipersonalisasi",
|
||||||
|
"follow_suggestions.popular_suggestion": "Saran populer",
|
||||||
|
"follow_suggestions.popular_suggestion_longer": "Populer di {domain}",
|
||||||
|
"follow_suggestions.similar_to_recently_followed_longer": "Serupa dengan profil yang baru Anda ikuti",
|
||||||
|
"follow_suggestions.view_all": "Lihat semua",
|
||||||
"followed_tags": "Tagar yang diikuti",
|
"followed_tags": "Tagar yang diikuti",
|
||||||
"footer.about": "Tentang",
|
"footer.about": "Tentang",
|
||||||
"footer.directory": "Direktori profil",
|
"footer.directory": "Direktori profil",
|
||||||
|
@ -324,6 +329,7 @@
|
||||||
"home.column_settings.show_reblogs": "Tampilkan boost",
|
"home.column_settings.show_reblogs": "Tampilkan boost",
|
||||||
"home.column_settings.show_replies": "Tampilkan balasan",
|
"home.column_settings.show_replies": "Tampilkan balasan",
|
||||||
"home.hide_announcements": "Sembunyikan pengumuman",
|
"home.hide_announcements": "Sembunyikan pengumuman",
|
||||||
|
"home.pending_critical_update.link": "Lihat pembaruan",
|
||||||
"home.show_announcements": "Tampilkan pengumuman",
|
"home.show_announcements": "Tampilkan pengumuman",
|
||||||
"interaction_modal.description.follow": "Dengan sebuah akun di Mastodon, Anda bisa mengikuti {name} untuk menerima kirimannya di beranda Anda.",
|
"interaction_modal.description.follow": "Dengan sebuah akun di Mastodon, Anda bisa mengikuti {name} untuk menerima kirimannya di beranda Anda.",
|
||||||
"interaction_modal.description.reblog": "Dengan sebuah akun di Mastodon, Anda bisa mem-boost kiriman ini untuk membagikannya ke pengikut Anda sendiri.",
|
"interaction_modal.description.reblog": "Dengan sebuah akun di Mastodon, Anda bisa mem-boost kiriman ini untuk membagikannya ke pengikut Anda sendiri.",
|
||||||
|
@ -375,6 +381,7 @@
|
||||||
"lightbox.previous": "Sebelumnya",
|
"lightbox.previous": "Sebelumnya",
|
||||||
"limited_account_hint.action": "Tetap tampilkan profil",
|
"limited_account_hint.action": "Tetap tampilkan profil",
|
||||||
"limited_account_hint.title": "Profil ini telah disembunyikan oleh moderator {domain}.",
|
"limited_account_hint.title": "Profil ini telah disembunyikan oleh moderator {domain}.",
|
||||||
|
"link_preview.author": "Oleh {name}",
|
||||||
"lists.account.add": "Tambah ke daftar",
|
"lists.account.add": "Tambah ke daftar",
|
||||||
"lists.account.remove": "Hapus dari daftar",
|
"lists.account.remove": "Hapus dari daftar",
|
||||||
"lists.delete": "Hapus daftar",
|
"lists.delete": "Hapus daftar",
|
||||||
|
@ -389,8 +396,11 @@
|
||||||
"lists.search": "Cari di antara orang yang Anda ikuti",
|
"lists.search": "Cari di antara orang yang Anda ikuti",
|
||||||
"lists.subheading": "Daftar Anda",
|
"lists.subheading": "Daftar Anda",
|
||||||
"load_pending": "{count, plural, other {# item baru}}",
|
"load_pending": "{count, plural, other {# item baru}}",
|
||||||
|
"loading_indicator.label": "Memuat…",
|
||||||
"media_gallery.toggle_visible": "Tampil/Sembunyikan",
|
"media_gallery.toggle_visible": "Tampil/Sembunyikan",
|
||||||
"moved_to_account_banner.text": "Akun {disabledAccount} Anda kini dinonaktifkan karena Anda pindah ke {movedToAccount}.",
|
"moved_to_account_banner.text": "Akun {disabledAccount} Anda kini dinonaktifkan karena Anda pindah ke {movedToAccount}.",
|
||||||
|
"mute_modal.hide_options": "Sembunyikan opsi",
|
||||||
|
"mute_modal.title": "Bisukan pengguna?",
|
||||||
"navigation_bar.about": "Tentang",
|
"navigation_bar.about": "Tentang",
|
||||||
"navigation_bar.blocks": "Pengguna diblokir",
|
"navigation_bar.blocks": "Pengguna diblokir",
|
||||||
"navigation_bar.bookmarks": "Markah",
|
"navigation_bar.bookmarks": "Markah",
|
||||||
|
@ -555,8 +565,6 @@
|
||||||
"server_banner.about_active_users": "Orang menggunakan server ini selama 30 hari terakhir (Pengguna Aktif Bulanan)",
|
"server_banner.about_active_users": "Orang menggunakan server ini selama 30 hari terakhir (Pengguna Aktif Bulanan)",
|
||||||
"server_banner.active_users": "pengguna aktif",
|
"server_banner.active_users": "pengguna aktif",
|
||||||
"server_banner.administered_by": "Dikelola oleh:",
|
"server_banner.administered_by": "Dikelola oleh:",
|
||||||
"server_banner.introduction": "{domain} adalah bagian dari jaringan sosial terdesentralisasi yang diberdayakan oleh {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Pelajari lebih lanjut",
|
|
||||||
"server_banner.server_stats": "Statistik server:",
|
"server_banner.server_stats": "Statistik server:",
|
||||||
"sign_in_banner.create_account": "Buat akun",
|
"sign_in_banner.create_account": "Buat akun",
|
||||||
"sign_in_banner.sign_in": "Masuk",
|
"sign_in_banner.sign_in": "Masuk",
|
||||||
|
|
|
@ -694,13 +694,10 @@
|
||||||
"server_banner.about_active_users": "Gente usant ti-ci servitor durant li ultim 30 dies (Mensual Activ Usatores)",
|
"server_banner.about_active_users": "Gente usant ti-ci servitor durant li ultim 30 dies (Mensual Activ Usatores)",
|
||||||
"server_banner.active_users": "activ usatores",
|
"server_banner.active_users": "activ usatores",
|
||||||
"server_banner.administered_by": "Administrat de:",
|
"server_banner.administered_by": "Administrat de:",
|
||||||
"server_banner.introduction": "{domain} es un part del decentralisat social retage constructet sur {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Aprender plu",
|
|
||||||
"server_banner.server_stats": "Statisticas pri li servitor:",
|
"server_banner.server_stats": "Statisticas pri li servitor:",
|
||||||
"sign_in_banner.create_account": "Crear un conto",
|
"sign_in_banner.create_account": "Crear un conto",
|
||||||
"sign_in_banner.sign_in": "Intrar",
|
"sign_in_banner.sign_in": "Intrar",
|
||||||
"sign_in_banner.sso_redirect": "Intrar o registrar se",
|
"sign_in_banner.sso_redirect": "Intrar o registrar se",
|
||||||
"sign_in_banner.text": "Intrar por sequer profiles o hashtags, favoritisar, partir e responder a postas. Tu posse anc interacter per tui conto che un diferent servitor.",
|
|
||||||
"status.admin_account": "Aperter interfacie de moderation por @{name}",
|
"status.admin_account": "Aperter interfacie de moderation por @{name}",
|
||||||
"status.admin_domain": "Aperter interfacie de moderation por {domain}",
|
"status.admin_domain": "Aperter interfacie de moderation por {domain}",
|
||||||
"status.admin_status": "Aperter ti-ci posta in li interfacie de moderation",
|
"status.admin_status": "Aperter ti-ci posta in li interfacie de moderation",
|
||||||
|
|
|
@ -132,7 +132,6 @@
|
||||||
"report_notification.categories.other": "Ọzọ",
|
"report_notification.categories.other": "Ọzọ",
|
||||||
"search.placeholder": "Chọọ",
|
"search.placeholder": "Chọọ",
|
||||||
"server_banner.active_users": "ojiarụ dị ìrè",
|
"server_banner.active_users": "ojiarụ dị ìrè",
|
||||||
"server_banner.learn_more": "Mụtakwuo",
|
|
||||||
"sign_in_banner.sign_in": "Sign in",
|
"sign_in_banner.sign_in": "Sign in",
|
||||||
"status.admin_status": "Open this status in the moderation interface",
|
"status.admin_status": "Open this status in the moderation interface",
|
||||||
"status.bookmark": "Kee ebenrụtụakā",
|
"status.bookmark": "Kee ebenrụtụakā",
|
||||||
|
|
|
@ -582,13 +582,10 @@
|
||||||
"server_banner.about_active_users": "Personi quo uzas ca servilo dum antea 30 dii (monate aktiva uzanti)",
|
"server_banner.about_active_users": "Personi quo uzas ca servilo dum antea 30 dii (monate aktiva uzanti)",
|
||||||
"server_banner.active_users": "aktiva uzanti",
|
"server_banner.active_users": "aktiva uzanti",
|
||||||
"server_banner.administered_by": "Administresis da:",
|
"server_banner.administered_by": "Administresis da:",
|
||||||
"server_banner.introduction": "{domain} esas parto di necentraligita sociala ret quo povizesas da {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Lernez plue",
|
|
||||||
"server_banner.server_stats": "Servilstatistiko:",
|
"server_banner.server_stats": "Servilstatistiko:",
|
||||||
"sign_in_banner.create_account": "Kreez konto",
|
"sign_in_banner.create_account": "Kreez konto",
|
||||||
"sign_in_banner.sign_in": "Enirez",
|
"sign_in_banner.sign_in": "Enirez",
|
||||||
"sign_in_banner.sso_redirect": "Enirar o krear konto",
|
"sign_in_banner.sso_redirect": "Enirar o krear konto",
|
||||||
"sign_in_banner.text": "Enirez por sequar profili o hashtagi, favorizar, partigar e respondizar posti. On povas anke interagar de vua konto kun diferanta servilo.",
|
|
||||||
"status.admin_account": "Apertez jerintervizajo por @{name}",
|
"status.admin_account": "Apertez jerintervizajo por @{name}",
|
||||||
"status.admin_domain": "Apertez jerintervizajo por {domain}",
|
"status.admin_domain": "Apertez jerintervizajo por {domain}",
|
||||||
"status.admin_status": "Open this status in the moderation interface",
|
"status.admin_status": "Open this status in the moderation interface",
|
||||||
|
|
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "Þetta notandasnið hefur verið falið af umsjónarmönnum {domain}.",
|
"limited_account_hint.title": "Þetta notandasnið hefur verið falið af umsjónarmönnum {domain}.",
|
||||||
"link_preview.author": "Eftir {name}",
|
"link_preview.author": "Eftir {name}",
|
||||||
"link_preview.more_from_author": "Meira frá {name}",
|
"link_preview.more_from_author": "Meira frá {name}",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} færsla} other {{counter} færslur}}",
|
||||||
"lists.account.add": "Bæta á lista",
|
"lists.account.add": "Bæta á lista",
|
||||||
"lists.account.remove": "Fjarlægja af lista",
|
"lists.account.remove": "Fjarlægja af lista",
|
||||||
"lists.delete": "Eyða lista",
|
"lists.delete": "Eyða lista",
|
||||||
|
@ -695,13 +696,13 @@
|
||||||
"server_banner.about_active_users": "Folk sem hefur notað þennan netþjón síðustu 30 daga (virkir notendur í mánuðinum)",
|
"server_banner.about_active_users": "Folk sem hefur notað þennan netþjón síðustu 30 daga (virkir notendur í mánuðinum)",
|
||||||
"server_banner.active_users": "virkir notendur",
|
"server_banner.active_users": "virkir notendur",
|
||||||
"server_banner.administered_by": "Stýrt af:",
|
"server_banner.administered_by": "Stýrt af:",
|
||||||
"server_banner.introduction": "{domain} er hluti af dreifhýsta samfélagsnetinu sem keyrt er af {mastodon}.",
|
"server_banner.is_one_of_many": "{domain} er einn af fjölmörgum óháðum Mastodon-þjónum sem þú getur notað til að taka þátt í fediverse-samfélaginu.",
|
||||||
"server_banner.learn_more": "Kanna nánar",
|
|
||||||
"server_banner.server_stats": "Tölfræði þjóns:",
|
"server_banner.server_stats": "Tölfræði þjóns:",
|
||||||
"sign_in_banner.create_account": "Búa til notandaaðgang",
|
"sign_in_banner.create_account": "Búa til notandaaðgang",
|
||||||
|
"sign_in_banner.follow_anyone": "Fylgstu með hverjum sem er í þessum samtvinnaða heimi og skoðaðu allt í tímaröð. Engin reiknirit, auglýsingar eða smellbeitur.",
|
||||||
|
"sign_in_banner.mastodon_is": "Mastodon er besta leiðin til að fylgjast með hvað sé í gangi.",
|
||||||
"sign_in_banner.sign_in": "Skrá inn",
|
"sign_in_banner.sign_in": "Skrá inn",
|
||||||
"sign_in_banner.sso_redirect": "Skrá inn eða nýskrá",
|
"sign_in_banner.sso_redirect": "Skrá inn eða nýskrá",
|
||||||
"sign_in_banner.text": "Skráðu þig inn til að fylgjast með notendum eða myllumerkjum, svara færslum, deila þeim eða setja í eftirlæti. Þú getur einnig átt í samskiptum á aðgangnum þínum á öðrum netþjónum.",
|
|
||||||
"status.admin_account": "Opna umsjónarviðmót fyrir @{name}",
|
"status.admin_account": "Opna umsjónarviðmót fyrir @{name}",
|
||||||
"status.admin_domain": "Opna umsjónarviðmót fyrir @{domain}",
|
"status.admin_domain": "Opna umsjónarviðmót fyrir @{domain}",
|
||||||
"status.admin_status": "Opna þessa færslu í umsjónarviðmótinu",
|
"status.admin_status": "Opna þessa færslu í umsjónarviðmótinu",
|
||||||
|
|
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "Questo profilo è stato nascosto dai moderatori di {domain}.",
|
"limited_account_hint.title": "Questo profilo è stato nascosto dai moderatori di {domain}.",
|
||||||
"link_preview.author": "Di {name}",
|
"link_preview.author": "Di {name}",
|
||||||
"link_preview.more_from_author": "Altro da {name}",
|
"link_preview.more_from_author": "Altro da {name}",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} post} other {{counter} post}}",
|
||||||
"lists.account.add": "Aggiungi all'elenco",
|
"lists.account.add": "Aggiungi all'elenco",
|
||||||
"lists.account.remove": "Rimuovi dall'elenco",
|
"lists.account.remove": "Rimuovi dall'elenco",
|
||||||
"lists.delete": "Elimina elenco",
|
"lists.delete": "Elimina elenco",
|
||||||
|
@ -695,13 +696,13 @@
|
||||||
"server_banner.about_active_users": "Persone che hanno utilizzato questo server negli ultimi 30 giorni (Utenti Attivi Mensilmente)",
|
"server_banner.about_active_users": "Persone che hanno utilizzato questo server negli ultimi 30 giorni (Utenti Attivi Mensilmente)",
|
||||||
"server_banner.active_users": "utenti attivi",
|
"server_banner.active_users": "utenti attivi",
|
||||||
"server_banner.administered_by": "Amministrato da:",
|
"server_banner.administered_by": "Amministrato da:",
|
||||||
"server_banner.introduction": "{domain} è parte del social network decentralizzato, sviluppato da {mastodon}.",
|
"server_banner.is_one_of_many": "{domain} è uno dei tanti server Mastodon indipendenti che puoi usare per partecipare al fediverso.",
|
||||||
"server_banner.learn_more": "Scopri di più",
|
|
||||||
"server_banner.server_stats": "Statistiche del server:",
|
"server_banner.server_stats": "Statistiche del server:",
|
||||||
"sign_in_banner.create_account": "Crea un profilo",
|
"sign_in_banner.create_account": "Crea un profilo",
|
||||||
|
"sign_in_banner.follow_anyone": "Segui chiunque nel fediverso e vedi tutto in ordine cronologico. Nessun algoritmo, annunci o clickbait in vista.",
|
||||||
|
"sign_in_banner.mastodon_is": "Mastodon è il modo migliore per tenere il passo con quello che sta accadendo.",
|
||||||
"sign_in_banner.sign_in": "Accedi",
|
"sign_in_banner.sign_in": "Accedi",
|
||||||
"sign_in_banner.sso_redirect": "Accedi o Registrati",
|
"sign_in_banner.sso_redirect": "Accedi o Registrati",
|
||||||
"sign_in_banner.text": "Accedi per seguire profili o hashtag, condividere, rispondere e aggiungere post ai preferiti. Puoi anche interagire dal tuo account su un server diverso.",
|
|
||||||
"status.admin_account": "Apri interfaccia di moderazione per @{name}",
|
"status.admin_account": "Apri interfaccia di moderazione per @{name}",
|
||||||
"status.admin_domain": "Apri l'interfaccia di moderazione per {domain}",
|
"status.admin_domain": "Apri l'interfaccia di moderazione per {domain}",
|
||||||
"status.admin_status": "Apri questo post nell'interfaccia di moderazione",
|
"status.admin_status": "Apri questo post nell'interfaccia di moderazione",
|
||||||
|
|
|
@ -833,13 +833,10 @@
|
||||||
"server_banner.about_active_users": "過去30日間にこのサーバーを使用している人 (月間アクティブユーザー)",
|
"server_banner.about_active_users": "過去30日間にこのサーバーを使用している人 (月間アクティブユーザー)",
|
||||||
"server_banner.active_users": "人のアクティブユーザー",
|
"server_banner.active_users": "人のアクティブユーザー",
|
||||||
"server_banner.administered_by": "管理者",
|
"server_banner.administered_by": "管理者",
|
||||||
"server_banner.introduction": "{domain}は{mastodon}を使った分散型ソーシャルネットワークの一部です。",
|
|
||||||
"server_banner.learn_more": "もっと詳しく",
|
|
||||||
"server_banner.server_stats": "サーバーの情報",
|
"server_banner.server_stats": "サーバーの情報",
|
||||||
"sign_in_banner.create_account": "アカウント作成",
|
"sign_in_banner.create_account": "アカウント作成",
|
||||||
"sign_in_banner.sign_in": "ログイン",
|
"sign_in_banner.sign_in": "ログイン",
|
||||||
"sign_in_banner.sso_redirect": "ログインまたは登録",
|
"sign_in_banner.sso_redirect": "ログインまたは登録",
|
||||||
"sign_in_banner.text": "アカウントがあればユーザーやハッシュタグをフォローしたり、投稿のお気に入り登録やブースト、投稿への返信ができます。別のサーバーのユーザーとの交流も可能です。",
|
|
||||||
"status.admin_account": "@{name}さんのモデレーション画面を開く",
|
"status.admin_account": "@{name}さんのモデレーション画面を開く",
|
||||||
"status.admin_domain": "{domain}のモデレーション画面を開く",
|
"status.admin_domain": "{domain}のモデレーション画面を開く",
|
||||||
"status.admin_status": "この投稿をモデレーション画面で開く",
|
"status.admin_status": "この投稿をモデレーション画面で開く",
|
||||||
|
|
|
@ -509,7 +509,6 @@
|
||||||
"search_results.statuses": "Tisuffaɣ",
|
"search_results.statuses": "Tisuffaɣ",
|
||||||
"search_results.title": "Anadi ɣef {q}",
|
"search_results.title": "Anadi ɣef {q}",
|
||||||
"server_banner.administered_by": "Yettwadbel sɣur :",
|
"server_banner.administered_by": "Yettwadbel sɣur :",
|
||||||
"server_banner.learn_more": "Issin ugar",
|
|
||||||
"sign_in_banner.create_account": "Snulfu-d amiḍan",
|
"sign_in_banner.create_account": "Snulfu-d amiḍan",
|
||||||
"sign_in_banner.sign_in": "Qqen",
|
"sign_in_banner.sign_in": "Qqen",
|
||||||
"sign_in_banner.sso_redirect": "Qqen neɣ jerred",
|
"sign_in_banner.sso_redirect": "Qqen neɣ jerred",
|
||||||
|
|
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "이 프로필은 {domain}의 중재자에 의해 숨겨진 상태입니다.",
|
"limited_account_hint.title": "이 프로필은 {domain}의 중재자에 의해 숨겨진 상태입니다.",
|
||||||
"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, other {{counter} 개의 게시물}}",
|
||||||
"lists.account.add": "리스트에 추가",
|
"lists.account.add": "리스트에 추가",
|
||||||
"lists.account.remove": "리스트에서 제거",
|
"lists.account.remove": "리스트에서 제거",
|
||||||
"lists.delete": "리스트 삭제",
|
"lists.delete": "리스트 삭제",
|
||||||
|
@ -695,13 +696,13 @@
|
||||||
"server_banner.about_active_users": "30일 동안 이 서버를 사용한 사람들 (월간 활성 이용자)",
|
"server_banner.about_active_users": "30일 동안 이 서버를 사용한 사람들 (월간 활성 이용자)",
|
||||||
"server_banner.active_users": "활성 사용자",
|
"server_banner.active_users": "활성 사용자",
|
||||||
"server_banner.administered_by": "관리자:",
|
"server_banner.administered_by": "관리자:",
|
||||||
"server_banner.introduction": "{domain}은 마스토돈으로 운영되는 탈중앙화 된 소셜 네트워크의 일부입니다.",
|
"server_banner.is_one_of_many": "{domain}은 페디버스를 통해 참여할 수 있는 많은 마스토돈 서버들 중 하나입니다",
|
||||||
"server_banner.learn_more": "더 알아보기",
|
|
||||||
"server_banner.server_stats": "서버 통계:",
|
"server_banner.server_stats": "서버 통계:",
|
||||||
"sign_in_banner.create_account": "계정 생성",
|
"sign_in_banner.create_account": "계정 생성",
|
||||||
|
"sign_in_banner.follow_anyone": "페디버스를 통해 누구든지 팔로우하고 시간순으로 게시물을 받아보세요. 알고리즘도, 광고도, 클릭을 유도하는 것들도 없습니다.",
|
||||||
|
"sign_in_banner.mastodon_is": "마스토돈은 무엇이 일어나는지 받아보는 가장 좋은 수단입니다.",
|
||||||
"sign_in_banner.sign_in": "로그인",
|
"sign_in_banner.sign_in": "로그인",
|
||||||
"sign_in_banner.sso_redirect": "로그인 또는 가입하기",
|
"sign_in_banner.sso_redirect": "로그인 또는 가입하기",
|
||||||
"sign_in_banner.text": "로그인을 통해 프로필이나 해시태그를 팔로우하거나 마음에 들어하거나 공유하고 답글을 달 수 있습니다. 다른 서버에 있는 본인의 계정을 통해 참여할 수도 있습니다.",
|
|
||||||
"status.admin_account": "@{name}에 대한 중재 화면 열기",
|
"status.admin_account": "@{name}에 대한 중재 화면 열기",
|
||||||
"status.admin_domain": "{domain}에 대한 중재 화면 열기",
|
"status.admin_domain": "{domain}에 대한 중재 화면 열기",
|
||||||
"status.admin_status": "중재 화면에서 이 게시물 열기",
|
"status.admin_status": "중재 화면에서 이 게시물 열기",
|
||||||
|
|
|
@ -492,8 +492,6 @@
|
||||||
"server_banner.about_active_users": "Kesên ku di van 30 rojên dawî de vê rajekarê bi kar tînin (Bikarhênerên Çalak ên Mehane)",
|
"server_banner.about_active_users": "Kesên ku di van 30 rojên dawî de vê rajekarê bi kar tînin (Bikarhênerên Çalak ên Mehane)",
|
||||||
"server_banner.active_users": "bikarhênerên çalak",
|
"server_banner.active_users": "bikarhênerên çalak",
|
||||||
"server_banner.administered_by": "Tê bi rêvebirin ji aliyê:",
|
"server_banner.administered_by": "Tê bi rêvebirin ji aliyê:",
|
||||||
"server_banner.introduction": "{domain} beşek ji tora civakî ya nenavendî ye bi hêzdariya {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Bêtir fêr bibe",
|
|
||||||
"server_banner.server_stats": "Amarên rajekar:",
|
"server_banner.server_stats": "Amarên rajekar:",
|
||||||
"sign_in_banner.create_account": "Ajimêr biafirîne",
|
"sign_in_banner.create_account": "Ajimêr biafirîne",
|
||||||
"sign_in_banner.sign_in": "Têkeve",
|
"sign_in_banner.sign_in": "Têkeve",
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
{
|
{
|
||||||
"about.contact": "Ratio:",
|
"about.contact": "Ratio:",
|
||||||
"about.domain_blocks.no_reason_available": "Ratio abdere est",
|
"about.domain_blocks.no_reason_available": "Ratio abdere est",
|
||||||
|
"about.domain_blocks.silenced.explanation": "Tua profilia atque tuum contentum ab hac serve praecipue non videbis, nisi explōrēs expresse aut subsequeris et optēs.",
|
||||||
"account.account_note_header": "Annotatio",
|
"account.account_note_header": "Annotatio",
|
||||||
|
"account.add_or_remove_from_list": "Adde aut ēripe ex tabellīs",
|
||||||
"account.badges.bot": "Robotum",
|
"account.badges.bot": "Robotum",
|
||||||
"account.badges.group": "Congregatio",
|
"account.badges.group": "Congregatio",
|
||||||
"account.block": "Impedire @{name}",
|
"account.block": "Impedire @{name}",
|
||||||
|
@ -11,11 +13,21 @@
|
||||||
"account.domain_blocked": "Dominium impeditum",
|
"account.domain_blocked": "Dominium impeditum",
|
||||||
"account.edit_profile": "Recolere notionem",
|
"account.edit_profile": "Recolere notionem",
|
||||||
"account.featured_tags.last_status_never": "Nulla contributa",
|
"account.featured_tags.last_status_never": "Nulla contributa",
|
||||||
|
"account.featured_tags.title": "Hashtag notātī {name}",
|
||||||
|
"account.followers_counter": "{count, plural, one {{counter} Sectator} other {{counter} Sectatores}}",
|
||||||
|
"account.following_counter": "{count, plural, one {{counter} Sequens} other {{counter} Sequentes}}",
|
||||||
|
"account.moved_to": "{name} significavit eum suam rationem novam nunc esse:",
|
||||||
"account.muted": "Confutatus",
|
"account.muted": "Confutatus",
|
||||||
|
"account.requested_follow": "{name} postulavit ut te sequeretur",
|
||||||
|
"account.statuses_counter": "{count, plural, one {{counter} Nuntius} other {{counter} Nuntii}}",
|
||||||
"account.unblock_short": "Solvere impedimentum",
|
"account.unblock_short": "Solvere impedimentum",
|
||||||
"account_note.placeholder": "Click to add a note",
|
"account_note.placeholder": "Click to add a note",
|
||||||
"admin.dashboard.retention.average": "Mediocritas",
|
"admin.dashboard.retention.average": "Mediocritas",
|
||||||
|
"admin.impact_report.instance_accounts": "Rationes perfiles hoc deleret",
|
||||||
|
"alert.unexpected.message": "Error inopinatus occurrit.",
|
||||||
"announcement.announcement": "Proclamatio",
|
"announcement.announcement": "Proclamatio",
|
||||||
|
"attachments_list.unprocessed": "(immūtātus)",
|
||||||
|
"block_modal.you_wont_see_mentions": "Nuntios quibus eos commemorant non videbis.",
|
||||||
"bundle_column_error.error.title": "Eheu!",
|
"bundle_column_error.error.title": "Eheu!",
|
||||||
"bundle_column_error.retry": "Retemptare",
|
"bundle_column_error.retry": "Retemptare",
|
||||||
"bundle_column_error.routing.title": "CCCCIIII",
|
"bundle_column_error.routing.title": "CCCCIIII",
|
||||||
|
@ -37,26 +49,55 @@
|
||||||
"compose_form.placeholder": "What is on your mind?",
|
"compose_form.placeholder": "What is on your mind?",
|
||||||
"compose_form.publish_form": "Barrire",
|
"compose_form.publish_form": "Barrire",
|
||||||
"compose_form.spoiler.marked": "Text is hidden behind warning",
|
"compose_form.spoiler.marked": "Text is hidden behind warning",
|
||||||
"compose_form.spoiler.unmarked": "Text is not hidden",
|
"compose_form.spoiler.unmarked": "Adde praeconium contentūs",
|
||||||
"confirmations.block.confirm": "Impedire",
|
"confirmations.block.confirm": "Impedire",
|
||||||
"confirmations.delete.confirm": "Oblitterare",
|
"confirmations.delete.confirm": "Oblitterare",
|
||||||
"confirmations.delete.message": "Are you sure you want to delete this status?",
|
"confirmations.delete.message": "Are you sure you want to delete this status?",
|
||||||
"confirmations.delete_list.confirm": "Oblitterare",
|
"confirmations.delete_list.confirm": "Oblitterare",
|
||||||
|
"confirmations.discard_edit_media.message": "Habēs mutationēs in descriptionem vel prōspectum medii quae nōn sunt servātae; eas dēmittam?",
|
||||||
"confirmations.mute.confirm": "Confutare",
|
"confirmations.mute.confirm": "Confutare",
|
||||||
"confirmations.reply.confirm": "Respondere",
|
"confirmations.reply.confirm": "Respondere",
|
||||||
|
"disabled_account_banner.account_settings": "Praeferentiae ratiōnis",
|
||||||
|
"disabled_account_banner.text": "Ratio tua {disabledAccount} debilitata est.",
|
||||||
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
|
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
|
||||||
"dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
|
"dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
|
||||||
|
"domain_block_modal.you_will_lose_followers": "Omnes sectatores tuī ex hoc servō removēbuntur.",
|
||||||
|
"domain_block_modal.you_wont_see_posts": "Nuntios aut notificātiōnēs ab usoribus in hōc servō nōn vidēbis.",
|
||||||
|
"domain_pill.activitypub_like_language": "ActivityPub est velut lingua quam Mastodon cum aliīs sociālibus rētibus loquitur.",
|
||||||
|
"domain_pill.your_handle": "Tuus nominulus:",
|
||||||
|
"domain_pill.your_server": "Tua domus digitalis, ubi omnia tua nuntia habitant. Hanc non amas? Servēs trānsferāre potes quōcumque tempore et sectātōrēs tuōs simul addūcere.",
|
||||||
|
"domain_pill.your_username": "Tuō singulāre id indicium in hōc servō est. Est possibile invenīre usōrēs cum eōdem nōmine in servīs aliīs.",
|
||||||
"embed.instructions": "Embed this status on your website by copying the code below.",
|
"embed.instructions": "Embed this status on your website by copying the code below.",
|
||||||
|
"emoji_button.activity": "Actiō",
|
||||||
"emoji_button.food": "Cibus et potus",
|
"emoji_button.food": "Cibus et potus",
|
||||||
"emoji_button.people": "Homines",
|
"emoji_button.people": "Homines",
|
||||||
"emoji_button.search": "Quaerere...",
|
"emoji_button.search": "Quaerere...",
|
||||||
|
"empty_column.account_suspended": "Rātiō suspēnsa",
|
||||||
"empty_column.account_timeline": "Hic nulla contributa!",
|
"empty_column.account_timeline": "Hic nulla contributa!",
|
||||||
"empty_column.account_unavailable": "Notio non impetrabilis",
|
"empty_column.account_unavailable": "Notio non impetrabilis",
|
||||||
"empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}",
|
"empty_column.blocks": "Nondum quemquam usorem obsēcāvisti.",
|
||||||
|
"empty_column.direct": "Nōn habēs adhūc ullo mentionēs prīvātās. Cum ūnam mīseris aut accipis, hīc apparēbit.",
|
||||||
|
"empty_column.followed_tags": "Nōn adhūc aliquem hastāginem secūtus es. Cum id fēceris, hic ostendētur.",
|
||||||
|
"empty_column.home": "Tua linea temporum domesticus vacua est! Sequere plures personas ut eam compleas.",
|
||||||
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
|
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
|
||||||
|
"empty_column.lists": "Nōn adhūc habēs ullo tabellās. Cum creās, hīc apparēbunt.",
|
||||||
|
"empty_column.mutes": "Nondum quemquam usorem tacuisti.",
|
||||||
|
"empty_column.notification_requests": "Omnia clara sunt! Nihil hic est. Cum novās notificātiōnēs accipīs, hic secundum tua praecepta apparebunt.",
|
||||||
|
"empty_column.notifications": "Nōn adhūc habēs ullo notificātiōnēs. Cum aliī tē interagunt, hīc videbis.",
|
||||||
"explore.trending_statuses": "Contributa",
|
"explore.trending_statuses": "Contributa",
|
||||||
|
"filtered_notifications_banner.mentions": "{count, plural, one {mentiō} other {mentiōnēs}}",
|
||||||
|
"firehose.all": "Omnis",
|
||||||
|
"footer.about": "De",
|
||||||
"generic.saved": "Servavit",
|
"generic.saved": "Servavit",
|
||||||
|
"hashtag.column_settings.tag_mode.all": "Haec omnia",
|
||||||
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
|
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
|
||||||
|
"hashtag.counter_by_accounts": "{count, plural, one {{counter} particeps} other {{counter} participēs}}",
|
||||||
|
"hashtag.counter_by_uses": "{count, plural, one {{counter} nuntius} other {{counter} nuntii}}",
|
||||||
|
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} nuntius} other {{counter} nuntii}} hodie",
|
||||||
|
"hashtags.and_other": "…et {count, plural, other {# plus}}",
|
||||||
|
"intervals.full.days": "{number, plural, one {# die} other {# dies}}",
|
||||||
|
"intervals.full.hours": "{number, plural, one {# hora} other {# horae}}",
|
||||||
|
"intervals.full.minutes": "{number, plural, one {# minutum} other {# minuta}}",
|
||||||
"keyboard_shortcuts.back": "Re navigare",
|
"keyboard_shortcuts.back": "Re navigare",
|
||||||
"keyboard_shortcuts.blocked": "Aperire listam usorum obstructorum",
|
"keyboard_shortcuts.blocked": "Aperire listam usorum obstructorum",
|
||||||
"keyboard_shortcuts.boost": "Inlustrare publicatio",
|
"keyboard_shortcuts.boost": "Inlustrare publicatio",
|
||||||
|
@ -90,18 +131,47 @@
|
||||||
"keyboard_shortcuts.up": "to move up in the list",
|
"keyboard_shortcuts.up": "to move up in the list",
|
||||||
"lightbox.close": "Claudere",
|
"lightbox.close": "Claudere",
|
||||||
"lightbox.next": "Secundum",
|
"lightbox.next": "Secundum",
|
||||||
|
"lists.account.add": "Adde ad tabellās",
|
||||||
|
"lists.new.create": "Addere tabella",
|
||||||
|
"load_pending": "{count, plural, one {# novum item} other {# nova itema}}",
|
||||||
|
"media_gallery.toggle_visible": "{number, plural, one {Cēla imaginem} other {Cēla imagines}}",
|
||||||
|
"moved_to_account_banner.text": "Tua ratione {disabledAccount} interdum reposita est, quod ad {movedToAccount} migrāvisti.",
|
||||||
|
"mute_modal.you_wont_see_mentions": "Non videbis nuntios quī eōs commemorant.",
|
||||||
|
"navigation_bar.about": "De",
|
||||||
"navigation_bar.domain_blocks": "Hidden domains",
|
"navigation_bar.domain_blocks": "Hidden domains",
|
||||||
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
|
"not_signed_in_indicator.not_signed_in": "Ad hunc locum pervenire oportet ut inīre facias.",
|
||||||
|
"notification.admin.report": "{name} nuntiavit {target}",
|
||||||
|
"notification.admin.sign_up": "{name} subscripsit",
|
||||||
|
"notification.favourite": "{name} nuntium tuum favit",
|
||||||
|
"notification.follow": "{name} te secutus est",
|
||||||
|
"notification.follow_request": "{name} postulavit ut te sequeretur",
|
||||||
|
"notification.mention": "{name} memoravi",
|
||||||
|
"notification.moderation_warning": "Accepistī monitionem moderationis.",
|
||||||
|
"notification.moderation_warning.action_disable": "Ratio tua debilitata est.",
|
||||||
"notification.moderation_warning.action_none": "Tua ratiō monitum moderātiōnis accēpit.",
|
"notification.moderation_warning.action_none": "Tua ratiō monitum moderātiōnis accēpit.",
|
||||||
"notification.reblog": "{name} boosted your status",
|
"notification.moderation_warning.action_sensitive": "Tua nuntia hinc sensibiliter notabuntur.",
|
||||||
|
"notification.moderation_warning.action_silence": "Ratio tua est limitata.",
|
||||||
|
"notification.moderation_warning.action_suspend": "Ratio tua suspensus est.",
|
||||||
|
"notification.own_poll": "Suffragium tuum terminatum est.",
|
||||||
|
"notification.poll": "Electione in quam suffragium dedisti finita est.",
|
||||||
|
"notification.reblog": "{name} tuum nuntium amplificavit.",
|
||||||
|
"notification.relationships_severance_event.account_suspension": "Admin ab {from} {target} suspendit, quod significat nōn iam posse tē novitātēs ab eīs accipere aut cum eīs interagere.",
|
||||||
|
"notification.relationships_severance_event.domain_block": "Admin ab {from} {target} obsēcāvit, includēns {followersCount} ex tuīs sectātōribus et {followingCount, plural, one {# ratione} other {# rationibus}} quās sequeris.",
|
||||||
|
"notification.relationships_severance_event.user_domain_block": "Bloqueāstī {target}, removēns {followersCount} ex sectātōribus tuīs et {followingCount, plural, one {# rationem} other {# rationēs}} quōs sequeris.",
|
||||||
|
"notification.status": "{name} nuper publicavit",
|
||||||
|
"notification.update": "{name} nuntium correxit",
|
||||||
|
"notification_requests.accept": "Accipe",
|
||||||
"notifications.filter.all": "Omnia",
|
"notifications.filter.all": "Omnia",
|
||||||
"notifications.filter.polls": "Eventus electionis",
|
"notifications.filter.polls": "Eventus electionis",
|
||||||
|
"notifications.group": "Notificātiōnēs",
|
||||||
"onboarding.actions.go_to_explore": "See what's trending",
|
"onboarding.actions.go_to_explore": "See what's trending",
|
||||||
"onboarding.actions.go_to_home": "Go to your home feed",
|
"onboarding.actions.go_to_home": "Go to your home feed",
|
||||||
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
|
"onboarding.follows.lead": "Tua domus feed est principalis via Mastodon experīrī. Quō plūrēs persōnas sequeris, eō actīvior et interessantior erit. Ad tē incipiendum, ecce quaedam suāsiones:",
|
||||||
"onboarding.follows.title": "Popular on Mastodon",
|
"onboarding.follows.title": "Popular on Mastodon",
|
||||||
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
|
"onboarding.profile.display_name_hint": "Tuum nomen completum aut tuum nomen ludens...",
|
||||||
|
"onboarding.start.lead": "Nunc pars es Mastodonis, singularis, socialis medii platformae decentralis ubi—non algorismus—tuam ipsius experientiam curas. Incipiāmus in nova hac socialis regione:",
|
||||||
"onboarding.start.skip": "Want to skip right ahead?",
|
"onboarding.start.skip": "Want to skip right ahead?",
|
||||||
|
"onboarding.start.title": "Perfecisti eam!",
|
||||||
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
|
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
|
||||||
"onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}",
|
"onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}",
|
||||||
"onboarding.steps.publish_status.body": "Say hello to the world.",
|
"onboarding.steps.publish_status.body": "Say hello to the world.",
|
||||||
|
@ -109,32 +179,47 @@
|
||||||
"onboarding.steps.setup_profile.title": "Customize your profile",
|
"onboarding.steps.setup_profile.title": "Customize your profile",
|
||||||
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
|
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
|
||||||
"onboarding.steps.share_profile.title": "Share your profile",
|
"onboarding.steps.share_profile.title": "Share your profile",
|
||||||
"onboarding.tips.accounts_from_other_servers": "<strong>Scisne?</strong> Quoniam Mastodon dēcentālis est, nōnnulla profīlia quae invenīs in servīs aliīs quam tuōrum erunt hospitāta. Tamen cum eīs sine impedīmentō interāgere potes! Servus eōrum in alterā parte nōminis eōrum est!",
|
"onboarding.tips.2fa": "<strong>Scisne?</strong> Tūam ratiōnem sēcūrāre potes duōrum elementōrum authentīcātiōnem in ratiōnis tuī praeferentiīs statuendō. Cum ūllā app TOTP ex tuā ēlēctiōne operātur, numerus tēlephōnicus necessārius nōn est!",
|
||||||
|
"onboarding.tips.accounts_from_other_servers": "<strong>Scisne?</strong> Quoniam Mastodon dēcentrālis est, nōnnulla profīlia quae invenīs in servīs aliīs quam tuōrum erunt hospitāta. Tamen cum eīs sine impedīmentō interāgere potes! Servus eōrum in alterā parte nōminis eōrum est!",
|
||||||
"onboarding.tips.migration": "<strong>Scisne?</strong> Sī sentīs {domain} tibi in futūrō nōn esse optimam servī ēlēctiōnem, ad alium servum Mastodon sine amittendō sectātōribus tuīs migrāre potes. Etiam tuum servum hospitārī potes!",
|
"onboarding.tips.migration": "<strong>Scisne?</strong> Sī sentīs {domain} tibi in futūrō nōn esse optimam servī ēlēctiōnem, ad alium servum Mastodon sine amittendō sectātōribus tuīs migrāre potes. Etiam tuum servum hospitārī potes!",
|
||||||
|
"onboarding.tips.verification": "<strong>Scisne?</strong> Tūam ratiōnem verificāre potes iungendō nexum ad prōfīlium Mastodon tuum in propriā pāginā interrētiā et addendō pāginam ad prōfīlium tuum. Nullae pecūniae aut documenta necessāria sunt!",
|
||||||
"poll.closed": "Clausum",
|
"poll.closed": "Clausum",
|
||||||
|
"poll.total_people": "{count, plural, one {# persona} other {# personae}}",
|
||||||
|
"poll.total_votes": "{count, plural, one {# suffragium} other {# suffragia}}",
|
||||||
"poll.vote": "Eligere",
|
"poll.vote": "Eligere",
|
||||||
"poll.voted": "Elegisti hoc responsum",
|
"poll.voted": "Elegisti hoc responsum",
|
||||||
|
"poll.votes": "{votes, plural, one {# sufragium} other {# sufragia}}",
|
||||||
"poll_button.add_poll": "Addere electionem",
|
"poll_button.add_poll": "Addere electionem",
|
||||||
"poll_button.remove_poll": "Auferre electionem",
|
"poll_button.remove_poll": "Auferre electionem",
|
||||||
"privacy.change": "Adjust status privacy",
|
"privacy.change": "Adjust status privacy",
|
||||||
"privacy.public.short": "Coram publico",
|
"privacy.public.short": "Coram publico",
|
||||||
|
"regeneration_indicator.sublabel": "Tua domus feed praeparātur!",
|
||||||
|
"relative_time.full.days": "{number, plural, one {# ante die} other {# ante dies}}",
|
||||||
|
"relative_time.full.hours": "{number, plural, one {# ante horam} other {# ante horas}}",
|
||||||
"relative_time.full.just_now": "nunc",
|
"relative_time.full.just_now": "nunc",
|
||||||
|
"relative_time.full.minutes": "{number, plural, one {# ante minutum} other {# ante minuta}}",
|
||||||
|
"relative_time.full.seconds": "{number, plural, one {# ante secundum} other {# ante secunda}}",
|
||||||
"relative_time.just_now": "nunc",
|
"relative_time.just_now": "nunc",
|
||||||
"relative_time.today": "hodie",
|
"relative_time.today": "hodie",
|
||||||
|
"reply_indicator.attachments": "{count, plural, one {# annexus} other {# annexūs}}",
|
||||||
"report.block": "Impedimentum",
|
"report.block": "Impedimentum",
|
||||||
|
"report.block_explanation": "Non videbis eorum nuntios. Non poterunt vidēre tuōs nuntios aut tē sequī. Intelligere poterunt sē obstrūctōs esse.",
|
||||||
"report.categories.other": "Altera",
|
"report.categories.other": "Altera",
|
||||||
"report.category.title_account": "notio",
|
"report.category.title_account": "notio",
|
||||||
"report.category.title_status": "contributum",
|
"report.category.title_status": "contributum",
|
||||||
"report.close": "Confectum",
|
"report.close": "Confectum",
|
||||||
"report.mute": "Confutare",
|
"report.mute": "Confutare",
|
||||||
|
"report.mute_explanation": "Non videbis eōrum nuntiōs. Possunt adhuc tē sequī et tuōs nuntiōs vidēre, nec sciēbunt sē tacitōs esse.",
|
||||||
"report.next": "Secundum",
|
"report.next": "Secundum",
|
||||||
"report.placeholder": "Type or paste additional comments",
|
"report.placeholder": "Commentāriī adiūnctī",
|
||||||
"report.submit": "Mittere",
|
"report.submit": "Mittere",
|
||||||
"report.target": "Report {target}",
|
"report.target": "Report {target}",
|
||||||
"report_notification.attached_statuses": "{count, plural, one {# post} other {# posts}} attached",
|
"report_notification.attached_statuses": "{count, plural, one {{count} nuntius} other {{count} nuntii}} attachiatus",
|
||||||
"report_notification.categories.other": "Altera",
|
"report_notification.categories.other": "Altera",
|
||||||
"search.placeholder": "Quaerere",
|
"search.placeholder": "Quaerere",
|
||||||
"server_banner.learn_more": "Discere plura",
|
"search_results.all": "Omnis",
|
||||||
|
"server_banner.active_users": "Usūrāriī āctīvī",
|
||||||
|
"server_banner.administered_by": "Administratur:",
|
||||||
"sign_in_banner.sign_in": "Sign in",
|
"sign_in_banner.sign_in": "Sign in",
|
||||||
"status.admin_status": "Open this status in the moderation interface",
|
"status.admin_status": "Open this status in the moderation interface",
|
||||||
"status.block": "Impedire @{name}",
|
"status.block": "Impedire @{name}",
|
||||||
|
@ -143,13 +228,29 @@
|
||||||
"status.delete": "Oblitterare",
|
"status.delete": "Oblitterare",
|
||||||
"status.edit": "Recolere",
|
"status.edit": "Recolere",
|
||||||
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
|
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
|
||||||
|
"status.favourites": "{count, plural, one {favoritum} other {favorita}}",
|
||||||
|
"status.history.created": "{name} creatum {date}",
|
||||||
|
"status.history.edited": "{name} correxit {date}",
|
||||||
"status.open": "Expand this status",
|
"status.open": "Expand this status",
|
||||||
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {# attachments}}",
|
"status.reblogged_by": "{name} adiuvavit",
|
||||||
|
"status.reblogs": "{count, plural, one {auctus} other {auctūs}}",
|
||||||
|
"status.title.with_attachments": "{user} publicavit {attachmentCount, plural, one {unum annexum} other {{attachmentCount} annexa}}",
|
||||||
"tabs_bar.home": "Domi",
|
"tabs_bar.home": "Domi",
|
||||||
|
"time_remaining.days": "{number, plural, one {# die} other {# dies}} restant",
|
||||||
|
"time_remaining.hours": "{number, plural, one {# hora} other {# horae}} restant",
|
||||||
|
"time_remaining.minutes": "{number, plural, one {# minutum} other {# minuta}} restant",
|
||||||
|
"time_remaining.seconds": "{number, plural, one {# secundum} other {# secunda}} restant",
|
||||||
|
"timeline_hint.remote_resource_not_displayed": "{resource} ab aliīs servīs nōn ostenduntur.",
|
||||||
"timeline_hint.resources.statuses": "Contributa pristina",
|
"timeline_hint.resources.statuses": "Contributa pristina",
|
||||||
"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} persōna} other {{counter} persōnae}} in {days, plural, one {diē prīdiē} other {diēbus praeteritīs {days}}}",
|
||||||
|
"ui.beforeunload": "Si Mastodon discesseris, tua epitome peribit.",
|
||||||
|
"units.short.billion": "{count} millia milionum",
|
||||||
|
"units.short.million": "{count} milionum",
|
||||||
|
"units.short.thousand": "{count} millia",
|
||||||
|
"upload_button.label": "Imaginēs, vīdeō aut fīle audītūs adde",
|
||||||
"upload_form.audio_description": "Describe for people who are hard of hearing",
|
"upload_form.audio_description": "Describe for people who are hard of hearing",
|
||||||
"upload_form.edit": "Recolere",
|
"upload_form.edit": "Recolere",
|
||||||
|
"upload_modal.description_placeholder": "A velox brunneis vulpes salit super piger canis",
|
||||||
"upload_progress.label": "Uploading…",
|
"upload_progress.label": "Uploading…",
|
||||||
"video.mute": "Confutare soni"
|
"video.mute": "Confutare soni"
|
||||||
}
|
}
|
||||||
|
|
|
@ -666,13 +666,10 @@
|
||||||
"server_banner.about_active_users": "Utilizadores aktivos en este sirvidor durante los ultimos 30 diyas (utilizadores aktivos mensuales)",
|
"server_banner.about_active_users": "Utilizadores aktivos en este sirvidor durante los ultimos 30 diyas (utilizadores aktivos mensuales)",
|
||||||
"server_banner.active_users": "utilizadores aktivos",
|
"server_banner.active_users": "utilizadores aktivos",
|
||||||
"server_banner.administered_by": "Administrado por:",
|
"server_banner.administered_by": "Administrado por:",
|
||||||
"server_banner.introduction": "{domain} es parte de la red sosyala desentralizada liderada por {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Ambezate mas",
|
|
||||||
"server_banner.server_stats": "Estatistikas del sirvidor:",
|
"server_banner.server_stats": "Estatistikas del sirvidor:",
|
||||||
"sign_in_banner.create_account": "Kriya kuento",
|
"sign_in_banner.create_account": "Kriya kuento",
|
||||||
"sign_in_banner.sign_in": "Konektate",
|
"sign_in_banner.sign_in": "Konektate",
|
||||||
"sign_in_banner.sso_redirect": "Konektate o enrejistrate",
|
"sign_in_banner.sso_redirect": "Konektate o enrejistrate",
|
||||||
"sign_in_banner.text": "Konektate para segir prefiles o etiketas, partajar publikasyones, arispondir a eyas i markar ke te plazen. Puedes tambyen enteraktuar dizde tu kuento en un sirvidor desferente.",
|
|
||||||
"status.admin_account": "Avre la enterfaz de moderasyon para @{name}",
|
"status.admin_account": "Avre la enterfaz de moderasyon para @{name}",
|
||||||
"status.admin_domain": "Avre la enterfaz de moderasyon para @{domain}",
|
"status.admin_domain": "Avre la enterfaz de moderasyon para @{domain}",
|
||||||
"status.admin_status": "Avre esto en la enterfaz de moderasyon",
|
"status.admin_status": "Avre esto en la enterfaz de moderasyon",
|
||||||
|
|
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "Šį profilį paslėpė {domain} prižiūrėtojai.",
|
"limited_account_hint.title": "Šį profilį paslėpė {domain} prižiūrėtojai.",
|
||||||
"link_preview.author": "Sukūrė {name}",
|
"link_preview.author": "Sukūrė {name}",
|
||||||
"link_preview.more_from_author": "Daugiau iš {name}",
|
"link_preview.more_from_author": "Daugiau iš {name}",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} įrašas} few {{counter} įrašai} many {{counter} įrašo} other {{counter} įrašų}}",
|
||||||
"lists.account.add": "Pridėti į sąrašą",
|
"lists.account.add": "Pridėti į sąrašą",
|
||||||
"lists.account.remove": "Pašalinti iš sąrašo",
|
"lists.account.remove": "Pašalinti iš sąrašo",
|
||||||
"lists.delete": "Ištrinti sąrašą",
|
"lists.delete": "Ištrinti sąrašą",
|
||||||
|
@ -690,13 +691,13 @@
|
||||||
"server_banner.about_active_users": "Žmonės, kurie naudojosi šiuo serveriu per pastarąsias 30 dienų (mėnesio aktyvūs naudotojai)",
|
"server_banner.about_active_users": "Žmonės, kurie naudojosi šiuo serveriu per pastarąsias 30 dienų (mėnesio aktyvūs naudotojai)",
|
||||||
"server_banner.active_users": "aktyvūs naudotojai",
|
"server_banner.active_users": "aktyvūs naudotojai",
|
||||||
"server_banner.administered_by": "Administruoja:",
|
"server_banner.administered_by": "Administruoja:",
|
||||||
"server_banner.introduction": "{domain} – decentralizuoto socialinio tinklo dalis, kurį palaiko {mastodon}.",
|
"server_banner.is_one_of_many": "{domain} – tai vienas iš daugelio nepriklausomų „Mastodon“ serverių, kuriuos gali naudoti fediverse.",
|
||||||
"server_banner.learn_more": "Sužinoti daugiau",
|
|
||||||
"server_banner.server_stats": "Serverio statistika:",
|
"server_banner.server_stats": "Serverio statistika:",
|
||||||
"sign_in_banner.create_account": "Sukurti paskyrą",
|
"sign_in_banner.create_account": "Sukurti paskyrą",
|
||||||
|
"sign_in_banner.follow_anyone": "Sek bet kurį asmenį visoje fediverse ir žiūrėk viską chronologine tvarka. Jokių algoritmų, reklamų ar paspaudimų.",
|
||||||
|
"sign_in_banner.mastodon_is": "„Mastodon“ – tai geriausias būdas sekti, kas vyksta.",
|
||||||
"sign_in_banner.sign_in": "Prisijungimas",
|
"sign_in_banner.sign_in": "Prisijungimas",
|
||||||
"sign_in_banner.sso_redirect": "Prisijungti arba užsiregistruoti",
|
"sign_in_banner.sso_redirect": "Prisijungti arba užsiregistruoti",
|
||||||
"sign_in_banner.text": "Prisijunk, kad galėtum sekti profilius arba saitažodžius, mėgsti, bendrinti ir atsakyti į įrašus. Taip pat gali bendrauti iš savo paskyros kitame serveryje.",
|
|
||||||
"status.admin_account": "Atidaryti prižiūrėjimo sąsają @{name}",
|
"status.admin_account": "Atidaryti prižiūrėjimo sąsają @{name}",
|
||||||
"status.admin_domain": "Atidaryti prižiūrėjimo sąsają {domain}",
|
"status.admin_domain": "Atidaryti prižiūrėjimo sąsają {domain}",
|
||||||
"status.admin_status": "Atidaryti šį įrašą prižiūrėjimo sąsajoje",
|
"status.admin_status": "Atidaryti šį įrašą prižiūrėjimo sąsajoje",
|
||||||
|
|
|
@ -642,13 +642,10 @@
|
||||||
"server_banner.about_active_users": "Cilvēki, kas izmantojuši šo serveri pēdējo 30 dienu laikā (aktīvie lietotāji mēnesī)",
|
"server_banner.about_active_users": "Cilvēki, kas izmantojuši šo serveri pēdējo 30 dienu laikā (aktīvie lietotāji mēnesī)",
|
||||||
"server_banner.active_users": "aktīvi lietotāji",
|
"server_banner.active_users": "aktīvi lietotāji",
|
||||||
"server_banner.administered_by": "Pārvalda:",
|
"server_banner.administered_by": "Pārvalda:",
|
||||||
"server_banner.introduction": "{domain} ir daļa no decentralizētā sociālā tīkla, ko nodrošina {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Uzzināt vairāk",
|
|
||||||
"server_banner.server_stats": "Servera statistika:",
|
"server_banner.server_stats": "Servera statistika:",
|
||||||
"sign_in_banner.create_account": "Izveidot kontu",
|
"sign_in_banner.create_account": "Izveidot kontu",
|
||||||
"sign_in_banner.sign_in": "Pieteikties",
|
"sign_in_banner.sign_in": "Pieteikties",
|
||||||
"sign_in_banner.sso_redirect": "Piesakies vai Reģistrējies",
|
"sign_in_banner.sso_redirect": "Piesakies vai Reģistrējies",
|
||||||
"sign_in_banner.text": "Jāpiesakās, lai sekotu profiliem vai tēmturiem, pievienotu izlasei, kopīgotu ierakstus un atbildētu uz tiem. Vari arī mijiedarboties ar savu kontu citā serverī.",
|
|
||||||
"status.admin_account": "Atvērt @{name} moderēšanas saskarni",
|
"status.admin_account": "Atvērt @{name} moderēšanas saskarni",
|
||||||
"status.admin_domain": "Atvērt {domain} moderēšanas saskarni",
|
"status.admin_domain": "Atvērt {domain} moderēšanas saskarni",
|
||||||
"status.admin_status": "Atvērt šo ziņu moderācijas saskarnē",
|
"status.admin_status": "Atvērt šo ziņu moderācijas saskarnē",
|
||||||
|
|
|
@ -604,13 +604,10 @@
|
||||||
"server_banner.about_active_users": "Pengguna pelayan ini sepanjang 30 hari yang lalu (Pengguna Aktif Bulanan)",
|
"server_banner.about_active_users": "Pengguna pelayan ini sepanjang 30 hari yang lalu (Pengguna Aktif Bulanan)",
|
||||||
"server_banner.active_users": "pengguna aktif",
|
"server_banner.active_users": "pengguna aktif",
|
||||||
"server_banner.administered_by": "Ditadbir oleh:",
|
"server_banner.administered_by": "Ditadbir oleh:",
|
||||||
"server_banner.introduction": "{domain} ialah sebahagian daripada rangkaian sosial terpencar dikuasakan oleh {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Maklumat lanjut",
|
|
||||||
"server_banner.server_stats": "Statistik pelayan:",
|
"server_banner.server_stats": "Statistik pelayan:",
|
||||||
"sign_in_banner.create_account": "Cipta akaun",
|
"sign_in_banner.create_account": "Cipta akaun",
|
||||||
"sign_in_banner.sign_in": "Daftar masuk",
|
"sign_in_banner.sign_in": "Daftar masuk",
|
||||||
"sign_in_banner.sso_redirect": "Log masuk atau mendaftar",
|
"sign_in_banner.sso_redirect": "Log masuk atau mendaftar",
|
||||||
"sign_in_banner.text": "Log masuk untuk mengikuti profil atau hashtag, kegemaran, kongsi dan balas pos. Anda juga boleh berinteraksi daripada akaun anda pada server lain.",
|
|
||||||
"status.admin_account": "Buka antara muka penyederhanaan untuk @{name}",
|
"status.admin_account": "Buka antara muka penyederhanaan untuk @{name}",
|
||||||
"status.admin_domain": "antara muka penyederhanaan",
|
"status.admin_domain": "antara muka penyederhanaan",
|
||||||
"status.admin_status": "Buka hantaran ini dalam antara muka penyederhanaan",
|
"status.admin_status": "Buka hantaran ini dalam antara muka penyederhanaan",
|
||||||
|
|
|
@ -582,13 +582,10 @@
|
||||||
"server_banner.about_active_users": "ပြီးခဲ့သည့် ရက်ပေါင်း ၃၀ အတွင်း ဤဆာဗာကို အသုံးပြုသူများ (လအလိုက် လက်ရှိအသုံးပြုသူများ)",
|
"server_banner.about_active_users": "ပြီးခဲ့သည့် ရက်ပေါင်း ၃၀ အတွင်း ဤဆာဗာကို အသုံးပြုသူများ (လအလိုက် လက်ရှိအသုံးပြုသူများ)",
|
||||||
"server_banner.active_users": "လက်ရှိအသုံးပြုသူများ",
|
"server_banner.active_users": "လက်ရှိအသုံးပြုသူများ",
|
||||||
"server_banner.administered_by": "မှ စီမံခန့်ခွဲသည် -",
|
"server_banner.administered_by": "မှ စီမံခန့်ခွဲသည် -",
|
||||||
"server_banner.introduction": "{domain} သည် {mastodon} မှ ပံ့ပိုးပေးထားသော ဗဟိုချုပ်ကိုင်မှုမရှိသည့် လူမှုကွန်ရက်တစ်ခုဖြစ်သည်။",
|
|
||||||
"server_banner.learn_more": "ပိုမိုသိရှိရန်",
|
|
||||||
"server_banner.server_stats": "ဆာဗာအား လက်ရှိအသုံးပြုသူများ -",
|
"server_banner.server_stats": "ဆာဗာအား လက်ရှိအသုံးပြုသူများ -",
|
||||||
"sign_in_banner.create_account": "အကောင့်ဖန်တီးမည်",
|
"sign_in_banner.create_account": "အကောင့်ဖန်တီးမည်",
|
||||||
"sign_in_banner.sign_in": "အကောင့်ဝင်မည်",
|
"sign_in_banner.sign_in": "အကောင့်ဝင်မည်",
|
||||||
"sign_in_banner.sso_redirect": "အကောင့်ဝင်ပါ သို့မဟုတ် မှတ်ပုံတင်ပါ",
|
"sign_in_banner.sso_redirect": "အကောင့်ဝင်ပါ သို့မဟုတ် မှတ်ပုံတင်ပါ",
|
||||||
"sign_in_banner.text": "ပရိုဖိုင်များ သို့မဟုတ် hashtag များ၊ favorite၊ ပို့စ်မျှဝေမှုများနှင့် ပြန်ကြားစာများအသုံးပြုရန်အတွက် အကောင့်ဝင်ပါ။ အခြားဆာဗာပေါ်ရှိ သင့်အကောင့်မှလည်း အပြန်အလှန်ဖလှယ်နိုင်ပါသည်။",
|
|
||||||
"status.admin_account": "@{name} အတွက် စိစစ်ခြင်းကြားခံနယ်ကို ဖွင့်ပါ",
|
"status.admin_account": "@{name} အတွက် စိစစ်ခြင်းကြားခံနယ်ကို ဖွင့်ပါ",
|
||||||
"status.admin_domain": "{domain} အတွက် စိစစ်ခြင်းကြားခံနယ်ကို ဖွင့်ပါ",
|
"status.admin_domain": "{domain} အတွက် စိစစ်ခြင်းကြားခံနယ်ကို ဖွင့်ပါ",
|
||||||
"status.admin_status": "Open this status in the moderation interface",
|
"status.admin_status": "Open this status in the moderation interface",
|
||||||
|
|
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "Dit profiel is door de moderatoren van {domain} verborgen.",
|
"limited_account_hint.title": "Dit profiel is door de moderatoren van {domain} verborgen.",
|
||||||
"link_preview.author": "Door {name}",
|
"link_preview.author": "Door {name}",
|
||||||
"link_preview.more_from_author": "Meer van {name}",
|
"link_preview.more_from_author": "Meer van {name}",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} bericht} other {{counter} berichten}}",
|
||||||
"lists.account.add": "Aan lijst toevoegen",
|
"lists.account.add": "Aan lijst toevoegen",
|
||||||
"lists.account.remove": "Uit lijst verwijderen",
|
"lists.account.remove": "Uit lijst verwijderen",
|
||||||
"lists.delete": "Lijst verwijderen",
|
"lists.delete": "Lijst verwijderen",
|
||||||
|
@ -695,13 +696,13 @@
|
||||||
"server_banner.about_active_users": "Aantal gebruikers tijdens de afgelopen 30 dagen (MAU)",
|
"server_banner.about_active_users": "Aantal gebruikers tijdens de afgelopen 30 dagen (MAU)",
|
||||||
"server_banner.active_users": "actieve gebruikers",
|
"server_banner.active_users": "actieve gebruikers",
|
||||||
"server_banner.administered_by": "Beheerd door:",
|
"server_banner.administered_by": "Beheerd door:",
|
||||||
"server_banner.introduction": "{domain} is onderdeel van het decentrale sociale netwerk {mastodon}.",
|
"server_banner.is_one_of_many": "{domain} is een van de vele onafhankelijke Mastodon-servers die je kunt gebruiken om deel te nemen aan de fediverse.",
|
||||||
"server_banner.learn_more": "Meer leren",
|
|
||||||
"server_banner.server_stats": "Serverstats:",
|
"server_banner.server_stats": "Serverstats:",
|
||||||
"sign_in_banner.create_account": "Registreren",
|
"sign_in_banner.create_account": "Registreren",
|
||||||
|
"sign_in_banner.follow_anyone": "Volg iedereen in de fediverse en zie het allemaal in chronologische volgorde. Geen algoritmes, advertenties of clickbaits.",
|
||||||
|
"sign_in_banner.mastodon_is": "Mastodon is de beste manier om wat er gebeurt bij te houden.",
|
||||||
"sign_in_banner.sign_in": "Inloggen",
|
"sign_in_banner.sign_in": "Inloggen",
|
||||||
"sign_in_banner.sso_redirect": "Inloggen of Registreren",
|
"sign_in_banner.sso_redirect": "Inloggen of Registreren",
|
||||||
"sign_in_banner.text": "Wanneer je een account op deze server hebt, kun je inloggen om mensen of hashtags te volgen, op berichten te reageren of om deze te delen. Wanneer je een account op een andere server hebt, kun je daar inloggen en daar ook interactie met mensen op deze server hebben.",
|
|
||||||
"status.admin_account": "Moderatie-omgeving van @{name} openen",
|
"status.admin_account": "Moderatie-omgeving van @{name} openen",
|
||||||
"status.admin_domain": "Moderatie-omgeving van {domain} openen",
|
"status.admin_domain": "Moderatie-omgeving van {domain} openen",
|
||||||
"status.admin_status": "Dit bericht in de moderatie-omgeving tonen",
|
"status.admin_status": "Dit bericht in de moderatie-omgeving tonen",
|
||||||
|
|
|
@ -414,6 +414,8 @@
|
||||||
"limited_account_hint.action": "Vis profilen likevel",
|
"limited_account_hint.action": "Vis profilen likevel",
|
||||||
"limited_account_hint.title": "Denne profilen er skjult av moderatorane på {domain}.",
|
"limited_account_hint.title": "Denne profilen er skjult av moderatorane på {domain}.",
|
||||||
"link_preview.author": "Av {name}",
|
"link_preview.author": "Av {name}",
|
||||||
|
"link_preview.more_from_author": "Meir frå {name}",
|
||||||
|
"link_preview.shares": "{count, plural,one {{counter} innlegg} other {{counter} innlegg}}",
|
||||||
"lists.account.add": "Legg til i liste",
|
"lists.account.add": "Legg til i liste",
|
||||||
"lists.account.remove": "Fjern frå liste",
|
"lists.account.remove": "Fjern frå liste",
|
||||||
"lists.delete": "Slett liste",
|
"lists.delete": "Slett liste",
|
||||||
|
@ -694,13 +696,10 @@
|
||||||
"server_banner.about_active_users": "Personar som har brukt denne tenaren dei siste 30 dagane (Månadlege Aktive Brukarar)",
|
"server_banner.about_active_users": "Personar som har brukt denne tenaren dei siste 30 dagane (Månadlege Aktive Brukarar)",
|
||||||
"server_banner.active_users": "aktive brukarar",
|
"server_banner.active_users": "aktive brukarar",
|
||||||
"server_banner.administered_by": "Administrert av:",
|
"server_banner.administered_by": "Administrert av:",
|
||||||
"server_banner.introduction": "{domain} er del av det desentraliserte sosiale nettverket drive av {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Lær meir",
|
|
||||||
"server_banner.server_stats": "Tenarstatistikk:",
|
"server_banner.server_stats": "Tenarstatistikk:",
|
||||||
"sign_in_banner.create_account": "Opprett konto",
|
"sign_in_banner.create_account": "Opprett konto",
|
||||||
"sign_in_banner.sign_in": "Logg inn",
|
"sign_in_banner.sign_in": "Logg inn",
|
||||||
"sign_in_banner.sso_redirect": "Logg inn eller registrer deg",
|
"sign_in_banner.sso_redirect": "Logg inn eller registrer deg",
|
||||||
"sign_in_banner.text": "Logg inn for å fylgja profilar eller emneknaggar, og for å lika, dela og svara på innlegg. Du kan òg samhandla med aktivitet på denne tenaren frå kontoar på andre tenarar.",
|
|
||||||
"status.admin_account": "Opne moderasjonsgrensesnitt for @{name}",
|
"status.admin_account": "Opne moderasjonsgrensesnitt for @{name}",
|
||||||
"status.admin_domain": "Opna moderatorgrensesnittet for {domain}",
|
"status.admin_domain": "Opna moderatorgrensesnittet for {domain}",
|
||||||
"status.admin_status": "Opne denne statusen i moderasjonsgrensesnittet",
|
"status.admin_status": "Opne denne statusen i moderasjonsgrensesnittet",
|
||||||
|
|
|
@ -606,13 +606,10 @@
|
||||||
"server_banner.about_active_users": "Personer som har brukt denne serveren i løpet av de siste 30 dagene (aktive brukere månedlig)",
|
"server_banner.about_active_users": "Personer som har brukt denne serveren i løpet av de siste 30 dagene (aktive brukere månedlig)",
|
||||||
"server_banner.active_users": "aktive brukere",
|
"server_banner.active_users": "aktive brukere",
|
||||||
"server_banner.administered_by": "Administrert av:",
|
"server_banner.administered_by": "Administrert av:",
|
||||||
"server_banner.introduction": "{domain} er en del av det desentraliserte sosiale nettverket drevet av {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Finn ut mer",
|
|
||||||
"server_banner.server_stats": "Serverstatistikk:",
|
"server_banner.server_stats": "Serverstatistikk:",
|
||||||
"sign_in_banner.create_account": "Opprett konto",
|
"sign_in_banner.create_account": "Opprett konto",
|
||||||
"sign_in_banner.sign_in": "Logg inn",
|
"sign_in_banner.sign_in": "Logg inn",
|
||||||
"sign_in_banner.sso_redirect": "Logg inn eller registrer deg",
|
"sign_in_banner.sso_redirect": "Logg inn eller registrer deg",
|
||||||
"sign_in_banner.text": "Logg inn for å følge profiler eller emneknagger, favorittmarkere, dele og svare på innlegg. Du kan også samhandle fra din konto på en annen server.",
|
|
||||||
"status.admin_account": "Åpne moderatorgrensesnittet for @{name}",
|
"status.admin_account": "Åpne moderatorgrensesnittet for @{name}",
|
||||||
"status.admin_domain": "Åpne moderatorgrensesnittet for {domain}",
|
"status.admin_domain": "Åpne moderatorgrensesnittet for {domain}",
|
||||||
"status.admin_status": "Åpne denne statusen i moderatorgrensesnittet",
|
"status.admin_status": "Åpne denne statusen i moderatorgrensesnittet",
|
||||||
|
|
|
@ -499,8 +499,6 @@
|
||||||
"search_results.title": "Recèrca : {q}",
|
"search_results.title": "Recèrca : {q}",
|
||||||
"server_banner.active_users": "utilizaires actius",
|
"server_banner.active_users": "utilizaires actius",
|
||||||
"server_banner.administered_by": "Administrat per :",
|
"server_banner.administered_by": "Administrat per :",
|
||||||
"server_banner.introduction": "{domain} fa part del malhum social descentralizat propulsat per {mastodon}.",
|
|
||||||
"server_banner.learn_more": "Ne saber mai",
|
|
||||||
"server_banner.server_stats": "Estatisticas del servidor :",
|
"server_banner.server_stats": "Estatisticas del servidor :",
|
||||||
"sign_in_banner.create_account": "Crear un compte",
|
"sign_in_banner.create_account": "Crear un compte",
|
||||||
"sign_in_banner.sign_in": "Se connectar",
|
"sign_in_banner.sign_in": "Se connectar",
|
||||||
|
|
|
@ -311,7 +311,6 @@
|
||||||
"search_results.see_all": "ਸਭ ਵੇਖੋ",
|
"search_results.see_all": "ਸਭ ਵੇਖੋ",
|
||||||
"search_results.statuses": "ਪੋਸਟਾਂ",
|
"search_results.statuses": "ਪੋਸਟਾਂ",
|
||||||
"search_results.title": "{q} ਲਈ ਖੋਜ",
|
"search_results.title": "{q} ਲਈ ਖੋਜ",
|
||||||
"server_banner.learn_more": "ਹੋਰ ਜਾਣੋ",
|
|
||||||
"sign_in_banner.create_account": "ਖਾਤਾ ਬਣਾਓ",
|
"sign_in_banner.create_account": "ਖਾਤਾ ਬਣਾਓ",
|
||||||
"sign_in_banner.sign_in": "ਲਾਗਇਨ",
|
"sign_in_banner.sign_in": "ਲਾਗਇਨ",
|
||||||
"sign_in_banner.sso_redirect": "ਲਾਗਇਨ ਜਾਂ ਰਜਿਸਟਰ ਕਰੋ",
|
"sign_in_banner.sso_redirect": "ਲਾਗਇਨ ਜਾਂ ਰਜਿਸਟਰ ਕਰੋ",
|
||||||
|
|
|
@ -415,6 +415,7 @@
|
||||||
"limited_account_hint.title": "Ten profil został ukryty przez moderatorów {domain}.",
|
"limited_account_hint.title": "Ten profil został ukryty przez moderatorów {domain}.",
|
||||||
"link_preview.author": "{name}",
|
"link_preview.author": "{name}",
|
||||||
"link_preview.more_from_author": "Więcej od {name}",
|
"link_preview.more_from_author": "Więcej od {name}",
|
||||||
|
"link_preview.shares": "{count, plural, one {{counter} wpis} few {{counter} wpisy} many {{counter} wpisów} other {{counter} wpisów}}",
|
||||||
"lists.account.add": "Dodaj do listy",
|
"lists.account.add": "Dodaj do listy",
|
||||||
"lists.account.remove": "Usunąć z listy",
|
"lists.account.remove": "Usunąć z listy",
|
||||||
"lists.delete": "Usuń listę",
|
"lists.delete": "Usuń listę",
|
||||||
|
@ -694,13 +695,13 @@
|
||||||
"server_banner.about_active_users": "Osoby korzystające z tego serwera w ciągu ostatnich 30 dni (Miesięcznie aktywni użytkownicy)",
|
"server_banner.about_active_users": "Osoby korzystające z tego serwera w ciągu ostatnich 30 dni (Miesięcznie aktywni użytkownicy)",
|
||||||
"server_banner.active_users": "aktywni użytkownicy",
|
"server_banner.active_users": "aktywni użytkownicy",
|
||||||
"server_banner.administered_by": "Zarządzana przez:",
|
"server_banner.administered_by": "Zarządzana przez:",
|
||||||
"server_banner.introduction": "{domain} jest częścią zdecentralizowanej sieci społecznościowej wspieranej przez {mastodon}.",
|
"server_banner.is_one_of_many": "{domain} jest jedną z wielu niezależnych serwerów Mastodon, których możesz użyć by uczestniczyć w fediwersum.",
|
||||||
"server_banner.learn_more": "Dowiedz się więcej",
|
|
||||||
"server_banner.server_stats": "Statystyki serwera:",
|
"server_banner.server_stats": "Statystyki serwera:",
|
||||||
"sign_in_banner.create_account": "Załóż konto",
|
"sign_in_banner.create_account": "Załóż konto",
|
||||||
|
"sign_in_banner.follow_anyone": "Obserwuj kogokolwiek z fediwersum w kolejności chronologicznej. Bez algorytmów ani reklam.",
|
||||||
|
"sign_in_banner.mastodon_is": "Mastodon to najlepszy sposób nadążania za bieżącymi zdarzeniami.",
|
||||||
"sign_in_banner.sign_in": "Zaloguj się",
|
"sign_in_banner.sign_in": "Zaloguj się",
|
||||||
"sign_in_banner.sso_redirect": "Zaloguj/zarejestruj się",
|
"sign_in_banner.sso_redirect": "Zaloguj/zarejestruj się",
|
||||||
"sign_in_banner.text": "Zaloguj się, aby obserwować profile lub hashtagi, polubić, udostępnić oraz odpowiedzieć na posty. Możesz również wejść w interakcję z konta na innym serwerze.",
|
|
||||||
"status.admin_account": "Otwórz interfejs moderacyjny dla @{name}",
|
"status.admin_account": "Otwórz interfejs moderacyjny dla @{name}",
|
||||||
"status.admin_domain": "Otwórz interfejs moderacyjny dla {domain}",
|
"status.admin_domain": "Otwórz interfejs moderacyjny dla {domain}",
|
||||||
"status.admin_status": "Otwórz ten wpis w interfejsie moderacyjnym",
|
"status.admin_status": "Otwórz ten wpis w interfejsie moderacyjnym",
|
||||||
|
|
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