diff --git a/.circleci/config.yml b/.circleci/config.yml
deleted file mode 100644
index 3913a6b0f8..0000000000
--- a/.circleci/config.yml
+++ /dev/null
@@ -1,128 +0,0 @@
-version: 2.1
-
-orbs:
- ruby: circleci/ruby@2.0.0
- node: circleci/node@5.0.3
-
-executors:
- default:
- parameters:
- ruby-version:
- type: string
- docker:
- - image: cimg/ruby:<< parameters.ruby-version >>
- environment:
- BUNDLE_JOBS: 3
- BUNDLE_RETRY: 3
- CONTINUOUS_INTEGRATION: true
- DB_HOST: localhost
- DB_USER: root
- DISABLE_SIMPLECOV: true
- RAILS_ENV: test
- - image: cimg/postgres:14.5
- environment:
- POSTGRES_USER: root
- POSTGRES_HOST_AUTH_METHOD: trust
- - image: cimg/redis:7.0
-
-commands:
- install-system-dependencies:
- steps:
- - run:
- name: Install system dependencies
- command: |
- sudo apt-get update
- sudo apt-get install -y libicu-dev libidn11-dev
- install-ruby-dependencies:
- parameters:
- ruby-version:
- type: string
- steps:
- - run:
- command: |
- bundle config clean 'true'
- bundle config frozen 'true'
- bundle config without 'development production'
- name: Set bundler settings
- - ruby/install-deps:
- bundler-version: '2.3.26'
- key: ruby<< parameters.ruby-version >>-gems-v2
- wait-db:
- steps:
- - run:
- command: dockerize -wait tcp://localhost:5432 -wait tcp://localhost:6379 -timeout 1m
- name: Wait for PostgreSQL and Redis
-
-jobs:
- build:
- docker:
- - image: cimg/ruby:3.2-node
- environment:
- RAILS_ENV: test
- steps:
- - checkout
- - install-system-dependencies
- - install-ruby-dependencies:
- ruby-version: '3.2'
- - node/install-packages:
- cache-version: v1
- pkg-manager: yarn
- - run:
- command: |
- export NODE_OPTIONS=--openssl-legacy-provider
- ./bin/rails assets:precompile
- name: Precompile assets
- - persist_to_workspace:
- paths:
- - public/assets
- - public/packs-test
- root: .
-
- test:
- parameters:
- ruby-version:
- type: string
- executor:
- name: default
- ruby-version: << parameters.ruby-version >>
- environment:
- ALLOW_NOPAM: true
- PAM_ENABLED: true
- PAM_DEFAULT_SERVICE: pam_test
- PAM_CONTROLLED_SERVICE: pam_test_controlled
- parallelism: 4
- steps:
- - checkout
- - install-system-dependencies
- - run:
- command: sudo apt-get install -y ffmpeg imagemagick libmagickcore-dev libmagickwand-dev libjpeg-dev libpng-dev libtiff-dev libwebp-dev libpam-dev
- name: Install additional system dependencies
- - run:
- command: bundle config with 'pam_authentication'
- name: Enable PAM authentication
- - install-ruby-dependencies:
- ruby-version: << parameters.ruby-version >>
- - attach_workspace:
- at: .
- - wait-db
- - run:
- command: ./bin/rails db:create db:schema:load db:seed
- name: Load database schema
- - ruby/rspec-test
-
-workflows:
- version: 2
- build-and-test:
- jobs:
- - build
- - test:
- matrix:
- parameters:
- ruby-version:
- - '2.7'
- - '3.0'
- - '3.1'
- - '3.2'
- name: test-ruby<< matrix.ruby-version >>
- requires:
- - build
diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
index 425b86a6bb..04ac9560ca 100644
--- a/.devcontainer/Dockerfile
+++ b/.devcontainer/Dockerfile
@@ -1,16 +1,14 @@
-# [Choice] Ruby version (use -bullseye variants on local arm64/Apple Silicon): 3, 3.1, 3.0, 2, 2.7, 2.6, 3-bullseye, 3.1-bullseye, 3.0-bullseye, 2-bullseye, 2.7-bullseye, 2.6-bullseye, 3-buster, 3.1-buster, 3.0-buster, 2-buster, 2.7-buster, 2.6-buster
-ARG VARIANT=3.1-bullseye
-FROM mcr.microsoft.com/vscode/devcontainers/ruby:${VARIANT}
+# For details, see https://github.com/devcontainers/images/tree/main/src/ruby
+FROM mcr.microsoft.com/devcontainers/ruby:0-3.2-bullseye
# Install Rails
# RUN gem install rails webdrivers
# Default value to allow debug server to serve content over GitHub Codespace's port forwarding service
# The value is a comma-separated list of allowed domains
-ENV RAILS_DEVELOPMENT_HOSTS=".githubpreview.dev"
+ENV RAILS_DEVELOPMENT_HOSTS=".githubpreview.dev,.preview.app.github.dev,.app.github.dev"
-# [Choice] Node.js version: lts/*, 18, 16, 14
-ARG NODE_VERSION="lts/*"
+ARG NODE_VERSION="16"
RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"
# [Optional] Uncomment this section to install additional OS packages.
@@ -22,3 +20,5 @@ RUN gem install foreman
# [Optional] Uncomment this line to install global node packages.
RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g yarn" 2>&1
+
+COPY welcome-message.txt /usr/local/etc/vscode-dev-containers/first-run-notice.txt
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index 6ac6993ee9..d628fd1bd1 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -1,30 +1,13 @@
+// For more details, see https://aka.ms/devcontainer.json.
{
"name": "Mastodon",
"dockerComposeFile": "docker-compose.yml",
"service": "app",
- "workspaceFolder": "/mastodon",
-
- // Configure tool-specific properties.
- "customizations": {
- // Configure properties specific to VS Code.
- "vscode": {
- // Set *default* container specific settings.json values on container create.
- "settings": {},
-
- // Add the IDs of extensions you want installed when the container is created.
- "extensions": [
- "EditorConfig.EditorConfig",
- "dbaeumer.vscode-eslint",
- "rebornix.Ruby",
- "webben.browserslist"
- ]
- }
- },
+ "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
+ // Features to add to the dev container. More info: https://containers.dev/features.
"features": {
- "ghcr.io/devcontainers/features/sshd:1": {
- "version": "latest"
- }
+ "ghcr.io/devcontainers/features/sshd:1": {}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
@@ -33,7 +16,16 @@
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": ".devcontainer/post-create.sh",
+ "waitFor": "postCreateCommand",
- // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
- "remoteUser": "vscode"
+ // Configure tool-specific properties.
+ "customizations": {
+ // Configure properties specific to VS Code.
+ "vscode": {
+ // Set *default* container specific settings.json values on container create.
+ "settings": {},
+ // Add the IDs of extensions you want installed when the container is created.
+ "extensions": ["EditorConfig.EditorConfig", "webben.browserslist"]
+ }
+ }
}
diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml
index 95f401379c..1b1756eca6 100644
--- a/.devcontainer/docker-compose.yml
+++ b/.devcontainer/docker-compose.yml
@@ -5,15 +5,8 @@ services:
build:
context: .
dockerfile: Dockerfile
- args:
- # Update 'VARIANT' to pick a version of Ruby: 3, 3.1, 3.0, 2, 2.7, 2.6
- # Append -bullseye or -buster to pin to an OS version.
- # Use -bullseye variants on local arm64/Apple Silicon.
- VARIANT: '3.0-bullseye'
- # Optional Node.js version to install
- NODE_VERSION: '16'
volumes:
- - ..:/mastodon:cached
+ - ../..:/workspaces:cached
environment:
RAILS_ENV: development
NODE_ENV: development
@@ -33,7 +26,6 @@ services:
networks:
- external_network
- internal_network
- user: vscode
db:
image: postgres:14-alpine
@@ -49,7 +41,7 @@ services:
- internal_network
redis:
- image: redis:6-alpine
+ image: redis:7-alpine
restart: unless-stopped
volumes:
- redis-data:/data
diff --git a/.devcontainer/welcome-message.txt b/.devcontainer/welcome-message.txt
new file mode 100644
index 0000000000..488cf92857
--- /dev/null
+++ b/.devcontainer/welcome-message.txt
@@ -0,0 +1,8 @@
+👋 Welcome to "Mastodon" in GitHub Codespaces!
+
+🛠️ Your environment is fully setup with all the required software.
+
+🔍 To explore VS Code to its fullest, search using the Command Palette (Cmd/Ctrl + Shift + P or F1).
+
+📝 Edit away, run your app as usual, and we'll automatically make it available for you to access.
+
diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml
index c254418ea7..97a363d1e6 100644
--- a/.github/workflows/build-image.yml
+++ b/.github/workflows/build-image.yml
@@ -25,12 +25,15 @@ jobs:
- uses: hadolint/hadolint-action@v3.1.0
- uses: docker/setup-qemu-action@v2
- uses: docker/setup-buildx-action@v2
- - uses: docker/login-action@v2
+
+ - name: Log in to the Github Container registry
+ uses: docker/login-action@v2
with:
registry: ghcr.io
- username: ${{ github.repository_owner }}
+ username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
if: github.event_name != 'pull_request'
+
- uses: docker/metadata-action@v4
id: meta
with:
@@ -39,6 +42,7 @@ jobs:
type=raw,value=latest,enable={{is_default_branch}}
type=edge,branch=main
type=sha,prefix=,format=long
+
- uses: docker/build-push-action@v4
with:
context: .
@@ -47,5 +51,6 @@ jobs:
builder: ${{ steps.buildx.outputs.name }}
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
+ labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
diff --git a/.github/workflows/haml-lint-problem-matcher.json b/.github/workflows/haml-lint-problem-matcher.json
new file mode 100644
index 0000000000..3523ea2951
--- /dev/null
+++ b/.github/workflows/haml-lint-problem-matcher.json
@@ -0,0 +1,17 @@
+{
+ "problemMatcher": [
+ {
+ "owner": "haml-lint",
+ "severity": "warning",
+ "pattern": [
+ {
+ "regexp": "^(.*):(\\d+)\\s\\[W]\\s(.*):\\s(.*)$",
+ "file": 1,
+ "line": 2,
+ "code": 3,
+ "message": 4
+ }
+ ]
+ }
+ ]
+}
diff --git a/.github/workflows/lint-haml.yml b/.github/workflows/lint-haml.yml
new file mode 100644
index 0000000000..a2b22a6590
--- /dev/null
+++ b/.github/workflows/lint-haml.yml
@@ -0,0 +1,44 @@
+name: Haml Linting
+on:
+ push:
+ branches-ignore:
+ - 'dependabot/**'
+ paths:
+ - '.github/workflows/haml-lint-problem-matcher.json'
+ - '.github/workflows/lint-haml.yml'
+ - '.haml-lint*.yml'
+ - '.rubocop*.yml'
+ - '.ruby-version'
+ - '**/*.haml'
+ - 'Gemfile*'
+
+ pull_request:
+ paths:
+ - '.github/workflows/haml-lint-problem-matcher.json'
+ - '.github/workflows/lint-haml.yml'
+ - '.haml-lint*.yml'
+ - '.rubocop*.yml'
+ - '.ruby-version'
+ - '**/*.haml'
+ - 'Gemfile*'
+
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v3
+
+ - name: Install native Ruby dependencies
+ run: sudo apt-get install -y libicu-dev libidn11-dev
+
+ - name: Set up Ruby
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: .ruby-version
+ bundler-cache: true
+
+ - name: Run haml-lint
+ run: |
+ echo "::add-matcher::.github/workflows/haml-lint-problem-matcher.json"
+ bundle exec haml-lint
diff --git a/.github/workflows/rebase-needed.yml b/.github/workflows/rebase-needed.yml
index 99b224ec60..6a8035210c 100644
--- a/.github/workflows/rebase-needed.yml
+++ b/.github/workflows/rebase-needed.yml
@@ -2,7 +2,13 @@ name: PR Needs Rebase
on:
push:
+ branches-ignore:
+ - 'dependabot/**'
+ - 'l10n_main'
pull_request_target:
+ branches-ignore:
+ - 'dependabot/**'
+ - 'l10n_main'
types: [synchronize]
permissions:
diff --git a/.github/workflows/test-migrations-one-step.yml b/.github/workflows/test-migrations-one-step.yml
index 8f070697ca..a3594e5535 100644
--- a/.github/workflows/test-migrations-one-step.yml
+++ b/.github/workflows/test-migrations-one-step.yml
@@ -25,7 +25,7 @@ jobs:
services:
postgres:
- image: postgres:14.5
+ image: postgres:14-alpine
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
@@ -38,7 +38,7 @@ jobs:
- 5432:5432
redis:
- image: redis:7.0
+ image: redis:7-alpine
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
diff --git a/.github/workflows/test-migrations-two-step.yml b/.github/workflows/test-migrations-two-step.yml
index 2fdce80254..f357bc9f68 100644
--- a/.github/workflows/test-migrations-two-step.yml
+++ b/.github/workflows/test-migrations-two-step.yml
@@ -25,7 +25,7 @@ jobs:
services:
postgres:
- image: postgres:14.5
+ image: postgres:14-alpine
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
@@ -37,7 +37,7 @@ jobs:
ports:
- 5432:5432
redis:
- image: redis:7.0
+ image: redis:7-alpine
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
diff --git a/.github/workflows/test-ruby.yml b/.github/workflows/test-ruby.yml
new file mode 100644
index 0000000000..bfdabd4ea6
--- /dev/null
+++ b/.github/workflows/test-ruby.yml
@@ -0,0 +1,141 @@
+name: Ruby Testing
+
+on:
+ push:
+ branches-ignore:
+ - 'dependabot/**'
+ pull_request:
+
+env:
+ BUNDLE_CLEAN: true
+ BUNDLE_FROZEN: true
+ BUNDLE_WITHOUT: 'development production'
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ env:
+ RAILS_ENV: test
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v3
+ with:
+ cache: yarn
+ node-version-file: '.nvmrc'
+
+ - name: Install native Ruby dependencies
+ run: sudo apt-get install -y libicu-dev libidn11-dev
+
+ - name: Set up bundler cache
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: .ruby-version
+ bundler-cache: true
+
+ - run: yarn install --frozen-lockfile
+ - name: Precompile assets
+ # Previously had set this, but it's not supported
+ # export NODE_OPTIONS=--openssl-legacy-provider
+ run: |-
+ ./bin/rails assets:precompile
+
+ - uses: actions/upload-artifact@v3
+ with:
+ path: |-
+ ./public/assets
+ ./public/packs-test
+ name: ${{ github.sha }}
+ retention-days: 0
+
+ test:
+ runs-on: ubuntu-latest
+
+ needs:
+ - build
+
+ services:
+ postgres:
+ image: postgres:14-alpine
+ 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:
+ DB_HOST: localhost
+ DB_USER: postgres
+ DB_PASS: postgres
+ DISABLE_SIMPLECOV: true
+ RAILS_ENV: test
+ ALLOW_NOPAM: true
+ PAM_ENABLED: true
+ PAM_DEFAULT_SERVICE: pam_test
+ PAM_CONTROLLED_SERVICE: pam_test_controlled
+ BUNDLE_WITH: 'pam_authentication'
+ CI_JOBS: ${{ matrix.ci_job }}/4
+
+ strategy:
+ fail-fast: false
+ matrix:
+ ruby-version:
+ - '2.7'
+ - '3.0'
+ - '3.1'
+ - '.ruby-version'
+ ci_job:
+ - 1
+ - 2
+ - 3
+ - 4
+ steps:
+ - uses: actions/checkout@v3
+
+ - uses: actions/download-artifact@v3
+ with:
+ path: './public'
+ name: ${{ github.sha }}
+
+ - name: Install native Ruby dependencies
+ run: sudo apt-get install -y libicu-dev libidn11-dev
+
+ - name: Install additional system dependencies
+ run: sudo apt-get install -y ffmpeg imagemagick libpam-dev
+
+ - name: Set up bundler cache
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: ${{ matrix.ruby-version}}
+ bundler-cache: true
+
+ - name: Update system gems
+ if: matrix.ruby-version == '2.7'
+ run: gem update --system
+
+ - name: Load database schema
+ run: './bin/rails db:create db:schema:load db:seed'
+
+ - run: bundle exec rake rspec_chunked
diff --git a/.haml-lint.yml b/.haml-lint.yml
index 7853d81d7c..12ca463422 100644
--- a/.haml-lint.yml
+++ b/.haml-lint.yml
@@ -1,108 +1,9 @@
-# Whether to ignore frontmatter at the beginning of HAML documents for
-# frameworks such as Jekyll/Middleman
-skip_frontmatter: false
+inherits_from: .haml-lint_todo.yml
exclude:
- 'vendor/**/*'
- - 'spec/**/*'
- - 'lib/templates/**/*'
- - 'app/views/kaminari/**/*'
+ - lib/templates/haml/scaffold/_form.html.haml
linters:
AltText:
- enabled: false
-
- ClassAttributeWithStaticValue:
- enabled: true
-
- ClassesBeforeIds:
- enabled: true
-
- ConsecutiveComments:
- enabled: true
-
- ConsecutiveSilentScripts:
- enabled: true
- max_consecutive: 2
-
- EmptyObjectReference:
- enabled: true
-
- EmptyScript:
- enabled: true
-
- FinalNewline:
- enabled: true
- present: true
-
- HtmlAttributes:
- enabled: true
-
- ImplicitDiv:
- enabled: true
-
- LeadingCommentSpace:
- enabled: true
-
- LineLength:
- enabled: false
- max: 80
-
- MultilinePipe:
- enabled: true
-
- MultilineScript:
- enabled: true
-
- ObjectReferenceAttributes:
- enabled: true
-
- RuboCop:
- enabled: true
- # These cops are incredibly noisy when it comes to HAML templates, so we
- # ignore them.
- ignored_cops:
- - Lint/BlockAlignment
- - Lint/EndAlignment
- - Lint/Void
- - Metrics/BlockLength
- - Metrics/LineLength
- - Style/AlignParameters
- - Style/BlockNesting
- - Style/ElseAlignment
- - Style/EndOfLine
- - Style/FileName
- - Style/FinalNewline
- - Style/FrozenStringLiteralComment
- - Style/IfUnlessModifier
- - Style/IndentationWidth
- - Style/Next
- - Style/TrailingBlankLines
- - Style/TrailingWhitespace
- - Style/WhileUntilModifier
-
- RubyComments:
- enabled: true
-
- SpaceBeforeScript:
- enabled: true
-
- SpaceInsideHashAttributes:
- enabled: true
- style: space
-
- Indentation:
- enabled: true
- character: space # or tab
-
- TagName:
- enabled: true
-
- TrailingWhitespace:
- enabled: true
-
- UnnecessaryInterpolation:
- enabled: true
-
- UnnecessaryStringOutput:
enabled: true
diff --git a/.haml-lint_todo.yml b/.haml-lint_todo.yml
new file mode 100644
index 0000000000..c601683907
--- /dev/null
+++ b/.haml-lint_todo.yml
@@ -0,0 +1,106 @@
+# This configuration was generated by
+# `haml-lint --auto-gen-config`
+# on 2023-03-15 00:55:01 -0400 using Haml-Lint version 0.45.0.
+# The point is for the user to remove these configuration records
+# one by one as the lints are removed from the code base.
+# Note that changes in the inspected code, or installation of new
+# versions of Haml-Lint, may require this file to be generated again.
+
+linters:
+ # Offense count: 63
+ RuboCop:
+ exclude:
+ - 'app/views/accounts/_og.html.haml'
+ - 'app/views/admin/account_warnings/_account_warning.html.haml'
+ - 'app/views/admin/accounts/index.html.haml'
+ - 'app/views/admin/accounts/show.html.haml'
+ - 'app/views/admin/announcements/edit.html.haml'
+ - 'app/views/admin/announcements/new.html.haml'
+ - 'app/views/admin/disputes/appeals/_appeal.html.haml'
+ - 'app/views/admin/domain_blocks/edit.html.haml'
+ - 'app/views/admin/domain_blocks/new.html.haml'
+ - 'app/views/admin/ip_blocks/new.html.haml'
+ - 'app/views/admin/reports/actions/preview.html.haml'
+ - 'app/views/admin/reports/index.html.haml'
+ - 'app/views/admin/reports/show.html.haml'
+ - 'app/views/admin/roles/_form.html.haml'
+ - 'app/views/admin/settings/about/show.html.haml'
+ - 'app/views/admin/settings/appearance/show.html.haml'
+ - 'app/views/admin/settings/registrations/show.html.haml'
+ - 'app/views/admin/statuses/show.html.haml'
+ - 'app/views/auth/registrations/new.html.haml'
+ - 'app/views/disputes/strikes/show.html.haml'
+ - 'app/views/filters/_filter_fields.html.haml'
+ - 'app/views/invites/_form.html.haml'
+ - 'app/views/layouts/application.html.haml'
+ - 'app/views/layouts/error.html.haml'
+ - 'app/views/notification_mailer/_status.html.haml'
+ - 'app/views/settings/applications/_fields.html.haml'
+ - 'app/views/settings/imports/show.html.haml'
+ - 'app/views/settings/preferences/appearance/show.html.haml'
+ - 'app/views/settings/preferences/other/show.html.haml'
+ - 'app/views/statuses/_detailed_status.html.haml'
+ - 'app/views/statuses/_poll.html.haml'
+ - 'app/views/statuses/show.html.haml'
+ - 'app/views/statuses_cleanup/show.html.haml'
+ - 'app/views/user_mailer/warning.html.haml'
+
+ # Offense count: 913
+ LineLength:
+ enabled: false
+
+ # Offense count: 22
+ UnnecessaryStringOutput:
+ exclude:
+ - 'app/views/accounts/show.html.haml'
+ - 'app/views/admin/custom_emojis/_custom_emoji.html.haml'
+ - 'app/views/admin/relays/_relay.html.haml'
+ - 'app/views/admin/rules/_rule.html.haml'
+ - 'app/views/admin/statuses/index.html.haml'
+ - 'app/views/auth/registrations/_sessions.html.haml'
+ - 'app/views/disputes/strikes/show.html.haml'
+ - 'app/views/notification_mailer/_status.html.haml'
+ - 'app/views/settings/two_factor_authentication_methods/index.html.haml'
+ - 'app/views/statuses/_detailed_status.html.haml'
+ - 'app/views/statuses/_poll.html.haml'
+ - 'app/views/statuses/_simple_status.html.haml'
+ - 'app/views/user_mailer/suspicious_sign_in.html.haml'
+ - 'app/views/user_mailer/webauthn_credential_added.html.haml'
+ - 'app/views/user_mailer/webauthn_credential_deleted.html.haml'
+ - 'app/views/user_mailer/welcome.html.haml'
+
+ # Offense count: 3
+ ViewLength:
+ exclude:
+ - 'app/views/admin/accounts/show.html.haml'
+ - 'app/views/admin/reports/show.html.haml'
+ - 'app/views/disputes/strikes/show.html.haml'
+
+ # Offense count: 41
+ InstanceVariables:
+ exclude:
+ - 'app/views/admin/reports/_actions.html.haml'
+ - 'app/views/admin/roles/_form.html.haml'
+ - 'app/views/admin/webhooks/_form.html.haml'
+ - 'app/views/auth/registrations/_sessions.html.haml'
+ - 'app/views/auth/registrations/_status.html.haml'
+ - 'app/views/auth/sessions/two_factor/_otp_authentication_form.html.haml'
+ - 'app/views/authorize_interactions/_post_follow_actions.html.haml'
+ - 'app/views/invites/_form.html.haml'
+ - 'app/views/relationships/_account.html.haml'
+ - 'app/views/shared/_og.html.haml'
+ - 'app/views/statuses/_status.html.haml'
+
+ # Offense count: 6
+ ConsecutiveSilentScripts:
+ exclude:
+ - 'app/views/admin/settings/shared/_links.html.haml'
+ - 'app/views/settings/login_activities/_login_activity.html.haml'
+ - 'app/views/statuses/_poll.html.haml'
+
+ # Offense count: 3
+ IdNames:
+ exclude:
+ - 'app/views/authorize_interactions/error.html.haml'
+ - 'app/views/oauth/authorizations/error.html.haml'
+ - 'app/views/shared/_error_messages.html.haml'
diff --git a/.rubocop.yml b/.rubocop.yml
index 27d778edfb..9e9240636f 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -8,6 +8,7 @@ require:
- rubocop-rails
- rubocop-rspec
- rubocop-performance
+ - rubocop-capybara
AllCops:
TargetRubyVersion: 2.7
@@ -19,8 +20,6 @@ AllCops:
NewCops: enable
Exclude:
- db/schema.rb
- - 'app/views/**/*'
- - 'config/**/*'
- 'bin/*'
- 'Rakefile'
- 'node_modules/**/*'
@@ -33,7 +32,6 @@ Layout/FirstHashElementIndentation:
EnforcedStyle: consistent
Layout/LineLength:
- Max: 140 # RuboCop default 120
AllowedPatterns:
# Allow comments to be long lines
- !ruby/regexp / \# .*$/
@@ -48,13 +46,11 @@ Lint/UselessAccessModifier:
- class_methods
Metrics/AbcSize:
- Max: 34 # RuboCop default 17
Exclude:
- 'lib/**/*cli*.rb'
- db/*migrate/**/*
Metrics/BlockLength:
- Max: 55 # Default 25
CountAsOne: [array, heredoc]
Exclude:
- 'lib/mastodon/*_cli.rb'
@@ -64,30 +60,23 @@ Metrics/BlockNesting:
- 'lib/mastodon/*_cli.rb'
Metrics/ClassLength:
- Max: 500 # Default 100
CountAsOne: [array, heredoc]
Exclude:
- 'lib/mastodon/*_cli.rb'
Metrics/CyclomaticComplexity:
- Max: 12 # Default 7
Exclude:
- lib/mastodon/*cli*.rb
- db/*migrate/**/*
Metrics/MethodLength:
- Max: 25 # RuboCop default 10
CountAsOne: [array, heredoc]
Exclude:
- 'lib/mastodon/*_cli.rb'
Metrics/ModuleLength:
- Max: 200 # Default 100
CountAsOne: [array, heredoc]
-Metrics/PerceivedComplexity:
- Max: 16 # RuboCop default 8
-
Rails/HttpStatus:
EnforcedStyle: numeric
@@ -97,12 +86,43 @@ Rails/Exit:
- 'lib/mastodon/cli_helper.rb'
- 'lib/cli.rb'
+# Reason: Some single letter camel case files shouldn't be split
+# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecfilepath
+RSpec/FilePath:
+ CustomTransform:
+ ActivityPub: activitypub # Ignore the snake_case due to the amount of files to rename
+ DeepL: deepl
+ FetchOEmbedService: fetch_oembed_service
+ JsonLdHelper: jsonld_helper
+ OEmbedController: oembed_controller
+ OStatus: ostatus
+ NodeInfoController: nodeinfo_controller # NodeInfo isn't snake_cased for any of the instances
+ Exclude:
+ - 'spec/config/initializers/rack_attack_spec.rb' # namespaces usually have separate folder
+ - 'spec/lib/sanitize_config_spec.rb' # namespaces usually have separate folder
+ - 'spec/controllers/concerns/account_controller_concern_spec.rb' # Concerns describe ApplicationController and don't fit naming
+ - 'spec/controllers/concerns/export_controller_concern_spec.rb'
+ - 'spec/controllers/concerns/localized_spec.rb'
+ - 'spec/controllers/concerns/rate_limit_headers_spec.rb'
+ - 'spec/controllers/concerns/signature_verification_spec.rb'
+ - 'spec/controllers/concerns/user_tracking_concern_spec.rb'
+
RSpec/NotToNot:
EnforcedStyle: to_not
RSpec/Rails/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
+
Style/HashSyntax:
EnforcedStyle: ruby19_no_mixed_keys
@@ -123,3 +143,6 @@ Style/TrailingCommaInArrayLiteral:
Style/TrailingCommaInHashLiteral:
EnforcedStyleForMultiline: 'comma'
+
+Style/SymbolArray:
+ Enabled: false
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index 8cd4afa5af..3b4ff3597e 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -1,12 +1,11 @@
# This configuration was generated by
-# `rubocop --auto-gen-config --auto-gen-only-exclude --no-exclude-limit`
-# on 2023-02-19 06:22:09 UTC using RuboCop version 1.45.1.
+# `rubocop --auto-gen-config --auto-gen-only-exclude --no-exclude-limit --no-offense-counts --no-auto-gen-timestamp`
+# using RuboCop version 1.48.1.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.
-# Offense count: 15
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation, Include.
# Include: **/*.gemfile, **/Gemfile, **/gems.rb
@@ -14,14 +13,81 @@ Bundler/OrderedGems:
Exclude:
- 'Gemfile'
-# Offense count: 581
# This cop supports safe autocorrection (--autocorrect).
-# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
-# URISchemes: http, https
-Layout/LineLength:
- Enabled: false
+# Configuration parameters: EnforcedStyle, IndentationWidth.
+# SupportedStyles: with_first_argument, with_fixed_indentation
+Layout/ArgumentAlignment:
+ Exclude:
+ - 'config/initializers/cors.rb'
+ - 'config/initializers/session_store.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: empty_lines, no_empty_lines
+Layout/EmptyLinesAroundBlockBody:
+ Exclude:
+ - 'config/routes.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment.
+Layout/ExtraSpacing:
+ Exclude:
+ - 'config/initializers/omniauth.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
+# SupportedHashRocketStyles: key, separator, table
+# SupportedColonStyles: key, separator, table
+# SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
+Layout/HashAlignment:
+ Exclude:
+ - 'config/boot.rb'
+ - 'config/environments/production.rb'
+ - 'config/initializers/rack_attack.rb'
+ - 'config/routes.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: Width, AllowedPatterns.
+Layout/IndentationWidth:
+ Exclude:
+ - 'config/initializers/ffmpeg.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: AllowDoxygenCommentStyle, AllowGemfileRubyComment.
+Layout/LeadingCommentSpace:
+ Exclude:
+ - 'config/application.rb'
+ - 'config/initializers/omniauth.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
+# SupportedStyles: space, no_space
+# SupportedStylesForEmptyBraces: space, no_space
+Layout/SpaceBeforeBlockBraces:
+ Exclude:
+ - 'config/initializers/paperclip.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: require_no_space, require_space
+Layout/SpaceInLambdaLiteral:
+ Exclude:
+ - 'config/environments/production.rb'
+ - 'config/initializers/content_security_policy.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: space, no_space
+Layout/SpaceInsideStringInterpolation:
+ Exclude:
+ - 'config/initializers/webauthn.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: AllowInHeredoc.
+Layout/TrailingWhitespace:
+ Exclude:
+ - 'config/initializers/paperclip.rb'
-# Offense count: 14
# Configuration parameters: AllowedMethods, AllowedPatterns.
Lint/AmbiguousBlockAssociation:
Exclude:
@@ -35,7 +101,11 @@ Lint/AmbiguousBlockAssociation:
- 'spec/services/unsuspend_account_service_spec.rb'
- 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb'
-# Offense count: 15
+# This cop supports safe autocorrection (--autocorrect).
+Lint/AmbiguousOperatorPrecedence:
+ Exclude:
+ - 'config/initializers/rack_attack.rb'
+
# Configuration parameters: AllowedMethods.
# AllowedMethods: enums
Lint/ConstantDefinitionInBlock:
@@ -50,7 +120,6 @@ Lint/ConstantDefinitionInBlock:
- 'spec/lib/settings/extend_spec.rb'
- 'spec/models/concerns/remotable_spec.rb'
-# Offense count: 5
# Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches.
Lint/DuplicateBranch:
Exclude:
@@ -60,7 +129,6 @@ Lint/DuplicateBranch:
- 'app/validators/vote_validator.rb'
- 'lib/mastodon/maintenance_cli.rb'
-# Offense count: 42
# Configuration parameters: AllowComments, AllowEmptyLambdas.
Lint/EmptyBlock:
Exclude:
@@ -68,11 +136,7 @@ Lint/EmptyBlock:
- 'spec/controllers/application_controller_spec.rb'
- 'spec/fabricators/access_token_fabricator.rb'
- 'spec/fabricators/conversation_fabricator.rb'
- - 'spec/fabricators/conversation_mute_fabricator.rb'
- - 'spec/fabricators/import_fabricator.rb'
- - 'spec/fabricators/setting_fabricator.rb'
- 'spec/fabricators/system_key_fabricator.rb'
- - 'spec/fabricators/web_setting_fabricator.rb'
- 'spec/helpers/admin/action_logs_helper_spec.rb'
- 'spec/lib/activitypub/adapter_spec.rb'
- 'spec/models/account_alias_spec.rb'
@@ -93,7 +157,6 @@ Lint/EmptyBlock:
- 'spec/models/list_spec.rb'
- 'spec/models/login_activity_spec.rb'
- 'spec/models/mute_spec.rb'
- - 'spec/models/one_time_key_spec.rb'
- 'spec/models/preview_card_spec.rb'
- 'spec/models/preview_card_trend_spec.rb'
- 'spec/models/relay_spec.rb'
@@ -107,33 +170,43 @@ Lint/EmptyBlock:
- 'spec/models/user_role_spec.rb'
- 'spec/models/web/setting_spec.rb'
-# Offense count: 1
# Configuration parameters: AllowComments.
Lint/EmptyClass:
Exclude:
- 'spec/controllers/api/base_controller_spec.rb'
-# Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all).
Lint/NonDeterministicRequireOrder:
Exclude:
- 'spec/rails_helper.rb'
-# Offense count: 1
Lint/NonLocalExitFromIterator:
Exclude:
- 'app/helpers/jsonld_helper.rb'
-# Offense count: 2
# This cop supports unsafe autocorrection (--autocorrect-all).
Lint/OrAssignmentToConstant:
Exclude:
- 'lib/sanitize_ext/sanitize_config.rb'
-# Offense count: 33
+# This cop supports safe autocorrection (--autocorrect).
+Lint/SendWithMixinArgument:
+ Exclude:
+ - 'config/application.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
+Lint/UnusedBlockArgument:
+ Exclude:
+ - 'config/initializers/content_security_policy.rb'
+ - 'config/initializers/doorkeeper.rb'
+ - 'config/initializers/paperclip.rb'
+ - 'config/initializers/simple_form.rb'
+
Lint/UselessAssignment:
Exclude:
- 'app/services/activitypub/process_status_update_service.rb'
+ - 'config/initializers/omniauth.rb'
- 'db/migrate/20190511134027_add_silenced_at_suspended_at_to_accounts.rb'
- 'db/post_migrate/20190511152737_remove_suspended_silenced_account_fields.rb'
- 'spec/controllers/api/v1/bookmarks_controller_spec.rb'
@@ -151,53 +224,46 @@ Lint/UselessAssignment:
- 'spec/services/resolve_url_service_spec.rb'
- 'spec/views/statuses/show.html.haml_spec.rb'
-# Offense count: 3
# Configuration parameters: CheckForMethodsWithNoSideEffects.
Lint/Void:
Exclude:
- 'spec/services/resolve_account_service_spec.rb'
-# Offense count: 66
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
Metrics/AbcSize:
- Enabled: false
+ Max: 150
-# Offense count: 10
-# Configuration parameters: CountComments, Max, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode.
+# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode.
# AllowedMethods: refine
Metrics/BlockLength:
- Exclude:
- - 'app/models/concerns/account_interactions.rb'
- - 'db/post_migrate/20221101190723_backfill_admin_action_logs.rb'
- - 'db/post_migrate/20221206114142_backfill_admin_action_logs_again.rb'
- - 'lib/tasks/branding.rake'
- - 'lib/tasks/mastodon.rake'
- - 'lib/tasks/repo.rake'
- - 'lib/tasks/tests.rake'
+ Max: 544
-# Offense count: 1
# Configuration parameters: CountBlocks, Max.
Metrics/BlockNesting:
Exclude:
- 'lib/tasks/mastodon.rake'
-# Offense count: 39
+# Configuration parameters: CountComments, CountAsOne.
+Metrics/ClassLength:
+ Max: 375
+
# Configuration parameters: AllowedMethods, AllowedPatterns.
Metrics/CyclomaticComplexity:
- Enabled: false
+ Max: 25
-# Offense count: 35
# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
Metrics/MethodLength:
- Enabled: false
+ Max: 58
-# Offense count: 1
# Configuration parameters: CountComments, Max, CountAsOne.
Metrics/ModuleLength:
Exclude:
+ - 'app/controllers/concerns/signature_verification.rb'
+ - 'app/helpers/application_helper.rb'
+ - 'app/helpers/jsonld_helper.rb'
+ - 'app/helpers/statuses_helper.rb'
- 'app/models/concerns/account_interactions.rb'
-# Offense count: 5
# Configuration parameters: Max, CountKeywordArgs, MaxOptionalParameters.
Metrics/ParameterLists:
Exclude:
@@ -206,32 +272,21 @@ Metrics/ParameterLists:
- 'app/services/activitypub/fetch_remote_actor_service.rb'
- 'app/services/activitypub/fetch_remote_status_service.rb'
-# Offense count: 16
-# Configuration parameters: AllowedMethods, AllowedPatterns, Max.
+# Configuration parameters: AllowedMethods, AllowedPatterns.
Metrics/PerceivedComplexity:
- Exclude:
- - 'app/helpers/jsonld_helper.rb'
- - 'app/lib/feed_manager.rb'
- - 'app/lib/status_cache_hydrator.rb'
- - 'app/lib/user_settings_decorator.rb'
- - 'app/models/trends/links.rb'
- - 'app/services/activitypub/fetch_remote_key_service.rb'
- - 'app/services/activitypub/fetch_remote_status_service.rb'
- - 'app/services/activitypub/process_account_service.rb'
- - 'app/services/fetch_link_card_service.rb'
- - 'app/services/fetch_oembed_service.rb'
- - 'app/services/process_mentions_service.rb'
- - 'app/services/resolve_account_service.rb'
- - 'lib/mastodon/accounts_cli.rb'
- - 'lib/mastodon/domains_cli.rb'
- - 'lib/mastodon/maintenance_cli.rb'
+ Max: 28
-# Offense count: 1
Naming/AccessorMethodName:
Exclude:
- 'app/controllers/auth/sessions_controller.rb'
-# Offense count: 7
+# Configuration parameters: ExpectMatchingDefinition, CheckDefinitionPathHierarchy, CheckDefinitionPathHierarchyRoots, Regex, IgnoreExecutableScripts, AllowedAcronyms.
+# CheckDefinitionPathHierarchyRoots: lib, spec, test, src
+# AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
+Naming/FileName:
+ Exclude:
+ - 'config/locales/sr-Latn.rb'
+
# Configuration parameters: EnforcedStyleForLeadingUnderscores.
# SupportedStylesForLeadingUnderscores: disallowed, required, optional
Naming/MemoizedInstanceVariableName:
@@ -242,11 +297,11 @@ Naming/MemoizedInstanceVariableName:
- 'app/lib/activitypub/activity.rb'
- 'app/services/resolve_url_service.rb'
- 'app/services/search_service.rb'
+ - 'config/initializers/rack_attack.rb'
-# Offense count: 50
# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns.
# SupportedStyles: snake_case, normalcase, non_integer
-# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339
+# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64
Naming/VariableNumber:
Exclude:
- 'db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb'
@@ -263,7 +318,6 @@ Naming/VariableNumber:
- 'spec/models/user_spec.rb'
- 'spec/services/activitypub/fetch_featured_collection_service_spec.rb'
-# Offense count: 12
# Configuration parameters: MinSize.
Performance/CollectionLiteralInLoop:
Exclude:
@@ -276,16 +330,15 @@ Performance/CollectionLiteralInLoop:
- 'app/services/fetch_resource_service.rb'
- 'app/services/suspend_account_service.rb'
- 'app/services/unsuspend_account_service.rb'
+ - 'config/deploy.rb'
- 'lib/mastodon/media_cli.rb'
-# Offense count: 4
# This cop supports unsafe autocorrection (--autocorrect-all).
Performance/Count:
Exclude:
- 'app/lib/importer/accounts_index_importer.rb'
- 'app/lib/importer/tags_index_importer.rb'
-# Offense count: 10
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: SafeMultiline.
Performance/DeletePrefix:
@@ -301,14 +354,6 @@ Performance/DeletePrefix:
- 'app/services/resolve_account_service.rb'
- 'app/services/tag_search_service.rb'
-# Offense count: 1
-# This cop supports unsafe autocorrection (--autocorrect-all).
-# Configuration parameters: SafeMultiline.
-Performance/DeleteSuffix:
- Exclude:
- - 'lib/tasks/repo.rake'
-
-# Offense count: 19
# This cop supports unsafe autocorrection (--autocorrect-all).
Performance/MapCompact:
Exclude:
@@ -328,36 +373,36 @@ Performance/MapCompact:
- 'db/migrate/20200407202420_migrate_unavailable_inboxes.rb'
- 'spec/presenters/status_relationships_presenter_spec.rb'
-# Offense count: 7
Performance/MethodObjectAsBlock:
Exclude:
- 'app/models/account_suggestions/source.rb'
- 'spec/models/export_spec.rb'
-# Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all).
Performance/RedundantEqualityComparisonBlock:
Exclude:
- 'spec/requests/link_headers_spec.rb'
-# Offense count: 1
+# This cop supports unsafe autocorrection (--autocorrect-all).
+# Configuration parameters: MaxKeyValuePairs.
+Performance/RedundantMerge:
+ Exclude:
+ - 'config/initializers/paperclip.rb'
+
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: SafeMultiline.
Performance/StartWith:
Exclude:
- 'app/lib/extractor.rb'
-# Offense count: 4
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: OnlySumOrWithInitialValue.
Performance/Sum:
Exclude:
- 'app/lib/activity_tracker.rb'
- 'app/models/trends/history.rb'
- - 'app/workers/scheduler/accounts_statuses_cleanup_scheduler.rb'
- 'lib/paperclip/color_extractor.rb'
-# Offense count: 15
# This cop supports unsafe autocorrection (--autocorrect-all).
Performance/TimesMap:
Exclude:
@@ -367,7 +412,6 @@ Performance/TimesMap:
- 'spec/lib/request_pool_spec.rb'
- 'spec/models/account_spec.rb'
-# Offense count: 4
# This cop supports unsafe autocorrection (--autocorrect-all).
Performance/UnfreezeString:
Exclude:
@@ -376,7 +420,6 @@ Performance/UnfreezeString:
- 'app/validators/status_length_validator.rb'
- 'lib/tasks/mastodon.rake'
-# Offense count: 27
RSpec/AnyInstance:
Exclude:
- 'spec/controllers/activitypub/inboxes_controller_spec.rb'
@@ -397,12 +440,10 @@ RSpec/AnyInstance:
- 'spec/workers/activitypub/delivery_worker_spec.rb'
- 'spec/workers/web/push_notification_worker_spec.rb'
-# Offense count: 1
RSpec/BeforeAfterAll:
Exclude:
- 'spec/requests/localization_spec.rb'
-# Offense count: 558
# Configuration parameters: Prefixes, AllowedPatterns.
# Prefixes: when, with, without
RSpec/ContextWording:
@@ -447,7 +488,6 @@ RSpec/ContextWording:
- 'spec/lib/html_aware_formatter_spec.rb'
- 'spec/lib/link_details_extractor_spec.rb'
- 'spec/lib/ostatus/tag_manager_spec.rb'
- - 'spec/lib/plain_text_formatter_spec.rb'
- 'spec/lib/scope_transformer_spec.rb'
- 'spec/lib/status_cache_hydrator_spec.rb'
- 'spec/lib/status_reach_finder_spec.rb'
@@ -513,7 +553,6 @@ RSpec/ContextWording:
- 'spec/workers/move_worker_spec.rb'
- 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb'
-# Offense count: 339
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: SkipBlocks, EnforcedStyle.
# SupportedStyles: described_class, explicit
@@ -555,7 +594,6 @@ RSpec/DescribedClass:
- 'spec/models/user_spec.rb'
- 'spec/policies/account_moderation_note_policy_spec.rb'
- 'spec/presenters/account_relationships_presenter_spec.rb'
- - 'spec/presenters/instance_presenter_spec.rb'
- 'spec/presenters/status_relationships_presenter_spec.rb'
- 'spec/serializers/activitypub/note_serializer_spec.rb'
- 'spec/serializers/activitypub/update_poll_serializer_spec.rb'
@@ -588,7 +626,6 @@ RSpec/DescribedClass:
- 'spec/services/update_account_service_spec.rb'
- 'spec/validators/note_length_validator_spec.rb'
-# Offense count: 32
# This cop supports unsafe autocorrection (--autocorrect-all).
RSpec/EmptyExampleGroup:
Exclude:
@@ -611,7 +648,6 @@ RSpec/EmptyExampleGroup:
- 'spec/models/list_spec.rb'
- 'spec/models/login_activity_spec.rb'
- 'spec/models/mute_spec.rb'
- - 'spec/models/one_time_key_spec.rb'
- 'spec/models/preview_card_spec.rb'
- 'spec/models/preview_card_trend_spec.rb'
- 'spec/models/relay_spec.rb'
@@ -625,12 +661,10 @@ RSpec/EmptyExampleGroup:
- 'spec/models/web/setting_spec.rb'
- 'spec/services/unmute_service_spec.rb'
-# Offense count: 178
# Configuration parameters: CountAsOne.
RSpec/ExampleLength:
Max: 22
-# Offense count: 21
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: method_call, block
@@ -648,81 +682,12 @@ RSpec/ExpectChange:
- 'spec/services/unsuspend_account_service_spec.rb'
- 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb'
-# Offense count: 5
RSpec/ExpectInHook:
Exclude:
- 'spec/controllers/api/v1/media_controller_spec.rb'
- 'spec/controllers/settings/applications_controller_spec.rb'
- 'spec/lib/status_filter_spec.rb'
-# Offense count: 61
-# Configuration parameters: Include, CustomTransform, IgnoreMethods, SpecSuffixOnly.
-# Include: **/*_spec*rb*, **/spec/**/*
-RSpec/FilePath:
- Exclude:
- - 'spec/config/initializers/rack_attack_spec.rb'
- - 'spec/controllers/activitypub/collections_controller_spec.rb'
- - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb'
- - 'spec/controllers/activitypub/inboxes_controller_spec.rb'
- - 'spec/controllers/activitypub/outboxes_controller_spec.rb'
- - 'spec/controllers/activitypub/replies_controller_spec.rb'
- - 'spec/controllers/admin/change_email_controller_spec.rb'
- - 'spec/controllers/admin/users/roles_controller.rb'
- - 'spec/controllers/api/oembed_controller_spec.rb'
- - 'spec/controllers/concerns/account_controller_concern_spec.rb'
- - 'spec/controllers/concerns/export_controller_concern_spec.rb'
- - 'spec/controllers/concerns/localized_spec.rb'
- - 'spec/controllers/concerns/rate_limit_headers_spec.rb'
- - 'spec/controllers/concerns/signature_verification_spec.rb'
- - 'spec/controllers/concerns/user_tracking_concern_spec.rb'
- - 'spec/controllers/well_known/nodeinfo_controller_spec.rb'
- - 'spec/helpers/admin/action_log_helper_spec.rb'
- - 'spec/helpers/jsonld_helper_spec.rb'
- - 'spec/lib/activitypub/activity/accept_spec.rb'
- - 'spec/lib/activitypub/activity/add_spec.rb'
- - 'spec/lib/activitypub/activity/announce_spec.rb'
- - 'spec/lib/activitypub/activity/block_spec.rb'
- - 'spec/lib/activitypub/activity/create_spec.rb'
- - 'spec/lib/activitypub/activity/delete_spec.rb'
- - 'spec/lib/activitypub/activity/flag_spec.rb'
- - 'spec/lib/activitypub/activity/follow_spec.rb'
- - 'spec/lib/activitypub/activity/like_spec.rb'
- - 'spec/lib/activitypub/activity/move_spec.rb'
- - 'spec/lib/activitypub/activity/reject_spec.rb'
- - 'spec/lib/activitypub/activity/remove_spec.rb'
- - 'spec/lib/activitypub/activity/undo_spec.rb'
- - 'spec/lib/activitypub/activity/update_spec.rb'
- - 'spec/lib/activitypub/adapter_spec.rb'
- - 'spec/lib/activitypub/dereferencer_spec.rb'
- - 'spec/lib/activitypub/linked_data_signature_spec.rb'
- - 'spec/lib/activitypub/tag_manager_spec.rb'
- - 'spec/lib/ostatus/tag_manager_spec.rb'
- - 'spec/lib/sanitize_config_spec.rb'
- - 'spec/serializers/activitypub/note_serializer_spec.rb'
- - 'spec/serializers/activitypub/update_poll_serializer_spec.rb'
- - 'spec/services/activitypub/fetch_featured_collection_service_spec.rb'
- - 'spec/services/activitypub/fetch_featured_tags_collection_service_spec.rb'
- - 'spec/services/activitypub/fetch_remote_account_service_spec.rb'
- - 'spec/services/activitypub/fetch_remote_actor_service_spec.rb'
- - 'spec/services/activitypub/fetch_remote_key_service_spec.rb'
- - 'spec/services/activitypub/fetch_remote_status_service_spec.rb'
- - 'spec/services/activitypub/fetch_replies_service_spec.rb'
- - 'spec/services/activitypub/process_account_service_spec.rb'
- - 'spec/services/activitypub/process_collection_service_spec.rb'
- - 'spec/services/activitypub/process_status_update_service_spec.rb'
- - 'spec/services/activitypub/synchronize_followers_service_spec.rb'
- - 'spec/services/fetch_oembed_service_spec.rb'
- - 'spec/services/remove_from_follwers_service_spec.rb'
- - 'spec/workers/activitypub/delivery_worker_spec.rb'
- - 'spec/workers/activitypub/distribute_poll_update_worker_spec.rb'
- - 'spec/workers/activitypub/distribution_worker_spec.rb'
- - 'spec/workers/activitypub/fetch_replies_worker_spec.rb'
- - 'spec/workers/activitypub/move_distribution_worker_spec.rb'
- - 'spec/workers/activitypub/processing_worker_spec.rb'
- - 'spec/workers/activitypub/status_update_distribution_worker_spec.rb'
- - 'spec/workers/activitypub/update_distribution_worker_spec.rb'
-
-# Offense count: 16
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: implicit, each, example
@@ -738,7 +703,6 @@ RSpec/HookArgument:
- 'spec/services/import_service_spec.rb'
- 'spec/spec_helper.rb'
-# Offense count: 101
# Configuration parameters: AssignmentOnly.
RSpec/InstanceVariable:
Exclude:
@@ -761,7 +725,6 @@ RSpec/InstanceVariable:
- 'spec/services/search_service_spec.rb'
- 'spec/services/unblock_domain_service_spec.rb'
-# Offense count: 15
RSpec/LeakyConstantDeclaration:
Exclude:
- 'spec/controllers/api/base_controller_spec.rb'
@@ -774,7 +737,6 @@ RSpec/LeakyConstantDeclaration:
- 'spec/lib/settings/extend_spec.rb'
- 'spec/models/concerns/remotable_spec.rb'
-# Offense count: 108
RSpec/LetSetup:
Exclude:
- 'spec/controllers/admin/accounts_controller_spec.rb'
@@ -827,7 +789,29 @@ RSpec/LetSetup:
- 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb'
- 'spec/workers/scheduler/user_cleanup_scheduler_spec.rb'
-# Offense count: 7
+# This cop supports safe autocorrection (--autocorrect).
+RSpec/MatchArray:
+ Exclude:
+ - 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb'
+ - 'spec/controllers/admin/export_domain_blocks_controller_spec.rb'
+ - 'spec/controllers/api/v1/accounts/follower_accounts_controller_spec.rb'
+ - 'spec/controllers/api/v1/accounts/following_accounts_controller_spec.rb'
+ - 'spec/controllers/api/v1/accounts/statuses_controller_spec.rb'
+ - 'spec/controllers/api/v1/bookmarks_controller_spec.rb'
+ - 'spec/controllers/api/v1/favourites_controller_spec.rb'
+ - 'spec/controllers/api/v1/reports_controller_spec.rb'
+ - 'spec/controllers/api/v1/statuses/favourited_by_accounts_controller_spec.rb'
+ - 'spec/controllers/api/v1/statuses/reblogged_by_accounts_controller_spec.rb'
+ - 'spec/models/account_filter_spec.rb'
+ - 'spec/models/account_spec.rb'
+ - 'spec/models/account_statuses_cleanup_policy_spec.rb'
+ - 'spec/models/custom_emoji_filter_spec.rb'
+ - 'spec/models/status_spec.rb'
+ - 'spec/models/user_spec.rb'
+ - 'spec/presenters/familiar_followers_presenter_spec.rb'
+ - 'spec/services/activitypub/fetch_featured_collection_service_spec.rb'
+ - 'spec/services/update_status_service_spec.rb'
+
RSpec/MessageChain:
Exclude:
- 'spec/controllers/api/v1/media_controller_spec.rb'
@@ -835,7 +819,6 @@ RSpec/MessageChain:
- 'spec/models/session_activation_spec.rb'
- 'spec/models/setting_spec.rb'
-# Offense count: 47
# Configuration parameters: EnforcedStyle.
# SupportedStyles: have_received, receive
RSpec/MessageSpies:
@@ -858,7 +841,6 @@ RSpec/MessageSpies:
- 'spec/spec_helper.rb'
- 'spec/validators/status_length_validator_spec.rb'
-# Offense count: 35
RSpec/MissingExampleGroupArgument:
Exclude:
- 'spec/controllers/accounts_controller_spec.rb'
@@ -884,16 +866,13 @@ RSpec/MissingExampleGroupArgument:
- 'spec/services/notify_service_spec.rb'
- 'spec/services/process_mentions_service_spec.rb'
-# Offense count: 599
RSpec/MultipleExpectations:
Max: 19
-# Offense count: 442
# Configuration parameters: AllowSubject.
RSpec/MultipleMemoizedHelpers:
Max: 21
-# Offense count: 7
# This cop supports safe autocorrection (--autocorrect).
RSpec/MultipleSubjects:
Exclude:
@@ -905,7 +884,6 @@ RSpec/MultipleSubjects:
- 'spec/controllers/follower_accounts_controller_spec.rb'
- 'spec/controllers/following_accounts_controller_spec.rb'
-# Offense count: 1407
# Configuration parameters: EnforcedStyle, IgnoreSharedExamples.
# SupportedStyles: always, named_only
RSpec/NamedSubject:
@@ -1104,12 +1082,10 @@ RSpec/NamedSubject:
- 'spec/workers/unfollow_follow_worker_spec.rb'
- 'spec/workers/web/push_notification_worker_spec.rb'
-# Offense count: 552
# Configuration parameters: AllowedGroups.
RSpec/NestedGroups:
Max: 6
-# Offense count: 2
# Configuration parameters: AllowedPatterns.
# AllowedPatterns: ^expect_, ^assert_
RSpec/NoExpectationExample:
@@ -1117,13 +1093,12 @@ RSpec/NoExpectationExample:
- 'spec/controllers/auth/registrations_controller_spec.rb'
- 'spec/services/precompute_feed_service_spec.rb'
-# Offense count: 3
RSpec/PendingWithoutReason:
Exclude:
+ - 'spec/controllers/statuses_controller_spec.rb'
- 'spec/models/account_spec.rb'
- - 'spec/support/examples/lib/settings/scoped_settings.rb'
+ - 'spec/models/user_spec.rb'
-# Offense count: 9
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: Strict, EnforcedStyle, AllowedExplicitMatchers.
# SupportedStyles: inflected, explicit
@@ -1133,7 +1108,6 @@ RSpec/PredicateMatcher:
- 'spec/models/user_spec.rb'
- 'spec/services/post_status_service_spec.rb'
-# Offense count: 180
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: Inferences.
RSpec/Rails/InferredSpecType:
@@ -1240,7 +1214,6 @@ RSpec/Rails/InferredSpecType:
- 'spec/helpers/formatting_helper_spec.rb'
- 'spec/helpers/home_helper_spec.rb'
- 'spec/helpers/routing_helper_spec.rb'
- - 'spec/helpers/statuses_helper_spec.rb'
- 'spec/mailers/admin_mailer_spec.rb'
- 'spec/mailers/notification_mailer_spec.rb'
- 'spec/mailers/user_mailer_spec.rb'
@@ -1258,18 +1231,15 @@ RSpec/Rails/InferredSpecType:
- 'spec/models/announcement_mute_spec.rb'
- 'spec/models/announcement_reaction_spec.rb'
- 'spec/models/announcement_spec.rb'
- - 'spec/models/appeal_spec.rb'
- 'spec/models/backup_spec.rb'
- 'spec/models/block_spec.rb'
- 'spec/models/canonical_email_block_spec.rb'
- 'spec/models/conversation_mute_spec.rb'
- 'spec/models/conversation_spec.rb'
- - 'spec/models/custom_emoji_category_spec.rb'
- 'spec/models/custom_emoji_spec.rb'
- 'spec/models/custom_filter_keyword_spec.rb'
- 'spec/models/custom_filter_spec.rb'
- 'spec/models/device_spec.rb'
- - 'spec/models/domain_allow_spec.rb'
- 'spec/models/domain_block_spec.rb'
- 'spec/models/email_domain_block_spec.rb'
- 'spec/models/encrypted_message_spec.rb'
@@ -1282,28 +1252,22 @@ RSpec/Rails/InferredSpecType:
- 'spec/models/identity_spec.rb'
- 'spec/models/import_spec.rb'
- 'spec/models/invite_spec.rb'
- - 'spec/models/ip_block_spec.rb'
- 'spec/models/list_account_spec.rb'
- 'spec/models/list_spec.rb'
- 'spec/models/login_activity_spec.rb'
- - 'spec/models/marker_spec.rb'
- 'spec/models/media_attachment_spec.rb'
- 'spec/models/mention_spec.rb'
- 'spec/models/mute_spec.rb'
- 'spec/models/notification_spec.rb'
- - 'spec/models/one_time_key_spec.rb'
- - 'spec/models/poll_spec.rb'
- 'spec/models/poll_vote_spec.rb'
- 'spec/models/preview_card_spec.rb'
- 'spec/models/preview_card_trend_spec.rb'
- 'spec/models/public_feed_spec.rb'
- 'spec/models/relay_spec.rb'
- - 'spec/models/rule_spec.rb'
- 'spec/models/scheduled_status_spec.rb'
- 'spec/models/session_activation_spec.rb'
- 'spec/models/setting_spec.rb'
- 'spec/models/site_upload_spec.rb'
- - 'spec/models/status_edit_spec.rb'
- 'spec/models/status_pin_spec.rb'
- 'spec/models/status_spec.rb'
- 'spec/models/status_stat_spec.rb'
@@ -1319,23 +1283,19 @@ RSpec/Rails/InferredSpecType:
- 'spec/models/webauthn_credentials_spec.rb'
- 'spec/models/webhook_spec.rb'
-# Offense count: 6
RSpec/RepeatedExample:
Exclude:
- 'spec/policies/status_policy_spec.rb'
-# Offense count: 6
RSpec/RepeatedExampleGroupBody:
Exclude:
- 'spec/controllers/statuses_controller_spec.rb'
-# Offense count: 4
RSpec/RepeatedExampleGroupDescription:
Exclude:
- 'spec/controllers/admin/reports/actions_controller_spec.rb'
- 'spec/policies/report_note_policy_spec.rb'
-# Offense count: 12
RSpec/ScatteredSetup:
Exclude:
- 'spec/controllers/activitypub/followers_synchronizations_controller_spec.rb'
@@ -1343,15 +1303,12 @@ RSpec/ScatteredSetup:
- 'spec/controllers/admin/disputes/appeals_controller_spec.rb'
- 'spec/controllers/auth/registrations_controller_spec.rb'
- 'spec/services/activitypub/process_account_service_spec.rb'
- - 'spec/services/fetch_resource_service_spec.rb'
-# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
RSpec/SharedContext:
Exclude:
- 'spec/services/unsuspend_account_service_spec.rb'
-# Offense count: 16
RSpec/StubbedMock:
Exclude:
- 'spec/controllers/api/base_controller_spec.rb'
@@ -1363,7 +1320,6 @@ RSpec/StubbedMock:
- 'spec/lib/webfinger_resource_spec.rb'
- 'spec/services/activitypub/process_collection_service_spec.rb'
-# Offense count: 22
RSpec/SubjectDeclaration:
Exclude:
- 'spec/controllers/admin/domain_blocks_controller_spec.rb'
@@ -1388,13 +1344,11 @@ RSpec/SubjectDeclaration:
- 'spec/policies/user_policy_spec.rb'
- 'spec/services/activitypub/process_account_service_spec.rb'
-# Offense count: 5
RSpec/SubjectStub:
Exclude:
- 'spec/services/unallow_domain_service_spec.rb'
- 'spec/validators/blacklisted_email_validator_spec.rb'
-# Offense count: 119
# Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
RSpec/VerifiedDoubles:
Exclude:
@@ -1435,7 +1389,6 @@ RSpec/VerifiedDoubles:
- 'spec/workers/feed_insert_worker_spec.rb'
- 'spec/workers/regeneration_worker_spec.rb'
-# Offense count: 19
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: ExpectedOrder, Include.
# ExpectedOrder: index, show, new, edit, create, update, destroy
@@ -1462,7 +1415,6 @@ Rails/ActionOrder:
- 'app/controllers/settings/applications_controller.rb'
- 'app/controllers/settings/two_factor_authentication/webauthn_credentials_controller.rb'
-# Offense count: 7
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: Include.
# Include: app/models/**/*.rb
@@ -1476,7 +1428,6 @@ Rails/ActiveRecordCallbacksOrder:
- 'app/models/session_activation.rb'
- 'app/models/status.rb'
-# Offense count: 4
# This cop supports unsafe autocorrection (--autocorrect-all).
Rails/ApplicationController:
Exclude:
@@ -1485,7 +1436,6 @@ Rails/ApplicationController:
- 'app/controllers/well_known/nodeinfo_controller.rb'
- 'app/controllers/well_known/webfinger_controller.rb'
-# Offense count: 35
# Configuration parameters: Database, Include.
# SupportedDatabases: mysql, postgresql
# Include: db/migrate/*.rb
@@ -1523,7 +1473,6 @@ Rails/BulkChangeTable:
- 'db/migrate/20220303000827_add_ordered_media_attachment_ids_to_status_edits.rb'
- 'db/migrate/20220824164433_add_human_identifier_to_admin_action_logs.rb'
-# Offense count: 7
# This cop supports unsafe autocorrection (--autocorrect-all).
Rails/CompactBlank:
Exclude:
@@ -1533,15 +1482,14 @@ Rails/CompactBlank:
- 'app/models/poll.rb'
- 'app/models/user.rb'
- 'app/services/import_service.rb'
+ - 'config/initializers/paperclip.rb'
-# Offense count: 3
# This cop supports safe autocorrection (--autocorrect).
Rails/ContentTag:
Exclude:
- 'app/helpers/application_helper.rb'
- 'app/helpers/branding_helper.rb'
-# Offense count: 8
# Configuration parameters: Include.
# Include: db/migrate/*.rb
Rails/CreateTableWithTimestamps:
@@ -1555,22 +1503,25 @@ Rails/CreateTableWithTimestamps:
- 'db/migrate/20220824233535_create_status_trends.rb'
- 'db/migrate/20221006061337_create_preview_card_trends.rb'
-# Offense count: 4
# This cop supports unsafe autocorrection (--autocorrect-all).
+# Configuration parameters: Severity.
Rails/DeprecatedActiveModelErrorsMethods:
Exclude:
- - 'app/validators/ed25519_key_validator.rb'
- - 'app/validators/ed25519_signature_validator.rb'
- 'lib/mastodon/accounts_cli.rb'
-# Offense count: 4
# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: Severity.
Rails/DuplicateAssociation:
Exclude:
- 'app/serializers/activitypub/collection_serializer.rb'
- 'app/serializers/activitypub/note_serializer.rb'
-# Offense count: 76
+# Configuration parameters: Include.
+# Include: app/**/*.rb, config/**/*.rb, lib/**/*.rb
+Rails/Exit:
+ Exclude:
+ - 'config/boot.rb'
+
# Configuration parameters: EnforcedStyle.
# SupportedStyles: slashes, arguments
Rails/FilePath:
@@ -1578,6 +1529,7 @@ Rails/FilePath:
- 'app/lib/themes.rb'
- 'app/models/setting.rb'
- 'app/validators/reaction_validator.rb'
+ - 'config/environments/test.rb'
- 'db/migrate/20170716191202_add_hide_notifications_to_mute.rb'
- 'db/migrate/20170918125918_ids_to_bigints.rb'
- 'db/migrate/20171005171936_add_disabled_to_custom_emojis.rb'
@@ -1638,7 +1590,6 @@ Rails/FilePath:
- 'spec/rails_helper.rb'
- 'spec/spec_helper.rb'
-# Offense count: 6
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/HasAndBelongsToMany:
@@ -1648,7 +1599,6 @@ Rails/HasAndBelongsToMany:
- 'app/models/status.rb'
- 'app/models/tag.rb'
-# Offense count: 15
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/HasManyOrHasOneDependent:
@@ -1663,7 +1613,6 @@ Rails/HasManyOrHasOneDependent:
- 'app/models/user.rb'
- 'app/models/web/push_subscription.rb'
-# Offense count: 4
# Configuration parameters: Include.
# Include: app/helpers/**/*.rb
Rails/HelperInstanceVariable:
@@ -1672,7 +1621,6 @@ Rails/HelperInstanceVariable:
- 'app/helpers/instance_helper.rb'
- 'app/helpers/jsonld_helper.rb'
-# Offense count: 3
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: Include.
# Include: spec/**/*, test/**/*
@@ -1680,7 +1628,6 @@ Rails/HttpPositionalArguments:
Exclude:
- 'spec/config/initializers/rack_attack_spec.rb'
-# Offense count: 7
# Configuration parameters: Include.
# Include: spec/**/*.rb, test/**/*.rb
Rails/I18nLocaleAssignment:
@@ -1689,13 +1636,11 @@ Rails/I18nLocaleAssignment:
- 'spec/helpers/application_helper_spec.rb'
- 'spec/requests/localization_spec.rb'
-# Offense count: 6
Rails/I18nLocaleTexts:
Exclude:
- 'lib/tasks/mastodon.rake'
- 'spec/helpers/flashes_helper_spec.rb'
-# Offense count: 8
# This cop supports unsafe autocorrection (--autocorrect-all).
Rails/IgnoredColumnsAssignment:
Exclude:
@@ -1708,7 +1653,6 @@ Rails/IgnoredColumnsAssignment:
- 'app/models/status_edit.rb'
- 'app/models/user.rb'
-# Offense count: 25
# Configuration parameters: IgnoreScopes, Include.
# Include: app/models/**/*.rb
Rails/InverseOf:
@@ -1721,20 +1665,15 @@ Rails/InverseOf:
- 'app/models/instance.rb'
- 'app/models/notification.rb'
- 'app/models/status.rb'
- - 'app/models/user_ip.rb'
-# Offense count: 13
# Configuration parameters: Include.
# Include: app/controllers/**/*.rb, app/mailers/**/*.rb
Rails/LexicallyScopedActionFilter:
Exclude:
- - 'app/controllers/admin/domain_blocks_controller.rb'
- - 'app/controllers/admin/email_domain_blocks_controller.rb'
- 'app/controllers/auth/passwords_controller.rb'
- 'app/controllers/auth/registrations_controller.rb'
- 'app/controllers/auth/sessions_controller.rb'
-# Offense count: 18
# This cop supports unsafe autocorrection (--autocorrect-all).
Rails/NegateInclude:
Exclude:
@@ -1754,7 +1693,6 @@ Rails/NegateInclude:
- 'app/workers/web/push_notification_worker.rb'
- 'lib/paperclip/color_extractor.rb'
-# Offense count: 2
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: Include.
# Include: app/**/*.rb, config/**/*.rb, db/**/*.rb, lib/**/*.rb
@@ -1762,7 +1700,16 @@ Rails/Output:
Exclude:
- 'lib/mastodon/ip_blocks_cli.rb'
-# Offense count: 9
+Rails/OutputSafety:
+ Exclude:
+ - 'config/initializers/simple_form.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: NotNilAndNotEmpty, NotBlank, UnlessBlank.
+Rails/Present:
+ Exclude:
+ - 'config/initializers/content_security_policy.rb'
+
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: Include.
# Include: **/Rakefile, **/*.rake
@@ -1775,7 +1722,15 @@ Rails/RakeEnvironment:
- 'lib/tasks/repo.rake'
- 'lib/tasks/statistics.rake'
-# Offense count: 29
+# This cop supports unsafe autocorrection (--autocorrect-all).
+# Configuration parameters: Include.
+# Include: spec/controllers/**/*.rb, spec/requests/**/*.rb, test/controllers/**/*.rb, test/integration/**/*.rb
+Rails/ResponseParsedBody:
+ Exclude:
+ - 'spec/controllers/follower_accounts_controller_spec.rb'
+ - 'spec/controllers/following_accounts_controller_spec.rb'
+ - 'spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb'
+
# Configuration parameters: Include.
# Include: db/**/*.rb
Rails/ReversibleMigration:
@@ -1794,7 +1749,6 @@ Rails/ReversibleMigration:
- 'db/migrate/20180617162849_remove_unused_indexes.rb'
- 'db/migrate/20220827195229_change_canonical_email_blocks_nullable.rb'
-# Offense count: 141
# Configuration parameters: ForbiddenMethods, AllowedMethods.
# ForbiddenMethods: decrement!, decrement_counter, increment!, increment_counter, insert, insert!, insert_all, insert_all!, toggle!, touch, touch_all, update_all, update_attribute, update_column, update_columns, update_counters, upsert, upsert_all
Rails/SkipsModelValidations:
@@ -1848,7 +1802,6 @@ Rails/SkipsModelValidations:
- 'spec/services/follow_service_spec.rb'
- 'spec/services/update_account_service_spec.rb'
-# Offense count: 11
# This cop supports unsafe autocorrection (--autocorrect-all).
Rails/SquishedSQLHeredocs:
Exclude:
@@ -1858,7 +1811,6 @@ Rails/SquishedSQLHeredocs:
- 'lib/mastodon/snowflake.rb'
- 'lib/tasks/tests.rake'
-# Offense count: 7
Rails/TransactionExitStatement:
Exclude:
- 'app/lib/activitypub/activity/announce.rb'
@@ -1866,7 +1818,6 @@ Rails/TransactionExitStatement:
- 'app/lib/activitypub/activity/delete.rb'
- 'app/services/activitypub/process_account_service.rb'
-# Offense count: 4
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/UniqueValidationWithoutIndex:
@@ -1876,7 +1827,6 @@ Rails/UniqueValidationWithoutIndex:
- 'app/models/identity.rb'
- 'app/models/webauthn_credential.rb'
-# Offense count: 19
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/UnusedIgnoredColumns:
@@ -1890,7 +1840,6 @@ Rails/UnusedIgnoredColumns:
- 'app/models/status_edit.rb'
- 'app/models/user.rb'
-# Offense count: 61
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: exists, where
@@ -1930,24 +1879,18 @@ Rails/WhereExists:
- 'spec/services/purge_domain_service_spec.rb'
- 'spec/services/unallow_domain_service_spec.rb'
-# Offense count: 5
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: AllowOnConstant, AllowOnSelfClass.
+Style/CaseEquality:
+ Exclude:
+ - 'config/initializers/trusted_proxies.rb'
+
# This cop supports unsafe autocorrection (--autocorrect-all).
+# Configuration parameters: MinBranchesCount.
Style/CaseLikeIf:
Exclude:
- - 'app/controllers/authorize_interactions_controller.rb'
- 'app/controllers/concerns/signature_verification.rb'
- - 'app/helpers/jsonld_helper.rb'
- - 'app/models/account.rb'
- - 'app/services/resolve_url_service.rb'
-
-# Offense count: 445
-# This cop supports unsafe autocorrection (--autocorrect-all).
-# Configuration parameters: EnforcedStyle.
-# SupportedStyles: nested, compact
-Style/ClassAndModuleChildren:
- Enabled: false
-# Offense count: 2
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowedMethods, AllowedPatterns.
# AllowedMethods: ==, equal?, eql?
@@ -1956,24 +1899,20 @@ Style/ClassEqualityComparison:
- 'app/helpers/jsonld_helper.rb'
- 'app/serializers/activitypub/outbox_serializer.rb'
-# Offense count: 7
+Style/ClassVars:
+ Exclude:
+ - 'config/initializers/devise.rb'
+
Style/CombinableLoops:
Exclude:
- 'app/models/form/custom_emoji_batch.rb'
- 'app/models/form/ip_block_batch.rb'
-# Offense count: 5
# This cop supports unsafe autocorrection (--autocorrect-all).
Style/ConcatArrayLiterals:
Exclude:
- 'app/lib/feed_manager.rb'
-# Offense count: 1433
-# Configuration parameters: AllowedConstants.
-Style/Documentation:
- Enabled: false
-
-# Offense count: 10
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowedVars.
Style/FetchEnvVar:
@@ -1981,29 +1920,444 @@ Style/FetchEnvVar:
- 'app/helpers/application_helper.rb'
- 'app/lib/redis_configuration.rb'
- 'app/lib/translation_service.rb'
+ - 'config/environments/development.rb'
+ - 'config/environments/production.rb'
+ - 'config/initializers/2_whitelist_mode.rb'
+ - 'config/initializers/blacklists.rb'
+ - 'config/initializers/cache_buster.rb'
+ - 'config/initializers/content_security_policy.rb'
+ - 'config/initializers/devise.rb'
+ - 'config/initializers/omniauth.rb'
+ - 'config/initializers/paperclip.rb'
+ - 'config/initializers/vapid.rb'
- 'lib/mastodon/premailer_webpack_strategy.rb'
- 'lib/mastodon/redis_config.rb'
- 'lib/tasks/repo.rake'
- 'spec/features/profile_spec.rb'
-# Offense count: 15
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, MaxUnannotatedPlaceholdersAllowed, AllowedMethods, AllowedPatterns.
# SupportedStyles: annotated, template, unannotated
+# AllowedMethods: redirect
Style/FormatStringToken:
Exclude:
- 'app/models/privacy_policy.rb'
+ - 'config/initializers/devise.rb'
- 'lib/mastodon/maintenance_cli.rb'
- 'lib/paperclip/color_extractor.rb'
-# Offense count: 713
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: always, always_true, never
Style/FrozenStringLiteralComment:
- Enabled: false
+ Exclude:
+ - 'app/views/accounts/show.rss.ruby'
+ - 'app/views/tags/show.rss.ruby'
+ - 'app/views/well_known/host_meta/show.xml.ruby'
+ - 'config/application.rb'
+ - 'config/boot.rb'
+ - 'config/environment.rb'
+ - 'config/environments/development.rb'
+ - 'config/environments/production.rb'
+ - 'config/environments/test.rb'
+ - 'config/initializers/0_post_deployment_migrations.rb'
+ - 'config/initializers/active_model_serializers.rb'
+ - 'config/initializers/application_controller_renderer.rb'
+ - 'config/initializers/assets.rb'
+ - 'config/initializers/backtrace_silencers.rb'
+ - 'config/initializers/cache_logging.rb'
+ - 'config/initializers/chewy.rb'
+ - 'config/initializers/content_security_policy.rb'
+ - 'config/initializers/cookies_serializer.rb'
+ - 'config/initializers/cors.rb'
+ - 'config/initializers/devise.rb'
+ - 'config/initializers/doorkeeper.rb'
+ - 'config/initializers/fast_blank.rb'
+ - 'config/initializers/ffmpeg.rb'
+ - 'config/initializers/filter_parameter_logging.rb'
+ - 'config/initializers/http_client_proxy.rb'
+ - 'config/initializers/httplog.rb'
+ - 'config/initializers/inflections.rb'
+ - 'config/initializers/mail_delivery_job.rb'
+ - 'config/initializers/makara.rb'
+ - 'config/initializers/mime_types.rb'
+ - 'config/initializers/oj.rb'
+ - 'config/initializers/omniauth.rb'
+ - 'config/initializers/open_uri_redirection.rb'
+ - 'config/initializers/permissions_policy.rb'
+ - 'config/initializers/pghero.rb'
+ - 'config/initializers/preload_link_headers.rb'
+ - 'config/initializers/premailer_rails.rb'
+ - 'config/initializers/rack_attack_logging.rb'
+ - 'config/initializers/redis.rb'
+ - 'config/initializers/session_store.rb'
+ - 'config/initializers/simple_form.rb'
+ - 'config/initializers/stoplight.rb'
+ - 'config/initializers/trusted_proxies.rb'
+ - 'config/initializers/twitter_regex.rb'
+ - 'config/initializers/webauthn.rb'
+ - 'config/initializers/wrap_parameters.rb'
+ - 'config/locales/sr-Latn.rb'
+ - 'config/locales/sr.rb'
+ - 'config/puma.rb'
+ - 'db/migrate/20160220174730_create_accounts.rb'
+ - 'db/migrate/20160220211917_create_statuses.rb'
+ - 'db/migrate/20160221003140_create_users.rb'
+ - 'db/migrate/20160221003621_create_follows.rb'
+ - 'db/migrate/20160222122600_create_stream_entries.rb'
+ - 'db/migrate/20160222143943_add_profile_fields_to_accounts.rb'
+ - 'db/migrate/20160223162837_add_metadata_to_statuses.rb'
+ - 'db/migrate/20160223164502_make_uris_nullable_in_statuses.rb'
+ - 'db/migrate/20160223165723_add_url_to_statuses.rb'
+ - 'db/migrate/20160223165855_add_url_to_accounts.rb'
+ - 'db/migrate/20160223171800_create_favourites.rb'
+ - 'db/migrate/20160224223247_create_mentions.rb'
+ - 'db/migrate/20160227230233_add_attachment_avatar_to_accounts.rb'
+ - 'db/migrate/20160305115639_add_devise_to_users.rb'
+ - 'db/migrate/20160306172223_create_doorkeeper_tables.rb'
+ - 'db/migrate/20160312193225_add_attachment_header_to_accounts.rb'
+ - 'db/migrate/20160314164231_add_owner_to_application.rb'
+ - 'db/migrate/20160316103650_add_missing_indices.rb'
+ - 'db/migrate/20160322193748_add_avatar_remote_url_to_accounts.rb'
+ - 'db/migrate/20160325130944_add_admin_to_users.rb'
+ - 'db/migrate/20160826155805_add_superapp_to_oauth_applications.rb'
+ - 'db/migrate/20160905150353_create_media_attachments.rb'
+ - 'db/migrate/20160919221059_add_subscription_expires_at_to_accounts.rb'
+ - 'db/migrate/20160920003904_remove_verify_token_from_accounts.rb'
+ - 'db/migrate/20160926213048_remove_owner_from_application.rb'
+ - 'db/migrate/20161003142332_add_confirmable_to_users.rb'
+ - 'db/migrate/20161003145426_create_blocks.rb'
+ - 'db/migrate/20161006213403_rails_settings_migration.rb'
+ - 'db/migrate/20161009120834_create_domain_blocks.rb'
+ - 'db/migrate/20161027172456_add_silenced_to_accounts.rb'
+ - 'db/migrate/20161104173623_create_tags.rb'
+ - 'db/migrate/20161105130633_create_statuses_tags_join_table.rb'
+ - 'db/migrate/20161116162355_add_locale_to_users.rb'
+ - 'db/migrate/20161119211120_create_notifications.rb'
+ - 'db/migrate/20161122163057_remove_unneeded_indexes.rb'
+ - 'db/migrate/20161123093447_add_sensitive_to_statuses.rb'
+ - 'db/migrate/20161128103007_create_subscriptions.rb'
+ - 'db/migrate/20161130142058_add_last_successful_delivery_at_to_subscriptions.rb'
+ - 'db/migrate/20161130185319_add_visibility_to_statuses.rb'
+ - 'db/migrate/20161202132159_add_in_reply_to_account_id_to_statuses.rb'
+ - 'db/migrate/20161203164520_add_from_account_id_to_notifications.rb'
+ - 'db/migrate/20161205214545_add_suspended_to_accounts.rb'
+ - 'db/migrate/20161221152630_add_hidden_to_stream_entries.rb'
+ - 'db/migrate/20161222201034_add_locked_to_accounts.rb'
+ - 'db/migrate/20161222204147_create_follow_requests.rb'
+ - 'db/migrate/20170105224407_add_shortcode_to_media_attachments.rb'
+ - 'db/migrate/20170109120109_create_web_settings.rb'
+ - 'db/migrate/20170112154826_migrate_settings.rb'
+ - 'db/migrate/20170114194937_add_application_to_statuses.rb'
+ - 'db/migrate/20170114203041_add_website_to_oauth_application.rb'
+ - 'db/migrate/20170119214911_create_preview_cards.rb'
+ - 'db/migrate/20170123162658_add_severity_to_domain_blocks.rb'
+ - 'db/migrate/20170123203248_add_reject_media_to_domain_blocks.rb'
+ - 'db/migrate/20170125145934_add_spoiler_text_to_statuses.rb'
+ - 'db/migrate/20170127165745_add_devise_two_factor_to_users.rb'
+ - 'db/migrate/20170205175257_remove_devices.rb'
+ - 'db/migrate/20170209184350_add_reply_to_statuses.rb'
+ - 'db/migrate/20170214110202_create_reports.rb'
+ - 'db/migrate/20170217012631_add_reblog_of_id_foreign_key_to_statuses.rb'
+ - 'db/migrate/20170301222600_create_mutes.rb'
+ - 'db/migrate/20170303212857_add_last_emailed_at_to_users.rb'
+ - 'db/migrate/20170304202101_add_type_to_media_attachments.rb'
+ - 'db/migrate/20170317193015_add_search_index_to_accounts.rb'
+ - 'db/migrate/20170318214217_add_header_remote_url_to_accounts.rb'
+ - 'db/migrate/20170322021028_add_lowercase_index_to_accounts.rb'
+ - 'db/migrate/20170322143850_change_primary_key_to_bigint_on_statuses.rb'
+ - 'db/migrate/20170322162804_add_search_index_to_tags.rb'
+ - 'db/migrate/20170330021336_add_counter_caches.rb'
+ - 'db/migrate/20170330163835_create_imports.rb'
+ - 'db/migrate/20170330164118_add_attachment_data_to_imports.rb'
+ - 'db/migrate/20170403172249_add_action_taken_by_account_id_to_reports.rb'
+ - 'db/migrate/20170405112956_add_index_on_mentions_status_id.rb'
+ - 'db/migrate/20170406215816_add_notifications_and_favourites_indices.rb'
+ - 'db/migrate/20170409170753_add_last_webfingered_at_to_accounts.rb'
+ - 'db/migrate/20170414080609_add_devise_two_factor_backupable_to_users.rb'
+ - 'db/migrate/20170414132105_add_language_to_statuses.rb'
+ - 'db/migrate/20170418160728_add_indexes_to_reports_for_accounts.rb'
+ - 'db/migrate/20170423005413_add_allowed_languages_to_user.rb'
+ - 'db/migrate/20170424003227_create_account_domain_blocks.rb'
+ - 'db/migrate/20170424112722_add_status_id_index_to_statuses_tags.rb'
+ - 'db/migrate/20170425131920_add_media_attachment_meta.rb'
+ - 'db/migrate/20170425202925_add_oembed_to_preview_cards.rb'
+ - 'db/migrate/20170427011934_re_add_owner_to_application.rb'
+ - 'db/migrate/20170506235850_create_conversations.rb'
+ - 'db/migrate/20170507000211_add_conversation_id_to_statuses.rb'
+ - 'db/migrate/20170507141759_optimize_index_subscriptions.rb'
+ - 'db/migrate/20170508230434_create_conversation_mutes.rb'
+ - 'db/migrate/20170516072309_add_index_accounts_on_uri.rb'
+ - 'db/migrate/20170520145338_change_language_filter_to_opt_out.rb'
+ - 'db/migrate/20170601210557_add_index_on_media_attachments_account_id.rb'
+ - 'db/migrate/20170604144747_add_foreign_keys_for_accounts.rb'
+ - 'db/migrate/20170606113804_change_tag_search_index_to_btree.rb'
+ - 'db/migrate/20170609145826_remove_default_language_from_statuses.rb'
+ - 'db/migrate/20170610000000_add_statuses_index_on_account_id_id.rb'
+ - 'db/migrate/20170623152212_create_session_activations.rb'
+ - 'db/migrate/20170624134742_add_description_to_session_activations.rb'
+ - 'db/migrate/20170625140443_add_access_token_id_to_session_activations.rb'
+ - 'db/migrate/20170711225116_fix_null_booleans.rb'
+ - 'db/migrate/20170713112503_make_tag_search_case_insensitive.rb'
+ - 'db/migrate/20170713175513_create_web_push_subscriptions.rb'
+ - 'db/migrate/20170713190709_add_web_push_subscription_to_session_activations.rb'
+ - 'db/migrate/20170714184731_add_domain_to_subscriptions.rb'
+ - 'db/migrate/20170716191202_add_hide_notifications_to_mute.rb'
+ - 'db/migrate/20170718211102_add_activitypub_to_accounts.rb'
+ - 'db/migrate/20170720000000_add_index_favourites_on_account_id_and_id.rb'
+ - 'db/migrate/20170823162448_create_status_pins.rb'
+ - 'db/migrate/20170824103029_add_timestamps_to_status_pins.rb'
+ - 'db/migrate/20170829215220_remove_status_pins_account_index.rb'
+ - 'db/migrate/20170901141119_truncate_preview_cards.rb'
+ - 'db/migrate/20170901142658_create_join_table_preview_cards_statuses.rb'
+ - 'db/migrate/20170905044538_add_index_id_account_id_activity_type_on_notifications.rb'
+ - 'db/migrate/20170905165803_add_local_to_statuses.rb'
+ - 'db/migrate/20170913000752_create_site_uploads.rb'
+ - 'db/migrate/20170917153509_create_custom_emojis.rb'
+ - 'db/migrate/20170918125918_ids_to_bigints.rb'
+ - 'db/migrate/20170920024819_status_ids_to_timestamp_ids.rb'
+ - 'db/migrate/20170920032311_fix_reblogs_in_feeds.rb'
+ - 'db/migrate/20170924022025_ids_to_bigints2.rb'
+ - 'db/migrate/20170927215609_add_description_to_media_attachments.rb'
+ - 'db/migrate/20170928082043_create_email_domain_blocks.rb'
+ - 'db/migrate/20171005102658_create_account_moderation_notes.rb'
+ - 'db/migrate/20171005171936_add_disabled_to_custom_emojis.rb'
+ - 'db/migrate/20171006142024_add_uri_to_custom_emojis.rb'
+ - 'db/migrate/20171010023049_add_foreign_key_to_account_moderation_notes.rb'
+ - 'db/migrate/20171010025614_change_accounts_nonnullable_in_account_moderation_notes.rb'
+ - 'db/migrate/20171020084748_add_visible_in_picker_to_custom_emoji.rb'
+ - 'db/migrate/20171028221157_add_reblogs_to_follows.rb'
+ - 'db/migrate/20171107143332_add_memorial_to_accounts.rb'
+ - 'db/migrate/20171107143624_add_disabled_to_users.rb'
+ - 'db/migrate/20171109012327_add_moderator_to_accounts.rb'
+ - 'db/migrate/20171114080328_add_index_domain_to_email_domain_blocks.rb'
+ - 'db/migrate/20171114231651_create_lists.rb'
+ - 'db/migrate/20171116161857_create_list_accounts.rb'
+ - 'db/migrate/20171118012443_add_moved_to_account_id_to_accounts.rb'
+ - 'db/migrate/20171119172437_create_admin_action_logs.rb'
+ - 'db/migrate/20171122120436_add_index_account_and_reblog_of_id_to_statuses.rb'
+ - 'db/migrate/20171125024930_create_invites.rb'
+ - 'db/migrate/20171125031751_add_invite_id_to_users.rb'
+ - 'db/migrate/20171125185353_add_index_reblog_of_id_and_account_to_statuses.rb'
+ - 'db/migrate/20171125190735_remove_old_reblog_index_on_statuses.rb'
+ - 'db/migrate/20171129172043_add_index_on_stream_entries.rb'
+ - 'db/migrate/20171130000000_add_embed_url_to_preview_cards.rb'
+ - 'db/migrate/20171201000000_change_account_id_nonnullable_in_lists.rb'
+ - 'db/migrate/20171212195226_remove_duplicate_indexes_in_lists.rb'
+ - 'db/migrate/20171226094803_more_faster_index_on_notifications.rb'
+ - 'db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb'
+ - 'db/migrate/20180109143959_add_remember_token_to_users.rb'
+ - 'db/migrate/20180204034416_create_identities.rb'
+ - 'db/migrate/20180206000000_change_user_id_nonnullable.rb'
+ - 'db/migrate/20180211015820_create_backups.rb'
+ - 'db/migrate/20180304013859_add_featured_collection_url_to_accounts.rb'
+ - 'db/migrate/20180310000000_change_columns_in_notifications_nonnullable.rb'
+ - 'db/migrate/20180402031200_add_assigned_account_id_to_reports.rb'
+ - 'db/migrate/20180402040909_create_report_notes.rb'
+ - 'db/migrate/20180410204633_add_fields_to_accounts.rb'
+ - 'db/migrate/20180416210259_add_uri_to_relationships.rb'
+ - 'db/migrate/20180506221944_add_actor_type_to_accounts.rb'
+ - 'db/migrate/20180510214435_add_access_token_id_to_web_push_subscriptions.rb'
+ - 'db/migrate/20180510230049_migrate_web_push_subscriptions.rb'
+ - 'db/migrate/20180528141303_fix_accounts_unique_index.rb'
+ - 'db/migrate/20180608213548_reject_following_blocked_users.rb'
+ - 'db/migrate/20180609104432_migrate_web_push_subscriptions2.rb'
+ - 'db/migrate/20180615122121_add_autofollow_to_invites.rb'
+ - 'db/migrate/20180616192031_add_chosen_languages_to_users.rb'
+ - 'db/migrate/20180617162849_remove_unused_indexes.rb'
+ - 'db/migrate/20180628181026_create_custom_filters.rb'
+ - 'db/migrate/20180707154237_add_whole_word_to_custom_filter.rb'
+ - 'db/migrate/20180711152640_create_relays.rb'
+ - 'db/migrate/20180808175627_create_account_pins.rb'
+ - 'db/migrate/20180812123222_change_relays_enabled.rb'
+ - 'db/migrate/20180812162710_create_status_stats.rb'
+ - 'db/migrate/20180812173710_copy_status_stats.rb'
+ - 'db/migrate/20180814171349_add_confidential_to_doorkeeper_application.rb'
+ - 'db/migrate/20180831171112_create_bookmarks.rb'
+ - 'db/migrate/20180929222014_create_account_conversations.rb'
+ - 'db/migrate/20181007025445_create_pghero_space_stats.rb'
+ - 'db/migrate/20181010141500_add_silent_to_mentions.rb'
+ - 'db/migrate/20181017170937_add_reject_reports_to_domain_blocks.rb'
+ - 'db/migrate/20181018205649_add_unread_to_account_conversations.rb'
+ - 'db/migrate/20181024224956_migrate_account_conversations.rb'
+ - 'db/migrate/20181026034033_remove_faux_remote_account_duplicates.rb'
+ - 'db/migrate/20181116165755_create_account_stats.rb'
+ - 'db/migrate/20181116173541_copy_account_stats.rb'
+ - 'db/migrate/20181127130500_identity_id_to_bigint.rb'
+ - 'db/migrate/20181127165847_add_show_replies_to_lists.rb'
+ - 'db/migrate/20181203003808_create_accounts_tags_join_table.rb'
+ - 'db/migrate/20181203021853_add_discoverable_to_accounts.rb'
+ - 'db/migrate/20181204193439_add_last_status_at_to_account_stats.rb'
+ - 'db/migrate/20181204215309_create_account_tag_stats.rb'
+ - 'db/migrate/20181207011115_downcase_custom_emoji_domains.rb'
+ - 'db/migrate/20181213184704_create_account_warnings.rb'
+ - 'db/migrate/20181213185533_create_account_warning_presets.rb'
+ - 'db/migrate/20181219235220_add_created_by_application_id_to_users.rb'
+ - 'db/migrate/20181226021420_add_also_known_as_to_accounts.rb'
+ - 'db/migrate/20190103124649_create_scheduled_statuses.rb'
+ - 'db/migrate/20190103124754_add_scheduled_status_id_to_media_attachments.rb'
+ - 'db/migrate/20190117114553_create_tombstones.rb'
+ - 'db/migrate/20190201012802_add_overwrite_to_imports.rb'
+ - 'db/migrate/20190203180359_create_featured_tags.rb'
+ - 'db/migrate/20190225031541_create_polls.rb'
+ - 'db/migrate/20190225031625_create_poll_votes.rb'
+ - 'db/migrate/20190226003449_add_poll_id_to_statuses.rb'
+ - 'db/migrate/20190304152020_add_uri_to_poll_votes.rb'
+ - 'db/migrate/20190306145741_add_lock_version_to_polls.rb'
+ - 'db/migrate/20190307234537_add_approved_to_users.rb'
+ - 'db/migrate/20190314181829_migrate_open_registrations_setting.rb'
+ - 'db/migrate/20190316190352_create_account_identity_proofs.rb'
+ - 'db/migrate/20190317135723_add_uri_to_reports.rb'
+ - 'db/migrate/20190403141604_add_comment_to_invites.rb'
+ - 'db/migrate/20190409054914_create_user_invite_requests.rb'
+ - 'db/migrate/20190420025523_add_blurhash_to_media_attachments.rb'
+ - 'db/migrate/20190509164208_add_by_moderator_to_tombstone.rb'
+ - 'db/migrate/20190511134027_add_silenced_at_suspended_at_to_accounts.rb'
+ - 'db/migrate/20190529143559_preserve_old_layout_for_existing_users.rb'
+ - 'db/migrate/20190627222225_create_custom_emoji_categories.rb'
+ - 'db/migrate/20190627222826_add_category_id_to_custom_emojis.rb'
+ - 'db/migrate/20190701022101_add_trust_level_to_accounts.rb'
+ - 'db/migrate/20190705002136_create_domain_allows.rb'
+ - 'db/migrate/20190715164535_add_instance_actor.rb'
+ - 'db/migrate/20190726175042_add_case_insensitive_index_to_tags.rb'
+ - 'db/migrate/20190729185330_add_score_to_tags.rb'
+ - 'db/migrate/20190805123746_add_capabilities_to_tags.rb'
+ - 'db/migrate/20190807135426_add_comments_to_domain_blocks.rb'
+ - 'db/migrate/20190815225426_add_last_status_at_to_tags.rb'
+ - 'db/migrate/20190819134503_add_deleted_at_to_statuses.rb'
+ - 'db/migrate/20190820003045_update_statuses_index.rb'
+ - 'db/migrate/20190823221802_add_local_index_to_statuses.rb'
+ - 'db/migrate/20190901035623_add_max_score_to_tags.rb'
+ - 'db/migrate/20190904222339_create_markers.rb'
+ - 'db/migrate/20190914202517_create_account_migrations.rb'
+ - 'db/migrate/20190915194355_create_account_aliases.rb'
+ - 'db/migrate/20190927232842_add_voters_count_to_polls.rb'
+ - 'db/migrate/20191001213028_add_lock_version_to_account_stats.rb'
+ - 'db/migrate/20191007013357_update_pt_locales.rb'
+ - 'db/migrate/20191031163205_change_list_account_follow_nullable.rb'
+ - 'db/migrate/20191212003415_increase_backup_size.rb'
+ - 'db/migrate/20191212163405_add_hide_collections_to_accounts.rb'
+ - 'db/migrate/20191218153258_create_announcements.rb'
+ - 'db/migrate/20200113125135_create_announcement_mutes.rb'
+ - 'db/migrate/20200114113335_create_announcement_reactions.rb'
+ - 'db/migrate/20200119112504_add_public_index_to_statuses.rb'
+ - 'db/migrate/20200126203551_add_published_at_to_announcements.rb'
+ - 'db/migrate/20200306035625_add_processing_to_media_attachments.rb'
+ - 'db/migrate/20200309150742_add_forwarded_to_reports.rb'
+ - 'db/migrate/20200312144258_add_title_to_account_warning_presets.rb'
+ - 'db/migrate/20200312162302_add_status_ids_to_announcements.rb'
+ - 'db/migrate/20200312185443_add_parent_id_to_email_domain_blocks.rb'
+ - 'db/migrate/20200317021758_add_expires_at_to_mutes.rb'
+ - 'db/migrate/20200407201300_create_unavailable_domains.rb'
+ - 'db/migrate/20200407202420_migrate_unavailable_inboxes.rb'
+ - 'db/migrate/20200417125749_add_storage_schema_version.rb'
+ - 'db/migrate/20200508212852_reset_unique_jobs_locks.rb'
+ - 'db/migrate/20200510110808_reset_web_app_secret.rb'
+ - 'db/migrate/20200510181721_remove_duplicated_indexes_pghero.rb'
+ - 'db/migrate/20200516180352_create_devices.rb'
+ - 'db/migrate/20200516183822_create_one_time_keys.rb'
+ - 'db/migrate/20200518083523_create_encrypted_messages.rb'
+ - 'db/migrate/20200521180606_encrypted_message_ids_to_timestamp_ids.rb'
+ - 'db/migrate/20200529214050_add_devices_url_to_accounts.rb'
+ - 'db/migrate/20200601222558_create_system_keys.rb'
+ - 'db/migrate/20200605155027_add_blurhash_to_preview_cards.rb'
+ - 'db/migrate/20200608113046_add_sign_in_token_to_users.rb'
+ - 'db/migrate/20200614002136_add_sensitized_to_accounts.rb'
+ - 'db/migrate/20200620164023_add_fixed_lowercase_index_to_accounts.rb'
+ - 'db/migrate/20200622213645_media_attachment_ids_to_timestamp_ids.rb'
+ - 'db/migrate/20200627125810_add_thumbnail_columns_to_media_attachments.rb'
+ - 'db/migrate/20200628133322_create_account_notes.rb'
+ - 'db/migrate/20200630190240_create_webauthn_credentials.rb'
+ - 'db/migrate/20200630190544_add_webauthn_id_to_users.rb'
+ - 'db/migrate/20200908193330_create_account_deletion_requests.rb'
+ - 'db/migrate/20200917192924_add_notify_to_follows.rb'
+ - 'db/migrate/20200917193034_add_type_to_notifications.rb'
+ - 'db/migrate/20200917222316_add_index_notifications_on_type.rb'
+ - 'db/migrate/20201008202037_create_ip_blocks.rb'
+ - 'db/migrate/20201008220312_add_sign_up_ip_to_users.rb'
+ - 'db/migrate/20201017233919_add_suspension_origin_to_accounts.rb'
+ - 'db/migrate/20201206004238_create_instances.rb'
+ - 'db/migrate/20201218054746_add_obfuscate_to_domain_blocks.rb'
+ - 'db/migrate/20210221045109_create_rules.rb'
+ - 'db/migrate/20210306164523_account_ids_to_timestamp_ids.rb'
+ - 'db/migrate/20210322164601_create_account_summaries.rb'
+ - 'db/migrate/20210323114347_create_follow_recommendations.rb'
+ - 'db/migrate/20210324171613_create_follow_recommendation_suppressions.rb'
+ - 'db/migrate/20210416200740_create_canonical_email_blocks.rb'
+ - 'db/migrate/20210421121431_add_case_insensitive_btree_index_to_tags.rb'
+ - 'db/migrate/20210425135952_add_index_on_media_attachments_account_id_status_id.rb'
+ - 'db/migrate/20210505174616_update_follow_recommendations_to_version_2.rb'
+ - 'db/migrate/20210609202149_create_login_activities.rb'
+ - 'db/migrate/20210616214526_create_user_ips.rb'
+ - 'db/migrate/20210621221010_add_skip_sign_in_token_to_users.rb'
+ - 'db/migrate/20210630000137_fix_canonical_email_blocks_foreign_key.rb'
+ - 'db/migrate/20210722120340_create_account_statuses_cleanup_policies.rb'
+ - 'db/migrate/20210904215403_add_edited_at_to_statuses.rb'
+ - 'db/migrate/20210908220918_create_status_edits.rb'
+ - 'db/migrate/20211031031021_create_preview_card_providers.rb'
+ - 'db/migrate/20211112011713_add_language_to_preview_cards.rb'
+ - 'db/migrate/20211115032527_add_trendable_to_preview_cards.rb'
+ - 'db/migrate/20211123212714_add_link_type_to_preview_cards.rb'
+ - 'db/migrate/20211213040746_update_account_summaries_to_version_2.rb'
+ - 'db/migrate/20211231080958_add_category_to_reports.rb'
+ - 'db/migrate/20220105163928_remove_mentions_status_id_index.rb'
+ - 'db/migrate/20220115125126_add_report_id_to_account_warnings.rb'
+ - 'db/migrate/20220115125341_fix_account_warning_actions.rb'
+ - 'db/migrate/20220116202951_add_deleted_at_index_on_statuses.rb'
+ - 'db/migrate/20220124141035_create_appeals.rb'
+ - 'db/migrate/20220202200743_add_trendable_to_accounts.rb'
+ - 'db/migrate/20220202200926_add_trendable_to_statuses.rb'
+ - 'db/migrate/20220210153119_add_overruled_at_to_account_warnings.rb'
+ - 'db/migrate/20220224010024_add_ips_to_email_domain_blocks.rb'
+ - 'db/migrate/20220227041951_add_last_used_at_to_oauth_access_tokens.rb'
+ - 'db/migrate/20220302232632_add_ordered_media_attachment_ids_to_statuses.rb'
+ - 'db/migrate/20220303000827_add_ordered_media_attachment_ids_to_status_edits.rb'
+ - 'db/migrate/20220304195405_migrate_hide_network_preference.rb'
+ - 'db/migrate/20220307094650_fix_featured_tags_constraints.rb'
+ - 'db/migrate/20220309213005_fix_reblog_deleted_at.rb'
+ - 'db/migrate/20220316233212_update_kurdish_locales.rb'
+ - 'db/migrate/20220428112511_add_index_statuses_on_account_id.rb'
+ - 'db/migrate/20220428112727_add_index_statuses_pins_on_status_id.rb'
+ - 'db/migrate/20220428114454_add_index_reports_on_assigned_account_id.rb'
+ - 'db/migrate/20220428114902_add_index_reports_on_action_taken_by_account_id.rb'
+ - 'db/migrate/20220606044941_create_webhooks.rb'
+ - 'db/migrate/20220611210335_create_user_roles.rb'
+ - 'db/migrate/20220611212541_add_role_id_to_users.rb'
+ - 'db/migrate/20220710102457_add_display_name_to_tags.rb'
+ - 'db/migrate/20220714171049_create_tag_follows.rb'
+ - 'db/migrate/20220824164433_add_human_identifier_to_admin_action_logs.rb'
+ - 'db/migrate/20220824233535_create_status_trends.rb'
+ - 'db/migrate/20220827195229_change_canonical_email_blocks_nullable.rb'
+ - 'db/migrate/20220829192633_add_languages_to_follows.rb'
+ - 'db/migrate/20220829192658_add_languages_to_follow_requests.rb'
+ - 'db/migrate/20221006061337_create_preview_card_trends.rb'
+ - 'db/migrate/20221012181003_add_blurhash_to_site_uploads.rb'
+ - 'db/migrate/20221021055441_add_index_featured_tags_on_account_id_and_tag_id.rb'
+ - 'db/migrate/20221025171544_add_index_ip_blocks_on_ip.rb'
+ - 'db/migrate/20221104133904_add_name_to_featured_tags.rb'
+ - 'db/post_migrate/20190519130537_remove_boosts_widening_audience.rb'
+ - 'db/post_migrate/20210308133107_remove_subscription_expires_at_from_accounts.rb'
+ - 'db/post_migrate/20220118183123_remove_rememberable_from_users.rb'
+ - 'db/seeds/01_web_app.rb'
+ - 'db/seeds/02_instance_actor.rb'
+ - 'db/seeds/03_roles.rb'
+ - 'db/seeds/04_admin.rb'
+ - 'lib/rails/engine_extensions.rb'
+ - 'lib/tasks/branding.rake'
+ - 'spec/fabricators_spec.rb'
+
+# This cop supports unsafe autocorrection (--autocorrect-all).
+Style/GlobalStdStream:
+ Exclude:
+ - 'config/boot.rb'
+ - 'config/environments/development.rb'
+ - 'config/environments/production.rb'
+
+# Configuration parameters: AllowedVariables.
+Style/GlobalVars:
+ Exclude:
+ - 'config/initializers/statsd.rb'
-# Offense count: 34
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
Style/GuardClause:
@@ -2030,6 +2384,7 @@ Style/GuardClause:
- 'app/workers/redownload_header_worker.rb'
- 'app/workers/redownload_media_worker.rb'
- 'app/workers/remote_account_refresh_worker.rb'
+ - 'config/initializers/devise.rb'
- 'db/migrate/20170901141119_truncate_preview_cards.rb'
- 'db/post_migrate/20220704024901_migrate_settings_to_user_roles.rb'
- 'lib/devise/two_factor_ldap_authenticatable.rb'
@@ -2040,7 +2395,6 @@ Style/GuardClause:
- 'lib/paperclip/attachment_extensions.rb'
- 'lib/tasks/repo.rake'
-# Offense count: 13
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: braces, no_braces
@@ -2056,14 +2410,6 @@ Style/HashAsLastArrayItem:
- 'app/services/notify_service.rb'
- 'db/migrate/20181024224956_migrate_account_conversations.rb'
-# Offense count: 1
-# This cop supports safe autocorrection (--autocorrect).
-# Configuration parameters: AllowSplatArgument.
-Style/HashConversion:
- Exclude:
- - 'app/services/import_service.rb'
-
-# Offense count: 12
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
@@ -2077,29 +2423,59 @@ Style/HashSyntax:
- 'spec/controllers/admin/statuses_controller_spec.rb'
- 'spec/controllers/concerns/signature_verification_spec.rb'
-# Offense count: 3
# This cop supports unsafe autocorrection (--autocorrect-all).
Style/HashTransformValues:
Exclude:
- 'app/serializers/rest/web_push_subscription_serializer.rb'
- 'app/services/import_service.rb'
-# Offense count: 3
+# This cop supports unsafe autocorrection (--autocorrect-all).
+Style/IdenticalConditionalBranches:
+ Exclude:
+ - 'config/initializers/content_security_policy.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+Style/IfUnlessModifier:
+ Exclude:
+ - 'config/environments/production.rb'
+ - 'config/initializers/devise.rb'
+ - 'config/initializers/ffmpeg.rb'
+
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: InverseMethods, InverseBlocks.
Style/InverseMethods:
Exclude:
+ - 'app/controllers/concerns/signature_verification.rb'
+ - 'app/helpers/jsonld_helper.rb'
+ - 'app/lib/activitypub/activity/create.rb'
+ - 'app/lib/activitypub/activity/move.rb'
+ - 'app/lib/feed_manager.rb'
+ - 'app/lib/link_details_extractor.rb'
+ - 'app/models/concerns/attachmentable.rb'
+ - 'app/models/concerns/remotable.rb'
- 'app/models/custom_filter.rb'
+ - 'app/models/webhook.rb'
+ - 'app/services/activitypub/process_status_update_service.rb'
+ - 'app/services/fetch_link_card_service.rb'
+ - 'app/services/search_service.rb'
- 'app/services/update_account_service.rb'
+ - 'app/workers/web/push_notification_worker.rb'
+ - 'lib/paperclip/color_extractor.rb'
- 'spec/controllers/activitypub/replies_controller_spec.rb'
-# Offense count: 1
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: line_count_dependent, lambda, literal
+Style/Lambda:
+ Exclude:
+ - 'config/initializers/simple_form.rb'
+ - 'config/routes.rb'
+
# This cop supports unsafe autocorrection (--autocorrect-all).
Style/MapToHash:
Exclude:
- 'app/models/status.rb'
-# Offense count: 17
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: literals, strict
@@ -2113,16 +2489,28 @@ Style/MutableConstant:
- 'app/services/delete_account_service.rb'
- 'app/services/fetch_link_card_service.rb'
- 'app/services/resolve_url_service.rb'
+ - 'config/initializers/twitter_regex.rb'
- 'lib/mastodon/snowflake.rb'
- 'spec/controllers/api/base_controller_spec.rb'
-# Offense count: 10
+# This cop supports safe autocorrection (--autocorrect).
+Style/NilLambda:
+ Exclude:
+ - 'config/initializers/paperclip.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: MinDigits, Strict, AllowedNumbers, AllowedPatterns.
+Style/NumericLiterals:
+ Exclude:
+ - 'config/initializers/strong_migrations.rb'
+
# Configuration parameters: AllowedMethods.
# AllowedMethods: respond_to_missing?
Style/OptionalBooleanParameter:
Exclude:
- 'app/helpers/admin/account_moderation_notes_helper.rb'
- 'app/helpers/jsonld_helper.rb'
+ - 'app/lib/admin/system_check/message.rb'
- 'app/lib/request.rb'
- 'app/lib/webfinger.rb'
- 'app/services/block_domain_service.rb'
@@ -2131,24 +2519,44 @@ Style/OptionalBooleanParameter:
- 'app/workers/unfollow_follow_worker.rb'
- 'lib/mastodon/redis_config.rb'
-# Offense count: 1
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: PreferredDelimiters.
+Style/PercentLiteralDelimiters:
+ Exclude:
+ - 'config/deploy.rb'
+ - 'config/initializers/doorkeeper.rb'
+
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: short, verbose
Style/PreferredHashMethods:
Exclude:
- - 'spec/support/matchers/model/model_have_error_on_field.rb'
+ - 'config/initializers/paperclip.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+Style/RedundantBegin:
+ Exclude:
+ - 'config/initializers/simple_form.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+Style/RedundantConstantBase:
+ Exclude:
+ - 'config/environments/production.rb'
+ - 'config/initializers/sidekiq.rb'
+ - 'config/initializers/statsd.rb'
+ - 'config/locales/sr-Latn.rb'
+ - 'config/locales/sr.rb'
-# Offense count: 5
# This cop supports unsafe autocorrection (--autocorrect-all).
-# Configuration parameters: Methods.
-Style/RedundantArgument:
+# Configuration parameters: SafeForConstants.
+Style/RedundantFetchBlock:
Exclude:
- - 'app/controllers/concerns/signature_verification.rb'
- - 'app/helpers/application_helper.rb'
- - 'lib/tasks/emojis.rake'
+ - 'config/initializers/1_hosts.rb'
+ - 'config/initializers/chewy.rb'
+ - 'config/initializers/devise.rb'
+ - 'config/initializers/paperclip.rb'
+ - 'config/puma.rb'
-# Offense count: 16
# This cop supports safe autocorrection (--autocorrect).
Style/RedundantRegexpCharacterClass:
Exclude:
@@ -2157,10 +2565,10 @@ Style/RedundantRegexpCharacterClass:
- 'app/models/domain_allow.rb'
- 'app/models/domain_block.rb'
- 'app/services/fetch_oembed_service.rb'
+ - 'config/initializers/rack_attack.rb'
- 'lib/tasks/emojis.rake'
- 'lib/tasks/mastodon.rake'
-# Offense count: 10
# This cop supports safe autocorrection (--autocorrect).
Style/RedundantRegexpEscape:
Exclude:
@@ -2168,10 +2576,10 @@ Style/RedundantRegexpEscape:
- 'app/models/account.rb'
- 'app/models/tag.rb'
- 'app/services/fetch_link_card_service.rb'
+ - 'config/initializers/twitter_regex.rb'
- 'lib/paperclip/color_extractor.rb'
- 'lib/tasks/mastodon.rake'
-# Offense count: 19
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, AllowInnerSlashes.
# SupportedStyles: slashes, percent_r, mixed
@@ -2190,10 +2598,12 @@ Style/RegexpLiteral:
- 'app/services/backup_service.rb'
- 'app/services/fetch_oembed_service.rb'
- 'app/services/search_service.rb'
+ - 'config/initializers/rack_attack.rb'
+ - 'config/initializers/twitter_regex.rb'
+ - 'config/routes.rb'
- 'lib/mastodon/premailer_webpack_strategy.rb'
- 'lib/tasks/mastodon.rake'
-# Offense count: 2
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength.
# AllowedMethods: present?, blank?, presence, try, try!
@@ -2202,7 +2612,6 @@ Style/SafeNavigation:
- 'app/models/concerns/account_finder_concern.rb'
- 'app/models/status.rb'
-# Offense count: 5
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowAsExpressionSeparator.
Style/Semicolon:
@@ -2211,7 +2620,6 @@ Style/Semicolon:
- 'spec/validators/blacklisted_email_validator_spec.rb'
- 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb'
-# Offense count: 2
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: only_raise, only_fail, semantic
@@ -2220,19 +2628,16 @@ Style/SignalException:
- 'lib/devise/two_factor_ldap_authenticatable.rb'
- 'lib/devise/two_factor_pam_authenticatable.rb'
-# Offense count: 3
# This cop supports unsafe autocorrection (--autocorrect-all).
Style/SingleArgumentDig:
Exclude:
- 'lib/webpacker/manifest_extensions.rb'
-# Offense count: 14
# This cop supports unsafe autocorrection (--autocorrect-all).
Style/SlicingWithRange:
Exclude:
- 'app/lib/emoji_formatter.rb'
- 'app/lib/text_formatter.rb'
- - 'app/lib/toc_generator.rb'
- 'app/models/account_alias.rb'
- 'app/models/domain_block.rb'
- 'app/models/email_domain_block.rb'
@@ -2243,133 +2648,75 @@ Style/SlicingWithRange:
- 'lib/mastodon/premailer_webpack_strategy.rb'
- 'lib/tasks/repo.rake'
-# Offense count: 272
# This cop supports safe autocorrection (--autocorrect).
-# Configuration parameters: EnforcedStyle, MinSize.
-# SupportedStyles: percent, brackets
-Style/SymbolArray:
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: require_parentheses, require_no_parentheses
+Style/StabbyLambdaParentheses:
Exclude:
- - 'app/controllers/accounts_controller.rb'
- - 'app/controllers/activitypub/replies_controller.rb'
- - 'app/controllers/admin/accounts_controller.rb'
- - 'app/controllers/admin/announcements_controller.rb'
- - 'app/controllers/admin/domain_blocks_controller.rb'
- - 'app/controllers/admin/email_domain_blocks_controller.rb'
- - 'app/controllers/admin/relationships_controller.rb'
- - 'app/controllers/admin/relays_controller.rb'
- - 'app/controllers/admin/roles_controller.rb'
- - 'app/controllers/admin/rules_controller.rb'
- - 'app/controllers/admin/statuses_controller.rb'
- - 'app/controllers/admin/trends/statuses_controller.rb'
- - 'app/controllers/admin/warning_presets_controller.rb'
- - 'app/controllers/admin/webhooks_controller.rb'
- - 'app/controllers/api/v1/accounts/credentials_controller.rb'
- - 'app/controllers/api/v1/accounts_controller.rb'
- - 'app/controllers/api/v1/admin/accounts_controller.rb'
- - 'app/controllers/api/v1/admin/canonical_email_blocks_controller.rb'
- - 'app/controllers/api/v1/admin/domain_allows_controller.rb'
- - 'app/controllers/api/v1/admin/domain_blocks_controller.rb'
- - 'app/controllers/api/v1/admin/email_domain_blocks_controller.rb'
- - 'app/controllers/api/v1/admin/ip_blocks_controller.rb'
- - 'app/controllers/api/v1/admin/reports_controller.rb'
- - 'app/controllers/api/v1/crypto/deliveries_controller.rb'
- - 'app/controllers/api/v1/crypto/keys/claims_controller.rb'
- - 'app/controllers/api/v1/crypto/keys/uploads_controller.rb'
- - 'app/controllers/api/v1/featured_tags_controller.rb'
- - 'app/controllers/api/v1/filters_controller.rb'
- - 'app/controllers/api/v1/lists_controller.rb'
- - 'app/controllers/api/v1/notifications_controller.rb'
- - 'app/controllers/api/v1/push/subscriptions_controller.rb'
- - 'app/controllers/api/v1/scheduled_statuses_controller.rb'
- - 'app/controllers/api/v1/statuses/reblogged_by_accounts_controller.rb'
- - 'app/controllers/api/v1/statuses_controller.rb'
- - 'app/controllers/api/v2/filters/keywords_controller.rb'
- - 'app/controllers/api/v2/filters/statuses_controller.rb'
- - 'app/controllers/api/v2/filters_controller.rb'
- - 'app/controllers/api/web/push_subscriptions_controller.rb'
- - 'app/controllers/application_controller.rb'
- - 'app/controllers/auth/registrations_controller.rb'
- - 'app/controllers/filters_controller.rb'
- - 'app/controllers/settings/applications_controller.rb'
- - 'app/controllers/settings/featured_tags_controller.rb'
- - 'app/controllers/settings/profiles_controller.rb'
- - 'app/controllers/settings/two_factor_authentication/webauthn_credentials_controller.rb'
- - 'app/controllers/statuses_controller.rb'
- - 'app/lib/feed_manager.rb'
- - 'app/models/account.rb'
- - 'app/models/account_filter.rb'
- - 'app/models/admin/status_filter.rb'
- - 'app/models/announcement.rb'
- - 'app/models/concerns/ldap_authenticable.rb'
- - 'app/models/concerns/status_threading_concern.rb'
- - 'app/models/custom_filter.rb'
- - 'app/models/domain_block.rb'
- - 'app/models/import.rb'
- - 'app/models/list.rb'
- - 'app/models/media_attachment.rb'
- - 'app/models/preview_card.rb'
- - 'app/models/relay.rb'
- - 'app/models/report.rb'
- - 'app/models/site_upload.rb'
- - 'app/models/status.rb'
- - 'app/serializers/initial_state_serializer.rb'
- - 'app/serializers/rest/notification_serializer.rb'
- - 'db/migrate/20160220174730_create_accounts.rb'
- - 'db/migrate/20160221003621_create_follows.rb'
- - 'db/migrate/20160223171800_create_favourites.rb'
- - 'db/migrate/20160224223247_create_mentions.rb'
- - 'db/migrate/20160314164231_add_owner_to_application.rb'
- - 'db/migrate/20160316103650_add_missing_indices.rb'
- - 'db/migrate/20160926213048_remove_owner_from_application.rb'
- - 'db/migrate/20161003145426_create_blocks.rb'
- - 'db/migrate/20161006213403_rails_settings_migration.rb'
- - 'db/migrate/20161105130633_create_statuses_tags_join_table.rb'
- - 'db/migrate/20161119211120_create_notifications.rb'
- - 'db/migrate/20161128103007_create_subscriptions.rb'
- - 'db/migrate/20161222204147_create_follow_requests.rb'
- - 'db/migrate/20170112154826_migrate_settings.rb'
- - 'db/migrate/20170301222600_create_mutes.rb'
- - 'db/migrate/20170406215816_add_notifications_and_favourites_indices.rb'
- - 'db/migrate/20170424003227_create_account_domain_blocks.rb'
- - 'db/migrate/20170427011934_re_add_owner_to_application.rb'
- - 'db/migrate/20170507141759_optimize_index_subscriptions.rb'
- - 'db/migrate/20170508230434_create_conversation_mutes.rb'
- - 'db/migrate/20170720000000_add_index_favourites_on_account_id_and_id.rb'
- - 'db/migrate/20170823162448_create_status_pins.rb'
- - 'db/migrate/20170901142658_create_join_table_preview_cards_statuses.rb'
- - 'db/migrate/20170905044538_add_index_id_account_id_activity_type_on_notifications.rb'
- - 'db/migrate/20170917153509_create_custom_emojis.rb'
- - 'db/migrate/20170918125918_ids_to_bigints.rb'
- - 'db/migrate/20171116161857_create_list_accounts.rb'
- - 'db/migrate/20171122120436_add_index_account_and_reblog_of_id_to_statuses.rb'
- - 'db/migrate/20171125185353_add_index_reblog_of_id_and_account_to_statuses.rb'
- - 'db/migrate/20171125190735_remove_old_reblog_index_on_statuses.rb'
- - 'db/migrate/20171129172043_add_index_on_stream_entries.rb'
- - 'db/migrate/20171226094803_more_faster_index_on_notifications.rb'
- - 'db/migrate/20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb'
- - 'db/migrate/20180514140000_revert_index_change_on_statuses_for_api_v1_accounts_account_id_statuses.rb'
- - 'db/migrate/20180808175627_create_account_pins.rb'
- - 'db/migrate/20180831171112_create_bookmarks.rb'
- - 'db/migrate/20180929222014_create_account_conversations.rb'
- - 'db/migrate/20181007025445_create_pghero_space_stats.rb'
- - 'db/migrate/20181203003808_create_accounts_tags_join_table.rb'
- - 'db/migrate/20190316190352_create_account_identity_proofs.rb'
- - 'db/migrate/20190511134027_add_silenced_at_suspended_at_to_accounts.rb'
- - 'db/migrate/20190820003045_update_statuses_index.rb'
- - 'db/migrate/20190823221802_add_local_index_to_statuses.rb'
- - 'db/migrate/20190904222339_create_markers.rb'
- - 'db/migrate/20200113125135_create_announcement_mutes.rb'
- - 'db/migrate/20200114113335_create_announcement_reactions.rb'
- - 'db/migrate/20200119112504_add_public_index_to_statuses.rb'
- - 'db/migrate/20200628133322_create_account_notes.rb'
- - 'db/migrate/20200917222316_add_index_notifications_on_type.rb'
- - 'db/migrate/20210425135952_add_index_on_media_attachments_account_id_status_id.rb'
- - 'db/migrate/20220714171049_create_tag_follows.rb'
- - 'db/migrate/20221021055441_add_index_featured_tags_on_account_id_and_tag_id.rb'
- - 'db/post_migrate/20190511152737_remove_suspended_silenced_account_fields.rb'
- - 'db/post_migrate/20200917222734_remove_index_notifications_on_account_activity.rb'
- - 'spec/controllers/api/v1/streaming_controller_spec.rb'
- - 'spec/controllers/api/v2/admin/accounts_controller_spec.rb'
- - 'spec/controllers/concerns/signature_verification_spec.rb'
- - 'spec/fabricators/notification_fabricator.rb'
- - 'spec/models/public_feed_spec.rb'
+ - 'config/environments/production.rb'
+ - 'config/initializers/content_security_policy.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+Style/StderrPuts:
+ Exclude:
+ - 'config/boot.rb'
+
+# This cop supports unsafe autocorrection (--autocorrect-all).
+# Configuration parameters: Mode.
+Style/StringConcatenation:
+ Exclude:
+ - 'config/initializers/paperclip.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
+# SupportedStyles: single_quotes, double_quotes
+Style/StringLiterals:
+ Exclude:
+ - 'config/environments/production.rb'
+ - 'config/initializers/backtrace_silencers.rb'
+ - 'config/initializers/http_client_proxy.rb'
+ - 'config/initializers/rack_attack.rb'
+ - 'config/initializers/webauthn.rb'
+ - 'config/routes.rb'
+
+# This cop supports unsafe autocorrection (--autocorrect-all).
+# Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments.
+# AllowedMethods: define_method, mail, respond_to
+Style/SymbolProc:
+ Exclude:
+ - 'config/initializers/omniauth.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: EnforcedStyle, AllowSafeAssignment.
+# SupportedStyles: require_parentheses, require_no_parentheses, require_parentheses_when_complex
+Style/TernaryParentheses:
+ Exclude:
+ - 'config/environments/development.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: EnforcedStyleForMultiline.
+# SupportedStylesForMultiline: comma, consistent_comma, no_comma
+Style/TrailingCommaInArguments:
+ Exclude:
+ - 'config/initializers/paperclip.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: EnforcedStyleForMultiline.
+# SupportedStylesForMultiline: comma, consistent_comma, no_comma
+Style/TrailingCommaInHashLiteral:
+ Exclude:
+ - 'config/environments/production.rb'
+ - 'config/environments/test.rb'
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: WordRegex.
+# SupportedStyles: percent, brackets
+Style/WordArray:
+ EnforcedStyle: percent
+ MinSize: 6
+
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
+# URISchemes: http, https
+Layout/LineLength:
+ Max: 701
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2b826fb14a..4527c50d95 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,57 @@
All notable changes to this project will be documented in this file.
+## [4.1.1] - 2023-03-16
+
+### Added
+
+- Add redirection from paths with url-encoded `@` to their decoded form ([thijskh](https://github.com/mastodon/mastodon/pull/23593))
+- Add `lang` attribute to native language names in language picker in Web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23749))
+- Add headers to outgoing mails to avoid auto-replies ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23597))
+- Add support for refreshing many accounts at once with `tootctl accounts refresh` ([9p4](https://github.com/mastodon/mastodon/pull/23304))
+- Add confirmation modal when clicking to edit a post with a non-empty compose form ([PauloVilarinho](https://github.com/mastodon/mastodon/pull/23936))
+- Add support for the HAproxy PROXY protocol through the `PROXY_PROTO_V1` environment variable ([CSDUMMI](https://github.com/mastodon/mastodon/pull/24064))
+- Add `SENDFILE_HEADER` environment variable ([Gargron](https://github.com/mastodon/mastodon/pull/24123))
+- Add cache headers to static files served through Rails ([Gargron](https://github.com/mastodon/mastodon/pull/24120))
+
+### Changed
+
+- Increase contrast of upload progress bar background ([toolmantim](https://github.com/mastodon/mastodon/pull/23836))
+- Change post auto-deletion throttling constants to better scale with server size ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23320))
+- Change order of bookmark and favourite sidebar entries in single-column UI for consistency ([TerryGarcia](https://github.com/mastodon/mastodon/pull/23701))
+- Change `ActivityPub::DeliveryWorker` retries to be spread out more ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21956))
+
+### Fixed
+
+- Fix “Remove all followers from the selected domains” also removing follows and notifications ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23805))
+- Fix streaming metrics format ([emilweth](https://github.com/mastodon/mastodon/pull/23519), [emilweth](https://github.com/mastodon/mastodon/pull/23520))
+- Fix case-sensitive check for previously used hashtags in hashtag autocompletion ([deanveloper](https://github.com/mastodon/mastodon/pull/23526))
+- Fix focus point of already-attached media not saving after edit ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23566))
+- Fix sidebar behavior in settings/admin UI on mobile ([wxt2005](https://github.com/mastodon/mastodon/pull/23764))
+- Fix inefficiency when searching accounts per username in admin interface ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23801))
+- Fix duplicate “Publish” button on mobile ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23804))
+- Fix server error when failing to follow back followers from `/relationships` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23787))
+- Fix server error when attempting to display the edit history of a trendable post in the admin interface ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23574))
+- Fix `tootctl accounts migrate` crashing because of a typo ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23567))
+- Fix original account being unfollowed on migration before the follow request to the new account could be sent ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/21957))
+- Fix the “Back” button in column headers sometimes leaving Mastodon ([c960657](https://github.com/mastodon/mastodon/pull/23953))
+- Fix pgBouncer resetting application name on every transaction ([Gargron](https://github.com/mastodon/mastodon/pull/23958))
+- Fix unconfirmed accounts being counted as active users ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23803))
+- Fix `/api/v1/streaming` sub-paths not being redirected ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23988))
+- Fix drag'n'drop upload area text that spans multiple lines not being centered ([vintprox](https://github.com/mastodon/mastodon/pull/24029))
+- Fix sidekiq jobs not triggering Elasticsearch index updates ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24046))
+- Fix tags being unnecessarily stripped from plain-text short site description ([c960657](https://github.com/mastodon/mastodon/pull/23975))
+- Fix HTML entities not being un-escaped in extracted plain-text from remote posts ([c960657](https://github.com/mastodon/mastodon/pull/24019))
+- Fix dashboard crash on ElasticSearch server error ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23751))
+- Fix incorrect post links in strikes when the account is remote ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23611))
+- Fix misleading error code when receiving invalid WebAuthn credentials ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23568))
+- Fix duplicate mails being sent when the SMTP server is too slow to close the connection ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/23750))
+
+### Security
+
+- Change user backups to use expiring URLs for download when possible ([Gargron](https://github.com/mastodon/mastodon/pull/24136))
+- Add warning for object storage misconfiguration ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/24137))
+
## [4.1.0] - 2023-02-10
### Added
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index f09f400061..c7c0a39b8e 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -80,8 +80,6 @@ It is not always possible to phrase every change in such a manner, but it is des
- Code style rules (rubocop, eslint)
- Normalization of locale files (i18n-tasks)
-**Note**: You may need to log in and authorise the GitHub account your fork of this repository belongs to with CircleCI to enable some of the automated checks to run.
-
## Documentation
The [Mastodon documentation](https://docs.joinmastodon.org) is a statically generated site. You can [submit merge requests to mastodon/documentation](https://github.com/mastodon/documentation).
diff --git a/Gemfile b/Gemfile
index 42340f58d0..8cb99a9ef5 100644
--- a/Gemfile
+++ b/Gemfile
@@ -4,9 +4,8 @@ source 'https://rubygems.org'
ruby '>= 2.7.0', '< 3.3.0'
gem 'pkg-config', '~> 1.5'
-gem 'rexml', '~> 3.2'
-gem 'puma', '~> 5.6'
+gem 'puma', '~> 6.1'
gem 'rails', '~> 6.1.7'
gem 'sprockets', '~> 3.7.2'
gem 'thor', '~> 1.2'
@@ -40,7 +39,7 @@ end
gem 'net-ldap', '~> 0.17'
gem 'omniauth-cas', '~> 2.0'
gem 'omniauth-saml', '~> 1.10'
-gem 'omniauth_openid_connect', '~> 0.6.0'
+gem 'omniauth_openid_connect', '~> 0.6.1'
gem 'omniauth', '~> 1.9'
gem 'omniauth-rails_csrf_protection', '~> 0.1'
@@ -70,7 +69,7 @@ gem 'public_suffix', '~> 5.0'
gem 'pundit', '~> 2.3'
gem 'premailer-rails'
gem 'rack-attack', '~> 6.6'
-gem 'rack-cors', '~> 1.1', require: 'rack/cors'
+gem 'rack-cors', '~> 2.0', require: 'rack/cors'
gem 'rails-i18n', '~> 6.0'
gem 'rails-settings-cached', '~> 0.6', git: 'https://github.com/mastodon/rails-settings-cached.git', branch: 'v0.6.6-aliases-true'
gem 'redcarpet', '~> 3.6'
@@ -104,9 +103,10 @@ group :development, :test do
gem 'fabrication', '~> 2.30'
gem 'fuubar', '~> 2.5'
gem 'i18n-tasks', '~> 1.0', require: false
- gem 'pry-byebug', '~> 3.10'
- gem 'pry-rails', '~> 0.3'
- gem 'rspec-rails', '~> 5.1'
+ gem 'rspec-rails', '~> 6.0'
+ gem 'rspec_chunked', '~> 0.6'
+
+ gem 'rubocop-capybara', require: false
gem 'rubocop-performance', require: false
gem 'rubocop-rails', require: false
gem 'rubocop-rspec', require: false
@@ -119,10 +119,10 @@ end
group :test do
gem 'capybara', '~> 3.38'
- gem 'climate_control', '~> 0.2'
+ gem 'climate_control'
gem 'faker', '~> 3.1'
gem 'json-schema', '~> 3.0'
- gem 'rack-test', '~> 2.0'
+ gem 'rack-test', '~> 2.1'
gem 'rails-controller-testing', '~> 1.0'
gem 'rspec_junit_formatter', '~> 0.6'
gem 'rspec-sidekiq', '~> 3.1'
@@ -131,16 +131,15 @@ group :test do
end
group :development do
- gem 'active_record_query_trace', '~> 1.8'
gem 'annotate', '~> 3.2'
gem 'better_errors', '~> 2.9'
gem 'binding_of_caller', '~> 1.0'
- gem 'bullet', '~> 7.0'
gem 'letter_opener', '~> 1.8'
gem 'letter_opener_web', '~> 2.0'
gem 'memory_profiler'
gem 'brakeman', '~> 5.4', require: false
gem 'bundler-audit', '~> 0.9', require: false
+ gem 'haml_lint', require: false
gem 'capistrano', '~> 3.17'
gem 'capistrano-rails', '~> 1.6'
diff --git a/Gemfile.lock b/Gemfile.lock
index 0deb4542d6..5f02f7030d 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -30,40 +30,40 @@ GIT
GEM
remote: https://rubygems.org/
specs:
- actioncable (6.1.7.2)
- actionpack (= 6.1.7.2)
- activesupport (= 6.1.7.2)
+ actioncable (6.1.7.3)
+ actionpack (= 6.1.7.3)
+ activesupport (= 6.1.7.3)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
- actionmailbox (6.1.7.2)
- actionpack (= 6.1.7.2)
- activejob (= 6.1.7.2)
- activerecord (= 6.1.7.2)
- activestorage (= 6.1.7.2)
- activesupport (= 6.1.7.2)
+ actionmailbox (6.1.7.3)
+ actionpack (= 6.1.7.3)
+ activejob (= 6.1.7.3)
+ activerecord (= 6.1.7.3)
+ activestorage (= 6.1.7.3)
+ activesupport (= 6.1.7.3)
mail (>= 2.7.1)
- actionmailer (6.1.7.2)
- actionpack (= 6.1.7.2)
- actionview (= 6.1.7.2)
- activejob (= 6.1.7.2)
- activesupport (= 6.1.7.2)
+ actionmailer (6.1.7.3)
+ actionpack (= 6.1.7.3)
+ actionview (= 6.1.7.3)
+ activejob (= 6.1.7.3)
+ activesupport (= 6.1.7.3)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
- actionpack (6.1.7.2)
- actionview (= 6.1.7.2)
- activesupport (= 6.1.7.2)
+ actionpack (6.1.7.3)
+ actionview (= 6.1.7.3)
+ activesupport (= 6.1.7.3)
rack (~> 2.0, >= 2.0.9)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
- actiontext (6.1.7.2)
- actionpack (= 6.1.7.2)
- activerecord (= 6.1.7.2)
- activestorage (= 6.1.7.2)
- activesupport (= 6.1.7.2)
+ actiontext (6.1.7.3)
+ actionpack (= 6.1.7.3)
+ activerecord (= 6.1.7.3)
+ activestorage (= 6.1.7.3)
+ activesupport (= 6.1.7.3)
nokogiri (>= 1.8.5)
- actionview (6.1.7.2)
- activesupport (= 6.1.7.2)
+ actionview (6.1.7.3)
+ activesupport (= 6.1.7.3)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
@@ -73,23 +73,22 @@ GEM
activemodel (>= 4.1, < 7.1)
case_transform (>= 0.2)
jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
- active_record_query_trace (1.8)
- activejob (6.1.7.2)
- activesupport (= 6.1.7.2)
+ activejob (6.1.7.3)
+ activesupport (= 6.1.7.3)
globalid (>= 0.3.6)
- activemodel (6.1.7.2)
- activesupport (= 6.1.7.2)
- activerecord (6.1.7.2)
- activemodel (= 6.1.7.2)
- activesupport (= 6.1.7.2)
- activestorage (6.1.7.2)
- actionpack (= 6.1.7.2)
- activejob (= 6.1.7.2)
- activerecord (= 6.1.7.2)
- activesupport (= 6.1.7.2)
+ activemodel (6.1.7.3)
+ activesupport (= 6.1.7.3)
+ activerecord (6.1.7.3)
+ activemodel (= 6.1.7.3)
+ activesupport (= 6.1.7.3)
+ activestorage (6.1.7.3)
+ actionpack (= 6.1.7.3)
+ activejob (= 6.1.7.3)
+ activerecord (= 6.1.7.3)
+ activesupport (= 6.1.7.3)
marcel (~> 1.0)
mini_mime (>= 1.1.0)
- activesupport (6.1.7.2)
+ activesupport (6.1.7.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
@@ -144,18 +143,14 @@ GEM
bootsnap (1.16.0)
msgpack (~> 1.2)
brakeman (5.4.0)
- browser (4.2.0)
+ browser (5.3.1)
brpoplpush-redis_script (0.1.3)
concurrent-ruby (~> 1.0, >= 1.0.5)
redis (>= 1.0, < 6)
builder (3.2.4)
- bullet (7.0.7)
- activesupport (>= 3.0.0)
- uniform_notifier (~> 1.11)
bundler-audit (0.9.1)
bundler (>= 1.2.0, < 3)
thor (~> 1.0)
- byebug (11.1.3)
capistrano (3.17.2)
airbrussh (>= 1.0.0)
i18n
@@ -193,7 +188,7 @@ GEM
cocoon (1.2.15)
coderay (1.1.3)
color_diff (0.1)
- concurrent-ruby (1.2.0)
+ concurrent-ruby (1.2.2)
connection_pool (2.3.0)
cose (1.3.0)
cbor (~> 0.5.9)
@@ -226,7 +221,7 @@ GEM
docile (1.4.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
- doorkeeper (5.6.4)
+ doorkeeper (5.6.5)
railties (>= 5)
dotenv (2.8.1)
dotenv-rails (2.8.1)
@@ -309,6 +304,12 @@ GEM
activesupport (>= 5.1)
haml (>= 4.0.6)
railties (>= 5.1)
+ haml_lint (0.45.0)
+ haml (>= 4.0, < 6.2)
+ parallel (~> 1.10)
+ rainbow
+ rubocop (>= 0.50.0)
+ sysexits (~> 1.1)
hashdiff (1.0.1)
hashie (5.0.0)
hcaptcha (7.1.0)
@@ -400,7 +401,7 @@ GEM
loofah (2.19.1)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
- mail (2.8.0.1)
+ mail (2.8.1)
mini_mime (>= 0.1.1)
net-imap
net-pop
@@ -418,7 +419,7 @@ GEM
mime-types-data (3.2022.0105)
mini_mime (1.1.2)
mini_portile2 (2.8.1)
- minitest (5.17.0)
+ minitest (5.18.0)
msgpack (1.6.0)
multi_json (1.15.0)
multipart-post (2.3.0)
@@ -460,7 +461,7 @@ GEM
omniauth-saml (1.10.3)
omniauth (~> 1.3, >= 1.3.2)
ruby-saml (~> 1.9)
- omniauth_openid_connect (0.6.0)
+ omniauth_openid_connect (0.6.1)
omniauth (>= 1.9, < 3)
openid_connect (~> 1.1)
openid_connect (1.4.2)
@@ -480,13 +481,13 @@ GEM
orm_adapter (0.5.0)
ox (2.14.14)
parallel (1.22.1)
- parser (3.2.1.0)
+ parser (3.2.1.1)
ast (~> 2.4.1)
parslet (2.0.0)
pastel (0.8.0)
tty-color (~> 0.5)
- pg (1.4.5)
- pghero (3.1.0)
+ pg (1.4.6)
+ pghero (3.3.1)
activerecord (>= 6)
pkg-config (1.5.1)
posix-spawn (0.3.15)
@@ -499,25 +500,17 @@ GEM
net-smtp
premailer (~> 1.7, >= 1.7.9)
private_address_check (0.5.0)
- pry (0.14.1)
- coderay (~> 1.1)
- method_source (~> 1.0)
- pry-byebug (3.10.1)
- byebug (~> 11.0)
- pry (>= 0.13, < 0.15)
- pry-rails (0.3.9)
- pry (>= 0.10.4)
public_suffix (5.0.1)
- puma (5.6.5)
+ puma (6.1.1)
nio4r (~> 2.0)
pundit (2.3.0)
activesupport (>= 3.0.0)
raabro (1.4.0)
racc (1.6.2)
- rack (2.2.6.2)
+ rack (2.2.6.4)
rack-attack (6.6.1)
rack (>= 1.0, < 3)
- rack-cors (1.1.1)
+ rack-cors (2.0.1)
rack (>= 2.0.0)
rack-oauth2 (1.21.3)
activesupport
@@ -527,22 +520,22 @@ GEM
rack (>= 2.1.0)
rack-proxy (0.7.6)
rack
- rack-test (2.0.2)
+ rack-test (2.1.0)
rack (>= 1.3)
- rails (6.1.7.2)
- actioncable (= 6.1.7.2)
- actionmailbox (= 6.1.7.2)
- actionmailer (= 6.1.7.2)
- actionpack (= 6.1.7.2)
- actiontext (= 6.1.7.2)
- actionview (= 6.1.7.2)
- activejob (= 6.1.7.2)
- activemodel (= 6.1.7.2)
- activerecord (= 6.1.7.2)
- activestorage (= 6.1.7.2)
- activesupport (= 6.1.7.2)
+ rails (6.1.7.3)
+ actioncable (= 6.1.7.3)
+ actionmailbox (= 6.1.7.3)
+ actionmailer (= 6.1.7.3)
+ actionpack (= 6.1.7.3)
+ actiontext (= 6.1.7.3)
+ actionview (= 6.1.7.3)
+ activejob (= 6.1.7.3)
+ activemodel (= 6.1.7.3)
+ activerecord (= 6.1.7.3)
+ activestorage (= 6.1.7.3)
+ activesupport (= 6.1.7.3)
bundler (>= 1.15.0)
- railties (= 6.1.7.2)
+ railties (= 6.1.7.3)
sprockets-rails (>= 2.0.0)
rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1)
@@ -556,9 +549,9 @@ GEM
rails-i18n (6.0.0)
i18n (>= 0.7, < 2)
railties (>= 6.0.0, < 7)
- railties (6.1.7.2)
- actionpack (= 6.1.7.2)
- activesupport (= 6.1.7.2)
+ railties (6.1.7.3)
+ actionpack (= 6.1.7.3)
+ activesupport (= 6.1.7.3)
method_source
rake (>= 12.2)
thor (~> 1.0)
@@ -569,7 +562,7 @@ GEM
rdf-normalize (0.5.1)
rdf (~> 3.2)
redcarpet (3.6.0)
- redis (4.5.1)
+ redis (4.8.1)
redis-namespace (1.10.0)
redis (>= 4)
redlock (1.3.2)
@@ -587,53 +580,54 @@ GEM
chunky_png (~> 1.0)
rqrcode_core (~> 1.0)
rqrcode_core (1.2.0)
- rspec-core (3.11.0)
- rspec-support (~> 3.11.0)
- rspec-expectations (3.11.0)
+ rspec-core (3.12.1)
+ rspec-support (~> 3.12.0)
+ rspec-expectations (3.12.2)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.11.0)
- rspec-mocks (3.11.1)
+ rspec-support (~> 3.12.0)
+ rspec-mocks (3.12.3)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.11.0)
- rspec-rails (5.1.2)
- actionpack (>= 5.2)
- activesupport (>= 5.2)
- railties (>= 5.2)
- rspec-core (~> 3.10)
- rspec-expectations (~> 3.10)
- rspec-mocks (~> 3.10)
- rspec-support (~> 3.10)
+ rspec-support (~> 3.12.0)
+ rspec-rails (6.0.1)
+ actionpack (>= 6.1)
+ activesupport (>= 6.1)
+ railties (>= 6.1)
+ rspec-core (~> 3.11)
+ rspec-expectations (~> 3.11)
+ rspec-mocks (~> 3.11)
+ rspec-support (~> 3.11)
rspec-sidekiq (3.1.0)
rspec-core (~> 3.0, >= 3.0.0)
sidekiq (>= 2.4.0)
- rspec-support (3.11.1)
+ rspec-support (3.12.0)
+ rspec_chunked (0.6)
rspec_junit_formatter (0.6.0)
rspec-core (>= 2, < 4, != 2.12.0)
- rubocop (1.45.1)
+ rubocop (1.48.1)
json (~> 2.3)
parallel (~> 1.10)
parser (>= 3.2.0.0)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
- rubocop-ast (>= 1.24.1, < 2.0)
+ rubocop-ast (>= 1.26.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
- rubocop-ast (1.24.1)
- parser (>= 3.1.1.0)
- rubocop-capybara (2.17.0)
+ rubocop-ast (1.27.0)
+ parser (>= 3.2.1.0)
+ rubocop-capybara (2.17.1)
rubocop (~> 1.41)
rubocop-performance (1.16.0)
rubocop (>= 1.7.0, < 2.0)
rubocop-ast (>= 0.4.0)
- rubocop-rails (2.17.4)
+ rubocop-rails (2.18.0)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
- rubocop-rspec (2.18.1)
+ rubocop-rspec (2.19.0)
rubocop (~> 1.33)
rubocop-capybara (~> 2.17)
- ruby-progressbar (1.11.0)
+ ruby-progressbar (1.13.0)
ruby-saml (1.13.0)
nokogiri (>= 1.10.5)
rexml
@@ -655,9 +649,9 @@ GEM
redis (>= 4.5.0, < 5)
sidekiq-bulk (0.2.0)
sidekiq
- sidekiq-scheduler (5.0.1)
+ sidekiq-scheduler (5.0.2)
rufus-scheduler (~> 3.2)
- sidekiq (>= 4, < 8)
+ sidekiq (>= 6, < 8)
tilt (>= 1.4.0)
sidekiq-unique-jobs (7.1.29)
brpoplpush-redis_script (> 0.1.1, <= 2.0.0)
@@ -687,7 +681,7 @@ GEM
sshkit (1.21.4)
net-scp (>= 1.1.2)
net-ssh (>= 2.8.0)
- stackprof (0.2.23)
+ stackprof (0.2.24)
statsd-ruby (1.5.0)
stoplight (3.0.1)
redlock (~> 1.0)
@@ -697,14 +691,15 @@ GEM
activesupport (>= 3)
attr_required (>= 0.0.5)
httpclient (>= 2.4)
+ sysexits (1.2.0)
temple (0.10.0)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
terrapin (0.6.0)
climate_control (>= 0.0.3, < 1.0)
thor (1.2.1)
- tilt (2.0.11)
- timeout (0.3.1)
+ tilt (2.1.0)
+ timeout (0.3.2)
tpm-key_attestation (0.12.0)
bindata (~> 2.4)
openssl (> 2.0)
@@ -730,7 +725,6 @@ GEM
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (2.4.2)
- uniform_notifier (1.16.0)
uri (0.12.0)
validate_email (0.1.6)
activemodel (>= 3.0)
@@ -775,7 +769,6 @@ PLATFORMS
DEPENDENCIES
active_model_serializers (~> 0.10)
- active_record_query_trace (~> 1.8)
addressable (~> 2.8)
annotate (~> 3.2)
aws-sdk-s3 (~> 1.119)
@@ -785,7 +778,6 @@ DEPENDENCIES
bootsnap (~> 1.16.0)
brakeman (~> 5.4)
browser
- bullet (~> 7.0)
bundler-audit (~> 0.9)
capistrano (~> 3.17)
capistrano-rails (~> 1.6)
@@ -794,7 +786,7 @@ DEPENDENCIES
capybara (~> 3.38)
charlock_holmes (~> 0.7.7)
chewy (~> 7.2)
- climate_control (~> 0.2)
+ climate_control
cocoon (~> 1.2)
color_diff (~> 0.1)
concurrent-ruby
@@ -814,6 +806,7 @@ DEPENDENCIES
fog-openstack (~> 0.3)
fuubar (~> 2.5)
haml-rails (~> 2.0)
+ haml_lint
hcaptcha (~> 7.1)
hiredis (~> 0.6)
htmlentities (~> 4.3)
@@ -844,7 +837,7 @@ DEPENDENCIES
omniauth-cas (~> 2.0)
omniauth-rails_csrf_protection (~> 0.1)
omniauth-saml (~> 1.10)
- omniauth_openid_connect (~> 0.6.0)
+ omniauth_openid_connect (~> 0.6.1)
ox (~> 2.14)
parslet
pg (~> 1.4)
@@ -853,15 +846,13 @@ DEPENDENCIES
posix-spawn
premailer-rails
private_address_check (~> 0.5)
- pry-byebug (~> 3.10)
- pry-rails (~> 0.3)
public_suffix (~> 5.0)
- puma (~> 5.6)
+ puma (~> 6.1)
pundit (~> 2.3)
rack (~> 2.2.6)
rack-attack (~> 6.6)
- rack-cors (~> 1.1)
- rack-test (~> 2.0)
+ rack-cors (~> 2.0)
+ rack-test (~> 2.1)
rails (~> 6.1.7)
rails-controller-testing (~> 1.0)
rails-i18n (~> 6.0)
@@ -870,12 +861,13 @@ DEPENDENCIES
redcarpet (~> 3.6)
redis (~> 4.5)
redis-namespace (~> 1.10)
- rexml (~> 3.2)
rqrcode (~> 2.1)
- rspec-rails (~> 5.1)
+ rspec-rails (~> 6.0)
rspec-sidekiq (~> 3.1)
+ rspec_chunked (~> 0.6)
rspec_junit_formatter (~> 0.6)
rubocop
+ rubocop-capybara
rubocop-performance
rubocop-rails
rubocop-rspec
diff --git a/app/controllers/admin/domain_blocks_controller.rb b/app/controllers/admin/domain_blocks_controller.rb
index 060db11bbd..750f5c995c 100644
--- a/app/controllers/admin/domain_blocks_controller.rb
+++ b/app/controllers/admin/domain_blocks_controller.rb
@@ -2,7 +2,7 @@
module Admin
class DomainBlocksController < BaseController
- before_action :set_domain_block, only: [:show, :destroy, :edit, :update]
+ before_action :set_domain_block, only: [:destroy, :edit, :update]
def batch
authorize :domain_block, :create?
diff --git a/app/controllers/admin/email_domain_blocks_controller.rb b/app/controllers/admin/email_domain_blocks_controller.rb
index a0a43de192..4a3228ec30 100644
--- a/app/controllers/admin/email_domain_blocks_controller.rb
+++ b/app/controllers/admin/email_domain_blocks_controller.rb
@@ -2,8 +2,6 @@
module Admin
class EmailDomainBlocksController < BaseController
- before_action :set_email_domain_block, only: [:show, :destroy]
-
def index
authorize :email_domain_block, :index?
@@ -59,10 +57,6 @@ module Admin
private
- def set_email_domain_block
- @email_domain_block = EmailDomainBlock.find(params[:id])
- end
-
def set_resolved_records
Resolv::DNS.open do |dns|
dns.timeouts = 5
diff --git a/app/controllers/api/v1/instances/translation_languages_controller.rb b/app/controllers/api/v1/instances/translation_languages_controller.rb
new file mode 100644
index 0000000000..3910a499e8
--- /dev/null
+++ b/app/controllers/api/v1/instances/translation_languages_controller.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+class Api::V1::Instances::TranslationLanguagesController < Api::BaseController
+ skip_before_action :require_authenticated_user!, unless: :whitelist_mode?
+
+ before_action :set_languages
+
+ def show
+ expires_in 1.day, public: true
+ render json: @languages
+ end
+
+ private
+
+ def set_languages
+ if TranslationService.configured?
+ @languages = Rails.cache.fetch('translation_service/languages', expires_in: 7.days, race_condition_ttl: 1.hour) { TranslationService.configured.languages }
+ @languages['und'] = @languages.delete(nil) if @languages.key?(nil)
+ else
+ @languages = {}
+ end
+ end
+end
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index ee3c5204d8..906761f6f7 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -18,6 +18,8 @@ class ApplicationController < ActionController::Base
helper_method :current_skin
helper_method :single_user_mode?
helper_method :use_seamless_external_login?
+ helper_method :omniauth_only?
+ helper_method :sso_account_settings
helper_method :whitelist_mode?
rescue_from ActionController::ParameterMissing, Paperclip::AdapterRegistry::NoHandlerError, with: :bad_request
@@ -63,7 +65,11 @@ class ApplicationController < ActionController::Base
end
def after_sign_out_path_for(_resource_or_scope)
- new_user_session_path
+ if ENV['OMNIAUTH_ONLY'] == 'true' && ENV['OIDC_ENABLED'] == 'true'
+ '/auth/auth/openid_connect/logout'
+ else
+ new_user_session_path
+ end
end
protected
@@ -116,6 +122,14 @@ class ApplicationController < ActionController::Base
Devise.pam_authentication || Devise.ldap_authentication
end
+ def omniauth_only?
+ ENV['OMNIAUTH_ONLY'] == 'true'
+ end
+
+ def sso_account_settings
+ ENV.fetch('SSO_ACCOUNT_SETTINGS')
+ end
+
def current_account
return @current_account if defined?(@current_account)
diff --git a/app/controllers/auth/omniauth_callbacks_controller.rb b/app/controllers/auth/omniauth_callbacks_controller.rb
index 3d7962de56..9e0fb942aa 100644
--- a/app/controllers/auth/omniauth_callbacks_controller.rb
+++ b/app/controllers/auth/omniauth_callbacks_controller.rb
@@ -33,7 +33,7 @@ class Auth::OmniauthCallbacksController < Devise::OmniauthCallbacksController
def after_sign_in_path_for(resource)
if resource.email_present?
- root_path
+ stored_location_for(resource) || root_path
else
auth_setup_path(missing_email: '1')
end
diff --git a/app/controllers/backups_controller.rb b/app/controllers/backups_controller.rb
new file mode 100644
index 0000000000..2f4b400b8d
--- /dev/null
+++ b/app/controllers/backups_controller.rb
@@ -0,0 +1,27 @@
+# frozen_string_literal: true
+
+class BackupsController < ApplicationController
+ include RoutingHelper
+
+ skip_before_action :require_functional!
+
+ before_action :authenticate_user!
+ before_action :set_backup
+
+ def download
+ case Paperclip::Attachment.default_options[:storage]
+ when :s3
+ redirect_to @backup.dump.expiring_url(10)
+ when :fog
+ redirect_to @backup.dump.expiring_url(Time.now.utc + 10)
+ when :filesystem
+ redirect_to full_asset_url(@backup.dump.url)
+ end
+ end
+
+ private
+
+ def set_backup
+ @backup = current_user.backups.find(params[:id])
+ end
+end
diff --git a/app/controllers/concerns/cache_concern.rb b/app/controllers/concerns/cache_concern.rb
index 05e431b19a..a5a9ba3e1f 100644
--- a/app/controllers/concerns/cache_concern.rb
+++ b/app/controllers/concerns/cache_concern.rb
@@ -3,6 +3,158 @@
module CacheConcern
extend ActiveSupport::Concern
+ module ActiveRecordCoder
+ EMPTY_HASH = {}.freeze
+
+ class << self
+ def dump(record)
+ instances = InstanceTracker.new
+ serialized_associations = serialize_associations(record, instances)
+ serialized_records = instances.map { |r| serialize_record(r) }
+ [serialized_associations, *serialized_records]
+ end
+
+ def load(payload)
+ instances = InstanceTracker.new
+ serialized_associations, *serialized_records = payload
+ serialized_records.each { |attrs| instances.push(deserialize_record(*attrs)) }
+ deserialize_associations(serialized_associations, instances)
+ end
+
+ private
+
+ # Records without associations, or which have already been visited before,
+ # are serialized by their id alone.
+ #
+ # Records with associations are serialized as a two-element array including
+ # their id and the record's association cache.
+ #
+ def serialize_associations(record, instances)
+ return unless record
+
+ if (id = instances.lookup(record))
+ payload = id
+ else
+ payload = instances.push(record)
+
+ cached_associations = record.class.reflect_on_all_associations.select do |reflection|
+ record.association_cached?(reflection.name)
+ end
+
+ unless cached_associations.empty?
+ serialized_associations = cached_associations.map do |reflection|
+ association = record.association(reflection.name)
+
+ serialized_target = if reflection.collection?
+ association.target.map { |target_record| serialize_associations(target_record, instances) }
+ else
+ serialize_associations(association.target, instances)
+ end
+
+ [reflection.name, serialized_target]
+ end
+
+ payload = [payload, serialized_associations]
+ end
+ end
+
+ payload
+ end
+
+ def deserialize_associations(payload, instances)
+ return unless payload
+
+ id, associations = payload
+ record = instances.fetch(id)
+
+ associations&.each do |name, serialized_target|
+ begin
+ association = record.association(name)
+ rescue ActiveRecord::AssociationNotFoundError
+ raise AssociationMissingError, "undefined association: #{name}"
+ end
+
+ target = if association.reflection.collection?
+ serialized_target.map! { |serialized_record| deserialize_associations(serialized_record, instances) }
+ else
+ deserialize_associations(serialized_target, instances)
+ end
+
+ association.target = target
+ end
+
+ record
+ end
+
+ def serialize_record(record)
+ arguments = [record.class.name, attributes_for_database(record)]
+ arguments << true if record.new_record?
+ arguments
+ end
+
+ if Rails.gem_version >= Gem::Version.new('7.0')
+ def attributes_for_database(record)
+ attributes = record.attributes_for_database
+ attributes.transform_values! { |attr| attr.is_a?(::ActiveModel::Type::Binary::Data) ? attr.to_s : attr }
+ attributes
+ end
+ else
+ def attributes_for_database(record)
+ attributes = record.instance_variable_get(:@attributes).send(:attributes).transform_values(&:value_for_database)
+ attributes.transform_values! { |attr| attr.is_a?(::ActiveModel::Type::Binary::Data) ? attr.to_s : attr }
+ attributes
+ end
+ end
+
+ def deserialize_record(class_name, attributes_from_database, new_record = false) # rubocop:disable Style/OptionalBooleanParameter
+ begin
+ klass = Object.const_get(class_name)
+ rescue NameError
+ raise ClassMissingError, "undefined class: #{class_name}"
+ end
+
+ # Ideally we'd like to call `klass.instantiate`, however it doesn't allow to pass
+ # wether the record was persisted or not.
+ attributes = klass.attributes_builder.build_from_database(attributes_from_database, EMPTY_HASH)
+ klass.allocate.init_with_attributes(attributes, new_record)
+ end
+ end
+
+ class Error < StandardError
+ end
+
+ class ClassMissingError < Error
+ end
+
+ class AssociationMissingError < Error
+ end
+
+ class InstanceTracker
+ def initialize
+ @instances = []
+ @ids = {}.compare_by_identity
+ end
+
+ def map(&block)
+ @instances.map(&block)
+ end
+
+ def fetch(...)
+ @instances.fetch(...)
+ end
+
+ def push(instance)
+ id = @ids[instance] = @instances.size
+ @instances << instance
+ id
+ end
+
+ def lookup(instance)
+ @ids[instance]
+ end
+ end
+ end
+
def render_with_cache(**options)
raise ArgumentError, 'only JSON render calls are supported' unless options.key?(:json) || block_given?
@@ -34,8 +186,13 @@ module CacheConcern
raw = raw.cache_ids.to_a if raw.is_a?(ActiveRecord::Relation)
return [] if raw.empty?
- cached_keys_with_value = Rails.cache.read_multi(*raw).transform_keys(&:id)
- uncached_ids = raw.map(&:id) - cached_keys_with_value.keys
+ cached_keys_with_value = begin
+ Rails.cache.read_multi(*raw).transform_keys(&:id).transform_values { |r| ActiveRecordCoder.load(r) }
+ rescue ActiveRecordCoder::Error
+ {} # The serialization format may have changed, let's pretend it's a cache miss.
+ end
+
+ uncached_ids = raw.map(&:id) - cached_keys_with_value.keys
klass.reload_stale_associations!(cached_keys_with_value.values) if klass.respond_to?(:reload_stale_associations!)
@@ -43,7 +200,7 @@ module CacheConcern
uncached = klass.where(id: uncached_ids).with_includes.index_by(&:id)
uncached.each_value do |item|
- Rails.cache.write(item, item)
+ Rails.cache.write(item, ActiveRecordCoder.dump(item))
end
end
diff --git a/app/controllers/concerns/signature_verification.rb b/app/controllers/concerns/signature_verification.rb
index b0a087d536..9317259433 100644
--- a/app/controllers/concerns/signature_verification.rb
+++ b/app/controllers/concerns/signature_verification.rb
@@ -138,7 +138,7 @@ module SignatureVerification
end
def signed_headers
- signature_params.fetch('headers', signature_algorithm == 'hs2019' ? '(created)' : 'date').downcase.split(' ')
+ signature_params.fetch('headers', signature_algorithm == 'hs2019' ? '(created)' : 'date').downcase.split
end
def verify_signature_strength!
diff --git a/app/controllers/relationships_controller.rb b/app/controllers/relationships_controller.rb
index d40770726c..52cf1e0c18 100644
--- a/app/controllers/relationships_controller.rb
+++ b/app/controllers/relationships_controller.rb
@@ -20,6 +20,8 @@ class RelationshipsController < ApplicationController
@form.save
rescue ActionController::ParameterMissing
# Do nothing
+ rescue Mastodon::NotPermittedError, ActiveRecord::RecordNotFound
+ flash[:alert] = I18n.t('relationships.follow_failure') if action_from_button == 'follow'
ensure
redirect_to relationships_path(filter_params)
end
@@ -61,8 +63,8 @@ class RelationshipsController < ApplicationController
'unfollow'
elsif params[:remove_from_followers]
'remove_from_followers'
- elsif params[:block_domains]
- 'block_domains'
+ elsif params[:block_domains] || params[:remove_domains_from_followers]
+ 'remove_domains_from_followers'
end
end
diff --git a/app/controllers/settings/two_factor_authentication/webauthn_credentials_controller.rb b/app/controllers/settings/two_factor_authentication/webauthn_credentials_controller.rb
index 952c14e0bb..5a9029a426 100644
--- a/app/controllers/settings/two_factor_authentication/webauthn_credentials_controller.rb
+++ b/app/controllers/settings/two_factor_authentication/webauthn_credentials_controller.rb
@@ -52,7 +52,7 @@ module Settings
end
else
flash[:error] = I18n.t('webauthn_credentials.create.error')
- status = :internal_server_error
+ status = :unprocessable_entity
end
else
flash[:error] = t('webauthn_credentials.create.error')
diff --git a/app/helpers/admin/announcements_helper.rb b/app/helpers/admin/announcements_helper.rb
deleted file mode 100644
index 0c053ddec3..0000000000
--- a/app/helpers/admin/announcements_helper.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-# frozen_string_literal: true
-
-module Admin::AnnouncementsHelper
- def time_range(announcement)
- if announcement.all_day?
- safe_join([l(announcement.starts_at.to_date), ' - ', l(announcement.ends_at.to_date)])
- else
- safe_join([l(announcement.starts_at), ' - ', l(announcement.ends_at)])
- end
- end
-end
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 0605457e81..2cac2de596 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -112,7 +112,7 @@ module ApplicationHelper
def fa_icon(icon, attributes = {})
class_names = attributes[:class]&.split(' ') || []
class_names << 'fa'
- class_names += icon.split(' ').map { |cl| "fa-#{cl}" }
+ class_names += icon.split.map { |cl| "fa-#{cl}" }
content_tag(:i, nil, attributes.merge(class: class_names.join(' ')))
end
@@ -164,7 +164,7 @@ module ApplicationHelper
end
def body_classes
- output = (@body_classes || '').split(' ')
+ output = (@body_classes || '').split
output << "flavour-#{current_flavour.parameterize}"
output << "skin-#{current_skin.parameterize}"
output << 'system-font' if current_account&.user&.setting_system_font_ui
diff --git a/app/helpers/home_helper.rb b/app/helpers/home_helper.rb
index f41104709e..ea21960865 100644
--- a/app/helpers/home_helper.rb
+++ b/app/helpers/home_helper.rb
@@ -41,9 +41,9 @@ module HomeHelper
def obscured_counter(count)
if count <= 0
- 0
+ '0'
elsif count == 1
- 1
+ '1'
else
'1+'
end
@@ -57,14 +57,6 @@ module HomeHelper
end
end
- def optional_link_to(condition, path, options = {}, &block)
- if condition
- link_to(path, options, &block)
- else
- content_tag(:div, &block)
- end
- end
-
def sign_up_message
if closed_registrations?
t('auth.registration_closed', instance: site_hostname)
diff --git a/app/helpers/languages_helper.rb b/app/helpers/languages_helper.rb
index 5843947584..bbf0a97fc3 100644
--- a/app/helpers/languages_helper.rb
+++ b/app/helpers/languages_helper.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-# rubocop:disable Metrics/ModuleLength, Style/WordArray
+# rubocop:disable Metrics/ModuleLength
module LanguagesHelper
ISO_639_1 = {
@@ -275,4 +275,4 @@ module LanguagesHelper
end
end
-# rubocop:enable Metrics/ModuleLength, Style/WordArray
+# rubocop:enable Metrics/ModuleLength
diff --git a/app/javascript/flavours/glitch/actions/server.js b/app/javascript/flavours/glitch/actions/server.js
index 31d4aea100..091af0f0fe 100644
--- a/app/javascript/flavours/glitch/actions/server.js
+++ b/app/javascript/flavours/glitch/actions/server.js
@@ -5,6 +5,10 @@ export const SERVER_FETCH_REQUEST = 'Server_FETCH_REQUEST';
export const SERVER_FETCH_SUCCESS = 'Server_FETCH_SUCCESS';
export const SERVER_FETCH_FAIL = 'Server_FETCH_FAIL';
+export const SERVER_TRANSLATION_LANGUAGES_FETCH_REQUEST = 'SERVER_TRANSLATION_LANGUAGES_FETCH_REQUEST';
+export const SERVER_TRANSLATION_LANGUAGES_FETCH_SUCCESS = 'SERVER_TRANSLATION_LANGUAGES_FETCH_SUCCESS';
+export const SERVER_TRANSLATION_LANGUAGES_FETCH_FAIL = 'SERVER_TRANSLATION_LANGUAGES_FETCH_FAIL';
+
export const EXTENDED_DESCRIPTION_REQUEST = 'EXTENDED_DESCRIPTION_REQUEST';
export const EXTENDED_DESCRIPTION_SUCCESS = 'EXTENDED_DESCRIPTION_SUCCESS';
export const EXTENDED_DESCRIPTION_FAIL = 'EXTENDED_DESCRIPTION_FAIL';
@@ -37,6 +41,29 @@ const fetchServerFail = error => ({
error,
});
+export const fetchServerTranslationLanguages = () => (dispatch, getState) => {
+ dispatch(fetchServerTranslationLanguagesRequest());
+
+ api(getState)
+ .get('/api/v1/instance/translation_languages').then(({ data }) => {
+ dispatch(fetchServerTranslationLanguagesSuccess(data));
+ }).catch(err => dispatch(fetchServerTranslationLanguagesFail(err)));
+};
+
+const fetchServerTranslationLanguagesRequest = () => ({
+ type: SERVER_TRANSLATION_LANGUAGES_FETCH_REQUEST,
+});
+
+const fetchServerTranslationLanguagesSuccess = translationLanguages => ({
+ type: SERVER_TRANSLATION_LANGUAGES_FETCH_SUCCESS,
+ translationLanguages,
+});
+
+const fetchServerTranslationLanguagesFail = error => ({
+ type: SERVER_TRANSLATION_LANGUAGES_FETCH_FAIL,
+ error,
+});
+
export const fetchExtendedDescription = () => (dispatch, getState) => {
dispatch(fetchExtendedDescriptionRequest());
diff --git a/app/javascript/flavours/glitch/components/gifv.jsx b/app/javascript/flavours/glitch/components/gifv.jsx
index 1f0f99b464..9ec201c6cc 100644
--- a/app/javascript/flavours/glitch/components/gifv.jsx
+++ b/app/javascript/flavours/glitch/components/gifv.jsx
@@ -6,6 +6,7 @@ export default class GIFV extends React.PureComponent {
static propTypes = {
src: PropTypes.string.isRequired,
alt: PropTypes.string,
+ lang: PropTypes.string,
width: PropTypes.number,
height: PropTypes.number,
onClick: PropTypes.func,
@@ -35,7 +36,7 @@ export default class GIFV extends React.PureComponent {
};
render () {
- const { src, width, height, alt } = this.props;
+ const { src, width, height, alt, lang } = this.props;
const { loading } = this.state;
return (
@@ -48,6 +49,7 @@ export default class GIFV extends React.PureComponent {
tabIndex='0'
aria-label={alt}
title={alt}
+ lang={lang}
onClick={this.handleClick}
/>
)}
@@ -58,6 +60,7 @@ export default class GIFV extends React.PureComponent {
tabIndex='0'
aria-label={alt}
title={alt}
+ lang={lang}
muted
loop
autoPlay
diff --git a/app/javascript/flavours/glitch/components/media_attachments.jsx b/app/javascript/flavours/glitch/components/media_attachments.jsx
index 33f01bb5a0..b11d3526f9 100644
--- a/app/javascript/flavours/glitch/components/media_attachments.jsx
+++ b/app/javascript/flavours/glitch/components/media_attachments.jsx
@@ -10,6 +10,7 @@ export default class MediaAttachments extends ImmutablePureComponent {
static propTypes = {
status: ImmutablePropTypes.map.isRequired,
+ lang: PropTypes.string,
height: PropTypes.number,
width: PropTypes.number,
revealed: PropTypes.bool,
@@ -49,7 +50,7 @@ export default class MediaAttachments extends ImmutablePureComponent {
};
render () {
- const { status, width, height, revealed } = this.props;
+ const { status, lang, width, height, revealed } = this.props;
const mediaAttachments = status.get('media_attachments');
if (mediaAttachments.size === 0) {
@@ -65,6 +66,7 @@ export default class MediaAttachments extends ImmutablePureComponent {
Test remote status text%{comment}
'
+ private_comment_description_html: 'Damit du später nachvollziehen kannst, woher die importierten Sperren stammen, werden sie mit diesem privaten Kommentar erstellt: %{comment}
'
private_comment_template: Importiert von %{source} am %{date}
title: Domains importieren
invalid_domain_block: 'Ein oder mehrere Domainsperren wurden wegen folgenden Fehler(n) übersprungen: %{error}'
@@ -452,19 +452,19 @@ de:
description_html: "Folgeempfehlungen helfen neuen Nutzer*innen, interessante Inhalte schnell zu finden. Wenn ein*e Nutzer*in noch nicht genug mit anderen interagiert hat, um personalisierte Folgeempfehlungen zu erhalten, werden stattdessen diese Profile verwendet. Sie werden täglich, basierend auf einer Mischung aus am meisten interagierenden Konten und jenen mit den meisten Followern für eine bestimmte Sprache, neu berechnet."
language: Für Sprache
status: Status
- suppress: Folgeempfehlungen unterdrücken
+ suppress: Folgeempfehlung unterbinden
suppressed: Unterdrückt
title: Folgeempfehlungen
- unsuppress: Nicht mehr unterdrücken
+ unsuppress: Folgeempfehlung nicht mehr unterbinden
instances:
availability:
description_html:
- one: Wenn die Zustellung an die Domain seit %{count} Tag erfolglos bleibt, werden keine weiteren Auslieferungsversuche unternommen, es sei denn, eine Zustellung von dieser Domain wird empfangen.
- other: Wenn die Zustellung an die Domain seit %{count} Tagen erfolglos bleibt, werden keine weiteren Zustellungsversuche unternommen, es sei denn, eine Zustellung von dieser Domain wird empfangen.
+ one: Wenn die Zustellung an die Domain %{count} Tag lang erfolglos bleibt, werden keine weiteren Zustellversuche unternommen, bis eine Zustellung von der Domain empfangen wird.
+ other: Wenn die Zustellung an die Domain an %{count} unterschiedlichen Tagen erfolglos bleibt, werden keine weiteren Zustellversuche unternommen, bis eine Zustellung von der Domain empfangen wird.
failure_threshold_reached: Fehlschlag-Schwelle am %{date} erreicht.
failures_recorded:
- one: Fehlgeschlagener Versuch am %{count}. Tag.
- other: Fehlgeschlagener Versuch am %{count}. Tag.
+ one: Fehlgeschlagener Versuch an %{count} Tag.
+ other: Fehlgeschlagene Versuche an %{count} unterschiedlichen Tagen.
no_failures_recorded: Keine Fehler bei der Aufzeichnung.
title: Verfügbarkeit
warning: Der letzte Versuch, sich mit diesem Server zu verbinden, war nicht erfolgreich
@@ -472,7 +472,7 @@ de:
back_to_limited: Stummgeschaltet
back_to_warning: Warnung
by_domain: Domain
- confirm_purge: Bist du dir sicher, dass du die Daten für diese Domain für immer löschen möchtest?
+ confirm_purge: Bist du dir sicher, dass du die Daten von dieser Domain dauerhaft löschen möchtest?
content_policies:
comment: Interne Notiz
description_html: Du kannst Inhaltsrichtlinien definieren, die auf alle Konten dieser Domain und einer ihrer Subdomains angewendet werden.
@@ -503,7 +503,7 @@ de:
unavailable: Nicht verfügbar
delivery_available: Zustellung funktioniert
delivery_error_days: Tage der fehlerhaften Zustellung
- delivery_error_hint: Wenn eine Auslieferung %{count} Tage lang nicht möglich ist, wird sie automatisch als unzustellbar markiert.
+ delivery_error_hint: Wenn eine Zustellung %{count} Tage lang nicht möglich ist, wird sie automatisch als unzustellbar markiert.
destroyed_msg: Daten von %{domain} sind nun in der Warteschlange für die bevorstehende Löschung.
empty: Keine Domains gefunden.
known_accounts:
@@ -556,7 +556,7 @@ de:
disable: Ausschalten
disabled: Ausgeschaltet
enable: Einschalten
- enable_hint: Sobald aktiviert, wird dein Server alle öffentlichen Beiträge dieses Relays abonnieren und alle öffentlichen Beiträge dieses Servers an dieses senden.
+ enable_hint: Sobald aktiviert, wird dein Server alle öffentlichen Beiträge dieses Relais abonnieren und alle öffentlichen Beiträge dieses Servers an dieses senden.
enabled: Eingeschaltet
inbox_url: Relay-URL
pending: Warte auf Zustimmung des Relays
@@ -566,8 +566,8 @@ de:
status: Status
title: Relais
report_notes:
- created_msg: Meldungs-Kommentar erfolgreich erstellt!
- destroyed_msg: Meldungs-Kommentar erfolgreich gelöscht!
+ created_msg: Notiz zur Meldung erfolgreich erstellt!
+ destroyed_msg: Notiz zur Meldung erfolgreich entfernt!
reports:
account:
notes:
@@ -576,27 +576,27 @@ de:
action_log: Protokoll
action_taken_by: Maßnahme ergriffen von
actions:
- delete_description_html: Der gemeldete Beitrag wird gelöscht und ein Strike wird aufgezeichnet, um dir bei zukünftigen Verstößen des gleichen Accounts zu helfen.
+ delete_description_html: Der gemeldete Beitrag wird gelöscht und die ergriffene Maßnahme wird aufgezeichnet, um dir bei zukünftigen Verstößen des gleichen Kontos zu helfen.
mark_as_sensitive_description_html: Die Medien in den gemeldeten Beiträgen werden mit einer Inhaltswarnung versehen und ein Verstoß wird vermerkt, um bei zukünftigen Verstößen desselben Kontos besser reagieren zu können.
other_description_html: Weitere Optionen zur Steuerung des Kontoverhaltens und zur Anpassung der Kommunikation mit dem gemeldeten Konto.
- resolve_description_html: Es wird keine Maßnahme gegen das gemeldete Konto ergriffen, es wird kein Strike verzeichnet und die Meldung wird geschlossen.
+ resolve_description_html: Es wird keine Maßnahme gegen das gemeldete Konto ergriffen und der Vorgang wird nicht aufgezeichnet – die Meldung wird hiermit geschlossen.
silence_description_html: Das Konto wird nur für diejenigen sichtbar sein, die dem Konto bereits folgen oder es manuell suchen, was die Reichweite stark einschränkt. Kann jederzeit rückgängig gemacht werden. Alle Meldungen zu diesem Konto werden geschlossen.
suspend_description_html: Das Konto und alle Inhalte werden unzugänglich und ggf. gelöscht. Eine Interaktion mit dem Konto wird unmöglich. Dies kann innerhalb von 30 Tagen rückgängig gemacht werden. Alle Meldungen zu diesem Konto werden geschlossen.
actions_description_html: Entscheide, welche Maßnahmen zur Lösung dieses Berichts zu ergreifen sind. Wenn du eine Strafmaßnahme gegen das gemeldete Konto ergreifst, wird eine E-Mail-Benachrichtigung an diese gesendet, außer wenn die Spam-Kategorie ausgewählt ist.
actions_description_remote_html: Entscheide, welche Maßnahmen du zur Lösung dieser Meldungen ergreifen möchtest. Dies wirkt sich lediglich darauf aus, wie dein Server mit diesem externen Konto kommuniziert und dessen Inhalt handhabt.
- add_to_report: Mehr zur Meldung hinzufügen
+ add_to_report: Meldung ergänzen
are_you_sure: Bist du dir sicher?
assign_to_self: Mir zuweisen
assigned: Zugewiesene*r Moderator*in
by_target_domain: Domain des gemeldeten Kontos
cancel: Abbrechen
category: Kategorie
- category_description_html: Der Grund, warum dieses Konto und/oder der Inhalt gemeldet wurden, wird in der Kommunikation mit dem gemeldeten Konto zitiert
+ category_description_html: Der Grund, weshalb dieses Konto und/oder der Inhalt gemeldet worden ist, wird in der Kommunikation mit dem gemeldeten Konto erwähnt
comment:
none: Kein
- comment_description_html: 'Um weitere Informationen bereitzustellen, schrieb %{name} Folgendes:'
+ comment_description_html: "%{name} ergänzte die Meldung um folgende Hinweis:"
confirm: Bestätigen
- confirm_action: Moderationsaktion gegen @%{acct} bestätigen
+ confirm_action: Maßnahme gegen @%{acct} bestätigen
created_at: Gemeldet
delete_and_resolve: Beiträge löschen
forwarded: Weitergeleitet
@@ -617,12 +617,12 @@ de:
quick_actions_description_html: 'Eine schnelle Aktion ausführen oder nach unten rolle, um gemeldete Inhalte zu sehen:'
remote_user_placeholder: das externe Profil von %{instance}
reopen: Meldung wieder eröffnen
- report: 'Meldung #%{id}'
+ report: "%{id}. Meldung"
reported_account: Gemeldetes Konto
reported_by: Gemeldet von
resolved: Gelöst
- resolved_msg: Meldung erfolgreich gelöst!
- skip_to_actions: Zu Aktionen springen
+ resolved_msg: Meldung erfolgreich geklärt!
+ skip_to_actions: Zur Maßnahme springen
status: Status
statuses: Gemeldeter Inhalt
statuses_description_html: Störende Inhalte werden in der Kommunikation mit dem gemeldeten Konto zitiert
@@ -646,7 +646,7 @@ de:
warning_placeholder: Optional zusätzliche Begründung für die Moderationsmaßnahme.
target_origin: Domain des gemeldeten Kontos
title: Meldungen
- unassign: Zuweisung entfernen
+ unassign: Zuweisung aufheben
unknown_action_msg: 'Unbekannte Aktion: %{action}'
unresolved: Ungelöst
updated_at: Aktualisiert
@@ -735,14 +735,14 @@ de:
preamble: Lege fest, wie lange nutzergenerierte Inhalte auf deiner Mastodon-Instanz gespeichert werden.
title: Cache & Archive
default_noindex:
- desc_html: Betrifft alle Benutzer, die diese Einstellung nicht selbst geändert haben
- title: Benutzer standardmäßig von der Suchmaschinen-Indizierung ausnehmen
+ desc_html: Betrifft alle Benutzer*innen, die diese Einstellung bei sich nicht geändert haben
+ title: Profile standardmäßig von der Suchmaschinen-Indizierung ausnehmen
discovery:
follow_recommendations: Folgeempfehlungen
preamble: Das Auffinden interessanter Inhalte ist wichtig, um neue Nutzer einzubinden, die Mastodon noch nicht kennen. Bestimme, wie verschiedene Suchfunktionen auf deinem Server funktionieren.
profile_directory: Profilverzeichnis
public_timelines: Öffentliche Timeline
- publish_discovered_servers: Veröffentliche bekannte Server
+ publish_discovered_servers: Entdeckte Server offenlegen
publish_statistics: Statistiken veröffentlichen
title: Entdecken
trends: Trends
@@ -789,11 +789,11 @@ de:
with_media: Mit Medien
strikes:
actions:
- delete_statuses: "%{name} hat die Beiträge von %{target} entfernt"
+ delete_statuses: "%{name} entfernte die Beiträge von %{target}"
disable: "%{name} fror das Konto von %{target} ein"
mark_statuses_as_sensitive: "%{name} hat die Beiträge von %{target} mit einer Inhaltswarnung versehen"
- none: "%{name} hat eine Warnung an %{target} gesendet"
- sensitive: "%{name} hat das Profil von %{target} mit einer Inhaltswarnung versehen"
+ none: "%{name} schickte eine Warnung an %{target}"
+ sensitive: "%{name} versah das Konto von %{target} mit einer Inhaltswarnung"
silence: "%{name} schaltete das Konto von %{target} stumm"
suspend: "%{name} sperrte das Konto von %{target}"
appeal_approved: Einspruch angenommen
@@ -939,7 +939,7 @@ de:
subject: Neue Trends zur Überprüfung auf %{instance}
aliases:
add_new: Alias erstellen
- created_msg: Ein neuer Alias wurde erfolgreich erstellt. Du kannst nun den Wechsel vom alten Konto starten.
+ created_msg: Neuer Alias erfolgreich erstellt. Du kannst nun den Umzug vom alten zum neuen Konto starten.
deleted_msg: Der Alias wurde erfolgreich entfernt. Aus jenem Konto zu diesem zu verschieben, ist nicht mehr möglich.
empty: Du hast keine Aliase.
hint_html: Wenn du von einem Konto zu einem anderen Konto wechseln möchtest, dann kannst du einen Alias erstellen, welcher benötigt wird, bevor du deine Follower vom alten Account zu diesen migrierst. Die Aktion allein ist harmlos und widerruflich. Die Kontenmigration wird vom alten Konto aus eingeleitet.
@@ -975,7 +975,7 @@ de:
apply_for_account: Konto beantragen
change_password: Passwort
confirmations:
- wrong_email_hint: Wenn diese E-Mail-Adresse nicht korrekt ist, kann sie in den Kontoeinstellungen geändert werden.
+ wrong_email_hint: Sollte diese E-Mail-Adresse nicht korrekt sein, kannst du sie in den Kontoeinstellungen ändern.
delete_account: Konto löschen
delete_account_html: Falls du dein Konto endgültig löschen möchtest, kannst du das hier vornehmen. Du musst dies zusätzlich bestätigen.
description:
@@ -983,10 +983,10 @@ de:
prefix_sign_up: Registriere dich noch heute bei Mastodon!
suffix: Mit einem Konto kannst du Profilen folgen, neue Beiträge veröffentlichen, Nachrichten mit Personen von jedem Mastodon-Server austauschen und vieles mehr!
didnt_get_confirmation: Keine Bestätigungsanweisungen erhalten?
- dont_have_your_security_key: Hast du keinen Sicherheitsschlüssel?
+ dont_have_your_security_key: Du hast keinen Sicherheitsschlüssel?
forgot_password: Passwort vergessen?
invalid_reset_password_token: Das Token zum Zurücksetzen des Passworts ist ungültig oder abgelaufen. Bitte fordere ein neues an.
- link_to_otp: Gib einen Zwei-Faktor-Code von deinem Handy oder einen Wiederherstellungscode ein
+ link_to_otp: Gib einen Zwei-Faktor-Code von deinem Smartphone oder einen Wiederherstellungscode ein
link_to_webauth: Verwende dein Sicherheitsschlüsselgerät
log_in_with: Anmelden mit
login: Anmelden
@@ -1017,7 +1017,7 @@ de:
preamble_html: Melde dich mit deinen Zugangsdaten für %{domain} an. Solltest du dein Konto auf einem anderen Server registriert haben, ist eine Anmeldung hier nicht möglich.
title: Bei %{domain} anmelden
sign_up:
- preamble: Mit einem Account auf diesem Mastodon-Server kannst du jeder anderen Person im Netzwerk folgen, unabhängig davon, wo ihr Account gehostet wird.
+ preamble: Mit einem Konto auf diesem Mastodon-Server kannst du jeder anderen Person im Netzwerk folgen, unabhängig davon, wo ihr Account gehostet ist.
title: Okay, lass uns mit %{domain} anfangen.
status:
account_status: Kontostatus
@@ -1030,7 +1030,7 @@ de:
use_security_key: Sicherheitsschlüssel verwenden
authorize_follow:
already_following: Du folgst diesem Konto bereits
- already_requested: Du hast bereits eine Anfrage zum Folgen diesen Accounts gestellt
+ already_requested: Du hast bereits eine Folgeanfrage an dieses Konto gestellt
error: Bedauerlicherweise konnte das externe Konto nicht geladen werden
follow: Folgen
follow_request: 'Du hast eine Folgeanfrage gestellt an:'
@@ -1038,7 +1038,7 @@ de:
post_follow:
close: Oder du schließt einfach dieses Fenster.
return: Benutzerprofil anzeigen
- web: In der Benutzeroberfläche öffnen
+ web: Im Webinterface öffnen
title: "%{acct} folgen"
challenge:
confirm: Fortfahren
@@ -1052,21 +1052,21 @@ de:
date:
formats:
default: "%d. %b %Y"
- with_month_name: "%B %d, %Y"
+ with_month_name: "%d. %B %Y"
datetime:
distance_in_words:
- about_x_hours: "%{count} h"
+ about_x_hours: "%{count} Std."
about_x_months: "%{count} Mon."
- about_x_years: "%{count} J"
- almost_x_years: "%{count} J"
+ about_x_years: "%{count} J."
+ almost_x_years: "%{count} J."
half_a_minute: Gerade eben
- less_than_x_minutes: "%{count} Min"
+ less_than_x_minutes: "%{count} Min."
less_than_x_seconds: Gerade eben
- over_x_years: "%{count}J"
- x_days: "%{count}T"
- x_minutes: "%{count}m"
- x_months: "%{count}mo"
- x_seconds: "%{count}s"
+ over_x_years: "%{count} J."
+ x_days: "%{count} T."
+ x_minutes: "%{count} Min."
+ x_months: "%{count} Mon."
+ x_seconds: "%{count} Sek."
deletes:
challenge_not_passed: Die eingegebenen Informationen waren nicht korrekt
confirm_password: Gib dein derzeitiges Passwort ein, um deine Identität zu bestätigen
@@ -1075,18 +1075,18 @@ de:
success_msg: Dein Konto wurde erfolgreich gelöscht
warning:
before: 'Bevor du fortfährst, lies bitte diese Punkte sorgfältig durch:'
- caches: Inhalte, die von anderen Servern zwischengespeichert wurden, können weiterhin bestehen
+ caches: Inhalte, die von anderen Servern zwischengespeichert wurden, können fortbestehen
data_removal: Deine Beiträge und alle anderen Daten werden für immer entfernt
email_change_html: Du kannst deine E-Mail-Adresse ändern, ohne dein Konto zu löschen
- email_contact_html: Wenn die Bestätigungs-E-Mail immer noch nicht ankam, kannst du eine E-Mail an %{email} senden, um weitere Hilfe zu erhalten
+ email_contact_html: Sollte sie noch immer nicht angekommen sein, kannst du eine E-Mail an %{email} schicken, um weitere Hilfe zu erhalten
email_reconfirmation_html: Wenn du die Bestätigungs-E-Mail nicht erhalten hast, kannst du sie erneut anfordern
- irreversible: Du kannst dein Konto nicht mehr wiederherstellen oder reaktivieren
+ irreversible: Du wirst dein Konto nicht mehr wiederherstellen oder reaktivieren können
more_details_html: Weitere Details findest du in der Datenschutzerklärung.
username_available: Dein Profilname wird wieder verfügbar sein
username_unavailable: Dein Profilname wird auch nach dem Löschen für andere nicht zugänglich sein
disputes:
strikes:
- action_taken: Maßnahme ergriffen
+ action_taken: Maßnahme
appeal: Einspruch
appeal_approved: Dieser Verstoß wurde erfolgreich angefochten und ist nicht mehr gültig
appeal_rejected: Der Einspruch wurde abgelehnt
@@ -1097,28 +1097,28 @@ de:
approve_appeal: Einspruch annehmen
associated_report: Zugehöriger Bericht
created_at: Datum
- description_html: Dies sind Aktionen gegen dein Konto und Warnungen, die von den Mitarbeitern von %{instance} an dich gesendet wurden.
+ description_html: Dies sind Maßnahmen, die gegen dein Konto ergriffen worden sind, und Warnungen, die dir die Mitarbeiter*innen von %{instance} geschickt haben.
recipient: Adressiert an
reject_appeal: Einspruch ablehnen
- status: 'Beitrag #%{id}'
+ status: "%{id}. Beitrag"
status_removed: Beitrag bereits vom System entfernt
title: "%{action} vom %{date}"
title_actions:
delete_statuses: Beitragsentfernung
- disable: Einfrieren des Kontos
+ disable: Konto einfrieren
mark_statuses_as_sensitive: Beiträge mit einer Inhaltswarnung versehen
- none: Warnung
+ none: Verwarnung
sensitive: Profil mit einer Inhaltswarnung versehen
silence: Kontobeschränkung
suspend: Kontosperre
your_appeal_approved: Dein Einspruch wurde angenommen
- your_appeal_pending: Du hast Einspruch eingelegt
+ your_appeal_pending: Du hast Einspruch erhoben
your_appeal_rejected: Dein Einspruch wurde abgelehnt
domain_validator:
- invalid_domain: ist kein gültiger Domain-Name
+ invalid_domain: ist keine gültige Domain
errors:
- '400': Die Anfrage, die du gesendet hast, war ungültig oder fehlerhaft.
- '403': Dir fehlt die Befugnis, diese Seite sehen zu können.
+ '400': Die Anfrage, die du gestellt hast, war ungültig oder fehlerhaft.
+ '403': Dir fehlt die Berechtigung, diese Seite aufzurufen.
'404': Die Seite, nach der du gesucht hast, wurde nicht gefunden.
'406': Diese Seite ist im gewünschten Format nicht verfügbar.
'410': Die Seite, nach der du gesucht hast, existiert hier nicht mehr.
@@ -1163,12 +1163,12 @@ de:
thread: Unterhaltungen
edit:
add_keyword: Schlagwort hinzufügen
- keywords: Schlagworte
+ keywords: Schlagwörter
statuses: Individuelle Beiträge
- statuses_hint_html: Dieser Filter gilt für die Auswahl einzelner Beiträge, unabhängig davon, ob sie mit den unten stehenden Schlüsselwörtern übereinstimmen. Beiträge im Filter ansehen oder entfernen..
+ statuses_hint_html: Dieser Filter gilt für die Auswahl einzelner Beiträge, unabhängig davon, ob sie mit den unten aufgeführten Schlagwörtern übereinstimmen. Beiträge überprüfen oder aus dem Filter entfernen.
title: Filter bearbeiten
errors:
- deprecated_api_multiple_keywords: Diese Parameter können von dieser Anwendung nicht geändert werden, da sie auf mehr als ein Filterschlüsselwort angewendet werden. Verwende eine neuere Anwendung oder das Webinterface.
+ deprecated_api_multiple_keywords: Diese Parameter können von dieser Anwendung nicht geändert werden, da sie für mehr als ein Filterschlagwort gelten. Verwende eine aktuellere Anwendung oder das Webinterface.
invalid_context: Ungültiger oder fehlender Kontext übergeben
index:
contexts: Filter in %{contexts}
@@ -1177,8 +1177,8 @@ de:
expires_in: Läuft ab in %{distance}
expires_on: Läuft am %{date} ab
keywords:
- one: "%{count} Schlagworte"
- other: "%{count} Stichwörter"
+ one: "%{count} Schlagwort"
+ other: "%{count} Schlagwörter"
statuses:
one: "%{count} Beitrag"
other: "%{count} Beiträge"
@@ -1196,8 +1196,6 @@ de:
index:
hint: Dieser Filter wird verwendet, um einzelne Beiträge unabhängig von anderen Kriterien auszuwählen. Du kannst mehr Beiträge zu diesem Filter über das Webinterface hinzufügen.
title: Gefilterte Beiträge
- footer:
- trending_now: Jetzt in den Trends
generic:
all: Alle
all_items_on_page_selected_html:
@@ -1270,7 +1268,7 @@ de:
sign_in_token: E-Mail-Sicherheitscode
webauthn: Sicherheitsschlüssel
description_html: Wenn du verdächtige Aktivitäten bemerkst, die du nicht verstehst oder zuordnen kannst, solltest du dringend dein Passwort ändern und ungeachtet dessen die Zwei-Faktor-Authentisierung (2FA) aktivieren.
- empty: Kein Authentifizierungsverlauf verfügbar
+ empty: Kein Authentisierungsverlauf verfügbar
failed_sign_in_html: Fehler beim Anmeldeversuch mit %{method} von %{ip} (%{browser})
successful_sign_in_html: Erfolgreiche Anmeldung mit %{method} von %{ip} (%{browser})
title: Authentifizierungsverlauf
@@ -1296,20 +1294,20 @@ de:
moved_msg: Dein altes Profil wird jetzt zum neuen Account %{acct} weitergeleitet und deine Follower werden übertragen.
not_redirecting: Dein Konto wird derzeit nicht auf ein anderes Konto weitergeleitet.
on_cooldown: Du hast dein Konto vor kurzem migriert. Diese Funktion wird in %{count} Tagen wieder verfügbar sein.
- past_migrations: Vorherige Migrationen
+ past_migrations: Vorherige Umzüge
proceed_with_move: Follower übertragen
redirected_msg: Dein Konto wird nun zu %{acct} weitergeleitet.
redirecting_to: Dein Konto wird zu %{acct} weitergeleitet.
set_redirect: Umleitung einrichten
warning:
- backreference_required: Das neue Konto muss zuerst so konfiguriert werden, dass es auf das alte Konto referenziert
+ backreference_required: Das neue Konto muss zuerst auf das alte Konto verweisen
before: 'Bevor du fortfährst, lies bitte diese Hinweise sorgfältig durch:'
- cooldown: Nach dem Migrieren wird es eine Abklingzeit geben, in der du das Konto nicht noch einmal migrieren kannst
- disabled_account: Dein aktuelles Konto wird nachher nicht vollständig nutzbar sein. Du hast jedoch Zugriff auf den Datenexport sowie die Reaktivierung.
- followers: Alle Follower werden vom aktuellen zum neuen Konto übertragen
- only_redirect_html: Alternativ kannst du nur eine Weiterleitung auf dein Profil erstellen.
- other_data: Keine anderen Daten werden automatisch verschoben
- redirect: Das Profil deines aktuellen Kontos wird mit einer Weiterleitungsnachricht versehen und von Suchanfragen ausgeschlossen
+ cooldown: Nach dem Umzug wird es eine Weile dauern, bis du erneut umziehen darfst
+ disabled_account: Dein altes Konto ist nur noch eingeschränkt nutzbar. Du kannst jedoch deine Daten exportieren und das Konto wieder reaktivieren.
+ followers: Alle Follower werden vom alten zum neuen Konto übertragen
+ only_redirect_html: Alternativ kannst du auch nur eine Weiterleitung zu deinem neuen Profil einrichten, ohne die Follower zu übertragen.
+ other_data: Keine anderen Daten werden automatisch zum neuen Konto übertragen
+ redirect: Dein altes Konto wird einen Hinweis erhalten, dass Du umgezogen bist. Außerdem wird das Profil von Suchanfragen ausgeschlossen
moderation:
title: Moderation
move_handler:
@@ -1333,7 +1331,7 @@ de:
subject: "%{name} folgt dir jetzt"
title: Neuer Follower
follow_request:
- action: Verwalte Folge-Anfragen
+ action: Folgeanfragen verwalten
body: "%{name} möchte dir folgen"
subject: 'Ausstehende Folgeanfragen: %{name}'
title: Neue Folgeanfrage
@@ -1364,13 +1362,13 @@ de:
billion: Mrd
million: Mio
quadrillion: Q
- thousand: Tsd
+ thousand: Tsd.
trillion: T
otp_authentication:
code_hint: Gib den Code ein, den deine 2FA- bzw. TOTP-App generiert hat, um den Vorgang zu bestätigen
description_html: Wenn du die Zwei-Faktor-Authentisierung (2FA) mit einer Authentifizierungs-App deines Smartphones aktivierst, benötigst du neben dem regulären Passwort zusätzlich auch den zeitbasierten Code der 2FA-App, um dich anmelden zu können.
enable: Aktivieren
- instructions_html: "Scanne diesen QR-Code mit einer TOTP-App (wie dem Google Authenticator). Die 2FA-App generiert dann zeitbasierte Codes, die du beim Login zusätzlich zum regulären Passwort eingeben musst."
+ instructions_html: "Scanne diesen QR-Code mit einer beliebigen Authentisierungs-App (TOTP). Diese App generiert dann zeitbasierte Codes, die du beim Anmelden zusätzlich zum regulären Passwort eingeben musst."
manual_instructions: Wenn du den QR-Code nicht einscannen kannst, sondern die Zahlenfolge manuell eingeben musst, ist hier der geheime Token für deine 2FA-App.
setup: Einrichten
wrong_code: Der eingegebene Code ist ungültig! Laufen Serverzeit und Gerätezeit synchron?
@@ -1407,33 +1405,34 @@ de:
confirm_remove_selected_followers: Bist du sicher, dass du den ausgewählten Konten entfolgen möchtest?
confirm_remove_selected_follows: Bist du sicher, dass du den ausgewählten Konten entfolgen möchtest?
dormant: Inaktiv
+ follow_failure: Einigen der ausgewählten Konten konnte nicht gefolgt werden.
follow_selected_followers: Ausgewählten Followern folgen
followers: Follower
following: Folge ich
invited: Eingeladen
last_active: Zuletzt aktiv
- most_recent: Neuste
+ most_recent: Neueste
moved: Umgezogen
mutual: Gegenseitig
primary: Primär
relationship: Beziehung
- remove_selected_domains: Entferne alle Follower von den ausgewählten Domains
- remove_selected_followers: Entferne ausgewählte Follower
- remove_selected_follows: Ausgewählten Benutzer*innen entfolgen
+ remove_selected_domains: Alle Follower von den ausgewählten Domains entfernen
+ remove_selected_followers: Ausgewählten Followern entfolgen
+ remove_selected_follows: Ausgewählten Profilen entfolgen
status: Kontostatus
remote_follow:
missing_resource: Die erforderliche Weiterleitungs-URL für dein Konto konnte nicht gefunden werden
reports:
errors:
- invalid_rules: verweist nicht auf gültige Regeln
+ invalid_rules: verweist nicht auf gültige Serverregeln
rss:
content_warning: 'Inhaltswarnung:'
descriptions:
account: Öffentliche Beiträge von @%{acct}
tag: 'Öffentliche Beiträge mit dem Hashtag #%{hashtag}'
scheduled_statuses:
- over_daily_limit: Du hast das Limit für geplante Beiträge, welches %{limit} beträgt, für heute erreicht
- over_total_limit: Du hast das Limit für geplante Beiträge, welches %{limit} beträgt, erreicht
+ over_daily_limit: Du hast das heutige Limit für geplante Beiträge, das %{limit} beträgt, erreicht
+ over_total_limit: Du hast das Limit für geplante Beiträge, das %{limit} beträgt, erreicht
too_soon: Das geplante Datum muss in der Zukunft liegen
sessions:
activity: Letzte Aktivität
@@ -1446,6 +1445,7 @@ de:
electron: Electron
firefox: Firefox
generic: Unbekannter Browser
+ huawei_browser: Huawei Browser
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
@@ -1455,6 +1455,7 @@ de:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Unbekannter Browser
weibo: Weibo
current_session: Aktuelle Sitzung
description: "%{browser} auf %{platform}"
@@ -1467,9 +1468,10 @@ de:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: macOS
- other: unbekanntes Betriebssystem
+ unknown_platform: Unbekannte Plattform
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
@@ -1495,9 +1497,9 @@ de:
notifications: Benachrichtigungen
preferences: Einstellungen
profile: Profil
- relationships: Folge ich und Follower
+ relationships: Follower und Folge ich
statuses_cleanup: Automatische Löschung
- strikes: Moderieren von Verstößen
+ strikes: Maßnahmen
two_factor_authentication: Zwei-Faktor-Authentisierung (2FA)
webauthn_authentication: Sicherheitsschlüssel
statuses:
@@ -1521,8 +1523,8 @@ de:
edited_at_html: 'Bearbeitet: %{date}'
errors:
in_reply_not_found: Der Beitrag, auf den du antworten möchtest, scheint nicht zu existieren.
- open_in_web: Im Web öffnen
- over_character_limit: Zeichenlimit von %{max} überschritten
+ open_in_web: Im Webinterface öffnen
+ over_character_limit: Begrenzung von %{max} Zeichen überschritten
pin_errors:
direct: Beiträge, die nur für erwähnte Profile sichtbar sind, können nicht angeheftet werden
limit: Du hast bereits die maximale Anzahl an Beiträgen angeheftet
@@ -1582,7 +1584,7 @@ de:
'7889238': 3 Monate
min_age_label: Altersgrenze
min_favs: Behalte Beiträge, die häufiger favorisiert wurden als …
- min_favs_hint: Löscht keine Beiträge, die mindestens so oft favorisiert worden sind. Lass das Feld leer, um alle Beiträge, unabhängig der Anzahl an Favorisierungen zu löschen
+ min_favs_hint: Löscht keine Beiträge, die mindestens so oft favorisiert worden sind. Lass das Feld leer, um alle Beiträge – unabhängig der Anzahl an Favoriten – zu löschen
min_reblogs: Behalte Beiträge, die öfter geteilt wurden als
min_reblogs_hint: Löscht keine Beiträge, die mindestens so oft geteilt worden sind. Lass das Feld leer, um alle Beiträge – unabhängig der Anzahl an geteilten Beiträgen – zu löschen
stream_entries:
@@ -1611,12 +1613,12 @@ de:
enabled: Zwei-Faktor-Authentisierung (2FA) ist aktiviert
enabled_success: Zwei-Faktor-Authentisierung (2FA) erfolgreich aktiviert
generate_recovery_codes: Wiederherstellungscodes erstellen
- lost_recovery_codes: Wiederherstellungscodes erlauben es dir, wieder Zugang zu deinem Konto zu erlangen, falls du keinen Zugriff mehr auf die Zwei-Faktor-Authentisierung (2FA) oder den Sicherheitsschlüssel hast. Solltest Du diese Wiederherstellungscodes verloren haben, kannst du sie hier neu generieren. Deine alten, bereits erstellten Wiederherstellungscodes werden dadurch ungültig.
+ lost_recovery_codes: Wiederherstellungscodes ermöglichen es dir, wieder Zugang zu deinem Konto zu erlangen, falls du keinen Zugriff mehr auf dein Smartphone oder zum Sicherheitsschlüssel hast. Solltest du deine Wiederherstellungscodes verloren haben, kannst du sie hier neu generieren. Die alten Wiederherstellungscodes werden dann ungültig.
methods: Methoden der Zwei-Faktor-Authentisierung (2FA)
otp: Authentifizierungs-App
recovery_codes: Wiederherstellungscodes sichern
recovery_codes_regenerated: Wiederherstellungscodes erfolgreich neu erstellt
- recovery_instructions_html: Wenn du den Zugang zu deinem Telefon verlieren solltest, kannst du einen untenstehenden Wiederherstellungscode benutzen, um wieder auf dein Konto zugreifen zu können. Bewahre die Wiederherstellungscodes gut auf. Du könntest sie beispielsweise ausdrucken und bei deinen restlichen wichtigen Dokumenten aufbewahren.
+ recovery_instructions_html: Falls du jemals den Zugang zu deinem Smartphone verlierst, kannst du einen der unten aufgeführten Wiederherstellungscodes verwenden, um wieder Zugang zu deinem Konto zu erhalten. Bewahre die Wiederherstellungscodes sicher auf. Du kannst sie zum Beispiel ausdrucken und zusammen mit anderen wichtigen Dokumenten aufbewahren.
webauthn: Sicherheitsschlüssel
user_mailer:
appeal_approved:
@@ -1644,7 +1646,7 @@ de:
appeal_description: Wenn du glaubst, dass es sich um einen Fehler handelt, kannst du einen Einspruch an die Administration von %{instance} senden.
categories:
spam: Spam
- violation: Inhalt verstößt gegen die folgenden Gemeinschaftsrichtlinien
+ violation: Inhalt verstößt gegen die folgenden Serverregeln
explanation:
delete_statuses: Einige deiner Beiträge wurden als Verstoß gegen eine oder mehrere Gemeinschaftsrichtlinien erkannt und von den Moderator*innen von %{instance} entfernt.
disable: Du kannst dein Konto nicht mehr verwenden, aber dein Profil und andere Daten bleiben unversehrt. Du kannst eine Sicherung deiner Daten anfordern, die Kontoeinstellungen ändern oder dein Konto löschen.
@@ -1694,12 +1696,12 @@ de:
create:
error: Beim Hinzufügen des Sicherheitsschlüssels ist ein Fehler aufgetreten. Bitte versuche es erneut.
success: Dein Sicherheitsschlüssel wurde erfolgreich hinzugefügt.
- delete: Löschen
- delete_confirmation: Bist du dir sicher, dass du diesen Sicherheitsschlüssel löschen möchtest?
- description_html: Wenn du die Authentifizierung mit Sicherheitsschlüssel aktivierst, musst du einen deiner Sicherheitsschlüssel verwenden, um dich anmelden zu können.
+ delete: Entfernen
+ delete_confirmation: Möchtest du diesen Sicherheitsschlüssel wirklich entfernen?
+ description_html: Wenn du die Authentisierung mit Sicherheitsschlüssel aktivierst, musst du dich mit einem deiner Sicherheitsschlüssel anmelden.
destroy:
- error: Es gab ein Problem beim Löschen deines Sicherheitsschlüssels. Bitte versuche es erneut.
- success: Dein Sicherheitsschlüssel wurde erfolgreich gelöscht.
+ error: Beim Entfernen des Sicherheitsschlüssels ist ein Fehler aufgetreten. Bitte versuche es erneut.
+ success: Dein Sicherheitsschlüssel wurde erfolgreich entfernt.
invalid_credential: Ungültiger Sicherheitsschlüssel
nickname_hint: Gib den Spitznamen deines neuen Sicherheitsschlüssels ein
not_enabled: Du hast WebAuthn noch nicht aktiviert
diff --git a/config/locales/devise.de.yml b/config/locales/devise.de.yml
index 577cf13004..0c25f21b6c 100644
--- a/config/locales/devise.de.yml
+++ b/config/locales/devise.de.yml
@@ -20,9 +20,9 @@ de:
confirmation_instructions:
action: E-Mail-Adresse verifizieren
action_with_app: Bestätigen – und dann zur App %{app} zurückkehren
- explanation: Du hast auf %{host} mit dieser E-Mail-Adresse ein Konto erstellt. Du bist nur noch einen Klick von der Aktivierung entfernt. Wenn du das nicht warst, kannst du diese E-Mail ignorieren.
- explanation_when_pending: Du hast dich für eine Einladung bei %{host} mit dieser E-Mailadresse beworben. Sobald du deine E-Mailadresse bestätigst hast, werden wir deine Anfrage überprüfen. Du kannst dich in dieser Zeit nicht anmelden. Wenn deine Anfrage abgelehnt wird, werden deine Daten entfernt, also wird keine weitere Handlung benötigt. Wenn du das nicht warst, kannst du diese E-Mail ignorieren.
- extra_html: Bitte lies auch die Regeln des Servers und unsere Nutzungsbedingungen.
+ explanation: Du hast mit dieser E-Mail-Adresse ein Konto auf %{host} erstellt. Du bist nur noch einen Klick von der Aktivierung entfernt. Wenn du das nicht warst, kannst du diese E-Mail ignorieren.
+ explanation_when_pending: Du hast dich für eine Einladung bei %{host} mit dieser E-Mail-Adresse beworben. Sobald du deine E-Mail-Adresse bestätigt hast, werden wir deine Anfrage überprüfen. Du kannst dich in dieser Zeit nicht anmelden. Wenn deine Anfrage abgelehnt wird, werden deine Daten entfernt – von dir ist keine weitere Handlung notwendig. Wenn du das nicht warst, kannst du diese E-Mail ignorieren.
+ extra_html: Bitte beachte auch die Serverregeln und unsere Datenschutzerklärung.
subject: 'Mastodon: Bestätigung deines Kontos bei %{instance}'
title: E-Mail-Adresse verifizieren
email_changed:
@@ -67,15 +67,15 @@ de:
title: Ein neuer Sicherheitsschlüssel wurde hinzugefügt
deleted:
explanation: Der folgende Sicherheitsschlüssel wurde aus deinem Konto gelöscht
- subject: 'Mastodon: Sicherheitsschlüssel gelöscht'
- title: Einer deiner Sicherheitsschlüssel wurde gelöscht
+ subject: 'Mastodon: Sicherheitsschlüssel entfernt'
+ title: Einer deiner Sicherheitsschlüssel wurde entfernt
webauthn_disabled:
- explanation: Die Authentifizierung mit Sicherheitsschlüssel wurde für dein Konto deaktiviert. Der Login ist nun nur mit dem Token möglich, der von der eingerichteten TOTP-App generiert wird.
- subject: 'Mastodon: Authentifizierung mit Sicherheitsschlüssel deaktiviert'
+ explanation: Die Authentisierung mit Sicherheitsschlüsseln wurde für dein Konto deaktiviert. Die Anmeldung ist jetzt nur noch mit dem Token möglich, der von der eingerichteten TOTP-App generiert wird.
+ subject: 'Mastodon: Authentisierung mit Sicherheitsschlüsseln deaktiviert'
title: Sicherheitsschlüssel deaktiviert
webauthn_enabled:
- explanation: Die Authentifizierung mit einem Sicherheitsschlüssel wurde für dein Konto aktiviert. Dein Sicherheitsschlüssel kann nun für die Anmeldung verwendet werden.
- subject: 'Mastodon: Authentifizierung mit Sicherheitsschlüssel aktiviert'
+ explanation: Die Authentisierung mit Sicherheitsschlüssel wurde für dein Konto aktiviert. Dein Sicherheitsschlüssel kann nun für die Anmeldung verwendet werden.
+ subject: 'Mastodon: Authentisierung mit Sicherheitsschlüssel aktiviert'
title: Sicherheitsschlüssel aktiviert
omniauth_callbacks:
failure: Du konntest nicht mit deinem %{kind}-Konto angemeldet werden, weil „%{reason}“.
@@ -111,5 +111,5 @@ de:
not_found: nicht gefunden
not_locked: ist nicht gesperrt
not_saved:
- one: '1 Fehler hat verhindert, dass %{resource} gespeichert wurde:'
- other: "%{count} Fehler haben verhindert, dass %{resource} gespeichert wurde:"
+ one: '1 Fehler verhinderte, dass %{resource} gespeichert wurde:'
+ other: "%{count} Fehler verhinderten, dass %{resource} gespeichert wurde:"
diff --git a/config/locales/devise.et.yml b/config/locales/devise.et.yml
index 9fd54d1422..da1cc989d2 100644
--- a/config/locales/devise.et.yml
+++ b/config/locales/devise.et.yml
@@ -48,15 +48,15 @@ et:
title: Salasõna lähtestamine
two_factor_disabled:
explanation: Kontol on kaheastmeline autentimine välja lülitatud. Sisenemine on võimalik ainult kasutades e-postiaadressi ja salasõna.
- subject: 'Mastodon: Kahe-etapine autentimine välja lülitatud'
+ subject: 'Mastodon: Kaheastmeline autentimine välja lülitatud'
title: 2FA keelatud
two_factor_enabled:
explanation: Kontol on sisse lülitatud kaheastmeline autentimine. Sisenemiseks on vajalik ühekordne aeguv võti TOTP-rakenduse poolt.
- subject: 'Mastodon: Kahe-etapine autentimine sisse lülitatud'
+ subject: 'Mastodon: kaheastmeline autentimine sisse lülitatud'
title: 2FA lubatud
two_factor_recovery_codes_changed:
explanation: Eelmised taastekoodid on nüüd kehtetud ning loodud uued.
- subject: 'Mastodon: Kahe-etapise autentimise taastuskoodid taasloodud'
+ subject: 'Mastodon: Kaheastmelise autentimise taastuskoodid taasloodud'
title: 2FA taastekoodid muudetud
unlock_instructions:
subject: 'Mastodon: Lahti lukustamis juhendid'
@@ -78,7 +78,7 @@ et:
subject: 'Mastodon: turvavõtme autentimine sisse lülitatud'
title: Turvavõtmed on sisse lülitatud
omniauth_callbacks:
- failure: Ei saanud teid tuvastada %{kind} kaudu, kuna "%{reason}".
+ failure: Ei saanud sind tuvastada %{kind} kaudu, kuna "%{reason}".
success: Tuvastamine %{kind} konto järgi õnnestus.
passwords:
no_token: Sellele leheküljele ei pääse tulemata salasõna lähtestamise e-kirjast. Kui tuled salasõna lähtestamise e-kirjast, palun veendu, et kasutasid tervet saadetud URLi.
@@ -87,7 +87,7 @@ et:
updated: Salasõna muutmine õnnestus. Oled nüüd sisse logitud.
updated_not_active: Sinu salasõna muutmine õnnestus.
registrations:
- destroyed: Nägemist! sinu konto sulgemine õnnestus. Me loodame sind varsti taas näha.
+ destroyed: Nägemist! Sinu konto sulgemine õnnestus. Me loodame sind varsti taas näha.
signed_up: Tere tulemast! Sinu konto loomine õnnestus.
signed_up_but_inactive: Sinu konto loodi edukalt, kuid me ei saanud sind sisse logida, kuna konto pole veel aktiveeritud.
signed_up_but_locked: Sinu konto loodi edukalt, kuid me ei saanud sind sisse logida, kuna konto on lukustatud.
diff --git a/config/locales/devise.fy.yml b/config/locales/devise.fy.yml
index 3a7ead83e3..fd246227a2 100644
--- a/config/locales/devise.fy.yml
+++ b/config/locales/devise.fy.yml
@@ -6,13 +6,13 @@ fy:
send_instructions: Do ûntfangst fia in e-mailberjocht ynstruksjes hoe’tsto dyn account befêstigje kinst. Sjoch yn de map net-winske wannear’t neat ûntfongen waard.
send_paranoid_instructions: As dyn e-mailadres yn de database stiet, ûntfangsto fia in e-mailberjocht ynstruksjes hoe’tsto dyn account befêstigje kinst. Sjoch yn de map net-winske wannear’t neat ûntfongen waard.
failure:
- already_authenticated: Do bist al oanmeld.
+ already_authenticated: Jo binne al oanmeld.
inactive: Jo account is noch net aktivearre.
invalid: "%{authentication_keys} of wachtwurd ûnjildich."
last_attempt: Do hast noch ien besykjen oer eardat dyn account blokkearre wurdt.
- locked: Dyn account is blokkearre.
+ locked: Jo account is blokkearre.
not_found_in_database: "%{authentication_keys} of wachtwurd ûnjildich."
- pending: Dyn account moat noch hieltyd beoardiele wurde.
+ pending: Jo account moat noch hieltyd beoardiele wurde.
timeout: Dyn sesje is ferrûn, meld dy opnij oan.
unauthenticated: Jo moatte oanmelde of registrearje.
unconfirmed: Do moatst earst dyn account befêstigje.
diff --git a/config/locales/devise.my.yml b/config/locales/devise.my.yml
index 14b26845ae..fd000223a9 100644
--- a/config/locales/devise.my.yml
+++ b/config/locales/devise.my.yml
@@ -3,14 +3,16 @@ my:
devise:
confirmations:
confirmed: သင်၏ အီးမေးလ်လိပ်စာ အောင်မြင်စွာအတည်ပြုပြီးပါပြီ။
- send_instructions: မိနစ်အနည်းငယ်အတွင်း သင့်အီးမေးလ်လိပ်စာကို အတည်ပြုရန်အတွက် ညွှန်ကြားချက်များပါရှိသည့် အီးမေးလ်တစ်စောင်ကို သင့်ထံ ပေးပို့လိုက်မည်ဖြစ်ပါသည်။ ဤအီးမေးလ်ကို လက်ခံမရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။
- send_paranoid_instructions: အကယ်၍ သင့်အီးမေးလ်လိပ်စာသည် ကျွန်ုပ်တို့၏ဒေတာဘေ့စ်တွင် ရှိနေပါက မိနစ်အနည်းငယ်အတွင်း သင့်အီးမေးလ်လိပ်စာကို အတည်ပြုရန်အတွက် ညွှန်ကြားချက်များပါရှိသည့် အီးမေးလ်တစ်စောင်ကို သင့်ထံ ပေးပို့လိုက်မည်ဖြစ်ပါသည်။ ဤအီးမေးလ်ကို လက်ခံမရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။
+ send_instructions: မိနစ်အနည်းငယ်အတွင်း သင့်အီးမေးလ်လိပ်စာကို အတည်ပြုရန်အတွက် ညွှန်ကြားချက်များပါရှိသည့် အီးမေးလ်တစ်စောင်ကို သင်ရရှိမည်ဖြစ်ပါသည်။ ဤအီးမေးလ်ကို လက်ခံမရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။
+ send_paranoid_instructions: အကယ်၍ သင့်အီးမေးလ်လိပ်စာသည် ကျွန်ုပ်တို့၏ဒေတာဘေ့စ်တွင် ရှိနေပါက မိနစ်အနည်းငယ်အတွင်း သင့်အီးမေးလ်လိပ်စာကို အတည်ပြုရန်အတွက် ညွှန်ကြားချက်များပါရှိသည့် အီးမေးလ်တစ်စောင်ကို သင်ရရှိမည်ဖြစ်ပါသည်။ ဤအီးမေးလ်ကို လက်ခံမရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။
failure:
already_authenticated: သင်ဝင်ရောက်ပြီးဖြစ်သည်။
+ inactive: သင်၏အကောင့်သည်အသက်မဝင်သေးပါ
invalid: မှားယွင်းသော %{authentication_keys} သို့မဟုတ် စကားဝှက် ဖြစ်ပါသည်။
last_attempt: သင့်အကောင့်ကို လော့ခ်မချမီ နောက်ထပ်ကြိုးစားမှုတစ်ခု ရှိသေးသည်။
locked: သင့်အကောင့်ကို လော့ခ်ချထားသည်။
not_found_in_database: မှားယွင်းသော %{authentication_keys} သို့မဟုတ် စကားဝှက် ဖြစ်ပါသည်။
+ pending: သင့်အကောင့်အား စိစစ်ဆဲဖြစ်သည်။
timeout: သင့် Session သက်တမ်းကုန်သွားပါပြီ။ ရှေ့ဆက်ရန်အတွက် ကျေးဇူးပြုပြီး ထပ်မံဝင်ရောက်ပါ။
unauthenticated: ဆက်မလုပ်မီ သင်သည် အကောင့်ဝင်ရန် သို့မဟုတ် အကောင့်ဖွင့်ရန် လိုအပ်သည်။
unconfirmed: ဆက်မလုပ်မီ သင့်အီးမေးလ်လိပ်စာကို အတည်ပြုရပါမည်။
@@ -18,33 +20,46 @@ my:
confirmation_instructions:
action: အီးမေးလ်လိပ်စာကို အတည်ပြုပါ
action_with_app: အတည်ပြုပြီး %{app} သို့ပြန်သွားပါ
+ explanation: "%{host} တွင် ဤအီးမေးလ်လိပ်စာဖြင့် သင် အကောင့်တစ်ခု ဖန်တီးထားပြီးဖြစ်သည်။ သင် ကလစ်တစ်ချက်နှိပ်ရုံဖြင့် အကောင့်အား အသက်ဝင်စေနိုင်သည်။ အကယ်၍ သင်ဖန်တီးထားခြင်းမဟုတ်ခဲ့လျှင် ယခုအီးမေးလ်အား ကျေးဇူးပြု၍ လျစ်လျူရှုပါ။"
+ explanation_when_pending: "%{host} သို့ ဖိတ်ခေါ်မှုတစ်ခုကို ဤအီးမေးလ်လိပ်စာဖြင့် သင်တောင်းဆိုခဲ့သည်။ အီးမေးလ်လိပ်စာကို သင်အတည်ပြုပြီးပါက ကျွန်ုပ်တို့အနေဖြင့် သင့်တောင်းဆိုမှုအား စိစစ်မည်ဖြစ်သည်။ သင့်အနေဖြင့် မိမိအကောင့်အတွင်း ဝင်ရောက်၍ အသေးစိတ်အချက်အလက်များအား ပြုပြင်နိုင်သည် (သို့) မိမိအကောင့်အား ဖျက်နိုင်သည်။ သို့သော် သင့်အကောင့်ကို အတည်ပြုမပြီးမချင်း သင့်အနေဖြင့် လုပ်ငန်းဆောင်တာအများစုအား ဆောင်ရွက်နိုင်မည် မဟုတ်ပေ။ သင်၏ အကောင့်တောင်းဆိုမှု ငြင်းဆန်ခံရပါက သင့်အချက်အလက်များအား ဖယ်ရှားပေးမည်ဖြစ်သည်။ သင့်အနေဖြင့် တခြားအရေးယူဆောင်ရွက်ရန် မလိုအပ်ပါ။ အကယ်၍ ယခုတောင်းဆိုမှုအား သင်ပြုလုပ်ထားခြင်းမဟုတ်ခဲ့လျှင် ယခုအီးမေးလ်အား ကျေးဇူးပြု၍ လျစ်လျူရှုပါ။"
extra_html: ကျေးဇူးပြု၍ ဆာဗာစည်းမျဉ်းများ နှင့် ကျွန်ုပ်တို့၏ဝန်ဆောင်မှုစည်းမျဉ်းများကိုလည်း စစ်ဆေးကြည့်ပါ။
subject: Mastodon - %{instance} အတွက် အတည်ပြုချက် ညွှန်ကြားချက်များ
title: အီးမေးလ်လိပ်စာကို အတည်ပြုပါ
email_changed:
explanation: သင့်အကောင့်အတွက် အီးမေးလ်လိပ်စာကို ပြောင်းလဲနေပါသည် -
+ extra: သင့်အီးမေးလ်လိပ်စာ မပြောင်းထားပါက တစ်စုံတစ်ဦးသည် သင့်အကောင့်သို့ ဝင်ရောက်ခွင့်ရရှိသွားနိုင်ပါသည်။ သင့်အကောင့် လော့ခ်ကျသွားပါက သင့်စကားဝှက်ကို ချက်ချင်းပြောင်းပါ သို့မဟုတ် ဆာဗာစီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။
subject: 'Mastodon: အီးမေးလ်ပြောင်းလဲသွားပြီ'
title: အီးမေးလ်လိပ်စာအသစ်
password_change:
explanation: သင့်အကောင့်အတွက် စကားဝှက်ကို ပြောင်းလဲလိုက်ပါပြီ။
+ extra: သင့်စကားဝှက် မပြောင်းထားပါက တစ်စုံတစ်ဦးသည် သင့်အကောင့်သို့ ဝင်ရောက်ခွင့်ရရှိသွားနိုင်ပါသည်။ သင့်အကောင့် လော့ခ်ကျသွားပါက သင့်စကားဝှက်ကို ချက်ချင်းပြောင်းပါ သို့မဟုတ် ဆာဗာစီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။
subject: 'Mastodon: စကားဝှက်ပြောင်းလဲသွားပြီ'
title: စကားဝှက်ပြောင်းလဲသွားပြီ
reconfirmation_instructions:
explanation: သင်၏အီးမေးလ်လိပ်စာပြောင်းရန် လိပ်စာအသစ်အတည်ပြုပါ။
+ extra: တစ်ကယ်လို့ ပြောင်းလဲမှုကို သင်တောင်းဆိုတာမဟုတ်ဘူးဆိုရင် ဤအီးမေးလ်ကို လျစ်လျူရှုလိုက်ပါ။ အပေါ်မှ လင့်ခ်ကိုမဝင်မချင်း သင့်အီးမေးလ်ပြောင်းသွားမည်မဟုတ်ပါ
subject: 'Mastodon: %{instance} အတွက်အီးမေးလ်အတည်ပြုပါ'
title: အီးမေးလ်လိပ်စာစစ်ဆေးပါ
reset_password_instructions:
action: စကားဝှက်ပြောင်းမည်
+ explanation: သင့်အကောင့်အတွက် စကားဝှက်အသစ်တစ်ခု တောင်းဆိုခဲ့သည်။
+ extra: သင်မတောင်းဆိုထားပါက ဤအီးမေးလ်ကို လျစ်လျူရှုလိုက်ပါ။ အထက်ဖော်ပြပါလင့်ခ်ကို သင်ဝင်ရောက်ပြီး အသစ်တစ်ခုမဖန်တီးမချင်း သင့်စကားဝှက်သည် ပြောင်းလဲမည်မဟုတ်ပါ။
subject: 'Mastodon: စကားဝှက်ညွှန်ကြားချက် ပြန်လည်သတ်မှတ်မည်'
title: စကားဝှက်ပြန်လည်သတ်မှတ်မည်
two_factor_disabled:
+ explanation: သင့်အကောင့်အတွက် နှစ်ဆင့်ခံလုံခြုံရေးစနစ်အထောက်အထားပြခြင်းကို ပိတ်ထားသည်။ အီးမေးလ်လိပ်စာနှင့် စကားဝှက်ကိုသာ အသုံးပြု၍ အကောင့်ဝင်ရောက်နိုင်ပါသည်။
subject: 'Mastodon: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ပိတ်ထားသည်'
title: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ပိတ်ထားသည်
two_factor_enabled:
+ explanation: သင့်အကောင့်အတွက် နှစ်ဆင့်ခံလုံခြုံရေးစနစ်အထောက်အထားပြခြင်းကို ဖွင့်ထားသည်။ TOTP အက်ပ်မှ ထုတ်ပေးသည့် တိုကင်တစ်ခုမှာ အကောင့်ဝင်ရန်အတွက် လိုအပ်ပါသည်။
subject: 'Mastodon: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ဖွင့်ထားသည်'
title: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ဖွင့်ထားသည်
two_factor_recovery_codes_changed:
+ explanation: ယခင်ပြန်လည်ရယူသည့်ကုဒ်များမှာ မမှန်ကန်သောကြောင့် အသစ်များကို ထုတ်ပေးခဲ့သည်။
+ subject: Mastodon - နှစ်ဆင့်ခံလုံခြုံရေး ပြန်လည်ရယူသည့်ကုဒ်များကို ပြန်လည်ထုတ်ပေးခြင်း
title: နှစ်ဆင့်ခံလုံခြုံရေးစနစ် ပြန်လည်ရယူသည့်ကုဒ်နံပါတ်များ ပြောင်းလဲခဲ့သည်
+ unlock_instructions:
+ subject: Mastodon - ညွှန်ကြားချက်များကို လော့ခ်ဖွင့်ပါ
webauthn_credential:
added:
explanation: ဖော်ပြပါလုံခြုံရေးသော့ချက်အား သင့်အကောင့်ထဲသို့ထည့်ပြီးပါပြီ
@@ -55,16 +70,43 @@ my:
subject: 'Mastodon: လုံခြုံရေးသော့ချက် ဖျက်လိုက်ပါပြီ'
title: လုံခြုံရေးသော့ချက်များထဲမှတစ်ခု ဖျက်လိုက်ပါပြီ
webauthn_disabled:
+ explanation: သင့်အကောင့်အတွက် လုံခြုံရေးကီးများဖြင့် အထောက်အထားပြခြင်းကို ပိတ်ထားသည်။ TOTP အက်ပ်မှထုတ်ပေးသည့် တိုကင်ကိုသာ အသုံးပြု၍ အကောင့်ဝင်ရောက်နိုင်ပါသည်။
+ subject: Mastodon - လုံခြုံရေးကီးများဖြင့် အထောက်အထားစိစစ်ခြင်းကို ပိတ်ထားသည်
title: လုံခြုံရေးသော့ချက်များ ပိတ်ပြီးပါပြီ
webauthn_enabled:
+ explanation: သင့်အကောင့်အတွက် လုံခြုံရေးကီး အထောက်အထားစိစစ်ခြင်းကို ဖွင့်ထားသည်။ အကောင့်ဝင်ရန်အတွက် သင်၏လုံခြုံရေးကီးကို ယခုအသုံးပြုနိုင်ပါပြီ။
+ subject: Mastodon - လုံခြုံရေးကီး အထောက်အထားစိစစ်ခြင်းကို ဖွင့်ထားသည်
title: လုံခြုံရေးသော့ချက်များ ဖွင့်ပြီးပါပြီ
+ omniauth_callbacks:
+ failure: "“%{reason}” ကြောင့် %{kind} မှ သင့်ကို စစ်မှန်ကြောင်း အထောက်အထား မပြနိုင်ပါ။"
+ success: "%{kind} အကောင့်မှ အထောက်အထားပြပြီးပါပြီ။"
+ passwords:
+ no_token: စကားဝှက်ပြန်လည်သတ်မှတ်ခြင်းအီးမေးလ်မှ မလာပါက ဤစာမျက်နှာကို သင်ဝင်ရောက်၍မရနိုင်ပါ။ အကယ်၍ ၎င်းမှလာပါက ပေးထားသော URL အပြည့်အစုံကို အသုံးပြုရပါမည်။
+ send_instructions: အကယ်၍ သင့်အီးမေးလ်လိပ်စာသည် ကျွန်ုပ်တို့၏ဒေတာဘေ့စ်တွင် ရှိနေပါက မိနစ်အနည်းငယ်အတွင်း သင့်အီးမေးလ်လိပ်စာတွင် စကားဝှက်ပြန်လည်ရယူရေးလင့်ခ် ရရှိမည်ဖြစ်ပါသည်။ ဤအီးမေးလ်ကို လက်ခံမရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။
+ send_paranoid_instructions: အကယ်၍ သင့်အီးမေးလ်လိပ်စာသည် ကျွန်ုပ်တို့၏ဒေတာဘေ့စ်တွင် ရှိနေပါက မိနစ်အနည်းငယ်အတွင်း သင့်အီးမေးလ်လိပ်စာတွင် စကားဝှက်ပြန်လည်ရယူရေးလင့်ခ် ရရှိမည်ဖြစ်ပါသည်။ ဤအီးမေးလ်ကို လက်ခံမရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။
+ updated: သင့်စကားဝှက်ကို အောင်မြင်စွာ ပြောင်းလဲပြီးပါပြီ။ သင်သည် ယခု အကောင့်ဝင်ထားပြီးဖြစ်ပါသည်။
+ updated_not_active: သင့်စကားဝှက်ကို အောင်မြင်စွာ ပြောင်းလဲပြီးပါပြီ။
registrations:
+ destroyed: တာ့တာ၊ သင့်အကောင့်ကို ပယ်ဖျက်လိုက်ပါပြီ။ မကြာခင် ပြန်တွေ့နိုင်ရန်မျှော်လင့်မိပါသည်။
+ signed_up: ကြိုဆိုပါသည်။ သင်သည် အောင်မြင်စွာ စာရင်းသွင်းပြီးပါပြီ။
+ signed_up_but_inactive: သင်သည် အောင်မြင်စွာ အကောင့်ဖွင့်ပြီးပါပြီ။ သို့သော်လည်း သင့်အကောင့် အတည်မပြုရသေးသောကြောင့် ဝင်၍မရနိုင်ပါ။
+ signed_up_but_locked: သင်သည် အောင်မြင်စွာ အကောင့်ဖွင့်ပြီးပါပြီ။ သို့သော်လည်း သင့်အကောင့်လော့ခ်ချထားသောကြောင့် လက်မှတ်ထိုးဝင်၍မရနိုင်ပါ။
+ signed_up_but_pending: အတည်ပြုချက်လင့်ခ်ပါရှိသော စာတိုတစ်စောင်ကို သင့်အီးမေးလ်လိပ်စာသို့ ပေးပို့လိုက်ပါပြီ။ လင့်ခ်ကို နှိပ်ပြီးနောက် သင့်အက်ပလီကေးရှင်းကို ကျွန်ုပ်တို့ ပြန်လည်စစ်ဆေးပါမည်။ အတည်ပြုပြီးပါက သင့်ထံ အကြောင်းကြားပါမည်။
+ signed_up_but_unconfirmed: အကောင့်ဖွင့်ရန်အတွက် လင့်ခ်တစ်ခုကို ထောက်ခံချက်အီးမေးလ််နှင့်အတူပို့ပေးလိုက်ပါပြီ။ သင့်အကောင့်ဖွင့်နိုင်ရန် လင့်ခ်ကိုဝင်ရောက်ပေးပါ။ အီးမေးလ်မတွေ့ပါက စပမ်းဖိုင်တွဲထဲတွင်စစ်ကြည့်ပါ။
+ update_needs_confirmation: သင့်အကောင့်ကို မွမ်းမံပြင်ဆင်ထားသော်လည်း သင့်အီးမေးလ်လိပ်စာအသစ်ကို အတည်ပြုရန် လိုအပ်ပါသည်။ ကျေးဇူးပြု၍ သင့်အီးမေးလ်ကို စစ်ဆေးပြီး သင့်အီးမေးလ်လိပ်စာအသစ်ကို အတည်ပြုရန်အတွက် အတည်ပြုလင့်ခ်အား နှိပ်ပါ။ ဤအီးမေးလ်ကို မရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။
updated: သင့်အကောင့်အားအောင်မြင်စွာ ပြင်ဆင်ပြီးပါပြီ။
sessions:
already_signed_out: အောင်မြင်စွာအကောင့်မှထွက်ပြီးပါပြီ။
signed_in: အောင်မြင်စွာအကောင့်ဝင်ပြီးပါပြီ။
signed_out: အောင်မြင်စွာအကောင့်မှထွက်ပြီးပါပြီ။
+ unlocks:
+ send_instructions: မိနစ်အနည်းငယ်အတွင်း သင့်အကောင့်လော့ခ်ဖွင့်နည်းအတွက် ညွှန်ကြားချက်များပါရှိသည့် အီးမေးလ်တစ်စောင်ကို သင်လက်ခံရရှိမည်ဖြစ်သည်။ ဤအီးမေးလ်ကို မရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။
+ send_paranoid_instructions: အကယ်၍ သင့်တွင် အကောင့်ရှိပါက မိနစ်အနည်းငယ်အတွင်း လော့ခ်ဖွင့်နည်းအတွက် ညွှန်ကြားချက်များပါရှိသည့် အီးမေးလ်တစ်စောင်ကို သင်ရရှိမည်ဖြစ်သည်။ ဤအီးမေးလ်ကို လက်ခံမရရှိပါက သင်၏ Spam ဖိုင်ကို စစ်ဆေးပါ။
+ unlocked: သင့်အကောင့်ကို လော့ခ်ဖွင့်ပြီးပါပြီ။ ရှေ့ဆက်ရန်အတွက် အကောင့်ဝင်ပါ။
errors:
messages:
+ already_confirmed: အတည်ပြုပြီးဖြစ်သည်။ ကျေးဇူးပြု၍ အကောင့်ဝင်ကြည့်ပါ။
+ confirmation_period_expired: "%{period} အတွင်း အတည်ပြုရန် လိုအပ်ပြီး အသစ်တစ်ခု တောင်းဆိုပါ"
expired: သည် သက်တမ်းကျော်လွန်သွားပြီ။ ကျေးဇူးပြု၍အသစ်တစ်ခု တောင်းဆိုပါ
not_found: ရှာမတွေ့ပါ
+ not_locked: လော့ခ် မချထားပါ
diff --git a/config/locales/devise.zh-TW.yml b/config/locales/devise.zh-TW.yml
index 85b775b0b6..3c1968e50b 100644
--- a/config/locales/devise.zh-TW.yml
+++ b/config/locales/devise.zh-TW.yml
@@ -20,7 +20,7 @@ zh-TW:
confirmation_instructions:
action: 驗證電子郵件地址
action_with_app: 確認並返回 %{app}
- explanation: 您已經使用此電子郵件地址在 %{host} 上建立了一個帳號。距離啟用它只剩一點之遙了。如果這不是您本人,請忽略此郵件。
+ explanation: 您已經在 %{host} 上以此電子郵件地址建立了一支帳號。您距離啟用它只剩一點之遙了。若這不是您,請忽略此信件。
explanation_when_pending: 您使用此電子郵件地址申請了 %{host} 的邀請。當您確認電子郵件地址後我們將審核您的申請。您可以在登入後變更詳細資訊或刪除您的帳號,但直到您的帳號被核准之前,您無法操作大部分的功能。若您的申請遭拒絕,您的資料將被移除而不必做後續動作。如果這不是您本人,請忽略此郵件。
extra_html: 同時也請看看伺服器規則與服務條款。
subject: Mastodon:%{instance} 確認說明
diff --git a/config/locales/doorkeeper.ast.yml b/config/locales/doorkeeper.ast.yml
index 628de6524a..61d6c4ad1f 100644
--- a/config/locales/doorkeeper.ast.yml
+++ b/config/locales/doorkeeper.ast.yml
@@ -14,6 +14,8 @@ ast:
destroy: Destruyir
edit: Editar
submit: Unviar
+ confirmations:
+ destroy: "¿De xuru que quies facer esta aición?"
form:
error: "¡Meca! Revisa los errores posibles del formulariu"
help:
@@ -46,6 +48,8 @@ ast:
authorized_applications:
buttons:
revoke: Revocar
+ confirmations:
+ revoke: "¿De xuru que quies facer esta aición?"
index:
description_html: Estes son les aplicaciones que puen acceder a la cuenta cola API. Si equí hai aplicaciones que nun conoces o hai dalguna aplicación que nun funciona correutamente, pues revocar el so accesu.
never_used: Enxamás s'usó
@@ -94,7 +98,7 @@ ast:
admin:write: modifica tolos datos del sirvidor
crypto: usa'l cifráu de puntu a puntu
follow: modifica les rellaciones de les cuentes
- push: receición d'avisos push
+ push: recibe avisos push
read: llee tolos datos de les cuentes
read:accounts: mira la información de les cuentes
read:blocks: mira les cuentes bloquiaes
@@ -118,5 +122,5 @@ ast:
write:media: xube ficheros multimedia
write:mutes: desactiva los avisos de perfiles ya de conversaciones
write:notifications: borra los avisos
- write:reports: informa d'otres perfiles
+ write:reports: informa d'otros perfiles
write:statuses: espubliza artículos
diff --git a/config/locales/doorkeeper.de.yml b/config/locales/doorkeeper.de.yml
index 00c4ad678e..3b69cb0556 100644
--- a/config/locales/doorkeeper.de.yml
+++ b/config/locales/doorkeeper.de.yml
@@ -3,7 +3,7 @@ de:
activerecord:
attributes:
doorkeeper/application:
- name: Name der Anwendung
+ name: Anwendungsname
redirect_uri: Weiterleitungs-URI
scopes: Befugnisse
website: Website der Anwendung
@@ -60,7 +60,7 @@ de:
error:
title: Ein Fehler ist aufgetreten
new:
- prompt_html: "%{client_name} möchte auf dein Konto zugreifen. Es ist eine Anwendung von Drittanbietern. Wenn du ihr nicht vertraust, dann solltest du sie nicht autorisieren."
+ prompt_html: "%{client_name} möchte auf dein Konto zugreifen. Es handelt sich um eine Drittanbieter-Software. Wenn du der Anwendung nicht vertraust, solltest du ihr keinen Zugriff auf dein Konto geben."
review_permissions: Berechtigungen überprüfen
title: Autorisierung erforderlich
show:
@@ -82,7 +82,7 @@ de:
messages:
access_denied: Die Anfrage wurde durch Benutzer_in oder Autorisierungs-Server verweigert.
credential_flow_not_configured: Das Konto konnte nicht gefunden werden, da Doorkeeper.configure.resource_owner_from_credentials nicht konfiguriert ist.
- invalid_client: 'Client-Authentifizierung ist fehlgeschlagen: Client unbekannt, keine Authentisierung mitgeliefert oder Authentisierungsmethode wird nicht unterstützt.'
+ invalid_client: 'Client-Authentisierung ist fehlgeschlagen: Client unbekannt, keine Authentisierung mitgeliefert oder Authentisierungsmethode wird nicht unterstützt.'
invalid_grant: Die beigefügte Autorisierung ist ungültig, abgelaufen, wurde widerrufen oder einem anderen Client ausgestellt, oder der Weiterleitungs-URI stimmt nicht mit der Autorisierungs-Anfrage überein.
invalid_redirect_uri: Der beigefügte Weiterleitungs-URI ist ungültig.
invalid_request:
@@ -119,7 +119,7 @@ de:
write: Nur Schreibzugriff
title:
accounts: Konten
- admin/accounts: Verwaltung der Konten
+ admin/accounts: Kontenverwaltung
admin/all: Alle administrativen Funktionen
admin/reports: Verwaltung der Berichte
all: Voller Zugriff auf dein Mastodon-Konto
diff --git a/config/locales/doorkeeper.ko.yml b/config/locales/doorkeeper.ko.yml
index 504fefd281..584ff7219a 100644
--- a/config/locales/doorkeeper.ko.yml
+++ b/config/locales/doorkeeper.ko.yml
@@ -4,7 +4,7 @@ ko:
attributes:
doorkeeper/application:
name: 애플리케이션 이름
- redirect_uri: 리다이렉트 URI
+ redirect_uri: 리디렉트 URI
scopes: 범위
website: 애플리케이션 웹사이트
errors:
@@ -15,7 +15,7 @@ ko:
fragment_present: fragment를 포함할 수 없습니다
invalid_uri: 올바른 URI 이어야 합니다.
relative_uri: 절대경로 URI 이어야 합니다
- secured_uri: " HTTPS/SSL URI 이어야 합니다."
+ secured_uri: HTTPS/SSL URI 이어야 합니다.
doorkeeper:
applications:
buttons:
@@ -31,16 +31,16 @@ ko:
form:
error: 이런! 오류를 확인하세요
help:
- native_redirect_uri: "%{native_redirect_uri} 을/를 이용해 로컬 테스트를 할 수 있습니다"
+ native_redirect_uri: "%{native_redirect_uri}에서 로컬 테스트를 할 수 있습니다."
redirect_uri: 한 줄에 하나의 URI를 작성하세요
scopes: 스페이스로 범위를 구분하세요. 빈 칸으로 놔두면 기본 범위를 사용합니다.
index:
application: 애플리케이션
callback_url: 콜백 URL
delete: 삭제
- empty: 애플리케이션이 없습니다.
+ empty: 앱이 없습니다.
name: 이름
- new: 새 애플리케이션
+ new: 새로운 앱
scopes: 범위
show: 표시
title: 내 응용프로그램
@@ -52,7 +52,7 @@ ko:
callback_urls: 콜백 URL
scopes: 범위
secret: 클라이언트 비밀키
- title: '애플리케이션: %{name}'
+ title: '앱: %{name}'
authorizations:
buttons:
authorize: 승인
@@ -60,11 +60,11 @@ ko:
error:
title: 오류가 발생하였습니다
new:
- prompt_html: "%{client_name}이 당신의 계정에 대한 접근 권한을 요청합니다. 이것은 제3자의 응용프로그램입니다. 이것을 신뢰하지 않는다면, 권한을 승인하지 말아야 합니다."
+ prompt_html: "%{client_name} 제3자 앱이 귀하의 계정에 접근하기 위한 권한을 요청했습니다. 이 앱을 신뢰할 수 없다면 요청을 승인하지 마십시오."
review_permissions: 권한 검토
title: 승인 필요
show:
- title: 이 승인 코드를 복사하여 애플리케이션에 붙여넣으세요
+ title: 이 승인 코드를 복사해 앱에 붙여 넣어야 합니다.
authorized_applications:
buttons:
revoke: 삭제
@@ -72,7 +72,7 @@ ko:
revoke: 확실합니까?
index:
authorized_at: "%{date}에 승인됨"
- description_html: 당신의 계정에 API를 통해 접근 가능한 응용프로그램의 목록입니다. 알 수 없는 응용프로그램, 혹은 잘못된 행동을 하고 있는 응용프로그램이 있다면, 권한을 취소할 수 있습니다.
+ description_html: 이 계정에 API를 통해 접근 가능한 앱의 목록입니다. 알 수 없는 앱이나 잘못된 행위를 하는 앱이 있다면 권한을 취소할 수 있습니다.
last_used_at: "%{date}에 마지막으로 사용됨"
never_used: 사용되지 않음
scopes: 권한
@@ -82,7 +82,7 @@ ko:
messages:
access_denied: 리소스 소유자 또는 인증 서버가 요청을 거부했습니다.
credential_flow_not_configured: Doorkeeper.configure.resource_owner_from_credentials의 설정이 되어있지 않아 리소스 소유자 암호 자격증명이 실패하였습니다.
- invalid_client: 알 수 없는 클라이언트이기 때문에 클라이언트 인증이 실패하였습니다, 클라이언트 자격증명이 포함되지 않았거나, 지원 되지 않는 메소드입니다.
+ invalid_client: 클라이언트를 확인할 수 없기 때문에 인증이 실패하였습니다. 클라이언트 자격 증명이 포함되지 않았거나 지원되지 않는 메소드입니다.
invalid_grant: 제공된 권한 부여가 잘못되거나, 만료되었거나, 취소되었거나, 권한 부여 요청에 사용된 리디렉션 URI가 일치하지 않거나, 다른 클라이언트에 지정되었습니다.
invalid_redirect_uri: 리디렉션 URI가 올바르지 않습니다
invalid_request:
@@ -104,14 +104,14 @@ ko:
flash:
applications:
create:
- notice: 애플리케이션이 생성 되었습니다.
+ notice: 앱이 생성 되었습니다.
destroy:
- notice: 애플리케이션이 삭제 되었습니다.
+ notice: 앱을 삭제했습니다.
update:
- notice: 애플리케이션이 갱신 되었습니다.
+ notice: 앱을 갱신했습니다.
authorized_applications:
destroy:
- notice: 애플리케이션이 삭제되었습니다.
+ notice: 운영자에 의해 앱이 해지되었습니다.
grouped_scopes:
access:
read: 읽기 전용 권한
@@ -142,7 +142,7 @@ ko:
layouts:
admin:
nav:
- applications: 애플리케이션
+ applications: 앱
oauth2_provider: OAuth2 제공자
application:
title: OAuth 인증이 필요합니다
@@ -164,26 +164,26 @@ ko:
admin:write:ip_blocks: IP 차단에 모더레이션 조치 취하기
admin:write:reports: 신고에 모더레이션 조치 취하기
crypto: 종단간 암호화 사용
- follow: 계정의 관계를 수정
- push: 푸시 알림을 받기
- read: 계정의 모든 데이터를 읽기
- read:accounts: 계정의 정보를 보기
- read:blocks: 차단을 보기
+ follow: 계정 관계 수정
+ push: 푸시 알림 받기
+ read: 계정의 모든 데이터 읽기
+ read:accounts: 계정 정보 보기
+ read:blocks: 차단 보기
read:bookmarks: 내 북마크 보기
- read:favourites: 관심글을 보기
- read:filters: 필터를 보기
- read:follows: 팔로우를 보기
- read:lists: 리스트를 보기
- read:mutes: 뮤트를 보기
+ read:favourites: 좋아요 보기
+ read:filters: 필터 보기
+ read:follows: 팔로우 보기
+ read:lists: 리스트 보기
+ read:mutes: 뮤트 보기
read:notifications: 알림 보기
read:reports: 신고 보기
read:search: 당신의 권한으로 검색
- read:statuses: 게시물 모두 보기
+ read:statuses: 모든 게시물 보기
write: 계정 정보 수정
write:accounts: 프로필 수정
- write:blocks: 계정이나 도메인 차단
+ write:blocks: 계정 및 도메인 차단
write:bookmarks: 게시물을 북마크에 넣기
- write:conversations: 뮤트와 대화 삭제
+ write:conversations: 뮤트 및 대화 삭제
write:favourites: 관심글 지정
write:filters: 필터 만들기
write:follows: 사람을 팔로우
diff --git a/config/locales/doorkeeper.my.yml b/config/locales/doorkeeper.my.yml
index 345a3b2649..8a92d7e79f 100644
--- a/config/locales/doorkeeper.my.yml
+++ b/config/locales/doorkeeper.my.yml
@@ -12,6 +12,7 @@ my:
doorkeeper/application:
attributes:
redirect_uri:
+ fragment_present: အပိုင်းတစ်ပိုင်း မပါဝင်နိုင်ပါ။
invalid_uri: သည် မှန်ကန်သော URI ဖြစ်ရမည်။
relative_uri: URI ဖြစ်ရမည်။
secured_uri: သည် HTTPS/SSL URI ဖြစ်ရမည်။
@@ -59,6 +60,7 @@ my:
error:
title: အမှားအယွင်းတစ်ခု ဖြစ်ပေါ်ခဲ့သည်
new:
+ prompt_html: "%{client_name} က သင့်အကောင့်သို့ ဝင်ရောက်ရန် ခွင့်ပြုချက်ရယူလိုပါသည်။ ၎င်းမှာ ပြင်ပကြားခံအက်ပလီကေးရှင်းတစ်ခုဖြစ်သည်။ သင် မယုံကြည်ပါက ၎င်းကိုခွင့်မပြုသင့်ပါ။"
review_permissions: ခွင့်ပြုချက်များကို ပြန်လည်သုံးသပ်ပါ
title: ခွင့်ပြုချက် လိုအပ်သည်
show:
@@ -74,16 +76,29 @@ my:
last_used_at: "%{date} တွင် နောက်ဆုံးအသုံးပြုခဲ့သည်"
never_used: မသုံးဖူးပါ
scopes: ခွင့်ပြုချက်များ
+ superapp: အတွင်းပိုင်း
title: ခွင့်ပြုထားသော အက်ပလီကေးရှင်းများ
errors:
messages:
access_denied: မူလပိုင်ရှင် သို့မဟုတ် ခွင့်ပြုချက်ရှိသောဆာဗာမှ တောင်းဆိုချက်ကို ငြင်းပယ်ခဲ့သည်။
credential_flow_not_configured: Doorkeeper.configure.resource_owner_from_credentials ကို သတ်မှတ်မထားသည့်အတွက် မူလပိုင်ရှင် စကားဝှက် အထောက်အထားများထည့်သွင်းခြင်းမှာ မအောင်မြင်တော့ပါ။
+ invalid_client: Client အထောက်အထားစိစစ်မှု မအောင်မြင်ခြင်းမှာ အမည်မသိ Client ဖြစ်ခြင်း၊ Client စစ်မှန်ကြောင်းအထောက်အထားမပါဝင်ခြင်း သို့မဟုတ် ပံ့ပိုးမထားသည့် အထောက်အထားဖြစ်နေခြင်းကြောင့် ဖြစ်ပါသည်။
invalid_redirect_uri: ပြန်ညွှန်းထားခြင်းတွင် ပါဝင်သော URI မှာ မမှန်ကန်ပါ။
+ invalid_request:
+ missing_param: ပျောက်နေသည့် လိုအပ်သောအရာ - %{value}။
+ request_not_authorized: ခွင့်ပြုချက်တောင်းခံရန် လိုအပ်ပါသည်။ တောင်းဆိုမှုခွင့်ပြုချက်အတွက် လိုအပ်သောအရာမှာ ပျောက်ဆုံးနေခြင်း သို့မဟုတ် မမှန်ကန်ခြင်း ကြောင့်ဖြစ်ပါသည်။
+ unknown: တောင်းဆိုချက်တွင် ပံ့ပိုးမထားသော တန်ဖိုးတစ်ခုပါဝင်သည့် လိုအပ်သောအချက်အလက်တစ်ခု ပျောက်ဆုံးနေပါသည် သို့မဟုတ် ပုံစံမှားယွင်းနေပါသည်။
+ invalid_resource_owner: ပံ့ပိုးပေးထားသည့် မူလပိုင်ရှင်အထောက်အထားများမှာ မမှန်ကန်ပါ သို့မဟုတ် မူလပိုင်ရှင်ကို ရှာမတွေ့ပါ။
+ invalid_scope: တောင်းဆိုထားသော နယ်ပယ်မှာ မမှန်ကန်ခြင်း၊ မသိခြင်း သို့မဟုတ် ပုံစံမမှန်ကန်ခြင်းတို့ကြောင့် ဖြစ်ပါသည်။
invalid_token:
expired: အသုံးပြုခွင့် တိုကင် သက်တမ်းကုန်သွားပါပြီ
revoked: အသုံးပြုခွင့်တိုကင်ကို ရုပ်သိမ်းခဲ့သည်
unknown: အသုံးပြုခွင့်တိုကင်မှာ မမှန်ကန်ပါ
+ resource_owner_authenticator_not_configured: Doorkeeper.configure.resource_owner_authenticator ကို ပြုပြင်မွမ်းမံမှုအားဖယ်ရှားထားခြင်းကြောင့် မူလပိုင်ရှင်ရှာဖွေခြင်းမှာ မအောင်မြင်ပါ။
+ server_error: ခွင့်ပြုထားသောဆာဗာသည် တောင်းဆိုချက်ကို မဖြည့်ဆည်းပေးနိုင်သည့် မမျှော်လင့်ထားသော အခြေအနေတစ်ခုကို ကြုံတွေ့ခဲ့ရသည်။
+ temporarily_unavailable: ဆာဗာမှာ ယာယီအလုပ်များပိုလုပ်နေရခြင်း သို့မဟုတ် ဆာဗာပြုပြင်ထိန်းသိမ်းမှုတို့ကြောင့် တောင်းဆိုချက်ကို လောလောဆယ်တွင် ကိုင်တွယ်နိုင်ခြင်းမရှိသေးပါ။
+ unauthorized_client: ဤနည်းလမ်းကို အသုံးပြု၍ Client မှ ဤတောင်းဆိုမှုကို ဆောင်ရွက်ခွင့်မရှိပါ။
+ unsupported_grant_type: တရားဝင်ခွင့်ပြုချက်အမျိုးအစားကို ခွင့်ပြုချက်ဆာဗာမှ မပံ့ပိုးထားပါ။
unsupported_response_type: ခွင့်ပြုထားသောဆာဗာသည် ဤတုံ့ပြန်မှုအမျိုးအစားကို မပံ့ပိုးပါ။
flash:
applications:
@@ -100,6 +115,7 @@ my:
access:
read: ဖတ်ခွင့်သာရှိသည်
read/write: ဖတ်ပြီးပြင်ဆင်ခွင့်ရှိသည်
+ write: ပြင်ခွင့်သာရှိသည်
title:
accounts: အကောင့်များ
admin/accounts: အကောင့်စီမံခန့်ခွဲမှု
@@ -132,6 +148,7 @@ my:
scopes:
admin:read: ဆာဗာရှိ အချက်အလက်အားလုံးကို ဖတ်ပါ
admin:read:accounts: အကောင့်အားလုံး၏ အရေးကြီးသော သတင်းအချက်အလက်များကို ဖတ်ပါ
+ admin:read:canonical_email_blocks: ပိတ်ပင်ထားသော Canonical Email အားလုံး၏ အရေးကြီးသောသတင်းအချက်အလက်များကို ဖတ်ပါ
admin:read:domain_allows: ခွင့်ပြုထားသော ဒိုမိန်းအားလုံး၏ အရေးကြီးသော သတင်းအချက်အလက်များကို ဖတ်ပါ
admin:read:domain_blocks: ပိတ်ပင်ထားသော ဒိုမိန်းအားလုံး၏ အရေးကြီးသော သတင်းအချက်အလက်များကို ဖတ်ပါ
admin:read:email_domain_blocks: ပိတ်ပင်ထားသော အီးမေးလ်ဒိုမိန်းအားလုံး၏ အရေးကြီးသောသတင်းအချက်အလက်များကို ဖတ်ပါ
@@ -139,6 +156,7 @@ my:
admin:read:reports: မှတ်တမ်းများနှင့် တိုင်ကြားထားသောအကောင့်များအားလုံး၏ အရေးကြီးသော အချက်အလက်ကို ဖတ်ပါ။
admin:write: ဆာဗာပေါ်ရှိ အချက်အလက်အားလုံးကို ပြင်ဆင်ပါ
admin:write:accounts: အကောင့်များအား စိစစ်လုပ်ဆောင်မှုများ ဆောင်ရွက်ပါ
+ admin:write:canonical_email_blocks: Canonical Email ပိတ်ပင်ထားမှုများအား စိစစ်လုပ်ဆောင်မှုများ ဆောင်ရွက်ပါ
admin:write:domain_allows: ခွင့်ပြုထားသောဒိုမိန်းပေါ်တွင် စိစစ်လုပ်ဆောင်ချက်များ ဆောင်ရွက်ပါ
admin:write:domain_blocks: ပိတ်ပင်ထားသောဒိုမိန်းပေါ်တွင် စိစစ်လုပ်ဆောင်ချက်များ ဆောင်ရွက်ပါ
admin:write:email_domain_blocks: ပိတ်ပင်ထားသော အီးမေးလ်ဒိုမိန်းပေါ်တွင် စိစစ်လုပ်ဆောင်ချက်များ ဆောင်ရွက်ပါ
@@ -158,6 +176,7 @@ my:
read:mutes: သင်အသံပိတ်ထားမှုများကို ကြည့်ပါ
read:notifications: သင့်အသိပေးချက်များကို ကြည့်ပါ
read:reports: သင့်မှတ်တမ်းများကို ကြည့်ပါ
+ read:search: သင့်ကိုယ်စား ရှာဖွေပါ
read:statuses: ပို့စ်အားလုံးကို ကြည့်ပါ
write: သင့်အကောင့်၏ အချက်အလက်အားလုံးကို ပြင်ဆင်ပါ
write:accounts: သင့်ပရိုဖိုင်ကို ပြင်ဆင်ပါ
diff --git a/config/locales/doorkeeper.sr-Latn.yml b/config/locales/doorkeeper.sr-Latn.yml
index 5e46d01240..3dca04d0a4 100644
--- a/config/locales/doorkeeper.sr-Latn.yml
+++ b/config/locales/doorkeeper.sr-Latn.yml
@@ -122,16 +122,18 @@ sr-Latn:
admin/accounts: Administracija naloga
admin/all: Sve funkcije administracije
admin/reports: Administracija prijava
+ all: Potpuni pristup vašem Mastodon nalogu
blocks: Blokirani
bookmarks: Obeleživači
conversations: Razgovori
crypto: End-to-end enkripcija
favourites: Omiljeni
filters: Filteri
+ follow: Praćenja, ignorisanja i blokiranja
follows: Praćeni
lists: Liste
media: Multimedijalni prilozi
- mutes: Utišani
+ mutes: Ignorisani
notifications: Obaveštenja
push: Prosleđena obaveštenja
reports: Prijave
@@ -147,17 +149,22 @@ sr-Latn:
scopes:
admin:read: čitanje svih podataka na serveru
admin:read:accounts: čitanje osetljivih podataka za sve naloge
+ admin:read:canonical_email_blocks: pročitaj osetljive informacije i kanonske imejl blokove
admin:read:domain_allows: pročitaj osetljive informacije za sve dozvole domena
admin:read:domain_blocks: pročitaj osetljive informacije za sve blokove domena
+ admin:read:email_domain_blocks: pročitaj osetljive informacije svih blokova imejl domena
admin:read:ip_blocks: pročitaj osetljive informacije za sve IP blokove
admin:read:reports: čitanje osetljivih podataka svih izveštaja i prijavljenih naloga
admin:write: menjanje svih podataka na serveru
admin:write:accounts: vršenje moderatorskih aktivnosti nad nalozima
+ admin:write:canonical_email_blocks: izvrši moderacijske radnje nad kanonskim imejl blokovima
+ admin:write:domain_allows: izvrši moderacijske radnje nad dozvolama domena
admin:write:domain_blocks: izvrši moderatorske aktivnosti na blokovima domena
+ admin:write:email_domain_blocks: izvrši moderacijske radnje nad blokovima imejl domena
admin:write:ip_blocks: izvrši moderatorske aktivnosti na IP blokovima
admin:write:reports: vršenje moderatorskih aktivnosti nad izveštajima
crypto: korišćenje end-to-end enkripcije
- follow: prati, blokira, odblokira i otprati naloge
+ follow: menja odnose naloga
push: primanje prosleđenih obaveštenja
read: čita podatke Vašeg naloga
read:accounts: pogledaj informacije o nalozima
@@ -167,7 +174,7 @@ sr-Latn:
read:filters: pogledaj svoje filtere
read:follows: pogledaj koga pratiš
read:lists: pogledaj svoje liste
- read:mutes: pogledaj svoje utišane
+ read:mutes: pogledaj ignorisanja
read:notifications: pogledaj svoja obaveštenja
read:reports: pogledaj svoje prijave
read:search: pretraži u svoje ime
@@ -176,13 +183,13 @@ sr-Latn:
write:accounts: izmeni svoj profil
write:blocks: blokiraj naloge i domene
write:bookmarks: obeleži objave
- write:conversations: utišaj i obriši razgovore
+ write:conversations: ignoriši i izbriši razgovore
write:favourites: omiljene objave
write:filters: kreiraj filtere
write:follows: prati korisnike
write:lists: kreiraj liste
write:media: otpremi medijske datoteke
- write:mutes: utišaj korinsike i razgovore
+ write:mutes: ignoriši korisnike i razgovore
write:notifications: obriši svoja obaveštenja
write:reports: prijavi druge korisnike
write:statuses: objavi objave
diff --git a/config/locales/doorkeeper.sr.yml b/config/locales/doorkeeper.sr.yml
index 887a218953..00287543f3 100644
--- a/config/locales/doorkeeper.sr.yml
+++ b/config/locales/doorkeeper.sr.yml
@@ -122,16 +122,18 @@ sr:
admin/accounts: Администрација налога
admin/all: Све функције администрације
admin/reports: Администрација пријава
+ all: Потпуни приступ вашем Mastodon налогу
blocks: Блокирани
bookmarks: Обележивачи
conversations: Разговори
crypto: End-to-end енкрипција
favourites: Омиљени
filters: Филтери
+ follow: Праћења, игнорисања и блокирања
follows: Праћени
lists: Листе
media: Мултимедијални прилози
- mutes: Утишани
+ mutes: Игнорисани
notifications: Обавештења
push: Прослеђена обавештења
reports: Пријаве
@@ -147,17 +149,22 @@ sr:
scopes:
admin:read: читање свих података на серверу
admin:read:accounts: читање осетљивих података за све налоге
+ admin:read:canonical_email_blocks: прочитај осетљиве информације и канонске имејл блокове
admin:read:domain_allows: прочитај осетљиве информације за све дозволе домена
admin:read:domain_blocks: прочитај осетљиве информације за све блокове домена
+ admin:read:email_domain_blocks: прочитај осетљиве информације свих блокова имејл домена
admin:read:ip_blocks: прочитај осетљиве информације за све IP блокове
admin:read:reports: читање осетљивих података свих извештаја и пријављених налога
admin:write: мењање свих података на серверу
admin:write:accounts: вршење модераторских активности над налозима
+ admin:write:canonical_email_blocks: изврши модерацијске радње над канонским имејл блоковима
+ admin:write:domain_allows: изврши модерацијске радње над дозволама домена
admin:write:domain_blocks: изврши модераторске активности на блоковима домена
+ admin:write:email_domain_blocks: изврши модерацијске радње над блоковима имејл домена
admin:write:ip_blocks: изврши модераторске активности на IP блоковима
admin:write:reports: вршење модераторских активности над извештајима
crypto: коришћење end-to-end енкрипције
- follow: прати, блокира, одблокира и отпрати налоге
+ follow: мења односе налога
push: примање прослеђених обавештења
read: чита податке Вашег налога
read:accounts: погледај информације о налозима
@@ -167,7 +174,7 @@ sr:
read:filters: погледај своје филтере
read:follows: погледај кога пратиш
read:lists: погледај своје листе
- read:mutes: погледај своје утишане
+ read:mutes: погледај игнорисања
read:notifications: погледај своја обавештења
read:reports: погледај своје пријаве
read:search: претражи у своје име
@@ -176,13 +183,13 @@ sr:
write:accounts: измени свој профил
write:blocks: блокирај налоге и домене
write:bookmarks: обележи објаве
- write:conversations: утишај и обриши разговоре
+ write:conversations: игнориши и избриши разговоре
write:favourites: омиљене објаве
write:filters: креирај филтере
write:follows: прати кориснике
write:lists: креирај листе
write:media: отпреми медијске датотеке
- write:mutes: утишај коринсике и разговоре
+ write:mutes: игнориши кориснике и разговоре
write:notifications: обриши своја обавештења
write:reports: пријави друге кориснике
write:statuses: објави објаве
diff --git a/config/locales/doorkeeper.zh-TW.yml b/config/locales/doorkeeper.zh-TW.yml
index da5597c85c..6d07717e1d 100644
--- a/config/locales/doorkeeper.zh-TW.yml
+++ b/config/locales/doorkeeper.zh-TW.yml
@@ -131,7 +131,7 @@ zh-TW:
filters: 過濾器
follow: 跟隨、靜音與封鎖
follows: 跟隨的使用者
- lists: 名單
+ lists: 列表
media: 多媒體附加檔案
mutes: 靜音
notifications: 通知
@@ -168,12 +168,12 @@ zh-TW:
push: 接收帳號的推播通知
read: 讀取您所有的帳號資料
read:accounts: 檢視帳號資訊
- read:blocks: 檢視您的封鎖名單
+ read:blocks: 檢視您的封鎖列表
read:bookmarks: 檢視您的書籤
read:favourites: 檢視您收藏的最愛
read:filters: 檢視您的過濾條件
read:follows: 檢視您跟隨的人
- read:lists: 檢視您的名單
+ read:lists: 檢視您的列表
read:mutes: 檢視您靜音的人
read:notifications: 檢視您的通知
read:reports: 檢視您的檢舉
diff --git a/config/locales/el.yml b/config/locales/el.yml
index 9a0ac8dbd2..c185459b7a 100644
--- a/config/locales/el.yml
+++ b/config/locales/el.yml
@@ -25,11 +25,11 @@ el:
admin:
account_actions:
action: Εκτέλεση ενέργειας
- title: Εκτέλεση ενέργειας διαχείρισης στο %{acct}
+ title: Εκτέλεση ενέργειας συντονισμού στον %{acct}
account_moderation_notes:
create: Άφησε σημείωση
- created_msg: Επιτυχής δημιουργία σημειώματος μεσολάβησης!
- destroyed_msg: Επιτυχής καταστροφή σημειώματος μεσολάβησης!
+ created_msg: Επιτυχής δημιουργία σημειώματος συντονισμού!
+ destroyed_msg: Η σημείωση συντονισμού καταστράφηκε επιτυχώς!
accounts:
add_email_domain_block: Εγγραφή τομέα email σε μαύρη λίστα
approve: Έγκριση
@@ -95,8 +95,8 @@ el:
pending: Εκκρεμούν
silenced: Περιορισμένοι
suspended: Σε αναστολή
- title: Μεσολάβηση
- moderation_notes: Σημειώσεις μεσολάβησης
+ title: Συντονισμός
+ moderation_notes: Σημειώσεις συντονισμού
most_recent_activity: Πιο πρόσφατη δραστηριότητα
most_recent_ip: Πιο πρόσφατη IP
no_account_selected: Κανείς λογαριασμός δεν ενημερώθηκε αφού κανείς δεν ήταν επιλεγμένος
@@ -229,7 +229,7 @@ el:
update_status: Ενημέρωση Κατάστασης
update_user_role: Ενημέρωση ρόλου
actions:
- approve_appeal_html: Ο/Η %{name} ενέκρινε την ένσταση της απόφασης των διαχειριστών από %{target}
+ approve_appeal_html: Ο/Η %{name} ενέκρινε την ένσταση της απόφασης των συντονιστών από %{target}
approve_user_html: "%{name} εγκρίθηκε εγγραφή από %{target}"
assigned_to_self_report_html: Ο/Η %{name} ανάθεσε την καταγγελία %{target} στον εαυτό του/της
change_email_user_html: Ο/Η %{name} άλλαξε τη διεύθυνση email του χρήστη %{target}
@@ -266,7 +266,7 @@ el:
enable_user_html: Ο/Η %{name} ενεργοποίησε τη σύνδεση για τον χρήστη %{target}
memorialize_account_html: O/H %{name} μετέτρεψε τον λογαριασμό του %{target} σε σελίδα μνήμης
promote_user_html: Ο/Η %{name} προβίβασε το χρήστη %{target}
- reject_appeal_html: Ο/Η %{name} απέρριψε την ένσταση της απόφασης των διαχειριστών από %{target}
+ reject_appeal_html: Ο/Η %{name} απέρριψε την ένσταση της απόφασης των συντονιστών από %{target}
reject_user_html: "%{name} απορρίφθηκε εγγραφή από %{target}"
remove_avatar_user_html: Ο/Η %{name} αφαίρεσε το αβατάρ του/της %{target}
reopen_report_html: Ο/Η %{name} ξανάνοιξε την αναφορά %{target}
@@ -278,6 +278,15 @@ el:
suspend_account_html: Ο/Η %{name} ανέστειλε τον λογαριασμό του/της %{target}
unassigned_report_html: Ο/Η %{name} αποδέσμευσε την αναφορά %{target}
unblock_email_account_html: "%{name} ξεμπλόκαρε τη διεύθυνση ηλεκτρονικού ταχυδρομείου του %{target}"
+ unsensitive_account_html: Ο/Η %{name} επισήμανε τα πολυμέσα του/της %{target} ως ευαίσθητα
+ unsilence_account_html: Ο/Η %{name} αφαίρεσε το όριο του λογαριασμού του/της %{target}
+ unsuspend_account_html: Ο/Η %{name} επανέφερε τον λογαριασμό του/της %{target}
+ update_announcement_html: Ο/Η %{name} ενημέρωση την ανακοίνωση %{target}
+ update_custom_emoji_html: Ο/Η %{name} ενημέρωσε το emoji %{target}
+ update_domain_block_html: Ο/Η %{name} ενημέρωσε τον αποκλεισμό τομέα για %{target}
+ update_ip_block_html: Ο/Η %{name} άλλαξε τον κανόνα για την IP %{target}
+ update_status_html: Ο/Η %{name} ενημέρωσε την ανάρτηση του/της %{target}
+ update_user_role_html: Ο/Η %{name} άλλαξε τον ρόλο %{target}
deleted_account: διαγραμμένος λογαριασμός
empty: Δεν βρέθηκαν αρχεία καταγραφής.
filter_by_action: Φιλτράρισμα ανά ενέργεια
@@ -322,6 +331,7 @@ el:
listed: Αναφερθέντα
new:
title: Προσθήκη νέου προσαρμοσμένου emoji
+ no_emoji_selected: Δεν άλλαξαν τα emoji καθώς δεν επιλέχθηκε κανένα
not_permitted: Δεν επιτρέπεται να κάνετε αυτή την λειτουργία
overwrite: Αντικατάσταση
shortcode: Σύντομος κωδικός
@@ -335,12 +345,30 @@ el:
upload: Ανέβασμα
dashboard:
active_users: ενεργοί χρήστες
+ interactions: αλληλεπιδράσεις
+ media_storage: Αποθηκευτικός Χώρος
new_users: νέοι χρήστες
+ opened_reports: αναφορές που ανοίχτηκαν
+ pending_reports_html:
+ one: "%{count} εκκρεμής αναφορά"
+ other: "%{count} εκκρεμείς αναφορές"
+ pending_tags_html:
+ one: "%{count} εκκρεμής ετικέτα"
+ other: "%{count} εκκρεμείς ετικέτες"
+ pending_users_html:
+ one: "%{count} χρήστης σε εκκρεμότητα"
+ other: "%{count} χρήστες σε εκκρεμότητα"
+ resolved_reports: επιλυμμένες αναφορές
software: Λογισμικό
+ sources: Πηγές εγγραφής
space: Κατανάλωση χώρου
title: Ταμπλό
+ top_languages: Κορυφαίες ενεργές γλώσσες
+ top_servers: Κορυφαίοι ενεργοί διακομιστές
+ website: Ιστοσελίδα
disputes:
appeals:
+ empty: Καμία ένσταση.
title: Εφέσεις
domain_allows:
add_new: Έγκριση τομέα
@@ -361,14 +389,19 @@ el:
import: Εισαγωγή
new:
create: Δημιουργία αποκλεισμού
- hint: Ο αποκλεισμός τομέα δεν θα αποτρέψει νέες καταχωρίσεις λογαριασμών στην βάση δεδομένων, αλλά θα εφαρμόσει αναδρομικά και αυτόματα συγκεκριμένες πολιτικές μεσολάβησης σε αυτούς τους λογαριασμούς.
+ hint: Ο αποκλεισμός τομέα δεν θα αποτρέψει νέες καταχωρίσεις λογαριασμών στην βάση δεδομένων, αλλά θα εφαρμόσει αναδρομικά και αυτόματα συγκεκριμένες πολιτικές συντονισμού σε αυτούς τους λογαριασμούς.
severity:
+ desc_html: Ο περιορισμός θα κάνει αόρατες τις δημοσιεύσεις ενός λογαριασμού σε όσους δεν τον ακολουθούν. Η αναστολή θα αφαιρέσει όλο το περιεχόμενο, τα πολυμέσα και τα στοιχεία προφίλ ενός λογαριασμού. Χρησιμοποίησε το κανένα αν θέλεις απλά να απορρίψεις τα αρχεία πολυμέσων.
noop: Κανένα
silence: Περιορισμός
suspend: Αναστολή
title: Αποκλεισμός νέου τομέα
+ no_domain_block_selected: Δεν άλλαξαν οι αποκλεισμοί τομέα καθώς δεν επιλέχθηκε κανένας
+ not_permitted: Δεν επιτρπέπεται να εκτελέσετε αυτήν την ενέργεια
+ obfuscate: Θόλωμα ονόματος τομέα
+ obfuscate_hint: Μερικό θόλωμα του ονόματος τομέα στη λίστα, εάν η ανακοίνωση της λίστας των περιορισμών τομέα είναι ενεργή
private_comment: Ιδιωτικό σχόλιο
- private_comment_hint: Σχόλιο για τον περιορισμό αυτού του τομέα για εσωτερική χρήση από τους διαχειριστές.
+ private_comment_hint: Σχόλιο για τον περιορισμό αυτού του τομέα για εσωτερική χρήση από τους συντονιστές.
public_comment: Δημόσιο σχόλιο
public_comment_hint: Σχόλιο σχετικά με τον περιορισμό αυτού του τομέα προς το κοινό, αν η λειτουργία δημοσιοποίησης των περιορισμένων τομέων είναι ενεργοποιημένη.
reject_media: Απόρριψη πολυμέσων
@@ -390,39 +423,104 @@ el:
domain: Τομέας
new:
create: Πρόσθεση τομέα
+ resolve: Επίλυση τομέα
title: Νέα εγγραφή email στη μαύρη λίστα
+ no_email_domain_block_selected: Δεν άλλαξαν οι αποκλεισμοί τομέα καθώς δεν επιλέχθηκε κανένας
not_permitted: Δεν επιτρέπεται
+ resolved_dns_records_hint_html: Το όνομα τομέα επιλύεται στους ακόλουθους τομείς MX, οι οποίοι είναι τελικά υπεύθυνοι για την αποδοχή των e-mail. Αποκλείοντας έναν τομέα MX θα μπλοκάρει τις εγγραφές από οποιαδήποτε διεύθυνση email που χρησιμοποιεί τον ίδιο τομέα MX, ακόμη και αν το ορατό όνομα τομέα είναι διαφορετικό. Προσέξτε να μην αποκλείσετε τους μεγάλους παρόχους ηλεκτρονικού ταχυδρομείου.
+ resolved_through_html: Επιλύθηκε μέσω %{domain}
title: Μαύρη λίστα email
export_domain_allows:
+ new:
+ title: Εισαγωγή επιτρεπόμενων τομέων
no_file: Δεν επιλέχθηκε αρχείο
export_domain_blocks:
+ import:
+ description_html: Πρόκειται να εισαγάγετε μια λίστα με αποκλεισμένους τομείς. Παρακαλώ ελέγξτε τη λίστα πολύ προσεκτικά, ειδικά αν δεν έχετε συντάξει τη λίστα μόνοι σας.
+ existing_relationships_warning: Υπάρχουσες σχέσεις ακολούθησης
+ private_comment_description_html: 'Για να σας βοηθήσουμε να παρακολουθείτε από πού προέρχονται οι εισαγόμενοι αποκλεισμοί, οι εισαγόμενοι αποκλεισμοί θα δημιουργηθούν με το ακόλουθο ιδιωτικό σχόλιο: %{comment}
'
+ private_comment_template: Εισήχθη από %{source} στις %{date}
+ title: Εισαγωγή αποκλεισμένων τομέων
+ invalid_domain_block: 'Ένας ή περισσότεροι αποκλεισμοί τομέα παραλείφθηκαν λόγω των ακόλουθων σφαλμάτων: %{error}'
+ new:
+ title: Εισαγωγή αποκλεισμένων τομέων
no_file: Δεν επιλέχθηκε αρχείο
follow_recommendations:
+ description_html: "Ακολουθώντας συστάσεις βοηθάει τους νέους χρήστες να βρουν γρήγορα ενδιαφέρον περιεχόμενο. Όταν ένας χρήστης δεν έχει αλληλεπιδράσει με άλλους αρκετά για να διαμορφώσει εξατομικευμένες συστάσεις, συνιστώνται αυτοί οι λογαριασμοί. Υπολογίζονται εκ νέου σε καθημερινή βάση από ένα σύνολο λογαριασμών με τις υψηλότερες πρόσφατες αλληλεπιδράσεις και μεγαλύτερο αριθμό τοπικών ακόλουθων για μια δεδομένη γλώσσα."
language: Για τη γλώσσα
status: Κατάσταση
+ suppress: Καταστολή της πρότασης ακολούθησης
+ suppressed: Κατασταλμένο
+ title: Ακολουθήστε τις προτάσεις
+ unsuppress: Επαναφορά των συστάσεων ακολούθησης
instances:
+ availability:
+ description_html:
+ one: Εάν η παράδοση στον τομέα αποτύχει για %{count} ημέρα, δεν θα γίνουν περαιτέρω προσπάθειες παράδοσης εκτός αν μια παράδοση από τον τομέα παραληφθεί.
+ other: Εάν η παράδοση στον τομέα αποτύχει για %{count} διαφορετικές ημέρες, δεν θα γίνουν περαιτέρω προσπάθειες παράδοσης εκτός αν μια παράδοση από τον τομέα παραληφθεί.
+ failure_threshold_reached: Το όριο αποτυχίας έφτασε στο %{date}.
+ failures_recorded:
+ one: Αποτυχία προσπάθειας την %{count} ημέρα.
+ other: Αποτυχημένες προσπάθειες σε %{count} διαφορετικές ημέρες.
+ no_failures_recorded: Καμία καταγεγραμμένη αποτυχία.
+ title: Διαθεσιμότητα
+ warning: Η τελευταία προσπάθεια σύνδεσης σε αυτόν τον διακομιστή απέτυχε
+ back_to_all: Όλα
+ back_to_limited: Περιορισμένα
+ back_to_warning: Προσοχή
by_domain: Τομέας
confirm_purge: Είστε βέβαιοι ότι θέλετε να διαγράψετε μόνιμα τα δεδομένα από αυτόν τον τομέα;
+ content_policies:
+ comment: Εσωτερική σημείωση
+ description_html: Μπορείτε να ορίσετε τις πολιτικές περιεχομένου που θα εφαρμόζονται σε όλους τους λογαριασμούς από αυτόν τον τομέα και οποιονδήποτε από τους υποτομείς του.
+ limited_federation_mode_description_html: Μπορείτε να επιλέξετε αν θα επιτρέψετε την ομοσπονδία με αυτόν τον τομέα.
+ policies:
+ reject_media: Απόρριψη πολυμέσων
+ reject_reports: Απόρριψη αναφορών
+ silence: Περιορισμός
+ suspend: Αναστολή
+ policy: Πολιτική
+ reason: Δημόσιος λόγος
+ title: Πολιτικές περιεχομένου
dashboard:
+ instance_accounts_dimension: Λογαριασμοί με τους περισσότερους ακόλουθους
+ instance_accounts_measure: αποθηκευμένοι λογαριασμοί
+ instance_followers_measure: οι ακόλουθοί μας εκεί
+ instance_follows_measure: οι ακόλουθοί τους εδώ
instance_languages_dimension: Κορυφαίες γλώσσες
+ instance_media_attachments_measure: αποθηκευμένα συνημμένα πολυμέσων
+ instance_reports_measure: αναφορές γι' αυτές
+ instance_statuses_measure: αποθηκευμένες δημοσιεύσεις
delivery:
+ all: Όλες
+ clear: Εκκαθάριση σφαλμάτων παράδοσης
failing: Αποτυγχάνει
+ restart: Επανεκκίνηση παράδοσης
+ stop: Διακοπή παράδοσης
+ unavailable: Μη διαθέσιμο
delivery_available: Διαθέσιμη παράδοση
+ delivery_error_days: Ημέρες σφάλματος παράδοσης
+ delivery_error_hint: Εάν η παράδοση δεν είναι δυνατή για %{count} ημέρες, θα επισημανθεί αυτόματα ως μη παραδόσιμη.
destroyed_msg: Τα δεδομένα από το %{domain} βρίσκονται σε αναμονή για επικείμενη διαγραφή.
empty: Δεν βρέθηκαν τομείς.
+ known_accounts:
+ one: "%{count} γνωστός λογαριασμός"
+ other: "%{count} γνωστοί λογαριασμοί"
moderation:
all: Όλα
limited: Περιορισμένα
- title: Διαμεσολάβηση
+ title: Συντονισμός
private_comment: Ιδιωτικό σχόλιο
public_comment: Δημόσιο σχόλιο
purge: Εκκαθάριση
+ purge_description_html: Εάν πιστεύετε ότι αυτός ο τομέας είναι εκτός σύνδεσης για πάντα, μπορείτε να διαγράψετε όλες τις καταχωρήσεις λογαριασμών και τα σχετικά δεδομένα από αυτόν τον τομέα από τον αποθηκευτικό σας χώρο. Αυτό μπορεί να διαρκέσει λίγη ώρα.
title: Γνωστοί κόμβοι
total_blocked_by_us: Μπλοκάρονται από εμάς
total_followed_by_them: Ακολουθούνται από εκείνους
total_followed_by_us: Ακολουθούνται από εμάς
total_reported: Καταγγελίες προς εκείνους
total_storage: Συνημμένα πολυμέσα
+ totals_time_period_hint_html: Τα σύνολα που εμφανίζονται παρακάτω περιλαμβάνουν στοιχεία από την αρχή.
invites:
deactivate_all: Απενεργοποίηση όλων
filter:
@@ -444,6 +542,7 @@ el:
'94670856': 3 χρόνια
new:
title: Δημιουργία νέου κανόνα IP
+ no_ip_block_selected: Δεν άλλαξαν οι κανόνες IP καθώς κανένας δεν επιλέχθηκε
title: Κανόνες IP
relationships:
title: Σχέσεις %{acct}
@@ -474,7 +573,14 @@ el:
action_log: Αρχείο ελέγχου
action_taken_by: Ενέργεια από τον/την
actions:
+ delete_description_html: Οι δημοσιεύσεις με αναφορά θα διαγραφούν και θα καταγραφεί μια ποινή που θα σας βοηθήσει να αποφασίσετε σε μελλοντικές παραβάσεις από τον ίδιο λογαριασμό.
+ mark_as_sensitive_description_html: Τα πολυμέσα με αναφορά θα επισημανθούν ως ευαίσθητα και θα καταγραφεί μια ποινή που θα σας βοηθήσει να αποφασίσετε σε μελλοντικές παραβάσεις από τον ίδιο λογαριασμό.
other_description_html: Δείτε περισσότερες επιλογές για τον έλεγχο της συμπεριφοράς του λογαριασμού και προσαρμόσετε την επικοινωνία στον αναφερόμενο λογαριασμό.
+ resolve_description_html: Δεν θα ληφθούν μέτρα κατά του αναφερόμενου λογαριασμού, δεν θα καταγραφεί καμία ποινή, και η αναφορά θα κλείσει.
+ silence_description_html: Ο λογαριασμός θα είναι ορατός μόνο σε εκείνους που ήδη τον ακολουθούν ή τον αναζητούν χειροκίνητα, περιορίζοντας κατά πολύ την εμβέλειά του. Η ενέργεια αυτή είναι αναστρέψιμη. Κλείνει όλες τις αναφορές εναντίον αυτού του λογαριασμού.
+ suspend_description_html: Ο λογαριασμός και όλο το περιεχόμενό του θα είναι απρόσιτα και τελικά θα διαγραφούν και η αλληλεπίδραση με αυτόν θα είναι αδύνατη. Αναστρέψιμη εντός 30 ημερών. Κλείνει όλες τις αναφορές εναντίον αυτού του λογαριασμού.
+ actions_description_html: Αποφασίστε ποια μέτρα θα ληφθούν για την επίλυση αυτής της αναφοράς. Εάν προβείτε σε τιμωρητική ενέργεια κατά του αναφερόμενου λογαριασμού, θα αποσταλεί ειδοποίηση μέσω ηλεκτρονικού ταχυδρομείου σε αυτούς, εκτός όταν η κατηγορία Σπαμ είναι επιλεγμένη.
+ actions_description_remote_html: Αποφασίστε ποια μέτρα θα ληφθούν για την επίλυση αυτής της αναφοράς. Αυτό θα επηρεάσει μόνο το πώς ο δικός σας διακομιστής επικοινωνεί με αυτόν τον απομακρυσμένο λογαριασμό και χειρίζεται το περιεχόμενό του.
add_to_report: Προσθέστε περισσότερα στην αναφορά
are_you_sure: Σίγουρα;
assign_to_self: Ανάθεση σε μένα
@@ -482,9 +588,12 @@ el:
by_target_domain: Κόμβος του λογαριασμού υπό καταγγελία
cancel: Άκυρο
category: Κατηγορία
+ category_description_html: Ο λόγος για τον οποίο αναφέρθηκε αυτός ο λογαριασμός και/ή το περιεχόμενο θα εσωκλείεται σε επικοινωνία με τον αναφερόμενο λογαριασμό
comment:
none: Κανένα
+ comment_description_html: 'Για να δώσει περισσότερες πληροφορίες, ο/η %{name} έγραψε:'
confirm: Επιβεβαίωση
+ confirm_action: Επιβεβαίωση ενέργειαςδιαχείρισης ενάντια στον λογαριασμό @%{acct}
created_at: Καταγγέλθηκε
delete_and_resolve: Διαγραφή δημοσιεύσεων
forwarded: Προωθημένα
@@ -500,6 +609,8 @@ el:
delete: Διαγραφή
placeholder: Περιέγραψε τις ενέργειες που έγιναν, ή οποιαδήποτε άλλη ενημέρωση...
title: Σημειώσεις
+ notes_description_html: Δείτε και αφήστε σημειώσεις σε άλλους διαχειριστές και τον μελλοντικό εαυτό σας
+ processed_msg: 'Η αναφορά #%{id} διεκπεραιώθηκε με επιτυχία'
quick_actions_description_html: 'Κάντε μια γρήγορη ενέργεια ή μετακινηθείτε προς τα κάτω για να δείτε το αναφερόμενο περιεχόμενο:'
remote_user_placeholder: ο απομακρυσμένος χρήστης από %{instance}
reopen: Ξανάνοιξε την καταγγελία
@@ -511,8 +622,29 @@ el:
skip_to_actions: Μετάβαση στις ενέργειες
status: Κατάσταση
statuses: Αναφερόμενο περιεχόμενο
+ statuses_description_html: Το προσβλητικό θα εσωκλείεται στην επικοινωνία με τον αναφερόμενο λογαριασμό
+ summary:
+ action_preambles:
+ delete_html: 'Πρόκειται να αφαιρέσετε μερικές από τις δημοσιεύσεις του @%{acct}. Αυτό θα:'
+ mark_as_sensitive_html: 'Πρόκειται να επισημάνετε μερικές από τις δημοσιεύσεις του @%{acct} ως ευαίσθητες. Αυτό θα:'
+ silence_html: 'Πρόκειται να περιορίσετε τον λογαριασμό @%{acct}. Αυτό θα:'
+ suspend_html: 'Πρόκειται να αναστείλετε τον λογαριασμό @%{acct}. Αυτό θα:'
+ actions:
+ delete_html: Αφαιρέστε τις προσβλητικές δημοσιεύσεις
+ mark_as_sensitive_html: Σημειώστε τα πολυμέσα των προσβλητικών αναρτήσεων ως ευαίσθητα
+ silence_html: Περιορίστε σοβαρά την εμβέλεια του @%{acct} κάνοντας το προφίλ και το περιεχόμενό του ορατά μόνο σε άτομα που ήδη τον ακολουθούν ή που αναζητούν χειροκίνητα το προφίλ του
+ suspend_html: Αναστολή του @%{acct}, καθιστώντας το προφίλ και το περιεχόμενό του μη προσβάσιμα και αδύνατο να αλληλεπιδράσει κανείς με αυτά
+ close_report: 'Επισήμανση αναφοράς #%{id} ως επιλυμένη'
+ close_reports_html: Επισημάνετε όλες τις αναφορές ενάντια στον λογαριασμό @%{acct} ως επιλυμένες
+ delete_data_html: Διαγράψτε το προφίλ και το περιεχόμενο του @%{acct} σε 30 ημέρες από τώρα εκτός και αν ανακληθεί η αναστολή εν τω μεταξύ
+ preview_preamble_html: 'Ο @%{acct} θα λάβει μια προειδοποίηση με τα ακόλουθο περιεχόμενο:'
+ record_strike_html: Καταγράψτε μια ποινή εναντίον του @%{acct} για να σας βοηθήσει να αποφασίσετε σε μελλοντικές παραβιάσεις από αυτόν τον λογαριασμό
+ send_email_html: Στείλτε στον @%{acct} ένα προειδοποιητικό e-mail
+ warning_placeholder: Προαιρετικές επιπλέον εξηγήσεις για αυτή την ενέργεια από τη διαχείριση.
+ target_origin: Προέλευση του αναφερόμενου λογαριασμού
title: Αναφορές
unassign: Αποσύνδεση
+ unknown_action_msg: 'Άγνωστη ενέργεια: %{action}'
unresolved: Άλυτη
updated_at: Ενημερωμένη
view_profile: Προβολή προφίλ
@@ -525,20 +657,57 @@ el:
administration: Διαχείριση
devops: Devops
invites: Προσκλήσεις
+ moderation: Συντονισμός
+ special: Ειδικός
delete: Διαγραφή
+ description_html: Με τους ρόλους χρηστών, μπορείτε να προσαρμόσετε σε ποιες λειτουργίες και περιοχές του Mastodon, οι χρήστες σας μπορούν να έχουν πρόσβαση.
edit: Επεξεργασία ρόλου '%{name}'
everyone: Προεπιλεγμένα δικαιώματα
+ everyone_full_description_html: Αυτός είναι ο βασικός ρόλος που επηρεάζει όλους τους χρήστες, ακόμη και εκείνους που δεν έχουν κάποιον ρόλο. Όλοι οι άλλοι ρόλοι κληρονομούν δικαιώματα από αυτόν.
permissions_count:
one: "%{count} δικαίωμα"
other: "%{count} δικαιώματα"
privileges:
administrator: Διαχειριστής
+ administrator_description: Οι χρήστες με αυτό το δικαίωμα θα παρακάμπτουν κάθε δικαίωμα
+ delete_user_data: Διαγραφή Δεδομένων Χρήστη
+ delete_user_data_description: Επιτρέπει στους χρήστες να διαγράφουν τα δεδομένα άλλων χρηστών χωρίς καθυστέρηση
invite_users: Πρόσκληση χρηστών
+ invite_users_description: Επιτρέπει στους χρήστες να προσκαλούν νέα άτομα στον διακομιστή
manage_announcements: Διαχείριση ανακοινώσεων
+ manage_announcements_description: Επιτρέπει στους χρήστες να διαχειρίζονται ανακοινώσεις στον διακομιστή
+ manage_appeals: Διαχείριση Εφέσεων
+ manage_appeals_description: Επιτρέπει στους χρήστες να εξετάζουν τις εφέσεις κατά των ενεργειών της συντονισμού
+ manage_blocks: Διαχείριση Αποκλεισμών
+ manage_blocks_description: Επιτρέπει στους χρήστες να αποκλείουν παρόχους e-mail και διευθύνσεις IP
+ manage_custom_emojis: Διαχείριση Προσαρμοσμένων Emojis
+ manage_custom_emojis_description: Επιτρέπει στους χρήστες να διαχειρίζονται προσαρμοσμένα emojis στον διακομιστή
+ manage_federation: Διαχείριση Ομοσπονδίας
+ manage_federation_description: Επιτρέπει στους χρήστες να αποκλείουν ή να επιτρέπουν την ομοσπονδία με άλλους τομείς και να ελέγχουν την παράδοση
+ manage_invites: Διαχείριση Προσκλήσεων
+ manage_invites_description: Επιτρέπει στους χρήστες να περιηγούνται και να απενεργοποιούν τους συνδέσμους πρόσκλησης
+ manage_reports: Διαχείριση Αναφορών
+ manage_reports_description: Επιτρέπει στους χρήστες να εξετάζουν τις αναφορές και να εκτελούν ενέργειες συντονισμού εναντίον τους
manage_roles: Διαχείριση ρόλων
+ manage_roles_description: Επιτρέπει στους χρήστες να διαχειρίζονται και να αναθέτουν ρόλους κατώτερων των δικών τους
+ manage_rules: Διαχείριση Κανόνων
+ manage_rules_description: Επιτρέπει στους χρήστες να αλλάξουν τους κανόνες του διακομιστή
manage_settings: Διαχείριση ρυθμίσεων
+ manage_settings_description: Επιτρέπει στους χρήστες να αλλάξουν τις ρυθμίσεις του ιστοτόπου
+ manage_taxonomies: Διαχείριση Ταξινομιών
+ manage_taxonomies_description: Επιτρέπει στους χρήστες να εξετάζουν το δημοφιλές περιεχόμενο και να ενημερώνουν τις ρυθμίσεις ετικέτας
+ manage_user_access: Διαχείριση Πρόσβασης Χρήστη
+ manage_user_access_description: Επιτρέπει στους χρήστες να απενεργοποιούν την ταυτοποίηση δύο παραγόντων άλλων χρηστών, να αλλάξουν τη διεύθυνση ηλεκτρονικού ταχυδρομείου τους και να επαναφέρουν τον κωδικό πρόσβασής τους
manage_users: Διαχείριση χρηστών
+ manage_users_description: Επιτρέπει στους χρήστες να βλέπουν τις λεπτομέρειες άλλων χρηστών και να εκτελούν ενέργειες συντονισμού εναντίον τους
+ manage_webhooks: Διαχείριση Webhooks
+ manage_webhooks_description: Επιτρέπει στους χρήστες να ορίζουν webhooks για συμβάντα διαχείρισης
+ view_audit_log: Προβολή Καταλόγου Καταγραφών
+ view_audit_log_description: Επιτρέπει στους χρήστες να βλέπουν ένα ιστορικό ενεργειών διαχείρισης στον διακομιστή
+ view_dashboard: Προβολή Ταμπλό πληροφοριών
+ view_dashboard_description: Επιτρέπει στους χρήστες να έχουν πρόσβαση στον ταμπλό πληροφοριών και σε διάφορες μετρήσεις
view_devops: DevOps
+ view_devops_description: Επιτρέπει στους χρήστες να έχουν πρόσβαση στα ταμπλό πληροφοριών Sidekiq και pgHero
title: Ρόλοι
rules:
add_new: Προσθήκη κανόνα
@@ -550,23 +719,36 @@ el:
settings:
about:
manage_rules: Διαχείριση κανόνων διακομιστή
+ preamble: Παρέχετε αναλυτικές πληροφορίες σχετικά με τη λειτουργία του διακομιστή, τον συντονισμό και τη χρηματοδότηση.
+ rules_hint: Υπάρχει μια ειδική περιοχή για τους κανόνες που αναμένεται να τηρούν οι χρήστες σας.
title: Σχετικά με
appearance:
+ preamble: Προσαρμόστε τη διεπαφή ιστού του Mastodon.
title: Εμφάνιση
+ branding:
+ preamble: Η ταυτότητα του διακομιστή σας, τον διαφοροποιεί από άλλους διακομιστές του δικτύου. Αυτές οι πληροφορίες μπορεί να εμφανίζονται σε διάφορα περιβάλλοντα, όπως η διαδικτυακή διεπαφή του Mastodon, εγγενείς εφαρμογές, σε προεπισκοπήσεις συνδέσμου σε άλλους ιστότοπους και εντός εφαρμογών μηνυμάτων και ούτω καθεξής. Γι' αυτό, είναι καλύτερο να διατηρούνται αυτές οι πληροφορίες σαφείς, σύντομες και συνοπτικές.
+ title: Ταυτότητα
content_retention:
+ preamble: Ελέγξτε πώς αποθηκεύεται το περιεχόμενο που δημιουργείται από τους χρήστες στο Mastodon.
title: Διατήρηση περιεχομένου
default_noindex:
desc_html: Επηρεάζει όσους χρήστες δεν έχουν αλλάξει αυτή τη ρύθμιση οι ίδιοι
title: Εξαίρεση χρηστών από τις μηχανές αναζήτησης
discovery:
+ follow_recommendations: Ακολουθήστε τις προτάσεις
+ preamble: Δημοσιεύοντας ενδιαφέρον περιεχόμενο είναι καθοριστικό για την ενσωμάτωση νέων χρηστών που μπορεί να μη γνωρίζουν κανέναν στο Mastodon. Ελέγξτε πώς λειτουργούν διάφορες δυνατότητες ανακάλυψης στον διακομιστή σας.
profile_directory: Κατάλογος προφίλ
public_timelines: Δημόσιες ροές
+ publish_discovered_servers: Δημοσίευση διακομιστών που έχουν ανακαλυφθεί
+ publish_statistics: Δημοσίευση στατιστικών
+ title: Ανακάλυψη
trends: Τάσεις
domain_blocks:
all: Για όλους
disabled: Για κανέναν
users: Προς συνδεδεμένους τοπικούς χρήστες
registrations:
+ preamble: Ελέγξτε ποιος μπορεί να δημιουργήσει ένα λογαριασμό στον διακομιστή σας.
title: Εγγραφές
registrations_mode:
modes:
@@ -581,6 +763,7 @@ el:
account: Συντάκτης
application: Εφαρμογή
back_to_account: Επιστροφή στη σελίδα λογαριασμού
+ back_to_report: Πίσω στη σελίδα αναφοράς
batch:
remove_from_report: Αφαίρεση από την αναφορά
report: Αναφορά
@@ -594,6 +777,7 @@ el:
metadata: Μεταδεδομένα
no_status_selected: Καμία δημοσίευση δεν άλλαξε αφού καμία δεν ήταν επιλεγμένη
open: Άνοιγμα δημοσίευσης
+ original_status: Αρχική δημοσίευση
reblogs: Αναδημοσιεύσεις
status_changed: Η ανάρτηση άλλαξε
title: Καταστάσεις λογαριασμού
@@ -601,10 +785,25 @@ el:
visibility: Ορατότητα
with_media: Με πολυμέσα
strikes:
+ actions:
+ delete_statuses: Ο/Η %{name} διέγραψε τις δημοσιεύσεις του/της %{target}
+ disable: Ο/Η %{name} πάγωσε τον λογαριασμό του/της %{target}
+ mark_statuses_as_sensitive: Ο/Η %{name} επισήμανε τα πολυμέσα του/της %{target} ως ευαίσθητα
+ none: Ο/Η %{name} έστειλε προειδοποίηση προς τον/την %{target}
+ sensitive: Ο/Η %{name} επισήμανε τα πολυμέσα του λογαριασμού %{target} ως ευαίσθητα
+ silence: Ο/Η %{name} περιόρισε τον λογαριασμό %{target}
+ suspend: ο/η %{name} ανέστειλε τον λογαριασμό %{target}
+ appeal_approved: Έγινε έφεση
+ appeal_pending: Έφεση σε εκκρεμότητα
appeal_rejected: Η αίτηση απορρίφθηκε
system_checks:
database_schema_check:
message_html: Υπάρχουν μετακινήσεις βάσης δεδομένων που εκκρεμούν. Παρακαλώ εκτελέστε τις για να βεβαιωθείτε ότι η εφαρμογή συμπεριφέρεται όπως αναμένεται
+ elasticsearch_running_check:
+ message_html: Δεν ήταν δυνατή η σύνδεση στο Elasticsearch. Παρακαλώ ελέγξτε ότι εκτελείται ή απενεργοποιήστε την αναζήτηση πλήρους κειμένου
+ elasticsearch_version_check:
+ message_html: 'Μη συμβατή έκδοση Elasticsearch: %{value}'
+ version_comparison: Η έκδοση Elasticsearch %{running_version} εκτελείται ενώ η %{required_version} απαιτείται
rules_check:
action: Διαχείριση κανόνων διακομιστή
message_html: Δεν έχετε ορίσει κανέναν κανόνα διακομιστή.
@@ -844,8 +1043,6 @@ el:
new:
save: Αποθήκευση νέου φίλτρου
title: Πρόσθεσε νέο φίλτρο
- footer:
- trending_now: Τάσεις
generic:
all: Όλα
changes_saved_msg: Οι αλλαγές αποθηκεύτηκαν!
@@ -1021,6 +1218,7 @@ el:
relationships:
activity: Δραστηριότητα λογαριασμού
dormant: Αδρανείς
+ follow_failure: Δεν ήταν δυνατή η παρακολούθηση ορισμένων από τους επιλεγμένους λογαριασμούς.
followers: Σε ακολουθούν
following: Ακολουθείς
invited: Προσκεκλημένοι
@@ -1054,6 +1252,7 @@ el:
edge: Microsoft Edge
firefox: Firefox
generic: Άγνωστος φυλλομετρητής
+ huawei_browser: Huawei Browser
ie: Internet Explorer
opera: Opera
otter: Otter
@@ -1061,6 +1260,7 @@ el:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Άγνωστος φυλλομετρητής
current_session: Τρέχουσα σύνδεση
description: "%{browser} σε %{platform}"
explanation: Αυτοί είναι οι φυλλομετρητές (browsers) που είναι συνδεδεμένοι στον λογαριασμό σου στο Mastodon αυτή τη στιγμή.
@@ -1070,9 +1270,10 @@ el:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: Mac
- other: άγνωστη πλατφόρμα
+ unknown_platform: Άγνωστη Πλατφόρμα
revoke: Ανακάλεσε
revoke_success: Η σύνδεση ανακλήθηκε επιτυχώς
title: Σύνδεση
diff --git a/config/locales/en-GB.yml b/config/locales/en-GB.yml
index 9b4f28c5d6..8e2e453506 100644
--- a/config/locales/en-GB.yml
+++ b/config/locales/en-GB.yml
@@ -366,6 +366,115 @@ en-GB:
sources: Sign-up sources
space: Space usage
title: Dashboard
+ top_languages: Top active languages
+ top_servers: Top active servers
+ website: Website
+ disputes:
+ appeals:
+ empty: No appeals found.
+ title: Appeals
+ domain_allows:
+ add_new: Allow federation with domain
+ created_msg: Domain has been successfully allowed for federation
+ destroyed_msg: Domain has been disallowed from federation
+ export: Export
+ import: Import
+ undo: Disallow federation with domain
+ domain_blocks:
+ add_new: Add new domain block
+ created_msg: Domain block is now being processed
+ destroyed_msg: Domain block has been undone
+ domain: Domain
+ edit: Edit domain block
+ existing_domain_block: You have already imposed stricter limits on %{name}.
+ existing_domain_block_html: You have already imposed stricter limits on %{name}, you need to unblock it first.
+ export: Export
+ import: Import
+ new:
+ create: Create block
+ hint: The domain block will not prevent creation of account entries in the database, but will retroactively and automatically apply specific moderation methods on those accounts.
+ severity:
+ desc_html: "Limit will make posts from accounts at this domain invisible to anyone who isn't following them. Suspend will remove all content, media, and profile data for this domain's accounts from your server. Use None if you just want to reject media files."
+ noop: None
+ silence: Limit
+ suspend: Suspend
+ title: New domain block
+ no_domain_block_selected: No domain blocks were changed as none were selected
+ not_permitted: You are not permitted to perform this action
+ obfuscate: Obfuscate domain name
+ obfuscate_hint: Partially obfuscate the domain name in the list if advertising the list of domain limitations is enabled
+ private_comment: Private comment
+ private_comment_hint: Comment about this domain limitation for internal use by the moderators.
+ public_comment: Public comment
+ public_comment_hint: Comment about this domain limitation for the general public, if advertising the list of domain limitations is enabled.
+ reject_media: Reject media files
+ reject_media_hint: Removes locally stored media files and refuses to download any in the future. Irrelevant for suspensions
+ reject_reports: Reject reports
+ reject_reports_hint: Ignore all reports coming from this domain. Irrelevant for suspensions
+ undo: Undo domain block
+ view: View domain block
+ email_domain_blocks:
+ add_new: Add new
+ attempts_over_week:
+ one: "%{count} attempt over the last week"
+ other: "%{count} sign-up attempts over the last week"
+ created_msg: Successfully blocked e-mail domain
+ delete: Delete
+ dns:
+ types:
+ mx: MX record
+ domain: Domain
+ new:
+ create: Add domain
+ resolve: Resolve domain
+ title: Block new e-mail domain
+ no_email_domain_block_selected: No e-mail domain blocks were changed as none were selected
+ not_permitted: Not permitted
+ resolved_dns_records_hint_html: The domain name resolves to the following MX domains, which are ultimately responsible for accepting e-mail. Blocking an MX domain will block sign-ups from any e-mail address which uses the same MX domain, even if the visible domain name is different. Be careful not to block major e-mail providers.
+ resolved_through_html: Resolved through %{domain}
+ title: Blocked e-mail domains
+ export_domain_allows:
+ new:
+ title: Import domain allows
+ no_file: No file selected
+ export_domain_blocks:
+ import:
+ description_html: You are about to import a list of domain blocks. Please review this list very carefully, especially if you have not authored this list yourself.
+ existing_relationships_warning: Existing follow relationships
+ private_comment_description_html: 'To help you track where imported blocks come from, imported blocks will be created with the following private comment: %{comment}
'
+ private_comment_template: Imported from %{source} on %{date}
+ title: Import domain blocks
+ invalid_domain_block: 'One or more domain blocks were skipped because of the following error(s): %{error}'
+ new:
+ title: Import domain blocks
+ no_file: No file selected
+ follow_recommendations:
+ description_html: "Follow recommendations help new users quickly find interesting content. When a user has not interacted with others enough to form personalised follow recommendations, these accounts are recommended instead. They are re-calculated on a daily basis from a mix of accounts with the highest recent engagements and highest local follower counts for a given language."
+ language: For language
+ status: Status
+ suppress: Suppress follow recommendation
+ suppressed: Suppressed
+ title: Follow recommendations
+ unsuppress: Restore follow recommendation
+ instances:
+ availability:
+ description_html:
+ one: If delivering to the domain fails %{count} day without succeeding, no further delivery attempts will be made unless a delivery from the domain is received.
+ other: If delivering to the domain fails on %{count} different days without succeeding, no further delivery attempts will be made unless a delivery from the domain is received.
+ failure_threshold_reached: Failure threshold reached on %{date}.
+ failures_recorded:
+ one: Failed attempt on %{count} day.
+ other: Failed attempts on %{count} different days.
+ no_failures_recorded: No failures on record.
+ title: Availability
+ warning: The last attempt to connect to this server has been unsuccessful
+ back_to_all: All
+ back_to_limited: Limited
+ back_to_warning: Warning
+ by_domain: Domain
+ confirm_purge: Are you sure you want to permanently delete data from this domain?
+ content_policies:
+ comment: Internal note
roles:
categories:
devops: DevOps
@@ -379,14 +488,253 @@ en-GB:
'410': The page you were looking for doesn't exist here anymore.
'429': Too many requests
'503': The page could not be served due to a temporary server failure.
+ generic:
+ copy: Copy
+ delete: Delete
+ deselect: Deselect all
+ none: None
+ order_by: Order by
+ save_changes: Save changes
+ select_all_matching_items:
+ one: Select %{count} item matching your search.
+ other: Select all %{count} items matching your search.
+ today: today
+ validation_errors:
+ one: Something isn't quite right yet! Please review the error below
+ other: Something isn't quite right yet! Please review %{count} errors below
+ imports:
+ errors:
+ invalid_csv_file: 'Invalid CSV file. Error: %{error}'
+ over_rows_processing_limit: contains more than %{count} rows
+ modes:
+ merge: Merge
+ merge_long: Keep existing records and add new ones
+ overwrite: Overwrite
+ overwrite_long: Replace current records with the new ones
+ preface: You can import data that you have exported from another server, such as a list of the people you are following or blocking.
+ success: Your data was successfully uploaded and will be processed in due time
+ types:
+ blocking: Blocking list
+ bookmarks: Bookmarks
+ domain_blocking: Domain blocking list
+ following: Following list
+ muting: Muting list
+ upload: Upload
+ invites:
+ delete: Deactivate
+ expired: Expired
+ notification_mailer:
+ admin:
+ sign_up:
+ subject: "%{name} signed up"
+ favourite:
+ body: 'Your post was favourited by %{name}:'
+ subject: "%{name} favourited your post"
+ title: New favourite
+ follow:
+ body: "%{name} is now following you!"
+ subject: "%{name} is now following you"
+ title: New follower
+ follow_request:
+ action: Manage follow requests
+ body: "%{name} has requested to follow you"
+ subject: 'Pending follower: %{name}'
+ polls:
+ errors:
+ too_many_options: can't contain more than %{max} items
+ preferences:
+ other: Other
+ posting_defaults: Posting defaults
+ public_timelines: Public timelines
+ privacy_policy:
+ title: Privacy Policy
+ reactions:
+ errors:
+ limit_reached: Limit of different reactions reached
+ unrecognized_emoji: is not a recognised emoji
+ relationships:
+ activity: Account activity
+ confirm_follow_selected_followers: Are you sure you want to follow selected followers?
+ confirm_remove_selected_followers: Are you sure you want to remove selected followers?
+ confirm_remove_selected_follows: Are you sure you want to remove selected follows?
+ dormant: Dormant
+ follow_failure: Could not follow some of the selected accounts.
+ follow_selected_followers: Follow selected followers
+ followers: Followers
+ following: Following
+ invited: Invited
+ last_active: Last active
+ most_recent: Most recent
+ moved: Moved
+ mutual: Mutual
+ primary: Primary
+ relationship: Relationship
+ remove_selected_domains: Remove all followers from the selected domains
+ remove_selected_followers: Remove selected followers
+ remove_selected_follows: Unfollow selected users
+ status: Account status
+ remote_follow:
+ missing_resource: Could not find the required redirect URL for your account
+ reports:
+ errors:
+ invalid_rules: does not reference valid rules
+ rss:
+ content_warning: 'Content warning:'
+ descriptions:
+ account: Public posts from @%{acct}
+ tag: 'Public posts tagged #%{hashtag}'
+ scheduled_statuses:
+ over_daily_limit: You have exceeded the limit of %{limit} scheduled posts for today
+ over_total_limit: You have exceeded the limit of %{limit} scheduled posts
+ too_soon: The scheduled date must be in the future
sessions:
+ activity: Last activity
+ browser: Browser
browsers:
+ alipay: Alipay
blackberry: BlackBerry
+ chrome: Chrome
+ edge: Microsoft Edge
+ electron: Electron
+ firefox: Firefox
+ generic: Unknown browser
+ huawei_browser: Huawei Browser
+ ie: Internet Explorer
+ micro_messenger: MicroMessenger
+ nokia: Nokia S40 Ovi Browser
+ opera: Opera
+ otter: Otter
+ phantom_js: PhantomJS
+ qq: QQ Browser
+ safari: Safari
uc_browser: UC Browser
+ unknown_browser: Unknown Browser
+ weibo: Weibo
+ current_session: Current session
+ description: "%{browser} on %{platform}"
+ explanation: These are the web browsers currently logged in to your Mastodon account.
+ ip: IP
platforms:
+ adobe_air: Adobe Air
+ android: Android
blackberry: BlackBerry
chrome_os: ChromeOS
+ firefox_os: Firefox OS
+ ios: iOS
+ kai_os: KaiOS
+ linux: Linux
+ mac: macOS
+ unknown_platform: Unknown Platform
+ windows: Windows
+ windows_mobile: Windows Mobile
+ windows_phone: Windows Phone
+ revoke: Revoke
+ revoke_success: Session successfully revoked
+ title: Sessions
+ view_authentication_history: View authentication history of your account
+ settings:
+ account: Account
+ account_settings: Account settings
+ aliases: Account aliases
+ appearance: Appearance
+ authorized_apps: Authorised apps
+ back: Back to Mastodon
+ delete: Account deletion
+ development: Development
+ edit_profile: Edit profile
+ export: Data export
+ featured_tags: Featured hashtags
+ import: Import
+ import_and_export: Import and export
+ migrate: Account migration
+ notifications: Notifications
+ preferences: Preferences
+ profile: Profile
+ relationships: Follows and followers
+ statuses_cleanup: Automated post deletion
+ strikes: Moderation strikes
+ two_factor_authentication: Two-factor Auth
+ webauthn_authentication: Security keys
+ statuses:
+ attached:
+ audio:
+ one: "%{count} audio"
+ other: "%{count} audio"
+ description: 'Attached: %{attached}'
+ image:
+ one: "%{count} image"
+ other: "%{count} images"
+ video:
+ one: "%{count} video"
+ other: "%{count} videos"
+ boosted_from_html: Boosted from %{acct_link}
+ content_warning: 'Content warning: %{warning}'
+ default_language: Same as interface language
+ disallowed_hashtags:
+ one: 'contained a disallowed hashtag: %{tags}'
+ other: 'contained the disallowed hashtags: %{tags}'
+ edited_at_html: Edited %{date}
+ errors:
+ in_reply_not_found: The post you are trying to reply to does not appear to exist.
+ open_in_web: Open in web
+ over_character_limit: character limit of %{max} exceeded
+ pin_errors:
+ direct: Posts that are only visible to mentioned users cannot be pinned
+ limit: You have already pinned the maximum number of posts
+ ownership: Someone else's post cannot be pinned
+ reblog: A boost cannot be pinned
+ poll:
+ total_people:
+ one: "%{count} person"
+ other: "%{count} people"
+ total_votes:
+ one: "%{count} vote"
+ other: "%{count} votes"
+ vote: Vote
+ show_more: Show more
+ show_newer: Show newer
+ show_older: Show older
+ show_thread: Show thread
+ sign_in_to_participate: Sign in to participate in the conversation
+ title: '%{name}: "%{quote}"'
+ visibilities:
+ direct: Direct
+ private: Followers-only
+ private_long: Only show to followers
+ public: Public
+ public_long: Everyone can see
+ unlisted: Unlisted
+ unlisted_long: Everyone can see, but not listed on public timelines
statuses_cleanup:
+ enabled: Automatically delete old posts
+ enabled_hint: Automatically deletes your posts once they reach a specified age threshold, unless they match one of the exceptions below
+ exceptions: Exceptions
+ explanation: Because deleting posts is an expensive operation, this is done slowly over time when the server is not otherwise busy. For this reason, your posts may be deleted a while after they reach the age threshold.
+ ignore_favs: Ignore favourites
+ ignore_reblogs: Ignore boosts
+ interaction_exceptions: Exceptions based on interactions
+ interaction_exceptions_explanation: Note that there is no guarantee for posts to be deleted if they go below the favourite or boost threshold after having once gone over them.
+ keep_direct: Keep direct messages
+ keep_direct_hint: Doesn't delete any of your direct messages
+ keep_media: Keep posts with media attachments
+ keep_media_hint: Doesn't delete any of your posts that have media attachments
+ keep_pinned: Keep pinned posts
+ keep_pinned_hint: Doesn't delete any of your pinned posts
+ keep_polls: Keep polls
+ keep_polls_hint: Doesn't delete any of your polls
+ keep_self_bookmark: Keep posts you bookmarked
+ keep_self_bookmark_hint: Doesn't delete your own posts if you have bookmarked them
+ keep_self_fav: Keep posts you favourited
+ keep_self_fav_hint: Doesn't delete your own posts if you have favourited them
+ min_age:
+ '1209600': 2 weeks
+ '15778476': 6 months
+ '2629746': 1 month
+ '31556952': 1 year
+ '5259492': 2 months
+ '604800': 1 week
+ '63113904': 2 years
+ '7889238': 3 months
min_age_label: Age threshold
min_favs: Keep posts favourited at least
min_favs_hint: Doesn't delete any of your posts that has received at least this number of favourites. Leave blank to delete posts regardless of their number of favourites
@@ -399,7 +747,11 @@ en-GB:
strikes:
errors:
too_late: It is too late to appeal this strike
+ tags:
+ does_not_match_previous_name: does not match the previous name
themes:
+ contrast: Mastodon (High contrast)
+ default: Mastodon (Dark)
mastodon-light: Mastodon (Light)
time:
formats:
@@ -433,7 +785,14 @@ en-GB:
title: Appeal rejected
backup_ready:
explanation: You requested a full backup of your Mastodon account. It's now ready for download!
+ subject: Your archive is ready for download
+ title: Archive takeout
suspicious_sign_in:
+ change_password: change your password
+ details: 'Here are details of the sign-in:'
+ explanation: We've detected a sign-in to your account from a new IP address.
+ further_actions_html: If this wasn't you, we recommend that you %{action} immediately and enable two-factor authentication to keep your account secure.
+ subject: Your account has been accessed from a new IP address
title: A new sign-in
warning:
appeal: Submit an appeal
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 9101308919..d42d86abd0 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -815,6 +815,12 @@ en:
message_html: You haven't defined any server rules.
sidekiq_process_check:
message_html: No Sidekiq process running for the %{value} queue(s). Please review your Sidekiq configuration
+ upload_check_privacy_error:
+ action: Check here for more information
+ message_html: "Your web server is misconfigured. The privacy of your users is at risk."
+ upload_check_privacy_error_object_storage:
+ action: Check here for more information
+ message_html: "Your object storage is misconfigured. The privacy of your users is at risk."
tags:
review: Review status
updated_msg: Hashtag settings updated successfully
@@ -1199,8 +1205,6 @@ en:
index:
hint: This filter applies to select individual posts regardless of other criteria. You can add more posts to this filter from the web interface.
title: Filtered posts
- footer:
- trending_now: Trending now
generic:
all: All
all_items_on_page_selected_html:
@@ -1411,6 +1415,7 @@ en:
confirm_remove_selected_followers: Are you sure you want to remove selected followers?
confirm_remove_selected_follows: Are you sure you want to remove selected follows?
dormant: Dormant
+ follow_failure: Could not follow some of the selected accounts.
follow_selected_followers: Follow selected followers
followers: Followers
following: Following
@@ -1450,6 +1455,7 @@ en:
electron: Electron
firefox: Firefox
generic: Unknown browser
+ huawei_browser: Huawei Browser
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
@@ -1459,6 +1465,7 @@ en:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Unknown Browser
weibo: Weibo
current_session: Current session
description: "%{browser} on %{platform}"
@@ -1471,9 +1478,10 @@ en:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: macOS
- other: unknown platform
+ unknown_platform: Unknown Platform
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
@@ -1686,12 +1694,13 @@ en:
title: Welcome aboard, %{name}!
users:
follow_limit_reached: You cannot follow more than %{limit} people
+ go_to_sso_account_settings: Go to your identity provider's account settings
invalid_otp_token: Invalid two-factor code
otp_lost_help_html: If you lost access to both, you may get in touch with %{email}
seamless_external_login: You are logged in via an external service, so password and e-mail settings are not available.
signed_in_as: 'Signed in as:'
verification:
- explanation_html: 'You can verify yourself as the owner of the links in your profile metadata. For that, the linked website must contain a link back to your Mastodon profile. The link back must have a rel="me"
attribute. The text content of the link does not matter. Here is an example:'
+ explanation_html: 'You can verify yourself as the owner of the links in your profile metadata. For that, the linked website must contain a link back to your Mastodon profile. After adding the link you may need to come back here and re-save your profile for the verification to take effect. The link back must have a rel="me"
attribute. The text content of the link does not matter. Here is an example:'
verification: Verification
webauthn_credentials:
add: Add new security key
diff --git a/config/locales/eo.yml b/config/locales/eo.yml
index 151ca2429f..b381805a10 100644
--- a/config/locales/eo.yml
+++ b/config/locales/eo.yml
@@ -834,6 +834,7 @@ eo:
other: Diskonita de %{count} personoj ekde lasta semajno
title: Tendencantaj ligiloj
usage_comparison: Diskonita %{today}-foje hodiau, sed estas %{yesterday} hierau
+ not_allowed_to_trend: Ne rajtas fariĝi furoraĵo
only_allowed: Nur permesitas
pending_review: Atendante revizion
preview_card_providers:
@@ -1197,8 +1198,6 @@ eo:
index:
hint: Ĉi tiu filtrilo kongruas kelkaj mesaĝoj sendepende de aliaj kriterioj.
title: Filtritaj mesaĝoj
- footer:
- trending_now: Nunaj furoraĵoj
generic:
all: Ĉio
all_items_on_page_selected_html:
@@ -1326,8 +1325,8 @@ eo:
sign_up:
subject: "%{name} registriĝis"
favourite:
- body: "%{name} stelumis vian mesaĝon:"
- subject: "%{name} stelumis vian mesaĝon"
+ body: "%{name} stelumis vian afiŝon:"
+ subject: "%{name} stelumis vian afiŝon"
title: Nova stelumo
follow:
body: "%{name} nun sekvas vin!"
@@ -1347,7 +1346,7 @@ eo:
subject: Enketo de %{name} finitas
reblog:
body: 'Via mesaĝo estis diskonigita de %{name}:'
- subject: "%{name} diskonigis vian mesaĝon"
+ subject: "%{name} diskonigis vian afiŝon"
title: Nova diskonigo
status:
subject: "%{name} ĵus afiŝis"
@@ -1408,6 +1407,7 @@ eo:
confirm_remove_selected_followers: Ĉu vi certas, ke vi volas forigi la elektitajn sekvantojn?
confirm_remove_selected_follows: Ĉu vi certas, ke vi volas forigi la elektitajn sekvatojn?
dormant: Dormanta
+ follow_failure: Ne eblis sekvi iom da la elektitaj kontoj.
follow_selected_followers: Sekvi selektitajn sekvantojn
followers: Sekvantoj
following: Sekvatoj
@@ -1447,6 +1447,7 @@ eo:
electron: Electron
firefox: Firefox
generic: Nekonata retumilo
+ huawei_browser: Retumilo Huawei
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
@@ -1456,6 +1457,7 @@ eo:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Nekonata retumilo
weibo: Weibo
current_session: Nuna seanco
description: "%{browser} en %{platform}"
@@ -1468,9 +1470,10 @@ eo:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: Mac
- other: nekonata substrato
+ unknown_platform: Nekonata platformo
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml
index 8d934011cd..2a395c80fe 100644
--- a/config/locales/es-AR.yml
+++ b/config/locales/es-AR.yml
@@ -1196,8 +1196,6 @@ es-AR:
index:
hint: Este filtro se aplica a la selección de mensajes individuales, independientemente de otros criterios. Podés agregar más mensajes a este filtro desde la interface web.
title: Mensajes filtrados
- footer:
- trending_now: Tendencia ahora
generic:
all: Todas
all_items_on_page_selected_html:
@@ -1407,6 +1405,7 @@ es-AR:
confirm_remove_selected_followers: "¿Estás seguro que querés quitar a los seguidores seleccionados?"
confirm_remove_selected_follows: "¿Estás seguro que querés quitar a las cuentas seguidas seleccionadas?"
dormant: Inactivas
+ follow_failure: No se pudieron seguir algunas de las cuentas seleccionadas.
follow_selected_followers: Seguir a los seguidores seleccionados
followers: Seguidores
following: Siguiendo
@@ -1446,6 +1445,7 @@ es-AR:
electron: Electron
firefox: Mozilla Firefox
generic: "[Navegador web desconocido]"
+ huawei_browser: Navegador Huawei
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Navegador web de Nokia S40 Ovi
@@ -1455,6 +1455,7 @@ es-AR:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: "[Navegador web desconocido]"
weibo: Weibo
current_session: Sesión actual
description: "%{browser} en %{platform}"
@@ -1467,9 +1468,10 @@ es-AR:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: GNU/Linux
mac: macOS
- other: "[Plataforma desconocida]"
+ unknown_platform: "[Plataforma desconocida]"
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml
index 0ce2a894ae..3919b4064c 100644
--- a/config/locales/es-MX.yml
+++ b/config/locales/es-MX.yml
@@ -91,6 +91,7 @@ es-MX:
moderation:
active: Activo
all: Todos
+ disabled: Deshabilitado
pending: Pendiente
silenced: Limitado
suspended: Suspendidos
@@ -133,6 +134,7 @@ es-MX:
search: Buscar
search_same_email_domain: Otros usuarios con el mismo dominio de correo
search_same_ip: Otros usuarios con la misma IP
+ security: Seguridad
security_measures:
only_password: Sólo contraseña
password_and_2fa: Contraseña y 2FA
@@ -427,6 +429,7 @@ es-MX:
resolve: Resolver dominio
title: Nueva entrada en la lista negra de correo
no_email_domain_block_selected: No se han cambiado bloqueos de dominio ya que ninguno ha sido seleccionado
+ not_permitted: No permitido
resolved_dns_records_hint_html: El nombre de dominio resuelve los siguientes dominios MX, los cuales son responsables en última instancia de aceptar el correo electrónico. Bloquear un dominio MX bloqueará los registros de cualquier dirección de correo electrónico que utilice el mismo dominio MX, incluso si el nombre de dominio visible es diferente. Tenga cuidado de no bloquear los principales proveedores de correo electrónico.
resolved_through_html: Resuelto a través de %{domain}
title: Lista negra de correo
@@ -473,6 +476,7 @@ es-MX:
content_policies:
comment: Nota interna
description_html: Puedes definir políticas de contenido que se aplicarán a todas las cuentas de este dominio y a cualquiera de sus subdominios.
+ limited_federation_mode_description_html: Puedes elegir si permites la federación con este dominio.
policies:
reject_media: Rechazar multimedia
reject_reports: Rechazar informes
@@ -585,11 +589,13 @@ es-MX:
assign_to_self: Asignármela a mí
assigned: Moderador asignado
by_target_domain: Dominio de la cuenta reportada
+ cancel: Cancelar
category: Categoría
category_description_html: La razón por la que se reportó esta cuenta o contenido será citada en las comunicaciones con la cuenta reportada
comment:
none: Ninguno
comment_description_html: 'Para proporcionar más información, %{name} escribió:'
+ confirm: Confirmar
confirm_action: Confirmar acción de moderación contra @%{acct}
created_at: Denunciado
delete_and_resolve: Eliminar publicaciones
@@ -792,6 +798,7 @@ es-MX:
suspend: "%{name} suspendio la cuenta de %{target}"
appeal_approved: Apelado
appeal_pending: Apelación pendiente
+ appeal_rejected: Apelación rechazada
system_checks:
database_schema_check:
message_html: Hay migraciones pendientes de la base de datos. Por favor, ejecútalas para asegurarte de que la aplicación funciona como debería
@@ -827,6 +834,7 @@ es-MX:
other: Compartido por %{count} personas durante la última semana
title: Enlaces en tendencia
usage_comparison: Compartido %{today} veces hoy, comparado a %{yesterday} ayer
+ not_allowed_to_trend: No permitido para tendencia
only_allowed: Sólo las permitidas
pending_review: Revisión pendiente
preview_card_providers:
@@ -958,6 +966,7 @@ es-MX:
applications:
created: Aplicación creada exitosamente
destroyed: Apicación eliminada exitosamente
+ logout: Cerrar sesión
regenerate_token: Regenerar token de acceso
token_regenerated: Token de acceso regenerado exitosamente
warning: Ten mucho cuidado con estos datos. ¡No los compartas con nadie!
@@ -994,6 +1003,8 @@ es-MX:
resend_confirmation: Volver a enviar el correo de confirmación
reset_password: Restablecer contraseña
rules:
+ accept: Aceptar
+ back: Atrás
preamble: Estas son establecidas y aplicadas por los moderadores de %{domain}.
title: Algunas reglas básicas.
security: Cambiar contraseña
@@ -1140,6 +1151,8 @@ es-MX:
storage: Almacenamiento
featured_tags:
add_new: Añadir nuevo
+ errors:
+ limit: Ya has alcanzado la cantidad máxima de hashtags
hint_html: "¿Qué son las etiquetas destacadas? Se muestran de forma prominente en tu perfil público y permiten a los usuarios navegar por tus publicaciones públicas específicamente bajo esas etiquetas. Son una gran herramienta para hacer un seguimiento de trabajos creativos o proyectos a largo plazo."
filters:
contexts:
@@ -1183,8 +1196,6 @@ es-MX:
index:
hint: Este filtro se aplica a la selección de publicaciones individuales independientemente de otros criterios. Puede añadir más publicaciones a este filtro desde la interfaz web.
title: Publicaciones filtradas
- footer:
- trending_now: Tendencia ahora
generic:
all: Todos
all_items_on_page_selected_html:
@@ -1247,6 +1258,9 @@ es-MX:
expires_at: Expira
uses: Usos
title: Invitar a gente
+ lists:
+ errors:
+ limit: Has alcanzado la cantidad máxima de listas
login_activities:
authentication_methods:
otp: aplicación de autenticación en dos pasos
@@ -1391,6 +1405,7 @@ es-MX:
confirm_remove_selected_followers: "¿Estás seguro de que quieres eliminar a los seguidores seleccionados?"
confirm_remove_selected_follows: "¿Estás seguro de que quieres eliminar los seguidos seleccionados?"
dormant: Inactivo
+ follow_failure: No se pudo seguir algunas de las cuentas seleccionadas.
follow_selected_followers: Seguir a los seguidores seleccionados
followers: Seguidores
following: Siguiendo
@@ -1430,6 +1445,7 @@ es-MX:
electron: Electron
firefox: Firefox
generic: Desconocido
+ huawei_browser: Navegador Huawei
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Navegador de Nokia S40 Ovi
@@ -1439,6 +1455,7 @@ es-MX:
qq: Navegador QQ
safari: Safari
uc_browser: Navegador UC
+ unknown_browser: Navegador desconocido
weibo: Weibo
current_session: Sesión actual
description: "%{browser} en %{platform}"
@@ -1451,9 +1468,10 @@ es-MX:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: GNU Linux
mac: Mac
- other: Desconocido
+ unknown_platform: Plataforma desconocida
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
@@ -1566,6 +1584,7 @@ es-MX:
'7889238': 3 meses
min_age_label: Umbral de tiempo
min_favs: Mantener mensajes con un número de favoritos mayor que
+ min_favs_hint: No borra ninguna de las publicaciones que hayan recibido al menos esta cantidad de favoritos. Deja en blanco para eliminar publicaciones sin importar el número de favoritos
min_reblogs: Mantener publicaciones reblogueadas más de
min_reblogs_hint: No borra ninguna de las publicaciones que hayan sido reblogueadas más de este número de veces. Deja en blanco para eliminar publicaciones sin importar el número de reblogueos
stream_entries:
diff --git a/config/locales/es.yml b/config/locales/es.yml
index aaf438b17b..04f9b23465 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -476,7 +476,7 @@ es:
content_policies:
comment: Nota interna
description_html: Puedes definir políticas de contenido que se aplicarán a todas las cuentas de este dominio y a cualquiera de sus subdominios.
- limited_federation_mode_description_html: Puede elegir si permite la federación en este dominio.
+ limited_federation_mode_description_html: Puedes elegir si permites la federación con este dominio.
policies:
reject_media: Rechazar multimedia
reject_reports: Rechazar informes
@@ -925,7 +925,7 @@ es:
new_report:
body: "%{reporter} ha reportado a %{target}"
body_remote: Alguien de %{domain} a reportado a %{target}
- subject: Nuevo reporte para la %{instance} (#%{id})
+ subject: Nuevo informe para %{instance} (#%{id})
new_trends:
body: 'Los siguientes elementos necesitan una revisión antes de que se puedan mostrar públicamente:'
new_trending_links:
@@ -1196,8 +1196,6 @@ es:
index:
hint: Este filtro se aplica a la selección de publicaciones individuales independientemente de otros criterios. Puede añadir más publicaciones a este filtro desde la interfaz web.
title: Publicaciones filtradas
- footer:
- trending_now: Tendencia ahora
generic:
all: Todos
all_items_on_page_selected_html:
@@ -1407,6 +1405,7 @@ es:
confirm_remove_selected_followers: "¿Estás seguro de que quieres eliminar los seguidores seleccionados?"
confirm_remove_selected_follows: "¿Estás seguro de que quieres eliminar los seguidos seleccionados?"
dormant: Inactivo
+ follow_failure: No se pudieron seguir algunas de las cuentas seleccionadas.
follow_selected_followers: Seguir a los seguidores seleccionados
followers: Seguidores
following: Siguiendo
@@ -1446,6 +1445,7 @@ es:
electron: Electron
firefox: Firefox
generic: Desconocido
+ huawei_browser: Navegador Huawei
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Navegador de Nokia S40 Ovi
@@ -1455,6 +1455,7 @@ es:
qq: Navegador QQ
safari: Safari
uc_browser: Navegador UC
+ unknown_browser: Navegador Desconocido
weibo: Weibo
current_session: Sesión actual
description: "%{browser} en %{platform}"
@@ -1467,9 +1468,10 @@ es:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: GNU Linux
mac: Mac
- other: Desconocido
+ unknown_platform: Plataforma Desconocida
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/et.yml b/config/locales/et.yml
index 1b5910154e..3da5784028 100644
--- a/config/locales/et.yml
+++ b/config/locales/et.yml
@@ -979,7 +979,7 @@ et:
delete_account: Konto kustutamine
delete_account_html: Kui soovid oma konto kustutada, siis jätka siit. Pead kustutamise eraldi kinnitama.
description:
- prefix_invited_by_user: "@%{name} kutsub Teid liituma selle Mastodoni serveriga!"
+ prefix_invited_by_user: "@%{name} kutsub sind liituma selle Mastodoni serveriga!"
prefix_sign_up: Loo Mastodoni konto juba täna!
suffix: Kasutajakontoga saad jälgida inimesi, postitada uudiseid ning pidada kirjavahetust ükskõik millise Mastodoni serveri kasutajatega ja muudki!
didnt_get_confirmation: Ei saanud kinnituse juhendeid?
@@ -1196,8 +1196,6 @@ et:
index:
hint: See filter kehtib üksikute postituste valimisel, sõltumata muudest kriteeriumidest. Sellesse filtrisse saab veebiliidese kaudu rohkem postitusi lisada.
title: Filtreeritud postitused
- footer:
- trending_now: Praegu trendikad
generic:
all: Kõik
all_items_on_page_selected_html:
@@ -1250,7 +1248,7 @@ et:
'86400': 1 päev
expires_in_prompt: Mitte kunagi
generate: Loo
- invited_by: 'Teid kutsus:'
+ invited_by: 'Sind kutsus:'
max_uses:
one: 1 kasutus
other: "%{count} kasutust"
@@ -1334,13 +1332,13 @@ et:
title: Uus jälgija
follow_request:
action: Halda jälgimistaotlusi
- body: "%{name} soovib Teid jälgida"
+ body: "%{name} soovib sind jälgida"
subject: 'Ootav jälgija: %{name}'
title: Uus jälgimistaotlus
mention:
action: Vasta
- body: "%{name} mainis Teid:"
- subject: "%{name} mainis Teid"
+ body: "%{name} mainis sind:"
+ subject: "%{name} mainis sind"
title: Uus mainimine
poll:
subject: "%{name} küsitlus lõppes"
@@ -1407,6 +1405,7 @@ et:
confirm_remove_selected_followers: Oled kindel, et soovid eemaldada valitud jälgijad?
confirm_remove_selected_follows: Oled kindel, et soovid eemaldada valitud jälgitavad?
dormant: Seisev
+ follow_failure: Mõne valitud konto jälgimine polnud võimalik.
follow_selected_followers: Valitud jälgijate jälgimine
followers: Jälgijad
following: Jälgib
@@ -1446,6 +1445,7 @@ et:
electron: Electron
firefox: Firefox
generic: Tundmatu veebilehitseja
+ huawei_browser: Huawei veebilehitseja
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
@@ -1455,6 +1455,7 @@ et:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Tundmatu veebilehitseja
weibo: Weibo
current_session: Praegune seanss
description: "%{browser} platvormil %{platform}"
@@ -1467,9 +1468,10 @@ et:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: Mac
- other: tundmatu platvorm
+ unknown_platform: Tundmatu platvorm
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/eu.yml b/config/locales/eu.yml
index b9a9482bf5..39e0b26070 100644
--- a/config/locales/eu.yml
+++ b/config/locales/eu.yml
@@ -1198,8 +1198,6 @@ eu:
index:
hint: Iragazki honek banako bidalketei eragiten die, beste kriterioak badaude ere. Bidalketa gehiago gehitu ditzakezu iragazkira web interfazetik.
title: Iragazitako bidalketak
- footer:
- trending_now: Joera orain
generic:
all: Denak
all_items_on_page_selected_html:
@@ -1409,6 +1407,7 @@ eu:
confirm_remove_selected_followers: Ziur al zaude hautatutako jarraitzaileak ezabatu nahi dituzula?
confirm_remove_selected_follows: Ziur al zaude hautatutako jarraipenak ezabatu nahi dituzula?
dormant: Ez aktiboa
+ follow_failure: Ezin izan dira aukeratutako kontu batzuk jarraitu.
follow_selected_followers: Jarraitu hautatutako jarraitzaileak
followers: Jarraitzaileak
following: Jarraitzen
@@ -1448,6 +1447,7 @@ eu:
electron: Electron
firefox: Firefox
generic: Nabigatzaile ezezaguna
+ huawei_browser: Huawei nabigatzailea
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi nabigatzailea
@@ -1457,6 +1457,7 @@ eu:
qq: QQ nabigatzailea
safari: Safari
uc_browser: UC nabigatzailea
+ unknown_browser: Nabigatzaile ezezaguna
weibo: Weibo
current_session: Uneko saioa
description: "%{browser} - %{platform}"
@@ -1469,9 +1470,10 @@ eu:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: Mac
- other: plataforma ezezaguna
+ unknown_platform: Plataforma ezezaguna
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/fa.yml b/config/locales/fa.yml
index 88366c7b95..0127d0e616 100644
--- a/config/locales/fa.yml
+++ b/config/locales/fa.yml
@@ -1,7 +1,7 @@
---
fa:
about:
- about_mastodon_html: 'شبکهٔ اجتماعی آینده: بدون تبلیغات، بدون شنود از طرف شرکتها، طراحی اخلاقمدار، و معماری غیرمتمرکز! با ماستودون صاحب دادههای خودتان باشید!'
+ about_mastodon_html: 'شبکهی اجتماعی آینده: بدون تبلیغات، بدون شنود از طرف شرکتها، طراحی اخلاقمدار، و معماری غیرمتمرکز! با ماستودون صاحب دادههای خودتان باشید!'
contact_missing: تنظیم نشده
contact_unavailable: موجود نیست
hosted_on: ماستودون، میزبانیشده روی %{domain}
@@ -91,6 +91,7 @@ fa:
moderation:
active: فعّال
all: همه
+ disabled: غیرفعال
pending: منتظر
silenced: محدود
suspended: تعلیق شده
@@ -128,6 +129,7 @@ fa:
search: جستجو
search_same_email_domain: دیگر کاربران با دامنهٔ رایانامهٔ یکسان
search_same_ip: دیگر کاربران با IP یکسان
+ security: امنیت
security_measures:
only_password: فقط گذرواژه
password_and_2fa: گذرواژه و ۲عاملی
@@ -201,6 +203,7 @@ fa:
reject_user: رد کاربر
remove_avatar_user: برداشتن تصویر نمایه
reopen_report: بازگشایی گزارش
+ resend_user: ارسال مجدد رایانامه تایید
reset_password_user: بازنشانی گذرواژه
resolve_report: رفع گزارش
sensitive_account: علامتگذاری رسانه در حسابتان به عنوان حساس
@@ -215,6 +218,7 @@ fa:
update_custom_emoji: بهروز رسانی اموجی سفارشی
update_domain_block: بهروزرسانی مسدودسازی دامنه
update_status: بهروز رسانی وضعیت
+ update_user_role: به روزرسانی نقش
actions:
approve_appeal_html: "%{name} درخواست تجدیدنظر تصمیم مدیر را از %{target} پذیرفت"
approve_user_html: "%{name} ثبت نام %{target} را تایید کرد"
@@ -425,6 +429,7 @@ fa:
title: سیاستهای محتوا
dashboard:
instance_accounts_dimension: حسابهای پیشتر پیگیری شده
+ instance_accounts_measure: حسابهای ذخیره شده
instance_followers_measure: پیگیرندگانمان در آنجا
instance_follows_measure: پیگیرندگانشان در اینجا
instance_languages_dimension: زبانهای برتر
@@ -511,9 +516,11 @@ fa:
assign_to_self: به عهدهٔ من بگذار
assigned: مدیر عهدهدار
by_target_domain: دامنهٔ حساب گزارششده
+ cancel: لغو
category: دسته
comment:
none: هیچ
+ confirm: تأیید
created_at: گزارششده
delete_and_resolve: حذف فرستهها
forwarded: هدایت شده
@@ -549,6 +556,7 @@ fa:
add_new: افزودن نقش
categories:
administration: مدیریت
+ devops: DevOps
invites: دعوتها
moderation: نظارت
special: ویژه
@@ -890,8 +898,6 @@ fa:
title: پالایهها
new:
title: افزودن پالایهٔ جدید
- footer:
- trending_now: پرطرفدار
generic:
all: همه
changes_saved_msg: تغییرات با موفقیت ذخیره شدند!
@@ -1126,7 +1132,6 @@ fa:
ios: آیاواس
linux: لینوکس
mac: مک
- other: سیستم ناشناخته
windows: ویندوز
windows_mobile: ویندوز همراه
windows_phone: تلفن ویندوزی
diff --git a/config/locales/fi.yml b/config/locales/fi.yml
index 8a77fa8a57..a9554d0961 100644
--- a/config/locales/fi.yml
+++ b/config/locales/fi.yml
@@ -954,7 +954,7 @@ fi:
body: Mastodonin ovat kääntäneet vapaaehtoiset.
guide_link: https://crowdin.com/project/mastodon
guide_link_text: Kaikki voivat osallistua.
- sensitive_content: Arkaluontoista sisältöä
+ sensitive_content: Arkaluonteinen sisältö
toot_layout: Viestin asettelu
application_mailer:
notification_preferences: Muuta sähköpostiasetuksia
@@ -1022,7 +1022,7 @@ fi:
status:
account_status: Tilin tila
confirming: Odotetaan sähköpostivahvistuksen valmistumista.
- functional: Tilisi on täysin toimiva.
+ functional: Tilisi on täysin toiminnassa.
pending: Hakemuksesi odottaa henkilökuntamme tarkastusta. Tämä voi kestää jonkin aikaa. Saat sähköpostiviestin, jos hakemuksesi on hyväksytty.
redirecting_to: Tilisi ei ole aktiivinen, koska se ohjaa tällä hetkellä kohteeseen %{acct}.
view_strikes: Näytä tiliäsi koskevia aiempia varoituksia
@@ -1196,8 +1196,6 @@ fi:
index:
hint: Tämä suodatin koskee yksittäisten viestien valintaa muista kriteereistä riippumatta. Voit lisätä lisää viestejä tähän suodattimeen web-käyttöliittymästä.
title: Suodatetut viestit
- footer:
- trending_now: Suosittua nyt
generic:
all: Kaikki
all_items_on_page_selected_html:
@@ -1407,6 +1405,7 @@ fi:
confirm_remove_selected_followers: Haluatko varmasti poistaa valitut seuraajat?
confirm_remove_selected_follows: Haluatko varmasti poistaa valitut seuraamiset?
dormant: Horroksessa
+ follow_failure: Joitain valittuja tilejä ei voitu seurata.
follow_selected_followers: Seuraa valittuja seuraajia
followers: Seuraajat
following: Seuratut
@@ -1446,6 +1445,7 @@ fi:
electron: Electron
firefox: Firefox
generic: Tuntematon selain
+ huawei_browser: Huawei-selain
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi -selain
@@ -1455,6 +1455,7 @@ fi:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Tuntematon selain
weibo: Weibo
current_session: Nykyinen istunto
description: "%{browser} alustalla %{platform}"
@@ -1467,9 +1468,10 @@ fi:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: macOS
- other: tuntematon alusta
+ unknown_platform: Tuntematon alusta
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/fo.yml b/config/locales/fo.yml
index db3aca3693..3199690c9a 100644
--- a/config/locales/fo.yml
+++ b/config/locales/fo.yml
@@ -1196,8 +1196,6 @@ fo:
index:
hint: Hetta filtrið er galdandi fyri útvaldar stakar postar óansæð aðrar treytir. Tú kanst leggja fleiri postar afturat hesum filtrinum frá vevmarkamótinum.
title: Filtreraðir postar
- footer:
- trending_now: Rák beint nú
generic:
all: Alt
all_items_on_page_selected_html:
@@ -1407,6 +1405,7 @@ fo:
confirm_remove_selected_followers: Vil tú veruliga strika valdu fylgjararnar?
confirm_remove_selected_follows: Vil tú veruliga strika valdu fylgingarnar?
dormant: Í dvala
+ follow_failure: Tað bar ikki til at fylgja øllum valdu kontunum.
follow_selected_followers: Fylg valdu fylgjarum
followers: Fylgjarar
following: Fylgi
@@ -1446,6 +1445,7 @@ fo:
electron: Electron
firefox: Firefox
generic: Ókendur kagi
+ huawei_browser: Huawei kagi
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
@@ -1455,6 +1455,7 @@ fo:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Ókendur kagi
weibo: Weibo
current_session: Verandi seta
description: "%{browser} á %{platform}"
@@ -1467,9 +1468,10 @@ fo:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: macOS
- other: ókendur pallur
+ unknown_platform: Ókendur pallur
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/fr-QC.yml b/config/locales/fr-QC.yml
index 4c69085b61..400ed4b11e 100644
--- a/config/locales/fr-QC.yml
+++ b/config/locales/fr-QC.yml
@@ -834,6 +834,7 @@ fr-QC:
other: Partagé par %{count} personnes au cours de la dernière semaine
title: Liens tendances
usage_comparison: Partagé %{today} fois aujourd'hui, comparé à %{yesterday} hier
+ not_allowed_to_trend: Non autorisé à apparaître dans les tendances
only_allowed: Autorisées seulement
pending_review: En attente de révision
preview_card_providers:
@@ -1002,6 +1003,7 @@ fr-QC:
resend_confirmation: Envoyer à nouveau les consignes de confirmation
reset_password: Réinitialiser le mot de passe
rules:
+ accept: Accepter
back: Retour
preamble: Celles-ci sont définies et appliqués par les modérateurs de %{domain}.
title: Quelques règles de base.
@@ -1149,6 +1151,8 @@ fr-QC:
storage: Médias stockés
featured_tags:
add_new: Ajouter un nouveau hashtag
+ errors:
+ limit: Vous avez déjà mis en avant le nombre maximum de hashtags
hint_html: "Que sont les hashtags mis en avant ? Ils sont affichés en évidence sur votre profil public et permettent aux gens de parcourir vos messages publics qui utilisent ces hashtags. Ils sont un excellent outil pour garder la trace d’activités créatrices ou de projets de long terme."
filters:
contexts:
@@ -1192,8 +1196,6 @@ fr-QC:
index:
hint: Ce filtre s'applique à la sélection de messages individuels, indépendamment d'autres critères. Vous pouvez ajouter plus de messages à ce filtre à partir de l'interface Web.
title: Messages filtrés
- footer:
- trending_now: Tendance en ce moment
generic:
all: Tous
all_items_on_page_selected_html:
@@ -1256,6 +1258,9 @@ fr-QC:
expires_at: Expire
uses: Utilisations
title: Inviter des gens
+ lists:
+ errors:
+ limit: Vous avez atteint le nombre maximum de listes
login_activities:
authentication_methods:
otp: application d'authentification à deux facteurs
@@ -1400,6 +1405,7 @@ fr-QC:
confirm_remove_selected_followers: Voulez-vous vraiment supprimer les abonné⋅e⋅s sélectionné⋅e⋅s ?
confirm_remove_selected_follows: Voulez-vous vraiment supprimer les abonnements sélectionnés ?
dormant: Dormant
+ follow_failure: Impossibilité de suivre certains des comptes sélectionnés.
follow_selected_followers: Suivre les abonné·e·s sélectionné·e·s
followers: Abonné·e
following: Abonnement
@@ -1439,6 +1445,7 @@ fr-QC:
electron: Electron
firefox: Firefox
generic: Navigateur inconnu
+ huawei_browser: Navigateur Huawei
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
@@ -1448,6 +1455,7 @@ fr-QC:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Navigateur inconnu
weibo: Weibo
current_session: Session courante
description: "%{browser} sur %{platform}"
@@ -1460,9 +1468,10 @@ fr-QC:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: Mac
- other: système inconnu
+ unknown_platform: Plateforme inconnue
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
@@ -1575,6 +1584,7 @@ fr-QC:
'7889238': 3 mois
min_age_label: Seuil d'ancienneté
min_favs: Conserver les messages mis en favoris au moins
+ min_favs_hint: Ne supprime aucun de vos messages qui ont reçu au moins ce nombre de favoris. Laisser vide pour supprimer les messages quel que soit leur nombre de favoris
min_reblogs: Conserver les messages partagés au moins
min_reblogs_hint: Ne supprime aucun de vos messages qui ont été partagés au moins ce nombre de fois. Laisser vide pour supprimer les messages indépendamment de leur nombre de partages
stream_entries:
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index c3ec4bdc7a..048cbd5270 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -1196,8 +1196,6 @@ fr:
index:
hint: Ce filtre s'applique à la sélection de messages individuels, indépendamment d'autres critères. Vous pouvez ajouter plus de messages à ce filtre à partir de l'interface Web.
title: Messages filtrés
- footer:
- trending_now: Tendance en ce moment
generic:
all: Tous
all_items_on_page_selected_html:
@@ -1407,6 +1405,7 @@ fr:
confirm_remove_selected_followers: Voulez-vous vraiment supprimer les abonné⋅e⋅s sélectionné⋅e⋅s ?
confirm_remove_selected_follows: Voulez-vous vraiment supprimer les abonnements sélectionnés ?
dormant: Dormant
+ follow_failure: Impossibilité de suivre certains des comptes sélectionnés.
follow_selected_followers: Suivre les abonné·e·s sélectionné·e·s
followers: Abonné·e
following: Abonnement
@@ -1446,6 +1445,7 @@ fr:
electron: Electron
firefox: Firefox
generic: Navigateur inconnu
+ huawei_browser: Navigateur Huawei
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
@@ -1455,6 +1455,7 @@ fr:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Navigateur inconnu
weibo: Weibo
current_session: Session courante
description: "%{browser} sur %{platform}"
@@ -1467,9 +1468,10 @@ fr:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: Mac
- other: système inconnu
+ unknown_platform: Plateforme inconnue
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/fy.yml b/config/locales/fy.yml
index 45e15a4d2f..15f4bd88b7 100644
--- a/config/locales/fy.yml
+++ b/config/locales/fy.yml
@@ -1196,8 +1196,6 @@ fy:
index:
hint: Dit filter is fan tapassing om yndividuele berjochten te selektearjen, ûnôfhinklik fan oare kritearia. Jo kinne yn de webomjouwing mear berjochten oan dit filter tafoegje.
title: Filtere berjochten
- footer:
- trending_now: Trends
generic:
all: Alle
all_items_on_page_selected_html:
@@ -1407,6 +1405,7 @@ fy:
confirm_remove_selected_followers: Binne jo wis dat jo de selektearre folgers net mear folgje wolle?
confirm_remove_selected_follows: Binne jo wis dat jo de selektearre folge accounts net mear folgje wolle?
dormant: Slommerjend
+ follow_failure: Kin guon fan de selektearre accounts net folgje.
follow_selected_followers: Selektearre folgers folgje
followers: Folgers
following: Folgjend
@@ -1446,6 +1445,7 @@ fy:
electron: Electron
firefox: Firefox
generic: Unbekende browser
+ huawei_browser: Huawei-browser
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
@@ -1455,6 +1455,7 @@ fy:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Unbekende browser
weibo: Weibo
current_session: Aktuele sesje
description: "%{browser} op %{platform}"
@@ -1467,9 +1468,10 @@ fy:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: macOS
- other: ûnbekend platfoarm
+ unknown_platform: Unbekend platfoarm
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/ga.yml b/config/locales/ga.yml
index 4aa2ae98b9..f430379871 100644
--- a/config/locales/ga.yml
+++ b/config/locales/ga.yml
@@ -461,7 +461,6 @@ ga:
ios: iOS
linux: Linux
mac: macOS
- other: ardán anaithnid
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/gd.yml b/config/locales/gd.yml
index f47c99073d..fb3b8f8eea 100644
--- a/config/locales/gd.yml
+++ b/config/locales/gd.yml
@@ -1225,8 +1225,6 @@ gd:
index:
hint: Bidh a’ chriathrag seo an sàs air postaichean fa leth ge b’ e dè na roghainnean eile. ’S urrainn dhut barrachd phostaichean a chur ris a’ chriathrag seo leis an eadar-aghaidh-lìn.
title: Postaichean criathraichte
- footer:
- trending_now: A’ treandadh an-dràsta
generic:
all: Na h-uile
all_items_on_page_selected_html:
@@ -1505,7 +1503,6 @@ gd:
ios: iOS
linux: Linux
mac: macOS
- other: ùrlar nach aithne dhuinn
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/gl.yml b/config/locales/gl.yml
index cdb128f927..0eccaa9511 100644
--- a/config/locales/gl.yml
+++ b/config/locales/gl.yml
@@ -1196,8 +1196,6 @@ gl:
index:
hint: Este filtro aplícase para seleccionar publicacións individuais independentemente doutros criterios. Podes engadir máis publicacións a este filtro desde a interface web.
title: Publicacións filtradas
- footer:
- trending_now: Tendencia agora
generic:
all: Todo
all_items_on_page_selected_html:
@@ -1407,6 +1405,7 @@ gl:
confirm_remove_selected_followers: Tes a certeza de querer deixar de seguir as seguidoras seleccionadas?
confirm_remove_selected_follows: Tes a certeza de querer eliminar os seguimentos seleccionados?
dormant: En repouso
+ follow_failure: Non puido seguir algunha das contas seleccionadas.
follow_selected_followers: Seguir seguidoras seleccionadas
followers: Seguidoras
following: A Seguir
@@ -1446,6 +1445,7 @@ gl:
electron: Electron
firefox: Firefox
generic: Navegador descoñecido
+ huawei_browser: Navegador Huawei
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Navegador Nokia S40 Ovi
@@ -1455,6 +1455,7 @@ gl:
qq: Navegador QQ
safari: Safari
uc_browser: Navegador QQ
+ unknown_browser: Navegador descoñecido
weibo: Weibo
current_session: Sesión actual
description: "%{browser} en %{platform}"
@@ -1467,9 +1468,10 @@ gl:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: Mac
- other: plataforma descoñecida
+ unknown_platform: Plataforma descoñecida
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/he.yml b/config/locales/he.yml
index 064e127a0d..aff0e7c6ac 100644
--- a/config/locales/he.yml
+++ b/config/locales/he.yml
@@ -1238,8 +1238,6 @@ he:
index:
hint: סנן זה חל באופן של בחירת הודעות בודדות ללא תלות בקריטריונים אחרים. תוכלו להוסיף עוד הודעות לסנן זה ממנשק הווב.
title: הודעות שסוננו
- footer:
- trending_now: נושאים חמים
generic:
all: הכל
all_items_on_page_selected_html:
@@ -1459,6 +1457,7 @@ he:
confirm_remove_selected_followers: האם את/ה בטוח/ה שברצונך להסיר את העוקבים שסומנו?
confirm_remove_selected_follows: האם את/ה בטוח/ה שברצונך להסיר את הנעקבים שסומנו?
dormant: רדומים
+ follow_failure: נכשלה העקיבה אחרי חלק מהחשבונות שבחרת.
follow_selected_followers: עקוב אחר הנעקבים שנבחרו
followers: עוקבים
following: נעקבים
@@ -1498,6 +1497,7 @@ he:
electron: אלקטרון
firefox: פיירפוקס
generic: דפדפן לא ידוע
+ huawei_browser: דפדפן וואווי
ie: אינטרנט אקספלורר
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
@@ -1507,6 +1507,7 @@ he:
qq: דפדפן QQ
safari: ספארי
uc_browser: דפדפן UC
+ unknown_browser: דפדפן לא מזוהה
weibo: Weibo
current_session: חיבור נוכחי
description: "%{browser} על %{platform}"
@@ -1519,9 +1520,10 @@ he:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: מערכת הפעלה KaiOS
linux: לינוקס
mac: macOS
- other: סביבה לא ידועה
+ unknown_platform: פלטפורמה לא מזוהה
windows: חלונות
windows_mobile: חלונות מובייל
windows_phone: טלפון חלונות
diff --git a/config/locales/hi.yml b/config/locales/hi.yml
index 50fae82bd8..228bd16593 100644
--- a/config/locales/hi.yml
+++ b/config/locales/hi.yml
@@ -8,3 +8,12 @@ hi:
'410': The page you were looking for doesn't exist here anymore.
'429': Too many requests
'503': The page could not be served due to a temporary server failure.
+ relationships:
+ follow_failure: चुने हुए अकाउंट्स में से कुछ को फ़ॉलो नहीं किया जा सकता
+ sessions:
+ browsers:
+ huawei_browser: हुआवे ब्राउज़र
+ unknown_browser: अनजान ब्राउज़र
+ platforms:
+ kai_os: काइ ओएस
+ unknown_platform: अनजान प्लेटफॉर्म
diff --git a/config/locales/hr.yml b/config/locales/hr.yml
index 0563712266..94cfb82aec 100644
--- a/config/locales/hr.yml
+++ b/config/locales/hr.yml
@@ -99,8 +99,6 @@ hr:
title: Filteri
new:
title: Dodaj novi filter
- footer:
- trending_now: Popularno
generic:
all: Sve
changes_saved_msg: Izmjene su uspješno sačuvane!
@@ -167,8 +165,6 @@ hr:
remote_follow:
missing_resource: Nije moguće pronaći traženi URL preusmjeravanja za Vaš račun
sessions:
- platforms:
- other: nepoznata platforma
revoke: Opozovi
revoke_success: Sesija je uspješno opozvana
title: Sesije
diff --git a/config/locales/hu.yml b/config/locales/hu.yml
index 620e8d6799..6c9d869e17 100644
--- a/config/locales/hu.yml
+++ b/config/locales/hu.yml
@@ -1196,8 +1196,6 @@ hu:
index:
hint: Ez a szűrő egyedi bejegyzések kiválasztására vonatkozik a megadott kritériumoktól függetlenül. Újabb bejegyzéseket adhatsz hozzá ehhez a szűrőhöz a webes felületen keresztül.
title: Megszűrt bejegyzések
- footer:
- trending_now: Most felkapott
generic:
all: Mind
all_items_on_page_selected_html:
@@ -1407,6 +1405,7 @@ hu:
confirm_remove_selected_followers: Biztos, hogy el szeretnéd távolítani a kiválasztott követőket?
confirm_remove_selected_follows: Biztos, hogy el szeretnéd távolítani a kiválasztott követéseket?
dormant: Elhagyott
+ follow_failure: Nem sikerült bekövetni néhányat a kiválasztott fiókok közül.
follow_selected_followers: Kiválasztott követők bekövetése
followers: Követők
following: Követve
@@ -1446,6 +1445,7 @@ hu:
electron: Electron
firefox: Firefox
generic: Ismeretlen böngésző
+ huawei_browser: Huawei Böngésző
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Böngésző
@@ -1455,6 +1455,7 @@ hu:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Ismeretlen böngésző
weibo: Weibo
current_session: Jelenlegi munkamenet
description: "%{browser} az alábbi platformon: %{platform}"
@@ -1467,9 +1468,10 @@ hu:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: Mac
- other: ismeretlen platform
+ unknown_platform: Ismeretlen platform
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/hy.yml b/config/locales/hy.yml
index de995c5b5e..7a1b33c709 100644
--- a/config/locales/hy.yml
+++ b/config/locales/hy.yml
@@ -575,8 +575,6 @@ hy:
title: Ֆիլտրեր
new:
title: Ավելացնել ֆիլտր
- footer:
- trending_now: Այժմ արդիական
generic:
all: Բոլորը
changes_saved_msg: Փոփոխութիւնները յաջող պահուած են
@@ -758,7 +756,6 @@ hy:
ios: iOS
linux: Լինուքս
mac: macOS
- other: անհայտ հարթակ
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/id.yml b/config/locales/id.yml
index 2363cc66ac..d6672e96da 100644
--- a/config/locales/id.yml
+++ b/config/locales/id.yml
@@ -1133,8 +1133,6 @@ id:
index:
hint: Saringan ini diterapkan ke beberapa kiriman individu tanpa memengaruhi oleh kriteria lain. Anda dapat menambahkan lebih banyak kiriman ke saringan ini dari antarmuka web.
title: Kiriman yang disaring
- footer:
- trending_now: Sedang tren
generic:
all: Semua
all_items_on_page_selected_html:
@@ -1395,7 +1393,6 @@ id:
ios: iOS
linux: Linux
mac: Mac
- other: platform yang tidak diketahui
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/io.yml b/config/locales/io.yml
index 9ef6c03128..ab37c13c2a 100644
--- a/config/locales/io.yml
+++ b/config/locales/io.yml
@@ -1112,8 +1112,6 @@ io:
index:
hint: Ca filtrilo aplikesas a selektita posti ne segun altra kriterio. Vu povas pozar plu multa posti a ca filtrilo de retintervizajo.
title: Filtrita posti
- footer:
- trending_now: Nuna tendenco
generic:
all: Omna
all_items_on_page_selected_html:
@@ -1378,7 +1376,6 @@ io:
ios: iOS
linux: Linux
mac: macOS
- other: nesavata platformo
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/is.yml b/config/locales/is.yml
index 5f63482522..75fff84417 100644
--- a/config/locales/is.yml
+++ b/config/locales/is.yml
@@ -1196,8 +1196,6 @@ is:
index:
hint: Þessi sía virkar til að velja stakar færslur án tillits til annarra skilyrða. Þú getur bætt fleiri færslum í þessa síu í vefviðmótinu.
title: Síaðar færslur
- footer:
- trending_now: Í umræðunni núna
generic:
all: Allt
all_items_on_page_selected_html:
@@ -1407,6 +1405,7 @@ is:
confirm_remove_selected_followers: Ertu viss um að þú viljir fjarlægja valda fylgjendur?
confirm_remove_selected_follows: Ertu viss um að þú viljir fjarlægja valið sem fylgst er með?
dormant: Sofandi
+ follow_failure: Gat ekki fylgst með sumum af völdu aðgöngunum.
follow_selected_followers: Fylgjast með völdum fylgjendum
followers: Fylgjendur
following: Fylgist með
@@ -1446,6 +1445,7 @@ is:
electron: Electron
firefox: Firefox
generic: Óþekktur vafri
+ huawei_browser: Huawei-vafri
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi vafri
@@ -1455,6 +1455,7 @@ is:
qq: QQ vafri
safari: Safari
uc_browser: UC-vafrinn
+ unknown_browser: Óþekktur vafri
weibo: Weibo
current_session: Núverandi seta
description: "%{browser} á %{platform}"
@@ -1467,9 +1468,10 @@ is:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: Mac
- other: óþekktu stýrikerfi
+ unknown_platform: Óþekkt stýrikerfi
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/it.yml b/config/locales/it.yml
index 9256ed49d9..694f4e8061 100644
--- a/config/locales/it.yml
+++ b/config/locales/it.yml
@@ -1198,8 +1198,6 @@ it:
index:
hint: Questo filtro si applica a singoli post indipendentemente da altri criteri. Puoi aggiungere più post a questo filtro dall'interfaccia Web.
title: Post filtrati
- footer:
- trending_now: Di tendenza ora
generic:
all: Tutto
all_items_on_page_selected_html:
@@ -1409,6 +1407,7 @@ it:
confirm_remove_selected_followers: Sei sicuro di voler rimuovere i follower selezionati?
confirm_remove_selected_follows: Sei sicuro di voler rimuovere i follow selezionati?
dormant: Dormiente
+ follow_failure: Impossibile seguire alcuni degli account selezionati.
follow_selected_followers: Segui i seguaci selezionati
followers: Seguaci
following: Seguiti
@@ -1448,6 +1447,7 @@ it:
electron: Electron
firefox: Firefox
generic: Browser sconosciuto
+ huawei_browser: Huawei Browser
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
@@ -1457,6 +1457,7 @@ it:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Browser sconosciuto
weibo: Weibo
current_session: Sessione corrente
description: "%{browser} su %{platform}"
@@ -1469,9 +1470,10 @@ it:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: Mac
- other: piattaforma sconosciuta
+ unknown_platform: Piattaforma sconosciuta
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 374fdaf84a..5d0b274111 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -569,7 +569,7 @@ ja:
other_description_html: アカウントの動作を制御するためのオプションや、報告されたアカウントへの通信をカスタマイズするためのオプションを確認してください。
resolve_description_html: 報告されたアカウントに対していかなる措置も取られず、ストライクも記録されず、報告は終了します。
silence_description_html: このアカウントは、すでにフォローしている人、または手動で検索した人にしか見えないため、リーチが極端に制限されます。いつでも元に戻すことができます。このアカウントに対するすべての通報をクローズします。
- suspend_description_html: アカウントとそのすべての内容にアクセスできなくなり、最終的に削除され、それとやり取りは不可能になります。 30日以内にリバーシブル。このアカウントに対するすべての通報をクローズします。
+ suspend_description_html: アカウントとそのすべての内容にアクセスできなくなり、最終的に削除され、やり取りは不可能になります。 30日以内であれば元に戻すことができます。このアカウントに対するすべての通報をクローズします。
actions_description_html: このレポートを解決するために取るアクションを決定します。 報告されたアカウントに対して懲罰的な措置を取った場合、メール通知が送信されますがスパムカテゴリが選択されている場合を除きます。
actions_description_remote_html: この通報を解決するためのアクションを選択してください。これはあなたのサーバーがこのリモートアカウントと通信し、そのコンテンツを処理する時のみ影響します。
add_to_report: 通報にさらに追加
@@ -1139,7 +1139,7 @@ ja:
filters:
contexts:
account: プロフィール
- home: ホームタイムライン
+ home: ホームおよびリスト
notifications: 通知
public: 公開タイムライン
thread: 会話
@@ -1175,8 +1175,6 @@ ja:
index:
hint: このフィルターは、他の条件に関係なく個々の投稿を選択する場合に適用されます。Webインターフェースからこのフィルターにさらに投稿を追加できます。
title: フィルターされた投稿
- footer:
- trending_now: トレンドタグ
generic:
all: すべて
all_items_on_page_selected_html:
@@ -1381,6 +1379,7 @@ ja:
confirm_remove_selected_followers: 選択したフォロワーを削除してもよろしいですか?
confirm_remove_selected_follows: 選択したフォローを削除してもよろしいですか?
dormant: 非アクティブ
+ follow_failure: 選択したアカウントの一部をフォローできませんでした。
follow_selected_followers: 選択したフォロワーをフォロー
followers: フォロワー
following: フォロー中
@@ -1420,6 +1419,7 @@ ja:
electron: Electron
firefox: Firefox
generic: 不明なブラウザ
+ huawei_browser: Huaweiブラウザ
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
@@ -1429,6 +1429,7 @@ ja:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: 不明なブラウザ
weibo: Weibo
current_session: 現在のセッション
description: "%{platform}上の%{browser}"
@@ -1441,9 +1442,10 @@ ja:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: macOS
- other: 不明なプラットフォーム
+ unknown_platform: 不明なプラットフォーム
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/ka.yml b/config/locales/ka.yml
index dcc7e6580e..80dc2b9f57 100644
--- a/config/locales/ka.yml
+++ b/config/locales/ka.yml
@@ -421,7 +421,6 @@ ka:
ios: აი-ოსი
linux: ლინუქსი
mac: მაკი
- other: ამოუცნობი პლატფორმა
windows: ვინდოუსი
windows_mobile: ვინდოუს მობაილი
windows_phone: ვინდოუს ფოუნი
diff --git a/config/locales/kab.yml b/config/locales/kab.yml
index ead31b695f..ffd79e76f8 100644
--- a/config/locales/kab.yml
+++ b/config/locales/kab.yml
@@ -543,8 +543,6 @@ kab:
back_to_filter: Tuɣalin ɣer umsizdeg
batch:
remove: Kkes seg umsizdeg
- footer:
- trending_now: Ayen mucaɛen tura
generic:
all: Akk
changes_saved_msg: Ttwaskelsen ibelliden-ik·im akken ilaq!
@@ -669,7 +667,6 @@ kab:
ios: iOS
linux: Linux
mac: macOS
- other: anagraw arussin
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Tiliγri Windows Phone
diff --git a/config/locales/kk.yml b/config/locales/kk.yml
index 959f7b0f01..d250a30a89 100644
--- a/config/locales/kk.yml
+++ b/config/locales/kk.yml
@@ -470,8 +470,6 @@ kk:
title: Фильтрлер
new:
title: Жаңа фильтр қосу
- footer:
- trending_now: Бүгінгі трендтер
generic:
all: Барлығы
changes_saved_msg: Өзгерістер сәтті сақталды!
@@ -646,7 +644,6 @@ kk:
ios: iОS
linux: Lіnux
mac: Mаc
- other: белгісіз платформа
windows: Windоws
windows_mobile: Windows Mоbile
windows_phone: Windоws Phone
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index a8fe44087f..96d73af86c 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -1065,7 +1065,7 @@ ko:
email_contact_html: 아직 도착하지 않았다면, %{email}에 메일을 보내 도움을 요청할 수 있습니다
email_reconfirmation_html: 아직 확인 메일이 도착하지 않은 경우, 다시 요청할 수 있습니다
irreversible: 계정을 복구하거나 다시 사용할 수 없게 됩니다
- more_details_html: 더 자세한 정보는, 개인정보 정책을 참고하세요.
+ more_details_html: 더 자세한 정보는, 개인정보처리방침을 참고하세요.
username_available: 이 사용자명을 다시 쓸 수 있게 됩니다.
username_unavailable: 이 사용자명은 앞으로도 쓸 수 없는 채로 남게 됩니다.
disputes:
@@ -1137,7 +1137,7 @@ ko:
add_new: 추가
errors:
limit: 추천 해시태그 최대 개수를 초과합니다
- hint_html: "추천 해시태그가 무엇이죠? 당신의 공개 프로필 페이지에 눈에 띄게 표현 되며 사람들이 그 해시태그를 포함한 당신의 글을 찾아 볼 수 있도록 합니다. 창작활동이나 긴 기간을 가지는 프로젝트를 쭉 따라가기에 좋은 도구입니다."
+ hint_html: "추천 해시태그가 무엇일까요? 해시태그는 공개 프로필에 눈에 잘 띄게 표시되며, 사람들은 해당 해시태그로 내 공개 글을 검색할 수 있습니다. 창작물이나 장기 프로젝트를 추적하는 데 유용한 도구입니다."
filters:
contexts:
account: 프로필
@@ -1177,8 +1177,6 @@ ko:
index:
hint: 이 필터는 다른 기준에 관계 없이 선택된 개별적인 게시물들에 적용됩니다. 웹 인터페이스에서 더 많은 게시물들을 이 필터에 추가할 수 있습니다.
title: 필터링된 게시물
- footer:
- trending_now: 지금 유행 중
generic:
all: 모두
all_items_on_page_selected_html:
@@ -1372,7 +1370,7 @@ ko:
posting_defaults: 게시물 기본설정
public_timelines: 공개 타임라인
privacy_policy:
- title: 개인정보 정책
+ title: 개인정보처리방침
reactions:
errors:
limit_reached: 리액션 갯수 제한에 도달했습니다
@@ -1383,6 +1381,7 @@ ko:
confirm_remove_selected_followers: 정말로 선택된 팔로워들을 삭제하시겠습니까?
confirm_remove_selected_follows: 정말로 선택된 팔로우를 끊으시겠습니까?
dormant: 휴면
+ follow_failure: 선택한 계정 중 몇몇은 팔로우 할 수 없었습니다.
follow_selected_followers: 선택한 팔로워들을 팔로우
followers: 팔로워
following: 팔로잉
@@ -1422,6 +1421,7 @@ ko:
electron: 일렉트론
firefox: 파이어폭스
generic: 알 수 없는 브라우저
+ huawei_browser: 화웨이 브라우저
ie: 인터넷 익스플로러
micro_messenger: 마이크로메신저
nokia: Nokia S40 Ovi 브라우저
@@ -1431,6 +1431,7 @@ ko:
qq: QQ 브라우저
safari: 사파리
uc_browser: UC 브라우저
+ unknown_browser: 알 수 없는 브라우저
weibo: 웨이보
current_session: 현재 세션
description: "%{platform}의 %{browser}"
@@ -1443,9 +1444,10 @@ ko:
chrome_os: 크롬OS
firefox_os: 파이어폭스OS
ios: iOS
+ kai_os: KaiOS
linux: 리눅스
mac: macOS
- other: 알 수 없는 플랫폼
+ unknown_platform: 알 수 없는 플랫폼
windows: 윈도우
windows_mobile: 윈도우 모바일
windows_phone: 윈도우 폰
@@ -1466,7 +1468,7 @@ ko:
export: 데이터 내보내기
featured_tags: 추천 해시태그
import: 데이터 가져오기
- import_and_export: 가져오기 / 내보내기
+ import_and_export: 가져오기 & 내보내기
migrate: 계정 이동
notifications: 알림
preferences: 사용자 설정
diff --git a/config/locales/ku.yml b/config/locales/ku.yml
index 899cd936a0..534eacdd66 100644
--- a/config/locales/ku.yml
+++ b/config/locales/ku.yml
@@ -1156,8 +1156,6 @@ ku:
index:
hint: Ev parzûn bêyî pîvanên din ji bo hilbijartina şandiyên kesane tê sepandin. Tu dikarî ji navrûya tevnê bêtir şandiyan tevlî vê parzûnê bikî.
title: Şandiyên parzûnkirî
- footer:
- trending_now: Niha rojevê de
generic:
all: Hemû
all_items_on_page_selected_html:
@@ -1423,7 +1421,6 @@ ku:
ios: iOS
linux: Linux
mac: macOS
- other: platforma nenas
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/lt.yml b/config/locales/lt.yml
index b6dd360dbe..5139c7c480 100644
--- a/config/locales/lt.yml
+++ b/config/locales/lt.yml
@@ -433,8 +433,6 @@ lt:
current_session: Dabartinė sesija
description: "%{browser} ant %{platform}"
explanation: Čia rodomos web naršyklės prijungtos prie Jūsų Mastodon paskyros.
- platforms:
- other: nežinoma platforma
revoke: Atšaukti
revoke_success: Sesija sėkmingai atšaukta
title: Sesijos
diff --git a/config/locales/lv.yml b/config/locales/lv.yml
index 8bcb23c602..fbe0ccc727 100644
--- a/config/locales/lv.yml
+++ b/config/locales/lv.yml
@@ -1217,8 +1217,6 @@ lv:
index:
hint: Šis filtrs attiecas uz atsevišķu ziņu atlasi neatkarīgi no citiem kritērijiem. Šim filtram tu vari pievienot vairāk ziņu, izmantojot tīmekļa saskarni.
title: Filtrētās ziņas
- footer:
- trending_now: Šobrīd populārākie
generic:
all: Visi
all_items_on_page_selected_html:
@@ -1353,7 +1351,7 @@ lv:
favourite:
body: 'Tavu ziņu izlasei pievienoja %{name}:'
subject: "%{name} pievienoja tavu ziņu izlasei"
- title: Jauns izcēlums
+ title: Jauna izlase
follow:
body: "%{name} tagad tev seko!"
subject: "%{name} tagad tev seko"
@@ -1433,6 +1431,7 @@ lv:
confirm_remove_selected_followers: Vai tiešām vēlies noņemt atlasītos sekotājus?
confirm_remove_selected_follows: Vai tiešām vēlies noņemt atlasītos sekojumus?
dormant: Snaudošie
+ follow_failure: Nevarēja sekot dažiem atlasītajiem kontiem.
follow_selected_followers: Sekot atlasītajiem sekotājiem
followers: Sekotāji
following: Seko
@@ -1472,6 +1471,7 @@ lv:
electron: Electron
firefox: Firefox
generic: Nezināms pārlūks
+ huawei_browser: Huawei Browser
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
@@ -1481,6 +1481,7 @@ lv:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Nezināms Pārlūks
weibo: Weibo
current_session: Pašreizējā sesija
description: "%{browser} uz %{platform}"
@@ -1493,9 +1494,10 @@ lv:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: macOS
- other: nezināma platforma
+ unknown_platform: Nezināma Platforma
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/ms.yml b/config/locales/ms.yml
index 2bee9fee14..60db149e06 100644
--- a/config/locales/ms.yml
+++ b/config/locales/ms.yml
@@ -921,7 +921,6 @@ ms:
android: Android
ios: iOS
linux: Linux
- other: platform tidak dikenali
title: Sesi
settings:
account: Akaun
diff --git a/config/locales/my.yml b/config/locales/my.yml
index a2aaeece03..ae3b941e02 100644
--- a/config/locales/my.yml
+++ b/config/locales/my.yml
@@ -2,6 +2,7 @@
my:
about:
about_mastodon_html: အနာဂတ်အတွက်လူမှုကွန်ရက် - ကြော်ငြာများမရှိခြင်း၊ အဖွဲ့သားများအား စောင့်ကြည့်မှုမရှိခြင်း၊ ကျင့်ဝတ်ပိုင်းဆိုင်ရာစိတ်ချရခြင်းနှင့် ဗဟိုချုပ်ကိုင်မှုမရှိခြင်း၊ သင့်အချက်အလက်များကို Mastodon နှင့်သာ မျှဝေအသုံးပြုလိုက်ပါ။
+ contact_unavailable: မရှိ
hosted_on: "%{domain} မှ လက်ခံဆောင်ရွက်ထားသော Mastodon"
title: အကြောင်း
accounts:
@@ -17,8 +18,12 @@ my:
other: ပို့စ်တင်မယ်
posts_tab_heading: ပို့စ်များ
admin:
+ account_actions:
+ title: "%{acct} စိစစ်မှုလုပ်ဆောင်ရန်"
account_moderation_notes:
create: မှတ်စုမှထွက်ရန်
+ created_msg: စိစစ်ခြင်းမှတ်စုကို ဖန်တီးပြီးပါပြီ။
+ destroyed_msg: စိစစ်ခြင်းမှတ်စုကို ဖျက်ပစ်လိုက်ပါပြီ။
accounts:
add_email_domain_block: ဒိုမိန်းကိုပိတ်မည်
approve: အတည်ပြုပါ
@@ -44,6 +49,8 @@ my:
custom: စိတ်ကြိုက်
delete: အချက်အလက်များဖျက်ပါ
deleted: ဖျက်ပြီးပါပြီ
+ disable: ရပ်တန့်
+ disable_sign_in_token_auth: အီးမေးတိုကင် အထောက်အထားပြခြင်းကို ပိတ်ပါ
disable_two_factor_authentication: 2FA ကို ပိတ်ပါ
display_name: ဖော်ပြမည့်အမည်
domain: ဒိုမိန်း
@@ -55,6 +62,8 @@ my:
followers: စောင့်ကြည့်သူများ
follows: စောင့်ကြည့်မယ်
header: မျက်နှာဖုံးပုံ
+ inbox_url: Inbox URL
+ invite_request_text: ပါဝင်ရခြင်း အကြောင်းအရင်း
invited_by: ဖိတ်ခေါ်ထားသည်
ip: IP
joined: စတင်ဝင်ရောက်သည့်နေ့
@@ -66,6 +75,7 @@ my:
login_status: အကောင့်ဝင်ရောက်မှုအခြေအနေ
media_attachments: မီဒီယာ ပူးတွဲချက်များ
memorialize: အမှတ်တရအဖြစ် ပြောင်းပါ
+ memorialized_msg: "%{username} ကို အမှတ်တရအကောင့်အဖြစ် ပြောင်းလဲခဲ့သည်"
moderation:
active: လက်ရှိအသုံးပြုလျက်ရှိခြင်း
all: အားလုံး
@@ -78,6 +88,7 @@ my:
most_recent_activity: နောက်ဆုံးအသုံးပြုခဲ့သည့်အချိန်
most_recent_ip: အသုံးပြုလေ့ရှိသည့် IP လိပ်စာ
no_account_selected: မည်သည့်အကောင့်ကိုမျှ ရွေးချယ်ထားခြင်းမရှိသောကြောင့် ပြောင်းလဲခြင်းမရှိပါ
+ no_role_assigned: တာဝန်ပေးအပ်ထားခြင်း မရှိပါ
not_subscribed: စာရင်းသွင်းထားခြင်းမရှိပါ
perform_full_suspension: ရပ်ဆိုင်းရန်
promote: အထောက်အကူ
@@ -86,6 +97,8 @@ my:
redownload: ပရိုဖိုင်ကို ပြန်လည်စတင်ရန်
redownloaded_msg: မူလမှစ၍ %{username} ၏ ပရိုဖိုင်ကို ပြန်လည်စတင်ပြီးပါပြီ
reject: ဖယ်ရှားပါ
+ rejected_msg: "%{username} ၏ အကောင့်ဖွင့်အက်ပလီကေးရှင်းကို ဖယ်ရှားလိုက်ပါပြီ"
+ remote_suspension_irreversible: ဤအကောင့်၏အချက်အလက်ကို လုံးဝ ဖျက်လိုက်ပါပြီ။
remove_avatar: ကိုယ်စားပြုရုပ်ပုံကို ဖယ်ရှားပါ
remove_header: မျက်နှာဖုံးပုံ ဖယ်ရှားရန်
removed_avatar_msg: "%{username} ၏ ကိုယ်စားပြုရုပ်ပုံအား ဖယ်ရှားပြီးပါပြီ"
@@ -98,11 +111,14 @@ my:
resubscribe: ပြန်လည်စာရင်းသွင်းပါ
role: အခန်းကဏ္ဍ
search: ရှာရန်
+ search_same_email_domain: အီးမေးလ်ဒိုမိန်းတူညီသည့် အခြားအသုံးပြုသူများ
search_same_ip: IP တူတူ အသုံးပြုသော အခြားသူများ
security: လုံခြုံရေး
security_measures:
only_password: စကားဝှက်ဖြင့်သာ
password_and_2fa: စကားဝှက်နှင့် 2FA
+ sensitized: သတိထားရသည်ဟု အမှတ်အသားပြုထားပါ
+ shared_inbox_url: inbox URL ကို မျှဝေခဲ့သည်
show:
created_reports: ဆောင်ရွက်ခဲ့ပြီးသောအစီရင်ခံစာများ
targeted_reports: အခြားသူများမှဆောင်ရွက်ခဲ့သော အစီရင်ခံစာများ
@@ -115,10 +131,12 @@ my:
title: အကောင့်များ
unblock_email: အီးမေးလ်ကိုပြန်ဖွင့်မည်
unblocked_email_msg: " %{username} အီးမေးလ်ကိုပြန်ဖွင့်လိုက်ပါပြီ"
+ unconfirmed_email: အတည်မပြုရသေးသော အီးမေးလ်
unsubscribe: စာရင်းမှထွက်ရန်
unsuspended_msg: "%{username} ၏ အကောင့်ကို ရပ်ဆိုင်းလိုက်ပါပြီ"
username: အသုံးပြုသူအမည်
view_domain: ဒိုမိန်းအတွက် အကျဉ်းချုပ်ကို ကြည့်ပါ
+ warn: သတိပေးရန်
web: ဝဘ်
whitelisted: ဖက်ဒီကို ခွင့်ပြုခဲ့သည်
action_logs:
@@ -144,9 +162,11 @@ my:
destroy_domain_allow: ဒိုမိန်းခွင့်ပြုခြင်းကို ဖျက်ရန်
destroy_domain_block: ဒိုမိန်းပိတ်ပင်ခြင်းအား ဖျက်ရန်
destroy_email_domain_block: အီးမေးလ်ဒိုမိန်းပိတ်ပင်ခြင်းအား ဖျက်ရန်
+ destroy_instance: ဒိုမိန်းကို ဖယ်ရှားပါ
destroy_ip_block: IP စည်းမျဉ်းကို ဖျက်ပါ
destroy_status: Post ကို ဖျက်ပါ
destroy_unavailable_domain: အသုံးမပြုနိုင်သောဒိုမိန်းကို ဖျက်ပါ
+ destroy_user_role: အခန်းကဏ္ဍကို ဖျက်ပါ
disable_2fa_user: 2FA ကို ပိတ်ပါ
disable_custom_emoji: စိတ်ကြိုက်အီမိုဂျီကို ပိတ်ပါ
disable_sign_in_token_auth_user: အသုံးပြုသူအတွက် အီးမေးလ်တိုကင် အထောက်အထားပြခြင်းကို ပိတ်ထားသည်
@@ -174,6 +194,7 @@ my:
update_status: ပို့စ်ပြင်ဆင်ရန်
update_user_role: အခန်းကဏ္ဍပြင်ဆင်ရန်
actions:
+ approve_appeal_html: "%{name} က %{target} မှ စိစစ်ဆုံးဖြတ်ချက်အယူခံဝင်ခြင်းကို အတည်ပြုခဲ့သည်"
approve_user_html: " %{name} က %{target} မှ အကောင့်ဖွင့်ခြင်းကို အတည်ပြုထားသည်"
assigned_to_self_report_html: "%{name} က အစီရင်ခံစာ %{target} များကို ၎င်းတို့ထံ ပေးအပ်ခဲ့သည်"
change_email_user_html: "%{name} က အသုံးပြုသူ %{target} ၏ အီးမေးလ်လိပ်စာကို ပြောင်းခဲ့သည်"
@@ -187,6 +208,7 @@ my:
create_domain_block_html: "%{name} က ဒိုမိန်း %{target} ကို ပိတ်ပင်ထားသည်"
create_email_domain_block_html: "%{name} က အီးမေးလ်ဒိုမိန်း %{target} ကို ပိတ်ပင်ထားသည်"
create_ip_block_html: "%{name} က IP %{target} အတွက် စည်းမျဉ်းကို ဖန်တီးထားသည်"
+ create_unavailable_domain_html: "%{name} က ဒိုမိန်း %{target} သို့ ပေးပို့မှုကို ရပ်လိုက်သည်"
create_user_role_html: "%{name} က %{target} အခန်းကဏ္ဍကို ဖန်တီးပြီးပါပြီ"
demote_user_html: "%{name} က အသုံးပြုသူ %{target} ကို ဖြုတ်ပြီးပါပြီ"
destroy_announcement_html: "%{name} က ကြေညာချက် %{target} ကို ဖျက်လိုက်သည်"
@@ -198,6 +220,7 @@ my:
destroy_instance_html: "%{name} က ဒိုမိန်း %{target} ကို ဖယ်ရှားခဲ့သည်"
destroy_ip_block_html: "%{name} က IP %{target} အတွက် စည်းမျဉ်းကို ဖျက်ထားသည်"
destroy_status_html: "%{name} က %{target} မှ တင်ထားသောပို့စ်ကို ဖယ်ရှားခဲ့သည်"
+ destroy_unavailable_domain_html: "%{name} က ဒိုမိန်း %{target} သို့ ပေးပို့မှုကို ပြန်လည်စတင်ခဲ့သည်"
destroy_user_role_html: "%{name} ဖျက်ထားသော အခန်းကဏ္ဍ %{target} "
disable_2fa_user_html: "%{name} က အသုံးပြုသူ %{target} အတွက် နှစ်ဆင့်ခံလုံခြုံရေးလိုအပ်ချက်ကို ပိတ်ထားသည်"
disable_custom_emoji_html: "%{name} ပိတ်ထားသောအီမိုဂျီ %{target}"
@@ -242,6 +265,8 @@ my:
create: ကြေညာချက်ဖန်တီးပါ
title: ကြေညာချက်အသစ်
publish: ပို့စ်တင်မည်
+ published_msg: ကြေညာချက်တင်ပြီးပါပြီ။
+ scheduled_for: "%{time} အတွက် စီစဉ်ထားသည်"
title: ကြေညာချက်များ
unpublish: ပြန်ဖြုတ်ပါ
unpublished_msg: ကြေညာချက်ကို ဖြုတ်ပြီးပါပြီ
@@ -282,6 +307,10 @@ my:
new_users: အသုံးပြုသူအသစ်များ
pending_appeals_html:
other: "%{count} အယူခံဝင်မှုကို ဆိုင်းငံ့ထားခြင်း"
+ pending_reports_html:
+ other: "%{count} မှတ်တမ်းဆောင်ရွက်ဆဲ"
+ pending_tags_html:
+ other: "%{count} hashtag ဆောင်ရွက်ဆဲ"
pending_users_html:
other: "%{count} ဆိုင်းငံ့အသုံးပြုသူ"
software: ဆော့ဖ်ဝဲလ်
@@ -298,6 +327,7 @@ my:
domain_allows:
add_new: ဒိုမိန်းဖြင့် ဖက်ဒီကို ခွင့်ပြုရန်
created_msg: ဒိုမိန်းကို ဖက်ဒီအတွက် ခွင့်ပြုပြီးပါပြီ
+ destroyed_msg: ဒိုမိန်းအား ဖက်ဒီမှ ခွင့်မပြုပါ
export: ထုတ်ယူခြင်း
import: ထည့်သွင်းခြင်း
undo: ဒိုမိန်းဖြင့် ဖက်ဒီကို ခွင့်မပြုပါ
@@ -319,11 +349,17 @@ my:
private_comment: သီးသန့်မှတ်ချက်
private_comment_hint: စိစစ်သူများ၏အတွင်းပိုင်းအသုံးပြုမှုအတွက် ဤဒိုမိန်းကန့်သတ်ချက်ဆိုင်ရာမှတ်ချက်။
public_comment: အများမြင်မှတ်ချက်
+ public_comment_hint: ဒိုမိန်းကန့်သတ်ချက်များစာရင်းကို ကြော်ငြာထားပါက အများသူငှာအတွက် ဤဒိုမိန်းကန့်သတ်ချက်နှင့်ပတ်သက်၍ ရေးသားပေးထားရန်။
reject_media: မီဒီယာဖိုင်များကို ဖယ်ရှားပါ
+ reject_media_hint: စက်တွင်းသိမ်းဆည်းထားသည့် မီဒီယာဖိုင်များကို ဖယ်ရှားပြီး ဒေါင်းလုဒ်လုပ်ခွင့် မရှိပါ။ ဆိုင်းငံ့ခြင်းများအတွက် မသက်ဆိုင်ပါ။
+ reject_reports: မှတ်တမ်းများ ဖယ်ရှားရန်
+ reject_reports_hint: ဤဒိုမိန်းမှလာသော မှတ်တမ်းအားလုံးကို လျစ်လျူရှုပါ။ ဆိုင်းငံ့ခြင်းများအတွက် မသက်ဆိုင်ပါ။
undo: ဒိုမိန်းပိတ်ပင်ခြင်းကို ပြန်ဖျက်ရန်
view: ဒိုမိန်းပိတ်ပင်ခြင်းကို ကြည့်ရန်
email_domain_blocks:
add_new: အသစ် ထည့်ပါ
+ attempts_over_week:
+ other: ပြီးခဲ့သည့် ရက်သတ္တပတ်အတွင်း %{count} ကြိုးပမ်းမှု
created_msg: အီးမေးလ်ဒိုမိန်းကို ပိတ်ပင်နိုင်ခဲ့ပါသည်
delete: ဖျက်ပါ
dns:
@@ -351,7 +387,13 @@ my:
follow_recommendations:
language: ဘာသာစကားအတွက်
status: အခြေအနေ
+ title: အကြံပြုချက်များကို စောင့်ကြည့်ပါ
+ unsuppress: အကြံပြုချက်စောင့်ကြည့်ခြင်းအား ပြန်လည်ရယူပါ
instances:
+ availability:
+ failures_recorded:
+ other: "%{count} ရက်နေ့တွင် ကြိုးစားမှု မအောင်မြင်ပါ။"
+ title: ရရှိနိုင်မှု
back_to_all: အားလုံး
back_to_limited: ကန့်သတ်ထားသည်
back_to_warning: သတိပေးချက်
@@ -365,6 +407,7 @@ my:
silence: ကန့်သတ်
suspend: ရပ်ဆိုင်းပါ
policy: မူဝါဒ
+ title: အကြောင်းအရာမူဝါဒများ
dashboard:
instance_accounts_dimension: အများဆုံးစောင့်ကြည့်ထားသည့်အကောင့်များ
instance_accounts_measure: သိမ်းဆည်းထားသော အကောင့်များ
@@ -372,10 +415,14 @@ my:
instance_follows_measure: သူတို့၏စောင့်ကြည့်သူများ ဒီနေရာမှာပါ
instance_languages_dimension: အသုံးများသည့်ဘာသာစကားများ
instance_media_attachments_measure: သိမ်းဆည်းထားသော မီဒီယာပူးတွဲဖိုင်များ
+ instance_reports_measure: "၎င်းတို့နှင့်ဆိုင်သော အစီရင်ခံစာများ"
instance_statuses_measure: သိမ်းဆည်းထားသောပို့စ်များ
delivery:
all: အားလုံး
+ restart: ပေးပို့မှုကို ပြန်လည်စတင်ရန်
+ stop: ပေးပို့မှုကို ရပ်ရန်
unavailable: မရရှိနိုင်ပါ
+ empty: ဒိုမိန်းများ မတွေ့ပါ။
moderation:
all: အားလုံး
limited: ကန့်သတ်ထားသော
@@ -389,10 +436,13 @@ my:
total_reported: "၎င်းတို့နှင့်ဆိုင်သော အစီရင်ခံစာများ"
total_storage: မီဒီယာ ပူးတွဲချက်များ
invites:
+ deactivate_all: အားလုံးပယ်ဖျက်ရန်
filter:
all: အားလုံး
available: ရရှိနိုင်သော
+ expired: သက်တမ်းကုန်သွားပါပြီ
title: စစ်ထုတ်ခြင်း
+ title: ဖိတ်ခေါ်ခြင်း
ip_blocks:
add_new: စည်းမျဉ်းဖန်တီးပါ
created_msg: IP စည်းမျဉ်းအသစ် ထည့်သွင်းပြီးပါပြီ
@@ -411,21 +461,32 @@ my:
relationships:
title: "%{acct} နှင့် ပတ်သက်မှု"
relays:
+ add_new: relay အသစ်ထည့်ပါ
delete: ဖျက်ပါ
disable: ပိတ်ပါ
disabled: ပိတ်ထားသည်
enable: ဖွင့်ပါ
enabled: ဖွင့်ထားသည်
+ inbox_url: ထပ်ဆင့်ပေးပို့မည့် URL
+ pending: ထပ်ဆင့်အတည်ပြုချက်ကို စောင့်ဆိုင်းနေခြင်း
save_and_enable: သိမ်းပြီး ဖွင့်ရန်
+ setup: ထပ်ဆင့်ချိတ်ဆက်မှုစနစ် ထည့်သွင်းပါ
+ signatures_not_enabled: လုံခြုံရေးမုဒ် သို့မဟုတ် ကန့်သတ်ဖက်ဒီမုဒ်ကို ဖွင့်ထားစဉ် ထပ်ဆင့်ပို့ထားမှုများမှာ မှန်ကန်စွာ အလုပ်မလုပ်နိုင်တော့ပါ
status: အခြေအနေ
+ title: ထပ်ဆင့်ပေးပို့ခြင်းများ
+ report_notes:
+ created_msg: မှတ်တမ်းမှတ်စုကို ဖန်တီးပြီးပါပြီ။
+ destroyed_msg: မှတ်တမ်းမှတ်စုကို ဖျက်ပြီးပါပြီ။
reports:
account:
notes:
other: "%{count} မှတ်စု"
action_log: မှတ်တမ်းများစစ်ဆေးခြင်း
+ action_taken_by: ဆောင်ရွက်ခဲ့ပါသည်
are_you_sure: သေချာပါသလား။
assign_to_self: ကျွန်ုပ်ကို တာဝန်ပေးရန်
assigned: စိစစ်သူကို တာဝန်ပေးရန်
+ by_target_domain: တိုင်ကြားထားသော အကောင့်၏ ဒိုမိန်း
cancel: ပယ်ဖျက်မည်
category: အမျိုးအစား
comment_description_html: "%{name} က နောက်ထပ်အချက်အလက်များ ပံ့ပိုးပေးနိုင်ရန်အတွက် ရေးသားခဲ့သည် -"
@@ -435,6 +496,7 @@ my:
forwarded: ထပ်ဆင့်ပို့ပြီးပါပြီ
forwarded_to: "%{domain} သို့ ထပ်ဆင့်ပို့ထားသည်"
mark_as_resolved: ဖြေရှင်းပြီးကြောင်း အမှတ်အသားပြုပါ
+ mark_as_sensitive: သတိထားရသည်ဟု အမှတ်အသားပြုပါ
mark_as_unresolved: မဖြေရှင်းရသေးကြောင်း အမှတ်အသားပြုပါ
no_one_assigned: တစ်ယောက်မျှမရှိပါ
notes:
@@ -447,6 +509,7 @@ my:
reopen: အစီရင်ခံစာပြန်ဖွင့်ရန်
report: "#%{id} အစီရင်ခံရန်"
resolved: ဖြေရှင်းပြီးပါပြီ
+ resolved_msg: မှတ်တမ်းကို ဖြေရှင်းပြီးပါပြီ။
skip_to_actions: လုပ်ဆောင်ချက်များသို့ ကျော်သွားရန်
status: အခြေအနေ
summary:
@@ -457,7 +520,10 @@ my:
suspend_html: သင်သည် @%{acct} ၏ အကောင့်ကို ဆိုင်းငံ့ တော့မည်ဖြစ်သည်။ ၎င်းမှာ -
actions:
suspend_html: "@%{acct} ကို ဆိုင်းငံ့ထားသောကြောင့် ပရိုဖိုင်နှင့် အကြောင်းအရာများအား ဝင်ရောက်ခွင့်မရှိတော့သဖြင့် အပြန်အလှန် တုံ့ပြန်၍ မရတော့ခြင်း"
+ close_report: 'တိုင်ကြားစာ #%{id} ကို ဖြေရှင်းပြီးကြောင်း အမှတ်အသားပြုပါ'
delete_data_html: "@%{acct} ၏ ပရိုဖိုင်နှင့် အကြောင်းအရာများကို ဆိုင်းငံ့ထားခြင်းမရှိပါက ယခုမှ ရက်ပေါင်း ၃၀ အတွင်း ဖျက်ရန်"
+ preview_preamble_html: "@%{acct} သည် အောက်ပါအကြောင်းအရာများကြောင့် သတိပေးချက်ကို လက်ခံရရှိပါမည် -"
+ title: မှတ်တမ်းများ
unassign: တာဝန်မှဖြုတ်ရန်
unknown_action_msg: အမည်မသိလုပ်ဆောင်ချက်- %{action}
unresolved: မဖြေရှင်းရသေးပါ
@@ -480,7 +546,9 @@ my:
other: "%{count} ခွင့်ပြုချက်"
privileges:
administrator: စီမံသူ
+ administrator_description: ဤခွင့်ပြုချက် အသုံးပြုသူများအနေဖြင့် ခွင့်ပြုချက်တိုင်းကို ကျော်သွားနိုင်ပါမည်
delete_user_data: အသုံးပြုသူ၏အချက်အလက်ကို ဖျက်ပါ
+ delete_user_data_description: အခြားအသုံးပြုသူများ၏ အချက်အလက်များကို နှောင့်နှေးခြင်းမရှိဘဲ အသုံးပြုသူများအား ဖျက်ခွင့်ပြုသည်
invite_users: အသုံးပြုသူများကို ဖိတ်ခေါ်ရန်
invite_users_description: ဆာဗာသို့ လူသစ်များဖိတ်ခေါ်ရန်အတွက် အသုံးပြုသူအား ခွင့်ပြုရန်
manage_announcements: ကြေညာချက်များကို စီမံပါ
@@ -488,63 +556,103 @@ my:
manage_appeals: အယူခံဝင်ထားခြင်းများကို စီမံပါ
manage_appeals_description: စိစစ်အရေးယူမှုများအပေါ် အယူခံဝင်မှုများ ပြန်လည်သုံးသပ်ရန်အတွက် အသုံးပြုသူများအား ခွင့်ပြုရန်
manage_blocks: ပိတ်ပင်ထားမှုများကို စီမံပါ
+ manage_blocks_description: အသုံးပြုသူများအား အီးမေးလ်ဝန်ဆောင်မှုပေးသူများနှင့် IP လိပ်စာများကို ပိတ်ဆို့ရန် ခွင့်ပြုသည်
manage_custom_emojis: စိတ်ကြိုက်အီမိုဂျီများကို ပြင်ဆင်ရန်
manage_custom_emojis_description: အသုံးပြုသူများအား ဆာဗာပေါ်တွင် စိတ်ကြိုက်အီမိုဂျီများကို စီမံခန့်ခွဲရန် ခွင့်ပြုသည်။
manage_federation: ဖက်ဒီကို စီမံပါ
manage_federation_description: အသုံးပြုသူများအား အခြားဒိုမိန်းများနှင့် ပိတ်ပင်ခြင်း၊ ဖက်ဒီခွင့်ပြုခြင်းနှင့် ပေးပို့နိုင်မှုကို ထိန်းချုပ်ခြင်းတို့ကို ခွင့်ပြုသည်။
manage_invites: ဖိတ်ခေါ်ခြင်းကို စီမံရန်
+ manage_invites_description: အသုံးပြုသူများအား ဖိတ်ခေါ်ထားသည့်လင့်များကို ရှာဖွေကြည့်ရှုပြီး ပိတ်ရန် ခွင့်ပြုသည်
manage_reports: အစီရင်ခံစာများကို စီမံပါ
manage_roles: အခန်းကဏ္ဍများကို စီမံပါ
+ manage_roles_description: အသုံးပြုသူများအား ၎င်းတို့၏အောက်တွင်ရှိသော အခန်းကဏ္ဍများကို စီမံခန့်ခွဲရန်နှင့် သတ်မှတ်ရန် ခွင့်ပြုထားသည်
manage_rules: စည်းမျဉ်းများကို စီမံပါ
+ manage_rules_description: အသုံးပြုသူများအား ဆာဗာစည်းမျဉ်းများကို ပြောင်းလဲခွင့် ပြုထားသည်
manage_settings: သတ်မှတ်ချက်များကို စီမံပါ
manage_settings_description: အသုံးပြုသူများကို ဆိုက်သတ်မှတ်ချက်များ ပြောင်းလဲခွင့် ပြုရန်
+ manage_taxonomies_description: ခေတ်စားနေသော အကြောင်းအရာများကို ပြန်လည်သုံးသပ်ရန်နှင့် hashtag သတ်မှတ်ချက်များကို ပြင်ဆင်ရန်အတွက် အသုံးပြုသူများကို ခွင့်ပြုသည်
manage_user_access: အသုံးပြုသူဝင်ရောက်မှုကို စီမံပါ
+ manage_user_access_description: အသုံးပြုသူများကို အခြားအသုံးပြုသူများ၏ နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ကို ပိတ်ရန်၊ ၎င်းတို့၏ အီးမေးလ်လိပ်စာကို ပြောင်းလဲရန်နှင့် စကားဝှက်ကို ပြန်လည်သတ်မှတ်ရန် ခွင့်ပြုသည်
manage_users: အသုံးပြုသူများကို စီမံပါ
+ manage_webhooks: Webhooks ကို စီမံပါ
+ manage_webhooks_description: စီမံခန့်ခွဲရေးဆိုင်ရာ ဖြစ်ရပ်များအတွက် အသုံးပြုသူများအား webhook စနစ်ထည့်သွင်းရန် ခွင့်ပြုထားသည်
+ view_audit_log_description: အသုံးပြုသူများကို ဆာဗာပေါ်တွင် စီမံခန့်ခွဲရေးဆိုင်ရာ လုပ်ဆောင်ချက်မှတ်တမ်းကို ကြည့်ရှုခွင့်ပြုသည်။
view_dashboard: ဒက်ရှ်ဘုတ်မြင်ကွင်းကို ကြည့်ရန်
view_dashboard_description: အသုံးပြုသူများကို ဒက်ရှ်ဘုတ်မြင်ကွင်းနှင့် အမျိုးမျိုးသော ဆိုဒ်နှင့်ဆိုင်သောဂဏန်းများအား ဝင်ရောက်ကြည့်ရှုခွင့်ပြုသည်
view_devops: DevOps
+ view_devops_description: အသုံးပြုသူများကို Sidekiq နှင့် pgHero ဒက်ရှ်ဘုတ်မြင်ကွင်းများသို့ ဝင်ရောက်ခွင့်ပြုသည်
title: အခန်းကဏ္ဍများ
rules:
+ add_new: စည်းမျဉ်းထည့်ပါ
delete: ဖျက်ပါ
+ edit: စည်းမျဉ်းကို ပြင်ဆင်မည်
title: ဆာဗာစည်းမျဉ်းများ
settings:
about:
manage_rules: ဆာဗာစည်းမျဉ်းများကို စီမံရန်
title: အကြောင်း
appearance:
+ preamble: Mastodon ၏ ဝဘ်ပုံစံကို စိတ်ကြိုက်ပြင်ဆင်ပါ။
title: ပုံပန်းသဏ္ဌာန်
+ default_noindex:
+ desc_html: ဤသတ်မှတ်ချက်ကို ကိုယ်တိုင်မပြောင်းရသေးသော အသုံးပြုသူအားလုံးအပေါ် သက်ရောက်မှုရှိသည်
discovery:
+ follow_recommendations: အကြံပြုချက်များကို စောင့်ကြည့်ပါ
profile_directory: ပရိုဖိုင်လမ်းညွှန်
+ public_timelines: အများမြင်စာမျက်နှာ
+ title: ရှာဖွေတွေ့ရှိမှု
+ trends: လက်ရှိခေတ်စားမှုများ
domain_blocks:
all: လူတိုင်း
disabled: မည်သူ့ကိုမျှ
users: အကောင့်ဝင်ထားသော ပြည်တွင်းအသုံးပြုသူများအတွက်
+ registrations:
+ title: စာရင်းသွင်းထားခြင်းများ
registrations_mode:
modes:
+ approved: အကောင့်ဖွင့်ရန်အတွက် အတည်ပြုချက် လိုအပ်ပါသည်
+ none: မည်သူမျှ အကောင့်ဖွင့်၍မရပါ
open: မည်သူမဆို အကောင့်ဖွင့်နိုင်ပါသည်
title: ဆာဗာသတ်မှတ်ချက်များ
site_uploads:
delete: တင်ထားသောဖိုင်ဖျက်ရန်
+ destroyed_msg: ဆိုက်အပ်လုဒ်ကို အောင်မြင်စွာ ဖျက်လိုက်ပါပြီ။
statuses:
account: ရေးသားသူ
application: အက်ပလီကေးရှင်း
back_to_account: အကောင့်စာမျက်နှာသို့ ပြန်သွားရန်
+ batch:
+ remove_from_report: တိုင်ကြားစာမှ ဖယ်ရှားပါ
+ report: တိုင်ကြားစာ
deleted: ဖျက်ပြီးပါပြီ
favourites: အကြိုက်ဆုံးများ
+ history: ဗားရှင်းမှတ်တမ်း
+ in_reply_to: ထံ အကြောင်းပြန်ကြားခြင်း
language: ဘာသာစကား
media:
title: မီဒီယာ
+ metadata: Metadata
+ no_status_selected: မည်သည့်ပို့စ်ကိုမျှ ရွေးချယ်ထားခြင်းမရှိသောကြောင့် ပြောင်းလဲခြင်းမရှိပါ
open: ပို့စ်ဖွင့်ရန်
original_status: မူရင်းပို့စ်
+ reblogs: Reblog များ
+ status_changed: ပို့စ်ပြောင်းပြီးပါပြီ
title: အကောင့်ပို့စ်များ
+ trending: လက်ရှိခေတ်စားနေခြင်း
with_media: မီဒီယာနှင့်အတူ
strikes:
actions:
delete_statuses: "%{name} မှ %{target} ၏ ပို့စ်များကို ဖျက်ခဲ့သည်"
+ mark_statuses_as_sensitive: "%{name} က %{target} ၏ ပို့စ်များကို သတိထားရသောပို့စ်များအဖြစ် အမှတ်အသားပြုထားသည်"
none: "%{name} မှ %{target} သို့ သတိပေးချက်တစ်ခု ပေးပို့ခဲ့သည်"
+ sensitive: "%{name} က %{target} ၏ အကောင့်ကို သတိထားရသောအကောင့်အဖြစ် အမှတ်အသားပြုထားသည်"
+ silence: "%{name} က %{target} ၏ အကောင့်ကို ကန့်သတ်ထားသည်"
+ suspend: "%{name} က %{target} ၏ အကောင့်ကို ဆိုင်းငံ့ထားသည်"
system_checks:
rules_check:
action: ဆာဗာစည်းမျဉ်းများကို စီမံရန်
+ message_html: သင်သည် မည်သည့်ဆာဗာစည်းမျဉ်းများကိုမျှ မသတ်မှတ်ထားပါ။
+ title: စီမံခန့်ခွဲခြင်း
trends:
allow: ခွင့်ပြု
approved: အတည်ပြုပြီးပါပြီ
@@ -552,52 +660,113 @@ my:
links:
allow: လင့်ခ်ကို ခွင့်ပြုရန်
disallow: လင့်ခ်ကို ခွင့်မပြုရန်
+ title: လက်ရှိခေတ်စားနေသော လင့်များ
+ only_allowed: သာခွင့်ပြုသည်
rejected: ဖယ်ရှားပြီးပါပြီ
statuses:
allow: ပို့စ်တင်ခွင့်ပြုရန်
disallow: ပို့စ်ကို တင်ခွင့်မပြုရန်
title: လက်ရှိခေတ်စားနေသော ပို့စ်များ
tags:
+ current_score: "%{score} လက်ရှိရမှတ်"
dashboard:
tag_languages_dimension: အသုံးများသည့်ဘာသာစကားများ
tag_servers_dimension: အသုံးများသည့်ဆာဗာများ
tag_servers_measure: မတူညီသောဆာဗာများ
tag_uses_measure: စုစုပေါင်းအသုံးပြုမှု
listable: အကြံပြုနိုင်ပါသည်
+ not_listable: အကြံပြုမည်မဟုတ်ပါ
+ not_trendable: လက်ရှိခေတ်စားနေသာပို့စ်များအောက်တွင် ပေါ်လာမည်မဟုတ်ပါ
not_usable: အသုံးမပြုနိုင်ပါ
+ title: လက်ရှိခေတ်စားနေသော hashtag များ
+ trending_rank: "#%{rank} ခေတ်စားနေခြင်း"
usable: အသုံးပြုနိုင်သည်
+ usage_comparison: မနေ့က %{yesterday} နှင့် နှိုင်းယှဉ်လျှင် ယနေ့ %{today} ကြိမ် အသုံးပြုခဲ့သည်
+ used_by_over_week:
+ other: ပြီးခဲ့သည့် ရက်သတ္တပတ်အတွင်း လူ %{count} ဦး အသုံးပြုခဲ့သည်။
title: လက်ရှိခေတ်စားမှုများ
trending: လက်ရှိခေတ်စားနေခြင်း
warning_presets:
add_new: အသစ်ထည့်ပါ
delete: ဖျက်ပါ
+ edit_preset: ကြိုသတိပေးချက်ကို ပြင်ဆင်ပါ
+ empty: ကြိုသတိပေးချက်များကို မသတ်မှတ်ရသေးပါ။
+ title: ကြိုသတိပေးချက်များကို စီမံပါ
webhooks:
+ add_new: ဆုံးမှတ် ထည့်ပါ
delete: ဖျက်ပါ
disable: ပိတ်ပါ
disabled: ပိတ်ထားသည်
+ edit: ဆုံးမှတ် ပြင်ဆင်ပါ
enable: ဖွင့်ပါ
enabled: လက်ရှိ
events: ပွဲအစီအစဉ်များ
+ new: webhook အသစ်
status: အခြေအနေ
+ title: Webhook များ
+ webhook: Webhook
admin_mailer:
new_appeal:
actions:
+ delete_statuses: "၎င်းတို့၏ ပို့စ်များကို ဖျက်ရန်"
+ disable: "၎င်းတို့အကောင့်များအား ရပ်ထားရန်"
+ mark_statuses_as_sensitive: "၎င်းတို့၏ ပို့စ်များကို သတိထားရသော ပို့စ်များအဖြစ် အမှတ်အသားပြုရန်"
none: သတိပေးချက်
+ sensitive: "၎င်းတို့၏ အကောင့်များကို သတိထားရသော အကောင့်များအဖြစ် အမှတ်အသားပြုရန်"
+ silence: "၎င်းတို့၏ ပို့စ်များကို ကန့်သတ်ရန်"
+ suspend: "၎င်းတို့၏ အကောင့်ကို ရပ်ဆိုင်းရန်"
+ new_pending_account:
+ body: အကောင့်သစ်၏အသေးစိတ်ကို အောက်တွင်ဖော်ပြထားသည်။ ၎င်းကို အတည်ပြုနိုင်သည် သို့မဟုတ် ငြင်းပယ်နိုင်သည်။
+ subject: " (%{username}) %{instance} ပေါ်ရှိ ပြန်လည်သုံးသပ်ရမည့် အကောင့်သစ်"
+ new_report:
+ body: "%{reporter} က %{target} ကို တိုင်ကြားခဲ့သည်"
+ body_remote: "%{domain} မှ တစ်စုံတစ်ယောက်က %{target} ကို တိုင်ကြားခဲ့သည်"
+ new_trends:
+ body: အောက်ပါအရာများကို အများကိုမပြမီ ပြန်လည်သုံးသပ်ရန် လိုအပ်သည် -
+ new_trending_links:
+ title: လက်ရှိခေတ်စားနေသော လင့်များ
+ new_trending_statuses:
+ title: လက်ရှိခေတ်စားနေသော ပို့စ်များ
+ new_trending_tags:
+ no_approved_tags: လက်ရှိတွင် အတည်ပြုထားသော ခေတ်စားနေသည့် hashtag များမရှိပါ။
+ title: လက်ရှိခေတ်စားနေသော hashtag များ
+ subject: "%{instance} တွင် ပြန်လည်သုံးသပ်ရမည့် ခေတ်စားနေသောပို့စ်အသစ်များ"
+ aliases:
+ add_new: နာမည်တူတစ်ခု ဖန်တီးမည်
+ created_msg: နာမည်တူတစ်ခုကို ဖန်တီးပြီးပါပြီ။ အကောင့်ဟောင်းမှ စတင်ရွှေ့နိုင်ပါပြီ။
+ deleted_msg: နာမည်တူကို ဖယ်ရှားထားပြီးပါပြီ။ ထိုအကောင့်မှ ဤအကောင့်သို့ပြောင်းရန် မဖြစ်နိုင်တော့ပါ။
+ empty: သင့်တွင် နာမည်တူများ မရှိပါ။
appearance:
+ advanced_web_interface: အဆင့်မြင့်ဝဘ်ပုံစံ
+ discovery: ရှာဖွေတွေ့ရှိမှု
localization:
+ body: Mastodon ကို စေတနာ့ဝန်ထမ်းများမှ ဘာသာပြန်ထားပါသည်။
+ guide_link: https://crowdin.com/project/mastodon
guide_link_text: လူတိုင်းပါဝင်ကူညီနိုင်ပါတယ်။
+ sensitive_content: သတိထားရသော အကြောင်းအရာ
+ toot_layout: ပို့စ်အပြင်အဆင်
application_mailer:
+ notification_preferences: အီးမေးလ် သတ်မှတ်ချက်များကို ပြောင်းပါ
salutation: "%{name}"
+ settings: အီးမေးလ် သတ်မှတ်ချက်များကို ပြောင်းပါ - %{link}
view: ကြည့်ရှုရန် -
view_profile: ပရိုဖိုင်ကိုကြည့်ရန်
view_status: ပို့စ်ကိုကြည့်ရန်
applications:
created: အက်ပလီကေးရှင်းကို ဖန်တီးပြီးပါပြီ
+ destroyed: အက်ပလီကေးရှင်းကို ဖျက်ပြီးပါပြီ
+ logout: ထွက်မယ်
+ warning: ဤအချက်အလက်ကို သတိထားပါ။ မည်သူ့ကိုမျှ မမျှဝေပါနှင့်။
auth:
+ apply_for_account: အကောင့်တစ်ခုတောင်းဆိုပါ
change_password: စကားဝှက်
+ confirmations:
+ wrong_email_hint: ထိုအီးမေးလ်လိပ်စာ မမှန်ပါက အကောင့်သတ်မှတ်ချက်များတွင် ပြောင်းလဲနိုင်သည်။
delete_account: အကောင့်ဖျက်ပါ
description:
+ prefix_invited_by_user: "@%{name} က Mastodon ၏ ဆာဗာတွင် ပါဝင်ရန် သင့်ကို ဖိတ်ခေါ်ထားသည်။"
prefix_sign_up: ယနေ့တွင် Mastodon ၌ စာရင်းသွင်းလိုက်ပါ။
+ dont_have_your_security_key: သင့်တွင် လုံခြုံရေးကီး မရှိဘူးလား။
forgot_password: သင့်စကားဝှက် မေ့နေပါသလား။
log_in_with: ဖြင့် ဝင်ရောက်ပါ
login: အကောင့်ဝင်ရန်
@@ -608,13 +777,19 @@ my:
saml: SAML
register: အကောင့်ဖွင့်ရန်
registration_closed: "%{instance} သည် အဖွဲ့ဝင်အသစ်များကို လက်ခံထားခြင်းမရှိပါ"
+ rules:
+ accept: လက်ခံပါ
+ back: နောက်သို့
security: လုံခြုံရေး
set_new_password: စကားဝှက်အသစ် သတ်မှတ်ပါ။
sign_in:
title: "%{domain} သို့ အကောင့်ဝင်ရန်"
status:
account_status: အကောင့်အခြေအနေ
+ use_security_key: လုံခြုံရေးကီးကို သုံးပါ
authorize_follow:
+ already_following: သင်သည် ဤအကောင့်ကို စောင့်ကြည့်နေပြီဖြစ်ပါသည်
+ already_requested: သင်သည် ထိုအကောင့်စောင့်ကြည့်ရန် တောင်းဆိုမှုတစ်ခု ပေးပို့ခဲ့ပြီးပါပြီ
follow: စောင့်ကြည့်မယ်
follow_request: သင်သည် စောင့်ကြည့်မည် တောင်းဆိုချက်တစ်ခု ပေးပို့ထားသည်-
post_follow:
@@ -645,15 +820,21 @@ my:
x_months: "%{count}mo"
x_seconds: "%{count}s"
deletes:
+ confirm_password: အထောက်အထားကိုအတည်ပြုရန်အတွက် သင့်လက်ရှိစကားဝှက်ကို ထည့်ပါ
+ confirm_username: လုပ်ငန်းစဉ်ကို အတည်ပြုရန်အတွက် သင့်အသုံးပြုသူအမည်ကို ထည့်သွင်းပါ
proceed: အကောင့်ဖျက်ပါ
success_msg: သင့်အကောင့်ကို အောင်မြင်စွာ ဖျက်လိုက်ပါပြီ
+ warning:
+ data_removal: သင့်ပို့စ်များနှင့် အခြားအချက်အလက်များကို အပြီးတိုင် ဖယ်ရှားပါမည်
disputes:
strikes:
appeals:
submit: အယူခံဝင်ခွင့်ပြုရန်
+ recipient: လိပ်မူထားသည်
status: "#%{id} ပို့စ်"
title: "%{date} မှ %{action}"
title_actions:
+ delete_statuses: ပို့စ်ဖယ်ရှားခြင်း
none: သတိပေးချက်
errors:
'400': The request you submitted was invalid or malformed.
@@ -671,8 +852,10 @@ my:
archive_takeout:
date: ရက်စွဲ
download: သင်၏မှတ်တမ်းကို ဒေါင်းလုဒ်လုပ်ပါ
+ request: မှတ်တမ်း တောင်းဆိုရန်
size: အရွယ်အစား
blocks: သင်ပိတ်ပင်ထားသည့်လူများစာရင်း
+ bookmarks: မှတ်ထားသည်များ
csv: CSV
domain_blocks: ဒိုမိန်းပိတ်ပင်ထားမှုများ
lists: စာရင်းများ
@@ -684,14 +867,21 @@ my:
account: ပရိုဖိုင်များ
home: ပင်မနှင့် စာရင်းများ
notifications: အကြောင်းကြားချက်များ
+ public: အများမြင်စာမျက်နှာ
thread: စကားဝိုင်းများ
edit:
+ add_keyword: အဓိကစကားလုံး ထည့်ပါ
+ keywords: အဓိကစကားလုံးများ
statuses: တစ်ဦးချင်းတင်ထားသောပို့စ်များ
title: စစ်ထုတ်ခြင်းကို ပြင်ဆင်ရန်
index:
contexts: "%{contexts} ရှိ စစ်ထုတ်ထားမှုများ"
delete: ဖျက်ပါ
empty: သင့်တွင် စစ်ထုတ်ထားခြင်းများ မရှိပါ။
+ expires_in: "%{distance} တွင် သက်တမ်းကုန်မည်"
+ expires_on: "%{date} ရက်နေ့တွင် သက်တမ်းကုန်မည်"
+ keywords:
+ other: "%{count} အဓိကစကားလုံး"
statuses:
other: "%{count} ပို့စ်"
title: စစ်ထုတ်ခြင်းများ
@@ -699,18 +889,26 @@ my:
save: စစ်ထုတ်မှုအသစ် သိမ်းပါ
title: စစ်ထုတ်မှုအသစ် ထည့်ပါ
statuses:
+ back_to_filter: စစ်ထုတ်ခြင်းသို့ ပြန်သွားရန်
+ batch:
+ remove: စစ်ထုတ်ခြင်းမှ ဖယ်ရှားရန်
index:
title: စစ်ထုတ်ထားသော ပို့စ်များ
generic:
all: အားလုံး
copy: ကူးယူပါ
delete: ဖျက်ပါ
+ save_changes: ပြောင်းလဲမှုများကို သိမ်းဆည်းပါ
today: ယနေ့
imports:
+ modes:
+ merge: ပေါင်း
preface: သင်စောင့်ကြည့်နေသည့်လူများစာရင်း သို့မဟုတ် ပိတ်ပင်ထားသည့်စာရင်းကဲ့သို့သော အခြားဆာဗာတစ်ခုမှ သင်ထုတ်ယူထားသည့်အချက်အလက်များကို ပြန်လည်ထည့်သွင်းနိုင်သည်။
types:
blocking: ပိတ်ပင်ထားသည့်စာရင်း
+ bookmarks: Bookmarks
domain_blocking: ဒိုမိန်းပိတ်ပင်ထားသည့်စာရင်း
+ following: စောင့်ကြည့်စာရင်း
upload: တင္ရန်
invites:
expires_in:
@@ -721,22 +919,38 @@ my:
'604800': ၁ ပတ်
'86400': ၁ ရက်
max_uses_prompt: အကန့်အသတ်မဲ့
+ title: ဖိတ်ခေါ်ရန်
login_activities:
authentication_methods:
otp: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်အက်ပ်
password: စကားဝှက်
+ sign_in_token: အီးမေးလ်လုံခြုံရေးကုဒ်
+ webauthn: လုံခြုံရေးကီးများ
media_attachments:
validations:
images_and_video: ရုပ်ပုံပါရှိပြီးသားပို့စ်တွင် ဗီဒီယို ပူးတွဲ၍မရပါ
migrations:
acct: သို့ ပြောင်းရွှေ့ရန်
+ cancel: ပြန်ညွှန်းခြင်းကို ပယ်ဖျက်ရန်
errors:
+ missing_also_known_as: ဤအကောင့်၏ အမည်တူမဟုတ်ပါ
+ move_to_self: လက်ရှိအကောင့်မဖြစ်နိုင်ပါ
not_found: ရှာမတွေ့ပါ
+ incoming_migrations_html: အခြားအကောင့်မှ ဤအကောင့်သို့ ရွှေ့ရန် ဦးစွာ သင်သည် အကောင့်အမည်တူတစ်ခု ဖန်တီးရန် လိုအပ်ပါသည်။
proceed_with_move: စောင့်ကြည့်သူများကို ရွှေ့ရန်
warning:
only_redirect_html: တနည်းအားဖြင့် သင်သည် သင့်ပရိုဖိုင်ပေါ်တွင် ပြန်ညွှန်းခြင်းကိုသာ ပြုလုပ်နိုင်သည်။
redirect: သင့်လက်ရှိအကောင့်၏ပရိုဖိုင်ကို ပြန်လည်ညွှန်းပေးသည့်အသိပေးချက်ဖြင့် ပြင်ဆင်ပေးမည်ဖြစ်ပြီး ရှာဖွေမှုများမှ ဖယ်ထုတ်ပေးမည်ဖြစ်သည်
+ moderation:
+ title: စိစစ်ခြင်း
notification_mailer:
+ admin:
+ sign_up:
+ subject: "%{name} က အကောင့်ဖွင့်ထားသည်"
+ favourite:
+ body: "%{name} က နှစ်သက်ခဲ့သော သင့်ပို့စ် -"
+ subject: "%{name} က သင့်ပို့စ်ကို နှစ်သက်ခဲ့သည်"
+ title: နှစ်သက်မှုအသစ်တစ်ခု
follow:
body: "%{name} မှ ယခု သင့်နောက်သို့ စောင့်ကည့်နေပါသည်။"
subject: "%{name} မှ ယခု သင့်နောက်သို့ စောင့်ကည့်နေပါသည်။"
@@ -748,8 +962,12 @@ my:
action: စာပြန်ရန်
body: သင့်ကို %{name} မှ ဖော်ပြခဲ့သည်-
subject: သင့်ကို %{name} မှ ဖော်ပြခဲ့သည်
+ reblog:
+ title: Boost အသစ်
status:
subject: "%{name} က အခုလေးတင် ပို့စ်တင်လိုက်ပါပြီ"
+ update:
+ subject: "%{name} က ပို့စ်တစ်ခုကို ပြင်ဆင်ခဲ့သည်"
number:
human:
decimal_units:
@@ -763,6 +981,10 @@ my:
otp_authentication:
enable: ဖွင့်ပါ
pagination:
+ newer: ပိုသစ်သော
+ next: ရှေ့သို့
+ older: ပိုဟောင်းသော
+ prev: ရှေ့သို့
truncate: "…"
polls:
errors:
@@ -775,41 +997,118 @@ my:
over_character_limit: သတ်မှတ်ထားသောစာလုံးအရေအတွက် %{max} ထက်ပိုနေသည်
too_few_options: တစ်ခုထက်ပိုနေသည်
too_many_options: သတ်မှတ်ထားသောအရေအတွက် %{max} ကိုကျော်လွန်နေသည်
+ preferences:
+ other: အခြား
+ public_timelines: အများမြင်စာမျက်နှာ
privacy_policy:
title: ကိုယ်ရေးအချက်အလက်မူဝါဒ
relationships:
+ activity: အကောင့်လုပ်ဆောင်ချက်
+ confirm_follow_selected_followers: ရွေးချယ်စောင့်ကြည့်သူများကို စောင့်ကြည့်လိုသည်မှာ သေချာပါသလား။
+ confirm_remove_selected_followers: ရွေးချယ်စောင့်ကြည့်သူများကို ဖယ်ရှားလိုသည်မှာ သေချာပါသလား။
+ confirm_remove_selected_follows: ရွေးချယ်စောင့်ကြည့်သူများကို ဖယ်ရှားလိုသည်မှာ သေချာပါသလား။
+ follow_failure: ရွေးချယ်ထားသော အကောင့်အချို့ကို စောင့်ကြည့်၍ရမည်မဟုတ်ပါ။
+ follow_selected_followers: ရွေးချယ်စောင့်ကြည့်သူများကို စောင့်ကြည့်ပါ
followers: စောင့်ကြည့်သူများ
following: စောင့်ကြည့်နေသည်
+ invited: ဖိတ်ခေါ်ထားပြီး
+ last_active: နောက်ဆုံးအသုံးပြုခဲ့သည့်အချိန်
+ most_recent: မကြာသေးမီက
moved: ရွှေ့ပြီးပါပြီ
mutual: အပြန်အလှန်စောင့်ကြည့်ထားခြင်း
+ primary: ဦးစားပေး
+ relationship: တော်စပ်ပုံ
+ remove_selected_domains: ရွေးချယ်ထားသော ဒိုမိန်းများမှ စောင့်ကြည့်သူအားလုံးကို ဖယ်ရှားပါ
+ remove_selected_followers: ရွေးချယ်ထားသော စောင့်ကြည့်သူများကို ဖယ်ရှားပါ
+ remove_selected_follows: ရွေးချယ်ထားသော အသုံးပြုသူများကို စောင့်ကြည့်ခြင်းမှ ဖြုတ်ပါ
status: အကောင့်အခြေအနေ
+ remote_follow:
+ missing_resource: သင့်အကောင့်အတွက် လိုအပ်သော ပြန်ညွှန်းမည့် URL ကို ရှာမတွေ့ပါ
+ rss:
+ content_warning: 'အကြောင်းအရာသတိပေးချက် - '
+ descriptions:
+ account: "@%{acct} မှ အများမြင်ပို့စ်များ"
+ tag: "#%{hashtag} ကို တဂ်ထားသော အများမြင်ပို့စ်များ"
sessions:
+ activity: နောက်ဆုံးလုပ်ဆောင်ချက်
+ browser: ဘရောက်ဇာ
+ browsers:
+ alipay: Alipay
+ blackberry: BlackBerry
+ chrome: Chrome
+ edge: Microsoft Edge
+ electron: အီလက်ထရွန်
+ firefox: Firefox
+ generic: အမည်မသိဘရောက်ဆာ
+ huawei_browser: Huawei Browser
+ ie: Internet Explorer
+ micro_messenger: MicroMessenger
+ nokia: Nokia S40 Ovi Browser
+ opera: Opera
+ otter: Otter
+ phantom_js: PhantomJS
+ qq: QQ Browser
+ safari: Safari
+ uc_browser: UC Browser
+ unknown_browser: အမည်မသိဘရောက်ဆာ
+ weibo: Weibo
+ current_session: လက်ရှိဆက်ရှင်
description: "%{platform} ပေါ်ရှိ %{browser}"
+ ip: IP
platforms:
+ adobe_air: Adobe Air
+ android: Android
+ blackberry: BlackBerry
+ chrome_os: ChromeOS
+ firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: macOS
+ unknown_platform: အမည်မသိ Platform
+ windows: Windows
+ windows_mobile: Windows Mobile
+ windows_phone: Windows Phone
revoke: ပြန်ရုပ်သိမ်းရန်
+ revoke_success: ဆက်ရှင်ကို ရုပ်သိမ်းလိုက်ပါပြီ
+ title: ဆက်ရှင်များ
+ view_authentication_history: သင့်အကောင့်၏ စစ်မှန်ကြောင်းအထောက်အထားပြမှုကို ကြည့်ပါ
settings:
account: အကောင့်
account_settings: အကောင့်သတ်မှတ်ချက်များ
+ aliases: အကောင့်အမည်တူများ
appearance: ပုံပန်းသဏ္ဌာန်
+ authorized_apps: ခွင့်ပြုထားသောအက်ပ်များ
+ back: Mastodon သို့ ပြန်သွားရန်
delete: အကောင့်ဖျက်သိမ်းခြင်း
edit_profile: ပရိုဖိုင်ပြင်ဆင်ရန်
+ export: အချက်အလက်ထုတ်ယူခြင်း
+ import: ထည့်သွင်းခြင်း
notifications: အသိပေးချက်များ
+ preferences: သတ်မှတ်ချက်များ
profile: ပရိုဖိုင်
relationships: စောင့်ကြည့်သူများနှင့် စောင့်ကြည့်စာရင်း
statuses_cleanup: အလိုအလျောက်ပို့စ်ဖျက်ခြင်း
two_factor_authentication: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်
+ webauthn_authentication: လုံခြုံရေးကီးများ
statuses:
attached:
+ audio:
+ other: "%{count} အသံ"
description: ပူးတွဲပါ- %{attached}
image:
other: "%{count} ပုံ"
video:
other: "%{count} ဗီဒီယို"
+ boosted_from_html: "%{acct_link} မှ Boost လုပ်ခဲ့သည်"
+ content_warning: အကြောင်းအရာသတိပေးချက် - %{warning}
+ default_language: လက်ရှိသုံးနေသောဘာသာစကားအတိုင်း ပြပေးပါမည်
+ disallowed_hashtags:
+ other: ခွင့်မပြုထားသော hashtags များပါရှိသည် - %{tags}
edited_at_html: "%{date} ကို ပြင်ဆင်ပြီးပါပြီ"
open_in_web: ဝဘ်တွင် ဖွင့်ပါ
+ pin_errors:
+ reblog: Boost လုပ်ထားသောပို့စ်ကို ပင်ထား၍မရပါ
poll:
total_people:
other: "%{count} ယောက်"
@@ -819,6 +1118,8 @@ my:
show_more: ပိုမိုပြရန်
show_newer: ပို့စ်အသစ်များပြရန်
show_older: ပို့စ်အဟောင်းများပြရန်
+ show_thread: Thread ကို ပြပါ
+ sign_in_to_participate: စကားဝိုင်းတွင် ပါဝင်ရန် အကောင့်ဝင်ပါ
title: '%{name}: "%{quote}"'
visibilities:
direct: တိုက်ရိုက်
@@ -826,9 +1127,20 @@ my:
private_long: စောင့်ကြည့်သူများကိုသာ ပြရန်
public: အများမြင်
public_long: လူတိုင်းမြင်နိုင်ပါသည်
+ unlisted: စာရင်းမသွင်းထားပါ
+ unlisted_long: လူတိုင်းမြင်နိုင်သော်လည်း အများမြင်မည့်စာမျက်နှာများတွင် စာရင်းမသွင်းထားပါ။
statuses_cleanup:
+ enabled: ပို့စ်အဟောင်းများကို အလိုအလျောက် ဖျက်ပါ
+ ignore_favs: နှစ်သက်မှုများကို လျစ်လျူရှုပါ
+ ignore_reblogs: Boost များကို လျစ်လျူရှုပါ
+ keep_direct: တိုက်ရိုက်မက်ဆေ့ချ်များကို သိမ်းထားပါ
+ keep_direct_hint: တိုက်ရိုက်စကားပြောထားသည်များကို မဖျက်ပါနှင့်
+ keep_media: မီဒီယာဖိုင်များပါသောပို့စ်များကို သိမ်းဆည်းပါ
+ keep_media_hint: မီဒီယာဖိုင်များပါသောပို့စ်များကို မဖျက်ပါနှင့်
+ keep_pinned: ပင်ထိုးထားသော ပို့စ်များကို သိမ်းထားပါ
keep_polls: စစ်တမ်းကိုဆက်လက်ထားမည်
keep_polls_hint: သင့်မှတ်တမ်းတစ်ခုမှ မပျက်ပါ
+ keep_self_fav: သင်နှစ်သက်ခဲ့သောပို့စ်များကို သိမ်းထားပါ
min_age:
'1209600': ၂ ပတ်
'15778476': ၆ လ
@@ -840,8 +1152,11 @@ my:
'7889238': ၃ လ
stream_entries:
pinned: ပင်တွဲထားသောပို့စ်
+ reblogged: Boost လုပ်ခဲ့သည်
+ sensitive_content: သတိထားရသော အကြောင်းအရာ
themes:
default: Mastodon (အနက်)
+ mastodon-light: Mastodon (အလင်းနောက်ခံ)
time:
formats:
default: "%b %d, %Y, %H:%M"
@@ -855,6 +1170,9 @@ my:
enabled: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ကို ဖွင့်ထားသည်
enabled_success: နှစ်ဆင့်ခံလုံခြုံရေးစနစ်ကို ဖွင့်ပြီးပါပြီ
methods: နှစ်ဆင့်ခံလုံခြုံရေးနည်းလမ်းများ
+ otp: Authenticator အက်ပ်
+ recovery_codes: အရန်ပြန်လည်ရယူရေးကုဒ်များ
+ webauthn: လုံခြုံရေးကီးများ
user_mailer:
appeal_approved:
action: သင့်အကောင့်သို့ သွားပါ
@@ -862,19 +1180,29 @@ my:
title: အယူခံကို ပယ်ချခဲ့သည်
suspicious_sign_in:
change_password: သင်၏ စကားဝှက်ပြောင်းလဲပါ
+ details: ဤသည်မှာ အကောင့်ဝင်ရောက်ခြင်းအတွက် အသေးစိတ်အချက်များဖြစ်သည် -
+ explanation: IP လိပ်စာအသစ်တစ်ခုမှနေ၍ သင့်အကောင့်ဝင်ရောက်သည်ကို တွေ့ရှိခဲ့ပါသည်။
+ title: အကောင့်ဝင်ရောက်မှုအသစ်
warning:
appeal: အယူခံတင်သွင်းပါ
+ categories:
+ spam: Spam
explanation:
disable: သင့်အကောင့်ကို အသုံးမပြုနိုင်တော့သော်လည်း သင့်ပရိုဖိုင်နှင့် အခြားအချက်အလက်များမှာ ကျန်ရှိနေမည်ဖြစ်သည်။ သင့်အချက်အလက်ကို မိတ္တူကူးရန်၊ အကောင့်သတ်မှတ်ချက်များကို ပြောင်းလဲရန် သို့မဟုတ် သင့်အကောင့်ဖျက်သိမ်းရန်တို့အတွက် အရန်သိမ်းဆည်းမှုအား သင် တောင်းဆိုနိုင်သည်။
suspend: သင့်အကောင့်ကို အသုံးမပြုနိုင်တော့သည့်အပြင် ပရိုဖိုင်နှင့် အခြားအချက်အလက်များကိုလည်း အသုံးပြု၍မရတော့ပါ။ သင့်အချက်အလက်ကို ရက်ပေါင်း ၃၀ ခန့်အတွင်း အပြည့်အဝ မဖယ်ရှားမချင်း အချက်အလက်များ အရန်ကူးယူရန်အတွက် အကောင့်သို့ ဝင်ရောက်နိုင်ပါသေးသည်။ သို့သော် အကောင့်ရပ်ဆိုင်းထားမှုရှောင်လွှဲခြင်းမှ ကာကွယ်ရန်အတွက် အခြေခံအချက်အလက်အချို့ကို ကျွန်ုပ်တို့ ထိန်းသိမ်းထားရပါမည်။
reason: အကြောင်းပြချက် -
subject:
delete_statuses: "%{acct} ရှိ သင့်ပို့စ်များကို ဖယ်ရှားလိုက်ပါပြီ"
+ mark_statuses_as_sensitive: "%{acct} ရှိ သင့်ပို့စ်များကို သတိထားရသောပို့စ်များအဖြစ် အမှတ်အသားပြုထားသည်"
none: "%{acct} အတွက် သတိပေးချက်"
silence: သင့်အကောင့် %{acct} ကို ကန့်သတ်ထားသည်
title:
delete_statuses: ပို့စ်များကို ဖယ်ရှားခဲ့သည်
+ disable: အကောင့်ပိတ်သွားပါပြီ။
+ mark_statuses_as_sensitive: သတိထားရသောပို့စ်များအဖြစ် အမှတ်အသားပြုပါ
none: သတိပေးချက်
+ sensitive: သတိထားရသောအကောင့်အဖြစ် အမှတ်အသားပြုပါ
+ silence: အကောင့်ကန့်သတ်ထားသည်
suspend: အကောင့်ရပ်ဆိုင်းထားသည်
welcome:
edit_profile_action: ပရိုဖိုင်ထည့်သွင်းရန်
@@ -885,6 +1213,23 @@ my:
users:
follow_limit_reached: လူ %{limit} ထက် ပိုပြီး စောင့်ကြည့်၍မရပါ
invalid_otp_token: မမှန်ကန်သော နှစ်ဆင့်ခံလုံခြုံရေးကုဒ်
+ signed_in_as: အဖြစ် အကောင့်ဝင်ခဲ့သည် -
+ verification:
+ verification: စိစစ်ခြင်း
webauthn_credentials:
+ add: လုံခြုံရေးကီးအသစ်ထည့်ပါ
+ create:
+ error: သင့်လုံခြုံရေးကီးထည့်ရာတွင် ပြဿနာရှိနေသည်။ ထပ်စမ်းကြည့်ပါ။
+ success: လုံခြုံရေးကီး ထည့်ပြီးပါပြီ။
delete: ဖျက်ရန်
+ delete_confirmation: လုံခြုံရေးကီးဖျက်ရန် သေချာပါသလား။
+ description_html: "လုံခြုံရေးကီးအထောက်အထားစိစစ်ခြင်းကို ဖွင့်ထားပါက လုံခြုံရေးကီးများထဲမှ တစ်ခုကို အကောင့်ဝင်ရောက်ရန်အတွက် အသုံးပြုရန်လိုအပ်ပါသည်"
+ destroy:
+ error: သင့်လုံခြုံရေးကီးကို ဖျက်ရာတွင် ပြဿနာရှိနေသည်။ ထပ်စမ်းကြည့်ပါ။
+ success: လုံခြုံရေးကီး ဖျက်ပြီးပါပြီ။
+ invalid_credential: လုံခြုံရေးကီးမမှန်ကန်ပါ
+ nickname_hint: သင့်လုံခြုံရေးကီးအသစ်၏ အမည်ပြောင်ကို ထည့်ပါ။
+ not_enabled: WebAuthn ကို သင် မဖွင့်ရသေးပါ
+ not_supported: ဤဘရောက်ဆာသည် လုံခြုံရေးကီးများကို မပံ့ပိုးပါ
+ otp_required: လုံခြုံရေးကီးများကို အသုံးပြုရန်အတွက် နှစ်ဆင့်ခံလုံခြုံရေးစနစ်စိစစ်ခြင်းကို ဦးစွာဖွင့်ပါ။
registered_on: "%{date} တွင် စာရင်းသွင်းထားသည်"
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index e9a63e9d83..93e7c55024 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -1196,8 +1196,6 @@ nl:
index:
hint: Dit filter is van toepassing om individuele berichten te selecteren, ongeacht andere criteria. Je kunt in de webomgeving meer berichten aan dit filter toevoegen.
title: Gefilterde berichten
- footer:
- trending_now: Trends
generic:
all: Alles
all_items_on_page_selected_html:
@@ -1407,6 +1405,7 @@ nl:
confirm_remove_selected_followers: Weet je zeker dat je de geselecteerde volgers wilt verwijderen?
confirm_remove_selected_follows: Weet je zeker dat je de geselecteerde gevolgde accounts wilt verwijderen?
dormant: Sluimerend
+ follow_failure: Kan sommige van de geselecteerde accounts niet volgen.
follow_selected_followers: Geselecteerde volgers volgen
followers: Volgers
following: Volgend
@@ -1446,6 +1445,7 @@ nl:
electron: Electron
firefox: Firefox
generic: Onbekende webbrowser
+ huawei_browser: Huawei Browser
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
@@ -1455,6 +1455,7 @@ nl:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Onbekende browser
weibo: Weibo
current_session: Huidige sessie
description: "%{browser} op %{platform}"
@@ -1467,9 +1468,10 @@ nl:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: macOS
- other: Onbekend platform
+ unknown_platform: Onbekend platform
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/nn.yml b/config/locales/nn.yml
index f6bae8c5c7..ee496f2727 100644
--- a/config/locales/nn.yml
+++ b/config/locales/nn.yml
@@ -91,6 +91,7 @@ nn:
moderation:
active: Aktiv
all: Alle
+ disabled: Skrudd av
pending: Ventar på svar
silenced: Avgrensa
suspended: Utvist
@@ -133,6 +134,7 @@ nn:
search: Søk
search_same_email_domain: Andre brukarar med same e-postdomene
search_same_ip: Andre brukarar med same IP
+ security: Tryggleik
security_measures:
only_password: Kun passord
password_and_2fa: Passord og 2FA
@@ -421,6 +423,7 @@ nn:
resolve: Løs domene
title: Ny blokkeringsoppføring av e-postdomene
no_email_domain_block_selected: Blokkering av e-post-domener vart ikkje endra sidan ingen var valde
+ not_permitted: Ikkje tillate
resolved_dns_records_hint_html: Domenenamnet gjer oppslag til desse MX-domenene som til sist er ansvarlige for å motta e-post. Blokkering av eit MX-domene vil blokkere registreringar frå alle e-postadresser som bruker same MX-domene, sjølv om det synlige domenenavnet skulle vera noko anna. Pass på så du ikkje blokkerer dei store e-postleverandørane.
resolved_through_html: Løyst gjennom %{domain}
title: Blokkerte e-postadresser
@@ -435,6 +438,7 @@ nn:
private_comment_description_html: 'For å hjelpa deg med å halda oversikt over kvar importerte blokkeringar kjem frå, vil dei bli oppretta med fylgjande private kommentar: %{comment}
'
private_comment_template: Importert frå %{source} den %{date}
title: Importer domeneblokkeringar
+ invalid_domain_block: 'Hoppa over ei eller fleire domeneblokker på grunn av fylgjande feil: %{error}'
new:
title: Importer domeneblokkeringar
no_file: Inga fil vald
@@ -466,6 +470,7 @@ nn:
content_policies:
comment: Internt notat
description_html: Du kan definere innholdsregler som vil bli brukt på alle kontoer fra dette domenet og hvilket som helst av underdomenene.
+ limited_federation_mode_description_html: Du kan velja om du vil tillata føderering med dette domenet.
policies:
reject_media: Avvis media
reject_reports: Avvis rapporter
@@ -569,17 +574,23 @@ nn:
mark_as_sensitive_description_html: Mediene i dei rapporterte innlegga vil verte markerte som ømtolege, og ein merknad vil verte lagra for å hjelpe deg å eskalera ved framtidige regelbrot frå same konto.
other_description_html: Sjå fleire alternativ når det gjeld kontroll av kontoåtferd og tilpassing av kommunikasjonen til den rapporterte kontoen.
resolve_description_html: Ingen handling utføres mot den rapporterte kontoen, ingen advarsel gis, og rapporten lukkes.
+ silence_description_html: Profilen vil berre vera synleg for dei som allereie fylgjer han eller søkjer han opp manuelt, noko som gjev profilen mykje mindre rekkjevidd. Du kan oppheva stenginga seinare. Dette avsluttar alle rapportar om brukarkontoen.
+ suspend_description_html: Brukarkontoen og alt innhaldet vil bli utilgjengeleg og til slutt sletta, og det vil vera uråd å samhandla med brukaren. Du kan angra dette innan 30 dagar. Dette avsluttar alle rapportar om kontoen.
actions_description_html: Avgjer kva som skal gjerast med denne rapporteringa. Dersom du utfører straffetiltak mot den rapporterte kontoen, vil dei motta ein e-post – så sant du ikkje har valt kategorien Spam.
+ actions_description_remote_html: Avgjer kva du vil gjera for å løysa denne rapporten. Dette påverkar berre korleis tenaren din kommuniserer med kontoen på ein annan tenar, og korleis tenaren din handterer innhald derifrå.
add_to_report: Legg til i rapporten
are_you_sure: Er du sikker?
assign_to_self: Tilegn til meg
assigned: Tilsett moderator
by_target_domain: Domenet av rapportert bruker
+ cancel: Avbryt
category: Kategori
category_description_html: Årsaka til at kontoen og/eller innhaldet vart rapportert vil bli inkludert i kommunikasjonen med den rapporterte kontoen
comment:
none: Ingen
comment_description_html: 'For å gje meir informasjon, skreiv %{name}:'
+ confirm: Stadfest
+ confirm_action: Stadfest at du vil moderera brukarkontoen @%{acct}
created_at: Rapportert
delete_and_resolve: Slett innlegg
forwarded: Videresendt
@@ -596,6 +607,7 @@ nn:
placeholder: Beskriv hvilke handlinger som har blitt tatt, eller andre relaterte oppdateringer...
title: Merknad
notes_description_html: Sjå og skriv merknadar til andre moderatorar og ditt framtidige sjølv
+ processed_msg: 'Du har handsama rapport #%{id}'
quick_actions_description_html: 'Utfør ei handling eller bla ned for å sjå det rapporterte innhaldet:'
remote_user_placeholder: den eksterne brukaren frå %{instance}
reopen: Opn rapport igjen
@@ -608,9 +620,28 @@ nn:
status: Status
statuses: Rapportert innhold
statuses_description_html: Støytande innhald vil bli inkludert i kommunikasjonen med den rapporterte kontoen
+ summary:
+ action_preambles:
+ delete_html: 'Du er i ferd med å fjerna nokre av innlegga til @%{acct}. Det vil:'
+ mark_as_sensitive_html: 'Du er i ferd med å markera nokre av innlegga til @%{acct} som sensitive. Dette vil:'
+ silence_html: 'Du er i ferd med å avgrensa kontoen til @%{acct}. Dette vil:'
+ suspend_html: 'Du er i ferd med å stenga kontoen til @%{acct}. Dette vil:'
+ actions:
+ delete_html: Fjerna dei påtala innlegga
+ mark_as_sensitive_html: Markera dei påtala mediefilene som sensitive
+ silence_html: Sterkt avgrensa korleis @%{acct} kan samhandla ved å gjera brukarprofilen og innhaldet synleg berre for folk som allereie fylgjer brukarkontoen eller søkjer han opp manuelt
+ suspend_html: Stengja brukarkontoen til @%{acct}, slik at brukarprofilen og innhaldet blir utilgjengeleg og umogleg å samhandla med
+ close_report: Marker rapport nr. %{id} som løyst
+ close_reports_html: Marker alle rapportane om @%{acct} som løyste
+ delete_data_html: Slett brukarprofilen og innhaldet til@%{acct} om 30 dagar frå no med mindre brukarkontoen blir opna att
+ preview_preamble_html: "@%{acct} vil få ei åtvaring med dette innhaldet:"
+ record_strike_html: Noter at ei handling er gjort mot @%{acct} for å hjelpa deg å handtera framtidige overtramp frå denne brukarkontoen
+ send_email_html: Send ein åtvaringsepost til @%{acct}
+ warning_placeholder: Eventuelle fleire grunnar for å modereringshandlinga.
target_origin: Opprinnelse for innrapportert konto
title: Rapportar
unassign: Avset
+ unknown_action_msg: 'Ukjend handling: %{action}'
unresolved: Uløyst
updated_at: Oppdatert
view_profile: Vis profil
@@ -705,6 +736,8 @@ nn:
preamble: Å framheva interessant innhald er vitalt i mottakinga av nye brukarar som ikkje nødvendigvis kjenner nokon på Mastodon. Kontroller korleis oppdagingsfunksjonane på tenaren din fungerar.
profile_directory: Profilkatalog
public_timelines: Offentlege tidsliner
+ publish_discovered_servers: Publiser oppdaga tenarar
+ publish_statistics: Publiser statistikk
title: Oppdaging
trends: Trender
domain_blocks:
@@ -759,6 +792,7 @@ nn:
suspend: "%{name} utviste %{target} sin konto"
appeal_approved: Klage tatt til følge
appeal_pending: Klage behandles
+ appeal_rejected: Anken er avvist
system_checks:
database_schema_check:
message_html: Det venter på databaseoverføringer. Vennligst kjør disse for å sikre at applikasjonen oppfører seg som forventet
@@ -794,6 +828,7 @@ nn:
other: Delt av %{count} personer i løpet av den siste uken
title: Populære lenkjer
usage_comparison: Delt %{today} ganger i dag, sammenlignet med %{yesterday} i går
+ not_allowed_to_trend: Har ikkje lov å trenda
only_allowed: Kun tillatne
pending_review: Avventer gjennomgang
preview_card_providers:
@@ -820,12 +855,13 @@ nn:
tag_accounts_measure: unike bruksområder
tag_languages_dimension: Mest brukte språk
tag_servers_dimension: Mest brukte servere
- tag_servers_measure: forskjellige servere
- tag_uses_measure: samlet bruk
+ tag_servers_measure: ulike tenarar
+ tag_uses_measure: brukarar totalt
description_html: Dette er emneknagger som for øyeblikket vises i mange innlegg som serveren din ser. Det kan hjelpe dine brukere med å finne ut hva folk snakker mest om i øyeblikket. Ingen emneknagger vises offentlig før du godkjenner dem.
listable: Kan bli foreslått
+ no_tag_selected: Ingen merkelappar vart endra fordi ingen var valde
not_listable: Vil ikke bli foreslått
- not_trendable: Kunne ikke vises under trender
+ not_trendable: Kjem ikkje til å syna under trendar
not_usable: Kan ikke brukes
peaked_on_and_decaying: Nådde toppen %{date}, nå på vei ned
title: Populære emneknagger
@@ -874,6 +910,9 @@ nn:
sensitive: å merke kontoen sin som følsom
silence: for å begrense deres konto
suspend: for å suspendere kontoen deres
+ body: "%{target} ankar på ei modereringsavgjerd av %{action_taken_by} den %{date}, som var %{type}. Dei skreiv:"
+ next_steps: Du kan godkjenna anken for å endra modereringsavgjerda, eller du kan oversjå anken.
+ subject: "%{username} ankar ei modereringsavgjer på %{instance}"
new_pending_account:
body: Detaljer om den nye kontoen er nedenfor. Du kan godkjenne eller avvise denne søknaden.
subject: Ny konto opp til vurdering på %{instance} (%{username})
@@ -882,13 +921,16 @@ nn:
body_remote: Nokon frå %{domain} har meldt %{target}
subject: Ny rapport for %{instance} (#%{id})
new_trends:
+ body: 'Du må sjå gjennom desse elementa før dei kan visast offentleg:'
new_trending_links:
title: Populære lenker
new_trending_statuses:
title: Populære innlegg
new_trending_tags:
- title: Populære emneknagger
- subject: Ny trender for gjennomsyn av %{instance}
+ no_approved_tags: Det er ingen godkjende populære emneknaggar no.
+ requirements: 'Alle desse kandidatane kan stiga høgare enn den godkjende populære emneknaggen #%{rank}, som er #%{lowest_tag_name} med ei plassering på %{lowest_tag_score}.'
+ title: Populære emneknaggar
+ subject: Nye trendar å sjå gjennom på %{instance}
aliases:
add_new: Lag psevdonym
created_msg: Laga eit nytt kallenamn. No kan du setja i gang med flyttinga frå den gamle kontoen.
@@ -910,7 +952,7 @@ nn:
toot_layout: Tutoppsett
application_mailer:
notification_preferences: Endr e-post-innstillingane
- salutation: "%{name},"
+ salutation: Hei %{name},
settings: 'Endr e-post-innstillingar: %{link}'
view: 'Sjå:'
view_profile: Sjå profil
@@ -918,6 +960,7 @@ nn:
applications:
created: Søknad laga
destroyed: Søknad sletta
+ logout: Logg ut
regenerate_token: Lag tilgangsnykel på nytt
token_regenerated: Tilgangsnykel laga på nytt
warning: Ver varsam med dette datumet. Aldri del det med nokon!
@@ -925,6 +968,8 @@ nn:
auth:
apply_for_account: Søk om ein konto
change_password: Passord
+ confirmations:
+ wrong_email_hint: Viss epostadressa er feil, kan du endra ho i kontoinnstillingane.
delete_account: Slett konto
delete_account_html: Om du vil sletta kontoen din, kan du gå hit. Du vert spurd etter stadfesting.
description:
@@ -952,6 +997,8 @@ nn:
resend_confirmation: Send stadfestingsinstruksjonar på nytt
reset_password: Attstill passord
rules:
+ accept: Godkjenn
+ back: Attende
preamble: Disse angis og håndheves av %{domain}-moderatorene.
title: Noen grunnregler.
security: Tryggleik
@@ -1098,6 +1145,8 @@ nn:
storage: Medielagring
featured_tags:
add_new: Legg til ny
+ errors:
+ limit: Du har allereie framheva så mange emneknaggar som det går an å gjera
hint_html: "Hva er utvalgte emneknagger? De vises frem tydelig på din offentlige profil, og lar folk bla i dine offentlige innlegg som spesifikt har de emneknaggene. De er et bra verktøy for å holde styr på kreative verk eller langtidsprosjekter."
filters:
contexts:
@@ -1108,57 +1157,39 @@ nn:
thread: Samtalar
edit:
add_keyword: Legg til stikkord
- keywords: Nøkkelord
+ keywords: Stikkord
statuses: Individuelle innlegg
+ statuses_hint_html: Dette filteret gjeld for utvalde, individuelle innlegg, uansett om dei passar til stikkorda under. Sjå gjennom eller fjern innlegg frå filteret.
title: Endr filter
errors:
+ deprecated_api_multiple_keywords: Du kan ikkje endra desse parametrane frå dette programmet fordi dei gjeld for meir enn eitt filterord. Bruk eit nyare program, eller nettsida.
invalid_context: Ingen eller ugild kontekst gjeve
index:
- contexts: Filtre i %{contexts}
+ contexts: Filter i %{contexts}
delete: Slett
empty: Du har ingen filtre.
- expires_in: Utløper om %{distance}
- expires_on: Utløper den %{date}
- keywords:
- one: "%{count} nøkkelord"
- other: "%{count} nøkkelorder"
- statuses:
- one: "%{count} innlegg"
- other: "%{count} innlegger"
- statuses_long:
- one: "%{count} enkeltinnlegg skjult"
- other: "%{count} individuelle innlegger skjult"
+ expires_in: Går ut om %{distance}
+ expires_on: Går ut %{date}
title: Filter
new:
save: Lagre nytt filter
title: Legg til nytt filter
statuses:
- back_to_filter: Tilbake til filter
+ back_to_filter: Tilbake til filteret
batch:
- remove: Fjern fra filter
+ remove: Fjern frå filteret
index:
- hint: Dette filteret gjelder for å velge individuelle innlegg uavhengig av andre kriterier. Du kan legge til flere innlegg til dette filteret fra webgrensesnittet.
+ hint: Dette filteret gjeld for utvalde, individuelle innlegg, uavhengig av andre kriterium. Du kan leggja til fleire innlegg til dette filteret frå nettsida.
title: Filtrerte innlegg
- footer:
- trending_now: Populært no
generic:
all: Alle
- all_items_on_page_selected_html:
- one: "%{count} element på denne siden er valgt."
- other: Alle %{count} elementer på denne siden er valgt.
- all_matching_items_selected_html:
- one: "%{count} element som matcher søket ditt er valgt."
- other: Alle %{count} elementer som matcher søket velges.
changes_saved_msg: Alle endringane vart lagra!
copy: Kopier
delete: Slett
- deselect: Fjern all merking
+ deselect: Vel ingen
none: Ingen
order_by: Sorter etter
save_changes: Lagr endringar
- select_all_matching_items:
- one: Velg %{count} element som samsvarer med søket ditt.
- other: Velg alle %{count} elementer som samsvarer med søket ditt.
today: i dag
validation_errors:
one: Noe er ikke helt riktig ennå. Vennligst se etter en gang til
@@ -1171,7 +1202,7 @@ nn:
merge: Set saman
merge_long: Hald på eksisterande data og legg til nye
overwrite: Skriv over
- overwrite_long: Erstatt gjeldende med de nye
+ overwrite_long: Byt ut dei noverande oppføringane med dei nye
preface: Du kan henta inn data som du har eksportert frå ein annan tenar, som t.d. ei liste over folka du fylgjer eller blokkerer.
success: Dataa dine vart lasta opp og vert no handsama så fort som mogeleg
types:
@@ -1203,11 +1234,14 @@ nn:
expires_at: Vert ugyldig
uses: Bruk
title: By folk inn
+ lists:
+ errors:
+ limit: Du har nådd grensa for kor mange lister du kan ha
login_activities:
authentication_methods:
otp: to-faktor autentiseringsapp
password: passord
- sign_in_token: e-post sikkerhetskode
+ sign_in_token: tryggingskode på epost
webauthn: sikkerhetsnøkler
description_html: Hvis du ser aktivitet som du ikke gjenkjenner, bør du vurdere å endre passordet ditt og aktivere to-trinnsinnlogging.
empty: Ingen innloggingshistorikk er tilgjengelig
@@ -1257,7 +1291,7 @@ nn:
carry_mutes_over_text: Denne brukeren flyttet fra %{acct}, som du hadde dempet.
copy_account_note_text: 'Denne brukeren flyttet fra %{acct}, her var dine tidligere notater om dem:'
navigation:
- toggle_menu: Vis/Skjul meny
+ toggle_menu: Vis/gøym menyen
notification_mailer:
admin:
report:
@@ -1283,7 +1317,7 @@ nn:
subject: Du vart nemnd av %{name}
title: Ny nemning
poll:
- subject: En avstemming av %{name} er avsluttet
+ subject: Meiningsmålinga frå %{name} er avslutta
reblog:
body: 'Statusen din vart framheva av %{name}:'
subject: "%{name} framheva statusen din"
@@ -1347,6 +1381,7 @@ nn:
confirm_remove_selected_followers: Er du sikker på at du ynskjer å fjerna dei valde fylgjarane?
confirm_remove_selected_follows: Er du sikker på at du ynskjer å fjerna det valde følgjet?
dormant: I dvale
+ follow_failure: Greidde ikkje fylgja alle kontoane du valde.
follow_selected_followers: Følg valgte tilhengere
followers: Følgere
following: Følginger
@@ -1367,7 +1402,7 @@ nn:
errors:
invalid_rules: refererer ikke til gyldige regler
rss:
- content_warning: 'Innholdsadvarsel:'
+ content_warning: 'Innhaldsvarsel:'
descriptions:
account: Offentlige innlegg fra @%{acct}
tag: 'Offentlige innlegg merket med #%{hashtag}'
@@ -1386,6 +1421,7 @@ nn:
electron: Electron
firefox: Firefox
generic: Ukjend lesar
+ huawei_browser: Huawei-nettlesaren
ie: Internet Explorer
micro_messenger: Micromessenger
nokia: Nokia S40 Ovi-lesar
@@ -1395,6 +1431,7 @@ nn:
qq: QQ-lesar
safari: Safari
uc_browser: QQ-lesar
+ unknown_browser: Ukjend nettlesar
weibo: Weibo
current_session: Noverande økt
description: "%{browser} på %{platform}"
@@ -1407,9 +1444,10 @@ nn:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: IOS
+ kai_os: KaiOS
linux: Linux
mac: Mac
- other: ukjend plattform
+ unknown_platform: Ukjend plattform
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
@@ -1516,6 +1554,7 @@ nn:
'7889238': 3 månader
min_age_label: Aldersterskel
min_favs: Behold innlegg som er favorittmarkert av minst
+ min_favs_hint: Slettar ingen av innlegga dine som har fått minst så mange favorittar. La det stå tomt for å sletta innlegga uansett kor mange favorittar dei har fått
min_reblogs: Behold innlegg fremhevet av minst
min_reblogs_hint: Sletter ikke noen av dine innlegg som har blitt fremhevet minst dette antall ganger. La stå tom for å slette innlegg uavhengig av antall fremhevinger
stream_entries:
diff --git a/config/locales/no.yml b/config/locales/no.yml
index 3036ce050f..9f22a1bdbd 100644
--- a/config/locales/no.yml
+++ b/config/locales/no.yml
@@ -1131,8 +1131,6 @@
index:
hint: Dette filteret gjelder for å velge individuelle innlegg uavhengig av andre kriterier. Du kan legge til flere innlegg til dette filteret fra webgrensesnittet.
title: Filtrerte innlegg
- footer:
- trending_now: Trender nå
generic:
all: Alle
all_items_on_page_selected_html:
@@ -1398,7 +1396,6 @@
ios: iOS
linux: Linux
mac: macOS
- other: ukjent plattform
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/oc.yml b/config/locales/oc.yml
index 1d5ed61fe7..fa23f0522b 100644
--- a/config/locales/oc.yml
+++ b/config/locales/oc.yml
@@ -627,8 +627,6 @@ oc:
title: Filtres
new:
title: Ajustar un nòu filtre
- footer:
- trending_now: Tendéncia del moment
generic:
all: Tot
changes_saved_msg: Cambiaments ben realizats !
@@ -832,7 +830,6 @@ oc:
ios: iOS
linux: Linux
mac: Mac
- other: plataforma desconeguda
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/pl.yml b/config/locales/pl.yml
index 90a6aaf9ee..66f01ccaac 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -1238,8 +1238,6 @@ pl:
index:
hint: Ten filtr ma zastosowanie do wybierania poszczególnych wpisów niezależnie od pozostałych kryteriów. Możesz dodać więcej wpisów do tego filtra z interfejsu internetowego.
title: Filtrowane posty
- footer:
- trending_now: Obecnie na czasie
generic:
all: Wszystkie
all_items_on_page_selected_html:
@@ -1459,6 +1457,7 @@ pl:
confirm_remove_selected_followers: Czy na pewno chcesz usunąć wybranych obserwujących?
confirm_remove_selected_follows: Czy na pewno chcesz usunąć zaznaczone obserwacje?
dormant: Uśpione
+ follow_failure: Nie można obserwować niektórych wybranych kont.
follow_selected_followers: Zacznij obserwować wybranych obserwujących
followers: Obserwujący
following: Obserwowani
@@ -1498,6 +1497,7 @@ pl:
electron: Electron
firefox: Firefox
generic: nieznana przeglądarka
+ huawei_browser: Przeglądarka Huawei
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Przeglądarka Nokia S40 Ovi
@@ -1507,6 +1507,7 @@ pl:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Nieznana Przeglądarka
weibo: Weibo
current_session: Obecna sesja
description: "%{browser} na %{platform}"
@@ -1519,9 +1520,10 @@ pl:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: macOS
- other: nieznana platforma
+ unknown_platform: Nieznana platforma
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index 79ad3e839a..931c0009e0 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -91,6 +91,7 @@ pt-BR:
moderation:
active: Ativo
all: Todos
+ disabled: Desativado
pending: Pendente
silenced: Limitado
suspended: Suspendido
@@ -133,6 +134,7 @@ pt-BR:
search: Buscar
search_same_email_domain: Outros usuários com o mesmo domínio de e-mail
search_same_ip: Outros usuários com o mesmo IP
+ security: Segurança
security_measures:
only_password: Apenas senha
password_and_2fa: Senha e autenticação de dois fatores
@@ -392,6 +394,7 @@ pt-BR:
create: Criar bloqueio
hint: O bloqueio de domínio não vai prevenir a criação de entradas de contas na base de dados, mas vai retroativamente e automaticamente aplicar métodos específicos de moderação nessas contas.
severity:
+ desc_html: "Silenciar vai tornar as publicações da conta invisíveis para qualquer um que não estiver lhe seguindo. Suspender vai remover todo o conteúdo, mídia e dados de perfil da conta. Use Nenhum se você só quer rejeitar arquivos de mídia."
noop: Nenhum
silence: Limitar
suspend: Banir
@@ -426,6 +429,7 @@ pt-BR:
resolve: Resolver domínio
title: Nova entrada de lista negra de e-mail
no_email_domain_block_selected: Nenhum bloco de domínio de e-mail foi alterado, pois nenhum foi selecionado
+ not_permitted: Não permitido
resolved_dns_records_hint_html: O nome de domínio resolve os seguintes domínios MX, que são responsáveis finais por aceitar o e-mail. Bloquear um domínio MX bloqueará inscrições de qualquer endereço de e-mail que use o mesmo domínio MX, mesmo que o nome de domínio visível seja diferente. Cuidado para não bloquear os principais provedores de e-mail.
resolved_through_html: Resolvido através de %{domain}
title: Lista de negra de e-mail
@@ -580,11 +584,14 @@ pt-BR:
assign_to_self: Atribuir para si
assigned: Moderador responsável
by_target_domain: Domínio da conta denunciada
+ cancel: Cancelar
category: Categoria
category_description_html: O motivo pelo qual esta conta e/ou conteúdo foi denunciado será citado na comunicação com a conta denunciada
comment:
none: Nenhum
comment_description_html: 'Para fornecer mais informações, %{name} escreveu:'
+ confirm: Confirmar
+ confirm_action: Confirmar a moderação de @%{acct}
created_at: Denunciado
delete_and_resolve: Excluir publicações
forwarded: Encaminhados
@@ -601,6 +608,7 @@ pt-BR:
placeholder: Descreva quais ações foram tomadas ou quaisquer outras atualizações relacionadas...
title: Notas
notes_description_html: Visualize e deixe anotações para outros moderadores e para você mesmo no futuro
+ processed_msg: 'Relatório #%{id} processado com sucesso'
quick_actions_description_html: 'Tome uma ação rápida ou role para baixo para ver o conteúdo denunciado:'
remote_user_placeholder: o usuário remoto de %{instance}
reopen: Reabrir denúncia
@@ -621,6 +629,7 @@ pt-BR:
suspend_html: 'Você está prestes a suspender a conta de @%{acct}. Isso irá:'
actions:
delete_html: Remover as publicações ofensivas
+ suspend_html: Suspender @%{acct}, tornando seu perfil e conteúdo inacessíveis, impossibilitando a interação
close_report: 'Marcar denúncia #%{id} como resolvida'
close_reports_html: Marcar todas as denúncias contra @%{acct} como resolvidas
delete_data_html: Exclua o perfil e o conteúdo de @%{acct} daqui a 30 dias, a menos que a suspensão seja desfeita nesse meio tempo
@@ -780,6 +789,7 @@ pt-BR:
suspend: "%{name} suspendeu a conta de %{target}"
appeal_approved: Revisado
appeal_pending: Revisão pendente
+ appeal_rejected: Revisão rejeitada
system_checks:
database_schema_check:
message_html: Existem migrações de banco de dados pendentes. Execute-as para garantir que o aplicativo se comporte como esperado
@@ -946,6 +956,7 @@ pt-BR:
applications:
created: Aplicativo criado com sucesso
destroyed: Aplicativo excluído com sucesso
+ logout: Sair
regenerate_token: Gerar código de acesso
token_regenerated: Código de acesso gerado
warning: Tenha cuidado com estes dados. Nunca compartilhe com alguém!
@@ -982,6 +993,8 @@ pt-BR:
resend_confirmation: Reenviar instruções de confirmação
reset_password: Redefinir senha
rules:
+ accept: Aceitar
+ back: Voltar
preamble: Estes são definidos e aplicados pelos moderadores de %{domain}.
title: Algumas regras básicas.
security: Segurança
@@ -1128,6 +1141,8 @@ pt-BR:
storage: Armazenamento de mídia
featured_tags:
add_new: Adicionar hashtag
+ errors:
+ limit: Você já destacou o número máximo de hashtags
hint_html: "O que são hashtags em destaque? Elas são exibidas no seu perfil público e permitem que as pessoas acessem suas publicações públicos que contenham especificamente essas hashtags. São uma excelente ferramenta para acompanhar os trabalhos criativos ou os projetos de longo prazo."
filters:
contexts:
@@ -1171,8 +1186,6 @@ pt-BR:
index:
hint: Este filtro se aplica a publicações individuais, independentemente de outros critérios. Você pode adicionar mais postagens a este filtro a partir da interface web.
title: Publicações filtradas
- footer:
- trending_now: Em alta no momento
generic:
all: Tudo
all_items_on_page_selected_html:
@@ -1235,6 +1248,9 @@ pt-BR:
expires_at: Expira em
uses: Usos
title: Convidar pessoas
+ lists:
+ errors:
+ limit: Você atingiu o número máximo de listas
login_activities:
authentication_methods:
otp: autenticação de dois fatores
@@ -1379,6 +1395,7 @@ pt-BR:
confirm_remove_selected_followers: Tem certeza que deseja remover os seguidores selecionados?
confirm_remove_selected_follows: Tem certeza que deseja remover os grupos seguidos selecionados?
dormant: Inativo
+ follow_failure: Não foi possível seguir algumas das contas selecionadas.
follow_selected_followers: Seguir os seguidores selecionados
followers: Seguidores
following: Seguindo
@@ -1418,6 +1435,7 @@ pt-BR:
electron: Electron
firefox: Firefox
generic: Navegador desconhecido
+ huawei_browser: Navegador Huawei
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Navegador Nokia S40 Ovi
@@ -1427,6 +1445,7 @@ pt-BR:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Navegador desconhecido
weibo: Weibo
current_session: Sessão atual
description: "%{browser} em %{platform}"
@@ -1439,9 +1458,10 @@ pt-BR:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: MacOS
- other: Plataforma desconhecida
+ unknown_platform: Plataforma desconhecida
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml
index 701be825e9..082de57e33 100644
--- a/config/locales/pt-PT.yml
+++ b/config/locales/pt-PT.yml
@@ -1151,6 +1151,8 @@ pt-PT:
storage: Armazenamento de media
featured_tags:
add_new: Adicionar nova
+ errors:
+ limit: Já destacou o número máximo de hashtags permitido
hint_html: "O que são etiquetas em destaque? Exibidas de forma bem visível no seu perfil público, permitem que as pessoas consultem as suas publicações públicas especificamente sob essas etiquetas. São uma óptima ferramenta para dar seguimento a trabalhos criativos ou projectos de longo prazo."
filters:
contexts:
@@ -1194,8 +1196,6 @@ pt-PT:
index:
hint: Este filtro aplica-se a publicações individuais selecionadas independentemente de outros critérios. Pode adicionar mais publicações a este filtro através da interface web.
title: Publicações filtradas
- footer:
- trending_now: Em alta neste momento
generic:
all: Tudo
all_items_on_page_selected_html:
@@ -1258,6 +1258,9 @@ pt-PT:
expires_at: Expira
uses: Usos
title: Convidar pessoas
+ lists:
+ errors:
+ limit: Atingiu o número máximo de listas permitido
login_activities:
authentication_methods:
otp: aplicação de autenticação em duas etapas
@@ -1402,6 +1405,7 @@ pt-PT:
confirm_remove_selected_followers: Tem a certeza que deseja seguir os seguidores selecionados?
confirm_remove_selected_follows: Tem certeza que deseja remover os seguidores selecionados?
dormant: Inativo
+ follow_failure: Não foi possível seguir algumas das contas selecionadas.
follow_selected_followers: Seguir seguidores selecionados
followers: Seguidores
following: A seguir
@@ -1441,6 +1445,7 @@ pt-PT:
electron: Electron
firefox: Firefox
generic: Navegador desconhecido
+ huawei_browser: Navegador Huawei
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Navegador Nokia S40 Ovi
@@ -1450,6 +1455,7 @@ pt-PT:
qq: QQ Browser
safari: Safari
uc_browser: Navegador UC
+ unknown_browser: Navegador Desconhecido
weibo: Weibo
current_session: Sessão atual
description: "%{browser} em %{platform}"
@@ -1462,9 +1468,10 @@ pt-PT:
chrome_os: ChromeOS
firefox_os: SO Firefox
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: macOS
- other: plataforma desconhecida
+ unknown_platform: Plataforma Desconhecida
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
@@ -1577,6 +1584,7 @@ pt-PT:
'7889238': 3 meses
min_age_label: Limite de idade
min_favs: Manter pelo menos as publicações dos marcadores
+ min_favs_hint: Não elimina nenhuma das suas publicações que tenha recebido pelo menos este número de favoritos. Deixe em branco para eliminar publicações, independentemente do seu número de favoritos
min_reblogs: Manter as publicações reforçadas mais de
min_reblogs_hint: Não apaga nenhuma das suas publicações que tenha sido partilhada mais do que este número de vezes. Deixe em branco para apagar as publicações, independentemente do número de partilhas
stream_entries:
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index 28402b46b1..050ea2c25e 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -95,6 +95,7 @@ ru:
moderation:
active: Действующие
all: Все
+ disabled: Отключено
pending: В ожидании
silenced: Ограниченные
suspended: Заблокированные
@@ -139,6 +140,7 @@ ru:
search: Поиск
search_same_email_domain: Другие пользователи с тем же доменом электронной почты
search_same_ip: Другие пользователи с таким же IP
+ security: Безопасность
security_measures:
only_password: Только пароль
password_and_2fa: Пароль и 2FA
@@ -443,6 +445,7 @@ ru:
resolve: Проверить домен
title: Новая блокировка по домену
no_email_domain_block_selected: Блоки домена электронной почты не были изменены, так как не были выбраны
+ not_permitted: Не разрешено
resolved_dns_records_hint_html: Доменное имя устраняется на следующие MX-домены, которые в конечном итоге отвечают за прием электронной почты. Блокировка MX-домена будет блокировать регистрации с любого адреса электронной почты, который использует тот же MX-домен, даже если видимое доменное имя отличается от него. Будьте осторожны, чтобы не блокировать основных поставщиков электронной почты
resolved_through_html: Разрешено через %{domain}
title: Блокировка e-mail доменов
@@ -493,6 +496,7 @@ ru:
content_policies:
comment: Внутренняя заметка
description_html: Вы можете определить политики контента, которые будут применяться ко всем учетным записям этого домена и любого из его субдоменов.
+ limited_federation_mode_description_html: Вы можете выбрать, разрешать ли объединение с этим доменом.
policies:
reject_media: Отклонить медиа
reject_reports: Отклонять жалобы
@@ -609,11 +613,13 @@ ru:
assign_to_self: Назначить себе
assigned: Назначенный модератор
by_target_domain: Домен объекта жалобы
+ cancel: Отменить
category: Категория
category_description_html: Причина, по которой были доложены этот пользователь или содержимое, будет указана при коммуникации с фигурирующим в жалобе пользователем
comment:
none: Нет
comment_description_html: 'В дополнение, %{name} добавил(а) следующий комментарий:'
+ confirm: Подтвердить
created_at: Создана
delete_and_resolve: Удалить посты
forwarded: Переслано
@@ -810,6 +816,7 @@ ru:
suspend: "%{name} приостановил аккаунт %{target}"
appeal_approved: Обжаловано
appeal_pending: Обжалование в обработке
+ appeal_rejected: Апелляция отклонена
system_checks:
database_schema_check:
message_html: Есть отложенные миграции базы данных. Запустите их, чтобы убедиться, что приложение работает должным образом
@@ -847,6 +854,7 @@ ru:
other: Поделился %{count} человек за последнюю неделю
title: Актуальные ссылки
usage_comparison: Поделились %{today} раз сегодня, по сравнению с %{yesterday} вчера
+ not_allowed_to_trend: Не допущено в популярное
only_allowed: Только разрешенное
pending_review: Ожидает рассмотрения
preview_card_providers:
@@ -984,6 +992,7 @@ ru:
applications:
created: Приложение успешно создано
destroyed: Приложение успешно удалено
+ logout: Выйти
regenerate_token: Повторно сгенерировать токен доступа
token_regenerated: Токен доступа успешно сгенерирован
warning: Будьте очень внимательны с этими данными. Не делитесь ими ни с кем!
@@ -1020,6 +1029,8 @@ ru:
resend_confirmation: Повторить отправку инструкции для подтверждения
reset_password: Сбросить пароль
rules:
+ accept: Принять
+ back: Назад
preamble: Они устанавливаются и применяются модераторами %{domain}.
title: Несколько основных правил.
security: Безопасность
@@ -1215,8 +1226,6 @@ ru:
index:
hint: Этот фильтр применяется для выбора отдельных постов, независимо от других критериев. Вы можете добавить больше записей в этот фильтр из веб-интерфейса.
title: Отфильтрованные посты
- footer:
- trending_now: Актуально сейчас
generic:
all: Любой
all_items_on_page_selected_html:
@@ -1495,7 +1504,6 @@ ru:
ios: iOS
linux: Linux
mac: Mac
- other: неизвестной платформе
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/sc.yml b/config/locales/sc.yml
index 3a84f81702..7a46fe38a8 100644
--- a/config/locales/sc.yml
+++ b/config/locales/sc.yml
@@ -658,8 +658,6 @@ sc:
title: Filtros
new:
title: Agiunghe unu filtru nou
- footer:
- trending_now: Est tendèntzia immoe
generic:
all: Totus
changes_saved_msg: Modìficas sarvadas.
@@ -878,7 +876,6 @@ sc:
ios: iOS
linux: Linux
mac: macOS
- other: prataforma disconnota
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/sco.yml b/config/locales/sco.yml
index 6cd4be0601..04c3f192c3 100644
--- a/config/locales/sco.yml
+++ b/config/locales/sco.yml
@@ -1146,8 +1146,6 @@ sco:
index:
hint: This filter applies tae select individual posts regairdless o ither criteria. Ye kin add mair posts tae this filter fae the wab interface.
title: Filtert posts
- footer:
- trending_now: Trendin the noo
generic:
all: Aw
all_items_on_page_selected_html:
@@ -1413,7 +1411,6 @@ sco:
ios: iOS
linux: Linux
mac: macOS
- other: unkent platform
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/si.yml b/config/locales/si.yml
index 9a639b720d..4a53215243 100644
--- a/config/locales/si.yml
+++ b/config/locales/si.yml
@@ -959,8 +959,6 @@ si:
new:
save: නව පෙරහන සුරකින්න
title: නව පෙරහනක් එකතු කරන්න
- footer:
- trending_now: දැන් ප්රවණතාවය
generic:
all: සියල්ල
changes_saved_msg: වෙනස්කම් සාර්ථකව සුරකින ලදී!
@@ -1206,7 +1204,6 @@ si:
ios: අයිඕඑස්
linux: ලිනක්ස්
mac: මැක්ඕඑස්
- other: නොදන්නා වේදිකාව
windows: වින්ඩෝස්
windows_mobile: වින්ඩෝස් මොබයිල්
windows_phone: වින්ඩෝස් පෝන්
diff --git a/config/locales/simple_form.ar.yml b/config/locales/simple_form.ar.yml
index 267d2292cb..61befb9e64 100644
--- a/config/locales/simple_form.ar.yml
+++ b/config/locales/simple_form.ar.yml
@@ -19,6 +19,7 @@ ar:
none: استخدم هذه لإرسال تحذير للمستخدم، دون تشغيل أو إثارة أي إجراء آخر.
sensitive: إجبار جميع مرفقات الوسائط لهذا المستخدم على أن تكون حساسة.
silence: منع المستخدم من القدرة على النشر للعامة، وإخفاء مشاركاته وإشعاراته لمن لا يتبعونه. إغلاق جميع التقارير المقترنة بهذا الحساب.
+ suspend: منع أي تفاعل من هذا الحساب أو إليه وحذف محتوياته. يمكن التراجع عنه في غضون 30 يوما. إغلاق جميع التقارير المفتوحة ضد هذا الحساب.
warning_preset_id: اختياري. يمكنك إضافة نص مخصص إلى نهاية النموذج
announcement:
all_day: إن أختير، سيتم عرض تواريخ النطاق الزمني فقط
@@ -95,6 +96,7 @@ ar:
timeline_preview: الزوار الذين سجلوا خروجهم سيكونون قادرين على تصفح أحدث المشاركات العامة المتاحة على الخادم.
trendable_by_default: تخطي مراجعة المحتوى التريند اليدوي. لا يزال من الممكن الإزالة اللاحقة للعناصر الفردية من التريندات.
trends: تظهر التريندز أي المشاركات وعلامات وقصص الأخبار التي تجذب الانتباه على الخادم الخاص بك.
+ trends_as_landing_page: إظهار المحتوى المتداوَل للمستخدمين والزوار غير المسجلين بدلاً من وصف هذا الخادم. يتطلب هذا تفعيل المتداولة.
form_challenge:
current_password: إنك بصدد الدخول إلى منطقة آمنة
imports:
@@ -230,6 +232,7 @@ ar:
hide: إخفاء بالكامل
warn: إخفاء بتحذير
form_admin_settings:
+ activity_api_enabled: نشر مُجمل الإحصائيات عن نشاط المستخدمين في واجهة برمجة التطبيقات API
backups_retention_period: فترة الاحتفاظ بأرشيف المستخدم
bootstrap_timeline_accounts: أوصي دائما بهذه الحسابات للمستخدمين الجدد
closed_registrations_message: رسالة مخصصة عندما يكون التسجيل غير متاح
diff --git a/config/locales/simple_form.ast.yml b/config/locales/simple_form.ast.yml
index 32364cf7e4..9e97d51f24 100644
--- a/config/locales/simple_form.ast.yml
+++ b/config/locales/simple_form.ast.yml
@@ -59,6 +59,10 @@ ast:
ip_block:
comment: Opcional. Un recordatoriu de por qué amestesti esta norma.
expires_in: Les direiciones IP son un recursu finitu, suelen compartise ya cambiar de manes. Por esti motivu, nun s'aconseyen los bloqueos indefiníos de direiciones IP.
+ severities:
+ no_access: Bloquia l'accesu a tolos recursos
+ sign_up_block: Fai que nun se puedan rexistrar cuentes nueves
+ sign_up_requires_approval: Fai que se tengan de revisar les cuentes rexistraes nueves
user:
chosen_languages: Namás los artículos de les llingües que marques son los que van apaecer nes llinies de tiempu públiques
labels:
@@ -161,7 +165,12 @@ ast:
invite_request:
text: "¿Por qué quies xunite?"
ip_block:
+ comment: Comentariu
ip: IP
+ severities:
+ no_access: Bloquiar l'accesu
+ sign_up_block: Bloquiar el rexistru de cuentes nueves
+ sign_up_requires_approval: Llendar les cuentes rexistraes nueves
notification_emails:
favourite: Daquién marcó como favoritu'l to artículu
follow: Daquién te sigue
diff --git a/config/locales/simple_form.bg.yml b/config/locales/simple_form.bg.yml
index 213e519ce3..e84edc50da 100644
--- a/config/locales/simple_form.bg.yml
+++ b/config/locales/simple_form.bg.yml
@@ -15,8 +15,8 @@ bg:
text_html: По избор. Можете да използвате синтаксисът на публикация. Можете да добавите предварително настроени предупреждения, за да спестите време
type_html: Изберете какво ще правите с %{acct}
types:
- disable: Забранете на потребител да достъпва акаунта си, без да изтривате или скривате съдържанието на този акаунт.
- none: Служи за изпращане на предупреждение до потребител, без да се активира друго действие.
+ disable: Предотвратяване на потребител да употребява акаунта си, но без да се изтрива или скрива съдържанието му.
+ none: Използвайте това за изпращане на предупреждение до потребител, без задействане на друго действие.
sensitive: Принудително отбелязване на прикачената от потребителя мултимедия като чувствителна.
silence: Предотвратяване на потребителя да може да публикува с обществена видимост, скриване на публикациите му и известията от хората, които не го следват. Затваря всички доклади срещу този акаунт.
suspend: Предотвратяване на всякакво взаимодействие от или към този акаунт и изтриване на съдържанието му. Обратимо в рамките на 30 дни. Затваря всички доклади срещу този акаунт.
@@ -28,7 +28,7 @@ bg:
starts_at: По избор. В случай, че обявлението е ограничено до определен времеви диапазон
text: Може да употребявате синтаксиса на публикации. Имайте предвид, че оповестяването ще заема известно място от екрана на потребителя
appeal:
- text: Можете да възразите срещу провинение само веднъж
+ text: Може да възразите срещу провинение само веднъж
defaults:
autofollow: Хората, които се регистрират чрез поканата, автоматично ще ви последват
avatar: PNG, GIF или JPG. До най-много %{size}. Ще се смали до %{dimensions} пиксела
@@ -52,17 +52,17 @@ bg:
setting_always_send_emails: Обикновено известията по имейл няма да са изпратени при дейна употреба на Mastodon
setting_default_sensitive: Деликатната мултимедия е скрита по подразбиране и може да се разкрие с едно щракване
setting_display_media_default: Скриване на мултимедия отбелязана като деликатна
- setting_display_media_hide_all: Винаги да се скрива мултимедията
- setting_display_media_show_all: Винаги да се показва мултимедията
+ setting_display_media_hide_all: Винаги скриване на мултимедията
+ setting_display_media_show_all: Винаги показване на мултимедията
setting_hide_network: В профила ви ще бъде скрито кой може да последвате и кой може да ви последва
setting_noindex: Засяга вашите публикации и публичен профил
setting_show_application: Приложението, което ползвате за публикуване, ще се показва в подробностите на публикацията ви
setting_use_blurhash: Преливането е въз основа на цветовете на скритите визуализации, но се замъгляват подробностите
setting_use_pending_items: Да се показват обновявания на часовата ос само след щракване вместо автоматично превъртане на инфоканала
- username: Вашето потребителско име ще е неповторим в %{domain}
+ username: Вашето потребителско име ще е неповторимо в %{domain}
whole_word: Ако ключовата дума или фраза е само буквеноцифрена, то ще се приложи само, ако съвпадне с цялата дума
domain_allow:
- domain: Този домейн ще може да извлече данни от този сървър и входящите данни от него ще бъдат обработени и запазени
+ domain: Домейнът ще може да извлича данни от този сървър и входящите данни от него ще се обработят и съхранят
email_domain_block:
domain: Това може да е името на домейна, който се съдържа в имейл адреса или MX записа, който той използва. Ще бъдат проверени при регистрация.
with_dns_records: Ще има опит за преобразуване на DNS записите за дадения домейн и резултатите също ще бъдат блокирани
@@ -74,14 +74,14 @@ bg:
hide: Напълно скриване на филтрираното съдържание, сякаш не съществува
warn: Скриване на филтрираното съдържание зад предупреждение, споменавайки заглавието на филтъра
form_admin_settings:
- activity_api_enabled: Брой публикувани постове, активни потребители и нови регистрации за седмицата
+ activity_api_enabled: Броят на местните публикувани публикации, дейни потребители и нови регистрации в седмични кофи
backups_retention_period: Задържане на породените потребителски архиви за определения брой дни.
bootstrap_timeline_accounts: Тези акаунти ще се закачат в горния край на препоръките за следване на нови потребители.
closed_registrations_message: Показва се, когато е затворено за регистрации
content_cache_retention_period: Публикации от други сървъри ще се изтрият след определен брой дни при положително число. Действието може да е необратимо.
- custom_css: Може да прилагате собствени стилове в уеб версията на Mastodon.
+ custom_css: Може да прилагате собствени стилове в уебверсията на Mastodon.
mascot: Замества илюстрацията в разширения уеб интерфейс.
- media_cache_retention_period: Свалените мултимедийни файлове ще бъдат изтрити след посочения брой дни, когато броят е положително число, и ще бъдат свалени отново при поискване.
+ media_cache_retention_period: Изтеглените мултимедийни файлове ще се изтрият след посочения брой дни, задавайки положително число, и ще се изтеглят пак при поискване.
peers_api_enabled: Списък от имена на домейни, с които сървърът се е свързал във федивселената. Тук не се включват данни за това дали федерирате с даден сървър, а само за това дали сървърът ви знае за него. Това се ползва от услуги, събиращи статистика за федерацията в общия смисъл.
profile_directory: Указателят на профили вписва всички потребители, избрали да бъдат откриваеми.
require_invite_text: Когато регистрацията изисква ръчно одобрение, текстовото поле за това "Защо желаете да се присъедините?" ще бъде задължително, вместо по желание
@@ -95,7 +95,7 @@ bg:
theme: Темата, която излизащи от системата посетители и нови потребители виждат.
thumbnail: Образ в съотношение около 2:1, показвано до информацията за сървъра ви.
timeline_preview: Излизащите от системата посетители ще може да разглеждат най-новите публични публикации, налични на сървъра.
- trendable_by_default: Прескачане на ръчния преглед на нашумяло съдържание. Отделни елементи могат да бъдат премахвани от нашумели в последствие.
+ trendable_by_default: Прескачане на ръчния преглед на изгряващо съдържание. Отделни елементи още могат да се премахват от изгряващи постфактум.
trends: В раздел „Налагащо се“ се показват публикации, хаштагове и новини, набрали популярност на сървъра ви.
trends_as_landing_page: Показване на налагащото се съдържание за излизащите потребители и посетители вместо на описа на този сървър. Изисква налагащото се да бъде включено.
form_challenge:
@@ -142,7 +142,7 @@ bg:
account_migration:
acct: Потребителско име на новия акаунт
account_warning_preset:
- text: Предварително настроен текст
+ text: Зададен текст
title: Заглавие
admin_account_action:
include_statuses: Включване на докладваните публикации в имейла
@@ -155,7 +155,7 @@ bg:
sensitive: Деликатно
silence: Ограничение
suspend: Спиране
- warning_preset_id: Употреба на преднастройка за предупреждение
+ warning_preset_id: Употреба на зададено предупреждение
announcement:
all_day: Целодневно събитие
ends_at: Край на събитието
@@ -171,7 +171,7 @@ bg:
chosen_languages: Филтриране на езиците
confirm_new_password: Потвърждаване на новата парола
confirm_password: Потвърдете паролата
- context: Филтриране на контекста
+ context: Прецеждане на контекста
current_password: Текуща парола
data: Данни
discoverable: Предложете акаунта на други
@@ -185,7 +185,7 @@ bg:
irreversible: Премахване, вместо скриване
locale: Език на интерфейса
locked: Направи акаунта поверителен
- max_uses: Максимален брой използвания
+ max_uses: Макс брой употреби
new_password: Нова парола
note: Биогр.
otp_attempt: Двуфакторен код
@@ -207,7 +207,7 @@ bg:
setting_display_media_hide_all: Скриване на всичко
setting_display_media_show_all: Показване на всичко
setting_expand_spoilers: Винаги разширяване на публикации, отбелязани с предупреждения за съдържание
- setting_hide_network: Скриване на социалното ви графосвързване
+ setting_hide_network: Скриване на социалния ви свързан граф
setting_noindex: Отказване от индексирането от търсачки
setting_reduce_motion: Обездвижване на анимациите
setting_show_application: Разкриване на приложението, изпращащо публикации
@@ -236,7 +236,7 @@ bg:
activity_api_enabled: Публикуване на агрегирани статиски относно потребителската дейност в API
backups_retention_period: Период за съхранение на потребителския архив
bootstrap_timeline_accounts: Винаги да се препоръчват следните акаунти на нови потребители
- closed_registrations_message: Съобщение, показвано, когато записвания не са възможни
+ closed_registrations_message: Съобщение при неналична регистрация
content_cache_retention_period: Период на съхранение на кеша за съдържание
custom_css: Персонализиран CSS
mascot: Талисман по избор (остаряла настройка)
@@ -283,7 +283,7 @@ bg:
follow: Някой ви последва
follow_request: Някой пожела да ви последва
mention: Някой ви спомена
- pending_account: Новите акаунти трябва да се прегледат
+ pending_account: Новите акаунти се нуждаят от преглед
reblog: Някой подсили ваша публикация
report: Новият доклад е подаден
trending_tag: Изискване на преглед за новонашумели
@@ -306,11 +306,11 @@ bg:
events: Включване на събития
url: URL адрес на крайната точка
'no': Не
- not_recommended: Не се препоръчва
- recommended: Препоръчано
+ not_recommended: Непрепоръчително
+ recommended: Препоръчва се
required:
mark: "*"
- text: задължително
+ text: изисквано
title:
sessions:
webauthn: Употребете един от ключовете си за сигурност, за да влезете
diff --git a/config/locales/simple_form.da.yml b/config/locales/simple_form.da.yml
index 3116f02d81..af29427420 100644
--- a/config/locales/simple_form.da.yml
+++ b/config/locales/simple_form.da.yml
@@ -18,6 +18,8 @@ da:
disable: Forhindre brugeren i at bruge sin konto, men slet eller skjul ikke vedkommendes indhold.
none: Brug dette til at sende en advarsel til brugeren uden at udløse nogen anden handling.
sensitive: Gennemtving sensitivmarkering af alle denne brugers medievedhæftninger.
+ silence: Forhindr brugeren i at udgive offentligt synlige indlæg, skjul vedkommendes indlæg samt notifikationer fra ikke-følgere. Lukker alle indrapporteringer af kontoen.
+ suspend: Forhindr alle interaktion fra/til kontoen og slet dens indhold. Kan omgøres inden for 30 dage. Lukker alle indrapporteringer af kontoen.
warning_preset_id: Valgfri. Du kan stadig tilføje tilpasset tekst til slutningen af forvalgene
announcement:
all_day: Hvis markeret, vil kun datoerne for tidsintervallet blive vist
@@ -80,6 +82,7 @@ da:
custom_css: Man kan anvende tilpassede stilarter på Mastodon-webversionen.
mascot: Tilsidesætter illustrationen i den avancerede webgrænseflade.
media_cache_retention_period: Downloadede mediefiler slettes efter det angivne antal dage, når sat til en positiv værdi, og gendownloades på forlangende.
+ peers_api_enabled: En liste med domænenavne, som denne server har stødt på i fediverset. Ingen data inkluderes her om, hvorvidt der fødereres med en given server, blot at din server kender til det. Dette bruges af tjenester, som indsamler generelle føderationsstatistikker.
profile_directory: Profilmappen oplister alle brugere, som har valgt at kunne opdages.
require_invite_text: Når tilmelding kræver manuel godkendelse, så gør “Hvorfor ønsker du at deltage?” tekstinput obligatorisk i stedet for valgfrit
site_contact_email: Hvordan folk kan opnå kontakt ifm. juridiske eller supportforespørgsler.
@@ -238,6 +241,7 @@ da:
custom_css: Tilpasset CSS
mascot: Tilpasset maskot (ældre funktion)
media_cache_retention_period: Media-cache opbevaringsperiode
+ peers_api_enabled: Udgiv liste over fundne server i API'en
profile_directory: Aktivér profiloversigt
registrations_mode: Hvem, der kan tilmelde sig
require_invite_text: Kræv tilmeldingsbegrundelse
@@ -255,6 +259,7 @@ da:
timeline_preview: Tillad ikke-godkendt adgang til offentlige tidslinjer
trendable_by_default: Tillad ikke-reviderede tendenser
trends: Aktivér trends
+ trends_as_landing_page: Brug tendenser som destinationssiden
interactions:
must_be_follower: Blokér notifikationer fra ikke-følgere
must_be_following: Blokér notifikationer fra folk, som ikke følges
diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml
index 0090c2f96d..4a13cea7c4 100644
--- a/config/locales/simple_form.de.yml
+++ b/config/locales/simple_form.de.yml
@@ -50,7 +50,7 @@ de:
scopes: Welche Schnittstellen der Applikation erlaubt sind. Wenn du einen Top-Level-Scope auswählst, dann musst du nicht jeden einzelnen darunter auswählen.
setting_aggregate_reblogs: Zeige denselben Beitrag nicht nochmal an, wenn er erneut geteilt wurde (dies betrifft nur neulich erhaltene erneut geteilte Beiträge)
setting_always_send_emails: Normalerweise werden Benachrichtigungen nicht per E-Mail verschickt, wenn du gerade auf Mastodon aktiv bist
- setting_default_sensitive: Medien, die mit einer Inhaltswarnung versehen worden sind, werden erst nach einem zusätzlichen Klick angezeigt
+ setting_default_sensitive: Medien, die mit einer Inhaltswarnung versehen wurden, werden erst nach einem zusätzlichen Klick angezeigt
setting_display_media_default: Medien mit Inhaltswarnung ausblenden
setting_display_media_hide_all: Medien immer ausblenden
setting_display_media_show_all: Medien mit Inhaltswarnung immer anzeigen
@@ -74,9 +74,9 @@ de:
hide: Den gefilterten Beitrag vollständig ausblenden, als hätte er nie existiert
warn: Den gefilterten Beitrag hinter einer Warnung, die den Filtertitel beinhaltet, ausblenden
form_admin_settings:
- activity_api_enabled: Anzahl der lokal veröffentlichten Beiträge, der aktiven Benutzer*innen und neuen Registrierungen in wöchentlichen Abständen
+ activity_api_enabled: Anzahl der wöchentlichen Beiträge, aktiven Profile und Registrierungen auf diesem Server
backups_retention_period: Behalte die Archive, die von den Benutzer*innen erstellt worden sind, für die angegebene Anzahl an Tagen.
- bootstrap_timeline_accounts: Diese Profile werden bei den Follower-Empfehlungen für neu registrierte Nutzer*innen oben angeheftet.
+ bootstrap_timeline_accounts: Diese Konten werden bei den Follower-Empfehlungen für neu registrierte Nutzer*innen oben angeheftet.
closed_registrations_message: Wird angezeigt, wenn Registrierungen deaktiviert sind
content_cache_retention_period: Beiträge von anderen Servern werden nach der angegebenen Anzahl von Tagen, wenn sie auf einen positiven Wert gesetzt werden, gelöscht. Dies kann eventuell nicht rückgängig gemacht werden.
custom_css: Du kannst benutzerdefinierte Stile auf die Web-Version von Mastodon anwenden.
@@ -91,7 +91,7 @@ de:
site_short_description: Eine kurze Beschreibung zur eindeutigen Identifizierung des Servers. Wer betreibt ihn, für wen ist er bestimmt?
site_terms: Verwende eine eigene Datenschutzerklärung oder lasse das Feld leer, um die allgemeine Vorlage zu verwenden. Kann mit der Markdown-Syntax formatiert werden.
site_title: Wie Personen neben dem Domainnamen auf deinen Server verweisen können.
- status_page_url: URL einer Seite, auf der der Status des Servers während eines Ausfalls angezeigt werden kann
+ status_page_url: URL einer Seite, auf der der Serverstatus während eines Ausfalls angezeigt wird
theme: Das Design, das abgemeldete Besucher und neue Benutzer sehen.
thumbnail: Ein Bild ungefähr im 2:1-Format, das neben den Server-Informationen angezeigt wird.
timeline_preview: Besucher*innen und ausgeloggte Benutzer*innen können die neuesten öffentlichen Beiträge dieses Servers aufrufen.
@@ -116,7 +116,7 @@ de:
rule:
text: Führe eine Regel oder Bedingung für Benutzer*innen auf diesem Server ein. Bleib dabei kurz und knapp
sessions:
- otp: 'Gib den Zwei-Faktor-Code von deinem Telefon ein oder benutze einen deiner Wiederherstellungscodes:'
+ otp: 'Gib den Zwei-Faktor-Code von deinem Smartphone ein oder benutze einen deiner Wiederherstellungscodes:'
webauthn: Wenn es sich um einen USB-Schlüssel handelt, vergewissere dich, dass du ihn einsteckst und – falls erforderlich – antippst.
tag:
name: Du kannst zum Beispiel nur die Groß- und Kleinschreibung der Buchstaben ändern, um es lesbarer zu machen
@@ -131,21 +131,21 @@ de:
position: Höhere Rollen entscheiden über Konfliktlösungen zu gewissen Situationen. Bestimmte Aktionen können nur mit geringfügigeren Rollen durchgeführt werden
webhook:
events: Zu sendende Ereignisse auswählen
- url: Wo Ereignisse hingesendet werden
+ url: Wohin Ereignisse geschickt werden
labels:
account:
fields:
name: Beschriftung
value: Inhalt
account_alias:
- acct: Adresse des alten Kontos
+ acct: Profilname des alten Kontos
account_migration:
acct: Adresse des neuen Kontos
account_warning_preset:
text: Vorlagentext
title: Titel
admin_account_action:
- include_statuses: Beitragsmeldungen in die E-Mail mit anfügen
+ include_statuses: Gemeldete Beiträge der E-Mail beifügen
send_email_notification: Benachrichtigung per E-Mail
text: Benutzerdefinierte Verwarnung
type: Aktion
@@ -171,7 +171,7 @@ de:
chosen_languages: Sprachen einschränken
confirm_new_password: Neues Passwort bestätigen
confirm_password: Passwort bestätigen
- context: Filter nach Bereichen
+ context: Nach Bereichen filtern
current_password: Derzeitiges Passwort
data: Daten
discoverable: Dieses Konto anderen empfehlen
@@ -233,7 +233,7 @@ de:
hide: Vollständig ausblenden
warn: Mit einer Inhaltswarnung ausblenden
form_admin_settings:
- activity_api_enabled: Veröffentlichung von Gesamtstatistiken über Nutzeraktivitäten in der API
+ activity_api_enabled: Aggregierte Nutzungsdaten über die API veröffentlichen
backups_retention_period: Aufbewahrungsfrist für Archive
bootstrap_timeline_accounts: Neuen Nutzern immer diese Konten empfehlen
closed_registrations_message: Nachricht, falls Registrierungen deaktiviert sind
@@ -241,7 +241,7 @@ de:
custom_css: Eigenes CSS
mascot: Benutzerdefiniertes Maskottchen (Legacy)
media_cache_retention_period: Aufbewahrungsfrist für den Medien-Cache
- peers_api_enabled: Veröffentliche Liste bekannter Server in der API
+ peers_api_enabled: Über die API die bekanntgewordenen Fediverse-Server veröffentlichen
profile_directory: Profilverzeichnis aktivieren
registrations_mode: Wer darf ein neues Konto registrieren?
require_invite_text: Begründung für Beitritt verlangen
diff --git a/config/locales/simple_form.et.yml b/config/locales/simple_form.et.yml
index 8b7dace23c..83aa4159d8 100644
--- a/config/locales/simple_form.et.yml
+++ b/config/locales/simple_form.et.yml
@@ -30,7 +30,7 @@ et:
appeal:
text: Otsust on võimalik vaidlustada vaid 1 kord
defaults:
- autofollow: Inimesed, kes loovad konto selle kutse läbi, automaatselt jälgivad Teid
+ autofollow: Inimesed, kes loovad konto selle kutse läbi, automaatselt jälgivad sind
avatar: PNG, GIF või JPG. Kõige rohkem %{size}. Vähendatakse %{dimensions} pikslini
bot: Teavita teisi, et see konto teeb enamjaolt automatiseeritud tegevusi ja ei pruugi olla järelvalve all
context: Üks või mitu konteksti, mille vastu see filter peaks rakenduma
@@ -54,7 +54,7 @@ et:
setting_display_media_default: Peida tundlikuks märgitud meedia
setting_display_media_hide_all: Alati peida kõik meedia
setting_display_media_show_all: Alati näita tundlikuks märgistatud meedia
- setting_hide_network: Profiilil ei kuvata Keda sa jälgid ja kes jälgib sind
+ setting_hide_network: Profiilil ei kuvata, keda sa jälgid ja kes sind jälgib
setting_noindex: Mõjutab avalikku profiili ja postituste lehekülgi
setting_show_application: Postitamiseks kasutatud rakenduse infot kuvatakse postituse üksikasjavaates
setting_use_blurhash: Värvid põhinevad peidetud visuaalidel, kuid hägustavad igasuguseid detaile
@@ -281,8 +281,8 @@ et:
digest: Saada ülevaatlike e-kirju
favourite: Saada e-kiri, kui keegi lisab su postituse lemmikuks
follow: Saada e-kiri, kui keegi alustab jälgimist
- follow_request: Saada e-kiri, kui keegi soovib Teid jälgida
- mention: Saada e-kiri, kui keegi mainib Teid
+ follow_request: Saada e-kiri, kui keegi soovib sind jälgida
+ mention: Saada e-kiri, kui keegi mainib sind
pending_account: Saada e-kiri, kui uus konto vajab ülevaatlust
reblog: Keegi jagas postitust
report: Esitatud on uus raport
diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml
index f22ba7a981..ac5e0a8ce4 100644
--- a/config/locales/simple_form.fi.yml
+++ b/config/locales/simple_form.fi.yml
@@ -8,7 +8,7 @@ fi:
acct: Määrittele käyttäjän käyttäjänimi@verkkotunnus, johon haluat siirtyä
account_warning_preset:
text: Voit käyttää julkaisun syntaksia, kuten URL-osoitteita, aihetunnisteita ja mainintoja
- title: Vapaaehtoinen. Ei näytetä vastaanottajalle
+ title: Valinnainen. Ei näy vastaanottajalle
admin_account_action:
include_statuses: Käyttäjä näkee mitkä viestit johtivat toimenpiteeseen tai varoitukseen
send_email_notification: Käyttäjä saa selityksen mitä tapahtui hänen tililleen
@@ -67,7 +67,7 @@ fi:
domain: Tämä voi olla se verkkotunnus, joka näkyy sähköpostiosoitteessa tai MX tietueessa jota se käyttää. Ne tarkistetaan rekisteröitymisen yhteydessä.
with_dns_records: Annetun verkkotunnuksen DNS-tietueet yritetään ratkaista ja tulokset myös estetään
featured_tag:
- name: 'Tässä muutamia aihetunnisteita, joita käytit viime aikoina:'
+ name: 'Tässä muutamia hiljattain käyttämiäsi aihetunnisteita:'
filters:
action: Valitse, mikä toiminto suoritetaan, kun viesti vastaa suodatinta
actions:
diff --git a/config/locales/simple_form.fr-QC.yml b/config/locales/simple_form.fr-QC.yml
index bc78f0ae65..541bc8be6a 100644
--- a/config/locales/simple_form.fr-QC.yml
+++ b/config/locales/simple_form.fr-QC.yml
@@ -82,7 +82,7 @@ fr-QC:
custom_css: Vous pouvez appliquer des styles personnalisés sur la version Web de Mastodon.
mascot: Remplace l'illustration dans l'interface Web avancée.
media_cache_retention_period: Les fichiers multimédias téléchargés seront supprimés après le nombre de jours spécifiés lorsque la valeur est positive, et seront téléchargés à nouveau sur demande.
- peers_api_enabled: Une liste de noms de domaine que ce serveur a rencontrés dans le fediverse. Aucune donnée indiquant si vous vous fédérez ou non avec un serveur particulier n'est incluse ici, seulement l'information que votre serveur connaît un autre serveur. Cette option est utilisée par les services qui collectent des statistiques sur la fédération en général.
+ peers_api_enabled: Une liste de noms de domaine que ce serveur a rencontrés dans le fédiverse. Aucune donnée indiquant si vous vous fédérez ou non avec un serveur particulier n'est incluse ici, seulement l'information que votre serveur connaît un autre serveur. Cette option est utilisée par les services qui collectent des statistiques sur la fédération en général.
profile_directory: L'annuaire des profils répertorie tous les utilisateurs qui ont opté pour être découverts.
require_invite_text: Lorsque les inscriptions nécessitent une approbation manuelle, rendre le texte de l’invitation "Pourquoi voulez-vous vous inscrire ?" obligatoire plutôt que facultatif
site_contact_email: Comment les personnes peuvent vous joindre pour des demandes de renseignements juridiques ou d'assistance.
@@ -91,11 +91,13 @@ fr-QC:
site_short_description: Une courte description pour aider à identifier de manière unique votre serveur. Qui l'exécute, à qui il est destiné ?
site_terms: Utilisez votre propre politique de confidentialité ou laissez vide pour utiliser la syntaxe par défaut. Peut être structurée avec la syntaxe Markdown.
site_title: Comment les personnes peuvent se référer à votre serveur en plus de son nom de domaine.
+ status_page_url: URL d'une page où les gens peuvent voir l'état de ce serveur en cas de panne
theme: Thème que verront les utilisateur·rice·s déconnecté·e·s ainsi que les nouveaux·elles utilisateur·rice·s.
thumbnail: Une image d'environ 2:1 affichée à côté des informations de votre serveur.
timeline_preview: Les visiteurs déconnectés pourront parcourir les derniers messages publics disponibles sur le serveur.
trendable_by_default: Ignorer l'examen manuel du contenu tendance. Des éléments individuels peuvent toujours être supprimés des tendances après coup.
trends: Les tendances montrent quelles publications, hashtags et actualités sont en train de gagner en traction sur votre serveur.
+ trends_as_landing_page: Afficher le contenu tendance au lieu d'une description de ce serveur pour les comptes déconnectés et les non-inscrit⋅e⋅s. Nécessite que les tendances soient activées.
form_challenge:
current_password: Vous entrez une zone sécurisée
imports:
@@ -251,11 +253,13 @@ fr-QC:
site_short_description: Description du serveur
site_terms: Politique de confidentialité
site_title: Nom du serveur
+ status_page_url: URL de la page de l'état du serveur
theme: Thème par défaut
thumbnail: Miniature du serveur
timeline_preview: Autoriser l’accès non authentifié aux fils publics
trendable_by_default: Autoriser les tendances sans révision préalable
trends: Activer les tendances
+ trends_as_landing_page: Utiliser les tendances comme page d'accueil
interactions:
must_be_follower: Bloquer les notifications des personnes qui ne vous suivent pas
must_be_following: Bloquer les notifications des personnes que vous ne suivez pas
diff --git a/config/locales/simple_form.it.yml b/config/locales/simple_form.it.yml
index 3af09275fb..189b9bfc50 100644
--- a/config/locales/simple_form.it.yml
+++ b/config/locales/simple_form.it.yml
@@ -259,7 +259,7 @@ it:
timeline_preview: Consenti l'accesso non autenticato alle timeline pubbliche
trendable_by_default: Consenti le tendenze senza revisione preventiva
trends: Abilita le tendenze
- trends_as_landing_page: Utilizza le tendenze come pagina di destinazione
+ trends_as_landing_page: Usa le tendenze come pagina di destinazione
interactions:
must_be_follower: Blocca notifiche da chi non ti segue
must_be_following: Blocca notifiche dalle persone che non segui
diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml
index b8edaf6368..1d63fb631c 100644
--- a/config/locales/simple_form.ko.yml
+++ b/config/locales/simple_form.ko.yml
@@ -101,7 +101,7 @@ ko:
form_challenge:
current_password: 당신은 보안 구역에 진입하고 있습니다
imports:
- data: 다른 마스토돈 서버에서 추출된 CSV 파일
+ data: 다른 마스토돈 서버에서 내보낸 CSV 파일
invite_request:
text: 이 정보는 신청을 검토하는데 도움을 줄 수 있습니다.
ip_block:
@@ -116,7 +116,7 @@ ko:
rule:
text: 이 서버 사용자들이 지켜야 할 규칙과 요구사항을 설명해주세요. 짧고 간단하게 작성해주세요
sessions:
- otp: '휴대전화에서 생성 된 2단계 인증 코드를 입력하거나, 복구 코드 중 하나를 사용하세요:'
+ otp: '휴대전화에서 생성된 이중 인증 코드를 입력하거나, 복구 코드 중 하나를 사용하세요:'
webauthn: USB 키라면 삽입했는지 확인하고, 필요하다면 누르세요.
tag:
name: 읽기 쉽게하기 위한 글자의 대소문자만 변경할 수 있습니다.
@@ -150,11 +150,11 @@ ko:
text: 커스텀 경고
type: 조치
types:
- disable: 비활성화
- none: 아무 것도 하지 않기
+ disable: 동결
+ none: 경고 보내기
sensitive: 민감함
silence: 제한
- suspend: 정지하고 되돌릴 수 없는 데이터 삭제
+ suspend: 정지
warning_preset_id: 경고 틀 사용하기
announcement:
all_day: 종일 일정
@@ -163,11 +163,11 @@ ko:
starts_at: 이벤트 시작
text: 공지사항
appeal:
- text: 이 결정이 왜 번복되어야 하는지에 대해 설명해주세요
+ text: 이 결정을 번복해야만 하는 이유가 무엇입니까
defaults:
autofollow: 초대를 통한 팔로우
avatar: 아바타
- bot: 이것은 봇 계정입니다
+ bot: 이것은 자동화된 계정입니다
chosen_languages: 언어 필터링
confirm_new_password: 암호 다시 입력
confirm_password: 암호 다시 입력
@@ -187,8 +187,8 @@ ko:
locked: 팔로우 요청 필요
max_uses: 사용 횟수 제한
new_password: 새로운 암호 입력
- note: 자기소개
- otp_attempt: 2단계 인증 코드
+ note: 소개
+ otp_attempt: 이중 인증 코드
password: 암호
phrase: 키워드 또는 문장
setting_advanced_layout: 고급 웹 UI 활성화
@@ -206,15 +206,15 @@ ko:
setting_display_media_default: 기본
setting_display_media_hide_all: 모두 가리기
setting_display_media_show_all: 모두 보이기
- setting_expand_spoilers: 열람주의 툿을 항상 펼치기
+ setting_expand_spoilers: 열람주의 게시물을 항상 펼치기
setting_hide_network: 내 인맥 숨기기
setting_noindex: 검색엔진의 인덱싱을 거절
setting_reduce_motion: 애니메이션 줄이기
- setting_show_application: 툿 작성에 사용한 앱을 공개
+ setting_show_application: 게시물 작성에 쓰인 애플리케이션 공개
setting_system_font_ui: 시스템의 기본 글꼴을 사용
setting_theme: 사이트 테마
setting_trends: 오늘의 유행 보이기
- setting_unfollow_modal: 언팔로우 전 언팔로우 확인 표시
+ setting_unfollow_modal: 누군가를 언팔로우 할 때 확인란 표시하기
setting_use_blurhash: 숨겨진 미디어에 대해 그라디언트 표시
setting_use_pending_items: 느린 모드
severity: 심각도
@@ -305,7 +305,7 @@ ko:
webhook:
events: 활성화된 이벤트
url: 엔드포인트 URL
- 'no': 아니오
+ 'no': 아니요
not_recommended: 추천하지 않음
recommended: 추천함
required:
diff --git a/config/locales/simple_form.my.yml b/config/locales/simple_form.my.yml
index 5e1fc6bee9..44a40e4868 100644
--- a/config/locales/simple_form.my.yml
+++ b/config/locales/simple_form.my.yml
@@ -1 +1,262 @@
+---
my:
+ simple_form:
+ hints:
+ account_alias:
+ acct: သင်ပြောင်းရွှေ့လိုသောအကောင့်၏ username@domain ကိုသတ်မှတ်ပါ
+ account_warning_preset:
+ text: URLs၊ hashtags နှင့် mentions များကဲ့သို့ ပို့စ်ကို သုံးနိုင်သည်
+ admin_account_action:
+ include_statuses: အသုံးပြုသူသည် မည်သည့်ပို့စ်များမှာ စိစစ်ထားခြင်း သို့မဟုတ် သတိပေးထားခြင်းဖြစ်စေသည်ကို တွေ့မြင်နိုင်ပါသည်
+ send_email_notification: အသုံးပြုသူသည် ၎င်းတို့၏အကောင့်နှင့် ဖြစ်ပျက်ခဲ့သော ရှင်းလင်းချက်ကို လက်ခံရရှိမည်ဖြစ်သည်
+ type_html: "%{acct} နှင့် ဘာလုပ်ရမည်ကို ရွေးပါ။"
+ announcement:
+ scheduled_at: ကြေညာချက်ချက်ချင်းထုတ်ပြန်ရန်အတွက် နေရာလွတ်ချန်ထားပါ
+ defaults:
+ autofollow: ဖိတ်ကြားချက်မှတစ်ဆင့် အကောင့်ဖွင့်သူများမှာ သင့်ကို အလိုအလျောက်စောင့်ကြည့်မည်ဖြစ်ပါသည်
+ avatar: PNG၊ GIF သို့မဟုတ် JPG။ အများဆုံး %{size}။ %{dimensions}px သို့ လျှော့ချပါမည်။
+ bot: အကောင့်သည် အဓိကအားဖြင့် အလိုအလျောက် လုပ်ဆောင်ချက်များ ဆောင်ရွက်နိုင်ပြီး စောင့်ကြည့်ခြင်းမပြုနိုင်ကြောင်း အခြားသူများအား အသိပေးပါ
+ context: စစ်ထုတ်သင့်သည့် အကြောင်းအရာ တစ်ခု သို့မဟုတ် များစွာ
+ current_password: လုံခြုံရေးအတွက် ကျေးဇူးပြုပြီး လက်ရှိအကောင့်၏ စကားဝှက်ကို ထည့်ပါ
+ current_username: အတည်ပြုရန်အတွက် လက်ရှိအကောင့်၏ အသုံးပြုသူအမည်ကို ရိုက်ထည့်ပါ
+ digest: အချိန်အတော်ကြာ အသုံးမပြုသည့်သည့်နောက်တွင်သာ ပေးပို့ပြီး အသုံးမပြုသည့်ကာလအတွင်း ကိုယ်ရေးကိုယ်တာစာများသာ လက်ခံရန်
+ discoverable: အကြံပြုချက်များ၊ လက်ရှိခေတ်စားနေသောပို့စ်များနှင့် အခြားအကြောင်းအရာများမှတစ်ဆင့် သင့်အကောင့်ကို တခြားသူများက တွေ့ရှိနိုင်စေရန် ခွင့်ပြုပါ။
+ email: သင့်ထံ အတည်ပြုချက်အီးမေးလ်တစ်စောင် ပေးပို့ပါမည်
+ fields: သင့်ပရိုဖိုင်တွင် ၄ ခုအထိ ပြသထားနိုင်သည်
+ header: PNG၊ GIF သို့မဟုတ် JPG။ အများဆုံး %{size}။ %{dimensions}px သို့ လျှော့ချပါမည်
+ inbox_url: သင်အသုံးပြုလိုသော relay ၏ ရှေ့စာမျက်နှာမှ URL ကို ကူးယူပါ
+ locale: အသုံးပြုသူမှ လက်ရှိသုံးနေသည့်ဘာသာစကား၊ အီးမေးလ်များနှင့် ရရှိစေရန်ပေးပို့သည့် အသိပေးချက်များ
+ locked: စောင့်ကြည့်ရန်အတွက် တောင်းဆိုမှုများကို အတည်ပြုခြင်းဖြင့် စောင့်ကြည့်သူများကို ထိန်းချုပ်နိုင်သည်
+ password: အနည်းဆုံး စာလုံး ၈ လုံး အသုံးပြုပါ။
+ setting_aggregate_reblogs: မကြာသေးခင်က Boost လုပ်ထားသောပို့စ်များအတွက် Boost အသစ်များကို မပြပါနှင့် (အသစ်ရရှိထားသော Boost များကိုသာ ပြသပါရန်)
+ setting_always_send_emails: Mastodon ကို လက်ရှိအသုံးပြုနေချိန်တွင် ပုံမှန်အားဖြင့် အီးမေးလ်အသိပေးချက်များကို ပေးပို့မည်မဟုတ်ပါ
+ setting_default_sensitive: သတိထားရသောမီဒီယာကို မူလအားဖြင့် ဖျောက်ထားနိုင်ပြီး ကလစ်တစ်ချက်နှိပ်ရုံဖြင့် ပြန်လည်ဖော်ပြနိုင်သည်
+ setting_display_media_default: သတိထားရသောမီဒီယာအဖြစ် သတ်မှတ်ထားမှုအား ဖျောက်ပါ
+ setting_display_media_hide_all: မီဒီယာကို အမြဲတမ်းဖျောက်ထားပါ
+ setting_display_media_show_all: မီဒီယာကို အမြဲတမ်းပြပါ
+ setting_hide_network: သင်စောင့်ကြည့်မည့်သူများနှင့် သင့်ကိုစောင့်ကြည့်မည့်သူများကို သင့်ပရိုဖိုင်တွင် ဖျောက်ထားနိုင်ပါသည်
+ setting_noindex: သင်၏ အများမြင်သည့်ပရိုဖိုင်နှင့် ပို့စ်စာမျက်နှာများကို အကျိုးသက်ရောက်သည်
+ setting_show_application: ပို့စ်တင်ရန်အတွက် သင်အသုံးပြုသည့် အက်ပလီကေးရှင်းကို သင့်ပို့စ်များ၏ အသေးစိတ်ကြည့်ရှုမှုတွင် ပြသမည်ဖြစ်သည်
+ username: "%{domain} ရှိ သင့်အသုံးပြုသူအမည်မှာ တူညီ၍မရပါ"
+ email_domain_block:
+ domain: "၎င်းမှာ အီးမေးလ်လိပ်စာ သို့မဟုတ် အသုံးပြုသည့် MX မှတ်တမ်းတွင် ပေါ်လာသည့် ဒိုမိန်းအမည် ဖြစ်နိုင်သည်။ အကောင့်ဖွင့်ပြီးပါက စစ်ဆေးနိုင်မည်ဖြစ်သည်။"
+ featured_tag:
+ name: ဤသည်မှာ သင်မကြာသေးမီက အသုံးပြုခဲ့သော hashtag အချို့ဖြစ်သည် -
+ filters:
+ action: ပို့စ်တစ်ခုသည် စစ်ထုတ်မှုနှင့် ကိုက်ညီချိန်တွင် မည်သည့်လုပ်ဆောင်ချက် ဆောင်ရွက်မည်ကို ရွေးချယ်ပါ
+ actions:
+ warn: စစ်ထုတ်မှုခေါင်းစဉ်ကိုဖော်ပြသည့်သတိပေးချက်နောက်တွင် စစ်ထုတ်ထားသောအကြောင်းအရာကို ဖျောက်ထားပါ
+ form_admin_settings:
+ activity_api_enabled: အပတ်စဉ် စာရင်းများတွင် ဒေသတွင်းတင်ထားသောပို့စ်များ၊ လက်ရှိအသုံးပြုသူများနှင့် စာရင်းသွင်းမှုအသစ်များ
+ backups_retention_period: သတ်မှတ်ထားသော ရက်အရေအတွက်အလိုက် အသုံးပြုသူမှတ်တမ်းများကို သိမ်းဆည်းပါ။
+ bootstrap_timeline_accounts: ဤအကောင့်များကို အသုံးပြုသူအသစ်များ၏ စောင့်ကြည့်မှု အကြံပြုချက်များ၏ထိပ်ဆုံးတွင် ပင်ချိတ်ထားပါမည်။
+ closed_registrations_message: အကောင့်ဖွင့်ခြင်းများကို ပိတ်ထားသည့်အခါတွင် ပြသထားသည်
+ custom_css: Mastodon ဝဘ်ဗားရှင်းတွင် စိတ်ကြိုက်စတိုင်များကို အသုံးပြုနိုင်ပါသည်။
+ site_contact_username: Mastodon တွင် အခြားသူများက သင့်ကို မည်သို့သိရှိနိုင်မည်နည်း။
+ site_extended_description: ဝင်ရောက်ကြည့်ရှုသူများနှင့် အသုံးပြုသူများအတွက် အသုံးဝင်မည့် နောက်ထပ်အချက်အလက်များကို Markdown စာကြောင်းများဖြင့် ရေးသားနိုင်သည်။
+ site_terms: သင့်ကိုယ်ပိုင် ကိုယ်ရေးအချက်အလက်မူဝါဒကို အသုံးပြုပါ သို့မဟုတ် မူလသတ်မှတ်ချက်ကို အသုံးပြုရန်အတွက် ကွက်လပ်ထားပါ။ Markdown စာများဖြင့် ရေးသားနိုင်သည်။
+ status_page_url: ပြတ်တောက်နေစဉ်အတွင်း လူများက ဤဆာဗာအခြေအနေကို မြင်နိုင်မည့် စာမျက်နှာ URL
+ theme: အကောင့်မှထွက်ပြီး အသုံးပြုသူအသစ်များနှင့် ဝင်ကြည့်မည့်သူများအတွက် မြင်ရမည့်ပုံစံ။
+ timeline_preview: အကောင့်မှထွက်ထားသူများသည် ဆာဗာပေါ်ရှိ လတ်တလော အများမြင်ပို့စ်များကို ရှာဖွေကြည့်ရှုနိုင်မည်ဖြစ်သည်။
+ trends: လက်ရှိခေတ်စားနေသာပို့စ်များ၊ hashtag များနှင့် သတင်းဇာတ်လမ်းများကို သင့်ဆာဗာပေါ်တွင် တွေ့မြင်နိုင်ပါမည်။
+ trends_as_landing_page: ဤဆာဗာဖော်ပြချက်အစား အကောင့်မှ ထွက်ထားသူများနှင့် ဝင်ရောက်ကြည့်ရှုသူများအတွက် ခေတ်စားနေသော အကြောင်းအရာများကို ပြသပါ။ ခေတ်စားနေသောပို့စ်များကို ဖွင့်ထားရန် လိုအပ်သည်။
+ form_challenge:
+ current_password: သင်သည် လုံခြုံသောနေရာသို့ ဝင်ရောက်နေပါသည်
+ imports:
+ data: အခြား Mastodon ဆာဗာမှ CSV ဖိုင်ကို ပို့ထားသည်
+ invite_request:
+ text: "၎င်းသည် သင့်အက်ပလီကေးရှင်းကို ပြန်လည်သုံးသပ်ရန်အတွက် ကူညီပေးနိုင်ပါသည်"
+ ip_block:
+ comment: ရွေးချယ်ခွင့်ရှိသည်။ ဤစည်းမျဉ်းကို ဘာကြောင့်ထည့်ခဲ့တာလဲဆိုတာ သတိရပါ။
+ severities:
+ no_access: အရင်းအမြစ်များအားလုံးသို့ ဝင်ရောက်ခွင့်ကို ပိတ်ပါ
+ sign_up_block: အကောင့်အသစ်များ မဖွင့်နိုင်တော့ပါ
+ sign_up_requires_approval: အကောင့်အသစ်များသည် သင့်ခွင့်ပြုချက်လိုအပ်ပါသည်
+ severity: ဤ IP မှ တောင်းဆိုမှုများဖြင့် ဖြစ်ပေါ်လာမည့်အရာ ရွေးချယ်ပါ
+ rule:
+ text: ဤဆာဗာအသုံးပြုသူများအတွက် စည်းမျဉ်း သို့မဟုတ် လိုအပ်ချက် ဖော်ပြပါ။ လိုရင်းတိုရှင်းဖြစ်ပါစေ။
+ sessions:
+ otp: သင့်ဖုန်းအက်ပ်မှထုတ်ပေးသောနှစ်ဆင့်ခံလုံခြုံရေးကုဒ်ကို ထည့်ပါ သို့မဟုတ် ပြန်လည်ရယူရေးကုဒ်များထဲမှ တစ်ခုကို အသုံးပြုပါ -
+ webauthn: USB ကီးဖြစ်ပါက ထည့်သွင်းပါ။ လိုအပ်ပါက နှိပ်ပါ။
+ tag:
+ name: ဥပမာအားဖြင့် စာလုံးများကို ပိုမိုဖတ်ရှုနိုင်စေရန်မှာ သင်သာ ပြောင်းလဲနိုင်သည်။
+ user:
+ chosen_languages: အမှန်ခြစ် ရွေးချယ်ထားသော ဘာသာစကားများဖြင့်သာ ပို့စ်များကို အများမြင်စာမျက်နှာတွင် ပြသပါမည်
+ role: အသုံးပြုသူ၏ ခွင့်ပြုချက်ကဏ္ဍကို ထိန်းချုပ်ထားသည်
+ user_role:
+ color: hex ပုံစံ RGB အဖြစ် UI တစ်လျှောက်လုံး အခန်းကဏ္ဍအတွက် အသုံးပြုရမည့်အရောင်
+ highlighted: ယင်းက အခန်းကဏ္ဍကို အများမြင်အောင် ဖွင့်ပေးထားသည်။
+ name: အကယ်၍ အခန်းကဏ္ဍကို သင်္ကေတတစ်ခုအဖြစ်ပြသရန် သတ်မှတ်ထားပါက အခန်းကဏ္ဍကို အများမြင်မည့်အမည်
+ permissions_as_keys: ဤအခန်းကဏ္ဍဖြင့် အသုံးပြုသူများသာ အသုံးပြုခွင့်ရှိပါမည်...
+ webhook:
+ events: ပို့မည့်အကြောင်းအရာများကို ရွေးချယ်ပါ
+ url: အကြောင်းအရာများကို ဘယ်ကို ပို့မလဲ။
+ labels:
+ account:
+ fields:
+ name: အညွှန်း
+ value: အကြောင်းအရာ
+ account_alias:
+ acct: အကောင့်ဟောင်းကို ကိုင်တွယ်ပါ။
+ account_migration:
+ acct: အကောင့်သစ်ကို ကိုင်တွယ်ပါ။
+ account_warning_preset:
+ text: ကြိုရေးထားသောစာ
+ title: ခေါင်းစဥ်
+ admin_account_action:
+ include_statuses: အီးမေးလ်တွင် တိုင်ကြားထားသောပို့စ်များကို ထည့်သွင်းပါ
+ send_email_notification: အသုံးပြုသူတစ်ယောက်တွင် အီးမေးလ်တစ်ခုသာ အသုံးပြုရပါမည်
+ text: စိတ်ကြိုက်သတိပေးချက်
+ type: လုပ်ဆောင်ချက်
+ types:
+ none: သတိပေးချက်ပေးပို့ပါ
+ sensitive: သတိထားရသော
+ silence: ကန့်သတ်
+ suspend: ရပ်ဆိုင်းရန်
+ warning_preset_id: ကြိုတင်သတိပေးချက်ကို အသုံးပြုပါ
+ announcement:
+ all_day: တစ်နေ့တာလုပ်ငန်းစဉ်
+ ends_at: အကြောင်းအရာ၏အဆုံး
+ starts_at: အကြောင်းအရာ၏အစ
+ text: ကြေညာချက်
+ defaults:
+ autofollow: သင့်အကောင့်စောင့်ကြည့်ရန် ဖိတ်ခေါ်ပါ
+ avatar: ကိုယ်စားပြုရုပ်ပုံ
+ bot: ဤသည်မှာ ဘော့တ်အကောင့်တစ်ခုဖြစ်သည်။
+ chosen_languages: ဘာသာစကားများကို စစ်ထုတ်ထားခြင်း
+ confirm_new_password: စကားဝှက်အသစ်ကို အတည်ပြုပါ
+ confirm_password: စကားဝှက်ကို အတည်ပြုပါ။
+ context: အကြောင်းအရာများကို စစ်ထုတ်ပါ။
+ current_password: လက်ရှိစကားဝှက်
+ data: အချက်အလက်
+ discoverable: အကောင့်ကို အခြားသူများအား အကြံပြုပါ
+ display_name: ဖော်ပြမည့်အမည်
+ email: အီးမေးလ်လိပ်စာ
+ expires_in: သက်တမ်းကုန်ဆုံးမည့်ရက်
+ header: မျက်နှာဖုံးပုံ
+ honeypot: "%{label} (မဖြည့်ပါနှင့်)"
+ locale: ဘာသာစကား
+ locked: စောင့်ကြည့်တောင်းဆိုမှုများ လိုအပ်သည်
+ max_uses: အများဆုံးအသုံးပြုမှုအရေအတွက်
+ new_password: စကားဝှက်အသစ်
+ note: ကိုယ်ရေးအကျဉ်း
+ otp_attempt: နှစ်ဆင့်ခံလုံခြုံရေးကုဒ်
+ password: စကားဝှက်
+ phrase: အဓိကစကားလုံး သို့မဟုတ် စကားစု
+ setting_advanced_layout: အဆင့်မြှင့်ထားသည့်ဝဘ်ကို ဖွင့်ပါ
+ setting_aggregate_reblogs: စာမျက်နှာများရှိ အဖွဲ့လိုက် Boost များ
+ setting_always_send_emails: အီးမေးလ်သတိပေးချက်များကို အမြဲပို့ပါ
+ setting_auto_play_gif: ကာတွန်း GIF များကို အလိုအလျောက်ဖွင့်ပါ
+ setting_boost_modal: Boost မလုပ်မီ အတည်ပြုချက်ပြပါ
+ setting_default_language: ပို့စ်တင်မည့်ဘာသာစကား
+ setting_default_privacy: ပို့စ်ကို ဘယ်သူမြင်နိုင်မလဲ
+ setting_default_sensitive: သတိထားရသောမီဒီယာအဖြစ် အမြဲအမှတ်အသားပြုပါ
+ setting_delete_modal: ပို့စ်တစ်ခုမဖျက်မီ အတည်ပြုချက်ပြပါ။
+ setting_display_media: မီဒီယာဖော်ပြမှု
+ setting_display_media_default: မူလသတ်မှတ်ချက်
+ setting_display_media_hide_all: အားလုံးကို ဖျောက်ပါ
+ setting_display_media_show_all: အားလုံးပြရန်
+ setting_expand_spoilers: အကြောင်းအရာသတိပေးချက်များဖြင့် အမှတ်အသားပြုထားသော ပို့စ်များကို အမြဲချဲ့ပါ
+ setting_hide_network: သင့် Social Graph ကို ဖျောက်ထားပါ
+ setting_noindex: ရှာဖွေရေးအညွှန်းမှ ဖယ်ထုတ်ပါ
+ setting_show_application: ပို့စ်များ ပေးပို့ရာတွင် အသုံးပြုသည့် အက်ပလီကေးရှင်း
+ setting_system_font_ui: စနစ်ရှိ နဂိုမူလ စာလုံးပုံစံကို အသုံးပြုပါ
+ setting_theme: ဆိုက်အပြင်အဆင်
+ setting_trends: ယနေ့ ရေပန်းစားသည်များကို ပြပါ
+ setting_unfollow_modal: တစ်စုံတစ်ဦးကို မစောင့်ကြည့်မီ အတည်ပြုချက် ဒိုင်ယာလော့ခ်ကို ပြပါ
+ setting_use_pending_items: အနှေးပြကွက်
+ sign_in_token_attempt: လုံခြုံရေးကုဒ်
+ title: ခေါင်းစဥ်
+ type: ထည့်သွင်းမှုအမျိုးအစား
+ username: အသုံးပြုသူအမည်
+ username_or_email: အသုံးပြုသူအမည် သို့မဟုတ် အီးမေးလ်
+ whole_word: စကားလုံးဖြင့်သာ
+ email_domain_block:
+ with_dns_records: ဒိုမိန်း၏ MX မှတ်တမ်းများနှင့် IP များ ထည့်သွင်းပါ
+ featured_tag:
+ name: Hashtag
+ filters:
+ actions:
+ hide: လုံးဝဖျောက်ထားပါ
+ warn: သတိပေးချက်ဖြင့် ဖျောက်ပါ
+ form_admin_settings:
+ backups_retention_period: အသုံးပြုသူ၏ မှတ်တမ်းကာလ
+ bootstrap_timeline_accounts: ဤအကောင့်များကို အသုံးပြုသူအသစ်များအတွက် အကြံပြုပေးပါ
+ closed_registrations_message: အကောင့်ဖွင့်ခြင်းများ မရတော့သောအခါ စိတ်ကြိုက်မက်ဆေ့ချ်ပို့ခြင်း
+ content_cache_retention_period: အကြောင်းအရာ ကက်ရှ်ထိန်းသိမ်းသည့်ကာလ
+ custom_css: စိတ်ကြိုက်ပြုလုပ်ထားသော CSS
+ mascot: စိတ်ကြိုက်ပြုလုပ်ထားသော mascot (legacy)
+ media_cache_retention_period: မီဒီယာကက်ရှ် ထိန်းသိမ်းသည့်ကာလ
+ peers_api_enabled: API တွင် ရှာဖွေတွေ့ရှိထားသော ဆာဗာများစာရင်းကို ထုတ်ပြန်ပါ
+ profile_directory: ပရိုဖိုင်လမ်းညွှန်ကို ဖွင့်ပါ
+ registrations_mode: ဘယ်သူတွေ အကောင့်ဖွင့်နိုင်မလဲ
+ require_invite_text: ပါဝင်ရန် အကြောင်းပြချက်တစ်ခု လိုအပ်ပါသည်
+ show_domain_blocks: ဒိုမိန်းပိတ်ပင်ထားမှုများကိုပြရန်
+ show_domain_blocks_rationale: ဒိုမိန်းများကို ဘာကြောင့် ပိတ်ဆို့ထားရကြောင်း ပြရန်
+ site_contact_email: ဆက်သွယ်ရမည့် အီးမေးလ်
+ site_contact_username: ဆက်သွယ်ရမည့် အသုံးပြုသူအမည်
+ site_extended_description: တိုးချဲ့ဖော်ပြချက်
+ site_short_description: ဆာဗာဖော်ပြချက်
+ site_terms: ကိုယ်ရေးအချက်အလက်မူဝါဒ
+ site_title: ဆာဗာအမည်
+ status_page_url: အခြေအနေပြစာမျက်နှာ URL
+ theme: မူလသတ်မှတ်ထားသည့် အပြင်အဆင်
+ thumbnail: ဆာဗာ ပုံသေး
+ timeline_preview: အများမြင်စာမျက်နှာများသို့ အထောက်အထားမရှိဘဲ ဝင်ရောက်ခွင့်ပြုပါ
+ trendable_by_default: ကြိုမသုံးသပ်ဘဲ ခေတ်စားနေသောအကြောင်းအရာများကို ခွင့်ပြုပါ
+ trends: လက်ရှိခေတ်စားနေမှုများကိုပြပါ
+ interactions:
+ must_be_follower: စောင့်ကြည့်မနေသူများထံမှ အသိပေးချက်များကို ပိတ်ပါ
+ must_be_following: သင် စောင့်ကြည့်မထားသူများထံမှ အသိပေးချက်များကို ပိတ်ပါ
+ must_be_following_dm: သင် စောင့်ကြည့်မထားသူများထံမှ တိုက်ရိုက်မက်ဆေ့ချ်များကို ပိတ်ပါ
+ invite:
+ comment: မှတ်ချက်
+ invite_request:
+ text: သင် ဘာကြောင့် ပါဝင်ချင်တာလဲ။
+ ip_block:
+ comment: မှတ်ချက်
+ ip: IP
+ severities:
+ no_access: ဝင်ရောက်ခွင့်ကို ပိတ်ပါ
+ sign_up_block: အကောင့်ဖွင့်ခြင်းများကို ပိတ်ပါ
+ sign_up_requires_approval: အကောင့်ဖွင့်ခြင်းများကို ကန့်သတ်ပါ
+ severity: စည်းမျဉ်း
+ notification_emails:
+ appeal: တစ်စုံတစ်ယောက်က စိစစ်ဆုံးဖြတ်ခြင်းကို တောင်းခံနေသည်
+ digest: အီးမေးလ်အကျဉ်းချုပ်များပို့ရန်
+ favourite: တစ်စုံတစ်ဦးက သင့်ပို့စ်ကို နှစ်သက်ခဲ့သည်။
+ follow: တစ်စုံတစ်ဦးက သင့်ကို စောင့်ကြည့်ခဲ့သည်
+ follow_request: တစ်စုံတစ်ဦးက သင့်ကို စောင့်ကြည့်ရန် တောင်းဆိုခဲ့သည်
+ mention: တစ်စုံတစ်ဦးက သင့်ကို ဖော်ပြခဲ့သည်
+ pending_account: အကောင့်အသစ်ကို ပြန်လည်သုံးသပ်ရန် လိုအပ်သည်
+ reblog: တစ်ယောက်က သင့်ပို့စ်ကို Boost လုပ်ခဲ့သည်
+ report: အစီရင်ခံစာအသစ် တင်သွင်းထားသည်
+ trending_tag: လက်ရှိခေတ်စားနေသောပို့စ်များကို ပြန်လည်သုံးသပ်ရန် လိုသည်
+ rule:
+ text: စည်းမျဉ်း
+ tag:
+ listable: ရှာဖွေမှုများနှင့် အကြံပြုချက်များတွင် ဤ hashtag ပေါ်လာစေရန် ခွင့်ပြုပါ
+ name: Hashtag
+ trendable: ခေတ်စားနေသောအကြောင်းအရာများအောက်တွင် ဤ hashtag ပေါ်လာစေရန် ခွင့်ပြုပါ
+ usable: ပို့စ်များကို ဤ hashtag သုံးခွင့်ပြုပါ
+ user:
+ role: အခန်းကဏ္ဍ
+ user_role:
+ color: သင်္ကေတအရောင်
+ highlighted: အသုံးပြုသူပရိုဖိုင်များတွင် သင်္ကေတအဖြစ် အခန်းကဏ္ဍကို ပြသပါ
+ name: အမည်
+ permissions_as_keys: ခွင့်ပြုချက်များ
+ position: ဦးစားပေး
+ webhook:
+ events: အကြောင်းအရာများကဏ္ဍကို ဖွင့်ထားသည်
+ url: URL ဆုံးမှတ်
+ 'no': မလုပ်ပါ
+ not_recommended: ထောက်ခံထားမှုမရှိ
+ recommended: ထောက်ခံထားပြီး
+ required:
+ mark: "*"
+ text: လိုအပ်သော
+ title:
+ sessions:
+ webauthn: အကောင့်ဝင်ရန်အတွက် သင့်လုံခြုံရေးကီးများထဲမှ တစ်ခုကို အသုံးပြုပါ
+ 'yes': ဟုတ်ကဲ့
diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml
index 92578cfd73..ddc1a0d21b 100644
--- a/config/locales/simple_form.pt-BR.yml
+++ b/config/locales/simple_form.pt-BR.yml
@@ -257,6 +257,7 @@ pt-BR:
timeline_preview: Permitir acesso não autenticado às linhas do tempo públicas
trendable_by_default: Permitir tendências sem revisão prévia
trends: Habilitar tendências
+ trends_as_landing_page: Usar tendências como página inicial
interactions:
must_be_follower: Bloquear notificações de não-seguidores
must_be_following: Bloquear notificações de não-seguidos
diff --git a/config/locales/simple_form.sr-Latn.yml b/config/locales/simple_form.sr-Latn.yml
index 2f45b63576..e987145c13 100644
--- a/config/locales/simple_form.sr-Latn.yml
+++ b/config/locales/simple_form.sr-Latn.yml
@@ -3,122 +3,128 @@ sr-Latn:
simple_form:
hints:
account_alias:
- acct: Navedi korisničko_ime@domen naloga sa kojeg želiš da pređeš
+ acct: Navedite korisničko_ime@domen naloga sa kojeg želite da se preselite
account_migration:
- acct: Navedi korisničko_ime@domen naloga na koji želiš da pređeš
+ acct: Navedite korisničko_ime@domen naloga na koji želite da se preselite
account_warning_preset:
- text: Možete koristiti sintaksu truba, kao što su npr. URL-ova, tarabe i pominjanja
+ text: Možete koristiti sintaksu objava, kao što su URL adrese, heš oznake i pominjanja
title: Opciono. Nije vidljivo primaocu
admin_account_action:
- include_statuses: Korisnik će videti koje su objave prouzrokovale moderiranje ili upozorenje
- send_email_notification: Korisnik će dobiti objašnjenje toga šta mu se desilo sa naloga
- text_html: Opcionalno. Možete koristiti sintaksu truba. Možete dodati upozoravajuća prepodešavanje da sačuvate vreme
+ include_statuses: Korisnik će videti koje su objave prouzrokovale moderacijsku radnju ili upozorenje
+ send_email_notification: Korisnik će dobiti objašnjenje toga šta mu se desilo sa nalogom
+ text_html: Opcionalno. Možete koristiti sintaksu objava. Možete dodati unapred određene postavke upozorenja za uštedu vremena
type_html: Izaberite šta da radite sa %{acct}
types:
- disable: Spreči korisnika da koristi svoj nalog, ali nemoj brisati ili sakrivati njegov sadržaj.
- none: Koristi ovo da pošalješ upozorenje korisniku, bez pokretanja bilo koje druge akcije.
+ disable: Sprečava korisnika da koristi svoj nalog, ali ne briše niti sakriva njegove sadržaje.
+ none: Koristite ovo da pošaljete upozorenje korisniku bez pokretanja bilo koje druge radnje.
sensitive: Učini da svi medijski prilozi ovog korisnika prisilno budu označeni kao osetljivi.
+ silence: Sprečava korisnika da pravi javne objave, sakriva njegove objave i obaveštenja od ljudi koji ga ne prate. Zatvara sve prijave podnete protiv ovog naloga.
+ suspend: Sprečava svu interakciju od ovog naloga i ka ovom nalogu i briše njegov sadržaj. Opozivo u roku od 30 dana. Zatvara sve prijave podnete protiv ovog naloga.
warning_preset_id: Opcionalno. Možete i dalje dodati prilagođeni tekst na kraj preseta
announcement:
- all_day: Biće prikazani samo datumi vremenskog opsega koji su označeni
+ all_day: Kada je ova opcija označena, samo datumi iz vremenskog opsega će biti prikazani
ends_at: Opciono. Objava će biti automatski opozvana u ovom trenutku
- scheduled_at: Ostavi prazno da bi najava bila odmah objavljena
+ scheduled_at: Ostavite prazno da biste odmah objavili obaveštenje
starts_at: Opciono. U slučaju da je najava vezana za određeni vremenski raspon
- text: Možeš koristiti post sintaksu. Vodi računa o prostoru koji će objava zauzimati na ekranu korisnika
+ text: Možete koristiti sintaksu objava. Molimo Vas vodite računa o prostoru koji će objava zauzimati na ekranu korisnika
appeal:
- text: Na brisanje se možeš žaliti samo jednom
+ text: Možete podneti samo jednu žalbu na upisan prestup
defaults:
autofollow: Osobe koje se prijave kroz pozivnice će vas automatski zapratiti
- avatar: PNG, GIF ili JPG. Najviše %{size}. Biće smanjena na %{dimensions}px
- bot: Ovaj nalog uglavnom vrši automatizovane radnje i možda se ne nadgleda
+ avatar: PNG, GIF ili JPG. Najviše %{size}. Biće smanjeno na %{dimensions}px
+ bot: Daje drugima do znanja da ovaj nalog uglavnom vrši automatizovane radnje i možda se ne nadgleda
context: Jedan ili više konteksta u kojima treba da se primeni filter
- current_password: Unesi lozinku tekućeg naloga iz bezbednosnih razloga
- current_username: Unesi korisničko ime tekućeg naloga za potvrdu
- digest: Poslato posle dužeg perioda neaktivnosti sa pregledom svih bitnih stvari koje ste dobili dok ste bili odsutni
- discoverable: Dozvoli nepoznatim korisnicima da otkriju tvoj nalog putem preporuka, trendova i drugih funkcija
- email: Biće vam poslata e-pošta sa potvrdom
- fields: Možete imati do 4 stavke prikazane kao tabela na vašem nalogu
- header: PNG, GIF ili JPG. Najviše %{size}. Biće smanjena na %{dimensions}px
+ current_password: Iz bezbednosnih razloga molimo Vas unesite lozinku trenutnog naloga
+ current_username: Da biste potvrdili, Molimo Vas unesite korisničko ime trenutno aktivnog naloga
+ digest: Šalje se samo posle dužeg perioda neaktivnosti i samo u slučaju da ste primili jednu ili više ličnih poruka tokom Vašeg odsustva
+ discoverable: Dozvolite nepoznatim korisnicima da otkriju Vaš nalog putem preporuka, trendova i drugih funkcija
+ email: Biće Vam poslat mejl sa potvrdom
+ fields: Možete imati do 4 stavke prikazane kao tabela na svom profilu
+ header: PNG, GIF ili JPG. Najviše %{size}. Biće smanjeno na %{dimensions}px
inbox_url: Kopirajte URL sa naslovne strane releja koji želite koristiti
- irreversible: Filtrirane trube će nestati nepovratno, čak i ako je filter kasnije uklonjen
- locale: Jezik korisničkog interfejsa, e-pošte i mobilnih obaveštenja
- locked: Zahteva da pojedinačno odobrite pratioce
+ irreversible: Filtrirane obajve će nestati nepovratno, čak i ako je filter kasnije uklonjen
+ locale: Jezik korisničkog okruženja, e-pošte i mobilnih obaveštenja
+ locked: Kontrolišite ko može da Vas prati tako što ćete pojedinačno odobravati zahteve za praćenje
password: Koristite najmanje 8 znakova
- phrase: Biće uparena bez obzira na veliko ili malo slovo u tekstu ili upozorenja o sadržaju trube
- scopes: Kojim API-jima će aplikacija dozvoliti pristup. Ako izaberete opseg najvišeg nivoa, ne morate odabrati pojedinačne.
- setting_aggregate_reblogs: Ne pokazuj nova deljenja za trube koje su nedavno podeljene (utiče samo na nedavno primljena deljenja)
- setting_always_send_emails: Obaveštenja e-poštom se po pravilu neće slati kada aktivno koristiš Mastodon
+ phrase: Biće uparena bez obzira na veliko ili malo slovo u tekstu ili upozorenja o sadržaju objave
+ scopes: Kojim API-jima će aplikacija imati pristup. Ako izaberete opseg najvišeg nivoa, ne morate odabrati pojedinačne.
+ setting_aggregate_reblogs: Ne prikazuj nova podržavanja za objave koje su nedavno podržane (utiče samo na nedavno primljena podržavanja)
+ setting_always_send_emails: Obaveštenja e-poštom se po pravilu neće slati kada aktivno koristite Mastodon
setting_default_sensitive: Osetljivi mediji su podrazumevano skriveni i mogu se otkriti klikom
setting_display_media_default: Sakrij medije označene kao osetljive
setting_display_media_hide_all: Uvek sakrij sve medije
setting_display_media_show_all: Uvek prikaži medije označene kao osetljive
- setting_hide_network: Koga pratite i ko vas prati neće biti prikazano na vašem nalogu
- setting_noindex: Utiče na Vaš javni nalog i statusne strane
- setting_show_application: Aplikacija koju koristiš za objavljivanje biće prikazana u detaljnom prikazu tvojih objava
- setting_use_blurhash: Gradijent se zasniva na bojama skrivenih vizuelnih prikaza, ali prikriva sve detalje
- setting_use_pending_items: Sakrij ažuriranja vremenske ose iza klika umesto automatskog pomeranja izvora objava
+ setting_hide_network: Koga pratite i ko Vas prati neće biti prikazano na Vašem profilu
+ setting_noindex: Utiče na Vaš javni profil i stranice sa objavama
+ setting_show_application: Aplikacija koju koristite za objavljivanje će biti prikazana u detaljnom prikazu vaših objava
+ setting_use_blurhash: Gradijenti se formiraju na osnovu bojâ skrivenih slika i zamućuju prikaz, prikrivajući detalje
+ setting_use_pending_items: Sakriva ažuriranja vremenske linije iza klika umesto automatskog ažuriranja i pomeranja vremenske linije
username: Vaš nadimak će biti jedinstven na %{domain}
- whole_word: Kada je ključna reč ili fraza isključivo alfanumerička, biće primenjena samo ako se podudara sa celom reči
+ whole_word: Kada je ključna reč ili fraza isključivo alfanumerička, biće primenjena samo ako se podudara sa celom rečju
domain_allow:
domain: Ovaj domen će moći da preuzima podatke sa ovog servera i dolazni podaci sa njega će se obrađivati i čuvati
email_domain_block:
domain: Ovo može biti ime domena koje se pojavljuje u adresi e-pošte ili MX zapisa koji koristi. Oni će biti provereni prilikom registracije.
with_dns_records: Biće učinjen pokušaj da se razreše DNS zapisi datog domena i rezultati će takođe biti blokirani
featured_tag:
- name: 'Evo nekih od heš oznaka koje ste nedavno koristili:'
+ name: 'Evo nekih od heš oznaka koje ste u prethodnom periodu često koristili:'
filters:
- action: Izaberi koju radnju treba izvršiti kada objava odgovara filteru
+ action: Izaberite koju radnju izvršiti kada objava odgovara filteru
actions:
hide: Potpuno sakrij filtrirani sadržaj, ponašajući se kao da ne postoji
warn: Sakrij filtrirani sadržaj iza upozorenja u kome se navodi naziv filtera
form_admin_settings:
+ activity_api_enabled: Brojevi lokalno postavljenih objava, aktivnih korisnika i novih registracija na nedeljnoj bazi
backups_retention_period: Čuvaj generisane korisničke arhive navedeni broj dana.
bootstrap_timeline_accounts: Ovi nalozi će biti zakačeni na vrh preporuka za praćenje novih korisnika.
- closed_registrations_message: Prikazuje se kada su prijave zatvorene
+ closed_registrations_message: Prikazuje se kada su registracije zatvorene
content_cache_retention_period: Kada se postavi na pozitivnu vrednost, objave sa drugih servera će biti izbrisane nakon navedenog broja dana. Ovo može biti nepovratno.
- custom_css: Možeš da primeniš prilagođene stilove na veb verziji Mastodona.
- mascot: Zamenjuje ilustraciju u naprednom veb interfejsu.
+ custom_css: Možete da primenite prilagođene stilove na veb verziji Mastodona.
+ mascot: Zamenjuje ilustraciju u naprednom veb okruženju.
media_cache_retention_period: Kada se postavi na pozitivnu vrednost, preuzete medijske datoteke će biti izbrisane nakon navedenog broja dana, i ponovo preuzete na zahtev.
+ peers_api_enabled: Lista domena sa kojima se ovaj server susreo u fediverzumu. Ovde nisu sadržani podaci o tome da li se Vaš server federiše sa drugim serverima, već samo da Vaš server zna za njih. Ove informacije koriste servisi koji prikupljaju podatke i vode statistiku o federaciji u širem smislu.
profile_directory: Direktorijum profila navodi sve korisnike koji su se opredelili da budu vidljivi.
- require_invite_text: Kada registracije zahtevaju ručno odobrenje, postavi da unos teksta „Zašto želiš da se pridružiš?“ bude obavezan, a ne opcioni
- site_contact_email: Kako korisnici mogu da te kontaktiraju za pravna pitanja ili pitanja u vezi podrške.
- site_contact_username: Kako korisnici mogu da te kontaktiraju na Mastodonu.
- site_extended_description: Bilo koja dodatna informacija koja može biti korisne posetiocima i tvojim korisnicima. Može se strukturirati pomoću Markdown sintakse.
- site_short_description: Kratak opis pomoću koga se na jedinstven način identifikuje tvoj server. Ko ga održava, kome je namenjen?
- site_terms: Koristi sopstvenu politiku privatnosti ili ostavi prazno da bi se koristila podrazumevana. Može se strukturirati pomoću Markdown sintakse.
- site_title: Način na moji može da se pozove na tvoj server osim naziva njegovog domena.
+ require_invite_text: Kada registracije zahtevaju ručno odobrenje, postavite da odgovor na „Zašto želite da se pridružite?“ bude obavezan, a ne opcionalan
+ site_contact_email: Kako korisnici mogu da kontaktiraju sa Vama za pravna pitanja ili pitanja u vezi podrške.
+ site_contact_username: Kako korisnici mogu da kontaktiraju sa Vama na Mastodonu.
+ site_extended_description: Bilo kakve dodatne informacije koje mogu biti korisne posetiocima i Vašim korisnicima. Mogu se strukturirati pomoću Markdown sintakse.
+ site_short_description: Kratak opis pomoću koga se na jedinstven način identifikuje Vaš server. Ko ga održava, kome je namenjen?
+ site_terms: Koristite sopstvenu politiku privatnosti ili ostavite prazno da bi se koristila podrazumevana. Može se strukturirati pomoću Markdown sintakse.
+ site_title: Način na koji ljudi mogu da referišu na Vaš server osim naziva njegovog domena.
+ status_page_url: URL stranice gde ljudi mogu da vide status servera dok je server oboren
theme: Tema koju vide posetioci koji nisu prijavljeni i novi korisnici.
- thumbnail: Slika koja se približno 2:1 prikazuje pored informacija o tvom serveru.
+ thumbnail: Slika u razmeri od približno 2:1 koja se prikazuje pored informacija o Vašem serveru.
timeline_preview: Posetioci koji nisu prijavljeni će moći da pregledaju najnovije javne objave dostupne na serveru.
trendable_by_default: Preskoči ručni pregled sadržaja koji je u trendu. Pojedinačne stavke se nakon toga i dalje mogu ukloniti iz trendova.
- trends: Trendovi pokazuju koje objave, heš oznake i vesti postaju sve popularniji na tvom serveru.
+ trends: Trendovi pokazuju koje objave, heš oznake i vesti postaju sve popularnije na Vašem serveru.
+ trends_as_landing_page: Prikaži sadržaj u trendu odjavljenim korisnicima i posetiocima umesto opisa ovog servera. Zahteva da trendovi budu omogućeni.
form_challenge:
- current_password: Ulaziš u bezbedno područje
+ current_password: Ulazite u bezbedno područje
imports:
data: CSV fajl izvezen sa druge Mastodont instance
invite_request:
- text: Ovo će nam pomoći da pregledamo tvoju prijavu
+ text: Ovo će nam pomoći da pregledamo Vašu prijavu
ip_block:
- comment: Opciono. Zapamti zašto si dodao ovo pravilo.
+ comment: Opciono. Zapamtite zašto ste dodali ovo pravilo.
expires_in: IP adrese su ograničeni resurs, ponekad se dele i često menjaju korisnika. Zbog toga se IP blokovi na neograničeno vreme ne preporučuju.
- ip: Unesi IPv4 ili IPv6 adresu. Možeš blokirati čitave opsege koristeći CIDR sintaksu. Vodi računa da sebe ne zaključaš!
+ ip: Unesite IPv4 ili IPv6 adresu. Možete blokirati čitave opsege koristeći CIDR sintaksu. Vodite računa da se ne zaključate!
severities:
no_access: Blokiraj pristup svim resursima
- sign_up_block: Nove prijave neće biti moguće
- sign_up_requires_approval: Nove prijave će zahtevati tvoje odobrenje
- severity: Izaberi šta će se desiti sa zahtevima sa ove IP adrese
+ sign_up_block: Nove registracije neće biti moguće
+ sign_up_requires_approval: Nove registracije će zahtevati Vaše odobrenje
+ severity: Izaberite šta će se desiti sa zahtevima sa ove IP adrese
rule:
- text: Opiši pravilo ili zahtev za korisnike na ovom serveru. Potrudi se da opis bude kratak i jednostavan
+ text: Opišite pravilo ili uslov za korisnike na ovom serveru. Potrudite se da opis bude kratak i jednostavan
sessions:
otp: 'Unesite dvofaktorski kod sa Vašeg telefona ili koristite jedan od kodova za oporavak:'
- webauthn: Ako je to USB ključ, obavezno ga ubaci i, ako je potrebno, pritisni ga.
+ webauthn: Ako je u pitanju USB ključ, obavezno ga ubacite i, ako je potrebno, pritisnite ga.
tag:
- name: Mogu se samo promeniti mala slova u velika, na primer, da bi bilo čitljivije
+ name: Mogu se samo promeniti mala slova u velika ili obrnuto, na primer, da bi bilo čitljivije
user:
- chosen_languages: Kada označite, trube u izabranim jezicima će se prikazati na javnoj vremenskoj liniji
+ chosen_languages: Kada je označeno, objave u izabranim jezicima će biti prikazane na javnoj vremenskoj liniji
role: Uloga kontroliše koje dozvole korisnik ima
user_role:
- color: Boja koja će se koristiti za ulogu u celom korisničkom interfejsu, kao RGB, u heksadecimalnom formatu
+ color: Boja koja će se koristiti za ulogu u celom korisničkom okruženju, kao RGB u heksadecimalnom formatu
highlighted: Ovo čini ulogu javno vidljivom
name: Javni naziv uloge, ako je uloga podešena da se prikazuje kao značka
permissions_as_keys: Korisnici sa ovom ulogom će imati pristup...
@@ -185,24 +191,24 @@ sr-Latn:
otp_attempt: Dvofaktorski kod
password: Lozinka
phrase: Ključna reč ili fraza
- setting_advanced_layout: Omogući napredni veb interfejs
+ setting_advanced_layout: Omogući napredno veb okruženje
setting_aggregate_reblogs: Grupiši deljenja u vremenskim linijama
setting_always_send_emails: Uvek šalji obaveštenja e-poštom
- setting_auto_play_gif: Automatski puštaj animirane GIF-ove
+ setting_auto_play_gif: Automatski reprodukuj animirane GIF-ove
setting_boost_modal: Prikaži dijalog za potvrdu pre davanja podrške
setting_crop_images: Izreži slike u neproširenim objavama na 16x9
setting_default_language: Jezik objavljivanja
setting_default_privacy: Privatnost objava
setting_default_sensitive: Uvek označi multimediju kao osetljivu
- setting_delete_modal: Prikaži dijalog za potvrdu pre brisanja tuta
+ setting_delete_modal: Prikaži dijalog za potvrdu pre brisanja objave
setting_disable_swiping: Onemogući pokrete prevlačenja
setting_display_media: Prikaz medija
setting_display_media_default: Podrazumevano
setting_display_media_hide_all: Sakrij sve
setting_display_media_show_all: Prikaži sve
- setting_expand_spoilers: Uvek prošiti trube koje su označene upozorenjem sadržaja
+ setting_expand_spoilers: Uvek proširi objave koje su označene upozorenjem sadržaja
setting_hide_network: Sakrij svoju mrežu
- setting_noindex: Odjavi se od indeksiranja search engine-a
+ setting_noindex: Onemogući indeksiranje pretraživača
setting_reduce_motion: Smanji pokrete u animacijama
setting_show_application: Otkrij aplikaciju koja se koristi za slanje postova
setting_system_font_ui: Koristi sistemski font
@@ -227,6 +233,7 @@ sr-Latn:
hide: Sakrij u potpunosti
warn: Sakrij uz upozorenje
form_admin_settings:
+ activity_api_enabled: Objavi prikupljenu statistiku o korisničkoj aktivnosti u API
backups_retention_period: Period čuvanja korisničke arhive
bootstrap_timeline_accounts: Uvek preporuči ove naloge novim korisnicima
closed_registrations_message: Prilagođena poruka kada prijave nisu moguće
@@ -234,6 +241,7 @@ sr-Latn:
custom_css: Prilagođeni CSS
mascot: Prilagođena maskota (nasleđe)
media_cache_retention_period: Period čuvanja keša medija
+ peers_api_enabled: Objavite listu otkrivenih servera u API
profile_directory: Omogući direktorijum profila
registrations_mode: Ko može da se prijavi
require_invite_text: Zatraži razlog za pristupanje
@@ -245,11 +253,13 @@ sr-Latn:
site_short_description: Opis servera
site_terms: Politika privatnosti
site_title: Ime servera
+ status_page_url: URL statusne stranice
theme: Podrazumevana tema
thumbnail: Sličica servera
timeline_preview: Dozvoli neautorizovan pristup javnim vremenskim osama
trendable_by_default: Dozvoli trendove bez prethodnog pregleda
trends: Omogući trendove
+ trends_as_landing_page: Koristite trendove kao stranicu dočeka
interactions:
must_be_follower: Blokiraj obaveštenja od korisnika koji me ne prate
must_be_following: Blokiraj obaveštenja od ljudi koje ne pratim
@@ -260,7 +270,7 @@ sr-Latn:
text: Zašto želiš da se pridružiš?
ip_block:
comment: Komentar
- ip: Avatar
+ ip: IP
severities:
no_access: Blokiraj pristup
sign_up_block: Blokiraj prijave
diff --git a/config/locales/simple_form.sr.yml b/config/locales/simple_form.sr.yml
index 47137d801e..8ee5863770 100644
--- a/config/locales/simple_form.sr.yml
+++ b/config/locales/simple_form.sr.yml
@@ -3,117 +3,123 @@ sr:
simple_form:
hints:
account_alias:
- acct: Наведи корисничко_име@домен налога са којег желиш да пређеш
+ acct: Наведите корисничко_име@домен налога са којег желите да се преселите
account_migration:
- acct: Наведи корисничко_име@домен налога на који желиш да пређеш
+ acct: Наведите корисничко_име@домен налога на који желите да се преселите
account_warning_preset:
- text: Можете користити синтаксу труба, као што су нпр. УРЛ-ова, тарабе и помињања
+ text: Можете користити синтаксу објава, као што су URL адресе, хеш ознаке и помињања
title: Опционо. Није видљиво примаоцу
admin_account_action:
- include_statuses: Корисник ће видети које су објаве проузроковале модерирање или упозорење
- send_email_notification: Корисник ће добити објашњење тога шта му се десило са налога
- text_html: Опционално. Можете користити синтаксу труба. Можете додати упозоравајућа преподешавање да сачувате време
+ include_statuses: Корисник ће видети које су објаве проузроковале модерацијску радњу или упозорење
+ send_email_notification: Корисник ће добити објашњење тога шта му се десило са налогом
+ text_html: Опционално. Можете користити синтаксу објава. Можете додати унапред одређене поставке упозорења за уштеду времена
type_html: Изаберите шта да радите са %{acct}
types:
- disable: Спречи корисника да користи свој налог, али немој брисати или сакривати његов садржај.
- none: Користи ово да пошаљеш упозорење кориснику, без покретања било које друге акције.
+ disable: Спречава корисника да користи свој налог, али не брише нити сакрива његове садржаје.
+ none: Користите ово да пошаљете упозорење кориснику без покретања било које друге радње.
sensitive: Учини да сви медијски прилози овог корисника присилно буду означени као осетљиви.
+ silence: Спречава корисника да прави јавне објаве, сакрива његове објаве и обавештења од људи који га не прате. Затвара све пријаве поднете против овог налога.
+ suspend: Спречава сву интеракцију од овог налога и ка овом налогу и брише његов садржај. Опозиво у року од 30 дана. Затвара све пријаве поднете против овог налога.
warning_preset_id: Опционално. Можете и даље додати прилагођени текст на крај пресета
announcement:
- all_day: Биће приказани само датуми временског опсега који су означени
+ all_day: Када је ова опција означена, само датуми из временског опсега ће бити приказани
ends_at: Опционо. Објава ће бити аутоматски опозвана у овом тренутку
- scheduled_at: Остави празно да би најава била одмах објављена
+ scheduled_at: Оставите празно да бисте одмах објавили обавештење
starts_at: Опционо. У случају да је најава везана за одређени временски распон
- text: Можеш користити пост синтаксу. Води рачуна о простору који ће објава заузимати на екрану корисника
+ text: Можете користити синтаксу објава. Молимо Вас водите рачуна о простору који ће објава заузимати на екрану корисника
appeal:
- text: На брисање се можеш жалити само једном
+ text: Можете поднети само једну жалбу на уписан преступ
defaults:
autofollow: Особе које се пријаве кроз позивнице ће вас аутоматски запратити
- avatar: PNG, GIF или JPG. Највише %{size}. Биће смањена на %{dimensions}px
- bot: Овај налог углавном врши аутоматизоване радње и можда се не надгледа
+ avatar: PNG, GIF или JPG. Највише %{size}. Биће смањено на %{dimensions}px
+ bot: Даје другима до знања да овај налог углавном врши аутоматизоване радње и можда се не надгледа
context: Један или више контекста у којима треба да се примени филтер
- current_password: Унеси лозинку текућег налога из безбедносних разлога
- current_username: Унеси корисничко име текућег налога за потврду
- digest: Послато после дужег периода неактивности са прегледом свих битних ствари које сте добили док сте били одсутни
- discoverable: Дозволи непознатим корисницима да открију твој налог путем препорука, трендова и других функција
- email: Биће вам послата е-пошта са потврдом
- fields: Можете имати до 4 ставке приказане као табела на вашем налогу
- header: PNG, GIF или JPG. Највише %{size}. Биће смањена на %{dimensions}px
+ current_password: Из безбедносних разлога молимо Вас унесите лозинку тренутног налога
+ current_username: Да бисте потврдили, Молимо Вас унесите корисничко име тренутно активног налога
+ digest: Шаље се само после дужег периода неактивности и само у случају да сте примили једну или више личних порука током Вашег одсуства
+ discoverable: Дозволите непознатим корисницима да открију Ваш налог путем препорука, трендова и других функција
+ email: Биће Вам послат мејл са потврдом
+ fields: Можете имати до 4 ставке приказане као табела на свом профилу
+ header: PNG, GIF или JPG. Највише %{size}. Биће смањено на %{dimensions}px
inbox_url: Копирајте URL са насловне стране релеја који желите користити
irreversible: Филтриранe обајве ће нестати неповратно, чак и ако је филтер касније уклоњен
locale: Језик корисничког окружења, е-поште и мобилних обавештења
- locked: Захтева да појединачно одобрите пратиоце
+ locked: Контролишите ко може да Вас прати тако што ћете појединачно одобравати захтеве за праћење
password: Користите најмање 8 знакова
phrase: Биће упарена без обзира на велико или мало слово у тексту или упозорења о садржају објаве
- scopes: Којим API-јима ће апликација дозволити приступ. Ако изаберете опсег највишег нивоа, не морате одабрати појединачне.
+ scopes: Којим API-јима ће апликација имати приступ. Ако изаберете опсег највишег нивоа, не морате одабрати појединачне.
setting_aggregate_reblogs: Не приказуј нова подржавања за објаве које су недавно подржане (утиче само на недавно примљена подржавања)
- setting_always_send_emails: Обавештења е-поштом се по правилу неће слати када активно користиш Мастодон
+ setting_always_send_emails: Обавештења е-поштом се по правилу неће слати када активно користите Мастодон
setting_default_sensitive: Осетљиви медији су подразумевано скривени и могу се открити кликом
setting_display_media_default: Сакриј медије означене као осетљиве
setting_display_media_hide_all: Увек сакриј све медије
setting_display_media_show_all: Увек прикажи медије означене као осетљиве
- setting_hide_network: Кога пратите и ко вас прати неће бити приказано на вашем налогу
- setting_noindex: Утиче на Ваш јавни налог и статусне стране
+ setting_hide_network: Кога пратите и ко Вас прати неће бити приказано на Вашем профилу
+ setting_noindex: Утиче на Ваш јавни профил и странице са објавама
setting_show_application: Апликација коју користите за објављивање ће бити приказана у детаљном приказу ваших објава
- setting_use_blurhash: Градијент се заснива на бојама скривених визуелних приказа, али прикрива све детаље
- setting_use_pending_items: Сакриј ажурирања временске осе иза клика уместо аутоматског померања извора објава
+ setting_use_blurhash: Градијенти се формирају на основу бојâ скривених слика и замућују приказ, прикривајући детаље
+ setting_use_pending_items: Сакрива ажурирања временске линије иза клика уместо аутоматског ажурирања и померања временске линије
username: Ваш надимак ће бити јединствен на %{domain}
- whole_word: Када је кључна реч или фраза искључиво алфанумеричка, биће примењена само ако се подудара са целом речи
+ whole_word: Када је кључна реч или фраза искључиво алфанумеричка, биће примењена само ако се подудара са целом речjу
domain_allow:
domain: Овај домен ће моћи да преузима податке са овог сервера и долазни подаци са њега ће се обрађивати и чувати
email_domain_block:
domain: Ово може бити име домена које се појављује у адреси е-поште или MX записа који користи. Они ће бити проверени приликом регистрације.
with_dns_records: Биће учињен покушај да се разреше DNS записи датог домена и резултати ће такође бити блокирани
featured_tag:
- name: 'Ево неких од хеш ознака које сте недавно користили:'
+ name: 'Ево неких од хеш ознака које сте у претходном периоду често користили:'
filters:
- action: Изабери коју радњу треба извршити када објава одговара филтеру
+ action: Изаберите коју радњу извршити када објава одговара филтеру
actions:
hide: Потпуно сакриј филтрирани садржај, понашајући се као да не постоји
warn: Сакриј филтрирани садржај иза упозорења у коме се наводи назив филтера
form_admin_settings:
+ activity_api_enabled: Бројеви локално постављених објава, активних корисника и нових регистрација на недељној бази
backups_retention_period: Чувај генерисане корисничке архиве наведени број дана.
bootstrap_timeline_accounts: Ови налози ће бити закачени на врх препорука за праћење нових корисника.
- closed_registrations_message: Приказује се када су пријаве затворене
+ closed_registrations_message: Приказује се када су регистрације затворене
content_cache_retention_period: Када се постави на позитивну вредност, објаве са других сервера ће бити избрисане након наведеног броја дана. Ово може бити неповратно.
- custom_css: Можеш да примениш прилагођене стилове на веб верзији Мастодона.
+ custom_css: Можете да примените прилагођене стилове на веб верзији Мастодона.
mascot: Замењује илустрацију у напредном веб окружењу.
media_cache_retention_period: Када се постави на позитивну вредност, преузете медијске датотеке ће бити избрисане након наведеног броја дана, и поново преузете на захтев.
+ peers_api_enabled: Листа домена са којима се овај сервер сусрео у федиверзуму. Овде нису садржани подаци о томе да ли се Ваш сервер федерише са другим серверима, већ само да Ваш сервер зна за њих. Ове информације користе сервиси који прикупљају податке и воде статистику о федерацији у ширем смислу.
profile_directory: Директоријум профила наводи све кориснике који су се определили да буду видљиви.
- require_invite_text: Када регистрације захтевају ручно одобрење, постави да унос текста „Зашто желиш да се придружиш?“ буде обавезан, а не опциони
- site_contact_email: Како корисници могу да те контактирају за правна питања или питања у вези подршке.
- site_contact_username: Како корисници могу да те контактирају на Мастодону.
- site_extended_description: Било која додатна информација која може бити корисне посетиоцима и твојим корисницима. Може се структурирати помоћу Markdown синтаксе.
- site_short_description: Кратак опис помоћу кога се на јединствен начин идентификује твој сервер. Ко га одржава, коме је намењен?
- site_terms: Користи сопствену политику приватности или остави празно да би се користила подразумевана. Може се структурирати помоћу Markdown синтаксе.
- site_title: Начин на моји може да се позове на твој сервер осим назива његовог домена.
+ require_invite_text: Када регистрације захтевају ручно одобрење, поставите да одговор на „Зашто желите да се придружите?“ буде обавезан, а не опционалан
+ site_contact_email: Како корисници могу да контактирају са Вама за правна питања или питања у вези подршке.
+ site_contact_username: Како корисници могу да контактирају са Вама на Мастодону.
+ site_extended_description: Било какве додатне информације које могу бити корисне посетиоцима и Вашим корисницима. Могу се структурирати помоћу Markdown синтаксе.
+ site_short_description: Кратак опис помоћу кога се на јединствен начин идентификује Ваш сервер. Ко га одржава, коме је намењен?
+ site_terms: Користите сопствену политику приватности или оставите празно да би се користила подразумевана. Може се структурирати помоћу Markdown синтаксе.
+ site_title: Начин на који људи могу да реферишу на Ваш сервер осим назива његовог домена.
+ status_page_url: URL странице где људи могу да виде статус сервера док је сервер оборен
theme: Тема коју виде посетиоци који нису пријављени и нови корисници.
- thumbnail: Слика која се приближно 2:1 приказује поред информација о твом серверу.
+ thumbnail: Слика у размери од приближно 2:1 која се приказује поред информација о Вашем серверу.
timeline_preview: Посетиоци који нису пријављени ће моћи да прегледају најновије јавне објаве доступне на серверу.
trendable_by_default: Прескочи ручни преглед садржаја који је у тренду. Појединачне ставке се након тога и даље могу уклонити из трендова.
- trends: Трендови показују које објаве, хеш ознаке и вести постају све популарнији на твом серверу.
+ trends: Трендови показују које објаве, хеш ознаке и вести постају све популарније на Вашем серверу.
+ trends_as_landing_page: Прикажи садржај у тренду одјављеним корисницима и посетиоцима уместо описа овог сервера. Захтева да трендови буду омогућени.
form_challenge:
- current_password: Улазиш у безбедно подручје
+ current_password: Улазите у безбедно подручје
imports:
data: CSV фајл извезен са друге Мастодонт инстанце
invite_request:
- text: Ово ће нам помоћи да прегледамо твоју пријаву
+ text: Ово ће нам помоћи да прегледамо Вашу пријаву
ip_block:
- comment: Опционо. Запамти зашто си додао ово правило.
+ comment: Опционо. Запамтите зашто сте додали ово правило.
expires_in: IP адресе су ограничени ресурс, понекад се деле и често мењају корисника. Због тога се IP блокови на неограничено време не препоручују.
- ip: Унеси IPv4 или IPv6 адресу. Можеш блокирати читаве опсеге користећи CIDR синтаксу. Води рачуна да себе не закључаш!
+ ip: Унесите IPv4 или IPv6 адресу. Можете блокирати читаве опсеге користећи CIDR синтаксу. Водите рачуна да се не закључате!
severities:
no_access: Блокирај приступ свим ресурсима
- sign_up_block: Нове пријаве неће бити могуће
- sign_up_requires_approval: Нове пријаве ће захтевати твоје одобрење
- severity: Изабери шта ће се десити са захтевима са ове IP адресе
+ sign_up_block: Нове регистрације неће бити могуће
+ sign_up_requires_approval: Нове регистрације ће захтевати Ваше одобрење
+ severity: Изаберите шта ће се десити са захтевима са ове IP адресе
rule:
- text: Опиши правило или захтев за кориснике на овом серверу. Потруди се да опис буде кратак и једноставан
+ text: Опишите правило или услов за кориснике на овом серверу. Потрудите се да опис буде кратак и једноставан
sessions:
otp: 'Унесите двофакторски код са Вашег телефона или користите један од кодова за опоравак:'
- webauthn: Ако је то USB кључ, обавезно га убаци и, ако је потребно, притисни га.
+ webauthn: Ако је у питању USB кључ, обавезно га убаците и, ако је потребно, притисните га.
tag:
- name: Могу се само променити мала слова у велика, на пример, да би било читљивије
+ name: Могу се само променити мала слова у велика или обрнуто, на пример, да би било читљивије
user:
chosen_languages: Када је означено, објаве у изабраним језицима ће бити приказане на јавној временској линији
role: Улога контролише које дозволе корисник има
@@ -227,6 +233,7 @@ sr:
hide: Сакриј у потпуности
warn: Сакриј уз упозорење
form_admin_settings:
+ activity_api_enabled: Објави прикупљену статистику о корисничкој активности у API
backups_retention_period: Период чувања корисничке архиве
bootstrap_timeline_accounts: Увек препоручи ове налоге новим корисницима
closed_registrations_message: Прилагођена порука када пријаве нису могуће
@@ -234,6 +241,7 @@ sr:
custom_css: Прилагођени CSS
mascot: Прилагођена маскота (наслеђе)
media_cache_retention_period: Период чувања кеша медија
+ peers_api_enabled: Објавите листу откривених сервера у API
profile_directory: Омогући директоријум профила
registrations_mode: Ко може да се пријави
require_invite_text: Затражи разлог за приступање
@@ -245,11 +253,13 @@ sr:
site_short_description: Опис сервера
site_terms: Политика приватности
site_title: Име сервера
+ status_page_url: URL статусне странице
theme: Подразумевана тема
thumbnail: Сличица сервера
timeline_preview: Дозволи неауторизован приступ јавним временским осама
trendable_by_default: Дозволи трендове без претходног прегледа
trends: Омогући трендове
+ trends_as_landing_page: Користите трендове као страницу дочека
interactions:
must_be_follower: Блокирај обавештења од корисника који ме не прате
must_be_following: Блокирај обавештења од људи које не пратим
diff --git a/config/locales/simple_form.sv.yml b/config/locales/simple_form.sv.yml
index ede921615c..cf914b0583 100644
--- a/config/locales/simple_form.sv.yml
+++ b/config/locales/simple_form.sv.yml
@@ -18,6 +18,8 @@ sv:
disable: Förhindra användaren från att använda sitt konto, men radera eller dölj inte innehållet.
none: Använd det här för att skicka en varning till användaren, utan att vidta någon ytterligare åtgärd.
sensitive: Tvinga alla denna användares mediebilagor till att flaggas som känsliga.
+ silence: Hindra användaren från att kunna göra offentliga inlägg, göm deras inlägg och notiser från folk som inte följer dem. Stänger alla anmälningar mot detta kontot.
+ suspend: Förhindrar all interaktion från eller till detta konto och ta bort dess innehåll. Går att ångra inom 30 dagar. Stänger alla anmälningar mot detta konto.
warning_preset_id: Valfri. Du kan lägga till anpassad text i slutet av förinställningen
announcement:
all_day: När det är markerat visas endast datum för tidsintervallet
@@ -72,6 +74,7 @@ sv:
hide: Dölj det filtrerade innehållet helt (beter sig som om det inte fanns)
warn: Dölj det filtrerade innehållet bakom en varning som visar filtrets rubrik
form_admin_settings:
+ activity_api_enabled: Antalet lokalt publicerade inlägg, aktiva användare och nya registrerade konton per vecka
backups_retention_period: Behåll genererade användararkiv i det angivna antalet dagar.
bootstrap_timeline_accounts: Dessa konton kommer fästas högst upp i nya användares följrekommendationer.
closed_registrations_message: Visas när nyregistreringar är avstängda
@@ -79,6 +82,7 @@ sv:
custom_css: Du kan använda anpassade stilar på webbversionen av Mastodon.
mascot: Åsidosätter illustrationen i det avancerade webbgränssnittet.
media_cache_retention_period: Nedladdade mediefiler kommer raderas efter det angivna antalet dagar, om inställt till ett positivt värde, och laddas ned på nytt vid behov.
+ peers_api_enabled: En lista över domänen den här servern har stött på i fediversum. Ingen data inkluderas om du har federerat med servern, bara att din server känner till den. Detta används av tjänster som samlar statistik om federering i allmänhet.
profile_directory: Profilkatalogen visar alla användare som har samtyckt till att bli upptäckbara.
require_invite_text: Gör fältet "Varför vill du gå med?" obligatoriskt när nyregistreringar kräver manuellt godkännande
site_contact_email: Hur människor kan nå dig för juridiska spörsmål eller supportfrågor.
@@ -87,11 +91,13 @@ sv:
site_short_description: En kort beskrivning för att unikt identifiera din server. Vem är det som driver den, vilka är den till för?
site_terms: Använd din egen sekretesspolicy eller lämna tomt för att använda standardinställningen. Kan struktureras med Markdown-syntax.
site_title: Hur folk kan hänvisa till din server förutom med dess domännamn.
+ status_page_url: URL till en sida där personer kan se serverns status under ett driftavbrott
theme: Tema som utloggade besökare och nya användare ser.
thumbnail: En bild i cirka 2:1-proportioner som visas tillsammans med din serverinformation.
timeline_preview: Utloggade besökare kommer kunna bläddra bland de senaste offentliga inläggen som finns på servern.
trendable_by_default: Hoppa över manuell granskning av trendande innehåll. Enskilda objekt kan ändå raderas från trender retroaktivt.
trends: Trender visar vilka inlägg, hashtaggar och nyheter det pratas om på din server.
+ trends_as_landing_page: Visa trendande innehåll för utloggade användare och besökare istället för en beskrivning om servern. Kräver att trender är aktiverat.
form_challenge:
current_password: Du går in i ett säkert område
imports:
@@ -227,6 +233,7 @@ sv:
hide: Dölj helt
warn: Dölj med en varning
form_admin_settings:
+ activity_api_enabled: Publicera aggregerad statistik om användaraktivitet i API:et
backups_retention_period: Lagringsperiod för användararkivet
bootstrap_timeline_accounts: Rekommendera alltid dessa konton till nya användare
closed_registrations_message: Anpassat meddelande när nyregistreringar inte är tillgängliga
@@ -234,6 +241,7 @@ sv:
custom_css: Anpassad CSS
mascot: Anpassad maskot (tekniskt arv)
media_cache_retention_period: Tid för bibehållande av mediecache
+ peers_api_enabled: Publicera lista över upptäckta servrar i API:et
profile_directory: Aktivera profilkatalog
registrations_mode: Vem kan registrera sig
require_invite_text: Kräv anledning för att gå med
@@ -245,11 +253,13 @@ sv:
site_short_description: Serverbeskrivning
site_terms: Integritetspolicy
site_title: Servernamn
+ status_page_url: URL för statussida
theme: Standardtema
thumbnail: Serverns tumnagelbild
timeline_preview: Tillåt oautentiserad åtkomst till offentliga tidslinjer
trendable_by_default: Tillåt trender utan föregående granskning
trends: Aktivera trender
+ trends_as_landing_page: Använd trender som landningssida
interactions:
must_be_follower: Blockera notiser från icke-följare
must_be_following: Blockera notiser från personer du inte följer
diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml
index ed111ecc90..1e99fefa35 100644
--- a/config/locales/simple_form.th.yml
+++ b/config/locales/simple_form.th.yml
@@ -174,7 +174,7 @@ th:
context: บริบทตัวกรอง
current_password: รหัสผ่านปัจจุบัน
data: ข้อมูล
- discoverable: แนะนำบัญชีให้ผู้อื่น
+ discoverable: เสนอแนะบัญชีให้ผู้อื่น
display_name: ชื่อที่แสดง
email: ที่อยู่อีเมล
expires_in: หมดอายุหลังจาก
diff --git a/config/locales/simple_form.tt.yml b/config/locales/simple_form.tt.yml
index d4e44c0db2..db2bd025c2 100644
--- a/config/locales/simple_form.tt.yml
+++ b/config/locales/simple_form.tt.yml
@@ -5,7 +5,7 @@ tt:
account_warning_preset:
title: Исем
admin_account_action:
- type: Ğämäl
+ type: Гамәл
types:
sensitive: Sizmäle
suspend: Искә алмау
@@ -14,7 +14,7 @@ tt:
data: Мәгълүмат
email: Почта адресы
header: Башлам
- password: Парол
+ password: Серсүз
setting_display_media_default: Töpcay
username: Кулланучы исеме
featured_tag:
diff --git a/config/locales/simple_form.zh-TW.yml b/config/locales/simple_form.zh-TW.yml
index 5f974c6fd1..1976df4d91 100644
--- a/config/locales/simple_form.zh-TW.yml
+++ b/config/locales/simple_form.zh-TW.yml
@@ -33,7 +33,7 @@ zh-TW:
autofollow: 通過邀請網址註冊的使用者將自動跟隨您
avatar: 支援 PNG、GIF 或 JPG 圖片格式,檔案最大為 %{size},會等比例縮減至 %{dimensions} 像素
bot: 此帳號主要執行自動化操作且可能未受人為監控
- context: 應該套用過濾器的一項或多項內容
+ context: 此過濾器應套用於以下一項或多項情境
current_password: 因安全因素,請輸入目前帳號的密碼
current_username: 請輸入目前帳號的使用者名稱以確認
digest: 僅在您長時間未登入且在未登入期間收到私訊時傳送
@@ -49,11 +49,11 @@ zh-TW:
phrase: 無論是嘟文的本文或是內容警告都會被過濾
scopes: 允許讓應用程式存取的 API。 若您選擇最高階範圍,則無須選擇個別項目。
setting_aggregate_reblogs: 請勿顯示最近已被轉嘟之嘟文的最新轉嘟(只影響最新收到的嘟文)
- setting_always_send_emails: 一般情況下若您活躍使用 Mastodon ,我們不會寄送 e-mail 通知
+ setting_always_send_emails: 一般情況下若您活躍使用 Mastodon ,我們不會寄送電子郵件通知
setting_default_sensitive: 敏感內容媒體預設隱藏,且按一下即可重新顯示
setting_display_media_default: 隱藏標為敏感內容的媒體
setting_display_media_hide_all: 總是隱藏所有媒體
- setting_display_media_show_all: 總是顯示標為敏感的媒體
+ setting_display_media_show_all: 總是顯示標為敏感內容的媒體
setting_hide_network: 您跟隨的人與跟隨您的人將不會在您的個人檔案頁面上顯示
setting_noindex: 會影響您的公開個人檔案與嘟文頁面
setting_show_application: 您用來發嘟文的應用程式將會在您嘟文的詳細檢視顯示
@@ -62,10 +62,10 @@ zh-TW:
username: 您的使用者名稱將在 %{domain} 是獨一無二的
whole_word: 如果關鍵字或詞組僅有字母與數字,則其將只在符合整個單字的時候才會套用
domain_allow:
- domain: 此域名將能夠攫取本站資料,而自域名該發出的資料也會於本站處理和留存。
+ domain: 此網域將能夠攫取本站資料,而自該網域發出的資料也會於本站處理和留存。
email_domain_block:
domain: 這可以是顯示在電子郵件中的網域名稱,或是其使用的 MX 紀錄。其將在註冊時檢查。
- with_dns_records: Mastodon 會嘗試解析所給域名的 DNS 記錄,解析結果一致者將一併封鎖
+ with_dns_records: Mastodon 會嘗試解析所給網域的 DNS 記錄,解析結果一致者將一併封鎖
featured_tag:
name: 這些是您最近使用的一些主題標籤:
filters:
@@ -107,7 +107,7 @@ zh-TW:
ip_block:
comment: 可選的,但請記得您為何添加這項規則。
expires_in: IP 位址是經常共用或轉手的有限資源,不建議無限期地封鎖特定 IP 位址。
- ip: 請輸入 IPv4 或 IPv6 位址,亦可以用 CIDR 語法以封鎖整個 IP 區段。小心不要把自己給一併封鎖掉囉!
+ ip: 請輸入 IPv4 或 IPv6 位址,亦可以用 CIDR 語法以封鎖整個 IP 區段。小心不要將自己給一併封鎖掉囉!
severities:
no_access: 封鎖對所有資源存取
sign_up_block: 無法註冊新帳號
@@ -154,7 +154,7 @@ zh-TW:
none: 什麼也不做
sensitive: 敏感内容
silence: 安靜
- suspend: 停權並永久刪除帳號資料
+ suspend: 停權並不可逆的刪除帳號資料
warning_preset_id: 使用警告預設
announcement:
all_day: 全天活動
@@ -193,7 +193,7 @@ zh-TW:
phrase: 關鍵字或片語
setting_advanced_layout: 啟用進階網頁介面
setting_aggregate_reblogs: 時間軸中的群組轉嘟
- setting_always_send_emails: 總是發送 e-mail 通知
+ setting_always_send_emails: 總是發送電子郵件通知
setting_auto_play_gif: 自動播放 GIF 動畫
setting_boost_modal: 轉嘟前先詢問我
setting_crop_images: 將未展開嘟文中的圖片裁剪至 16x9
@@ -283,7 +283,7 @@ zh-TW:
follow: 當有使用者跟隨您時,傳送電子郵件通知
follow_request: 當有使用者請求跟隨您時,傳送電子郵件通知
mention: 當有使用者在嘟文提及您時,傳送電子郵件通知
- pending_account: 需要審核的新帳號
+ pending_account: 有新的帳號需要審核
reblog: 當有使用者轉嘟您的嘟文時,傳送電子郵件通知
report: 新回報已遞交
trending_tag: 新熱門趨勢需要審核
diff --git a/config/locales/sk.yml b/config/locales/sk.yml
index da653857fb..53ef48fe59 100644
--- a/config/locales/sk.yml
+++ b/config/locales/sk.yml
@@ -229,6 +229,7 @@ sk:
destroy_domain_block_html: "%{name} odblokoval/i doménu %{target}"
destroy_ip_block_html: "%{name} vymazal/a pravidlo pre IP %{target}"
destroy_status_html: "%{name} zmazal/a príspevok od %{target}"
+ memorialize_account_html: "%{name} zmenil/a účet %{target} na pamätnú stránku"
reject_appeal_html: "%{name} zamietol/la námietku moderovacieho rozhodnutia od %{target}"
deleted_account: zmazaný účet
empty: Žiadne záznamy nenájdené.
@@ -814,8 +815,6 @@ sk:
title: Triedenia
new:
title: Pridaj nové triedenie
- footer:
- trending_now: Teraz populárne
generic:
all: Všetko
changes_saved_msg: Zmeny boli úspešne uložené!
@@ -1014,6 +1013,7 @@ sk:
otter: Prehliadač Otter
qq: QQ Prehliadač
safari: Apple Safari
+ unknown_browser: Neznámy prehliadač
weibo: Sina/Tencent Weibo
current_session: Aktuálna sezóna
description: "%{browser} na %{platform}"
@@ -1023,7 +1023,7 @@ sk:
ios: Apple iOS
linux: GNU/Linux
mac: MacOSX
- other: neznáma platforma
+ unknown_platform: Neznáma platforma
windows: Microsoft Windows
revoke: Zamietni
revoke_success: Sezóna úspešne zamietnutá
diff --git a/config/locales/sl.yml b/config/locales/sl.yml
index 7cabc0cd86..eb3085cd6f 100644
--- a/config/locales/sl.yml
+++ b/config/locales/sl.yml
@@ -1238,8 +1238,6 @@ sl:
index:
hint: Ta filter se nanaša na posamezne objave ne glede na druge pogoje. Filtru lahko dodate več objav prek spletnega vmesnika.
title: Filtrirane objave
- footer:
- trending_now: Zdaj v trendu
generic:
all: Vse
all_items_on_page_selected_html:
@@ -1459,6 +1457,7 @@ sl:
confirm_remove_selected_followers: Ali ste prepričani, da želite odstraniti izbrane sledilce?
confirm_remove_selected_follows: Ali ste prepričani, da želite odstraniti izbrana sledenja?
dormant: Skrit
+ follow_failure: Nekaterim od izbranih računov ni bilo mogoče slediti.
follow_selected_followers: Sledi izbranim sledilcem
followers: Sledilci
following: Sledi
@@ -1498,6 +1497,7 @@ sl:
electron: Electron
firefox: Firefox
generic: Neznan brskalnik
+ huawei_browser: Brskalnik Huawei
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Brskalnik Nokia S40 Ovi
@@ -1507,6 +1507,7 @@ sl:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Neznan brskalnik
weibo: Weibo
current_session: Trenutna seja
description: "%{browser} na %{platform}"
@@ -1519,9 +1520,10 @@ sl:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: Mac
- other: neznana platforma
+ unknown_platform: Neznana platforma
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/sq.yml b/config/locales/sq.yml
index 467aa8967e..38afb2996c 100644
--- a/config/locales/sq.yml
+++ b/config/locales/sq.yml
@@ -1190,8 +1190,6 @@ sq:
index:
hint: Ky filtër aplikohet për të përzgjedhur postime individuale, pavarësisht kriteresh të tjera. Që nga ndërfaqja web mund të shtoni më tepër postime te ky filtër.
title: Postime të filtruar
- footer:
- trending_now: Prirjet e tashme
generic:
all: Krejt
all_items_on_page_selected_html:
@@ -1401,6 +1399,7 @@ sq:
confirm_remove_selected_followers: Jeni i sigurt se doni të hiqen ndjekësit e përzgjedhur?
confirm_remove_selected_follows: Jeni i sigurt se doni të hiqen ndjekjet e përzgjedhura?
dormant: Në gjumë
+ follow_failure: S’u ndoqën dot disa nga llogaritë e përzgjedhura.
follow_selected_followers: Ndiq ndjekësit e përzgjedhur
followers: Ndjekës
following: Ndjek
@@ -1440,6 +1439,7 @@ sq:
electron: Electron
firefox: Firefox
generic: Shfletues i panjohur
+ huawei_browser: Shfletues Huawei
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Shfletues Nokia S40 Ovi
@@ -1449,6 +1449,7 @@ sq:
qq: QQ Browser
safari: Safari
uc_browser: Shfletues UC
+ unknown_browser: Shfletues i Panjohur
weibo: Weibo
current_session: Sesioni i tanishëm
description: "%{browser} në %{platform}"
@@ -1461,9 +1462,10 @@ sq:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: macOS
- other: platformë e panjohur
+ unknown_platform: Platformë e Panjohur
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml
index fdb5d21859..b6e17677d3 100644
--- a/config/locales/sr-Latn.yml
+++ b/config/locales/sr-Latn.yml
@@ -1,236 +1,1263 @@
---
sr-Latn:
about:
- about_mastodon_html: Mastodont je društvena mreža bazirana na otvorenim protokolima i slobodnom softveru otvorenog koda. Decentralizovana je kao što je decentralizovana e-pošta.
+ about_mastodon_html: 'Društvena mreža budućnosti: bez reklama, bez korporativnog praćenja, etički dizajn, i decentralizacija! Posedujte svoje podatke sa Mastodonom!'
contact_missing: Nije postavljeno
- hosted_on: Mastodont hostovan na %{domain}
+ contact_unavailable: Nije dostupno
+ hosted_on: Mastodon hostovan na %{domain}
+ title: O instanci
accounts:
- nothing_here: Ovde nema ništa!
+ follow: Zaprati
+ followers:
+ few: Pratioca
+ one: Pratilac
+ other: Pratilaca
+ following: Pratim
+ instance_actor_flash: Ovaj nalog je virtuelni akter koji ne predstavlja nijednog korisnika lično, već sâm server. Koristi se u svrhu federacije i ne treba ga suspendovati.
+ last_active: najskorija aktivnost
+ link_verified_on: Vlasništvo nad ovom vezom je provereno %{date}
+ nothing_here: Ovde nema ničega!
+ pin_errors:
+ following: Morate pratiti osobu koju želite da preporučite
+ posts:
+ few: Objave
+ one: Objava
+ other: Objava
+ posts_tab_heading: Objave
admin:
+ account_actions:
+ action: Izvršite radnju
+ title: Izvršite moderatorske radnje na %{acct}
account_moderation_notes:
- create: Napravi
+ create: Ostavite belešku
created_msg: Moderatorska beleška uspešno napravljena!
destroyed_msg: Moderatorska beleška uspešno obrisana!
accounts:
+ add_email_domain_block: Blokiraj domen e-pošte
+ approve: Odobri
+ approved_msg: Zahtev za registraciju korisnika %{username} je uspešno odobren
are_you_sure: Da li ste sigurni?
+ avatar: Avatar
by_domain: Domen
+ change_email:
+ changed_msg: E-pošta naloga uspešno promenjena!
+ current_email: Trenutna adresa e-pošte
+ label: Promenite adresu e-pošte
+ new_email: Nova adresa e-pošte
+ submit: Promenite adresu e-pošte
+ title: Promenite adresu e-pošte za %{username}
+ change_role:
+ changed_msg: Uloga uspešno promenjena!
+ label: Promeni ulogu
+ no_role: Nema ulogu
+ title: Promeni ulogu za %{username}
confirm: Potvrdi
confirmed: Potvrđeno
- confirming: Potvrđujući
+ confirming: Potvrđivanje
+ custom: Proizvoljno
+ delete: Obriši podatke
+ deleted: Izbrisano
demote: Ražaluj
- disable: Isključi
+ destroyed_msg: Podaci korisnika %{username} su nepovratno stavljeni u red za brisanje
+ disable: Zamrzni
+ disable_sign_in_token_auth: Onemogući imejl autentifikaciju
disable_two_factor_authentication: Isključi 2FA
- disabled: Isključena
- display_name: Prikazano ime
+ disabled: Zamrznut
+ display_name: Ime za prikaz
domain: Domen
edit: Izmeni
email: E-pošta
email_status: Status e-pošte
- enable: Uključi
- enabled: Uključeno
+ enable: Omogući
+ enable_sign_in_token_auth: Omogući imejl autentifikaciju
+ enabled: Omogućen
+ enabled_msg: Uspešno odleđen nalog korisnika %{username}
followers: Pratioci
follows: Praćeni
+ header: Zaglavlje
inbox_url: Adresa sandučeta
+ invite_request_text: Razlozi za pridruživanje
+ invited_by: Pozvan od strane
+ ip: IP
+ joined: Pridružio/-la se
location:
all: Sve
- local: Lokalne
- remote: Udaljene
+ local: Lokalni
+ remote: Udaljeni
title: Lokacija
login_status: Status prijave
media_attachments: Multimedijalni prilozi
memorialize: Prebaci u in memoriam
+ memorialized: Podignut spomenik
+ memorialized_msg: "%{username} je uspešno pretvoren u memorijalni nalog"
moderation:
+ active: Aktivan
all: Svi
+ disabled: Isključen
+ pending: Na čekanju
+ silenced: Ograničeno
suspended: Suspendovani
title: Moderacija
moderation_notes: Moderatorske beleške
most_recent_activity: Najskorija aktivnost
most_recent_ip: Najskorija IP adresa
+ no_account_selected: Nijedan nalog nije promenjen jer nijedan nije izabran
+ no_limits_imposed: Nema ograničenja
+ no_role_assigned: Nijedna uloga nije dodeljena
not_subscribed: Nije pretplaćen
- perform_full_suspension: Izvrši kompletno isključenje
+ pending: Čeka na pregled
+ perform_full_suspension: Suspenduj
+ previous_strikes: Prethodni prekršaji
+ previous_strikes_description_html:
+ few: Ovaj nalog ima %{count} prekršaja.
+ one: Ovaj nalog ima jedan prekršaj.
+ other: Ovaj nalog ima %{count} prekršaja.
promote: Unapredi
protocol: Protokol
public: Javno
- redownload: Osveži avatar
- remote_suspension_reversible_hint_html: Налог је суспендован на њиховом серверу, а подаци ће бити у потпуности уклоњени %{date}. До тада, удаљени сервер може вратити овај налог без икаквих негативних ефеката. Ако желите одмах да уклоните све податке налога, то можете учинити у наставку.
+ push_subscription_expires: PuSH pretplata ističe
+ redownload: Osveži profil
+ redownloaded_msg: Uspešno osvežen profil korisnika %{username} iz izvora
+ reject: Odbij
+ rejected_msg: Zahtev za registraciju korisnika %{username} je uspešno odbijen
+ remote_suspension_irreversible: Podaci ovog naloga su nepovratno izbrisani.
+ remote_suspension_reversible_hint_html: Nalog je suspendovan sa svog servera i njegovi podaci će biti izbrisani datuma %{date}. Do tada, udaljeni server može da vrati ovaj nalog bez ikakvih promena. Ukoliko želite da odmah obrišete sve podatke naloga, možete to učiniti ispod.
+ remove_avatar: Ukloni avatar
+ remove_header: Odstrani zaglavlje
+ removed_avatar_msg: Slika avatara korisnika %{username} je uspešno uklonjena
+ removed_header_msg: Uspešno obrisana slika zaglavlja korisnika %{username}
resend_confirmation:
already_confirmed: Ovaj korisnik je već potvrđen
- send: Ponovo pošaljite e-poruku za potvrdu
- success: E-mail potvrde je uspešno poslat!
+ send: Ponovo pošalji imejl potvrdu
+ success: Imejl za potvrdu je uspešno poslat!
reset: Resetuj
reset_password: Resetuj lozinku
resubscribe: Ponovo se pretplati
+ role: Uloga
search: Pretraga
+ search_same_email_domain: Ostali korisnici sa istim domenom e-pošte
+ search_same_ip: Ostali korisnici sa istom IP adresom
+ security: Bezbednost
+ security_measures:
+ only_password: Samo lozinka
+ password_and_2fa: Lozinka i dvofaktorska autentifikacija
+ sensitive: Označi kao osetljiv
+ sensitized: Označeno kao osetljivo
shared_inbox_url: Adresa deljenog sandučeta
show:
- created_reports: Prijave koje je napravio ovaj nalog
- targeted_reports: Prijave napravljene o ovom nalogu
+ created_reports: Podnete prijave
+ targeted_reports: Prijave od strane drugih
silence: Ućutkaj
- statuses: Statusi
+ silenced: Ućutkan
+ statuses: Objave
+ strikes: Prethodni prestupi
subscribe: Pretplati se
+ suspend: Suspenduj
+ suspended: Suspendovani
+ suspension_irreversible: Podaci ovog naloga su nepovratno izbrisani. Možete odsuspendovati ovaj nalog čime će on postati upotrebljiv, ali se podaci prethodno sadržani na nalogu neće vratiti.
+ suspension_reversible_hint_html: Nalog je suspendovan i njegovi podaci će biti izbrisani datuma %{date}. Do tada, ovaj nalog može biti vraćen bez ikakvih promena. Ukoliko želite da odmah obrišete sve podatke naloga, možete to učiniti ispod.
title: Nalozi
+ unblock_email: Odblokiraj adresu e-pošte
+ unblocked_email_msg: Uspešno odblokirana imejl adresa korisnika %{username}
+ unconfirmed_email: Nepotvrđena adresa e-pošte
+ undo_sensitized: Ukloni oznaku „osetljiv”
undo_silenced: Ukini ćutanje
undo_suspension: Ukini suspenziju
+ unsilenced_msg: Uspešno poništeno ograničenje naloga %{username}
unsubscribe: Ukini pretplatu
+ unsuspended_msg: Uspešno poništena suspenzija naloga %{username}
username: Korisničko ime
+ view_domain: Pročitaj opis domena
+ warn: Upozori
web: Veb
+ whitelisted: Dozvoljena federacija
action_logs:
+ action_types:
+ approve_appeal: Uvaži žalbu
+ approve_user: Odobri korisnika
+ assigned_to_self_report: Dodeli prijavu
+ change_email_user: Promeni e-adresu korisnika
+ change_role_user: Promeni ulogu korisnika
+ confirm_user: Potvrdi korisnika
+ create_account_warning: Kreiraj upozorenje
+ create_announcement: Kreiraj najavu
+ create_canonical_email_block: Kreiraj blok e-pošte
+ create_custom_emoji: Napravi prilagođeni emodži
+ create_domain_allow: Dodaj dozvoljeni domen
+ create_domain_block: Dodaj blokirani domen
+ create_email_domain_block: Blokiraj imejl domen
+ create_ip_block: Napravi IP uslov
+ create_unavailable_domain: Dodaj domen kao nedostupan
+ create_user_role: Kreiraj ulogu
+ demote_user: Smanji ovlašćenja korisnika
+ destroy_announcement: Izbriši najavu
+ destroy_canonical_email_block: Izbriši blok e-pošte
+ destroy_custom_emoji: Obriši prilagođeni emodži
+ destroy_domain_allow: Obriši dozvoljeni domen
+ destroy_domain_block: Obriši blokirani domen
+ destroy_email_domain_block: Izbriši blok e-pošte
+ destroy_instance: Očisti domen
+ destroy_ip_block: Obriši IP uslov
+ destroy_status: Izbriši post
+ destroy_unavailable_domain: Obriši nedostupan domen
+ destroy_user_role: Uništi poziciju
+ disable_2fa_user: Onemogući dvofaktorsku autentifikaciju
+ disable_custom_emoji: Onemogući prilagođene emodžije
+ disable_sign_in_token_auth_user: Onemogući imejl autentifikaciju za korisnika
+ disable_user: Onemogući korisnika
+ enable_custom_emoji: Omogući prilagođene emodžije
+ enable_sign_in_token_auth_user: Omogući imejl autentifikaciju za korisnika
+ enable_user: Omogući korisnika
+ memorialize_account: Pretvori u memorijalni nalog
+ promote_user: Unapredi korisnika
+ reject_appeal: Odbij žalbu
+ reject_user: Odbaci korisnika
+ remove_avatar_user: Ukloni avatar
+ reopen_report: Ponovo otvori prijavu
+ resend_user: Ponovo pošalji mejl za potvrdu
+ reset_password_user: Resetuj lozinku
+ resolve_report: Zatvori prijavu
+ sensitive_account: Označi nalog kao osetljiv
+ silence_account: Ograniči nalog
+ suspend_account: Obustavi nalog
+ unassigned_report: Povuci prijavu
+ unblock_email_account: Odblokiraj imejl adresu
+ unsensitive_account: Ukloni dodeljenu oznaku „osetljiv”
+ unsilence_account: Povuci ograničenje naloga
+ unsuspend_account: Povuci suspenziju naloga
+ update_announcement: Saopštenje o ažuriranju
+ update_custom_emoji: Ažuriraj prilagođene emodžije
+ update_domain_block: Ažuriraj domen blok
+ update_ip_block: Ažuriraj IP uslov
+ update_status: Uredi objavu
+ update_user_role: Uredi ulogu
+ actions:
+ approve_appeal_html: "%{name} je uvažio žalbu korisnika %{target} na odluku moderatora"
+ approve_user_html: "%{name} je odobrio/-la registraciju korisnika %{target}"
+ assigned_to_self_report_html: "%{name} je sebi dodelio/-la prijavu %{target}"
+ change_email_user_html: "%{name} je promenio/-la imejl adresu korisnika %{target}"
+ change_role_user_html: "%{name} je promenio/-la ovlašćenja korisnika %{target}"
+ confirm_user_html: "%{name} je potvrdio/-la imejl adresu korisnika %{target}"
+ create_account_warning_html: "%{name} je poslao/-la upozorenje korisniku %{target}"
+ create_announcement_html: "%{name} je napravio/-la novo saopštenje %{target}"
+ create_canonical_email_block_html: "%{name} je blokirao/-la imejl adresu sa hešom %{target}"
+ create_custom_emoji_html: "%{name} je otpremio/-la nove emodžije %{target}"
+ create_domain_allow_html: "%{name} je dozvolio/-la federaciju sa domenom %{target}"
+ create_domain_block_html: "%{name} je blokirao/-la domen %{target}"
+ create_email_domain_block_html: "%{name} je blokirao/-la imejl domen %{target}"
+ create_ip_block_html: "%{name} je napravio/-la uslov za IP adrese %{target}"
+ create_unavailable_domain_html: "%{name} je obustavio/-la isporučivanje domenu %{target}"
+ create_user_role_html: "%{name} je napravio/-la %{target} poziciju"
+ demote_user_html: "%{name} je smanjio ovlašćenja korisnika %{target}"
+ destroy_announcement_html: "%{name} je obrisao/-la saopštenje %{target}"
+ destroy_canonical_email_block_html: "%{name} je odblokirao/-la imejl adresu sa hešom %{target}"
+ destroy_custom_emoji_html: "%{name} je obrisao/-la emodži %{target}"
+ destroy_domain_allow_html: "%{name} je zabranio/-la federaciju sa domenom %{target}"
+ destroy_domain_block_html: "%{name} je odblokirao/-la domen %{target}"
+ destroy_email_domain_block_html: "%{name} je odblokirao/-la imejl domen %{target}"
+ destroy_instance_html: "%{name} je očistio/-la domen %{target}"
+ destroy_ip_block_html: "%{name} je obrisao/-la uslov za IP adrese %{target}"
+ destroy_status_html: "%{name} je izbrisao/-la objavu korisnika %{target}"
+ destroy_unavailable_domain_html: "%{name} je ponovo uspostavio/-la isporučivanje domenu %{target}"
+ destroy_user_role_html: "%{name} je izbrisao/-la %{target} poziciju"
+ disable_2fa_user_html: "%{name} je onemogućio/-la dvofaktorsku autentifikaciju za korisnika %{target}"
+ disable_custom_emoji_html: "%{name} je onemogućio/-la emodži %{target}"
+ disable_sign_in_token_auth_user_html: "%{name} je onemogućio/-la imejl autentifikaciju za korisnika %{target}"
+ disable_user_html: "%{name} je onemogućio/-la prijavljivanje za korisnika %{target}"
+ enable_custom_emoji_html: "%{name} je omogućio/-la emodži %{target}"
+ enable_sign_in_token_auth_user_html: "%{name} je omogućio/-la imejl autentifikaciju za %{target}"
+ enable_user_html: "%{name} je omogućio/-la prijavljivanje korisniku %{target}"
+ memorialize_account_html: "%{name} je pretvorio/-la nalog korisnika %{target} u memorijalnu stranicu"
+ promote_user_html: "%{name} je unapredio/-la korisnika %{target}"
+ reject_appeal_html: "%{name} je odbio/-la žalbu na moderacijsku odluku koju je priložio korisnik %{target}"
+ reject_user_html: "%{name} je odbio/-la registraciju korisnika %{target}"
+ remove_avatar_user_html: "%{name} je uklonio avatar korisnika %{target}"
+ reopen_report_html: "%{name} je ponovo otvorio/-la prijavu %{target}"
+ resend_user_html: "%{name} je ponovo poslao/-la imejl za potvrdu korisniku %{target}"
+ reset_password_user_html: "%{name} je resetovao/-la lozinku korisnika %{target}"
+ resolve_report_html: "%{name} je rešio/-la prijavu %{target}"
+ sensitive_account_html: "%{name} je označio/-la medije naloga %{target} kao osetljive"
+ silence_account_html: "%{name} je ograničio/-la nalog %{target}"
+ suspend_account_html: "%{name} je suspendovao/-la nalog %{target}"
+ unassigned_report_html: "%{name} je povukao/-la dodelu prijave %{target}"
+ unblock_email_account_html: "%{name} je odblokirao/-la imejl adresu korisnika %{target}"
+ unsensitive_account_html: "%{name} je uklonio/-la oznaku „osetljivo” sa medija naloga %{target}"
+ unsilence_account_html: "%{name} je povukao/-la ograničenje naloga %{target}"
+ unsuspend_account_html: "%{name} je povukao/-la suspenziju naloga %{target}"
+ update_announcement_html: "%{name} je ažurirao/-la saopštenje %{target}"
+ update_custom_emoji_html: "%{name} je ažurirao/-la emodži %{target}"
+ update_domain_block_html: "%{name} je ažurirao/-la blok domena %{target}"
+ update_ip_block_html: "%{name} je promenio/-la IP uslov za %{target}"
+ update_status_html: "%{name} je ažurirao/-la objavu korisnika %{target}"
+ update_user_role_html: "%{name} je promenio/-la poziciju %{target}"
+ deleted_account: obrisan nalog
+ empty: Nije pronađen nijedan log.
+ filter_by_action: Filtriraj po aktivnosti
+ filter_by_user: Filtriraj po korisniku
title: Zapisnik
+ announcements:
+ destroyed_msg: Saopštenje je uspešno obrisano!
+ edit:
+ title: Uredi najavu
+ empty: Nijedna najava nije pronađena.
+ live: Uživo
+ new:
+ create: Kreiraj najavu
+ title: Nova najava
+ publish: Objavi
+ published_msg: Najava uspešno objavljena!
+ scheduled_for: Zakazano za %{time}
+ scheduled_msg: Saopštenje je zakazano za objavljivanje!
+ title: Najave
+ unpublish: Povuci objavu
+ unpublished_msg: Objava saopštenja je uspešno povučena!
+ updated_msg: Saopštenje je uspešno ažurirano!
custom_emojis:
+ assign_category: Dodeli kategoriju
by_domain: Domen
- copied_msg: Uspešno napravljena lokalna kopija emotikona
+ copied_msg: Uspešno napravljena lokalna kopija emodžija
copy: Kopiraj
- copy_failed_msg: Ne mogu da napravim lokalnu kopiju tog emotikona
- created_msg: Emotikon uspešno napravljen!
+ copy_failed_msg: Ne mogu da napravim lokalnu kopiju tog emotidžija
+ create_new_category: Kreiraj novu kategoriju
+ created_msg: Emodži uspešno napravljen!
delete: Obriši
- destroyed_msg: Emotikon uspešno obrisan!
+ destroyed_msg: Emodži uspešno obrisan!
disable: Onemogući
- disabled_msg: Emotikon uspešno onemogućen
- emoji: Emotikon
+ disabled: Onemogućeno
+ disabled_msg: Emodži uspešno onemogućen
+ emoji: Emodži
enable: Omogući
- enabled_msg: Emotikon uspešno omogućen
+ enabled: Omogućeno
+ enabled_msg: Emodži uspešno omogućen
+ image_hint: PNG ili GIF fajl veličine do %{size}
+ list: Lista
listed: Izlistan
new:
- title: Dodaj novi proizvoljni emotikon
+ title: Dodaj novi proizvoljni emodži
+ no_emoji_selected: Nijedan emodži nije promenjen jer nijedan nije izabran
+ not_permitted: Niste ovlašćeni da obavljate ovu radnju
overwrite: Prepiši
shortcode: Prečica
shortcode_hint: Najmanje 2 karaktera, dozvoljeni su samo slova, brojevi i donje crte
- title: Proizvoljni emotikoni
+ title: Proizvoljni emotidžiji
+ uncategorized: Nekategorizovano
+ unlist: Neizlistan
unlisted: Neizlistan
- update_failed_msg: Ne mogu da ažuriram ovaj emotikon
- updated_msg: emotikon uspešno ažuriran!
+ update_failed_msg: Ne mogu da ažuriram ovaj emodži
+ updated_msg: Emodži uspešno ažuriran!
upload: Otpremi
+ dashboard:
+ active_users: aktivni korisnici
+ interactions: interakcije
+ media_storage: Multimedijalno skladište
+ new_users: novi korisnici
+ opened_reports: otvorene prijave
+ pending_appeals_html:
+ few: "%{count} žalbe na čekanju"
+ one: "%{count} žalba na čekanju"
+ other: "%{count} žalbi na čekanju"
+ pending_reports_html:
+ few: "%{count} prijave na čekanju"
+ one: "%{count} prijava na čekanju"
+ other: "%{count} prijava na čekanju"
+ pending_tags_html:
+ few: "%{count} heš oznake na čekanju"
+ one: "%{count} heš oznaka na čekanju"
+ other: "%{count} heš oznaka na čekanju"
+ pending_users_html:
+ few: "%{count} korisnika na čekanju"
+ one: "%{count} korisnik na čekanju"
+ other: "%{count} korisnika na čekanju"
+ resolved_reports: rešene prijave
+ software: Softver
+ sources: Izvori registracija
+ space: Korišćenje prostora
+ title: Komandna tabla
+ top_languages: Najzastupljeniji jezici
+ top_servers: Najaktivniji serveri
+ website: Vebsajt
+ disputes:
+ appeals:
+ empty: Nijedna žalba nije pronađena.
+ title: Žalbe
+ domain_allows:
+ add_new: Dozvoli federaciju sa domenom
+ created_msg: Domen je uspešno odobren za federaciju
+ destroyed_msg: Domen je odbijen za federaciju
+ export: Izvoz
+ import: Uvoz
+ undo: Zabrani federaciju sa domenom
domain_blocks:
- add_new: Dodaj novi
+ add_new: Dodaj novi blok domena
created_msg: Blokiranje domena se obrađuje
destroyed_msg: Blokiranje domena je opozvano
domain: Domen
+ edit: Izmeni blok domena
+ existing_domain_block: Već ste uspostavili stroža ograničenja prema korisniku %{name}.
+ existing_domain_block_html: Već ste uspostavili stroža ograničenja prema %{name}, potrebno je da ga prvo odblokirate.
+ export: Izvoz
+ import: Uvoz
new:
create: Napravi blokadu
hint: Blokiranje domena neće sprečiti pravljenje naloga u bazi, ali će retroaktivno i automatski primeniti određene moderatorske metode nad tim nalozima.
severity:
+ desc_html: "Ograničenje će sakriti objave naloga sa ovog domena od svakog ko ih ne prati. Suspenzija će obrisati sav sadržaj, medije i podatke profila sa naloga ovog domena sa Vašeg servera. Koristite Ništa ukoliko samo želite da odbijete medijske fajlove."
noop: Ništa
+ silence: Ograniči
suspend: Suspenzija
title: Novo blokiranje domena
+ no_domain_block_selected: Nijedan blok domena nije promenjen jer nijedan nije izabran
+ not_permitted: Niste ovlašćeni da obavljate ovu radnju
+ obfuscate: Sakrij ime domena
+ obfuscate_hint: Delimično sakrij ime domena na listi ako je reklamiranje liste ograničenih domena omogućeno
+ private_comment: Privatni komentar
+ private_comment_hint: Komentar o ograničenju ovog domena za internu upotrebu od strane moderatora.
+ public_comment: Javni komentar
+ public_comment_hint: Komentar o ograničenju ovog domena za javnost, ukoliko je reklamiranje liste ograničenih domena omogućeno.
reject_media: Odbaci multimediju
- reject_media_hint: Uklanja lokalno uskladištene multimedijske fajlove i odbija da ih skida na dalje. Nebitno je za suspenziju
- undo: Poništi
+ reject_media_hint: Uklanja lokalno uskladištene multimedijske fajlove i odbija da ih skida ubuduće. Nebitno je za suspenziju
+ reject_reports: Odbaci izveštaj
+ reject_reports_hint: Ignoriši sve izveštaje koji dolaze sa ovog domena. Nebitno je za suspenzije
+ undo: Poništi blok domena
+ view: Pročitaj blok domena
email_domain_blocks:
- add_new: Dodaj novuAdd new
- created_msg: Uspešno dodao domen e-pošte na crnu listu
- delete: Ukloni
+ add_new: Dodaj novi
+ attempts_over_week:
+ few: "%{count} pokušaja tokom prethodne nedelje"
+ one: "%{count} pokušaj tokom prethodne nedelje"
+ other: "%{count} pokušaja registracije tokom prethodne nedelje"
+ created_msg: Uspešno dodao domen E-pošte na crnu listu
+ delete: Obriši
+ dns:
+ types:
+ mx: MX izveštaj
domain: Domen
new:
create: Dodaj domen
- title: Nova stavka u crnoj listi e-pošti
- title: Crna lista adresa e-pošte
+ resolve: Pretvori domen
+ title: Nova stavka e-pošte u crnoj listi
+ no_email_domain_block_selected: Nijedan blok imejl domena nije promenjen jer nijedan nije izabran
+ not_permitted: Nije dozvoljeno
+ resolved_dns_records_hint_html: Ime domena se pretvara u sledeće MX domene, koji su naposletku odgovorni za prihvatanje elektronske pošte. Blokiranje MX domena će blokirati registracije sa svake imejl adrese koja koristi taj MX domen, čak i u slučaju kada se vidljivo ime domena razlikuje. Vodite računa o tome da ne blokirate velike imejl provajdere.
+ resolved_through_html: Preusmereno kroz %{domain}
+ title: Crna lista E-pošte
+ export_domain_allows:
+ new:
+ title: Uvezi dozvoljene domene
+ no_file: Nijedan fajl nije odabran
+ export_domain_blocks:
+ import:
+ description_html: Upravo ćete uvesti listu blokiranih domena. Molimo Vas, vrlo pažljivo pregledajte ovu listu, posebno ukoliko je niste sami napravili.
+ existing_relationships_warning: Postojeći odnosi u obliku praćenja
+ private_comment_description_html: 'Da bi Vam pomogli da pratite odakle su blokovi uvezeni, uvezeni blokovi će biti napravljeni sa sledećim privatnim komentarom: %{comment}
'
+ private_comment_template: Uvezeno sa izvora %{source} na datum %{date}
+ title: Uvezi blokirane domene
+ invalid_domain_block: 'Jedan ili više blokova domena je preskočen zbog sledeće greške tj. grešaka: %{error}'
+ new:
+ title: Uvezi blokirane domene
+ no_file: Nijedan fajl nije odabran
+ follow_recommendations:
+ description_html: "Predlozi za praćenje pomažu novim korisnicima da brzo pronađu zanimljiv sadržaj. Kada korisnik nije dovoljno interagovao sa ostalima da bi se za njega formirali personalizovani predlozi za praćenje, ovi nalozi će biti preporučeni umesto toga. Oni se generišu na dnevnoj bazi iz skupa naloga sa najviše nedavnih angažovanja i najviše lokalnih pratilaca za jedan jezik."
+ language: Za jezik
+ status: Status
+ suppress: Potisni preporuke za praćenje
+ suppressed: Potisnuto
+ title: Preporuke za praćenje
+ unsuppress: Vrati preporuku za praćenje
instances:
- title: Poznate instance
+ availability:
+ description_html:
+ few: Ukoliko isporuka domenu ne uspe nijednom tokom %{count} različitih dana, dalji pokušaji isporuke neće biti inicirani osim ukoliko se ne primi isporuka sa domena.
+ one: Ako isporuka domenu ne uspe nijednom u vremenskom periodu od %{count} dana, dalji pokušaji isporuke se neće inicirati osim ukoliko se ne primi isporuka sa domena.
+ other: Ukoliko isporuka domenu ne uspe nijednom tokom %{count} različitih dana, dalji pokušaji isporuke se neće inicirati osim ukoliko se ne primi isporuka sa domena.
+ failure_threshold_reached: Prag neuspeha dostignut datuma %{date}.
+ failures_recorded:
+ few: Neuspeli pokušaji tokom %{count} različita dana.
+ one: Neuspeli pokušaj tokom %{count} dana.
+ other: Neuspeli pokušaji tokom %{count} različitih dana.
+ no_failures_recorded: Bez zabeleženih neuspeha.
+ title: Dostupnost
+ warning: Poslednji pokušaj povezivanja sa ovim serverom je bio neuspešan
+ back_to_all: Sve
+ back_to_limited: Ograničeno
+ back_to_warning: Upozorenje
+ by_domain: Domen
+ confirm_purge: Da li ste sigurni da želite da trajno uklonite podatke sa ovog domena?
+ content_policies:
+ comment: Interna beleška
+ description_html: Možete da definišete politiku sadržaja koja će važiti za sve naloge na ovom domenu i svakom od njegovih poddomena.
+ limited_federation_mode_description_html: Možete da odlučite da li da dopustite federaciju sa ovim domenom.
+ policies:
+ reject_media: Odbij multimediju
+ reject_reports: Odbij prijave
+ silence: Ograniči
+ suspend: Suspenduj
+ policy: Politika
+ reason: Javni razlog
+ title: Politika sadržaja
+ dashboard:
+ instance_accounts_dimension: Najpraćeniji nalozi
+ instance_accounts_measure: uskladišteni nalozi
+ instance_followers_measure: naši pratioci ovde
+ instance_follows_measure: njihovi pratioci ovde
+ instance_languages_dimension: Najzastupljeniji jezici
+ instance_media_attachments_measure: uskladišteni multimedijalni prilozi
+ instance_reports_measure: prijave protiv njih
+ instance_statuses_measure: uskladištene objave
+ delivery:
+ all: Sve
+ clear: Očisti greške prilikom isporuke
+ failing: Bez uspeha
+ restart: Započni isporuku ponovo
+ stop: Obustavi isporuku
+ unavailable: Nedostupno
+ delivery_available: Dostava je dostupna
+ delivery_error_days: Dani neuspešnih isporuka
+ delivery_error_hint: Ukoliko isporuka nije moguća %{count} dana, automatski će biti obeležena kao neisporučiva.
+ destroyed_msg: Podaci sa %{domain} su sada u redu za čekanje za izvesno brisanje.
+ empty: Nijedan domen nije pronađen.
+ known_accounts:
+ few: "%{count} poznata naloga"
+ one: "%{count} poznat nalog"
+ other: "%{count} poznatih naloga"
+ moderation:
+ all: Sve
+ limited: Ograničeno
+ title: Moderacija
+ private_comment: Privatni komentar
+ public_comment: Javni komentar
+ purge: Čistka
+ purge_description_html: Ukoliko verujete da je ovaj domen trajno ugašen, možete da obrišete sve zapise naloga i srodne podatke ovog domena sa svog skladišta. Ovo može da potraje.
+ title: Federacija
+ total_blocked_by_us: Blokirano od strane nas
+ total_followed_by_them: Praćeni od strane njih
+ total_followed_by_us: Praćeni od strane nas
+ total_reported: Prijave vezane za njih
+ total_storage: Multimedijalni prilozi
+ totals_time_period_hint_html: Ukupne vrednosti prikazane ispod uključuju podatke za sva vremena.
invites:
+ deactivate_all: Deaktiviraj sve
filter:
all: Sve
- available: Aktivne
- expired: Istekle
+ available: Dostupni
+ expired: Istekli
+ title: Filter
title: Pozivnice
+ ip_blocks:
+ add_new: Napravi pravilo
+ created_msg: Uspešno je dodato novo IP pravilo
+ delete: Izbriši
+ expires_in:
+ '1209600': 2 nedelje
+ '15778476': 6 meseci
+ '2629746': 1 mesec
+ '31556952': 1 godina
+ '86400': 1 dan
+ '94670856': 3 godine
+ new:
+ title: Kreiraj novo IP pravilo
+ no_ip_block_selected: Nijedno IP pravilo nije promenjeno jer nijedno nije izabrano
+ title: IP pravila
+ relationships:
+ title: Odnosi korisnika %{acct}
+ relays:
+ add_new: Dodaj novi relej
+ delete: Obriši
+ description_html: "Federalni relej je posrednički server koji razmenjuje velike količine javnih truba između servera na koji je pretplaćen i na koji objavljuje.Može pomoći malim i srednjim serverima da otkriju sadržaj iz fediversa, koji inače zahteva od lokalnih korisnika da ručno pratiti ostale ljude na udaljenim serverima."
+ disable: Isključi
+ disabled: Isključen
+ enable: Uključi
+ enable_hint: Kada se omogući, vaš server će biti pretplaćen na sve javne objave sa ovog releja, i počeće da šalje javne objave ovog servera na njega.
+ enabled: Uključen
+ inbox_url: URL Releja
+ pending: Čeka se odobrenje releja
+ save_and_enable: Sačuvaj i omogući
+ setup: Podesi vezu releja
+ signatures_not_enabled: Prenosi možda neće raditi ispravno dok je uključen bezbedni režim ili režim ograničene federacije
+ status: Status
+ title: Releji
+ report_notes:
+ created_msg: Beleška prijave uspešno napravljena!
+ destroyed_msg: Beleška prijave uspešno izbrisana!
reports:
+ account:
+ notes:
+ few: "%{count} beleške"
+ one: "%{count} beleška"
+ other: "%{count} beležaka"
+ action_log: Zapisnik
action_taken_by: Akciju izveo
+ actions:
+ delete_description_html: Prijavljene objave će biti obrisane i prekršaj će biti upisan da bi Vam olakšali intervenciju prilikom budućih prestupa sa istog naloga.
+ mark_as_sensitive_description_html: Multimedijalni sadržaj sa prijavljenih objava će biti označen kao osetljiv i prekršaj će biti upisan radi lakše intervencije u slučaju daljih prekršaja sa istog naloga.
+ other_description_html: Pogledajte više opcija za kontrolisanje ponašanja naloga i prilagodite komunikaciju sa prijavljenim nalogom.
+ resolve_description_html: Nijedna radnja neće biti preduzeta protiv prijavljenog naloga, nijedan prestup nije upisan i prijava će biti zatvorena.
+ silence_description_html: Nalog će biti vidljiv samo onima koji ga već prate ili koji ga ručno potraže, što će značajno ograničiti njegov domet. Ograničenje se može povući u svakom trenutku. Zatvara sve prijave podnete protiv ovog naloga.
+ suspend_description_html: Nalog i svi njegovi sadržaji će postati nedostupni i u jednom trenutku izbrisani, a interakcija sa nalogom više neće biti moguća. Suspenzija se može povući u roku od 30 dana. Zatvara sve prijave podnete protiv ovog naloga.
+ actions_description_html: Odlučite koju radnju da sprovedete radi rešavanja ove prijave. Ukoliko sprovedete kaznenu radnju protiv prijavljenog naloga, vlasnik naloga će biti obavešten putem i-mejla, osim ukoliko oznaka „Nepoželjne poruke” nije odabrana.
+ actions_description_remote_html: Odlučite koju radnju da preduzmete radi rešavanja ove prijave. Ovo će uticati samo na to kako Vaš server komunicira sa ovim udaljenim nalogom i obrađuje njegov sadržaj.
+ add_to_report: Dodaj još u prijavu
are_you_sure: Da li ste sigurni?
+ assign_to_self: Dodeli meni
+ assigned: Dodeljeni moderator
+ by_target_domain: Domen prijavljenog naloga
+ cancel: Otkaži
+ category: Kategorija
+ category_description_html: Razlog zbog kog je ovaj nalog i/ili sadržaj prijavljen će biti obrazložen u komunikaciji sa prijavljenim nalogom
comment:
none: Ništa
- mark_as_resolved: Označi kao rešen
+ comment_description_html: 'Radi pružanja više informacija, %{name} je napisao/-la:'
+ confirm: Potvrdi
+ confirm_action: Potvrdi moderacijsku radnju prema @%{acct}
+ created_at: Prijavljena
+ delete_and_resolve: Obriši objave
+ forwarded: Prosleđeno
+ forwarded_to: Prosleđeno ka %{domain}
+ mark_as_resolved: Označi kao rešenu
+ mark_as_sensitive: Obeleži kao osetljivo
+ mark_as_unresolved: Označi kao nerešenu
+ no_one_assigned: Niko
+ notes:
+ create: Dodaj belešku
+ create_and_resolve: Reši sa beleškom
+ create_and_unresolve: Otvori ponovo sa beleškom
+ delete: Obriši
+ placeholder: Opišite kakve su radnje preduzete, ili bilo kakve povezane novosti...
+ title: Beleške
+ notes_description_html: Pročitajte i ostavite napomene drugim moderatorima i sebi u budućnosti
+ processed_msg: 'Prijava #%{id} uspešno obrađena'
+ quick_actions_description_html: 'Preduzmite brzu radnju ili se spustite niže da biste videli prijavljeni sadržaj:'
+ remote_user_placeholder: udaljeni korisnik sa %{instance}
+ reopen: Otvori prijavu ponovo
report: 'Prijava #%{id}'
reported_account: Prijavljeni nalog
reported_by: Prijavio
- resolved: Rešeni
+ resolved: Rešena
+ resolved_msg: Prijava uspešno razrešena!
+ skip_to_actions: Preskoči do radnji
+ status: Status
+ statuses: Prijavljeni sadržaj
+ statuses_description_html: Sporni sadržaj će biti naveden u komunikaciji sa prijavljenim nalogom
+ summary:
+ action_preambles:
+ delete_html: 'Upravo ćete obrisati neke od objava korisnika @%{acct}. Ovo će:'
+ mark_as_sensitive_html: 'Upravo ćete označiti neke objave korisnika @%{acct} kao osetljive. Ovo će:'
+ silence_html: 'Upravo ćete ograničiti nalog korisnika @%{acct}. Ovo će:'
+ suspend_html: 'Upravo ćete suspendovati nalog korisnika @%{acct}. Ovo će:'
+ actions:
+ delete_html: Obrišite sporne objave
+ mark_as_sensitive_html: Obeležite medije spornih objava kao osetljive
+ silence_html: Žestoko ograničite domet korisnika @%{acct} tako što ćete učiniti njegov profil i sadržaje vidljive samo ljudima koji ih već prate i ljudima koji ručno potraže profil
+ suspend_html: Suspendujte korisnika @%{acct}, što će učiniti njegov profil i sadržaje nedostupnim za pristup i interakciju
+ close_report: 'Označite prijavu #%{id} kao rešenu'
+ close_reports_html: Označi sve prijave protiv @%{acct} kao rešene
+ delete_data_html: Obriši profil i sadržaje korisnika @%{acct} za 30 dana osim ukoliko suspenzija bude povučena u međuvremenu
+ preview_preamble_html: "@%{acct} će primiti upozorenje sledeće sadržine:"
+ record_strike_html: Upišite prekršaj na ime @%{acct} da bi Vam bilo lakše da u budućnosti intervenišete prilikom daljih prestupa sa ovog naloga
+ send_email_html: Pošalji imejl upozorenja korisniku @%{acct}
+ warning_placeholder: Opciono dodatno obrazloženje za moderacijsku radnju.
+ target_origin: Poreklo prijavljenog naloga
title: Prijave
- unresolved: Nerešeni
+ unassign: Ukloni dodelu
+ unknown_action_msg: 'Nepoznata radnja: %{action}'
+ unresolved: Nerešene
+ updated_at: Ažurirana
+ view_profile: Pogledaj profil
+ roles:
+ add_new: Dodaj ulogu
+ assigned_users:
+ few: "%{count} korisnika"
+ one: "%{count} korisnik"
+ other: "%{count} korisnika"
+ categories:
+ administration: Administracija
+ devops: DevOps
+ invites: Pozivnice
+ moderation: Moderacija
+ special: Posebno
+ delete: Izbriši
+ description_html: Pomoću korisničkih uloga možete da podesite kojim funkcijama i delovima Mastodona Vaši korisnici mogu da pristupe.
+ edit: Izmeni ulogu '%{name}'
+ everyone: Podrazumevana ovlašćenja
+ everyone_full_description_html: Ovo je osnovna uloga koja se odnosi na sve korisnike, čak i one kojima nije dodeljena uloga. Sve druge uloge nasleđuju ovlašćenja od osnovne uloge.
+ permissions_count:
+ few: "%{count} dozvole"
+ one: "%{count} dozvola"
+ other: "%{count} dozvola"
+ privileges:
+ administrator: Administrator
+ administrator_description: Korisnici sa ovom privilegijom mogu da zaobiđu sva druga ograničenja
+ delete_user_data: Izbriši podatke korisnika
+ delete_user_data_description: Dopušta korisnicima da izbrišu podatke drugih korisnika bez odlaganja
+ invite_users: Pozovi korisnike
+ invite_users_description: Dopušta korisnicima da pozove nove ljude na server
+ manage_announcements: Upravljaj obaveštenjima
+ manage_announcements_description: Dopušta korisnicima da rukovode saopštenjima na serveru
+ manage_appeals: Nadgledanje žalbi
+ manage_appeals_description: Dopušta korisnicima da pregledaju žalbe na moderacijske radnje
+ manage_blocks: Nadgledanje blokova
+ manage_blocks_description: Dopušta korisnicima da blokiraju imejl provajdere i IP adrese
+ manage_custom_emojis: Nadležnost nad prilagođenim emodžijima
+ manage_custom_emojis_description: Daje korisnicima kontrolu nad prilagođenim emodžijima na serveru
+ manage_federation: Nadgledanje federacije
+ manage_federation_description: Dopušta korisnicima da blokiraju ili dozvole federaciju sa drugim domenima i kontrolišu isporučivanje podataka drugim serverima
+ manage_invites: Nadgledanje pozivnica
+ manage_invites_description: Dopušta korisnicima da pretražuju i deaktiviraju pozivnice
+ manage_reports: Nadgledanje prijava
+ manage_reports_description: Dopušta korisnicima da pregledaju prijave i izvršavaju moderacijske radnje nad njima
+ manage_roles: Upravljaj ulogama
+ manage_roles_description: Dopušta korisnicima da nadgledaju i dodeljuju uloge sa nižim ovlašćenjima od njihove
+ manage_rules: Upravljaj pravilima
+ manage_rules_description: Dozvoli korisnicima da menjaju pravila servera
+ manage_settings: Upravljaj postavkama
+ manage_settings_description: Dozvoli korisnicima da menjaju postavke sajta
+ manage_taxonomies: Nadgledanje taksonomija
+ manage_taxonomies_description: Dopušta korisnicima da pregledaju sadržaj u trendu i ažuriraju postavke heš oznaka
+ manage_user_access: Nadležnost nad korisničkim pristupom
+ manage_user_access_description: Dopušta korisnicima da onemoguće dvofaktorsku autentifikaciju drugih korisnika, menjaju im imejl adrese i resetuju im lozinke
+ manage_users: Nadležnost nad korisnicima
+ manage_users_description: Dopušta korisnicima da pročitaju detalje drugih korisnika i izvršavaju moderacijske radnje nad njima
+ manage_webhooks: Nadležnost nad webhook elementima
+ manage_webhooks_description: Dopušta korisnicima da uspostave webhook elemente za administrativne radnje
+ view_audit_log: Pročitaj zapisnik revizija
+ view_audit_log_description: Dopušta korisnicima da vide istoriju administrativnih radnji na serveru
+ view_dashboard: Pogledaj kontrolni panel
+ view_dashboard_description: Dopušta korisnicima da pristupe kontrolnom panelu i raznim metrikama
+ view_devops: DevOps
+ view_devops_description: Dopušta korisnicima da pristupe Sidekiq i pgHero kontrolnim panelima
+ title: Uloge
+ rules:
+ add_new: Dodaj pravilo
+ delete: Izbriši
+ description_html: Dok većina tvrdi da je pročitala i slaže se sa uslovima korišćenja, ljudi ih obično ne čitaju sve dok se ne javi problem. Učinite pravila Vašeg servera čitljivijim i pristupačnijim tako što ćete ih izložiti u formi liste. Potrudite se da pojedinačna pravila budu kratka i jednostavna, ali pokušajte i da ih ne iscepkate u previše odvojenih stavki.
+ edit: Uredi pravilo
+ empty: Nijedno pravilo servera još nije definisano.
+ title: Pravila servera
+ settings:
+ about:
+ manage_rules: Upravljanje pravilima servera
+ preamble: Pružite detaljne informacije o tome kako se server vodi, moderira i finansira.
+ rules_hint: Postoji predviđeno mesto za pravila koja se od korisnika očekuje da poštuju.
+ title: Naziv
+ appearance:
+ preamble: Prilagodite veb interfejs Mastodona.
+ title: Izgled
+ branding:
+ preamble: Brendiranje Vašeg servera ga izdvaja od drugih servera na mreži. Ove informacije mogu biti prikazane u raznim okruženjima, poput Mastodonovog veb interfejsa, nativnih aplikacija, u pregledima linkova na drugim serverima i u aplikacijama za razmenu poruka, itd. Iz ovog razloga, najbolje je da ove informacije budu kratke, jasne i koncizne.
+ title: Brendiranje
+ content_retention:
+ preamble: Kontrolišite kako se sadržaj generisan od strane korisnika skladišti na Mastodonu.
+ title: Zadržavanje sadržaja
+ default_noindex:
+ desc_html: Utiče na sve korisnike koji nisu sami promenili ovu postavku
+ title: Podrazumevano isključi korisnike iz indeksiranja pretraživača
+ discovery:
+ follow_recommendations: Preporuke za praćenje
+ preamble: Održavanje zanimljivih sadržaja na površini je ključno u privlačenju novih korisnika koji možda ne znaju nikoga na Mastodonu. Kontrolišite kako različiti načini istraživanja funkcionišu na Vašem serveru.
+ profile_directory: Direktorijum profilâ
+ public_timelines: Javne vremenske linije
+ publish_discovered_servers: Objavi otkrivene servere
+ publish_statistics: Objavi statistiku
+ title: Otkrivanje
+ trends: Trendovi
+ domain_blocks:
+ all: Svima
+ disabled: Nikome
+ users: Prijavljenim lokalnim korisnicima
+ registrations:
+ preamble: Kontrolišite ko sme da napravi nalog na Vašem serveru.
+ title: Registracije
+ registrations_mode:
+ modes:
+ approved: Odobrenje neophodno za registraciju
+ none: Niko ne može da se registruje
+ open: Bilo ko može da se registruje
+ title: Podešavanja servera
+ site_uploads:
+ delete: Obriši otpremljeni fajl
+ destroyed_msg: Otpremanje uspešno obrisano!
statuses:
+ account: Autor
+ application: Aplikacija
back_to_account: Nazad na stranu naloga
+ back_to_report: Nazad na stranicu sa prijavama
+ batch:
+ remove_from_report: Uklonite iz prijave
+ report: Prijavi
+ deleted: Obrisano
+ favourites: Omiljeno
+ history: Istorija verzijâ
+ in_reply_to: Odgovor na
+ language: Jezik
media:
title: Multimedija
+ metadata: Meta podaci
+ no_status_selected: Nijedan status nije promenjen jer nijedan nije izabran
+ open: Otvori objavu
+ original_status: Originalna objava
+ reblogs: Deljenja
+ status_changed: Objava promenjena
title: Statusi naloga
+ trending: U trendu
+ visibility: Vidljivost
with_media: Sa multimedijom
+ strikes:
+ actions:
+ delete_statuses: "%{name} je obrisao/-la objave %{target}"
+ disable: "%{name} je zamrznuo nalog korisnika %{target}"
+ mark_statuses_as_sensitive: "%{name} je označio/-la objave korisnika %{target} kao osetljive"
+ none: "%{name} je poslao/-la upozorenje korisniku %{target}"
+ sensitive: "%{name} je obeležio/-la nalog %{target} kao osetljiv"
+ silence: "%{name} je ograničio/-la nalog %{target}"
+ suspend: "%{name} je suspendovao/-la nalog %{target}"
+ appeal_approved: Žalba uvažena
+ appeal_pending: Žalba u razmatranju
+ appeal_rejected: Žalba odbijena
+ system_checks:
+ database_schema_check:
+ message_html: Selidbe bazâ podataka su na čekanju. Molimo Vas obavite ih da bi se aplikacija ponašala kako treba
+ elasticsearch_running_check:
+ message_html: Povezivanje na Elasticsearch nije bilo moguće. Molimo Vas proverite da li je pokrenut, ili onemogućite pretragu celog teksta
+ elasticsearch_version_check:
+ message_html: 'Neusklađena Elasticsearch verzija: %{value}'
+ version_comparison: Elasticsearch %{running_version} je instaliran a %{required_version} je neophodan
+ rules_check:
+ action: Upravljanje pravilima servera
+ message_html: Niste definisali nijedno pravilo servera.
+ sidekiq_process_check:
+ message_html: Nijedan Sidekiq proces nije pokrenut za red(ove) %{value}. Molimo Vas pregledajte svoju Sidekiq konfiguraciju
+ tags:
+ review: Pregledaj status
+ updated_msg: Podešavanja heš oznaka uspešno ažurirana
title: Administracija
+ trends:
+ allow: Dozvoli
+ approved: Odobreno
+ disallow: Zabrani
+ links:
+ allow: Dozvoli link
+ allow_provider: Dozvoli izdavača
+ description_html: Ovo su linkovi koji se trenutno često dele među nalozima koje Vaš server vidi. Može pomoći Vašim korisnicima da saznaju šta se dešava u svetu. Nijedan link nije javno prikazan sve dok Vi ne odobrite izdavača. Takođe možete da dozvolite ili odbijete zasebne linkove.
+ disallow: Zabrani link
+ disallow_provider: Zabrani izdavača
+ no_link_selected: Nijedan link nije promenjen jer nijedan nije izabran
+ publishers:
+ no_publisher_selected: Nijedan izdavač nije promenjen jer nijedan nije izabran
+ shared_by_over_week:
+ few: Podeljen od strane %{count} osobe tokom prethodne nedelje
+ one: Podeljen od strane jedne osobe tokom prethodne nedelje
+ other: Podeljen od strane %{count} osoba tokom prethodne nedelje
+ title: Linkovi u trendu
+ usage_comparison: Podeljeno %{today} puta danas, u poređenju sa %{yesterday} puta juče
+ not_allowed_to_trend: Nije odobreno za trend
+ only_allowed: Samo dozvoljeno
+ pending_review: Pregled na čekanju
+ preview_card_providers:
+ allowed: Linkovi sa ovog izvora mogu da budu „u trendu”
+ description_html: Ovo su domeni čiji se linkovi često dele na Vašem serveru. Linkovi neće biti javno prikazani kao „u trendu” osim ukoliko je domen linkova odobren. Vaše odobrenje (ili odbijanje) se prenosi i na poddomene.
+ rejected: Linkovi sa ovog izvora neće biti „u trendu”
+ title: Izdavači
+ rejected: Odbijen
+ statuses:
+ allow: Dozvoli objavu
+ allow_account: Odobri autora
+ description_html: Ovo su objave za koje Vaš server zna, a koje se trenutno često dele i koje korisnici često stavljaju u „omiljene”. Mogu pomoći Vašim novim korisnicima i povratnicima da pronađu još ljudi za praćenje. Nijedna objava nije prikazana javno sve dok Vi ne odobrite autora, odnosno dok autor ne dozvoli da njegov/njen nalog bude preporučen drugima. Takođe možete da odobrite ili odbijete zasebne objave.
+ disallow: Zabrani objavu
+ disallow_account: Zabrani autora
+ no_status_selected: Nijedna objava u trendu nije promenjena jer nijedna nije izabrana
+ not_discoverable: Autor nije dao saglasnost da bude preporučen
+ shared_by:
+ few: Podeljeno i stavljeno u „omiljene” %{friendly_count} puta
+ one: Podeljeno ili stavljeno u „omiljene” jednom
+ other: Podeljeno i stavljeno u „omiljene” %{friendly_count} puta
+ title: Objave u trendu
+ tags:
+ current_score: Trenutna vrednost %{score}
+ dashboard:
+ tag_accounts_measure: jedinstvene upotrebe
+ tag_languages_dimension: Najzastupljeniji jezici
+ tag_servers_dimension: Najaktivniji serveri
+ tag_servers_measure: različiti serveri
+ tag_uses_measure: ukupno upotreba
+ description_html: Ovo su heš oznake koje se trenutno često pojavljuju u objavama koje Vaš server vidi. Mogu pomoći Vašim korisnicima da otkriju o čemu se trenutno najviše govori. Nijedna heš oznaka nije prikazana javno sve dok Vi to ne odobrite.
+ listable: Može se preporučiti
+ no_tag_selected: Nijedna oznaka nije izmenjena jer nijedna nije izabrana
+ not_listable: Neće biti preporučeno
+ not_trendable: Neće se pojavljivati u trendovima
+ not_usable: Ne može se koristiti
+ peaked_on_and_decaying: Vrhunac dostignut datuma %{date}, od tada u opadanju
+ title: Heš oznake u trendu
+ trendable: Može da se pojavi pod trendovima
+ trending_rank: 'U trendu #%{rank}'
+ usable: Može se koristiti
+ usage_comparison: Upotrebljeno %{today} puta danas, u poređenju sa %{yesterday} puta juče
+ used_by_over_week:
+ few: Korišćeno od strane %{count} osobe tokom prethodne nedelje
+ one: Korišćeno od strane jedne osobe tokom prethodne nedelje
+ other: Korišćeno od strane %{count} ljudi tokom prethodne nedelje
+ title: Trendovi
+ trending: U trendu
+ warning_presets:
+ add_new: Dodaj novi
+ delete: Izbriši
+ edit_preset: Uredi preset upozorenja
+ empty: Još uvek niste definisali nijedan šablon upozorenja.
+ title: Upravljaj presetima upozorenja
+ webhooks:
+ add_new: Dodaj krajnju tačku
+ delete: Izbriši
+ description_html: "Webhook omogućava Mastodonu da Vašoj aplikaciji isporučuje obaveštenja u realnom vremenu o odabranim događajima, tako da Vaša aplikacija može da automatski izazove reakciju."
+ disable: Onemogući
+ disabled: Onemogućeno
+ edit: Izmeni krajnju tačku
+ empty: Još uvek nemate nijednu konfigurisanu webhook krajnju tačku.
+ enable: Omogući
+ enabled: Aktivno
+ enabled_events:
+ few: "%{count} omogućena događaja"
+ one: 1 omogućen događaj
+ other: "%{count} omogućenih događaja"
+ events: Događaji
+ new: Novi webhook
+ rotate_secret: Rotacija tajni
+ secret: Tajno potpisivanje
+ status: Status
+ title: Veb-presretač
+ webhook: Veb-presretač
admin_mailer:
+ new_appeal:
+ actions:
+ delete_statuses: obrisati objave korisnika
+ disable: zamrznuti nalog korisnika
+ mark_statuses_as_sensitive: označiti objave korisnika kao osetljive
+ none: upozorenje
+ sensitive: označiti nalog kao osetljiv
+ silence: ograničiti nalog
+ suspend: suspendovati nalog
+ body: "%{target} prilaže žalbu na moderacijsku odluku korisnika %{action_taken_by} od %{date}, koja je glasila %{type}. U žalbi piše:"
+ next_steps: Možete uvažiti žalbu da biste povukli moderacijsku odluku, ili je možete ignorisati.
+ subject: "%{username} prilaže žalbu na moderacijsku odluku sa %{instance}"
+ new_pending_account:
+ body: Detalji novog naloga su navedeni dole. Možete odobriti ili odbiti ovaj zahtev.
+ subject: Nov nalog za pregled na %{instance} (%{username})
new_report:
body: "%{reporter} je prijavio %{target}"
+ body_remote: Neka sa domena %{domain} je prijavio %{target}
subject: Nova prijava za %{instance} (#%{id})
+ new_trends:
+ body: 'Sledeće stavke je potrebno pregledati pre nego što mogu javno da se prikažu:'
+ new_trending_links:
+ title: Linkovi u trendu
+ new_trending_statuses:
+ title: Objave u trendu
+ new_trending_tags:
+ no_approved_tags: Trenutno nema odobrenih heš oznaka u trendu.
+ requirements: 'Bilo koji od sledećih kandidata bi mogao prevazići #%{rank} odobrenu heš oznaku u trendu, koja je trenutno #%{lowest_tag_name} sa vrednošću %{lowest_tag_score}.'
+ title: Heš oznake u trendu
+ subject: Novi trendovi za pregled na %{instance}
+ aliases:
+ add_new: Napravi pseudonim
+ created_msg: Uspešno je napravljen novi pseudonim. Sada možete inicirati preseljenje sa starog naloga.
+ deleted_msg: Uspešno je uklonjen pseudonim. Premeštanje sa tog naloga na ovaj više neće biti moguće.
+ empty: Nemate nijedan pseudonim.
+ hint_html: Ako želite da se preselite sa drugog naloga na ovaj, ovde možete napraviti pseudonim, koji je neophodan pre nego što možete nastaviti sa prebacivanjem pratilaca sa starog naloga na ovaj. Ova radnja sama po sebi je bezopasna i reverzibilna. Preseljenje naloga se inicira sa starog naloga.
+ remove: Odveži pseudonim
+ appearance:
+ advanced_web_interface: Napredno veb okruženje
+ advanced_web_interface_hint: 'Ako želite da iskoristite celu širinu ekrana, napredno veb okruženje vam omogućuje da konfigurišete mnogo različitih kolona da biste videli onoliko informacija u isto vreme koliko želite: početnu stranicu, obaveštenja, združenu vremensku liniju, bilo koji broj lista i heš oznaka.'
+ animations_and_accessibility: Animacije i pristupačnost
+ confirmation_dialogs: Dijalozi potvrde
+ discovery: Otkrivanje
+ localization:
+ body: Mastodon prevode dobrovoljci.
+ guide_link: https://crowdin.com/project/mastodon
+ guide_link_text: Svako može doprineti.
+ sensitive_content: Osetljiv sadržaj
+ toot_layout: Raspored objava
application_mailer:
+ notification_preferences: Promeni preference E-pošte
+ salutation: Poštovani %{name},
settings: 'Promeni podešavanja e-pošte: %{link}'
view: 'Pogledaj:'
+ view_profile: Pogledaj nalog
+ view_status: Pogledaj status
applications:
created: Aplikacija uspešno napravljena
destroyed: Aplikacija uspešno obrisana
+ logout: Odjava
regenerate_token: Rekreiraj pristupni token
token_regenerated: Pristupni token uspešno rekreiran
warning: Oprezno sa ovim podacima. Nikad je ne delite ni sa kim!
your_token: Vaš pristupni token
auth:
- delete_account: Obriši nalog
- delete_account_html: Ako želite da obrišete Vaš nalog, možete nastaviti ovde. Bićete upitani da potvrdite.
+ apply_for_account: Zatražite nalog
+ change_password: Lozinka
+ confirmations:
+ wrong_email_hint: Ako ta imejl adresa nije ispravna, možete je promeniti u podešavanjima naloga.
+ delete_account: Brisanje naloga
+ delete_account_html: Ako želite da izbrišete vaš nalog, možete nastaviti ovde. Od vas će se tražiti potvrda.
+ description:
+ prefix_invited_by_user: "@%{name} Vas poziva da se pridružite ovom serveru Mastodona!"
+ prefix_sign_up: Pridružite se Mastodonu danas!
+ suffix: Sa nalogom, moći ćete da pratite ljude, objavljujete novosti i razmenjujete poruke sa korisnicima bilo kog Mastodon servera i više!
didnt_get_confirmation: Niste dobili poruku sa uputstvima za potvrdu naloga?
+ dont_have_your_security_key: Nemate sigurnosni ključ?
forgot_password: Zaboravili ste lozinku?
invalid_reset_password_token: Token za resetovanje lozinke je neispravan ili je istekao. Zatražite novi.
+ link_to_otp: Unesite dvofaktorski kod sa svog telefona ili rezervni kod
+ link_to_webauth: Koristite svoj sigurnosni ključ
+ log_in_with: Prijavite se pomoću
login: Prijavi se
logout: Odjava
- migrate_account: Pomeri u drugi nalog
+ migrate_account: Premeštanje u drugi nalog
migrate_account_html: Ako želite da preusmerite ovaj nalog na neki drugi, možete to podesiti ovde.
+ or_log_in_with: Ili se prijavite sa
+ privacy_policy_agreement_html: Pročitao/-la sam i saglasan/-a sam sa politikom privatnosti
+ providers:
+ cas: CAS-om
+ saml: SAML-om
register: Registruj se
+ registration_closed: "%{instance} ne prima nove članove"
resend_confirmation: Pošalji poruku sa uputstvima o potvrdi naloga ponovo
reset_password: Resetuj lozinku
+ rules:
+ accept: Prihvati
+ back: Nazad
+ preamble: Ovo su pravila koja su uspostavili i koja sprovode moderatori servera %{domain}.
+ title: Neka osnovna pravila.
security: Bezbednost
set_new_password: Postavi novu lozinku
+ setup:
+ email_below_hint_html: Ako je imejl adresa ispod neispravna, možete je promeniti ovde i dobiti novi imejl potvrde.
+ email_settings_hint_html: Imejl potvrde je poslat na %{email}. Ako ta imejl adresa nije ispravna, možete je promeniti u podešavanjima naloga.
+ title: Postavljanje
+ sign_in:
+ preamble_html: Prijavite se sa svojim podacima za %{domain}. Ako se Vaš nalog nalazi na drugom serveru, nećete moći da se prijavite ovde.
+ title: Prijavite se na %{domain}
+ sign_up:
+ preamble: Sa nalogom na ovom Mastodon serveru, moći ćete da pratite bilo koga sa mreže, bez obzira na to na kom serveru se njegov/njen nalog nalazi.
+ title: Hajde da Vam namestimo nalog na %{domain}.
+ status:
+ account_status: Status naloga
+ confirming: Čekanje na potvrdu putem imejla.
+ functional: Vaš nalog je potpuno operativan.
+ pending: Vaš zahtev je na čekanju za pregled od strane našeg osoblja. Ovo može potrajati neko vreme. Primićete imejl poruku ukoliko Vam zahtev bude odobren.
+ redirecting_to: Vaš nalog je neaktivan jer preusmerava na %{acct}.
+ view_strikes: Pogledajte prethodne prestupe upisane na Vaše ime
+ too_fast: Formular je podnet prebrzo, pokušajte ponovo.
+ use_security_key: Koristite sigurnosni ključ
authorize_follow:
+ already_following: Već pratite ovaj nalog
+ already_requested: Već ste poslali zahtev za praćenje tom nalogu
error: Nažalost, desila se greška pri traženju udaljenog naloga
follow: Zaprati
follow_request: 'Poslali ste zahtev za praćenjen za:'
following: 'Sjajno! Sada pratite:'
post_follow:
close: Ili možete zatvoriti ovaj prozor.
- return: Vrati se na profil ovog korisnika
+ return: Vrati se na nalog ovog korisnika
web: Idi na veb
title: Zaprati %{acct}
+ challenge:
+ confirm: Nastavi
+ hint_html: "Savet: Nećemo Vas pitati za lozinku ponovo u narednih sat vremena."
+ invalid_password: Neispravna lozinka
+ prompt: Potvrdite lozinku za nastavak
+ crypto:
+ errors:
+ invalid_key: nije validan Ed25519 ili Curve25519 ključ
+ invalid_signature: nije validan Ed25519 potpis
+ date:
+ formats:
+ default: "%d. %b. %Y."
+ with_month_name: "%d. %B %Y."
datetime:
distance_in_words:
+ about_x_hours: "%{count} č."
about_x_months: "%{count}mesec"
about_x_years: "%{count}god"
almost_x_years: "%{count}god"
half_a_minute: Upravo sad
+ less_than_x_minutes: "%{count} min."
less_than_x_seconds: Upravo sad
over_x_years: "%{count}god"
+ x_days: "%{count}d"
+ x_minutes: "%{count} min."
x_months: "%{count}mesec"
+ x_seconds: "%{count} sek."
deletes:
+ challenge_not_passed: Lozinka koju ste uneli nije bila ispravna
confirm_password: Unesite trenutnu lozinku da bismo proverili Vaš identitet
+ confirm_username: Unesite svoje korisničko ime da biste potvrdili proceduru
proceed: Obriši nalog
success_msg: Vaš nalog je uspešno obrisan
+ warning:
+ before: 'Pre nego što nastavite, molimo Vas pažljivo pročitajte sledeće napomene:'
+ caches: Sadržaj koji je keširan na drugim serverima može da ostane netaknut
+ data_removal: Vaše objave i drugi podaci će biti trajno izbrisani
+ email_change_html: Možete promeniti svoju imejl adresu bez brisanja svog naloga
+ email_contact_html: Ako poruka i dalje ne stiže, možete poslati mejl na %{email} za pomoć
+ email_reconfirmation_html: Ukoliko Vam imejl za potvrdu ne stiže, možete ga ponovo zatražiti
+ irreversible: Nećete biti u mogućnosti da vratite ili reaktivirate svoj nalog
+ more_details_html: Za više detalja, pogledajte politiku privatnosti.
+ username_available: Vaše korisničko ime će ponovo postati dostupno
+ username_unavailable: Vaše korisničko ime će ostati nedostupno
+ disputes:
+ strikes:
+ action_taken: Radnja preduzeta
+ appeal: Žalba
+ appeal_approved: Žalba na ovaj prestup je uvažena i prestup više nije validan
+ appeal_rejected: Žalba je odbijena
+ appeal_submitted_at: Žalba je priložena
+ appealed_msg: Vaša žalba je priložena. Bićete obavešteni ukoliko ona bude bila uvažena.
+ appeals:
+ submit: Priloži žalbu
+ approve_appeal: Uvaži žalbu
+ associated_report: Srodna prijava
+ created_at: Datum
+ description_html: Ovo su radnje preduzete protiv Vašeg naloga i upozorenja koja su Vam poslali članovi osoblja %{instance}.
+ recipient: Usmereno prema
+ reject_appeal: Odbij žalbu
+ status: 'Objava #%{id}'
+ status_removed: Objava je već uklonjena iz sistema
+ title: "%{action} od %{date}"
+ title_actions:
+ delete_statuses: Brisanje objava
+ disable: Zamrzavanje naloga
+ mark_statuses_as_sensitive: Označavanje objava kao osetljivih
+ none: Upozorenje
+ sensitive: Označavanje naloga kao osetljivog
+ silence: Ograničenje naloga
+ suspend: Suspenzija naloga
+ your_appeal_approved: Vaša žalba je uvažena
+ your_appeal_pending: Priložili ste žalbu
+ your_appeal_rejected: Vaša žalba je odbijena
+ domain_validator:
+ invalid_domain: nelegitimno ime domena
errors:
- '400': The request you submitted was invalid or malformed.
+ '400': Zahtev koji ste podneli je bio nelegitiman ili u pogrešnom formatu.
'403': Nemate dozvola da vidite ovu stranu.
'404': Strana koju ste tražili ne postoji.
- '406': This page is not available in the requested format.
+ '406': Ova stranica nije dostupna u izabranom formatu.
'410': Strana koju ste tražili više ne postoji.
+ '422':
+ content: Bezbedonosna provera nije uspela. Da ne blokirate kolačiće?
+ title: Bezbedonosna provera nije uspela
'429': Uspored
'500':
content: Izvinjavamo se, nešto je pošlo po zlu sa ove strane.
title: Strana nije ispravna
- '503': The page could not be served due to a temporary server failure.
+ '503': Stranicu nije bilo moguće dostaviti usled privremenog pada servera.
noscript_html: Da biste koristili Mastodont veb aplikaciju, omogućite JavaScript. U suprotnom, probajte neku od originalnih aplikacija za Mastodont za Vašu platformu.
+ existing_username_validator:
+ not_found: nije bilo moguće pronaći lokalnog korisnika sa tim korisničkim imenom
+ not_found_multiple: nije bilo moguće pronaći %{usernames}
exports:
+ archive_takeout:
+ date: Datum
+ download: Preuzmite Vašu arhivu
+ hint_html: Možete zatražiti arhivu vaših objava i otpremljenih medija. Izvezeni podaci će biti u ActivityPub formatu, koji može čitati bilo koji kompatibilan softver. Arhivu možete zatražiti svakih 7 dana.
+ in_progress: Sastavljanje vaše arhive...
+ request: Zatražite svoju arhivu
+ size: Veličina
blocks: Blokirali ste
- mutes: Ućutkali ste
+ bookmarks: Obeleživači
+ csv: CSV
+ domain_blocks: Blokovi domena
+ lists: Liste
+ mutes: Ignorišete
storage: Multimedijalno skladište
+ featured_tags:
+ add_new: Dodaj novu
+ errors:
+ limit: Već ste istakli maksimalan broj heš oznaka
+ hint_html: "Šta su istaknute heš onake? One se prikazuju istaknuto na vašem javnom profilu i omogućuju ljudima da pregledaju vaše javne objave konkretno pod tim heš oznakama. One su sjajan alat za praćenje kreativnih radova ili dugoročnih projekata."
+ filters:
+ contexts:
+ account: Profili
+ home: Vremenska linija početne
+ notifications: Obaveštenja
+ public: Javne vremenske linije
+ thread: Razgovori
+ edit:
+ add_keyword: Dodaj ključnu reč
+ keywords: Ključne reči
+ statuses: Zasebne objave
+ statuses_hint_html: Ovaj filter važi za odabrane zasebne objave bez obzira na to da li sadrže ključne reči navedene ispod. Pregledajte ili uklonite objave iz filtera.
+ title: Izmeni filter
+ errors:
+ deprecated_api_multiple_keywords: Ovi parametri ne mogu biti promenjeni u ovoj aplikaciji zato što se odnose na više od jedne ključne reči. Koristite ažurniju aplikaciju ili veb interfejs.
+ invalid_context: Nijedan ili nevažeći kontekst isporučen
+ index:
+ contexts: Filtrira u %{contexts}
+ delete: Izbriši
+ empty: Nemate filtere.
+ expires_in: Ističe za %{distance}
+ expires_on: Ističe datuma %{date}
+ keywords:
+ few: "%{count} ključne reči"
+ one: "%{count} ključna reč"
+ other: "%{count} ključnih reči"
+ statuses:
+ few: "%{count} objave"
+ one: "%{count} objava"
+ other: "%{count} objava"
+ statuses_long:
+ few: "%{count} zasebne objave sakrivene"
+ one: "%{count} zasebna objava sakrivena"
+ other: "%{count} zasebnih objava sakriveno"
+ title: Filteri
+ new:
+ save: Sačuvaj novi filter
+ title: Dodaj novi filter
+ statuses:
+ back_to_filter: Nazad na filter
+ batch:
+ remove: Ukloni iz filtera
+ index:
+ hint: Ovaj filter važi za odabrane zasebne objave bez obzira na druge kriterijume. Možete da dodate više objava u ovaj filter putem veb interfejsa.
+ title: Filtrirane objave
generic:
+ all: Svi
+ all_items_on_page_selected_html:
+ few: Sve %{count} stavke sa ove stranice su izabrane.
+ one: "%{count} stavka sa ove stranice je izabrana."
+ other: Svih %{count} stavki sa ove stranice je izabrano.
+ all_matching_items_selected_html:
+ few: Sve %{count} stavke koje se poklapaju sa Vašom pretragom su izabrane.
+ one: "%{count} stavka koja se poklapa sa Vašom pretragom je izabrana."
+ other: Svih %{count} stavki koje se poklapaju sa Vašom pretragom su izabrane.
changes_saved_msg: Izmene uspešno sačuvane!
- save_changes: Snimi izmene
+ copy: Kopiraj
+ delete: Izbriši
+ deselect: Poništi sve izbore
+ none: Nijedna
+ order_by: Sortiraj prema
+ save_changes: Sačuvaj promene
+ select_all_matching_items:
+ few: Odaberite sve %{count} stavke koje se poklapaju sa Vašom pretragom.
+ one: Odaberite %{count} stavku koja se poklapa sa Vašom pretragom.
+ other: Odaberite svih %{count} stavki koje se poklapaju sa Vašom pretragom.
+ today: danas
validation_errors:
few: Nešto nije baš kako treba! Pregledajte %{count} greške ispod
one: Nešto nije baš kako treba! Pregledajte greške ispod
other: Nešto nije baš kako treba! Pregledajte %{count} grešaka ispod
imports:
+ errors:
+ invalid_csv_file: 'Neispravan CSV fajl. Greška: %{error}'
+ over_rows_processing_limit: sadrži više od %{count} redova
+ modes:
+ merge: Stapanje
+ merge_long: Zadržite postojeće zapise i dodajte nove
+ overwrite: Zameni
+ overwrite_long: Zameni trenutne zapise novima
preface: Možete uvesti podatke koje ste izvezli sa druge instance, kao što su liste ljudi koje ste pratili ili blokirali.
success: Vaši podaci su uspešno otpremljeni i biće obrađeni uskoro
types:
blocking: Lista blokiranja
+ bookmarks: Obeleživači
+ domain_blocking: Lista blokiranih domena
following: Lista pratilaca
muting: Lista ućutkanih
upload: Otpremi
@@ -242,10 +1269,11 @@ sr-Latn:
'21600': 6 sati
'3600': 1 sad
'43200': 12 sati
- '604800': 1 week
+ '604800': 1 nedelja
'86400': 1 dan
expires_in_prompt: Nikad
generate: Generiši
+ invited_by: 'Pozvao Vas je:'
max_uses:
few: "%{count} korišćenja"
one: 1 korišćenje
@@ -255,100 +1283,460 @@ sr-Latn:
table:
expires_at: Ističe
uses: Korišćenja
- title: Pozovi ljude
+ title: Pozovite ljude
+ lists:
+ errors:
+ limit: Dostigli ste maksimalni broj listâ
+ login_activities:
+ authentication_methods:
+ otp: aplikacija za dvofaktorsku autentifikaciju
+ password: lozinka
+ sign_in_token: imejl sigurnosni kod
+ webauthn: sigurnosni ključevi
+ description_html: Ukoliko primetite aktivnost koju ne prepoznajete, razmislite o tome da promenite svoju lozinku i uključite dvofaktorsku autentifikaciju.
+ empty: Istorija autentifikacije nije dostupna
+ failed_sign_in_html: Neuspešan pokušaj prijavljivanja putem %{method} sa %{ip} (%{browser})
+ successful_sign_in_html: Uspešan pokušaj prijavljivanja putem %{method} sa %{ip} (%{browser})
+ title: Istorija autentifikacije
media_attachments:
validations:
images_and_video: Ne može da se prikači video na status koji već ima slike
+ not_ready: Ne mogu se priložiti fajlovi koji još uvek nisu obrađeni. Pokušajte ponovo za koji trenutak!
too_many: Ne može se prikačiti više od 4 fajla
migrations:
acct: korisnik@domen novog naloga
+ cancel: Otkaži preusmerenje
+ cancel_explanation: Otkazivanje preusmerenja će ponovo aktivirati Vaš sadašnji nalog, ali neće vratiti pratioce koji su premešteni na drugi nalog.
+ cancelled_msg: Uspešno je otkazano preusmerenje.
+ errors:
+ already_moved: već ste se preselili na isti nalog
+ missing_also_known_as: nije pseudonim ovog naloga
+ move_to_self: ne možete se preseliti na sadašnji nalog
+ not_found: nije bilo moguće pronaći nalog
+ on_cooldown: Pod ograničenjem ste
+ followers_count: Pratioci u trenutku premeštaja
+ incoming_migrations: Premeštanje iz drugog naloga
+ incoming_migrations_html: Da biste prešli sa drugog naloga na ovaj, prvo morate kreirate pseudonim naloga.
+ moved_msg: Vaš nalog sada preusmerava na %{acct} i Vaši pratioci se trenutno prebacuju.
+ not_redirecting: Vaš nalog trenutno ne preusmerava ni na jedan drugi nalog.
+ on_cooldown: Nedavno ste se preselili na novi nalog. Ova funkcija će Vam ponovo postati dostupna za %{count} dana.
+ past_migrations: Prethodne selidbe
+ proceed_with_move: Prebacite pratioce
+ redirected_msg: Vaš nalog sada preusmerava na %{acct}.
+ redirecting_to: Vaš nalog preusmerava na %{acct}.
+ set_redirect: Postavi preusmerenje
+ warning:
+ backreference_required: Novi nalog prvo mora biti konfigurisan tako da referiše na ovaj nalog
+ before: 'Pre nego što nastavite, molimo Vas pažljivo pročitajte sledeće napomene:'
+ cooldown: Nakon preseljenja potrebno je da prođe određeno vreme pre nego što ćete ponovo moći da se preselite
+ disabled_account: Vaš trenutni nalog više neće biti upotrebljiv. Međutim, imaćete pristup izvozu podataka kao i reaktivaciji.
+ followers: Ova radnja će premestiti sve pratioce sa trenutnog naloga na novi nalog
+ only_redirect_html: Umesto preseljenja, možete samo dodati preusmeravajući link na svoj profil..
+ other_data: Ostali podaci neće biti automatski prebačeni
+ redirect: Profil Vašeg sadašnjeg naloga će biti ažuriran sa obaveštenjem o preusmerenju i biće isključen iz pretrage
moderation:
title: Moderacija
+ move_handler:
+ carry_blocks_over_text: Ovaj korisnik se preselio sa naloga %{acct}, koji ste blokirali.
+ carry_mutes_over_text: Ovaj korisnik se preselio sa naloga %{acct}, koji ste utišali.
+ copy_account_note_text: 'Ovaj korisnik se preselio sa naloga %{acct}, o kome ste zapisali sledeće beleške:'
+ navigation:
+ toggle_menu: Prikaži/sakrij meni
notification_mailer:
+ admin:
+ report:
+ subject: "%{name} je podneo/-la prijavu"
+ sign_up:
+ subject: "%{name} se registrovao/-la"
favourite:
body: "%{name} je postavio kao omiljen Vaš status:"
subject: "%{name} je postavio kao omiljen Vaš status"
+ title: Novi omiljeni
follow:
body: "%{name} Vas je zapratio!"
subject: "%{name} Vas je zapratio"
+ title: Novi pratioc
follow_request:
+ action: Upravljajte zahtevima za praćenje
body: "%{name} je zatražio da Vas zaprati"
subject: 'Pratioci na čekanju: %{name}'
+ title: Novi zahtev za praćenje
mention:
+ action: Odgovori
body: "%{name} Vas je pomenuo u:"
subject: "%{name} Vas je pomenuo"
+ title: Novo spominjanje
+ poll:
+ subject: Anketa korisnika %{name} se završila
reblog:
- body: "%{name} Vam je podržao(la) status:"
- subject: "%{name} je podržao(la) Vaš status"
+ body: "%{name} Vam je podržao/la status:"
+ subject: "%{name} je podržao/la Vaš status"
+ title: Nova podrška
+ status:
+ subject: "%{name} je upravo postavio/-la objavu"
+ update:
+ subject: "%{name} je izmenio/-la objavu"
+ notifications:
+ email_events: Događaji za obaveštenja e-poštom
+ email_events_hint: 'Izaberite dešavanja za koja želite da primate obaveštenja:'
+ other_settings: Ostala podešavanja obaveštenja
+ number:
+ human:
+ decimal_units:
+ format: "%n %u"
+ units:
+ billion: mlrd.
+ million: mil.
+ quadrillion: tril.
+ thousand: hilj.
+ trillion: bil.
+ otp_authentication:
+ code_hint: Ukucajte kod generisan u Vašoj aplikaciji za autentifikaciju da biste potvrdili
+ description_html: Ako uključite dvofaktorsku autentifikaciju putem aplikacije za autentifikaciju, moraćete da budete pri telefonu prilikom prijavljivanja da biste imali pristup generisanim kodovima za prijavu.
+ enable: Omogući
+ instructions_html: "Skenirajte ovaj QR kod pomoću Google autentifikatora ili slične aplikacije na svom telefonu. Od sada pa ubuduće, ta aplikacija će generisati pristupne kodove koje ćete morati da unesete prilikom prijavljivanja."
+ manual_instructions: 'Ako ne možete da skenirate QR kod i morate da ga unesete ručno, evo njegove tekstualne šifre:'
+ setup: Instalacija
+ wrong_code: Uneseni kod je bio neispravan! Da li su vreme servera i vreme uređaja ispravni?
pagination:
- next: Sledeći
+ newer: Novije
+ next: Sledeće
+ older: Starije
prev: Prethodni
+ truncate: "…"
+ polls:
+ errors:
+ already_voted: Već ste glasali u ovoj anketi
+ duplicate_options: sadrži duplikate
+ duration_too_long: previše je daleko u budućnosti
+ duration_too_short: previše je skoro
+ expired: Anketa je već završena
+ invalid_choice: Izabrana opcija ne postoji
+ over_character_limit: ne može biti duže od po %{max} karaktera
+ too_few_options: mora imati više od jedne opcije
+ too_many_options: ne može da sadrži više od %{max} opcija
+ preferences:
+ other: Ostalo
+ posting_defaults: Podrazumevana podešavanja objavljivanja
+ public_timelines: Javne vremenske linije
+ privacy_policy:
+ title: Politika privatnosti
+ reactions:
+ errors:
+ limit_reached: Dostignuto je ograničenje različitih reakcija
+ unrecognized_emoji: nije prepoznat emodži
+ relationships:
+ activity: Aktivnost naloga
+ confirm_follow_selected_followers: Da li ste sigurni da želite da pratite izabrane pratioce?
+ confirm_remove_selected_followers: Da li ste sigurni da želite da uklonite izabrane pratioce?
+ confirm_remove_selected_follows: Da li ste sigurni da želite da uklonite izabrana praćenja?
+ dormant: Neaktivan
+ follow_failure: Nije moguće pratiti neke od izabranih naloga.
+ follow_selected_followers: Prati izabrane pratioce
+ followers: Pratioci
+ following: Praćenja
+ invited: Pozvan
+ last_active: Poslednji put aktivan
+ most_recent: Najnoviji
+ moved: Premešten
+ mutual: Zajednički
+ primary: Primarni
+ relationship: Odnos
+ remove_selected_domains: Ukloni sve pratioce sa izabranih domena
+ remove_selected_followers: Ukloni izabrane pratioce
+ remove_selected_follows: Otprati izabrane korisnike
+ status: Status naloga
remote_follow:
missing_resource: Ne mogu da nađem zahtevanu adresu preusmeravanja za Vaš nalog
+ reports:
+ errors:
+ invalid_rules: ne referiše na legitimna pravila
+ rss:
+ content_warning: 'Upozorenje o sadržaju:'
+ descriptions:
+ account: Javne objave sa @%{acct}
+ tag: 'Javne objave označene sa #%{hashtag}'
+ scheduled_statuses:
+ over_daily_limit: Prekoračili ste granicu od %{limit} planiranih objava za danas
+ over_total_limit: Prekoračili ste granicu od %{limit} planiranih objava
+ too_soon: Planirani datum mora biti u budućnosti
sessions:
activity: Poslednja aktivnost
browser: Veb čitač
browsers:
- chrome: Hrom
+ alipay: Alipej
+ blackberry: Blekberi
+ chrome: Chrome
+ edge: Majkrosoft Edž
+ electron: Elektron
+ firefox: Fajerfoks
generic: Nepoznati veb čitač
+ huawei_browser: Huawei pregledač
+ ie: Internet Eksplorer
+ micro_messenger: MajkroMesendžer
+ nokia: Nokija S40 Ovi Pretraživač
+ opera: Opera
+ otter: Oter
+ phantom_js: FantomDžejEs
+ qq: KjuKju Pretraživač
+ safari: Safari
+ uc_browser: UC Browser
+ unknown_browser: Nepoznati pregledač
+ weibo: Veibo
current_session: Trenutna sesija
description: "%{browser} sa %{platform}"
- explanation: Ovo su trenutno prijavljeni veb čitači na Vaš Mastodont nalog.
+ explanation: Ovo su veb pretraživači koji su trenutno prijavljeni na Vaš Mastodon nalog.
+ ip: IP
platforms:
- adobe_air: Adobe Air-a
+ adobe_air: Adob Er-a
android: Androida
+ blackberry: Blekberi
+ chrome_os: ChromeOS
firefox_os: Fajerfoks OS-a
+ ios: iOS-a
+ kai_os: KaiOS
linux: Linuksa
- mac: Mac-a
- other: nepoznate platforme
- windows: Vindouza
- windows_mobile: Vindouz mobilnog
- windows_phone: Vindouz telefona
+ mac: Meka
+ unknown_platform: Nepoznata platforma
+ windows: Windows
+ windows_mobile: Windows Mobile
+ windows_phone: Windows Phone
revoke: Opozovi
revoke_success: Sesija uspešno opozvana
title: Sesije
+ view_authentication_history: Pogledajte istoriju autentifikacije vašeg naloga
settings:
+ account: Nalog
+ account_settings: Podešavanja naloga
+ aliases: Pseudonimi naloga
+ appearance: Izgled
authorized_apps: Autorizovane aplikacije
- back: Nazad na Mastodonta
+ back: Nazad na Mastodon
delete: Brisanje naloga
development: Razvoj
- edit_profile: Izmena profila
+ edit_profile: Uređivanje profila
export: Izvoz podataka
+ featured_tags: Istaknute heš oznake
import: Uvoz
+ import_and_export: Uvoz i izvoz
migrate: Prebacivanje naloga
notifications: Obaveštenja
preferences: Podešavanja
+ profile: Nalog
+ relationships: Praćenja i pratioci
+ statuses_cleanup: Automatsko brisanje objava
+ strikes: Moderacijski prestupi
two_factor_authentication: Dvofaktorska identifikacija
+ webauthn_authentication: Sigurnosni ključevi
statuses:
+ attached:
+ audio:
+ few: "%{count} audio zapisa"
+ one: "%{count} audio zapis"
+ other: "%{count} audio zapisa"
+ description: 'U prilogu: %{attached}'
+ image:
+ few: "%{count} slika"
+ one: "%{count} sliku"
+ other: "%{count} slika"
+ video:
+ few: "%{count} video zapisa"
+ one: "%{count} video zapis"
+ other: "%{count} video zapisa"
+ boosted_from_html: Podržano od %{acct_link}
+ content_warning: 'Upozorenje na sadržaj: %{warning}'
+ default_language: Isto kao jezik okruženja
+ disallowed_hashtags:
+ few: 'sadrži zabranjene heštegove: %{tags}'
+ one: 'sadrži zabranjeni hešteg: %{tags}'
+ other: 'sadrži zabranjene heštegove: %{tags}'
+ edited_at_html: Izmenjeno %{date}
+ errors:
+ in_reply_not_found: Objava na koju pokušavate da odgovorite naizgled ne postoji.
open_in_web: Otvori u vebu
over_character_limit: ograničenje od %{max} karaktera prekoračeno
pin_errors:
- limit: Već imate prikačen najveći broj tutova
- ownership: Tuđi tutovi ne mogu da se prikače
+ direct: Objave koje su vidljive samo pomenutim korisnicima ne mogu biti prikačene
+ limit: Već ste zakačili maksimalan broj objava
+ ownership: Tuđa objava se ne može zakačiti
reblog: Podrška ne može da se prikači
+ poll:
+ total_people:
+ few: "%{count} osobe"
+ one: "%{count} osoba"
+ other: "%{count} ljudi"
+ total_votes:
+ few: "%{count} glasa"
+ one: "%{count} glas"
+ other: "%{count} glasova"
+ vote: Glasajte
show_more: Prikaži još
+ show_newer: Nikad ne prikazuj
+ show_older: Prikaži starije
+ show_thread: Prikaži niz
+ sign_in_to_participate: Prijavite se da učestvujete u razgovoru
+ title: "%{name}: „%{quote}”"
visibilities:
+ direct: Direktno
private: Samo pratioci
- private_long: Samo prikaži pratiocima
+ private_long: Prikaži samo pratiocima
public: Javno
public_long: Svako može da vidi
unlisted: Neizlistano
- unlisted_long: Svako može da vidi, ali nije izlistano na javnim lajnama
+ unlisted_long: Svako može da vidi, ali nije izlistano na javnim vremenskim linijama
+ statuses_cleanup:
+ enabled: Automatski izbriši stare objave
+ enabled_hint: Automatski briše vaše objave kada dostignu određeni starosni prag, osim ako se ne podudaraju sa jednim od izuzetaka u nastavku
+ exceptions: Izuzeci
+ explanation: Pošto je brisanje objava skupa operacija, ovo se radi polako tokom vremena kada server inače nije zauzet. Iz tog razloga, vaše objave mogu biti izbrisane neko vreme nakon što dostignu starosni prag.
+ ignore_favs: Ignoriši omiljene
+ ignore_reblogs: Ignoriši podržavanja
+ interaction_exceptions: Izuzeci zasnovani na interakcijama
+ interaction_exceptions_explanation: Imajte na umu da ne postoji garancija da će objave biti izbrisane ako broj označavanja kao omiljenih ili broj podržavanja padne ispod praga nakon što ga premaše.
+ keep_direct: Zadrži direktne poruke
+ keep_direct_hint: Ne briše nijednu od vaših direktnih poruka
+ keep_media: Zadrži objave sa medijskim prilozima
+ keep_media_hint: Ne briše nijednu od vaših objava koje imaju medijske priloge
+ keep_pinned: Zadrži zakačene objave
+ keep_pinned_hint: Ne briše nijednu od vaših zakačenih objava
+ keep_polls: Zadrži ankete
+ keep_polls_hint: Ne briše nijednu od vaših anketa
+ keep_self_bookmark: Zadrži objave koje ste dodali u obeleživače
+ keep_self_bookmark_hint: Ne briše vaše sopstvene objave ako ste ih dodlai u obeleživače
+ keep_self_fav: Zadrži omiljene objave
+ keep_self_fav_hint: Ne briše vaše sopstvene objave ako ste ih označili kao omiljene
+ min_age:
+ '1209600': 2 sedmice
+ '15778476': 6 meseci
+ '2629746': 1 mesec
+ '31556952': 1 godina
+ '5259492': 2 meseca
+ '604800': 1 sedmica
+ '63113904': 2 godine
+ '7889238': 3 meseca
+ min_age_label: Starosni prag
+ min_favs: Zadrži objave označene kao omiljene najmanje
+ min_favs_hint: Ne briše nijednu vašu objavu koja je dobila najmanje ovaj broj omiljenih. Ostavite prazno za brisanje objava bez obzira na njihov broj omiljenih
+ min_reblogs: Zadrži objave podržane barem
+ min_reblogs_hint: Ne briše nijednu vašu objavu koja je bila podržana najmanje ovoliko puta. Ostavite prazno za brisanje objava bez obzira na njihov broj podržavanja
stream_entries:
- pinned: Prikačeni tut
+ pinned: Zakačena objava
reblogged: podržano
sensitive_content: Osetljiv sadržaj
+ strikes:
+ errors:
+ too_late: Istekao je rok za podnošenje žalbe na zabeležen prestup
+ tags:
+ does_not_match_previous_name: ne poklapa se sa prethodnim imenom
themes:
- default: Mastodont
+ contrast: Veliki kontrast
+ default: Mastodon
+ mastodon-light: Mastodon (svetlo)
+ time:
+ formats:
+ default: "%d %b %Y, %H:%M"
+ month: "%b %Y"
+ time: "%H:%M"
two_factor_authentication:
+ add: Dodaj
disable: Isključi
+ disabled_success: Dvofaktorska autentifikacija je uspešno onemogućena
+ edit: Izmeni
enabled: Dvofaktorska identifikacija je uključena
enabled_success: Dvofaktorska identifikacija je uspešno uključena
generate_recovery_codes: Generiši kodove za oporavak
- lost_recovery_codes: Kodovi za oporavak Vam omogućavaju da povratite pristup nalogu ako izgubite telefon. Ako izgubite kodove za oporavak, možete ih regenerisati ovde. Od tog trenutka, stari kodovi za oporavak više ne važe.
+ lost_recovery_codes: Kodovi za oporavak Vam omogućavaju da povratite pristup nalogu ako izgubite telefon. Ako izgubite kodove za oporavak, možete ih re-generisati ovde. Od tog trenutka, stari kodovi za oporavak više ne važe.
+ methods: Metode dvofaktorske autentifikacije
+ otp: Aplikacija za autentifikaciju
recovery_codes: Napravite rezervu kodova za oporavak
- recovery_codes_regenerated: Kodovi za oporavak uspešno regenerisani
+ recovery_codes_regenerated: Kodovi za oporavak uspešno re-generisani
recovery_instructions_html: Ako ikada izgubite pristup telefonu, možete iskoristiti kodove za oporavak date ispod da povratite pristup nalogu. Držite kodove za oporavak na sigurnom. Na primer, odštampajte ih i čuvajte ih sa ostalim važnim dokumentima.
+ webauthn: Sigurnosni ključevi
+ user_mailer:
+ appeal_approved:
+ action: Idite na svoj nalog
+ explanation: Žalba podneta datuma %{appeal_date} na upisan prestup na Vaše ime datuma %{strike_date} je uvažena. Vaš nalog je ponovo u povoljnom položaju.
+ subject: Vaša žalba podneta %{date} je uvažena
+ title: Žalba uvažena
+ appeal_rejected:
+ explanation: Žalba podneta datuma %{appeal_date} na upisan prestup na Vaše ime datuma %{strike_date} je odbijena.
+ subject: Vaša žalba podneta %{date} je odbijena
+ title: Žalba odbijena
+ backup_ready:
+ explanation: Tražili ste potpunu rezervnu kopiju vašeg Mastodon računa. Spremna za preuzimanje!
+ subject: Vaša arhiva je spremna za preuzimanje
+ title: Izvoz arhive
+ suspicious_sign_in:
+ change_password: promenite svoju lozinku
+ details: 'Evo detalja o prijavi:'
+ explanation: Primetili smo prijavu na Vaš nalog sa nepoznate IP adrese.
+ further_actions_html: Ukoliko to niste bili Vi, preporučujemo da odmah %{action} i uključite dvofaktorsku autentifikaciju da biste održali bezbednost svog naloga.
+ subject: Vašem nalogu je pristupljeno sa nepozate IP adrese
+ title: Novo prijavljivanje
+ warning:
+ appeal: Priložite žalbu
+ appeal_description: Ukoliko verujete da je u pitanju greška, možete priložiti žalbu osoblju %{instance}.
+ categories:
+ spam: Neželjena pošta
+ violation: Sadržaj krši sledeća pravila zajednice
+ explanation:
+ delete_statuses: Za neke od Vaših objava je ustanovljeno da krše jedno ili više pravila zajednice i usled toga su uklonjene od strane moderatora %{instance}.
+ disable: Više ne možete da koristite svoj nalog, ali Vaš profil i drugi podaci ostaju netaknuti. Možete da zatražite rezervnu kopiju svojih podataka, promenite podešavanja naloga ili obrišete svoj nalog.
+ mark_statuses_as_sensitive: Neke od Vaših objava su označene kao osetljive od strane moderatora %{instance}. Ovo znači da će ljudi morati da kliknu na multimedije u objavama pre nego što mogu da ih vide. Ubuduće možete sami da označite svoju multimediju kao osetljivu prilikom sastavljanja objave.
+ sensitive: Od sada će svi Vaši otpremljeni multimedijalni fajlovi biti označeni kao osetljivi i sakriveni iza tastera upozorenja.
+ silence: I dalje možete koristiti svoj nalog ali samo ljudi koji Vas već prate će videti Vaše objave na ovom serveru, i možda ćete biti isključeni iz raznih mehanizama otkrivanja. Međutim, drugi ljudi i dalje mogu ručno da Vas zaprate.
+ suspend: Više ne možete da koristite svoj nalog, i Vaš profil i ostali podaci Vam više nisu dostupni. I dalje možete da se prijavite da biste zatražili rezervnu kopiju svojih podataka sve dok se Vaši podaci trajno ne izbrišu za oko 30 dana, s tim što ćemo zadržati neke osnovne podatke da bismo Vas sprečili u eventualnom zaobilaženju suspenzije.
+ reason: 'Obrazloženje:'
+ statuses: 'Citirane objave:'
+ subject:
+ delete_statuses: Vaše objave sa %{acct} su izbrisane
+ disable: Vaš nalog %{acct} je zamrznut
+ mark_statuses_as_sensitive: Vaše objave sa %{acct} su obeležene kao osetljive
+ none: Upozorenje za %{acct}
+ sensitive: Vaše objave sa %{acct} će ubuduće biti označene kao osetljive
+ silence: Vaš nalog %{acct} je ograničen
+ suspend: Vaš nalog %{acct} je suspendovan
+ title:
+ delete_statuses: Objave su obrisane
+ disable: Nalog zamrznut
+ mark_statuses_as_sensitive: Objave su označene kao osetljive
+ none: Upozorenje
+ sensitive: Nalog je označen kao osetljiv
+ silence: Nalog ograničen
+ suspend: Nalog suspendovan
+ welcome:
+ edit_profile_action: Podesi nalog
+ edit_profile_step: Možete prilagoditi svoj profil tako što ćete postaviti profilnu sliku, promeniti ime za prikaz i tako dalje. Možete dati saglasnost da pregledate nove pratioce pre nego što im dozvolite da Vas zaprate.
+ explanation: Evo nekoliko saveta za početak
+ final_action: Počnite objavljivati
+ final_step: 'Počnite da objavljujete! Čak i bez pratilaca, Vaše javne objave su vidljive drugim ljudima, na primer na lokalnoj vremenskoj liniji ili u heš oznakama. Možda želite da se predstavite sa heš oznakom #introductions ili #predstavljanja.'
+ full_handle: Vaš pun nadimak
+ full_handle_hint: Ovo biste rekli svojim prijateljima kako bi vam oni poslali poruku, ili zapratili sa druge instance.
+ subject: Dobrodošli na Mastodon
+ title: Dobrodošli, %{name}!
users:
+ follow_limit_reached: Ne možete pratiti više od %{limit} ljudi
invalid_otp_token: Neispravni dvofaktorski kod
- signed_in_as: 'Prijavljen kao:'
+ otp_lost_help_html: Ako izgubite pristup za oba, možete stupiti u kontakt sa %{email}
+ seamless_external_login: Prijavljeni ste putem spoljašnje usluge, tako da lozinka i podešavanja E-pošte nisu dostupni.
+ signed_in_as: 'Prijavljen/a kao:'
+ verification:
+ explanation_html: 'Možete izvršiti proveru da ste Vi vlasnik veza na Vašem nalogu. Da bi to radilo, povezani veb sajt mora da sadrži vezu nazad ka Vašem Mastodon nalogu. Veza nazad mora da ima rel="me"
atribut. Tekstuelni sadržaj veze nije bitan. Evo primera:'
+ verification: Provera
+ webauthn_credentials:
+ add: Dodajte novi sigurnosni ključ
+ create:
+ error: Iskrsao je problem prilikom dodavanja Vašeg sigurnosnog ključa. Molimo Vas pokušajte ponovo.
+ success: Vaš sigurnosni ključ je uspešno dodat.
+ delete: Izbriši
+ delete_confirmation: Da li ste sigurni da želite da izbrišete ovaj sigurnosni ključ?
+ description_html: Ako uključite autentifikaciju sigurnosnim ključem, moraćete da koristite jedan od svojih sigurnosnih ključeva prilikom prijavljivanja.
+ destroy:
+ error: Iskrsao je problem prilikom brisanja Vašeg sigurnosnog ključa. Molimo Vas pokušajte ponovo.
+ success: Vaš sigurnosni ključ je uspešno obrisan.
+ invalid_credential: Neispravan sigurnosni ključ
+ nickname_hint: Unesite nadimak svog novog sigurnosnog ključa
+ not_enabled: Još uvek niste omogućili WebAuthn
+ not_supported: Ovaj pretraživač ne podržava sigurnosne ključeve
+ otp_required: Da biste koristili sigurnosne ključeve, molimo Vas prvo uključite dvofaktorsku autentifikaciju.
+ registered_on: Registrovan/-a %{date}
diff --git a/config/locales/sr.yml b/config/locales/sr.yml
index 8cb4bcb393..9fc831f202 100644
--- a/config/locales/sr.yml
+++ b/config/locales/sr.yml
@@ -1,23 +1,24 @@
---
sr:
about:
- about_mastodon_html: Мастодон је друштвена мрежа базирана на отвореним протоколима и слободном софтверу отвореног кода. Децентрализована је као што је децентрализована е-пошта.
+ about_mastodon_html: 'Друштвена мрежа будућности: без реклама, без корпоративног праћења, етички дизајн, и децентрализација! Поседујте своје податке са Мастодоном!'
contact_missing: Није постављено
contact_unavailable: Није доступно
hosted_on: Мастодон хостован на %{domain}
- title: О
+ title: О инстанци
accounts:
- follow: Прати
+ follow: Запрати
followers:
- few: Пратиоци
- one: Пратиоц
- other: Пратиоци
+ few: Пратиоца
+ one: Пратилац
+ other: Пратилаца
following: Пратим
- last_active: последњи пут активни
+ instance_actor_flash: Овај налог је виртуелни актер који не представља ниједног корисника лично, већ сâм сервер. Користи се у сврху федерације и не треба га суспендовати.
+ last_active: најскорија активност
link_verified_on: Власништво над овом везом је проверено %{date}
- nothing_here: Овде нема ништа!
+ nothing_here: Овде нема ничега!
pin_errors:
- following: Морате пратити ову особу ако хоћете да потврдите
+ following: Морате пратити особу коју желите да препоручите
posts:
few: Објаве
one: Објава
@@ -34,16 +35,17 @@ sr:
accounts:
add_email_domain_block: Блокирај домен е-поште
approve: Одобри
+ approved_msg: Захтев за регистрацију корисника %{username} је успешно одобрен
are_you_sure: Да ли сте сигурни?
avatar: Аватар
by_domain: Домен
change_email:
changed_msg: Е-пошта налога успешно промењена!
- current_email: Тренутна е-пошта
- label: Промените е-пошту
- new_email: Нова e-пошта
- submit: Промените e-пошту
- title: Промените e-пошту за %{username}
+ current_email: Тренутна адреса е-поште
+ label: Промените адресу е-поште
+ new_email: Нова адреса e-поште
+ submit: Промените адресу e-поште
+ title: Промените адресу e-поште за %{username}
change_role:
changed_msg: Улога успешно промењена!
label: Промени улогу
@@ -51,21 +53,25 @@ sr:
title: Промени улогу за %{username}
confirm: Потврди
confirmed: Потврђено
- confirming: Потврдување
+ confirming: Потврђивање
custom: Произвољно
delete: Обриши податке
deleted: Избрисано
demote: Ражалуј
- disable: Искључи
+ destroyed_msg: Подаци корисника %{username} су неповратно стављени у ред за брисање
+ disable: Замрзни
+ disable_sign_in_token_auth: Онемогући имејл аутентификацију
disable_two_factor_authentication: Искључи 2FA
- disabled: Искључена
- display_name: Приказано име
+ disabled: Замрзнут
+ display_name: Име за приказ
domain: Домен
edit: Измени
email: Е-пошта
email_status: Статус е-поште
enable: Омогући
- enabled: Укључено
+ enable_sign_in_token_auth: Омогући имејл аутентификацију
+ enabled: Омогућен
+ enabled_msg: Успешно одлеђен налог корисника %{username}
followers: Пратиоци
follows: Праћени
header: Заглавље
@@ -73,18 +79,21 @@ sr:
invite_request_text: Разлози за придруживање
invited_by: Позван од стране
ip: IP
- joined: Придружио се
+ joined: Придружио/-ла се
location:
all: Све
- local: Локалне
- remote: Удаљене
+ local: Локални
+ remote: Удаљени
title: Локација
login_status: Статус пријаве
media_attachments: Мултимедијални прилози
memorialize: Пребаци у in memoriam
+ memorialized: Подигнут споменик
+ memorialized_msg: "%{username} је успешно претворен у меморијални налог"
moderation:
active: Активан
all: Сви
+ disabled: Искључен
pending: На чекању
silenced: Ограничено
suspended: Суспендовани
@@ -92,75 +101,202 @@ sr:
moderation_notes: Модераторске белешке
most_recent_activity: Најскорија активност
most_recent_ip: Најскорија IP адреса
+ no_account_selected: Ниједан налог није промењен јер ниједан није изабран
no_limits_imposed: Нема ограничења
no_role_assigned: Ниједна улога није додељена
not_subscribed: Није претплаћен
pending: Чека на преглед
- perform_full_suspension: Искључи
+ perform_full_suspension: Суспендуј
+ previous_strikes: Претходни прекршаји
+ previous_strikes_description_html:
+ few: Овај налог има %{count} прекршаја.
+ one: Овај налог има један прекршај.
+ other: Овај налог има %{count} прекршаја.
promote: Унапреди
protocol: Протокол
public: Јавно
push_subscription_expires: PuSH претплата истиче
- redownload: Освежи налог
- reject: Одбаци
+ redownload: Освежи профил
+ redownloaded_msg: Успешно освежен профил корисника %{username} из извора
+ reject: Одбиј
+ rejected_msg: Захтев за регистрацију корисника %{username} је успешно одбијен
+ remote_suspension_irreversible: Подаци овог налога су неповратно избрисани.
+ remote_suspension_reversible_hint_html: Налог је суспендован са свог сервера и његови подаци ће бити избрисани датума %{date}. До тада, удаљени сервер може да врати овај налог без икаквих промена. Уколико желите да одмах обришете све податке налога, можете то учинити испод.
remove_avatar: Уклони аватар
remove_header: Одстрани заглавље
+ removed_avatar_msg: Слика аватара корисника %{username} је успешно уклоњена
+ removed_header_msg: Успешно обрисана слика заглавља корисника %{username}
resend_confirmation:
- already_confirmed: Овој корисник е веќе потврден
- send: Препрати го е-мајлот за потврда
- success: Е-пошта за потврда успешно испратена!
+ already_confirmed: Овај корисник је већ потврђен
+ send: Поново пошаљи имејл потврду
+ success: Имејл за потврду је успешно послат!
reset: Ресетуј
reset_password: Ресетуј лозинку
resubscribe: Поново се претплати
role: Улога
search: Претрага
+ search_same_email_domain: Остали корисници са истим доменом е-поште
+ search_same_ip: Остали корисници са истом IP адресом
+ security: Безбедност
security_measures:
only_password: Само лозинка
+ password_and_2fa: Лозинка и двофакторска аутентификација
+ sensitive: Означи као осетљив
sensitized: Означено као осетљиво
shared_inbox_url: Адреса дељеног сандучета
show:
- created_reports: Направљени извештаји
+ created_reports: Поднете пријаве
targeted_reports: Пријаве од стране других
silence: Ућуткај
silenced: Ућуткан
- statuses: Статуси
+ statuses: Објаве
+ strikes: Претходни преступи
subscribe: Претплати се
suspend: Суспендуј
suspended: Суспендовани
+ suspension_irreversible: Подаци овог налога су неповратно избрисани. Можете одсуспендовати овај налог чиме ће он постати употребљив, али се подаци претходно садржани на налогу неће вратити.
+ suspension_reversible_hint_html: Налог је суспендован и његови подаци ће бити избрисани датума %{date}. До тада, овај налог може бити враћен без икаквих промена. Уколико желите да одмах обришете све податке налога, можете то учинити испод.
title: Налози
unblock_email: Одблокирај адресу е-поште
- unconfirmed_email: Непотврђена е-пошта
+ unblocked_email_msg: Успешно одблокирана имејл адреса корисника %{username}
+ unconfirmed_email: Непотврђена адреса е-поште
+ undo_sensitized: Уклони ознаку „осетљив”
undo_silenced: Укини ћутање
undo_suspension: Укини суспензију
+ unsilenced_msg: Успешно поништено ограничење налога %{username}
unsubscribe: Укини претплату
+ unsuspended_msg: Успешно поништена суспензија налога %{username}
username: Корисничко име
+ view_domain: Прочитај опис домена
warn: Упозори
web: Веб
+ whitelisted: Дозвољена федерација
action_logs:
action_types:
+ approve_appeal: Уважи жалбу
approve_user: Одобри корисника
+ assigned_to_self_report: Додели пријаву
change_email_user: Промени e-адресу корисника
change_role_user: Промени улогу корисника
confirm_user: Потврди корисника
create_account_warning: Креирај упозорење
create_announcement: Креирај најаву
create_canonical_email_block: Креирај блок е-поште
+ create_custom_emoji: Направи прилагођени емоџи
+ create_domain_allow: Додај дозвољени домен
+ create_domain_block: Додај блокирани домен
+ create_email_domain_block: Блокирај имејл домен
+ create_ip_block: Направи IP услов
+ create_unavailable_domain: Додај домен као недоступан
create_user_role: Креирај улогу
+ demote_user: Смањи овлашћења корисника
destroy_announcement: Избриши најаву
destroy_canonical_email_block: Избриши блок е-поште
+ destroy_custom_emoji: Обриши прилагођени емоџи
+ destroy_domain_allow: Обриши дозвољени домен
+ destroy_domain_block: Обриши блокирани домен
+ destroy_email_domain_block: Избриши блок е-поште
+ destroy_instance: Очисти домен
+ destroy_ip_block: Обриши IP услов
destroy_status: Избриши пост
+ destroy_unavailable_domain: Обриши недоступан домен
+ destroy_user_role: Уништи позицију
+ disable_2fa_user: Онемогући двофакторску аутентификацију
+ disable_custom_emoji: Онемогући прилагођене емоџије
+ disable_sign_in_token_auth_user: Онемогући имејл аутентификацију за корисника
disable_user: Онемогући корисника
+ enable_custom_emoji: Омогући прилагођене емоџије
+ enable_sign_in_token_auth_user: Омогући имејл аутентификацију за корисника
enable_user: Омогући корисника
+ memorialize_account: Претвори у меморијални налог
+ promote_user: Унапреди корисника
+ reject_appeal: Одбиј жалбу
reject_user: Одбаци корисника
+ remove_avatar_user: Уклони аватар
+ reopen_report: Поново отвори пријаву
+ resend_user: Поново пошаљи мејл за потврду
+ reset_password_user: Ресетуј лозинку
+ resolve_report: Затвори пријаву
+ sensitive_account: Означи налог као осетљив
silence_account: Ограничи налог
suspend_account: Обустави налог
+ unassigned_report: Повуци пријаву
+ unblock_email_account: Одблокирај имејл адресу
+ unsensitive_account: Уклони додељену ознаку „осетљив”
+ unsilence_account: Повуци ограничење налога
+ unsuspend_account: Повуци суспензију налога
+ update_announcement: Саопштење о ажурирању
+ update_custom_emoji: Ажурирај прилагођене емоџије
+ update_domain_block: Ажурирај домен блок
+ update_ip_block: Ажурирај IP услов
update_status: Уреди објаву
update_user_role: Уреди улогу
+ actions:
+ approve_appeal_html: "%{name} је уважио жалбу корисника %{target} на одлуку модератора"
+ approve_user_html: "%{name} је одобрио/-ла регистрацију корисника %{target}"
+ assigned_to_self_report_html: "%{name} је себи доделио/-ла пријаву %{target}"
+ change_email_user_html: "%{name} је променио/-ла имејл адресу корисника %{target}"
+ change_role_user_html: "%{name} је променио/-ла овлашћења корисника %{target}"
+ confirm_user_html: "%{name} је потврдио/-ла имејл адресу корисника %{target}"
+ create_account_warning_html: "%{name} је послао/-ла упозорење кориснику %{target}"
+ create_announcement_html: "%{name} је направио/-ла ново саопштење %{target}"
+ create_canonical_email_block_html: "%{name} је блокирао/-ла имејл адресу са хешом %{target}"
+ create_custom_emoji_html: "%{name} је отпремио/-ла нове емоџије %{target}"
+ create_domain_allow_html: "%{name} је дозволио/-ла федерацију са доменом %{target}"
+ create_domain_block_html: "%{name} је блокирао/-ла домен %{target}"
+ create_email_domain_block_html: "%{name} је блокирао/-ла имејл домен %{target}"
+ create_ip_block_html: "%{name} је направио/-ла услов за IP адресе %{target}"
+ create_unavailable_domain_html: "%{name} је обуставио/-ла испоручивање домену %{target}"
+ create_user_role_html: "%{name} је направио/-ла %{target} позицију"
+ demote_user_html: "%{name} је смањио овлашћења корисника %{target}"
+ destroy_announcement_html: "%{name} је обрисао/-ла саопштење %{target}"
+ destroy_canonical_email_block_html: "%{name} је одблокирао/-ла имејл адресу са хешом %{target}"
+ destroy_custom_emoji_html: "%{name} је обрисао/-ла емоџи %{target}"
+ destroy_domain_allow_html: "%{name} је забранио/-ла федерацију са доменом %{target}"
+ destroy_domain_block_html: "%{name} је одблокирао/-ла домен %{target}"
+ destroy_email_domain_block_html: "%{name} је одблокирао/-ла имејл домен %{target}"
+ destroy_instance_html: "%{name} је очистио/-ла домен %{target}"
+ destroy_ip_block_html: "%{name} је обрисао/-ла услов за IP адресе %{target}"
+ destroy_status_html: "%{name} је избрисао/-ла објаву корисника %{target}"
+ destroy_unavailable_domain_html: "%{name} је поново успоставио/-ла испоручивање домену %{target}"
+ destroy_user_role_html: "%{name} је избрисао/-ла %{target} позицију"
+ disable_2fa_user_html: "%{name} је онемогућио/-ла двофакторску аутентификацију за корисника %{target}"
+ disable_custom_emoji_html: "%{name} је онемогућио/-ла емоџи %{target}"
+ disable_sign_in_token_auth_user_html: "%{name} је онемогућио/-ла имејл аутентификацију за корисника %{target}"
+ disable_user_html: "%{name} је онемогућио/-ла пријављивање за корисника %{target}"
+ enable_custom_emoji_html: "%{name} је омогућио/-ла емоџи %{target}"
+ enable_sign_in_token_auth_user_html: "%{name} је омогућио/-ла имејл аутентификацију за %{target}"
+ enable_user_html: "%{name} је омогућио/-ла пријављивање кориснику %{target}"
+ memorialize_account_html: "%{name} је претворио/-ла налог корисника %{target} у меморијалну страницу"
+ promote_user_html: "%{name} је унапредио/-ла корисника %{target}"
+ reject_appeal_html: "%{name} је одбио/-ла жалбу на модерацијску одлуку коју је приложио корисник %{target}"
+ reject_user_html: "%{name} је одбио/-ла регистрацију корисника %{target}"
+ remove_avatar_user_html: "%{name} је уклонио аватар корисника %{target}"
+ reopen_report_html: "%{name} је поново отворио/-ла пријаву %{target}"
+ resend_user_html: "%{name} је поново послао/-ла имејл за потврду кориснику %{target}"
+ reset_password_user_html: "%{name} је ресетовао/-ла лозинку корисника %{target}"
+ resolve_report_html: "%{name} је решио/-ла пријаву %{target}"
+ sensitive_account_html: "%{name} је означио/-ла медије налога %{target} као осетљиве"
+ silence_account_html: "%{name} је ограничио/-ла налог %{target}"
+ suspend_account_html: "%{name} је суспендовао/-ла налог %{target}"
+ unassigned_report_html: "%{name} је повукао/-ла доделу пријаве %{target}"
+ unblock_email_account_html: "%{name} је одблокирао/-ла имејл адресу корисника %{target}"
+ unsensitive_account_html: "%{name} је уклонио/-ла ознаку „осетљиво” са медија налога %{target}"
+ unsilence_account_html: "%{name} је повукао/-ла ограничење налога %{target}"
+ unsuspend_account_html: "%{name} је повукао/-ла суспензију налога %{target}"
+ update_announcement_html: "%{name} је ажурирао/-ла саопштење %{target}"
+ update_custom_emoji_html: "%{name} је ажурирао/-ла емоџи %{target}"
+ update_domain_block_html: "%{name} је ажурирао/-ла блок домена %{target}"
+ update_ip_block_html: "%{name} је променио/-ла IP услов за %{target}"
+ update_status_html: "%{name} је ажурирао/-ла објаву корисника %{target}"
+ update_user_role_html: "%{name} је променио/-ла позицију %{target}"
deleted_account: обрисан налог
+ empty: Није пронађен ниједан лог.
filter_by_action: Филтрирај по активности
filter_by_user: Филтрирај по кориснику
title: Записник
announcements:
+ destroyed_msg: Саопштење је успешно обрисано!
edit:
title: Уреди најаву
empty: Ниједна најава није пронађена.
@@ -170,7 +306,12 @@ sr:
title: Нова најава
publish: Објави
published_msg: Најава успешно објављена!
+ scheduled_for: Заказано за %{time}
+ scheduled_msg: Саопштење је заказано за објављивање!
title: Најаве
+ unpublish: Повуци објаву
+ unpublished_msg: Објава саопштења је успешно повучена!
+ updated_msg: Саопштење је успешно ажурирано!
custom_emojis:
assign_category: Додели категорију
by_domain: Домен
@@ -188,82 +329,212 @@ sr:
enable: Омогући
enabled: Омогућено
enabled_msg: Емоџи успешно омогућен
+ image_hint: PNG или GIF фајл величине до %{size}
+ list: Листа
listed: Излистан
new:
title: Додај нови произвољни емоџи
+ no_emoji_selected: Ниједан емоџи није промењен јер ниједан није изабран
+ not_permitted: Нисте овлашћени да обављате ову радњу
overwrite: Препиши
shortcode: Пречица
shortcode_hint: Најмање 2 карактера, дозвољени су само слова, бројеви и доње црте
title: Произвољни емотиџији
+ uncategorized: Некатегоризовано
+ unlist: Неизлистан
unlisted: Неизлистан
update_failed_msg: Не могу да ажурирам овај емоџи
updated_msg: Емоџи успешно ажуриран!
upload: Отпреми
dashboard:
+ active_users: активни корисници
+ interactions: интеракције
+ media_storage: Мултимедијално складиште
+ new_users: нови корисници
+ opened_reports: отворене пријаве
+ pending_appeals_html:
+ few: "%{count} жалбе на чекању"
+ one: "%{count} жалба на чекању"
+ other: "%{count} жалби на чекању"
+ pending_reports_html:
+ few: "%{count} пријаве на чекању"
+ one: "%{count} пријава на чекању"
+ other: "%{count} пријава на чекању"
+ pending_tags_html:
+ few: "%{count} хеш ознаке на чекању"
+ one: "%{count} хеш ознака на чекању"
+ other: "%{count} хеш ознака на чекању"
+ pending_users_html:
+ few: "%{count} корисника на чекању"
+ one: "%{count} корисник на чекању"
+ other: "%{count} корисника на чекању"
+ resolved_reports: решене пријаве
software: Софтвер
+ sources: Извори регистрација
space: Коришћење простора
title: Командна табла
+ top_languages: Најзаступљенији језици
+ top_servers: Најактивнији сервери
+ website: Вебсајт
+ disputes:
+ appeals:
+ empty: Ниједна жалба није пронађена.
+ title: Жалбе
domain_allows:
+ add_new: Дозволи федерацију са доменом
+ created_msg: Домен је успешно одобрен за федерацију
+ destroyed_msg: Домен је одбијен за федерацију
export: Извоз
import: Увоз
+ undo: Забрани федерацију са доменом
domain_blocks:
add_new: Додај нови блок домена
created_msg: Блокирање домена се обрађује
destroyed_msg: Блокирање домена је опозвано
domain: Домен
+ edit: Измени блок домена
+ existing_domain_block: Већ сте успоставили строжа ограничења према кориснику %{name}.
+ existing_domain_block_html: Већ сте успоставили строжа ограничења према %{name}, потребно је да га прво одблокирате.
export: Извоз
import: Увоз
new:
create: Направи блокаду
hint: Блокирање домена неће спречити прављење налога у бази, али ће ретроактивно и аутоматски применити одређене модераторске методе над тим налозима.
severity:
+ desc_html: "Ограничење ће сакрити објаве налога са овог домена од сваког ко их не прати. Суспензија ће обрисати сав садржај, медије и податке профила са налога овог домена са Вашег сервера. Користите Ништа уколико само желите да одбијете медијске фајлове."
noop: Ништа
+ silence: Ограничи
suspend: Суспензија
title: Ново блокирање домена
+ no_domain_block_selected: Ниједан блок домена није промењен јер ниједан није изабран
+ not_permitted: Нисте овлашћени да обављате ову радњу
+ obfuscate: Сакриј име домена
+ obfuscate_hint: Делимично сакриј име домена на листи ако је рекламирање листе ограничених домена омогућено
private_comment: Приватни коментар
+ private_comment_hint: Коментар о ограничењу овог домена за интерну употребу од стране модератора.
public_comment: Јавни коментар
+ public_comment_hint: Коментар о ограничењу овог домена за јавност, уколико је рекламирање листе ограничених домена омогућено.
reject_media: Одбаци мултимедију
reject_media_hint: Уклања локално ускладиштене мултимедијске фајлове и одбија да их скида убудуће. Небитно је за суспензију
reject_reports: Одбаци извештај
reject_reports_hint: Игнориши све извештаје који долазе са овог домена. Небитно је за суспензије
undo: Поништи блок домена
+ view: Прочитај блок домена
email_domain_blocks:
add_new: Додај нови
+ attempts_over_week:
+ few: "%{count} покушаја током претходне недеље"
+ one: "%{count} покушај током претходне недеље"
+ other: "%{count} покушаја регистрације током претходне недеље"
created_msg: Успешно додао домен Е-поште на црну листу
delete: Обриши
+ dns:
+ types:
+ mx: MX извештај
domain: Домен
new:
create: Додај домен
+ resolve: Претвори домен
title: Нова ставка е-поштe у црној листи
+ no_email_domain_block_selected: Ниједан блок имејл домена није промењен јер ниједан није изабран
+ not_permitted: Није дозвољено
+ resolved_dns_records_hint_html: Име домена се претвара у следеће MX домене, који су напослетку одговорни за прихватање електронске поште. Блокирање MX домена ће блокирати регистрације са сваке имејл адресе која користи тај MX домен, чак и у случају када се видљиво име домена разликује. Водите рачуна о томе да не блокирате велике имејл провајдере.
+ resolved_through_html: Преусмерено кроз %{domain}
title: Црна листа E-поште
+ export_domain_allows:
+ new:
+ title: Увези дозвољене домене
+ no_file: Ниједан фајл није одабран
+ export_domain_blocks:
+ import:
+ description_html: Управо ћете увести листу блокираних домена. Молимо Вас, врло пажљиво прегледајте ову листу, посебно уколико је нисте сами направили.
+ existing_relationships_warning: Постојећи односи у облику праћења
+ private_comment_description_html: 'Да би Вам помогли да пратите одакле су блокови увезени, увезени блокови ће бити направљени са следећим приватним коментаром: %{comment}
'
+ private_comment_template: Увезено са извора %{source} на датум %{date}
+ title: Увези блокиране домене
+ invalid_domain_block: 'Један или више блокова домена је прескочен због следеће грешке тј. грешака: %{error}'
+ new:
+ title: Увези блокиране домене
+ no_file: Ниједан фајл није одабран
follow_recommendations:
+ description_html: "Предлози за праћење помажу новим корисницима да брзо пронађу занимљив садржај. Када корисник није довољно интераговао са осталима да би се за њега формирали персонализовани предлози за праћење, ови налози ће бити препоручени уместо тога. Они се генеришу на дневној бази из скупа налога са највише недавних ангажовања и највише локалних пратилаца за један језик."
+ language: За језик
status: Статус
+ suppress: Потисни препоруке за праћење
+ suppressed: Потиснуто
+ title: Препоруке за праћење
+ unsuppress: Врати препоруку за праћење
instances:
+ availability:
+ description_html:
+ few: Уколико испорука домену не успе ниједном током %{count} различитих дана, даљи покушаји испоруке неће бити иницирани осим уколико се не прими испорука са домена.
+ one: Ако испорука домену не успе ниједном у временском периоду од %{count} дана, даљи покушаји испоруке се неће иницирати осим уколико се не прими испорука са домена.
+ other: Уколико испорука домену не успе ниједном током %{count} различитих дана, даљи покушаји испоруке се неће иницирати осим уколико се не прими испорука са домена.
+ failure_threshold_reached: Праг неуспеха достигнут датума %{date}.
+ failures_recorded:
+ few: Неуспели покушаји током %{count} различита дана.
+ one: Неуспели покушај током %{count} дана.
+ other: Неуспели покушаји током %{count} различитих дана.
+ no_failures_recorded: Без забележених неуспеха.
+ title: Доступност
+ warning: Последњи покушај повезивања са овим сервером је био неуспешан
back_to_all: Све
back_to_limited: Ограничено
back_to_warning: Упозорење
by_domain: Домен
+ confirm_purge: Да ли сте сигурни да желите да трајно уклоните податке са овог домена?
content_policies:
+ comment: Интерна белешка
+ description_html: Можете да дефинишете политику садржаја која ће важити за све налоге на овом домену и сваком од његових поддомена.
+ limited_federation_mode_description_html: Можете да одлучите да ли да допустите федерацију са овим доменом.
policies:
+ reject_media: Одбиј мултимедију
+ reject_reports: Одбиј пријаве
silence: Ограничи
suspend: Суспендуј
policy: Политика
reason: Јавни разлог
+ title: Политика садржаја
+ dashboard:
+ instance_accounts_dimension: Најпраћенији налози
+ instance_accounts_measure: ускладиштени налози
+ instance_followers_measure: наши пратиоци овде
+ instance_follows_measure: њихови пратиоци овде
+ instance_languages_dimension: Најзаступљенији језици
+ instance_media_attachments_measure: ускладиштени мултимедијални прилози
+ instance_reports_measure: пријаве против њих
+ instance_statuses_measure: ускладиштене објаве
delivery:
all: Све
+ clear: Очисти грешке приликом испоруке
+ failing: Без успеха
+ restart: Започни испоруку поново
+ stop: Обустави испоруку
unavailable: Недоступно
delivery_available: Достава је доступна
+ delivery_error_days: Дани неуспешних испорука
+ delivery_error_hint: Уколико испорука није могућа %{count} дана, аутоматски ће бити обележена као неиспоручива.
+ destroyed_msg: Подаци са %{domain} су сада у реду за чекање за извесно брисање.
+ empty: Ниједан домен није пронађен.
+ known_accounts:
+ few: "%{count} позната налога"
+ one: "%{count} познат налог"
+ other: "%{count} познатих налога"
moderation:
all: Све
limited: Ограничено
title: Модерација
private_comment: Приватни коментар
public_comment: Јавни коментар
+ purge: Чистка
+ purge_description_html: Уколико верујете да је овај домен трајно угашен, можете да обришете све записе налога и сродне податке овог домена са свог складишта. Ово може да потраје.
title: Федерација
total_blocked_by_us: Блокирано од стране нас
total_followed_by_them: Праћени од стране њих
total_followed_by_us: Праћени од стране нас
total_reported: Пријаве везане за њих
+ total_storage: Мултимедијални прилози
+ totals_time_period_hint_html: Укупне вредности приказане испод укључују податке за сва времена.
invites:
deactivate_all: Деактивирај све
filter:
@@ -273,6 +544,9 @@ sr:
title: Филтер
title: Позивнице
ip_blocks:
+ add_new: Направи правило
+ created_msg: Успешно је додато ново IP правило
+ delete: Избриши
expires_in:
'1209600': 2 недеље
'15778476': 6 месеци
@@ -283,6 +557,9 @@ sr:
new:
title: Креирај ново IP правило
no_ip_block_selected: Ниједно IP правило није промењено јер ниједно није изабрано
+ title: IP правила
+ relationships:
+ title: Односи корисника %{acct}
relays:
add_new: Додај нови релеј
delete: Обриши
@@ -296,88 +573,395 @@ sr:
pending: Чека се одобрење релеја
save_and_enable: Сачувај и омогући
setup: Подеси везу релеја
+ signatures_not_enabled: Преноси можда неће радити исправно док је укључен безбедни режим или режим ограничене федерације
status: Статус
title: Релеји
report_notes:
created_msg: Белешка пријаве успешно направљена!
destroyed_msg: Белешка пријаве успешно избрисана!
reports:
+ account:
+ notes:
+ few: "%{count} белешке"
+ one: "%{count} белешка"
+ other: "%{count} бележака"
+ action_log: Записник
action_taken_by: Акцију извео
+ actions:
+ delete_description_html: Пријављене објаве ће бити обрисане и прекршај ће бити уписан да би Вам олакшали интервенцију приликом будућих преступа са истог налога.
+ mark_as_sensitive_description_html: Мултимедијални садржај са пријављених објава ће бити означен као осетљив и прекршај ће бити уписан ради лакше интервенције у случају даљих прекршаја са истог налога.
+ other_description_html: Погледајте више опција за контролисање понашања налога и прилагодите комуникацију са пријављеним налогом.
+ resolve_description_html: Ниједна радња неће бити предузета против пријављеног налога, ниједан преступ није уписан и пријава ће бити затворена.
+ silence_description_html: Налог ће бити видљив само онима који га већ прате или који га ручно потраже, што ће значајно ограничити његов домет. Ограничење се може повући у сваком тренутку. Затвара све пријаве поднете против овог налога.
+ suspend_description_html: Налог и сви његови садржаји ће постати недоступни и у једном тренутку избрисани, а интеракција са налогом више неће бити могућа. Суспензија се може повући у року од 30 дана. Затвара све пријаве поднете против овог налога.
+ actions_description_html: Одлучите коју радњу да спроведете ради решавања ове пријаве. Уколико спроведете казнену радњу против пријављеног налога, власник налога ће бити обавештен путем и-мејла, осим уколико ознака „Непожељне поруке” није одабрана.
+ actions_description_remote_html: Одлучите коју радњу да предузмете ради решавања ове пријаве. Ово ће утицати само на то како Ваш сервер комуницира са овим удаљеним налогом и обрађује његов садржај.
+ add_to_report: Додај још у пријаву
are_you_sure: Да ли сте сигурни?
assign_to_self: Додели мени
assigned: Додељени модератор
+ by_target_domain: Домен пријављеног налога
+ cancel: Откажи
+ category: Категорија
+ category_description_html: Разлог због ког је овај налог и/или садржај пријављен ће бити образложен у комуникацији са пријављеним налогом
comment:
none: Ништа
+ comment_description_html: 'Ради пружања више информација, %{name} је написао/-ла:'
+ confirm: Потврди
+ confirm_action: Потврди модерацијску радњу према @%{acct}
created_at: Пријављена
+ delete_and_resolve: Обриши објаве
+ forwarded: Прослеђено
+ forwarded_to: Прослеђено ка %{domain}
mark_as_resolved: Означи као решену
+ mark_as_sensitive: Обележи као осетљиво
mark_as_unresolved: Означи као нерешену
+ no_one_assigned: Нико
notes:
create: Додај белешку
create_and_resolve: Реши са белешком
create_and_unresolve: Отвори поново са белешком
delete: Обриши
placeholder: Опишите какве су радње предузете, или било какве повезане новости...
+ title: Белешке
+ notes_description_html: Прочитајте и оставите напомене другим модераторима и себи у будућности
+ processed_msg: 'Пријава #%{id} успешно обрађена'
+ quick_actions_description_html: 'Предузмите брзу радњу или се спустите ниже да бисте видели пријављени садржај:'
+ remote_user_placeholder: удаљени корисник са %{instance}
reopen: Отвори пријаву поново
report: 'Пријава #%{id}'
reported_account: Пријављени налог
reported_by: Пријавио
resolved: Решена
resolved_msg: Пријава успешно разрешена!
+ skip_to_actions: Прескочи до радњи
status: Статус
+ statuses: Пријављени садржај
+ statuses_description_html: Спорни садржај ће бити наведен у комуникацији са пријављеним налогом
+ summary:
+ action_preambles:
+ delete_html: 'Управо ћете обрисати неке од објава корисника @%{acct}. Ово ће:'
+ mark_as_sensitive_html: 'Управо ћете означити неке објаве корисника @%{acct} као осетљиве. Ово ће:'
+ silence_html: 'Управо ћете ограничити налог корисника @%{acct}. Ово ће:'
+ suspend_html: 'Управо ћете суспендовати налог корисника @%{acct}. Ово ће:'
+ actions:
+ delete_html: Обришите спорне објаве
+ mark_as_sensitive_html: Обележите медије спорних објава као осетљиве
+ silence_html: Жестоко ограничите домет корисника @%{acct} тако што ћете учинити његов профил и садржаје видљиве само људима који их већ прате и људима који ручно потраже профил
+ suspend_html: Суспендујте корисника @%{acct}, што ће учинити његов профил и садржаје недоступним за приступ и интеракцију
+ close_report: 'Означите пријаву #%{id} као решену'
+ close_reports_html: Означи све пријаве против @%{acct} као решене
+ delete_data_html: Обриши профил и садржаје корисника @%{acct} за 30 дана осим уколико суспензија буде повучена у међувремену
+ preview_preamble_html: "@%{acct} ће примити упозорење следеће садржине:"
+ record_strike_html: Упишите прекршај на име @%{acct} да би Вам било лакше да у будућности интервенишете приликом даљих преступа са овог налога
+ send_email_html: Пошаљи имејл упозорења кориснику @%{acct}
+ warning_placeholder: Опционо додатно образложење за модерацијску радњу.
+ target_origin: Порекло пријављеног налога
title: Пријаве
unassign: Уклони доделу
+ unknown_action_msg: 'Непозната радња: %{action}'
unresolved: Нерешене
updated_at: Ажурирана
view_profile: Погледај профил
roles:
add_new: Додај улогу
+ assigned_users:
+ few: "%{count} корисника"
+ one: "%{count} корисник"
+ other: "%{count} корисника"
categories:
administration: Администрација
+ devops: DevOps
+ invites: Позивнице
moderation: Модерација
+ special: Посебно
delete: Избриши
+ description_html: Помоћу корисничких улога можете да подесите којим функцијама и деловима Мастодона Ваши корисници могу да приступе.
+ edit: Измени улогу '%{name}'
+ everyone: Подразумевана овлашћења
+ everyone_full_description_html: Ово је основна улога која се односи на све кориснике, чак и оне којима није додељена улога. Све друге улоге наслеђују овлашћења од основне улоге.
+ permissions_count:
+ few: "%{count} дозволе"
+ one: "%{count} дозвола"
+ other: "%{count} дозвола"
privileges:
administrator: Администратор
+ administrator_description: Корисници са овом привилегијом могу да заобиђу сва друга ограничења
delete_user_data: Избриши податке корисника
+ delete_user_data_description: Допушта корисницима да избришу податке других корисника без одлагања
invite_users: Позови кориснике
+ invite_users_description: Допушта корисницима да позове нове људе на сервер
manage_announcements: Управљај обавештењима
+ manage_announcements_description: Допушта корисницима да руководе саопштењима на серверу
+ manage_appeals: Надгледање жалби
+ manage_appeals_description: Допушта корисницима да прегледају жалбе на модерацијске радње
+ manage_blocks: Надгледање блокова
+ manage_blocks_description: Допушта корисницима да блокирају имејл провајдере и IP адресе
+ manage_custom_emojis: Надлежност над прилагођеним емоџијима
+ manage_custom_emojis_description: Даје корисницима контролу над прилагођеним емоџијима на серверу
+ manage_federation: Надгледање федерације
+ manage_federation_description: Допушта корисницима да блокирају или дозволе федерацију са другим доменима и контролишу испоручивање података другим серверима
+ manage_invites: Надгледање позивница
+ manage_invites_description: Допушта корисницима да претражују и деактивирају позивнице
+ manage_reports: Надгледање пријава
+ manage_reports_description: Допушта корисницима да прегледају пријаве и извршавају модерацијске радње над њима
manage_roles: Управљај улогама
+ manage_roles_description: Допушта корисницима да надгледају и додељују улоге са нижим овлашћењима од њихове
manage_rules: Управљај правилима
manage_rules_description: Дозволи корисницима да мењају правила сервера
manage_settings: Управљај поставкама
manage_settings_description: Дозволи корисницима да мењају поставке сајта
+ manage_taxonomies: Надгледање таксономија
+ manage_taxonomies_description: Допушта корисницима да прегледају садржај у тренду и ажурирају поставке хеш ознака
+ manage_user_access: Надлежност над корисничким приступом
+ manage_user_access_description: Допушта корисницима да онемогуће двофакторску аутентификацију других корисника, мењају им имејл адресе и ресетују им лозинке
+ manage_users: Надлежност над корисницима
+ manage_users_description: Допушта корисницима да прочитају детаље других корисника и извршавају модерацијске радње над њима
+ manage_webhooks: Надлежност над webhook елементима
+ manage_webhooks_description: Допушта корисницима да успоставе webhook елементе за административне радње
+ view_audit_log: Прочитај записник ревизија
+ view_audit_log_description: Допушта корисницима да виде историју административних радњи на серверу
+ view_dashboard: Погледај контролни панел
+ view_dashboard_description: Допушта корисницима да приступе контролном панелу и разним метрикама
+ view_devops: DevOps
+ view_devops_description: Допушта корисницима да приступе Sidekiq и pgHero контролним панелима
+ title: Улоге
rules:
add_new: Додај правило
delete: Избриши
+ description_html: Док већина тврди да је прочитала и слаже се са условима коришћења, људи их обично не читају све док се не јави проблем. Учините правила Вашег сервера читљивијим и приступачнијим тако што ћете их изложити у форми листе. Потрудите се да појединачна правила буду кратка и једноставна, али покушајте и да их не исцепкате у превише одвојених ставки.
edit: Уреди правило
empty: Ниједно правило сервера још није дефинисано.
title: Правила сервера
settings:
+ about:
+ manage_rules: Управљање правилима сервера
+ preamble: Пружите детаљне информације о томе како се сервер води, модерира и финансира.
+ rules_hint: Постоји предвиђено место за правила која се од корисника очекује да поштују.
+ title: Назив
appearance:
+ preamble: Прилагодите веб интерфејс Мастодона.
title: Изглед
+ branding:
+ preamble: Брендирање Вашег сервера га издваја од других сервера на мрежи. Ове информације могу бити приказане у разним окружењима, попут Мастодоновог веб интерфејса, нативних апликација, у прегледима линкова на другим серверима и у апликацијама за размену порука, итд. Из овог разлога, најбоље је да ове информације буду кратке, јасне и концизне.
+ title: Брендирање
+ content_retention:
+ preamble: Контролишите како се садржај генерисан од стране корисника складишти на Мастодону.
+ title: Задржавање садржаја
default_noindex:
desc_html: Утиче на све кориснике који нису сами променили ову поставку
title: Подразумевано искључи кориснике из индексирања претраживача
discovery:
+ follow_recommendations: Препоруке за праћење
+ preamble: Одржавање занимљивих садржаја на површини је кључно у привлачењу нових корисника који можда не знају никога на Мастодону. Контролишите како различити начини истраживања функционишу на Вашем серверу.
+ profile_directory: Директоријум профилâ
public_timelines: Јавне временске линије
+ publish_discovered_servers: Објави откривене сервере
+ publish_statistics: Објави статистику
title: Откривање
+ trends: Трендови
+ domain_blocks:
+ all: Свима
+ disabled: Никоме
+ users: Пријављеним локалним корисницима
+ registrations:
+ preamble: Контролишите ко сме да направи налог на Вашем серверу.
+ title: Регистрације
+ registrations_mode:
+ modes:
+ approved: Одобрење неопходно за регистрацију
+ none: Нико не може да се региструје
+ open: Било ко може да се региструје
+ title: Подешавања сервера
+ site_uploads:
+ delete: Обриши отпремљени фајл
+ destroyed_msg: Отпремање успешно обрисано!
statuses:
+ account: Аутор
+ application: Апликација
back_to_account: Назад на страну налога
+ back_to_report: Назад на страницу са пријавама
+ batch:
+ remove_from_report: Уклоните из пријаве
+ report: Пријави
+ deleted: Обрисано
+ favourites: Омиљено
+ history: Историја верзијâ
+ in_reply_to: Одговор на
+ language: Језик
media:
title: Мултимедија
+ metadata: Мета подаци
no_status_selected: Ниједан статус није промењен јер ниједан није изабран
+ open: Отвори објаву
+ original_status: Оригинална објава
+ reblogs: Дељења
+ status_changed: Објава промењена
title: Статуси налога
+ trending: У тренду
+ visibility: Видљивост
with_media: Са мултимедијом
+ strikes:
+ actions:
+ delete_statuses: "%{name} је обрисао/-ла објаве %{target}"
+ disable: "%{name} је замрзнуо налог корисника %{target}"
+ mark_statuses_as_sensitive: "%{name} је означио/-ла објаве корисника %{target} као осетљиве"
+ none: "%{name} је послао/-ла упозорење кориснику %{target}"
+ sensitive: "%{name} је обележио/-ла налог %{target} као осетљив"
+ silence: "%{name} је ограничио/-ла налог %{target}"
+ suspend: "%{name} је суспендовао/-ла налог %{target}"
+ appeal_approved: Жалба уважена
+ appeal_pending: Жалба у разматрању
+ appeal_rejected: Жалба одбијена
+ system_checks:
+ database_schema_check:
+ message_html: Селидбе базâ података су на чекању. Молимо Вас обавите их да би се апликација понашала како треба
+ elasticsearch_running_check:
+ message_html: Повезивање на Elasticsearch није било могуће. Молимо Вас проверите да ли је покренут, или онемогућите претрагу целог текста
+ elasticsearch_version_check:
+ message_html: 'Неусклађена Elasticsearch верзија: %{value}'
+ version_comparison: Elasticsearch %{running_version} је инсталиран а %{required_version} је неопходан
+ rules_check:
+ action: Управљање правилима сервера
+ message_html: Нисте дефинисали ниједно правило сервера.
+ sidekiq_process_check:
+ message_html: Ниједан Sidekiq процес није покренут за ред(ове) %{value}. Молимо Вас прегледајте своју Sidekiq конфигурацију
+ tags:
+ review: Прегледај статус
+ updated_msg: Подешавања хеш ознака успешно ажурирана
title: Администрација
+ trends:
+ allow: Дозволи
+ approved: Одобрено
+ disallow: Забрани
+ links:
+ allow: Дозволи линк
+ allow_provider: Дозволи издавача
+ description_html: Ово су линкови који се тренутно често деле међу налозима које Ваш сервер види. Може помоћи Вашим корисницима да сазнају шта се дешава у свету. Ниједан линк није јавно приказан све док Ви не одобрите издавача. Такође можете да дозволите или одбијете засебне линкове.
+ disallow: Забрани линк
+ disallow_provider: Забрани издавача
+ no_link_selected: Ниједан линк није промењен јер ниједан није изабран
+ publishers:
+ no_publisher_selected: Ниједан издавач није промењен јер ниједан није изабран
+ shared_by_over_week:
+ few: Подељен од стране %{count} особе током претходне недеље
+ one: Подељен од стране једне особе током претходне недеље
+ other: Подељен од стране %{count} особа током претходне недеље
+ title: Линкови у тренду
+ usage_comparison: Подељено %{today} пута данас, у поређењу са %{yesterday} пута јуче
+ not_allowed_to_trend: Није одобрено за тренд
+ only_allowed: Само дозвољено
+ pending_review: Преглед на чекању
+ preview_card_providers:
+ allowed: Линкови са овог извора могу да буду „у тренду”
+ description_html: Ово су домени чији се линкови често деле на Вашем серверу. Линкови неће бити јавно приказани као „у тренду” осим уколико је домен линкова одобрен. Ваше одобрење (или одбијање) се преноси и на поддомене.
+ rejected: Линкови са овог извора неће бити „у тренду”
+ title: Издавачи
+ rejected: Одбијен
+ statuses:
+ allow: Дозволи објаву
+ allow_account: Одобри аутора
+ description_html: Ово су објаве за које Ваш сервер зна, а које се тренутно често деле и које корисници често стављају у „омиљене”. Могу помоћи Вашим новим корисницима и повратницима да пронађу још људи за праћење. Ниједна објава није приказана јавно све док Ви не одобрите аутора, односно док аутор не дозволи да његов/њен налог буде препоручен другима. Такође можете да одобрите или одбијете засебне објаве.
+ disallow: Забрани објаву
+ disallow_account: Забрани аутора
+ no_status_selected: Ниједна објава у тренду није промењена јер ниједна није изабрана
+ not_discoverable: Аутор није дао сагласност да буде препоручен
+ shared_by:
+ few: Подељено и стављено у „омиљене” %{friendly_count} пута
+ one: Подељено или стављено у „омиљене” једном
+ other: Подељено и стављено у „омиљене” %{friendly_count} пута
+ title: Објаве у тренду
+ tags:
+ current_score: Тренутна вредност %{score}
+ dashboard:
+ tag_accounts_measure: јединствене употребе
+ tag_languages_dimension: Најзаступљенији језици
+ tag_servers_dimension: Најактивнији сервери
+ tag_servers_measure: различити сервери
+ tag_uses_measure: укупно употреба
+ description_html: Ово су хеш ознаке које се тренутно често појављују у објавама које Ваш сервер види. Могу помоћи Вашим корисницима да открију о чему се тренутно највише говори. Ниједна хеш ознака није приказана јавно све док Ви то не одобрите.
+ listable: Може се препоручити
+ no_tag_selected: Ниједна ознака није измењена јер ниједна није изабрана
+ not_listable: Неће бити препоручено
+ not_trendable: Неће се појављивати у трендовима
+ not_usable: Не може се користити
+ peaked_on_and_decaying: Врхунац достигнут датума %{date}, од тада у опадању
+ title: Хеш ознаке у тренду
+ trendable: Може да се појави под трендовима
+ trending_rank: 'У тренду #%{rank}'
+ usable: Може се користити
+ usage_comparison: Употребљено %{today} пута данас, у поређењу са %{yesterday} пута јуче
+ used_by_over_week:
+ few: Коришћено од стране %{count} особе током претходне недеље
+ one: Коришћено од стране једне особе током претходне недеље
+ other: Коришћено од стране %{count} људи током претходне недеље
+ title: Трендови
+ trending: У тренду
warning_presets:
add_new: Додај нови
delete: Избриши
edit_preset: Уреди пресет упозорења
+ empty: Још увек нисте дефинисали ниједан шаблон упозорења.
title: Управљај пресетима упозорења
+ webhooks:
+ add_new: Додај крајњу тачку
+ delete: Избриши
+ description_html: "Webhook омогућава Мастодону да Вашој апликацији испоручује обавештења у реалном времену о одабраним догађајима, тако да Ваша апликација може да aутоматски изазове реакцију."
+ disable: Онемогући
+ disabled: Онемогућено
+ edit: Измени крајњу тачку
+ empty: Још увек немате ниједну конфигурисану webhook крајњу тачку.
+ enable: Омогући
+ enabled: Активно
+ enabled_events:
+ few: "%{count} омогућена догађаја"
+ one: 1 омогућен догађај
+ other: "%{count} омогућених догађаја"
+ events: Догађаји
+ new: Нови webhook
+ rotate_secret: Ротација тајни
+ secret: Тајно потписивање
+ status: Статус
+ title: Веб-пресретач
+ webhook: Веб-пресретач
admin_mailer:
+ new_appeal:
+ actions:
+ delete_statuses: обрисати објаве корисника
+ disable: замрзнути налог корисника
+ mark_statuses_as_sensitive: означити објаве корисника као осетљиве
+ none: упозорење
+ sensitive: означити налог као осетљив
+ silence: ограничити налог
+ suspend: суспендовати налог
+ body: "%{target} прилаже жалбу на модерацијску одлуку корисника %{action_taken_by} од %{date}, која је гласила %{type}. У жалби пише:"
+ next_steps: Можете уважити жалбу да бисте повукли модерацијску одлуку, или је можете игнорисати.
+ subject: "%{username} прилаже жалбу на модерацијску одлуку са %{instance}"
+ new_pending_account:
+ body: Детаљи новог налога су наведени доле. Можете одобрити или одбити овај захтев.
+ subject: Нов налог за преглед на %{instance} (%{username})
new_report:
body: "%{reporter} је пријавио %{target}"
body_remote: Нека са домена %{domain} је пријавио %{target}
subject: Нова пријава за %{instance} (#%{id})
+ new_trends:
+ body: 'Следеће ставке је потребно прегледати пре него што могу јавно да се прикажу:'
+ new_trending_links:
+ title: Линкови у тренду
+ new_trending_statuses:
+ title: Објаве у тренду
+ new_trending_tags:
+ no_approved_tags: Тренутно нема одобрених хеш ознака у тренду.
+ requirements: 'Било који од следећих кандидата би могао превазићи #%{rank} одобрену хеш ознаку у тренду, која је тренутно #%{lowest_tag_name} са вредношћу %{lowest_tag_score}.'
+ title: Хеш ознаке у тренду
+ subject: Нови трендови за преглед на %{instance}
+ aliases:
+ add_new: Направи псеудоним
+ created_msg: Успешно је направљен нови псеудоним. Сада можете иницирати пресељење са старог налога.
+ deleted_msg: Успешно је уклоњен псеудоним. Премештање са тог налога на овај више неће бити могуће.
+ empty: Немате ниједан псеудоним.
+ hint_html: Ако желите да се преселите са другог налога на овај, овде можете направити псеудоним, који је неопходан пре него што можете наставити са пребацивањем пратилаца са старог налога на овај. Ова радња сама по себи је безопасна и реверзибилна. Пресељење налога се иницира са старог налога.
+ remove: Одвежи псеудоним
appearance:
advanced_web_interface: Напредно веб окружење
advanced_web_interface_hint: 'Ако желите да искористите целу ширину екрана, напредно веб окружење вам омогућује да конфигуришете много различитих колона да бисте видели онолико информација у исто време колико желите: почетну страницу, обавештења, здружену временску линију, било који број листа и хеш ознака.'
@@ -386,11 +970,13 @@ sr:
discovery: Откривање
localization:
body: Mastodon преводе добровољци.
+ guide_link: https://crowdin.com/project/mastodon
guide_link_text: Свако може допринети.
sensitive_content: Осетљив садржај
toot_layout: Распоред објава
application_mailer:
notification_preferences: Промени преференце Е-поште
+ salutation: Поштовани %{name},
settings: 'Промени подешавања е-поште: %{link}'
view: 'Погледај:'
view_profile: Погледај налог
@@ -398,32 +984,71 @@ sr:
applications:
created: Апликација успешно направљена
destroyed: Апликација успешно обрисана
+ logout: Одјава
regenerate_token: Рекреирај приступни токен
token_regenerated: Приступни токен успешно рекреиран
warning: Опрезно са овим подацима. Никад је не делите ни са ким!
your_token: Ваш приступни токен
auth:
+ apply_for_account: Затражите налог
change_password: Лозинка
- delete_account: Обриши налог
- delete_account_html: Ако желите да обришете Ваш налог, можете наставити овде. Бићете упитани да потврдите.
+ confirmations:
+ wrong_email_hint: Ако та имејл адреса није исправна, можете је променити у подешавањима налога.
+ delete_account: Брисање налога
+ delete_account_html: Ако желите да избришете ваш налог, можете наставити овде. Од вас ће се тражити потврда.
+ description:
+ prefix_invited_by_user: "@%{name} Вас позива да се придружите овом серверу Мастодона!"
+ prefix_sign_up: Придружите се Мастодону данас!
+ suffix: Са налогом, моћи ћете да пратите људе, објављујете новости и размењујете поруке са корисницима било ког Мастодон сервера и више!
didnt_get_confirmation: Нисте добили поруку са упутствима за потврду налога?
+ dont_have_your_security_key: Немате сигурносни кључ?
forgot_password: Заборавили сте лозинку?
invalid_reset_password_token: Токен за ресетовање лозинке је неисправан или је истекао. Затражите нови.
+ link_to_otp: Унесите двофакторски код са свог телефона или резервни код
+ link_to_webauth: Користите свој сигурносни кључ
+ log_in_with: Пријавите се помоћу
login: Пријави се
logout: Одјава
- migrate_account: Помери у други налог
+ migrate_account: Премештање у други налог
migrate_account_html: Ако желите да преусмерите овај налог на неки други, можете то подесити овде.
or_log_in_with: Или се пријавите са
+ privacy_policy_agreement_html: Прочитао/-ла сам и сагласан/-а сам са политиком приватности
providers:
cas: CAS-ом
saml: SAML-ом
register: Региструј се
+ registration_closed: "%{instance} не прима нове чланове"
resend_confirmation: Пошаљи поруку са упутствима о потврди налога поново
reset_password: Ресетуј лозинку
+ rules:
+ accept: Прихвати
+ back: Назад
+ preamble: Ово су правила која су успоставили и која спроводе модератори сервера %{domain}.
+ title: Нека основна правила.
security: Безбедност
set_new_password: Постави нову лозинку
+ setup:
+ email_below_hint_html: Ако је имејл адреса испод неисправна, можете је променити овде и добити нови имејл потврде.
+ email_settings_hint_html: Имејл потврде је послат на %{email}. Ако та имејл адреса није исправна, можете је променити у подешавањима налога.
+ title: Постављање
+ sign_in:
+ preamble_html: Пријавите се са својим подацима за %{domain}. Ако се Ваш налог налази на другом серверу, нећете моћи да се пријавите овде.
+ title: Пријавите се на %{domain}
+ sign_up:
+ preamble: Са налогом на овом Мастодон серверу, моћи ћете да пратите било кога са мреже, без обзира на то на ком серверу се његов/њен налог налази.
+ title: Хајде да Вам наместимо налог на %{domain}.
+ status:
+ account_status: Статус налога
+ confirming: Чекање на потврду путем имејла.
+ functional: Ваш налог је потпуно оперативан.
+ pending: Ваш захтев је на чекању за преглед од стране нашег особља. Ово може потрајати неко време. Примићете имејл поруку уколико Вам захтев буде одобрен.
+ redirecting_to: Ваш налог је неактиван јер преусмерава на %{acct}.
+ view_strikes: Погледајте претходне преступе уписане на Ваше име
+ too_fast: Формулар је поднет пребрзо, покушајте поново.
+ use_security_key: Користите сигурносни кључ
authorize_follow:
already_following: Већ пратите овај налог
+ already_requested: Већ сте послали захтев за праћење том налогу
error: Нажалост, десила се грешка при тражењу удаљеног налога
follow: Запрати
follow_request: 'Послали сте захтев за праћењен за:'
@@ -433,25 +1058,87 @@ sr:
return: Врати се на налог овог корисника
web: Иди на веб
title: Запрати %{acct}
+ challenge:
+ confirm: Настави
+ hint_html: "Савет: Нећемо Вас питати за лозинку поново у наредних сат времена."
+ invalid_password: Неисправна лозинка
+ prompt: Потврдите лозинку за наставак
+ crypto:
+ errors:
+ invalid_key: није валидан Ed25519 или Curve25519 кључ
+ invalid_signature: није валидан Ed25519 потпис
+ date:
+ formats:
+ default: "%d. %b. %Y."
+ with_month_name: "%d. %B %Y."
datetime:
distance_in_words:
+ about_x_hours: "%{count} ч."
about_x_months: "%{count}месец"
about_x_years: "%{count}год"
almost_x_years: "%{count}год"
half_a_minute: Управо сад
+ less_than_x_minutes: "%{count} мин."
less_than_x_seconds: Управо сад
over_x_years: "%{count}год"
x_days: "%{count}д"
+ x_minutes: "%{count} мин."
x_months: "%{count}месец"
+ x_seconds: "%{count} сек."
deletes:
+ challenge_not_passed: Лозинка коју сте унели није била исправна
confirm_password: Унесите тренутну лозинку да бисмо проверили Ваш идентитет
+ confirm_username: Унесите своје корисничко име да бисте потврдили процедуру
proceed: Обриши налог
success_msg: Ваш налог је успешно обрисан
+ warning:
+ before: 'Пре него што наставите, молимо Вас пажљиво прочитајте следеће напомене:'
+ caches: Садржај који је кеширан на другим серверима може да остане нетакнут
+ data_removal: Ваше објаве и други подаци ће бити трајно избрисани
+ email_change_html: Можете променити своју имејл адресу без брисања свог налога
+ email_contact_html: Ако порука и даље не стиже, можете послати мејл на %{email} за помоћ
+ email_reconfirmation_html: Уколико Вам имејл за потврду не стиже, можете га поново затражити
+ irreversible: Нећете бити у могућности да вратите или реактивирате свој налог
+ more_details_html: За више детаља, погледајте политику приватности.
+ username_available: Ваше корисничко име ће поново постати доступно
+ username_unavailable: Ваше корисничко име ће остати недоступно
+ disputes:
+ strikes:
+ action_taken: Радња предузета
+ appeal: Жалба
+ appeal_approved: Жалба на овај преступ је уважена и преступ више није валидан
+ appeal_rejected: Жалба је одбијена
+ appeal_submitted_at: Жалба је приложена
+ appealed_msg: Ваша жалба је приложена. Бићете обавештени уколико она буде била уважена.
+ appeals:
+ submit: Приложи жалбу
+ approve_appeal: Уважи жалбу
+ associated_report: Сродна пријава
+ created_at: Датум
+ description_html: Ово су радње предузете против Вашег налога и упозорења која су Вам послали чланови особља %{instance}.
+ recipient: Усмерено према
+ reject_appeal: Одбиј жалбу
+ status: 'Објава #%{id}'
+ status_removed: Објава је већ уклоњена из система
+ title: "%{action} од %{date}"
+ title_actions:
+ delete_statuses: Брисање објава
+ disable: Замрзавање налога
+ mark_statuses_as_sensitive: Означавање објава као осетљивих
+ none: Упозорење
+ sensitive: Означавање налога као осетљивог
+ silence: Ограничење налога
+ suspend: Суспензија налога
+ your_appeal_approved: Ваша жалба је уважена
+ your_appeal_pending: Приложили сте жалбу
+ your_appeal_rejected: Ваша жалба је одбијена
+ domain_validator:
+ invalid_domain: нелегитимно име домена
errors:
- '400': The request you submitted was invalid or malformed.
+ '400': Захтев који сте поднели је био нелегитиман или у погрешном формату.
'403': Немате дозвола да видите ову страну.
'404': Страна коју сте тражили не постоји.
- '406': This page is not available in the requested format.
+ '406': Ова страница није доступна у изабраном формату.
'410': Страна коју сте тражили више не постоји.
'422':
content: Безбедоносна провера није успела. Да не блокирате колачиће?
@@ -460,49 +1147,117 @@ sr:
'500':
content: Извињавамо се, нешто је пошло по злу са ове стране.
title: Страна није исправна
- '503': The page could not be served due to a temporary server failure.
+ '503': Страницу није било могуће доставити услед привременoг пада сервера.
noscript_html: Да бисте користили Мастодонт веб апликацију, омогућите JavaScript. У супротном, пробајте неку од оригиналних апликација за Мастодонт за Вашу платформу.
+ existing_username_validator:
+ not_found: није било могуће пронаћи локалног корисника са тим корисничким именом
+ not_found_multiple: није било могуће пронаћи %{usernames}
exports:
archive_takeout:
date: Датум
download: Преузмите Вашу архиву
- hint_html: Можете затражити архиву ваших труба и отпремљених медија. Извезени подаци ће бити у АктивитиПаб формату, који можете читати са било којим усаглашеним софтвером. Архиву можете затражити сваких 7 дана.
+ hint_html: Можете затражити архиву ваших објава и отпремљених медија. Извезени подаци ће бити у ActivityPub формату, који може читати било који компатибилан софтвер. Архиву можете затражити сваких 7 дана.
in_progress: Састављање ваше архиве...
- request: Затражите Вашу архиву
+ request: Затражите своју архиву
size: Величина
blocks: Блокирали сте
+ bookmarks: Обележивачи
+ csv: CSV
domain_blocks: Блокови домена
lists: Листе
- mutes: Ућуткали сте
+ mutes: Игноришете
storage: Мултимедијално складиште
+ featured_tags:
+ add_new: Додај нову
+ errors:
+ limit: Већ сте истакли максималан број хеш ознака
+ hint_html: "Шта су истакнуте хеш онаке? Оне се приказују истакнуто на вашем јавном профилу и омогућују људима да прегледају ваше јавне објаве конкретно под тим хеш ознакама. Оне су сјајан алат за праћење креативних радова или дугорочних пројеката."
filters:
contexts:
+ account: Профили
home: Временска линија почетне
notifications: Обавештења
public: Јавне временске линије
thread: Разговори
edit:
+ add_keyword: Додај кључну реч
+ keywords: Кључне речи
+ statuses: Засебне објаве
+ statuses_hint_html: Овај филтер важи за одабране засебне објаве без обзира на то да ли садрже кључне речи наведене испод. Прегледајте или уклоните објаве из филтера.
title: Измени филтер
errors:
+ deprecated_api_multiple_keywords: Ови параметри не могу бити промењени у овој апликацији зато што се односе на више од једне кључне речи. Користите ажурнију апликацију или веб интерфејс.
invalid_context: Ниједан или неважећи контекст испоручен
index:
+ contexts: Филтрира у %{contexts}
delete: Избриши
+ empty: Немате филтере.
+ expires_in: Истиче за %{distance}
+ expires_on: Истиче датума %{date}
+ keywords:
+ few: "%{count} кључне речи"
+ one: "%{count} кључна реч"
+ other: "%{count} кључних речи"
+ statuses:
+ few: "%{count} објаве"
+ one: "%{count} објава"
+ other: "%{count} објава"
+ statuses_long:
+ few: "%{count} засебне објаве сакривене"
+ one: "%{count} засебна објава сакривена"
+ other: "%{count} засебних објава сакривено"
title: Филтери
new:
+ save: Сачувај нови филтер
title: Додај нови филтер
+ statuses:
+ back_to_filter: Назад на филтер
+ batch:
+ remove: Уклони из филтера
+ index:
+ hint: Овај филтер важи за одабране засебне објаве без обзира на друге критеријуме. Можете да додате више објава у овај филтер путем веб интерфејса.
+ title: Филтриране објаве
generic:
+ all: Сви
+ all_items_on_page_selected_html:
+ few: Све %{count} ставке са ове странице су изабране.
+ one: "%{count} ставка са ове странице је изабрана."
+ other: Свих %{count} ставки са ове странице је изабрано.
+ all_matching_items_selected_html:
+ few: Све %{count} ставке које се поклапају са Вашом претрагом су изабране.
+ one: "%{count} ставка која се поклапа са Вашом претрагом је изабрана."
+ other: Свих %{count} ставки које се поклапају са Вашом претрагом су изабране.
changes_saved_msg: Измене успешно сачуване!
copy: Копирај
+ delete: Избриши
+ deselect: Поништи све изборе
+ none: Ниједна
+ order_by: Сортирај према
save_changes: Сачувај промене
+ select_all_matching_items:
+ few: Одаберите све %{count} ставке које се поклапају са Вашом претрагом.
+ one: Одаберите %{count} ставку која се поклапа са Вашом претрагом.
+ other: Одаберите свих %{count} ставки које се поклапају са Вашом претрагом.
+ today: данас
validation_errors:
few: Нешто није баш како треба! Прегледајте %{count} грешке испод
one: Нешто није баш како треба! Прегледајте грешке испод
other: Нешто није баш како треба! Прегледајте %{count} грешака испод
imports:
+ errors:
+ invalid_csv_file: 'Неисправан CSV фајл. Грешка: %{error}'
+ over_rows_processing_limit: садржи више од %{count} редова
+ modes:
+ merge: Стапање
+ merge_long: Задржите постојеће записе и додајте нове
+ overwrite: Замени
+ overwrite_long: Замени тренутне записе новима
preface: Можете увести податке које сте извезли са друге инстанце, као што су листе људи које сте пратили или блокирали.
success: Ваши подаци су успешно отпремљени и биће обрађени ускоро
types:
blocking: Листа блокирања
+ bookmarks: Обележивачи
+ domain_blocking: Листа блокираних домена
following: Листа пратилаца
muting: Листа ућутканих
upload: Отпреми
@@ -529,15 +1284,70 @@ sr:
expires_at: Истиче
uses: Коришћења
title: Позовите људе
+ lists:
+ errors:
+ limit: Достигли сте максимални број листâ
+ login_activities:
+ authentication_methods:
+ otp: апликација за двофакторску аутентификацију
+ password: лозинка
+ sign_in_token: имејл сигурносни код
+ webauthn: сигурносни кључеви
+ description_html: Уколико приметите активност коју не препознајете, размислите о томе да промените своју лозинку и укључите двофакторску аутентификацију.
+ empty: Историја аутентификације није доступна
+ failed_sign_in_html: Неуспешан покушај пријављивања путем %{method} са %{ip} (%{browser})
+ successful_sign_in_html: Успешан покушај пријављивања путем %{method} са %{ip} (%{browser})
+ title: Историја аутентификације
media_attachments:
validations:
images_and_video: Не може да се прикачи видео на статус који већ има слике
+ not_ready: Не могу се приложити фајлови који још увек нису обрађени. Покушајте поново за који тренутак!
too_many: Не може се прикачити више од 4 фајла
migrations:
acct: корисник@домен новог налога
+ cancel: Откажи преусмерење
+ cancel_explanation: Отказивање преусмерења ће поново активирати Ваш садашњи налог, али неће вратити пратиоце који су премештени на други налог.
+ cancelled_msg: Успешно је отказано преусмерење.
+ errors:
+ already_moved: већ сте се преселили на исти налог
+ missing_also_known_as: није псеудоним овог налога
+ move_to_self: не можете се преселити на садашњи налог
+ not_found: није било могуће пронаћи налог
+ on_cooldown: Под ограничењем сте
+ followers_count: Пратиоци у тренутку премештаја
+ incoming_migrations: Премештање из другог налога
+ incoming_migrations_html: Да бисте прешли са другог налога на овај, прво морате креирате псеудоним налога.
+ moved_msg: Ваш налог сада преусмерава на %{acct} и Ваши пратиоци се тренутно пребацују.
+ not_redirecting: Ваш налог тренутно не преусмерава ни на један други налог.
+ on_cooldown: Недавно сте се преселили на нови налог. Ова функција ће Вам поново постати доступна за %{count} дана.
+ past_migrations: Претходне селидбе
+ proceed_with_move: Пребаците пратиоце
+ redirected_msg: Ваш налог сада преусмерава на %{acct}.
+ redirecting_to: Ваш налог преусмерава на %{acct}.
+ set_redirect: Постави преусмерење
+ warning:
+ backreference_required: Нови налог прво мора бити конфигурисан тако да реферише на овај налог
+ before: 'Пре него што наставите, молимо Вас пажљиво прочитајте следеће напомене:'
+ cooldown: Након пресељења потребно је да прође одређено време пре него што ћете поново моћи да се преселите
+ disabled_account: Ваш тренутни налог више неће бити употребљив. Међутим, имаћете приступ извозу података као и реактивацији.
+ followers: Ова радња ће преместити све пратиоце са тренутног налога на нови налог
+ only_redirect_html: Уместо пресељења, можете само додати преусмеравајући линк на свој профил..
+ other_data: Остали подаци неће бити аутоматски пребачени
+ redirect: Профил Вашег садашњег налога ће бити ажуриран са обавештењем о преусмерењу и биће искључен из претраге
moderation:
title: Модерација
+ move_handler:
+ carry_blocks_over_text: Овај корисник се преселио са налога %{acct}, који сте блокирали.
+ carry_mutes_over_text: Овај корисник се преселио са налога %{acct}, који сте утишали.
+ copy_account_note_text: 'Овај корисник се преселио са налога %{acct}, о коме сте записали следеће белешке:'
+ navigation:
+ toggle_menu: Прикажи/сакриј мени
notification_mailer:
+ admin:
+ report:
+ subject: "%{name} је поднео/-ла пријаву"
+ sign_up:
+ subject: "%{name} се регистровао/-ла"
favourite:
body: "%{name} је поставио као омиљен Ваш статус:"
subject: "%{name} је поставио као омиљен Ваш статус"
@@ -556,39 +1366,112 @@ sr:
body: "%{name} Вас је поменуо у:"
subject: "%{name} Вас је поменуо"
title: Ново спомињање
+ poll:
+ subject: Анкета корисника %{name} се завршила
reblog:
body: "%{name} Вам је подржао/ла статус:"
subject: "%{name} је подржао/ла Ваш статус"
title: Нова подршка
+ status:
+ subject: "%{name} jе управо поставио/-ла објаву"
+ update:
+ subject: "%{name} је изменио/-ла објаву"
notifications:
email_events: Догађаји за обавештења е-поштом
email_events_hint: 'Изаберите дешавања за која желите да примате обавештења:'
other_settings: Остала подешавања обавештења
+ number:
+ human:
+ decimal_units:
+ format: "%n %u"
+ units:
+ billion: млрд.
+ million: мил.
+ quadrillion: трил.
+ thousand: хиљ.
+ trillion: бил.
+ otp_authentication:
+ code_hint: Укуцајте код генерисан у Вашој апликацији за аутентификацију да бисте потврдили
+ description_html: Ако укључите двофакторску аутентификацију путем апликације за аутентификацију, мораћете да будете при телефону приликом пријављивања да бисте имали приступ генерисаним кодовима за пријаву.
+ enable: Омогући
+ instructions_html: "Скенирајте овај QR код помоћу Google аутентификатора или сличне апликације на свом телефону. Од сада па убудуће, та апликација ће генерисати приступне кодове које ћете морати да унесете приликом пријављивања."
+ manual_instructions: 'Ако не можете да скенирате QR код и морате да га унесете ручно, ево његове текстуалне шифре:'
+ setup: Инсталација
+ wrong_code: Унесени код је био неисправан! Да ли су време сервера и време уређаја исправни?
pagination:
newer: Новије
next: Следеће
older: Старије
prev: Претходни
+ truncate: "…"
+ polls:
+ errors:
+ already_voted: Већ сте гласали у овој анкети
+ duplicate_options: садржи дупликате
+ duration_too_long: превише је далеко у будућности
+ duration_too_short: превише је скоро
+ expired: Анкета је већ завршена
+ invalid_choice: Изабрана опција не постоји
+ over_character_limit: не може бити дуже од по %{max} карактера
+ too_few_options: мора имати више од једне опције
+ too_many_options: не може да садржи више од %{max} опција
preferences:
other: Остало
posting_defaults: Подразумевана подешавања објављивања
public_timelines: Јавне временске линије
+ privacy_policy:
+ title: Политика приватности
+ reactions:
+ errors:
+ limit_reached: Достигнуто је ограничење различитих реакција
+ unrecognized_emoji: није препознат емоџи
+ relationships:
+ activity: Активност налога
+ confirm_follow_selected_followers: Да ли сте сигурни да желите да пратите изабране пратиоце?
+ confirm_remove_selected_followers: Да ли сте сигурни да желите да уклоните изабране пратиоце?
+ confirm_remove_selected_follows: Да ли сте сигурни да желите да уклоните изабрана праћења?
+ dormant: Неактиван
+ follow_failure: Није могуће пратити неке од изабраних налога.
+ follow_selected_followers: Прати изабране пратиоце
+ followers: Пратиоци
+ following: Праћења
+ invited: Позван
+ last_active: Последњи пут активан
+ most_recent: Најновији
+ moved: Премештен
+ mutual: Заједнички
+ primary: Примарни
+ relationship: Однос
+ remove_selected_domains: Уклони све пратиоце са изабраних домена
+ remove_selected_followers: Уклони изабране пратиоце
+ remove_selected_follows: Отпрати изабране кориснике
+ status: Статус налога
remote_follow:
missing_resource: Не могу да нађем захтевану адресу преусмеравања за Ваш налог
+ reports:
+ errors:
+ invalid_rules: не реферише на легитимна правила
+ rss:
+ content_warning: 'Упозорење о садржају:'
+ descriptions:
+ account: Јавне објаве са @%{acct}
+ tag: 'Јавне објаве означене са #%{hashtag}'
scheduled_statuses:
- over_daily_limit: Прекорачили сте границу од %{limit} планираних труба за тај дан
- over_total_limit: Прекорачили сте границу од %{limit} планираних труба
+ over_daily_limit: Прекорачили сте границу од %{limit} планираних објава за данас
+ over_total_limit: Прекорачили сте границу од %{limit} планираних објава
too_soon: Планирани датум мора бити у будућности
sessions:
activity: Последња активност
browser: Веб читач
browsers:
alipay: Алипеј
- chrome: Хром
+ blackberry: Блекбери
+ chrome: Chrome
edge: Мајкрософт Еџ
electron: Електрон
firefox: Фајерфокс
generic: Непознати веб читач
+ huawei_browser: Huawei прегледач
ie: Интернет Експлорер
micro_messenger: МајкроМесенџер
nokia: Нокија С40 Ови Претраживач
@@ -597,25 +1480,35 @@ sr:
phantom_js: ФантомЏејЕс
qq: КјуКју Претраживач
safari: Сафари
+ uc_browser: UC Browser
+ unknown_browser: Непознати прегледач
weibo: Веибо
current_session: Тренутна сесија
description: "%{browser} са %{platform}"
explanation: Ово су веб претраживачи који су тренутно пријављени на Ваш Мастодон налог.
+ ip: IP
platforms:
adobe_air: Адоб Ер-а
android: Андроида
+ blackberry: Блекбери
+ chrome_os: ChromeOS
firefox_os: Фајерфокс ОС-а
ios: иОС-а
+ kai_os: KaiOS
linux: Линукса
mac: Мека
- other: непознате платформе
- windows: Виндоуза
- windows_mobile: Виндоуз мобилног
- windows_phone: Виндоуз телефона
+ unknown_platform: Непозната платформа
+ windows: Windows
+ windows_mobile: Windows Mobile
+ windows_phone: Windows Phone
revoke: Опозови
revoke_success: Сесија успешно опозвана
title: Сесије
+ view_authentication_history: Погледајте историју аутентификације вашег налога
settings:
+ account: Налог
+ account_settings: Подешавања налога
+ aliases: Псеудоними налога
appearance: Изглед
authorized_apps: Ауторизоване апликације
back: Назад на Мастодон
@@ -623,6 +1516,7 @@ sr:
development: Развој
edit_profile: Уређивање профила
export: Извоз података
+ featured_tags: Истакнуте хеш ознаке
import: Увоз
import_and_export: Увоз и извоз
migrate: Пребацивање налога
@@ -630,9 +1524,16 @@ sr:
preferences: Подешавања
profile: Налог
relationships: Праћења и пратиоци
+ statuses_cleanup: Аутоматско брисање објава
+ strikes: Модерацијски преступи
two_factor_authentication: Двофакторска идентификација
+ webauthn_authentication: Сигурносни кључеви
statuses:
attached:
+ audio:
+ few: "%{count} аудио записа"
+ one: "%{count} аудио запис"
+ other: "%{count} аудио записа"
description: 'У прилогу: %{attached}'
image:
few: "%{count} слика"
@@ -649,58 +1550,166 @@ sr:
few: 'садржи забрањене хештегове: %{tags}'
one: 'садржи забрањени хештег: %{tags}'
other: 'садржи забрањене хештегове: %{tags}'
+ edited_at_html: Измењено %{date}
+ errors:
+ in_reply_not_found: Објава на коју покушавате да одговорите наизглед не постоји.
open_in_web: Отвори у вебу
over_character_limit: ограничење од %{max} карактера прекорачено
pin_errors:
- limit: Већ имате прикачен највећи број труба
+ direct: Објаве које су видљиве само поменутим корисницима не могу бити прикачене
+ limit: Већ сте закачили максималан број објава
ownership: Туђа објава се не може закачити
reblog: Подршка не може да се прикачи
+ poll:
+ total_people:
+ few: "%{count} особе"
+ one: "%{count} особа"
+ other: "%{count} људи"
+ total_votes:
+ few: "%{count} гласа"
+ one: "%{count} глас"
+ other: "%{count} гласова"
+ vote: Гласајте
show_more: Прикажи још
+ show_newer: Никад не приказуј
+ show_older: Прикажи старије
+ show_thread: Прикажи низ
sign_in_to_participate: Пријавите се да учествујете у разговору
+ title: "%{name}: „%{quote}”"
visibilities:
+ direct: Директно
private: Само пратиоци
private_long: Прикажи само пратиоцима
public: Јавно
public_long: Свако може да види
unlisted: Неизлистано
unlisted_long: Свако може да види, али није излистано на јавним временским линијама
+ statuses_cleanup:
+ enabled: Аутоматски избриши старе објаве
+ enabled_hint: Аутоматски брише ваше објаве када достигну одређени старосни праг, осим ако се не подударају са једним од изузетака у наставку
+ exceptions: Изузеци
+ explanation: Пошто је брисање објава скупа операција, ово се ради полако током времена када сервер иначе није заузет. Из тог разлога, ваше објаве могу бити избрисане неко време након што достигну старосни праг.
+ ignore_favs: Игнориши омиљене
+ ignore_reblogs: Игнориши подржавања
+ interaction_exceptions: Изузеци засновани на интеракцијама
+ interaction_exceptions_explanation: Имајте на уму да не постоји гаранција да ће објаве бити избрисане ако број означавања као омиљених или број подржавања падне испод прага након што га премаше.
+ keep_direct: Задржи директне поруке
+ keep_direct_hint: Не брише ниједну од ваших директних порука
+ keep_media: Задржи објаве са медијским прилозима
+ keep_media_hint: Не брише ниједну од ваших објава које имају медијске прилоге
+ keep_pinned: Задржи закачене објаве
+ keep_pinned_hint: Не брише ниједну од ваших закачених објава
+ keep_polls: Задржи анкете
+ keep_polls_hint: Не брише ниједну од ваших анкета
+ keep_self_bookmark: Задржи објаве које сте додали у обележиваче
+ keep_self_bookmark_hint: Не брише ваше сопствене објаве ако сте их додлаи у обележиваче
+ keep_self_fav: Задржи омиљене објаве
+ keep_self_fav_hint: Не брише ваше сопствене објаве ако сте их означили као омиљене
+ min_age:
+ '1209600': 2 седмице
+ '15778476': 6 месеци
+ '2629746': 1 месец
+ '31556952': 1 година
+ '5259492': 2 месеца
+ '604800': 1 седмица
+ '63113904': 2 годинe
+ '7889238': 3 месеца
+ min_age_label: Старосни праг
+ min_favs: Задржи објаве означене као омиљене најмање
+ min_favs_hint: Не брише ниједну вашу објаву која је добила најмање овај број омиљених. Оставите празно за брисање објава без обзира на њихов број омиљених
+ min_reblogs: Задржи објаве подржане барем
+ min_reblogs_hint: Не брише ниједну вашу објаву која је била подржана најмање оволико пута. Оставите празно за брисање објава без обзира на њихов број подржавања
stream_entries:
pinned: Закачена објава
reblogged: подржано
sensitive_content: Осетљив садржај
+ strikes:
+ errors:
+ too_late: Истекао је рок за подношење жалбе на забележен преступ
+ tags:
+ does_not_match_previous_name: не поклапа се са претходним именом
themes:
contrast: Велики контраст
default: Мастодон
mastodon-light: Мастодон (светло)
+ time:
+ formats:
+ default: "%d %b %Y, %H:%M"
+ month: "%b %Y"
+ time: "%H:%M"
two_factor_authentication:
+ add: Додај
disable: Искључи
+ disabled_success: Двофакторска аутентификација је успешно онемогућена
+ edit: Измени
enabled: Двофакторска идентификација је укључена
enabled_success: Двофакторска идентификација је успешно укључена
generate_recovery_codes: Генериши кодове за опоравак
lost_recovery_codes: Кодови за опоравак Вам омогућавају да повратите приступ налогу ако изгубите телефон. Ако изгубите кодове за опоравак, можете их ре-генерисати овде. Од тог тренутка, стари кодови за опоравак више не важе.
+ methods: Методе двофакторске аутентификације
+ otp: Апликација за аутентификацију
recovery_codes: Направите резерву кодова за опоравак
recovery_codes_regenerated: Кодови за опоравак успешно ре-генерисани
recovery_instructions_html: Ако икада изгубите приступ телефону, можете искористити кодове за опоравак дате испод да повратите приступ налогу. Држите кодове за опоравак на сигурном. На пример, одштампајте их и чувајте их са осталим важним документима.
+ webauthn: Сигурносни кључеви
user_mailer:
+ appeal_approved:
+ action: Идите на свој налог
+ explanation: Жалба поднета датума %{appeal_date} на уписан преступ на Ваше име датума %{strike_date} је уважена. Ваш налог је поново у повољном положају.
+ subject: Ваша жалба поднета %{date} је уважена
+ title: Жалба уважена
+ appeal_rejected:
+ explanation: Жалба поднета датума %{appeal_date} на уписан преступ на Ваше име датума %{strike_date} је одбијена.
+ subject: Ваша жалба поднета %{date} је одбијена
+ title: Жалба одбијена
backup_ready:
explanation: Тражили сте потпуну резервну копију вашег Мастодон рачуна. Спремна за преузимање!
subject: Ваша архива је спремна за преузимање
title: Извоз архиве
+ suspicious_sign_in:
+ change_password: промените своју лозинку
+ details: 'Ево детаља о пријави:'
+ explanation: Приметили смо пријаву на Ваш налог са непознате IP адресе.
+ further_actions_html: Уколико то нисте били Ви, препоручујемо да одмах %{action} и укључите двофакторску аутентификацију да бисте одржали безбедност свог налога.
+ subject: Вашем налогу је приступљено са непозате IP адресе
+ title: Ново пријављивање
warning:
+ appeal: Приложите жалбу
+ appeal_description: Уколико верујете да је у питању грешка, можете приложити жалбу особљу %{instance}.
+ categories:
+ spam: Нежељена пошта
+ violation: Садржај крши следећа правила заједнице
+ explanation:
+ delete_statuses: За неке од Ваших објава је установљено да крше једно или више правила заједнице и услед тога су уклоњене од стране модератора %{instance}.
+ disable: Више не можете да користите свој налог, али Ваш профил и други подаци остају нетакнути. Можете да затражите резервну копију својих података, промените подешавања налога или обришете свој налог.
+ mark_statuses_as_sensitive: Неке од Ваших објава су означене као осетљиве од стране модератора %{instance}. Ово значи да ће људи морати да кликну на мултимедије у објавама пре него што могу да их виде. Убудуће можете сами да означите своју мултимедију као осетљиву приликом састављања објаве.
+ sensitive: Од сада ће сви Ваши отпремљени мултимедијални фајлови бити означени као осетљиви и сакривени иза тастера упозорења.
+ silence: И даље можете користити свој налог али само људи који Вас већ прате ће видети Ваше објаве на овом серверу, и можда ћете бити искључени из разних механизама откривања. Међутим, други људи и даље могу ручно да Вас запрате.
+ suspend: Више не можете да користите свој налог, и Ваш профил и остали подаци Вам више нису доступни. И даље можете да се пријавите да бисте затражили резервну копију својих података све док се Ваши подаци трајно не избришу за око 30 дана, с тим што ћемо задржати неке основне податке да бисмо Вас спречили у евентуалном заобилажењу суспензије.
+ reason: 'Образложење:'
+ statuses: 'Цитиране објаве:'
subject:
+ delete_statuses: Ваше објаве са %{acct} су избрисане
disable: Ваш налог %{acct} је замрзнут
+ mark_statuses_as_sensitive: Ваше објаве са %{acct} су обележене као осетљиве
none: Упозорење за %{acct}
+ sensitive: Ваше објаве са %{acct} ће убудуће бити означене као осетљиве
silence: Ваш налог %{acct} је ограничен
suspend: Ваш налог %{acct} је суспендован
title:
+ delete_statuses: Објаве су обрисане
disable: Налог замрзнут
+ mark_statuses_as_sensitive: Објаве су означене као осетљиве
none: Упозорење
+ sensitive: Налог је означен као осетљив
silence: Налог ограничен
suspend: Налог суспендован
welcome:
edit_profile_action: Подеси налог
+ edit_profile_step: Можете прилагодити свој профил тако што ћете поставити профилну слику, променити име за приказ и тако даље. Можете дати сагласност да прегледате нове пратиоце пре него што им дозволите да Вас запрате.
explanation: Ево неколико савета за почетак
final_action: Почните објављивати
+ final_step: 'Почните да објављујете! Чак и без пратилаца, Ваше јавне објаве су видљиве другим људима, на пример на локалној временској линији или у хеш ознакама. Можда желите да се представите са хеш ознаком #introductions или #представљања.'
full_handle: Ваш пун надимак
full_handle_hint: Ово бисте рекли својим пријатељима како би вам они послали поруку, или запратили са друге инстанце.
subject: Добродошли на Мастодон
@@ -714,3 +1723,20 @@ sr:
verification:
explanation_html: 'Можете извршити проверу да сте Ви власник веза на Вашем налогу. Да би то радило, повезани веб сајт мора да садржи везу назад ка Вашем Мастодон налогу. Веза назад мора да има rel="me"
атрибут. Текстуелни садржај везе није битан. Ево примера:'
verification: Провера
+ webauthn_credentials:
+ add: Додајте нови сигурносни кључ
+ create:
+ error: Искрсао је проблем приликом додавања Вашег сигурносног кључа. Молимо Вас покушајте поново.
+ success: Ваш сигурносни кључ је успешно додат.
+ delete: Избриши
+ delete_confirmation: Да ли сте сигурни да желите да избришете овај сигурносни кључ?
+ description_html: Ако укључите аутентификацију сигурносним кључем, мораћете да користите један од својих сигурносних кључева приликом пријављивања.
+ destroy:
+ error: Искрсао је проблем приликом брисања Вашег сигурносног кључа. Молимо Вас покушајте поново.
+ success: Ваш сигурносни кључ је успешно обрисан.
+ invalid_credential: Неисправан сигурносни кључ
+ nickname_hint: Унесите надимак свог новог сигурносног кључа
+ not_enabled: Још увек нисте омогућили WebAuthn
+ not_supported: Овај претраживач не подржава сигурносне кључеве
+ otp_required: Да бисте користили сигурносне кључеве, молимо Вас прво укључите двофакторску аутентификацију.
+ registered_on: Регистрован/-а %{date}
diff --git a/config/locales/sv.yml b/config/locales/sv.yml
index c5ad5a8da3..b543b18cbe 100644
--- a/config/locales/sv.yml
+++ b/config/locales/sv.yml
@@ -91,6 +91,7 @@ sv:
moderation:
active: Aktiv
all: Alla
+ disabled: Inaktiverad
pending: Väntande
silenced: Begränsad
suspended: Avstängda
@@ -133,6 +134,7 @@ sv:
search: Sök
search_same_email_domain: Andra användare med samma e-postdomän
search_same_ip: Annan användare med samma IP-adress
+ security: Säkerhet
security_measures:
only_password: Endast lösenord
password_and_2fa: Lösenord och 2FA
@@ -427,6 +429,7 @@ sv:
resolve: Slå upp domän
title: Blockera ny e-postdomän
no_email_domain_block_selected: Inga blockeringar av e-postdomäner ändrades eftersom inga valdes
+ not_permitted: Ej tillåtet
resolved_dns_records_hint_html: Domännamnet ger uppslag till följande MX-domäner, vilka är ytterst ansvariga för att e-post tas emot. Att blockera en MX-domän blockerar även registreringar från alla e-postadresser som använder samma MX-domän, även om det synliga domännamnet är annorlunda. Var noga med att inte blockera stora e-postleverantörer.
resolved_through_html: Uppslagen genom %{domain}
title: Blockerade e-postdomäner
@@ -473,6 +476,7 @@ sv:
content_policies:
comment: Intern anteckning
description_html: Du kan definiera innehållspolicyer som kommer tillämpas på alla konton från denna domän samt alla dess underdomäner.
+ limited_federation_mode_description_html: Du kan välja om du vill tillåta federering med den här domänen.
policies:
reject_media: Avvisa media
reject_reports: Avvisa rapporter
@@ -585,11 +589,13 @@ sv:
assign_to_self: Tilldela till mig
assigned: Tilldelad moderator
by_target_domain: Domän för rapporterat konto
+ cancel: Avbryt
category: Kategori
category_description_html: Anledningen till att kontot och/eller innehållet rapporterades kommer att visas i kommunikation med det rapporterade kontot
comment:
none: Ingen
comment_description_html: 'För att ge mer information, skrev %{name}:'
+ confirm: Bekräfta
confirm_action: Bekräfta modereringsåtgärd mot @%{acct}
created_at: Anmäld
delete_and_resolve: Ta bort inlägg
@@ -628,9 +634,20 @@ sv:
suspend_html: 'Du håller på att stänga av @%{acct}s konto. Detta kommer:'
actions:
delete_html: Ta bort kränkande inlägg
+ mark_as_sensitive_html: Markera de anmälda inläggens media som känslig
+ silence_html: Begränsa kraftigt @%{acct} räckvidd genom att göra deras profil och innehåll bara synligt till folk som redan följer dom eller som manuellt söker upp deras profil
+ suspend_html: Stäng av @%{acct}, vilket gör deras profil och innehåll oåtkomligt och omöjligt att interagera med
+ close_report: 'Markera anmälningen #%{id} som löst'
+ close_reports_html: Markera alla anmälningar mot @%{acct} som lösta
+ delete_data_html: Ta bort @%{acct}s profil och innehåll om 30 dagar ifall deras avstängning inte tagits bort under tiden
+ preview_preamble_html: "@%{acct} kommer få en varning med följande innehåll:"
+ record_strike_html: Registrera en varning mot @%{acct} för att hjälpa dig eskalera vid framtida överträdelser från detta konto
+ send_email_html: Skicka @%{acct} ett varningsmejl
+ warning_placeholder: Valfri ytterligare resonemang för modereringsåtgärd.
target_origin: Ursprung för anmält konto
title: Anmälningar
unassign: Otilldela
+ unknown_action_msg: 'Okänd åtgärd: %{action}'
unresolved: Olösta
updated_at: Uppdaterad
view_profile: Visa profil
@@ -781,6 +798,7 @@ sv:
suspend: "%{name} stängde av %{target}s konto"
appeal_approved: Överklagad
appeal_pending: Överklagande väntar
+ appeal_rejected: Överklagan avslagen
system_checks:
database_schema_check:
message_html: Det finns väntande databasmigreringar. Vänligen kör dem för att säkerställa att programmet beter sig som förväntat
@@ -816,6 +834,7 @@ sv:
other: Delad av %{count} personer under den senaste veckan
title: Trendande länkar
usage_comparison: Delade %{today} gånger idag, jämfört med %{yesterday} igår
+ not_allowed_to_trend: Inte tillåtet att trenda
only_allowed: Endast tillåtna
pending_review: Väntar på granskning
preview_card_providers:
@@ -947,6 +966,7 @@ sv:
applications:
created: Ansökan är framgångsrikt skapad
destroyed: Ansökan är framgångsrikt borttagen
+ logout: Logga ut
regenerate_token: Regenerera access token
token_regenerated: Access token lyckades regenereras
warning: Var mycket försiktig med denna data. Dela aldrig den med någon!
@@ -954,6 +974,8 @@ sv:
auth:
apply_for_account: Ansök om konto
change_password: Lösenord
+ confirmations:
+ wrong_email_hint: Om e-postadressen inte är rätt, kan du ändra den i kontoinställningarna.
delete_account: Radera konto
delete_account_html: Om du vill radera ditt konto kan du fortsätta här. Du kommer att bli ombedd att bekräfta.
description:
@@ -981,6 +1003,8 @@ sv:
resend_confirmation: Skicka instruktionerna om bekräftelse igen
reset_password: Återställ lösenord
rules:
+ accept: Godkänn
+ back: Tillbaka
preamble: Dessa bestäms och upprätthålls av moderatorerna för %{domain}.
title: Några grundregler.
security: Säkerhet
@@ -1127,6 +1151,8 @@ sv:
storage: Medialagring
featured_tags:
add_new: Lägg till ny
+ errors:
+ limit: Du har redan fäst det maximala antalet hashtags
hint_html: "Vad är utvalda hashtaggar? De visas tydligt på din offentliga profil och låter andra bläddra bland dina offentliga inlägg specifikt under dessa hashtaggar. De är ett bra verktyg för att hålla reda på kreativa arbeten eller långsiktiga projekt."
filters:
contexts:
@@ -1170,8 +1196,6 @@ sv:
index:
hint: Detta filter gäller för att välja enskilda inlägg oavsett andra kriterier. Du kan lägga till fler inlägg till detta filter från webbgränssnittet.
title: Filtrerade inlägg
- footer:
- trending_now: Trendar nu
generic:
all: Alla
all_items_on_page_selected_html:
@@ -1234,6 +1258,9 @@ sv:
expires_at: Utgår
uses: Användningar
title: Bjud in andra
+ lists:
+ errors:
+ limit: Du har nått det maximala antalet listor
login_activities:
authentication_methods:
otp: tvåfaktorsautentiseringsapp
@@ -1374,7 +1401,11 @@ sv:
unrecognized_emoji: är inte en igenkänd emoji
relationships:
activity: Kontoaktivitet
+ confirm_follow_selected_followers: Är du säker på att du vill följa valda följare?
+ confirm_remove_selected_followers: Är du säker på att du vill ta bort valda följare?
+ confirm_remove_selected_follows: Är du säker på att du vill ta bort valda följare?
dormant: Vilande
+ follow_failure: Kan inte följa några av de valda kontona.
follow_selected_followers: Följ valda personer
followers: Följare
following: Följer
@@ -1414,6 +1445,7 @@ sv:
electron: Electron
firefox: Firefox
generic: Okänd browser
+ huawei_browser: Huawei Browser
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
@@ -1423,6 +1455,7 @@ sv:
qq: QQ browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Okänd browser
weibo: Weibo
current_session: Nuvarande session
description: "%{browser} på %{platform}"
@@ -1435,9 +1468,10 @@ sv:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: Mac
- other: okänd plattform
+ unknown_platform: Okänd plattform
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
@@ -1550,6 +1584,7 @@ sv:
'7889238': 3 månader
min_age_label: Åldersgräns
min_favs: Behåll favoritmarkerade inlägg i minst
+ min_favs_hint: Raderar inte några av dina inlägg som har fått minst detta antalet av favoritmarkeringar. Lämna tomt för att ta bort inlägg oavsett hur många favoritmarkeringar de har fått
min_reblogs: Behåll boostade inlägg i minst
min_reblogs_hint: Raderar inte något av dina inlägg som har blivit boostat minst detta antal gånger. Lämna tomt för att radera inlägg oavsett antal boostar
stream_entries:
diff --git a/config/locales/th.yml b/config/locales/th.yml
index 9c4a7bfc58..13a312f269 100644
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -963,7 +963,7 @@ th:
description:
prefix_invited_by_user: "@%{name} เชิญคุณเข้าร่วมเซิร์ฟเวอร์ Mastodon นี้!"
prefix_sign_up: ลงทะเบียนใน Mastodon วันนี้!
- suffix: เมื่อมีบัญชี คุณจะสามารถติดตามผู้คน โพสต์การอัปเดต และแลกเปลี่ยนข้อความกับผู้ใช้จากเซิร์ฟเวอร์ Mastodon และอื่น ๆ!
+ suffix: ด้วยบัญชี คุณจะสามารถติดตามผู้คน โพสต์การอัปเดต และแลกเปลี่ยนข้อความกับผู้ใช้จากเซิร์ฟเวอร์ Mastodon และอื่น ๆ!
didnt_get_confirmation: ไม่ได้รับคำแนะนำการยืนยัน?
dont_have_your_security_key: ไม่มีกุญแจความปลอดภัยของคุณ?
forgot_password: ลืมรหัสผ่านของคุณ?
@@ -999,7 +999,7 @@ th:
preamble_html: ลงชื่อเข้าด้วยข้อมูลประจำตัว %{domain} ของคุณ หากบัญชีของคุณได้รับการโฮสต์ในเซิร์ฟเวอร์อื่น คุณจะไม่สามารถเข้าสู่ระบบได้ที่นี่
title: ลงชื่อเข้า %{domain}
sign_up:
- preamble: เมื่อมีบัญชีในเซิร์ฟเวอร์ Mastodon นี้ คุณจะสามารถติดตามบุคคลอื่นใดในเครือข่าย โดยไม่คำนึงถึงที่ซึ่งบัญชีของเขาได้รับการโฮสต์
+ preamble: ด้วยบัญชีในเซิร์ฟเวอร์ Mastodon นี้ คุณจะสามารถติดตามบุคคลอื่นใดในเครือข่าย โดยไม่คำนึงถึงที่ซึ่งบัญชีของเขาได้รับการโฮสต์
title: มาตั้งค่าของคุณใน %{domain} กันเลย
status:
account_status: สถานะบัญชี
@@ -1175,8 +1175,6 @@ th:
index:
hint: ตัวกรองนี้นำไปใช้เพื่อเลือกโพสต์แต่ละรายการโดยไม่คำนึงถึงเกณฑ์อื่น ๆ คุณสามารถเพิ่มโพสต์เพิ่มเติมไปยังตัวกรองนี้ได้จากส่วนติดต่อเว็บ
title: โพสต์ที่กรองอยู่
- footer:
- trending_now: กำลังนิยม
generic:
all: ทั้งหมด
all_items_on_page_selected_html:
@@ -1381,6 +1379,7 @@ th:
confirm_remove_selected_followers: คุณแน่ใจหรือไม่ว่าต้องการเอาผู้ติดตามที่เลือกออก?
confirm_remove_selected_follows: คุณแน่ใจหรือไม่ว่าต้องการเอาการติดตามที่เลือกออก?
dormant: ไม่เคลื่อนไหว
+ follow_failure: ไม่สามารถติดตามบัญชีที่เลือกบางส่วน
follow_selected_followers: ติดตามผู้ติดตามที่เลือก
followers: ผู้ติดตาม
following: กำลังติดตาม
@@ -1420,6 +1419,7 @@ th:
electron: Electron
firefox: Firefox
generic: เบราว์เซอร์ที่ไม่รู้จัก
+ huawei_browser: เบราว์เซอร์ Huawei
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: เบราว์เซอร์ Nokia S40 Ovi
@@ -1429,6 +1429,7 @@ th:
qq: เบราว์เซอร์ QQ
safari: Safari
uc_browser: เบราว์เซอร์ UC
+ unknown_browser: เบราว์เซอร์ที่ไม่รู้จัก
weibo: Weibo
current_session: เซสชันปัจจุบัน
description: "%{browser} ใน %{platform}"
@@ -1441,9 +1442,10 @@ th:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: macOS
- other: แพลตฟอร์มที่ไม่รู้จัก
+ unknown_platform: แพลตฟอร์มที่ไม่รู้จัก
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/tr.yml b/config/locales/tr.yml
index 90a4208f0a..384e060858 100644
--- a/config/locales/tr.yml
+++ b/config/locales/tr.yml
@@ -1196,8 +1196,6 @@ tr:
index:
hint: Bu filtre diğer ölçütlerden bağımsız olarak tekil gönderileri seçmek için uygulanıyor. Web arayüzünü kullanarak bu filtreye daha fazla gönderi ekleyebilirsiniz.
title: Filtrelenmiş gönderiler
- footer:
- trending_now: Şu an gündemde
generic:
all: Tümü
all_items_on_page_selected_html:
@@ -1407,6 +1405,7 @@ tr:
confirm_remove_selected_followers: Seçili takipçileri kaldırmak istediğinizden emin misiniz?
confirm_remove_selected_follows: Seçili takipleri kaldırmak istediğinizden emin misiniz?
dormant: Uykuda
+ follow_failure: Seçilen hesaplardan bazıları takip edilemedi.
follow_selected_followers: Seçili takipçileri takip et
followers: Takipçiler
following: Takip edilenler
@@ -1446,6 +1445,7 @@ tr:
electron: Electron
firefox: Firefox
generic: Bilinmeyen tarayıcı
+ huawei_browser: Huawei Tarayıcı
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
@@ -1455,6 +1455,7 @@ tr:
qq: QQ Browser
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Bilinmeyen Tarayıcı
weibo: Weibo
current_session: Geçerli oturum
description: "%{platform} - %{browser}"
@@ -1467,9 +1468,10 @@ tr:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: macOS
- other: bilinmeyen platform
+ unknown_platform: Bilinmeyen Platform
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/tt.yml b/config/locales/tt.yml
index 9e03822489..d260e8be20 100644
--- a/config/locales/tt.yml
+++ b/config/locales/tt.yml
@@ -2,16 +2,20 @@
tt:
about:
contact_unavailable: Юк
+ title: Проект турында
accounts:
follow: Языл
following: Язылгансыз
admin:
accounts:
+ approve: Хуплау
avatar: Аватар
by_domain: Домен
change_email:
label: Emailны үзгәртү
submit: Emailны үзгәртү
+ change_role:
+ no_role: Рольсез
confirm: Раслау
deleted: Бетерелде
domain: Домен
@@ -19,6 +23,7 @@ tt:
email: Эл. почта
header: Башлам
ip: ІР
+ joined: Кушылды
location:
all: Бөтенесе
local: Җирле
@@ -28,8 +33,13 @@ tt:
all: Бөтенесе
perform_full_suspension: Искә алмау
reset: Ташлату
+ role: Роль
search: Эзләү
+ security: Иминлек
+ security_measures:
+ only_password: Серсүз генә
sensitive: Sizmäle
+ title: Аккаунтлар
username: Кулланучы исеме
web: Веб
action_logs:
@@ -40,10 +50,10 @@ tt:
copy: Күчереп алу
delete: Бетерү
disable: Cүндерү
- disabled: Cүндерелгән
- enable: Кабызу
+ disabled: Cүнек
+ enable: Кушу
list: Исемлек
- upload: Йөкләү
+ upload: Йөкләтү
domain_blocks:
domain: Домен
new:
@@ -101,7 +111,7 @@ tt:
application_mailer:
salutation: "%{name},"
auth:
- change_password: Парол
+ change_password: Серсүз
login: Керү
providers:
cas: САS
@@ -141,7 +151,7 @@ tt:
exports:
archive_takeout:
date: Көне
- size: Olılıq
+ size: Зурлык
bookmarks: Кыстыргычлар
csv: СSV
filters:
@@ -158,7 +168,7 @@ tt:
imports:
types:
bookmarks: Кыстыргычлар
- upload: Йөкләү
+ upload: Йөкләтү
invites:
expired: Гамәлдән чыкты
expires_in:
@@ -172,15 +182,15 @@ tt:
number:
human:
decimal_units:
- format: "%n%u"
+ format: "%n %u"
otp_authentication:
- enable: Кабызу
+ enable: Кушу
pagination:
next: Киләсе
prev: Алдыгы
truncate: "…"
relationships:
- following: Язылгансыз
+ following: Язылулар
sessions:
browser: Браузер
browsers:
@@ -198,7 +208,7 @@ tt:
qq: QQ Brоwser
safari: Safаri
weibo: Weibо
- description: "%{browser} - %{platform}"
+ description: "%{platform} платформасында %{browser}"
ip: ІР
platforms:
adobe_air: Adobе Air
@@ -211,10 +221,10 @@ tt:
windows_mobile: Windows Mоbile
windows_phone: Windоws Phone
settings:
- account: Хисап язмасы
- appearance: Küreneş
- development: Эшләнмә
- edit_profile: Профильны үзгәртү
+ account: Аккаунт
+ appearance: Тышкы кыяфәт
+ development: Ясаучылар өчен
+ edit_profile: Профильне үзгәртү
import: Импортлау
preferences: Caylaw
profile: Профиль
@@ -244,7 +254,7 @@ tt:
edit: Үзгәртү
user_mailer:
warning:
- reason: 'Сәбаб:'
+ reason: 'Сәбәп:'
title:
none: Игътибар
webauthn_credentials:
diff --git a/config/locales/uk.yml b/config/locales/uk.yml
index 347f7414dc..8bd005961e 100644
--- a/config/locales/uk.yml
+++ b/config/locales/uk.yml
@@ -1238,8 +1238,6 @@ uk:
index:
hint: Цей фільтр застосовується для вибору окремих дописів, незалежно від інших критеріїв. Ви можете додавати більше дописів до цього фільтра з вебінтерфейсу.
title: Відфільтровані дописи
- footer:
- trending_now: Актуальні
generic:
all: Усі
all_items_on_page_selected_html:
@@ -1459,6 +1457,7 @@ uk:
confirm_remove_selected_followers: Ви дійсно бажаєте видалити вибраних підписників?
confirm_remove_selected_follows: Ви дійсно хочете вилучити вибрані підписки?
dormant: Неактивні
+ follow_failure: Не вдалося підписатися на деякі вибрані облікові записи.
follow_selected_followers: Стежити за вибраними підписниками
followers: Підписники
following: Підписник
@@ -1498,6 +1497,7 @@ uk:
electron: Electron
firefox: Firefox
generic: Невідомий браузер
+ huawei_browser: Huawei Браузер
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi Browser
@@ -1507,6 +1507,7 @@ uk:
qq: QQ Browser
safari: Сафарі
uc_browser: UC Browser
+ unknown_browser: Невідомий браузер
weibo: Weibo
current_session: Поточний сеанс
description: "%{browser} на %{platform}"
@@ -1519,9 +1520,10 @@ uk:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: macOS
- other: невідома платформа
+ unknown_platform: Невідома Платформа
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/vi.yml b/config/locales/vi.yml
index 269e4f4b06..81b30e6a2b 100644
--- a/config/locales/vi.yml
+++ b/config/locales/vi.yml
@@ -1175,8 +1175,6 @@ vi:
index:
hint: Bộ lọc này áp dụng để chọn các tút riêng lẻ bất kể các tiêu chí khác. Bạn có thể thêm các tút khác vào bộ lọc này từ giao diện web.
title: Những tút đã lọc
- footer:
- trending_now: Thịnh hành
generic:
all: Tất cả
all_items_on_page_selected_html:
@@ -1381,6 +1379,7 @@ vi:
confirm_remove_selected_followers: Bạn có chắc muốn bỏ theo dõi những người đã chọn?
confirm_remove_selected_follows: Bạn có chắc muốn xoá những người theo dõi bạn đã chọn không?
dormant: Chưa
+ follow_failure: Không thể theo dõi một số tài khoản đã chọn.
follow_selected_followers: Theo dõi những người đã chọn
followers: Người theo dõi
following: Đang theo dõi
@@ -1420,6 +1419,7 @@ vi:
electron: Electron
firefox: Firefox
generic: Trình duyệt khác
+ huawei_browser: Huawei Browser
ie: Internet Explorer
micro_messenger: MicroMes hành khách
nokia: Trình duyệt Nokia S40 Ovi
@@ -1429,6 +1429,7 @@ vi:
qq: QQ
safari: Safari
uc_browser: UC Browser
+ unknown_browser: Trình duyệt khác
weibo: Weibo
current_session: Phiên hiện tại
description: "%{browser} trên %{platform}"
@@ -1441,9 +1442,10 @@ vi:
chrome_os: ChromeOS
firefox_os: Hệ điều hành Firefox
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: Mac
- other: nền tảng khác
+ unknown_platform: Nền tảng khác
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Điện thoại Windows
@@ -1550,6 +1552,7 @@ vi:
'7889238': 3 tháng
min_age_label: Thời điểm
min_favs: Giữ những tút yêu thích lâu hơn
+ min_favs_hint: Những tút có lượt thích nhiều hơn số này sẽ không bị xóa. Để trống nếu bạn muốn xóa hết
min_reblogs: Giữ những tút đã đăng lại lâu hơn
min_reblogs_hint: Những tút có lượt đăng lại nhiều hơn số này sẽ không bị xóa. Để trống nếu bạn muốn xóa hết
stream_entries:
diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml
index e8ca1910a7..4267b652fd 100644
--- a/config/locales/zh-CN.yml
+++ b/config/locales/zh-CN.yml
@@ -999,7 +999,7 @@ zh-CN:
preamble_html: 使用您在 %{domain} 的账户和密码登录。如果您的账户托管在其他的服务器上,您将无法在此登录。
title: 登录到 %{domain}
sign_up:
- preamble: 使用此 Mastodon 服务器上的帐号,您将能够关注网络上的任何其他人,无论他们的帐号托管在哪里的主机。
+ preamble: 有了这个Mastodon服务器上的账户,您就可以关注Mastodon网络上的任何其他人,无论他们的账户在哪里。
title: 让我们在 %{domain} 上开始。
status:
account_status: 账户状态
@@ -1175,8 +1175,6 @@ zh-CN:
index:
hint: 无论其他条件如何,此过滤器适用于选用个别嘟文。你可以从网页界面中向此过滤器加入更多嘟文。
title: 过滤的嘟文
- footer:
- trending_now: 现在流行
generic:
all: 全部
all_items_on_page_selected_html:
@@ -1381,6 +1379,7 @@ zh-CN:
confirm_remove_selected_followers: 您确定想要取关所选的关注者吗?
confirm_remove_selected_follows: 您确定要删除选定的关注着吗?
dormant: 休眠
+ follow_failure: 无法关注选中的部分账户。
follow_selected_followers: 关注选中的关注者
followers: 关注者
following: 正在关注
@@ -1420,6 +1419,7 @@ zh-CN:
electron: Electron
firefox: 火狐
generic: 未知浏览器
+ huawei_browser: 华为浏览器
ie: IE 浏览器
micro_messenger: 微信
nokia: Nokia S40 Ovi 浏览器
@@ -1429,6 +1429,7 @@ zh-CN:
qq: QQ浏览器
safari: Safari
uc_browser: UC 浏览器
+ unknown_browser: 未知浏览器
weibo: 新浪微博
current_session: 当前会话
description: "%{platform} 上的 %{browser}"
@@ -1441,9 +1442,10 @@ zh-CN:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: Mac
- other: 未知平台
+ unknown_platform: 未知平台
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml
index adaad2c1cf..835ecd33c1 100644
--- a/config/locales/zh-HK.yml
+++ b/config/locales/zh-HK.yml
@@ -1133,6 +1133,8 @@ zh-HK:
storage: 媒體容量大小
featured_tags:
add_new: 新增
+ errors:
+ limit: 你推薦的標籤數量已達上限
hint_html: "甚麼是推薦主題標籤? 它們會被顯示在你的個人資料頁面,讓其他人可以根據標籤瀏覽你的公開文章,令人們更易找到你創作或者長期作品!"
filters:
contexts:
@@ -1173,8 +1175,6 @@ zh-HK:
index:
hint: 不管其他條件如何,此篩選器會套用於所選的個別帖文。你可以在網頁介面上加入更多帖文到此篩選器。
title: 篩選帖文
- footer:
- trending_now: 今期流行
generic:
all: 全部
all_items_on_page_selected_html:
@@ -1232,6 +1232,9 @@ zh-HK:
expires_at: 失效時間
uses: 已使用次數
title: 邀請用戶
+ lists:
+ errors:
+ limit: 你已達到列表數量的上限
login_activities:
authentication_methods:
otp: 兩步認證軟體
@@ -1438,7 +1441,6 @@ zh-HK:
ios: iOS
linux: Linux
mac: Mac
- other: 未知平台
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
@@ -1545,6 +1547,7 @@ zh-HK:
'7889238': 3 個月
min_age_label: 按時間篩選
min_favs: 保留超過嘟文最愛門檻
+ min_favs_hint: 收到此數量或更多最愛的帖文將不會被刪除。 留空可無視最愛數量刪除帖子
min_reblogs: 保留超過嘟文轉嘟門檻
min_reblogs_hint: 如果您嘟文已收到超過轉嘟門檻則不會刪除。留白表示不論轉嘟數量皆刪除嘟文。
stream_entries:
diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml
index 04752a294e..1e31e22491 100644
--- a/config/locales/zh-TW.yml
+++ b/config/locales/zh-TW.yml
@@ -31,7 +31,7 @@ zh-TW:
accounts:
add_email_domain_block: 將電子郵件網域加入黑名單
approve: 批准
- approved_msg: 成功審核了 %{username} 的新帳號申請
+ approved_msg: 已成功審核 %{username} 的新帳號申請
are_you_sure: 您確定嗎?
avatar: 大頭貼
by_domain: 站點
@@ -113,13 +113,13 @@ zh-TW:
redownload: 重新整理個人檔案
redownloaded_msg: 成功重新載入%{username} 的個人檔案頁面
reject: 拒絕
- rejected_msg: 成功婉拒了 %{username} 的新帳號申請
+ rejected_msg: 已成功婉拒 %{username} 的新帳號申請
remote_suspension_irreversible: 此帳號之資料已被不可逆地刪除。
remote_suspension_reversible_hint_html: 這個帳號已於此伺服器被停權,所有資料將會於 %{date} 被刪除。在此之前,遠端伺服器可以完全回復此的帳號。如果您想即時刪除這個帳號的資料,您可以在下面進行操作。
remove_avatar: 取消大頭貼
remove_header: 移除開頭
- removed_avatar_msg: 成功刪除了 %{username} 的大頭貼
- removed_header_msg: 成功刪除了 %{username} 的封面圖片
+ removed_avatar_msg: 已成功刪除 %{username} 的大頭貼
+ removed_header_msg: 已成功刪除 %{username} 的封面圖片
resend_confirmation:
already_confirmed: 此使用者已被確認
send: 重新發送驗證信
@@ -135,11 +135,11 @@ zh-TW:
security_measures:
only_password: 僅使用密碼
password_and_2fa: 密碼及兩階段驗證 (2FA)
- sensitive: 敏感内容
+ sensitive: 強制標記為敏感内容
sensitized: 已標記為敏感內容
shared_inbox_url: 共享收件匣 URL
show:
- created_reports: 建立檢舉
+ created_reports: 新增檢舉
targeted_reports: 由其他人檢舉
silence: 靜音
silenced: 已靜音
@@ -154,7 +154,7 @@ zh-TW:
unblock_email: 解除封鎖電子郵件地址
unblocked_email_msg: 成功解除封鎖 %{username} 的電子郵件地址
unconfirmed_email: 未確認的電子郵件地址
- undo_sensitized: 取消敏感狀態
+ undo_sensitized: 取消強制標記為敏感內容
undo_silenced: 取消靜音
undo_suspension: 取消停權
unsilenced_msg: 成功解除 %{username} 的帳號限制
@@ -173,23 +173,23 @@ zh-TW:
change_email_user: 變更使用者的電子郵件地址
change_role_user: 變更使用者角色
confirm_user: 確認使用者
- create_account_warning: 建立警告
- create_announcement: 建立公告
+ create_account_warning: 新增警告
+ create_announcement: 新增公告
create_canonical_email_block: 新增 E-mail 封鎖
- create_custom_emoji: 建立自訂顏文字
- create_domain_allow: 建立允許網域
- create_domain_block: 建立阻擋網域
+ create_custom_emoji: 新增自訂顏文字
+ create_domain_allow: 新增允許網域
+ create_domain_block: 新增網域封鎖
create_email_domain_block: 新增電子郵件網域封鎖
create_ip_block: 新增IP規則
create_unavailable_domain: 新增無法存取的網域
- create_user_role: 建立角色
- demote_user: 把用戶降級
+ create_user_role: 新增角色
+ demote_user: 將用戶降級
destroy_announcement: 刪除公告
destroy_canonical_email_block: 刪除 E-mail 封鎖
destroy_custom_emoji: 刪除自訂顏文字
destroy_domain_allow: 刪除允許網域
- destroy_domain_block: 刪除阻擋網域
- destroy_email_domain_block: 刪除阻擋電郵網域
+ destroy_domain_block: 刪除網域封鎖
+ destroy_email_domain_block: 刪除電子郵件網域封鎖
destroy_instance: 清除網域
destroy_ip_block: 刪除 IP 規則
destroy_status: 刪除狀態
@@ -203,7 +203,7 @@ zh-TW:
enable_sign_in_token_auth_user: 啟用使用者電子郵件 token 驗證
enable_user: 啓用帳號
memorialize_account: 設定成追悼帳號
- promote_user: 把用戶升級
+ promote_user: 將用戶升級
reject_appeal: 駁回申訴
reject_user: 回絕使用者
remove_avatar_user: 刪除大頭貼
@@ -211,79 +211,79 @@ zh-TW:
resend_user: 重新發送驗證信
reset_password_user: 重設密碼
resolve_report: 消除舉報
- sensitive_account: 把您的帳號的媒體標記為敏感內容
+ sensitive_account: 將媒體強制標記為敏感內容
silence_account: 靜音帳號
suspend_account: 停權帳號
unassigned_report: 取消指派舉報
unblock_email_account: 解除封鎖電子郵件地址
- unsensitive_account: 取消把您的帳號的媒體設定為敏感內容
+ unsensitive_account: 取消將媒體強制標記為敏感內容
unsilence_account: 取消帳號的靜音狀態
unsuspend_account: 取消帳號的暫停狀態
update_announcement: 更新公告
update_custom_emoji: 更新自訂顏文字
- update_domain_block: 更新封鎖網域
+ update_domain_block: 更新網域封鎖
update_ip_block: 更新 IP 規則
update_status: 更新狀態
update_user_role: 更新角色
actions:
- approve_appeal_html: "%{name} 批准了來自 %{target} 的審核決定申訴"
- approve_user_html: "%{name} 批准了從 %{target} 而來的註冊"
+ approve_appeal_html: "%{name} 已批准來自 %{target} 的審核決定申訴"
+ approve_user_html: "%{name} 已批准從 %{target} 而來的註冊"
assigned_to_self_report_html: "%{name} 將報告 %{target} 指派給自己"
- change_email_user_html: "%{name} 變更了使用者 %{target} 的電子郵件地址"
- change_role_user_html: "%{name} 變更了 %{target} 的角色"
- confirm_user_html: "%{name} 確認了使用者 %{target} 的電子郵件位址"
+ change_email_user_html: "%{name} 已變更使用者 %{target} 的電子郵件地址"
+ change_role_user_html: "%{name} 已變更 %{target} 的角色"
+ confirm_user_html: "%{name} 已確認使用者 %{target} 的電子郵件位址"
create_account_warning_html: "%{name} 已對 %{target} 送出警告"
- create_announcement_html: "%{name} 新增了公告 %{target}"
- create_canonical_email_block_html: "%{name} 已封鎖了 hash 為 %{target} 之 e-mail"
- create_custom_emoji_html: "%{name} 上傳了新自訂表情符號 %{target}"
+ create_announcement_html: "%{name} 已新增公告 %{target}"
+ create_canonical_email_block_html: "%{name} 已封鎖 hash 為 %{target} 的 e-mail"
+ create_custom_emoji_html: "%{name} 已上傳新自訂表情符號 %{target}"
create_domain_allow_html: "%{name} 允許 %{target} 網域加入聯邦宇宙"
- create_domain_block_html: "%{name} 封鎖了網域 %{target}"
- create_email_domain_block_html: "%{name} 封鎖了電子郵件網域 %{target}"
- create_ip_block_html: "%{name} 已經設定了IP %{target} 的規則"
+ create_domain_block_html: "%{name} 已封鎖網域 %{target}"
+ create_email_domain_block_html: "%{name} 已封鎖電子郵件網域 %{target}"
+ create_ip_block_html: "%{name} 已設定 IP %{target} 的規則"
create_unavailable_domain_html: "%{name} 停止發送至網域 %{target}"
- create_user_role_html: "%{name} 建立了 %{target} 角色"
+ create_user_role_html: "%{name} 已新增 %{target} 角色"
demote_user_html: "%{name} 將使用者 %{target} 降級"
- destroy_announcement_html: "%{name} 刪除了公告 %{target}"
+ destroy_announcement_html: "%{name} 已刪除公告 %{target}"
destroy_canonical_email_block_html: "%{name} 已解除封鎖 hash 為 %{target} 的電子郵件"
- destroy_custom_emoji_html: "%{name} 刪除了表情符號 %{target}"
+ destroy_custom_emoji_html: "%{name} 已刪除表情符號 %{target}"
destroy_domain_allow_html: "%{name} 不允許與網域 %{target} 加入聯邦宇宙"
destroy_domain_block_html: "%{name} 已解除封鎖網域 %{target}"
destroy_email_domain_block_html: "%{name} 已解除封鎖電子郵件網域 %{target}"
- destroy_instance_html: "%{name} 清除了網域 %{target}"
- destroy_ip_block_html: "%{name} 刪除了 IP %{target} 的規則"
- destroy_status_html: "%{name} 刪除了 %{target} 的嘟文"
- destroy_unavailable_domain_html: "%{name} 恢復了對網域 %{target} 的發送"
- destroy_user_role_html: "%{name} 刪除了 %{target} 角色"
- disable_2fa_user_html: "%{name} 停用了使用者 %{target} 的兩階段認證 (2FA) "
- disable_custom_emoji_html: "%{name} 停用了自訂表情符號 %{target}"
- disable_sign_in_token_auth_user_html: "%{name} 停用了 %{target} 之使用者電子郵件 token 驗證"
+ destroy_instance_html: "%{name} 已清除網域 %{target}"
+ destroy_ip_block_html: "%{name} 已刪除 IP %{target} 的規則"
+ destroy_status_html: "%{name} 已刪除 %{target} 的嘟文"
+ destroy_unavailable_domain_html: "%{name} 已恢復對網域 %{target} 的發送"
+ destroy_user_role_html: "%{name} 已刪除 %{target} 角色"
+ disable_2fa_user_html: "%{name} 已停用使用者 %{target} 的兩階段認證 (2FA) "
+ disable_custom_emoji_html: "%{name} 已停用自訂表情符號 %{target}"
+ disable_sign_in_token_auth_user_html: "%{name} 已停用 %{target} 之使用者電子郵件 token 驗證"
disable_user_html: "%{name} 將使用者 %{target} 設定為禁止登入"
- enable_custom_emoji_html: "%{name} 啟用了自訂表情符號 %{target}"
- enable_sign_in_token_auth_user_html: "%{name} 啟用了 %{target} 之使用者電子郵件 token 驗證"
+ enable_custom_emoji_html: "%{name} 已啟用自訂表情符號 %{target}"
+ enable_sign_in_token_auth_user_html: "%{name} 已啟用 %{target} 之使用者電子郵件 token 驗證"
enable_user_html: "%{name} 將使用者 %{target} 設定為允許登入"
memorialize_account_html: "%{name} 將 %{target} 設定為追悼帳號"
- promote_user_html: "%{name} 對使用者 %{target} 進行了晉級操作"
- reject_appeal_html: "%{name} 回絕了來自 %{target} 的審核決定申訴"
- reject_user_html: "%{name} 回絕了從 %{target} 而來的註冊"
- remove_avatar_user_html: "%{name} 移除了 %{target} 的大頭貼"
+ promote_user_html: "%{name} 對使用者 %{target} 已進行晉級操作"
+ reject_appeal_html: "%{name} 已回絕來自 %{target} 的審核決定申訴"
+ reject_user_html: "%{name} 已回絕從 %{target} 而來的註冊"
+ remove_avatar_user_html: "%{name} 已移除 %{target} 的大頭貼"
reopen_report_html: "%{name} 重新開啟 %{target} 的檢舉"
resend_user_html: "%{name} 已重新發送驗證信給 %{target}"
- reset_password_user_html: "%{name} 重新設定了使用者 %{target} 的密碼"
- resolve_report_html: "%{name} 處理了 %{target} 的檢舉"
+ reset_password_user_html: "%{name} 已重新設定使用者 %{target} 的密碼"
+ resolve_report_html: "%{name} 已處理 %{target} 的檢舉"
sensitive_account_html: "%{name} 將 %{target} 的媒體檔案標記為敏感內容"
- silence_account_html: "%{name} 靜音了使用者 %{target}"
+ silence_account_html: "%{name} 已靜音使用者 %{target}"
suspend_account_html: "%{name} 已停權 %{target} 的帳號"
unassigned_report_html: "%{name} 取消指派 %{target} 的檢舉"
unblock_email_account_html: "%{name} 已解除封鎖 %{target} 的電子郵件地址"
- unsensitive_account_html: "%{name} 將 %{target} 的媒體檔案的敏感狀態取消"
- unsilence_account_html: "%{name} 取消了使用者 %{target} 的靜音狀態"
+ unsensitive_account_html: "%{name} 將 %{target} 的媒體檔案取消標記為敏感內容"
+ unsilence_account_html: "%{name} 已取消使用者 %{target} 的靜音狀態"
unsuspend_account_html: "%{name} 已取消停權 %{target} 的帳號"
- update_announcement_html: "%{name} 更新了公告 %{target}"
- update_custom_emoji_html: "%{name} 更新了自訂表情符號 %{target}"
- update_domain_block_html: "%{name} 更新了 %{target} 之網域封鎖"
- update_ip_block_html: "%{name} 已經更新了 IP %{target} 之規則"
- update_status_html: "%{name} 更新了 %{target} 的嘟文"
- update_user_role_html: "%{name} 變更了 %{target} 角色"
+ update_announcement_html: "%{name} 已更新公告 %{target}"
+ update_custom_emoji_html: "%{name} 已更新自訂表情符號 %{target}"
+ update_domain_block_html: "%{name} 已更新 %{target} 之網域封鎖"
+ update_ip_block_html: "%{name} 已變更 IP %{target} 之規則"
+ update_status_html: "%{name} 已更新 %{target} 的嘟文"
+ update_user_role_html: "%{name} 已變更 %{target} 角色"
deleted_account: 已刪除帳號
empty: 找不到 log
filter_by_action: 按動作過濾
@@ -296,7 +296,7 @@ zh-TW:
empty: 找不到公告。
live: 直播
new:
- create: 建立公告
+ create: 新增公告
title: 新增公告
publish: 發布
published_msg: 成功發布公告!
@@ -374,13 +374,13 @@ zh-TW:
import: 匯入
undo: 從聯邦宇宙白名單移除
domain_blocks:
- add_new: 新增欲封鎖域名
+ add_new: 新增網域黑名單
created_msg: 正在進行網域封鎖
destroyed_msg: 已撤銷網域封鎖
domain: 站點
edit: 更改封鎖的站台
- existing_domain_block: 您已對 %{name} 施加了更嚴格的限制。
- existing_domain_block_html: 您已經對 %{name} 施加了更嚴格的限制,您需要先 解除封鎖。
+ existing_domain_block: 您已對 %{name} 施加更嚴格的限制。
+ existing_domain_block_html: 您已對 %{name} 施加更嚴格的限制,您需要先 解除封鎖。
export: 匯出
import: 匯入
new:
@@ -391,7 +391,7 @@ zh-TW:
noop: 無
silence: 靜音
suspend: 停權
- title: 新增封鎖站點
+ title: 新增網域黑名單
no_domain_block_selected: 因未選取網域黑名單,所以什麼事都沒發生
not_permitted: 您無權執行此操作
obfuscate: 混淆網域名稱
@@ -405,7 +405,7 @@ zh-TW:
reject_reports: 拒絕檢舉
reject_reports_hint: 忽略所有來自此網域的檢舉。與停權無關
undo: 撤銷網域封鎖
- view: 顯示阻擋的網域
+ view: 顯示已封鎖網域
email_domain_blocks:
add_new: 加入新項目
attempts_over_week:
@@ -715,7 +715,7 @@ zh-TW:
title: 關於
appearance:
preamble: 客製化 Mastodon 網頁介面。
- title: 外觀設定
+ title: 外觀
branding:
preamble: 您的伺服器品牌使之從聯邦宇宙網路中其他伺服器間凸顯自己。此資訊可能於各種不同的環境中顯示,例如 Mastodon 網頁介面、原生應用程式、其他網頁上的連結預覽或是其他通訊應用程式等等。因此,請盡可能保持此資訊簡潔明朗。
title: 品牌化
@@ -777,13 +777,13 @@ zh-TW:
with_media: 含有媒體檔案
strikes:
actions:
- delete_statuses: "%{name} 刪除了 %{target} 的嘟文"
- disable: "%{name} 凍結了 %{target} 的帳號"
+ delete_statuses: "%{name} 已刪除 %{target} 的嘟文"
+ disable: "%{name} 已凍結 %{target} 的帳號"
mark_statuses_as_sensitive: "%{name} 將 %{target} 的嘟文標記為敏感內容"
none: "%{name} 已對 %{target} 送出警告"
sensitive: "%{name} 將 %{target} 的帳號標記為含有敏感內容"
- silence: "%{name} 限制了 %{target} 的帳號"
- suspend: "%{name} 將 %{target} 的帳號停權"
+ silence: "%{name} 已限制 %{target} 的帳號"
+ suspend: "%{name} 已將 %{target} 的帳號停權"
appeal_approved: 已申訴
appeal_pending: 申訴待審中
appeal_rejected: 申訴被駁回
@@ -907,8 +907,8 @@ zh-TW:
body: 以下是新帳號的詳細資訊。您可以同意或拒絕這項申請。
subject: "%{instance} 上有新帳號 (%{username}) 待審核"
new_report:
- body: "%{reporter} 檢舉了使用者 %{target}"
- body_remote: 來自 %{domain} 的使用者檢舉了使用者 %{target}
+ body: "%{reporter} 已檢舉使用者 %{target}"
+ body_remote: 來自 %{domain} 的使用者已檢舉使用者 %{target}
subject: 來自 %{instance} 的使用者檢舉(#%{id})
new_trends:
body: 以下項目需要經過審核才能公開顯示:
@@ -953,7 +953,7 @@ zh-TW:
logout: 登出
regenerate_token: 重新產生存取 token
token_regenerated: 已重新產生存取 token
- warning: 警告,不要把它分享給任何人!
+ warning: 警告,不要將它分享給任何人!
your_token: 您的 access token
auth:
apply_for_account: 申請帳號
@@ -1001,7 +1001,7 @@ zh-TW:
preamble_html: 請使用您在 %{domain} 的帳號密碼登入。若您的帳號託管於其他伺服器,您將無法在此登入。
title: 登入 %{domain}
sign_up:
- preamble: 在這個 Mastodon 伺服器上有個帳號的話,您將能跟隨聯邦宇宙網路中的任何人,無論他們的帳號託管於哪個伺服器。
+ preamble: 於此 Mastodon 伺服器擁有帳號的話,您將能跟隨聯邦宇宙網路中任何一份子,無論他們的帳號託管於何處。
title: 讓我們一起設定 %{domain} 吧!
status:
account_status: 帳號狀態
@@ -1013,7 +1013,7 @@ zh-TW:
too_fast: 送出表單的速度太快跟不上,請稍後再試。
use_security_key: 使用安全金鑰
authorize_follow:
- already_following: 您已經跟隨了這個使用者
+ already_following: 您已經跟隨這個使用者
already_requested: 您早已向該帳號寄送跟隨請求
error: 對不起,搜尋其他站點使用者出現錯誤
follow: 跟隨
@@ -1099,7 +1099,7 @@ zh-TW:
your_appeal_pending: 您已遞交申訴
your_appeal_rejected: 您的申訴已被駁回
domain_validator:
- invalid_domain: 並非一個有效域名
+ invalid_domain: 並非一個有效網域
errors:
'400': 您所送出的請求無效或格式不正確。
'403': 您沒有檢視這個頁面的權限。
@@ -1129,10 +1129,10 @@ zh-TW:
blocks: 您封鎖的使用者
bookmarks: 書籤
csv: CSV
- domain_blocks: 域名封鎖
+ domain_blocks: 網域封鎖
lists: 列表
mutes: 您靜音的使用者
- storage: 儲存空間大小
+ storage: 匯出檔案大小
featured_tags:
add_new: 新增
errors:
@@ -1177,8 +1177,6 @@ zh-TW:
index:
hint: 此過濾器會套用至所選之各別嘟文,不管它們有無符合其他條件。您可以從網頁介面中將更多嘟文加入至此過濾器。
title: 已過濾之嘟文
- footer:
- trending_now: 現正熱門
generic:
all: 全部
all_items_on_page_selected_html:
@@ -1191,7 +1189,7 @@ zh-TW:
deselect: 取消選擇全部
none: 無
order_by: 排序
- save_changes: 儲存修改
+ save_changes: 儲存變更
select_all_matching_items:
other: 選取 %{count} 個符合您搜尋的項目。
today: 今天
@@ -1209,10 +1207,10 @@ zh-TW:
preface: 您可以在此匯入您在其他伺服器所匯出的資料檔,包括跟隨的使用者、封鎖的使用者名單。
success: 資料上傳成功,正在匯入,請稍候
types:
- blocking: 您封鎖的使用者名單
+ blocking: 您封鎖的使用者列表
bookmarks: 書籤
- domain_blocking: 域名封鎖名單
- following: 您跟隨的使用者名單
+ domain_blocking: 網域封鎖列表
+ following: 您跟隨的使用者列表
muting: 您靜音的使用者名單
upload: 上傳
invites:
@@ -1282,7 +1280,7 @@ zh-TW:
before: 在進行下一步驟之前,請詳細閱讀以下説明:
cooldown: 在轉移帳號後會有一段等待時間,在等待時間內您將無法再次轉移
disabled_account: 之後您的目前帳號將完全無法使用。但您可以存取資料匯出與重新啟用。
- followers: 此動作將會把目前帳號的所有跟隨者轉移至新帳號
+ followers: 此動作將會將目前帳號的所有跟隨者轉移至新帳號
only_redirect_html: 或者,您也可以僅在您的個人檔案中設定重新導向。
other_data: 其他資料並不會自動轉移
redirect: 您目前的帳號將會在個人檔案頁面新增重新導向公告,並會被排除在搜尋結果之外
@@ -1297,7 +1295,7 @@ zh-TW:
notification_mailer:
admin:
report:
- subject: "%{name} 送出了一則檢舉報告"
+ subject: "%{name} 已送出一則檢舉報告"
sign_up:
subject: "%{name} 已進行註冊"
favourite:
@@ -1327,7 +1325,7 @@ zh-TW:
status:
subject: "%{name} 剛剛嘟文"
update:
- subject: "%{name} 編輯了嘟文"
+ subject: "%{name} 已編輯嘟文"
notifications:
email_events: 電子郵件通知設定
email_events_hint: 選取您想接收通知的事件:
@@ -1379,11 +1377,12 @@ zh-TW:
unrecognized_emoji: 並非一個可識別的 emoji
relationships:
activity: 帳號動態
- confirm_follow_selected_followers: 您確定要跟隨這些選取的跟隨者嗎?
- confirm_remove_selected_followers: 您確定要移除這些選取的跟隨者嗎?
+ confirm_follow_selected_followers: 您確定要跟隨選取的跟隨者嗎?
+ confirm_remove_selected_followers: 您確定要移除選取的跟隨者嗎?
confirm_remove_selected_follows: 您確定要取消跟隨這些選取的使用者嗎?
dormant: 潛水中
- follow_selected_followers: 跟隨所選取的跟隨者
+ follow_failure: 無法跟隨某些所選取的帳號。
+ follow_selected_followers: 跟隨選取的跟隨者
followers: 跟隨者
following: 跟隨中
invited: 已邀請
@@ -1394,8 +1393,8 @@ zh-TW:
primary: 主要
relationship: 關係
remove_selected_domains: 從所選取網域中移除所有跟隨者
- remove_selected_followers: 移除所選取的跟隨者
- remove_selected_follows: 取消跟隨所選取使用者
+ remove_selected_followers: 移除選取的跟隨者
+ remove_selected_follows: 取消跟隨選取的使用者
status: 帳號狀態
remote_follow:
missing_resource: 無法找到資源
@@ -1409,7 +1408,7 @@ zh-TW:
tag: '帶有 #%{hashtag} 之公開嘟文'
scheduled_statuses:
over_daily_limit: 您已經超過了本日排定發嘟的限額 (%{limit})
- over_total_limit: 您已經超過了排定發嘟的限額 (%{limit})
+ over_total_limit: 您已經超過排程發嘟的限額 (%{limit})
too_soon: 嘟文不可以改變過去哦,只能預定未來 (咦)
sessions:
activity: 最近活動
@@ -1422,6 +1421,7 @@ zh-TW:
electron: Electron 瀏覽器
firefox: Firefox 瀏覽器
generic: 未知的瀏覽器
+ huawei_browser: 華為瀏覽器
ie: Internet Explorer 瀏覽器
micro_messenger: 微信
nokia: Nokia S40 Ovi 瀏覽器
@@ -1431,6 +1431,7 @@ zh-TW:
qq: QQ 瀏覽器
safari: Safari 瀏覽器
uc_browser: UC 瀏覽器
+ unknown_browser: 未知的瀏覽器
weibo: 新浪微博
current_session: 目前的 session
description: "%{platform} 上的 %{browser}"
@@ -1443,9 +1444,10 @@ zh-TW:
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
+ kai_os: KaiOS
linux: Linux
mac: Mac
- other: 不明平台
+ unknown_platform: 未知的平台
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
@@ -1457,7 +1459,7 @@ zh-TW:
account: 帳號
account_settings: 帳號設定
aliases: 帳號別名
- appearance: 外觀設定
+ appearance: 外觀
authorized_apps: 已授權應用程式
back: 回到 Mastodon
delete: 刪除帳號
@@ -1494,9 +1496,9 @@ zh-TW:
errors:
in_reply_not_found: 您嘗試回覆的嘟文看起來不存在。
open_in_web: 以網頁開啟
- over_character_limit: 超過了 %{max} 字的限制
+ over_character_limit: 已超過 %{max} 字的限制
pin_errors:
- direct: 不能釘選只對被提及的使用者顯示的嘟文
+ direct: 無法釘選只有僅提及使用者可見之嘟文
limit: 釘選嘟文的數量已達上限
ownership: 不能釘選他人的嘟文
reblog: 不能釘選轉嘟
@@ -1525,16 +1527,16 @@ zh-TW:
enabled_hint: 一旦達到指定的保存期限,就會自動刪除您的嘟文,除非該嘟文符合下列例外
exceptions: 例外
explanation: 因為刪除嘟文是耗費資源的操作,當伺服器不那麼忙碌時才會慢慢完成。因此,您的嘟文會在到達保存期限後一段時間才會被刪除。
- ignore_favs: 忽略最愛
- ignore_reblogs: 忽略轉嘟
+ ignore_favs: 忽略最愛數
+ ignore_reblogs: 忽略轉嘟數
interaction_exceptions: 基於互動的例外規則
interaction_exceptions_explanation: 請注意嘟文是無法保證被刪除的,如果在一次處理過後嘟文低於最愛或轉嘟的門檻。
keep_direct: 保留私訊
keep_direct_hint: 不會刪除任何您的私訊
keep_media: 保留包含媒體內容的嘟文
keep_media_hint: 不會刪除您包含媒體內容之嘟文
- keep_pinned: 保留釘選的嘟文
- keep_pinned_hint: 不會刪除您釘選的嘟文
+ keep_pinned: 保留釘選嘟文
+ keep_pinned_hint: 不會刪除您的釘選嘟文
keep_polls: 保留投票
keep_polls_hint: 不會刪除您的投票
keep_self_bookmark: 保留您已標記為書籤之嘟文
@@ -1556,7 +1558,7 @@ zh-TW:
min_reblogs: 保留超過嘟文轉嘟門檻
min_reblogs_hint: 如果您嘟文已收到超過轉嘟門檻則不會刪除。留白表示不論轉嘟數量皆刪除該嘟文。
stream_entries:
- pinned: 釘選的嘟文
+ pinned: 釘選嘟文
reblogged: 轉嘟
sensitive_content: 敏感內容
strikes:
@@ -1581,7 +1583,7 @@ zh-TW:
enabled: 兩階段認證已啟用
enabled_success: 已成功啟用兩階段認證
generate_recovery_codes: 產生備用驗證碼
- lost_recovery_codes: 讓您可以在遺失手機時,使用備用驗證碼登入。若您遺失了備用驗證碼,可以在這裏產生一批新的,舊有的備用驗證碼將會失效。
+ lost_recovery_codes: 讓您可以在遺失手機時,使用備用驗證碼登入。若您已遺失備用驗證碼,可於此產生一批新的,舊有的備用驗證碼將會失效。
methods: 兩步驟方式
otp: 驗證應用程式
recovery_codes: 備份備用驗證碼
@@ -1616,7 +1618,7 @@ zh-TW:
spam: 垃圾訊息
violation: 該內容違反以下社群規章
explanation:
- delete_statuses: 您的某些嘟文被發現違反了一項或多項社群準則,隨後已被 %{instance} 的管理員刪除。
+ delete_statuses: 您的某些嘟文被發現已違反一項或多項社群準則,隨後已被 %{instance} 的管理員刪除。
disable: 您無法繼續使用您的帳號,但您的個人頁面及其他資料內容保持不變。您可以要求一份您的資料備份,帳號異動設定,或是刪除帳號。
mark_statuses_as_sensitive: 您的部份嘟文已被 %{instance} 的管理員標記為敏感內容。這代表了人們必須在顯示預覽前點擊嘟文中的媒體。您可以在將來嘟文時自己將媒體標記為敏感內容。
sensitive: 您之後上傳的所有媒體檔案會被標為敏感內容,並且被隱藏起來,須點擊警告按鈕才會顯示。
@@ -1647,7 +1649,7 @@ zh-TW:
final_action: 開始嘟嘟
final_step: '開始嘟嘟吧!即使您現在沒有跟隨者,其他人仍然能在本站時間軸、主題標籤等地方,看到您的公開嘟文。試著用 #introductions 這個主題標籤介紹一下自己吧。'
full_handle: 您的完整帳號名稱
- full_handle_hint: 您需要把這告訴您的朋友們,這樣他們就能從另一個伺服器向您發送訊息或跟隨您。
+ full_handle_hint: 您需要將這告訴您的朋友們,這樣他們就能從另一個伺服器向您發送訊息或跟隨您。
subject: 歡迎來到 Mastodon
title: "%{name} 誠摯歡迎您的加入!"
users:
diff --git a/config/puma.rb b/config/puma.rb
index e592954458..c4e2b0b85c 100644
--- a/config/puma.rb
+++ b/config/puma.rb
@@ -22,3 +22,5 @@ on_worker_boot do
end
plugin :tmp_restart
+
+set_remote_address(proxy_protocol: :v1) if ENV['PROXY_PROTO_V1'] == 'true'
diff --git a/config/routes.rb b/config/routes.rb
index 12e354dfef..a1832eafbe 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -8,6 +8,7 @@ Rails.application.routes.draw do
# have alternative format representations requiring separate controllers
web_app_paths = %w(
/getting-started
+ /getting-started-misc
/keyboard-shortcuts
/home
/public
@@ -223,6 +224,7 @@ Rails.application.routes.draw do
resource :statuses_cleanup, controller: :statuses_cleanup, only: [:show, :update]
get '/media_proxy/:id/(*any)', to: 'media_proxy#show', as: :media_proxy, format: false
+ get '/backups/:id/download', to: 'backups#download', as: :download_backup, format: false
resource :authorize_interaction, only: [:show, :create]
resource :share, only: [:show, :create]
@@ -231,7 +233,7 @@ Rails.application.routes.draw do
get '/dashboard', to: 'dashboard#index'
resources :domain_allows, only: [:new, :create, :show, :destroy]
- resources :domain_blocks, only: [:new, :create, :show, :destroy, :update, :edit] do
+ resources :domain_blocks, only: [:new, :create, :destroy, :update, :edit] do
collection do
post :batch
end
@@ -482,7 +484,9 @@ Rails.application.routes.draw do
resources :list, only: :show
end
- resources :streaming, only: [:index]
+ get '/streaming', to: 'streaming#index'
+ get '/streaming/(*any)', to: 'streaming#index'
+
resources :custom_emojis, only: [:index]
resources :suggestions, only: [:index, :destroy]
resources :scheduled_statuses, only: [:index, :show, :update, :destroy]
@@ -554,6 +558,7 @@ Rails.application.routes.draw do
resources :domain_blocks, only: [:index], controller: 'instances/domain_blocks'
resource :privacy_policy, only: [:show], controller: 'instances/privacy_policies'
resource :extended_description, only: [:show], controller: 'instances/extended_descriptions'
+ resource :translation_languages, only: [:show], controller: 'instances/translation_languages'
resource :activity, only: [:show], controller: 'instances/activity'
end
diff --git a/config/webpacker.yml b/config/webpacker.yml
index e4bcfe8d4f..179d4082c2 100644
--- a/config/webpacker.yml
+++ b/config/webpacker.yml
@@ -76,7 +76,7 @@ development:
test:
<<: *default
- # CircleCI precompiles packs prior to running the tests.
+ # CI precompiles packs prior to running the tests.
# Also avoids race conditions in parallel_tests.
compile: false
diff --git a/db/migrate/20170920032311_fix_reblogs_in_feeds.rb b/db/migrate/20170920032311_fix_reblogs_in_feeds.rb
index 4ab68e8f32..7e2db0ff3e 100644
--- a/db/migrate/20170920032311_fix_reblogs_in_feeds.rb
+++ b/db/migrate/20170920032311_fix_reblogs_in_feeds.rb
@@ -1,6 +1,6 @@
class FixReblogsInFeeds < ActiveRecord::Migration[5.1]
def up
- redis = Redis.current
+ redis = RedisConfiguration.pool.checkout
fm = FeedManager.instance
# Old scheme:
diff --git a/db/migrate/20200407202420_migrate_unavailable_inboxes.rb b/db/migrate/20200407202420_migrate_unavailable_inboxes.rb
index 92a3acb5d1..8f9c687942 100644
--- a/db/migrate/20200407202420_migrate_unavailable_inboxes.rb
+++ b/db/migrate/20200407202420_migrate_unavailable_inboxes.rb
@@ -2,7 +2,8 @@ class MigrateUnavailableInboxes < ActiveRecord::Migration[5.2]
disable_ddl_transaction!
def up
- urls = Redis.current.smembers('unavailable_inboxes')
+ redis = RedisConfiguration.pool.checkout
+ urls = redis.smembers('unavailable_inboxes')
hosts = urls.map do |url|
Addressable::URI.parse(url).normalized_host
@@ -14,7 +15,7 @@ class MigrateUnavailableInboxes < ActiveRecord::Migration[5.2]
UnavailableDomain.create(domain: host)
end
- Redis.current.del(*(['unavailable_inboxes'] + Redis.current.keys('exhausted_deliveries:*')))
+ redis.del(*(['unavailable_inboxes'] + redis.keys('exhausted_deliveries:*')))
end
def down; end
diff --git a/docker-compose.yml b/docker-compose.yml
index c534286c76..f603c2f7e2 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -56,7 +56,7 @@ services:
web:
build: .
- image: tootsuite/mastodon
+ image: ghcr.io/mastodon/mastodon
restart: always
env_file: .env.production
command: bash -c "rm -f /mastodon/tmp/pids/server.pid; bundle exec rails s -p 3000"
@@ -77,7 +77,7 @@ services:
streaming:
build: .
- image: tootsuite/mastodon
+ image: ghcr.io/mastodon/mastodon
restart: always
env_file: .env.production
command: node ./streaming
@@ -95,7 +95,7 @@ services:
sidekiq:
build: .
- image: tootsuite/mastodon
+ image: ghcr.io/mastodon/mastodon
restart: always
env_file: .env.production
command: bundle exec sidekiq
diff --git a/lib/cli.rb b/lib/cli.rb
index 157465c4b5..ac235cf039 100644
--- a/lib/cli.rb
+++ b/lib/cli.rb
@@ -131,7 +131,7 @@ module Mastodon
json = Oj.dump(ActivityPub::LinkedDataSignature.new(payload).sign!(account))
unless options[:dry_run]
- ActivityPub::DeliveryWorker.push_bulk(inboxes) do |inbox_url|
+ ActivityPub::DeliveryWorker.push_bulk(inboxes, limit: 1_000) do |inbox_url|
[json, account.id, inbox_url]
end
diff --git a/lib/mastodon/accounts_cli.rb b/lib/mastodon/accounts_cli.rb
index db379eb853..a6532541e0 100644
--- a/lib/mastodon/accounts_cli.rb
+++ b/lib/mastodon/accounts_cli.rb
@@ -372,16 +372,16 @@ module Mastodon
option :concurrency, type: :numeric, default: 5, aliases: [:c]
option :verbose, type: :boolean, aliases: [:v]
option :dry_run, type: :boolean
- desc 'refresh [USERNAME]', 'Fetch remote user data and files'
+ desc 'refresh [USERNAMES]', 'Fetch remote user data and files'
long_desc <<-LONG_DESC
Fetch remote user data and files for one or multiple accounts.
With the --all option, all remote accounts will be processed.
Through the --domain option, this can be narrowed down to a
- specific domain only. Otherwise, a single remote account must
- be specified with USERNAME.
+ specific domain only. Otherwise, remote accounts must be
+ specified with space-separated USERNAMES.
LONG_DESC
- def refresh(username = nil)
+ def refresh(*usernames)
dry_run = options[:dry_run] ? ' (DRY RUN)' : ''
if options[:domain] || options[:all]
@@ -397,19 +397,25 @@ module Mastodon
end
say("Refreshed #{processed} accounts#{dry_run}", :green, true)
- elsif username.present?
- username, domain = username.split('@')
- account = Account.find_remote(username, domain)
+ elsif !usernames.empty?
+ usernames.each do |user|
+ user, domain = user.split('@')
+ account = Account.find_remote(user, domain)
+
+ if account.nil?
+ say('No such account', :red)
+ exit(1)
+ end
- if account.nil?
- say('No such account', :red)
- exit(1)
- end
+ next if options[:dry_run]
- unless options[:dry_run]
- account.reset_avatar!
- account.reset_header!
- account.save
+ begin
+ account.reset_avatar!
+ account.reset_header!
+ account.save
+ rescue Mastodon::UnexpectedResponseError
+ say("Account failed: #{user}@#{domain}", :red)
+ end
end
say("OK#{dry_run}", :green)
@@ -627,7 +633,7 @@ module Mastodon
exit(1)
end
- unless options[:force] || migration.target_acount_id == account.moved_to_account_id
+ unless options[:force] || migration.target_account_id == account.moved_to_account_id
say('The specified account is not redirecting to its last migration target. Use --force if you want to replay the migration anyway', :red)
exit(1)
end
diff --git a/lib/mastodon/cli_helper.rb b/lib/mastodon/cli_helper.rb
index 8704edd75e..ab1351ae80 100644
--- a/lib/mastodon/cli_helper.rb
+++ b/lib/mastodon/cli_helper.rb
@@ -52,14 +52,16 @@ module Mastodon
progress.log("Processing #{item.id}") if options[:verbose]
- result = ActiveRecord::Base.connection_pool.with_connection do
- yield(item)
- ensure
- RedisConfiguration.pool.checkin if Thread.current[:redis]
- Thread.current[:redis] = nil
+ Chewy.strategy(:mastodon) do
+ result = ActiveRecord::Base.connection_pool.with_connection do
+ yield(item)
+ ensure
+ RedisConfiguration.pool.checkin if Thread.current[:redis]
+ Thread.current[:redis] = nil
+ end
+
+ aggregate.increment(result) if result.is_a?(Integer)
end
-
- aggregate.increment(result) if result.is_a?(Integer)
rescue => e
progress.log pastel.red("Error processing #{item.id}: #{e}")
ensure
diff --git a/lib/mastodon/feeds_cli.rb b/lib/mastodon/feeds_cli.rb
index 428d63a446..fcfb487404 100644
--- a/lib/mastodon/feeds_cli.rb
+++ b/lib/mastodon/feeds_cli.rb
@@ -53,11 +53,7 @@ module Mastodon
desc 'clear', 'Remove all home and list feeds from Redis'
def clear
keys = redis.keys('feed:*')
-
- redis.pipelined do
- keys.each { |key| redis.del(key) }
- end
-
+ redis.del(keys)
say('OK', :green)
end
end
diff --git a/lib/mastodon/media_cli.rb b/lib/mastodon/media_cli.rb
index fc70c8785a..b2dfe58d53 100644
--- a/lib/mastodon/media_cli.rb
+++ b/lib/mastodon/media_cli.rb
@@ -35,7 +35,6 @@ module Mastodon
follow status. By default, only accounts that are not followed by or
following anyone locally are pruned.
DESC
- # rubocop:disable Metrics/PerceivedComplexity
def remove
if options[:prune_profiles] && options[:remove_headers]
say('--prune-profiles and --remove-headers should not be specified simultaneously', :red, true)
@@ -224,7 +223,6 @@ module Mastodon
say("Removed #{removed} orphans (approx. #{number_to_human_size(reclaimed_bytes)})#{dry_run}", :green, true)
end
- # rubocop:enable Metrics/PerceivedComplexity
option :account, type: :string
option :domain, type: :string
diff --git a/lib/mastodon/sidekiq_middleware.rb b/lib/mastodon/sidekiq_middleware.rb
index c75e8401f5..9832e1a27c 100644
--- a/lib/mastodon/sidekiq_middleware.rb
+++ b/lib/mastodon/sidekiq_middleware.rb
@@ -3,8 +3,8 @@
class Mastodon::SidekiqMiddleware
BACKTRACE_LIMIT = 3
- def call(*)
- yield
+ def call(*, &block)
+ Chewy.strategy(:mastodon, &block)
rescue Mastodon::HostValidationError
# Do not retry
rescue => e
diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb
index 192222c62f..affc61b73b 100644
--- a/lib/mastodon/version.rb
+++ b/lib/mastodon/version.rb
@@ -13,7 +13,7 @@ module Mastodon
end
def patch
- 0
+ 1
end
def flags
diff --git a/lib/public_file_server_middleware.rb b/lib/public_file_server_middleware.rb
new file mode 100644
index 0000000000..3799230a22
--- /dev/null
+++ b/lib/public_file_server_middleware.rb
@@ -0,0 +1,43 @@
+# frozen_string_literal: true
+
+require 'action_dispatch/middleware/static'
+
+class PublicFileServerMiddleware
+ SERVICE_WORKER_TTL = 7.days.to_i
+ CACHE_TTL = 28.days.to_i
+
+ def initialize(app)
+ @app = app
+ @file_handler = ActionDispatch::FileHandler.new(Rails.application.paths['public'].first)
+ end
+
+ def call(env)
+ file = @file_handler.attempt(env)
+
+ # If the request is not a static file, move on!
+ return @app.call(env) if file.nil?
+
+ status, headers, response = file
+
+ # Set cache headers on static files. Some paths require different cache headers
+ headers['Cache-Control'] = begin
+ request_path = env['REQUEST_PATH']
+
+ if request_path.start_with?('/sw.js')
+ "public, max-age=#{SERVICE_WORKER_TTL}, must-revalidate"
+ elsif request_path.start_with?(paperclip_root_url)
+ "public, max-age=#{CACHE_TTL}, immutable"
+ else
+ "public, max-age=#{CACHE_TTL}, must-revalidate"
+ end
+ end
+
+ [status, headers, response]
+ end
+
+ private
+
+ def paperclip_root_url
+ ENV.fetch('PAPERCLIP_ROOT_URL', '/system')
+ end
+end
diff --git a/lib/sanitize_ext/sanitize_config.rb b/lib/sanitize_ext/sanitize_config.rb
index ab4514ae15..4d583337be 100644
--- a/lib/sanitize_ext/sanitize_config.rb
+++ b/lib/sanitize_ext/sanitize_config.rb
@@ -74,12 +74,11 @@ class Sanitize
elements: %w(p br span a abbr del pre blockquote code b strong u sub sup i em h1 h2 h3 h4 h5 ul ol li),
attributes: {
- 'a' => %w(href rel class title),
- 'span' => %w(class),
- 'abbr' => %w(title),
+ 'a' => %w(href rel class title),
+ 'span' => %w(class),
'blockquote' => %w(cite),
- 'ol' => %w(start reversed),
- 'li' => %w(value),
+ 'ol' => %w(start reversed),
+ 'li' => %w(value),
},
add_attributes: {
diff --git a/lib/tasks/emojis.rake b/lib/tasks/emojis.rake
index c743f8a554..fbb2e8d4f3 100644
--- a/lib/tasks/emojis.rake
+++ b/lib/tasks/emojis.rake
@@ -6,7 +6,7 @@ def gen_border(codepoint, color)
doc = File.open(input) { |f| Nokogiri::XML(f) }
svg = doc.at_css('svg')
if svg.key?('viewBox')
- view_box = svg['viewBox'].split(' ').map(&:to_i)
+ view_box = svg['viewBox'].split.map(&:to_i)
view_box[0] -= 2
view_box[1] -= 2
view_box[2] += 4
@@ -36,7 +36,7 @@ end
def codepoints_to_unicode(codepoints)
if codepoints.include?(' ')
- codepoints.split(' ').map(&:hex).pack('U*')
+ codepoints.split.map(&:hex).pack('U*')
else
[codepoints.hex].pack('U')
end
diff --git a/lib/tasks/repo.rake b/lib/tasks/repo.rake
index 5d1b4f7544..888337b4f2 100644
--- a/lib/tasks/repo.rake
+++ b/lib/tasks/repo.rake
@@ -91,8 +91,8 @@ namespace :repo do
missing_json_files = I18n.available_locales.reject { |locale| Rails.root.join('app', 'javascript', 'mastodon', 'locales', "#{locale}.json").exist? }
locales_in_files = Dir[Rails.root.join('config', 'locales', '*.yml')].map do |path|
- file_name = File.basename(path)
- file_name.gsub(/\A(doorkeeper|devise|activerecord|simple_form)\./, '').gsub(/\.yml\z/, '').to_sym
+ file_name = File.basename(path, '.yml')
+ file_name.gsub(/\A(doorkeeper|devise|activerecord|simple_form)\./, '').to_sym
end.uniq.compact
missing_available_locales = locales_in_files - I18n.available_locales
diff --git a/package.json b/package.json
index df0ba24ff3..b42b95257e 100644
--- a/package.json
+++ b/package.json
@@ -24,7 +24,7 @@
},
"private": true,
"dependencies": {
- "@babel/core": "^7.21.0",
+ "@babel/core": "^7.21.3",
"@babel/plugin-proposal-decorators": "^7.21.0",
"@babel/plugin-transform-react-inline-elements": "^7.21.0",
"@babel/plugin-transform-runtime": "^7.21.0",
@@ -32,14 +32,14 @@
"@babel/preset-react": "^7.18.6",
"@babel/runtime": "^7.21.0",
"@gamestdio/websocket": "^0.3.2",
- "@github/webauthn-json": "^0.5.7",
+ "@github/webauthn-json": "^2.1.1",
"@rails/ujs": "^6.1.7",
"abortcontroller-polyfill": "^1.7.5",
"array-includes": "^3.1.6",
"atrament": "0.2.4",
"arrow-key-navigation": "^1.2.0",
- "autoprefixer": "^9.8.8",
- "axios": "^1.3.3",
+ "autoprefixer": "^10.4.14",
+ "axios": "^1.3.4",
"babel-loader": "^8.3.0",
"babel-plugin-lodash": "^3.3.4",
"babel-plugin-preval": "^5.1.0",
@@ -48,11 +48,11 @@
"blurhash": "^2.0.5",
"classnames": "^2.3.2",
"cocoon-js-vanilla": "^1.3.0",
- "color-blend": "^3.0.1",
+ "color-blend": "^4.0.0",
"compression-webpack-plugin": "^6.1.1",
"cross-env": "^7.0.3",
"css-loader": "^5.2.7",
- "cssnano": "^4.1.11",
+ "cssnano": "^5.1.15",
"detect-passive-events": "^2.0.3",
"dotenv": "^16.0.3",
"emoji-mart": "npm:emoji-mart-lazyload@latest",
@@ -63,30 +63,31 @@
"favico.js": "^0.3.10",
"file-loader": "^6.2.0",
"font-awesome": "^4.7.0",
- "fuzzysort": "^1.9.0",
- "glob": "^8.1.0",
+ "fuzzysort": "^2.0.4",
+ "glob": "^9.3.0",
"history": "^4.10.1",
"http-link-header": "^1.1.0",
- "immutable": "^4.2.4",
+ "immutable": "^4.3.0",
"imports-loader": "^1.2.0",
"intl": "^1.2.5",
"intl-messageformat": "^2.2.0",
"intl-relativeformat": "^6.4.3",
"is-nan": "^1.3.2",
"js-yaml": "^4.1.0",
- "jsdom": "^21.1.0",
+ "jsdom": "^21.1.1",
"lodash": "^4.17.21",
"mark-loader": "^0.1.6",
"marky": "^1.2.5",
"mini-css-extract-plugin": "^1.6.2",
- "mkdirp": "^2.1.3",
+ "mkdirp": "^2.1.5",
"npmlog": "^7.0.1",
"object-assign": "^4.1.1",
"object.values": "^1.1.6",
"path-complete-extname": "^1.0.0",
"pg": "^8.5.0",
+ "pg-connection-string": "^2.5.0",
"postcss": "^8.4.21",
- "postcss-loader": "^3.0.0",
+ "postcss-loader": "^4.3.0",
"promise.prototype.finally": "^3.1.4",
"prop-types": "^15.8.1",
"punycode": "^2.3.0",
@@ -104,20 +105,20 @@
"react-redux-loading-bar": "^5.0.4",
"react-router-dom": "^4.1.1",
"react-router-scroll-4": "^1.0.0-beta.1",
- "react-select": "^5.7.0",
+ "react-select": "^5.7.1",
"react-sparklines": "^1.7.0",
"react-swipeable-views": "^0.14.0",
"react-textarea-autosize": "^8.4.0",
"react-toggle": "^4.1.3",
- "redis": "^4.0.6 <4.1.0",
+ "redis": "^4.6.5",
"redux": "^4.2.1",
"redux-immutable": "^4.0.0",
"redux-thunk": "^2.4.2",
"regenerator-runtime": "^0.13.11",
"requestidlecallback": "^0.3.0",
"reselect": "^4.1.7",
- "rimraf": "^4.1.2",
- "sass": "^1.58.3",
+ "rimraf": "^4.4.0",
+ "sass": "^1.59.3",
"sass-loader": "^10.2.0",
"stacktrace-js": "^2.0.2",
"stringz": "^2.1.0",
@@ -143,32 +144,32 @@
"ws": "^8.12.1"
},
"devDependencies": {
- "@babel/eslint-parser": "^7.19.1",
+ "@babel/eslint-parser": "^7.21.3",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^12.1.5",
- "babel-jest": "^29.4.3",
- "eslint": "^8.33.0",
+ "babel-jest": "^29.5.0",
+ "eslint": "^8.36.0",
"eslint-plugin-import": "~2.27.5",
"eslint-plugin-jsx-a11y": "~6.7.1",
"eslint-plugin-promise": "~6.1.1",
"eslint-plugin-react": "~7.32.2",
- "jest": "^29.4.3",
- "jest-environment-jsdom": "^29.4.3",
+ "jest": "^29.5.0",
+ "jest-environment-jsdom": "^29.5.0",
"postcss-scss": "^4.0.6",
- "prettier": "^2.8.4",
+ "prettier": "^2.8.5",
"raf": "^3.4.1",
"react-intl-translations-manager": "^5.0.3",
"react-test-renderer": "^16.14.0",
- "stylelint": "^15.2.0",
+ "stylelint": "^15.3.0",
"stylelint-config-standard-scss": "^7.0.1",
"webpack-dev-server": "^3.11.3",
- "yargs": "^17.7.0"
+ "yargs": "^17.7.1"
},
"resolutions": {
"kind-of": "^6.0.3"
},
"optionalDependencies": {
"bufferutil": "^4.0.7",
- "utf-8-validate": "^6.0.2"
+ "utf-8-validate": "^6.0.3"
}
}
diff --git a/postcss.config.js b/postcss.config.js
index e7749a219d..5d58d74e34 100644
--- a/postcss.config.js
+++ b/postcss.config.js
@@ -1,6 +1,6 @@
module.exports = ({ env }) => ({
- plugins: {
- autoprefixer: {},
- cssnano: env === 'production' ? {} : false,
- },
+ plugins: [
+ 'autoprefixer',
+ env === 'production' ? 'cssnano' : '',
+ ],
});
diff --git a/spec/chewy/accounts_index_spec.rb b/spec/chewy/accounts_index_spec.rb
new file mode 100644
index 0000000000..f9c5922c76
--- /dev/null
+++ b/spec/chewy/accounts_index_spec.rb
@@ -0,0 +1,31 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe AccountsIndex do
+ describe 'Searching the index' do
+ before do
+ mock_elasticsearch_response(described_class, raw_response)
+ end
+
+ it 'returns results from a query' do
+ results = described_class.query(match: { name: 'account' })
+
+ expect(results).to eq []
+ end
+ end
+
+ def raw_response
+ {
+ took: 3,
+ hits: {
+ hits: [
+ {
+ _id: '0',
+ _score: 1.6375021,
+ },
+ ],
+ },
+ }
+ end
+end
diff --git a/spec/chewy/statuses_index_spec.rb b/spec/chewy/statuses_index_spec.rb
new file mode 100644
index 0000000000..768e9415fc
--- /dev/null
+++ b/spec/chewy/statuses_index_spec.rb
@@ -0,0 +1,31 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe StatusesIndex do
+ describe 'Searching the index' do
+ before do
+ mock_elasticsearch_response(described_class, raw_response)
+ end
+
+ it 'returns results from a query' do
+ results = described_class.query(match: { name: 'status' })
+
+ expect(results).to eq []
+ end
+ end
+
+ def raw_response
+ {
+ took: 3,
+ hits: {
+ hits: [
+ {
+ _id: '0',
+ _score: 1.6375021,
+ },
+ ],
+ },
+ }
+ end
+end
diff --git a/spec/chewy/tags_index_spec.rb b/spec/chewy/tags_index_spec.rb
new file mode 100644
index 0000000000..054589bdfb
--- /dev/null
+++ b/spec/chewy/tags_index_spec.rb
@@ -0,0 +1,31 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe TagsIndex do
+ describe 'Searching the index' do
+ before do
+ mock_elasticsearch_response(described_class, raw_response)
+ end
+
+ it 'returns results from a query' do
+ results = described_class.query(match: { name: 'tag' })
+
+ expect(results).to eq []
+ end
+ end
+
+ def raw_response
+ {
+ took: 3,
+ hits: {
+ hits: [
+ {
+ _id: '0',
+ _score: 1.6375021,
+ },
+ ],
+ },
+ }
+ end
+end
diff --git a/spec/controllers/activitypub/claims_controller_spec.rb b/spec/controllers/activitypub/claims_controller_spec.rb
new file mode 100644
index 0000000000..f00eeb732a
--- /dev/null
+++ b/spec/controllers/activitypub/claims_controller_spec.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe ActivityPub::ClaimsController do
+ let(:account) { Fabricate(:account) }
+
+ describe 'POST #create' do
+ context 'without signature' do
+ before do
+ post :create, params: { account_username: account.username }, body: '{}'
+ end
+
+ it 'returns http not authorized' do
+ expect(response).to have_http_status(401)
+ end
+ end
+ end
+end
diff --git a/spec/controllers/admin/account_actions_controller_spec.rb b/spec/controllers/admin/account_actions_controller_spec.rb
new file mode 100644
index 0000000000..4eae51c7b5
--- /dev/null
+++ b/spec/controllers/admin/account_actions_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::AccountActionsController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #new' do
+ let(:account) { Fabricate(:account) }
+
+ it 'returns http success' do
+ get :new, params: { account_id: account.id }
+
+ expect(response).to have_http_status(:success)
+ end
+ end
+end
diff --git a/spec/controllers/admin/announcements_controller_spec.rb b/spec/controllers/admin/announcements_controller_spec.rb
new file mode 100644
index 0000000000..288ac1d713
--- /dev/null
+++ b/spec/controllers/admin/announcements_controller_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::AnnouncementsController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index
+
+ expect(response).to have_http_status(:success)
+ end
+ end
+end
diff --git a/spec/controllers/admin/follow_recommendations_controller_spec.rb b/spec/controllers/admin/follow_recommendations_controller_spec.rb
new file mode 100644
index 0000000000..f62aa6e4b2
--- /dev/null
+++ b/spec/controllers/admin/follow_recommendations_controller_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::FollowRecommendationsController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #show' do
+ it 'returns http success' do
+ get :show
+
+ expect(response).to have_http_status(:success)
+ end
+ end
+end
diff --git a/spec/controllers/admin/ip_blocks_controller_spec.rb b/spec/controllers/admin/ip_blocks_controller_spec.rb
new file mode 100644
index 0000000000..873888afc7
--- /dev/null
+++ b/spec/controllers/admin/ip_blocks_controller_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::IpBlocksController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index
+
+ expect(response).to have_http_status(:success)
+ end
+ end
+end
diff --git a/spec/controllers/admin/relationships_controller_spec.rb b/spec/controllers/admin/relationships_controller_spec.rb
new file mode 100644
index 0000000000..1099a37a3b
--- /dev/null
+++ b/spec/controllers/admin/relationships_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::RelationshipsController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #index' do
+ let(:account) { Fabricate(:account) }
+
+ it 'returns http success' do
+ get :index, params: { account_id: account.id }
+
+ expect(response).to have_http_status(:success)
+ end
+ end
+end
diff --git a/spec/controllers/admin/relays_controller_spec.rb b/spec/controllers/admin/relays_controller_spec.rb
new file mode 100644
index 0000000000..dfb9f3c048
--- /dev/null
+++ b/spec/controllers/admin/relays_controller_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::RelaysController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index
+
+ expect(response).to have_http_status(:success)
+ end
+ end
+end
diff --git a/spec/controllers/admin/reports/actions_controller_spec.rb b/spec/controllers/admin/reports/actions_controller_spec.rb
index 3e42e4cb19..4c2624a408 100644
--- a/spec/controllers/admin/reports/actions_controller_spec.rb
+++ b/spec/controllers/admin/reports/actions_controller_spec.rb
@@ -57,6 +57,9 @@ describe Admin::Reports::ActionsController do
let!(:media) { Fabricate(:media_attachment, account: target_account, status: statuses[0]) }
let(:report) { Fabricate(:report, target_account: target_account, status_ids: statuses.map(&:id)) }
let(:text) { 'hello' }
+ let(:common_params) do
+ { report_id: report.id, text: text }
+ end
shared_examples 'common behavior' do
it 'closes the report' do
@@ -72,6 +75,26 @@ describe Admin::Reports::ActionsController do
subject
expect(response).to redirect_to(admin_reports_path)
end
+
+ context 'when text is unset' do
+ let(:common_params) do
+ { report_id: report.id }
+ end
+
+ it 'closes the report' do
+ expect { subject }.to change { report.reload.action_taken? }.from(false).to(true)
+ end
+
+ it 'creates a strike with the expected text' do
+ expect { subject }.to change { report.target_account.strikes.count }.by(1)
+ expect(report.target_account.strikes.last.text).to eq ''
+ end
+
+ it 'redirects' do
+ subject
+ expect(response).to redirect_to(admin_reports_path)
+ end
+ end
end
shared_examples 'all action types' do
@@ -124,13 +147,13 @@ describe Admin::Reports::ActionsController do
end
context 'action as submit button' do
- subject { post :create, params: { report_id: report.id, text: text, action => '' } }
+ subject { post :create, params: common_params.merge({ action => '' }) }
it_behaves_like 'all action types'
end
context 'action as submit button' do
- subject { post :create, params: { report_id: report.id, text: text, moderation_action: action } }
+ subject { post :create, params: common_params.merge({ moderation_action: action }) }
it_behaves_like 'all action types'
end
diff --git a/spec/controllers/admin/rules_controller_spec.rb b/spec/controllers/admin/rules_controller_spec.rb
new file mode 100644
index 0000000000..d7b633c049
--- /dev/null
+++ b/spec/controllers/admin/rules_controller_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::RulesController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index
+
+ expect(response).to have_http_status(:success)
+ end
+ end
+end
diff --git a/spec/controllers/admin/settings/about_controller_spec.rb b/spec/controllers/admin/settings/about_controller_spec.rb
new file mode 100644
index 0000000000..2ae26090b6
--- /dev/null
+++ b/spec/controllers/admin/settings/about_controller_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::Settings::AboutController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #show' do
+ it 'returns http success' do
+ get :show
+
+ expect(response).to have_http_status(:success)
+ end
+ end
+end
diff --git a/spec/controllers/admin/settings/appearance_controller_spec.rb b/spec/controllers/admin/settings/appearance_controller_spec.rb
new file mode 100644
index 0000000000..65b29acc3e
--- /dev/null
+++ b/spec/controllers/admin/settings/appearance_controller_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::Settings::AppearanceController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #show' do
+ it 'returns http success' do
+ get :show
+
+ expect(response).to have_http_status(:success)
+ end
+ end
+end
diff --git a/spec/controllers/admin/settings/content_retention_controller_spec.rb b/spec/controllers/admin/settings/content_retention_controller_spec.rb
new file mode 100644
index 0000000000..53ce84d189
--- /dev/null
+++ b/spec/controllers/admin/settings/content_retention_controller_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::Settings::ContentRetentionController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #show' do
+ it 'returns http success' do
+ get :show
+
+ expect(response).to have_http_status(:success)
+ end
+ end
+end
diff --git a/spec/controllers/admin/settings/discovery_controller_spec.rb b/spec/controllers/admin/settings/discovery_controller_spec.rb
new file mode 100644
index 0000000000..c7307ffc88
--- /dev/null
+++ b/spec/controllers/admin/settings/discovery_controller_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::Settings::DiscoveryController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #show' do
+ it 'returns http success' do
+ get :show
+
+ expect(response).to have_http_status(:success)
+ end
+ end
+end
diff --git a/spec/controllers/admin/settings/registrations_controller_spec.rb b/spec/controllers/admin/settings/registrations_controller_spec.rb
new file mode 100644
index 0000000000..3fc1f9d132
--- /dev/null
+++ b/spec/controllers/admin/settings/registrations_controller_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::Settings::RegistrationsController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #show' do
+ it 'returns http success' do
+ get :show
+
+ expect(response).to have_http_status(:success)
+ end
+ end
+end
diff --git a/spec/controllers/admin/site_uploads_controller_spec.rb b/spec/controllers/admin/site_uploads_controller_spec.rb
new file mode 100644
index 0000000000..4ea37f396a
--- /dev/null
+++ b/spec/controllers/admin/site_uploads_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::SiteUploadsController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'DELETE #destroy' do
+ let(:site_upload) { Fabricate(:site_upload, var: 'thumbnail') }
+
+ it 'returns http success' do
+ delete :destroy, params: { id: site_upload.id }
+
+ expect(response).to redirect_to(admin_settings_path)
+ end
+ end
+end
diff --git a/spec/controllers/admin/trends/links/preview_card_providers_controller_spec.rb b/spec/controllers/admin/trends/links/preview_card_providers_controller_spec.rb
new file mode 100644
index 0000000000..95ed38d6b1
--- /dev/null
+++ b/spec/controllers/admin/trends/links/preview_card_providers_controller_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::Trends::Links::PreviewCardProvidersController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index
+
+ expect(response).to have_http_status(:success)
+ end
+ end
+end
diff --git a/spec/controllers/admin/trends/links_controller_spec.rb b/spec/controllers/admin/trends/links_controller_spec.rb
new file mode 100644
index 0000000000..7c67f5e5aa
--- /dev/null
+++ b/spec/controllers/admin/trends/links_controller_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::Trends::LinksController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index
+
+ expect(response).to have_http_status(:success)
+ end
+ end
+end
diff --git a/spec/controllers/admin/trends/statuses_controller_spec.rb b/spec/controllers/admin/trends/statuses_controller_spec.rb
new file mode 100644
index 0000000000..b752234d3c
--- /dev/null
+++ b/spec/controllers/admin/trends/statuses_controller_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::Trends::StatusesController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index
+
+ expect(response).to have_http_status(:success)
+ end
+ end
+end
diff --git a/spec/controllers/admin/trends/tags_controller_spec.rb b/spec/controllers/admin/trends/tags_controller_spec.rb
new file mode 100644
index 0000000000..4f74a55455
--- /dev/null
+++ b/spec/controllers/admin/trends/tags_controller_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::Trends::TagsController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index
+
+ expect(response).to have_http_status(:success)
+ end
+ end
+end
diff --git a/spec/controllers/admin/warning_presets_controller_spec.rb b/spec/controllers/admin/warning_presets_controller_spec.rb
new file mode 100644
index 0000000000..6b48fc28bb
--- /dev/null
+++ b/spec/controllers/admin/warning_presets_controller_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::WarningPresetsController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index
+
+ expect(response).to have_http_status(:success)
+ end
+ end
+end
diff --git a/spec/controllers/admin/webhooks/secrets_controller_spec.rb b/spec/controllers/admin/webhooks/secrets_controller_spec.rb
new file mode 100644
index 0000000000..291a10fba5
--- /dev/null
+++ b/spec/controllers/admin/webhooks/secrets_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::Webhooks::SecretsController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'POST #rotate' do
+ let(:webhook) { Fabricate(:webhook) }
+
+ it 'returns http success' do
+ post :rotate, params: { webhook_id: webhook.id }
+
+ expect(response).to redirect_to(admin_webhook_path(webhook))
+ end
+ end
+end
diff --git a/spec/controllers/admin/webhooks_controller_spec.rb b/spec/controllers/admin/webhooks_controller_spec.rb
new file mode 100644
index 0000000000..12727e142b
--- /dev/null
+++ b/spec/controllers/admin/webhooks_controller_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::WebhooksController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index
+
+ expect(response).to have_http_status(:success)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/accounts/familiar_followers_controller_spec.rb b/spec/controllers/api/v1/accounts/familiar_followers_controller_spec.rb
new file mode 100644
index 0000000000..bb075261f3
--- /dev/null
+++ b/spec/controllers/api/v1/accounts/familiar_followers_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Accounts::FamiliarFollowersController do
+ render_views
+
+ let(:user) { Fabricate(:user) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read:follows') }
+ let(:account) { Fabricate(:account) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index, params: { account_id: account.id, limit: 2 }
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/accounts/featured_tags_controller_spec.rb b/spec/controllers/api/v1/accounts/featured_tags_controller_spec.rb
new file mode 100644
index 0000000000..53ac1e2a7a
--- /dev/null
+++ b/spec/controllers/api/v1/accounts/featured_tags_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Accounts::FeaturedTagsController do
+ render_views
+
+ let(:user) { Fabricate(:user) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read:accounts') }
+ let(:account) { Fabricate(:account) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index, params: { account_id: account.id, limit: 2 }
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/accounts/identity_proofs_controller_spec.rb b/spec/controllers/api/v1/accounts/identity_proofs_controller_spec.rb
new file mode 100644
index 0000000000..6351de7616
--- /dev/null
+++ b/spec/controllers/api/v1/accounts/identity_proofs_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Accounts::IdentityProofsController do
+ render_views
+
+ let(:user) { Fabricate(:user) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read:accounts') }
+ let(:account) { Fabricate(:account) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index, params: { account_id: account.id, limit: 2 }
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/accounts/lookup_controller_spec.rb b/spec/controllers/api/v1/accounts/lookup_controller_spec.rb
new file mode 100644
index 0000000000..37407766f2
--- /dev/null
+++ b/spec/controllers/api/v1/accounts/lookup_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Accounts::LookupController do
+ render_views
+
+ let(:user) { Fabricate(:user) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read:accounts') }
+ let(:account) { Fabricate(:account) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'GET #show' do
+ it 'returns http success' do
+ get :show, params: { account_id: account.id, acct: account.acct }
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/admin/canonical_email_blocks_controller_spec.rb b/spec/controllers/api/v1/admin/canonical_email_blocks_controller_spec.rb
new file mode 100644
index 0000000000..3acae843ad
--- /dev/null
+++ b/spec/controllers/api/v1/admin/canonical_email_blocks_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Admin::CanonicalEmailBlocksController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'admin:read') }
+ let(:account) { Fabricate(:account) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index, params: { account_id: account.id, limit: 2 }
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/admin/dimensions_controller_spec.rb b/spec/controllers/api/v1/admin/dimensions_controller_spec.rb
new file mode 100644
index 0000000000..ea18efe383
--- /dev/null
+++ b/spec/controllers/api/v1/admin/dimensions_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Admin::DimensionsController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'admin:read') }
+ let(:account) { Fabricate(:account) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'POST #create' do
+ it 'returns http success' do
+ post :create, params: { account_id: account.id, limit: 2 }
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/admin/email_domain_blocks_controller_spec.rb b/spec/controllers/api/v1/admin/email_domain_blocks_controller_spec.rb
new file mode 100644
index 0000000000..a92a298699
--- /dev/null
+++ b/spec/controllers/api/v1/admin/email_domain_blocks_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Admin::EmailDomainBlocksController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'admin:read') }
+ let(:account) { Fabricate(:account) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index, params: { account_id: account.id, limit: 2 }
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/admin/ip_blocks_controller_spec.rb b/spec/controllers/api/v1/admin/ip_blocks_controller_spec.rb
new file mode 100644
index 0000000000..50e2ae9687
--- /dev/null
+++ b/spec/controllers/api/v1/admin/ip_blocks_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Admin::IpBlocksController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'admin:read') }
+ let(:account) { Fabricate(:account) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index, params: { account_id: account.id, limit: 2 }
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/admin/measures_controller_spec.rb b/spec/controllers/api/v1/admin/measures_controller_spec.rb
new file mode 100644
index 0000000000..03727a6329
--- /dev/null
+++ b/spec/controllers/api/v1/admin/measures_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Admin::MeasuresController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'admin:read') }
+ let(:account) { Fabricate(:account) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'POST #create' do
+ it 'returns http success' do
+ post :create, params: { account_id: account.id, limit: 2 }
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/admin/retention_controller_spec.rb b/spec/controllers/api/v1/admin/retention_controller_spec.rb
new file mode 100644
index 0000000000..2381dbcb48
--- /dev/null
+++ b/spec/controllers/api/v1/admin/retention_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Admin::RetentionController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'admin:read') }
+ let(:account) { Fabricate(:account) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'POST #create' do
+ it 'returns http success' do
+ post :create, params: { account_id: account.id, limit: 2 }
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/admin/trends/links_controller_spec.rb b/spec/controllers/api/v1/admin/trends/links_controller_spec.rb
new file mode 100644
index 0000000000..a64292f067
--- /dev/null
+++ b/spec/controllers/api/v1/admin/trends/links_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Admin::Trends::LinksController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'admin:read') }
+ let(:account) { Fabricate(:account) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index, params: { account_id: account.id, limit: 2 }
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/admin/trends/statuses_controller_spec.rb b/spec/controllers/api/v1/admin/trends/statuses_controller_spec.rb
new file mode 100644
index 0000000000..821cc499f4
--- /dev/null
+++ b/spec/controllers/api/v1/admin/trends/statuses_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Admin::Trends::StatusesController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'admin:read') }
+ let(:account) { Fabricate(:account) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index, params: { account_id: account.id, limit: 2 }
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/admin/trends/tags_controller_spec.rb b/spec/controllers/api/v1/admin/trends/tags_controller_spec.rb
new file mode 100644
index 0000000000..480306ce7e
--- /dev/null
+++ b/spec/controllers/api/v1/admin/trends/tags_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Admin::Trends::TagsController do
+ render_views
+
+ let(:user) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'admin:read') }
+ let(:account) { Fabricate(:account) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index, params: { account_id: account.id, limit: 2 }
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/directories_controller_spec.rb b/spec/controllers/api/v1/directories_controller_spec.rb
new file mode 100644
index 0000000000..b18aedc4d1
--- /dev/null
+++ b/spec/controllers/api/v1/directories_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::DirectoriesController do
+ render_views
+
+ let(:user) { Fabricate(:user) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read:follows') }
+ let(:account) { Fabricate(:account) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'GET #show' do
+ it 'returns http success' do
+ get :show
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/featured_tags/suggestions_controller_spec.rb b/spec/controllers/api/v1/featured_tags/suggestions_controller_spec.rb
new file mode 100644
index 0000000000..54c63dcc6f
--- /dev/null
+++ b/spec/controllers/api/v1/featured_tags/suggestions_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::FeaturedTags::SuggestionsController do
+ render_views
+
+ let(:user) { Fabricate(:user) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read:accounts') }
+ let(:account) { Fabricate(:account) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index, params: { account_id: account.id, limit: 2 }
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/featured_tags_controller_spec.rb b/spec/controllers/api/v1/featured_tags_controller_spec.rb
new file mode 100644
index 0000000000..aac9429015
--- /dev/null
+++ b/spec/controllers/api/v1/featured_tags_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::FeaturedTagsController do
+ render_views
+
+ let(:user) { Fabricate(:user) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read:accounts') }
+ let(:account) { Fabricate(:account) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index, params: { account_id: account.id, limit: 2 }
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/instances/domain_blocks_controller_spec.rb b/spec/controllers/api/v1/instances/domain_blocks_controller_spec.rb
new file mode 100644
index 0000000000..08f505c3d4
--- /dev/null
+++ b/spec/controllers/api/v1/instances/domain_blocks_controller_spec.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Instances::DomainBlocksController do
+ render_views
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ Setting.show_domain_blocks = 'all'
+ get :index
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/instances/extended_descriptions_controller_spec.rb b/spec/controllers/api/v1/instances/extended_descriptions_controller_spec.rb
new file mode 100644
index 0000000000..58c0d4b8f1
--- /dev/null
+++ b/spec/controllers/api/v1/instances/extended_descriptions_controller_spec.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Instances::ExtendedDescriptionsController do
+ render_views
+
+ describe 'GET #show' do
+ it 'returns http success' do
+ get :show
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/instances/privacy_policies_controller_spec.rb b/spec/controllers/api/v1/instances/privacy_policies_controller_spec.rb
new file mode 100644
index 0000000000..ac0bed9dc6
--- /dev/null
+++ b/spec/controllers/api/v1/instances/privacy_policies_controller_spec.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Instances::PrivacyPoliciesController do
+ render_views
+
+ describe 'GET #show' do
+ it 'returns http success' do
+ get :show
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/instances/rules_controller_spec.rb b/spec/controllers/api/v1/instances/rules_controller_spec.rb
new file mode 100644
index 0000000000..5af50239b0
--- /dev/null
+++ b/spec/controllers/api/v1/instances/rules_controller_spec.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Instances::RulesController do
+ render_views
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/instances/translation_languages_controller_spec.rb b/spec/controllers/api/v1/instances/translation_languages_controller_spec.rb
new file mode 100644
index 0000000000..5b7e4abb6f
--- /dev/null
+++ b/spec/controllers/api/v1/instances/translation_languages_controller_spec.rb
@@ -0,0 +1,31 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Instances::TranslationLanguagesController do
+ describe 'GET #show' do
+ context 'when no translation service is configured' do
+ it 'returns empty language matrix' do
+ get :show
+
+ expect(response).to have_http_status(200)
+ expect(body_as_json).to eq({})
+ end
+ end
+
+ context 'when a translation service is configured' do
+ before do
+ service = instance_double(TranslationService::DeepL, languages: { nil => %w(en de), 'en' => ['de'] })
+ allow(TranslationService).to receive(:configured?).and_return(true)
+ allow(TranslationService).to receive(:configured).and_return(service)
+ end
+
+ it 'returns language matrix' do
+ get :show
+
+ expect(response).to have_http_status(200)
+ expect(body_as_json).to eq({ und: %w(en de), en: ['de'] })
+ end
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/preferences_controller_spec.rb b/spec/controllers/api/v1/preferences_controller_spec.rb
new file mode 100644
index 0000000000..79cc3066e1
--- /dev/null
+++ b/spec/controllers/api/v1/preferences_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::PreferencesController do
+ render_views
+
+ let(:user) { Fabricate(:user) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read:accounts') }
+ let(:account) { Fabricate(:account) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/scheduled_statuses_controller_spec.rb b/spec/controllers/api/v1/scheduled_statuses_controller_spec.rb
new file mode 100644
index 0000000000..256c4b272a
--- /dev/null
+++ b/spec/controllers/api/v1/scheduled_statuses_controller_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::ScheduledStatusesController do
+ render_views
+
+ let(:user) { Fabricate(:user) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read:statuses') }
+ let(:account) { Fabricate(:account) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/statuses/translations_controller_spec.rb b/spec/controllers/api/v1/statuses/translations_controller_spec.rb
new file mode 100644
index 0000000000..8495779bf3
--- /dev/null
+++ b/spec/controllers/api/v1/statuses/translations_controller_spec.rb
@@ -0,0 +1,34 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Statuses::TranslationsController do
+ render_views
+
+ let(:user) { Fabricate(:user) }
+ let(:app) { Fabricate(:application, name: 'Test app', website: 'http://testapp.com') }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read:statuses', application: app) }
+
+ context 'with an oauth token' do
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'POST #create' do
+ let(:status) { Fabricate(:status, account: user.account, text: 'Hola', language: 'es') }
+
+ before do
+ translation = TranslationService::Translation.new(text: 'Hello')
+ service = instance_double(TranslationService::DeepL, translate: translation)
+ allow(TranslationService).to receive(:configured?).and_return(true)
+ allow(TranslationService).to receive(:configured).and_return(service)
+ Rails.cache.write('translation_service/languages', { 'es' => ['en'] })
+ post :create, params: { status_id: status.id }
+ end
+
+ it 'returns http success' do
+ expect(response).to have_http_status(200)
+ end
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/trends/links_controller_spec.rb b/spec/controllers/api/v1/trends/links_controller_spec.rb
new file mode 100644
index 0000000000..71a7e2e477
--- /dev/null
+++ b/spec/controllers/api/v1/trends/links_controller_spec.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Trends::LinksController do
+ render_views
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/trends/statuses_controller_spec.rb b/spec/controllers/api/v1/trends/statuses_controller_spec.rb
new file mode 100644
index 0000000000..e9892bb140
--- /dev/null
+++ b/spec/controllers/api/v1/trends/statuses_controller_spec.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V1::Trends::StatusesController do
+ render_views
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v2/instances_controller_spec.rb b/spec/controllers/api/v2/instances_controller_spec.rb
new file mode 100644
index 0000000000..b7206da0a2
--- /dev/null
+++ b/spec/controllers/api/v2/instances_controller_spec.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V2::InstancesController do
+ render_views
+
+ let(:user) { Fabricate(:user) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id) }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'GET #show' do
+ it 'returns http success' do
+ get :show
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/api/v2/suggestions_controller_spec.rb b/spec/controllers/api/v2/suggestions_controller_spec.rb
new file mode 100644
index 0000000000..5e6508bfda
--- /dev/null
+++ b/spec/controllers/api/v2/suggestions_controller_spec.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Api::V2::SuggestionsController do
+ render_views
+
+ let(:user) { Fabricate(:user) }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read') }
+
+ before do
+ allow(controller).to receive(:doorkeeper_token) { token }
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index
+
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/auth/setup_controller_spec.rb b/spec/controllers/auth/setup_controller_spec.rb
new file mode 100644
index 0000000000..75e42aaf96
--- /dev/null
+++ b/spec/controllers/auth/setup_controller_spec.rb
@@ -0,0 +1,25 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Auth::SetupController do
+ render_views
+
+ describe 'GET #show' do
+ context 'with a signed out request' do
+ it 'returns http redirect' do
+ get :show
+ expect(response).to be_redirect
+ end
+ end
+
+ context 'with an unconfirmed signed in user' do
+ before { sign_in Fabricate(:user, confirmed_at: nil) }
+
+ it 'returns http success' do
+ get :show
+ expect(response).to have_http_status(200)
+ end
+ end
+ end
+end
diff --git a/spec/controllers/custom_css_controller_spec.rb b/spec/controllers/custom_css_controller_spec.rb
new file mode 100644
index 0000000000..47fe6031fa
--- /dev/null
+++ b/spec/controllers/custom_css_controller_spec.rb
@@ -0,0 +1,14 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe CustomCssController do
+ render_views
+
+ describe 'GET #show' do
+ it 'returns http success' do
+ get :show
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/filters/statuses_controller_spec.rb b/spec/controllers/filters/statuses_controller_spec.rb
new file mode 100644
index 0000000000..492361188b
--- /dev/null
+++ b/spec/controllers/filters/statuses_controller_spec.rb
@@ -0,0 +1,41 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Filters::StatusesController do
+ render_views
+
+ describe 'GET #index' do
+ let(:filter) { Fabricate(:custom_filter) }
+
+ context 'with signed out user' do
+ it 'redirects' do
+ get :index, params: { filter_id: filter }
+
+ expect(response).to be_redirect
+ end
+ end
+
+ context 'with a signed in user' do
+ context 'with the filter user signed in' do
+ before { sign_in(filter.account.user) }
+
+ it 'returns http success' do
+ get :index, params: { filter_id: filter }
+
+ expect(response).to have_http_status(200)
+ end
+ end
+
+ context 'with another user signed in' do
+ before { sign_in(Fabricate(:user)) }
+
+ it 'returns http not found' do
+ get :index, params: { filter_id: filter }
+
+ expect(response).to have_http_status(404)
+ end
+ end
+ end
+ end
+end
diff --git a/spec/controllers/filters_controller_spec.rb b/spec/controllers/filters_controller_spec.rb
new file mode 100644
index 0000000000..f68f87ba7a
--- /dev/null
+++ b/spec/controllers/filters_controller_spec.rb
@@ -0,0 +1,27 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe FiltersController do
+ render_views
+
+ describe 'GET #index' do
+ context 'with signed out user' do
+ it 'redirects' do
+ get :index
+
+ expect(response).to be_redirect
+ end
+ end
+
+ context 'with a signed in user' do
+ before { sign_in(Fabricate(:user)) }
+
+ it 'returns http success' do
+ get :index
+
+ expect(response).to have_http_status(200)
+ end
+ end
+ end
+end
diff --git a/spec/controllers/health_controller_spec.rb b/spec/controllers/health_controller_spec.rb
index 1e41f6ed74..282b664199 100644
--- a/spec/controllers/health_controller_spec.rb
+++ b/spec/controllers/health_controller_spec.rb
@@ -1,13 +1,14 @@
+# frozen_string_literal: true
+
require 'rails_helper'
describe HealthController do
render_views
describe 'GET #show' do
- subject(:response) { get :show, params: { format: :json } }
-
- it 'returns the right response' do
- expect(response).to have_http_status 200
+ it 'returns http success' do
+ get :show
+ expect(response).to have_http_status(200)
end
end
end
diff --git a/spec/controllers/privacy_controller_spec.rb b/spec/controllers/privacy_controller_spec.rb
new file mode 100644
index 0000000000..c92c71ea64
--- /dev/null
+++ b/spec/controllers/privacy_controller_spec.rb
@@ -0,0 +1,14 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe PrivacyController do
+ render_views
+
+ describe 'GET #show' do
+ it 'returns http success' do
+ get :show
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/relationships_controller_spec.rb b/spec/controllers/relationships_controller_spec.rb
index 39f455e038..53a5daa517 100644
--- a/spec/controllers/relationships_controller_spec.rb
+++ b/spec/controllers/relationships_controller_spec.rb
@@ -58,7 +58,7 @@ describe RelationshipsController do
end
context 'when select parameter is provided' do
- subject { patch :update, params: { form_account_batch: { account_ids: [poopfeast.id] }, block_domains: '' } }
+ subject { patch :update, params: { form_account_batch: { account_ids: [poopfeast.id] }, remove_domains_from_followers: '' } }
it 'soft-blocks followers from selected domains' do
poopfeast.follow!(user.account)
@@ -69,6 +69,15 @@ describe RelationshipsController do
expect(poopfeast.following?(user.account)).to be false
end
+ it 'does not unfollow users from selected domains' do
+ user.account.follow!(poopfeast)
+
+ sign_in user, scope: :user
+ subject
+
+ expect(user.account.following?(poopfeast)).to be true
+ end
+
include_examples 'authenticate user'
include_examples 'redirects back to followers page'
end
diff --git a/spec/controllers/settings/aliases_controller_spec.rb b/spec/controllers/settings/aliases_controller_spec.rb
new file mode 100644
index 0000000000..805f659886
--- /dev/null
+++ b/spec/controllers/settings/aliases_controller_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Settings::AliasesController do
+ render_views
+
+ let!(:user) { Fabricate(:user) }
+ let(:account) { user.account }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/settings/exports/blocked_domains_controller_spec.rb b/spec/controllers/settings/exports/blocked_domains_controller_spec.rb
new file mode 100644
index 0000000000..ac72fd9dd7
--- /dev/null
+++ b/spec/controllers/settings/exports/blocked_domains_controller_spec.rb
@@ -0,0 +1,20 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Settings::Exports::BlockedDomainsController do
+ render_views
+
+ describe 'GET #index' do
+ it 'returns a csv of the domains' do
+ account = Fabricate(:account, domain: 'example.com')
+ user = Fabricate(:user, account: account)
+ Fabricate(:account_domain_block, domain: 'example.com', account: account)
+
+ sign_in user, scope: :user
+ get :index, format: :csv
+
+ expect(response.body).to eq "example.com\n"
+ end
+ end
+end
diff --git a/spec/controllers/settings/exports/lists_controller_spec.rb b/spec/controllers/settings/exports/lists_controller_spec.rb
new file mode 100644
index 0000000000..29623ba499
--- /dev/null
+++ b/spec/controllers/settings/exports/lists_controller_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Settings::Exports::ListsController do
+ render_views
+
+ describe 'GET #index' do
+ it 'returns a csv of the domains' do
+ account = Fabricate(:account)
+ user = Fabricate(:user, account: account)
+ list = Fabricate(:list, account: account, title: 'The List')
+ Fabricate(:list_account, list: list, account: account)
+
+ sign_in user, scope: :user
+ get :index, format: :csv
+
+ expect(response.body).to match 'The List'
+ end
+ end
+end
diff --git a/spec/controllers/settings/login_activities_controller_spec.rb b/spec/controllers/settings/login_activities_controller_spec.rb
new file mode 100644
index 0000000000..6f1f3de314
--- /dev/null
+++ b/spec/controllers/settings/login_activities_controller_spec.rb
@@ -0,0 +1,20 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Settings::LoginActivitiesController do
+ render_views
+
+ let!(:user) { Fabricate(:user) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #index' do
+ it 'returns http success' do
+ get :index
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/settings/migration/redirects_controller_spec.rb b/spec/controllers/settings/migration/redirects_controller_spec.rb
new file mode 100644
index 0000000000..50d9e1927b
--- /dev/null
+++ b/spec/controllers/settings/migration/redirects_controller_spec.rb
@@ -0,0 +1,20 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Settings::Migration::RedirectsController do
+ render_views
+
+ let!(:user) { Fabricate(:user) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #new' do
+ it 'returns http success' do
+ get :new
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/settings/pictures_controller_spec.rb b/spec/controllers/settings/pictures_controller_spec.rb
new file mode 100644
index 0000000000..2368dc55dd
--- /dev/null
+++ b/spec/controllers/settings/pictures_controller_spec.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Settings::PicturesController do
+ render_views
+
+ let!(:user) { Fabricate(:user) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'DELETE #destroy' do
+ context 'with invalid picture id' do
+ it 'returns http bad request' do
+ delete :destroy, params: { id: 'invalid' }
+ expect(response).to have_http_status(400)
+ end
+ end
+ end
+end
diff --git a/spec/controllers/settings/preferences/appearance_controller_spec.rb b/spec/controllers/settings/preferences/appearance_controller_spec.rb
new file mode 100644
index 0000000000..7c7f716b71
--- /dev/null
+++ b/spec/controllers/settings/preferences/appearance_controller_spec.rb
@@ -0,0 +1,20 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Settings::Preferences::AppearanceController do
+ render_views
+
+ let!(:user) { Fabricate(:user) }
+
+ before do
+ sign_in user, scope: :user
+ end
+
+ describe 'GET #show' do
+ it 'returns http success' do
+ get :show
+ expect(response).to have_http_status(200)
+ end
+ end
+end
diff --git a/spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb b/spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb
index f060c3a4bd..a95521c94a 100644
--- a/spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb
+++ b/spec/controllers/settings/two_factor_authentication/webauthn_credentials_controller_spec.rb
@@ -248,7 +248,7 @@ describe Settings::TwoFactorAuthentication::WebauthnCredentialsController do
post :create, params: { credential: new_webauthn_credential, nickname: 'USB Key' }
- expect(response).to have_http_status(500)
+ expect(response).to have_http_status(422)
expect(flash[:error]).to be_present
end
end
@@ -268,7 +268,7 @@ describe Settings::TwoFactorAuthentication::WebauthnCredentialsController do
post :create, params: { credential: new_webauthn_credential, nickname: nickname }
- expect(response).to have_http_status(500)
+ expect(response).to have_http_status(422)
expect(flash[:error]).to be_present
end
end
diff --git a/spec/fabricators/account_alias_fabricator.rb b/spec/fabricators/account_alias_fabricator.rb
deleted file mode 100644
index 4f434c078a..0000000000
--- a/spec/fabricators/account_alias_fabricator.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-# frozen_string_literal: true
-
-Fabricator(:account_alias) do
- account
- acct 'test@example.com'
- uri 'https://example.com/users/test'
-end
diff --git a/spec/fabricators/account_deletion_request_fabricator.rb b/spec/fabricators/account_deletion_request_fabricator.rb
deleted file mode 100644
index 3d3d373988..0000000000
--- a/spec/fabricators/account_deletion_request_fabricator.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-# frozen_string_literal: true
-
-Fabricator(:account_deletion_request) do
- account
-end
diff --git a/spec/fabricators/account_migration_fabricator.rb b/spec/fabricators/account_migration_fabricator.rb
index fd453f6d2a..ae6143a65c 100644
--- a/spec/fabricators/account_migration_fabricator.rb
+++ b/spec/fabricators/account_migration_fabricator.rb
@@ -5,4 +5,5 @@ Fabricator(:account_migration) do
target_account { |attrs| Fabricate(:account, also_known_as: [ActivityPub::TagManager.instance.uri_for(attrs[:account])]) }
acct { |attrs| attrs[:target_account].acct }
followers_count 1234
+ created_at { 60.days.ago }
end
diff --git a/spec/fabricators/account_moderation_note_fabricator.rb b/spec/fabricators/account_moderation_note_fabricator.rb
index 403870db6d..341a24dea0 100644
--- a/spec/fabricators/account_moderation_note_fabricator.rb
+++ b/spec/fabricators/account_moderation_note_fabricator.rb
@@ -2,5 +2,6 @@
Fabricator(:account_moderation_note) do
content 'MyText'
- account nil
+ account
+ target_account { Fabricate(:account) }
end
diff --git a/spec/fabricators/account_pin_fabricator.rb b/spec/fabricators/account_pin_fabricator.rb
index 7d8a77bb54..32a5f3bdb8 100644
--- a/spec/fabricators/account_pin_fabricator.rb
+++ b/spec/fabricators/account_pin_fabricator.rb
@@ -1,6 +1,7 @@
# frozen_string_literal: true
Fabricator(:account_pin) do
- account nil
- target_account nil
+ account
+ target_account(fabricator: :account)
+ before_create { |account_pin, _| account_pin.account.follow!(account_pin.target_account) }
end
diff --git a/spec/fabricators/account_stat_fabricator.rb b/spec/fabricators/account_stat_fabricator.rb
index 45b1524ef3..e6085c5f2b 100644
--- a/spec/fabricators/account_stat_fabricator.rb
+++ b/spec/fabricators/account_stat_fabricator.rb
@@ -1,8 +1,8 @@
# frozen_string_literal: true
Fabricator(:account_stat) do
- account nil
- statuses_count ''
- following_count ''
- followers_count ''
+ account
+ statuses_count '123'
+ following_count '456'
+ followers_count '789'
end
diff --git a/spec/fabricators/account_tag_stat_fabricator.rb b/spec/fabricators/account_tag_stat_fabricator.rb
deleted file mode 100644
index 769015bd02..0000000000
--- a/spec/fabricators/account_tag_stat_fabricator.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-# frozen_string_literal: true
-
-Fabricator(:account_tag_stat) do
- accounts_count ''
-end
diff --git a/spec/fabricators/account_warning_preset_fabricator.rb b/spec/fabricators/account_warning_preset_fabricator.rb
index 7588e7f9cf..c50e08bf4f 100644
--- a/spec/fabricators/account_warning_preset_fabricator.rb
+++ b/spec/fabricators/account_warning_preset_fabricator.rb
@@ -1,5 +1,5 @@
# frozen_string_literal: true
Fabricator(:account_warning_preset) do
- text 'MyText'
+ text { Faker::Lorem.paragraph }
end
diff --git a/spec/fabricators/admin_action_log_fabricator.rb b/spec/fabricators/admin_action_log_fabricator.rb
index eb738c01c0..a259644bdc 100644
--- a/spec/fabricators/admin_action_log_fabricator.rb
+++ b/spec/fabricators/admin_action_log_fabricator.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
Fabricator('Admin::ActionLog') do
- account nil
+ account
action 'MyString'
target nil
end
diff --git a/spec/fabricators/announcement_mute_fabricator.rb b/spec/fabricators/announcement_mute_fabricator.rb
deleted file mode 100644
index 109fec0412..0000000000
--- a/spec/fabricators/announcement_mute_fabricator.rb
+++ /dev/null
@@ -1,6 +0,0 @@
-# frozen_string_literal: true
-
-Fabricator(:announcement_mute) do
- account
- announcement
-end
diff --git a/spec/fabricators/announcement_reaction_fabricator.rb b/spec/fabricators/announcement_reaction_fabricator.rb
deleted file mode 100644
index 5da51caaa3..0000000000
--- a/spec/fabricators/announcement_reaction_fabricator.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-# frozen_string_literal: true
-
-Fabricator(:announcement_reaction) do
- account
- announcement
- name '🌿'
-end
diff --git a/spec/fabricators/conversation_account_fabricator.rb b/spec/fabricators/conversation_account_fabricator.rb
deleted file mode 100644
index f69d36855e..0000000000
--- a/spec/fabricators/conversation_account_fabricator.rb
+++ /dev/null
@@ -1,8 +0,0 @@
-# frozen_string_literal: true
-
-Fabricator(:conversation_account) do
- account nil
- conversation nil
- participant_account_ids ''
- last_status nil
-end
diff --git a/spec/fabricators/conversation_mute_fabricator.rb b/spec/fabricators/conversation_mute_fabricator.rb
deleted file mode 100644
index 5cf4dd3d59..0000000000
--- a/spec/fabricators/conversation_mute_fabricator.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-# frozen_string_literal: true
-
-Fabricator(:conversation_mute) do
-end
diff --git a/spec/fabricators/custom_emoji_category_fabricator.rb b/spec/fabricators/custom_emoji_category_fabricator.rb
deleted file mode 100644
index 6019baba21..0000000000
--- a/spec/fabricators/custom_emoji_category_fabricator.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-# frozen_string_literal: true
-
-Fabricator(:custom_emoji_category) do
- name 'MyString'
-end
diff --git a/spec/fabricators/encrypted_message_fabricator.rb b/spec/fabricators/encrypted_message_fabricator.rb
index 2898827549..43b3105146 100644
--- a/spec/fabricators/encrypted_message_fabricator.rb
+++ b/spec/fabricators/encrypted_message_fabricator.rb
@@ -2,9 +2,6 @@
Fabricator(:encrypted_message) do
device
- from_account
- from_device_id { Faker::Number.number(digits: 5) }
- type 0
- body ''
- message_franking ''
+ from_account { Fabricate(:account) }
+ from_device_id { Faker::Number.number(digits: 5) }
end
diff --git a/spec/fabricators/featured_tag_fabricator.rb b/spec/fabricators/featured_tag_fabricator.rb
deleted file mode 100644
index 4bfa3e924e..0000000000
--- a/spec/fabricators/featured_tag_fabricator.rb
+++ /dev/null
@@ -1,8 +0,0 @@
-# frozen_string_literal: true
-
-Fabricator(:featured_tag) do
- account
- tag
- statuses_count 1_337
- last_status_at Time.now.utc
-end
diff --git a/spec/fabricators/follow_recommendation_suppression_fabricator.rb b/spec/fabricators/follow_recommendation_suppression_fabricator.rb
deleted file mode 100644
index 6477baee11..0000000000
--- a/spec/fabricators/follow_recommendation_suppression_fabricator.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-# frozen_string_literal: true
-
-Fabricator(:follow_recommendation_suppression) do
- account
-end
diff --git a/spec/fabricators/identity_fabricator.rb b/spec/fabricators/identity_fabricator.rb
index b830101117..58072c0d65 100644
--- a/spec/fabricators/identity_fabricator.rb
+++ b/spec/fabricators/identity_fabricator.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
Fabricator(:identity) do
- user nil
+ user
provider 'MyString'
uid 'MyString'
end
diff --git a/spec/fabricators/import_fabricator.rb b/spec/fabricators/import_fabricator.rb
deleted file mode 100644
index 11602f407f..0000000000
--- a/spec/fabricators/import_fabricator.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-# frozen_string_literal: true
-
-Fabricator(:import) do
-end
diff --git a/spec/fabricators/ip_block_fabricator.rb b/spec/fabricators/ip_block_fabricator.rb
deleted file mode 100644
index a5da3f7065..0000000000
--- a/spec/fabricators/ip_block_fabricator.rb
+++ /dev/null
@@ -1,8 +0,0 @@
-# frozen_string_literal: true
-
-Fabricator(:ip_block) do
- ip ''
- severity ''
- expires_at '2020-10-08 22:20:37'
- comment 'MyText'
-end
diff --git a/spec/fabricators/list_account_fabricator.rb b/spec/fabricators/list_account_fabricator.rb
index b0af29e6fa..00dde83cdf 100644
--- a/spec/fabricators/list_account_fabricator.rb
+++ b/spec/fabricators/list_account_fabricator.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
Fabricator(:list_account) do
- list nil
- account nil
- follow nil
+ list
+ account
+ before_create { |list_account, _| list_account.list.account.follow!(account) }
end
diff --git a/spec/fabricators/one_time_key_fabricator.rb b/spec/fabricators/one_time_key_fabricator.rb
index e317c28bd1..cfb365cabb 100644
--- a/spec/fabricators/one_time_key_fabricator.rb
+++ b/spec/fabricators/one_time_key_fabricator.rb
@@ -3,7 +3,7 @@
Fabricator(:one_time_key) do
device
key_id { Faker::Alphanumeric.alphanumeric(number: 10) }
- key { Base64.strict_encode64(Ed25519::SigningKey.generate.verify_key.to_bytes) }
+ key { Base64.strict_encode64(Ed25519::SigningKey.generate.verify_key.to_bytes) }
signature do |attrs|
signing_key = Ed25519::SigningKey.generate
diff --git a/spec/fabricators/preview_card_provider_fabricator.rb b/spec/fabricators/preview_card_provider_fabricator.rb
new file mode 100644
index 0000000000..78db710003
--- /dev/null
+++ b/spec/fabricators/preview_card_provider_fabricator.rb
@@ -0,0 +1,5 @@
+# frozen_string_literal: true
+
+Fabricator(:preview_card_provider) do
+ domain { Faker::Internet.domain_name }
+end
diff --git a/spec/fabricators/setting_fabricator.rb b/spec/fabricators/setting_fabricator.rb
index 336d7c3551..ce9a48e901 100644
--- a/spec/fabricators/setting_fabricator.rb
+++ b/spec/fabricators/setting_fabricator.rb
@@ -1,4 +1,5 @@
# frozen_string_literal: true
Fabricator(:setting) do
+ var 'var'
end
diff --git a/spec/fabricators/site_upload_fabricator.rb b/spec/fabricators/site_upload_fabricator.rb
index ad1b777cc4..87553ccb8a 100644
--- a/spec/fabricators/site_upload_fabricator.rb
+++ b/spec/fabricators/site_upload_fabricator.rb
@@ -2,4 +2,5 @@
Fabricator(:site_upload) do
file { Rails.root.join('spec', 'fabricators', 'assets', 'utah_teapot.png').open }
+ var 'thumbnail'
end
diff --git a/spec/fabricators/status_edit_fabricator.rb b/spec/fabricators/status_edit_fabricator.rb
deleted file mode 100644
index 33735a4592..0000000000
--- a/spec/fabricators/status_edit_fabricator.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-Fabricator(:status_edit) do
- status nil
- account nil
- text 'MyText'
- spoiler_text 'MyText'
- media_attachments_changed false
-end
diff --git a/spec/fabricators/status_stat_fabricator.rb b/spec/fabricators/status_stat_fabricator.rb
deleted file mode 100644
index 8a358c51a9..0000000000
--- a/spec/fabricators/status_stat_fabricator.rb
+++ /dev/null
@@ -1,8 +0,0 @@
-# frozen_string_literal: true
-
-Fabricator(:status_stat) do
- status_id nil
- replies_count ''
- reblogs_count ''
- favourites_count ''
-end
diff --git a/spec/fabricators/unavailable_domain_fabricator.rb b/spec/fabricators/unavailable_domain_fabricator.rb
index 300a9e7a14..cb9707020a 100644
--- a/spec/fabricators/unavailable_domain_fabricator.rb
+++ b/spec/fabricators/unavailable_domain_fabricator.rb
@@ -1,5 +1,5 @@
# frozen_string_literal: true
Fabricator(:unavailable_domain) do
- domain { Faker::Internet.domain }
+ domain { Faker::Internet.domain_name }
end
diff --git a/spec/fabricators/user_fabricator.rb b/spec/fabricators/user_fabricator.rb
index 967347319c..9031d5cd04 100644
--- a/spec/fabricators/user_fabricator.rb
+++ b/spec/fabricators/user_fabricator.rb
@@ -5,5 +5,6 @@ Fabricator(:user) do
email { sequence(:email) { |i| "#{i}#{Faker::Internet.email}" } }
password '123456789'
confirmed_at { Time.zone.now }
- agreement true
+ current_sign_in_at { Time.zone.now }
+ agreement true
end
diff --git a/spec/fabricators/user_invite_request_fabricator.rb b/spec/fabricators/user_invite_request_fabricator.rb
deleted file mode 100644
index 7736263e45..0000000000
--- a/spec/fabricators/user_invite_request_fabricator.rb
+++ /dev/null
@@ -1,6 +0,0 @@
-# frozen_string_literal: true
-
-Fabricator(:user_invite_request) do
- user
- text { Faker::Lorem.sentence }
-end
diff --git a/spec/fabricators/web_setting_fabricator.rb b/spec/fabricators/web_setting_fabricator.rb
deleted file mode 100644
index 7c9f300798..0000000000
--- a/spec/fabricators/web_setting_fabricator.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-# frozen_string_literal: true
-
-Fabricator(:web_setting, from: Web::Setting) do
-end
diff --git a/spec/fabricators_spec.rb b/spec/fabricators_spec.rb
new file mode 100644
index 0000000000..3b76c56ce6
--- /dev/null
+++ b/spec/fabricators_spec.rb
@@ -0,0 +1,12 @@
+require 'rails_helper'
+
+Fabrication.manager.load_definitions if Fabrication.manager.empty?
+
+Fabrication.manager.schematics.map(&:first).each do |factory_name|
+ describe "The #{factory_name} factory" do
+ it 'is valid' do
+ factory = Fabricate(factory_name)
+ expect(factory).to be_valid
+ end
+ end
+end
diff --git a/spec/helpers/admin/account_moderation_notes_helper_spec.rb b/spec/helpers/admin/account_moderation_notes_helper_spec.rb
index 622ce88065..e01eba51da 100644
--- a/spec/helpers/admin/account_moderation_notes_helper_spec.rb
+++ b/spec/helpers/admin/account_moderation_notes_helper_spec.rb
@@ -42,13 +42,11 @@ RSpec.describe Admin::AccountModerationNotesHelper, type: :helper do
let(:account) { Fabricate(:account) }
it 'calls #link_to' do
- expect(helper).to receive(:link_to).with(
- admin_account_path(account.id),
- class: name_tag_classes(account, true),
- title: account.acct
- )
+ result = helper.admin_account_inline_link_to(account)
- helper.admin_account_inline_link_to(account)
+ expect(result).to match(name_tag_classes(account, true))
+ expect(result).to match(account.acct)
+ expect(result).to match(admin_account_path(account.id))
end
end
end
diff --git a/spec/helpers/admin/dashboard_helper_spec.rb b/spec/helpers/admin/dashboard_helper_spec.rb
new file mode 100644
index 0000000000..59062e4839
--- /dev/null
+++ b/spec/helpers/admin/dashboard_helper_spec.rb
@@ -0,0 +1,69 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::DashboardHelper do
+ describe 'relevant_account_timestamp' do
+ context 'with an account with older sign in' do
+ let(:account) { Fabricate(:account) }
+ let(:stamp) { 10.days.ago }
+
+ it 'returns a time element' do
+ account.user.update(current_sign_in_at: stamp)
+ result = helper.relevant_account_timestamp(account)
+
+ expect(result).to match('time-ago')
+ expect(result).to match(I18n.l(stamp))
+ end
+ end
+
+ context 'with an account with newer sign in' do
+ let(:account) { Fabricate(:account) }
+
+ it 'returns a time element' do
+ account.user.update(current_sign_in_at: 10.hours.ago)
+ result = helper.relevant_account_timestamp(account)
+
+ expect(result).to eq(I18n.t('generic.today'))
+ end
+ end
+
+ context 'with an account where the user is pending' do
+ let(:account) { Fabricate(:account) }
+
+ it 'returns a time element' do
+ account.user.update(current_sign_in_at: nil)
+ account.user.update(approved: false)
+ result = helper.relevant_account_timestamp(account)
+
+ expect(result).to match('time-ago')
+ expect(result).to match(I18n.l(account.user.created_at))
+ end
+ end
+
+ context 'with an account with a last status value' do
+ let(:account) { Fabricate(:account) }
+ let(:stamp) { 5.minutes.ago }
+
+ it 'returns a time element' do
+ account.user.update(current_sign_in_at: nil)
+ account.account_stat.update(last_status_at: stamp)
+ result = helper.relevant_account_timestamp(account)
+
+ expect(result).to match('time-ago')
+ expect(result).to match(I18n.l(stamp))
+ end
+ end
+
+ context 'with an account without sign in or last status or pending' do
+ let(:account) { Fabricate(:account) }
+
+ it 'returns a time element' do
+ account.user.update(current_sign_in_at: nil)
+ result = helper.relevant_account_timestamp(account)
+
+ expect(result).to eq('-')
+ end
+ end
+ end
+end
diff --git a/spec/helpers/admin/trends/statuses_helper_spec.rb b/spec/helpers/admin/trends/statuses_helper_spec.rb
new file mode 100644
index 0000000000..92caae6909
--- /dev/null
+++ b/spec/helpers/admin/trends/statuses_helper_spec.rb
@@ -0,0 +1,54 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Admin::Trends::StatusesHelper do
+ describe '.one_line_preview' do
+ before do
+ allow(helper).to receive(:current_user).and_return(Fabricate.build(:user))
+ end
+
+ context 'with a local status' do
+ let(:status) { Fabricate.build(:status, text: 'Test local status') }
+
+ it 'renders a correct preview text' do
+ result = helper.one_line_preview(status)
+
+ expect(result).to eq 'Test local status'
+ end
+ end
+
+ context 'with a remote status' do
+ let(:status) { Fabricate.build(:status, uri: 'https://sfd.sdf', text: '
Hello
') } - it 'returns tag-stripped text' do - expect(subject).to eq 'Hello' + context 'when text contains inline HTML tags' do + let(:status) { Fabricate(:status, account: remote_account, text: 'Lorem ipsum') } + + it 'strips the tags' do + expect(subject).to eq 'Lorem ipsum' + end + end + + context 'when text containstags' do + let(:status) { Fabricate(:status, account: remote_account, text: '
Lorem
ipsum
') } + + it 'inserts a newline' do + expect(subject).to eq "Lorem\nipsum" + end + end + + context 'when text contains a single