Merge remote-tracking branch 'parent/main' into upstream-20240109
This commit is contained in:
commit
d35fa72842
333 changed files with 4444 additions and 2541 deletions
2
.github/ISSUE_TEMPLATE/3.troubleshooting.yml
vendored
2
.github/ISSUE_TEMPLATE/3.troubleshooting.yml
vendored
|
@ -61,7 +61,7 @@ body:
|
|||
value: |
|
||||
Please at least include those informations:
|
||||
- Operating system: (eg. Ubuntu 22.04)
|
||||
- Ruby version: (from `ruby --version`, eg. v3.3.5)
|
||||
- Ruby version: (from `ruby --version`, eg. v3.4.1)
|
||||
- Node.js version: (from `node --version`, eg. v20.18.0)
|
||||
validations:
|
||||
required: false
|
||||
|
|
2
.github/workflows/check-i18n.yml
vendored
2
.github/workflows/check-i18n.yml
vendored
|
@ -24,7 +24,7 @@ permissions:
|
|||
|
||||
jobs:
|
||||
check-i18n:
|
||||
runs-on: ubuntu-24.04
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
|
|
@ -50,7 +50,7 @@ jobs:
|
|||
|
||||
# Create or update the pull request
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v7.0.5
|
||||
uses: peter-evans/create-pull-request@v7.0.6
|
||||
with:
|
||||
commit-message: 'New Crowdin translations'
|
||||
title: 'New Crowdin Translations for ${{ github.base_ref || github.ref_name }} (automated)'
|
||||
|
|
6
.github/workflows/test-ruby.yml
vendored
6
.github/workflows/test-ruby.yml
vendored
|
@ -129,6 +129,7 @@ jobs:
|
|||
matrix:
|
||||
ruby-version:
|
||||
- '3.2'
|
||||
- '3.3'
|
||||
- '.ruby-version'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
@ -178,7 +179,7 @@ jobs:
|
|||
|
||||
test-libvips:
|
||||
name: Libvips tests
|
||||
runs-on: ubuntu-24.04
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
needs:
|
||||
- build
|
||||
|
@ -230,6 +231,7 @@ jobs:
|
|||
matrix:
|
||||
ruby-version:
|
||||
- '3.2'
|
||||
- '3.3'
|
||||
- '.ruby-version'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
@ -309,6 +311,7 @@ jobs:
|
|||
matrix:
|
||||
ruby-version:
|
||||
- '3.2'
|
||||
- '3.3'
|
||||
- '.ruby-version'
|
||||
|
||||
steps:
|
||||
|
@ -425,6 +428,7 @@ jobs:
|
|||
matrix:
|
||||
ruby-version:
|
||||
- '3.2'
|
||||
- '3.3'
|
||||
- '.ruby-version'
|
||||
search-image:
|
||||
- docker.elastic.co/elasticsearch/elasticsearch:7.17.13
|
||||
|
|
2
.nvmrc
2
.nvmrc
|
@ -1 +1 @@
|
|||
22.12
|
||||
22.13
|
||||
|
|
|
@ -29,9 +29,6 @@ Style/IfUnlessModifier:
|
|||
Style/KeywordArgumentsMerging:
|
||||
Enabled: false
|
||||
|
||||
Style/MultipleComparison:
|
||||
Enabled: false
|
||||
|
||||
Style/NumericLiterals:
|
||||
AllowedPatterns:
|
||||
- \d{4}_\d{2}_\d{2}_\d{6}
|
||||
|
|
|
@ -1 +1 @@
|
|||
3.3.6
|
||||
3.4.1
|
||||
|
|
|
@ -135,7 +135,7 @@ The following changelog entries focus on changes visible to users, administrator
|
|||
- **Add notifications of severed relationships** (#27511, #29665, #29668, #29670, #29700, #29714, #29712, and #29731 by @ClearlyClaire and @Gargron)\
|
||||
Notify local users when they lose relationships as a result of a local moderator blocking a remote account or server, allowing the affected user to retrieve the list of broken relationships.\
|
||||
Note that this does not notify remote users.\
|
||||
This adds the `severed_relationships` notification type to the REST API and streaming, with a new [`relationship_severance_event` attribute](https://docs.joinmastodon.org/entities/Notification/#relationship_severance_event).
|
||||
This adds the `severed_relationships` notification type to the REST API and streaming, with a new [`event` attribute](https://docs.joinmastodon.org/entities/Notification/#relationship_severance_event).
|
||||
- **Add hover cards in web UI** (#30754, #30864, #30850, #30879, #30928, #30949, #30948, #30931, and #31300 by @ClearlyClaire, @Gargron, and @renchap)\
|
||||
Hovering over an avatar or username will now display a hover card with the first two lines of the user's description and their first two profile fields.\
|
||||
This can be disabled in the “Animations and accessibility” section of the preferences.
|
||||
|
|
|
@ -10,9 +10,9 @@
|
|||
ARG TARGETPLATFORM=${TARGETPLATFORM}
|
||||
ARG BUILDPLATFORM=${BUILDPLATFORM}
|
||||
|
||||
# Ruby image to use for base image, change with [--build-arg RUBY_VERSION="3.3.x"]
|
||||
# Ruby image to use for base image, change with [--build-arg RUBY_VERSION="3.4.x"]
|
||||
# renovate: datasource=docker depName=docker.io/ruby
|
||||
ARG RUBY_VERSION="3.3.6"
|
||||
ARG RUBY_VERSION="3.4.1"
|
||||
# # Node version to use in base image, change with [--build-arg NODE_MAJOR_VERSION="20"]
|
||||
# renovate: datasource=node-version depName=node
|
||||
ARG NODE_MAJOR_VERSION="22"
|
||||
|
@ -20,7 +20,7 @@ ARG NODE_MAJOR_VERSION="22"
|
|||
ARG DEBIAN_VERSION="bookworm"
|
||||
# Node image to use for base image based on combined variables (ex: 20-bookworm-slim)
|
||||
FROM docker.io/node:${NODE_MAJOR_VERSION}-${DEBIAN_VERSION}-slim AS node
|
||||
# Ruby image to use for base image based on combined variables (ex: 3.3.x-slim-bookworm)
|
||||
# Ruby image to use for base image based on combined variables (ex: 3.4.x-slim-bookworm)
|
||||
FROM docker.io/ruby:${RUBY_VERSION}-slim-${DEBIAN_VERSION} AS ruby
|
||||
|
||||
# Resulting version string is vX.X.X-MASTODON_VERSION_PRERELEASE+MASTODON_VERSION_METADATA
|
||||
|
|
14
Gemfile
14
Gemfile
|
@ -1,12 +1,12 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
source 'https://rubygems.org'
|
||||
ruby '>= 3.2.0'
|
||||
ruby '>= 3.2.0', '< 3.5.0'
|
||||
|
||||
gem 'propshaft'
|
||||
gem 'puma', '~> 6.3'
|
||||
gem 'rack', '~> 2.2.7'
|
||||
gem 'rails', '~> 7.2.0'
|
||||
gem 'rails', '~> 8.0'
|
||||
gem 'thor', '~> 1.2'
|
||||
|
||||
gem 'dotenv'
|
||||
|
@ -73,13 +73,13 @@ gem 'public_suffix', '~> 6.0'
|
|||
gem 'pundit', '~> 2.3'
|
||||
gem 'rack-attack', '~> 6.6'
|
||||
gem 'rack-cors', '~> 2.0', require: 'rack/cors'
|
||||
gem 'rails-i18n', '~> 7.0'
|
||||
gem 'rails-i18n', '~> 8.0'
|
||||
gem 'redcarpet', '~> 3.6'
|
||||
gem 'redis', '~> 4.5', require: ['redis', 'redis/connection/hiredis']
|
||||
gem 'redis-namespace', '~> 1.10'
|
||||
gem 'rqrcode', '~> 2.2'
|
||||
gem 'ruby-progressbar', '~> 1.13'
|
||||
gem 'sanitize', '~> 6.0'
|
||||
gem 'sanitize', '~> 7.0'
|
||||
gem 'scenic', '~> 1.7'
|
||||
gem 'sidekiq', '~> 6.5'
|
||||
gem 'sidekiq-bulk', '~> 0.2.0'
|
||||
|
@ -108,7 +108,7 @@ group :opentelemetry do
|
|||
gem 'opentelemetry-instrumentation-active_model_serializers', '~> 0.21.0', require: false
|
||||
gem 'opentelemetry-instrumentation-concurrent_ruby', '~> 0.21.2', require: false
|
||||
gem 'opentelemetry-instrumentation-excon', '~> 0.22.0', require: false
|
||||
gem 'opentelemetry-instrumentation-faraday', '~> 0.24.1', require: false
|
||||
gem 'opentelemetry-instrumentation-faraday', '~> 0.25.0', require: false
|
||||
gem 'opentelemetry-instrumentation-http', '~> 0.23.2', require: false
|
||||
gem 'opentelemetry-instrumentation-http_client', '~> 0.22.3', require: false
|
||||
gem 'opentelemetry-instrumentation-net_http', '~> 0.22.4', require: false
|
||||
|
@ -183,7 +183,7 @@ group :development do
|
|||
gem 'letter_opener_web', '~> 3.0'
|
||||
|
||||
# Security analysis CLI tools
|
||||
gem 'brakeman', '~> 6.0', require: false
|
||||
gem 'brakeman', '~> 7.0', require: false
|
||||
gem 'bundler-audit', '~> 0.9', require: false
|
||||
|
||||
# Linter CLI for HAML files
|
||||
|
@ -222,7 +222,7 @@ gem 'concurrent-ruby', require: false
|
|||
gem 'connection_pool', require: false
|
||||
gem 'xorcist', '~> 1.1'
|
||||
|
||||
gem 'net-http', '~> 0.5.0'
|
||||
gem 'net-http', '~> 0.6.0'
|
||||
gem 'rubyzip', '~> 2.3'
|
||||
|
||||
gem 'hcaptcha', '~> 7.1'
|
||||
|
|
195
Gemfile.lock
195
Gemfile.lock
|
@ -10,46 +10,45 @@ GIT
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
actioncable (7.2.2.1)
|
||||
actionpack (= 7.2.2.1)
|
||||
activesupport (= 7.2.2.1)
|
||||
actioncable (8.0.1)
|
||||
actionpack (= 8.0.1)
|
||||
activesupport (= 8.0.1)
|
||||
nio4r (~> 2.0)
|
||||
websocket-driver (>= 0.6.1)
|
||||
zeitwerk (~> 2.6)
|
||||
actionmailbox (7.2.2.1)
|
||||
actionpack (= 7.2.2.1)
|
||||
activejob (= 7.2.2.1)
|
||||
activerecord (= 7.2.2.1)
|
||||
activestorage (= 7.2.2.1)
|
||||
activesupport (= 7.2.2.1)
|
||||
actionmailbox (8.0.1)
|
||||
actionpack (= 8.0.1)
|
||||
activejob (= 8.0.1)
|
||||
activerecord (= 8.0.1)
|
||||
activestorage (= 8.0.1)
|
||||
activesupport (= 8.0.1)
|
||||
mail (>= 2.8.0)
|
||||
actionmailer (7.2.2.1)
|
||||
actionpack (= 7.2.2.1)
|
||||
actionview (= 7.2.2.1)
|
||||
activejob (= 7.2.2.1)
|
||||
activesupport (= 7.2.2.1)
|
||||
actionmailer (8.0.1)
|
||||
actionpack (= 8.0.1)
|
||||
actionview (= 8.0.1)
|
||||
activejob (= 8.0.1)
|
||||
activesupport (= 8.0.1)
|
||||
mail (>= 2.8.0)
|
||||
rails-dom-testing (~> 2.2)
|
||||
actionpack (7.2.2.1)
|
||||
actionview (= 7.2.2.1)
|
||||
activesupport (= 7.2.2.1)
|
||||
actionpack (8.0.1)
|
||||
actionview (= 8.0.1)
|
||||
activesupport (= 8.0.1)
|
||||
nokogiri (>= 1.8.5)
|
||||
racc
|
||||
rack (>= 2.2.4, < 3.2)
|
||||
rack (>= 2.2.4)
|
||||
rack-session (>= 1.0.1)
|
||||
rack-test (>= 0.6.3)
|
||||
rails-dom-testing (~> 2.2)
|
||||
rails-html-sanitizer (~> 1.6)
|
||||
useragent (~> 0.16)
|
||||
actiontext (7.2.2.1)
|
||||
actionpack (= 7.2.2.1)
|
||||
activerecord (= 7.2.2.1)
|
||||
activestorage (= 7.2.2.1)
|
||||
activesupport (= 7.2.2.1)
|
||||
actiontext (8.0.1)
|
||||
actionpack (= 8.0.1)
|
||||
activerecord (= 8.0.1)
|
||||
activestorage (= 8.0.1)
|
||||
activesupport (= 8.0.1)
|
||||
globalid (>= 0.6.0)
|
||||
nokogiri (>= 1.8.5)
|
||||
actionview (7.2.2.1)
|
||||
activesupport (= 7.2.2.1)
|
||||
actionview (8.0.1)
|
||||
activesupport (= 8.0.1)
|
||||
builder (~> 3.1)
|
||||
erubi (~> 1.11)
|
||||
rails-dom-testing (~> 2.2)
|
||||
|
@ -59,22 +58,22 @@ GEM
|
|||
activemodel (>= 4.1)
|
||||
case_transform (>= 0.2)
|
||||
jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
|
||||
activejob (7.2.2.1)
|
||||
activesupport (= 7.2.2.1)
|
||||
activejob (8.0.1)
|
||||
activesupport (= 8.0.1)
|
||||
globalid (>= 0.3.6)
|
||||
activemodel (7.2.2.1)
|
||||
activesupport (= 7.2.2.1)
|
||||
activerecord (7.2.2.1)
|
||||
activemodel (= 7.2.2.1)
|
||||
activesupport (= 7.2.2.1)
|
||||
activemodel (8.0.1)
|
||||
activesupport (= 8.0.1)
|
||||
activerecord (8.0.1)
|
||||
activemodel (= 8.0.1)
|
||||
activesupport (= 8.0.1)
|
||||
timeout (>= 0.4.0)
|
||||
activestorage (7.2.2.1)
|
||||
actionpack (= 7.2.2.1)
|
||||
activejob (= 7.2.2.1)
|
||||
activerecord (= 7.2.2.1)
|
||||
activesupport (= 7.2.2.1)
|
||||
activestorage (8.0.1)
|
||||
actionpack (= 8.0.1)
|
||||
activejob (= 8.0.1)
|
||||
activerecord (= 8.0.1)
|
||||
activesupport (= 8.0.1)
|
||||
marcel (~> 1.0)
|
||||
activesupport (7.2.2.1)
|
||||
activesupport (8.0.1)
|
||||
base64
|
||||
benchmark (>= 0.3)
|
||||
bigdecimal
|
||||
|
@ -86,6 +85,7 @@ GEM
|
|||
minitest (>= 5.1)
|
||||
securerandom (>= 0.3)
|
||||
tzinfo (~> 2.0, >= 2.0.5)
|
||||
uri (>= 0.13.1)
|
||||
addressable (2.8.7)
|
||||
public_suffix (>= 2.0.2, < 7.0)
|
||||
aes_key_wrap (1.1.0)
|
||||
|
@ -94,8 +94,8 @@ GEM
|
|||
ast (2.4.2)
|
||||
attr_required (1.0.2)
|
||||
aws-eventstream (1.3.0)
|
||||
aws-partitions (1.1025.0)
|
||||
aws-sdk-core (3.214.0)
|
||||
aws-partitions (1.1032.0)
|
||||
aws-sdk-core (3.214.1)
|
||||
aws-eventstream (~> 1, >= 1.3.0)
|
||||
aws-partitions (~> 1, >= 1.992.0)
|
||||
aws-sigv4 (~> 1.9)
|
||||
|
@ -103,7 +103,7 @@ GEM
|
|||
aws-sdk-kms (1.96.0)
|
||||
aws-sdk-core (~> 3, >= 3.210.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sdk-s3 (1.176.1)
|
||||
aws-sdk-s3 (1.177.0)
|
||||
aws-sdk-core (~> 3, >= 3.210.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.5)
|
||||
|
@ -119,14 +119,14 @@ GEM
|
|||
erubi (>= 1.0.0)
|
||||
rack (>= 0.9.0)
|
||||
rouge (>= 1.0.0)
|
||||
bigdecimal (3.1.8)
|
||||
bigdecimal (3.1.9)
|
||||
bindata (2.5.0)
|
||||
binding_of_caller (1.0.1)
|
||||
debug_inspector (>= 1.2.0)
|
||||
blurhash (0.1.8)
|
||||
bootsnap (1.18.4)
|
||||
msgpack (~> 1.2)
|
||||
brakeman (6.2.2)
|
||||
brakeman (7.0.0)
|
||||
racc
|
||||
browser (6.2.0)
|
||||
brpoplpush-redis_script (0.1.3)
|
||||
|
@ -160,7 +160,7 @@ GEM
|
|||
cocoon (1.2.15)
|
||||
color_diff (0.1)
|
||||
concurrent-ruby (1.3.4)
|
||||
connection_pool (2.4.1)
|
||||
connection_pool (2.5.0)
|
||||
cose (1.3.1)
|
||||
cbor (~> 0.5.9)
|
||||
openssl-signature_algorithm (~> 1.0)
|
||||
|
@ -170,7 +170,7 @@ GEM
|
|||
crass (1.0.6)
|
||||
css_parser (1.21.0)
|
||||
addressable
|
||||
csv (3.3.1)
|
||||
csv (3.3.2)
|
||||
database_cleaner-active_record (2.2.0)
|
||||
activerecord (>= 5.a)
|
||||
database_cleaner-core (~> 2.0.0)
|
||||
|
@ -217,7 +217,7 @@ GEM
|
|||
htmlentities (~> 4.3.3)
|
||||
launchy (>= 2.1, < 4.0)
|
||||
mail (~> 2.7)
|
||||
erubi (1.13.0)
|
||||
erubi (1.13.1)
|
||||
et-orbi (1.2.11)
|
||||
tzinfo
|
||||
excon (0.112.0)
|
||||
|
@ -233,16 +233,16 @@ GEM
|
|||
faraday-net_http (3.4.0)
|
||||
net-http (>= 0.5.0)
|
||||
fast_blank (1.0.1)
|
||||
fastimage (2.3.1)
|
||||
ffi (1.17.0)
|
||||
fastimage (2.4.0)
|
||||
ffi (1.17.1)
|
||||
ffi-compiler (1.3.2)
|
||||
ffi (>= 1.15.5)
|
||||
rake
|
||||
flatware (2.3.3)
|
||||
flatware (2.3.4)
|
||||
drb
|
||||
thor (< 2.0)
|
||||
flatware-rspec (2.3.3)
|
||||
flatware (= 2.3.3)
|
||||
flatware-rspec (2.3.4)
|
||||
flatware (= 2.3.4)
|
||||
rspec (>= 3.6)
|
||||
fog-core (2.5.0)
|
||||
builder
|
||||
|
@ -384,13 +384,13 @@ GEM
|
|||
llhttp-ffi (0.5.0)
|
||||
ffi-compiler (~> 1.0)
|
||||
rake (~> 13.0)
|
||||
logger (1.6.3)
|
||||
logger (1.6.4)
|
||||
lograge (0.14.0)
|
||||
actionpack (>= 4)
|
||||
activesupport (>= 4)
|
||||
railties (>= 4)
|
||||
request_store (~> 1.0)
|
||||
loofah (2.23.1)
|
||||
loofah (2.24.0)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.12.0)
|
||||
mail (2.8.1)
|
||||
|
@ -413,9 +413,9 @@ GEM
|
|||
msgpack (1.7.5)
|
||||
multi_json (1.15.0)
|
||||
mutex_m (0.3.0)
|
||||
net-http (0.5.0)
|
||||
net-http (0.6.0)
|
||||
uri
|
||||
net-imap (0.5.2)
|
||||
net-imap (0.5.4)
|
||||
date
|
||||
net-protocol
|
||||
net-ldap (0.19.0)
|
||||
|
@ -426,10 +426,10 @@ GEM
|
|||
net-smtp (0.5.0)
|
||||
net-protocol
|
||||
nio4r (2.7.4)
|
||||
nokogiri (1.17.2)
|
||||
nokogiri (1.18.1)
|
||||
mini_portile2 (~> 2.8.2)
|
||||
racc (~> 1.4)
|
||||
oj (3.16.8)
|
||||
oj (3.16.9)
|
||||
bigdecimal (>= 3.0)
|
||||
ostruct (>= 0.2)
|
||||
omniauth (2.1.2)
|
||||
|
@ -490,7 +490,7 @@ GEM
|
|||
opentelemetry-instrumentation-active_job (0.7.8)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-instrumentation-base (~> 0.22.1)
|
||||
opentelemetry-instrumentation-active_model_serializers (0.21.0)
|
||||
opentelemetry-instrumentation-active_model_serializers (0.21.1)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-instrumentation-active_support (>= 0.7.0)
|
||||
opentelemetry-instrumentation-base (~> 0.22.1)
|
||||
|
@ -510,7 +510,7 @@ GEM
|
|||
opentelemetry-instrumentation-excon (0.22.5)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-instrumentation-base (~> 0.22.1)
|
||||
opentelemetry-instrumentation-faraday (0.24.8)
|
||||
opentelemetry-instrumentation-faraday (0.25.0)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-instrumentation-base (~> 0.22.1)
|
||||
opentelemetry-instrumentation-http (0.23.5)
|
||||
|
@ -522,7 +522,7 @@ GEM
|
|||
opentelemetry-instrumentation-net_http (0.22.8)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-instrumentation-base (~> 0.22.1)
|
||||
opentelemetry-instrumentation-pg (0.29.1)
|
||||
opentelemetry-instrumentation-pg (0.29.2)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-helpers-sql-obfuscation
|
||||
opentelemetry-instrumentation-base (~> 0.22.1)
|
||||
|
@ -555,7 +555,8 @@ GEM
|
|||
opentelemetry-api (~> 1.0)
|
||||
orm_adapter (0.5.0)
|
||||
ostruct (0.6.1)
|
||||
ox (2.14.18)
|
||||
ox (2.14.19)
|
||||
bigdecimal (>= 3.0)
|
||||
parallel (1.26.3)
|
||||
parser (3.3.6.0)
|
||||
ast (~> 2.4.1)
|
||||
|
@ -607,25 +608,25 @@ GEM
|
|||
rack
|
||||
rack-session (1.0.2)
|
||||
rack (< 3)
|
||||
rack-test (2.1.0)
|
||||
rack-test (2.2.0)
|
||||
rack (>= 1.3)
|
||||
rackup (1.0.1)
|
||||
rack (< 3)
|
||||
webrick
|
||||
rails (7.2.2.1)
|
||||
actioncable (= 7.2.2.1)
|
||||
actionmailbox (= 7.2.2.1)
|
||||
actionmailer (= 7.2.2.1)
|
||||
actionpack (= 7.2.2.1)
|
||||
actiontext (= 7.2.2.1)
|
||||
actionview (= 7.2.2.1)
|
||||
activejob (= 7.2.2.1)
|
||||
activemodel (= 7.2.2.1)
|
||||
activerecord (= 7.2.2.1)
|
||||
activestorage (= 7.2.2.1)
|
||||
activesupport (= 7.2.2.1)
|
||||
rails (8.0.1)
|
||||
actioncable (= 8.0.1)
|
||||
actionmailbox (= 8.0.1)
|
||||
actionmailer (= 8.0.1)
|
||||
actionpack (= 8.0.1)
|
||||
actiontext (= 8.0.1)
|
||||
actionview (= 8.0.1)
|
||||
activejob (= 8.0.1)
|
||||
activemodel (= 8.0.1)
|
||||
activerecord (= 8.0.1)
|
||||
activestorage (= 8.0.1)
|
||||
activesupport (= 8.0.1)
|
||||
bundler (>= 1.15.0)
|
||||
railties (= 7.2.2.1)
|
||||
railties (= 8.0.1)
|
||||
rails-controller-testing (1.0.5)
|
||||
actionpack (>= 5.0.1.rc1)
|
||||
actionview (>= 5.0.1.rc1)
|
||||
|
@ -637,12 +638,12 @@ GEM
|
|||
rails-html-sanitizer (1.6.2)
|
||||
loofah (~> 2.21)
|
||||
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
|
||||
rails-i18n (7.0.10)
|
||||
rails-i18n (8.0.1)
|
||||
i18n (>= 0.7, < 2)
|
||||
railties (>= 6.0.0, < 8)
|
||||
railties (7.2.2.1)
|
||||
actionpack (= 7.2.2.1)
|
||||
activesupport (= 7.2.2.1)
|
||||
railties (>= 8.0.0, < 9)
|
||||
railties (8.0.1)
|
||||
actionpack (= 8.0.1)
|
||||
activesupport (= 8.0.1)
|
||||
irb (~> 1.13)
|
||||
rackup (>= 1.0.0)
|
||||
rake (>= 12.2)
|
||||
|
@ -664,7 +665,7 @@ GEM
|
|||
redis (>= 4)
|
||||
redlock (1.3.2)
|
||||
redis (>= 3.0.0, < 6.0)
|
||||
regexp_parser (2.9.3)
|
||||
regexp_parser (2.10.0)
|
||||
reline (0.6.0)
|
||||
io-console (~> 0.5)
|
||||
request_store (1.7.0)
|
||||
|
@ -722,10 +723,10 @@ GEM
|
|||
parser (>= 3.3.1.0)
|
||||
rubocop-capybara (2.21.0)
|
||||
rubocop (~> 1.41)
|
||||
rubocop-performance (1.23.0)
|
||||
rubocop-performance (1.23.1)
|
||||
rubocop (>= 1.48.1, < 2.0)
|
||||
rubocop-ast (>= 1.31.1, < 2.0)
|
||||
rubocop-rails (2.27.0)
|
||||
rubocop-rails (2.28.0)
|
||||
activesupport (>= 4.2.0)
|
||||
rack (>= 1.1)
|
||||
rubocop (>= 1.52.0, < 2.0)
|
||||
|
@ -743,14 +744,14 @@ GEM
|
|||
ruby-vips (2.2.2)
|
||||
ffi (~> 1.12)
|
||||
logger
|
||||
rubyzip (2.3.2)
|
||||
rubyzip (2.4.1)
|
||||
rufus-scheduler (3.9.2)
|
||||
fugit (~> 1.1, >= 1.11.1)
|
||||
safety_net_attestation (0.4.0)
|
||||
jwt (~> 2.0)
|
||||
sanitize (6.1.3)
|
||||
sanitize (7.0.0)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.12.0)
|
||||
nokogiri (>= 1.16.8)
|
||||
scenic (1.8.0)
|
||||
activerecord (>= 4.0.0)
|
||||
railties (>= 4.0.0)
|
||||
|
@ -808,9 +809,9 @@ GEM
|
|||
unicode-display_width (>= 1.1.1, < 3)
|
||||
terrapin (1.0.1)
|
||||
climate_control
|
||||
test-prof (1.4.3)
|
||||
test-prof (1.4.4)
|
||||
thor (1.3.2)
|
||||
tilt (2.4.0)
|
||||
tilt (2.5.0)
|
||||
timeout (0.4.3)
|
||||
tpm-key_attestation (0.12.1)
|
||||
bindata (~> 2.4)
|
||||
|
@ -890,7 +891,7 @@ DEPENDENCIES
|
|||
binding_of_caller (~> 1.0)
|
||||
blurhash (~> 0.1)
|
||||
bootsnap (~> 1.18.0)
|
||||
brakeman (~> 6.0)
|
||||
brakeman (~> 7.0)
|
||||
browser
|
||||
bundler-audit (~> 0.9)
|
||||
capybara (~> 3.39)
|
||||
|
@ -947,7 +948,7 @@ DEPENDENCIES
|
|||
memory_profiler
|
||||
mime-types (~> 3.6.0)
|
||||
mutex_m
|
||||
net-http (~> 0.5.0)
|
||||
net-http (~> 0.6.0)
|
||||
net-ldap (~> 0.18)
|
||||
nokogiri (~> 1.15)
|
||||
oj (~> 3.14)
|
||||
|
@ -962,7 +963,7 @@ DEPENDENCIES
|
|||
opentelemetry-instrumentation-active_model_serializers (~> 0.21.0)
|
||||
opentelemetry-instrumentation-concurrent_ruby (~> 0.21.2)
|
||||
opentelemetry-instrumentation-excon (~> 0.22.0)
|
||||
opentelemetry-instrumentation-faraday (~> 0.24.1)
|
||||
opentelemetry-instrumentation-faraday (~> 0.25.0)
|
||||
opentelemetry-instrumentation-http (~> 0.23.2)
|
||||
opentelemetry-instrumentation-http_client (~> 0.22.3)
|
||||
opentelemetry-instrumentation-net_http (~> 0.22.4)
|
||||
|
@ -985,9 +986,9 @@ DEPENDENCIES
|
|||
rack-attack (~> 6.6)
|
||||
rack-cors (~> 2.0)
|
||||
rack-test (~> 2.1)
|
||||
rails (~> 7.2.0)
|
||||
rails (~> 8.0)
|
||||
rails-controller-testing (~> 1.0)
|
||||
rails-i18n (~> 7.0)
|
||||
rails-i18n (~> 8.0)
|
||||
rdf-normalize (~> 0.5)
|
||||
redcarpet (~> 3.6)
|
||||
redis (~> 4.5)
|
||||
|
@ -1006,7 +1007,7 @@ DEPENDENCIES
|
|||
ruby-progressbar (~> 1.13)
|
||||
ruby-vips (~> 2.2)
|
||||
rubyzip (~> 2.3)
|
||||
sanitize (~> 6.0)
|
||||
sanitize (~> 7.0)
|
||||
scenic (~> 1.7)
|
||||
selenium-webdriver
|
||||
shoulda-matchers
|
||||
|
@ -1033,7 +1034,7 @@ DEPENDENCIES
|
|||
xorcist (~> 1.1)
|
||||
|
||||
RUBY VERSION
|
||||
ruby 3.3.6p108
|
||||
ruby 3.4.1p0
|
||||
|
||||
BUNDLED WITH
|
||||
2.6.1
|
||||
2.6.2
|
||||
|
|
|
@ -6,7 +6,7 @@ module Admin
|
|||
|
||||
def index
|
||||
authorize :software_update, :index?
|
||||
@software_updates = SoftwareUpdate.all.sort_by(&:gem_version)
|
||||
@software_updates = SoftwareUpdate.by_version
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -25,7 +25,7 @@ module Localized
|
|||
end
|
||||
|
||||
def available_locale_or_nil(locale_name)
|
||||
locale_name.to_sym if locale_name.present? && I18n.available_locales.include?(locale_name.to_sym)
|
||||
locale_name.to_sym if locale_name.respond_to?(:to_sym) && I18n.available_locales.include?(locale_name.to_sym)
|
||||
end
|
||||
|
||||
def content_locale
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class CustomCssController < ActionController::Base # rubocop:disable Rails/ApplicationController
|
||||
before_action :set_user_roles
|
||||
|
||||
def show
|
||||
expires_in 3.minutes, public: true
|
||||
expires_in 1.month, public: true
|
||||
render content_type: 'text/css'
|
||||
end
|
||||
|
||||
|
@ -14,8 +12,4 @@ class CustomCssController < ActionController::Base # rubocop:disable Rails/Appli
|
|||
Setting.custom_css
|
||||
end
|
||||
helper_method :custom_css_styles
|
||||
|
||||
def set_user_roles
|
||||
@user_roles = UserRole.providing_styles
|
||||
end
|
||||
end
|
||||
|
|
|
@ -263,6 +263,14 @@ module ApplicationHelper
|
|||
I18n.t 'user_mailer.welcome.hashtags_recent_count', people: number_with_delimiter(people), count: people
|
||||
end
|
||||
|
||||
def app_store_url_ios
|
||||
'https://apps.apple.com/app/mastodon-for-iphone-and-ipad/id1571998974'
|
||||
end
|
||||
|
||||
def app_store_url_android
|
||||
'https://play.google.com/store/apps/details?id=org.joinmastodon.android'
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def storage_host_var
|
||||
|
|
|
@ -23,8 +23,49 @@ module ThemeHelper
|
|||
end
|
||||
end
|
||||
|
||||
def custom_stylesheet
|
||||
if active_custom_stylesheet.present?
|
||||
stylesheet_link_tag(
|
||||
custom_css_path(active_custom_stylesheet),
|
||||
host: root_url,
|
||||
media: :all,
|
||||
skip_pipeline: true
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
def system_stylesheet
|
||||
stylesheet_link_tag(
|
||||
system_css_path,
|
||||
host: root_url,
|
||||
media: :all,
|
||||
skip_pipeline: true
|
||||
)
|
||||
end
|
||||
|
||||
def user_custom_stylesheet
|
||||
stylesheet_link_tag(
|
||||
user_custom_css_path({ version: user_custom_css_version }),
|
||||
host: root_url,
|
||||
media: :all,
|
||||
skip_pipeline: true
|
||||
)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def active_custom_stylesheet
|
||||
if cached_custom_css_digest.present?
|
||||
[:custom, cached_custom_css_digest.to_s.first(8)]
|
||||
.compact_blank
|
||||
.join('-')
|
||||
end
|
||||
end
|
||||
|
||||
def cached_custom_css_digest
|
||||
Rails.cache.read(:setting_digest_custom_css)
|
||||
end
|
||||
|
||||
def theme_color_for(theme)
|
||||
theme == 'mastodon-light' ? Themes::THEME_COLORS[:light] : Themes::THEME_COLORS[:dark]
|
||||
end
|
||||
|
|
|
@ -119,7 +119,11 @@ function loaded() {
|
|||
formattedContent = dateFormat.format(datetime);
|
||||
}
|
||||
|
||||
content.title = formattedContent;
|
||||
const timeGiven = content.dateTime.includes('T');
|
||||
content.title = timeGiven
|
||||
? dateTimeFormat.format(datetime)
|
||||
: dateFormat.format(datetime);
|
||||
|
||||
content.textContent = formattedContent;
|
||||
});
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ import type {
|
|||
} from 'mastodon/api_types/notifications';
|
||||
import { allNotificationTypes } from 'mastodon/api_types/notifications';
|
||||
import type { ApiStatusJSON } from 'mastodon/api_types/statuses';
|
||||
import { usePendingItems } from 'mastodon/initial_state';
|
||||
import { enableEmojiReaction, usePendingItems } from 'mastodon/initial_state';
|
||||
import type { NotificationGap } from 'mastodon/reducers/notification_groups';
|
||||
import {
|
||||
selectSettingsNotificationsExcludedTypes,
|
||||
|
@ -37,9 +37,15 @@ function excludeAllTypesExcept(filter: string) {
|
|||
function getExcludedTypes(state: RootState) {
|
||||
const activeFilter = selectSettingsNotificationsQuickFilterActive(state);
|
||||
|
||||
return activeFilter === 'all'
|
||||
? selectSettingsNotificationsExcludedTypes(state)
|
||||
: excludeAllTypesExcept(activeFilter);
|
||||
const types =
|
||||
activeFilter === 'all'
|
||||
? selectSettingsNotificationsExcludedTypes(state)
|
||||
: excludeAllTypesExcept(activeFilter);
|
||||
if (!enableEmojiReaction && !types.includes('emoji_reaction')) {
|
||||
types.push('emoji_reaction');
|
||||
}
|
||||
|
||||
return types;
|
||||
}
|
||||
|
||||
function dispatchAssociatedRecords(
|
||||
|
@ -155,7 +161,7 @@ export const processNewNotificationForGroups = createAppAsyncThunk(
|
|||
|
||||
const showInColumn =
|
||||
activeFilter === 'all'
|
||||
? notificationShows[notification.type]
|
||||
? notificationShows[notification.type] !== false
|
||||
: activeFilter === notification.type;
|
||||
|
||||
if (!showInColumn) return;
|
||||
|
|
|
@ -1,59 +1,27 @@
|
|||
import { IntlMessageFormat } from 'intl-messageformat';
|
||||
import { defineMessages } from 'react-intl';
|
||||
|
||||
import { List as ImmutableList } from 'immutable';
|
||||
|
||||
import { compareId } from 'mastodon/compare_id';
|
||||
import { enableEmojiReaction, usePendingItems as preferPendingItems } from 'mastodon/initial_state';
|
||||
|
||||
import api, { getLinks } from '../api';
|
||||
import { unescapeHTML } from '../utils/html';
|
||||
import { requestNotificationPermission } from '../utils/notifications';
|
||||
|
||||
import { fetchFollowRequests } from './accounts';
|
||||
import {
|
||||
importFetchedAccount,
|
||||
importFetchedAccounts,
|
||||
importFetchedStatus,
|
||||
importFetchedStatuses,
|
||||
} from './importer';
|
||||
import { submitMarkers } from './markers';
|
||||
import { notificationsUpdate } from "./notifications_typed";
|
||||
import { register as registerPushNotifications } from './push_notifications';
|
||||
import { saveSettings } from './settings';
|
||||
import { STATUS_EMOJI_REACTION_UPDATE } from './statuses';
|
||||
|
||||
export * from "./notifications_typed";
|
||||
|
||||
export const NOTIFICATIONS_UPDATE_NOOP = 'NOTIFICATIONS_UPDATE_NOOP';
|
||||
|
||||
export const NOTIFICATIONS_EXPAND_REQUEST = 'NOTIFICATIONS_EXPAND_REQUEST';
|
||||
export const NOTIFICATIONS_EXPAND_SUCCESS = 'NOTIFICATIONS_EXPAND_SUCCESS';
|
||||
export const NOTIFICATIONS_EXPAND_FAIL = 'NOTIFICATIONS_EXPAND_FAIL';
|
||||
|
||||
export const NOTIFICATIONS_FILTER_SET = 'NOTIFICATIONS_FILTER_SET';
|
||||
|
||||
export const NOTIFICATIONS_SCROLL_TOP = 'NOTIFICATIONS_SCROLL_TOP';
|
||||
export const NOTIFICATIONS_LOAD_PENDING = 'NOTIFICATIONS_LOAD_PENDING';
|
||||
|
||||
export const NOTIFICATIONS_MOUNT = 'NOTIFICATIONS_MOUNT';
|
||||
export const NOTIFICATIONS_UNMOUNT = 'NOTIFICATIONS_UNMOUNT';
|
||||
|
||||
export const NOTIFICATIONS_MARK_AS_READ = 'NOTIFICATIONS_MARK_AS_READ';
|
||||
|
||||
export const NOTIFICATIONS_SET_BROWSER_SUPPORT = 'NOTIFICATIONS_SET_BROWSER_SUPPORT';
|
||||
export const NOTIFICATIONS_SET_BROWSER_PERMISSION = 'NOTIFICATIONS_SET_BROWSER_PERMISSION';
|
||||
|
||||
export const NOTIFICATION_REQUESTS_ACCEPT_REQUEST = 'NOTIFICATION_REQUESTS_ACCEPT_REQUEST';
|
||||
export const NOTIFICATION_REQUESTS_ACCEPT_SUCCESS = 'NOTIFICATION_REQUESTS_ACCEPT_SUCCESS';
|
||||
export const NOTIFICATION_REQUESTS_ACCEPT_FAIL = 'NOTIFICATION_REQUESTS_ACCEPT_FAIL';
|
||||
|
||||
export const NOTIFICATION_REQUESTS_DISMISS_REQUEST = 'NOTIFICATION_REQUESTS_DISMISS_REQUEST';
|
||||
export const NOTIFICATION_REQUESTS_DISMISS_SUCCESS = 'NOTIFICATION_REQUESTS_DISMISS_SUCCESS';
|
||||
export const NOTIFICATION_REQUESTS_DISMISS_FAIL = 'NOTIFICATION_REQUESTS_DISMISS_FAIL';
|
||||
|
||||
const messages = defineMessages({
|
||||
// mention: { id: 'notification.mention', defaultMessage: '{name} mentioned you' },
|
||||
mention: { id: 'notification.mention', defaultMessage: '{name} mentioned you' },
|
||||
group: { id: 'notifications.group', defaultMessage: '{count} notifications' },
|
||||
'message_admin.report': { id: 'notification.admin.report', defaultMessage: '{name} reported {target}' },
|
||||
'message_admin.sign_up': { id: 'notification.admin.sign_up', defaultMessage: '{name} signed up' },
|
||||
|
@ -69,10 +37,6 @@ const messages = defineMessages({
|
|||
message_update: { id: 'notification.update', defaultMessage: '{name} edited a post' },
|
||||
});
|
||||
|
||||
export const loadPending = () => ({
|
||||
type: NOTIFICATIONS_LOAD_PENDING,
|
||||
});
|
||||
|
||||
export function updateEmojiReactions(emoji_reaction) {
|
||||
return (dispatch) =>
|
||||
dispatch({
|
||||
|
@ -83,8 +47,6 @@ export function updateEmojiReactions(emoji_reaction) {
|
|||
|
||||
export function updateNotifications(notification, intlMessages, intlLocale) {
|
||||
return (dispatch, getState) => {
|
||||
const activeFilter = getState().getIn(['settings', 'notifications', 'quickFilter', 'active']);
|
||||
const showInColumn = activeFilter === 'all' ? getState().getIn(['settings', 'notifications', 'shows', notification.type], true) : activeFilter === notification.type;
|
||||
const showAlert = getState().getIn(['settings', 'notifications', 'alerts', notification.type], true);
|
||||
const playSound = getState().getIn(['settings', 'notifications', 'sounds', notification.type], true);
|
||||
|
||||
|
@ -106,25 +68,9 @@ export function updateNotifications(notification, intlMessages, intlLocale) {
|
|||
|
||||
dispatch(submitMarkers());
|
||||
|
||||
if (showInColumn) {
|
||||
dispatch(importFetchedAccount(notification.account));
|
||||
|
||||
if (notification.status) {
|
||||
dispatch(importFetchedStatus(notification.status));
|
||||
}
|
||||
|
||||
if (notification.report) {
|
||||
dispatch(importFetchedAccount(notification.report.target_account));
|
||||
}
|
||||
|
||||
|
||||
dispatch(notificationsUpdate({ notification, preferPendingItems, playSound: playSound && !filtered}));
|
||||
} else if (playSound && !filtered) {
|
||||
dispatch({
|
||||
type: NOTIFICATIONS_UPDATE_NOOP,
|
||||
meta: { sound: 'boop' },
|
||||
});
|
||||
}
|
||||
// `notificationsUpdate` is still used in `user_lists` and `relationships` reducers
|
||||
dispatch(importFetchedAccount(notification.account));
|
||||
dispatch(notificationsUpdate({ notification, playSound: playSound && !filtered}));
|
||||
|
||||
// Desktop notifications
|
||||
if (typeof window.Notification !== 'undefined' && showAlert && !filtered) {
|
||||
|
@ -145,149 +91,8 @@ export function updateNotifications(notification, intlMessages, intlLocale) {
|
|||
};
|
||||
}
|
||||
|
||||
const excludeTypesFromSettings = state => state.getIn(['settings', 'notifications', 'shows']).filter(enabled => !enabled).keySeq().toJS();
|
||||
|
||||
const excludeTypesFromFilter = filter => {
|
||||
const allTypes = ImmutableList([
|
||||
'follow',
|
||||
'follow_request',
|
||||
'favourite',
|
||||
'emoji_reaction',
|
||||
'reblog',
|
||||
'status_reference',
|
||||
'mention',
|
||||
'poll',
|
||||
'status',
|
||||
'list_status',
|
||||
'update',
|
||||
'admin.sign_up',
|
||||
'admin.report',
|
||||
]);
|
||||
|
||||
return allTypes.filterNot(item => item === filter).toJS();
|
||||
};
|
||||
|
||||
const noOp = () => {};
|
||||
|
||||
let expandNotificationsController = new AbortController();
|
||||
|
||||
export function expandNotifications({ maxId = undefined, forceLoad = false }) {
|
||||
return async (dispatch, getState) => {
|
||||
const activeFilter = getState().getIn(['settings', 'notifications', 'quickFilter', 'active']);
|
||||
const notifications = getState().get('notifications');
|
||||
const isLoadingMore = !!maxId;
|
||||
|
||||
if (notifications.get('isLoading')) {
|
||||
if (forceLoad) {
|
||||
expandNotificationsController.abort();
|
||||
expandNotificationsController = new AbortController();
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
let exclude_types = activeFilter === 'all'
|
||||
? excludeTypesFromSettings(getState())
|
||||
: excludeTypesFromFilter(activeFilter);
|
||||
if (!enableEmojiReaction && !exclude_types.includes('emoji_reaction')) {
|
||||
exclude_types.push('emoji_reaction');
|
||||
}
|
||||
|
||||
const params = {
|
||||
max_id: maxId,
|
||||
exclude_types,
|
||||
};
|
||||
|
||||
if (!params.max_id && (notifications.get('items', ImmutableList()).size + notifications.get('pendingItems', ImmutableList()).size) > 0) {
|
||||
const a = notifications.getIn(['pendingItems', 0, 'id']);
|
||||
const b = notifications.getIn(['items', 0, 'id']);
|
||||
|
||||
if (a && b && compareId(a, b) > 0) {
|
||||
params.since_id = a;
|
||||
} else {
|
||||
params.since_id = b || a;
|
||||
}
|
||||
}
|
||||
|
||||
const isLoadingRecent = !!params.since_id;
|
||||
|
||||
dispatch(expandNotificationsRequest(isLoadingMore));
|
||||
|
||||
try {
|
||||
const response = await api().get('/api/v1/notifications', { params, signal: expandNotificationsController.signal });
|
||||
const next = getLinks(response).refs.find(link => link.rel === 'next');
|
||||
|
||||
dispatch(importFetchedAccounts(response.data.map(item => item.account)));
|
||||
dispatch(importFetchedStatuses(response.data.map(item => item.status).filter(status => !!status)));
|
||||
dispatch(importFetchedAccounts(response.data.filter(item => item.report).map(item => item.report.target_account)));
|
||||
|
||||
dispatch(expandNotificationsSuccess(response.data, next ? next.uri : null, isLoadingMore, isLoadingRecent, isLoadingRecent && preferPendingItems));
|
||||
dispatch(submitMarkers());
|
||||
} catch(error) {
|
||||
dispatch(expandNotificationsFail(error, isLoadingMore));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export function expandNotificationsRequest(isLoadingMore) {
|
||||
return {
|
||||
type: NOTIFICATIONS_EXPAND_REQUEST,
|
||||
skipLoading: !isLoadingMore,
|
||||
};
|
||||
}
|
||||
|
||||
export function expandNotificationsSuccess(notifications, next, isLoadingMore, isLoadingRecent, usePendingItems) {
|
||||
return {
|
||||
type: NOTIFICATIONS_EXPAND_SUCCESS,
|
||||
notifications,
|
||||
next,
|
||||
isLoadingRecent: isLoadingRecent,
|
||||
usePendingItems,
|
||||
skipLoading: !isLoadingMore,
|
||||
};
|
||||
}
|
||||
|
||||
export function expandNotificationsFail(error, isLoadingMore) {
|
||||
return {
|
||||
type: NOTIFICATIONS_EXPAND_FAIL,
|
||||
error,
|
||||
skipLoading: !isLoadingMore,
|
||||
skipAlert: !isLoadingMore || error.name === 'AbortError',
|
||||
};
|
||||
}
|
||||
|
||||
export function scrollTopNotifications(top) {
|
||||
return {
|
||||
type: NOTIFICATIONS_SCROLL_TOP,
|
||||
top,
|
||||
};
|
||||
}
|
||||
|
||||
export function setFilter (filterType) {
|
||||
return dispatch => {
|
||||
dispatch({
|
||||
type: NOTIFICATIONS_FILTER_SET,
|
||||
path: ['notifications', 'quickFilter', 'active'],
|
||||
value: filterType,
|
||||
});
|
||||
dispatch(expandNotifications({ forceLoad: true }));
|
||||
dispatch(saveSettings());
|
||||
};
|
||||
}
|
||||
|
||||
export const mountNotifications = () => ({
|
||||
type: NOTIFICATIONS_MOUNT,
|
||||
});
|
||||
|
||||
export const unmountNotifications = () => ({
|
||||
type: NOTIFICATIONS_UNMOUNT,
|
||||
});
|
||||
|
||||
|
||||
export const markNotificationsAsRead = () => ({
|
||||
type: NOTIFICATIONS_MARK_AS_READ,
|
||||
});
|
||||
|
||||
// Browser support
|
||||
export function setupBrowserNotifications() {
|
||||
return dispatch => {
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
import { createAppAsyncThunk } from 'mastodon/store';
|
||||
|
||||
import { fetchNotifications } from './notification_groups';
|
||||
|
||||
export const initializeNotifications = createAppAsyncThunk(
|
||||
'notifications/initialize',
|
||||
(_, { dispatch }) => {
|
||||
void dispatch(fetchNotifications());
|
||||
},
|
||||
);
|
|
@ -9,7 +9,6 @@ export const notificationsUpdate = createAction(
|
|||
...args
|
||||
}: {
|
||||
notification: ApiNotificationJSON;
|
||||
usePendingItems: boolean;
|
||||
playSound: boolean;
|
||||
}) => ({
|
||||
payload: args,
|
||||
|
|
|
@ -56,7 +56,7 @@ export const expandSearch = createDataLoadingThunk(
|
|||
return apiGetSearch({
|
||||
q,
|
||||
type,
|
||||
limit: 11,
|
||||
limit: 10,
|
||||
offset,
|
||||
});
|
||||
},
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { Iterable, fromJS } from 'immutable';
|
||||
import { fromJS, isIndexed } from 'immutable';
|
||||
|
||||
import { hydrateCompose } from './compose';
|
||||
import { importFetchedAccounts } from './importer';
|
||||
|
@ -9,8 +9,7 @@ export const STORE_HYDRATE_LAZY = 'STORE_HYDRATE_LAZY';
|
|||
|
||||
const convertState = rawState =>
|
||||
fromJS(rawState, (k, v) =>
|
||||
Iterable.isIndexed(v) ? v.toList() : v.toMap());
|
||||
|
||||
isIndexed(v) ? v.toList() : v.toMap());
|
||||
|
||||
export function hydrateStore(rawState) {
|
||||
return dispatch => {
|
||||
|
|
|
@ -11,7 +11,7 @@ import {
|
|||
} from './announcements';
|
||||
import { updateConversations } from './conversations';
|
||||
import { processNewNotificationForGroups, refreshStaleNotificationGroups, pollRecentNotifications as pollRecentGroupNotifications } from './notification_groups';
|
||||
import { updateNotifications, expandNotifications, updateEmojiReactions } from './notifications';
|
||||
import { updateNotifications, updateEmojiReactions } from './notifications';
|
||||
import { updateStatus } from './statuses';
|
||||
import {
|
||||
updateTimeline,
|
||||
|
@ -112,9 +112,6 @@ export const connectTimelineStream = (timelineId, channelName, params = {}, opti
|
|||
dispatch(updateEmojiReactions(JSON.parse(data.payload)));
|
||||
break;
|
||||
case 'notifications_merged': {
|
||||
const state = getState();
|
||||
if (state.notifications.top || !state.notifications.mounted)
|
||||
dispatch(expandNotifications({ forceLoad: true, maxId: undefined }));
|
||||
dispatch(refreshStaleNotificationGroups());
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Component } from 'react';
|
||||
|
||||
import type { IntlShape } from 'react-intl';
|
||||
import type { MessageDescriptor, PrimitiveType, IntlShape } from 'react-intl';
|
||||
import { injectIntl, defineMessages } from 'react-intl';
|
||||
|
||||
const messages = defineMessages({
|
||||
|
@ -102,7 +102,13 @@ const getUnitDelay = (units: string) => {
|
|||
};
|
||||
|
||||
export const timeAgoString = (
|
||||
intl: Pick<IntlShape, 'formatDate' | 'formatMessage'>,
|
||||
intl: {
|
||||
formatDate: IntlShape['formatDate'];
|
||||
formatMessage: (
|
||||
{ id, defaultMessage }: MessageDescriptor,
|
||||
values?: Record<string, PrimitiveType>,
|
||||
) => string;
|
||||
},
|
||||
date: Date,
|
||||
now: number,
|
||||
year: number,
|
||||
|
|
|
@ -176,7 +176,12 @@ class Status extends ImmutablePureComponent {
|
|||
|
||||
handleClick = e => {
|
||||
e.preventDefault();
|
||||
this.handleHotkeyOpen(e);
|
||||
|
||||
if (e?.button === 0 && !(e?.ctrlKey || e?.metaKey)) {
|
||||
this._openStatus();
|
||||
} else if (e?.button === 1 || (e?.button === 0 && (e?.ctrlKey || e?.metaKey))) {
|
||||
this._openStatus(true);
|
||||
}
|
||||
};
|
||||
|
||||
handleMouseUp = e => {
|
||||
|
@ -284,7 +289,11 @@ class Status extends ImmutablePureComponent {
|
|||
this.props.onMention(this._properStatus().get('account'));
|
||||
};
|
||||
|
||||
handleHotkeyOpen = (e) => {
|
||||
handleHotkeyOpen = () => {
|
||||
this._openStatus();
|
||||
};
|
||||
|
||||
_openStatus = (newTab = false) => {
|
||||
if (this.props.onClick) {
|
||||
this.props.onClick();
|
||||
return;
|
||||
|
@ -299,10 +308,10 @@ class Status extends ImmutablePureComponent {
|
|||
|
||||
const path = `/@${status.getIn(['account', 'acct'])}/${status.get('id')}`;
|
||||
|
||||
if (e?.button === 0 && !(e?.ctrlKey || e?.metaKey)) {
|
||||
history.push(path);
|
||||
} else if (e?.button === 1 || (e?.button === 0 && (e?.ctrlKey || e?.metaKey))) {
|
||||
if (newTab) {
|
||||
window.open(path, '_blank', 'noopener');
|
||||
} else {
|
||||
history.push(path);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -395,6 +404,7 @@ class Status extends ImmutablePureComponent {
|
|||
toggleHidden: this.handleHotkeyToggleHidden,
|
||||
toggleSensitive: this.handleHotkeyToggleSensitive,
|
||||
openMedia: this.handleHotkeyOpenMedia,
|
||||
onTranslate: this.handleTranslate,
|
||||
};
|
||||
|
||||
let media, statusAvatar, prepend, rebloggedByText;
|
||||
|
|
|
@ -53,6 +53,7 @@ const messages = defineMessages({
|
|||
cancel_reblog_private: { id: 'status.cancel_reblog_private', defaultMessage: 'Unboost' },
|
||||
cannot_reblog: { id: 'status.cannot_reblog', defaultMessage: 'This post cannot be boosted' },
|
||||
favourite: { id: 'status.favourite', defaultMessage: 'Favorite' },
|
||||
removeFavourite: { id: 'status.remove_favourite', defaultMessage: 'Remove from favorites' },
|
||||
emojiReaction: { id: 'status.emoji_reaction', defaultMessage: 'Emoji reaction' },
|
||||
bookmark: { id: 'status.bookmark', defaultMessage: 'Bookmark' },
|
||||
bookmarkCategory: { id: 'status.bookmark_category', defaultMessage: 'Bookmark category' },
|
||||
|
@ -335,20 +336,15 @@ class StatusActionBar extends ImmutablePureComponent {
|
|||
}
|
||||
|
||||
if (!boostMenu) {
|
||||
menu.push({ text: intl.formatMessage(status.get('reblogged') ? messages.cancelReblog : messages.reblog), action: this.handleReblogForceModalClick, tag: 'reblog' });
|
||||
if (publicStatus && allowQuote && (account.getIn(['server_features', 'quote']) || !isHideItem('quote_unavailable_server'))) {
|
||||
menu.push({ text: intl.formatMessage(messages.quote), action: this.handleQuote, tag: 'reblog' });
|
||||
}
|
||||
|
||||
if (publicStatus) {
|
||||
if (allowQuote && (account.getIn(['server_features', 'quote']) || !isHideItem('quote_unavailable_server'))) {
|
||||
menu.push({ text: intl.formatMessage(messages.quote), action: this.handleQuote, tag: 'reblog' });
|
||||
}
|
||||
|
||||
if (account.getIn(['server_features', 'status_reference']) || !isHideItem('status_reference_unavailable_server')) {
|
||||
menu.push({ text: intl.formatMessage(messages.reference), action: this.handleReference, tag: 'reblog' });
|
||||
}
|
||||
if (account.getIn(['server_features', 'status_reference']) || !isHideItem('status_reference_unavailable_server')) {
|
||||
menu.push({ text: intl.formatMessage(messages.reference), action: this.handleReference, tag: 'reblog' });
|
||||
}
|
||||
}
|
||||
|
||||
menu.push({ text: intl.formatMessage(status.get('bookmarked') ? messages.removeBookmark : messages.bookmark), action: this.handleBookmarkClickOriginal });
|
||||
menu.push({ text: intl.formatMessage(messages.bookmarkCategory), action: this.handleBookmarkCategoryAdderClick });
|
||||
|
||||
if (writtenByMe && pinnableStatus) {
|
||||
|
@ -488,6 +484,9 @@ class StatusActionBar extends ImmutablePureComponent {
|
|||
<div className='status__action-bar__button-wrapper status__action-bar__button-wrapper__blank' />
|
||||
)) || null;
|
||||
|
||||
|
||||
const bookmarkTitle = intl.formatMessage(status.get('bookmarked') ? messages.removeBookmark : messages.bookmark);
|
||||
const favouriteTitle = intl.formatMessage(status.get('favourited') ? messages.removeFavourite : messages.favourite);
|
||||
const isReply = status.get('in_reply_to_account_id') === status.getIn(['account', 'id']);
|
||||
|
||||
const reblogButton = <IconButton className={classNames('status__action-bar__button', { reblogPrivate })} disabled={!publicStatus && !reblogPrivate} active={status.get('reblogged')} title={reblogTitle} icon='retweet' iconComponent={reblogIconComponent} onClick={this.handleReblogClick} counter={withCounters ? status.get('reblogs_count') : undefined} />;
|
||||
|
@ -516,10 +515,10 @@ class StatusActionBar extends ImmutablePureComponent {
|
|||
)}
|
||||
</div>
|
||||
<div className='status__action-bar__button-wrapper'>
|
||||
<IconButton className='status__action-bar__button star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' iconComponent={status.get('favourited') ? StarIcon : StarBorderIcon} onClick={this.handleFavouriteClick} counter={withCounters ? status.get('favourites_count') : undefined} />
|
||||
<IconButton className='status__action-bar__button star-icon' animate active={status.get('favourited')} title={favouriteTitle} icon='star' iconComponent={status.get('favourited') ? StarIcon : StarBorderIcon} onClick={this.handleFavouriteClick} counter={withCounters ? status.get('favourites_count') : undefined} />
|
||||
</div>
|
||||
<div className='status__action-bar__button-wrapper'>
|
||||
<IconButton className='status__action-bar__button bookmark-icon' disabled={!signedIn} active={status.get('bookmarked')} title={intl.formatMessage(messages.bookmark)} icon='bookmark' iconComponent={status.get('bookmarked') ? BookmarkIcon : BookmarkBorderIcon} onClick={this.handleBookmarkClick} />
|
||||
<IconButton className='status__action-bar__button bookmark-icon' disabled={!signedIn} active={status.get('bookmarked')} title={bookmarkTitle} icon='bookmark' iconComponent={status.get('bookmarked') ? BookmarkIcon : BookmarkBorderIcon} onClick={this.handleBookmarkClick} />
|
||||
</div>
|
||||
{emojiPickerDropdown}
|
||||
<div className='status__action-bar__button-wrapper'>
|
||||
|
|
|
@ -38,7 +38,7 @@ class TranslateButton extends PureComponent {
|
|||
|
||||
if (translation) {
|
||||
const language = preloadedLanguages.find(lang => lang[0] === translation.get('detected_source_language'));
|
||||
const languageName = language ? language[2] : translation.get('detected_source_language');
|
||||
const languageName = language ? language[1] : translation.get('detected_source_language');
|
||||
const provider = translation.get('provider');
|
||||
|
||||
return (
|
||||
|
|
|
@ -2,6 +2,7 @@ import { Provider } from 'react-redux';
|
|||
|
||||
import { fetchCircles } from 'mastodon/actions/circles';
|
||||
import { fetchCustomEmojis } from 'mastodon/actions/custom_emojis';
|
||||
import { fetchServer } from 'mastodon/actions/server';
|
||||
import { hydrateStore } from 'mastodon/actions/store';
|
||||
import { Router } from 'mastodon/components/router';
|
||||
import Compose from 'mastodon/features/standalone/compose';
|
||||
|
@ -15,6 +16,7 @@ if (initialState) {
|
|||
|
||||
store.dispatch(fetchCustomEmojis());
|
||||
store.dispatch(fetchCircles());
|
||||
store.dispatch(fetchServer());
|
||||
|
||||
const ComposeContainer = () => (
|
||||
<IntlProvider>
|
||||
|
|
|
@ -66,6 +66,10 @@ class KeyboardShortcuts extends ImmutablePureComponent {
|
|||
<td><kbd>enter</kbd>, <kbd>o</kbd></td>
|
||||
<td><FormattedMessage id='keyboard_shortcuts.enter' defaultMessage='to open status' /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><kbd>t</kbd></td>
|
||||
<td><FormattedMessage id='keyboard_shortcuts.translate' defaultMessage='to translate a post' /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><kbd>e</kbd></td>
|
||||
<td><FormattedMessage id='keyboard_shortcuts.open_media' defaultMessage='to open media' /></td>
|
||||
|
|
|
@ -3,10 +3,10 @@ import { defineMessages, injectIntl } from 'react-intl';
|
|||
import { connect } from 'react-redux';
|
||||
|
||||
import { openModal } from 'mastodon/actions/modal';
|
||||
import { initializeNotifications } from 'mastodon/actions/notifications_migration';
|
||||
import { fetchNotifications , setNotificationsFilter } from 'mastodon/actions/notification_groups';
|
||||
|
||||
import { showAlert } from '../../../actions/alerts';
|
||||
import { setFilter, requestBrowserPermission } from '../../../actions/notifications';
|
||||
import { requestBrowserPermission } from '../../../actions/notifications';
|
||||
import { changeAlerts as changePushNotifications } from '../../../actions/push_notifications';
|
||||
import { changeSetting } from '../../../actions/settings';
|
||||
import ColumnSettings from '../components/column_settings';
|
||||
|
@ -43,7 +43,7 @@ const mapDispatchToProps = (dispatch) => ({
|
|||
}
|
||||
} else if (path[0] === 'quickFilter') {
|
||||
dispatch(changeSetting(['notifications', ...path], checked));
|
||||
dispatch(setFilter('all'));
|
||||
dispatch(setNotificationsFilter('all'));
|
||||
} else if (path[0] === 'alerts' && checked && typeof window.Notification !== 'undefined' && Notification.permission !== 'granted') {
|
||||
if (checked && typeof window.Notification !== 'undefined' && Notification.permission !== 'granted') {
|
||||
dispatch(requestBrowserPermission((permission) => {
|
||||
|
@ -60,7 +60,7 @@ const mapDispatchToProps = (dispatch) => ({
|
|||
dispatch(changeSetting(['notifications', ...path], checked));
|
||||
|
||||
if(path[0] === 'group' && path[1] === 'follow') {
|
||||
dispatch(initializeNotifications());
|
||||
dispatch(fetchNotifications());
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -33,6 +33,7 @@ const messages = defineMessages({
|
|||
cancel_reblog_private: { id: 'status.cancel_reblog_private', defaultMessage: 'Unboost' },
|
||||
cannot_reblog: { id: 'status.cannot_reblog', defaultMessage: 'This post cannot be boosted' },
|
||||
favourite: { id: 'status.favourite', defaultMessage: 'Favorite' },
|
||||
removeFavourite: { id: 'status.remove_favourite', defaultMessage: 'Remove from favorites' },
|
||||
open: { id: 'status.open', defaultMessage: 'Expand this status' },
|
||||
});
|
||||
|
||||
|
@ -177,11 +178,13 @@ class Footer extends ImmutablePureComponent {
|
|||
reblogIconComponent = RepeatDisabledIcon;
|
||||
}
|
||||
|
||||
const favouriteTitle = intl.formatMessage(status.get('favourited') ? messages.removeFavourite : messages.favourite);
|
||||
|
||||
return (
|
||||
<div className='picture-in-picture__footer'>
|
||||
<IconButton className='status__action-bar-button' title={replyTitle} icon={status.get('in_reply_to_account_id') === status.getIn(['account', 'id']) ? 'reply' : replyIcon} iconComponent={status.get('in_reply_to_account_id') === status.getIn(['account', 'id']) ? ReplyIcon : replyIconComponent} onClick={this.handleReplyClick} counter={status.get('replies_count')} />
|
||||
<IconButton className={classNames('status__action-bar-button', { reblogPrivate })} disabled={!publicStatus && !reblogPrivate} active={status.get('reblogged')} title={reblogTitle} icon='retweet' iconComponent={reblogIconComponent} onClick={this.handleReblogClick} counter={status.get('reblogs_count')} />
|
||||
<IconButton className='status__action-bar-button star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' iconComponent={StarIcon} onClick={this.handleFavouriteClick} counter={status.get('favourites_count')} />
|
||||
<IconButton className='status__action-bar-button star-icon' animate active={status.get('favourited')} title={favouriteTitle} icon='star' iconComponent={StarIcon} onClick={this.handleFavouriteClick} counter={status.get('favourites_count')} />
|
||||
{withOpenButton && <IconButton className='status__action-bar-button' title={intl.formatMessage(messages.open)} icon='external-link' iconComponent={OpenInNewIcon} onClick={this.handleOpenClick} href={`/@${status.getIn(['account', 'acct'])}/${status.get('id')}`} />}
|
||||
</div>
|
||||
);
|
||||
|
|
|
@ -46,8 +46,10 @@ const messages = defineMessages({
|
|||
cancel_reblog_private: { id: 'status.cancel_reblog_private', defaultMessage: 'Unboost' },
|
||||
cannot_reblog: { id: 'status.cannot_reblog', defaultMessage: 'This post cannot be boosted' },
|
||||
favourite: { id: 'status.favourite', defaultMessage: 'Favorite' },
|
||||
removeFavourite: { id: 'status.remove_favourite', defaultMessage: 'Remove from favorites' },
|
||||
bookmark: { id: 'status.bookmark', defaultMessage: 'Bookmark' },
|
||||
bookmark_category: { id: 'status.bookmark_category', defaultMessage: 'Bookmark category' },
|
||||
removeBookmark: { id: 'status.remove_bookmark', defaultMessage: 'Remove bookmark' },
|
||||
more: { id: 'status.more', defaultMessage: 'More' },
|
||||
mute: { id: 'status.mute', defaultMessage: 'Mute @{name}' },
|
||||
muteConversation: { id: 'status.mute_conversation', defaultMessage: 'Mute conversation' },
|
||||
|
@ -404,6 +406,9 @@ class ActionBar extends PureComponent {
|
|||
<div className='detailed-status__button__blank' />
|
||||
)) || null;
|
||||
|
||||
const bookmarkTitle = intl.formatMessage(status.get('bookmarked') ? messages.removeBookmark : messages.bookmark);
|
||||
const favouriteTitle = intl.formatMessage(status.get('favourited') ? messages.removeFavourite : messages.favourite);
|
||||
|
||||
return (
|
||||
<div className='detailed-status__action-bar'>
|
||||
<div className='detailed-status__button'><IconButton title={intl.formatMessage(messages.reply)} icon={status.get('in_reply_to_account_id') === status.getIn(['account', 'id']) ? 'reply' : replyIcon} iconComponent={status.get('in_reply_to_account_id') === status.getIn(['account', 'id']) ? ReplyIcon : replyIconComponent} onClick={this.handleReplyClick} /></div>
|
||||
|
@ -424,8 +429,8 @@ class ActionBar extends PureComponent {
|
|||
/>
|
||||
</div>
|
||||
)}
|
||||
<div className='detailed-status__button'><IconButton className='star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' iconComponent={status.get('favourited') ? StarIcon : StarBorderIcon} onClick={this.handleFavouriteClick} /></div>
|
||||
<div className='detailed-status__button'><IconButton className='bookmark-icon' disabled={!signedIn} active={status.get('bookmarked')} title={intl.formatMessage(messages.bookmark)} icon='bookmark' iconComponent={status.get('bookmarked') ? BookmarkIcon : BookmarkBorderIcon} onClick={this.handleBookmarkClick} /></div>
|
||||
<div className='detailed-status__button'><IconButton className='star-icon' animate active={status.get('favourited')} title={favouriteTitle} icon='star' iconComponent={status.get('favourited') ? StarIcon : StarBorderIcon} onClick={this.handleFavouriteClick} /></div>
|
||||
<div className='detailed-status__button'><IconButton className='bookmark-icon' disabled={!signedIn} active={status.get('bookmarked')} title={bookmarkTitle} icon='bookmark' iconComponent={status.get('bookmarked') ? BookmarkIcon : BookmarkBorderIcon} onClick={this.handleBookmarkClick} /></div>
|
||||
{emojiPickerDropdown}
|
||||
|
||||
<div className='detailed-status__action-bar-dropdown'>
|
||||
|
|
|
@ -536,6 +536,10 @@ class Status extends ImmutablePureComponent {
|
|||
this.handleToggleMediaVisibility();
|
||||
};
|
||||
|
||||
handleHotkeyTranslate = () => {
|
||||
this.handleTranslate(this.props.status);
|
||||
};
|
||||
|
||||
handleMoveUp = id => {
|
||||
const { status, ancestorsIds, descendantsIds, referenceIds } = this.props;
|
||||
|
||||
|
@ -726,6 +730,7 @@ class Status extends ImmutablePureComponent {
|
|||
toggleHidden: this.handleHotkeyToggleHidden,
|
||||
toggleSensitive: this.handleHotkeyToggleSensitive,
|
||||
openMedia: this.handleHotkeyOpenMedia,
|
||||
onTranslate: this.handleHotkeyTranslate,
|
||||
};
|
||||
|
||||
return (
|
||||
|
|
|
@ -4,6 +4,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
|
|||
import ImmutablePureComponent from 'react-immutable-pure-component';
|
||||
import { connect } from 'react-redux';
|
||||
|
||||
import { getAverageFromBlurhash } from 'mastodon/blurhash';
|
||||
import Audio from 'mastodon/features/audio';
|
||||
import Footer from 'mastodon/features/picture_in_picture/components/footer';
|
||||
|
||||
|
@ -26,6 +27,18 @@ class AudioModal extends ImmutablePureComponent {
|
|||
onChangeBackgroundColor: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
componentDidMount () {
|
||||
const { media, onChangeBackgroundColor } = this.props;
|
||||
|
||||
const backgroundColor = getAverageFromBlurhash(media.get('blurhash'));
|
||||
|
||||
onChangeBackgroundColor(backgroundColor || { r: 255, g: 255, b: 255 });
|
||||
}
|
||||
|
||||
componentWillUnmount () {
|
||||
this.props.onChangeBackgroundColor(null);
|
||||
}
|
||||
|
||||
render () {
|
||||
const { media, status, accountStaticAvatar, onClose } = this.props;
|
||||
const options = this.props.options || {};
|
||||
|
|
|
@ -37,6 +37,10 @@ class VideoModal extends ImmutablePureComponent {
|
|||
}
|
||||
}
|
||||
|
||||
componentWillUnmount () {
|
||||
this.props.onChangeBackgroundColor(null);
|
||||
}
|
||||
|
||||
render () {
|
||||
const { media, status, onClose } = this.props;
|
||||
const options = this.props.options || {};
|
||||
|
|
|
@ -13,7 +13,7 @@ import { HotKeys } from 'react-hotkeys';
|
|||
|
||||
import { focusApp, unfocusApp, changeLayout } from 'mastodon/actions/app';
|
||||
import { synchronouslySubmitMarkers, submitMarkers, fetchMarkers } from 'mastodon/actions/markers';
|
||||
import { initializeNotifications } from 'mastodon/actions/notifications_migration';
|
||||
import { fetchNotifications } from 'mastodon/actions/notification_groups';
|
||||
import { INTRODUCTION_VERSION } from 'mastodon/actions/onboarding';
|
||||
import { HoverCardController } from 'mastodon/components/hover_card_controller';
|
||||
import { PictureInPicture } from 'mastodon/features/picture_in_picture';
|
||||
|
@ -145,6 +145,7 @@ const keyMap = {
|
|||
toggleHidden: 'x',
|
||||
toggleSensitive: 'h',
|
||||
openMedia: 'e',
|
||||
onTranslate: 't',
|
||||
};
|
||||
|
||||
class SwitchingColumnsArea extends PureComponent {
|
||||
|
@ -461,7 +462,7 @@ class UI extends PureComponent {
|
|||
if (signedIn) {
|
||||
this.props.dispatch(fetchMarkers());
|
||||
this.props.dispatch(expandHomeTimeline());
|
||||
this.props.dispatch(initializeNotifications());
|
||||
this.props.dispatch(fetchNotifications());
|
||||
this.props.dispatch(fetchServerTranslationLanguages());
|
||||
|
||||
setTimeout(() => this.props.dispatch(fetchServer()), 3000);
|
||||
|
|
|
@ -165,11 +165,22 @@ export const trendsAsLanding = getMeta('trends_as_landing_page');
|
|||
export const useBlurhash = getMeta('use_blurhash');
|
||||
export const usePendingItems = getMeta('use_pending_items');
|
||||
export const version = getMeta('version');
|
||||
export const languages = initialState?.languages;
|
||||
export const criticalUpdatesPending = initialState?.critical_updates_pending;
|
||||
export const statusPageUrl = getMeta('status_page_url');
|
||||
export const sso_redirect = getMeta('sso_redirect');
|
||||
export const termsOfServiceEnabled = getMeta('terms_of_service_enabled');
|
||||
|
||||
const displayNames = Intl.DisplayNames && new Intl.DisplayNames(getMeta('locale'), {
|
||||
type: 'language',
|
||||
fallback: 'none',
|
||||
languageDisplay: 'standard',
|
||||
});
|
||||
|
||||
export const languages = initialState?.languages?.map(lang => {
|
||||
// zh-YUE is not a valid CLDR unicode_language_id
|
||||
return [lang[0], displayNames?.of(lang[0].replace('zh-YUE', 'yue')) || lang[1], lang[2]];
|
||||
});
|
||||
|
||||
/**
|
||||
* @returns {string | undefined}
|
||||
*/
|
||||
|
|
|
@ -16,7 +16,9 @@
|
|||
"account.badges.group": "Grupu",
|
||||
"account.block": "Bloquiar a @{name}",
|
||||
"account.block_domain": "Bloquiar el dominiu {domain}",
|
||||
"account.block_short": "Bloquiar",
|
||||
"account.blocked": "Perfil bloquiáu",
|
||||
"account.copy": "Copiar l'enlllaz al perfil",
|
||||
"account.direct": "Mentar a @{name} per privao",
|
||||
"account.disable_notifications": "Dexar d'avisame cuando @{name} espublice artículos",
|
||||
"account.domain_blocked": "Dominiu bloquiáu",
|
||||
|
@ -26,9 +28,12 @@
|
|||
"account.featured_tags.last_status_never": "Nun hai nengún artículu",
|
||||
"account.featured_tags.title": "Etiquetes destacaes de: {name}",
|
||||
"account.follow": "Siguir",
|
||||
"account.follow_back": "Siguir tamién",
|
||||
"account.followers": "Siguidores",
|
||||
"account.followers.empty": "Naide sigue a esti perfil.",
|
||||
"account.following": "Siguiendo",
|
||||
"account.follows.empty": "Esti perfil nun sigue a naide.",
|
||||
"account.go_to_profile": "Dir al perfil",
|
||||
"account.hide_reblogs": "Esconder los artículos compartíos de @{name}",
|
||||
"account.in_memoriam": "N'alcordanza.",
|
||||
"account.joined_short": "Data de xunión",
|
||||
|
@ -37,6 +42,8 @@
|
|||
"account.mention": "Mentar a @{name}",
|
||||
"account.moved_to": "{name} indicó qu'agora la so cuenta nueva ye:",
|
||||
"account.mute": "Desactivar los avisos de @{name}",
|
||||
"account.mute_notifications_short": "Silenciar avisos",
|
||||
"account.mute_short": "Silenciar",
|
||||
"account.no_bio": "Nun se fornió nenguna descripción.",
|
||||
"account.open_original_page": "Abrir la páxina orixinal",
|
||||
"account.posts": "Artículos",
|
||||
|
@ -47,6 +54,7 @@
|
|||
"account.show_reblogs": "Amosar los artículos compartíos de @{name}",
|
||||
"account.unblock": "Desbloquiar a @{name}",
|
||||
"account.unblock_domain": "Desbloquiar el dominiu «{domain}»",
|
||||
"account.unblock_short": "Desbloquiar",
|
||||
"account.unendorse": "Dexar de destacar nel perfil",
|
||||
"account.unfollow": "Dexar de siguir",
|
||||
"account.unmute": "Activar los avisos de @{name}",
|
||||
|
@ -58,14 +66,22 @@
|
|||
"alert.rate_limited.message": "Volvi tentalo dempués de la hora: {retry_time, time, medium}.",
|
||||
"alert.unexpected.message": "Prodúxose un error inesperáu.",
|
||||
"alert.unexpected.title": "¡Meca!",
|
||||
"alt_text_badge.title": "Testu alternativu",
|
||||
"announcement.announcement": "Anunciu",
|
||||
"annual_report.summary.followers.followers": "siguidores",
|
||||
"annual_report.summary.new_posts.new_posts": "artículos nuevos",
|
||||
"attachments_list.unprocessed": "(ensin procesar)",
|
||||
"block_modal.show_less": "Amosar menos",
|
||||
"block_modal.show_more": "Amosar más",
|
||||
"bundle_column_error.error.body": "La páxina solicitada nun se pudo renderizar. Ye posible que seya pola mor d'un fallu nel códigu o por un problema de compatibilidá del restolador.",
|
||||
"bundle_column_error.error.title": "¡Oh, non!",
|
||||
"bundle_column_error.network.body": "Hebo un error al tentar de cargar esta páxina. Esto pudo ser pola mor d'un problema temporal cola conexón a internet o con esti sirvidor.",
|
||||
"bundle_column_error.network.title": "Fallu de rede",
|
||||
"bundle_column_error.retry": "Retentar",
|
||||
"bundle_column_error.return": "Volver al aniciu",
|
||||
"bundle_column_error.routing.body": "Nun se pudo atopar la páxina solicitada. ¿De xuru que la URL de la barra de direiciones ta bien escrita?",
|
||||
"bundle_column_error.routing.title": "404",
|
||||
"bundle_modal_error.close": "Zarrar",
|
||||
"closed_registrations.other_server_instructions": "Darréu que Mastodon ye una rede social descentralizada, pues crear una cuenta n'otru sirvidor y siguir interactuando con esti.",
|
||||
"closed_registrations_modal.description": "Anguaño nun ye posible crear cuentes en {domain}, mas ten en cuenta que nun precises una cuenta nesti sirvidor pa usar Mastodon.",
|
||||
"closed_registrations_modal.find_another_server": "Atopar otru sirvidor",
|
||||
|
@ -75,8 +91,11 @@
|
|||
"column.blocks": "Perfiles bloquiaos",
|
||||
"column.bookmarks": "Marcadores",
|
||||
"column.community": "Llinia de tiempu llocal",
|
||||
"column.create_list": "Crear llista",
|
||||
"column.direct": "Menciones privaes",
|
||||
"column.domain_blocks": "Dominios bloquiaos",
|
||||
"column.edit_list": "Editar la llista",
|
||||
"column.favourites": "Favoritos",
|
||||
"column.follow_requests": "Solicitúes de siguimientu",
|
||||
"column.home": "Aniciu",
|
||||
"column.lists": "Llistes",
|
||||
|
@ -96,6 +115,7 @@
|
|||
"compose.language.change": "Camudar la llingua",
|
||||
"compose.language.search": "Buscar llingües…",
|
||||
"compose.published.body": "Espublizóse l'artículu.",
|
||||
"compose.published.open": "Abrir",
|
||||
"compose_form.direct_message_warning_learn_more": "Saber más",
|
||||
"compose_form.encryption_warning": "Los artículos de Mastodon nun tán cifraos de puntu a puntu. Nun compartas nengún tipu d'información sensible per Mastodon.",
|
||||
"compose_form.lock_disclaimer": "La to cuenta nun ye {locked}. Cualesquier perfil pue siguite pa ver los artículos que son namás pa siguidores.",
|
||||
|
@ -110,6 +130,7 @@
|
|||
"confirmations.delete.message": "¿De xuru que quies desaniciar esti artículu?",
|
||||
"confirmations.delete_list.confirm": "Desaniciar",
|
||||
"confirmations.discard_edit_media.confirm": "Escartar",
|
||||
"confirmations.edit.confirm": "Editar",
|
||||
"confirmations.edit.message": "La edición va sobrescribir el mensaxe que tas escribiendo. ¿De xuru que quies siguir?",
|
||||
"confirmations.logout.confirm": "Zarrar la sesión",
|
||||
"confirmations.logout.message": "¿De xuru que quies zarrar la sesión?",
|
||||
|
@ -117,7 +138,9 @@
|
|||
"confirmations.reply.confirm": "Responder",
|
||||
"confirmations.unfollow.confirm": "Dexar de siguir",
|
||||
"confirmations.unfollow.message": "¿De xuru que quies dexar de siguir a {name}?",
|
||||
"content_warning.show_more": "Amosar más",
|
||||
"conversation.delete": "Desaniciar la conversación",
|
||||
"conversation.mark_as_read": "Marcar como lleíu",
|
||||
"conversation.open": "Ver la conversación",
|
||||
"conversation.with": "Con {names}",
|
||||
"copypaste.copied": "Copióse",
|
||||
|
@ -126,8 +149,13 @@
|
|||
"directory.local": "De «{domain}» namás",
|
||||
"directory.new_arrivals": "Cuentes nueves",
|
||||
"directory.recently_active": "Con actividá recién",
|
||||
"disabled_account_banner.account_settings": "Axustes de la cuenta",
|
||||
"dismissable_banner.community_timeline": "Esta seición contién los artículos públicos más actuales de los perfiles agospiaos nel dominiu {domain}.",
|
||||
"dismissable_banner.dismiss": "Escartar",
|
||||
"domain_block_modal.block": "Bloquiar el sirvidor",
|
||||
"domain_block_modal.title": "Bloquiar el dominiu?",
|
||||
"domain_pill.server": "Sirvidor",
|
||||
"domain_pill.username": "Nome d'usuariu",
|
||||
"embed.instructions": "Empotra esti artículu nel to sitiu web copiando'l códigu d'abaxo.",
|
||||
"embed.preview": "Va apaecer asina:",
|
||||
"emoji_button.activity": "Actividá",
|
||||
|
@ -192,6 +220,7 @@
|
|||
"follow_suggestions.similar_to_recently_followed_longer": "Aseméyase a los perfiles que siguiesti apocayá",
|
||||
"follow_suggestions.view_all": "Ver too",
|
||||
"follow_suggestions.who_to_follow": "A quién siguir",
|
||||
"followed_tags": "Etiquetes siguíes",
|
||||
"footer.about": "Tocante a",
|
||||
"footer.directory": "Direutoriu de perfiles",
|
||||
"footer.get_app": "Consiguir l'aplicación",
|
||||
|
@ -199,12 +228,16 @@
|
|||
"footer.privacy_policy": "Política de privacidá",
|
||||
"footer.source_code": "Ver el códigu fonte",
|
||||
"footer.status": "Estáu",
|
||||
"footer.terms_of_service": "Términos del serviciu",
|
||||
"generic.saved": "Guardóse",
|
||||
"getting_started.heading": "Comienzu",
|
||||
"hashtag.column_header.tag_mode.all": "y {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "o {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "ensin {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "Nun s'atopó nenguna suxerencia",
|
||||
"hashtag.column_settings.tag_mode.all": "Toes estes",
|
||||
"hashtag.column_settings.tag_mode.any": "Cualesquiera d'estes",
|
||||
"hashtag.column_settings.tag_mode.none": "Nenguna d'estes",
|
||||
"hashtag.counter_by_accounts": "{count, plural, one {{counter} participante} other {{counter} participantes}}",
|
||||
"hashtag.follow": "Siguir a la etiqueta",
|
||||
"hashtag.unfollow": "Dexar de siguir a la etiqueta",
|
||||
|
@ -212,6 +245,7 @@
|
|||
"home.column_settings.show_reblogs": "Amosar los artículos compartíos",
|
||||
"home.column_settings.show_replies": "Amosar les rempuestes",
|
||||
"home.pending_critical_update.body": "¡Anueva'l sirvidor de Mastodon namás que puedas!",
|
||||
"home.show_announcements": "Amosar anuncios",
|
||||
"interaction_modal.on_another_server": "N'otru sirvidor",
|
||||
"interaction_modal.on_this_server": "Nesti sirvidor",
|
||||
"interaction_modal.title.reply": "Rempuesta al artículu de: {name}",
|
||||
|
@ -248,13 +282,23 @@
|
|||
"keyboard_shortcuts.toot": "Comenzar un artículu nuevu",
|
||||
"keyboard_shortcuts.unfocus": "Desenfocar l'área de composición/busca",
|
||||
"keyboard_shortcuts.up": "Xubir na llista",
|
||||
"lightbox.close": "Zarrar",
|
||||
"lightbox.next": "Siguiente",
|
||||
"limited_account_hint.action": "Amosar el perfil de toes toes",
|
||||
"lists.add_to_list": "Amestar a la llista",
|
||||
"lists.add_to_lists": "Amestar {name} a la llista",
|
||||
"lists.create_list": "Crear llista",
|
||||
"lists.delete": "Desaniciar la llista",
|
||||
"lists.edit": "Editar la llista",
|
||||
"lists.list_name": "Nome de la llista",
|
||||
"lists.no_lists_yet": "Ensin llistes tovía.",
|
||||
"lists.replies_policy.followed": "Cualesquier perfil siguíu",
|
||||
"lists.replies_policy.list": "Perfiles de la llista",
|
||||
"lists.replies_policy.none": "Naide",
|
||||
"lists.save": "Guardar",
|
||||
"lists.search": "Buscar",
|
||||
"load_pending": "{count, plural, one {# elementu nuevu} other {# elementos nuevos}}",
|
||||
"loading_indicator.label": "Cargando…",
|
||||
"navigation_bar.about": "Tocante a",
|
||||
"navigation_bar.blocks": "Perfiles bloquiaos",
|
||||
"navigation_bar.bookmarks": "Marcadores",
|
||||
|
@ -262,13 +306,17 @@
|
|||
"navigation_bar.direct": "Menciones privaes",
|
||||
"navigation_bar.domain_blocks": "Dominios bloquiaos",
|
||||
"navigation_bar.explore": "Esploración",
|
||||
"navigation_bar.favourites": "Favoritos",
|
||||
"navigation_bar.filters": "Pallabres desactivaes",
|
||||
"navigation_bar.follow_requests": "Solicitúes de siguimientu",
|
||||
"navigation_bar.followed_tags": "Etiquetes siguíes",
|
||||
"navigation_bar.follows_and_followers": "Perfiles que sigues y te siguen",
|
||||
"navigation_bar.lists": "Llistes",
|
||||
"navigation_bar.logout": "Zarrar la sesión",
|
||||
"navigation_bar.moderation": "Moderación",
|
||||
"navigation_bar.mutes": "Perfiles colos avisos desactivaos",
|
||||
"navigation_bar.opened_in_classic_interface": "Los artículos, les cuentes y otres páxines específiques ábrense por defeutu na interfaz web clásica.",
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Artículos fixaos",
|
||||
"navigation_bar.preferences": "Preferencies",
|
||||
"navigation_bar.public_timeline": "Llinia de tiempu federada",
|
||||
|
@ -278,12 +326,19 @@
|
|||
"notification.admin.sign_up": "{name} rexistróse",
|
||||
"notification.follow": "{name} siguióte",
|
||||
"notification.follow_request": "{name} solicitó siguite",
|
||||
"notification.mentioned_you": "{name} mentóte",
|
||||
"notification.moderation-warning.learn_more": "Deprender más",
|
||||
"notification.poll": "Finó una encuesta na que votesti",
|
||||
"notification.reblog": "{name} compartió'l to artículu",
|
||||
"notification.status": "{name} ta acabante d'espublizar",
|
||||
"notification.update": "{name} editó un artículu",
|
||||
"notification_requests.edit_selection": "Editar",
|
||||
"notification_requests.exit_selection": "Fecho",
|
||||
"notifications.clear": "Borrar los avisos",
|
||||
"notifications.column_settings.admin.report": "Informes nuevos:",
|
||||
"notifications.column_settings.admin.sign_up": "Rexistros nuevos:",
|
||||
"notifications.column_settings.favourite": "Favoritos:",
|
||||
"notifications.column_settings.filter_bar.advanced": "Amosar toles categoríes",
|
||||
"notifications.column_settings.follow": "Siguidores nuevos:",
|
||||
"notifications.column_settings.follow_request": "Solicitúes de siguimientu nueves:",
|
||||
"notifications.column_settings.group": "Agrupar",
|
||||
|
@ -296,10 +351,14 @@
|
|||
"notifications.column_settings.unread_notifications.category": "Avisos ensin lleer",
|
||||
"notifications.column_settings.unread_notifications.highlight": "Rescamplar los avisos ensin lleer",
|
||||
"notifications.column_settings.update": "Ediciones:",
|
||||
"notifications.filter.all": "Too",
|
||||
"notifications.filter.favourites": "Favoritos",
|
||||
"notifications.filter.mentions": "Menciones",
|
||||
"notifications.filter.polls": "Resultaos de la encuesta",
|
||||
"notifications.group": "{count} avisos",
|
||||
"notifications.mark_as_read": "Marcar tolos avisos como lleíos",
|
||||
"notifications.permission_required": "Los avisos d'escritoriu nun tán disponibles porque nun se concedió'l permisu riquíu.",
|
||||
"onboarding.profile.note": "Biografía",
|
||||
"onboarding.profile.note_hint": "Pues @mentar a otros perfiles o poner #etiquetes…",
|
||||
"password_confirmation.exceeds_maxlength": "La contraseña de confirmación supera la llongura de caráuteres máxima",
|
||||
"password_confirmation.mismatching": "La contraseña de confirmación nun concasa",
|
||||
|
@ -330,7 +389,9 @@
|
|||
"relative_time.seconds": "{number} s",
|
||||
"relative_time.today": "güei",
|
||||
"reply_indicator.cancel": "Encaboxar",
|
||||
"reply_indicator.poll": "Encuesta",
|
||||
"report.block": "Bloquiar",
|
||||
"report.categories.legal": "Llegal",
|
||||
"report.categories.spam": "Spam",
|
||||
"report.categories.violation": "El conteníu incumple una o más normes del sirvidor",
|
||||
"report.category.subtitle": "Escueyi la meyor opción",
|
||||
|
@ -346,6 +407,7 @@
|
|||
"report.placeholder": "Comentarios adicionales",
|
||||
"report.reasons.dislike": "Nun me presta",
|
||||
"report.reasons.dislike_description": "Nun ye daqué que quiera ver",
|
||||
"report.reasons.legal": "Ye illegal",
|
||||
"report.reasons.other": "Ye daqué más",
|
||||
"report.reasons.other_description": "La incidencia nun s'axusta a les demás categoríes",
|
||||
"report.reasons.spam": "Ye spam",
|
||||
|
@ -365,7 +427,10 @@
|
|||
"report.unfollow": "Dexar de siguir a @{name}",
|
||||
"report.unfollow_explanation": "Sigues a esta cuenta. Pa dexar de ver los sos artículos nel to feed d'aniciu, dexa de siguila.",
|
||||
"report_notification.attached_statuses": "{count, plural, one {Axuntóse {count} artículu} other {Axuntáronse {count} artículos}}",
|
||||
"report_notification.categories.legal": "Llegal",
|
||||
"report_notification.categories.legal_sentence": "conteníu illegal",
|
||||
"report_notification.categories.spam": "Spam",
|
||||
"report_notification.categories.spam_sentence": "spam",
|
||||
"report_notification.open": "Abrir l'informe",
|
||||
"search.no_recent_searches": "Nun hai nenguna busca recién",
|
||||
"search.placeholder": "Buscar",
|
||||
|
@ -417,6 +482,7 @@
|
|||
"status.reblogged_by": "{name} compartió",
|
||||
"status.reblogs.empty": "Naide nun compartió esti artículu. Cuando daquién lo faiga, apaez equí.",
|
||||
"status.redraft": "Desaniciar y reeditar",
|
||||
"status.remove_bookmark": "Desaniciar el marcador",
|
||||
"status.replied_to": "En rempuesta a {name}",
|
||||
"status.reply": "Responder",
|
||||
"status.replyAll": "Responder al filu",
|
||||
|
@ -429,8 +495,10 @@
|
|||
"status.uncached_media_warning": "La previsualización nun ta disponible",
|
||||
"status.unmute_conversation": "Activar los avisos de la conversación",
|
||||
"status.unpin": "Lliberar del perfil",
|
||||
"subscribed_languages.save": "Guardar los cambeos",
|
||||
"tabs_bar.home": "Aniciu",
|
||||
"tabs_bar.notifications": "Avisos",
|
||||
"terms_of_service.title": "Términos del serviciu",
|
||||
"time_remaining.days": "{number, plural, one {Queda # día} other {Queden # díes}}",
|
||||
"time_remaining.hours": "{number, plural, one {Queda # hora} other {Queden # hores}}",
|
||||
"time_remaining.minutes": "{number, plural, one {Queda # minutu} other {Queden # minutos}}",
|
||||
|
@ -441,6 +509,7 @@
|
|||
"units.short.billion": "{count} MM",
|
||||
"units.short.million": "{count} M",
|
||||
"units.short.thousand": "{count} mil",
|
||||
"upload_area.title": "Arrastra y suelta pa xubir",
|
||||
"upload_button.label": "Amestar ficheros multimedia",
|
||||
"upload_error.poll": "La xuba de ficheros nun ta permitida coles encuestes.",
|
||||
"upload_form.audio_description": "Describi'l conteníu pa persones sordes y/o ciegues",
|
||||
|
@ -455,6 +524,7 @@
|
|||
"upload_progress.processing": "Procesando…",
|
||||
"video.close": "Zarrar el videu",
|
||||
"video.download": "Baxar el ficheru",
|
||||
"video.exit_fullscreen": "Colar de la pantalla completa",
|
||||
"video.expand": "Espander el videu",
|
||||
"video.fullscreen": "Pantalla completa",
|
||||
"video.hide": "Esconder el videu",
|
||||
|
|
|
@ -1 +1,246 @@
|
|||
{}
|
||||
{
|
||||
"about.blocks": "Moderasiya olunan serverlər",
|
||||
"about.contact": "Əlaqə:",
|
||||
"about.disclaimer": "Mastodon pulsuz, açıq-mənbəli proqram təminatıdır və Mastodon gGmbH-nin əmtəə nişanıdır.",
|
||||
"about.domain_blocks.no_reason_available": "Səbəb naməlumdur",
|
||||
"about.domain_blocks.preamble": "Mastodon adətən fediversedəki hər hansısa bir serverdən olan məzmuna baxmaq və istifadəçilərlə qarşılıqlı əlaqədə olmaq imkanı verir. Bunlar bu serverdə edilmiş istisnalardır.",
|
||||
"about.domain_blocks.silenced.explanation": "Siz bu serverdəki profilləri və məzmunu xüsusi olaraq axtarmasanız və ya izləməsəniz ümumiyyətlə görməyəcəksiniz.",
|
||||
"about.domain_blocks.silenced.title": "Məhdudlaşdırılmış",
|
||||
"about.domain_blocks.suspended.explanation": "Bu serverdən heç bir data emal edilməyəcək, saxlanılmayacaq və ya mübadilə edilməyəcək və bu serverdən olan istifadəçilərlə hər hansı qarşılıqlı əlaqə qeyri-mümkün olacaq.",
|
||||
"about.domain_blocks.suspended.title": "Qadağa qoyulub",
|
||||
"about.not_available": "Bu məlumat bu serverdə əlçatan edilməyib.",
|
||||
"about.powered_by": "{mastodon} tərəfindən təchiz edilən desentralizasiya edilmiş sosial media",
|
||||
"about.rules": "Server qaydaları",
|
||||
"account.account_note_header": "Şəxsi qeyd",
|
||||
"account.add_or_remove_from_list": "Siyahılara əlavə et və ya sil",
|
||||
"account.badges.bot": "Avtomatlaşdırılmış",
|
||||
"account.badges.group": "Qrup",
|
||||
"account.block": "@{name} istifadəçisini blokla",
|
||||
"account.block_domain": "{domain} domenini blokla",
|
||||
"account.block_short": "Blok",
|
||||
"account.blocked": "Bloklanıb",
|
||||
"account.cancel_follow_request": "İzləməni ləğv et",
|
||||
"account.copy": "Profil linkini kopyala",
|
||||
"account.direct": "@{name} istifadəçisini fərdi olaraq etiketlə",
|
||||
"account.disable_notifications": "@{name} paylaşım edəndə mənə bildiriş göndərməyi dayandır",
|
||||
"account.domain_blocked": "Domen bloklanıb",
|
||||
"account.edit_profile": "Profili redaktə et",
|
||||
"account.enable_notifications": "@{name} paylaşım edəndə mənə bildiriş göndər",
|
||||
"account.endorse": "Profildə seçilmişlərə əlavə et",
|
||||
"account.featured_tags.last_status_at": "Son paylaşım {date} tarixində olub",
|
||||
"account.featured_tags.last_status_never": "Paylaşım yoxdur",
|
||||
"account.featured_tags.title": "{name} istifadəçisinin seçilmiş heşteqləri",
|
||||
"account.follow": "İzlə",
|
||||
"account.follow_back": "Sən də izlə",
|
||||
"account.followers": "İzləyicilər",
|
||||
"account.followers.empty": "Bu istifadəçini hələ ki, heç kim izləmir.",
|
||||
"account.followers_counter": "{count, plural, one {{counter} izləyici} other {{counter} izləyici}}",
|
||||
"account.following": "İzləyir",
|
||||
"account.following_counter": "{count, plural, one {{counter} izləyir} other {{counter} izləyir}}",
|
||||
"account.follows.empty": "Bu istifadəçi hələ ki, heç kimi izləmir.",
|
||||
"account.go_to_profile": "Profilə get",
|
||||
"account.hide_reblogs": "@{name} istifadəçisindən olan gücləndirmələri gizlət",
|
||||
"account.in_memoriam": "Xatirə.",
|
||||
"account.joined_short": "Qoşulub",
|
||||
"account.languages": "Abunə olunmuş dilləri dəyiş",
|
||||
"account.link_verified_on": "Bu linkin dəqiqliyi {date} tarixində yoxlanılıb",
|
||||
"account.locked_info": "Bu hesabın məxfilik statusu kilidlənib. Hesabın sahibi onu kimin izləyə biləcəyini manual olaraq təyin edir.",
|
||||
"account.media": "Media",
|
||||
"account.mention": "@{name} istifadəçisini teq et",
|
||||
"account.moved_to": "{name} onun yeni hesabının artıq bu olduğunu bildirdi:",
|
||||
"account.mute": "@{name} istifadəçisini susdur",
|
||||
"account.mute_notifications_short": "Bildirişləri səssizləşdir",
|
||||
"account.mute_short": "Səssizləşdir",
|
||||
"account.muted": "Səssizləşdirilib",
|
||||
"account.mutual": "Ortaq",
|
||||
"account.no_bio": "Təsvir göstərilməyib.",
|
||||
"account.open_original_page": "Orijinal səhifəni aç",
|
||||
"account.posts": "Paylaşım",
|
||||
"account.posts_with_replies": "Paylaşım və cavablar",
|
||||
"account.report": "@{name} istifadəçisini şikayət et",
|
||||
"account.requested": "Təsdiq edilməsi gözlənilir. İzləmə sorğusunu ləğv etmək üçün kliklə",
|
||||
"account.requested_follow": "{name} sizi izləmək sorğusu göndərib",
|
||||
"account.share": "@{name} profilini paylaş",
|
||||
"account.show_reblogs": "@{name} istifadəçisindən olan gücləndirmələri göstər",
|
||||
"account.statuses_counter": "{count, plural, one {{counter} paylaşım} other {{counter} paylaşım}}",
|
||||
"account.unblock": "@{name} blokunu aç",
|
||||
"account.unblock_domain": "{domain} domeninin blokunu aç",
|
||||
"account.unblock_short": "Bloku aç",
|
||||
"account.unendorse": "Profildə seçilmişlərə əlavə etmə",
|
||||
"account.unfollow": "İzləmədən çıxar",
|
||||
"account.unmute": "@{name} səssizləşdirmədən çıxart",
|
||||
"account.unmute_notifications_short": "Bildirişlərin səsini aç",
|
||||
"account.unmute_short": "Səssizləşdirmədən çıxart",
|
||||
"account_note.placeholder": "Qeyd əlavə etmək üçün kliklə",
|
||||
"admin.dashboard.daily_retention": "Qeydiyyatdan sonrakı günə görə istifadəçi qalma dərəcəsi",
|
||||
"admin.dashboard.monthly_retention": "Qeydiyyatdan sonrakı aya görə istifadəçi qalma dərəcəsi",
|
||||
"admin.dashboard.retention.average": "Orta",
|
||||
"admin.dashboard.retention.cohort": "Qeydiyyatdan keçmə ayı",
|
||||
"admin.dashboard.retention.cohort_size": "Yeni istifadəçilər",
|
||||
"admin.impact_report.instance_accounts": "Bunun siləcəyi istifadəçi hesabları",
|
||||
"admin.impact_report.instance_followers": "İstifadəçilərimizin itirəcəyi izləyici sayı",
|
||||
"admin.impact_report.instance_follows": "Onların istifadəçilərinin itirəcəyi izləyici sayı",
|
||||
"admin.impact_report.title": "Təsirin xülasəsi",
|
||||
"alert.rate_limited.message": "Zəhmət olmasa, {retry_time, time, medium} sonra yenidən cəhd edin.",
|
||||
"alert.rate_limited.title": "Sürət limiti",
|
||||
"alert.unexpected.message": "Bilinməyən bir xəta baş verdi.",
|
||||
"alert.unexpected.title": "Ah!",
|
||||
"alt_text_badge.title": "Alternativ mətn",
|
||||
"announcement.announcement": "Elan",
|
||||
"annual_report.summary.archetype.booster": "Trend ovçusu",
|
||||
"annual_report.summary.archetype.lurker": "Lurker",
|
||||
"annual_report.summary.archetype.oracle": "Orakl",
|
||||
"annual_report.summary.archetype.pollster": "Sorğu ustası",
|
||||
"annual_report.summary.archetype.replier": "Sosial kəpənək",
|
||||
"annual_report.summary.followers.followers": "izləyici",
|
||||
"annual_report.summary.followers.total": "Cəmi {count}",
|
||||
"annual_report.summary.here_it_is": "{year} icmalınız:",
|
||||
"annual_report.summary.highlighted_post.by_favourites": "ən çox sevilən postu",
|
||||
"annual_report.summary.highlighted_post.by_reblogs": "ən çox gücləndirilən paylaşımı",
|
||||
"annual_report.summary.highlighted_post.by_replies": "ən çox cavabı olan paylaşımı",
|
||||
"annual_report.summary.highlighted_post.possessive": "{name} istifadəçisinin",
|
||||
"annual_report.summary.most_used_app.most_used_app": "ən çox istifadə etdiyi tətbiq",
|
||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "ən çox istifadə etdiyi heşteq",
|
||||
"annual_report.summary.most_used_hashtag.none": "Yoxdur",
|
||||
"annual_report.summary.new_posts.new_posts": "yeni paylaşım",
|
||||
"annual_report.summary.percentile.text": "<topLabel>Bu sizi {domain} istifadəçilərinin ilk</topLabel><percentage></percentage><bottomLabel>qoyur.</bottomLabel>",
|
||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Bunu Berniyə deməyəcəyik.",
|
||||
"annual_report.summary.thanks": "Mastodonun bir parçası olduğunuz üçün təşəkkür edirik!",
|
||||
"attachments_list.unprocessed": "(emal edilməyib)",
|
||||
"audio.hide": "Audionu gizlət",
|
||||
"block_modal.remote_users_caveat": "Biz {domain} serverindən qərarınıza hörmət etməsini xahiş edəcəyik. Bununla belə, bəzi serverlər blokları fərqli şəkildə idarə edə bildiyi üçün uyğunluğa zəmanət verilmir. İctimai paylaşımlar hələ də daxil olmayan istifadəçilərə görünə bilər.",
|
||||
"block_modal.show_less": "Daha az göstər",
|
||||
"block_modal.show_more": "Daha çox göstər",
|
||||
"block_modal.they_cant_mention": "O səni teq edə bilməz və ya izləyə bilməz.",
|
||||
"block_modal.they_cant_see_posts": "O sənin paylaşımlarını görməyəcək, sən də onun paylaşımlarını görməyəcəksən.",
|
||||
"block_modal.they_will_know": "O sənin onu blokladığını görə biləcək.",
|
||||
"block_modal.title": "İstifadəçi bloklansın?",
|
||||
"block_modal.you_wont_see_mentions": "Onu teq edən postları görməyəcəksən.",
|
||||
"boost_modal.combo": "Növbəti dəfə bunu atlamaq üçün {combo} klikləyə bilərsən",
|
||||
"boost_modal.reblog": "Paylaşım gücləndirilsin?",
|
||||
"boost_modal.undo_reblog": "Paylaşımın gücləndirilməsi ləğv edilsin?",
|
||||
"bundle_column_error.copy_stacktrace": "Xəta hesabatını kopyala",
|
||||
"bundle_column_error.error.body": "Tələb olunan səhifəni göstərmək mümkün olmadı. Bu, kodumuzdakı səhv və ya brauzer uyğunluğu problemi ilə bağlı ola bilər.",
|
||||
"bundle_column_error.error.title": "Ah, yox!",
|
||||
"bundle_column_error.network.body": "Bu səhifəni yükləməyə çalışarkən xəta baş verdi. Bu, internet bağlantınız və ya bu serverlə bağlı müvəqqəti problemlə əlaqədar ola bilər.",
|
||||
"bundle_column_error.network.title": "Şəbəkə xətası",
|
||||
"bundle_column_error.retry": "Yenidən cəhd et",
|
||||
"bundle_column_error.return": "Ana səhifəyə qayıt",
|
||||
"bundle_column_error.routing.body": "Tələb olunan səhifəni tapmaq mümkün olmadı. Ünvan çubuğundakı URL-nin düzgün olduğuna əminsiniz?",
|
||||
"bundle_column_error.routing.title": "404",
|
||||
"bundle_modal_error.close": "Bağla",
|
||||
"bundle_modal_error.message": "Bu ekranı yükləyərkən xəta baş verdi.",
|
||||
"bundle_modal_error.retry": "Yenidən cəhd et",
|
||||
"closed_registrations.other_server_instructions": "Mastodon desentralizasiya edilmiş olduğu üçün başqa bir serverdə hesab yarada və hələ də bu serverdən istifadə edə bilərsiniz.",
|
||||
"closed_registrations_modal.description": "{domain} serverində hesab yaratmaq hazırda mümkün deyil, lakin nəzərə alın ki, Mastodondan istifadə etmək üçün xüsusi olaraq {domain} serverində hesaba ehtiyacınız yoxdur.",
|
||||
"closed_registrations_modal.find_another_server": "Başqa server tap",
|
||||
"closed_registrations_modal.preamble": "Mastodon desentralizasiya edilib, ona görə də hesabınızı harada yaratmağınızdan asılı olmayaraq, siz bu serverdə hər kəsi izləyə və onunla əlaqə saxlaya biləcəksiniz. Siz hətta özünüz server aça bilərsiniz!",
|
||||
"closed_registrations_modal.title": "Mastodonda qeydiyyatdan keçmək",
|
||||
"column.about": "Haqqında",
|
||||
"column.blocks": "Bloklanmış istifadəçilər",
|
||||
"column.bookmarks": "Əlfəcinlər",
|
||||
"column.community": "Lokal zaman qrafiki",
|
||||
"column.create_list": "Siyahı yarat",
|
||||
"column.direct": "Fərdi teqlər",
|
||||
"column.directory": "Profillər arasında gəz",
|
||||
"column.domain_blocks": "Bloklanmış domenlər",
|
||||
"column.edit_list": "Siyahını redaktə et",
|
||||
"column.favourites": "Sevimlilər",
|
||||
"column.firehose": "Canlı lentlər",
|
||||
"column.follow_requests": "İzləyici sorğuları",
|
||||
"column.home": "Ana səhifə",
|
||||
"column.list_members": "Siyahı üzvlərini idarə et",
|
||||
"column.lists": "Siyahılar",
|
||||
"column.mutes": "Səssizləşdirilmiş istifadəçilər",
|
||||
"column.notifications": "Bildirişlər",
|
||||
"column.pins": "Bərkidilmiş paylaşımlar",
|
||||
"column.public": "Federasiya zaman qrafiki",
|
||||
"column_back_button.label": "Geriyə",
|
||||
"column_header.hide_settings": "Parametrləri gizlət",
|
||||
"column_header.moveLeft_settings": "Sütunu sola köçür",
|
||||
"column_header.moveRight_settings": "Sütunu sağa köçür",
|
||||
"column_header.pin": "Bərkit",
|
||||
"column_header.show_settings": "Parametrləri göstər",
|
||||
"column_header.unpin": "Bərkitmə",
|
||||
"column_search.cancel": "İmtina",
|
||||
"column_subheading.settings": "Parametrlər",
|
||||
"community.column_settings.local_only": "Sadəcə lokalda",
|
||||
"community.column_settings.media_only": "Sadəcə media",
|
||||
"community.column_settings.remote_only": "Sadəcə uzaq serverlər",
|
||||
"compose.language.change": "Dili dəyiş",
|
||||
"compose.language.search": "Dil axtar...",
|
||||
"compose.published.body": "Paylaşıldı.",
|
||||
"compose.published.open": "Bax",
|
||||
"compose.saved.body": "Paylaşım yadda saxlandı.",
|
||||
"compose_form.direct_message_warning_learn_more": "Ətraflı öyrən",
|
||||
"compose_form.encryption_warning": "Mastodondakı paylaşımlar ucdan-uca şifrələnmir. Mastodonda heç bir həssas məlumat paylaşmayın.",
|
||||
"compose_form.hashtag_warning": "Bu yazı ictimai olmadığı üçün heç bir heşteqdə göstərilməyəcək. Yalnız açıq yazılar heşteq ilə axtarıla bilər.",
|
||||
"compose_form.lock_disclaimer": "Hesabınız {locked} deyil. Sadəcə izləyicilər üçün paylaşımlarınıza baxmaq üçün hər kəs sizi izləyə bilər.",
|
||||
"compose_form.lock_disclaimer.lock": "kilidli",
|
||||
"compose_form.placeholder": "Ağlınızdan nə keçir?",
|
||||
"compose_form.poll.duration": "Sorğunun müddəti",
|
||||
"compose_form.poll.multiple": "Çoxlu cavab",
|
||||
"compose_form.poll.option_placeholder": "Seçim {number}",
|
||||
"compose_form.poll.single": "Tək cavab",
|
||||
"compose_form.poll.switch_to_multiple": "Çoxsaylı cavablara icazə vermək üçün sorğunu redaktə et",
|
||||
"compose_form.poll.switch_to_single": "Tək cavaba icazə vermək üçün sorğunu redaktə et",
|
||||
"compose_form.poll.type": "Stil",
|
||||
"compose_form.publish": "Paylaş",
|
||||
"compose_form.publish_form": "Yeni paylaşım",
|
||||
"compose_form.reply": "Cavabla",
|
||||
"compose_form.save_changes": "Yenilə",
|
||||
"compose_form.spoiler.marked": "Məzmun xəbərdarlığını sil",
|
||||
"compose_form.spoiler.unmarked": "Məzmun xəbərdarlığı əlavə et",
|
||||
"compose_form.spoiler_placeholder": "Məzmun xəbərdarlığı (məcburi deyil)",
|
||||
"confirmation_modal.cancel": "İmtina",
|
||||
"confirmations.block.confirm": "Blokla",
|
||||
"confirmations.delete.confirm": "Sil",
|
||||
"confirmations.delete.message": "Bu paylaşımı silmək istədiyinizə əminsiniz?",
|
||||
"confirmations.delete.title": "Paylaşım silinsin?",
|
||||
"confirmations.delete_list.confirm": "Sil",
|
||||
"confirmations.delete_list.message": "Bu siyahını həmişəlik silmək istədiyinizə əminsiniz?",
|
||||
"confirmations.delete_list.title": "Siyahı silinsin?",
|
||||
"confirmations.discard_edit_media.confirm": "Ləğv et",
|
||||
"confirmations.discard_edit_media.message": "Media təsvirində və ya önizləmədə yadda saxlanmamış dəyişiklikləriniz var, ləğv edilsin?",
|
||||
"confirmations.edit.confirm": "Redaktə et",
|
||||
"confirmations.edit.message": "Redaktə etmək hazırda tərtib etdiyiniz mesajın üzərinə yazacaq. Davam etmək istədiyinizə əminsiniz?",
|
||||
"confirmations.edit.title": "Paylaşım yenidə yazılsın?",
|
||||
"confirmations.follow_to_list.confirm": "İzlə və siyahıya əlavə et",
|
||||
"confirmations.follow_to_list.message": "{name} istifadəçisini siyahıya əlavə etmək üçün onu izləməlisiniz.",
|
||||
"confirmations.follow_to_list.title": "İstifadəçini izlə?",
|
||||
"confirmations.logout.confirm": "Çıxış et",
|
||||
"confirmations.logout.message": "Çıxmaq istədiyinizə əminsiniz?",
|
||||
"confirmations.logout.title": "Çıxış edilsin?",
|
||||
"confirmations.mute.confirm": "Səssizləşdir",
|
||||
"confirmations.redraft.confirm": "Sil və qaralamaya köçür",
|
||||
"confirmations.redraft.message": "Bu paylaşımı silmək və qaralamaya köçürmək istədiyinizə əminsiniz? Bəyənmələr və gücləndirmələr itəcək və orijinal paylaşıma olan cavablar tənha qalacaq.",
|
||||
"confirmations.redraft.title": "Paylaşım silinsin & qaralamaya köçürülsün?",
|
||||
"confirmations.reply.confirm": "Cavabla",
|
||||
"confirmations.reply.message": "İndi cavab vermək hal-hazırda yazdığınız mesajın üzərinə yazacaq. Davam etmək istədiyinizə əminsiniz?",
|
||||
"confirmations.reply.title": "Paylaşım yenidən yazılsın?",
|
||||
"confirmations.unfollow.confirm": "İzləmədən çıxar",
|
||||
"confirmations.unfollow.message": "{name} izləmədən çıxmaq istədiyinizə əminsiniz?",
|
||||
"confirmations.unfollow.title": "İstifadəçi izləmədən çıxarılsın?",
|
||||
"content_warning.hide": "Paylaşımı gizlət",
|
||||
"content_warning.show": "Yenə də göstər",
|
||||
"content_warning.show_more": "Daha çox göstər",
|
||||
"conversation.delete": "Söhbəti sil",
|
||||
"conversation.mark_as_read": "Oxunmuş kimi qeyd et",
|
||||
"conversation.open": "Söhbətə bax",
|
||||
"conversation.with": "{names} ilə",
|
||||
"copy_icon_button.copied": "Mübadilə buferinə köçürüldü",
|
||||
"copypaste.copied": "Kopyalandı",
|
||||
"copypaste.copy_to_clipboard": "Kopyala",
|
||||
"directory.federated": "Bilinən fediversedən",
|
||||
"directory.local": "Sadəcə {domain}",
|
||||
"directory.new_arrivals": "Yeni gələnlər",
|
||||
"directory.recently_active": "Bayaq aktiv olanlar",
|
||||
"disabled_account_banner.account_settings": "Hesab parametrləri",
|
||||
"disabled_account_banner.text": "Sizin hesabınız {disabledAccount} hal-hazırda deaktiv edilib.",
|
||||
"dismissable_banner.community_timeline": "Bunlar, hesabları {domain} serverində yerləşən insanların ən son ictimai paylaşımlarıdır.",
|
||||
"dismissable_banner.dismiss": "Bağla",
|
||||
"dismissable_banner.explore_links": "Bu xəbərlər bu gün fediversedə ən çox paylaşılır. Daha fərqli insanlar tərəfindən dərc edilən daha yeni xəbərlər daha yuxarıda sıralanır.",
|
||||
"dismissable_banner.explore_statuses": "Fediversedən olan bu paylaşımlar bu gün maraq qazanır. Daha çox gücləndirici və bəyənmə olan daha yeni paylaşımlar daha yuxarıda sıralanır.",
|
||||
"domain_block_modal.block_account_instead": "@{name} istifadəçisini blokla",
|
||||
"domain_block_modal.they_can_interact_with_old_posts": "Bu serverdən olan insanlar köhnə paylaşımlarınızla əlaqə qura bilər."
|
||||
}
|
||||
|
|
|
@ -87,6 +87,25 @@
|
|||
"alert.unexpected.title": "Вой!",
|
||||
"alt_text_badge.title": "Альтэрнатыўны тэкст",
|
||||
"announcement.announcement": "Аб'ява",
|
||||
"annual_report.summary.archetype.booster": "Трэнда-сьледнік",
|
||||
"annual_report.summary.archetype.lurker": "Назіральнік",
|
||||
"annual_report.summary.archetype.oracle": "Аракул",
|
||||
"annual_report.summary.archetype.pollster": "Апытвальнік",
|
||||
"annual_report.summary.archetype.replier": "Душа кампанійі",
|
||||
"annual_report.summary.followers.followers": "падпісанты",
|
||||
"annual_report.summary.followers.total": "Усяго {count}",
|
||||
"annual_report.summary.here_it_is": "Вось вашыя вынікі {year} году:",
|
||||
"annual_report.summary.highlighted_post.by_favourites": "самы ўпадабаны допіс",
|
||||
"annual_report.summary.highlighted_post.by_reblogs": "самы пашыраны допіс",
|
||||
"annual_report.summary.highlighted_post.by_replies": "самы каментаваны допіс",
|
||||
"annual_report.summary.highlighted_post.possessive": "{name}",
|
||||
"annual_report.summary.most_used_app.most_used_app": "самая выкарыстоўваная аплікацыя",
|
||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "самы выкарыстоўваны гэштаґ",
|
||||
"annual_report.summary.most_used_hashtag.none": "Няма",
|
||||
"annual_report.summary.new_posts.new_posts": "новыя допісы",
|
||||
"annual_report.summary.percentile.text": "<topLabel>Мэта месьціць вас у топ</topLabel><percentage></percentage><bottomLabel> карыстальнікаў {domain}.</bottomLabel>",
|
||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Мы ня скажам аб гэтым Сіняпальцаму.",
|
||||
"annual_report.summary.thanks": "Дзякуй за ўдзел у Mastodon!",
|
||||
"attachments_list.unprocessed": "(неапрацаваны)",
|
||||
"audio.hide": "Схаваць аўдыя",
|
||||
"block_modal.remote_users_caveat": "Мы папросім сервер {domain} паважаць ваш выбар. Аднак гэта не гарантуецца, паколькі некаторыя серверы могуць апрацоўваць блакіроўкі іншым чынам. Публічныя паведамленні могуць заставацца бачнымі для ананімных карыстальнікаў.",
|
||||
|
@ -110,6 +129,7 @@
|
|||
"bundle_column_error.routing.body": "Запытаная старонка не знойдзена. Вы ўпэўнены, што URL у адрасным радку правільны?",
|
||||
"bundle_column_error.routing.title": "404",
|
||||
"bundle_modal_error.close": "Закрыць",
|
||||
"bundle_modal_error.message": "Падчас загрузкі гэтага экрана штосьці пайшло ня так.",
|
||||
"bundle_modal_error.retry": "Паспрабуйце зноў",
|
||||
"closed_registrations.other_server_instructions": "Паколькі Mastodon дэцэнтралізаваны, вы можаце стварыць уліковы запіс на іншым серверы і працягваць узаемадзейнічаць з ім.",
|
||||
"closed_registrations_modal.description": "Стварэнне ўліковага запісу на {domain} цяпер немагчыма. Заўважце, што няма неабходнасці мець уліковы запіс менавіта на {domain}, каб выкарыстоўваць Mastodon.",
|
||||
|
@ -120,13 +140,16 @@
|
|||
"column.blocks": "Заблакіраваныя карыстальнікі",
|
||||
"column.bookmarks": "Закладкі",
|
||||
"column.community": "Лакальная стужка",
|
||||
"column.create_list": "Стварыць сьпіс",
|
||||
"column.direct": "Асабістыя згадванні",
|
||||
"column.directory": "Праглядзець профілі",
|
||||
"column.domain_blocks": "Заблакіраваныя дамены",
|
||||
"column.edit_list": "Рэдагаваць сьпіс",
|
||||
"column.favourites": "Упадабанае",
|
||||
"column.firehose": "Стужкі",
|
||||
"column.follow_requests": "Запыты на падпіску",
|
||||
"column.home": "Галоўная",
|
||||
"column.list_members": "Кіраваньне карыстальнікамі сьпіса",
|
||||
"column.lists": "Спісы",
|
||||
"column.mutes": "Ігнараваныя карыстальнікі",
|
||||
"column.notifications": "Апавяшчэнні",
|
||||
|
@ -139,6 +162,7 @@
|
|||
"column_header.pin": "Замацаваць",
|
||||
"column_header.show_settings": "Паказаць налады",
|
||||
"column_header.unpin": "Адмацаваць",
|
||||
"column_search.cancel": "Скасаваць",
|
||||
"column_subheading.settings": "Налады",
|
||||
"community.column_settings.local_only": "Толькі лакальныя",
|
||||
"community.column_settings.media_only": "Толькі медыя",
|
||||
|
@ -181,6 +205,9 @@
|
|||
"confirmations.edit.confirm": "Рэдагаваць",
|
||||
"confirmations.edit.message": "Калі вы зменіце зараз, гэта ператрэ паведамленне, якое вы пішаце. Вы ўпэўнены, што хочаце працягнуць?",
|
||||
"confirmations.edit.title": "Замяніць допіс?",
|
||||
"confirmations.follow_to_list.confirm": "Падпісацца й дадаць у сьпіс",
|
||||
"confirmations.follow_to_list.message": "Вы мусіце быць падпісаныя на {name} каб дадаць яго ў сьпіс.",
|
||||
"confirmations.follow_to_list.title": "Падпісацца на карыстальніка?",
|
||||
"confirmations.logout.confirm": "Выйсці",
|
||||
"confirmations.logout.message": "Вы ўпэўненыя, што хочаце выйсці?",
|
||||
"confirmations.logout.title": "Выйсці?",
|
||||
|
@ -212,6 +239,10 @@
|
|||
"disabled_account_banner.text": "Ваш уліковы запіс {disabledAccount} часова адключаны.",
|
||||
"dismissable_banner.community_timeline": "Гэта самыя апошнія допісы ад людзей, уліковыя запісы якіх размяшчаюцца на {domain}.",
|
||||
"dismissable_banner.dismiss": "Адхіліць",
|
||||
"dismissable_banner.explore_links": "Аб гэтых навінах сёньня кажуць на гэтым і йншых сэрвэрах у фэдывёрсу.",
|
||||
"dismissable_banner.explore_statuses": "Гэтыя самыя папулярныя сёньняшнія допісы ў фэдывёрсе.",
|
||||
"dismissable_banner.explore_tags": "Гэтыя гэштаґі набіраюць папулярнасьць у фэдывёрсе сёньня. Гэштаґі якія выкарыстоўваюцца большай колькасьцю людзей зьяўляюцца вышэй у сьпісе.",
|
||||
"dismissable_banner.public_timeline": "Гэта самыя новыя публічныя допісы ад карыстальнікаў фэдывёрсу на якіх падпісаныя карыстальнікі {domain}.",
|
||||
"domain_block_modal.block": "Заблакіраваць сервер",
|
||||
"domain_block_modal.block_account_instead": "Заблакіраваць @{name} замест гэтага",
|
||||
"domain_block_modal.they_can_interact_with_old_posts": "Людзі з гэтага сервера змогуць узаемадзейнічаць з вашымі старымі допісамі.",
|
||||
|
@ -331,8 +362,10 @@
|
|||
"footer.privacy_policy": "Палітыка прыватнасці",
|
||||
"footer.source_code": "Прагледзець зыходны код",
|
||||
"footer.status": "Статус",
|
||||
"footer.terms_of_service": "Умовы абслугоўваньня",
|
||||
"generic.saved": "Захавана",
|
||||
"getting_started.heading": "Пачатак працы",
|
||||
"hashtag.admin_moderation": "Адкрыць інтэрфэйс мадаратара для #{name}",
|
||||
"hashtag.column_header.tag_mode.all": "і {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "або {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "без {additional}",
|
||||
|
@ -351,6 +384,11 @@
|
|||
"hints.profiles.followers_may_be_missing": "Падпісчыкі гэтага профілю могуць адсутнічаць.",
|
||||
"hints.profiles.follows_may_be_missing": "Падпіскі гэтага профілю могуць адсутнічаць.",
|
||||
"hints.profiles.posts_may_be_missing": "Некаторыя допісы гэтага профілю могуць адсутнічаць.",
|
||||
"hints.profiles.see_more_followers": "Глядзець больш падпісаных на {domain}",
|
||||
"hints.profiles.see_more_follows": "Глядзець больш падпісак на {domain}",
|
||||
"hints.profiles.see_more_posts": "Глядзець больш допісаў на {domain}",
|
||||
"hints.threads.replies_may_be_missing": "Адказы зь іншых сэрвэраў могуць адсутнічаць.",
|
||||
"hints.threads.see_more": "Глядзіце больш адказаў на {domain}",
|
||||
"home.column_settings.show_reblogs": "Паказваць пашырэнні",
|
||||
"home.column_settings.show_replies": "Паказваць адказы",
|
||||
"home.hide_announcements": "Схаваць аб'явы",
|
||||
|
@ -358,7 +396,19 @@
|
|||
"home.pending_critical_update.link": "Прагледзець абнаўленні",
|
||||
"home.pending_critical_update.title": "Даступна крытычнае абнаўленне бяспекі!",
|
||||
"home.show_announcements": "Паказаць аб'явы",
|
||||
"ignore_notifications_modal.disclaimer": "Mastodon ня можа йнфармаваць карыстальнікаў аб тым, што вы прайігнаравалі йх паведамленьні. Ігнараваньне паведамленьняў не спыніць іх адпраўку.",
|
||||
"ignore_notifications_modal.filter_instead": "Замест гэтага адфільтраваць",
|
||||
"ignore_notifications_modal.filter_to_act_users": "Вы па-ранейшаму зможаце прымаць, адхіляць ці скардзіцца на карыстальнікаў",
|
||||
"ignore_notifications_modal.filter_to_avoid_confusion": "Фільтраваньне дапамагае пазьбегнуць патэнцыйнай блытаніны",
|
||||
"ignore_notifications_modal.filter_to_review_separately": "Вы можаце прагледзець адфільтраваныя паведамленьні асобна",
|
||||
"ignore_notifications_modal.ignore": "Ігнараваць паведамленьні",
|
||||
"ignore_notifications_modal.limited_accounts_title": "Ігнараваць паведамленьні ад абмежаваных уліковых запісаў?",
|
||||
"ignore_notifications_modal.new_accounts_title": "Ігнараваць паведамленьні ад новых уліковых запісаў?",
|
||||
"ignore_notifications_modal.not_followers_title": "Ігнараваць паведамленьні ад людзей, якія ня падпісаныя на вас?",
|
||||
"ignore_notifications_modal.not_following_title": "Ігнараваць апавяшчэнні ад людзей на якіх вы не падпісаны?",
|
||||
"ignore_notifications_modal.private_mentions_title": "Ігнараваць паведамленьні аб непажаданых прыватных згадках?",
|
||||
"interaction_modal.action.favourite": "Каб працягнуць, вы мусіце ўпадабаць з вашага ўліковага запісу.",
|
||||
"interaction_modal.action.follow": "Каб працягнуць, вы мусіце падпісацца з вашага ўліковага запісу.",
|
||||
"interaction_modal.on_another_server": "На іншым серверы",
|
||||
"interaction_modal.on_this_server": "На гэтым серверы",
|
||||
"interaction_modal.title.favourite": "Упадабаць допіс {name}",
|
||||
|
@ -540,6 +590,7 @@
|
|||
"notifications.policy.accept_hint": "Паказваць у апавяшчэннях",
|
||||
"notifications.policy.drop": "Iгнараваць",
|
||||
"notifications.policy.filter": "Фільтраваць",
|
||||
"notifications.policy.filter_limited_accounts_title": "Абмежаваныя ўліковыя запісы",
|
||||
"notifications.policy.filter_new_accounts.hint": "Створаныя на працягу {days, plural, one {апошняга # дня} few {апошніх # дзён} many {апошніх # дзён} other {апошняй # дня}}",
|
||||
"notifications.policy.filter_new_accounts_title": "Новыя ўліковыя запісы",
|
||||
"notifications.policy.filter_not_followers_hint": "Уключаючы людзей, якія падпісаны на вас менш, чым {days, plural, one {# дзень} few {# дні} many {# дзён} other {# дня}}",
|
||||
|
@ -552,7 +603,11 @@
|
|||
"notifications_permission_banner.enable": "Уключыць апавяшчэнні на працоўным стале",
|
||||
"notifications_permission_banner.how_to_control": "Каб атрымліваць апавяшчэнні, калі Mastodon не адкрыты, уключыце апавяшчэнні працоўнага стала. Вы зможаце дакладна кантраляваць, якія падзеі будуць ствараць апавяшчэнні з дапамогай {icon} кнопкі, як толькі яны будуць уключаны.",
|
||||
"notifications_permission_banner.title": "Не прапусціце нічога",
|
||||
"onboarding.follows.back": "Назад",
|
||||
"onboarding.follows.done": "Гатова",
|
||||
"onboarding.follows.empty": "На жаль, зараз немагчыма паказаць вынікі. Вы можаце паспрабаваць выкарыстоўваць пошук і праглядзець старонку агляду, каб знайсці людзей, на якіх можна падпісацца, або паўтарыце спробу пазней.",
|
||||
"onboarding.follows.search": "Пошук",
|
||||
"onboarding.follows.title": "Падпішыцеся каб пачаць",
|
||||
"onboarding.profile.discoverable": "Зрабіць мой профіль бачным",
|
||||
"onboarding.profile.discoverable_hint": "Калі вы звяртаецеся да адкрытасці на Mastodon, вашы паведамленні могуць з'яўляцца ў выніках пошуку і тэндэнцый, а ваш профіль можа быць прапанаваны людзям з такімі ж інтарэсамі.",
|
||||
"onboarding.profile.display_name": "Бачнае імя",
|
||||
|
@ -590,6 +645,8 @@
|
|||
"privacy_policy.title": "Палітыка канфідэнцыйнасці",
|
||||
"recommended": "Рэкамендуем",
|
||||
"refresh": "Абнавiць",
|
||||
"regeneration_indicator.please_stand_by": "Калі ласка, пачакайце.",
|
||||
"regeneration_indicator.preparing_your_home_feed": "Рыхтуем вашую стужку…",
|
||||
"relative_time.days": "{number} д",
|
||||
"relative_time.full.days": "{number, plural, one {# дзень} few {# дні} many {# дзён} other {# дня}} таму",
|
||||
"relative_time.full.hours": "{number, plural, one {# гадзіна} few {# гадзіны} many {# гадзін} other {# гадзіны}} таму",
|
||||
|
@ -673,8 +730,11 @@
|
|||
"search_results.accounts": "Профілі",
|
||||
"search_results.all": "Усё",
|
||||
"search_results.hashtags": "Хэштэгі",
|
||||
"search_results.no_results": "Анічога ня знойдзена.",
|
||||
"search_results.no_search_yet": "Паспрабуйце пашукаць допісы, профілі або гэштаґі.",
|
||||
"search_results.see_all": "Праглядзець усе",
|
||||
"search_results.statuses": "Допісы",
|
||||
"search_results.title": "Шукаць \"{q}\"",
|
||||
"server_banner.about_active_users": "Людзі, якія карыстаюцца гэтым сервера на працягу апошніх 30 дзён (Штомесячна Актыўныя Карыстальнікі)",
|
||||
"server_banner.active_users": "актыўныя карыстальнікі",
|
||||
"server_banner.administered_by": "Адміністратар:",
|
||||
|
@ -692,6 +752,7 @@
|
|||
"status.bookmark": "Дадаць закладку",
|
||||
"status.cancel_reblog_private": "Прыбраць",
|
||||
"status.cannot_reblog": "Гэты пост нельга пашырыць",
|
||||
"status.continued_thread": "Працяг тэмы",
|
||||
"status.copy": "Скапіраваць спасылку на допіс",
|
||||
"status.delete": "Выдаліць",
|
||||
"status.detailed_status": "Дэтальны агляд размовы",
|
||||
|
@ -725,6 +786,7 @@
|
|||
"status.reblogs.empty": "Гэты допіс яшчэ ніхто не пашырыў. Калі гэта адбудзецца, гэтых людзей будзе бачна тут.",
|
||||
"status.redraft": "Выдаліць і паправіць",
|
||||
"status.remove_bookmark": "Выдаліць закладку",
|
||||
"status.replied_in_thread": "Адказаў у тэме",
|
||||
"status.replied_to": "Адказаў {name}",
|
||||
"status.reply": "Адказаць",
|
||||
"status.replyAll": "Адказаць у ланцугу",
|
||||
|
@ -745,6 +807,7 @@
|
|||
"subscribed_languages.target": "Змяніць мовы падпіскі для {target}",
|
||||
"tabs_bar.home": "Галоўная",
|
||||
"tabs_bar.notifications": "Апавяшчэнні",
|
||||
"terms_of_service.title": "Умовы абслугоўваньня",
|
||||
"time_remaining.days": "{number, plural, one {застаўся # дзень} few {засталося # дні} many {засталося # дзён} other {засталося # дня}}",
|
||||
"time_remaining.hours": "{number, plural, one {засталася # гадзіна} few {засталося # гадзіны} many {засталося # гадзін} other {засталося # гадзіны}}",
|
||||
"time_remaining.minutes": "{number, plural, one {засталася # хвіліна} few {засталося # хвіліны} many {засталося # хвілін} other {засталося # хвіліны}}",
|
||||
|
|
|
@ -457,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Показване/скриване на текст зад предупреждение на съдържание",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Показване/скриване на мултимедията",
|
||||
"keyboard_shortcuts.toot": "Начало на нова публикация",
|
||||
"keyboard_shortcuts.translate": "за превод на публикация",
|
||||
"keyboard_shortcuts.unfocus": "Разфокусиране на текстовото поле за съставяне/търсене",
|
||||
"keyboard_shortcuts.up": "Преместване нагоре в списъка",
|
||||
"lightbox.close": "Затваряне",
|
||||
|
@ -836,6 +837,7 @@
|
|||
"status.reblogs.empty": "Още никого не е подсилвал публикацията. Подсилващият ще се покаже тук.",
|
||||
"status.redraft": "Изтриване и преработване",
|
||||
"status.remove_bookmark": "Премахване на отметката",
|
||||
"status.remove_favourite": "Премахване от любими",
|
||||
"status.replied_in_thread": "Отговорено в нишката",
|
||||
"status.replied_to": "В отговор до {name}",
|
||||
"status.reply": "Отговор",
|
||||
|
|
|
@ -407,6 +407,11 @@
|
|||
"ignore_notifications_modal.not_followers_title": "Voleu ignorar les notificacions de qui no us segueix?",
|
||||
"ignore_notifications_modal.not_following_title": "Voleu ignorar les notificacions de qui no seguiu?",
|
||||
"ignore_notifications_modal.private_mentions_title": "Voleu ignorar les notificacions de mencions privades no sol·licitades?",
|
||||
"interaction_modal.action.favourite": "Per a continuar heu d'afavorir des del vostre compte.",
|
||||
"interaction_modal.action.follow": "Per a continuar heu de seguir des del vostre compte.",
|
||||
"interaction_modal.action.reblog": "Per a continuar heu d'impulsar des del vostre compte.",
|
||||
"interaction_modal.action.reply": "Per a continuar heu de respondre des del vostre compte.",
|
||||
"interaction_modal.action.vote": "Per a continuar heu de votar des del vostre compte.",
|
||||
"interaction_modal.go": "Endavant",
|
||||
"interaction_modal.no_account_yet": "Encara no teniu cap compte?",
|
||||
"interaction_modal.on_another_server": "A un altre servidor",
|
||||
|
@ -452,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Mostra/amaga el text marcat com a sensible",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Mostra/amaga contingut",
|
||||
"keyboard_shortcuts.toot": "Escriu un nou tut",
|
||||
"keyboard_shortcuts.translate": "per a traduir una publicació",
|
||||
"keyboard_shortcuts.unfocus": "Descentra l'àrea de composició de text/cerca",
|
||||
"keyboard_shortcuts.up": "Apuja a la llista",
|
||||
"lightbox.close": "Tanca",
|
||||
|
@ -687,7 +693,7 @@
|
|||
"privacy.unlisted.long": "Menys fanfàrries algorísmiques",
|
||||
"privacy.unlisted.short": "Públic silenciós",
|
||||
"privacy_policy.last_updated": "Darrera actualització {date}",
|
||||
"privacy_policy.title": "Política de Privacitat",
|
||||
"privacy_policy.title": "Política de privadesa",
|
||||
"recommended": "Recomanat",
|
||||
"refresh": "Actualitza",
|
||||
"regeneration_indicator.please_stand_by": "Espereu.",
|
||||
|
@ -831,6 +837,7 @@
|
|||
"status.reblogs.empty": "Encara no ha impulsat ningú aquest tut. Quan algú ho faci, apareixerà aquí.",
|
||||
"status.redraft": "Esborra i reescriu",
|
||||
"status.remove_bookmark": "Elimina el marcador",
|
||||
"status.remove_favourite": "Elimina dels preferits",
|
||||
"status.replied_in_thread": "Respost al fil",
|
||||
"status.replied_to": "En resposta a {name}",
|
||||
"status.reply": "Respon",
|
||||
|
|
|
@ -85,7 +85,26 @@
|
|||
"alert.rate_limited.title": "Spojení omezena",
|
||||
"alert.unexpected.message": "Objevila se neočekávaná chyba.",
|
||||
"alert.unexpected.title": "Jejda!",
|
||||
"alt_text_badge.title": "Popisek",
|
||||
"announcement.announcement": "Oznámení",
|
||||
"annual_report.summary.archetype.booster": "Lovec obsahu",
|
||||
"annual_report.summary.archetype.lurker": "Špión",
|
||||
"annual_report.summary.archetype.oracle": "Vědma",
|
||||
"annual_report.summary.archetype.pollster": "Průzkumník",
|
||||
"annual_report.summary.archetype.replier": "Sociální motýlek",
|
||||
"annual_report.summary.followers.followers": "sledujících",
|
||||
"annual_report.summary.followers.total": "{count} celkem",
|
||||
"annual_report.summary.here_it_is": "Zde je tvůj {year} v přehledu:",
|
||||
"annual_report.summary.highlighted_post.by_favourites": "nejvíce oblíbený příspěvek",
|
||||
"annual_report.summary.highlighted_post.by_reblogs": "nejvíce boostovaný příspěvek",
|
||||
"annual_report.summary.highlighted_post.by_replies": "příspěvek s nejvíce odpověďmi",
|
||||
"annual_report.summary.highlighted_post.possessive": "{name}",
|
||||
"annual_report.summary.most_used_app.most_used_app": "nejpoužívanější aplikace",
|
||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "nejpoužívanější hashtag",
|
||||
"annual_report.summary.most_used_hashtag.none": "Žádné",
|
||||
"annual_report.summary.new_posts.new_posts": "nové příspěvky",
|
||||
"annual_report.summary.percentile.text": "<topLabel>To vás umisťuje do vrcholu</topLabel><percentage></percentage><bottomLabel>{domain} uživatelů.</bottomLabel>",
|
||||
"annual_report.summary.thanks": "Děkujeme, že jste součástí Mastodonu!",
|
||||
"attachments_list.unprocessed": "(nezpracováno)",
|
||||
"audio.hide": "Skrýt zvuk",
|
||||
"block_modal.remote_users_caveat": "Požádáme server {domain}, aby respektoval vaše rozhodnutí. Úplné dodržování nastavení však není zaručeno, protože některé servery mohou řešit blokování různě. Veřejné příspěvky mohou stále být viditelné pro nepřihlášené uživatele.",
|
||||
|
@ -109,6 +128,7 @@
|
|||
"bundle_column_error.routing.body": "Požadovaná stránka nebyla nalezena. Opravdu je URL v adresním řádku správně?",
|
||||
"bundle_column_error.routing.title": "404",
|
||||
"bundle_modal_error.close": "Zavřít",
|
||||
"bundle_modal_error.message": "Něco se pokazilo při načítání této obrazovky.",
|
||||
"bundle_modal_error.retry": "Zkusit znovu",
|
||||
"closed_registrations.other_server_instructions": "Protože Mastodon je decentralizovaný, můžete si vytvořit účet na jiném serveru a přesto komunikovat s tímto serverem.",
|
||||
"closed_registrations_modal.description": "V současné době není možné vytvořit účet na {domain}, ale mějte prosím na paměti, že k používání Mastodonu nepotřebujete účet konkrétně na {domain}.",
|
||||
|
@ -119,13 +139,16 @@
|
|||
"column.blocks": "Blokovaní uživatelé",
|
||||
"column.bookmarks": "Záložky",
|
||||
"column.community": "Místní časová osa",
|
||||
"column.create_list": "Vytvořit seznam",
|
||||
"column.direct": "Soukromé zmínky",
|
||||
"column.directory": "Prozkoumat profily",
|
||||
"column.domain_blocks": "Blokované domény",
|
||||
"column.edit_list": "Upravit seznam",
|
||||
"column.favourites": "Oblíbené",
|
||||
"column.firehose": "Živé kanály",
|
||||
"column.follow_requests": "Žádosti o sledování",
|
||||
"column.home": "Domů",
|
||||
"column.list_members": "Spravovat členy seznamu",
|
||||
"column.lists": "Seznamy",
|
||||
"column.mutes": "Skrytí uživatelé",
|
||||
"column.notifications": "Oznámení",
|
||||
|
@ -138,6 +161,7 @@
|
|||
"column_header.pin": "Připnout",
|
||||
"column_header.show_settings": "Zobrazit nastavení",
|
||||
"column_header.unpin": "Odepnout",
|
||||
"column_search.cancel": "Zrušit",
|
||||
"column_subheading.settings": "Nastavení",
|
||||
"community.column_settings.local_only": "Pouze místní",
|
||||
"community.column_settings.media_only": "Pouze média",
|
||||
|
@ -179,6 +203,8 @@
|
|||
"confirmations.edit.confirm": "Upravit",
|
||||
"confirmations.edit.message": "Editovat teď znamená přepsání zprávy, kterou právě tvoříte. Opravdu chcete pokračovat?",
|
||||
"confirmations.edit.title": "Přepsat příspěvek?",
|
||||
"confirmations.follow_to_list.confirm": "Sledovat a přidat do seznamu",
|
||||
"confirmations.follow_to_list.title": "Sledovat uživatele?",
|
||||
"confirmations.logout.confirm": "Odhlásit se",
|
||||
"confirmations.logout.message": "Opravdu se chcete odhlásit?",
|
||||
"confirmations.logout.title": "Odhlásit se?",
|
||||
|
@ -193,6 +219,8 @@
|
|||
"confirmations.unfollow.message": "Opravdu chcete {name} přestat sledovat?",
|
||||
"confirmations.unfollow.title": "Přestat sledovat uživatele?",
|
||||
"content_warning.hide": "Skrýt příspěvek",
|
||||
"content_warning.show": "Přesto zobrazit",
|
||||
"content_warning.show_more": "Zobrazit více",
|
||||
"conversation.delete": "Smazat konverzaci",
|
||||
"conversation.mark_as_read": "Označit jako přečtené",
|
||||
"conversation.open": "Zobrazit konverzaci",
|
||||
|
@ -293,6 +321,7 @@
|
|||
"filter_modal.select_filter.subtitle": "Použít existující kategorii nebo vytvořit novou kategorii",
|
||||
"filter_modal.select_filter.title": "Filtrovat tento příspěvek",
|
||||
"filter_modal.title.status": "Filtrovat příspěvek",
|
||||
"filter_warning.matches_filter": "Odpovídá filtru “<span>{title}</span>”",
|
||||
"filtered_notifications_banner.title": "Filtrovaná oznámení",
|
||||
"firehose.all": "Vše",
|
||||
"firehose.local": "Tento server",
|
||||
|
@ -323,6 +352,7 @@
|
|||
"footer.privacy_policy": "Zásady ochrany osobních údajů",
|
||||
"footer.source_code": "Zobrazit zdrojový kód",
|
||||
"footer.status": "Stav",
|
||||
"footer.terms_of_service": "Obchodní podmínky",
|
||||
"generic.saved": "Uloženo",
|
||||
"getting_started.heading": "Začínáme",
|
||||
"hashtag.column_header.tag_mode.all": "a {additional}",
|
||||
|
@ -340,6 +370,10 @@
|
|||
"hashtag.follow": "Sledovat hashtag",
|
||||
"hashtag.unfollow": "Přestat sledovat hashtag",
|
||||
"hashtags.and_other": "…a {count, plural, one {# další} few {# další} other {# dalších}}",
|
||||
"hints.profiles.see_more_followers": "Zobrazit více sledujících na {domain}",
|
||||
"hints.profiles.see_more_follows": "Zobrazit další sledování na {domain}",
|
||||
"hints.profiles.see_more_posts": "Zobrazit další příspěvky na {domain}",
|
||||
"hints.threads.see_more": "Zobrazit další odpovědi na {domain}",
|
||||
"home.column_settings.show_reblogs": "Zobrazit boosty",
|
||||
"home.column_settings.show_replies": "Zobrazit odpovědi",
|
||||
"home.hide_announcements": "Skrýt oznámení",
|
||||
|
@ -347,12 +381,17 @@
|
|||
"home.pending_critical_update.link": "Zobrazit aktualizace",
|
||||
"home.pending_critical_update.title": "K dispozici je kritická bezpečnostní aktualizace!",
|
||||
"home.show_announcements": "Zobrazit oznámení",
|
||||
"ignore_notifications_modal.ignore": "Ignorovat oznámení",
|
||||
"interaction_modal.go": "Přejít",
|
||||
"interaction_modal.no_account_yet": "Ještě nemáte účet?",
|
||||
"interaction_modal.on_another_server": "Na jiném serveru",
|
||||
"interaction_modal.on_this_server": "Na tomto serveru",
|
||||
"interaction_modal.title.favourite": "Oblíbit si příspěvek od uživatele {name}",
|
||||
"interaction_modal.title.follow": "Sledovat {name}",
|
||||
"interaction_modal.title.reblog": "Boostnout příspěvek uživatele {name}",
|
||||
"interaction_modal.title.reply": "Odpovědět na příspěvek uživatele {name}",
|
||||
"interaction_modal.title.vote": "Hlasujte v anketě {name}",
|
||||
"interaction_modal.username_prompt": "např. {example}",
|
||||
"intervals.full.days": "{number, plural, one {# den} few {# dny} many {# dní} other {# dní}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hodina} few {# hodiny} many {# hodin} other {# hodin}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuta} few {# minuty} many {# minut} other {# minut}}",
|
||||
|
@ -388,6 +427,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Zobrazit/skrýt text za varováním o obsahu",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Zobrazit/skrýt média",
|
||||
"keyboard_shortcuts.toot": "Začít nový příspěvek",
|
||||
"keyboard_shortcuts.translate": "k přeložení příspěvku",
|
||||
"keyboard_shortcuts.unfocus": "Zrušit zaměření na nový příspěvek/hledání",
|
||||
"keyboard_shortcuts.up": "Posunout v seznamu nahoru",
|
||||
"lightbox.close": "Zavřít",
|
||||
|
@ -398,13 +438,29 @@
|
|||
"link_preview.author": "Podle {name}",
|
||||
"link_preview.more_from_author": "Více od {name}",
|
||||
"link_preview.shares": "{count, plural, one {{counter} příspěvek} few {{counter} příspěvky} many {{counter} příspěvků} other {{counter} příspěvků}}",
|
||||
"lists.add_member": "Přidat",
|
||||
"lists.add_to_lists": "Přidat {name} do seznamů",
|
||||
"lists.create": "Vytvořit",
|
||||
"lists.create_list": "Vytvořit seznam",
|
||||
"lists.delete": "Smazat seznam",
|
||||
"lists.done": "Hotovo",
|
||||
"lists.edit": "Upravit seznam",
|
||||
"lists.find_users_to_add": "Najít uživatele, které chcete přidat",
|
||||
"lists.list_members": "Členové seznamu",
|
||||
"lists.list_name": "Název seznamu",
|
||||
"lists.new_list_name": "Název nového seznamu",
|
||||
"lists.no_lists_yet": "Zatím žádné seznamy.",
|
||||
"lists.no_members_yet": "Zatím žádní členové.",
|
||||
"lists.no_results_found": "Nebyly nalezeny žádné výsledky.",
|
||||
"lists.remove_member": "Odstranit",
|
||||
"lists.replies_policy.followed": "Sledovaným uživatelům",
|
||||
"lists.replies_policy.list": "Členům seznamu",
|
||||
"lists.replies_policy.none": "Nikomu",
|
||||
"lists.save": "Uložit",
|
||||
"lists.search": "Hledat",
|
||||
"load_pending": "{count, plural, one {# nová položka} few {# nové položky} many {# nových položek} other {# nových položek}}",
|
||||
"loading_indicator.label": "Načítání…",
|
||||
"media_gallery.hide": "Skrýt",
|
||||
"moved_to_account_banner.text": "Váš účet {disabledAccount} je momentálně deaktivován, protože jste se přesunul/a na {movedToAccount}.",
|
||||
"mute_modal.hide_from_notifications": "Skrýt z notifikací",
|
||||
"mute_modal.hide_options": "Skrýt možnosti",
|
||||
|
@ -416,6 +472,7 @@
|
|||
"mute_modal.you_wont_see_mentions": "Neuvidíte příspěvky, které je zmiňují.",
|
||||
"mute_modal.you_wont_see_posts": "Stále budou moci vidět vaše příspěvky, ale vy jejich neuvidíte.",
|
||||
"navigation_bar.about": "O aplikaci",
|
||||
"navigation_bar.administration": "Administrace",
|
||||
"navigation_bar.advanced_interface": "Otevřít pokročilé webové rozhraní",
|
||||
"navigation_bar.blocks": "Blokovaní uživatelé",
|
||||
"navigation_bar.bookmarks": "Záložky",
|
||||
|
@ -432,6 +489,7 @@
|
|||
"navigation_bar.follows_and_followers": "Sledovaní a sledující",
|
||||
"navigation_bar.lists": "Seznamy",
|
||||
"navigation_bar.logout": "Odhlásit se",
|
||||
"navigation_bar.moderation": "Moderace",
|
||||
"navigation_bar.mutes": "Skrytí uživatelé",
|
||||
"navigation_bar.opened_in_classic_interface": "Příspěvky, účty a další specifické stránky jsou ve výchozím nastavení otevřeny v klasickém webovém rozhraní.",
|
||||
"navigation_bar.personal": "Osobní",
|
||||
|
@ -448,6 +506,11 @@
|
|||
"notification.favourite": "Uživatel {name} si oblíbil váš příspěvek",
|
||||
"notification.follow": "Uživatel {name} vás začal sledovat",
|
||||
"notification.follow_request": "Uživatel {name} požádal o povolení vás sledovat",
|
||||
"notification.label.mention": "Zmínka",
|
||||
"notification.label.private_mention": "Soukromá zmínka",
|
||||
"notification.label.reply": "Odpověď",
|
||||
"notification.mention": "Zmínka",
|
||||
"notification.mentioned_you": "{name} vás zmínil",
|
||||
"notification.moderation-warning.learn_more": "Zjistit více",
|
||||
"notification.moderation_warning": "Obdrželi jste moderační varování",
|
||||
"notification.moderation_warning.action_delete_statuses": "Některé z vašich příspěvků byly odstraněny.",
|
||||
|
@ -468,11 +531,15 @@
|
|||
"notification.status": "Uživatel {name} právě přidal příspěvek",
|
||||
"notification.update": "Uživatel {name} upravil příspěvek",
|
||||
"notification_requests.accept": "Přijmout",
|
||||
"notification_requests.confirm_accept_multiple.title": "Přijmout žádosti o oznámení?",
|
||||
"notification_requests.dismiss": "Zamítnout",
|
||||
"notification_requests.edit_selection": "Upravit",
|
||||
"notification_requests.exit_selection": "Hotovo",
|
||||
"notification_requests.maximize": "Maximalizovat",
|
||||
"notification_requests.minimize_banner": "Minimalizovat banner filtrovaných oznámení",
|
||||
"notification_requests.notifications_from": "Oznámení od {name}",
|
||||
"notification_requests.title": "Vyfiltrovaná oznámení",
|
||||
"notification_requests.view": "Zobrazit oznámení",
|
||||
"notifications.clear": "Vyčistit oznámení",
|
||||
"notifications.clear_confirmation": "Opravdu chcete trvale smazat všechna vaše oznámení?",
|
||||
"notifications.clear_title": "Vyčistit oznámení?",
|
||||
|
@ -484,6 +551,7 @@
|
|||
"notifications.column_settings.filter_bar.category": "Panel rychlého filtrování",
|
||||
"notifications.column_settings.follow": "Noví sledující:",
|
||||
"notifications.column_settings.follow_request": "Nové žádosti o sledování:",
|
||||
"notifications.column_settings.group": "Skupina",
|
||||
"notifications.column_settings.mention": "Zmínky:",
|
||||
"notifications.column_settings.poll": "Výsledky anket:",
|
||||
"notifications.column_settings.push": "Push oznámení",
|
||||
|
@ -507,6 +575,13 @@
|
|||
"notifications.permission_denied": "Oznámení na ploše nejsou k dispozici, protože byla zamítnuta žádost o oprávnění je zobrazovat",
|
||||
"notifications.permission_denied_alert": "Oznámení na ploše není možné zapnout, protože oprávnění bylo v minulosti zamítnuto",
|
||||
"notifications.permission_required": "Oznámení na ploše nejsou k dispozici, protože nebylo uděleno potřebné oprávnění.",
|
||||
"notifications.policy.accept": "Přijmout",
|
||||
"notifications.policy.accept_hint": "Zobrazit v oznámeních",
|
||||
"notifications.policy.drop": "Ignorovat",
|
||||
"notifications.policy.filter": "Filtrovat",
|
||||
"notifications.policy.filter_hint": "Odeslat do filtrované schránky oznámení",
|
||||
"notifications.policy.filter_limited_accounts_hint": "Omezeno moderátory serveru",
|
||||
"notifications.policy.filter_limited_accounts_title": "Moderované účty",
|
||||
"notifications.policy.filter_new_accounts.hint": "Vytvořeno během {days, plural, one {včerejška} few {posledních # dnů} many {posledních # dní} other {posledních # dní}}",
|
||||
"notifications.policy.filter_new_accounts_title": "Nové účty",
|
||||
"notifications.policy.filter_not_followers_hint": "Včetně lidí, kteří vás sledovali méně než {days, plural, one {jeden den} few {# dny} many {# dní} other {# dní}}",
|
||||
|
@ -515,10 +590,15 @@
|
|||
"notifications.policy.filter_not_following_title": "Lidé, které nesledujete",
|
||||
"notifications.policy.filter_private_mentions_hint": "Vyfiltrováno, pokud to není odpověď na vaši zmínku nebo pokud sledujete odesílatele",
|
||||
"notifications.policy.filter_private_mentions_title": "Nevyžádané soukromé zmínky",
|
||||
"notifications.policy.title": "Spravovat oznámení od…",
|
||||
"notifications_permission_banner.enable": "Povolit oznámení na ploše",
|
||||
"notifications_permission_banner.how_to_control": "Chcete-li dostávat oznámení, i když nemáte Mastodon otevřený, povolte oznámení na ploše. Můžete si zvolit, o kterých druzích interakcí chcete být oznámením na ploše informování pod tlačítkem {icon} výše.",
|
||||
"notifications_permission_banner.title": "Nenechte si nic uniknout",
|
||||
"onboarding.follows.back": "Zpět",
|
||||
"onboarding.follows.done": "Hotovo",
|
||||
"onboarding.follows.empty": "Bohužel, žádné výsledky nelze momentálně zobrazit. Můžete zkusit vyhledat nebo procházet stránku s průzkumem a najít lidi, kteří budou sledovat, nebo to zkuste znovu později.",
|
||||
"onboarding.follows.search": "Hledat",
|
||||
"onboarding.follows.title": "Sledujte lidi a začněte",
|
||||
"onboarding.profile.discoverable": "Udělat svůj profil vyhledatelným",
|
||||
"onboarding.profile.discoverable_hint": "Když se rozhodnete být vyhledatelný na Mastodonu, vaše příspěvky se mohou objevit ve výsledcích vyhledávání a v populárních, a váš profil může být navrhován lidem s podobnými zájmy.",
|
||||
"onboarding.profile.display_name": "Zobrazované jméno",
|
||||
|
@ -556,6 +636,8 @@
|
|||
"privacy_policy.title": "Zásady ochrany osobních údajů",
|
||||
"recommended": "Doporučeno",
|
||||
"refresh": "Obnovit",
|
||||
"regeneration_indicator.please_stand_by": "Počkej prosím.",
|
||||
"regeneration_indicator.preparing_your_home_feed": "Připravujeme vaší domovskou stránku…",
|
||||
"relative_time.days": "{number} d",
|
||||
"relative_time.full.days": "před {number, plural, one {# dnem} few {# dny} many {# dny} other {# dny}}",
|
||||
"relative_time.full.hours": "před {number, plural, one {# hodinou} few {# hodinami} many {# hodinami} other {# hodinami}}",
|
||||
|
@ -639,8 +721,11 @@
|
|||
"search_results.accounts": "Profily",
|
||||
"search_results.all": "Vše",
|
||||
"search_results.hashtags": "Hashtagy",
|
||||
"search_results.no_results": "Nelze najít.",
|
||||
"search_results.no_search_yet": "Zkuste vyhledat příspěvky, profily nebo hashtagy.",
|
||||
"search_results.see_all": "Zobrazit vše",
|
||||
"search_results.statuses": "Příspěvky",
|
||||
"search_results.title": "Hledat \"{q}\"",
|
||||
"server_banner.about_active_users": "Lidé používající tento server během posledních 30 dní (měsíční aktivní uživatelé)",
|
||||
"server_banner.active_users": "aktivní uživatelé",
|
||||
"server_banner.administered_by": "Spravováno:",
|
||||
|
@ -658,6 +743,7 @@
|
|||
"status.bookmark": "Přidat do záložek",
|
||||
"status.cancel_reblog_private": "Zrušit boostnutí",
|
||||
"status.cannot_reblog": "Tento příspěvek nemůže být boostnutý",
|
||||
"status.continued_thread": "Pokračuje ve vlákně",
|
||||
"status.copy": "Zkopírovat odkaz na příspěvek",
|
||||
"status.delete": "Smazat",
|
||||
"status.detailed_status": "Podrobné zobrazení konverzace",
|
||||
|
@ -666,6 +752,7 @@
|
|||
"status.edit": "Upravit",
|
||||
"status.edited": "Naposledy upraveno {date}",
|
||||
"status.edited_x_times": "Upraveno {count, plural, one {{count}krát} few {{count}krát} many {{count}krát} other {{count}krát}}",
|
||||
"status.embed": "Získejte kód pro vložení",
|
||||
"status.favourite": "Oblíbit",
|
||||
"status.favourites": "{count, plural, one {oblíbený} few {oblíbené} many {oblíbených} other {oblíbených}}",
|
||||
"status.filter": "Filtrovat tento příspěvek",
|
||||
|
@ -690,6 +777,8 @@
|
|||
"status.reblogs.empty": "Tento příspěvek ještě nikdo neboostnul. Pokud to někdo udělá, zobrazí se zde.",
|
||||
"status.redraft": "Smazat a přepsat",
|
||||
"status.remove_bookmark": "Odstranit ze záložek",
|
||||
"status.remove_favourite": "Odebrat z oblíbených",
|
||||
"status.replied_in_thread": "Odpověděli ve vlákně",
|
||||
"status.replied_to": "Odpověděl/a uživateli {name}",
|
||||
"status.reply": "Odpovědět",
|
||||
"status.replyAll": "Odpovědět na vlákno",
|
||||
|
@ -710,6 +799,7 @@
|
|||
"subscribed_languages.target": "Změnit odebírané jazyky na {target}",
|
||||
"tabs_bar.home": "Domů",
|
||||
"tabs_bar.notifications": "Oznámení",
|
||||
"terms_of_service.title": "Podmínky služby",
|
||||
"time_remaining.days": "{number, plural, one {Zbývá # den} few {Zbývají # dny} many {Zbývá # dní} other {Zbývá # dní}}",
|
||||
"time_remaining.hours": "{number, plural, one {Zbývá # hodina} few {Zbývají # hodiny} many {Zbývá # hodin} other {Zbývá # hodin}}",
|
||||
"time_remaining.minutes": "{number, plural, one {Zbývá # minuta} few {Zbývají # minuty} many {Zbývá # minut} other {Zbývá # minut}}",
|
||||
|
@ -727,6 +817,11 @@
|
|||
"upload_error.poll": "Nahrávání souborů není povoleno s anketami.",
|
||||
"upload_form.audio_description": "Popis pro sluchově postižené",
|
||||
"upload_form.description": "Popis pro zrakově postižené",
|
||||
"upload_form.drag_and_drop.instructions": "Chcete-li zvednout přílohu, stiskněte mezerník nebo enter. Při přetažení použijte klávesnicové šipky k přesunutí mediální přílohy v libovolném směru. Stiskněte mezerník nebo enter pro vložení přílohy do nové pozice, nebo stiskněte Esc pro ukončení.",
|
||||
"upload_form.drag_and_drop.on_drag_cancel": "Přetažení bylo zrušeno. Příloha {item} byla vrácena.",
|
||||
"upload_form.drag_and_drop.on_drag_end": "Příloha {item} byla vrácena.",
|
||||
"upload_form.drag_and_drop.on_drag_over": "Příloha {item} byla přesunuta.",
|
||||
"upload_form.drag_and_drop.on_drag_start": "Zvednuta příloha {item}.",
|
||||
"upload_form.edit": "Upravit",
|
||||
"upload_form.thumbnail": "Změnit miniaturu",
|
||||
"upload_form.video_description": "Popis pro sluchově či zrakově postižené",
|
||||
|
|
|
@ -407,6 +407,13 @@
|
|||
"ignore_notifications_modal.not_followers_title": "Anwybyddu hysbysiadau gan bobl nad ydynt yn eich dilyn?",
|
||||
"ignore_notifications_modal.not_following_title": "Anwybyddu hysbysiadau gan bobl nad ydych yn eu dilyn?",
|
||||
"ignore_notifications_modal.private_mentions_title": "Anwybyddu hysbysiadau o Grybwylliadau Preifat digymell?",
|
||||
"interaction_modal.action.favourite": "I barhau, mae angen i chi hoffi o'ch cyfrif.",
|
||||
"interaction_modal.action.follow": "I barhau, mae angen i chi ddilyn o'ch cyfrif.",
|
||||
"interaction_modal.action.reblog": "I barhau, mae angen i chi ail-flogio o'ch cyfrif.",
|
||||
"interaction_modal.action.reply": "I barhau, mae angen i chi ateb o'ch cyfrif.",
|
||||
"interaction_modal.action.vote": "I barhau, mae angen i chi bleidleisio o'ch cyfrif.",
|
||||
"interaction_modal.go": "Mynd",
|
||||
"interaction_modal.no_account_yet": "Dim cyfrif eto?",
|
||||
"interaction_modal.on_another_server": "Ar weinydd gwahanol",
|
||||
"interaction_modal.on_this_server": "Ar y gweinydd hwn",
|
||||
"interaction_modal.title.favourite": "Ffafrio postiad {name}",
|
||||
|
@ -414,6 +421,7 @@
|
|||
"interaction_modal.title.reblog": "Hybu postiad {name}",
|
||||
"interaction_modal.title.reply": "Ymateb i bostiad {name}",
|
||||
"interaction_modal.title.vote": "Pleidleisiwch ym mhleidlais {name}",
|
||||
"interaction_modal.username_prompt": "E.e. {example}",
|
||||
"intervals.full.days": "{number, plural, one {# diwrnod} two {# ddiwrnod} other {# diwrnod}}",
|
||||
"intervals.full.hours": "{number, plural, one {# awr} other {# o oriau}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# funud} other {# o funudau}}",
|
||||
|
@ -449,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Dangos/cuddio testun tu ôl i CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Dangos/cuddio cyfryngau",
|
||||
"keyboard_shortcuts.toot": "Dechrau post newydd",
|
||||
"keyboard_shortcuts.translate": "i gyfieithu postiad",
|
||||
"keyboard_shortcuts.unfocus": "Dad-ffocysu ardal cyfansoddi testun/chwilio",
|
||||
"keyboard_shortcuts.up": "Symud yn uwch yn y rhestr",
|
||||
"lightbox.close": "Cau",
|
||||
|
@ -827,6 +836,7 @@
|
|||
"status.reblogs.empty": "Does neb wedi hybio'r post yma eto. Pan y bydd rhywun yn gwneud, byddent yn ymddangos yma.",
|
||||
"status.redraft": "Dileu ac ailddrafftio",
|
||||
"status.remove_bookmark": "Tynnu nod tudalen",
|
||||
"status.remove_favourite": "Tynnu o'r ffefrynnau",
|
||||
"status.replied_in_thread": "Atebodd mewn edefyn",
|
||||
"status.replied_to": "Wedi ateb {name}",
|
||||
"status.reply": "Ateb",
|
||||
|
|
|
@ -457,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Vis/skjul tekst bag CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Vis/skjul medier",
|
||||
"keyboard_shortcuts.toot": "Påbegynd nyt indlæg",
|
||||
"keyboard_shortcuts.translate": "for at oversætte et indlæg",
|
||||
"keyboard_shortcuts.unfocus": "Fjern fokus fra tekstskrivningsområde/søgning",
|
||||
"keyboard_shortcuts.up": "Flyt opad på listen",
|
||||
"lightbox.close": "Luk",
|
||||
|
@ -481,6 +482,7 @@
|
|||
"lists.exclusive": "Skjul medlemmer i Hjem",
|
||||
"lists.exclusive_hint": "Er nogen er på denne liste, skjul personen i hjemme-feeds for at undgå at se vedkommendes indlæg to gange.",
|
||||
"lists.find_users_to_add": "Find brugere at tilføje",
|
||||
"lists.list_members": "Liste over medlemmer",
|
||||
"lists.list_members_count": "{count, plural, one {# medlem} other {# medlemmer}}",
|
||||
"lists.list_name": "Listetitel",
|
||||
"lists.new_list_name": "Ny listetitel",
|
||||
|
@ -835,6 +837,7 @@
|
|||
"status.reblogs.empty": "Ingen har endnu fremhævet dette indlæg. Når nogen gør, vil det fremgå hér.",
|
||||
"status.redraft": "Slet og omformulér",
|
||||
"status.remove_bookmark": "Fjern bogmærke",
|
||||
"status.remove_favourite": "Fjern fra favoritter",
|
||||
"status.replied_in_thread": "Svaret i tråd",
|
||||
"status.replied_to": "Besvarede {name}",
|
||||
"status.reply": "Besvar",
|
||||
|
|
|
@ -177,7 +177,7 @@
|
|||
"compose_form.hashtag_warning": "Dieser Beitrag wird unter keinem Hashtag sichtbar sein, weil er nicht öffentlich ist. Nur öffentliche Beiträge können nach Hashtags durchsucht werden.",
|
||||
"compose_form.lock_disclaimer": "Dein Profil ist nicht {locked}. Andere können dir folgen und deine Beiträge sehen, die nur für Follower bestimmt sind.",
|
||||
"compose_form.lock_disclaimer.lock": "geschützt",
|
||||
"compose_form.placeholder": "Was gibt’s Neues?",
|
||||
"compose_form.placeholder": "Was gibts Neues?",
|
||||
"compose_form.poll.duration": "Umfragedauer",
|
||||
"compose_form.poll.multiple": "Mehrfachauswahl",
|
||||
"compose_form.poll.option_placeholder": "{number}. Auswahl",
|
||||
|
@ -457,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Beitragstext hinter der Inhaltswarnung anzeigen/ausblenden",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Medien anzeigen/ausblenden",
|
||||
"keyboard_shortcuts.toot": "Neuen Beitrag erstellen",
|
||||
"keyboard_shortcuts.translate": "Beitrag übersetzen",
|
||||
"keyboard_shortcuts.unfocus": "Eingabefeld/Suche nicht mehr fokussieren",
|
||||
"keyboard_shortcuts.up": "Ansicht nach oben bewegen",
|
||||
"lightbox.close": "Schließen",
|
||||
|
@ -836,6 +837,7 @@
|
|||
"status.reblogs.empty": "Diesen Beitrag hat bisher noch niemand geteilt. Sobald es jemand tut, wird das Profil hier erscheinen.",
|
||||
"status.redraft": "Löschen und neu erstellen",
|
||||
"status.remove_bookmark": "Lesezeichen entfernen",
|
||||
"status.remove_favourite": "Aus Favoriten entfernen",
|
||||
"status.replied_in_thread": "Antwortete im Thread",
|
||||
"status.replied_to": "Antwortete {name}",
|
||||
"status.reply": "Antworten",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"about.blocks": "Συντονισμένοι διακομιστές",
|
||||
"about.blocks": "Συντονιζόμενοι διακομιστές",
|
||||
"about.contact": "Επικοινωνία:",
|
||||
"about.disclaimer": "Το Mastodon είναι ελεύθερο λογισμικό ανοιχτού κώδικα και εμπορικό σήμα της Mastodon gGmbH.",
|
||||
"about.domain_blocks.no_reason_available": "Αιτιολογία μη διαθέσιμη",
|
||||
|
@ -407,6 +407,13 @@
|
|||
"ignore_notifications_modal.not_followers_title": "Αγνόηση ειδοποιήσεων από άτομα που δε σας ακολουθούν;",
|
||||
"ignore_notifications_modal.not_following_title": "Αγνόηση ειδοποιήσεων από άτομα που δεν ακολουθείς;",
|
||||
"ignore_notifications_modal.private_mentions_title": "Αγνόηση ειδοποιήσεων από μη ζητηθείσες ιδιωτικές αναφορές;",
|
||||
"interaction_modal.action.favourite": "Για να συνεχίσεις, θα πρέπει να αγαπήσεις από τον λογαριασμό σου.",
|
||||
"interaction_modal.action.follow": "Για να συνεχίσεις, θα πρέπει να ακολουθήσεις από τον λογαριασμό σου.",
|
||||
"interaction_modal.action.reblog": "Για να συνεχίσεις, θα πρέπει να αναδημοσιεύσεις από τον λογαριασμό σου.",
|
||||
"interaction_modal.action.reply": "Για να συνεχίσεις, θα πρέπει να απαντήσεις από τον λογαριασμό σου.",
|
||||
"interaction_modal.action.vote": "Για να συνεχίσεις, θα πρέπει να ψηφίσεις από τον λογαριασμό σου.",
|
||||
"interaction_modal.go": "Πάμε",
|
||||
"interaction_modal.no_account_yet": "Δεν έχεις ακόμη λογαριασμό;",
|
||||
"interaction_modal.on_another_server": "Σε διαφορετικό διακομιστή",
|
||||
"interaction_modal.on_this_server": "Σε αυτόν τον διακομιστή",
|
||||
"interaction_modal.title.favourite": "Favorite {name}'s post\nΠροτίμησε την ανάρτηση της/του {name}",
|
||||
|
@ -414,6 +421,7 @@
|
|||
"interaction_modal.title.reblog": "Ενίσχυσε την ανάρτηση του {name}",
|
||||
"interaction_modal.title.reply": "Απάντηση στην ανάρτηση του {name}",
|
||||
"interaction_modal.title.vote": "Ψήφισε στη δημοσκόπηση του χρήστη {name}",
|
||||
"interaction_modal.username_prompt": "Πχ. {example}",
|
||||
"intervals.full.days": "{number, plural, one {# μέρα} other {# μέρες}}",
|
||||
"intervals.full.hours": "{number, plural, one {# ώρα} other {# ώρες}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# λεπτό} other {# λεπτά}}",
|
||||
|
@ -539,6 +547,8 @@
|
|||
"notification.annual_report.view": "Προβολή #Wrapstodon",
|
||||
"notification.favourite": "{name} favorited your post\n{name} προτίμησε την ανάρτηση σου",
|
||||
"notification.favourite.name_and_others_with_link": "{name} και <a>{count, plural, one {# ακόμη} other {# ακόμη}}</a> αγάπησαν την ανάρτησή σου",
|
||||
"notification.favourite_pm": "Ο χρήστης {name} αγάπησε την ιδιωτική σου επισήμανση",
|
||||
"notification.favourite_pm.name_and_others_with_link": "Ο χρήστης {name} και <a>{count, plural, one {# ακόμη} other {# ακόμη}}</a> αγάπησαν την ιδωτική σου επισήμανση",
|
||||
"notification.follow": "Ο/Η {name} σε ακολούθησε",
|
||||
"notification.follow.name_and_others": "Ο χρήστης {name} και <a>{count, plural, one {# ακόμη} other {# ακόμη}}</a> σε ακολούθησαν",
|
||||
"notification.follow_request": "Ο/H {name} ζήτησε να σε ακολουθήσει",
|
||||
|
@ -685,6 +695,8 @@
|
|||
"privacy_policy.title": "Πολιτική Απορρήτου",
|
||||
"recommended": "Προτεινόμενα",
|
||||
"refresh": "Ανανέωση",
|
||||
"regeneration_indicator.please_stand_by": "Παρακαλούμε περίμενε.",
|
||||
"regeneration_indicator.preparing_your_home_feed": "Ετοιμάζουμε την αρχική σου ροή…",
|
||||
"relative_time.days": "{number}η",
|
||||
"relative_time.full.days": "πριν από {number, plural, one {# μέρα} other {# μέρες}}",
|
||||
"relative_time.full.hours": "πριν από {number, plural, one {# ώρα} other {# ώρες}}",
|
||||
|
@ -768,8 +780,11 @@
|
|||
"search_results.accounts": "Προφίλ",
|
||||
"search_results.all": "Όλα",
|
||||
"search_results.hashtags": "Ετικέτες",
|
||||
"search_results.no_results": "Κανένα αποτέλεσμα.",
|
||||
"search_results.no_search_yet": "Δοκίμασε να ψάξεις για δημοσιεύσεις, προφίλ ή ετικέτες.",
|
||||
"search_results.see_all": "Δες τα όλα",
|
||||
"search_results.statuses": "Αναρτήσεις",
|
||||
"search_results.title": "Αναζήτηση για «{q}»",
|
||||
"server_banner.about_active_users": "Άτομα που χρησιμοποιούν αυτόν τον διακομιστή κατά τις τελευταίες 30 ημέρες (Μηνιαία Ενεργοί Χρήστες)",
|
||||
"server_banner.active_users": "ενεργοί χρήστες",
|
||||
"server_banner.administered_by": "Διαχειριστής:",
|
||||
|
@ -842,12 +857,13 @@
|
|||
"subscribed_languages.target": "Αλλαγή εγγεγραμμένων γλωσσών για {target}",
|
||||
"tabs_bar.home": "Αρχική",
|
||||
"tabs_bar.notifications": "Ειδοποιήσεις",
|
||||
"terms_of_service.title": "Όροι Παροχής Υπηρεσιών",
|
||||
"time_remaining.days": "απομένουν {number, plural, one {# ημέρα} other {# ημέρες}}",
|
||||
"time_remaining.hours": "απομένουν {number, plural, one {# ώρα} other {# ώρες}}",
|
||||
"time_remaining.minutes": "απομένουν {number, plural, one {# λεπτό} other {# λεπτά}}",
|
||||
"time_remaining.moments": "Στιγμές που απομένουν",
|
||||
"time_remaining.seconds": "απομένουν {number, plural, one {# δευτερόλεπτο} other {# δευτερόλεπτα}}",
|
||||
"trends.counter_by_accounts": "{count, plural, one {{counter} άτομο} other {{counter} άτομα} }{days, plural, one { την τελευταία ημέρα} other { τις τελευταίες {days} ημέρες}}",
|
||||
"trends.counter_by_accounts": "{count, plural, one {{counter} άτομο} other {{counter} άτομα}} {days, plural, one {την τελευταία ημέρα} other {τις τελευταίες {days} ημέρες}}",
|
||||
"trends.trending_now": "Δημοφιλή τώρα",
|
||||
"ui.beforeunload": "Το προσχέδιό σου θα χαθεί αν φύγεις από το Mastodon.",
|
||||
"units.short.billion": "{count}Δις",
|
||||
|
|
|
@ -603,6 +603,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Show/hide text behind CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Show/hide media",
|
||||
"keyboard_shortcuts.toot": "Start a new post",
|
||||
"keyboard_shortcuts.translate": "to translate a post",
|
||||
"keyboard_shortcuts.unfocus": "Unfocus compose textarea/search",
|
||||
"keyboard_shortcuts.up": "Move up in the list",
|
||||
"lightbox.close": "Close",
|
||||
|
@ -1052,6 +1053,7 @@
|
|||
"status.redraft": "Delete & re-draft",
|
||||
"status.reference": "Quiet quote",
|
||||
"status.remove_bookmark": "Remove bookmark",
|
||||
"status.remove_favourite": "Remove from favorites",
|
||||
"status.replied_in_thread": "Replied in thread",
|
||||
"status.replied_to": "Replied to {name}",
|
||||
"status.reply": "Reply",
|
||||
|
|
|
@ -457,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Montri/kaŝi tekston malantaŭ CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Montri/kaŝi plurmedion",
|
||||
"keyboard_shortcuts.toot": "Komencu novan afiŝon",
|
||||
"keyboard_shortcuts.translate": "Traduki afiŝon",
|
||||
"keyboard_shortcuts.unfocus": "Senfokusigi verki tekstareon/serĉon",
|
||||
"keyboard_shortcuts.up": "Movu supren en la listo",
|
||||
"lightbox.close": "Fermi",
|
||||
|
@ -836,6 +837,7 @@
|
|||
"status.reblogs.empty": "Ankoraŭ neniu diskonigis tiun afiŝon. Kiam iu faras tion, ri aperos ĉi tie.",
|
||||
"status.redraft": "Forigi kaj reskribi",
|
||||
"status.remove_bookmark": "Forigi legosignon",
|
||||
"status.remove_favourite": "Forigi el plej ŝatataj",
|
||||
"status.replied_in_thread": "Respondis en fadeno",
|
||||
"status.replied_to": "Respondis al {name}",
|
||||
"status.reply": "Respondi",
|
||||
|
|
|
@ -103,8 +103,8 @@
|
|||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "la etiqueta más usada",
|
||||
"annual_report.summary.most_used_hashtag.none": "Ninguna",
|
||||
"annual_report.summary.new_posts.new_posts": "nuevos mensajes",
|
||||
"annual_report.summary.percentile.text": "<topLabel>Eso te coloca en el top</topLabel><percentage></percentage><bottomLabel>de usuarios de {domain}.</bottomLabel>",
|
||||
"annual_report.summary.percentile.we_wont_tell_bernie": "No se lo diremos a Bernie.",
|
||||
"annual_report.summary.percentile.text": "<topLabel>Eso te coloca en la cima del</topLabel><percentage></percentage><bottomLabel>de los usuarios de {domain}.</bottomLabel>",
|
||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Queda entre nos.",
|
||||
"annual_report.summary.thanks": "¡Gracias por ser parte de Mastodon!",
|
||||
"attachments_list.unprocessed": "[sin procesar]",
|
||||
"audio.hide": "Ocultar audio",
|
||||
|
@ -129,7 +129,7 @@
|
|||
"bundle_column_error.routing.body": "No se pudo encontrar la página solicitada. ¿Estás seguro que la dirección web es correcta?",
|
||||
"bundle_column_error.routing.title": "404",
|
||||
"bundle_modal_error.close": "Cerrar",
|
||||
"bundle_modal_error.message": "Ha habido algún error mientras cargábamos esta pantalla.",
|
||||
"bundle_modal_error.message": "Algo salió mal al cargar esta pantalla.",
|
||||
"bundle_modal_error.retry": "Intentá de nuevo",
|
||||
"closed_registrations.other_server_instructions": "Ya que Mastodon es descentralizado, podés crearte una cuenta en otro servidor y todavía interactuar con éste.",
|
||||
"closed_registrations_modal.description": "Actualmente no es posible crearte una cuenta en {domain}. pero recordá que no necesitás tener una cuenta puntualmente dentro de {domain} para poder usar Mastodon.",
|
||||
|
@ -205,9 +205,9 @@
|
|||
"confirmations.edit.confirm": "Editar",
|
||||
"confirmations.edit.message": "Editar ahora sobreescribirá el mensaje que estás redactando actualmente. ¿Estás seguro que querés seguir?",
|
||||
"confirmations.edit.title": "¿Sobrescribir mensaje?",
|
||||
"confirmations.follow_to_list.confirm": "Seguir y añadir a la lista",
|
||||
"confirmations.follow_to_list.message": "Necesitas seguir a {name} para agregarlo a una lista.",
|
||||
"confirmations.follow_to_list.title": "¿Seguir usuario?",
|
||||
"confirmations.follow_to_list.confirm": "Seguir y agregar a la lista",
|
||||
"confirmations.follow_to_list.message": "Necesitás seguir a {name} para agregarle a una lista.",
|
||||
"confirmations.follow_to_list.title": "¿Querés seguirle?",
|
||||
"confirmations.logout.confirm": "Cerrar sesión",
|
||||
"confirmations.logout.message": "¿Estás seguro que querés cerrar la sesión?",
|
||||
"confirmations.logout.title": "¿Cerrar sesión?",
|
||||
|
@ -239,10 +239,10 @@
|
|||
"disabled_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada.",
|
||||
"dismissable_banner.community_timeline": "Estos son los mensajes públicos más recientes de cuentas alojadas en {domain}.",
|
||||
"dismissable_banner.dismiss": "Descartar",
|
||||
"dismissable_banner.explore_links": "Estas noticias son las más compartidas hoy en el fediverso. Las noticias más recientes publicadas por más personas diferentes se clasifican mejor.",
|
||||
"dismissable_banner.explore_statuses": "Estas publicaciones del fediverso están ganando popularidad hoy. Las publicaciones más recientes, con más impulsos y favoritos, se clasifican mejor.",
|
||||
"dismissable_banner.explore_tags": "Estas etiquetas están ganando popularidad hoy en el fediverso. Las etiquetas que son utilizadas por más personas diferentes se puntúan más alto.",
|
||||
"dismissable_banner.public_timeline": "Estas son las publicaciones más recientes de las personas del fediverso a las que sigue la gente de {domain}.",
|
||||
"dismissable_banner.explore_links": "Estas noticias son las más compartidas hoy en el Fediverso. Las noticias más recientes compartidas por más cuentas se clasifican mejor.",
|
||||
"dismissable_banner.explore_statuses": "Estos mensajes del Fediverso están ganando popularidad hoy. Los mensajes más recientes, con más adhesiones y marcados como favoritos, se clasifican mejor.",
|
||||
"dismissable_banner.explore_tags": "Estas etiquetas están ganando popularidad hoy en el Fediverso. Las etiquetas que son utilizadas por más cuentas se clasifican mejor.",
|
||||
"dismissable_banner.public_timeline": "Estos son los mensajes más recientes de cuentas del Fediverso a las que sigue la gente de {domain}.",
|
||||
"domain_block_modal.block": "Bloquear servidor",
|
||||
"domain_block_modal.block_account_instead": "Bloquear @{name} en su lugar",
|
||||
"domain_block_modal.they_can_interact_with_old_posts": "Las cuentas de este servidor pueden interactuar con tus mensajes antiguos.",
|
||||
|
@ -365,7 +365,7 @@
|
|||
"footer.terms_of_service": "Términos del servicio",
|
||||
"generic.saved": "Guardado",
|
||||
"getting_started.heading": "Inicio de Mastodon",
|
||||
"hashtag.admin_moderation": "Abrir interfaz de moderación para #{name}",
|
||||
"hashtag.admin_moderation": "Abrir interface de moderación para #{name}",
|
||||
"hashtag.column_header.tag_mode.all": "y {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "o {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "sin {additional}",
|
||||
|
@ -407,13 +407,13 @@
|
|||
"ignore_notifications_modal.not_followers_title": "¿Ignorar notificaciones de cuentas que no te siguen?",
|
||||
"ignore_notifications_modal.not_following_title": "¿Ignorar notificaciones de cuentas a las que no seguís?",
|
||||
"ignore_notifications_modal.private_mentions_title": "¿Ignorar notificaciones de menciones privadas no solicitadas?",
|
||||
"interaction_modal.action.favourite": "Para continuar, tienes que marcar como favorito desde tu cuenta.",
|
||||
"interaction_modal.action.follow": "Para continuar, tienes que seguir desde tu cuenta.",
|
||||
"interaction_modal.action.reblog": "Para continuar, necesitas impulsar desde tu cuenta.",
|
||||
"interaction_modal.action.reply": "Para continuar, tienes que responder desde tu cuenta.",
|
||||
"interaction_modal.action.vote": "Para continuar, tienes que votar desde tu cuenta.",
|
||||
"interaction_modal.action.favourite": "Para continuar, tenés que marcar como favorito desde tu cuenta.",
|
||||
"interaction_modal.action.follow": "Para continuar, tenés que seguir desde tu cuenta.",
|
||||
"interaction_modal.action.reblog": "Para continuar, tenés que adherir desde tu cuenta.",
|
||||
"interaction_modal.action.reply": "Para continuar, tenés que responder desde tu cuenta.",
|
||||
"interaction_modal.action.vote": "Para continuar, tenés que votar desde tu cuenta.",
|
||||
"interaction_modal.go": "Ir",
|
||||
"interaction_modal.no_account_yet": "¿Todavía no tienes cuenta?",
|
||||
"interaction_modal.no_account_yet": "¿Todavía no tenés cuenta?",
|
||||
"interaction_modal.on_another_server": "En un servidor diferente",
|
||||
"interaction_modal.on_this_server": "En este servidor",
|
||||
"interaction_modal.title.favourite": "Marcar como favorito el mensaje de {name}",
|
||||
|
@ -457,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Mostrar/ocultar texto detrás de la advertencia de contenido (\"CW\")",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Mostrar/ocultar medios",
|
||||
"keyboard_shortcuts.toot": "Comenzar un mensaje nuevo",
|
||||
"keyboard_shortcuts.translate": "para traducir un mensaje",
|
||||
"keyboard_shortcuts.unfocus": "Quitar el foco del área de texto de redacción o de búsqueda",
|
||||
"keyboard_shortcuts.up": "Subir en la lista",
|
||||
"lightbox.close": "Cerrar",
|
||||
|
@ -543,12 +544,12 @@
|
|||
"notification.admin.report_statuses_other": "{name} denunció a {target}",
|
||||
"notification.admin.sign_up": "Se registró {name}",
|
||||
"notification.admin.sign_up.name_and_others": "Se registraron {name} y {count, plural, one {# cuenta más} other {# cuentas más}}",
|
||||
"notification.annual_report.message": "¡Tu #Wrapstodon {year} te espera! ¡Desvela los momentos más destacados y memorables de tu año en Mastodon!",
|
||||
"notification.annual_report.message": "¡Tu #Wrapstodon {year} te espera! ¡Desvelá los momentos más destacados y memorables de tu año en Mastodon!",
|
||||
"notification.annual_report.view": "Ver #Wrapstodon",
|
||||
"notification.favourite": "{name} marcó tu mensaje como favorito",
|
||||
"notification.favourite.name_and_others_with_link": "{name} y <a>{count, plural, one {# cuenta más} other {# cuentas más}}</a> marcaron tu mensaje como favorito",
|
||||
"notification.favourite_pm": "{name} ha marcado como favorita tu mención privada",
|
||||
"notification.favourite_pm.name_and_others_with_link": "{name} y <a>{count, plural, one {# más} other {# más}}</a> han marcado como favorita tu mención privada",
|
||||
"notification.favourite_pm": "{name} marcó como favorito tu mención privada",
|
||||
"notification.favourite_pm.name_and_others_with_link": "{name} y <a>{count, plural, one {# más} other {# más}}</a> marcaron como favorito tu mención privada",
|
||||
"notification.follow": "{name} te empezó a seguir",
|
||||
"notification.follow.name_and_others": "{name} y <a>{count, plural, one {# cuenta más} other {# cuentas más}}</a> te están siguiendo",
|
||||
"notification.follow_request": "{name} solicitó seguirte",
|
||||
|
@ -695,8 +696,8 @@
|
|||
"privacy_policy.title": "Política de privacidad",
|
||||
"recommended": "Opción recomendada",
|
||||
"refresh": "Refrescar",
|
||||
"regeneration_indicator.please_stand_by": "Espera, por favor.",
|
||||
"regeneration_indicator.preparing_your_home_feed": "Preparando tu página de inicio…",
|
||||
"regeneration_indicator.please_stand_by": "Esperá, por favor.",
|
||||
"regeneration_indicator.preparing_your_home_feed": "Preparando tu línea temporal principal…",
|
||||
"relative_time.days": "{number}d",
|
||||
"relative_time.full.days": "{number, plural,one {hace # día} other {hace # días}}",
|
||||
"relative_time.full.hours": "{number, plural,one {hace # hora} other {hace # horas}}",
|
||||
|
@ -781,10 +782,10 @@
|
|||
"search_results.all": "Todos",
|
||||
"search_results.hashtags": "Etiquetas",
|
||||
"search_results.no_results": "Sin resultados.",
|
||||
"search_results.no_search_yet": "Intenta buscar publicaciones, perfiles o etiquetas.",
|
||||
"search_results.no_search_yet": "Intentá buscar publicaciones, perfiles o etiquetas.",
|
||||
"search_results.see_all": "Ver todo",
|
||||
"search_results.statuses": "Mensajes",
|
||||
"search_results.title": "Búsqueda de \"{q}\"",
|
||||
"search_results.title": "Búsqueda de «{q}»",
|
||||
"server_banner.about_active_users": "Personas usando este servidor durante los últimos 30 días (Usuarios Activos Mensuales)",
|
||||
"server_banner.active_users": "usuarios activos",
|
||||
"server_banner.administered_by": "Administrado por:",
|
||||
|
@ -836,6 +837,7 @@
|
|||
"status.reblogs.empty": "Todavía nadie adhirió a este mensaje. Cuando alguien lo haga, se mostrará acá.",
|
||||
"status.redraft": "Eliminar mensaje original y editarlo",
|
||||
"status.remove_bookmark": "Quitar marcador",
|
||||
"status.remove_favourite": "Quitar de favoritos",
|
||||
"status.replied_in_thread": "Respuesta en hilo",
|
||||
"status.replied_to": "Respondió a {name}",
|
||||
"status.reply": "Responder",
|
||||
|
|
|
@ -457,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "mostrar/ocultar texto tras aviso de contenido (CW)",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "mostrar/ocultar medios",
|
||||
"keyboard_shortcuts.toot": "Comenzar una nueva publicación",
|
||||
"keyboard_shortcuts.translate": "para traducir una publicación",
|
||||
"keyboard_shortcuts.unfocus": "para retirar el foco de la caja de redacción/búsqueda",
|
||||
"keyboard_shortcuts.up": "para ir hacia arriba en la lista",
|
||||
"lightbox.close": "Cerrar",
|
||||
|
@ -836,6 +837,7 @@
|
|||
"status.reblogs.empty": "Nadie impulsó esta publicación todavía. Cuando alguien lo haga, aparecerá aquí.",
|
||||
"status.redraft": "Borrar y volver a borrador",
|
||||
"status.remove_bookmark": "Eliminar marcador",
|
||||
"status.remove_favourite": "Eliminar de favoritos",
|
||||
"status.replied_in_thread": "Respondido en el hilo",
|
||||
"status.replied_to": "Respondió a {name}",
|
||||
"status.reply": "Responder",
|
||||
|
|
|
@ -409,7 +409,7 @@
|
|||
"ignore_notifications_modal.private_mentions_title": "¿Ignorar notificaciones de menciones privadas no solicitadas?",
|
||||
"interaction_modal.action.favourite": "Para continuar, tienes que marcar como favorito desde tu cuenta.",
|
||||
"interaction_modal.action.follow": "Para continuar, tienes que seguir desde tu cuenta.",
|
||||
"interaction_modal.action.reblog": "Para continuar, necesitas impulsar desde tu cuenta.",
|
||||
"interaction_modal.action.reblog": "Para continuar, tienes que impulsar desde tu cuenta.",
|
||||
"interaction_modal.action.reply": "Para continuar, tienes que responder desde tu cuenta.",
|
||||
"interaction_modal.action.vote": "Para continuar, tienes que votar desde tu cuenta.",
|
||||
"interaction_modal.go": "Ir",
|
||||
|
@ -457,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "mostrar/ocultar texto tras aviso de contenido (CW)",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "mostrar/ocultar medios",
|
||||
"keyboard_shortcuts.toot": "Comienza una nueva publicación",
|
||||
"keyboard_shortcuts.translate": "para traducir una publicación",
|
||||
"keyboard_shortcuts.unfocus": "para retirar el foco de la caja de redacción/búsqueda",
|
||||
"keyboard_shortcuts.up": "para ir hacia arriba en la lista",
|
||||
"lightbox.close": "Cerrar",
|
||||
|
@ -836,6 +837,7 @@
|
|||
"status.reblogs.empty": "Nadie ha impulsado esta publicación todavía. Cuando alguien lo haga, aparecerá aquí.",
|
||||
"status.redraft": "Borrar y volver a borrador",
|
||||
"status.remove_bookmark": "Eliminar marcador",
|
||||
"status.remove_favourite": "Eliminar de favoritos",
|
||||
"status.replied_in_thread": "Respondió en el hilo",
|
||||
"status.replied_to": "Respondió a {name}",
|
||||
"status.reply": "Responder",
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
"about.powered_by": "Hajutatud sotsiaalmeedia, mille taga on {mastodon}",
|
||||
"about.rules": "Serveri reeglid",
|
||||
"account.account_note_header": "Isiklik märge",
|
||||
"account.add_or_remove_from_list": "Lisa või Eemalda nimekirjadest",
|
||||
"account.add_or_remove_from_list": "Lisa või Eemalda loeteludest",
|
||||
"account.badges.bot": "Robot",
|
||||
"account.badges.group": "Grupp",
|
||||
"account.block": "Blokeeri @{name}",
|
||||
|
@ -103,6 +103,7 @@
|
|||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "enim kasutatud silt",
|
||||
"annual_report.summary.most_used_hashtag.none": "Pole",
|
||||
"annual_report.summary.new_posts.new_posts": "uus postitus",
|
||||
"annual_report.summary.percentile.text": "<topLabel>See paneb su top</topLabel><percentage></percentage><bottomLabel> {domain} kasutajate hulka.</bottomLabel>",
|
||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Vägev.",
|
||||
"annual_report.summary.thanks": "Tänud olemast osa Mastodonist!",
|
||||
"attachments_list.unprocessed": "(töötlemata)",
|
||||
|
@ -149,7 +150,7 @@
|
|||
"column.follow_requests": "Jälgimistaotlused",
|
||||
"column.home": "Kodu",
|
||||
"column.list_members": "Halda loendi liikmeid",
|
||||
"column.lists": "Nimekirjad",
|
||||
"column.lists": "Loetelud",
|
||||
"column.mutes": "Vaigistatud kasutajad",
|
||||
"column.notifications": "Teated",
|
||||
"column.pins": "Kinnitatud postitused",
|
||||
|
@ -408,6 +409,11 @@
|
|||
"ignore_notifications_modal.private_mentions_title": "Ignoreeri soovimatute eraviisiliste mainimiste teateid?",
|
||||
"interaction_modal.action.favourite": "Jätkamiseks pead oma konto alt lemmikuks märkima.",
|
||||
"interaction_modal.action.follow": "Jätkamiseks pead oma konto alt lemmikuks märkima.",
|
||||
"interaction_modal.action.reblog": "Jätkamiseks pead jagama oma konto alt.",
|
||||
"interaction_modal.action.reply": "Jätkamiseks pead vastama oma konto alt.",
|
||||
"interaction_modal.action.vote": "Jätkamiseks pead hääletama oma konto alt.",
|
||||
"interaction_modal.go": "Mine",
|
||||
"interaction_modal.no_account_yet": "Pole veel kontot?",
|
||||
"interaction_modal.on_another_server": "Teises serveris",
|
||||
"interaction_modal.on_this_server": "Selles serveris",
|
||||
"interaction_modal.title.favourite": "Lisa konto {name} postitus lemmikuks",
|
||||
|
@ -415,11 +421,12 @@
|
|||
"interaction_modal.title.reblog": "Jaga {name} postitust",
|
||||
"interaction_modal.title.reply": "Vasta kasutaja {name} postitusele",
|
||||
"interaction_modal.title.vote": "Hääleta {name} küsitluses",
|
||||
"interaction_modal.username_prompt": "Nt {example}",
|
||||
"intervals.full.days": "{number, plural, one {# päev} other {# päeva}}",
|
||||
"intervals.full.hours": "{number, plural, one {# tund} other {# tundi}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minut} other {# minutit}}",
|
||||
"keyboard_shortcuts.back": "Liigu tagasi",
|
||||
"keyboard_shortcuts.blocked": "avamaks blokeeritud kasutajate nimistut",
|
||||
"keyboard_shortcuts.blocked": "Ava blokeeritud kasutajate nimistu",
|
||||
"keyboard_shortcuts.boost": "Jaga",
|
||||
"keyboard_shortcuts.column": "Fookus veerule",
|
||||
"keyboard_shortcuts.compose": "Fookus teksti koostamise alale",
|
||||
|
@ -464,14 +471,30 @@
|
|||
"link_preview.shares": "{count, plural, one {{counter} postitus} other {{counter} postitust}}",
|
||||
"lists.add_member": "Lisa",
|
||||
"lists.add_to_list": "Lisa loendisse",
|
||||
"lists.delete": "Kustuta nimekiri",
|
||||
"lists.edit": "Muuda nimekirja",
|
||||
"lists.add_to_lists": "Lisa {name} loetellu",
|
||||
"lists.create": "Loo",
|
||||
"lists.create_a_list_to_organize": "Loo uus loetelu, et organiseerida oma avalehe lõime",
|
||||
"lists.create_list": "Loo loetelu",
|
||||
"lists.delete": "Kustuta loetelu",
|
||||
"lists.done": "Valmis",
|
||||
"lists.edit": "Muuda loetelu",
|
||||
"lists.exclusive": "Peida avalehelt liikmed",
|
||||
"lists.exclusive_hint": "Kui keegi on selles loetelus, peida ta avalehe lõimest, vältimaks tema postituste kaks korda nägemist.",
|
||||
"lists.find_users_to_add": "Leia kasutajaid, keda lisada",
|
||||
"lists.list_members": "Loetelu liikmed",
|
||||
"lists.list_members_count": "{count, plural, one {# liige} other {# liiget}}",
|
||||
"lists.list_name": "Loetelu nimi",
|
||||
"lists.new_list_name": "Loetelu uus nimi",
|
||||
"lists.no_lists_yet": "Pole veel loetelusid.",
|
||||
"lists.no_members_yet": "Pole veel liikmeid.",
|
||||
"lists.no_results_found": "Ei leidnud tulemusi.",
|
||||
"lists.remove_member": "Eemalda",
|
||||
"lists.replies_policy.followed": "Igalt jälgitud kasutajalt",
|
||||
"lists.replies_policy.list": "Listi liikmetelt",
|
||||
"lists.replies_policy.list": "Loetelu liikmetelt",
|
||||
"lists.replies_policy.none": "Mitte kelleltki",
|
||||
"lists.save": "Salvesta",
|
||||
"lists.search": "Otsi",
|
||||
"lists.show_replies_to": "Kaasa ka loetelu liikmete vastused",
|
||||
"load_pending": "{count, plural, one {# uus kirje} other {# uut kirjet}}",
|
||||
"loading_indicator.label": "Laadimine…",
|
||||
"media_gallery.hide": "Peida",
|
||||
|
@ -501,7 +524,7 @@
|
|||
"navigation_bar.follow_requests": "Jälgimistaotlused",
|
||||
"navigation_bar.followed_tags": "Jälgitavad märksõnad",
|
||||
"navigation_bar.follows_and_followers": "Jälgitavad ja jälgijad",
|
||||
"navigation_bar.lists": "Nimekirjad",
|
||||
"navigation_bar.lists": "Loetelud",
|
||||
"navigation_bar.logout": "Logi välja",
|
||||
"navigation_bar.moderation": "Modereerimine",
|
||||
"navigation_bar.mutes": "Vaigistatud kasutajad",
|
||||
|
@ -626,7 +649,11 @@
|
|||
"notifications_permission_banner.enable": "Luba töölaua märguanded",
|
||||
"notifications_permission_banner.how_to_control": "Et saada teateid, ajal mil Mastodon pole avatud, luba töölauamärguanded. Saad täpselt määrata, mis tüüpi tegevused tekitavad märguandeid, kasutates peale teadaannete sisse lülitamist üleval olevat nuppu {icon}.",
|
||||
"notifications_permission_banner.title": "Ära jää millestki ilma",
|
||||
"onboarding.follows.back": "Tagasi",
|
||||
"onboarding.follows.done": "Valmis",
|
||||
"onboarding.follows.empty": "Kahjuks ei saa hetkel tulemusi näidata. Proovi kasutada otsingut või lehitse uurimise lehte, et leida inimesi, keda jälgida, või proovi hiljem uuesti.",
|
||||
"onboarding.follows.search": "Otsi",
|
||||
"onboarding.follows.title": "Jälgi inimesi, et alustada",
|
||||
"onboarding.profile.discoverable": "Muuda mu profiil avastatavaks",
|
||||
"onboarding.profile.discoverable_hint": "Kui nõustud enda avastamisega Mastodonis, võivad sinu postitused ilmuda otsingutulemustes ja trendides ning sinu profiili võidakse soovitada sinuga sarnaste huvidega inimestele.",
|
||||
"onboarding.profile.display_name": "Näidatav nimi",
|
||||
|
|
|
@ -361,6 +361,7 @@
|
|||
"footer.privacy_policy": "سیاست محرمانگی",
|
||||
"footer.source_code": "نمایش کد مبدأ",
|
||||
"footer.status": "وضعیت",
|
||||
"footer.terms_of_service": "شرایط استفاده از خدمات",
|
||||
"generic.saved": "ذخیره شده",
|
||||
"getting_started.heading": "آغاز کنید",
|
||||
"hashtag.admin_moderation": "گشودن میانای نظارت برای #{name}",
|
||||
|
@ -394,13 +395,24 @@
|
|||
"home.pending_critical_update.link": "دیدن بهروز رسانیها",
|
||||
"home.pending_critical_update.title": "بهروز رسانی امنیتی بحرانی موجود است!",
|
||||
"home.show_announcements": "نمایش اعلامیهها",
|
||||
"ignore_notifications_modal.disclaimer": "ماستودون نمی تواند به کاربران اطلاع دهد که اعلان های آنها را نادیده گرفته اید. نادیده گرفتن اعلان ها مانع از ارسال خود پیام ها نمی شود.",
|
||||
"ignore_notifications_modal.filter_instead": "به جایش پالوده شود",
|
||||
"ignore_notifications_modal.filter_to_act_users": "همچنان میتوانید کاربران را بپذیرید، رد کنید یا گزارش دهید",
|
||||
"ignore_notifications_modal.filter_to_avoid_confusion": "فیلتر کردن به جلوگیری از سردرگمی احتمالی کمک می کند",
|
||||
"ignore_notifications_modal.filter_to_review_separately": "می توانید اعلان های فیلتر شده را به طور جداگانه بررسی کنید",
|
||||
"ignore_notifications_modal.ignore": "چشمپوشی از آگاهیها",
|
||||
"ignore_notifications_modal.limited_accounts_title": "چشمپوشی از آگاهیهای حسابهای نظارت شده؟",
|
||||
"ignore_notifications_modal.new_accounts_title": "چشمپوشی از آگاهیهای حسابهای جدید؟",
|
||||
"ignore_notifications_modal.not_followers_title": "چشمپوشی از آگاهیهای افرادی که پیتان نمیگیرند؟",
|
||||
"ignore_notifications_modal.not_following_title": "چشمپوشی از آگاهیهای افرادی که پیشان نمیگیرید؟",
|
||||
"ignore_notifications_modal.private_mentions_title": "چشمپوشی از نامبریهای خصوصی ناخواسته؟",
|
||||
"interaction_modal.action.favourite": "برای ادامه، باید از حساب خود به دلخواه انتخاب کنید.",
|
||||
"interaction_modal.action.follow": "برای ادامه، باید از حساب کاربری خود دنبال کنید.",
|
||||
"interaction_modal.action.reblog": "برای ادامه، باید از حساب خود مجددا بلاگ کنید.",
|
||||
"interaction_modal.action.reply": "برای ادامه، باید از حساب خود پاسخ دهید.",
|
||||
"interaction_modal.action.vote": "برای ادامه، باید از حساب کاربری خود رای دهید.",
|
||||
"interaction_modal.go": "برو",
|
||||
"interaction_modal.no_account_yet": "هنوز حساب کاربری ندارید؟",
|
||||
"interaction_modal.on_another_server": "روی کارسازی دیگر",
|
||||
"interaction_modal.on_this_server": "روی این کارساز",
|
||||
"interaction_modal.title.favourite": "فرستههای برگزیدهٔ {name}",
|
||||
|
@ -408,6 +420,7 @@
|
|||
"interaction_modal.title.reblog": "تقویت فرستهٔ {name}",
|
||||
"interaction_modal.title.reply": "پاسخ به فرستهٔ {name}",
|
||||
"interaction_modal.title.vote": "رأی دادن در نظرسنجی {name}",
|
||||
"interaction_modal.username_prompt": "به عنوان مثال {example}",
|
||||
"intervals.full.days": "{number, plural, one {# روز} other {# روز}}",
|
||||
"intervals.full.hours": "{number, plural, one {# ساعت} other {# ساعت}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# دقیقه} other {# دقیقه}}",
|
||||
|
@ -480,6 +493,7 @@
|
|||
"lists.replies_policy.none": "هیچ کدام",
|
||||
"lists.save": "ذخیره",
|
||||
"lists.search": "جستوجو",
|
||||
"lists.show_replies_to": "شامل پاسخ از اعضای لیست به",
|
||||
"load_pending": "{count, plural, one {# مورد جدید} other {# مورد جدید}}",
|
||||
"loading_indicator.label": "در حال بارگذاری…",
|
||||
"media_gallery.hide": "نهفتن",
|
||||
|
@ -529,6 +543,7 @@
|
|||
"notification.annual_report.view": "دیدن #Wrapstodon",
|
||||
"notification.favourite": "{name} فرستهتان را برگزید",
|
||||
"notification.favourite.name_and_others_with_link": "{name} و <a>{count, plural, one {# نفر دیگر} other {# نفر دیگر}}</a> فرستهتان را برگزیدند",
|
||||
"notification.favourite_pm": "{name} ذکر خصوصی شما را مورد علاقه قرار داد",
|
||||
"notification.follow": "{name} پیگیرتان شد",
|
||||
"notification.follow.name_and_others": "{name} و <a>{count, plural, other {#}} نفر دیگر</a> پیتان گرفتند",
|
||||
"notification.follow_request": "{name} درخواست پیگیریتان را داد",
|
||||
|
@ -553,6 +568,7 @@
|
|||
"notification.reblog": "{name} فرستهتان را تقویت کرد",
|
||||
"notification.reblog.name_and_others_with_link": "{name} و <a>{count, plural, one {# نفر دیگر} other {# نفر دیگر}}</a> فرستهتان را تقویت کردند",
|
||||
"notification.relationships_severance_event": "قطع ارتباط با {name}",
|
||||
"notification.relationships_severance_event.account_suspension": "یک سرپرست از {from} {target} را به حالت تعلیق درآورده است، به این معنی که دیگر نمیتوانید بهروزرسانیها را از آنها دریافت کنید یا با آنها تعامل داشته باشید.",
|
||||
"notification.relationships_severance_event.learn_more": "بیشتر بدانید",
|
||||
"notification.status": "{name} چیزی فرستاد",
|
||||
"notification.update": "{name} فرستهای را ویرایش کرد",
|
||||
|
@ -565,6 +581,8 @@
|
|||
"notification_requests.dismiss": "دورانداختن",
|
||||
"notification_requests.edit_selection": "ویرایش",
|
||||
"notification_requests.exit_selection": "انجام شد",
|
||||
"notification_requests.explainer_for_limited_account": "اعلانهای این حساب فیلتر شدهاند زیرا حساب توسط یک ناظر محدود شده است.",
|
||||
"notification_requests.explainer_for_limited_remote_account": "اعلانهای این حساب فیلتر شدهاند زیرا حساب یا سرور آن توسط ناظر محدود شده است.",
|
||||
"notification_requests.maximize": "بیشنه",
|
||||
"notification_requests.minimize_banner": "کمینه کردن بیرق آگاهیهای پالوده",
|
||||
"notification_requests.notifications_from": "آگاهیها از {name}",
|
||||
|
@ -667,6 +685,7 @@
|
|||
"privacy_policy.title": "سیاست محرمانگی",
|
||||
"recommended": "پیشنهادشده",
|
||||
"refresh": "نوسازی",
|
||||
"regeneration_indicator.please_stand_by": "لطفا منتظر باشید.",
|
||||
"relative_time.days": "{number} روز",
|
||||
"relative_time.full.days": "{number, plural, one {# روز} other {# روز}} پیش",
|
||||
"relative_time.full.hours": "{number, plural, one {# ساعت} other {# ساعت}} پیش",
|
||||
|
@ -750,13 +769,19 @@
|
|||
"search_results.accounts": "نمایهها",
|
||||
"search_results.all": "همه",
|
||||
"search_results.hashtags": "برچسبها",
|
||||
"search_results.no_results": "هیچ نتیجه ای وجود ندارد.",
|
||||
"search_results.no_search_yet": "سعی کنید پست ها، نمایه ها یا هشتگ ها را جستجو کنید.",
|
||||
"search_results.see_all": "دیدن همه",
|
||||
"search_results.statuses": "فرستهها",
|
||||
"search_results.title": "جستجو برای \"{q}\"",
|
||||
"server_banner.about_active_users": "افرادی که در ۳۰ روز گذشته از این کارساز استفاده کردهاند (کاربران فعّال ماهانه)",
|
||||
"server_banner.active_users": "کاربر فعّال",
|
||||
"server_banner.administered_by": "به مدیریت:",
|
||||
"server_banner.is_one_of_many": "{domain} یکی از بسیاری از سرورهای مستقل ماستودون است که می توانید از آن برای شرکت در fediverse استفاده کنید.",
|
||||
"server_banner.server_stats": "آمار کارساز:",
|
||||
"sign_in_banner.create_account": "ایجاد حساب",
|
||||
"sign_in_banner.follow_anyone": "هر کسی را در سراسر fediverse دنبال کنید و همه را به ترتیب زمانی ببینید. هیچ الگوریتم، تبلیغات یا طعمه کلیکی در چشم نیست.",
|
||||
"sign_in_banner.mastodon_is": "ماستودون بهترین راه برای پیگیری اتفاقات است.",
|
||||
"sign_in_banner.sign_in": "ورود",
|
||||
"sign_in_banner.sso_redirect": "ورود یا ثبت نام",
|
||||
"status.admin_account": "گشودن واسط مدیریت برای @{name}",
|
||||
|
@ -821,6 +846,7 @@
|
|||
"subscribed_languages.target": "تغییر زبانهای مشترک شده برای {target}",
|
||||
"tabs_bar.home": "خانه",
|
||||
"tabs_bar.notifications": "آگاهیها",
|
||||
"terms_of_service.title": "شرایط خدمات",
|
||||
"time_remaining.days": "{number, plural, one {# روز} other {# روز}} باقی مانده",
|
||||
"time_remaining.hours": "{number, plural, one {# ساعت} other {# ساعت}} باقی مانده",
|
||||
"time_remaining.minutes": "{number, plural, one {# دقیقه} other {# دقیقه}} باقی مانده",
|
||||
|
@ -838,6 +864,11 @@
|
|||
"upload_error.poll": "بارگذاری پرونده در نظرسنجیها مجاز نیست.",
|
||||
"upload_form.audio_description": "برای ناشنوایان توصیفش کنید",
|
||||
"upload_form.description": "برای کمبینایان توصیفش کنید",
|
||||
"upload_form.drag_and_drop.instructions": "برای دریافت پیوست رسانه، space را فشار دهید یا وارد کنید. در حین کشیدن، از کلیدهای جهت دار برای حرکت دادن پیوست رسانه در هر جهت معین استفاده کنید. برای رها کردن ضمیمه رسانه در موقعیت جدید خود، مجدداً space یا enter را فشار دهید، یا برای لغو، escape را فشار دهید.",
|
||||
"upload_form.drag_and_drop.on_drag_cancel": "کشیدن لغو شد. پیوست رسانه {item} حذف شد.",
|
||||
"upload_form.drag_and_drop.on_drag_end": "پیوست رسانه {item} حذف شد.",
|
||||
"upload_form.drag_and_drop.on_drag_over": "پیوست رسانه {item} منتقل شد.",
|
||||
"upload_form.drag_and_drop.on_drag_start": "پیوست رسانه {item} برداشته شد.",
|
||||
"upload_form.edit": "ویرایش",
|
||||
"upload_form.thumbnail": "تغییر بندانگشتی",
|
||||
"upload_form.video_description": "برای کمبینایان یا ناشنوایان توصیفش کنید",
|
||||
|
|
|
@ -104,6 +104,7 @@
|
|||
"annual_report.summary.most_used_hashtag.none": "Ei mitään",
|
||||
"annual_report.summary.new_posts.new_posts": "uutta julkaisua",
|
||||
"annual_report.summary.percentile.text": "<topLabel>Olet osa huippujoukkoa, johon kuuluu</topLabel><percentage></percentage><bottomLabel>{domain}-käyttäjistä.</bottomLabel>",
|
||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Emme kerro Bernie Sandersille.",
|
||||
"annual_report.summary.thanks": "Kiitos, että olet osa Mastodonia!",
|
||||
"attachments_list.unprocessed": "(käsittelemätön)",
|
||||
"audio.hide": "Piilota ääni",
|
||||
|
@ -456,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Näytä tai piilota sisältövaroituksella merkitty teksti",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Näytä tai piilota media",
|
||||
"keyboard_shortcuts.toot": "Luo uusi julkaisu",
|
||||
"keyboard_shortcuts.translate": "Käännä julkaisu",
|
||||
"keyboard_shortcuts.unfocus": "Poistu kirjoitus- tai hakukentästä",
|
||||
"keyboard_shortcuts.up": "Siirry luettelossa taaksepäin",
|
||||
"lightbox.close": "Sulje",
|
||||
|
@ -835,6 +837,7 @@
|
|||
"status.reblogs.empty": "Kukaan ei ole vielä tehostanut tätä julkaisua. Kun joku tekee niin, tulee hän tähän näkyviin.",
|
||||
"status.redraft": "Poista ja palauta muokattavaksi",
|
||||
"status.remove_bookmark": "Poista kirjanmerkki",
|
||||
"status.remove_favourite": "Poista suosikeista",
|
||||
"status.replied_in_thread": "Vastasi ketjuun",
|
||||
"status.replied_to": "Vastaus käyttäjälle {name}",
|
||||
"status.reply": "Vastaa",
|
||||
|
|
|
@ -34,7 +34,9 @@
|
|||
"account.follow_back": "Sundan pabalik",
|
||||
"account.followers": "Mga tagasunod",
|
||||
"account.followers.empty": "Wala pang sumusunod sa tagagamit na ito.",
|
||||
"account.followers_counter": "{count, plural, one {{counter} tagasunod} other {{counter} tagasunod}}",
|
||||
"account.following": "Sinusundan",
|
||||
"account.following_counter": "{count, plural, one {{counter} sinusundan} other {{counter} sinusundan}}",
|
||||
"account.follows.empty": "Wala pang sinusundan ang tagagamit na ito.",
|
||||
"account.go_to_profile": "Pumunta sa profile",
|
||||
"account.hide_reblogs": "Itago ang mga pagpapalakas mula sa {name}",
|
||||
|
@ -46,13 +48,21 @@
|
|||
"account.media": "Medya",
|
||||
"account.mention": "Banggitin si @{name}",
|
||||
"account.moved_to": "Ipinahihiwatig ni {name} na ang kanilang bagong account ngayon ay:",
|
||||
"account.mute": "I-mute si @{name}",
|
||||
"account.mute_notifications_short": "I-mute ang mga abiso",
|
||||
"account.mute_short": "I-mute",
|
||||
"account.muted": "Naka-mute",
|
||||
"account.mutual": "Ka-mutual",
|
||||
"account.no_bio": "Walang nakalaan na paglalarawan.",
|
||||
"account.open_original_page": "Buksan ang pinagmulang pahina",
|
||||
"account.posts": "Mga post",
|
||||
"account.report": "I-ulat si/ang @{name}",
|
||||
"account.requested": "Naghihintay ng pag-apruba. I-click upang ikansela ang hiling sa pagsunod",
|
||||
"account.requested_follow": "Hinihiling ni {name} na sundan ka",
|
||||
"account.share": "Ibahagi ang profile ni @{name}",
|
||||
"account.show_reblogs": "Ipakita ang mga pagpapalakas mula sa/kay {name}",
|
||||
"account.unendorse": "Huwag itampok sa profile",
|
||||
"account.unfollow": "Huwag nang sundan",
|
||||
"admin.dashboard.retention.cohort_size": "Mga bagong tagagamit",
|
||||
"alert.rate_limited.message": "Mangyaring subukan muli pagkatapos ng {retry_time, time, medium}.",
|
||||
"audio.hide": "Itago ang tunog",
|
||||
|
@ -143,7 +153,10 @@
|
|||
"dismissable_banner.community_timeline": "Ito ang mga pinakamakailang nakapublikong post mula sa mga taong ang mga account hinohost ng {domain}.",
|
||||
"dismissable_banner.dismiss": "Alisin",
|
||||
"domain_block_modal.block": "Harangan ang serbiro",
|
||||
"domain_block_modal.they_wont_know": "Hindi nila malalaman na hinarang sila.",
|
||||
"domain_block_modal.title": "Harangan ang domain?",
|
||||
"domain_block_modal.you_will_lose_relationships": "Mawawala ang lahat ng mga tagasunod at mga taong sinusindan mo mula sa serbirong ito.",
|
||||
"domain_block_modal.you_wont_see_posts": "Hindi mo makikita ang mga post o mga abiso mula sa mga tagagamit sa serbirong ito.",
|
||||
"domain_pill.server": "Serbiro",
|
||||
"embed.instructions": "I-embed ang post na ito sa iyong pook-sapot sa pamamagitan ng pagsipi ng kodigo sa ilalim.",
|
||||
"embed.preview": "Ito ang magiging itsura:",
|
||||
|
@ -179,6 +192,7 @@
|
|||
"empty_column.hashtag": "Wala pang laman ang hashtag na ito.",
|
||||
"empty_column.home": "Walang laman ang timeline ng tahanan mo! Sumunod sa marami pang tao para mapunan ito.",
|
||||
"empty_column.list": "Wala pang laman ang listahang ito. Kapag naglathala ng mga bagong post ang mga miyembro ng listahang ito, makikita iyon dito.",
|
||||
"empty_column.notification_requests": "Malinis na lahat! Walang anuman dito. Kapag nakatanggap ka ng mga bagong abiso, makikita sila dito na batay sa iyong mga setting.",
|
||||
"errors.unexpected_crash.report_issue": "Iulat ang isyu",
|
||||
"explore.suggested_follows": "Mga tao",
|
||||
"explore.title": "Tuklasin",
|
||||
|
@ -242,6 +256,7 @@
|
|||
"navigation_bar.public_timeline": "Pinagsamang timeline",
|
||||
"navigation_bar.search": "Maghanap",
|
||||
"notification.admin.report": "Iniulat ni {name} si {target}",
|
||||
"notification.admin.report_statuses_other": "Iniulat ni {name} si {target}",
|
||||
"notification.follow": "Sinundan ka ni {name}",
|
||||
"notification.follow.name_and_others": "Sinundan ka ng/nina {name} at <a>{count, plural, one {# iba pa} other {# na iba pa}}</a>",
|
||||
"notification.follow_request": "Hinihiling ni {name} na sundan ka",
|
||||
|
@ -251,6 +266,7 @@
|
|||
"notification.moderation_warning": "Mayroong kang natanggap na babala sa pagtitimpi",
|
||||
"notification.relationships_severance_event.learn_more": "Matuto nang higit pa",
|
||||
"notification_requests.accept": "Tanggapin",
|
||||
"notification_requests.maximize": "Palakihin",
|
||||
"notification_requests.notifications_from": "Mga abiso mula kay/sa {name}",
|
||||
"notifications.clear": "Burahin mga abiso",
|
||||
"notifications.clear_title": "Linisin ang mga abiso?",
|
||||
|
@ -263,7 +279,10 @@
|
|||
"notifications.column_settings.unread_notifications.category": "Hindi Nabasang mga Abiso",
|
||||
"notifications.column_settings.update": "Mga pagbago:",
|
||||
"notifications.filter.all": "Lahat",
|
||||
"notifications.filter.boosts": "Mga pagpalakas",
|
||||
"notifications.filter.favourites": "Mga paborito",
|
||||
"notifications.filter.follows": "Mga sinusundan",
|
||||
"notifications.filter.mentions": "Mga pagbanggit",
|
||||
"notifications.filter.polls": "Resulta ng botohan",
|
||||
"notifications.mark_as_read": "Markahan lahat ng abiso bilang nabasa na",
|
||||
"notifications.policy.accept": "Tanggapin",
|
||||
|
@ -317,8 +336,12 @@
|
|||
"report.thanks.title": "Ayaw mo bang makita ito?",
|
||||
"report.thanks.title_actionable": "Salamat sa pag-uulat, titingnan namin ito.",
|
||||
"report_notification.categories.other": "Iba pa",
|
||||
"report_notification.categories.other_sentence": "iba pa",
|
||||
"report_notification.categories.violation": "Paglabag sa patakaran",
|
||||
"report_notification.categories.violation_sentence": "paglabag sa patakaran",
|
||||
"report_notification.open": "Buksan ang ulat",
|
||||
"search.placeholder": "Maghanap",
|
||||
"search.quick_action.go_to_account": "Pumunta sa profile {x}",
|
||||
"search.quick_action.open_url": "Buksan ang URL sa Mastodon",
|
||||
"search.search_or_paste": "Maghanap o ilagay ang URL",
|
||||
"search_popout.full_text_search_disabled_message": "Hindi magagamit sa {domain}.",
|
||||
|
@ -341,6 +364,7 @@
|
|||
"status.more": "Higit pa",
|
||||
"status.read_more": "Basahin ang higit pa",
|
||||
"status.reblogs.empty": "Wala pang nagpalakas ng post na ito. Kung may sinumang nagpalakas, makikita sila rito.",
|
||||
"status.remove_favourite": "Tanggalin sa mga paborito",
|
||||
"status.reply": "Tumugon",
|
||||
"status.report": "I-ulat si/ang @{name}",
|
||||
"status.sensitive_warning": "Sensitibong nilalaman",
|
||||
|
|
|
@ -362,6 +362,7 @@
|
|||
"footer.privacy_policy": "Privatlívspolitikkur",
|
||||
"footer.source_code": "Vís keldukotuna",
|
||||
"footer.status": "Støða",
|
||||
"footer.terms_of_service": "Tænastutreytir",
|
||||
"generic.saved": "Goymt",
|
||||
"getting_started.heading": "At byrja",
|
||||
"hashtag.admin_moderation": "Lat umsjónarmarkamót upp fyri #{name}",
|
||||
|
@ -456,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Vís/fjal tekst handan CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Vís ella fjal innihald",
|
||||
"keyboard_shortcuts.toot": "Byrja nýggjan post",
|
||||
"keyboard_shortcuts.translate": "at umseta ein post",
|
||||
"keyboard_shortcuts.unfocus": "Tak skrivi-/leiti-økið úr miðdeplinum",
|
||||
"keyboard_shortcuts.up": "Flyt upp á listanum",
|
||||
"lightbox.close": "Lat aftur",
|
||||
|
@ -835,6 +837,7 @@
|
|||
"status.reblogs.empty": "Eingin hevur stimbrað hendan postin enn. Tá onkur stimbrar postin, verður hann sjónligur her.",
|
||||
"status.redraft": "Strika & ger nýggja kladdu",
|
||||
"status.remove_bookmark": "Gloym",
|
||||
"status.remove_favourite": "Strika í yndismerkjum",
|
||||
"status.replied_in_thread": "Svaraði í tráðnum",
|
||||
"status.replied_to": "Svaraði {name}",
|
||||
"status.reply": "Svara",
|
||||
|
@ -856,6 +859,7 @@
|
|||
"subscribed_languages.target": "Broyt haldaramál fyri {target}",
|
||||
"tabs_bar.home": "Heim",
|
||||
"tabs_bar.notifications": "Fráboðanir",
|
||||
"terms_of_service.title": "Tænastutreytir",
|
||||
"time_remaining.days": "{number, plural, one {# dagur} other {# dagar}} eftir",
|
||||
"time_remaining.hours": "{number, plural, one {# tími} other {# tímar}} eftir",
|
||||
"time_remaining.minutes": "{number, plural, one {# minuttur} other {# minuttir}} eftir",
|
||||
|
|
|
@ -457,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Déplier/replier texte derrière avertissement",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Afficher/cacher médias",
|
||||
"keyboard_shortcuts.toot": "Commencer un nouveau message",
|
||||
"keyboard_shortcuts.translate": "traduire un message",
|
||||
"keyboard_shortcuts.unfocus": "Ne plus se concentrer sur la zone de rédaction/barre de recherche",
|
||||
"keyboard_shortcuts.up": "Monter dans la liste",
|
||||
"lightbox.close": "Fermer",
|
||||
|
@ -836,6 +837,7 @@
|
|||
"status.reblogs.empty": "Personne n’a encore boosté cette publication. Lorsque quelqu’un le fera, elle apparaîtra ici.",
|
||||
"status.redraft": "Supprimer et réécrire",
|
||||
"status.remove_bookmark": "Retirer des signets",
|
||||
"status.remove_favourite": "Retirer des favoris",
|
||||
"status.replied_in_thread": "A répondu dans un fil de discussion",
|
||||
"status.replied_to": "A répondu à {name}",
|
||||
"status.reply": "Répondre",
|
||||
|
|
|
@ -457,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Déplier/replier le texte derrière un CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Afficher/cacher les médias",
|
||||
"keyboard_shortcuts.toot": "Commencer un nouveau message",
|
||||
"keyboard_shortcuts.translate": "traduire un message",
|
||||
"keyboard_shortcuts.unfocus": "Quitter la zone de rédaction/barre de recherche",
|
||||
"keyboard_shortcuts.up": "Monter dans la liste",
|
||||
"lightbox.close": "Fermer",
|
||||
|
@ -836,6 +837,7 @@
|
|||
"status.reblogs.empty": "Personne n’a encore partagé ce message. Lorsque quelqu’un le fera, il apparaîtra ici.",
|
||||
"status.redraft": "Supprimer et réécrire",
|
||||
"status.remove_bookmark": "Retirer des marque-pages",
|
||||
"status.remove_favourite": "Retirer des favoris",
|
||||
"status.replied_in_thread": "A répondu dans un fil de discussion",
|
||||
"status.replied_to": "En réponse à {name}",
|
||||
"status.reply": "Répondre",
|
||||
|
|
|
@ -457,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Para mostrar o texto tras Aviso de Contido (CW)",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Para amosar/agochar contido multimedia",
|
||||
"keyboard_shortcuts.toot": "Para escribir unha nova publicación",
|
||||
"keyboard_shortcuts.translate": "para traducir unha publicación",
|
||||
"keyboard_shortcuts.unfocus": "Para deixar de destacar a área de escritura/procura",
|
||||
"keyboard_shortcuts.up": "Para mover cara arriba na listaxe",
|
||||
"lightbox.close": "Fechar",
|
||||
|
@ -836,6 +837,7 @@
|
|||
"status.reblogs.empty": "Aínda ninguén promoveu esta publicación. Cando alguén o faga, amosarase aquí.",
|
||||
"status.redraft": "Eliminar e reescribir",
|
||||
"status.remove_bookmark": "Eliminar marcador",
|
||||
"status.remove_favourite": "Retirar das favoritas",
|
||||
"status.replied_in_thread": "Respondeu nun fío",
|
||||
"status.replied_to": "Respondeu a {name}",
|
||||
"status.reply": "Responder",
|
||||
|
|
|
@ -457,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "הצגת/הסתרת טקסט מוסתר מאחורי אזהרת תוכן",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "הצגת/הסתרת מדיה",
|
||||
"keyboard_shortcuts.toot": "להתחיל חיצרוץ חדש",
|
||||
"keyboard_shortcuts.translate": "לתרגם הודעה",
|
||||
"keyboard_shortcuts.unfocus": "לצאת מתיבת חיבור/חיפוש",
|
||||
"keyboard_shortcuts.up": "לנוע במעלה הרשימה",
|
||||
"lightbox.close": "סגירה",
|
||||
|
@ -836,6 +837,7 @@
|
|||
"status.reblogs.empty": "עוד לא הידהדו את ההודעה הזו. כאשר זה יקרה, ההדהודים יופיעו כאן.",
|
||||
"status.redraft": "מחיקה ועריכה מחדש",
|
||||
"status.remove_bookmark": "הסרת סימניה",
|
||||
"status.remove_favourite": "להסיר מרשימת המועדפים",
|
||||
"status.replied_in_thread": "תגובה לשרשור",
|
||||
"status.replied_to": "בתגובה לחשבון {name}",
|
||||
"status.reply": "תגובה",
|
||||
|
|
|
@ -440,7 +440,7 @@
|
|||
"keyboard_shortcuts.heading": "Gyorsbillentyűk",
|
||||
"keyboard_shortcuts.home": "Saját idővonal megnyitása",
|
||||
"keyboard_shortcuts.hotkey": "Gyorsbillentyű",
|
||||
"keyboard_shortcuts.legend": "jelmagyarázat megjelenítése",
|
||||
"keyboard_shortcuts.legend": "Jelmagyarázat megjelenítése",
|
||||
"keyboard_shortcuts.local": "Helyi idővonal megnyitása",
|
||||
"keyboard_shortcuts.mention": "Szerző megemlítése",
|
||||
"keyboard_shortcuts.muted": "Némított felhasználók listájának megnyitása",
|
||||
|
@ -836,6 +836,7 @@
|
|||
"status.reblogs.empty": "Senki sem tolta még meg ezt a bejegyzést. Ha valaki megteszi, itt fog megjelenni.",
|
||||
"status.redraft": "Törlés és újraírás",
|
||||
"status.remove_bookmark": "Könyvjelző eltávolítása",
|
||||
"status.remove_favourite": "Eltávolítás a kedvencek közül",
|
||||
"status.replied_in_thread": "Válaszolva a szálban",
|
||||
"status.replied_to": "Megválaszolva {name} számára",
|
||||
"status.reply": "Válasz",
|
||||
|
|
|
@ -457,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Birta/fela texta á bak við aðvörun vegna efnis",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Birta/fela myndir",
|
||||
"keyboard_shortcuts.toot": "Byrja nýja færslu",
|
||||
"keyboard_shortcuts.translate": "að þýða færslu",
|
||||
"keyboard_shortcuts.unfocus": "Taka virkni úr textainnsetningarreit eða leit",
|
||||
"keyboard_shortcuts.up": "Fara ofar í listanum",
|
||||
"lightbox.close": "Loka",
|
||||
|
@ -836,6 +837,7 @@
|
|||
"status.reblogs.empty": "Enginn hefur ennþá endurbirt þessa færslu. Þegar einhver gerir það, mun það birtast hér.",
|
||||
"status.redraft": "Eyða og endurvinna drög",
|
||||
"status.remove_bookmark": "Fjarlægja bókamerki",
|
||||
"status.remove_favourite": "Fjarlægja úr eftirlætum",
|
||||
"status.replied_in_thread": "Svaraði í samtali",
|
||||
"status.replied_to": "Svaraði til {name}",
|
||||
"status.reply": "Svara",
|
||||
|
|
|
@ -682,7 +682,7 @@
|
|||
"poll_button.add_poll": "Aggiungi un sondaggio",
|
||||
"poll_button.remove_poll": "Rimuovi il sondaggio",
|
||||
"privacy.change": "Modifica privacy del post",
|
||||
"privacy.direct.long": "Tutti quelli menzioniati nel post",
|
||||
"privacy.direct.long": "Tutti quelli menzionati nel post",
|
||||
"privacy.direct.short": "Persone specifiche",
|
||||
"privacy.private.long": "Solo i tuoi follower",
|
||||
"privacy.private.short": "Follower",
|
||||
|
@ -836,6 +836,7 @@
|
|||
"status.reblogs.empty": "Ancora nessuno ha rebloggato questo post. Quando qualcuno lo farà, apparirà qui.",
|
||||
"status.redraft": "Elimina e riscrivi",
|
||||
"status.remove_bookmark": "Rimuovi segnalibro",
|
||||
"status.remove_favourite": "Rimuovi dai preferiti",
|
||||
"status.replied_in_thread": "Ha risposto nella discussione",
|
||||
"status.replied_to": "Risposta a {name}",
|
||||
"status.reply": "Rispondi",
|
||||
|
|
|
@ -414,6 +414,7 @@
|
|||
"interaction_modal.title.reblog": "{name} 님의 게시물을 부스트",
|
||||
"interaction_modal.title.reply": "{name} 님의 게시물에 답글",
|
||||
"interaction_modal.title.vote": "{name} 님의 투표에 참여",
|
||||
"interaction_modal.username_prompt": "예시: {example}",
|
||||
"intervals.full.days": "{number} 일",
|
||||
"intervals.full.hours": "{number} 시간",
|
||||
"intervals.full.minutes": "{number} 분",
|
||||
|
@ -449,6 +450,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "CW로 가려진 텍스트를 표시/비표시",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "미디어 보이기/숨기기",
|
||||
"keyboard_shortcuts.toot": "새 게시물 작성",
|
||||
"keyboard_shortcuts.translate": "게시물 번역",
|
||||
"keyboard_shortcuts.unfocus": "작성창에서 포커스 해제",
|
||||
"keyboard_shortcuts.up": "리스트에서 위로 이동",
|
||||
"lightbox.close": "닫기",
|
||||
|
|
|
@ -1,14 +1,25 @@
|
|||
{
|
||||
"about.blocks": "Servī moderātī",
|
||||
"about.contact": "Ratio:",
|
||||
"about.disclaimer": "Mastodon est software līberum, apertum fontem, et nōtam commercium Mastodon gGmbH.",
|
||||
"about.domain_blocks.no_reason_available": "Ratio abdere est",
|
||||
"about.domain_blocks.preamble": "Mastodon genērāliter sinit tē contentum ex aliīs servientibus in fedīversō vidēre et cum usoribus ab iīs interāgere. Haē sunt exceptionēs quae in hōc particulārī servientē factae sunt.",
|
||||
"about.domain_blocks.silenced.explanation": "Tua profilia atque tuum contentum ab hac serve praecipue non videbis, nisi explōrēs expresse aut subsequeris et optēs.",
|
||||
"about.domain_blocks.silenced.title": "Limitātus",
|
||||
"about.domain_blocks.suspended.explanation": "Nulla data ab hōc servientē processābuntur, servābuntur aut commūtābuntur, faciendumque omnem interactionem aut communicātiōnem cum usoribus ab hōc servientē impossibilem.",
|
||||
"about.domain_blocks.suspended.title": "suspensus",
|
||||
"about.not_available": "Haec informātiō in hōc servientē nōn praebita est.",
|
||||
"about.powered_by": "Nuntii socīālēs decentralizātī ā {mastodon} sustentātī.",
|
||||
"about.rules": "Servo praecepta",
|
||||
"account.account_note_header": "Nota personalia",
|
||||
"account.add_or_remove_from_list": "Adde aut ēripe ex tabellīs",
|
||||
"account.badges.bot": "Robotum",
|
||||
"account.badges.group": "Congregatio",
|
||||
"account.block": "Impedire @{name}",
|
||||
"account.block_domain": "Imperire dominium {domain}",
|
||||
"account.block_short": "Imperire",
|
||||
"account.blocked": "Impeditum est",
|
||||
"account.cancel_follow_request": "Withdraw follow request",
|
||||
"account.cancel_follow_request": "Petitio sequī retrāhere",
|
||||
"account.domain_blocked": "Dominium impeditum",
|
||||
"account.edit_profile": "Recolere notionem",
|
||||
"account.featured_tags.last_status_never": "Nulla contributa",
|
||||
|
@ -105,30 +116,30 @@
|
|||
"keyboard_shortcuts.compose": "TextArea Compositi Attendere",
|
||||
"keyboard_shortcuts.description": "Descriptio",
|
||||
"keyboard_shortcuts.direct": "to open direct messages column",
|
||||
"keyboard_shortcuts.down": "to move down in the list",
|
||||
"keyboard_shortcuts.down": "In īndice dēscend",
|
||||
"keyboard_shortcuts.enter": "Aperire contributum",
|
||||
"keyboard_shortcuts.federated": "to open federated timeline",
|
||||
"keyboard_shortcuts.federated": "Aperī chrōnologiam foederātam",
|
||||
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
|
||||
"keyboard_shortcuts.home": "to open home timeline",
|
||||
"keyboard_shortcuts.legend": "to display this legend",
|
||||
"keyboard_shortcuts.local": "to open local timeline",
|
||||
"keyboard_shortcuts.mention": "to mention author",
|
||||
"keyboard_shortcuts.muted": "to open muted users list",
|
||||
"keyboard_shortcuts.my_profile": "to open your profile",
|
||||
"keyboard_shortcuts.notifications": "to open notifications column",
|
||||
"keyboard_shortcuts.open_media": "to open media",
|
||||
"keyboard_shortcuts.pinned": "to open pinned posts list",
|
||||
"keyboard_shortcuts.profile": "to open author's profile",
|
||||
"keyboard_shortcuts.home": "Aperī chrōnologiam domesticam",
|
||||
"keyboard_shortcuts.legend": "Hanc legendam ostende",
|
||||
"keyboard_shortcuts.local": "Aperī chrōnologiam locālem",
|
||||
"keyboard_shortcuts.mention": "Memēntō auctōris",
|
||||
"keyboard_shortcuts.muted": "Aperī indicem ūtentium silentiōrum",
|
||||
"keyboard_shortcuts.my_profile": "Aperī prōfilum tuum",
|
||||
"keyboard_shortcuts.notifications": "Aperī columnam nūntiātiōnum",
|
||||
"keyboard_shortcuts.open_media": "Aperi media",
|
||||
"keyboard_shortcuts.pinned": "Aperī indicem nūntiōrum affixōrum",
|
||||
"keyboard_shortcuts.profile": "Aperi auctoris profile",
|
||||
"keyboard_shortcuts.reply": "Respondere ad contributum",
|
||||
"keyboard_shortcuts.requests": "to open follow requests list",
|
||||
"keyboard_shortcuts.search": "to focus search",
|
||||
"keyboard_shortcuts.spoilers": "to show/hide CW field",
|
||||
"keyboard_shortcuts.start": "to open \"get started\" column",
|
||||
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
|
||||
"keyboard_shortcuts.toot": "to start a brand new post",
|
||||
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
||||
"keyboard_shortcuts.up": "to move up in the list",
|
||||
"keyboard_shortcuts.requests": "Aperī indicem petītiōnum sequendī",
|
||||
"keyboard_shortcuts.search": "Fōcum in tabellam quaerendī",
|
||||
"keyboard_shortcuts.spoilers": "Ostende / celare CW agri",
|
||||
"keyboard_shortcuts.start": "Aperī columnam 'īncipere'",
|
||||
"keyboard_shortcuts.toggle_hidden": "Monstrare / celare textum post CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Ostende / celare media",
|
||||
"keyboard_shortcuts.toot": "Incipe nōvum nūntium.",
|
||||
"keyboard_shortcuts.unfocus": "Desinēre fōcum in ārēā componendī/inquīrendī",
|
||||
"keyboard_shortcuts.up": "Sumē sūrsum in īndice",
|
||||
"lightbox.close": "Claudere",
|
||||
"lightbox.next": "Secundum",
|
||||
"load_pending": "{count, plural, one {# novum item} other {# nova itema}}",
|
||||
|
@ -142,7 +153,7 @@
|
|||
"notification.favourite": "{name} nuntium tuum favit",
|
||||
"notification.follow": "{name} te secutus est",
|
||||
"notification.follow_request": "{name} postulavit ut te sequeretur",
|
||||
"notification.moderation_warning": "Accepistī monitionem moderationis.",
|
||||
"notification.moderation_warning": "Accepistī monitionem moderationis",
|
||||
"notification.moderation_warning.action_disable": "Ratio tua debilitata est.",
|
||||
"notification.moderation_warning.action_none": "Tua ratiō monitum moderātiōnis accēpit.",
|
||||
"notification.moderation_warning.action_sensitive": "Tua nuntia hinc sensibiliter notabuntur.",
|
||||
|
@ -160,7 +171,7 @@
|
|||
"notification_requests.confirm_dismiss_multiple.message": "Tu {count, plural, one {unam petitionem notificationis} other {# petitiones notificationum}} abrogāre prōximum es. {count, plural, one {Illa} other {Eae}} facile accessū nōn erit. Certus es tē procedere velle?",
|
||||
"notifications.filter.all": "Omnia",
|
||||
"notifications.filter.polls": "Eventus electionis",
|
||||
"notifications.group": "Notificātiōnēs",
|
||||
"notifications.group": "{count} Notificātiōnēs",
|
||||
"onboarding.profile.display_name_hint": "Tuum nomen completum aut tuum nomen ludens…",
|
||||
"onboarding.profile.note_hint": "Alios hominēs vel #hashtags @nōmināre potes…",
|
||||
"poll.closed": "Clausum",
|
||||
|
@ -191,7 +202,7 @@
|
|||
"report.mute_explanation": "Non videbis eōrum nuntiōs. Possunt adhuc tē sequī et tuōs nuntiōs vidēre, nec sciēbunt sē tacitōs esse.",
|
||||
"report.next": "Secundum",
|
||||
"report.placeholder": "Commentāriī adiūnctī",
|
||||
"report.reasons.legal_description": "Putās id legem tuae aut servientis patriae violāre.",
|
||||
"report.reasons.legal_description": "Putās id legem tuae aut servientis patriae violāre",
|
||||
"report.reasons.violation_description": "Scis quod certa praecepta frangit",
|
||||
"report.submit": "Mittere",
|
||||
"report.target": "Report {target}",
|
||||
|
@ -200,7 +211,7 @@
|
|||
"report_notification.categories.other": "Altera",
|
||||
"search.placeholder": "Quaerere",
|
||||
"search_results.all": "Omnis",
|
||||
"server_banner.active_users": "Usūrāriī āctīvī",
|
||||
"server_banner.active_users": "usūāriī āctīvī",
|
||||
"server_banner.administered_by": "Administratur:",
|
||||
"server_banner.is_one_of_many": "{domain} est unum ex multis independentibus servientibus Mastodon quos adhibere potes ut participes in fediverso.",
|
||||
"sign_in_banner.sign_in": "Sign in",
|
||||
|
@ -210,7 +221,7 @@
|
|||
"status.copy": "Copy link to status",
|
||||
"status.delete": "Oblitterare",
|
||||
"status.edit": "Recolere",
|
||||
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
|
||||
"status.edited_x_times": "Emendatum est {count, plural, one {{count} tempus} other {{count} tempora}}",
|
||||
"status.favourites": "{count, plural, one {favoritum} other {favorita}}",
|
||||
"status.history.created": "{name} creatum {date}",
|
||||
"status.history.edited": "{name} correxit {date}",
|
||||
|
|
|
@ -453,6 +453,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Rodyti / slėpti tekstą po TĮ",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Rodyti / slėpti mediją",
|
||||
"keyboard_shortcuts.toot": "Pradėti naują įrašą",
|
||||
"keyboard_shortcuts.translate": "išversti įrašą",
|
||||
"keyboard_shortcuts.unfocus": "Nebefokusuoti rengykles teksto sritį / paiešką",
|
||||
"keyboard_shortcuts.up": "Perkelti į viršų sąraše",
|
||||
"lightbox.close": "Uždaryti",
|
||||
|
@ -821,6 +822,7 @@
|
|||
"status.reblogs.empty": "Šio įrašo dar niekas nepakėlė. Kai kas nors tai padarys, jie bus rodomi čia.",
|
||||
"status.redraft": "Ištrinti ir parengti iš naujo",
|
||||
"status.remove_bookmark": "Pašalinti žymę",
|
||||
"status.remove_favourite": "Šalinti iš mėgstamų",
|
||||
"status.replied_in_thread": "Atsakyta gijoje",
|
||||
"status.replied_to": "Atsakyta į {name}",
|
||||
"status.reply": "Atsakyti",
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
"account.mute_notifications_short": "Izslēgt paziņojumu skaņu",
|
||||
"account.mute_short": "Apklusināt",
|
||||
"account.muted": "Apklusināts",
|
||||
"account.mutual": "Savstarpējs",
|
||||
"account.mutual": "Abpusēji",
|
||||
"account.no_bio": "Apraksts nav sniegts.",
|
||||
"account.open_original_page": "Atvērt oriģinālo lapu",
|
||||
"account.posts": "Ieraksti",
|
||||
|
@ -85,7 +85,9 @@
|
|||
"alert.rate_limited.title": "Biežums ierobežots",
|
||||
"alert.unexpected.message": "Radās negaidīta kļūda.",
|
||||
"alert.unexpected.title": "Ups!",
|
||||
"alt_text_badge.title": "Alt teksts",
|
||||
"announcement.announcement": "Paziņojums",
|
||||
"annual_report.summary.archetype.oracle": "Orākuls",
|
||||
"annual_report.summary.archetype.replier": "Sabiedriskais tauriņš",
|
||||
"annual_report.summary.followers.followers": "sekotāji",
|
||||
"annual_report.summary.followers.total": "pavisam {count}",
|
||||
|
@ -401,13 +403,20 @@
|
|||
"lightbox.previous": "Iepriekšējais",
|
||||
"limited_account_hint.action": "Tik un tā rādīt profilu",
|
||||
"limited_account_hint.title": "{domain} moderatori ir paslēpuši šo profilu.",
|
||||
"link_preview.author": "Pēc {name}",
|
||||
"link_preview.author": "No {name}",
|
||||
"link_preview.more_from_author": "Vairāk no {name}",
|
||||
"lists.add_member": "Pievienot",
|
||||
"lists.add_to_list": "Pievienot sarakstam",
|
||||
"lists.create": "Izveidot",
|
||||
"lists.create_list": "Izveidot sarakstu",
|
||||
"lists.delete": "Izdzēst sarakstu",
|
||||
"lists.done": "Gatavs",
|
||||
"lists.edit": "Labot sarakstu",
|
||||
"lists.remove_member": "Noņemt",
|
||||
"lists.replies_policy.followed": "Jebkuram sekotajam lietotājam",
|
||||
"lists.replies_policy.list": "Saraksta dalībniekiem",
|
||||
"lists.replies_policy.none": "Nevienam",
|
||||
"lists.save": "Saglabāt",
|
||||
"load_pending": "{count, plural, zero{# jaunu vienumu} one {# jauns vienums} other {# jauni vienumi}}",
|
||||
"loading_indicator.label": "Ielādē…",
|
||||
"media_gallery.hide": "Paslēpt",
|
||||
|
@ -466,6 +475,8 @@
|
|||
"notification.update": "{name} laboja ierakstu",
|
||||
"notification_requests.accept": "Pieņemt",
|
||||
"notification_requests.dismiss": "Noraidīt",
|
||||
"notification_requests.edit_selection": "Labot",
|
||||
"notification_requests.exit_selection": "Gatavs",
|
||||
"notification_requests.notifications_from": "Paziņojumi no {name}",
|
||||
"notification_requests.title": "Atlasītie paziņojumi",
|
||||
"notifications.clear": "Notīrīt paziņojumus",
|
||||
|
@ -501,6 +512,7 @@
|
|||
"notifications.permission_denied": "Darbvirsmas paziņojumi nav pieejami, jo iepriekš tika noraidīts pārlūka atļauju pieprasījums",
|
||||
"notifications.permission_denied_alert": "Darbvirsmas paziņojumus nevar iespējot, jo pārlūkprogrammai atļauja tika iepriekš atteikta",
|
||||
"notifications.permission_required": "Darbvirsmas paziņojumi nav pieejami, jo nav piešķirta nepieciešamā atļauja.",
|
||||
"notifications.policy.accept": "Pieņemt",
|
||||
"notifications.policy.filter_new_accounts_title": "Jauni konti",
|
||||
"notifications.policy.filter_not_followers_title": "Cilvēki, kuri Tev neseko",
|
||||
"notifications.policy.filter_not_following_hint": "Līdz tos pašrocīgi apstiprināsi",
|
||||
|
|
|
@ -72,6 +72,7 @@
|
|||
"account.unmute_notifications_short": "Kā通知取消消音",
|
||||
"account.unmute_short": "取消消音",
|
||||
"account_note.placeholder": "Tshi̍h tse加註kha",
|
||||
"admin.dashboard.daily_retention": "註冊以後ê用者維持率(用kang計算)",
|
||||
"admin.dashboard.monthly_retention": "註冊以後ê用者維持率",
|
||||
"admin.dashboard.retention.average": "平均",
|
||||
"admin.dashboard.retention.cohort": "註冊ê月",
|
||||
|
@ -96,15 +97,35 @@
|
|||
"annual_report.summary.here_it_is": "下kha是lí {year} 年ê回顧:",
|
||||
"annual_report.summary.highlighted_post.by_favourites": "Hōo足tsē lâng收藏ê PO文",
|
||||
"annual_report.summary.highlighted_post.by_reblogs": "Hōo足tsē lâng轉ê PO文",
|
||||
"annual_report.summary.highlighted_post.by_replies": "有上tsē回應ê PO文",
|
||||
"annual_report.summary.highlighted_post.possessive": "{name} ê",
|
||||
"annual_report.summary.most_used_app.most_used_app": "上tsē lâng用ê app",
|
||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "上tsia̍p用ê hashtag",
|
||||
"annual_report.summary.most_used_hashtag.none": "無",
|
||||
"annual_report.summary.new_posts.new_posts": "新ê PO文",
|
||||
"annual_report.summary.percentile.text": "<topLabel>Tse 予lí變做 {domain} ê用戶ê </topLabel><percentage></percentage><bottomLabel></bottomLabel>",
|
||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Gún bē kā Bernie講。",
|
||||
"annual_report.summary.thanks": "多謝成做Mastodon ê成員!",
|
||||
"attachments_list.unprocessed": "(Iáu bē處理)",
|
||||
"audio.hide": "Tshàng聲音",
|
||||
"block_modal.remote_users_caveat": "Guán ē要求服侍器 {domain} 尊重lí ê決定。但是bô法度保證ta̍k ê服侍器lóng遵守,因為tsi̍t-kuá服侍器huân-sè用別款方法處理封鎖。公開ê PO文可能iáu是ē hōo bô登入ê用者看著。",
|
||||
"block_modal.show_less": "看khah少",
|
||||
"block_modal.show_more": "顯示其他ê內容",
|
||||
"block_modal.they_cant_mention": "In buē-tàng 提起á是跟tuè lí。",
|
||||
"block_modal.they_cant_see_posts": "Lín buē-tàng互相看著對方ê PO文。",
|
||||
"block_modal.they_will_know": "In通看見in hőng封鎖。",
|
||||
"block_modal.title": "Kám beh封鎖用者?",
|
||||
"block_modal.you_wont_see_mentions": "Lí buē看見提起in ê PO文。",
|
||||
"boost_modal.combo": "後擺lí thang tshi̍h {combo} 跳過",
|
||||
"boost_modal.reblog": "Kám beh轉PO?",
|
||||
"boost_modal.undo_reblog": "Kám beh取消轉PO?",
|
||||
"bundle_column_error.copy_stacktrace": "Khóo-pih錯誤報告",
|
||||
"bundle_column_error.error.body": "請求ê頁bē-tàng 畫出來。有可能是guán程式碼內底ê錯誤,á是瀏覽器共存性ê議題。",
|
||||
"bundle_column_error.error.title": "害ah!",
|
||||
"bundle_column_error.network.body": "佇載入tsit頁ê時出現錯誤。可能因為lí ê網路連線á是tsit臺服侍器ê暫時ê問題。",
|
||||
"bundle_column_error.network.title": "網路錯誤",
|
||||
"bundle_column_error.retry": "Koh試",
|
||||
"bundle_column_error.return": "Tńg去頭頁",
|
||||
"bundle_column_error.routing.title": "404",
|
||||
"bundle_modal_error.close": "關",
|
||||
"compose.language.change": "換語言",
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
"about.powered_by": "{mastodon} द्वारा संचालित विकेन्द्रीकृत सामाजिक मिडिया",
|
||||
"about.rules": "सर्भर नियमहरू",
|
||||
"account.add_or_remove_from_list": "सूचीबाट थप्नुहोस् वा हटाउनुहोस्",
|
||||
"account.badges.bot": "स्वचालित",
|
||||
"account.badges.group": "समूह",
|
||||
"account.block": "@{name} लाई ब्लक गर्नुहोस्",
|
||||
"account.block_domain": "{domain} डोमेनलाई ब्लक गर्नुहोस्",
|
||||
|
@ -24,16 +25,29 @@
|
|||
"account.enable_notifications": "@{name} ले पोस्ट गर्दा मलाई सूचित गर्नुहोस्",
|
||||
"account.endorse": "प्रोफाइलमा फिचर गर्नुहोस्",
|
||||
"account.featured_tags.last_status_never": "कुनै पोस्ट छैन",
|
||||
"account.featured_tags.title": "{name}का विशेष ह्यासट्यागहरू",
|
||||
"account.follow": "फलो गर्नुहोस",
|
||||
"account.follow_back": "फलो ब्याक गर्नुहोस्",
|
||||
"account.followers": "फलोअरहरु",
|
||||
"account.followers.empty": "यस प्रयोगकर्तालाई अहिलेसम्म कसैले फलो गर्दैन।",
|
||||
"account.followers_counter": "{count, plural, one {{counter} फलोअर} other {{counter} फलोअरहरू}}",
|
||||
"account.following": "फलो गर्दै",
|
||||
"account.following_counter": "{count, plural, one {{counter} फलो गर्दै} other {{counter} फलो गर्दै}}",
|
||||
"account.follows.empty": "यो प्रयोगकर्ताले अहिलेसम्म कसैलाई फलो गरेको छैन।",
|
||||
"account.go_to_profile": "प्रोफाइलमा जानुहोस्",
|
||||
"account.hide_reblogs": "@{name} को बूस्टहरू लुकाउनुहोस्",
|
||||
"account.in_memoriam": "सम्झनामा।",
|
||||
"account.link_verified_on": "यस लिङ्कको स्वामित्व {date} मा जाँच गरिएको थियो",
|
||||
"account.media": "मिडिया",
|
||||
"account.mention": "@{name} लाई उल्लेख गर्नुहोस्",
|
||||
"account.mute": "@{name}लाई म्यूट गर्नुहोस्",
|
||||
"account.mute_notifications_short": "सूचनाहरू म्यूट गर्नुहोस्",
|
||||
"account.mute_short": "म्युट",
|
||||
"account.muted": "म्युट गरिएको",
|
||||
"account.mutual": "आपसी",
|
||||
"account.no_bio": "कुनै विवरण प्रदान गरिएको छैन।",
|
||||
"account.posts": "पोस्टहरू",
|
||||
"account.report": "@{name}लाई रिपोर्ट गर्नुहोस्",
|
||||
"account.requested": "स्वीकृतिको पर्खाइमा। फलो अनुरोध रद्द गर्न क्लिक गर्नुहोस्",
|
||||
"account.requested_follow": "{name} ले तपाईंलाई फलो गर्न अनुरोध गर्नुभएको छ",
|
||||
"account.share": "@{name} को प्रोफाइल सेयर गर्नुहोस्",
|
||||
|
@ -43,15 +57,21 @@
|
|||
"account.unblock_short": "अनब्लक गर्नुहोस्",
|
||||
"account.unendorse": "प्रोफाइलमा फिचर नगर्नुहोस्",
|
||||
"account.unfollow": "अनफलो गर्नुहोस्",
|
||||
"account.unmute": "@{name}लाई अनम्युट गर्नुहोस्",
|
||||
"account.unmute_notifications_short": "सूचनाहरू अनम्युट गर्नुहोस्",
|
||||
"account.unmute_short": "अनम्यूट गर्नुहोस्",
|
||||
"account_note.placeholder": "नोट लेख्न क्लिक गर्नुहोस्",
|
||||
"admin.dashboard.retention.average": "औसत",
|
||||
"admin.dashboard.retention.cohort_size": "नयाँ प्रयोगकर्ताहरू",
|
||||
"alert.rate_limited.message": "कृपया {retry_time, time, medium} पछि पुन: प्रयास गर्नुहोस्।",
|
||||
"alert.unexpected.message": "एउटा अनपेक्षित त्रुटि भयो।",
|
||||
"announcement.announcement": "घोषणा",
|
||||
"annual_report.summary.followers.followers": "फलोअरहरु",
|
||||
"annual_report.summary.new_posts.new_posts": "नयाँ पोस्टहरू",
|
||||
"block_modal.remote_users_caveat": "हामी सर्भर {domain} लाई तपाईंको निर्णयको सम्मान गर्न सोध्नेछौं। तर, हामी अनुपालनको ग्यारेन्टी दिन सक्दैनौं किनभने केही सर्भरहरूले ब्लकहरू फरक रूपमा ह्यान्डल गर्न सक्छन्। सार्वजनिक पोस्टहरू लग इन नभएका प्रयोगकर्ताहरूले देख्न सक्छन्।",
|
||||
"block_modal.show_less": "कम देखाउनुहोस्",
|
||||
"block_modal.show_more": "थप देखाउनुहोस्",
|
||||
"block_modal.title": "प्रयोगकर्तालाई ब्लक गर्ने हो?",
|
||||
"bundle_column_error.copy_stacktrace": "त्रुटि रिपोर्ट प्रतिलिपि गर्नुहोस्",
|
||||
"bundle_column_error.network.title": "नेटवर्क त्रुटि",
|
||||
"bundle_column_error.retry": "पुन: प्रयास गर्नुहोस्",
|
||||
|
@ -72,5 +92,34 @@
|
|||
"compose.language.change": "भाषा परिवर्तन गर्नुहोस्",
|
||||
"compose.language.search": "भाषाहरू खोज्नुहोस्...",
|
||||
"compose_form.direct_message_warning_learn_more": "थप जान्नुहोस्",
|
||||
"compose_form.publish_form": "नयाँ पोस्ट"
|
||||
"compose_form.publish_form": "नयाँ पोस्ट",
|
||||
"confirmations.follow_to_list.confirm": "फलो गर्नुहोस र सूचीमा थप्नुहोस्",
|
||||
"confirmations.follow_to_list.message": "सूचीमा {name}लाई थप्नको लागि तपाईंले तिनीहरूलाई फलो गरेको हुनुपर्छ।",
|
||||
"confirmations.follow_to_list.title": "प्रयोगकर्तालाई फलो गर्ने हो?",
|
||||
"confirmations.unfollow.confirm": "अनफलो गर्नुहोस्",
|
||||
"confirmations.unfollow.message": "के तपाइँ पक्का हुनुहुन्छ कि तपाइँ {name}लाई अनफलो गर्न चाहनुहुन्छ?",
|
||||
"confirmations.unfollow.title": "प्रयोगकर्तालाई अनफलो गर्ने हो?",
|
||||
"empty_column.follow_requests": "तपाईंले अहिलेसम्म कुनै पनि फलो अनुरोधहरू प्राप्त गर्नुभएको छैन। तपाईंले कुनै प्राप्त गरेपछि त्यो यहाँ देखिनेछ।",
|
||||
"empty_column.followed_tags": "तपाईंले अहिलेसम्म कुनै पनि ह्यासट्यागहरू फलो गर्नुभएको छैन। तपाईंले ह्यासट्याग फलो गरेपछि तिनीहरू यहाँ देखिनेछन्।",
|
||||
"follow_suggestions.dismiss": "फेरि नदेखाउनुहोस्",
|
||||
"follow_suggestions.hints.similar_to_recently_followed": "यो प्रोफाइल तपाईंले हालसालै फलो गर्नुभएका प्रोफाइलहरूसँग मिल्दोजुल्दो छ।",
|
||||
"follow_suggestions.popular_suggestion": "लोकप्रिय सुझाव",
|
||||
"follow_suggestions.popular_suggestion_longer": "{domain} मा लोकप्रिय",
|
||||
"follow_suggestions.similar_to_recently_followed_longer": "तपाईंले हालसालै फलो गर्नुभएको प्रोफाइलहरू जस्तै",
|
||||
"follow_suggestions.view_all": "सबै हेर्नुहोस्",
|
||||
"follow_suggestions.who_to_follow": "कसलाई फलो गर्ने",
|
||||
"followed_tags": "फलो गरिएका ह्यासट्यागहरू",
|
||||
"hashtag.follow": "ह्यासट्याग फलो गर्नुहोस्",
|
||||
"hashtag.unfollow": "ह्यासट्याग अनफलो गर्नुहोस्",
|
||||
"interaction_modal.title.follow": "{name} लाई फलो गर्नुहोस्",
|
||||
"mute_modal.they_wont_know": "उनीहरूलाई म्यूट गरिएको बारे थाहा हुँदैन।",
|
||||
"mute_modal.title": "प्रयोगकर्तालाई म्युट गर्ने हो?",
|
||||
"navigation_bar.blocks": "ब्लक गरिएको प्रयोगकर्ताहरु",
|
||||
"navigation_bar.follow_requests": "फलो अनुरोधहरू",
|
||||
"navigation_bar.followed_tags": "फलो गरिएका ह्यासट्यागहरू",
|
||||
"report.unfollow": "@{name} लाई अनफलो गर्नुहोस्",
|
||||
"search_results.hashtags": "ह्यासट्यागहरू",
|
||||
"status.mute": "@{name}लाई म्यूट गर्नुहोस्",
|
||||
"status.mute_conversation": "कुराकानी म्यूट गर्नुहोस्",
|
||||
"status.unmute_conversation": "कुराकानी अनम्यूट गर्नुहोस्"
|
||||
}
|
||||
|
|
|
@ -457,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Inhoudswaarschuwing tonen/verbergen",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Media tonen/verbergen",
|
||||
"keyboard_shortcuts.toot": "Nieuw bericht schrijven",
|
||||
"keyboard_shortcuts.translate": "om een bericht te vertalen",
|
||||
"keyboard_shortcuts.unfocus": "Tekst- en zoekveld ontfocussen",
|
||||
"keyboard_shortcuts.up": "Naar boven in de lijst bewegen",
|
||||
"lightbox.close": "Sluiten",
|
||||
|
@ -836,6 +837,7 @@
|
|||
"status.reblogs.empty": "Niemand heeft dit bericht nog geboost. Wanneer iemand dit doet, valt dat hier te zien.",
|
||||
"status.redraft": "Verwijderen en herschrijven",
|
||||
"status.remove_bookmark": "Bladwijzer verwijderen",
|
||||
"status.remove_favourite": "Verwijderen uit favorieten",
|
||||
"status.replied_in_thread": "Reageerde in gesprek",
|
||||
"status.replied_to": "Reageerde op {name}",
|
||||
"status.reply": "Reageren",
|
||||
|
|
|
@ -239,6 +239,10 @@
|
|||
"disabled_account_banner.text": "Kontoen din, {disabledAccount} er for tida deaktivert.",
|
||||
"dismissable_banner.community_timeline": "Dette er dei nylegaste offentlege innlegga frå personar med kontoar frå {domain}.",
|
||||
"dismissable_banner.dismiss": "Avvis",
|
||||
"dismissable_banner.explore_links": "Desse nyhendesakene er mest delte på allheimen i dag. Sakene som er nyast og mest delte er rangert høgast.",
|
||||
"dismissable_banner.explore_statuses": "Her er populære innlegg på allheimen nett no. Dei nyaste inlegga med flest favorittar og framhevingar er rangert høgast.",
|
||||
"dismissable_banner.explore_tags": "Desse merkelappane er populære på allheimen i dag. Merkelappane som er brukte av flest folk er rangert høgast.",
|
||||
"dismissable_banner.public_timeline": "Dette er dei nyaste offentlege innlegga frå menneske på allheimen som folk på {domain} fylgjer.",
|
||||
"domain_block_modal.block": "Blokker tenaren",
|
||||
"domain_block_modal.block_account_instead": "Blokker @{name} i staden",
|
||||
"domain_block_modal.they_can_interact_with_old_posts": "Folk på denne tenaren kan samhandla med dei gamle innlegga dine.",
|
||||
|
@ -287,7 +291,7 @@
|
|||
"empty_column.community": "Den lokale tidslina er tom. Skriv noko offentleg å få ballen til å rulle!",
|
||||
"empty_column.direct": "Du har ingen private omtaler enda. Etter du har sendt eller mottatt en, så vil den dukke opp her.",
|
||||
"empty_column.domain_blocks": "Det er ingen blokkerte domene enno.",
|
||||
"empty_column.explore_statuses": "Ingenting er i støytet nett no. Prøv igjen seinare!",
|
||||
"empty_column.explore_statuses": "Ingenting er populært nett no. Prøv att seinare!",
|
||||
"empty_column.favourited_statuses": "Du har ingen favoritt-statusar ennå. Når du merkjer ein som favoritt, dukkar han opp her.",
|
||||
"empty_column.favourites": "Ingen har merkt denne statusen som favoritt enno. Når nokon gjer det, dukkar dei opp her.",
|
||||
"empty_column.follow_requests": "Ingen har spurt om å fylgja deg enno. Når nokon gjer det, vil det dukka opp her.",
|
||||
|
@ -358,8 +362,10 @@
|
|||
"footer.privacy_policy": "Personvernsreglar",
|
||||
"footer.source_code": "Vis kjeldekode",
|
||||
"footer.status": "Status",
|
||||
"footer.terms_of_service": "Brukarvilkår",
|
||||
"generic.saved": "Lagra",
|
||||
"getting_started.heading": "Kom i gang",
|
||||
"hashtag.admin_moderation": "Opne moderasjonsgrensesnitt for #{name}",
|
||||
"hashtag.column_header.tag_mode.all": "og {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "eller {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "utan {additional}",
|
||||
|
@ -401,6 +407,13 @@
|
|||
"ignore_notifications_modal.not_followers_title": "Oversjå varsel frå folk som ikkje fylgjer deg?",
|
||||
"ignore_notifications_modal.not_following_title": "Oversjå varsel frå folk du ikkje fylgjer?",
|
||||
"ignore_notifications_modal.private_mentions_title": "Oversjå varsel frå masseutsende private omtaler?",
|
||||
"interaction_modal.action.favourite": "Du må favorittmerka frå kontoen din for å halda fram.",
|
||||
"interaction_modal.action.follow": "Du må fylgja frå kontoen din for å halda fram.",
|
||||
"interaction_modal.action.reblog": "Du må framheva frå kontoen din for å halda fram.",
|
||||
"interaction_modal.action.reply": "Du må svara frå kontoen din for å halda fram.",
|
||||
"interaction_modal.action.vote": "Du må røysta frå kontoen din for å halda fram.",
|
||||
"interaction_modal.go": "Gå",
|
||||
"interaction_modal.no_account_yet": "Har du ikkje ein konto enno?",
|
||||
"interaction_modal.on_another_server": "På ein annan tenar",
|
||||
"interaction_modal.on_this_server": "På denne tenaren",
|
||||
"interaction_modal.title.favourite": "Marker innlegget til {name} som favoritt",
|
||||
|
@ -408,6 +421,7 @@
|
|||
"interaction_modal.title.reblog": "Framhev {name} sitt innlegg",
|
||||
"interaction_modal.title.reply": "Svar på innlegge til {name}",
|
||||
"interaction_modal.title.vote": "Røyst i {name} si avrøysting",
|
||||
"interaction_modal.username_prompt": "T.d. {example}",
|
||||
"intervals.full.days": "{number, plural, one {# dag} other {# dagar}}",
|
||||
"intervals.full.hours": "{number, plural, one {# time} other {# timar}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minutt} other {# minutt}}",
|
||||
|
@ -443,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Vis/gøym tekst bak innhaldsvarsel",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Vis/gøym media",
|
||||
"keyboard_shortcuts.toot": "Lag nytt tut",
|
||||
"keyboard_shortcuts.translate": "å omsetje eit innlegg",
|
||||
"keyboard_shortcuts.unfocus": "for å fokusere vekk skrive-/søkefeltet",
|
||||
"keyboard_shortcuts.up": "Flytt opp på lista",
|
||||
"lightbox.close": "Lukk",
|
||||
|
@ -455,11 +470,32 @@
|
|||
"link_preview.author": "Av {name}",
|
||||
"link_preview.more_from_author": "Meir frå {name}",
|
||||
"link_preview.shares": "{count, plural,one {{counter} innlegg} other {{counter} innlegg}}",
|
||||
"lists.add_member": "Legg til",
|
||||
"lists.add_to_list": "Legg til i liste",
|
||||
"lists.add_to_lists": "Legg til {name} i lister",
|
||||
"lists.create": "Lag",
|
||||
"lists.create_a_list_to_organize": "Lag ei ny liste for å organisera startskjermen din",
|
||||
"lists.create_list": "Lag liste",
|
||||
"lists.delete": "Slett liste",
|
||||
"lists.done": "Ferdig",
|
||||
"lists.edit": "Rediger liste",
|
||||
"lists.exclusive": "Gøym medlemer frå startskjermen",
|
||||
"lists.exclusive_hint": "Viss nokon er på denne lista, blir dei gøymde frå startskjermen slik at du slepp sjå innlegga deira to gonger.",
|
||||
"lists.find_users_to_add": "Finn brukarar å leggja til",
|
||||
"lists.list_members": "Syn medlemer",
|
||||
"lists.list_members_count": "{count, plural, one {# medlem} other {# medlemer}}",
|
||||
"lists.list_name": "Namn på lista",
|
||||
"lists.new_list_name": "Namn på den nye lista",
|
||||
"lists.no_lists_yet": "Ingen lister enno.",
|
||||
"lists.no_members_yet": "Ingen medlemer enno.",
|
||||
"lists.no_results_found": "Fann ingenting.",
|
||||
"lists.remove_member": "Fjern",
|
||||
"lists.replies_policy.followed": "Alle fylgde brukarar",
|
||||
"lists.replies_policy.list": "Medlemar i lista",
|
||||
"lists.replies_policy.none": "Ingen",
|
||||
"lists.save": "Lagre",
|
||||
"lists.search": "Søk",
|
||||
"lists.show_replies_to": "Inkluder svar frå listemedlemer til",
|
||||
"load_pending": "{count, plural, one {# nytt element} other {# nye element}}",
|
||||
"loading_indicator.label": "Lastar…",
|
||||
"media_gallery.hide": "Gøym",
|
||||
|
@ -512,6 +548,8 @@
|
|||
"notification.annual_report.view": "Sjå #Året ditt",
|
||||
"notification.favourite": "{name} markerte innlegget ditt som favoritt",
|
||||
"notification.favourite.name_and_others_with_link": "{name} og <a>{count, plural, one {# annan} other {# andre}}</a> favorittmerka innlegget ditt",
|
||||
"notification.favourite_pm": "{name} favorittmerka den private nemninga di",
|
||||
"notification.favourite_pm.name_and_others_with_link": "{name} og <a>{count, plural, one {# annan} other {# andre}}</a> favorittmerka den private nemninga di",
|
||||
"notification.follow": "{name} fylgde deg",
|
||||
"notification.follow.name_and_others": "{name} og <a>{count, plural, one {# annan} other {# andre}}</a> fylgde deg",
|
||||
"notification.follow_request": "{name} har bedt om å fylgja deg",
|
||||
|
@ -616,7 +654,11 @@
|
|||
"notifications_permission_banner.enable": "Skru på skrivebordsvarsel",
|
||||
"notifications_permission_banner.how_to_control": "Aktiver skrivebordsvarsel for å få varsel når Mastodon ikkje er open. Du kan nøye bestemme kva samhandlingar som skal føre til skrivebordsvarsel gjennom {icon}-knappen ovanfor etter at varsel er aktivert.",
|
||||
"notifications_permission_banner.title": "Gå aldri glipp av noko",
|
||||
"onboarding.follows.back": "Tilbake",
|
||||
"onboarding.follows.done": "Ferdig",
|
||||
"onboarding.follows.empty": "Me kan ikkje visa deg nokon resultat no. Du kan prøva å søkja eller bla gjennom utforsk-sida for å finna folk å fylgja, eller du kan prøva att seinare.",
|
||||
"onboarding.follows.search": "Søk",
|
||||
"onboarding.follows.title": "Fylg folk for å koma i gang",
|
||||
"onboarding.profile.discoverable": "Gjer profilen min synleg",
|
||||
"onboarding.profile.discoverable_hint": "Når du vel å gjera profilen din synleg på Mastodon, vil innlegga dine syna i søkjeresultat og populære innlegg, og profilen din kan bli føreslegen for folk med liknande interesser som deg.",
|
||||
"onboarding.profile.display_name": "Synleg namn",
|
||||
|
@ -654,6 +696,8 @@
|
|||
"privacy_policy.title": "Personvernsreglar",
|
||||
"recommended": "Tilrådd",
|
||||
"refresh": "Oppdater",
|
||||
"regeneration_indicator.please_stand_by": "Vent litt.",
|
||||
"regeneration_indicator.preparing_your_home_feed": "Gjer klar startskjermen din…",
|
||||
"relative_time.days": "{number}dg",
|
||||
"relative_time.full.days": "{number, plural, one {# dag} other {# dagar}} sidan",
|
||||
"relative_time.full.hours": "{number, plural, one {# time} other {# timar}} sidan",
|
||||
|
@ -737,8 +781,11 @@
|
|||
"search_results.accounts": "Profiler",
|
||||
"search_results.all": "Alt",
|
||||
"search_results.hashtags": "Emneknaggar",
|
||||
"search_results.no_results": "Ingen resultat.",
|
||||
"search_results.no_search_yet": "Prøv å søkja etter innlegg, profilar eller merkelappar.",
|
||||
"search_results.see_all": "Sjå alle",
|
||||
"search_results.statuses": "Tut",
|
||||
"search_results.title": "Søk etter \"{q}\"",
|
||||
"server_banner.about_active_users": "Personar som har brukt denne tenaren dei siste 30 dagane (Månadlege Aktive Brukarar)",
|
||||
"server_banner.active_users": "aktive brukarar",
|
||||
"server_banner.administered_by": "Administrert av:",
|
||||
|
@ -811,6 +858,7 @@
|
|||
"subscribed_languages.target": "Endre abonnerte språk for {target}",
|
||||
"tabs_bar.home": "Heim",
|
||||
"tabs_bar.notifications": "Varsel",
|
||||
"terms_of_service.title": "Bruksvilkår",
|
||||
"time_remaining.days": "{number, plural, one {# dag} other {# dagar}} igjen",
|
||||
"time_remaining.hours": "{number, plural, one {# time} other {# timar}} igjen",
|
||||
"time_remaining.minutes": "{number, plural, one {# minutt} other {# minutt}} igjen",
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"about.blocks": "Servidores moderados",
|
||||
"about.contact": "Contacto:",
|
||||
"about.disclaimer": "Mastodon é um software livre, de código aberto e uma marca registada do Mastodon gGmbH.",
|
||||
"about.disclaimer": "O Mastodon é um software livre, de código aberto e uma marca registada do Mastodon gGmbH.",
|
||||
"about.domain_blocks.no_reason_available": "Motivo não disponível",
|
||||
"about.domain_blocks.preamble": "O Mastodon geralmente permite que veja e interaja com o conteúdo de utilizadores de qualquer outra instância no fediverso. Estas são as exceções desta instância em específico.",
|
||||
"about.domain_blocks.silenced.explanation": "Normalmente não verá perfis e conteúdo deste servidor, a menos que os procure explicitamente ou opte por os seguir.",
|
||||
"about.domain_blocks.preamble": "O Mastodon geralmente permite ver e interagir com o conteúdo de utilizadores de qualquer outra instância no fediverso. Estas são as exceções desta instância em específico.",
|
||||
"about.domain_blocks.silenced.explanation": "Normalmente não verás perfis e conteúdos deste servidor, a não ser que os procures explicitamente ou optes por segui-los.",
|
||||
"about.domain_blocks.silenced.title": "Limitados",
|
||||
"about.domain_blocks.suspended.explanation": "Nenhum dado deste servidor será processado, armazenado ou trocado, tornando impossível qualquer interação ou comunicação com os utilizadores a partir deste servidor.",
|
||||
"about.domain_blocks.suspended.title": "Suspensos",
|
||||
|
@ -20,7 +20,7 @@
|
|||
"account.block_short": "Bloquear",
|
||||
"account.blocked": "Bloqueado",
|
||||
"account.cancel_follow_request": "Retirar pedido para seguir",
|
||||
"account.copy": "Copiar hiperligação para o perfil",
|
||||
"account.copy": "Copiar hiperligação do perfil",
|
||||
"account.direct": "Mencionar @{name} em privado",
|
||||
"account.disable_notifications": "Parar de me notificar das publicações de @{name}",
|
||||
"account.domain_blocked": "Domínio bloqueado",
|
||||
|
@ -58,8 +58,8 @@
|
|||
"account.posts": "Publicações",
|
||||
"account.posts_with_replies": "Publicações e respostas",
|
||||
"account.report": "Denunciar @{name}",
|
||||
"account.requested": "A aguardar aprovação. Clique para cancelar o pedido para seguir",
|
||||
"account.requested_follow": "{name} pediu para segui-lo",
|
||||
"account.requested": "A aguardar aprovação. Clica para cancelar o pedido para seguir",
|
||||
"account.requested_follow": "{name} pediu para seguir-te",
|
||||
"account.share": "Partilhar o perfil @{name}",
|
||||
"account.show_reblogs": "Mostrar partilhas impulsionadas de @{name}",
|
||||
"account.statuses_counter": "{count, plural, one {{counter} publicação} other {{counter} publicações}}",
|
||||
|
@ -71,7 +71,7 @@
|
|||
"account.unmute": "Desocultar @{name}",
|
||||
"account.unmute_notifications_short": "Desocultar notificações",
|
||||
"account.unmute_short": "Desocultar",
|
||||
"account_note.placeholder": "Clique para adicionar nota",
|
||||
"account_note.placeholder": "Clicar para adicionar nota",
|
||||
"admin.dashboard.daily_retention": "Taxa de retenção de utilizadores por dia após a inscrição",
|
||||
"admin.dashboard.monthly_retention": "Taxa de retenção de utilizadores por mês após a inscrição",
|
||||
"admin.dashboard.retention.average": "Média",
|
||||
|
@ -81,12 +81,12 @@
|
|||
"admin.impact_report.instance_followers": "Seguidores que os nossos utilizadores perderiam",
|
||||
"admin.impact_report.instance_follows": "Seguidores que os utilizadores deles perderiam",
|
||||
"admin.impact_report.title": "Resumo do impacto",
|
||||
"alert.rate_limited.message": "Volte a tentar depois das {retry_time, time, medium}.",
|
||||
"alert.rate_limited.message": "Volta a tentar depois das {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Limite de tentativas",
|
||||
"alert.unexpected.message": "Ocorreu um erro inesperado.",
|
||||
"alert.unexpected.title": "Bolas!",
|
||||
"alt_text_badge.title": "Texto alternativo",
|
||||
"announcement.announcement": "Anúncio",
|
||||
"announcement.announcement": "Mensagem de manutenção",
|
||||
"annual_report.summary.archetype.booster": "O caçador de frescura",
|
||||
"annual_report.summary.archetype.lurker": "O espreitador",
|
||||
"annual_report.summary.archetype.oracle": "O oráculo",
|
||||
|
@ -103,39 +103,39 @@
|
|||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "etiqueta mais utilizada",
|
||||
"annual_report.summary.most_used_hashtag.none": "Nenhuma",
|
||||
"annual_report.summary.new_posts.new_posts": "novas publicações",
|
||||
"annual_report.summary.percentile.text": "<topLabel>Isso coloca-o no topo</topLabel><percentage></percentage><bottomLabel>dos utilizadores de {domain}.</bottomLabel>",
|
||||
"annual_report.summary.percentile.text": "<topLabel>Isso coloca-te no topo</topLabel><percentage></percentage><bottomLabel>dos utilizadores de {domain}.</bottomLabel>",
|
||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Este segredo fica entre nós.",
|
||||
"annual_report.summary.thanks": "Obrigado por fazer parte do Mastodon!",
|
||||
"annual_report.summary.thanks": "Obrigado por fazeres parte do Mastodon!",
|
||||
"attachments_list.unprocessed": "(não processado)",
|
||||
"audio.hide": "Ocultar áudio",
|
||||
"block_modal.remote_users_caveat": "Vamos pedir ao servidor {domain} para respeitar a sua decisão. No entanto, não é garantido o seu cumprimento, uma vez que alguns servidores podem tratar os bloqueios de forma diferente. As publicações públicas podem continuar a ser visíveis para utilizadores não autenticados.",
|
||||
"block_modal.remote_users_caveat": "Vamos pedir ao servidor {domain} para respeitar a tua decisão. No entanto, não é garantido o seu cumprimento, uma vez que alguns servidores podem tratar os bloqueios de forma diferente. As publicações públicas podem continuar a ser visíveis para utilizadores não autenticados.",
|
||||
"block_modal.show_less": "Mostrar menos",
|
||||
"block_modal.show_more": "Mostrar mais",
|
||||
"block_modal.they_cant_mention": "Ele não o pode mencionar nem seguir.",
|
||||
"block_modal.they_cant_see_posts": "Não verá as publicações dele e ele não poderá ver as suas publicações.",
|
||||
"block_modal.they_will_know": "Ele pode ver que o bloqueou.",
|
||||
"block_modal.they_cant_mention": "Ele não te pode mencionar nem seguir.",
|
||||
"block_modal.they_cant_see_posts": "Não verás as publicações dele e ele não poderá ver as tuas publicações.",
|
||||
"block_modal.they_will_know": "Ele pode ver que o bloqueaste.",
|
||||
"block_modal.title": "Bloquear utilizador?",
|
||||
"block_modal.you_wont_see_mentions": "Não verá publicações que mencionem este utilizador.",
|
||||
"boost_modal.combo": "Pode premir {combo} para não voltar a ver isto",
|
||||
"block_modal.you_wont_see_mentions": "Não verás publicações que mencionem este utilizador.",
|
||||
"boost_modal.combo": "Podes premir {combo} para não voltares a ver isto",
|
||||
"boost_modal.reblog": "Impulsionar a publicação?",
|
||||
"boost_modal.undo_reblog": "Não impulsionar a publicação?",
|
||||
"bundle_column_error.copy_stacktrace": "Copiar relatório de erros",
|
||||
"bundle_column_error.error.body": "A página solicitada não pôde ser sintetizada. Isto pode ser devido a uma falha no nosso código ou a um problema de compatibilidade com o navegador.",
|
||||
"bundle_column_error.error.title": "Ó, não!",
|
||||
"bundle_column_error.network.body": "Houve um erro ao tentar carregar esta página. Isto pode ocorrer devido a um problema temporário com a sua conexão à internet ou a este servidor.",
|
||||
"bundle_column_error.network.body": "Houve um erro ao tentar carregar esta página. Isto pode ocorrer devido a um problema temporário com a tua conexão à internet ou a este servidor.",
|
||||
"bundle_column_error.network.title": "Erro de rede",
|
||||
"bundle_column_error.retry": "Tente de novo",
|
||||
"bundle_column_error.retry": "Tenta de novo",
|
||||
"bundle_column_error.return": "Voltar à página inicial",
|
||||
"bundle_column_error.routing.body": "A página solicitada não foi encontrada. Tem a certeza que o URL na barra de endereços está correto?",
|
||||
"bundle_column_error.routing.body": "A página solicitada não foi encontrada. Tens a certeza que o URL na barra de endereços está correto?",
|
||||
"bundle_column_error.routing.title": "404",
|
||||
"bundle_modal_error.close": "Fechar",
|
||||
"bundle_modal_error.message": "Algo correu mal ao carregar este ecrã.",
|
||||
"bundle_modal_error.retry": "Tente de novo",
|
||||
"closed_registrations.other_server_instructions": "Visto que o Mastodon é descentralizado, pode criar uma conta noutro servidor e interagir com este na mesma.",
|
||||
"bundle_modal_error.retry": "Tenta de novo",
|
||||
"closed_registrations.other_server_instructions": "Visto que o Mastodon é descentralizado, podes criar uma conta noutro servidor e interagir com este na mesma.",
|
||||
"closed_registrations_modal.description": "Neste momento não é possível criar uma conta em {domain}, mas lembramos que não é preciso ter uma conta especificamente em {domain} para usar o Mastodon.",
|
||||
"closed_registrations_modal.find_another_server": "Procurar outro servidor",
|
||||
"closed_registrations_modal.preamble": "O Mastodon é descentralizado, por isso não importa onde a sua conta é criada, pois continuará a poder acompanhar e interagir com qualquer um neste servidor. Pode até alojar o seu próprio servidor!",
|
||||
"closed_registrations_modal.title": "Inscrevendo-se no Mastodon",
|
||||
"closed_registrations_modal.preamble": "O Mastodon é descentralizado, por isso não importa onde a tua conta é criada, pois continuarás a poder acompanhar e interagir com qualquer um neste servidor. Podes até alojar o teu próprio servidor!",
|
||||
"closed_registrations_modal.title": "Criar uma conta no Mastodon",
|
||||
"column.about": "Sobre",
|
||||
"column.blocks": "Utilizadores bloqueados",
|
||||
"column.bookmarks": "Marcadores",
|
||||
|
@ -155,8 +155,8 @@
|
|||
"column.notifications": "Notificações",
|
||||
"column.pins": "Publicações afixadas",
|
||||
"column.public": "Cronologia federada",
|
||||
"column_back_button.label": "Retroceder",
|
||||
"column_header.hide_settings": "Esconder configurações",
|
||||
"column_back_button.label": "Voltar",
|
||||
"column_header.hide_settings": "Ocultar configurações",
|
||||
"column_header.moveLeft_settings": "Mover coluna para a esquerda",
|
||||
"column_header.moveRight_settings": "Mover coluna para a direita",
|
||||
"column_header.pin": "Afixar",
|
||||
|
@ -165,7 +165,7 @@
|
|||
"column_search.cancel": "Cancelar",
|
||||
"column_subheading.settings": "Configurações",
|
||||
"community.column_settings.local_only": "Apenas local",
|
||||
"community.column_settings.media_only": "Apenas média",
|
||||
"community.column_settings.media_only": "Apenas multimédia",
|
||||
"community.column_settings.remote_only": "Apenas remoto",
|
||||
"compose.language.change": "Alterar idioma",
|
||||
"compose.language.search": "Pesquisar idiomas...",
|
||||
|
@ -173,11 +173,11 @@
|
|||
"compose.published.open": "Abrir",
|
||||
"compose.saved.body": "Publicação guardada.",
|
||||
"compose_form.direct_message_warning_learn_more": "Saber mais",
|
||||
"compose_form.encryption_warning": "As publicações no Mastodon não são encriptadas de ponta a ponta. Não partilhe qualquer informação sensível através do Mastodon.",
|
||||
"compose_form.encryption_warning": "As publicações no Mastodon não são encriptadas de ponta a ponta. Não partilhes qualquer informação sensível através do Mastodon.",
|
||||
"compose_form.hashtag_warning": "Esta publicação não será listada em qualquer etiqueta, pois não é pública. Apenas as publicações públicas podem ser pesquisadas por etiquetas.",
|
||||
"compose_form.lock_disclaimer": "A sua conta não está {locked}. Qualquer pessoa pode segui-lo para ver as suas publicações destinadas apenas aos seus seguidores.",
|
||||
"compose_form.lock_disclaimer": "A tua conta não está {locked}. Qualquer pessoa pode seguir-te para ver as tuas publicações destinadas apenas aos teus seguidores.",
|
||||
"compose_form.lock_disclaimer.lock": "fechada",
|
||||
"compose_form.placeholder": "Em que está a pensar?",
|
||||
"compose_form.placeholder": "Em que estás a pensar?",
|
||||
"compose_form.poll.duration": "Duração da sondagem",
|
||||
"compose_form.poll.multiple": "Escolha múltipla",
|
||||
"compose_form.poll.option_placeholder": "Opção {number}",
|
||||
|
@ -195,31 +195,31 @@
|
|||
"confirmation_modal.cancel": "Cancelar",
|
||||
"confirmations.block.confirm": "Bloquear",
|
||||
"confirmations.delete.confirm": "Eliminar",
|
||||
"confirmations.delete.message": "De certeza que quer eliminar esta publicação?",
|
||||
"confirmations.delete.message": "De certeza que queres eliminar esta publicação?",
|
||||
"confirmations.delete.title": "Eliminar publicação?",
|
||||
"confirmations.delete_list.confirm": "Eliminar",
|
||||
"confirmations.delete_list.message": "Tem a certeza de que deseja eliminar permanentemente esta lista?",
|
||||
"confirmations.delete_list.message": "Tens a certeza de que desejas eliminar permanentemente esta lista?",
|
||||
"confirmations.delete_list.title": "Eliminar lista?",
|
||||
"confirmations.discard_edit_media.confirm": "Descartar",
|
||||
"confirmations.discard_edit_media.message": "Tem alterações por guardar na descrição da multimédia ou pré-visualização do conteúdo. Descartar mesmo assim?",
|
||||
"confirmations.discard_edit_media.message": "Tens alterações por guardar na descrição da multimédia ou pré-visualização do conteúdo. Descartar mesmo assim?",
|
||||
"confirmations.edit.confirm": "Editar",
|
||||
"confirmations.edit.message": "Editar agora irá substituir a mensagem que está a compor. Tem a certeza de que deseja continuar?",
|
||||
"confirmations.edit.message": "Editar agora irás substituir a mensagem que estás a compor. Tens a certeza de que desejas continuar?",
|
||||
"confirmations.edit.title": "Substituir publicação?",
|
||||
"confirmations.follow_to_list.confirm": "Seguir e adicionar à lista",
|
||||
"confirmations.follow_to_list.message": "Tem de seguir {name} para o adicionar a uma lista.",
|
||||
"confirmations.follow_to_list.message": "Tens de seguir {name} para o adicionares a uma lista.",
|
||||
"confirmations.follow_to_list.title": "Seguir utilizador?",
|
||||
"confirmations.logout.confirm": "Terminar sessão",
|
||||
"confirmations.logout.message": "Tem a certeza de que quer terminar a sessão?",
|
||||
"confirmations.logout.message": "Tens a certeza de que queres terminar a sessão?",
|
||||
"confirmations.logout.title": "Terminar sessão?",
|
||||
"confirmations.mute.confirm": "Ocultar",
|
||||
"confirmations.redraft.confirm": "Eliminar e reescrever",
|
||||
"confirmations.redraft.message": "Tem a certeza de que quer eliminar e tornar a escrever esta publicação? Os favoritos e as publicações impulsionadas perder-se-ão e as respostas à publicação original ficarão órfãs.",
|
||||
"confirmations.redraft.message": "Tens a certeza de que queres eliminar e tornar a escrever esta publicação? Os favoritos e as publicações impulsionadas perder-se-ão e as respostas à publicação original ficarão órfãs.",
|
||||
"confirmations.redraft.title": "Eliminar e reescrever publicação?",
|
||||
"confirmations.reply.confirm": "Responder",
|
||||
"confirmations.reply.message": "Se responder agora, a mensagem que está a escrever será substituída. Tem a certeza que pretende continuar?",
|
||||
"confirmations.reply.message": "Se responderes agora, a mensagem que estás a escrever será substituída. Tens a certeza que pretendes continuar?",
|
||||
"confirmations.reply.title": "Substituir publicação?",
|
||||
"confirmations.unfollow.confirm": "Deixar de seguir",
|
||||
"confirmations.unfollow.message": "De certeza que quer deixar de seguir {name}?",
|
||||
"confirmations.unfollow.message": "De certeza que queres deixar de seguir {name}?",
|
||||
"confirmations.unfollow.title": "Deixar de seguir o utilizador?",
|
||||
"content_warning.hide": "Ocultar publicação",
|
||||
"content_warning.show": "Mostrar mesmo assim",
|
||||
|
@ -236,7 +236,7 @@
|
|||
"directory.new_arrivals": "Recém-chegados",
|
||||
"directory.recently_active": "Recentemente ativo",
|
||||
"disabled_account_banner.account_settings": "Definições da conta",
|
||||
"disabled_account_banner.text": "A sua conta {disabledAccount} está atualmente desativada.",
|
||||
"disabled_account_banner.text": "A tua conta {disabledAccount} está atualmente desativada.",
|
||||
"dismissable_banner.community_timeline": "Estas são as publicações públicas mais recentes de pessoas cujas contas são hospedadas por {domain}.",
|
||||
"dismissable_banner.dismiss": "Descartar",
|
||||
"dismissable_banner.explore_links": "Estas notícias estão a ser mais partilhadas no fediverso hoje. As notícias mais recentes publicadas por mais pessoas diferentes têm uma classificação mais elevada.",
|
||||
|
@ -245,27 +245,27 @@
|
|||
"dismissable_banner.public_timeline": "Estas são as publicações públicas mais recentes de pessoas no fediverso que as pessoas em {domain} seguem.",
|
||||
"domain_block_modal.block": "Bloquear servidor",
|
||||
"domain_block_modal.block_account_instead": "Bloquear antes @{name}",
|
||||
"domain_block_modal.they_can_interact_with_old_posts": "As pessoas deste servidor podem interagir com as suas publicações antigas.",
|
||||
"domain_block_modal.they_cant_follow": "Ninguém deste servidor pode segui-lo.",
|
||||
"domain_block_modal.they_can_interact_with_old_posts": "As pessoas deste servidor podem interagir com as tuas publicações antigas.",
|
||||
"domain_block_modal.they_cant_follow": "Ninguém deste servidor pode seguir-te.",
|
||||
"domain_block_modal.they_wont_know": "Eles não saberão que foram bloqueados.",
|
||||
"domain_block_modal.title": "Bloquear domínio?",
|
||||
"domain_block_modal.you_will_lose_num_followers": "Irá perder {followersCount, plural, one {{followersCountDisplay} seguidor} other {{followersCountDisplay} seguidores}} e {followingCount, plural, one {{followingCountDisplay} pessoa que segue} other {{followingCountDisplay} pessoas que segue}}.",
|
||||
"domain_block_modal.you_will_lose_relationships": "Perderá todos os seguidores e pessoas que segue deste servidor.",
|
||||
"domain_block_modal.you_wont_see_posts": "Não verá publicações ou notificações de utilizadores neste servidor.",
|
||||
"domain_pill.activitypub_lets_connect": "Permite-lhe conectar e interagir com pessoas não só no Mastodon, mas também em diferentes aplicações sociais.",
|
||||
"domain_block_modal.you_will_lose_num_followers": "Irás perder {followersCount, plural, one {{followersCountDisplay} seguidor} other {{followersCountDisplay} seguidores}} e {followingCount, plural, one {{followingCountDisplay} pessoa que estás a seguir} other {{followingCountDisplay} pessoas que estás a seguir}}.",
|
||||
"domain_block_modal.you_will_lose_relationships": "Irás perder todos os seguidores e pessoas que segues deste servidor.",
|
||||
"domain_block_modal.you_wont_see_posts": "Não verás publicações ou notificações de utilizadores neste servidor.",
|
||||
"domain_pill.activitypub_lets_connect": "Permite-te conectar e interagir com pessoas não só no Mastodon, mas também em diferentes aplicações sociais.",
|
||||
"domain_pill.activitypub_like_language": "O ActivityPub é como a linguagem que o Mastodon fala com outras redes sociais.",
|
||||
"domain_pill.server": "Servidor",
|
||||
"domain_pill.their_handle": "O seu identificador:",
|
||||
"domain_pill.their_server": "A sua casa digital, onde se encontram todas as suas publicações.",
|
||||
"domain_pill.their_username": "O seu identificador único no seu servidor. É possível encontrar utilizadores com o mesmo nome de utilizador em diferentes servidores.",
|
||||
"domain_pill.their_handle": "O identificador dele:",
|
||||
"domain_pill.their_server": "A casa digital deste utilizador, onde se encontram todas as suas publicações.",
|
||||
"domain_pill.their_username": "O identificador único dele no seu servidor. É possível encontrar utilizadores com o mesmo nome de utilizador em servidores diferentes.",
|
||||
"domain_pill.username": "Nome de utilizador",
|
||||
"domain_pill.whats_in_a_handle": "Em que consiste um identificador?",
|
||||
"domain_pill.who_they_are": "Uma vez que os identificadores dizem quem é alguém e onde está, pode interagir com as pessoas através da rede social de <button>plataformas que suportam ActivityPub</button>.",
|
||||
"domain_pill.who_you_are": "Uma vez que o seu identificador indica quem é e onde está, as pessoas podem interagir consigo através da rede social de <button>plataformas que suportam ActivityPub</button>.",
|
||||
"domain_pill.your_handle": "O seu identificador:",
|
||||
"domain_pill.your_server": "A sua casa digital, onde se encontram todas as suas publicações. Não gosta deste? Mude de servidor a qualquer momento e leve também os seus seguidores.",
|
||||
"domain_pill.your_username": "O seu identificador único neste servidor. É possível encontrar utilizadores com o mesmo nome de utilizador em diferentes servidores.",
|
||||
"embed.instructions": "Incorpore esta publicação no seu site copiando o código abaixo.",
|
||||
"domain_pill.who_you_are": "Uma vez que o teu identificador indica quem és e onde estás, as pessoas podem interagir contigo através da rede social de <button>plataformas que suportam ActivityPub</button>.",
|
||||
"domain_pill.your_handle": "O teu identificador:",
|
||||
"domain_pill.your_server": "A tua casa digital, onde se encontram todas as tuas publicações. Não gostas deste? Muda de servidor a qualquer momento e leva também os teus seguidores.",
|
||||
"domain_pill.your_username": "O teu identificador único neste servidor. É possível encontrares utilizadores com o mesmo nome de utilizador em diferentes servidores.",
|
||||
"embed.instructions": "Incorpora esta publicação no teu site copiando o código abaixo.",
|
||||
"embed.preview": "Eis o aspeto que terá:",
|
||||
"emoji_button.activity": "Atividade",
|
||||
"emoji_button.clear": "Limpar",
|
||||
|
@ -286,27 +286,27 @@
|
|||
"empty_column.account_suspended": "Conta suspensa",
|
||||
"empty_column.account_timeline": "Sem publicações por aqui!",
|
||||
"empty_column.account_unavailable": "Perfil indisponível",
|
||||
"empty_column.blocks": "Ainda não bloqueou nenhum utilizador.",
|
||||
"empty_column.bookmarked_statuses": "Ainda não tem nenhuma publicação marcada. Quando marcar uma, ela aparecerá aqui.",
|
||||
"empty_column.community": "A cronologia local está vazia. Escreva algo publicamente para começar!",
|
||||
"empty_column.direct": "Ainda não tem qualquer menção privada. Quando enviar ou receber uma, ela irá aparecer aqui.",
|
||||
"empty_column.blocks": "Ainda não bloqueaste nenhum utilizador.",
|
||||
"empty_column.bookmarked_statuses": "Ainda não tens nenhuma publicação marcada. Quando marcares uma, ela aparecerá aqui.",
|
||||
"empty_column.community": "A cronologia local está vazia. Escreve algo publicamente para começar!",
|
||||
"empty_column.direct": "Ainda não tens qualquer menção privada. Quando enviares ou receberes uma, ela irá aparecer aqui.",
|
||||
"empty_column.domain_blocks": "Ainda não há qualquer domínio bloqueado.",
|
||||
"empty_column.explore_statuses": "Nada é tendência neste momento. Volte mais tarde!",
|
||||
"empty_column.favourited_statuses": "Ainda não assinalou qualquer publicação como favorita. Quando o fizer, ela aparecerá aqui.",
|
||||
"empty_column.explore_statuses": "Nada é tendência neste momento. Volta mais tarde!",
|
||||
"empty_column.favourited_statuses": "Ainda não assinalaste qualquer publicação como favorita. Quando o fizeres, ela aparecerá aqui.",
|
||||
"empty_column.favourites": "Ainda ninguém assinalou esta publicação como favorita. Quando alguém o fizer, ela aparecerá aqui.",
|
||||
"empty_column.follow_requests": "Ainda não tem nenhum pedido de seguidor. Quando receber algum, ele irá aparecer aqui.",
|
||||
"empty_column.followed_tags": "Ainda não segue nenhuma etiqueta. Quando o fizer, ela aparecerá aqui.",
|
||||
"empty_column.follow_requests": "Ainda não tens nenhum pedido de seguidor. Quando receberes algum, ele irá aparecer aqui.",
|
||||
"empty_column.followed_tags": "Ainda não segues nenhuma etiqueta. Quando o fizeres, ela aparecerá aqui.",
|
||||
"empty_column.hashtag": "Não foram encontradas publicações com esta #etiqueta.",
|
||||
"empty_column.home": "A sua linha cronológica inicial está vazia! Siga mais pessoas para a preencher.",
|
||||
"empty_column.home": "A tua linha cronológica inicial está vazia! Segue mais pessoas para a preencher.",
|
||||
"empty_column.list": "Ainda não existem publicações nesta lista. Quando os membros desta lista fizerem novas publicações, elas aparecerão aqui.",
|
||||
"empty_column.mutes": "Ainda não ocultou nenhum utilizador.",
|
||||
"empty_column.notification_requests": "Tudo limpo! Não há nada aqui. Quando receber novas notificações, elas aparecerão aqui conforme as suas configurações.",
|
||||
"empty_column.notifications": "Não tem notificações. Interaja com outros utilizadores para iniciar uma conversa.",
|
||||
"empty_column.public": "Não há nada aqui! Escreva algo publicamente ou siga outros utilizadores para ver aqui os conteúdos públicos",
|
||||
"empty_column.mutes": "Ainda não ocultaste nenhum utilizador.",
|
||||
"empty_column.notification_requests": "Tudo limpo! Não há nada aqui. Quando receberes novas notificações, elas aparecerão aqui conforme as tuas configurações.",
|
||||
"empty_column.notifications": "Ainda não tens quaisquer notificações. Quando outras pessoas interagirem contigo, verás isso aqui.",
|
||||
"empty_column.public": "Não há nada aqui! Escreve algo publicamente ou segue outros utilizadores para veres aqui os conteúdos públicos",
|
||||
"error.unexpected_crash.explanation": "Devido a um erro no nosso código ou a um problema de compatibilidade do navegador, esta página não pode ser apresentada corretamente.",
|
||||
"error.unexpected_crash.explanation_addons": "Esta página não pode ser mostrada corretamente. Este erro provavelmente é causado por um complemento do navegador ou ferramentas de tradução automática.",
|
||||
"error.unexpected_crash.next_steps": "Tente atualizar a página. Se isso não ajudar, pode usar o Mastodon através de um navegador diferente ou uma aplicação nativa.",
|
||||
"error.unexpected_crash.next_steps_addons": "Tente desativá-los e atualizar a página. Se isso não ajudar, poderá ainda ser possível utilizar o Mastodon através de um navegador diferente ou de uma aplicação nativa.",
|
||||
"error.unexpected_crash.next_steps": "Tenta atualizar a página. Se isso não ajudar, podes usar o Mastodon através de um navegador diferente ou uma aplicação nativa.",
|
||||
"error.unexpected_crash.next_steps_addons": "Tenta desativá-los e atualizar a página. Se isso não ajudar, poderá ainda ser possível utilizar o Mastodon através de um navegador diferente ou de uma aplicação nativa.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copiar o stacktrace para a área de transferência",
|
||||
"errors.unexpected_crash.report_issue": "Reportar problema",
|
||||
"explore.suggested_follows": "Pessoas",
|
||||
|
@ -314,11 +314,11 @@
|
|||
"explore.trending_links": "Notícias",
|
||||
"explore.trending_statuses": "Publicações",
|
||||
"explore.trending_tags": "#Etiquetas",
|
||||
"filter_modal.added.context_mismatch_explanation": "Esta categoria de filtro não se aplica ao contexto em que acedeu a esta publicação. Se pretender que esta publicação seja filtrada também neste contexto, terá que editar o filtro.",
|
||||
"filter_modal.added.context_mismatch_title": "Contexto incoerente!",
|
||||
"filter_modal.added.expired_explanation": "Esta categoria de filtro expirou, necessita alterar a data de validade para que ele seja aplicado.",
|
||||
"filter_modal.added.context_mismatch_explanation": "Esta categoria de filtro não se aplica ao contexto em que acedeste a esta publicação. Se pretenderes que esta publicação seja filtrada também neste contexto, terás que editar o filtro.",
|
||||
"filter_modal.added.context_mismatch_title": "O contexto não coincide!",
|
||||
"filter_modal.added.expired_explanation": "Esta categoria de filtro expirou, tens de alterar a data de validade para que ele seja aplicado.",
|
||||
"filter_modal.added.expired_title": "Filtro expirado!",
|
||||
"filter_modal.added.review_and_configure": "Para rever e configurar mais detalhadamente esta categoria de filtro, vá a {settings_link}.",
|
||||
"filter_modal.added.review_and_configure": "Para rever e configurar mais detalhadamente esta categoria de filtro, vai a {settings_link}.",
|
||||
"filter_modal.added.review_and_configure_title": "Definições do filtro",
|
||||
"filter_modal.added.settings_link": "página de definições",
|
||||
"filter_modal.added.short_explanation": "Esta publicação foi adicionada à seguinte categoria de filtro: {title}.",
|
||||
|
@ -327,38 +327,38 @@
|
|||
"filter_modal.select_filter.expired": "expirado",
|
||||
"filter_modal.select_filter.prompt_new": "Nova categoria: {name}",
|
||||
"filter_modal.select_filter.search": "Pesquisar ou criar",
|
||||
"filter_modal.select_filter.subtitle": "Utilize uma categoria existente ou crie uma nova",
|
||||
"filter_modal.select_filter.subtitle": "Utiliza uma categoria existente ou cria uma nova",
|
||||
"filter_modal.select_filter.title": "Filtrar esta publicação",
|
||||
"filter_modal.title.status": "Filtrar uma publicação",
|
||||
"filter_warning.matches_filter": "Corresponde ao filtro “<span>{title}</span>”",
|
||||
"filtered_notifications_banner.pending_requests": "De {count, plural, =0 {ninguém} one {uma pessoa} other {# pessoas}} que pode conhecer",
|
||||
"filtered_notifications_banner.pending_requests": "De {count, plural, =0 {ninguém} one {uma pessoa} other {# pessoas}} que talvez conheças",
|
||||
"filtered_notifications_banner.title": "Notificações filtradas",
|
||||
"firehose.all": "Todas",
|
||||
"firehose.local": "Este servidor",
|
||||
"firehose.remote": "Outros servidores",
|
||||
"follow_request.authorize": "Autorizar",
|
||||
"follow_request.reject": "Rejeitar",
|
||||
"follow_requests.unlocked_explanation": "Apesar de a sua não ser privada, a administração de {domain} pensa que poderá querer rever manualmente os pedidos de seguimento dessas contas.",
|
||||
"follow_suggestions.curated_suggestion": "Escolha da equipe",
|
||||
"follow_requests.unlocked_explanation": "Apesar da tua conta não ser privada, a administração de {domain} assinala que poderás querer rever manualmente os pedidos de seguimento destas contas.",
|
||||
"follow_suggestions.curated_suggestion": "Escolha da equipa",
|
||||
"follow_suggestions.dismiss": "Não mostrar novamente",
|
||||
"follow_suggestions.featured_longer": "Escolhido a dedo pela equipa de {domain}",
|
||||
"follow_suggestions.friends_of_friends_longer": "Popular entre as pessoas que segue",
|
||||
"follow_suggestions.hints.featured": "Este perfil foi escolhido a dedo pela equipe {domain}.",
|
||||
"follow_suggestions.hints.friends_of_friends": "Este perfil é popular entre as pessoas que você segue.",
|
||||
"follow_suggestions.hints.most_followed": "Este perfil é um dos mais seguidos no {domain}.",
|
||||
"follow_suggestions.hints.most_interactions": "Este perfil tem recebido recentemente muita atenção no {domain}.",
|
||||
"follow_suggestions.hints.similar_to_recently_followed": "Este perfil é semelhante aos perfis que você seguiu mais recentemente.",
|
||||
"follow_suggestions.friends_of_friends_longer": "Popular entre as pessoas que segues",
|
||||
"follow_suggestions.hints.featured": "Este perfil foi escolhido a dedo pela equipa de {domain}.",
|
||||
"follow_suggestions.hints.friends_of_friends": "Este perfil é popular entre as pessoas que estás a seguir.",
|
||||
"follow_suggestions.hints.most_followed": "Este perfil é um dos mais seguidos em {domain}.",
|
||||
"follow_suggestions.hints.most_interactions": "Este perfil tem recebido recentemente muita atenção em {domain}.",
|
||||
"follow_suggestions.hints.similar_to_recently_followed": "Este perfil é semelhante aos perfis que seguiste recentemente.",
|
||||
"follow_suggestions.personalized_suggestion": "Sugestão personalizada",
|
||||
"follow_suggestions.popular_suggestion": "Sugestão popular",
|
||||
"follow_suggestions.popular_suggestion_longer": "Popular em {domain}",
|
||||
"follow_suggestions.similar_to_recently_followed_longer": "Semelhantes aos perfis que seguiu recentemente",
|
||||
"follow_suggestions.similar_to_recently_followed_longer": "Semelhantes aos perfis que seguiste recentemente",
|
||||
"follow_suggestions.view_all": "Ver tudo",
|
||||
"follow_suggestions.who_to_follow": "Quem seguir",
|
||||
"followed_tags": "Etiquetas seguidas",
|
||||
"footer.about": "Sobre",
|
||||
"footer.directory": "Diretório de perfis",
|
||||
"footer.get_app": "Obter a aplicação",
|
||||
"footer.keyboard_shortcuts": "Atalhos do teclado",
|
||||
"footer.keyboard_shortcuts": "Atalhos de teclado",
|
||||
"footer.privacy_policy": "Política de privacidade",
|
||||
"footer.source_code": "Ver código-fonte",
|
||||
"footer.status": "Estado",
|
||||
|
@ -381,39 +381,39 @@
|
|||
"hashtag.follow": "Seguir #etiqueta",
|
||||
"hashtag.unfollow": "Deixar de seguir #etiqueta",
|
||||
"hashtags.and_other": "…e {count, plural, other {mais #}}",
|
||||
"hints.profiles.followers_may_be_missing": "Podem faltar seguidores neste perfil.",
|
||||
"hints.profiles.follows_may_be_missing": "O número de perfis seguidos por este perfil pode faltar.",
|
||||
"hints.profiles.posts_may_be_missing": "Podem faltar algumas publicações deste perfil.",
|
||||
"hints.profiles.see_more_followers": "Ver mais seguidores no {domain}",
|
||||
"hints.profiles.see_more_follows": "Veja mais perfis seguidos em {domain}",
|
||||
"hints.profiles.followers_may_be_missing": "É possível que não estejam a ser mostrados todos os seguidores deste perfil.",
|
||||
"hints.profiles.follows_may_be_missing": "É possível que não estejam a ser mostrados todos os seguidos por este perfil.",
|
||||
"hints.profiles.posts_may_be_missing": "É possível que não estejam a ser mostradas todas as publicações deste perfil.",
|
||||
"hints.profiles.see_more_followers": "Ver mais seguidores em {domain}",
|
||||
"hints.profiles.see_more_follows": "Ver mais perfis seguidos em {domain}",
|
||||
"hints.profiles.see_more_posts": "Ver mais publicações em {domain}",
|
||||
"hints.threads.replies_may_be_missing": "As respostas de outros servidores podem estar a faltar.",
|
||||
"hints.threads.see_more": "Veja mais respostas em {domain}",
|
||||
"hints.threads.replies_may_be_missing": "É possível que não estejam a ser mostradas todas as respostas de outros servidores.",
|
||||
"hints.threads.see_more": "Ver mais respostas em {domain}",
|
||||
"home.column_settings.show_reblogs": "Mostrar impulsos",
|
||||
"home.column_settings.show_replies": "Mostrar respostas",
|
||||
"home.hide_announcements": "Ocultar comunicações",
|
||||
"home.pending_critical_update.body": "Por favor, atualize o seu servidor Mastodon assim que possível!",
|
||||
"home.hide_announcements": "Ocultar mensagens de manutenção",
|
||||
"home.pending_critical_update.body": "Atualiza o teu servidor Mastodon assim que possível!",
|
||||
"home.pending_critical_update.link": "Ver atualizações",
|
||||
"home.pending_critical_update.title": "Atualização de segurança crítica disponível!",
|
||||
"home.show_announcements": "Exibir comunicações",
|
||||
"ignore_notifications_modal.disclaimer": "O Mastodon não pode informar os utilizadores de que ignorou as suas notificações. Ignorar as notificações não impedirá que as mensagens sejam enviadas.",
|
||||
"ignore_notifications_modal.filter_instead": "Filtrar em vez disso",
|
||||
"ignore_notifications_modal.filter_to_act_users": "Ainda poderá aceitar, rejeitar ou reportar utilizadores",
|
||||
"home.pending_critical_update.title": "Está disponível uma atualização de segurança crítica!",
|
||||
"home.show_announcements": "Mostrar mensagens de manutenção",
|
||||
"ignore_notifications_modal.disclaimer": "O Mastodon não pode informar os utilizadores de que ignoraste as notificações deles. Ignorar as notificações não impedirá que as mensagens sejam enviadas.",
|
||||
"ignore_notifications_modal.filter_instead": "Em vez disso, filtrar",
|
||||
"ignore_notifications_modal.filter_to_act_users": "Ainda poderás aceitar, rejeitar ou reportar utilizadores",
|
||||
"ignore_notifications_modal.filter_to_avoid_confusion": "A filtragem ajuda a evitar potenciais equívocos",
|
||||
"ignore_notifications_modal.filter_to_review_separately": "Pode rever as notificações filtradas separadamente",
|
||||
"ignore_notifications_modal.filter_to_review_separately": "Podes rever as notificações filtradas separadamente",
|
||||
"ignore_notifications_modal.ignore": "Ignorar notificações",
|
||||
"ignore_notifications_modal.limited_accounts_title": "Ignorar notificações de contas moderadas?",
|
||||
"ignore_notifications_modal.new_accounts_title": "Ignorar notificações de contas novas?",
|
||||
"ignore_notifications_modal.not_followers_title": "Ignorar notificações de pessoas que não o seguem?",
|
||||
"ignore_notifications_modal.not_following_title": "Ignorar notificações de pessoas que não segue?",
|
||||
"ignore_notifications_modal.private_mentions_title": "Ignorar notificações de Menções Privadas não solicitadas?",
|
||||
"interaction_modal.action.favourite": "Para continuar, precisa definir como favorito a partir da sua conta.",
|
||||
"interaction_modal.action.follow": "Para continuar, precisa seguir a partir da sua conta.",
|
||||
"interaction_modal.action.reblog": "Para continuar, precisa republicar a partir da sua conta.",
|
||||
"interaction_modal.action.reply": "Para continuar, precisa responder a partir da sua conta.",
|
||||
"interaction_modal.action.vote": "Para continuar é necessário votar a partir da sua conta.",
|
||||
"ignore_notifications_modal.not_followers_title": "Ignorar notificações de pessoas que não te seguem?",
|
||||
"ignore_notifications_modal.not_following_title": "Ignorar notificações de pessoas que não segues?",
|
||||
"ignore_notifications_modal.private_mentions_title": "Ignorar notificações de menções privadas não solicitadas?",
|
||||
"interaction_modal.action.favourite": "Para continuar, tens de adicionar um favorito na tua conta.",
|
||||
"interaction_modal.action.follow": "Para continuar, tens de seguir alguém na tua conta.",
|
||||
"interaction_modal.action.reblog": "Para continuar, tens de fazer uma republicação na tua conta.",
|
||||
"interaction_modal.action.reply": "Para continuar, tens de fazer uma resposta na tua conta.",
|
||||
"interaction_modal.action.vote": "Para continuar é necessário votar a partir da tua conta.",
|
||||
"interaction_modal.go": "Ir",
|
||||
"interaction_modal.no_account_yet": "Ainda não tem conta?",
|
||||
"interaction_modal.no_account_yet": "Ainda não tens conta?",
|
||||
"interaction_modal.on_another_server": "Num servidor diferente",
|
||||
"interaction_modal.on_this_server": "Neste servidor",
|
||||
"interaction_modal.title.favourite": "Assinalar a publicação de {name} como favorita",
|
||||
|
@ -421,11 +421,11 @@
|
|||
"interaction_modal.title.reblog": "Impulsionar a publicação de {name}",
|
||||
"interaction_modal.title.reply": "Responder à publicação de {name}",
|
||||
"interaction_modal.title.vote": "Votar na sondagem de {name}",
|
||||
"interaction_modal.username_prompt": "Ex: {example}",
|
||||
"interaction_modal.username_prompt": "Por exemplo: {example}",
|
||||
"intervals.full.days": "{number, plural, one {# dia} other {# dias}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hora} other {# horas}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
|
||||
"keyboard_shortcuts.back": "retroceder",
|
||||
"keyboard_shortcuts.back": "voltar atrás",
|
||||
"keyboard_shortcuts.blocked": "abrir a lista de utilizadores bloqueados",
|
||||
"keyboard_shortcuts.boost": "impulsionar a publicação",
|
||||
"keyboard_shortcuts.column": "focar uma publicação numa das colunas",
|
||||
|
@ -444,7 +444,7 @@
|
|||
"keyboard_shortcuts.local": "abrir a cronologia local",
|
||||
"keyboard_shortcuts.mention": "mencionar o autor",
|
||||
"keyboard_shortcuts.muted": "abrir a lista dos utilizadores ocultados",
|
||||
"keyboard_shortcuts.my_profile": "abrir o seu perfil",
|
||||
"keyboard_shortcuts.my_profile": "abrir o teu perfil",
|
||||
"keyboard_shortcuts.notifications": "abrir a coluna das notificações",
|
||||
"keyboard_shortcuts.open_media": "abrir multimédia",
|
||||
"keyboard_shortcuts.pinned": "abrir lista de publicações fixadas",
|
||||
|
@ -457,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "mostrar / esconder texto atrás do aviso de conteúdo",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "mostrar / ocultar multimédia",
|
||||
"keyboard_shortcuts.toot": "criar uma nova publicação",
|
||||
"keyboard_shortcuts.translate": "traduzir uma publicação",
|
||||
"keyboard_shortcuts.unfocus": "remover o foco da área de texto / pesquisa",
|
||||
"keyboard_shortcuts.up": "mover para cima na lista",
|
||||
"lightbox.close": "Fechar",
|
||||
|
@ -464,7 +465,7 @@
|
|||
"lightbox.previous": "Anterior",
|
||||
"lightbox.zoom_in": "Ampliar para o tamanho real",
|
||||
"lightbox.zoom_out": "Ajustar para caber",
|
||||
"limited_account_hint.action": "Exibir perfil mesmo assim",
|
||||
"limited_account_hint.action": "Mostrar perfil mesmo assim",
|
||||
"limited_account_hint.title": "Este perfil foi ocultado pelos moderadores de {domain}.",
|
||||
"link_preview.author": "Por {name}",
|
||||
"link_preview.more_from_author": "Mais de {name}",
|
||||
|
@ -479,8 +480,8 @@
|
|||
"lists.done": "Concluído",
|
||||
"lists.edit": "Editar lista",
|
||||
"lists.exclusive": "Ocultar membros na página inicial",
|
||||
"lists.exclusive_hint": "Se alguém estiver nesta lista, oculte-o na cronologia da sua página inicial para evitar ver as publicações deles duas vezes.",
|
||||
"lists.find_users_to_add": "Encontrar utilizadores adicionar",
|
||||
"lists.exclusive_hint": "Se alguém estiver nesta lista, oculta-o na cronologia da tua página inicial para evitar veres as publicações dessa pessoa duas vezes.",
|
||||
"lists.find_users_to_add": "Encontrar utilizadores para adicionar",
|
||||
"lists.list_members": "Membros da lista",
|
||||
"lists.list_members_count": "{count, plural, one {# membro} other {# membros}}",
|
||||
"lists.list_name": "Nome da lista",
|
||||
|
@ -498,16 +499,16 @@
|
|||
"load_pending": "{count, plural, one {# novo item} other {# novos itens}}",
|
||||
"loading_indicator.label": "A carregar…",
|
||||
"media_gallery.hide": "Esconder",
|
||||
"moved_to_account_banner.text": "A sua conta {disabledAccount} está, no momento, desativada, porque você migrou para {movedToAccount}.",
|
||||
"moved_to_account_banner.text": "A tua conta {disabledAccount} está neste momento desativada porque migraste para {movedToAccount}.",
|
||||
"mute_modal.hide_from_notifications": "Ocultar das notificações",
|
||||
"mute_modal.hide_options": "Ocultar opções",
|
||||
"mute_modal.indefinite": "Até que eu deixe de o ocultar",
|
||||
"mute_modal.show_options": "Mostrar opções",
|
||||
"mute_modal.they_can_mention_and_follow": "Ele pode mencioná-lo e segui-lo, mas você não o verá.",
|
||||
"mute_modal.they_wont_know": "Ele não saberá que o ocultou.",
|
||||
"mute_modal.they_can_mention_and_follow": "Ele pode mencionar-te e seguir-te, mas não o verás.",
|
||||
"mute_modal.they_wont_know": "Ele não saberá que o ocultaste.",
|
||||
"mute_modal.title": "Ocultar utilizador?",
|
||||
"mute_modal.you_wont_see_mentions": "Não verá publicações que mencionem este utilizador.",
|
||||
"mute_modal.you_wont_see_posts": "Não verá as publicações dele e ele não poderá ver as suas publicações.",
|
||||
"mute_modal.you_wont_see_mentions": "Não verás publicações que mencionem este utilizador.",
|
||||
"mute_modal.you_wont_see_posts": "Não verás as publicações dele e ele não poderá ver as tuas publicações.",
|
||||
"navigation_bar.about": "Sobre",
|
||||
"navigation_bar.administration": "Administração",
|
||||
"navigation_bar.advanced_interface": "Abrir na interface web avançada",
|
||||
|
@ -528,71 +529,71 @@
|
|||
"navigation_bar.logout": "Sair",
|
||||
"navigation_bar.moderation": "Moderação",
|
||||
"navigation_bar.mutes": "Utilizadores ocultados",
|
||||
"navigation_bar.opened_in_classic_interface": "Por norma, publicações, contas, e outras páginas específicas são abertas na interface web clássica.",
|
||||
"navigation_bar.opened_in_classic_interface": "Por norma, publicações, contas e outras páginas específicas são abertas na interface web clássica.",
|
||||
"navigation_bar.personal": "Pessoal",
|
||||
"navigation_bar.pins": "Publicações fixadas",
|
||||
"navigation_bar.preferences": "Preferências",
|
||||
"navigation_bar.public_timeline": "Cronologia federada",
|
||||
"navigation_bar.search": "Pesquisar",
|
||||
"navigation_bar.security": "Segurança",
|
||||
"not_signed_in_indicator.not_signed_in": "Necessita de iniciar sessão para utilizar esta funcionalidade.",
|
||||
"not_signed_in_indicator.not_signed_in": "Tens de iniciar a sessão para utilizares esta funcionalidade.",
|
||||
"notification.admin.report": "{name} denunciou {target}",
|
||||
"notification.admin.report_account": "{name} denunciou {count, plural, one {uma publicação} other {# publicações}} de {target} por {category}",
|
||||
"notification.admin.report_account_other": "{name} denunciou {count, plural, one {uma publicação} other {# publicações}} de {target}",
|
||||
"notification.admin.report_statuses": "{name} denunicou {target} por {category}",
|
||||
"notification.admin.report_statuses": "{name} denunciou {target} por {category}",
|
||||
"notification.admin.report_statuses_other": "{name} denunciou {target}",
|
||||
"notification.admin.sign_up": "{name} inscreveu-se",
|
||||
"notification.admin.sign_up.name_and_others": "{name} e {count, plural, one {# outro} other {# outros}} inscreveram-se",
|
||||
"notification.annual_report.message": "O seu #Wrapstodon {year} está à espera! Revela os destaques e os momentos memoráveis do seu ano no Mastodon!",
|
||||
"notification.annual_report.message": "O teu #Wrapstodon {year} está à espera! Ele revela os destaques e os momentos memoráveis do teu ano no Mastodon!",
|
||||
"notification.annual_report.view": "Ver #Wrapstodon",
|
||||
"notification.favourite": "{name} assinalou a sua publicação como favorita",
|
||||
"notification.favourite.name_and_others_with_link": "{name} e <a>{count, plural, one {# outro} other {# outros}}</a> assinalou a sua publicação como favorita",
|
||||
"notification.favourite_pm": "{name} favoritou a sua menção privada",
|
||||
"notification.favourite_pm.name_and_others_with_link": "{name} e <a>{count, plural, one {# outro favoritou} other {# outros favoritaram}}</a> a sua menção privada",
|
||||
"notification.favourite": "{name} assinalou a tua publicação como favorita",
|
||||
"notification.favourite.name_and_others_with_link": "{name} e <a>{count, plural, one {# outro} other {# outros}}</a> assinalaram a tua publicação como favorita",
|
||||
"notification.favourite_pm": "{name} assinalou como favorita a tua menção privada",
|
||||
"notification.favourite_pm.name_and_others_with_link": "{name} e <a>{count, plural, one {# outro favoritou} other {# outros favoritaram}}</a> a tua menção privada",
|
||||
"notification.follow": "{name} começou a seguir-te",
|
||||
"notification.follow.name_and_others": "{name} e <a>{count, plural, one {# outro seguiu-o} other {# outros seguiram-no}}</a>",
|
||||
"notification.follow_request": "{name} pediu para segui-lo",
|
||||
"notification.follow_request.name_and_others": "{name} e {count, plural, one {# outro} other {# outros}} pediram para segui-lo",
|
||||
"notification.follow.name_and_others": "{name} e <a>{count, plural, one {# outro seguiram-te} other {# outros seguiram-te}}</a>",
|
||||
"notification.follow_request": "{name} pediu para seguir-te",
|
||||
"notification.follow_request.name_and_others": "{name} e {count, plural, one {# outro} other {# outros}} pediram para seguir-te",
|
||||
"notification.label.mention": "Menção",
|
||||
"notification.label.private_mention": "Menção privada",
|
||||
"notification.label.private_reply": "Resposta privada",
|
||||
"notification.label.reply": "Resposta",
|
||||
"notification.mention": "Menção",
|
||||
"notification.mentioned_you": "{name} mencionou-o",
|
||||
"notification.mentioned_you": "{name} mencionou-te",
|
||||
"notification.moderation-warning.learn_more": "Saber mais",
|
||||
"notification.moderation_warning": "Recebeu um aviso de moderação",
|
||||
"notification.moderation_warning.action_delete_statuses": "Algumas das suas publicações foram removidas.",
|
||||
"notification.moderation_warning.action_disable": "A sua conta foi desativada.",
|
||||
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Algumas das suas publicações foram assinaladas como sensíveis.",
|
||||
"notification.moderation_warning.action_none": "A sua conta recebeu um aviso de moderação.",
|
||||
"notification.moderation_warning.action_sensitive": "As suas publicações serão, a partir de agora, assinaladas como sensíveis.",
|
||||
"notification.moderation_warning.action_silence": "A sua conta foi limitada.",
|
||||
"notification.moderation_warning.action_suspend": "A sua conta foi suspensa.",
|
||||
"notification.own_poll": "A sua sondagem terminou",
|
||||
"notification.poll": "Terminou uma sondagem em que votou",
|
||||
"notification.moderation_warning": "Recebeste um aviso de moderação",
|
||||
"notification.moderation_warning.action_delete_statuses": "Algumas das tuas publicações foram removidas.",
|
||||
"notification.moderation_warning.action_disable": "A tua conta foi desativada.",
|
||||
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Algumas das tuas publicações foram assinaladas como sensíveis.",
|
||||
"notification.moderation_warning.action_none": "A tua conta recebeu um aviso de moderação.",
|
||||
"notification.moderation_warning.action_sensitive": "As tuas publicações serão, a partir de agora, assinaladas como sensíveis.",
|
||||
"notification.moderation_warning.action_silence": "A tua conta foi limitada.",
|
||||
"notification.moderation_warning.action_suspend": "A tua conta foi suspensa.",
|
||||
"notification.own_poll": "A tua sondagem terminou",
|
||||
"notification.poll": "Terminou uma sondagem em que votaste",
|
||||
"notification.reblog": "{name} impulsionou a tua publicação",
|
||||
"notification.reblog.name_and_others_with_link": "{name} e <a>{count, plural, one {# outro} other {# outros}}</a> impulsionaram a sua publicação",
|
||||
"notification.reblog.name_and_others_with_link": "{name} e <a>{count, plural, one {# outro} other {# outros}}</a> impulsionaram a tua publicação",
|
||||
"notification.relationships_severance_event": "Perdeu as ligações com {name}",
|
||||
"notification.relationships_severance_event.account_suspension": "Um administrador de {from} suspendeu {target}, o que significa que já não pode receber atualizações dele ou interagir com ele.",
|
||||
"notification.relationships_severance_event.domain_block": "Um administrador de {from} bloqueou {target}, incluindo {followersCount} dos seus seguidores e {followingCount, plural, one {# conta} other {# contas}} que segue.",
|
||||
"notification.relationships_severance_event.account_suspension": "Um administrador de {from} suspendeu {target}, o que significa que já não podes receber atualizações dele ou interagir com ele.",
|
||||
"notification.relationships_severance_event.domain_block": "Um administrador de {from} bloqueou {target}, incluindo {followersCount} dos teus seguidores e {followingCount, plural, one {# conta} other {# contas}} que segues.",
|
||||
"notification.relationships_severance_event.learn_more": "Saber mais",
|
||||
"notification.relationships_severance_event.user_domain_block": "Bloqueou {target}, removendo {followersCount} dos seus seguidores e {followingCount, plural, one {# conta} other {# contas}} que segue.",
|
||||
"notification.relationships_severance_event.user_domain_block": "Bloqueaste {target}, removendo {followersCount} dos teus seguidores e {followingCount, plural, one {# conta} other {# contas}} que segues.",
|
||||
"notification.status": "{name} acabou de publicar",
|
||||
"notification.update": "{name} editou uma publicação",
|
||||
"notification_requests.accept": "Aceitar",
|
||||
"notification_requests.accept_multiple": "{count, plural, one {Aceitar # pedidos…} other {Aceitar # pedidos…}}",
|
||||
"notification_requests.accept_multiple": "{count, plural, one {Aceitar # pedido…} other {Aceitar # pedidos…}}",
|
||||
"notification_requests.confirm_accept_multiple.button": "{count, plural, one {Aceitar pedido} other {Aceitar pedidos}}",
|
||||
"notification_requests.confirm_accept_multiple.message": "Está prestes a aceitar {count, plural, one {um pedido de notificação} other {# pedidos de notificação}}. Tem a certeza de que pretende continuar?",
|
||||
"notification_requests.confirm_accept_multiple.message": "Estás prestes a aceitar {count, plural, one {um pedido de notificação} other {# pedidos de notificação}}. Tens a certeza de que pretendes continuar?",
|
||||
"notification_requests.confirm_accept_multiple.title": "Aceitar pedidos de notificação?",
|
||||
"notification_requests.confirm_dismiss_multiple.button": "{count, plural, one {Rejeitar pedido} other {Rejeitar pedidos}}",
|
||||
"notification_requests.confirm_dismiss_multiple.message": "Está prestes a rejeitar {count, plural, one {um pedido de notificação} other {# pedidos de notificação}}. Não será fácil voltar a {count, plural, one {aceder-lhe} other {aceder-lhes}}. Tem a certeza de que pretende continuar?",
|
||||
"notification_requests.confirm_dismiss_multiple.message": "Estás prestes a rejeitar {count, plural, one {um pedido de notificação} other {# pedidos de notificação}}. Não será fácil voltares a {count, plural, one {acederes-lhe} other {aceder-lhes}}. Tens a certeza de que pretendes continuar?",
|
||||
"notification_requests.confirm_dismiss_multiple.title": "Rejeitar pedidos de notificação?",
|
||||
"notification_requests.dismiss": "Descartar",
|
||||
"notification_requests.dismiss_multiple": "{count, plural, one {Rejeitar # pedido…} other {Rejeitar # pedidos…}}",
|
||||
"notification_requests.edit_selection": "Editar",
|
||||
"notification_requests.exit_selection": "Concluído",
|
||||
"notification_requests.explainer_for_limited_account": "As notificações desta conta foram filtradas porque a conta foi limitada por um moderador.",
|
||||
"notification_requests.explainer_for_limited_remote_account": "As notificações desta conta foram filtradas porque a conta ou o seu servidor foram limitados por um moderador.",
|
||||
"notification_requests.explainer_for_limited_remote_account": "As notificações desta conta foram filtradas porque a conta ou o servidor desta foram limitados por um moderador.",
|
||||
"notification_requests.maximize": "Maximizar",
|
||||
"notification_requests.minimize_banner": "Minimizar o cabeçalho das notificações filtradas",
|
||||
"notification_requests.notifications_from": "Notificações de {name}",
|
||||
|
@ -612,7 +613,7 @@
|
|||
"notifications.column_settings.group": "Agrupar",
|
||||
"notifications.column_settings.mention": "Menções:",
|
||||
"notifications.column_settings.poll": "Resultados da sondagem:",
|
||||
"notifications.column_settings.push": "Notificações Push",
|
||||
"notifications.column_settings.push": "Notificações \"push\"",
|
||||
"notifications.column_settings.reblog": "Impulsos:",
|
||||
"notifications.column_settings.show": "Mostrar na coluna",
|
||||
"notifications.column_settings.sound": "Reproduzir som",
|
||||
|
@ -626,13 +627,13 @@
|
|||
"notifications.filter.follows": "Seguidores",
|
||||
"notifications.filter.mentions": "Menções",
|
||||
"notifications.filter.polls": "Resultados da sondagem",
|
||||
"notifications.filter.statuses": "Atualizações de pessoas que você segue",
|
||||
"notifications.filter.statuses": "Atualizações de pessoas que segues",
|
||||
"notifications.grant_permission": "Conceder permissão.",
|
||||
"notifications.group": "{count} notificações",
|
||||
"notifications.mark_as_read": "Marcar todas as notificações como lidas",
|
||||
"notifications.permission_denied": "Notificações no ambiente de trabalho não estão disponíveis porque a permissão, solicitada pelo navegador, foi recusada anteriormente",
|
||||
"notifications.permission_denied_alert": "Notificações no ambiente de trabalho não podem ser ativadas, pois a permissão do navegador foi recusada anteriormente",
|
||||
"notifications.permission_required": "Notificações no ambiente de trabalho não estão disponíveis porque a permissão necessária não foi concedida.",
|
||||
"notifications.permission_denied": "As notificações no ambiente de trabalho não estão disponíveis porque a permissão, solicitada pelo navegador, foi recusada anteriormente",
|
||||
"notifications.permission_denied_alert": "As notificações no ambiente de trabalho não podem ser ativadas, pois a permissão do navegador foi recusada anteriormente",
|
||||
"notifications.permission_required": "As notificações no ambiente de trabalho não estão disponíveis porque a permissão necessária não foi concedida.",
|
||||
"notifications.policy.accept": "Aceitar",
|
||||
"notifications.policy.accept_hint": "Mostrar nas notificações",
|
||||
"notifications.policy.drop": "Ignorar",
|
||||
|
@ -641,29 +642,29 @@
|
|||
"notifications.policy.filter_hint": "Enviar para a caixa de notificações filtradas",
|
||||
"notifications.policy.filter_limited_accounts_hint": "Limitado pelos moderadores do servidor",
|
||||
"notifications.policy.filter_limited_accounts_title": "Contas moderadas",
|
||||
"notifications.policy.filter_new_accounts.hint": "Criada nos últimos {days, plural, one {um dia} other {# dias}}",
|
||||
"notifications.policy.filter_new_accounts.hint": "Criada {days, plural, one {no último dia} other {nos últimos # dias}}",
|
||||
"notifications.policy.filter_new_accounts_title": "Novas contas",
|
||||
"notifications.policy.filter_not_followers_hint": "Incluindo pessoas que o seguem há menos de {days, plural, one {um dia} other {# dias}}",
|
||||
"notifications.policy.filter_not_followers_hint": "Incluindo pessoas que te seguem há menos de {days, plural, one {um dia} other {# dias}}",
|
||||
"notifications.policy.filter_not_followers_title": "Pessoas não te seguem",
|
||||
"notifications.policy.filter_not_following_hint": "Até que você os aprove manualmente",
|
||||
"notifications.policy.filter_not_following_title": "Pessoas que você não segue",
|
||||
"notifications.policy.filter_private_mentions_hint": "Filtrado, a menos que seja em resposta à sua própria menção ou se você seguir o remetente",
|
||||
"notifications.policy.filter_not_following_hint": "Até que os aproves manualmente",
|
||||
"notifications.policy.filter_not_following_title": "Pessoas que não segues",
|
||||
"notifications.policy.filter_private_mentions_hint": "Filtrado, a não ser que seja em resposta à tua própria menção ou se seguires o remetente",
|
||||
"notifications.policy.filter_private_mentions_title": "Menções privadas não solicitadas",
|
||||
"notifications.policy.title": "Gerir notificações de…",
|
||||
"notifications_permission_banner.enable": "Ativar notificações no ambiente de trabalho",
|
||||
"notifications_permission_banner.how_to_control": "Para receber notificações quando o Mastodon não estiver aberto, ative as notificações no ambiente de trabalho. Depois da sua ativação, pode controlar precisamente quais tipos de interações geram notificações, através do botão {icon} acima.",
|
||||
"notifications_permission_banner.title": "Nunca perca nada",
|
||||
"notifications_permission_banner.how_to_control": "Para receberes notificações quando o Mastodon não estiver aberto, ativa as notificações no ambiente de trabalho. Após isso, podes controlar precisamente que tipos de interações geram notificações no ambiente de trabalho através do botão {icon} acima.",
|
||||
"notifications_permission_banner.title": "Nunca percas nada",
|
||||
"onboarding.follows.back": "Voltar",
|
||||
"onboarding.follows.done": "Concluído",
|
||||
"onboarding.follows.empty": "Infelizmente, não é possível mostrar resultados neste momento. Pode tentar utilizar a pesquisa ou navegar na página \"Explorar\" para encontrar pessoas para seguir ou tentar novamente mais tarde.",
|
||||
"onboarding.follows.empty": "Infelizmente não é possível mostrar resultados neste momento. Podes tentar pesquisar ou navegar na página \"Explorar\" para encontrares pessoas para seguires ou tentar novamente mais tarde.",
|
||||
"onboarding.follows.search": "Pesquisar",
|
||||
"onboarding.follows.title": "Siga pessoas para começar",
|
||||
"onboarding.follows.title": "Segue pessoas para começar",
|
||||
"onboarding.profile.discoverable": "Permitir que o meu perfil seja descoberto",
|
||||
"onboarding.profile.discoverable_hint": "Quando opta pela possibilidade de ser descoberto no Mastodon, as suas mensagens podem aparecer nos resultados de pesquisa e nas tendências, e o seu perfil pode ser sugerido a pessoas com interesses semelhantes aos seus.",
|
||||
"onboarding.profile.discoverable_hint": "Quando optas pela possibilidade de seres descoberto no Mastodon, as tuas publicações podem aparecer nos resultados de pesquisa e nas tendências, e o teu perfil pode ser sugerido a pessoas com interesses semelhantes aos teus.",
|
||||
"onboarding.profile.display_name": "Nome a apresentar",
|
||||
"onboarding.profile.display_name_hint": "O seu nome completo ou o seu nome divertido…",
|
||||
"onboarding.profile.note": "Bio",
|
||||
"onboarding.profile.note_hint": "Pode @mencionar outras pessoas e usar #etiquetas…",
|
||||
"onboarding.profile.display_name_hint": "O teu nome completo ou o teu nome divertido…",
|
||||
"onboarding.profile.note": "Biografia",
|
||||
"onboarding.profile.note_hint": "Podes @mencionar outras pessoas e usar #etiquetas…",
|
||||
"onboarding.profile.save_and_continue": "Guardar e continuar",
|
||||
"onboarding.profile.title": "Configuração do perfil",
|
||||
"onboarding.profile.upload_avatar": "Enviar foto de perfil",
|
||||
|
@ -677,26 +678,26 @@
|
|||
"poll.total_people": "{count, plural, one {# pessoa} other {# pessoas}}",
|
||||
"poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
|
||||
"poll.vote": "Votar",
|
||||
"poll.voted": "Votou nesta resposta",
|
||||
"poll.voted": "Votaste nesta resposta",
|
||||
"poll.votes": "{votes, plural, one {# voto } other {# votos}}",
|
||||
"poll_button.add_poll": "Adicionar uma sondagem",
|
||||
"poll_button.remove_poll": "Remover sondagem",
|
||||
"privacy.change": "Ajustar a privacidade da publicação",
|
||||
"privacy.change": "Alterar a privacidade da publicação",
|
||||
"privacy.direct.long": "Todos os mencionados na publicação",
|
||||
"privacy.direct.short": "Pessoas específicas",
|
||||
"privacy.private.long": "Apenas os seus seguidores",
|
||||
"privacy.private.long": "Apenas os teus seguidores",
|
||||
"privacy.private.short": "Seguidores",
|
||||
"privacy.public.long": "Qualquer pessoa no Mastodon ou não",
|
||||
"privacy.public.short": "Público",
|
||||
"privacy.unlisted.additional": "Este comportamento é exatamente igual ao do público, exceto que a publicação não aparecerá em cronologias, nas etiquetas, ao explorar ou na pesquisa do Mastodon, mesmo que tenha optado por participar em toda a sua conta.",
|
||||
"privacy.unlisted.additional": "Este comportamento é exatamente igual ao do público, exceto que a publicação não aparecerá em cronologias, nas etiquetas, ao explorar ou na pesquisa do Mastodon, mesmo que tenhas optado por participar em toda a tua conta.",
|
||||
"privacy.unlisted.long": "Menos fanfarras algorítmicas",
|
||||
"privacy.unlisted.short": "Público silencioso",
|
||||
"privacy_policy.last_updated": "Última atualização em {date}",
|
||||
"privacy_policy.title": "Política de privacidade",
|
||||
"recommended": "Recomendado",
|
||||
"refresh": "Atualizar",
|
||||
"regeneration_indicator.please_stand_by": "Por favor, aguarde.",
|
||||
"regeneration_indicator.preparing_your_home_feed": "A preparar a cronologia na sua página inicial…",
|
||||
"regeneration_indicator.please_stand_by": "Aguarda um momento.",
|
||||
"regeneration_indicator.preparing_your_home_feed": "A preparar a cronologia na tua página inicial…",
|
||||
"relative_time.days": "{number}d",
|
||||
"relative_time.full.days": "{number, plural,one {# dia} other {# dias}} atrás",
|
||||
"relative_time.full.hours": "{number, plural,one {# hora}other {# horas}} atrás",
|
||||
|
@ -712,27 +713,27 @@
|
|||
"reply_indicator.cancel": "Cancelar",
|
||||
"reply_indicator.poll": "Sondagem",
|
||||
"report.block": "Bloquear",
|
||||
"report.block_explanation": "Não verá as publicações deles. Eles não serão capazes de ver suas publicações ou de o seguir. Eles vão conseguir saber que estão bloqueados.",
|
||||
"report.block_explanation": "Não verás as publicações dele. Ele não poderá ver as tuas publicações nem seguir-te. Ele saberá que foi bloqueado por ti.",
|
||||
"report.categories.legal": "Legal",
|
||||
"report.categories.other": "Outro",
|
||||
"report.categories.spam": "Spam",
|
||||
"report.categories.violation": "O conteúdo viola uma ou mais regras do servidor",
|
||||
"report.category.subtitle": "Escolha o mais adequado",
|
||||
"report.category.title": "Diga-nos o que se passa com esse {type}",
|
||||
"report.category.subtitle": "Escolhe o mais adequado",
|
||||
"report.category.title": "Diz-nos o que se passa com este(a) {type}",
|
||||
"report.category.title_account": "perfil",
|
||||
"report.category.title_status": "publicação",
|
||||
"report.close": "Concluído",
|
||||
"report.comment.title": "Há algo mais que pensa que devemos saber?",
|
||||
"report.forward": "Reencaminhar para {target}",
|
||||
"report.forward_hint": "A conta é de outro servidor. Enviar uma cópia da anónima da denúncia para lá também?",
|
||||
"report.forward_hint": "A conta pertence a outro servidor. Enviar uma cópia anónima da denúncia para esse servidor também?",
|
||||
"report.mute": "Ocultar",
|
||||
"report.mute_explanation": "Não verá as publicações dele. Ele não poderá ver as suas publicações nem de o seguir. Ele não saberá que o ocultou.",
|
||||
"report.mute_explanation": "Não verás as publicações dele. Ele não poderá ver as tuas publicações nem seguir-te. Ele não saberá que o ocultaste.",
|
||||
"report.next": "Seguinte",
|
||||
"report.placeholder": "Comentários adicionais",
|
||||
"report.reasons.dislike": "Não gosto disto",
|
||||
"report.reasons.dislike_description": "Não é algo que deseje ver",
|
||||
"report.reasons.legal": "É ilegal",
|
||||
"report.reasons.legal_description": "Acredita que isto viola a lei do seu país ou do país do servidor",
|
||||
"report.reasons.legal_description": "Acreditas que isto viola a lei do teu país ou do país do servidor",
|
||||
"report.reasons.other": "É outra coisa",
|
||||
"report.reasons.other_description": "O problema não se encaixa nas outras categorias",
|
||||
"report.reasons.spam": "É spam",
|
||||
|
@ -748,9 +749,9 @@
|
|||
"report.thanks.take_action": "Aqui estão as suas opções para controlar o que vê no Mastodon:",
|
||||
"report.thanks.take_action_actionable": "Enquanto revemos a sua denúncia, pode tomar medidas contra @{name}:",
|
||||
"report.thanks.title": "Não quer ver isto?",
|
||||
"report.thanks.title_actionable": "Obrigado por denunciar. Iremos analisar.",
|
||||
"report.thanks.title_actionable": "Obrigado por nos informares, vamos analisar a situação.",
|
||||
"report.unfollow": "Deixar de seguir @{name}",
|
||||
"report.unfollow_explanation": "Está a seguir esta conta. Para não voltar a ver as publicações desta conta na cronologia da sua página inicial, deixe de a seguir.",
|
||||
"report.unfollow_explanation": "Estás a seguir esta conta. Para não voltares a ver as publicações desta conta na cronologia da tua página inicial, deixa de a seguir.",
|
||||
"report_notification.attached_statuses": "{count, plural,one {{count} publicação} other {{count} publicações}} em anexo",
|
||||
"report_notification.categories.legal": "Legal",
|
||||
"report_notification.categories.legal_sentence": "conteúdo ilegal",
|
||||
|
@ -770,7 +771,7 @@
|
|||
"search.quick_action.status_search": "Publicações com correspondência a {x}",
|
||||
"search.search_or_paste": "Pesquisar ou introduzir URL",
|
||||
"search_popout.full_text_search_disabled_message": "Não disponível em {domain}.",
|
||||
"search_popout.full_text_search_logged_out_message": "Apenas disponível quando tem sessão iniciada.",
|
||||
"search_popout.full_text_search_logged_out_message": "Apenas disponível com sessão iniciada.",
|
||||
"search_popout.language_code": "Código ISO do idioma",
|
||||
"search_popout.options": "Opções de pesquisa",
|
||||
"search_popout.quick_actions": "Ações rápidas",
|
||||
|
@ -781,20 +782,20 @@
|
|||
"search_results.all": "Tudo",
|
||||
"search_results.hashtags": "Etiquetas",
|
||||
"search_results.no_results": "Sem resultados.",
|
||||
"search_results.no_search_yet": "Tente procurar por publicações, perfis ou etiquetas.",
|
||||
"search_results.no_search_yet": "Tenta procurar por publicações, perfis ou etiquetas.",
|
||||
"search_results.see_all": "Ver todos",
|
||||
"search_results.statuses": "Publicações",
|
||||
"search_results.title": "Pesquisar por \"{q}\"",
|
||||
"server_banner.about_active_users": "Pessoas que utilizaram este servidor nos últimos 30 dias (Utilizadores Ativos Mensais)",
|
||||
"server_banner.about_active_users": "Pessoas que utilizaram este servidor nos últimos 30 dias (utilizadores ativos mensais)",
|
||||
"server_banner.active_users": "utilizadores ativos",
|
||||
"server_banner.administered_by": "Administrado por:",
|
||||
"server_banner.is_one_of_many": "{domain} é um dos muitos servidores Mastodon independentes que pode utilizar para participar no fediverso.",
|
||||
"server_banner.is_one_of_many": "{domain} é um dos muitos servidores Mastodon independentes que podes utilizar para participar no fediverso.",
|
||||
"server_banner.server_stats": "Estatísticas do servidor:",
|
||||
"sign_in_banner.create_account": "Criar conta",
|
||||
"sign_in_banner.follow_anyone": "Siga qualquer pessoa no fediverso e veja tudo por ordem cronológica. Sem algoritmos, anúncios ou caça-cliques à vista.",
|
||||
"sign_in_banner.follow_anyone": "Segue qualquer pessoa no fediverso e vê tudo por ordem cronológica. Sem algoritmos, anúncios ou caça-cliques à vista.",
|
||||
"sign_in_banner.mastodon_is": "O Mastodon é a melhor maneira de acompanhar o que está a acontecer.",
|
||||
"sign_in_banner.sign_in": "Iniciar sessão",
|
||||
"sign_in_banner.sso_redirect": "Inicie sessão ou registe-se",
|
||||
"sign_in_banner.sso_redirect": "Inicia a sessão ou cria uma conta",
|
||||
"status.admin_account": "Abrir a interface de moderação para @{name}",
|
||||
"status.admin_domain": "Abrir interface de moderação para {domain}",
|
||||
"status.admin_status": "Abrir esta publicação na interface de moderação",
|
||||
|
@ -818,14 +819,14 @@
|
|||
"status.history.created": "{name} criado em {date}",
|
||||
"status.history.edited": "{name} editado em {date}",
|
||||
"status.load_more": "Carregar mais",
|
||||
"status.media.open": "Clique para abrir",
|
||||
"status.media.show": "Clique para ver",
|
||||
"status.media_hidden": "Media escondida",
|
||||
"status.media.open": "Clicar para abrir",
|
||||
"status.media.show": "Clicar para ver",
|
||||
"status.media_hidden": "Multimédia oculta",
|
||||
"status.mention": "Mencionar @{name}",
|
||||
"status.more": "Mais",
|
||||
"status.mute": "Ocultar @{name}",
|
||||
"status.mute_conversation": "Ocultar conversa",
|
||||
"status.open": "Expandir",
|
||||
"status.open": "Expandir esta publicação",
|
||||
"status.pin": "Afixar no perfil",
|
||||
"status.pinned": "Publicação afixada",
|
||||
"status.read_more": "Ler mais",
|
||||
|
@ -836,6 +837,7 @@
|
|||
"status.reblogs.empty": "Ainda ninguém impulsionou esta publicação. Quando alguém o fizer, aparecerá aqui.",
|
||||
"status.redraft": "Eliminar e reescrever",
|
||||
"status.remove_bookmark": "Retirar dos marcadores",
|
||||
"status.remove_favourite": "Remover dos favoritos",
|
||||
"status.replied_in_thread": "Responder na conversa",
|
||||
"status.replied_to": "Respondeu a {name}",
|
||||
"status.reply": "Responder",
|
||||
|
@ -843,8 +845,8 @@
|
|||
"status.report": "Denunciar @{name}",
|
||||
"status.sensitive_warning": "Conteúdo sensível",
|
||||
"status.share": "Partilhar",
|
||||
"status.show_less_all": "Mostrar menos para todas",
|
||||
"status.show_more_all": "Mostrar mais para todas",
|
||||
"status.show_less_all": "Ocultar conteúdo sensível em todas",
|
||||
"status.show_more_all": "Mostrar conteúdo sensível em todas",
|
||||
"status.show_original": "Mostrar original",
|
||||
"status.title.with_attachments": "{user} publicou {attachmentCount, plural,one {um anexo} other {{attachmentCount} anexos}}",
|
||||
"status.translate": "Traduzir",
|
||||
|
@ -852,20 +854,20 @@
|
|||
"status.uncached_media_warning": "Pré-visualização não disponível",
|
||||
"status.unmute_conversation": "Desocultar esta conversa",
|
||||
"status.unpin": "Desafixar do perfil",
|
||||
"subscribed_languages.lead": "Após a alteração, apenas as publicações nos idiomas selecionados aparecerão na sua página inicial e listas. Não selecione nenhum para receber publicações de todos os idiomas.",
|
||||
"subscribed_languages.lead": "Após a alteração, apenas as publicações nos idiomas selecionados aparecerão na cronologia da tua página inicial e das tuas listas. Não seleciones nenhum idioma para receberes publicações em todos os idiomas.",
|
||||
"subscribed_languages.save": "Guardar alterações",
|
||||
"subscribed_languages.target": "Alterar idiomas subscritos para {target}",
|
||||
"tabs_bar.home": "Início",
|
||||
"tabs_bar.notifications": "Notificações",
|
||||
"terms_of_service.title": "Termos do serviço",
|
||||
"time_remaining.days": "{número, plural, um {# day} outro {# days}} faltam",
|
||||
"time_remaining.hours": "{número, plural, um {# hour} outro {# hours}} faltam",
|
||||
"time_remaining.minutes": "{número, plural, um {# minute} outro {# minutes}} faltam",
|
||||
"time_remaining.days": "{number, plural, one {# dia restante} other {# dias restantes}}",
|
||||
"time_remaining.hours": "{number, plural, one {# hora restante} other {# horas restantes}}",
|
||||
"time_remaining.minutes": "{number, plural, one {# minuto restante} other {# minutos restantes}}",
|
||||
"time_remaining.moments": "Momentos restantes",
|
||||
"time_remaining.seconds": "{número, plural, um {# second} outro {# seconds}} faltam",
|
||||
"time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
|
||||
"trends.counter_by_accounts": "{count, plural, one {{counter} pessoa} other {{counter} pessoas}} {days, plural, one {no último dia} other {nos últimos {days} dias}}",
|
||||
"trends.trending_now": "Tendências atuais",
|
||||
"ui.beforeunload": "O seu rascunho será perdido se abandonar o Mastodon.",
|
||||
"ui.beforeunload": "O teu rascunho será perdido se abandonares o Mastodon.",
|
||||
"units.short.billion": "{count}MM",
|
||||
"units.short.million": "{count}M",
|
||||
"units.short.thousand": "{count}m",
|
||||
|
@ -901,7 +903,7 @@
|
|||
"video.exit_fullscreen": "Sair do modo ecrã inteiro",
|
||||
"video.expand": "Expandir vídeo",
|
||||
"video.fullscreen": "Ecrã completo",
|
||||
"video.hide": "Esconder vídeo",
|
||||
"video.hide": "Ocultar vídeo",
|
||||
"video.mute": "Desativar som",
|
||||
"video.pause": "Pausar",
|
||||
"video.play": "Reproduzir",
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
"about.not_available": "Această informație nu a fost pusă la dispoziție pe acest server.",
|
||||
"about.powered_by": "Media socială descentralizată furnizată de {mastodon}",
|
||||
"about.rules": "Reguli server",
|
||||
"account.account_note_header": "Notă personală",
|
||||
"account.add_or_remove_from_list": "Adaugă sau elimină din liste",
|
||||
"account.badges.bot": "Robot",
|
||||
"account.badges.group": "Grup",
|
||||
|
@ -29,11 +30,13 @@
|
|||
"account.featured_tags.last_status_at": "Ultima postare pe {date}",
|
||||
"account.featured_tags.last_status_never": "Fără postări",
|
||||
"account.featured_tags.title": "Haștagurile recomandate de {name}",
|
||||
"account.follow": "Abonează-te",
|
||||
"account.follow": "Urmărește",
|
||||
"account.follow_back": "Urmăreşte înapoi",
|
||||
"account.followers": "Urmăritori",
|
||||
"account.followers.empty": "Acest utilizator nu are încă urmăritori.",
|
||||
"account.followers_counter": "{count, plural, one {{counter} urmăritor} few {{counter} urmăritori} other {{counter} urmăritori}}",
|
||||
"account.following": "Urmăriți",
|
||||
"account.following_counter": "{count, plural, one {{counter} urmărit} few {{counter} urmărit} other {{counter} urmărit}}",
|
||||
"account.follows.empty": "Momentan acest utilizator nu are niciun abonament.",
|
||||
"account.go_to_profile": "Mergi la profil",
|
||||
"account.hide_reblogs": "Ascunde distribuirile de la @{name}",
|
||||
|
@ -49,6 +52,7 @@
|
|||
"account.mute_notifications_short": "Amuțește notificările",
|
||||
"account.mute_short": "Ignoră",
|
||||
"account.muted": "Pus pe silențios",
|
||||
"account.mutual": "Mutual",
|
||||
"account.no_bio": "Nicio descriere furnizată.",
|
||||
"account.open_original_page": "Deschide pagina originală",
|
||||
"account.posts": "Postări",
|
||||
|
@ -58,12 +62,14 @@
|
|||
"account.requested_follow": "{name} A cerut să vă urmărească",
|
||||
"account.share": "Distribuie profilul lui @{name}",
|
||||
"account.show_reblogs": "Afișează distribuirile de la @{name}",
|
||||
"account.statuses_counter": "{count, plural, one {{counter} postare} few {{counter} postări} other {{counter} postări}}",
|
||||
"account.unblock": "Deblochează pe @{name}",
|
||||
"account.unblock_domain": "Deblochează domeniul {domain}",
|
||||
"account.unblock_short": "Deblochează",
|
||||
"account.unendorse": "Nu promova pe profil",
|
||||
"account.unfollow": "Nu mai urmări",
|
||||
"account.unmute": "Nu mai ignora pe @{name}",
|
||||
"account.unmute_notifications_short": "Dezamuțire notificări",
|
||||
"account.unmute_short": "Reafișare",
|
||||
"account_note.placeholder": "Click to add a note",
|
||||
"admin.dashboard.daily_retention": "Rata de retenţie a utilizatorului pe zi după înregistrare",
|
||||
|
@ -71,12 +77,29 @@
|
|||
"admin.dashboard.retention.average": "În medie",
|
||||
"admin.dashboard.retention.cohort": "Înregistrări lunar",
|
||||
"admin.dashboard.retention.cohort_size": "Utilizatori noi",
|
||||
"admin.impact_report.instance_followers": "Urmăritori pe care utilizatorii noștri i-ar pierde",
|
||||
"admin.impact_report.instance_follows": "Urmăritori pe care utilizatorii lor i-ar pierde",
|
||||
"admin.impact_report.title": "Rezumatul impactului",
|
||||
"alert.rate_limited.message": "Vă rugăm să reîncercați după {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Debit limitat",
|
||||
"alert.unexpected.message": "A apărut o eroare neașteptată.",
|
||||
"alert.unexpected.title": "Ups!",
|
||||
"alt_text_badge.title": "Text alternativ",
|
||||
"announcement.announcement": "Anunț",
|
||||
"annual_report.summary.archetype.lurker": "Pânditorul",
|
||||
"annual_report.summary.archetype.oracle": "Oracolul",
|
||||
"annual_report.summary.archetype.pollster": "Sondatorul",
|
||||
"annual_report.summary.archetype.replier": "Fluturele social",
|
||||
"annual_report.summary.followers.followers": "urmăritori",
|
||||
"annual_report.summary.followers.total": "{count} total",
|
||||
"annual_report.summary.here_it_is": "Iată rezumatul dvs. al anului {year}:",
|
||||
"annual_report.summary.highlighted_post.by_favourites": "cea mai favorizată postare",
|
||||
"annual_report.summary.highlighted_post.by_reblogs": "cea mai boostată postare",
|
||||
"annual_report.summary.highlighted_post.by_replies": "postarea cu cele mai multe răspunsuri",
|
||||
"annual_report.summary.most_used_app.most_used_app": "cea mai utilizată aplicație",
|
||||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "cel mai utilizat hashtag",
|
||||
"annual_report.summary.most_used_hashtag.none": "Niciunul",
|
||||
"annual_report.summary.new_posts.new_posts": "postări noi",
|
||||
"attachments_list.unprocessed": "(neprocesate)",
|
||||
"audio.hide": "Ascunde audio",
|
||||
"boost_modal.combo": "Poți apăsa {combo} pentru a sări peste asta data viitoare",
|
||||
|
|
|
@ -153,7 +153,7 @@
|
|||
"column.lists": "Списки",
|
||||
"column.mutes": "Игнорируемые пользователи",
|
||||
"column.notifications": "Уведомления",
|
||||
"column.pins": "Закреплённый пост",
|
||||
"column.pins": "Закреплённые посты",
|
||||
"column.public": "Глобальная лента",
|
||||
"column_back_button.label": "Назад",
|
||||
"column_header.hide_settings": "Скрыть настройки",
|
||||
|
@ -364,7 +364,7 @@
|
|||
"footer.status": "Статус",
|
||||
"footer.terms_of_service": "Пользовательское соглашение",
|
||||
"generic.saved": "Сохранено",
|
||||
"getting_started.heading": "Начать",
|
||||
"getting_started.heading": "Добро пожаловать",
|
||||
"hashtag.admin_moderation": "Открыть интерфейс модератора для #{name}",
|
||||
"hashtag.column_header.tag_mode.all": "и {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "или {additional}",
|
||||
|
@ -453,7 +453,7 @@
|
|||
"keyboard_shortcuts.requests": "перейти к запросам на подписку",
|
||||
"keyboard_shortcuts.search": "перейти к поиску",
|
||||
"keyboard_shortcuts.spoilers": "показать/скрыть поле предупреждения о содержании",
|
||||
"keyboard_shortcuts.start": "Перейти к разделу \"Начать\"",
|
||||
"keyboard_shortcuts.start": "перейти к разделу \"добро пожаловать\"",
|
||||
"keyboard_shortcuts.toggle_hidden": "показать/скрыть текст за предупреждением",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "показать/скрыть медиафайлы",
|
||||
"keyboard_shortcuts.toot": "начать писать новый пост",
|
||||
|
@ -484,7 +484,7 @@
|
|||
"lists.list_members": "Пользователи в списке",
|
||||
"lists.list_members_count": "{count, plural, one {# пользователь} few {# пользователя} other {# пользователей}}",
|
||||
"lists.list_name": "Название списка",
|
||||
"lists.new_list_name": "Новое имя списка",
|
||||
"lists.new_list_name": "Новый список",
|
||||
"lists.no_lists_yet": "Пока нет списков.",
|
||||
"lists.no_members_yet": "Пока нет пользователей в списке.",
|
||||
"lists.no_results_found": "Не найдено.",
|
||||
|
|
|
@ -236,6 +236,7 @@
|
|||
"domain_block_modal.they_cant_follow": "Nikto z tohoto servera ťa nemôže nasledovať.",
|
||||
"domain_block_modal.they_wont_know": "Nebude vedieť, že bol/a zablokovaný/á.",
|
||||
"domain_block_modal.title": "Blokovať doménu?",
|
||||
"domain_block_modal.you_will_lose_relationships": "Stratíš všetkých sledovateľov a ľudí, ktorých ty na tomto serveri nasleduješ.",
|
||||
"domain_block_modal.you_wont_see_posts": "Neuvidíš príspevky, ani oboznámenia od užívateľov na tomto serveri.",
|
||||
"domain_pill.activitypub_like_language": "ActivityPub je ako jazyk, ktorým Mastodon hovorí s ostatnými sociálnymi sieťami.",
|
||||
"domain_pill.server": "Server",
|
||||
|
@ -315,6 +316,7 @@
|
|||
"follow_requests.unlocked_explanation": "Aj keď váš účet nie je uzamknutý, tím domény {domain} si myslel, že môžete chcieť skontrolovať žiadosti o sledovanie z týchto účtov manuálne.",
|
||||
"follow_suggestions.curated_suggestion": "Výber redakcie",
|
||||
"follow_suggestions.dismiss": "Znova nezobrazovať",
|
||||
"follow_suggestions.friends_of_friends_longer": "Populárne medzi ľudmi ktorých nasleduješ",
|
||||
"follow_suggestions.hints.featured": "Tento profil bol ručne zvolený tímom domény {domain}.",
|
||||
"follow_suggestions.hints.friends_of_friends": "Tento profil je obľúbený medzi účtami, ktoré sledujete.",
|
||||
"follow_suggestions.hints.most_followed": "Tento profil patrí na doméne {domain} medzi najsledovanejšie.",
|
||||
|
@ -353,6 +355,8 @@
|
|||
"hashtag.follow": "Sledovať hashtag",
|
||||
"hashtag.unfollow": "Prestať sledovať hashtag",
|
||||
"hashtags.and_other": "…a {count, plural, other {# ďalších}}",
|
||||
"hints.profiles.followers_may_be_missing": "Nasledovatelia tohto profilu môžu chýbať.",
|
||||
"hints.profiles.follows_may_be_missing": "Nasledovatelia tohto profilu môžu chýbať.",
|
||||
"hints.profiles.posts_may_be_missing": "Niektoré príspevky z tohto profilu môžu chýbať.",
|
||||
"hints.profiles.see_more_followers": "Pozri viac nasledovateľov na {domain}",
|
||||
"hints.profiles.see_more_follows": "Pozri viac nasledovateľov na {domain}",
|
||||
|
@ -374,6 +378,10 @@
|
|||
"ignore_notifications_modal.not_followers_title": "Nevšímať si oznámenia od ľudí, ktorí ťa nenasledujú?",
|
||||
"ignore_notifications_modal.not_following_title": "Nevšímať si oznámenia od ľudí, ktorých nenasleduješ?",
|
||||
"ignore_notifications_modal.private_mentions_title": "Nevšímať si oznámenia o nevyžiadaných súkromných spomínaniach?",
|
||||
"interaction_modal.action.reply": "Pre pokračovanie musíš odpovedať s tvojho účtu.",
|
||||
"interaction_modal.action.vote": "Pre pokračovanie musíš hlasovať s tvojho účtu.",
|
||||
"interaction_modal.go": "Prejdi",
|
||||
"interaction_modal.no_account_yet": "Ešte nemáš účet?",
|
||||
"interaction_modal.on_another_server": "Na inom serveri",
|
||||
"interaction_modal.on_this_server": "Na tomto serveri",
|
||||
"interaction_modal.title.favourite": "Ohviezdičkovať príspevok od {name}",
|
||||
|
@ -416,6 +424,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Zobraziť/skryť text za varovaním o obsahu",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Zobraziť/skryť médiá",
|
||||
"keyboard_shortcuts.toot": "Vytvoriť nový príspevok",
|
||||
"keyboard_shortcuts.translate": "preložiť príspevok",
|
||||
"keyboard_shortcuts.unfocus": "Odísť z textového poľa",
|
||||
"keyboard_shortcuts.up": "Posunúť sa vyššie v zozname",
|
||||
"lightbox.close": "Zatvoriť",
|
||||
|
|
|
@ -452,6 +452,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Për shfaqje/fshehje teksti pas CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Për shfaqje/fshehje mediash",
|
||||
"keyboard_shortcuts.toot": "Për të filluar një mesazh të ri",
|
||||
"keyboard_shortcuts.translate": "për të përkthyer një postim",
|
||||
"keyboard_shortcuts.unfocus": "Për heqjen e fokusit nga fusha e hartimit të mesazheve apo kërkimeve",
|
||||
"keyboard_shortcuts.up": "Për ngjitje sipër nëpër listë",
|
||||
"lightbox.close": "Mbylle",
|
||||
|
@ -831,6 +832,7 @@
|
|||
"status.reblogs.empty": "Këtë mesazh s’e ka përforcuar njeri deri tani. Kur ta bëjë dikush, kjo do të duket këtu.",
|
||||
"status.redraft": "Fshijeni & rihartojeni",
|
||||
"status.remove_bookmark": "Hiqe faqerojtësin",
|
||||
"status.remove_favourite": "Hiqe nga të parapëlqyerat",
|
||||
"status.replied_in_thread": "U përgjigj te rrjedha",
|
||||
"status.replied_to": "Iu përgjigj {name}",
|
||||
"status.reply": "Përgjigjuni",
|
||||
|
|
|
@ -141,7 +141,7 @@
|
|||
"column.bookmarks": "Bokmärken",
|
||||
"column.community": "Lokal tidslinje",
|
||||
"column.create_list": "Skapa lista",
|
||||
"column.direct": "Privata nämningar",
|
||||
"column.direct": "Privata omnämnande",
|
||||
"column.directory": "Bläddra bland profiler",
|
||||
"column.domain_blocks": "Blockerade domäner",
|
||||
"column.edit_list": "Redigera lista",
|
||||
|
@ -239,6 +239,10 @@
|
|||
"disabled_account_banner.text": "Ditt konto {disabledAccount} är för närvarande inaktiverat.",
|
||||
"dismissable_banner.community_timeline": "Dessa är de senaste offentliga inläggen från personer vars konton tillhandahålls av {domain}.",
|
||||
"dismissable_banner.dismiss": "Avfärda",
|
||||
"dismissable_banner.explore_links": "Dessa nyhetshistorier delas mest på fediversum idag. Nyare nyhetshistorier som publiceras av fler olika personer rankas högre.",
|
||||
"dismissable_banner.explore_statuses": "Dessa inlägg från fediversum vinner dragkraft idag. Nyare inlägg som många boostar och favoritmarkerar rankas högre.",
|
||||
"dismissable_banner.explore_tags": "De här hashtaggarna vinner dragkraft i fediversum idag. Hashtaggar som används av fler olika personer rankas högre.",
|
||||
"dismissable_banner.public_timeline": "De här är de aktuella publika inlägg från personer i fediversum som personer i {domain} följer.",
|
||||
"domain_block_modal.block": "Blockera server",
|
||||
"domain_block_modal.block_account_instead": "Blockera @{name} istället",
|
||||
"domain_block_modal.they_can_interact_with_old_posts": "Personer från denna server kan interagera med dina gamla inlägg.",
|
||||
|
@ -285,7 +289,7 @@
|
|||
"empty_column.blocks": "Du har ännu ej blockerat några användare.",
|
||||
"empty_column.bookmarked_statuses": "Du har inte bokmärkt några inlägg än. När du bokmärker ett inlägg kommer det synas här.",
|
||||
"empty_column.community": "Den lokala tidslinjen är tom. Skriv något offentligt för att sätta bollen i rullning!",
|
||||
"empty_column.direct": "Du har inga privata nämningar. När du skickar eller tar emot ett direktmeddelande kommer det att visas här.",
|
||||
"empty_column.direct": "Du har inga privata omnämninande. När du skickar eller tar emot ett direktmeddelande kommer det att visas här.",
|
||||
"empty_column.domain_blocks": "Det finns ännu inga dolda domäner.",
|
||||
"empty_column.explore_statuses": "Ingenting är trendigt just nu. Kom tillbaka senare!",
|
||||
"empty_column.favourited_statuses": "Du har inga favoritmarkerade inlägg ännu. När du favoritmärker ett så kommer det att dyka upp här.",
|
||||
|
@ -402,7 +406,14 @@
|
|||
"ignore_notifications_modal.new_accounts_title": "Vill du ignorera aviseringar från nya konton?",
|
||||
"ignore_notifications_modal.not_followers_title": "Vill du ignorera aviseringar från personer som inte följer dig?",
|
||||
"ignore_notifications_modal.not_following_title": "Vill du blockera aviseringar från personer som du inte följer dig?",
|
||||
"ignore_notifications_modal.private_mentions_title": "Vill du ignorera aviseringar från oönskade privata omnämningar?",
|
||||
"ignore_notifications_modal.private_mentions_title": "Vill du ignorera aviseringar från oombedda privata omnämnanden?",
|
||||
"interaction_modal.action.favourite": "För att fortsätta, måste du favoritmarkera från ditt konto.",
|
||||
"interaction_modal.action.follow": "För att fortsätta, måste du följa från ditt konto.",
|
||||
"interaction_modal.action.reblog": "För att fortsätta, måste du boosta från ditt konto.",
|
||||
"interaction_modal.action.reply": "För att fortsätta, måste du svara från ditt konto.",
|
||||
"interaction_modal.action.vote": "För att fortsätta, måste du rösta från ditt konto.",
|
||||
"interaction_modal.go": "Vidare",
|
||||
"interaction_modal.no_account_yet": "Har du inget konto än?",
|
||||
"interaction_modal.on_another_server": "På en annan server",
|
||||
"interaction_modal.on_this_server": "På denna server",
|
||||
"interaction_modal.title.favourite": "Favoritmarkera {name}s inlägg",
|
||||
|
@ -410,6 +421,7 @@
|
|||
"interaction_modal.title.reblog": "Boosta {name}s inlägg",
|
||||
"interaction_modal.title.reply": "Svara på {name}s inlägg",
|
||||
"interaction_modal.title.vote": "Rösta i {name}s enkät",
|
||||
"interaction_modal.username_prompt": "T.ex. {example}",
|
||||
"intervals.full.days": "{number, plural, one {# dag} other {# dagar}}",
|
||||
"intervals.full.hours": "{number, plural, one {# timme} other {# timmar}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minut} other {# minuter}}",
|
||||
|
@ -419,7 +431,7 @@
|
|||
"keyboard_shortcuts.column": "Fokusera kolumn",
|
||||
"keyboard_shortcuts.compose": "Fokusera skrivfältet",
|
||||
"keyboard_shortcuts.description": "Beskrivning",
|
||||
"keyboard_shortcuts.direct": "för att öppna privata nämningskolumnen",
|
||||
"keyboard_shortcuts.direct": "för att öppna privata omnämnandekolumnen",
|
||||
"keyboard_shortcuts.down": "Flytta ner i listan",
|
||||
"keyboard_shortcuts.enter": "Öppna inlägg",
|
||||
"keyboard_shortcuts.favourite": "Favoritmarkera inlägg",
|
||||
|
@ -445,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Visa/gömma text bakom CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Visa/gömma media",
|
||||
"keyboard_shortcuts.toot": "Starta nytt inlägg",
|
||||
"keyboard_shortcuts.translate": "för att översätta ett inlägg",
|
||||
"keyboard_shortcuts.unfocus": "Avfokusera skrivfält/sökfält",
|
||||
"keyboard_shortcuts.up": "Flytta uppåt i listan",
|
||||
"lightbox.close": "Stäng",
|
||||
|
@ -466,6 +479,7 @@
|
|||
"lists.delete": "Radera lista",
|
||||
"lists.done": "Klar",
|
||||
"lists.edit": "Redigera lista",
|
||||
"lists.exclusive": "Dölj medlemmar i Hem flödet",
|
||||
"lists.exclusive_hint": "Om någon är med på den här listan, göm dem i ditt Hemtidlinje för att undvika att se deras inlägg två gånger.",
|
||||
"lists.find_users_to_add": "Hitta användare att lägga till",
|
||||
"lists.list_members": "Lista medlemmar",
|
||||
|
@ -474,12 +488,14 @@
|
|||
"lists.new_list_name": "Nytt listnamn",
|
||||
"lists.no_lists_yet": "Ännu inga listor.",
|
||||
"lists.no_members_yet": "Inga medlemmar ännu.",
|
||||
"lists.no_results_found": "Inga resultat hittades.",
|
||||
"lists.remove_member": "Ta bort",
|
||||
"lists.replies_policy.followed": "Alla användare som följs",
|
||||
"lists.replies_policy.list": "Medlemmar i listan",
|
||||
"lists.replies_policy.none": "Ingen",
|
||||
"lists.save": "Spara",
|
||||
"lists.search": "Sök",
|
||||
"lists.show_replies_to": "Inkludera svar från listmedlemmar till",
|
||||
"load_pending": "{count, plural, one {# nytt objekt} other {# nya objekt}}",
|
||||
"loading_indicator.label": "Laddar…",
|
||||
"media_gallery.hide": "Dölj",
|
||||
|
@ -500,7 +516,7 @@
|
|||
"navigation_bar.bookmarks": "Bokmärken",
|
||||
"navigation_bar.community_timeline": "Lokal tidslinje",
|
||||
"navigation_bar.compose": "Författa nytt inlägg",
|
||||
"navigation_bar.direct": "Privata nämningar",
|
||||
"navigation_bar.direct": "Privata omnämnande",
|
||||
"navigation_bar.discover": "Upptäck",
|
||||
"navigation_bar.domain_blocks": "Dolda domäner",
|
||||
"navigation_bar.explore": "Utforska",
|
||||
|
@ -532,12 +548,14 @@
|
|||
"notification.annual_report.view": "Visa #Wrapstodon",
|
||||
"notification.favourite": "{name} favoritmarkerade ditt inlägg",
|
||||
"notification.favourite.name_and_others_with_link": "{name} och <a>{count, plural, one {# annan} other {# andra}}</a> har favoritmarkerat ditt inlägg",
|
||||
"notification.favourite_pm": "{name} favoritmarkerade ditt privata omnämnande",
|
||||
"notification.favourite_pm.name_and_others_with_link": "{name} och <a>{count, plural, one {# annan} other {# andra}}</a> favoritmarkerade ditt privata omnämnande",
|
||||
"notification.follow": "{name} följer dig",
|
||||
"notification.follow.name_and_others": "{name} och <a>{count, plural, one {# annan} other {# andra}}</a> följer dig",
|
||||
"notification.follow_request": "{name} har begärt att följa dig",
|
||||
"notification.follow_request.name_and_others": "{name} och {count, plural, one {# en annan} other {# andra}} har bett att följa dig",
|
||||
"notification.label.mention": "Nämn",
|
||||
"notification.label.private_mention": "Privat nämning",
|
||||
"notification.label.private_mention": "Privat omnämnande",
|
||||
"notification.label.private_reply": "Privata svar",
|
||||
"notification.label.reply": "Svar",
|
||||
"notification.mention": "Nämn",
|
||||
|
@ -640,6 +658,7 @@
|
|||
"onboarding.follows.done": "Färdig",
|
||||
"onboarding.follows.empty": "Tyvärr kan inga resultat visas just nu. Du kan prova att använda sökfunktionen eller utforska sidan för att hitta personer att följa, eller försök igen senare.",
|
||||
"onboarding.follows.search": "Sök",
|
||||
"onboarding.follows.title": "Följ människor för att komma igång",
|
||||
"onboarding.profile.discoverable": "Gör min profil upptäckbar",
|
||||
"onboarding.profile.discoverable_hint": "När du väljer att vara upptäckbar på Mastodon kan dina inlägg visas i sök- och trendresultat, och din profil kan föreslås för personer med liknande intressen som du.",
|
||||
"onboarding.profile.display_name": "Visningsnamn",
|
||||
|
@ -677,6 +696,7 @@
|
|||
"privacy_policy.title": "Integritetspolicy",
|
||||
"recommended": "Rekommenderas",
|
||||
"refresh": "Läs om",
|
||||
"regeneration_indicator.please_stand_by": "Vänligen vänta.",
|
||||
"relative_time.days": "{number}d",
|
||||
"relative_time.full.days": "{number, plural, one {# dag} other {# dagar}} sedan",
|
||||
"relative_time.full.hours": "{number, plural, one {# timme} other {# timmar}} sedan",
|
||||
|
@ -760,15 +780,18 @@
|
|||
"search_results.accounts": "Profiler",
|
||||
"search_results.all": "Alla",
|
||||
"search_results.hashtags": "Hashtaggar",
|
||||
"search_results.no_results": "Inga resultat.",
|
||||
"search_results.no_search_yet": "Prova att söka efter inlägg, profiler eller hashtags.",
|
||||
"search_results.see_all": "Visa alla",
|
||||
"search_results.statuses": "Inlägg",
|
||||
"search_results.title": "Sök efter \"{q}\"",
|
||||
"server_banner.about_active_users": "Personer som använt denna server de senaste 30 dagarna (månatligt aktiva användare)",
|
||||
"server_banner.active_users": "aktiva användare",
|
||||
"server_banner.administered_by": "Administrerad av:",
|
||||
"server_banner.is_one_of_many": "{domain} är en av de många oberoende Mastodon-servrar som du kan använda för att delta i Fediversen.",
|
||||
"server_banner.server_stats": "Serverstatistik:",
|
||||
"sign_in_banner.create_account": "Skapa konto",
|
||||
"sign_in_banner.follow_anyone": "Följ vem som helst över Fediverse och se allt i kronologisk ordning. Inga algoritmer, inga annonser och inga klickbeten i sikte.",
|
||||
"sign_in_banner.follow_anyone": "Följ vem som helst över Fediversum och se allt i kronologisk ordning. Inga algoritmer, annonser eller klickbeten i sikte.",
|
||||
"sign_in_banner.mastodon_is": "Mastodon är det bästa sättet att hänga med i vad som händer.",
|
||||
"sign_in_banner.sign_in": "Logga in",
|
||||
"sign_in_banner.sso_redirect": "Logga in eller registrera dig",
|
||||
|
@ -783,8 +806,8 @@
|
|||
"status.copy": "Kopiera inläggslänk",
|
||||
"status.delete": "Radera",
|
||||
"status.detailed_status": "Detaljerad samtalsvy",
|
||||
"status.direct": "Nämn @{name} privat",
|
||||
"status.direct_indicator": "Privat nämning",
|
||||
"status.direct": "Omnämn @{name} privat",
|
||||
"status.direct_indicator": "Privat omnämnande",
|
||||
"status.edit": "Redigera",
|
||||
"status.edited": "Senast ändrad {date}",
|
||||
"status.edited_x_times": "Redigerad {count, plural, one {{count} gång} other {{count} gånger}}",
|
||||
|
@ -813,6 +836,7 @@
|
|||
"status.reblogs.empty": "Ingen har boostat detta inlägg än. När någon gör det kommer de synas här.",
|
||||
"status.redraft": "Radera & gör om",
|
||||
"status.remove_bookmark": "Ta bort bokmärke",
|
||||
"status.remove_favourite": "Ta bort från Favoriter",
|
||||
"status.replied_in_thread": "Svarade i tråden",
|
||||
"status.replied_to": "Svarade på {name}",
|
||||
"status.reply": "Svara",
|
||||
|
@ -834,6 +858,7 @@
|
|||
"subscribed_languages.target": "Ändra språkprenumerationer för {target}",
|
||||
"tabs_bar.home": "Hem",
|
||||
"tabs_bar.notifications": "Aviseringar",
|
||||
"terms_of_service.title": "Användarvillkor",
|
||||
"time_remaining.days": "{number, plural, one {# dag} other {# dagar}} kvar",
|
||||
"time_remaining.hours": "{number, plural, one {# timme} other {# timmar}} kvar",
|
||||
"time_remaining.minutes": "{number, plural, one {# minut} other {# minuter}} kvar",
|
||||
|
|
|
@ -400,6 +400,13 @@
|
|||
"ignore_notifications_modal.not_followers_title": "เพิกเฉยการแจ้งเตือนจากผู้คนที่ไม่ได้ติดตามคุณ?",
|
||||
"ignore_notifications_modal.not_following_title": "เพิกเฉยการแจ้งเตือนจากผู้คนที่คุณไม่ได้ติดตาม?",
|
||||
"ignore_notifications_modal.private_mentions_title": "เพิกเฉยการแจ้งเตือนจากการกล่าวถึงแบบส่วนตัวที่ไม่พึงประสงค์?",
|
||||
"interaction_modal.action.favourite": "เพื่อดำเนินการต่อ คุณจำเป็นต้องชื่นชอบจากบัญชีของคุณ",
|
||||
"interaction_modal.action.follow": "เพื่อดำเนินการต่อ คุณจำเป็นต้องติดตามจากบัญชีของคุณ",
|
||||
"interaction_modal.action.reblog": "เพื่อดำเนินการต่อ คุณจำเป็นต้องดันจากบัญชีของคุณ",
|
||||
"interaction_modal.action.reply": "เพื่อดำเนินการต่อ คุณจำเป็นต้องตอบกลับจากบัญชีของคุณ",
|
||||
"interaction_modal.action.vote": "เพื่อดำเนินการต่อ คุณจำเป็นต้องลงคะแนนจากบัญชีของคุณ",
|
||||
"interaction_modal.go": "ไป",
|
||||
"interaction_modal.no_account_yet": "ยังไม่มีบัญชี?",
|
||||
"interaction_modal.on_another_server": "ในเซิร์ฟเวอร์อื่น",
|
||||
"interaction_modal.on_this_server": "ในเซิร์ฟเวอร์นี้",
|
||||
"interaction_modal.title.favourite": "ชื่นชอบโพสต์ของ {name}",
|
||||
|
@ -407,6 +414,7 @@
|
|||
"interaction_modal.title.reblog": "ดันโพสต์ของ {name}",
|
||||
"interaction_modal.title.reply": "ตอบกลับโพสต์ของ {name}",
|
||||
"interaction_modal.title.vote": "ลงคะแนนในการสำรวจความคิดเห็นของ {name}",
|
||||
"interaction_modal.username_prompt": "เช่น {example}",
|
||||
"intervals.full.days": "{number, plural, other {# วัน}}",
|
||||
"intervals.full.hours": "{number, plural, other {# ชั่วโมง}}",
|
||||
"intervals.full.minutes": "{number, plural, other {# นาที}}",
|
||||
|
@ -442,6 +450,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "แสดง/ซ่อนข้อความที่อยู่หลังคำเตือนเนื้อหา",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "แสดง/ซ่อนสื่อ",
|
||||
"keyboard_shortcuts.toot": "เริ่มโพสต์ใหม่",
|
||||
"keyboard_shortcuts.translate": "เพื่อแปลโพสต์",
|
||||
"keyboard_shortcuts.unfocus": "เลิกโฟกัสพื้นที่เขียนข้อความ/การค้นหา",
|
||||
"keyboard_shortcuts.up": "ย้ายขึ้นในรายการ",
|
||||
"lightbox.close": "ปิด",
|
||||
|
@ -679,6 +688,8 @@
|
|||
"privacy_policy.title": "นโยบายความเป็นส่วนตัว",
|
||||
"recommended": "แนะนำ",
|
||||
"refresh": "รีเฟรช",
|
||||
"regeneration_indicator.please_stand_by": "โปรดรอสักครู่",
|
||||
"regeneration_indicator.preparing_your_home_feed": "กำลังเตรียมฟีดหน้าแรกของคุณ…",
|
||||
"relative_time.days": "{number} วัน",
|
||||
"relative_time.full.days": "{number, plural, other {# วัน}}ที่แล้ว",
|
||||
"relative_time.full.hours": "{number, plural, other {# ชั่วโมง}}ที่แล้ว",
|
||||
|
@ -817,6 +828,7 @@
|
|||
"status.reblogs.empty": "ยังไม่มีใครดันโพสต์นี้ เมื่อใครสักคนดัน เขาจะปรากฏที่นี่",
|
||||
"status.redraft": "ลบแล้วร่างใหม่",
|
||||
"status.remove_bookmark": "เอาที่คั่นหน้าออก",
|
||||
"status.remove_favourite": "เอาออกจากรายการโปรด",
|
||||
"status.replied_in_thread": "ตอบกลับในกระทู้",
|
||||
"status.replied_to": "ตอบกลับ {name}",
|
||||
"status.reply": "ตอบกลับ",
|
||||
|
|
|
@ -457,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "CW'den önceki yazıyı göstermek/gizlemek için",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Medyayı göstermek/gizlemek için",
|
||||
"keyboard_shortcuts.toot": "Yeni bir gönderi başlat",
|
||||
"keyboard_shortcuts.translate": "bir gönderiyi çevirmek için",
|
||||
"keyboard_shortcuts.unfocus": "Aramada bir gönderiye odaklanmamak için",
|
||||
"keyboard_shortcuts.up": "Listede yukarıya çıkmak için",
|
||||
"lightbox.close": "Kapat",
|
||||
|
@ -836,6 +837,7 @@
|
|||
"status.reblogs.empty": "Henüz hiç kimse bu gönderiyi yeniden paylaşmadı. Herhangi bir kullanıcı yeniden paylaştığında burada görüntülenecek.",
|
||||
"status.redraft": "Sil,Düzenle ve yeniden-paylaş",
|
||||
"status.remove_bookmark": "Yer işaretini kaldır",
|
||||
"status.remove_favourite": "Favorilerden kaldır",
|
||||
"status.replied_in_thread": "Akışta yanıtlandı",
|
||||
"status.replied_to": "{name} kullanıcısına yanıt verdi",
|
||||
"status.reply": "Yanıtla",
|
||||
|
|
|
@ -103,6 +103,7 @@
|
|||
"annual_report.summary.most_used_hashtag.most_used_hashtag": "найчастіший хештег",
|
||||
"annual_report.summary.most_used_hashtag.none": "Немає",
|
||||
"annual_report.summary.new_posts.new_posts": "нові дописи",
|
||||
"annual_report.summary.percentile.text": "<topLabel>Це виводить вас у топ</topLabel><percentage></percentage><bottomLabel> користувачів Mastodon.</bottomLabel>",
|
||||
"annual_report.summary.percentile.we_wont_tell_bernie": "Ми не скажемо Bernie.",
|
||||
"annual_report.summary.thanks": "Дякуємо, що ви є частиною Mastodon!",
|
||||
"attachments_list.unprocessed": "(не оброблено)",
|
||||
|
@ -148,6 +149,7 @@
|
|||
"column.firehose": "Стрічка новин",
|
||||
"column.follow_requests": "Запити на підписку",
|
||||
"column.home": "Головна",
|
||||
"column.list_members": "Керувати учасниками списку",
|
||||
"column.lists": "Списки",
|
||||
"column.mutes": "Приховані користувачі",
|
||||
"column.notifications": "Сповіщення",
|
||||
|
@ -237,6 +239,10 @@
|
|||
"disabled_account_banner.text": "Ваш обліковий запис {disabledAccount} наразі вимкнений.",
|
||||
"dismissable_banner.community_timeline": "Це останні публічні дописи від людей, чиї облікові записи розміщені на {domain}.",
|
||||
"dismissable_banner.dismiss": "Відхилити",
|
||||
"dismissable_banner.explore_links": "Ці новини сьогодні найбільше поширюють у fediverse. Свіжіші новини, опубліковані більшою кількістю різних людей, оцінюються вище.",
|
||||
"dismissable_banner.explore_statuses": "Ці дописи з усього fediverse сьогодні набирають популярності. Новіші дописи з більшою кількістю посилень і додавань у вибрані мають вищий рейтинг.",
|
||||
"dismissable_banner.explore_tags": "Ці гештеґи сьогодні набувають популярності у fediverse. Гештеґи, якими користується більше людей, займають вищі позиції.",
|
||||
"dismissable_banner.public_timeline": "Це найновіші загальнодоступні дописи від людей у федіверсі, на яких підписані люди в {domain}.",
|
||||
"domain_block_modal.block": "Блокувати сервер",
|
||||
"domain_block_modal.block_account_instead": "Блокувати @{name} натомість",
|
||||
"domain_block_modal.they_can_interact_with_old_posts": "Люди з цього сервера можуть взаємодіяти зі своїми старими дописами.",
|
||||
|
@ -325,7 +331,7 @@
|
|||
"filter_modal.select_filter.title": "Фільтрувати цей допис",
|
||||
"filter_modal.title.status": "Фільтрувати допис",
|
||||
"filter_warning.matches_filter": "Збігається з фільтром “<span>{title}</span>”",
|
||||
"filtered_notifications_banner.pending_requests": "Від {count, plural, =0 {жодної особи} one {однієї особи} few {# осіб} many {# осіб} other {# особи}}, котрих ви можете знати",
|
||||
"filtered_notifications_banner.pending_requests": "Від {count, plural, =0 {жодної особи} one {однієї особи} few {# осіб} many {# осіб} other {# особи}}, яких ви можете знати",
|
||||
"filtered_notifications_banner.title": "Відфільтровані сповіщення",
|
||||
"firehose.all": "Всі",
|
||||
"firehose.local": "Цей сервер",
|
||||
|
@ -402,6 +408,10 @@
|
|||
"ignore_notifications_modal.not_following_title": "Ігнорувати сповіщення від людей, на яких ви не підписалися?",
|
||||
"ignore_notifications_modal.private_mentions_title": "Ігнорувати сповіщення від небажаних приватних згадок?",
|
||||
"interaction_modal.action.favourite": "Щоб продовжити, потрібно додати улюблене з вашого облікового запису.",
|
||||
"interaction_modal.action.follow": "Щоб іти далі, потрібно підписатися з вашого облікового запису.",
|
||||
"interaction_modal.action.reblog": "Щоб іти далі, потрібно зробити реблог з вашого облікового запису.",
|
||||
"interaction_modal.action.reply": "Щоб іти далі, потрібно відповісти з вашого облікового запису.",
|
||||
"interaction_modal.action.vote": "Щоб іти далі, потрібно проголосувати з вашим обліковим записом.",
|
||||
"interaction_modal.go": "Вперед",
|
||||
"interaction_modal.no_account_yet": "Ще не зареєстровані?",
|
||||
"interaction_modal.on_another_server": "На іншому сервері",
|
||||
|
@ -411,6 +421,7 @@
|
|||
"interaction_modal.title.reblog": "Поширити допис {name}",
|
||||
"interaction_modal.title.reply": "Відповісти на допис {name}",
|
||||
"interaction_modal.title.vote": "Проголосувати в опитуванні {name}",
|
||||
"interaction_modal.username_prompt": "Наприклад, %{example}",
|
||||
"intervals.full.days": "{number, plural, one {# день} few {# дні} other {# днів}}",
|
||||
"intervals.full.hours": "{number, plural, one {# година} few {# години} other {# годин}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# хвилина} few {# хвилини} other {# хвилин}}",
|
||||
|
@ -446,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "Показати/приховати текст під попередженням про вміст",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Показати/приховати медіа",
|
||||
"keyboard_shortcuts.toot": "Створити новий допис",
|
||||
"keyboard_shortcuts.translate": "для перекладу повідомлення",
|
||||
"keyboard_shortcuts.unfocus": "Розфокусуватися з нового допису чи пошуку",
|
||||
"keyboard_shortcuts.up": "Рухатися вгору списком",
|
||||
"lightbox.close": "Закрити",
|
||||
|
@ -458,12 +470,32 @@
|
|||
"link_preview.author": "Від {name}",
|
||||
"link_preview.more_from_author": "Більше від {name}",
|
||||
"link_preview.shares": "{count, plural, one {{counter} допис} few {{counter} дописи} many {{counter} дописів} other {{counter} допис}}",
|
||||
"lists.add_member": "Додати",
|
||||
"lists.add_to_list": "Додати до списку",
|
||||
"lists.add_to_lists": "Додати {name} до списку",
|
||||
"lists.create": "Створити",
|
||||
"lists.create_a_list_to_organize": "Створіть новий список, щоб упорядкувати домашню стрічку",
|
||||
"lists.create_list": "Створити список",
|
||||
"lists.delete": "Видалити список",
|
||||
"lists.done": "Готово",
|
||||
"lists.edit": "Редагувати список",
|
||||
"lists.exclusive": "Сховати учасників на головній сторінці",
|
||||
"lists.exclusive_hint": "Якщо хтось є у цьому списку, сховайте їх на своїй домашній сторінці, щоб не бачити їхні дописи двічі.",
|
||||
"lists.find_users_to_add": "Знайти користувачів, щоб додати їх",
|
||||
"lists.list_members": "Учасники списку",
|
||||
"lists.list_members_count": "{count, plural, one {# member} other {# members}}",
|
||||
"lists.list_name": "Назва списку",
|
||||
"lists.new_list_name": "Нова назва списку",
|
||||
"lists.no_lists_yet": "Поки що немає списків.",
|
||||
"lists.no_members_yet": "Ще немає учасників.",
|
||||
"lists.no_results_found": "Результатів не знайдено.",
|
||||
"lists.remove_member": "Видалити",
|
||||
"lists.replies_policy.followed": "Будь-який відстежуваний користувач",
|
||||
"lists.replies_policy.list": "Учасники списку",
|
||||
"lists.replies_policy.none": "Ніхто",
|
||||
"lists.save": "Зберегти",
|
||||
"lists.search": "Пошук",
|
||||
"lists.show_replies_to": "Включати відповіді також зі списку учасників",
|
||||
"load_pending": "{count, plural, one {# новий елемент} other {# нових елементів}}",
|
||||
"loading_indicator.label": "Завантаження…",
|
||||
"media_gallery.hide": "Сховати",
|
||||
|
@ -516,6 +548,8 @@
|
|||
"notification.annual_report.view": "Переглянути #Wrapstodon",
|
||||
"notification.favourite": "Ваш допис сподобався {name}",
|
||||
"notification.favourite.name_and_others_with_link": "{name} та <a>{count, plural, one {# інший} few {# інших} many {# інших} other {# інший}}</a> вподобали ваш допис",
|
||||
"notification.favourite_pm": "{name} додав вашу особисту згадку до вибраного",
|
||||
"notification.favourite_pm.name_and_others_with_link": "{name} та <a>{count, plural, one {# other} other {# others}}</a> додали вашу особисту згадку до вибраного",
|
||||
"notification.follow": "{name} підписалися на вас",
|
||||
"notification.follow.name_and_others": "{name} та <a>{count, plural, one {# інший} few {# інших} many {# інших} other {# інший}}</a> стежать за вами",
|
||||
"notification.follow_request": "{name} відправили запит на підписку",
|
||||
|
@ -663,6 +697,7 @@
|
|||
"recommended": "Рекомендовано",
|
||||
"refresh": "Оновити",
|
||||
"regeneration_indicator.please_stand_by": "Будь ласка, очікуйте.",
|
||||
"regeneration_indicator.preparing_your_home_feed": "Готування вашої головної стрічки новин…",
|
||||
"relative_time.days": "{number}д",
|
||||
"relative_time.full.days": "{number, plural, one {# день} few {# дні} other {# днів}} тому",
|
||||
"relative_time.full.hours": "{number, plural, one {# година} few {# години} other {# годин}} тому",
|
||||
|
@ -802,6 +837,7 @@
|
|||
"status.reblogs.empty": "Ніхто ще не поширив цей допис. Коли хтось це зроблять, вони будуть зображені тут.",
|
||||
"status.redraft": "Видалити та виправити",
|
||||
"status.remove_bookmark": "Видалити закладку",
|
||||
"status.remove_favourite": "Видалити з улюблених",
|
||||
"status.replied_in_thread": "Відповідь у потоці",
|
||||
"status.replied_to": "Відповідь для {name}",
|
||||
"status.reply": "Відповісти",
|
||||
|
@ -823,6 +859,7 @@
|
|||
"subscribed_languages.target": "Змінити підписані мови для {target}",
|
||||
"tabs_bar.home": "Головна",
|
||||
"tabs_bar.notifications": "Сповіщення",
|
||||
"terms_of_service.title": "Умови використання",
|
||||
"time_remaining.days": "{number, plural, one {# день} few {# дні} other {# днів}}",
|
||||
"time_remaining.hours": "{number, plural, one {# година} few {# години} other {# годин}}",
|
||||
"time_remaining.minutes": "{number, plural, one {# хвилина} few {# хвилини} other {# хвилин}}",
|
||||
|
|
|
@ -457,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "ẩn/hiện nội dung ẩn",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "ẩn/hiện ảnh hoặc video",
|
||||
"keyboard_shortcuts.toot": "soạn tút mới",
|
||||
"keyboard_shortcuts.translate": "dịch tút",
|
||||
"keyboard_shortcuts.unfocus": "đưa con trỏ ra khỏi ô soạn thảo hoặc ô tìm kiếm",
|
||||
"keyboard_shortcuts.up": "di chuyển lên trên danh sách",
|
||||
"lightbox.close": "Đóng",
|
||||
|
@ -836,6 +837,7 @@
|
|||
"status.reblogs.empty": "Tút này chưa có ai đăng lại. Nếu có, nó sẽ hiển thị ở đây.",
|
||||
"status.redraft": "Xóa và viết lại",
|
||||
"status.remove_bookmark": "Bỏ lưu",
|
||||
"status.remove_favourite": "Bỏ thích",
|
||||
"status.replied_in_thread": "Trả lời thảo luận",
|
||||
"status.replied_to": "Trả lời {name}",
|
||||
"status.reply": "Trả lời",
|
||||
|
|
|
@ -186,7 +186,7 @@
|
|||
"compose_form.poll.switch_to_single": "将投票改为单选",
|
||||
"compose_form.poll.type": "类型",
|
||||
"compose_form.publish": "发布",
|
||||
"compose_form.publish_form": "新嘟文",
|
||||
"compose_form.publish_form": "新建嘟文",
|
||||
"compose_form.reply": "回复",
|
||||
"compose_form.save_changes": "更改",
|
||||
"compose_form.spoiler.marked": "移除内容警告",
|
||||
|
@ -457,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "显示或隐藏被折叠的正文",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "显示/隐藏媒体",
|
||||
"keyboard_shortcuts.toot": "发送新嘟文",
|
||||
"keyboard_shortcuts.translate": "翻译嘟文",
|
||||
"keyboard_shortcuts.unfocus": "取消输入/搜索",
|
||||
"keyboard_shortcuts.up": "在列表中让光标上移",
|
||||
"lightbox.close": "关闭",
|
||||
|
@ -836,6 +837,7 @@
|
|||
"status.reblogs.empty": "还没有人转嘟过此条嘟文。转嘟此嘟文的人会显示在这里。",
|
||||
"status.redraft": "删除并重新编辑",
|
||||
"status.remove_bookmark": "取消收藏",
|
||||
"status.remove_favourite": "从喜欢列表中移除",
|
||||
"status.replied_in_thread": "回复嘟文串",
|
||||
"status.replied_to": "回复 {name}",
|
||||
"status.reply": "回复",
|
||||
|
|
|
@ -457,6 +457,7 @@
|
|||
"keyboard_shortcuts.toggle_hidden": "顯示或隱藏於內容警告之後的嘟文",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "顯示或隱藏媒體",
|
||||
"keyboard_shortcuts.toot": "發個新嘟文",
|
||||
"keyboard_shortcuts.translate": "翻譯嘟文",
|
||||
"keyboard_shortcuts.unfocus": "跳離文字撰寫區塊或搜尋框",
|
||||
"keyboard_shortcuts.up": "向上移動",
|
||||
"lightbox.close": "關閉",
|
||||
|
@ -835,7 +836,8 @@
|
|||
"status.reblogs": "{count, plural, other {則轉嘟}}",
|
||||
"status.reblogs.empty": "還沒有人轉嘟過這則嘟文。當有人轉嘟時,它將於此顯示。",
|
||||
"status.redraft": "刪除並重新編輯",
|
||||
"status.remove_bookmark": "移除書籤",
|
||||
"status.remove_bookmark": "自書籤中移除",
|
||||
"status.remove_favourite": "自最愛中移除",
|
||||
"status.replied_in_thread": "於討論串中回覆",
|
||||
"status.replied_to": "回覆 {name}",
|
||||
"status.reply": "回覆",
|
||||
|
|
|
@ -1,50 +1,11 @@
|
|||
import { fromJS, Map as ImmutableMap, List as ImmutableList } from 'immutable';
|
||||
|
||||
import { blockDomainSuccess } from 'mastodon/actions/domain_blocks';
|
||||
import { timelineDelete } from 'mastodon/actions/timelines_typed';
|
||||
import { fromJS, Map as ImmutableMap } from 'immutable';
|
||||
|
||||
import {
|
||||
authorizeFollowRequestSuccess,
|
||||
blockAccountSuccess,
|
||||
muteAccountSuccess,
|
||||
rejectFollowRequestSuccess,
|
||||
} from '../actions/accounts';
|
||||
import {
|
||||
focusApp,
|
||||
unfocusApp,
|
||||
} from '../actions/app';
|
||||
import {
|
||||
fetchMarkers,
|
||||
} from '../actions/markers';
|
||||
import { clearNotifications } from '../actions/notification_groups';
|
||||
import {
|
||||
notificationsUpdate,
|
||||
NOTIFICATIONS_EXPAND_SUCCESS,
|
||||
NOTIFICATIONS_EXPAND_REQUEST,
|
||||
NOTIFICATIONS_EXPAND_FAIL,
|
||||
NOTIFICATIONS_FILTER_SET,
|
||||
NOTIFICATIONS_SCROLL_TOP,
|
||||
NOTIFICATIONS_LOAD_PENDING,
|
||||
NOTIFICATIONS_MOUNT,
|
||||
NOTIFICATIONS_UNMOUNT,
|
||||
NOTIFICATIONS_MARK_AS_READ,
|
||||
NOTIFICATIONS_SET_BROWSER_SUPPORT,
|
||||
NOTIFICATIONS_SET_BROWSER_PERMISSION,
|
||||
} from '../actions/notifications';
|
||||
import { disconnectTimeline } from '../actions/timelines';
|
||||
import { compareId } from '../compare_id';
|
||||
|
||||
const initialState = ImmutableMap({
|
||||
pendingItems: ImmutableList(),
|
||||
items: ImmutableList(),
|
||||
hasMore: true,
|
||||
top: false,
|
||||
mounted: 0,
|
||||
unread: 0,
|
||||
lastReadId: '0',
|
||||
readMarkerId: '0',
|
||||
isTabVisible: true,
|
||||
isLoading: 0,
|
||||
browserSupport: false,
|
||||
browserPermission: 'default',
|
||||
});
|
||||
|
@ -62,248 +23,8 @@ export const notificationToMap = notification => ImmutableMap({
|
|||
moderation_warning: notification.moderation_warning ? fromJS(notification.moderation_warning) : null,
|
||||
});
|
||||
|
||||
const normalizeNotification = (state, notification, usePendingItems) => {
|
||||
const top = state.get('top');
|
||||
|
||||
// Under currently unknown conditions, the client may receive duplicates from the server
|
||||
if (state.get('pendingItems').some((item) => item?.get('id') === notification.id) || state.get('items').some((item) => item?.get('id') === notification.id)) {
|
||||
return state;
|
||||
}
|
||||
|
||||
if (usePendingItems || !state.get('pendingItems').isEmpty()) {
|
||||
return state.update('pendingItems', list => list.unshift(notificationToMap(notification))).update('unread', unread => unread + 1);
|
||||
}
|
||||
|
||||
if (shouldCountUnreadNotifications(state)) {
|
||||
state = state.update('unread', unread => unread + 1);
|
||||
} else {
|
||||
state = state.set('lastReadId', notification.id);
|
||||
}
|
||||
|
||||
return state.update('items', list => {
|
||||
if (top && list.size > 40) {
|
||||
list = list.take(20);
|
||||
}
|
||||
|
||||
return list.unshift(notificationToMap(notification));
|
||||
});
|
||||
};
|
||||
|
||||
const expandNormalizedNotifications = (state, notifications, next, isLoadingMore, isLoadingRecent, usePendingItems) => {
|
||||
// This method is pretty tricky because:
|
||||
// - existing notifications might be out of order
|
||||
// - the existing notifications may have gaps, most often explicitly noted with a `null` item
|
||||
// - ideally, we don't want it to reorder existing items
|
||||
// - `notifications` may include items that are already included
|
||||
// - this function can be called either to fill in a gap, or load newer items
|
||||
|
||||
const lastReadId = state.get('lastReadId');
|
||||
const newItems = ImmutableList(notifications.map(notificationToMap));
|
||||
|
||||
return state.withMutations(mutable => {
|
||||
if (!newItems.isEmpty()) {
|
||||
usePendingItems = isLoadingRecent && (usePendingItems || !mutable.get('pendingItems').isEmpty());
|
||||
|
||||
mutable.update(usePendingItems ? 'pendingItems' : 'items', oldItems => {
|
||||
// If called to poll *new* notifications, we just need to add them on top without duplicates
|
||||
if (isLoadingRecent) {
|
||||
const idsToCheck = oldItems.map(item => item?.get('id')).toSet();
|
||||
const insertedItems = newItems.filterNot(item => idsToCheck.includes(item.get('id')));
|
||||
return insertedItems.concat(oldItems);
|
||||
}
|
||||
|
||||
// If called to expand more (presumably older than any known to the WebUI), we just have to
|
||||
// add them to the bottom without duplicates
|
||||
if (isLoadingMore) {
|
||||
const idsToCheck = oldItems.map(item => item?.get('id')).toSet();
|
||||
const insertedItems = newItems.filterNot(item => idsToCheck.includes(item.get('id')));
|
||||
return oldItems.concat(insertedItems);
|
||||
}
|
||||
|
||||
// Now this gets tricky, as we don't necessarily know for sure where the gap to fill is,
|
||||
// and some items in the timeline may not be properly ordered.
|
||||
|
||||
// However, we know that `newItems.last()` is the oldest item that was requested and that
|
||||
// there is no “hole” between `newItems.last()` and `newItems.first()`.
|
||||
|
||||
// First, find the furthest (if properly sorted, oldest) item in the notifications that is
|
||||
// newer than the oldest fetched one, as it's most likely that it delimits the gap.
|
||||
// Start the gap *after* that item.
|
||||
const lastIndex = oldItems.findLastIndex(item => item !== null && compareId(item.get('id'), newItems.last().get('id')) >= 0) + 1;
|
||||
|
||||
// Then, try to find the furthest (if properly sorted, oldest) item in the notifications that
|
||||
// is newer than the most recent fetched one, as it delimits a section comprised of only
|
||||
// items older or within `newItems` (or that were deleted from the server, so should be removed
|
||||
// anyway).
|
||||
// Stop the gap *after* that item.
|
||||
const firstIndex = oldItems.take(lastIndex).findLastIndex(item => item !== null && compareId(item.get('id'), newItems.first().get('id')) > 0) + 1;
|
||||
|
||||
// At this point:
|
||||
// - no `oldItems` after `firstIndex` is newer than any of the `newItems`
|
||||
// - all `oldItems` after `lastIndex` are older than every of the `newItems`
|
||||
// - it is possible for items in the replaced slice to be older than every `newItems`
|
||||
// - it is possible for items before `firstIndex` to be in the `newItems` range
|
||||
// Therefore:
|
||||
// - to avoid losing items, items from the replaced slice that are older than `newItems`
|
||||
// should be added in the back.
|
||||
// - to avoid duplicates, `newItems` should be checked the first `firstIndex` items of
|
||||
// `oldItems`
|
||||
const idsToCheck = oldItems.take(firstIndex).map(item => item?.get('id')).toSet();
|
||||
const insertedItems = newItems.filterNot(item => idsToCheck.includes(item.get('id')));
|
||||
const olderItems = oldItems.slice(firstIndex, lastIndex).filter(item => item !== null && compareId(item.get('id'), newItems.last().get('id')) < 0);
|
||||
|
||||
return oldItems.take(firstIndex).concat(
|
||||
insertedItems,
|
||||
olderItems,
|
||||
oldItems.skip(lastIndex),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
if (!next) {
|
||||
mutable.set('hasMore', false);
|
||||
}
|
||||
|
||||
if (shouldCountUnreadNotifications(state)) {
|
||||
mutable.set('unread', mutable.get('pendingItems').count(item => item !== null) + mutable.get('items').count(item => item && compareId(item.get('id'), lastReadId) > 0));
|
||||
} else {
|
||||
const mostRecent = newItems.find(item => item !== null);
|
||||
if (mostRecent && compareId(lastReadId, mostRecent.get('id')) < 0) {
|
||||
mutable.set('lastReadId', mostRecent.get('id'));
|
||||
}
|
||||
}
|
||||
|
||||
mutable.update('isLoading', (nbLoading) => nbLoading - 1);
|
||||
});
|
||||
};
|
||||
|
||||
const filterNotifications = (state, accountIds, type) => {
|
||||
const helper = list => list.filterNot(item => item !== null && accountIds.includes(item.get('account')) && (type === undefined || type === item.get('type')));
|
||||
return state.update('items', helper).update('pendingItems', helper);
|
||||
};
|
||||
|
||||
const clearUnread = (state) => {
|
||||
state = state.set('unread', state.get('pendingItems').size);
|
||||
const lastNotification = state.get('items').find(item => item !== null);
|
||||
return state.set('lastReadId', lastNotification ? lastNotification.get('id') : '0');
|
||||
};
|
||||
|
||||
const updateTop = (state, top) => {
|
||||
state = state.set('top', top);
|
||||
|
||||
if (!shouldCountUnreadNotifications(state)) {
|
||||
state = clearUnread(state);
|
||||
}
|
||||
|
||||
return state;
|
||||
};
|
||||
|
||||
const deleteByStatus = (state, statusId) => {
|
||||
const lastReadId = state.get('lastReadId');
|
||||
|
||||
if (shouldCountUnreadNotifications(state)) {
|
||||
const deletedUnread = state.get('items').filter(item => item !== null && item.get('status') === statusId && compareId(item.get('id'), lastReadId) > 0);
|
||||
state = state.update('unread', unread => unread - deletedUnread.size);
|
||||
}
|
||||
|
||||
const helper = list => list.filterNot(item => item !== null && item.get('status') === statusId);
|
||||
const deletedUnread = state.get('pendingItems').filter(item => item !== null && item.get('status') === statusId && compareId(item.get('id'), lastReadId) > 0);
|
||||
state = state.update('unread', unread => unread - deletedUnread.size);
|
||||
return state.update('items', helper).update('pendingItems', helper);
|
||||
};
|
||||
|
||||
const updateMounted = (state) => {
|
||||
state = state.update('mounted', count => count + 1);
|
||||
if (!shouldCountUnreadNotifications(state, state.get('mounted') === 1)) {
|
||||
state = state.set('readMarkerId', state.get('lastReadId'));
|
||||
state = clearUnread(state);
|
||||
}
|
||||
return state;
|
||||
};
|
||||
|
||||
const updateVisibility = (state, visibility) => {
|
||||
state = state.set('isTabVisible', visibility);
|
||||
if (!shouldCountUnreadNotifications(state)) {
|
||||
state = state.set('readMarkerId', state.get('lastReadId'));
|
||||
state = clearUnread(state);
|
||||
}
|
||||
return state;
|
||||
};
|
||||
|
||||
const shouldCountUnreadNotifications = (state, ignoreScroll = false) => {
|
||||
const isTabVisible = state.get('isTabVisible');
|
||||
const isOnTop = state.get('top');
|
||||
const isMounted = state.get('mounted') > 0;
|
||||
const lastReadId = state.get('lastReadId');
|
||||
const lastItem = state.get('items').findLast(item => item !== null);
|
||||
const lastItemReached = !state.get('hasMore') || lastReadId === '0' || (lastItem && compareId(lastItem.get('id'), lastReadId) <= 0);
|
||||
|
||||
return !(isTabVisible && (ignoreScroll || isOnTop) && isMounted && lastItemReached);
|
||||
};
|
||||
|
||||
const recountUnread = (state, last_read_id) => {
|
||||
return state.withMutations(mutable => {
|
||||
if (compareId(last_read_id, mutable.get('lastReadId')) > 0) {
|
||||
mutable.set('lastReadId', last_read_id);
|
||||
}
|
||||
|
||||
if (compareId(last_read_id, mutable.get('readMarkerId')) > 0) {
|
||||
mutable.set('readMarkerId', last_read_id);
|
||||
}
|
||||
|
||||
if (state.get('unread') > 0 || shouldCountUnreadNotifications(state)) {
|
||||
mutable.set('unread', mutable.get('pendingItems').count(item => item !== null) + mutable.get('items').count(item => item && compareId(item.get('id'), last_read_id) > 0));
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
export default function notifications(state = initialState, action) {
|
||||
switch(action.type) {
|
||||
case fetchMarkers.fulfilled.type:
|
||||
return action.payload.markers.notifications ? recountUnread(state, action.payload.markers.notifications.last_read_id) : state;
|
||||
case NOTIFICATIONS_MOUNT:
|
||||
return updateMounted(state);
|
||||
case NOTIFICATIONS_UNMOUNT:
|
||||
return state.update('mounted', count => count - 1);
|
||||
case focusApp.type:
|
||||
return updateVisibility(state, true);
|
||||
case unfocusApp.type:
|
||||
return updateVisibility(state, false);
|
||||
case NOTIFICATIONS_LOAD_PENDING:
|
||||
return state.update('items', list => state.get('pendingItems').concat(list.take(40))).set('pendingItems', ImmutableList()).set('unread', 0);
|
||||
case NOTIFICATIONS_EXPAND_REQUEST:
|
||||
return state.update('isLoading', (nbLoading) => nbLoading + 1);
|
||||
case NOTIFICATIONS_EXPAND_FAIL:
|
||||
return state.update('isLoading', (nbLoading) => nbLoading - 1);
|
||||
case NOTIFICATIONS_FILTER_SET:
|
||||
return state.set('items', ImmutableList()).set('pendingItems', ImmutableList()).set('hasMore', true);
|
||||
case NOTIFICATIONS_SCROLL_TOP:
|
||||
return updateTop(state, action.top);
|
||||
case notificationsUpdate.type:
|
||||
return normalizeNotification(state, action.payload.notification, action.payload.usePendingItems);
|
||||
case NOTIFICATIONS_EXPAND_SUCCESS:
|
||||
return expandNormalizedNotifications(state, action.notifications, action.next, action.isLoadingMore, action.isLoadingRecent, action.usePendingItems);
|
||||
case blockAccountSuccess.type:
|
||||
return filterNotifications(state, [action.payload.relationship.id]);
|
||||
case muteAccountSuccess.type:
|
||||
return action.payload.relationship.muting_notifications ? filterNotifications(state, [action.payload.relationship.id]) : state;
|
||||
case blockDomainSuccess.type:
|
||||
return filterNotifications(state, action.payload.accounts);
|
||||
case authorizeFollowRequestSuccess.type:
|
||||
case rejectFollowRequestSuccess.type:
|
||||
return filterNotifications(state, [action.payload.id], 'follow_request');
|
||||
case clearNotifications.pending.type:
|
||||
return state.set('items', ImmutableList()).set('pendingItems', ImmutableList()).set('hasMore', false);
|
||||
case timelineDelete.type:
|
||||
return deleteByStatus(state, action.payload.statusId);
|
||||
case disconnectTimeline.type:
|
||||
return action.payload.timeline === 'home' ?
|
||||
state.update(action.payload.usePendingItems ? 'pendingItems' : 'items', items => items.first() ? items.unshift(null) : items) :
|
||||
state;
|
||||
case NOTIFICATIONS_MARK_AS_READ: {
|
||||
const lastNotification = state.get('items').find(item => item !== null);
|
||||
return lastNotification ? recountUnread(state, lastNotification.get('id')) : state;
|
||||
}
|
||||
case NOTIFICATIONS_SET_BROWSER_SUPPORT:
|
||||
return state.set('browserSupport', action.value);
|
||||
case NOTIFICATIONS_SET_BROWSER_PERMISSION:
|
||||
|
|
|
@ -1610,7 +1610,7 @@ body > [data-popper-placement] {
|
|||
padding: 0 10px;
|
||||
|
||||
.detailed-status__display-name {
|
||||
color: lighten($inverted-text-color, 16%);
|
||||
color: $dark-text-color;
|
||||
|
||||
span {
|
||||
display: inline;
|
||||
|
|
|
@ -671,6 +671,10 @@ code {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.status-card {
|
||||
contain: unset;
|
||||
}
|
||||
}
|
||||
|
||||
.block-icon {
|
||||
|
|
|
@ -13,7 +13,7 @@ class ActivityPub::TagManager
|
|||
}.freeze
|
||||
|
||||
def public_collection?(uri)
|
||||
uri == COLLECTIONS[:public] || uri == 'as:Public' || uri == 'Public'
|
||||
uri == COLLECTIONS[:public] || %w(as:Public Public).include?(uri)
|
||||
end
|
||||
|
||||
def url_for(target)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AnnualReport::CommonlyInteractedWithAccounts < AnnualReport::Source
|
||||
MINIMUM_INTERACTIONS = 1
|
||||
SET_SIZE = 40
|
||||
|
||||
def generate
|
||||
|
@ -17,6 +18,10 @@ class AnnualReport::CommonlyInteractedWithAccounts < AnnualReport::Source
|
|||
private
|
||||
|
||||
def commonly_interacted_with_accounts
|
||||
report_statuses.where.not(in_reply_to_account_id: @account.id).group(:in_reply_to_account_id).having('count(*) > 1').order(count_all: :desc).limit(SET_SIZE).count
|
||||
report_statuses.where.not(in_reply_to_account_id: @account.id).group(:in_reply_to_account_id).having(minimum_interaction_count).order(count_all: :desc).limit(SET_SIZE).count
|
||||
end
|
||||
|
||||
def minimum_interaction_count
|
||||
Arel.star.count.gt(MINIMUM_INTERACTIONS)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AnnualReport::MostRebloggedAccounts < AnnualReport::Source
|
||||
MINIMUM_REBLOGS = 1
|
||||
SET_SIZE = 10
|
||||
|
||||
def generate
|
||||
|
@ -17,6 +18,10 @@ class AnnualReport::MostRebloggedAccounts < AnnualReport::Source
|
|||
private
|
||||
|
||||
def most_reblogged_accounts
|
||||
report_statuses.where.not(reblog_of_id: nil).joins(reblog: :account).group(accounts: [:id]).having('count(*) > 1').order(count_all: :desc).limit(SET_SIZE).count
|
||||
report_statuses.where.not(reblog_of_id: nil).joins(reblog: :account).group(accounts: [:id]).having(minimum_reblog_count).order(count_all: :desc).limit(SET_SIZE).count
|
||||
end
|
||||
|
||||
def minimum_reblog_count
|
||||
Arel.star.count.gt(MINIMUM_REBLOGS)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AnnualReport::TopHashtags < AnnualReport::Source
|
||||
MINIMUM_TAGGINGS = 1
|
||||
SET_SIZE = 40
|
||||
|
||||
def generate
|
||||
|
@ -17,7 +18,11 @@ class AnnualReport::TopHashtags < AnnualReport::Source
|
|||
private
|
||||
|
||||
def top_hashtags
|
||||
Tag.joins(:statuses).where(statuses: { id: report_statuses.select(:id) }).group(coalesced_tag_names).having('count(*) > 1').order(count_all: :desc).limit(SET_SIZE).count
|
||||
Tag.joins(:statuses).where(statuses: { id: report_statuses.select(:id) }).group(coalesced_tag_names).having(minimum_taggings_count).order(count_all: :desc).limit(SET_SIZE).count
|
||||
end
|
||||
|
||||
def minimum_taggings_count
|
||||
Arel.star.count.gt(MINIMUM_TAGGINGS)
|
||||
end
|
||||
|
||||
def coalesced_tag_names
|
||||
|
|
|
@ -3,14 +3,18 @@
|
|||
module ApplicationExtension
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
APP_NAME_LIMIT = 60
|
||||
APP_REDIRECT_URI_LIMIT = 2_000
|
||||
APP_WEBSITE_LIMIT = 2_000
|
||||
|
||||
included do
|
||||
include Redisable
|
||||
|
||||
has_many :created_users, class_name: 'User', foreign_key: 'created_by_application_id', inverse_of: :created_by_application
|
||||
|
||||
validates :name, length: { maximum: 60 }
|
||||
validates :website, url: true, length: { maximum: 2_000 }, if: :website?
|
||||
validates :redirect_uri, length: { maximum: 2_000 }
|
||||
validates :name, length: { maximum: APP_NAME_LIMIT }
|
||||
validates :redirect_uri, length: { maximum: APP_REDIRECT_URI_LIMIT }
|
||||
validates :website, url: true, length: { maximum: APP_WEBSITE_LIMIT }, if: :website?
|
||||
|
||||
# The relationship used between Applications and AccessTokens is using
|
||||
# dependent: delete_all, which means the ActiveRecord callback in
|
||||
|
|
|
@ -56,7 +56,7 @@ class AdminMailer < ApplicationMailer
|
|||
end
|
||||
|
||||
def new_software_updates
|
||||
@software_updates = SoftwareUpdate.all.to_a.sort_by(&:gem_version)
|
||||
@software_updates = SoftwareUpdate.by_version
|
||||
|
||||
locale_for_account(@me) do
|
||||
mail subject: default_i18n_subject(instance: @instance)
|
||||
|
@ -64,7 +64,7 @@ class AdminMailer < ApplicationMailer
|
|||
end
|
||||
|
||||
def new_critical_software_updates
|
||||
@software_updates = SoftwareUpdate.where(urgent: true).to_a.sort_by(&:gem_version)
|
||||
@software_updates = SoftwareUpdate.urgent.by_version
|
||||
|
||||
locale_for_account(@me) do
|
||||
mail subject: default_i18n_subject(instance: @instance)
|
||||
|
|
|
@ -114,7 +114,7 @@ class Account < ApplicationRecord
|
|||
validates_with UniqueUsernameValidator, if: -> { will_save_change_to_username? }
|
||||
|
||||
# Remote user validations, also applies to internal actors
|
||||
validates :username, format: { with: USERNAME_ONLY_RE }, if: -> { (!local? || actor_type == 'Application') && will_save_change_to_username? }
|
||||
validates :username, format: { with: USERNAME_ONLY_RE }, if: -> { (remote? || actor_type == 'Application') && will_save_change_to_username? }
|
||||
|
||||
# Remote user validations
|
||||
validates :uri, presence: true, unless: :local?, on: :create
|
||||
|
@ -125,6 +125,7 @@ class Account < ApplicationRecord
|
|||
validates :display_name, length: { maximum: DISPLAY_NAME_LENGTH_LIMIT }, if: -> { local? && will_save_change_to_display_name? }
|
||||
validates :note, note_length: { maximum: NOTE_LENGTH_LIMIT }, if: -> { local? && will_save_change_to_note? }
|
||||
validates :fields, length: { maximum: DEFAULT_FIELDS_SIZE }, if: -> { local? && will_save_change_to_fields? }
|
||||
validates_with EmptyProfileFieldNamesValidator, if: -> { local? && will_save_change_to_fields? }
|
||||
with_options on: :create do
|
||||
validates :uri, absence: true, if: :local?
|
||||
validates :inbox_url, absence: true, if: :local?
|
||||
|
@ -192,6 +193,10 @@ class Account < ApplicationRecord
|
|||
domain.nil?
|
||||
end
|
||||
|
||||
def remote?
|
||||
domain.present?
|
||||
end
|
||||
|
||||
def moved?
|
||||
moved_to_account_id.present?
|
||||
end
|
||||
|
@ -339,7 +344,7 @@ class Account < ApplicationRecord
|
|||
|
||||
if attributes.is_a?(Hash)
|
||||
attributes.each_value do |attr|
|
||||
next if attr[:name].blank?
|
||||
next if attr[:name].blank? && attr[:value].blank?
|
||||
|
||||
previous = old_fields.find { |item| item['value'] == attr[:value] }
|
||||
|
||||
|
|
|
@ -17,6 +17,6 @@ class AccountSummary < ApplicationRecord
|
|||
has_many :follow_recommendation_suppressions, primary_key: :account_id, foreign_key: :account_id, inverse_of: false, dependent: nil
|
||||
|
||||
scope :safe, -> { where(sensitive: false) }
|
||||
scope :localized, ->(locale) { order(Arel::Nodes::Case.new.when(arel_table[:language].eq(locale)).then(1).else(0).desc) }
|
||||
scope :localized, ->(locale) { in_order_of(:language, [locale], filter: false) }
|
||||
scope :filtered, -> { where.missing(:follow_recommendation_suppressions) }
|
||||
end
|
||||
|
|
|
@ -116,6 +116,10 @@ class Form::AdminSettings
|
|||
favicon
|
||||
).freeze
|
||||
|
||||
DIGEST_KEYS = %i(
|
||||
custom_css
|
||||
).freeze
|
||||
|
||||
OVERRIDEN_SETTINGS = {
|
||||
authorized_fetch: :authorized_fetch_mode?,
|
||||
}.freeze
|
||||
|
@ -176,6 +180,8 @@ class Form::AdminSettings
|
|||
KEYS.each do |key|
|
||||
next unless instance_variable_defined?(:"@#{key}")
|
||||
|
||||
cache_digest_value(key) if DIGEST_KEYS.include?(key)
|
||||
|
||||
if UPLOAD_KEYS.include?(key)
|
||||
public_send(key).save
|
||||
else
|
||||
|
@ -187,6 +193,18 @@ class Form::AdminSettings
|
|||
|
||||
private
|
||||
|
||||
def cache_digest_value(key)
|
||||
Rails.cache.delete(:"setting_digest_#{key}")
|
||||
|
||||
key_value = instance_variable_get(:"@#{key}")
|
||||
if key_value.present?
|
||||
Rails.cache.write(
|
||||
:"setting_digest_#{key}",
|
||||
Digest::SHA256.hexdigest(key_value)
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
def typecast_value(key, value)
|
||||
if BOOLEAN_KEYS.include?(key)
|
||||
value == '1'
|
||||
|
|
|
@ -20,6 +20,9 @@ class Invite < ApplicationRecord
|
|||
include Expireable
|
||||
|
||||
COMMENT_SIZE_LIMIT = 420
|
||||
ELIGIBLE_CODE_CHARACTERS = [*('a'..'z'), *('A'..'Z'), *('0'..'9')].freeze
|
||||
HOMOGLYPHS = %w(0 1 I l O).freeze
|
||||
VALID_CODE_CHARACTERS = ELIGIBLE_CODE_CHARACTERS - HOMOGLYPHS
|
||||
|
||||
belongs_to :user, inverse_of: :invites
|
||||
has_many :users, inverse_of: :invite, dependent: nil
|
||||
|
@ -38,7 +41,7 @@ class Invite < ApplicationRecord
|
|||
|
||||
def set_code
|
||||
loop do
|
||||
self.code = ([*('a'..'z'), *('A'..'Z'), *('0'..'9')] - %w(0 1 I l O)).sample(8).join
|
||||
self.code = VALID_CODE_CHARACTERS.sample(8).join
|
||||
break if Invite.find_by(code: code).nil?
|
||||
end
|
||||
end
|
||||
|
|
|
@ -20,7 +20,6 @@ class NotificationGroup < ActiveModelSerializers::Model
|
|||
group_keys = grouped_notifications.pluck(:group_key)
|
||||
|
||||
with_emoji_reaction = grouped_notifications.any? { |notification| notification.type == :emoji_reaction }
|
||||
notifications.any? { |notification| notification.type == :list_status }
|
||||
|
||||
groups_data = load_groups_data(notifications.first.account_id, group_keys, pagination_range: pagination_range)
|
||||
accounts_map = Account.where(id: groups_data.values.pluck(1).flatten).index_by(&:id)
|
||||
|
@ -74,6 +73,7 @@ class NotificationGroup < ActiveModelSerializers::Model
|
|||
return [] if activity_ids.empty?
|
||||
|
||||
EmojiReaction.where(id: activity_ids)
|
||||
.order(id: :desc)
|
||||
.each_with_object({}) { |e, h| h[e.name] = (h[e.name] || []).push(e) }
|
||||
.to_a
|
||||
.map { |pair| NotificationEmojiReactionGroup.new(emoji_reaction: pair[1].first, sample_accounts: pair[1].take(SAMPLE_ACCOUNTS_SIZE).map(&:account)) }
|
||||
|
|
|
@ -61,11 +61,7 @@ class Poll < ApplicationRecord
|
|||
votes.where(account: account).pluck(:choice)
|
||||
end
|
||||
|
||||
delegate :local?, to: :account
|
||||
|
||||
def remote?
|
||||
!local?
|
||||
end
|
||||
delegate :local?, :remote?, to: :account
|
||||
|
||||
def emojis
|
||||
@emojis ||= CustomEmoji.from_text(options.join(' '), account.domain)
|
||||
|
|
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