Merge pull request #757 from kmycode/upstream-20240610
Upstream 20240610
This commit is contained in:
commit
fe0574db07
125 changed files with 2266 additions and 1504 deletions
|
@ -1,20 +1,15 @@
|
|||
# For details, see https://github.com/devcontainers/images/tree/main/src/ruby
|
||||
FROM mcr.microsoft.com/devcontainers/ruby:1-3.2-bullseye
|
||||
FROM mcr.microsoft.com/devcontainers/ruby:1-3.3-bookworm
|
||||
|
||||
# Install Rails
|
||||
# RUN gem install rails webdrivers
|
||||
# Install node version from .nvmrc
|
||||
WORKDIR /app
|
||||
COPY .nvmrc .
|
||||
RUN /bin/bash --login -i -c "nvm install"
|
||||
|
||||
ARG NODE_VERSION="20"
|
||||
RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"
|
||||
# Install additional OS packages
|
||||
RUN apt-get update && \
|
||||
export DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get -y install --no-install-recommends libicu-dev libidn11-dev ffmpeg imagemagick libvips42 libpam-dev
|
||||
|
||||
# [Optional] Uncomment this section to install additional OS packages.
|
||||
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||
&& apt-get -y install --no-install-recommends libicu-dev libidn11-dev ffmpeg imagemagick libpam-dev
|
||||
|
||||
# [Optional] Uncomment this line to install additional gems.
|
||||
RUN gem install foreman
|
||||
|
||||
# [Optional] Uncomment this line to install global node packages.
|
||||
RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && corepack enable" 2>&1
|
||||
|
||||
COPY welcome-message.txt /usr/local/etc/vscode-dev-containers/first-run-notice.txt
|
||||
# Move welcome message to where VS Code expects it
|
||||
COPY .devcontainer/welcome-message.txt /usr/local/etc/vscode-dev-containers/first-run-notice.txt
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "Mastodon on GitHub Codespaces",
|
||||
"dockerComposeFile": "../docker-compose.yml",
|
||||
"dockerComposeFile": "../compose.yaml",
|
||||
"service": "app",
|
||||
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
|
||||
|
||||
|
@ -23,6 +23,8 @@
|
|||
}
|
||||
},
|
||||
|
||||
"remoteUser": "root",
|
||||
|
||||
"otherPortsAttributes": {
|
||||
"onAutoForward": "silent"
|
||||
},
|
||||
|
@ -37,7 +39,7 @@
|
|||
},
|
||||
|
||||
"onCreateCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}",
|
||||
"postCreateCommand": ".devcontainer/post-create.sh",
|
||||
"postCreateCommand": "bin/setup",
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"customizations": {
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
version: '3'
|
||||
|
||||
services:
|
||||
app:
|
||||
working_dir: /workspaces/mastodon/
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
context: ..
|
||||
dockerfile: .devcontainer/Dockerfile
|
||||
volumes:
|
||||
- ../..:/workspaces:cached
|
||||
- ..:/workspaces/mastodon:cached
|
||||
environment:
|
||||
RAILS_ENV: development
|
||||
NODE_ENV: development
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "Mastodon on local machine",
|
||||
"dockerComposeFile": "docker-compose.yml",
|
||||
"dockerComposeFile": "compose.yaml",
|
||||
"service": "app",
|
||||
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
|
||||
|
||||
|
@ -23,12 +23,14 @@
|
|||
}
|
||||
},
|
||||
|
||||
"remoteUser": "root",
|
||||
|
||||
"otherPortsAttributes": {
|
||||
"onAutoForward": "silent"
|
||||
},
|
||||
|
||||
"onCreateCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}",
|
||||
"postCreateCommand": ".devcontainer/post-create.sh",
|
||||
"postCreateCommand": "bin/setup",
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"customizations": {
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e # Fail the whole script on first error
|
||||
|
||||
# Fetch Ruby gem dependencies
|
||||
bundle config path 'vendor/bundle'
|
||||
bundle config with 'development test'
|
||||
bundle install
|
||||
|
||||
# Make Gemfile.lock pristine again
|
||||
git checkout -- Gemfile.lock
|
||||
|
||||
# Fetch Javascript dependencies
|
||||
corepack prepare
|
||||
yarn install --immutable
|
||||
|
||||
# [re]create, migrate, and seed the test database
|
||||
RAILS_ENV=test ./bin/rails db:setup
|
||||
|
||||
# [re]create, migrate, and seed the development database
|
||||
RAILS_ENV=development ./bin/rails db:setup
|
||||
|
||||
# Precompile assets for development
|
||||
RAILS_ENV=development ./bin/rails assets:precompile
|
||||
|
||||
# Precompile assets for test
|
||||
RAILS_ENV=test ./bin/rails assets:precompile
|
|
@ -1,8 +1,7 @@
|
|||
👋 Welcome to "Mastodon" in GitHub Codespaces!
|
||||
👋 Welcome to your Mastodon Dev Container!
|
||||
|
||||
🛠️ Your environment is fully setup with all the required software.
|
||||
🛠️ 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.
|
||||
💥 Run `bin/dev` to start the application processes.
|
||||
|
||||
🥼 Run `RAILS_ENV=test bin/rails assets:precompile && RAILS_ENV=test bin/rspec` to run the test suite.
|
||||
|
|
2
.github/actions/setup-ruby/action.yml
vendored
2
.github/actions/setup-ruby/action.yml
vendored
|
@ -14,7 +14,7 @@ runs:
|
|||
shell: bash
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libicu-dev libidn11-dev ${{ inputs.additional-system-dependencies }}
|
||||
sudo apt-get install -y libicu-dev libidn11-dev libvips42 ${{ inputs.additional-system-dependencies }}
|
||||
|
||||
- name: Set up Ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
|
|
4
.github/codecov.yml
vendored
4
.github/codecov.yml
vendored
|
@ -3,9 +3,9 @@ coverage:
|
|||
status:
|
||||
project:
|
||||
default:
|
||||
# Github status check is not blocking
|
||||
# GitHub status check is not blocking
|
||||
informational: true
|
||||
patch:
|
||||
default:
|
||||
# Github status check is not blocking
|
||||
# GitHub status check is not blocking
|
||||
informational: true
|
||||
|
|
2
.github/renovate.json5
vendored
2
.github/renovate.json5
vendored
|
@ -59,7 +59,7 @@
|
|||
dependencyDashboardApproval: true,
|
||||
},
|
||||
{
|
||||
// Update Github Actions and Docker images weekly
|
||||
// Update GitHub Actions and Docker images weekly
|
||||
matchManagers: ['github-actions', 'dockerfile', 'docker-compose'],
|
||||
extends: ['schedule:weekly'],
|
||||
},
|
||||
|
|
93
.github/workflows/test-ruby.yml
vendored
93
.github/workflows/test-ruby.yml
vendored
|
@ -134,7 +134,7 @@ jobs:
|
|||
uses: ./.github/actions/setup-ruby
|
||||
with:
|
||||
ruby-version: ${{ matrix.ruby-version}}
|
||||
additional-system-dependencies: ffmpeg imagemagick libpam-dev
|
||||
additional-system-dependencies: ffmpeg libpam-dev
|
||||
|
||||
- name: Load database schema
|
||||
run: './bin/rails db:create db:schema:load db:seed'
|
||||
|
@ -149,6 +149,93 @@ jobs:
|
|||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
|
||||
test-libvips:
|
||||
name: Libvips tests
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
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: ${{ matrix.ruby-version != '.ruby-version' }}
|
||||
RAILS_ENV: test
|
||||
ALLOW_NOPAM: true
|
||||
PAM_ENABLED: true
|
||||
PAM_DEFAULT_SERVICE: pam_test
|
||||
PAM_CONTROLLED_SERVICE: pam_test_controlled
|
||||
OIDC_ENABLED: true
|
||||
OIDC_SCOPE: read
|
||||
SAML_ENABLED: true
|
||||
CAS_ENABLED: true
|
||||
BUNDLE_WITH: 'pam_authentication test'
|
||||
GITHUB_RSPEC: ${{ matrix.ruby-version == '.ruby-version' && github.event.pull_request && 'true' }}
|
||||
MASTODON_USE_LIBVIPS: true
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
ruby-version:
|
||||
- '3.1'
|
||||
- '3.2'
|
||||
- '.ruby-version'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
path: './'
|
||||
name: ${{ github.sha }}
|
||||
|
||||
- name: Expand archived asset artifacts
|
||||
run: |
|
||||
tar xvzf artifacts.tar.gz
|
||||
|
||||
- name: Set up Ruby environment
|
||||
uses: ./.github/actions/setup-ruby
|
||||
with:
|
||||
ruby-version: ${{ matrix.ruby-version}}
|
||||
additional-system-dependencies: ffmpeg libpam-dev libyaml-dev
|
||||
|
||||
- name: Load database schema
|
||||
run: './bin/rails db:create db:schema:load db:seed'
|
||||
|
||||
- run: bin/rspec --tag paperclip_processing
|
||||
|
||||
- name: Upload coverage reports to Codecov
|
||||
if: matrix.ruby-version == '.ruby-version'
|
||||
uses: codecov/codecov-action@v4
|
||||
with:
|
||||
files: coverage/lcov/mastodon.lcov
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
|
||||
test-e2e:
|
||||
name: End to End testing
|
||||
runs-on: ubuntu-latest
|
||||
|
@ -211,7 +298,7 @@ jobs:
|
|||
uses: ./.github/actions/setup-ruby
|
||||
with:
|
||||
ruby-version: ${{ matrix.ruby-version}}
|
||||
additional-system-dependencies: ffmpeg imagemagick
|
||||
additional-system-dependencies: ffmpeg
|
||||
|
||||
- name: Set up Javascript environment
|
||||
uses: ./.github/actions/setup-javascript
|
||||
|
@ -331,7 +418,7 @@ jobs:
|
|||
uses: ./.github/actions/setup-ruby
|
||||
with:
|
||||
ruby-version: ${{ matrix.ruby-version}}
|
||||
additional-system-dependencies: ffmpeg imagemagick
|
||||
additional-system-dependencies: ffmpeg
|
||||
|
||||
- name: Set up Javascript environment
|
||||
uses: ./.github/actions/setup-javascript
|
||||
|
|
19
.nanoignore
19
.nanoignore
|
@ -1,19 +0,0 @@
|
|||
.DS_Store
|
||||
.git/
|
||||
.gitignore
|
||||
|
||||
.bundle/
|
||||
.cache/
|
||||
config/deploy/*
|
||||
coverage
|
||||
docs/
|
||||
.env
|
||||
log/*.log
|
||||
neo4j/
|
||||
node_modules/
|
||||
public/assets/
|
||||
public/system/
|
||||
spec/
|
||||
tmp/
|
||||
.vagrant/
|
||||
vendor/bundle/
|
|
@ -1,5 +1,8 @@
|
|||
# syntax=docker/dockerfile:1.7
|
||||
|
||||
# This file is designed for production server deployment, not local development work
|
||||
# For a containerized local dev environment, see: https://github.com/mastodon/mastodon/blob/main/README.md#docker
|
||||
|
||||
# Please see https://docs.docker.com/engine/reference/builder for information about
|
||||
# the extended buildx capabilities used in this file.
|
||||
# Make sure multiarch TARGETPLATFORM is available for interpolation
|
||||
|
@ -43,6 +46,8 @@ ENV \
|
|||
# Apply Mastodon version information
|
||||
MASTODON_VERSION_PRERELEASE="${MASTODON_VERSION_PRERELEASE}" \
|
||||
MASTODON_VERSION_METADATA="${MASTODON_VERSION_METADATA}" \
|
||||
# Enable libvips
|
||||
MASTODON_USE_LIBVIPS=true \
|
||||
# Apply Mastodon static files and YJIT options
|
||||
RAILS_SERVE_STATIC_FILES=${RAILS_SERVE_STATIC_FILES} \
|
||||
RUBY_YJIT_ENABLE=${RUBY_YJIT_ENABLE} \
|
||||
|
@ -97,7 +102,7 @@ RUN \
|
|||
curl \
|
||||
ffmpeg \
|
||||
file \
|
||||
imagemagick \
|
||||
libvips42 \
|
||||
libjemalloc2 \
|
||||
patchelf \
|
||||
procps \
|
||||
|
|
3
Gemfile
3
Gemfile
|
@ -23,6 +23,7 @@ gem 'fog-core', '<= 2.4.0'
|
|||
gem 'fog-openstack', '~> 1.0', require: false
|
||||
gem 'kt-paperclip', '~> 7.2'
|
||||
gem 'md-paperclip-azure', '~> 2.2', require: false
|
||||
gem 'ruby-vips', '~> 2.2', require: false
|
||||
|
||||
gem 'active_model_serializers', '~> 0.10'
|
||||
gem 'addressable', '~> 2.8'
|
||||
|
@ -106,7 +107,7 @@ gem 'private_address_check', '~> 0.5'
|
|||
gem 'opentelemetry-api', '~> 1.2.5'
|
||||
|
||||
group :opentelemetry do
|
||||
gem 'opentelemetry-exporter-otlp', '~> 0.26.3', require: false
|
||||
gem 'opentelemetry-exporter-otlp', '~> 0.27.0', require: false
|
||||
gem 'opentelemetry-instrumentation-active_job', '~> 0.7.1', require: false
|
||||
gem 'opentelemetry-instrumentation-active_model_serializers', '~> 0.20.1', require: false
|
||||
gem 'opentelemetry-instrumentation-concurrent_ruby', '~> 0.21.2', require: false
|
||||
|
|
137
Gemfile.lock
137
Gemfile.lock
|
@ -10,35 +10,35 @@ GIT
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
actioncable (7.1.3.3)
|
||||
actionpack (= 7.1.3.3)
|
||||
activesupport (= 7.1.3.3)
|
||||
actioncable (7.1.3.4)
|
||||
actionpack (= 7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
nio4r (~> 2.0)
|
||||
websocket-driver (>= 0.6.1)
|
||||
zeitwerk (~> 2.6)
|
||||
actionmailbox (7.1.3.3)
|
||||
actionpack (= 7.1.3.3)
|
||||
activejob (= 7.1.3.3)
|
||||
activerecord (= 7.1.3.3)
|
||||
activestorage (= 7.1.3.3)
|
||||
activesupport (= 7.1.3.3)
|
||||
actionmailbox (7.1.3.4)
|
||||
actionpack (= 7.1.3.4)
|
||||
activejob (= 7.1.3.4)
|
||||
activerecord (= 7.1.3.4)
|
||||
activestorage (= 7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
mail (>= 2.7.1)
|
||||
net-imap
|
||||
net-pop
|
||||
net-smtp
|
||||
actionmailer (7.1.3.3)
|
||||
actionpack (= 7.1.3.3)
|
||||
actionview (= 7.1.3.3)
|
||||
activejob (= 7.1.3.3)
|
||||
activesupport (= 7.1.3.3)
|
||||
actionmailer (7.1.3.4)
|
||||
actionpack (= 7.1.3.4)
|
||||
actionview (= 7.1.3.4)
|
||||
activejob (= 7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
mail (~> 2.5, >= 2.5.4)
|
||||
net-imap
|
||||
net-pop
|
||||
net-smtp
|
||||
rails-dom-testing (~> 2.2)
|
||||
actionpack (7.1.3.3)
|
||||
actionview (= 7.1.3.3)
|
||||
activesupport (= 7.1.3.3)
|
||||
actionpack (7.1.3.4)
|
||||
actionview (= 7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
nokogiri (>= 1.8.5)
|
||||
racc
|
||||
rack (>= 2.2.4)
|
||||
|
@ -46,15 +46,15 @@ GEM
|
|||
rack-test (>= 0.6.3)
|
||||
rails-dom-testing (~> 2.2)
|
||||
rails-html-sanitizer (~> 1.6)
|
||||
actiontext (7.1.3.3)
|
||||
actionpack (= 7.1.3.3)
|
||||
activerecord (= 7.1.3.3)
|
||||
activestorage (= 7.1.3.3)
|
||||
activesupport (= 7.1.3.3)
|
||||
actiontext (7.1.3.4)
|
||||
actionpack (= 7.1.3.4)
|
||||
activerecord (= 7.1.3.4)
|
||||
activestorage (= 7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
globalid (>= 0.6.0)
|
||||
nokogiri (>= 1.8.5)
|
||||
actionview (7.1.3.3)
|
||||
activesupport (= 7.1.3.3)
|
||||
actionview (7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
builder (~> 3.1)
|
||||
erubi (~> 1.11)
|
||||
rails-dom-testing (~> 2.2)
|
||||
|
@ -64,22 +64,22 @@ GEM
|
|||
activemodel (>= 4.1)
|
||||
case_transform (>= 0.2)
|
||||
jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
|
||||
activejob (7.1.3.3)
|
||||
activesupport (= 7.1.3.3)
|
||||
activejob (7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
globalid (>= 0.3.6)
|
||||
activemodel (7.1.3.3)
|
||||
activesupport (= 7.1.3.3)
|
||||
activerecord (7.1.3.3)
|
||||
activemodel (= 7.1.3.3)
|
||||
activesupport (= 7.1.3.3)
|
||||
activemodel (7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
activerecord (7.1.3.4)
|
||||
activemodel (= 7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
timeout (>= 0.4.0)
|
||||
activestorage (7.1.3.3)
|
||||
actionpack (= 7.1.3.3)
|
||||
activejob (= 7.1.3.3)
|
||||
activerecord (= 7.1.3.3)
|
||||
activesupport (= 7.1.3.3)
|
||||
activestorage (7.1.3.4)
|
||||
actionpack (= 7.1.3.4)
|
||||
activejob (= 7.1.3.4)
|
||||
activerecord (= 7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
marcel (~> 1.0)
|
||||
activesupport (7.1.3.3)
|
||||
activesupport (7.1.3.4)
|
||||
base64
|
||||
bigdecimal
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
|
@ -100,17 +100,17 @@ GEM
|
|||
attr_required (1.0.2)
|
||||
awrence (1.2.1)
|
||||
aws-eventstream (1.3.0)
|
||||
aws-partitions (1.929.0)
|
||||
aws-sdk-core (3.196.1)
|
||||
aws-partitions (1.940.0)
|
||||
aws-sdk-core (3.197.0)
|
||||
aws-eventstream (~> 1, >= 1.3.0)
|
||||
aws-partitions (~> 1, >= 1.651.0)
|
||||
aws-sigv4 (~> 1.8)
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-kms (1.81.0)
|
||||
aws-sdk-core (~> 3, >= 3.193.0)
|
||||
aws-sdk-kms (1.83.0)
|
||||
aws-sdk-core (~> 3, >= 3.197.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-s3 (1.151.0)
|
||||
aws-sdk-core (~> 3, >= 3.194.0)
|
||||
aws-sdk-s3 (1.152.0)
|
||||
aws-sdk-core (~> 3, >= 3.197.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.8)
|
||||
aws-sigv4 (1.8.0)
|
||||
|
@ -424,7 +424,7 @@ GEM
|
|||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2024.0507)
|
||||
mini_mime (1.1.5)
|
||||
mini_portile2 (2.8.6)
|
||||
mini_portile2 (2.8.7)
|
||||
minitest (5.23.1)
|
||||
msgpack (1.7.2)
|
||||
multi_json (1.15.0)
|
||||
|
@ -434,7 +434,7 @@ GEM
|
|||
uri
|
||||
net-http-persistent (4.0.2)
|
||||
connection_pool (~> 2.2)
|
||||
net-imap (0.4.11)
|
||||
net-imap (0.4.12)
|
||||
date
|
||||
net-protocol
|
||||
net-ldap (0.19.0)
|
||||
|
@ -489,7 +489,7 @@ GEM
|
|||
opentelemetry-api (1.2.5)
|
||||
opentelemetry-common (0.20.1)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-exporter-otlp (0.26.3)
|
||||
opentelemetry-exporter-otlp (0.27.0)
|
||||
google-protobuf (~> 3.14)
|
||||
googleapis-common-protos-types (~> 1.3)
|
||||
opentelemetry-api (~> 1.1)
|
||||
|
@ -586,7 +586,7 @@ GEM
|
|||
pastel (0.8.0)
|
||||
tty-color (~> 0.5)
|
||||
pg (1.5.6)
|
||||
pghero (3.4.1)
|
||||
pghero (3.5.0)
|
||||
activerecord (>= 6)
|
||||
premailer (1.23.0)
|
||||
addressable
|
||||
|
@ -634,20 +634,20 @@ GEM
|
|||
rackup (1.0.0)
|
||||
rack (< 3)
|
||||
webrick
|
||||
rails (7.1.3.3)
|
||||
actioncable (= 7.1.3.3)
|
||||
actionmailbox (= 7.1.3.3)
|
||||
actionmailer (= 7.1.3.3)
|
||||
actionpack (= 7.1.3.3)
|
||||
actiontext (= 7.1.3.3)
|
||||
actionview (= 7.1.3.3)
|
||||
activejob (= 7.1.3.3)
|
||||
activemodel (= 7.1.3.3)
|
||||
activerecord (= 7.1.3.3)
|
||||
activestorage (= 7.1.3.3)
|
||||
activesupport (= 7.1.3.3)
|
||||
rails (7.1.3.4)
|
||||
actioncable (= 7.1.3.4)
|
||||
actionmailbox (= 7.1.3.4)
|
||||
actionmailer (= 7.1.3.4)
|
||||
actionpack (= 7.1.3.4)
|
||||
actiontext (= 7.1.3.4)
|
||||
actionview (= 7.1.3.4)
|
||||
activejob (= 7.1.3.4)
|
||||
activemodel (= 7.1.3.4)
|
||||
activerecord (= 7.1.3.4)
|
||||
activestorage (= 7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
bundler (>= 1.15.0)
|
||||
railties (= 7.1.3.3)
|
||||
railties (= 7.1.3.4)
|
||||
rails-controller-testing (1.0.5)
|
||||
actionpack (>= 5.0.1.rc1)
|
||||
actionview (>= 5.0.1.rc1)
|
||||
|
@ -662,9 +662,9 @@ GEM
|
|||
rails-i18n (7.0.9)
|
||||
i18n (>= 0.7, < 2)
|
||||
railties (>= 6.0.0, < 8)
|
||||
railties (7.1.3.3)
|
||||
actionpack (= 7.1.3.3)
|
||||
activesupport (= 7.1.3.3)
|
||||
railties (7.1.3.4)
|
||||
actionpack (= 7.1.3.4)
|
||||
activesupport (= 7.1.3.4)
|
||||
irb
|
||||
rackup (>= 1.0.0)
|
||||
rake (>= 12.2)
|
||||
|
@ -686,7 +686,7 @@ GEM
|
|||
redlock (1.3.2)
|
||||
redis (>= 3.0.0, < 6.0)
|
||||
regexp_parser (2.9.2)
|
||||
reline (0.5.7)
|
||||
reline (0.5.8)
|
||||
io-console (~> 0.5)
|
||||
request_store (1.6.0)
|
||||
rack (>= 1.4)
|
||||
|
@ -751,7 +751,7 @@ GEM
|
|||
rack (>= 1.1)
|
||||
rubocop (>= 1.33.0, < 2.0)
|
||||
rubocop-ast (>= 1.31.1, < 2.0)
|
||||
rubocop-rspec (2.29.2)
|
||||
rubocop-rspec (2.31.0)
|
||||
rubocop (~> 1.40)
|
||||
rubocop-capybara (~> 2.17)
|
||||
rubocop-factory_bot (~> 2.22)
|
||||
|
@ -763,6 +763,8 @@ GEM
|
|||
ruby-saml (1.16.0)
|
||||
nokogiri (>= 1.13.10)
|
||||
rexml
|
||||
ruby-vips (2.2.1)
|
||||
ffi (~> 1.12)
|
||||
ruby2_keywords (0.0.5)
|
||||
rubyzip (2.3.2)
|
||||
rufus-scheduler (3.9.1)
|
||||
|
@ -895,7 +897,7 @@ GEM
|
|||
xorcist (1.1.3)
|
||||
xpath (3.2.0)
|
||||
nokogiri (~> 1.8)
|
||||
zeitwerk (2.6.14)
|
||||
zeitwerk (2.6.15)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
@ -976,7 +978,7 @@ DEPENDENCIES
|
|||
omniauth-saml (~> 2.0)
|
||||
omniauth_openid_connect (~> 0.6.1)
|
||||
opentelemetry-api (~> 1.2.5)
|
||||
opentelemetry-exporter-otlp (~> 0.26.3)
|
||||
opentelemetry-exporter-otlp (~> 0.27.0)
|
||||
opentelemetry-instrumentation-active_job (~> 0.7.1)
|
||||
opentelemetry-instrumentation-active_model_serializers (~> 0.20.1)
|
||||
opentelemetry-instrumentation-concurrent_ruby (~> 0.21.2)
|
||||
|
@ -1023,6 +1025,7 @@ DEPENDENCIES
|
|||
rubocop-rspec
|
||||
ruby-prof
|
||||
ruby-progressbar (~> 1.13)
|
||||
ruby-vips (~> 2.2)
|
||||
rubyzip (~> 2.3)
|
||||
sanitize (~> 6.0)
|
||||
scenic (~> 1.7)
|
||||
|
|
6
Vagrantfile
vendored
6
Vagrantfile
vendored
|
@ -151,6 +151,12 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|||
vb.customize ["modifyvm", :id, "--nictype2", "virtio"]
|
||||
end
|
||||
|
||||
config.vm.provider :libvirt do |libvirt|
|
||||
libvirt.cpus = 3
|
||||
libvirt.memory = 8192
|
||||
end
|
||||
|
||||
|
||||
# This uses the vagrant-hostsupdater plugin, and lets you
|
||||
# access the development site at http://mastodon.local.
|
||||
# If you change it, also change it in .env.vagrant before provisioning
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class Api::V1::Accounts::CredentialsController < Api::BaseController
|
||||
before_action -> { doorkeeper_authorize! :read, :'read:accounts', :'read:me' }, except: [:update]
|
||||
before_action -> { doorkeeper_authorize! :profile, :read, :'read:accounts' }, except: [:update]
|
||||
before_action -> { doorkeeper_authorize! :write, :'write:accounts' }, only: [:update]
|
||||
before_action :require_user!
|
||||
|
||||
|
|
52
app/controllers/api/v1/timelines/link_controller.rb
Normal file
52
app/controllers/api/v1/timelines/link_controller.rb
Normal file
|
@ -0,0 +1,52 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class Api::V1::Timelines::LinkController < Api::V1::Timelines::BaseController
|
||||
before_action -> { doorkeeper_authorize! :read, :'read:statuses' }, only: :show, if: :require_auth?
|
||||
before_action :set_preview_card
|
||||
before_action :set_statuses
|
||||
|
||||
PERMITTED_PARAMS = %i(
|
||||
url
|
||||
limit
|
||||
).freeze
|
||||
|
||||
def show
|
||||
cache_if_unauthenticated!
|
||||
render json: @statuses, each_serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new(@statuses, current_user&.account_id)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def require_auth?
|
||||
!Setting.timeline_preview
|
||||
end
|
||||
|
||||
def set_preview_card
|
||||
@preview_card = PreviewCard.joins(:trend).merge(PreviewCardTrend.allowed).find_by!(url: params[:url])
|
||||
end
|
||||
|
||||
def set_statuses
|
||||
@statuses = @preview_card.nil? ? [] : preload_collection(link_timeline_statuses, Status)
|
||||
end
|
||||
|
||||
def link_timeline_statuses
|
||||
link_feed.get(
|
||||
limit_param(DEFAULT_STATUSES_LIMIT),
|
||||
params[:max_id],
|
||||
params[:since_id],
|
||||
params[:min_id]
|
||||
)
|
||||
end
|
||||
|
||||
def link_feed
|
||||
LinkFeed.new(@preview_card, current_account)
|
||||
end
|
||||
|
||||
def next_path
|
||||
api_v1_timelines_link_url next_path_params
|
||||
end
|
||||
|
||||
def prev_path
|
||||
api_v1_timelines_link_url prev_path_params
|
||||
end
|
||||
end
|
|
@ -13,7 +13,7 @@ class Settings::ApplicationsController < Settings::BaseController
|
|||
def new
|
||||
@application = Doorkeeper::Application.new(
|
||||
redirect_uri: Doorkeeper.configuration.native_redirect_uri,
|
||||
scopes: 'read:me'
|
||||
scopes: 'profile'
|
||||
)
|
||||
end
|
||||
|
||||
|
|
|
@ -199,6 +199,7 @@ class AccountTimeline extends ImmutablePureComponent {
|
|||
emptyMessage={emptyMessage}
|
||||
bindToDocument={!multiColumn}
|
||||
timelineId='account'
|
||||
withCounters
|
||||
/>
|
||||
</Column>
|
||||
);
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
"account.open_original_page": "Aperir le pagina original",
|
||||
"account.posts": "Messages",
|
||||
"account.posts_with_replies": "Messages e responsas",
|
||||
"account.report": "Signalar @{name}",
|
||||
"account.report": "Reportar @{name}",
|
||||
"account.requested": "Attendente le approbation. Clicca pro cancellar le requesta de sequer",
|
||||
"account.requested_follow": "{name} ha requestate de sequer te",
|
||||
"account.share": "Compartir profilo de @{name}",
|
||||
|
@ -274,7 +274,7 @@
|
|||
"error.unexpected_crash.next_steps": "Tenta refrescar le pagina. Si isto non remedia le problema, es possibile que tu pote totevia usar Mastodon per medio de un altere navigator o application native.",
|
||||
"error.unexpected_crash.next_steps_addons": "Tenta disactivar istes e refrescar le pagina. Si isto non remedia le problema, es possibile que tu pote totevia usar Mastodon per medio de un altere navigator o application native.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copiar le traciamento del pila al area de transferentia",
|
||||
"errors.unexpected_crash.report_issue": "Signalar un defecto",
|
||||
"errors.unexpected_crash.report_issue": "Reportar problema",
|
||||
"explore.search_results": "Resultatos de recerca",
|
||||
"explore.suggested_follows": "Personas",
|
||||
"explore.title": "Explorar",
|
||||
|
@ -468,7 +468,7 @@
|
|||
"navigation_bar.search": "Cercar",
|
||||
"navigation_bar.security": "Securitate",
|
||||
"not_signed_in_indicator.not_signed_in": "Es necessari aperir session pro acceder a iste ressource.",
|
||||
"notification.admin.report": "{name} ha signalate {target}",
|
||||
"notification.admin.report": "{name} ha reportate {target}",
|
||||
"notification.admin.sign_up": "{name} se ha inscribite",
|
||||
"notification.favourite": "{name} ha marcate tu message como favorite",
|
||||
"notification.follow": "{name} te ha sequite",
|
||||
|
@ -499,7 +499,7 @@
|
|||
"notification_requests.title": "Notificationes filtrate",
|
||||
"notifications.clear": "Rader notificationes",
|
||||
"notifications.clear_confirmation": "Es tu secur que tu vole rader permanentemente tote tu notificationes?",
|
||||
"notifications.column_settings.admin.report": "Nove signalationes:",
|
||||
"notifications.column_settings.admin.report": "Nove reportos:",
|
||||
"notifications.column_settings.admin.sign_up": "Nove inscriptiones:",
|
||||
"notifications.column_settings.alert": "Notificationes de scriptorio",
|
||||
"notifications.column_settings.favourite": "Favorites:",
|
||||
|
@ -636,7 +636,7 @@
|
|||
"report.close": "Facite",
|
||||
"report.comment.title": "Ha il altere cosas que nos deberea saper?",
|
||||
"report.forward": "Reinviar a {target}",
|
||||
"report.forward_hint": "Le conto es de un altere servitor. Inviar un copia anonymisate del signalation a illo tamben?",
|
||||
"report.forward_hint": "Le conto es de un altere servitor. Inviar un copia anonymisate del reporto a illo tamben?",
|
||||
"report.mute": "Silentiar",
|
||||
"report.mute_explanation": "Tu non videra le messages de iste persona. Ille pote totevia sequer te e vider tu messages e non sapera de esser silentiate.",
|
||||
"report.next": "Sequente",
|
||||
|
@ -656,11 +656,11 @@
|
|||
"report.statuses.subtitle": "Selige tote le responsas appropriate",
|
||||
"report.statuses.title": "Existe alcun messages que appoia iste reporto?",
|
||||
"report.submit": "Submitter",
|
||||
"report.target": "Signalamento de {target}",
|
||||
"report.target": "Reportage de {target}",
|
||||
"report.thanks.take_action": "Ecce tu optiones pro controlar lo que tu vide sur Mastodon:",
|
||||
"report.thanks.take_action_actionable": "Durante que nos revide isto, tu pote prender mesuras contra @{name}:",
|
||||
"report.thanks.title": "Non vole vider isto?",
|
||||
"report.thanks.title_actionable": "Gratias pro signalar, nos investigara isto.",
|
||||
"report.thanks.title_actionable": "Gratias pro reportar, nos investigara isto.",
|
||||
"report.unfollow": "Cessar de sequer @{name}",
|
||||
"report.unfollow_explanation": "Tu seque iste conto. Pro non plus vider su messages in tu fluxo de initio, cessa de sequer lo.",
|
||||
"report_notification.attached_statuses": "{count, plural, one {{count} message} other {{count} messages}} annexate",
|
||||
|
@ -747,7 +747,7 @@
|
|||
"status.replied_to": "Respondite a {name}",
|
||||
"status.reply": "Responder",
|
||||
"status.replyAll": "Responder al discussion",
|
||||
"status.report": "Signalar @{name}",
|
||||
"status.report": "Reportar @{name}",
|
||||
"status.sensitive_warning": "Contento sensibile",
|
||||
"status.share": "Compartir",
|
||||
"status.show_filter_reason": "Monstrar in omne caso",
|
||||
|
|
|
@ -414,7 +414,7 @@
|
|||
"limited_account_hint.action": "그래도 프로필 보기",
|
||||
"limited_account_hint.title": "이 프로필은 {domain}의 중재자에 의해 숨겨진 상태입니다.",
|
||||
"link_preview.author": "{name}",
|
||||
"link_preview.more_from_author": "{name} 더 둘러보기",
|
||||
"link_preview.more_from_author": "{name} 프로필 보기",
|
||||
"lists.account.add": "리스트에 추가",
|
||||
"lists.account.remove": "리스트에서 제거",
|
||||
"lists.delete": "리스트 삭제",
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"compose_form.direct_message_warning_learn_more": "Discere plura",
|
||||
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
|
||||
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
|
||||
"compose_form.lock_disclaimer": "Tua ratio non est {clausa}. Quisquis te sequi potest ut visum accipiat nuntios tuos tantum pro sectatoribus.",
|
||||
"compose_form.lock_disclaimer.lock": "clausum",
|
||||
"compose_form.placeholder": "What is on your mind?",
|
||||
"compose_form.publish_form": "Barrire",
|
||||
|
@ -91,6 +92,7 @@
|
|||
"lightbox.next": "Secundum",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
|
||||
"notification.moderation_warning.action_none": "Tua ratiō monitum moderātiōnis accēpit.",
|
||||
"notification.reblog": "{name} boosted your status",
|
||||
"notifications.filter.all": "Omnia",
|
||||
"notifications.filter.polls": "Eventus electionis",
|
||||
|
@ -107,6 +109,8 @@
|
|||
"onboarding.steps.setup_profile.title": "Customize your profile",
|
||||
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
|
||||
"onboarding.steps.share_profile.title": "Share your profile",
|
||||
"onboarding.tips.accounts_from_other_servers": "<strong>Scisne?</strong> Quoniam Mastodon dēcentālis est, nōnnulla profīlia quae invenīs in servīs aliīs quam tuōrum erunt hospitāta. Tamen cum eīs sine impedīmentō interāgere potes! Servus eōrum in alterā parte nōminis eōrum est!",
|
||||
"onboarding.tips.migration": "<strong>Scisne?</strong> Sī sentīs {domain} tibi in futūrō nōn esse optimam servī ēlēctiōnem, ad alium servum Mastodon sine amittendō sectātōribus tuīs migrāre potes. Etiam tuum servum hospitārī potes!",
|
||||
"poll.closed": "Clausum",
|
||||
"poll.vote": "Eligere",
|
||||
"poll.voted": "Elegisti hoc responsum",
|
||||
|
|
|
@ -217,7 +217,7 @@
|
|||
"domain_block_modal.title": "Blokuoti domeną?",
|
||||
"domain_block_modal.you_will_lose_followers": "Visi tavo sekėjai iš šio serverio bus pašalinti.",
|
||||
"domain_block_modal.you_wont_see_posts": "Nematysi naudotojų įrašų ar pranešimų šiame serveryje.",
|
||||
"domain_pill.activitypub_lets_connect": "Tai leidžia tau sąveikauti su žmonėmis ne tik Mastodon, bet ir įvairiose socialinėse programėlėse.",
|
||||
"domain_pill.activitypub_lets_connect": "Tai leidžia tau prisijungti ir bendrauti su žmonėmis ne tik Mastodon, bet ir įvairiose socialinėse programėlėse.",
|
||||
"domain_pill.activitypub_like_language": "ActivityPub – tai tarsi kalba, kuria Mastodon kalba su kitais socialiniais tinklais.",
|
||||
"domain_pill.server": "Serveris",
|
||||
"domain_pill.their_handle": "Jų socialinis medijos vardas:",
|
||||
|
@ -433,7 +433,15 @@
|
|||
"loading_indicator.label": "Kraunama…",
|
||||
"media_gallery.toggle_visible": "{number, plural, one {Slėpti vaizdą} few {Slėpti vaizdus} many {Slėpti vaizdo} other {Slėpti vaizdų}}",
|
||||
"moved_to_account_banner.text": "Tavo paskyra {disabledAccount} šiuo metu išjungta, nes persikėlei į {movedToAccount}.",
|
||||
"mute_modal.hide_from_notifications": "Slėpti nuo pranešimų",
|
||||
"mute_modal.hide_options": "Slėpti parinktis",
|
||||
"mute_modal.indefinite": "Kol atšauksiu jų nutildymą",
|
||||
"mute_modal.show_options": "Rodyti parinktis",
|
||||
"mute_modal.they_can_mention_and_follow": "Jie gali tave paminėti ir sekti, bet tu jų nematysi.",
|
||||
"mute_modal.they_wont_know": "Jie nežinos, kad buvo nutildyti.",
|
||||
"mute_modal.title": "Nutildyti naudotoją?",
|
||||
"mute_modal.you_wont_see_mentions": "Nematysi įrašus, kuriuose jie paminimi.",
|
||||
"mute_modal.you_wont_see_posts": "Jie vis tiek gali matyti tavo įrašus, bet tu nematysi jų.",
|
||||
"navigation_bar.about": "Apie",
|
||||
"navigation_bar.advanced_interface": "Atidaryti išplėstinę žiniatinklio sąsają",
|
||||
"navigation_bar.blocks": "Užblokuoti naudotojai",
|
||||
|
@ -478,6 +486,7 @@
|
|||
"notification.own_poll": "Tavo apklausa baigėsi",
|
||||
"notification.poll": "Apklausa, kurioje balsavai, pasibaigė",
|
||||
"notification.reblog": "{name} pakėlė tavo įrašą",
|
||||
"notification.relationships_severance_event": "Prarasti sąryšiai su {name}",
|
||||
"notification.relationships_severance_event.learn_more": "Sužinoti daugiau",
|
||||
"notification.relationships_severance_event.user_domain_block": "Tu užblokavai {target}. Pašalinama {followersCount} savo sekėjų ir {followingCount, plural, one {# paskyrą} few {# paskyrai} many {# paskyros} other {# paskyrų}}, kurios seki.",
|
||||
"notification.status": "{name} ką tik paskelbė",
|
||||
|
|
|
@ -391,6 +391,7 @@
|
|||
"limited_account_hint.action": "Aj tak zobraziť profil",
|
||||
"limited_account_hint.title": "Tento profil bol skrytý správcami servera {domain}.",
|
||||
"link_preview.author": "Autor: {name}",
|
||||
"link_preview.more_from_author": "Viac od {name}",
|
||||
"lists.account.add": "Pridať do zoznamu",
|
||||
"lists.account.remove": "Odstrániť zo zoznamu",
|
||||
"lists.delete": "Vymazať zoznam",
|
||||
|
@ -411,6 +412,7 @@
|
|||
"moved_to_account_banner.text": "Váš účet {disabledAccount} je momentálne deaktivovaný, pretože ste sa presunuli na {movedToAccount}.",
|
||||
"mute_modal.hide_from_notifications": "Ukryť z upozornení",
|
||||
"mute_modal.hide_options": "Skryť možnosti",
|
||||
"mute_modal.indefinite": "Pokiaľ ich neodtíšim",
|
||||
"mute_modal.show_options": "Zobraziť možnosti",
|
||||
"mute_modal.title": "Stíšiť užívateľa?",
|
||||
"navigation_bar.about": "O tomto serveri",
|
||||
|
|
|
@ -10,7 +10,7 @@ class Admin::Metrics::Dimension::SoftwareVersionsDimension < Admin::Metrics::Dim
|
|||
protected
|
||||
|
||||
def perform_query
|
||||
[mastodon_version, ruby_version, postgresql_version, redis_version, elasticsearch_version].compact
|
||||
[mastodon_version, ruby_version, postgresql_version, redis_version, elasticsearch_version, libvips_version].compact
|
||||
end
|
||||
|
||||
def mastodon_version
|
||||
|
@ -71,6 +71,17 @@ class Admin::Metrics::Dimension::SoftwareVersionsDimension < Admin::Metrics::Dim
|
|||
nil
|
||||
end
|
||||
|
||||
def libvips_version
|
||||
return unless Rails.configuration.x.use_vips
|
||||
|
||||
{
|
||||
key: 'libvips',
|
||||
human_key: 'libvips',
|
||||
value: Vips.version_string,
|
||||
human_value: Vips.version_string,
|
||||
}
|
||||
end
|
||||
|
||||
def redis_info
|
||||
@redis_info ||= if redis.is_a?(Redis::Namespace)
|
||||
redis.redis.info
|
||||
|
|
|
@ -11,6 +11,9 @@ class ScopeTransformer < Parslet::Transform
|
|||
@namespace = scope[:namespace]&.to_s
|
||||
@access = scope[:access] ? [scope[:access].to_s] : DEFAULT_ACCESS.dup
|
||||
@term = scope[:term]&.to_s || DEFAULT_TERM
|
||||
|
||||
# # override for profile scope which is read only
|
||||
@access = %w(read) if @term == 'profile'
|
||||
end
|
||||
|
||||
def key
|
||||
|
|
|
@ -41,8 +41,8 @@ class VideoMetadataExtractor
|
|||
@colorspace = video_stream[:pix_fmt]
|
||||
@width = video_stream[:width]
|
||||
@height = video_stream[:height]
|
||||
@frame_rate = video_stream[:avg_frame_rate] == '0/0' ? nil : Rational(video_stream[:avg_frame_rate])
|
||||
@r_frame_rate = video_stream[:r_frame_rate] == '0/0' ? nil : Rational(video_stream[:r_frame_rate])
|
||||
@frame_rate = parse_framerate(video_stream[:avg_frame_rate])
|
||||
@r_frame_rate = parse_framerate(video_stream[:r_frame_rate])
|
||||
# For some video streams the frame_rate reported by `ffprobe` will be 0/0, but for these streams we
|
||||
# should use `r_frame_rate` instead. Video screencast generated by Gnome Screencast have this issue.
|
||||
@frame_rate ||= @r_frame_rate
|
||||
|
@ -55,4 +55,10 @@ class VideoMetadataExtractor
|
|||
|
||||
@invalid = true if @metadata.key?(:error)
|
||||
end
|
||||
|
||||
def parse_framerate(raw)
|
||||
Rational(raw)
|
||||
rescue ZeroDivisionError
|
||||
nil
|
||||
end
|
||||
end
|
||||
|
|
|
@ -69,7 +69,7 @@ module Attachmentable
|
|||
original_extension = Paperclip::Interpolations.extension(attachment, :original)
|
||||
proper_extension = extensions_for_mime_type.first.to_s
|
||||
extension = extensions_for_mime_type.include?(original_extension) ? original_extension : proper_extension
|
||||
extension = 'jpeg' if extension == 'jpe'
|
||||
extension = 'jpeg' if ['jpe', 'jfif'].include?(extension)
|
||||
|
||||
extension
|
||||
end
|
||||
|
|
|
@ -42,7 +42,7 @@ class CustomEmoji < ApplicationRecord
|
|||
has_one :local_counterpart, -> { where(domain: nil) }, class_name: 'CustomEmoji', primary_key: :shortcode, foreign_key: :shortcode, inverse_of: false, dependent: nil
|
||||
has_many :emoji_reactions, inverse_of: :custom_emoji, dependent: :destroy
|
||||
|
||||
has_attached_file :image, styles: { static: { format: 'png', convert_options: '-coalesce +profile "!icc,*" +set date:modify +set date:create +set date:timestamp' } }, validate_media_type: false
|
||||
has_attached_file :image, styles: { static: { format: 'png', convert_options: '-coalesce +profile "!icc,*" +set date:modify +set date:create +set date:timestamp', file_geometry_parser: FastGeometryParser } }, validate_media_type: false, processors: [:lazy_thumbnail]
|
||||
|
||||
normalizes :domain, with: ->(domain) { domain.downcase }
|
||||
|
||||
|
|
35
app/models/link_feed.rb
Normal file
35
app/models/link_feed.rb
Normal file
|
@ -0,0 +1,35 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class LinkFeed < PublicFeed
|
||||
# @param [PreviewCard] preview_card
|
||||
# @param [Account] account
|
||||
# @param [Hash] options
|
||||
def initialize(preview_card, account, options = {})
|
||||
@preview_card = preview_card
|
||||
super(account, options)
|
||||
end
|
||||
|
||||
# @param [Integer] limit
|
||||
# @param [Integer] max_id
|
||||
# @param [Integer] since_id
|
||||
# @param [Integer] min_id
|
||||
# @return [Array<Status>]
|
||||
def get(limit, max_id = nil, since_id = nil, min_id = nil)
|
||||
scope = public_scope
|
||||
|
||||
scope.merge!(discoverable)
|
||||
scope.merge!(attached_to_preview_card)
|
||||
|
||||
scope.to_a_paginated_by_id(limit, max_id: max_id, since_id: since_id, min_id: min_id)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def attached_to_preview_card
|
||||
Status.joins(:preview_cards_status).where(preview_cards_status: { preview_card_id: @preview_card.id })
|
||||
end
|
||||
|
||||
def discoverable
|
||||
Account.discoverable
|
||||
end
|
||||
end
|
|
@ -5,10 +5,10 @@
|
|||
# Table name: mentions
|
||||
#
|
||||
# id :bigint(8) not null, primary key
|
||||
# status_id :bigint(8)
|
||||
# status_id :bigint(8) not null
|
||||
# created_at :datetime not null
|
||||
# updated_at :datetime not null
|
||||
# account_id :bigint(8)
|
||||
# account_id :bigint(8) not null
|
||||
# silent :boolean default(FALSE), not null
|
||||
#
|
||||
|
||||
|
|
|
@ -57,7 +57,11 @@ class PreviewCard < ApplicationRecord
|
|||
has_one :trend, class_name: 'PreviewCardTrend', inverse_of: :preview_card, dependent: :destroy
|
||||
belongs_to :author_account, class_name: 'Account', optional: true
|
||||
|
||||
has_attached_file :image, processors: [:thumbnail, :blurhash_transcoder], styles: ->(f) { image_styles(f) }, convert_options: { all: '-quality 90 +profile "!icc,*" +set date:modify +set date:create +set date:timestamp' }, validate_media_type: false
|
||||
has_attached_file :image,
|
||||
processors: [Rails.configuration.x.use_vips ? :lazy_thumbnail : :thumbnail, :blurhash_transcoder],
|
||||
styles: ->(f) { image_styles(f) },
|
||||
convert_options: { all: '-quality 90 +profile "!icc,*" +set date:modify +set date:create +set date:timestamp' },
|
||||
validate_media_type: false
|
||||
|
||||
validates :url, presence: true, uniqueness: true, url: true
|
||||
validates_attachment_content_type :image, content_type: IMAGE_MIME_TYPES
|
||||
|
|
|
@ -21,10 +21,12 @@ class Web::PushSubscription < ApplicationRecord
|
|||
|
||||
has_one :session_activation, foreign_key: 'web_push_subscription_id', inverse_of: :web_push_subscription, dependent: nil
|
||||
|
||||
validates :endpoint, presence: true
|
||||
validates :endpoint, presence: true, url: true
|
||||
validates :key_p256dh, presence: true
|
||||
validates :key_auth, presence: true
|
||||
|
||||
validates_with WebPushKeyValidator
|
||||
|
||||
delegate :locale, to: :associated_user
|
||||
|
||||
def encrypt(payload)
|
||||
|
|
|
@ -11,6 +11,7 @@ class REST::NotificationGroupSerializer < ActiveModel::Serializer
|
|||
belongs_to :target_status, key: :status, if: :status_type?, serializer: REST::StatusSerializer
|
||||
belongs_to :report, if: :report_type?, serializer: REST::ReportSerializer
|
||||
belongs_to :account_relationship_severance_event, key: :event, if: :relationship_severance_event?, serializer: REST::AccountRelationshipSeveranceEventSerializer
|
||||
belongs_to :account_warning, key: :moderation_warning, if: :moderation_warning_event?, serializer: REST::AccountWarningSerializer
|
||||
|
||||
def status_type?
|
||||
[:favourite, :reblog, :status, :mention, :poll, :update].include?(object.type)
|
||||
|
@ -24,6 +25,10 @@ class REST::NotificationGroupSerializer < ActiveModel::Serializer
|
|||
object.type == :severed_relationships
|
||||
end
|
||||
|
||||
def moderation_warning_event?
|
||||
object.type == :moderation_warning
|
||||
end
|
||||
|
||||
def page_min_id
|
||||
range = instance_options[:group_metadata][object.group_key]
|
||||
range.present? ? range[:min_id].to_s : object.notification.id.to_s
|
||||
|
|
11
app/validators/web_push_key_validator.rb
Normal file
11
app/validators/web_push_key_validator.rb
Normal file
|
@ -0,0 +1,11 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class WebPushKeyValidator < ActiveModel::Validator
|
||||
def validate(subscription)
|
||||
begin
|
||||
Webpush::Encryption.encrypt('validation_test', subscription.key_p256dh, subscription.key_auth)
|
||||
rescue ArgumentError, OpenSSL::PKey::EC::Point::Error
|
||||
subscription.errors.add(:base, I18n.t('crypto.errors.invalid_key'))
|
||||
end
|
||||
end
|
||||
end
|
|
@ -43,6 +43,6 @@
|
|||
%body{ class: body_classes }
|
||||
= content_for?(:content) ? yield(:content) : yield
|
||||
|
||||
.logo-resources{ 'tabindex' => '-1', 'inert' => true, 'aria-hidden' => true }
|
||||
.logo-resources{ 'tabindex' => '-1', 'inert' => true, 'aria-hidden' => 'true' }
|
||||
= inline_svg_tag 'logo-symbol-icon.svg'
|
||||
= inline_svg_tag 'logo-symbol-wordmark.svg'
|
||||
|
|
|
@ -21,5 +21,5 @@
|
|||
%body.embed
|
||||
= yield
|
||||
|
||||
.logo-resources{ 'tabindex' => '-1', 'inert' => true, 'aria-hidden' => true }
|
||||
.logo-resources{ 'tabindex' => '-1', 'inert' => true, 'aria-hidden' => 'true' }
|
||||
= inline_svg_tag 'logo-symbol-icon.svg'
|
||||
|
|
14
bin/setup
14
bin/setup
|
@ -5,7 +5,7 @@ require "fileutils"
|
|||
APP_ROOT = File.expand_path('..', __dir__)
|
||||
|
||||
def system!(*args)
|
||||
system(*args) || abort("\n== Command #{args} failed ==")
|
||||
system(*args, exception: true)
|
||||
end
|
||||
|
||||
FileUtils.chdir APP_ROOT do
|
||||
|
@ -13,17 +13,13 @@ FileUtils.chdir APP_ROOT do
|
|||
# This script is idempotent, so that you can run it at any time and get an expectable outcome.
|
||||
# Add necessary setup steps to this file.
|
||||
|
||||
puts '== Installing dependencies =='
|
||||
puts "\n== Installing Ruby dependencies =="
|
||||
system! 'gem install bundler --conservative'
|
||||
system('bundle check') || system!('bundle install')
|
||||
|
||||
# Install JavaScript dependencies
|
||||
system! 'bin/yarn'
|
||||
|
||||
# puts "\n== Copying sample files =="
|
||||
# unless File.exist?('config/database.yml')
|
||||
# FileUtils.cp 'config/database.yml.sample', 'config/database.yml'
|
||||
# end
|
||||
puts "\n== Installing JS dependencies =="
|
||||
system! 'corepack enable'
|
||||
system! 'bin/yarn install --immutable'
|
||||
|
||||
puts "\n== Preparing database =="
|
||||
system! 'bin/rails db:prepare'
|
||||
|
|
|
@ -27,7 +27,7 @@ require_relative '../lib/sanitize_ext/sanitize_config'
|
|||
require_relative '../lib/redis/namespace_extensions'
|
||||
require_relative '../lib/paperclip/url_generator_extensions'
|
||||
require_relative '../lib/paperclip/attachment_extensions'
|
||||
require_relative '../lib/paperclip/lazy_thumbnail'
|
||||
|
||||
require_relative '../lib/paperclip/gif_transcoder'
|
||||
require_relative '../lib/paperclip/media_type_spoof_detector_extensions'
|
||||
require_relative '../lib/paperclip/transcoder'
|
||||
|
@ -100,6 +100,14 @@ module Mastodon
|
|||
|
||||
config.before_configuration do
|
||||
require 'mastodon/redis_config'
|
||||
|
||||
config.x.use_vips = ENV['MASTODON_USE_LIBVIPS'] == 'true'
|
||||
|
||||
if config.x.use_vips
|
||||
require_relative '../lib/paperclip/vips_lazy_thumbnail'
|
||||
else
|
||||
require_relative '../lib/paperclip/lazy_thumbnail'
|
||||
end
|
||||
end
|
||||
|
||||
config.to_prepare do
|
||||
|
|
|
@ -8,7 +8,7 @@ Rails.application.configure do
|
|||
# In the development environment your application's code is reloaded any time
|
||||
# it changes. This slows down response time but is perfect for development
|
||||
# since you don't have to restart the web server when you make code changes.
|
||||
config.cache_classes = false
|
||||
config.enable_reloading = true
|
||||
|
||||
# Do not eager load code on boot.
|
||||
config.eager_load = false
|
||||
|
|
|
@ -61,12 +61,6 @@ Rails.application.configure do
|
|||
config.i18n.default_locale = :en
|
||||
config.i18n.fallbacks = true
|
||||
|
||||
config.to_prepare do
|
||||
# Force Status to always be SHAPE_TOO_COMPLEX
|
||||
# Ref: https://github.com/mastodon/mastodon/issues/23644
|
||||
10.times { |i| Status.allocate.instance_variable_set(:"@ivar_#{i}", nil) }
|
||||
end
|
||||
|
||||
# Tell Active Support which deprecation messages to disallow.
|
||||
config.active_support.disallowed_deprecation_warnings = []
|
||||
|
||||
|
|
|
@ -74,7 +74,8 @@ Doorkeeper.configure do
|
|||
# For more information go to
|
||||
# https://github.com/doorkeeper-gem/doorkeeper/wiki/Using-Scopes
|
||||
default_scopes :read
|
||||
optional_scopes :write,
|
||||
optional_scopes :profile,
|
||||
:write,
|
||||
:'write:accounts',
|
||||
:'write:blocks',
|
||||
:'write:bookmarks',
|
||||
|
@ -89,7 +90,6 @@ Doorkeeper.configure do
|
|||
:'write:reports',
|
||||
:'write:statuses',
|
||||
:read,
|
||||
:'read:me',
|
||||
:'read:accounts',
|
||||
:'read:blocks',
|
||||
:'read:bookmarks',
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
Paperclip::DataUriAdapter.register
|
||||
Paperclip::ResponseWithLimitAdapter.register
|
||||
|
||||
PATH = ':prefix_url:class/:attachment/:id_partition/:style/:filename'
|
||||
|
||||
Paperclip.interpolates :filename do |attachment, style|
|
||||
if style == :original
|
||||
attachment.original_filename
|
||||
|
@ -29,7 +31,7 @@ end
|
|||
|
||||
Paperclip::Attachment.default_options.merge!(
|
||||
use_timestamp: false,
|
||||
path: ':prefix_url:class/:attachment/:id_partition/:style/:filename',
|
||||
path: PATH,
|
||||
storage: :fog
|
||||
)
|
||||
|
||||
|
@ -40,6 +42,8 @@ if ENV['S3_ENABLED'] == 'true'
|
|||
s3_protocol = ENV.fetch('S3_PROTOCOL') { 'https' }
|
||||
s3_hostname = ENV.fetch('S3_HOSTNAME') { "s3-#{s3_region}.amazonaws.com" }
|
||||
|
||||
Paperclip::Attachment.default_options[:path] = ENV.fetch('S3_KEY_PREFIX') + "/#{PATH}" if ENV.has_key?('S3_KEY_PREFIX')
|
||||
|
||||
Paperclip::Attachment.default_options.merge!(
|
||||
storage: :s3,
|
||||
s3_protocol: s3_protocol,
|
||||
|
@ -64,7 +68,7 @@ if ENV['S3_ENABLED'] == 'true'
|
|||
http_open_timeout: ENV.fetch('S3_OPEN_TIMEOUT') { '5' }.to_i,
|
||||
http_read_timeout: ENV.fetch('S3_READ_TIMEOUT') { '5' }.to_i,
|
||||
http_idle_timeout: 5,
|
||||
retry_limit: 0,
|
||||
retry_limit: ENV.fetch('S3_RETRY_LIMIT') { '0' }.to_i,
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -159,7 +163,7 @@ else
|
|||
Paperclip::Attachment.default_options.merge!(
|
||||
storage: :filesystem,
|
||||
path: File.join(ENV.fetch('PAPERCLIP_ROOT_PATH', File.join(':rails_root', 'public', 'system')), ':prefix_path:class', ':attachment', ':id_partition', ':style', ':filename'),
|
||||
url: "#{ENV.fetch('PAPERCLIP_ROOT_URL', '/system')}/:prefix_url:class/:attachment/:id_partition/:style/:filename"
|
||||
url: ENV.fetch('PAPERCLIP_ROOT_URL', '/system') + "/#{PATH}"
|
||||
)
|
||||
end
|
||||
|
||||
|
|
27
config/initializers/vips.rb
Normal file
27
config/initializers/vips.rb
Normal file
|
@ -0,0 +1,27 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
if Rails.configuration.x.use_vips
|
||||
ENV['VIPS_BLOCK_UNTRUSTED'] = 'true'
|
||||
|
||||
require 'vips'
|
||||
|
||||
abort('Incompatible libvips version, please install libvips >= 8.13') unless Vips.at_least_libvips?(8, 13)
|
||||
|
||||
Vips.block('VipsForeign', true)
|
||||
|
||||
%w(
|
||||
VipsForeignLoadNsgif
|
||||
VipsForeignLoadJpeg
|
||||
VipsForeignLoadPng
|
||||
VipsForeignLoadWebp
|
||||
VipsForeignLoadHeif
|
||||
VipsForeignSavePng
|
||||
VipsForeignSaveSpng
|
||||
VipsForeignSaveJpeg
|
||||
VipsForeignSaveWebp
|
||||
).each do |operation|
|
||||
Vips.block(operation, false)
|
||||
end
|
||||
|
||||
Vips.block_untrusted(true)
|
||||
end
|
|
@ -19,7 +19,7 @@ ia:
|
|||
account:
|
||||
attributes:
|
||||
username:
|
||||
invalid: debe continer solmente litteras, numeros e tractos de sublineamento
|
||||
invalid: debe continer solmente litteras, numeros e lineettas basse
|
||||
reserved: es reservate
|
||||
admin/webhook:
|
||||
attributes:
|
||||
|
|
|
@ -466,7 +466,7 @@ ca:
|
|||
status: Estat
|
||||
suppress: Suprimeix les recomanacions de seguiment
|
||||
suppressed: Suprimit
|
||||
title: Seguir les recomanacions
|
||||
title: Recomanacions de comptes a seguir
|
||||
unsuppress: Restaurar les recomanacions de seguiment
|
||||
instances:
|
||||
availability:
|
||||
|
|
|
@ -3,8 +3,8 @@ ia:
|
|||
devise:
|
||||
confirmations:
|
||||
confirmed: Tu conto de e-mail ha essite confirmate con successo.
|
||||
send_instructions: Tu recipera un e-mail con instructiones pro confirmar tu adresse de e-mail in poc minutas. Per favor verifica tu dossier de spam si tu non lo recipe.
|
||||
send_paranoid_instructions: Si tu adresse de e-mail existe in nostre base de datos, tu recipera un e-mail con instructiones pro confirmar tu adresse de e-mail in poc minutas. Per favor verifica tu dossier de spam si tu non lo recipe.
|
||||
send_instructions: Tu recipera un e-mail con instructiones pro confirmar tu adresse de e-mail in poc minutas. Per favor consulta tu dossier de spam si tu non lo recipe.
|
||||
send_paranoid_instructions: Si tu adresse de e-mail existe in nostre base de datos, tu recipera un e-mail con instructiones pro confirmar tu adresse de e-mail in poc minutas. Per favor consulta tu dossier de spam si tu non lo recipe.
|
||||
failure:
|
||||
already_authenticated: Tu ha jam aperite session.
|
||||
inactive: Tu conto non es ancora activate.
|
||||
|
@ -27,7 +27,7 @@ ia:
|
|||
subject: 'Mastodon: Instructiones de confirmation pro %{instance}'
|
||||
title: Verificar adresse de e-mail
|
||||
email_changed:
|
||||
explanation: 'Le adresse de e-mail pro tu conto essera cambiate a:'
|
||||
explanation: 'Le adresse de e-mail pro tu conto se cambia in:'
|
||||
extra: Si tu non ha cambiate de adresse de e-mail, es probabile que alcuno ha ganiate le accesso a tu conto. Per favor cambia immediatemente tu contrasigno o contacta le administrator del servitor si tu non pote acceder a tu conto.
|
||||
subject: 'Mastodon: E-mail cambiate'
|
||||
title: Nove adresse de e-mail
|
||||
|
@ -37,8 +37,8 @@ ia:
|
|||
subject: 'Mastodon: Contrasigno cambiate'
|
||||
title: Contrasigno cambiate
|
||||
reconfirmation_instructions:
|
||||
explanation: Confirma le nove adresse pro cambiar tu email.
|
||||
extra: Si non es tu qui ha initiate iste cambiamento, per favor ignora iste e-mail. Le adresse de e-mail pro le conto de Mastodon non cambiara usque tu accede al ligamine hic supra.
|
||||
explanation: Confirma le nove adresse pro cambiar tu adresse de e-mail.
|
||||
extra: Si non es tu qui ha initiate iste cambiamento, per favor ignora iste e-mail. Le adresse de e-mail pro le conto de Mastodon non cambiara usque tu accede al ligamine supra.
|
||||
subject: 'Mastodon: Confirmar e-mail pro %{instance}'
|
||||
title: Verificar adresse de e-mail
|
||||
reset_password_instructions:
|
||||
|
@ -49,19 +49,19 @@ ia:
|
|||
title: Reinitialisar contrasigno
|
||||
two_factor_disabled:
|
||||
explanation: Ora es possibile aperir session con solmente le adresse de e-mail e contrasigno.
|
||||
subject: 'Mastodon: Authentication bifactorial disactivate'
|
||||
subtitle: Le authentication bifactorial ha essite disactivate pro tu conto.
|
||||
subject: 'Mastodon: Authentication a duo factores disactivate'
|
||||
subtitle: Le authentication a duo factores ha essite disactivate pro tu conto.
|
||||
title: A2F disactivate
|
||||
two_factor_enabled:
|
||||
explanation: Pro le apertura de session essera necessari un token generate per le application TOTP accopulate.
|
||||
subject: 'Mastodon: Authentication bifactorial activate'
|
||||
subtitle: Le authentication bifactorial ha essite activate pro tu conto.
|
||||
subject: 'Mastodon: Authentication a duo factores activate'
|
||||
subtitle: Le authentication a duo factores ha essite activate pro tu conto.
|
||||
title: A2F activate
|
||||
two_factor_recovery_codes_changed:
|
||||
explanation: Le ancian codices de recuperation ha essite invalidate e nove codices ha essite generate.
|
||||
subject: 'Mastodon: Codices de recuperation regenerate'
|
||||
subject: 'Mastodon: Codices de recuperation A2F regenerate'
|
||||
subtitle: Le ancian codices de recuperation ha essite invalidate e nove codices ha essite generate.
|
||||
title: Codices de recuperation cambiate
|
||||
title: Codices de recuperation A2F cambiate
|
||||
unlock_instructions:
|
||||
subject: 'Mastodon: Instructiones pro disblocar'
|
||||
webauthn_credential:
|
||||
|
@ -84,11 +84,11 @@ ia:
|
|||
subject: 'Mastodon: authentication de clave de securitate activate'
|
||||
title: Claves de securitate activate
|
||||
omniauth_callbacks:
|
||||
failure: Impossibile authenticar te ab %{kind} perque “%{reason}”.
|
||||
success: Authenticate con successo ab conto %{kind}.
|
||||
failure: Non poteva authenticar te desde %{kind} perque “%{reason}”.
|
||||
success: Authenticate correctemente desde le conto %{kind}.
|
||||
passwords:
|
||||
no_token: Tu non pote acceder iste pagina sin venir ab un email de redefinition de contrasigno. Si tu veni ab un email de redefinition de contrasigno, verifica que tu usava le integre URL fornite.
|
||||
send_instructions: Si tu adresse de e-mail existe in nostre base de datos, tu recipera un ligamine de recuperation de contrasigno in tu adresse de e-mail in poc minutas. Per favor verifica tu dossier de spam si tu non lo recipe.
|
||||
no_token: Non es possibile acceder a iste pagina sin venir de un e-mail de redefinition de contrasigno. Si tu veni de un e-mail de redefinition de contrasigno, per favor assecura te de haber usate le URL complete fornite.
|
||||
send_instructions: Si tu adresse de e-mail existe in nostre base de datos, tu recipera un ligamine de recuperation de contrasigno a tu adresse de e-mail in poc minutas. Per favor consulta tu dossier de spam si tu non lo recipe.
|
||||
send_paranoid_instructions: Si tu adresse de e-mail existe in nostre base de datos, tu recipera un ligamine de recuperation de contrasigno in tu adresse de e-mail in poc minutas. Per favor verifica tu dossier de spam si tu non lo recipe.
|
||||
updated: Tu contrasigno ha essite cambiate. Tu ha ora aperite session.
|
||||
updated_not_active: Tu contrasigno ha essite cambiate.
|
||||
|
@ -98,17 +98,17 @@ ia:
|
|||
signed_up_but_inactive: Tu te ha inscribite con successo. Nonobstante, nos non poteva aperir tu session perque tu conto non es ancora activate.
|
||||
signed_up_but_locked: Tu te ha inscribite con successo. Nonobstante, nos non poteva aperir tu session perque tu conto es serrate.
|
||||
signed_up_but_pending: Un message con un ligamine de confirmation ha essite inviate a tu adresse de email. Post que tu clicca sur le ligamine, nos revidera tu demanda. Tu essera notificate si illo es approbate.
|
||||
signed_up_but_unconfirmed: Un message con un ligamine de confirmation ha essite inviate a tu adresse de e-mail. Per favor seque le ligamine pro activar tu conto. Verifica tu dossier de spam si tu non recipe iste e-mail.
|
||||
update_needs_confirmation: Tu ha actualisate tu conto con successo, ma nos debe verificar tu nove adresse de e-mail. Accede a tu e-mail e seque le ligamine de confirmation pro confirmar tu nove adresse de e-mail. Verifica tu dossier de spam si tu non recipe iste e-mail.
|
||||
signed_up_but_unconfirmed: Un message con un ligamine de confirmation ha essite inviate a tu adresse de e-mail. Per favor seque le ligamine pro activar tu conto. Consulta tu dossier de spam si tu non recipe iste e-mail.
|
||||
update_needs_confirmation: Tu ha actualisate tu conto con successo, ma nos debe verificar tu nove adresse de e-mail. Accede a tu e-mail e seque le ligamine de confirmation pro confirmar tu nove adresse de e-mail. Consulta tu dossier de spam si tu non recipe iste e-mail.
|
||||
updated: Tu conto ha essite actualisate con successo.
|
||||
sessions:
|
||||
already_signed_out: Session claudite con successo.
|
||||
signed_in: Session aperite con successo.
|
||||
signed_out: Session claudite con successo.
|
||||
unlocks:
|
||||
send_instructions: Tu recipera un e-mail con instructiones explicante como disserrar tu conto in alcun minutas. Verifica tu dossier de spam si tu non recipe iste e-mail.
|
||||
send_instructions: Tu recipera un e-mail con instructiones explicante como disserrar tu conto in alcun minutas. Consulta tu dossier de spam si tu non recipe iste e-mail.
|
||||
send_paranoid_instructions: Si tu conto existe, tu recipera un email con instructiones explicante como disserrar lo in alcun minutas. Verifica tu dossier de spam si tu non recipe iste e-mail.
|
||||
unlocked: Tu conto ha essite disserrate con successo. Aperi session pro continuar.
|
||||
unlocked: Tu conto ha essite disserrate con successo. Per favor aperi session pro continuar.
|
||||
errors:
|
||||
messages:
|
||||
already_confirmed: jam esseva confirmate, tenta aperir session
|
||||
|
|
|
@ -30,14 +30,14 @@ sv:
|
|||
explanation: 'E-postadressen för ditt konto ändras till:'
|
||||
extra: Om du inte ändrade din e-post är det troligt att någon har fått tillgång till ditt konto. Vänligen ändra ditt lösenord omedelbart eller kontakta serveradministratören om du är utelåst från ditt konto.
|
||||
subject: 'Mastodon: e-post ändrad'
|
||||
title: Ny e-post adress
|
||||
title: Ny e-postadress
|
||||
password_change:
|
||||
explanation: Lösenordet för ditt konto har ändrats.
|
||||
extra: Om du inte ändrade ditt lösenord är det troligt att någon har fått tillgång till ditt konto. Vänligen ändra ditt lösenord omedelbart eller kontakta serveradministratören om du är utelåst från ditt konto.
|
||||
subject: 'Mastodon: Lösenordet har ändrats'
|
||||
title: Lösenordet har ändrats
|
||||
reconfirmation_instructions:
|
||||
explanation: Bekräfta den nya adressen för att ändra din e-post adress.
|
||||
explanation: Bekräfta den nya adressen för att ändra din e-postadress.
|
||||
extra: Om den här ändringen inte initierades av dig kan du ignorera det här e-postmeddelandet. E-postadressen för Mastodon-kontot ändras inte förrän du klickar på länken ovan.
|
||||
subject: 'Mastodon: Bekräfta e-post för %{instance}'
|
||||
title: Verifiera e-postadress
|
||||
|
@ -63,7 +63,7 @@ sv:
|
|||
subtitle: De tidigare återhämtningskoderna har ogiltigförklarats och nya har skapats.
|
||||
title: 2FA-återställningskoder ändrades
|
||||
unlock_instructions:
|
||||
subject: 'Mastodon: Lås upp instruktioner'
|
||||
subject: 'Mastodon: Instruktioner för upplåsning'
|
||||
webauthn_credential:
|
||||
added:
|
||||
explanation: Följande säkerhetsnyckel har lagts till i ditt konto
|
||||
|
|
|
@ -174,7 +174,6 @@ be:
|
|||
read:filters: бачыць свае фільтры
|
||||
read:follows: бачыць свае падпіскі
|
||||
read:lists: бачыць свае спісы
|
||||
read:me: чытайце толькі базавую інфармацыю аб сваім уліковым запісе
|
||||
read:mutes: бачыць свае ігнараванні
|
||||
read:notifications: бачыць свае абвесткі
|
||||
read:reports: бачыць свае скаргі
|
||||
|
|
|
@ -135,6 +135,7 @@ bg:
|
|||
media: Прикачена мултимедия
|
||||
mutes: Заглушения
|
||||
notifications: Известия
|
||||
profile: Вашият профил в Mastodon
|
||||
push: Изскачащи известия
|
||||
reports: Доклади
|
||||
search: Търсене
|
||||
|
@ -165,6 +166,7 @@ bg:
|
|||
admin:write:reports: извършване на действия за модериране на докладвания
|
||||
crypto: употреба на цялостно шифроване
|
||||
follow: промяна на взаимоотношенията на акаунта
|
||||
profile: само за четене на сведенията ви за профила на акаунта
|
||||
push: получаване на вашите изскачащи известия
|
||||
read: четене на всички данни от акаунта ви
|
||||
read:accounts: преглед на информация за акаунти
|
||||
|
@ -174,7 +176,6 @@ bg:
|
|||
read:filters: преглед на вашите филтри
|
||||
read:follows: преглед на вашите последвания
|
||||
read:lists: преглед на вашите списъци
|
||||
read:me: четене само на основните сведения за акаунта ви
|
||||
read:mutes: преглед на вашите заглушавания
|
||||
read:notifications: преглед на вашите известия
|
||||
read:reports: преглед на вашите докладвания
|
||||
|
|
|
@ -104,6 +104,7 @@ br:
|
|||
lists: Listennoù
|
||||
media: Restroù media stag
|
||||
mutes: Kuzhet
|
||||
profile: Ho profil Mastodon
|
||||
search: Klask
|
||||
statuses: Toudoù
|
||||
layouts:
|
||||
|
|
|
@ -135,6 +135,7 @@ ca:
|
|||
media: Adjunts multimèdia
|
||||
mutes: Silenciats
|
||||
notifications: Notificacions
|
||||
profile: El vostre perfil de Mastodon
|
||||
push: Notificacions push
|
||||
reports: Informes
|
||||
search: Cerca
|
||||
|
@ -165,6 +166,7 @@ ca:
|
|||
admin:write:reports: fer l'acció de moderació en els informes
|
||||
crypto: usa xifrat d'extrem a extrem
|
||||
follow: modifica les relacions del compte
|
||||
profile: només llegir la informació del perfil del vostre compte
|
||||
push: rebre notificacions push del teu compte
|
||||
read: llegir les dades del teu compte
|
||||
read:accounts: mira informació dels comptes
|
||||
|
@ -174,7 +176,6 @@ ca:
|
|||
read:filters: mira els teus filtres
|
||||
read:follows: mira els teus seguiments
|
||||
read:lists: mira les teves llistes
|
||||
read:me: llegir només la informació bàsica del vostre compte
|
||||
read:mutes: mira els teus silenciats
|
||||
read:notifications: mira les teves notificacions
|
||||
read:reports: mira els teus informes
|
||||
|
|
|
@ -174,7 +174,6 @@ cs:
|
|||
read:filters: vidět vaše filtry
|
||||
read:follows: vidět vaše sledování
|
||||
read:lists: vidět vaše seznamy
|
||||
read:me: číst pouze základní informace vašeho účtu
|
||||
read:mutes: vidět vaše skrytí
|
||||
read:notifications: vidět vaše oznámení
|
||||
read:reports: vidět vaše hlášení
|
||||
|
|
|
@ -174,7 +174,6 @@ cy:
|
|||
read:filters: gweld eich hidlwyr
|
||||
read:follows: gweld eich dilynwyr
|
||||
read:lists: gweld eich rhestrau
|
||||
read:me: darllen dim ond manylion elfennol eich cyfrif
|
||||
read:mutes: gweld eich anwybyddiadau
|
||||
read:notifications: gweld eich hysbysiadau
|
||||
read:reports: gweld eich adroddiadau
|
||||
|
|
|
@ -135,6 +135,7 @@ da:
|
|||
media: Medievedhæftninger
|
||||
mutes: Tavsgørelser
|
||||
notifications: Notifikationer
|
||||
profile: Din Mastodon-profil
|
||||
push: Push-notifikationer
|
||||
reports: Anmeldelser
|
||||
search: Søgning
|
||||
|
@ -165,6 +166,7 @@ da:
|
|||
admin:write:reports: udfør modereringshandlinger på anmeldelser
|
||||
crypto: benyt ende-til-ende kryptering
|
||||
follow: ændre kontorelationer
|
||||
profile: læs kun kontoprofiloplysningerne
|
||||
push: modtag dine push-notifikationer
|
||||
read: læs alle dine kontodata
|
||||
read:accounts: se kontooplysninger
|
||||
|
@ -174,7 +176,6 @@ da:
|
|||
read:filters: se dine filtre
|
||||
read:follows: se dine følger
|
||||
read:lists: se dine lister
|
||||
read:me: læs kun kontoens basisoplysninger
|
||||
read:mutes: se dine tavsgørelser
|
||||
read:notifications: se dine notifikationer
|
||||
read:reports: se dine anmeldelser
|
||||
|
|
|
@ -135,6 +135,7 @@ de:
|
|||
media: Medienanhänge
|
||||
mutes: Stummschaltungen
|
||||
notifications: Benachrichtigungen
|
||||
profile: Dein Mastodon-Profil
|
||||
push: Push-Benachrichtigungen
|
||||
reports: Meldungen
|
||||
search: Suche
|
||||
|
@ -165,6 +166,7 @@ de:
|
|||
admin:write:reports: Moderationsaktionen auf Meldungen ausführen
|
||||
crypto: Ende-zu-Ende-Verschlüsselung verwenden
|
||||
follow: Kontenbeziehungen verändern
|
||||
profile: nur die Profilinformationen deines Kontos lesen
|
||||
push: deine Push-Benachrichtigungen erhalten
|
||||
read: all deine Daten lesen
|
||||
read:accounts: deine Kontoinformationen einsehen
|
||||
|
@ -174,7 +176,6 @@ de:
|
|||
read:filters: deine Filter einsehen
|
||||
read:follows: sehen, wem du folgst
|
||||
read:lists: deine Listen sehen
|
||||
read:me: nur deine grundlegenden Kontoinformationen lesen
|
||||
read:mutes: deine Stummschaltungen einsehen
|
||||
read:notifications: deine Benachrichtigungen sehen
|
||||
read:reports: deine Meldungen sehen
|
||||
|
|
|
@ -174,7 +174,6 @@ en-GB:
|
|||
read:filters: see your filters
|
||||
read:follows: see your follows
|
||||
read:lists: see your lists
|
||||
read:me: read only your account's basic information
|
||||
read:mutes: see your mutes
|
||||
read:notifications: see your notifications
|
||||
read:reports: see your reports
|
||||
|
|
|
@ -135,6 +135,7 @@ en:
|
|||
media: Media attachments
|
||||
mutes: Mutes
|
||||
notifications: Notifications
|
||||
profile: Your Mastodon profile
|
||||
push: Push notifications
|
||||
reports: Reports
|
||||
search: Search
|
||||
|
@ -165,6 +166,7 @@ en:
|
|||
admin:write:reports: perform moderation actions on reports
|
||||
crypto: use end-to-end encryption
|
||||
follow: modify account relationships
|
||||
profile: read only your account's profile information
|
||||
push: receive your push notifications
|
||||
read: read all your account's data
|
||||
read:accounts: see accounts information
|
||||
|
@ -174,7 +176,6 @@ en:
|
|||
read:filters: see your filters
|
||||
read:follows: see your follows
|
||||
read:lists: see your lists
|
||||
read:me: read only your account's basic information
|
||||
read:mutes: see your mutes
|
||||
read:notifications: see your notifications
|
||||
read:reports: see your reports
|
||||
|
|
|
@ -135,6 +135,7 @@ es-AR:
|
|||
media: Adjuntos de medios
|
||||
mutes: Silenciados
|
||||
notifications: Notificaciones
|
||||
profile: Tu perfil de Mastodon
|
||||
push: Notificaciones push
|
||||
reports: Denuncias
|
||||
search: Buscar
|
||||
|
@ -165,6 +166,7 @@ es-AR:
|
|||
admin:write:reports: ejecutar acciones de moderación en denuncias
|
||||
crypto: usar cifrado de extremo a extremo
|
||||
follow: modificar relaciones de cuenta
|
||||
profile: leer solo la información del perfil de tu cuenta
|
||||
push: recibir tus notificaciones push
|
||||
read: leer todos los datos de tu cuenta
|
||||
read:accounts: ver información de cuentas
|
||||
|
@ -174,7 +176,6 @@ es-AR:
|
|||
read:filters: ver tus filtros
|
||||
read:follows: ver qué cuentas seguís
|
||||
read:lists: ver tus listas
|
||||
read:me: leer solo la información básica de tu cuenta
|
||||
read:mutes: ver qué cuentas silenciaste
|
||||
read:notifications: ver tus notificaciones
|
||||
read:reports: ver tus denuncias
|
||||
|
|
|
@ -135,6 +135,7 @@ es-MX:
|
|||
media: Archivos adjuntos
|
||||
mutes: Silenciados
|
||||
notifications: Notificaciones
|
||||
profile: Tu perfil de Mastodon
|
||||
push: Notificaciones push
|
||||
reports: Reportes
|
||||
search: Busqueda
|
||||
|
@ -165,6 +166,7 @@ es-MX:
|
|||
admin:write:reports: realizar acciones de moderación en informes
|
||||
crypto: usar cifrado de extremo a extremo
|
||||
follow: seguir, bloquear, desbloquear y dejar de seguir cuentas
|
||||
profile: leer sólo la información del perfil de tu cuenta
|
||||
push: recibir tus notificaciones push
|
||||
read: leer los datos de tu cuenta
|
||||
read:accounts: ver información de cuentas
|
||||
|
@ -174,7 +176,6 @@ es-MX:
|
|||
read:filters: ver tus filtros
|
||||
read:follows: ver a quién sigues
|
||||
read:lists: ver tus listas
|
||||
read:me: leer solo la información básica de tu cuenta
|
||||
read:mutes: ver a quién has silenciado
|
||||
read:notifications: ver tus notificaciones
|
||||
read:reports: ver tus informes
|
||||
|
|
|
@ -135,6 +135,7 @@ es:
|
|||
media: Adjuntos multimedia
|
||||
mutes: Silenciados
|
||||
notifications: Notificaciones
|
||||
profile: Tu perfil de Mastodon
|
||||
push: Notificaciones push
|
||||
reports: Informes
|
||||
search: Buscar
|
||||
|
@ -165,6 +166,7 @@ es:
|
|||
admin:write:reports: realizar acciones de moderación en informes
|
||||
crypto: usar cifrado de extremo a extremo
|
||||
follow: seguir, bloquear, desbloquear y dejar de seguir cuentas
|
||||
profile: leer sólo la información del perfil de tu cuenta
|
||||
push: recibir tus notificaciones push
|
||||
read: leer los datos de tu cuenta
|
||||
read:accounts: ver información de cuentas
|
||||
|
@ -174,7 +176,6 @@ es:
|
|||
read:filters: ver tus filtros
|
||||
read:follows: ver a quién sigues
|
||||
read:lists: ver tus listas
|
||||
read:me: leer solo la información básica de tu cuenta
|
||||
read:mutes: ver a quién has silenciado
|
||||
read:notifications: ver tus notificaciones
|
||||
read:reports: ver tus informes
|
||||
|
|
|
@ -174,7 +174,6 @@ eu:
|
|||
read:filters: ikusi zure iragazkiak
|
||||
read:follows: ikusi zuk jarraitutakoak
|
||||
read:lists: ikusi zure zerrendak
|
||||
read:me: irakurri soilik zure kontuaren oinarrizko informazioa
|
||||
read:mutes: ikusi zuk mutututakoak
|
||||
read:notifications: ikusi zure jakinarazpenak
|
||||
read:reports: ikusi zure salaketak
|
||||
|
|
|
@ -135,6 +135,7 @@ fi:
|
|||
media: Medialiitteet
|
||||
mutes: Mykistykset
|
||||
notifications: Ilmoitukset
|
||||
profile: Mastodon-profiilisi
|
||||
push: Puskuilmoitukset
|
||||
reports: Raportit
|
||||
search: Hae
|
||||
|
@ -165,6 +166,7 @@ fi:
|
|||
admin:write:reports: suorita valvontatoimia raporteille
|
||||
crypto: käytä päästä päähän -salausta
|
||||
follow: muokkaa tilin suhteita
|
||||
profile: lue vain tilisi profiilitietoja
|
||||
push: vastaanota puskuilmoituksiasi
|
||||
read: lue kaikkia tilin tietoja
|
||||
read:accounts: katso tilien tietoja
|
||||
|
@ -174,7 +176,6 @@ fi:
|
|||
read:filters: katso suodattimiasi
|
||||
read:follows: katso seurattujasi
|
||||
read:lists: katso listojasi
|
||||
read:me: lue tilisi perustietoja
|
||||
read:mutes: katso mykistyksiäsi
|
||||
read:notifications: katso ilmoituksiasi
|
||||
read:reports: katso raporttejasi
|
||||
|
|
|
@ -135,6 +135,7 @@ fo:
|
|||
media: Viðfestir miðlar
|
||||
mutes: Doyvir
|
||||
notifications: Fráboðanir
|
||||
profile: Tín Mastodon vangi
|
||||
push: Skumpifráboðanir
|
||||
reports: Meldingar
|
||||
search: Leita
|
||||
|
@ -165,6 +166,7 @@ fo:
|
|||
admin:write:reports: útinna kjakleiðsluatgerðir á meldingum
|
||||
crypto: brúka enda-til-enda bronglan
|
||||
follow: broyta viðurskifti millum kontur
|
||||
profile: les bara vangaupplýsingar av tíni kontu
|
||||
push: móttaka tínar skumpifráboðanir
|
||||
read: lesa allar dátur í tíni kontu
|
||||
read:accounts: vís kontuupplýsingar
|
||||
|
@ -174,7 +176,6 @@ fo:
|
|||
read:filters: síggja tíni filtur
|
||||
read:follows: síggja hvørji tú fylgir
|
||||
read:lists: síggja tínar listar
|
||||
read:me: les bara grundleggjandi upplýsingar av tínari kontu
|
||||
read:mutes: síggja tínar doyvingar
|
||||
read:notifications: síggja tínar fráboðanir
|
||||
read:reports: síggja tínar meldingar
|
||||
|
|
|
@ -174,7 +174,6 @@ fy:
|
|||
read:filters: jo filters besjen
|
||||
read:follows: de accounts dy’tsto folgest besjen
|
||||
read:lists: jo listen besjen
|
||||
read:me: allinnich de basisgegevens fan jo account lêze
|
||||
read:mutes: jo negearre brûkers besjen
|
||||
read:notifications: jo meldingen besjen
|
||||
read:reports: jo rapportearre berjochten besjen
|
||||
|
|
|
@ -135,6 +135,7 @@ gl:
|
|||
media: Anexos multimedia
|
||||
mutes: Acaladas
|
||||
notifications: Notificacións
|
||||
profile: O teu perfil en Mastodon
|
||||
push: Notificacións Push
|
||||
reports: Denuncias
|
||||
search: Busca
|
||||
|
@ -165,6 +166,7 @@ gl:
|
|||
admin:write:reports: executar accións de moderación nas denuncias
|
||||
crypto: usar cifrado de extremo-a-extremo
|
||||
follow: modificar as relacións da conta
|
||||
profile: ler só a información de perfil da túa conta
|
||||
push: recibir notificacións push
|
||||
read: ler todos os datos da tua conta
|
||||
read:accounts: ver información das contas
|
||||
|
@ -174,7 +176,6 @@ gl:
|
|||
read:filters: ver os filtros
|
||||
read:follows: ver a quen segues
|
||||
read:lists: ver as tuas listaxes
|
||||
read:me: ler só a información básica da túa conta
|
||||
read:mutes: ver a quen tes acalado
|
||||
read:notifications: ver as notificacións
|
||||
read:reports: ver as túas denuncias
|
||||
|
|
|
@ -135,6 +135,7 @@ he:
|
|||
media: קבצי מדיה מצורפים
|
||||
mutes: השתקות
|
||||
notifications: התראות
|
||||
profile: פרופיל המסטודון שלך
|
||||
push: התראות בדחיפה
|
||||
reports: דיווחים
|
||||
search: חיפוש
|
||||
|
@ -165,6 +166,7 @@ he:
|
|||
admin:write:reports: ביצוע פעולות הנהלה על חשבונות
|
||||
crypto: שימוש בהצפנה מקצה לקצה
|
||||
follow: לעקוב, לחסום, להסיר חסימה ולהפסיק לעקוב אחרי חשבונות
|
||||
profile: קריאה של פרטי הפרופיל שלך בלבד
|
||||
push: קבלת התראות בדחיפה
|
||||
read: לקרוא את המידע שבחשבונך
|
||||
read:accounts: צפיה במידע על חשבונות
|
||||
|
@ -174,7 +176,6 @@ he:
|
|||
read:filters: צפייה במסננים
|
||||
read:follows: צפייה בנעקבים
|
||||
read:lists: צפיה ברשימותיך
|
||||
read:me: לקריאה בלבד של פרטי חשבונך הבסיסיים
|
||||
read:mutes: צפיה במושתקיך
|
||||
read:notifications: צפיה בהתראותיך
|
||||
read:reports: צפיה בדוחותיך
|
||||
|
|
|
@ -135,6 +135,7 @@ hu:
|
|||
media: Médiamellékletek
|
||||
mutes: Némítások
|
||||
notifications: Értesítések
|
||||
profile: Saját Mastodon-profil
|
||||
push: Push értesítések
|
||||
reports: Bejelentések
|
||||
search: Keresés
|
||||
|
@ -165,6 +166,7 @@ hu:
|
|||
admin:write:reports: moderációs műveletek végzése bejelentéseken
|
||||
crypto: végpontok közti titkosítás használata
|
||||
follow: fiókkapcsolatok módosítása
|
||||
profile: csak a saját profil alapvető adatainak olvasása
|
||||
push: push értesítések fogadása
|
||||
read: saját fiók adatainak olvasása
|
||||
read:accounts: fiók adatainak megtekintése
|
||||
|
@ -174,7 +176,6 @@ hu:
|
|||
read:filters: szűrök megtekintése
|
||||
read:follows: követések megtekintése
|
||||
read:lists: listák megtekintése
|
||||
read:me: csak a fiókod alapvető adatainak elolvasása
|
||||
read:mutes: némítások megtekintése
|
||||
read:notifications: értesítések megtekintése
|
||||
read:reports: bejelentések megtekintése
|
||||
|
|
|
@ -61,7 +61,7 @@ ia:
|
|||
title: Un error ha occurrite
|
||||
new:
|
||||
prompt_html: "%{client_name} vole haber le permission de acceder a tu conto. Illo es un application tertie. <strong>Si tu non confide in illo, alora tu non deberea autorisar lo.</strong>"
|
||||
review_permissions: Revisionar le permissos
|
||||
review_permissions: Revider permissiones
|
||||
title: Autorisation necessari
|
||||
show:
|
||||
title: Copia iste codice de autorisation e colla lo in le application.
|
||||
|
@ -148,34 +148,33 @@ ia:
|
|||
title: Autorisation OAuth necessari
|
||||
scopes:
|
||||
admin:read: leger tote le datos in le servitor
|
||||
admin:read:accounts: leger information sensibile de tote le contos
|
||||
admin:read:canonical_email_blocks: leger datos sensibile de tote le blocadas de email canonic
|
||||
admin:read:accounts: leger informationes sensibile de tote le contos
|
||||
admin:read:canonical_email_blocks: leger informationes sensibile de tote le blocadas de e-mail canonic
|
||||
admin:read:domain_allows: leger informationes sensibile de tote le dominios permittite
|
||||
admin:read:domain_blocks: leger informationes sensibile de tote le blocadas de dominio
|
||||
admin:read:email_domain_blocks: leger informationes sensibile de tote le blocadas de dominio email
|
||||
admin:read:ip_blocks: leger informationes sensibile de tote le blocadas de IP
|
||||
admin:read:reports: leger information sensibile de tote le reportos e contos signalate
|
||||
admin:read:email_domain_blocks: leger informationes sensibile de tote le blocadas de dominio de e-mail
|
||||
admin:read:ip_blocks: leger informationes sensibile de tote le blocadas de adresses IP
|
||||
admin:read:reports: leger informationes sensibile de tote le reportos e contos reportate
|
||||
admin:write: modificar tote le datos in le servitor
|
||||
admin:write:accounts: exequer action de moderation sur contos
|
||||
admin:write:canonical_email_blocks: exequer actiones de moderation sur blocadas de email canonic
|
||||
admin:write:accounts: exequer actiones de moderation sur contos
|
||||
admin:write:canonical_email_blocks: exequer actiones de moderation sur blocadas de e-mail canonic
|
||||
admin:write:domain_allows: exequer actiones de moderation sur dominios permittite
|
||||
admin:write:domain_blocks: exequer actiones de moderation sur blocadas de dominio
|
||||
admin:write:email_domain_blocks: exequer actiones de moderation sur blocadas de dominio email
|
||||
admin:write:ip_blocks: exequer actiones de moderation sur blocadas de IP
|
||||
admin:write:reports: exequer action de moderation sur reportos
|
||||
crypto: usar cryptation de extremo-a-extremo
|
||||
follow: modificar relationes del contos
|
||||
admin:write:email_domain_blocks: exequer actiones de moderation sur blocadas de dominio de e-mail
|
||||
admin:write:ip_blocks: exequer actiones de moderation sur blocadas de adresses IP
|
||||
admin:write:reports: exequer actiones de moderation sur reportos
|
||||
crypto: usar cryptation de puncta a puncta
|
||||
follow: modificar relationes inter contos
|
||||
push: reciper tu notificationes push
|
||||
read: leger tote le datos de tu conto
|
||||
read:accounts: vider informationes de conto
|
||||
read:accounts: vider informationes de contos
|
||||
read:blocks: vider tu blocadas
|
||||
read:bookmarks: vider tu marcapaginas
|
||||
read:favourites: vider tu favoritos
|
||||
read:favourites: vider tu favorites
|
||||
read:filters: vider tu filtros
|
||||
read:follows: vider tu sequites
|
||||
read:follows: vider qui tu seque
|
||||
read:lists: vider tu listas
|
||||
read:me: leger solmente le information basic de tu conto
|
||||
read:mutes: vider tu silentiates
|
||||
read:mutes: vider qui tu silentia
|
||||
read:notifications: vider tu notificationes
|
||||
read:reports: vider tu reportos
|
||||
read:search: cercar in tu nomine
|
||||
|
@ -189,8 +188,8 @@ ia:
|
|||
write:filters: crear filtros
|
||||
write:follows: sequer personas
|
||||
write:lists: crear listas
|
||||
write:media: incargar files de medios
|
||||
write:media: incargar files multimedial
|
||||
write:mutes: silentiar personas e conversationes
|
||||
write:notifications: rader tu notificationes
|
||||
write:reports: signalar altere personas
|
||||
write:reports: reportar altere personas
|
||||
write:statuses: publicar messages
|
||||
|
|
|
@ -174,7 +174,6 @@ ie:
|
|||
read:filters: vider tui filtres
|
||||
read:follows: vider tui sequitores
|
||||
read:lists: vider tui listes
|
||||
read:me: leer solmen li basic information de tui conto
|
||||
read:mutes: vider tui silentias
|
||||
read:notifications: vider tui notificationes
|
||||
read:reports: vider tui raportes
|
||||
|
|
|
@ -135,6 +135,7 @@ is:
|
|||
media: Myndefnisviðhengi
|
||||
mutes: Þagganir
|
||||
notifications: Tilkynningar
|
||||
profile: Mastodon notandasniðið þitt
|
||||
push: Ýti-tilkynningar
|
||||
reports: Kærur
|
||||
search: Leita
|
||||
|
@ -165,6 +166,7 @@ is:
|
|||
admin:write:reports: framkvæma umsjónaraðgerðir á kærur
|
||||
crypto: nota enda-í-enda dulritun
|
||||
follow: breyta venslum aðgangs
|
||||
profile: lesa einungis upplýsingar úr notandasniðinu þínu
|
||||
push: taka á móti ýti-tilkynningum til þín
|
||||
read: lesa öll gögn á notandaaðgangnum þínum
|
||||
read:accounts: sjá upplýsingar í notendaaðgöngum
|
||||
|
@ -174,7 +176,6 @@ is:
|
|||
read:filters: skoða síurnar þínar
|
||||
read:follows: sjá hverjum þú fylgist með
|
||||
read:lists: skoða listana þína
|
||||
read:me: lesa einungis grunnupplýsingar aðgangsins þíns
|
||||
read:mutes: skoða hverja þú þaggar
|
||||
read:notifications: sjá tilkynningarnar þínar
|
||||
read:reports: skoða skýrslurnar þína
|
||||
|
|
|
@ -135,6 +135,7 @@ it:
|
|||
media: Allegati multimediali
|
||||
mutes: Silenziati
|
||||
notifications: Notifiche
|
||||
profile: Il tuo profilo Mastodon
|
||||
push: Notifiche push
|
||||
reports: Segnalazioni
|
||||
search: Cerca
|
||||
|
@ -165,6 +166,7 @@ it:
|
|||
admin:write:reports: eseguire azioni di moderazione sulle segnalazioni
|
||||
crypto: utilizzare la crittografia end-to-end
|
||||
follow: modifica le relazioni tra profili
|
||||
profile: leggi solo le informazioni sul profilo del tuo account
|
||||
push: ricevere le tue notifiche push
|
||||
read: leggere tutti i dati del tuo profilo
|
||||
read:accounts: visualizzare le informazioni sui profili
|
||||
|
@ -174,7 +176,6 @@ it:
|
|||
read:filters: visualizzare i tuoi filtri
|
||||
read:follows: visualizzare i tuoi seguiti
|
||||
read:lists: visualizzare i tuoi elenchi
|
||||
read:me: leggi solo le informazioni di base del tuo account
|
||||
read:mutes: visualizzare i tuoi silenziamenti
|
||||
read:notifications: visualizzare le tue notifiche
|
||||
read:reports: visualizzare le tue segnalazioni
|
||||
|
|
|
@ -174,7 +174,6 @@ ja:
|
|||
read:filters: フィルターの読み取り
|
||||
read:follows: フォローの読み取り
|
||||
read:lists: リストの読み取り
|
||||
read:me: 自分のアカウントの基本的な情報の読み取りのみ
|
||||
read:mutes: ミュートの読み取り
|
||||
read:notifications: 通知の読み取り
|
||||
read:reports: 通報の読み取り
|
||||
|
|
|
@ -135,6 +135,7 @@ ko:
|
|||
media: 첨부된 미디어
|
||||
mutes: 뮤트
|
||||
notifications: 알림
|
||||
profile: 내 마스토돈 프로필
|
||||
push: 푸시 알림
|
||||
reports: 신고
|
||||
search: 검색
|
||||
|
@ -165,6 +166,7 @@ ko:
|
|||
admin:write:reports: 신고에 모더레이션 조치 취하기
|
||||
crypto: 종단간 암호화 사용
|
||||
follow: 계정 관계 수정
|
||||
profile: 내 계정의 프로필 정보만을 읽습니다
|
||||
push: 푸시 알림 받기
|
||||
read: 계정의 모든 데이터 읽기
|
||||
read:accounts: 계정 정보 보기
|
||||
|
@ -174,7 +176,6 @@ ko:
|
|||
read:filters: 필터 보기
|
||||
read:follows: 팔로우 보기
|
||||
read:lists: 리스트 보기
|
||||
read:me: 내 계정의 기본 정보만을 읽습니다
|
||||
read:mutes: 뮤트 보기
|
||||
read:notifications: 알림 보기
|
||||
read:reports: 신고 보기
|
||||
|
|
|
@ -174,7 +174,6 @@ lt:
|
|||
read:filters: matyti tavo filtrus
|
||||
read:follows: matyti tavo sekimus
|
||||
read:lists: matyti tavo sąrašus
|
||||
read:me: skaityti tik pagrindinę paskyros informaciją
|
||||
read:mutes: matyti tavo nutildymus
|
||||
read:notifications: matyti tavo pranešimus
|
||||
read:reports: matyti tavo ataskaitas
|
||||
|
|
|
@ -174,7 +174,6 @@ lv:
|
|||
read:filters: apskatīt savus filtrus
|
||||
read:follows: apskatīt savus sekotājus
|
||||
read:lists: apskatīt savus sarakstus
|
||||
read:me: lasīt tikai Tava konta pamatinformāciju
|
||||
read:mutes: apskatīt savus apklusinātos
|
||||
read:notifications: apskatīt savus paziņojumus
|
||||
read:reports: apskatīt savus pārskatus
|
||||
|
|
|
@ -135,6 +135,7 @@ nl:
|
|||
media: Mediabijlagen
|
||||
mutes: Negeren
|
||||
notifications: Meldingen
|
||||
profile: Jouw Mastodonprofiel
|
||||
push: Pushmeldingen
|
||||
reports: Rapportages
|
||||
search: Zoeken
|
||||
|
@ -165,6 +166,7 @@ nl:
|
|||
admin:write:reports: moderatieacties op rapportages uitvoeren
|
||||
crypto: end-to-end-encryptie gebruiken
|
||||
follow: volgrelaties tussen accounts bewerken
|
||||
profile: alleen de profielgegevens van jouw account lezen
|
||||
push: jouw pushmeldingen ontvangen
|
||||
read: alle gegevens van jouw account lezen
|
||||
read:accounts: informatie accounts bekijken
|
||||
|
@ -174,7 +176,6 @@ nl:
|
|||
read:filters: jouw filters bekijken
|
||||
read:follows: de accounts die jij volgt bekijken
|
||||
read:lists: jouw lijsten bekijken
|
||||
read:me: alleen de basisgegevens van jouw account lezen
|
||||
read:mutes: jouw genegeerde gebruikers bekijken
|
||||
read:notifications: jouw meldingen bekijken
|
||||
read:reports: jouw gerapporteerde berichten bekijken
|
||||
|
|
|
@ -174,7 +174,6 @@ nn:
|
|||
read:filters: sjå filtera dine
|
||||
read:follows: sjå fylgjarane dine
|
||||
read:lists: sjå listene dine
|
||||
read:me: les berre kontoen din sin grunnleggjande informasjon
|
||||
read:mutes: sjå kven du har målbunde
|
||||
read:notifications: sjå varsla dine
|
||||
read:reports: sjå rapportane dine
|
||||
|
|
|
@ -135,6 +135,7 @@ pl:
|
|||
media: Załączniki multimedialne
|
||||
mutes: Wyciszenia
|
||||
notifications: Powiadomienia
|
||||
profile: Twój profil
|
||||
push: Powiadomienia push
|
||||
reports: Zgłoszenia
|
||||
search: Szukaj
|
||||
|
@ -165,6 +166,7 @@ pl:
|
|||
admin:write:reports: wykonaj działania moderacyjne na zgłoszeniach
|
||||
crypto: użyj szyfrowania end-to-end
|
||||
follow: możliwość zarządzania relacjami kont
|
||||
profile: odczytaj tylko informacje o profilu
|
||||
push: otrzymywanie powiadomień push dla Twojego konta
|
||||
read: możliwość odczytu wszystkich danych konta
|
||||
read:accounts: dostęp do informacji o koncie
|
||||
|
@ -174,7 +176,6 @@ pl:
|
|||
read:filters: dostęp do filtrów
|
||||
read:follows: dostęp do listy obserwowanych
|
||||
read:lists: dostęp do Twoich list
|
||||
read:me: odczytaj tylko podstawowe informacje o koncie
|
||||
read:mutes: dostęp do listy wyciszonych
|
||||
read:notifications: możliwość odczytu powiadomień
|
||||
read:reports: dostęp do Twoich zgłoszeń
|
||||
|
|
|
@ -174,7 +174,6 @@ pt-BR:
|
|||
read:filters: ver seus filtros
|
||||
read:follows: ver quem você segue
|
||||
read:lists: ver suas listas
|
||||
read:me: ler só as informações básicas da sua conta
|
||||
read:mutes: ver seus silenciados
|
||||
read:notifications: ver suas notificações
|
||||
read:reports: ver suas denúncias
|
||||
|
|
|
@ -135,6 +135,7 @@ pt-PT:
|
|||
media: Anexos de media
|
||||
mutes: Silenciados
|
||||
notifications: Notificações
|
||||
profile: O seu perfil Mastodon
|
||||
push: Notificações push
|
||||
reports: Denúncias
|
||||
search: Pesquisa
|
||||
|
@ -165,6 +166,7 @@ pt-PT:
|
|||
admin:write:reports: executar ações de moderação em denúncias
|
||||
crypto: usa encriptação ponta-a-ponta
|
||||
follow: siga, bloqueie, desbloqueie, e deixa de seguir contas
|
||||
profile: apenas ler as informações do perfil da sua conta
|
||||
push: receber as suas notificações push
|
||||
read: tenha acesso aos dados da tua conta
|
||||
read:accounts: ver as informações da conta
|
||||
|
@ -174,7 +176,6 @@ pt-PT:
|
|||
read:filters: ver os seus filtros
|
||||
read:follows: ver quem você segue
|
||||
read:lists: ver as suas listas
|
||||
read:me: ler apenas as informações básicas da sua conta
|
||||
read:mutes: ver os utilizadores que silenciou
|
||||
read:notifications: ver as suas notificações
|
||||
read:reports: ver as suas denúncias
|
||||
|
|
|
@ -174,7 +174,6 @@ sl:
|
|||
read:filters: oglejte si svoje filtre
|
||||
read:follows: oglejte si svoje sledilce
|
||||
read:lists: oglejte si svoje sezname
|
||||
read:me: preberi le osnovne podatke računa
|
||||
read:mutes: oglejte si svoje utišane
|
||||
read:notifications: oglejte si svoja obvestila
|
||||
read:reports: oglejte si svoje prijave
|
||||
|
|
|
@ -135,6 +135,7 @@ sq:
|
|||
media: Bashkëngjitje media
|
||||
mutes: Heshtime
|
||||
notifications: Njoftime
|
||||
profile: Profili juaj Mastodon
|
||||
push: Njoftime Push
|
||||
reports: Raportime
|
||||
search: Kërkim
|
||||
|
@ -165,6 +166,7 @@ sq:
|
|||
admin:write:reports: të kryejë veprime moderimi në raportime
|
||||
crypto: përdor fshehtëzim skaj-më-skaj
|
||||
follow: të ndryshojë marrëdhënie llogarish
|
||||
profile: të lexojë vetëm hollësi profili llogarie tuaj
|
||||
push: të marrë njoftime push për ju
|
||||
read: të lexojë krejt të dhënat e llogarisë tuaj
|
||||
read:accounts: të shohë hollësi llogarish
|
||||
|
@ -174,7 +176,6 @@ sq:
|
|||
read:filters: të shohë filtrat tuaj
|
||||
read:follows: të shohë ndjekësit tuaj
|
||||
read:lists: të shohë listat tuaja
|
||||
read:me: të shohë vetëm hollësi elementare të llogarisë tuaj
|
||||
read:mutes: të shohë ç’keni heshtuar
|
||||
read:notifications: të shohë njoftimet tuaja
|
||||
read:reports: të shohë raportimet tuaja
|
||||
|
|
|
@ -135,6 +135,7 @@ sr-Latn:
|
|||
media: Multimedijalni prilozi
|
||||
mutes: Ignorisani
|
||||
notifications: Obaveštenja
|
||||
profile: Vaš Mastodon profil
|
||||
push: Prosleđena obaveštenja
|
||||
reports: Prijave
|
||||
search: Pretraga
|
||||
|
@ -165,6 +166,7 @@ sr-Latn:
|
|||
admin:write:reports: vršenje moderatorskih aktivnosti nad izveštajima
|
||||
crypto: korišćenje end-to-end enkripcije
|
||||
follow: menja odnose naloga
|
||||
profile: čita samo informacije o profilu vašeg naloga
|
||||
push: primanje prosleđenih obaveštenja
|
||||
read: čita podatke Vašeg naloga
|
||||
read:accounts: pogledaj informacije o nalozima
|
||||
|
@ -174,7 +176,6 @@ sr-Latn:
|
|||
read:filters: pogledaj svoje filtere
|
||||
read:follows: pogledaj koga pratiš
|
||||
read:lists: pogledaj svoje liste
|
||||
read:me: čita samo osnovne informacije o vašem nalogu
|
||||
read:mutes: pogledaj ignorisanja
|
||||
read:notifications: pogledaj svoja obaveštenja
|
||||
read:reports: pogledaj svoje prijave
|
||||
|
|
|
@ -135,6 +135,7 @@ sr:
|
|||
media: Мултимедијални прилози
|
||||
mutes: Игнорисани
|
||||
notifications: Обавештења
|
||||
profile: Ваш Mastodon профил
|
||||
push: Прослеђена обавештења
|
||||
reports: Пријаве
|
||||
search: Претрага
|
||||
|
@ -165,6 +166,7 @@ sr:
|
|||
admin:write:reports: вршење модераторских активности над извештајима
|
||||
crypto: коришћење end-to-end енкрипције
|
||||
follow: мења односе налога
|
||||
profile: чита само информације о профилу вашег налога
|
||||
push: примање прослеђених обавештења
|
||||
read: чита податке Вашег налога
|
||||
read:accounts: погледај информације о налозима
|
||||
|
@ -174,7 +176,6 @@ sr:
|
|||
read:filters: погледај своје филтере
|
||||
read:follows: погледај кога пратиш
|
||||
read:lists: погледај своје листе
|
||||
read:me: чита само основне информације о вашем налогу
|
||||
read:mutes: погледај игнорисања
|
||||
read:notifications: погледај своја обавештења
|
||||
read:reports: погледај своје пријаве
|
||||
|
|
|
@ -174,7 +174,6 @@ sv:
|
|||
read:filters: se dina filter
|
||||
read:follows: se vem du följer
|
||||
read:lists: se dina listor
|
||||
read:me: läs endast den grundläggande informationen för ditt konto
|
||||
read:mutes: se dina tystningar
|
||||
read:notifications: se dina notiser
|
||||
read:reports: se dina rapporter
|
||||
|
|
|
@ -174,7 +174,6 @@ th:
|
|||
read:filters: ดูตัวกรองของคุณ
|
||||
read:follows: ดูการติดตามของคุณ
|
||||
read:lists: ดูรายการของคุณ
|
||||
read:me: อ่านเฉพาะข้อมูลพื้นฐานของบัญชีของคุณเท่านั้น
|
||||
read:mutes: ดูการซ่อนของคุณ
|
||||
read:notifications: ดูการแจ้งเตือนของคุณ
|
||||
read:reports: ดูรายงานของคุณ
|
||||
|
|
|
@ -135,6 +135,7 @@ tr:
|
|||
media: Medya ekleri
|
||||
mutes: Sessize alınanlar
|
||||
notifications: Bildirimler
|
||||
profile: Mastodon profiliniz
|
||||
push: Anlık bildirimler
|
||||
reports: Şikayetler
|
||||
search: Arama
|
||||
|
@ -165,6 +166,7 @@ tr:
|
|||
admin:write:reports: raporlarda denetleme eylemleri gerçekleştirin
|
||||
crypto: uçtan uca şifreleme kullan
|
||||
follow: hesap ilişkilerini değiştirin
|
||||
profile: hesabınızın sadece profil bilgilerini okuma
|
||||
push: anlık bildirimlerizi alın
|
||||
read: hesabınızın tüm verilerini okuyun
|
||||
read:accounts: hesap bilgilerini görün
|
||||
|
@ -174,7 +176,6 @@ tr:
|
|||
read:filters: süzgeçlerinizi görün
|
||||
read:follows: takip ettiklerinizi görün
|
||||
read:lists: listelerinizi görün
|
||||
read:me: hesabınızın sadece temel bilgilerini okuma
|
||||
read:mutes: sessize aldıklarınızı görün
|
||||
read:notifications: bildirimlerinizi görün
|
||||
read:reports: raporlarınızı görün
|
||||
|
|
|
@ -135,6 +135,7 @@ uk:
|
|||
media: Мультимедійні вкладення
|
||||
mutes: Нехтувані
|
||||
notifications: Сповіщення
|
||||
profile: Ваш профіль Mastodon
|
||||
push: Push-сповіщення
|
||||
reports: Скарги
|
||||
search: Пошук
|
||||
|
@ -171,6 +172,7 @@ uk:
|
|||
admin:write:reports: модерувати скарги
|
||||
crypto: використовувати наскрізне шифрування
|
||||
follow: змінювати стосунки облікового запису
|
||||
profile: читати лише інформацію профілю вашого облікового запису
|
||||
push: отримувати Ваші Push-повідомлення
|
||||
read: читати усі дані вашого облікового запису
|
||||
read:accounts: бачити інформацію про облікові записи
|
||||
|
@ -180,7 +182,6 @@ uk:
|
|||
read:filters: бачити Ваші фільтри
|
||||
read:follows: бачити Ваші підписки
|
||||
read:lists: бачити Ваші списки
|
||||
read:me: читайте лише основну інформацію вашого облікового запису
|
||||
read:mutes: бачити ваші нехтування
|
||||
read:notifications: бачити Ваші сповіщення
|
||||
read:reports: бачити Ваші скарги
|
||||
|
|
|
@ -174,7 +174,6 @@ vi:
|
|||
read:filters: xem bộ lọc
|
||||
read:follows: xem những người theo dõi
|
||||
read:lists: xem danh sách
|
||||
read:me: chỉ đọc thông tin cơ bản tài khoản
|
||||
read:mutes: xem những người đã ẩn
|
||||
read:notifications: xem thông báo
|
||||
read:reports: xem báo cáo của bạn
|
||||
|
|
|
@ -135,6 +135,7 @@ zh-CN:
|
|||
media: 媒体文件
|
||||
mutes: 已被隐藏的
|
||||
notifications: 通知
|
||||
profile: 你的 Mastodon 个人资料
|
||||
push: 推送通知
|
||||
reports: 举报
|
||||
search: 搜索
|
||||
|
@ -165,6 +166,7 @@ zh-CN:
|
|||
admin:write:reports: 对举报执行管理操作
|
||||
crypto: 使用端到端加密
|
||||
follow: 关注或屏蔽用户
|
||||
profile: 仅读取你账户中的个人资料信息
|
||||
push: 接收你的账户的推送通知
|
||||
read: 读取你的账户数据
|
||||
read:accounts: 查看账号信息
|
||||
|
@ -174,7 +176,6 @@ zh-CN:
|
|||
read:filters: 查看你的过滤器
|
||||
read:follows: 查看你的关注
|
||||
read:lists: 查看你的列表
|
||||
read:me: 只读取你账户的基本信息
|
||||
read:mutes: 查看你的隐藏列表
|
||||
read:notifications: 查看你的通知
|
||||
read:reports: 查看你的举报
|
||||
|
|
|
@ -174,7 +174,6 @@ zh-HK:
|
|||
read:filters: 檢視你的過濾條件
|
||||
read:follows: 檢視你關注的人
|
||||
read:lists: 檢視你的清單
|
||||
read:me: 僅讀取帳號的基本資訊
|
||||
read:mutes: 檢視被你靜音的人
|
||||
read:notifications: 檢視你的通知
|
||||
read:reports: 檢視你的檢舉
|
||||
|
|
|
@ -135,6 +135,7 @@ zh-TW:
|
|||
media: 多媒體附加檔案
|
||||
mutes: 靜音
|
||||
notifications: 通知
|
||||
profile: 您 Mastodon 個人檔案
|
||||
push: 推播通知
|
||||
reports: 檢舉報告
|
||||
search: 搜尋
|
||||
|
@ -165,6 +166,7 @@ zh-TW:
|
|||
admin:write:reports: 對報告進行管理動作
|
||||
crypto: 使用端到端加密
|
||||
follow: 修改帳號關係
|
||||
profile: 僅讀取您的帳號個人檔案資訊
|
||||
push: 接收帳號的推播通知
|
||||
read: 讀取您所有的帳號資料
|
||||
read:accounts: 檢視帳號資訊
|
||||
|
@ -174,7 +176,6 @@ zh-TW:
|
|||
read:filters: 檢視您的過濾條件
|
||||
read:follows: 檢視您跟隨之使用者
|
||||
read:lists: 檢視您的列表
|
||||
read:me: 僅讀取您的帳號基本資訊
|
||||
read:mutes: 檢視您靜音的人
|
||||
read:notifications: 檢視您的通知
|
||||
read:reports: 檢視您的檢舉
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -446,6 +446,7 @@ lt:
|
|||
instances:
|
||||
availability:
|
||||
title: Prieinamumas
|
||||
warning: Paskutinis bandymas prisijungti prie šio serverio buvo nesėkmingas
|
||||
back_to_all: Visi
|
||||
back_to_limited: Apribotas
|
||||
back_to_warning: Įspėjimas
|
||||
|
@ -488,7 +489,7 @@ lt:
|
|||
inbox_url: Perdavimo URL
|
||||
pending: Laukiama perdavimo patvirtinimo
|
||||
save_and_enable: Išsaugoti ir įjungti
|
||||
setup: Sukurti perdavimo ryšį
|
||||
setup: Nustatyti perdavimo ryšį
|
||||
status: Statusas
|
||||
title: Perdavimai
|
||||
report_notes:
|
||||
|
@ -600,6 +601,8 @@ lt:
|
|||
elasticsearch_preset_single_node:
|
||||
action: Žiūrėti dokumentaciją
|
||||
message_html: Tavo Elasticsearch klasteris turi tik vieną mazgą, <code>ES_PRESET</code> turėtų būti nustatyta į <code>single_node_cluster</code>.
|
||||
elasticsearch_running_check:
|
||||
message_html: Nepavyko prijungti prie Elasticsearch. Patikrink, ar ji veikia, arba išjunk viso teksto paiešką.
|
||||
title: Administracija
|
||||
trends:
|
||||
allow: Leisti
|
||||
|
|
|
@ -3,42 +3,42 @@ ia:
|
|||
simple_form:
|
||||
hints:
|
||||
account:
|
||||
discoverable: Tu messages public e tu profilo pote esser consiliate o recommendate in varie areas de Mastodon e tu profilo pote esser suggerite a altere usatores.
|
||||
discoverable: Tu messages public e tu profilo pote esser mittite in evidentia o recommendate in varie areas de Mastodon e tu profilo pote esser suggerite a altere usatores.
|
||||
display_name: Tu prenomine e nomine de familia o tu pseudonymo.
|
||||
fields: Tu pagina principal, pronomines, etate, toto lo que tu vole.
|
||||
indexable: Tu messages public pote apparer in resultatos del recerca sur Mastodon. Illes qui ha interagite con tu messages totevia pote cercar les.
|
||||
fields: Tu pagina principal, pronomines, etate, tote lo que tu vole.
|
||||
indexable: Tu messages public pote apparer in le resultatos de recerca sur Mastodon. Le personas qui ha interagite con tu messages pote cercar los in omne caso.
|
||||
note: 'Tu pote @mentionar altere personas o #hashtags.'
|
||||
show_collections: Le personas potera navigar per tu sequites e sequaces. Le personas potera navigar per tu sequites e sequaces.
|
||||
unlocked: Le personas potera sequer te sin requestar approbation. Dismarca si tu desira revider le requestas de sequer e selige si acceptar o rejectar nove sequaces.
|
||||
show_collections: Le gente potera percurrer le listas de personas que tu seque e qui te seque. Le personas que tu seque videra que tu les seque in omne caso.
|
||||
unlocked: Le personas potera sequer te sin requestar approbation. Dismarca si tu vole revider le requestas de sequimento e seliger si acceptar o rejectar nove sequitores.
|
||||
account_alias:
|
||||
acct: Specifica le nomine_de_usator@dominio del conto ab que tu vole mover
|
||||
acct: Specifica le nomine_de_usator@dominio del conto desde le qual tu vole migrar
|
||||
account_migration:
|
||||
acct: Specifica le nomine_de_usator@dominio del conto a que tu vole mover
|
||||
acct: Specifica le nomine_de_usator@dominio del conto al qual tu vole migrar
|
||||
account_warning_preset:
|
||||
text: Tu pote usar le syntaxe de message, tal como URLs, hashtags e mentiones
|
||||
text: Tu pote usar le syntaxe de messages, como URLs, hashtags e mentiones
|
||||
title: Optional. Non visibile al destinatario
|
||||
admin_account_action:
|
||||
include_statuses: Le usator videra que messages ha causate le action o aviso de moderation
|
||||
send_email_notification: Le usator recipera un explication de cosa eveniva con lor conto
|
||||
text_html: Optional. Tu pote usar le syntaxe de message. Tu pote <a href="%{path}">adder avisos preconfigurate</a> pro sparniar tempore
|
||||
type_html: Selige lo que tu vole facer con <strong>%{acct}</strong>
|
||||
include_statuses: Le usator videra qual messages ha causate le action o advertimento de moderation
|
||||
send_email_notification: Le usator recipera un explication de lo que ha evenite con su conto
|
||||
text_html: Optional. Tu pote usar le syntaxe de messages. Tu pote <a href="%{path}">adder advertimentos preconfigurate</a> pro sparniar tempore
|
||||
type_html: Selige lo que facer con <strong>%{acct}</strong>
|
||||
types:
|
||||
disable: Impedir al usator de usar lor conto, sin deler o celar lor contentos.
|
||||
none: Usar lo pro inviar un aviso al usator, sin discatenar ulle altere action.
|
||||
sensitive: Fortiar tote le annexos multimedial de iste usator a esser signalate como sensibile.
|
||||
silence: Impedir al usator de poter publicar messages con public visibilitate, celar lor messages e notificationes ab gente non sequente illes. Clauder tote le reportos contra iste conto.
|
||||
suspend: Impedir ulle interaction de o a iste conto e deler su contentos. Reversibile intra 30 dies. Clauder tote le reportos contra iste conto.
|
||||
warning_preset_id: Optional. Tu pote ancora adder personal texto a fin del preconfigurate
|
||||
disable: Impedir al usator de usar su conto, sin deler o celar su contento.
|
||||
none: Usa isto pro inviar un advertimento al usator, sin prender alcun altere mesura.
|
||||
sensitive: Fortiar tote le annexos multimedial de iste usator a esser marcate como sensibile.
|
||||
silence: Impedir al usator de publicar messages con visibilitate public, celante su messages e notificationes a qui non le seque. Claude tote le reportos contra iste conto.
|
||||
suspend: Impedir tote interaction desde o verso iste conto e deler su contento. Reversibile intra 30 dies. Claude tote le reportos contra iste conto.
|
||||
warning_preset_id: Optional. Tu pote ancora adder texto personalisate al fin del preconfigurate
|
||||
announcement:
|
||||
all_day: Si marcate, solo le datas del campo tempore sera monstrate
|
||||
ends_at: Le annuncio sera automaticamente obscurate a iste tempore
|
||||
scheduled_at: Lassar blanc pro publicar le annuncio immediatemente
|
||||
starts_at: Optional. In caso tu annuncio es ligate con un specific campo tempore
|
||||
text: Tu pote usar le syntaxe de message. Presta attention al spatio que le annuncio occupara sur le schermo de usator
|
||||
all_day: Si marcate, solmente le datas del intervallo de tempore essera monstrate
|
||||
ends_at: Optional. Le annuncio essera automaticamente retirate del publication a iste tempore
|
||||
scheduled_at: Lassa vacue pro publicar le annuncio immediatemente
|
||||
starts_at: Optional. In caso que tu annuncio es ligate a un intervallo specific de tempore
|
||||
text: Tu pote usar le syntaxe de messages. Presta attention al spatio que le annuncio occupara sur le schermo del usator
|
||||
appeal:
|
||||
text: Tu pote solo appellar te un vice
|
||||
text: Tu pote solo appellar contra un sanction un vice
|
||||
defaults:
|
||||
autofollow: Illes qui se inscribe per le invitation automaticamente devenira tu sequaces
|
||||
autofollow: Le personas qui se inscribe per medio del invitation te sequera automaticamente
|
||||
avatar: WEBP, PNG, GIF or JPG. Al maximo %{size}. Sera diminuite a %{dimensions}px
|
||||
bot: Signala a alteres que le conto principalmente exeque actiones automatisate e poterea non esser surveliate
|
||||
context: Un o plure contextos ubi le filtro deberea applicar se
|
||||
|
@ -64,7 +64,7 @@ ia:
|
|||
username: Tu pote usar litteras, numeros e tractos de sublineamento
|
||||
whole_word: Quando le parola o expression clave es solo alphanumeric, illo sera solo applicate si illo concorda con tote le parola
|
||||
domain_allow:
|
||||
domain: Iste dominio potera reportar datos ab iste servitor e le datos in ingresso ab illo sera processate e immagazinate
|
||||
domain: Iste dominio potera extraher datos de iste servitor e le datos entrante de illo essera processate e immagazinate
|
||||
email_domain_block:
|
||||
domain: Isto pote esser le nomine de dominio que apparera in le adresse email o le registration MX que illo usa. Illos sera verificate durante le inscription.
|
||||
with_dns_records: Un tentativa sera facite pro resolver le registrationes de DNS del dominio date e le resultatos sera alsi blocate
|
||||
|
@ -158,7 +158,7 @@ ia:
|
|||
text: Texto predefinite
|
||||
title: Titulo
|
||||
admin_account_action:
|
||||
include_statuses: Includer messages reportate in le email
|
||||
include_statuses: Includer le messages reportate in le e-mail
|
||||
send_email_notification: Notificar le usator per e-mail
|
||||
text: Advertimento personalisate
|
||||
type: Action
|
||||
|
@ -269,7 +269,7 @@ ia:
|
|||
trends: Activar tendentias
|
||||
trends_as_landing_page: Usar tendentias como pagina de destination
|
||||
interactions:
|
||||
must_be_follower: Blocar notificationes de non-sequaces
|
||||
must_be_follower: Blocar notificationes de personas qui non te seque
|
||||
must_be_following: Blocar notificationes de gente que tu non sequer
|
||||
must_be_following_dm: Blocar messages directe de gente que tu non seque
|
||||
invite:
|
||||
|
|
|
@ -78,6 +78,7 @@ lv:
|
|||
form_admin_settings:
|
||||
activity_api_enabled: Vietēji publicēto ziņu, aktīvo lietotāju un jauno reģistrāciju skaits nedēļas kopās
|
||||
app_icon: WEBP, PNG, GIF vai JPG. Mobilajās ierīcēs aizstāj noklusējuma lietotnes ikonu ar pielāgotu.
|
||||
backups_retention_period: Lietotājiem ir iespēja izveidot savu ierakstu arhīvu lejupielādēšanai vēlāk. Kad iestatīta pozitīva vērtība, šie arhīvi tiks automātiski izdzēsti no krātuves pēc norādītā dienu skaita.
|
||||
bootstrap_timeline_accounts: Šie konti tiks piesprausti jauno lietotāju ieteikumu augšdaļā.
|
||||
closed_registrations_message: Tiek rādīts, kad reģistrēšanās ir slēgta
|
||||
custom_css: Vari lietot pielāgotus stilus Mastodon tīmekļa versijā.
|
||||
|
|
|
@ -48,6 +48,7 @@ namespace :api, format: false do
|
|||
namespace :timelines do
|
||||
resource :home, only: :show, controller: :home
|
||||
resource :public, only: :show, controller: :public
|
||||
resource :link, only: :show, controller: :link
|
||||
resources :tag, only: :show
|
||||
resources :list, only: :show
|
||||
resources :antenna, only: :show
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# This is needed for the Github Action
|
||||
# This is needed for the GitHub Action
|
||||
project_id_env: CROWDIN_PROJECT_ID
|
||||
api_token_env: CROWDIN_PERSONAL_TOKEN
|
||||
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class ChangeMentionStatusIdNonNullable < ActiveRecord::Migration[7.1]
|
||||
def change
|
||||
add_check_constraint :mentions, 'status_id IS NOT NULL', name: 'mentions_status_id_null', validate: false
|
||||
end
|
||||
end
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue