Merge pull request #285 from Rintan/features/material-theme

テーマのアップデート/追加
This commit is contained in:
YoheiZuho 2020-05-17 16:40:04 +09:00 committed by GitHub
commit 48c174377f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
608 changed files with 22273 additions and 7800 deletions

View File

@ -5,12 +5,13 @@ aliases:
docker:
- image: circleci/ruby:2.7-buster-node
environment: &ruby_environment
BUNDLE_JOBS: 3
BUNDLE_RETRY: 3
BUNDLE_APP_CONFIG: ./.bundle/
BUNDLE_PATH: ./vendor/bundle/
DB_HOST: localhost
DB_USER: root
RAILS_ENV: test
PARALLEL_TEST_PROCESSORS: 4
ALLOW_NOPAM: true
CONTINUOUS_INTEGRATION: true
DISABLE_SIMPLECOV: true
@ -32,9 +33,9 @@ aliases:
- &restore_ruby_dependencies
restore_cache:
keys:
- v2-ruby-dependencies-{{ checksum "/tmp/.ruby-version" }}-{{ checksum "Gemfile.lock" }}
- v2-ruby-dependencies-{{ checksum "/tmp/.ruby-version" }}-
- v2-ruby-dependencies-
- v3-ruby-dependencies-{{ checksum "/tmp/.ruby-version" }}-{{ checksum "Gemfile.lock" }}
- v3-ruby-dependencies-{{ checksum "/tmp/.ruby-version" }}-
- v3-ruby-dependencies-
- &install_steps
steps:
@ -42,11 +43,13 @@ aliases:
- *attach_workspace
- restore_cache:
keys:
- v1-node-dependencies-{{ checksum "yarn.lock" }}
- v1-node-dependencies-
- run: yarn install --frozen-lockfile
- v2-node-dependencies-{{ checksum "yarn.lock" }}
- v2-node-dependencies-
- run:
name: Install yarn dependencies
command: yarn install --frozen-lockfile
- save_cache:
key: v1-node-dependencies-{{ checksum "yarn.lock" }}
key: v2-node-dependencies-{{ checksum "yarn.lock" }}
paths:
- ./node_modules/
- *persist_to_workspace
@ -57,27 +60,28 @@ aliases:
command: |
sudo apt-get update
sudo apt-get install -y libicu-dev libidn11-dev libprotobuf-dev protobuf-compiler
## TODO: FIX THESE BUSTER DEPENDANCES
sudo wget http://ftp.au.debian.org/debian/pool/main/i/icu/libicu57_57.1-6+deb9u3_amd64.deb
sudo dpkg -i libicu57_57.1-6+deb9u3_amd64.deb
sudo wget http://ftp.au.debian.org/debian/pool/main/p/protobuf/libprotobuf10_3.0.0-9_amd64.deb
sudo dpkg -i libprotobuf10_3.0.0-9_amd64.deb
- &install_ruby_dependencies
steps:
- *attach_workspace
- *install_system_dependencies
- run: ruby -e 'puts RUBY_VERSION' | tee /tmp/.ruby-version
- run:
name: Set Ruby version
command: ruby -e 'puts RUBY_VERSION' | tee /tmp/.ruby-version
- *restore_ruby_dependencies
- run: bundle config set clean 'true'
- run: bundle config set deployment 'true'
- run: bundle config set with 'pam_authentication'
- run: bundle config set without 'development production'
- run: bundle config set frozen 'true'
- run: bundle install --jobs 16 --retry 3 && bundle clean
- run:
name: Set bundler settings
command: |
bundle config clean 'true'
bundle config deployment 'true'
bundle config with 'pam_authentication'
bundle config without 'development production'
bundle config frozen 'true'
- run:
name: Install bundler dependencies
command: bundle check || (bundle install && bundle clean)
- save_cache:
key: v2-ruby-dependencies-{{ checksum "/tmp/.ruby-version" }}-{{ checksum "Gemfile.lock" }}
key: v3-ruby-dependencies-{{ checksum "/tmp/.ruby-version" }}-{{ checksum "Gemfile.lock" }}
paths:
- ./.bundle/
- ./vendor/bundle/
@ -88,17 +92,26 @@ aliases:
- ./mastodon/vendor/bundle/
- &test_steps
parallelism: 4
steps:
- *attach_workspace
- *install_system_dependencies
- run: sudo apt-get install -y ffmpeg
- run:
name: Prepare Tests
command: ./bin/rails parallel:create parallel:load_schema parallel:prepare
name: Install FFMPEG
command: sudo apt-get install -y ffmpeg
- run:
name: Run Tests
command: ./bin/retry bundle exec parallel_test ./spec/ --group-by filesize --type rspec
name: Load database schema
command: ./bin/rails db:create db:schema:load db:seed
- run:
name: Run rspec in parallel
command: |
bundle exec rspec --profile 10 \
--format RspecJunitFormatter \
--out test_results/rspec.xml \
--format progress \
$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)
- store_test_results:
path: test_results
jobs:
install:
<<: *defaults
@ -115,19 +128,14 @@ jobs:
environment: *ruby_environment
<<: *install_ruby_dependencies
install-ruby2.5:
<<: *defaults
docker:
- image: circleci/ruby:2.5-buster-node
environment: *ruby_environment
<<: *install_ruby_dependencies
build:
<<: *defaults
steps:
- *attach_workspace
- *install_system_dependencies
- run: ./bin/rails assets:precompile
- run:
name: Precompile assets
command: ./bin/rails assets:precompile
- persist_to_workspace:
root: ~/projects/
paths:
@ -149,10 +157,10 @@ jobs:
- *install_system_dependencies
- run:
name: Create database
command: ./bin/rails parallel:create
command: ./bin/rails db:create
- run:
name: Run migrations
command: ./bin/rails parallel:migrate
command: ./bin/rails db:migrate
test-ruby2.7:
<<: *defaults
@ -178,35 +186,33 @@ jobs:
- image: circleci/redis:5-alpine
<<: *test_steps
test-ruby2.5:
<<: *defaults
docker:
- image: circleci/ruby:2.5-buster-node
environment: *ruby_environment
- image: circleci/postgres:12.2
environment:
POSTGRES_USER: root
POSTGRES_HOST_AUTH_METHOD: trust
- image: circleci/redis:5-alpine
<<: *test_steps
test-webui:
<<: *defaults
docker:
- image: circleci/node:12-buster
steps:
- *attach_workspace
- run: ./bin/retry yarn test:jest
- run:
name: Run jest
command: yarn test:jest
check-i18n:
<<: *defaults
steps:
- *attach_workspace
- *install_system_dependencies
- run: bundle exec i18n-tasks check-normalized
- run: bundle exec i18n-tasks unused -l en
- run: bundle exec i18n-tasks check-consistent-interpolations
- run: bundle exec rake repo:check_locales_files
- run:
name: Check locale file normalization
command: bundle exec i18n-tasks check-normalized
- run:
name: Check for unused strings
command: bundle exec i18n-tasks unused -l en
- run:
name: Check for wrong string interpolations
command: bundle exec i18n-tasks check-consistent-interpolations
- run:
name: Check that all required locale files exist
command: bundle exec rake repo:check_locales_files
workflows:
version: 2
@ -220,10 +226,6 @@ workflows:
requires:
- install
- install-ruby2.7
- install-ruby2.5:
requires:
- install
- install-ruby2.7
- build:
requires:
- install-ruby2.7
@ -238,10 +240,6 @@ workflows:
requires:
- install-ruby2.6
- build
- test-ruby2.5:
requires:
- install-ruby2.5
- build
- test-webui:
requires:
- install

View File

@ -30,7 +30,7 @@ plugins:
channel: eslint-6
rubocop:
enabled: true
channel: rubocop-0-76
channel: rubocop-0-82
sass-lint:
enabled: true
exclude_patterns:

View File

@ -33,7 +33,7 @@ LOCAL_DOMAIN=example.com
# ALTERNATE_DOMAINS=example1.com,example2.com
# Application secrets
# Generate each with the `RAILS_ENV=production bundle exec rake secret` task (`docker-compose run --rm web rake secret` if you use docker compose)
# Generate each with the `RAILS_ENV=production bundle exec rake secret` task (`docker-compose run --rm web bundle exec rake secret` if you use docker compose)
SECRET_KEY_BASE=
OTP_SECRET=
@ -42,7 +42,7 @@ OTP_SECRET=
# You should only generate this once per instance. If you later decide to change it, all push subscription will
# be invalidated, requiring the users to access the website again to resubscribe.
#
# Generate with `RAILS_ENV=production bundle exec rake mastodon:webpush:generate_vapid_key` task (`docker-compose run --rm web rake mastodon:webpush:generate_vapid_key` if you use docker compose)
# Generate with `RAILS_ENV=production bundle exec rake mastodon:webpush:generate_vapid_key` task (`docker-compose run --rm web bundle exec rake mastodon:webpush:generate_vapid_key` if you use docker compose)
#
# For more information visit https://rossta.net/blog/using-the-web-push-api-with-vapid.html
VAPID_PRIVATE_KEY=

View File

@ -2,7 +2,7 @@ require:
- rubocop-rails
AllCops:
TargetRubyVersion: 2.3
TargetRubyVersion: 2.4
Exclude:
- 'spec/**/*'
- 'db/**/*'
@ -46,7 +46,7 @@ Metrics/ClassLength:
Metrics/CyclomaticComplexity:
Max: 25
Metrics/LineLength:
Layout/LineLength:
AllowURI: true
Enabled: false

View File

@ -3,6 +3,73 @@ Changelog
All notable changes to this project will be documented in this file.
## [v3.1.4] - 2020-05-14
### Added
- Add `vi` to available locales ([taicv](https://github.com/tootsuite/mastodon/pull/13542))
- Add ability to remove identity proofs from account ([Gargron](https://github.com/tootsuite/mastodon/pull/13682))
- Add ability to exclude local content from federated timeline ([noellabo](https://github.com/tootsuite/mastodon/pull/13504), [noellabo](https://github.com/tootsuite/mastodon/pull/13745))
- Add `remote` param to `GET /api/v1/timelines/public` REST API
- Add `public/remote` / `public:remote` variants to streaming API
- "Remote only" option in federated timeline column settings in web UI
- Add ability to exclude remote content from hashtag timelines in web UI ([noellabo](https://github.com/tootsuite/mastodon/pull/13502))
- No changes to REST API
- "Local only" option in hashtag column settings in web UI
- Add Capistrano tasks that reload the services after deploying ([berkes](https://github.com/tootsuite/mastodon/pull/12642))
- Add `invites_enabled` attribute to `GET /api/v1/instance` in REST API ([ThibG](https://github.com/tootsuite/mastodon/pull/13501))
- Add `tootctl emoji export` command ([lfuelling](https://github.com/tootsuite/mastodon/pull/13534))
- Add separate cache directory for non-local uploads ([Gargron](https://github.com/tootsuite/mastodon/pull/12821), [Hanage999](https://github.com/tootsuite/mastodon/pull/13593), [mayaeh](https://github.com/tootsuite/mastodon/pull/13551))
- Add `tootctl upgrade storage-schema` command to move old non-local uploads to the cache directory
- Add buttons to delete header and avatar from profile settings ([sternenseemann](https://github.com/tootsuite/mastodon/pull/13234))
- Add emoji graphics and shortcodes from Twemoji 12.1.5 ([DeeUnderscore](https://github.com/tootsuite/mastodon/pull/13021))
### Changed
- Change error message when trying to migrate to an account that does not have current account set as an alias to be more clear ([TheEvilSkeleton](https://github.com/tootsuite/mastodon/pull/13746))
- Change delivery failure tracking to work with hostnames instead of URLs ([Gargron](https://github.com/tootsuite/mastodon/pull/13437), [noellabo](https://github.com/tootsuite/mastodon/pull/13481), [noellabo](https://github.com/tootsuite/mastodon/pull/13482), [noellabo](https://github.com/tootsuite/mastodon/pull/13535))
- Change Content-Security-Policy to not need unsafe-inline style-src ([ThibG](https://github.com/tootsuite/mastodon/pull/13679), [ThibG](https://github.com/tootsuite/mastodon/pull/13692), [ThibG](https://github.com/tootsuite/mastodon/pull/13576), [ThibG](https://github.com/tootsuite/mastodon/pull/13575), [ThibG](https://github.com/tootsuite/mastodon/pull/13438))
- Change how RSS items are titled and formatted ([ThibG](https://github.com/tootsuite/mastodon/pull/13592), [ykzts](https://github.com/tootsuite/mastodon/pull/13591))
### Fixed
- Fix dropdown of muted and followed accounts offering option to hide boosts in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/13748))
- Fix "You are already signed in" alert being shown at wrong times ([ThibG](https://github.com/tootsuite/mastodon/pull/13547))
- Fix retrying of failed-to-download media files not actually working ([noellabo](https://github.com/tootsuite/mastodon/pull/13741))
- Fix first poll option not being focused when adding a poll in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/13740))
- Fix `sr` locale being selected over `sr-Latn` ([ThibG](https://github.com/tootsuite/mastodon/pull/13693))
- Fix error within error when limiting backtrace to 3 lines ([Gargron](https://github.com/tootsuite/mastodon/pull/13120))
- Fix `tootctl media remove-orphans` crashing on "Import" files ([ThibG](https://github.com/tootsuite/mastodon/pull/13685))
- Fix regression in `tootctl media remove-orphans` ([Gargron](https://github.com/tootsuite/mastodon/pull/13405))
- Fix old unique jobs digests not having been cleaned up ([Gargron](https://github.com/tootsuite/mastodon/pull/13683))
- Fix own following/followers not showing muted users ([ThibG](https://github.com/tootsuite/mastodon/pull/13614))
- Fix list of followed people ignoring sorting on Follows & Followers page ([taras2358](https://github.com/tootsuite/mastodon/pull/13676))
- Fix wrong pgHero Content-Security-Policy when `CDN_HOST` is set ([ThibG](https://github.com/tootsuite/mastodon/pull/13595))
- Fix needlessly deduplicating usernames on collisions with remote accounts when signing-up through SAML/CAS ([kaiyou](https://github.com/tootsuite/mastodon/pull/13581))
- Fix page incorrectly scrolling when bringing up dropdown menus in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/13574))
- Fix messed up z-index when NoScript blocks media/previews in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/13449))
- Fix "See what's happening" page showing public instead of local timeline for logged-in users ([ThibG](https://github.com/tootsuite/mastodon/pull/13499))
- Fix not being able to resolve public resources in development environment ([Gargron](https://github.com/tootsuite/mastodon/pull/13505))
- Fix uninformative error message when uploading unsupported image files ([ThibG](https://github.com/tootsuite/mastodon/pull/13540))
- Fix expanded video player issues in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/13541), [eai04191](https://github.com/tootsuite/mastodon/pull/13533))
- Fix and refactor keyboard navigation in dropdown menus in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/13528))
- Fix uploaded image orientation being messed up in some browsers in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/13493))
- Fix actions log crash when displaying updates of deleted announcements in admin UI ([ThibG](https://github.com/tootsuite/mastodon/pull/13489))
- Fix search not working due to proxy settings when using hidden services ([Gargron](https://github.com/tootsuite/mastodon/pull/13488))
- Fix poll refresh button not being debounced in web UI ([rasjonell](https://github.com/tootsuite/mastodon/pull/13485), [ThibG](https://github.com/tootsuite/mastodon/pull/13490))
- Fix confusing error when failing to add an alias to an unknown account ([ThibG](https://github.com/tootsuite/mastodon/pull/13480))
- Fix "Email changed" notification sometimes having wrong e-mail ([ThibG](https://github.com/tootsuite/mastodon/pull/13475))
- Fix varioues issues on the account aliases page ([ThibG](https://github.com/tootsuite/mastodon/pull/13452))
- Fix API footer link in web UI ([bubblineyuri](https://github.com/tootsuite/mastodon/pull/13441))
- Fix pagination of following, followers, follow requests, blocks and mutes lists in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/13445))
- Fix styling of polls in JS-less fallback on public pages ([ThibG](https://github.com/tootsuite/mastodon/pull/13436))
- Fix trying to delete already deleted file when post-processing ([Gargron](https://github.com/tootsuite/mastodon/pull/13406))
### Security
- Fix Doorkeeper vulnerability that exposed app secret to users who authorized the app and reset secret of the web UI that could have been exposed ([dependabot-preview[bot]](https://github.com/tootsuite/mastodon/pull/13613), [Gargron](https://github.com/tootsuite/mastodon/pull/13688))
- For apps that self-register on behalf of every individual user (such as most mobile apps), this is a non-issue
- The issue only affects developers of apps who are shared between multiple users, such as server-side apps like cross-posters
## [v3.1.3] - 2020-04-05
### Added

25
Gemfile
View File

@ -20,7 +20,7 @@ gem 'makara', '~> 0.4'
gem 'pghero', '~> 2.4'
gem 'dotenv-rails', '~> 2.7'
gem 'aws-sdk-s3', '~> 1.61', require: false
gem 'aws-sdk-s3', '~> 1.64', require: false
gem 'fog-core', '<= 2.1.0'
gem 'fog-openstack', '~> 0.3', require: false
gem 'paperclip', '~> 6.0'
@ -49,7 +49,7 @@ gem 'omniauth-saml', '~> 1.10'
gem 'omniauth', '~> 1.9'
gem 'discard', '~> 1.2'
gem 'doorkeeper', '~> 5.3'
gem 'doorkeeper', '~> 5.4'
gem 'fast_blank', '~> 1.0'
gem 'fastimage'
gem 'goldfinger', '~> 2.1'
@ -57,12 +57,12 @@ gem 'hiredis', '~> 0.6'
gem 'redis-namespace', '~> 1.7'
gem 'health_check', git: 'https://github.com/ianheggie/health_check', ref: '0b799ead604f900ed50685e9b2d469cd2befba5b'
gem 'htmlentities', '~> 4.3'
gem 'http', '~> 4.3'
gem 'http', '~> 4.4'
gem 'http_accept_language', '~> 2.1'
gem 'http_parser.rb', '~> 0.6', git: 'https://github.com/tmm1/http_parser.rb', ref: '54b17ba8c7d8d20a16dfc65d1775241833219cf2', submodules: true
gem 'httplog', '~> 1.4.2'
gem 'idn-ruby', require: 'idn'
gem 'kaminari', '~> 1.1'
gem 'kaminari', '~> 1.2'
gem 'link_header', '~> 0.0'
gem 'mime-types', '~> 3.3.1', require: 'mime/types/columnar'
gem 'nilsimsa', git: 'https://github.com/witgo/nilsimsa', ref: 'fd184883048b922b176939f851338d0a4971a532'
@ -75,7 +75,7 @@ gem 'parallel', '~> 1.19'
gem 'posix-spawn', git: 'https://github.com/rtomayko/posix-spawn', ref: '58465d2e213991f8afb13b984854a49fcdcc980c'
gem 'pundit', '~> 2.1'
gem 'premailer-rails'
gem 'rack-attack', '~> 6.2'
gem 'rack-attack', '~> 6.3'
gem 'rack-cors', '~> 1.1', require: 'rack/cors'
gem 'rails-i18n', '~> 5.1'
gem 'rails-settings-cached', '~> 0.6'
@ -96,8 +96,8 @@ gem 'strong_migrations', '~> 0.6'
gem 'tty-command', '~> 0.9', require: false
gem 'tty-prompt', '~> 0.21', require: false
gem 'twitter-text', '~> 1.14'
gem 'tzinfo-data', '~> 1.2019'
gem 'webpacker', '~> 4.2'
gem 'tzinfo-data', '~> 1.2020'
gem 'webpacker', '~> 5.1'
gem 'webpush'
gem 'json-ld'
@ -110,7 +110,7 @@ group :development, :test do
gem 'fabrication', '~> 2.21'
gem 'fuubar', '~> 2.5'
gem 'i18n-tasks', '~> 0.9', require: false
gem 'pry-byebug', '~> 3.8'
gem 'pry-byebug', '~> 3.9'
gem 'pry-rails', '~> 0.3'
gem 'rspec-rails', '~> 4.0'
end
@ -120,7 +120,7 @@ group :production, :test do
end
group :test do
gem 'capybara', '~> 3.31'
gem 'capybara', '~> 3.32'
gem 'climate_control', '~> 0.2'
gem 'faker', '~> 2.11'
gem 'microformats', '~> 4.2'
@ -129,23 +129,24 @@ group :test do
gem 'simplecov', '~> 0.18', require: false
gem 'webmock', '~> 3.8'
gem 'parallel_tests', '~> 2.32'
gem 'rspec_junit_formatter', '~> 0.4'
end
group :development do
gem 'active_record_query_trace', '~> 1.7'
gem 'annotate', '~> 3.1'
gem 'better_errors', '~> 2.6'
gem 'better_errors', '~> 2.7'
gem 'binding_of_caller', '~> 0.7'
gem 'bullet', '~> 6.1'
gem 'letter_opener', '~> 1.7'
gem 'letter_opener_web', '~> 1.4'
gem 'memory_profiler'
gem 'rubocop', '~> 0.79', require: false
gem 'rubocop', '~> 0.82', require: false
gem 'rubocop-rails', '~> 2.5', require: false
gem 'brakeman', '~> 4.8', require: false
gem 'bundler-audit', '~> 0.6', require: false
gem 'capistrano', '~> 3.13'
gem 'capistrano', '~> 3.14'
gem 'capistrano-rails', '~> 1.4'
gem 'capistrano-rbenv', '~> 2.1'
gem 'capistrano-yarn', '~> 2.0'

View File

@ -92,23 +92,23 @@ GEM
av (0.9.0)
cocaine (~> 0.5.3)
aws-eventstream (1.1.0)
aws-partitions (1.296.0)
aws-sdk-core (3.94.0)
aws-partitions (1.312.0)
aws-sdk-core (3.95.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
aws-sdk-kms (1.30.0)
aws-sdk-kms (1.31.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.61.2)
aws-sdk-s3 (1.64.0)
aws-sdk-core (~> 3, >= 3.83.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.1.2)
aws-sigv4 (1.1.3)
aws-eventstream (~> 1.0, >= 1.0.2)
bcrypt (3.1.13)
better_errors (2.6.0)
better_errors (2.7.0)
coderay (>= 1.0.0)
erubi (>= 1.0.0)
rack (>= 0.9.0)
@ -118,8 +118,8 @@ GEM
ffi (~> 1.10.0)
bootsnap (1.4.6)
msgpack (~> 1.0)
brakeman (4.8.0)
browser (4.0.0)
brakeman (4.8.1)
browser (4.1.0)
builder (3.2.4)
bullet (6.1.0)
activesupport (>= 3.0.0)
@ -127,8 +127,8 @@ GEM
bundler-audit (0.6.1)
bundler (>= 1.2.0, < 3)
thor (~> 0.18)
byebug (11.1.1)
capistrano (3.13.0)
byebug (11.1.3)
capistrano (3.14.0)
airbrussh (>= 1.0.0)
i18n
rake (>= 10.0.0)
@ -143,7 +143,7 @@ GEM
sshkit (~> 1.3)
capistrano-yarn (2.0.2)
capistrano (~> 3.0)
capybara (3.31.0)
capybara (3.32.1)
addressable
mini_mime (>= 0.1.3)
nokogiri (~> 1.8)
@ -194,7 +194,7 @@ GEM
docile (1.3.2)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
doorkeeper (5.3.1)
doorkeeper (5.4.0)
railties (>= 5)
dotenv (2.7.5)
dotenv-rails (2.7.5)
@ -213,7 +213,7 @@ GEM
encryptor (3.0.0)
equatable (0.6.1)
erubi (1.9.0)
et-orbi (1.2.3)
et-orbi (1.2.4)
tzinfo
excon (0.73.0)
fabrication (2.21.1)
@ -240,7 +240,7 @@ GEM
fog-json (>= 1.0)
ipaddress (>= 0.8)
formatador (0.2.5)
fugit (1.3.3)
fugit (1.3.5)
et-orbi (~> 1.1, >= 1.1.8)
raabro (~> 1.1)
fuubar (2.5.0)
@ -270,14 +270,14 @@ GEM
hiredis (0.6.3)
hkdf (0.3.0)
htmlentities (4.3.4)
http (4.3.0)
http (4.4.1)
addressable (~> 2.3)
http-cookie (~> 1.0)
http-form_data (~> 2.2)
http-parser (~> 1.2.0)
http-cookie (1.0.3)
domain_name (~> 0.5)
http-form_data (2.2.0)
http-form_data (2.3.0)
http-parser (1.2.1)
ffi-compiler (>= 1.0, < 2.0)
http_accept_language (2.1.1)
@ -303,7 +303,7 @@ GEM
jmespath (1.4.0)
json (2.3.0)
json-canonicalization (0.2.0)
json-ld (3.1.2)
json-ld (3.1.4)
htmlentities (~> 4.3)
json-canonicalization (~> 0.2)
link_header (~> 0.0, >= 0.0.8)
@ -314,21 +314,21 @@ GEM
json-ld (~> 3.1)
rdf (~> 3.1)
jsonapi-renderer (0.2.2)
jwt (2.1.0)
kaminari (1.1.1)
jwt (2.2.1)
kaminari (1.2.0)
activesupport (>= 4.1.0)
kaminari-actionview (= 1.1.1)
kaminari-activerecord (= 1.1.1)
kaminari-core (= 1.1.1)
kaminari-actionview (1.1.1)
kaminari-actionview (= 1.2.0)
kaminari-activerecord (= 1.2.0)
kaminari-core (= 1.2.0)
kaminari-actionview (1.2.0)
actionview
kaminari-core (= 1.1.1)
kaminari-activerecord (1.1.1)
kaminari-core (= 1.2.0)
kaminari-activerecord (1.2.0)
activerecord
kaminari-core (= 1.1.1)
kaminari-core (1.1.1)
launchy (2.4.3)
addressable (~> 2.3)
kaminari-core (= 1.2.0)
kaminari-core (1.2.0)
launchy (2.5.0)
addressable (~> 2.7)
letter_opener (1.7.0)
launchy (~> 2.2)
letter_opener_web (1.4.0)
@ -353,14 +353,14 @@ GEM
mario-redis-lock (1.2.1)
redis (>= 3.0.5)
memory_profiler (0.9.14)
method_source (0.9.2)
method_source (1.0.0)
microformats (4.2.0)
json (~> 2.2)
nokogiri (~> 1.10)
mime-types (3.3.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2019.1009)
mimemagic (0.3.4)
mime-types-data (3.2020.0425)
mimemagic (0.3.5)
mini_mime (1.0.2)
mini_portile2 (2.4.0)
minitest (5.14.0)
@ -369,9 +369,9 @@ GEM
multipart-post (2.1.1)
necromancer (0.5.1)
net-ldap (0.16.2)
net-scp (2.0.0)
net-ssh (>= 2.6.5, < 6.0.0)
net-ssh (5.2.0)
net-scp (3.0.0)
net-ssh (>= 2.6.5, < 7.0.0)
net-ssh (6.0.2)
nio4r (2.5.2)
nokogiri (1.10.9)
mini_portile2 (~> 2.4.0)
@ -382,7 +382,7 @@ GEM
concurrent-ruby (~> 1.0, >= 1.0.2)
sidekiq (>= 3.5)
statsd-ruby (~> 1.4, >= 1.4.0)
oj (3.10.5)
oj (3.10.6)
omniauth (1.9.1)
hashie (>= 3.4.6)
rack (>= 1.6.2, < 3)
@ -407,40 +407,40 @@ GEM
parallel (1.19.1)
parallel_tests (2.32.0)
parallel
parser (2.7.1.1)
parser (2.7.1.2)
ast (~> 2.4.0)
parslet (1.8.2)
pastel (0.7.3)
parslet (2.0.0)
pastel (0.7.4)
equatable (~> 0.6)
tty-color (~> 0.5)
pg (1.2.3)
pghero (2.4.1)
pghero (2.4.2)
activerecord (>= 5)
pkg-config (1.4.1)
premailer (1.11.1)
addressable
css_parser (>= 1.6.0)
htmlentities (>= 4.0.0)
premailer-rails (1.10.3)
premailer-rails (1.11.1)
actionmailer (>= 3)
premailer (~> 1.7, >= 1.7.9)
private_address_check (0.5.0)
pry (0.12.2)
coderay (~> 1.1.0)
method_source (~> 0.9.0)
pry-byebug (3.8.0)
pry (0.13.1)
coderay (~> 1.1)
method_source (~> 1.0)
pry-byebug (3.9.0)
byebug (~> 11.0)
pry (~> 0.10)
pry (~> 0.13.0)
pry-rails (0.3.9)
pry (>= 0.10.4)
public_suffix (4.0.4)
public_suffix (4.0.5)
puma (4.3.3)
nio4r (~> 2.0)
pundit (2.1.0)
activesupport (>= 3.0.0)
raabro (1.1.6)
raabro (1.3.1)
rack (2.2.2)
rack-attack (6.2.2)
rack-attack (6.3.0)
rack (>= 1.0, < 3)
rack-cors (1.1.1)
rack (>= 2.0.0)
@ -491,13 +491,13 @@ GEM
rdf-normalize (0.4.0)
rdf (~> 3.1)
redcarpet (3.4.0)
redis (4.1.3)
redis (4.1.4)
redis-actionpack (5.2.0)
actionpack (>= 5, < 7)
redis-rack (>= 2.1.0, < 3)
redis-store (>= 1.1.0, < 2)
redis-activesupport (5.0.4)
activesupport (>= 3, < 6)
redis-activesupport (5.2.0)
activesupport (>= 3, < 7)
redis-store (>= 1.3, < 2)
redis-namespace (1.7.0)
redis (>= 3.0.4)
@ -516,15 +516,16 @@ GEM
responders (3.0.0)
actionpack (>= 5.0)
railties (>= 5.0)
rexml (3.2.4)
rotp (2.1.2)
rpam2 (4.0.2)
rqrcode (1.1.2)
chunky_png (~> 1.0)
rqrcode_core (~> 0.1)
rqrcode_core (0.1.2)
rspec-core (3.9.1)
rspec-support (~> 3.9.1)
rspec-expectations (3.9.1)
rspec-core (3.9.2)
rspec-support (~> 3.9.3)
rspec-expectations (3.9.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0)
rspec-mocks (3.9.1)
@ -541,20 +542,23 @@ GEM
rspec-sidekiq (3.0.3)
rspec-core (~> 3.0, >= 3.0.0)
sidekiq (>= 2.4.0)
rspec-support (3.9.2)
rubocop (0.79.0)
rspec-support (3.9.3)
rspec_junit_formatter (0.4.1)
rspec-core (>= 2, < 4, != 2.12.0)
rubocop (0.82.0)
jaro_winkler (~> 1.5.1)
parallel (~> 1.10)
parser (>= 2.7.0.1)
rainbow (>= 2.2.2, < 4.0)
rexml
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 1.7)
unicode-display_width (>= 1.4.0, < 2.0)
rubocop-rails (2.5.2)
activesupport
rack (>= 1.1)
rubocop (>= 0.72.0)
ruby-progressbar (1.10.1)
ruby-saml (1.9.0)
ruby-saml (1.11.0)
nokogiri (>= 1.5.10)
rufus-scheduler (3.6.0)
fugit (~> 1.1, >= 1.1.6)
@ -563,9 +567,10 @@ GEM
crass (~> 1.0.2)
nokogiri (>= 1.8.0)
nokogumbo (~> 2.0)
sidekiq (6.0.4)
semantic_range (2.3.0)
sidekiq (6.0.7)
connection_pool (>= 2.2.2)
rack (>= 2.0.0)
rack (~> 2.0)
rack-protection (>= 2.0.0)
redis (>= 4.1.0)
sidekiq-bulk (0.2.0)
@ -605,7 +610,7 @@ GEM
stoplight (2.2.0)
streamio-ffmpeg (3.0.2)
multi_json (~> 1.8)
strong_migrations (0.6.2)
strong_migrations (0.6.6)
activerecord (>= 5)
temple (0.8.2)
terminal-table (1.8.0)
@ -633,12 +638,12 @@ GEM
unf (~> 0.1.0)
tzinfo (1.2.7)
thread_safe (~> 0.1)
tzinfo-data (1.2019.3)
tzinfo-data (1.2020.1)
tzinfo (>= 1.0.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.6)
unicode-display_width (1.6.1)
unf_ext (0.0.7.7)
unicode-display_width (1.7.0)
uniform_notifier (1.13.0)
warden (1.2.8)
rack (>= 2.0.6)
@ -646,10 +651,11 @@ GEM
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
webpacker (4.2.2)
activesupport (>= 4.2)
webpacker (5.1.1)
activesupport (>= 5.2)
rack-proxy (>= 0.6.1)
railties (>= 4.2)
railties (>= 5.2)
semantic_range (>= 2.3.0)
webpush (0.3.8)
hkdf (~> 0.2)
jwt (~> 2.0)
@ -668,8 +674,8 @@ DEPENDENCIES
active_record_query_trace (~> 1.7)
addressable (~> 2.7)
annotate (~> 3.1)
aws-sdk-s3 (~> 1.61)
better_errors (~> 2.6)
aws-sdk-s3 (~> 1.64)
better_errors (~> 2.7)
binding_of_caller (~> 0.7)
blurhash (~> 0.1)
bootsnap (~> 1.4)
@ -677,11 +683,11 @@ DEPENDENCIES
browser
bullet (~> 6.1)
bundler-audit (~> 0.6)
capistrano (~> 3.13)
capistrano (~> 3.14)
capistrano-rails (~> 1.4)
capistrano-rbenv (~> 2.1)
capistrano-yarn (~> 2.0)
capybara (~> 3.31)
capybara (~> 3.32)
charlock_holmes (~> 0.7.7)
chewy (~> 5.1)
cld3 (~> 3.3.0)
@ -692,7 +698,7 @@ DEPENDENCIES
devise-two-factor (~> 3.1)
devise_pam_authenticatable2 (~> 9.2)
discard (~> 1.2)
doorkeeper (~> 5.3)
doorkeeper (~> 5.4)
dotenv-rails (~> 2.7)
e2mmap (~> 0.1.0)
fabrication (~> 2.21)
@ -707,7 +713,7 @@ DEPENDENCIES
health_check!
hiredis (~> 0.6)
htmlentities (~> 4.3)
http (~> 4.3)
http (~> 4.4)
http_accept_language (~> 2.1)
http_parser.rb (~> 0.6)!
httplog (~> 1.4.2)
@ -716,7 +722,7 @@ DEPENDENCIES
iso-639
json-ld
json-ld-preloaded (~> 3.1)
kaminari (~> 1.1)
kaminari (~> 1.2)
letter_opener (~> 1.7)
letter_opener_web (~> 1.4)
link_header (~> 0.0)
@ -746,12 +752,12 @@ DEPENDENCIES
posix-spawn!
premailer-rails
private_address_check (~> 0.5)
pry-byebug (~> 3.8)
pry-byebug (~> 3.9)
pry-rails (~> 0.3)
puma (~> 4.3)
pundit (~> 2.1)
rack (~> 2.2.2)
rack-attack (~> 6.2)
rack-attack (~> 6.3)
rack-cors (~> 1.1)
rails (~> 5.2.4.2)
rails-controller-testing (~> 1.0)
@ -765,7 +771,8 @@ DEPENDENCIES
rqrcode (~> 1.1)
rspec-rails (~> 4.0)
rspec-sidekiq (~> 3.0)
rubocop (~> 0.79)
rspec_junit_formatter (~> 0.4)
rubocop (~> 0.82)
rubocop-rails (~> 2.5)
ruby-progressbar (~> 1.10)
sanitize (~> 5.1)
@ -787,7 +794,7 @@ DEPENDENCIES
tty-command (~> 0.9)
tty-prompt (~> 0.21)
twitter-text (~> 1.14)
tzinfo-data (~> 1.2019)
tzinfo-data (~> 1.2020)
webmock (~> 3.8)
webpacker (~> 4.2)
webpacker (~> 5.1)
webpush

View File

@ -27,7 +27,7 @@ class AccountsController < ApplicationController
end
@pinned_statuses = cache_collection(@account.pinned_statuses, Status) if show_pinned_statuses?
@statuses = filtered_status_page(params)
@statuses = filtered_status_page
@statuses = cache_collection(@statuses, Status)
@rss_url = rss_url
@ -40,7 +40,7 @@ class AccountsController < ApplicationController
format.rss do
expires_in 1.minute, public: true
@statuses = filtered_statuses.without_reblogs.without_replies.limit(PAGE_SIZE)
@statuses = filtered_statuses.without_reblogs.limit(PAGE_SIZE)
@statuses = cache_collection(@statuses, Status)
render xml: RSS::AccountSerializer.render(@account, @statuses, params[:tag])
end
@ -129,23 +129,23 @@ class AccountsController < ApplicationController
end
def media_requested?
request.path.ends_with?('/media') && !tag_requested?
request.path.split('.').first.ends_with?('/media') && !tag_requested?
end
def replies_requested?
request.path.ends_with?('/with_replies') && !tag_requested?
request.path.split('.').first.ends_with?('/with_replies') && !tag_requested?
end
def tag_requested?
request.path.split('.').first.ends_with?(Addressable::URI.parse("/tagged/#{params[:tag]}").normalize)
end
def filtered_status_page(params)
if params[:min_id].present?
filtered_statuses.paginate_by_min_id(PAGE_SIZE, params[:min_id]).reverse
else
filtered_statuses.paginate_by_max_id(PAGE_SIZE, params[:max_id], params[:since_id]).to_a
end
def filtered_status_page
filtered_statuses.paginate_by_id(PAGE_SIZE, params_slice(:max_id, :min_id, :since_id))
end
def params_slice(*keys)
params.slice(*keys).permit(*keys)
end
def restrict_fields_to

View File

@ -24,20 +24,23 @@ class ActivityPub::CollectionsController < ActivityPub::BaseController
def set_size
case params[:id]
when 'featured'
@account.pinned_statuses.count
@size = @account.pinned_statuses.count
else
raise ActiveRecord::RecordNotFound
not_found
end
end
def scope_for_collection
case params[:id]
when 'featured'
return Status.none if @account.blocking?(signed_request_account)
@account.pinned_statuses
else
raise ActiveRecord::RecordNotFound
# Because in public fetch mode we cache the response, there would be no
# benefit from performing the check below, since a blocked account or domain
# would likely be served the cache from the reverse proxy anyway
if authorized_fetch_mode? && !signed_request_account.nil? && (@account.blocking?(signed_request_account) || (!signed_request_account.domain.nil? && @account.domain_blocking?(signed_request_account.domain)))
Status.none
else
@account.pinned_statuses
end
end
end

View File

@ -11,7 +11,7 @@ class ActivityPub::OutboxesController < ActivityPub::BaseController
before_action :set_cache_headers
def show
expires_in(page_requested? ? 0 : 3.minutes, public: public_fetch_mode?)
expires_in(page_requested? ? 0 : 3.minutes, public: public_fetch_mode? && !(signed_request_account.present? && page_requested?))
render json: outbox_presenter, serializer: ActivityPub::OutboxSerializer, adapter: ActivityPub::Adapter, content_type: 'application/activity+json'
end
@ -50,12 +50,12 @@ class ActivityPub::OutboxesController < ActivityPub::BaseController
return unless page_requested?
@statuses = @account.statuses.permitted_for(@account, signed_request_account)
@statuses = params[:min_id].present? ? @statuses.paginate_by_min_id(LIMIT, params[:min_id]).reverse : @statuses.paginate_by_max_id(LIMIT, params[:max_id])
@statuses = @statuses.paginate_by_id(LIMIT, params_slice(:max_id, :min_id, :since_id))
@statuses = cache_collection(@statuses, Status)
end
def page_requested?
params[:page] == 'true'
truthy_param?(:page)
end
def page_params

View File

@ -1,7 +1,7 @@
# frozen_string_literal: true
class ActivityPub::RepliesController < ActivityPub::BaseController
include SignatureAuthentication
include SignatureVerification
include Authorization
include AccountOwnedConcern
@ -19,15 +19,19 @@ class ActivityPub::RepliesController < ActivityPub::BaseController
private
def pundit_user
signed_request_account
end
def set_status
@status = @account.statuses.find(params[:status_id])
authorize @status, :show?
rescue Mastodon::NotPermittedError
raise ActiveRecord::RecordNotFound
not_found
end
def set_replies
@replies = page_params[:only_other_accounts] ? Status.where.not(account_id: @account.id) : @account.statuses
@replies = only_other_accounts? ? Status.where.not(account_id: @account.id) : @account.statuses
@replies = @replies.where(in_reply_to_id: @status.id, visibility: [:public, :unlisted])
@replies = @replies.paginate_by_min_id(DESCENDANTS_LIMIT, params[:min_id])
end
@ -38,7 +42,7 @@ class ActivityPub::RepliesController < ActivityPub::BaseController
type: :unordered,
part_of: account_status_replies_url(@account, @status),
next: next_page,
items: @replies.map { |status| status.local ? status : status.uri }
items: @replies.map { |status| status.local? ? status : status.uri }
)
return page if page_requested?
@ -51,16 +55,21 @@ class ActivityPub::RepliesController < ActivityPub::BaseController
end
def page_requested?
params[:page] == 'true'
truthy_param?(:page)
end
def only_other_accounts?
truthy_param?(:only_other_accounts)
end
def next_page
only_other_accounts = !(@replies&.last&.account_id == @account.id && @replies.size == DESCENDANTS_LIMIT)
account_status_replies_url(
@account,
@status,
page: true,
min_id: only_other_accounts && !page_params[:only_other_accounts] ? nil : @replies&.last&.id,
min_id: only_other_accounts && !only_other_accounts? ? nil : @replies&.last&.id,
only_other_accounts: only_other_accounts
)
end

View File

@ -20,7 +20,7 @@ class Api::V1::Accounts::FollowerAccountsController < Api::BaseController
return [] if hide_results?
scope = default_accounts
scope = scope.where.not(id: current_account.excluded_from_timeline_account_ids) unless current_account.nil?
scope = scope.where.not(id: current_account.excluded_from_timeline_account_ids) unless current_account.nil? || current_account.id == @account.id
scope.merge(paginated_follows).to_a
end

View File

@ -20,7 +20,7 @@ class Api::V1::Accounts::FollowingAccountsController < Api::BaseController
return [] if hide_results?
scope = default_accounts
scope = scope.where.not(id: current_account.excluded_from_timeline_account_ids) unless current_account.nil?
scope = scope.where.not(id: current_account.excluded_from_timeline_account_ids) unless current_account.nil? || current_account.id == @account.id
scope.merge(paginated_follows).to_a
end

View File

@ -18,7 +18,7 @@ class Api::V1::Polls::VotesController < Api::BaseController
@poll = Poll.attached.find(params[:poll_id])
authorize @poll.status, :show?
rescue Mastodon::NotPermittedError
raise ActiveRecord::RecordNotFound
not_found
end
def vote_params

View File

@ -17,7 +17,7 @@ class Api::V1::PollsController < Api::BaseController
@poll = Poll.attached.find(params[:id])
authorize @poll.status, :show?
rescue Mastodon::NotPermittedError
raise ActiveRecord::RecordNotFound
not_found
end
def refresh_poll

View File

@ -4,6 +4,7 @@ class Api::V1::Push::SubscriptionsController < Api::BaseController
before_action -> { doorkeeper_authorize! :push }
before_action :require_user!
before_action :set_web_push_subscription
before_action :check_web_push_subscription, only: [:show, :update]
def create
@web_subscription&.destroy!
@ -21,16 +22,11 @@ class Api::V1::Push::SubscriptionsController < Api::BaseController
end
def show
raise ActiveRecord::RecordNotFound if @web_subscription.nil?
render json: @web_subscription, serializer: REST::WebPushSubscriptionSerializer
end
def update
raise ActiveRecord::RecordNotFound if @web_subscription.nil?
@web_subscription.update!(data: data_params)
render json: @web_subscription, serializer: REST::WebPushSubscriptionSerializer
end
@ -45,12 +41,17 @@ class Api::V1::Push::SubscriptionsController < Api::BaseController
@web_subscription = ::Web::PushSubscription.find_by(access_token_id: doorkeeper_token.id)
end
def check_web_push_subscription
not_found if @web_subscription.nil?
end
def subscription_params
params.require(:subscription).permit(:endpoint, keys: [:auth, :p256dh])
end
def data_params
return {} if params[:data].blank?
params.require(:data).permit(alerts: [:follow, :follow_request, :favourite, :reblog, :mention, :poll])
end
end

View File

@ -28,8 +28,7 @@ class Api::V1::Statuses::MutesController < Api::BaseController
@status = Status.find(params[:status_id])
authorize @status, :show?
rescue Mastodon::NotPermittedError
# Reraise in order to get a 404 instead of a 403 error code
raise ActiveRecord::RecordNotFound
not_found
end
def set_conversation

View File

@ -67,7 +67,7 @@ class Api::V1::StatusesController < Api::BaseController
@status = Status.find(params[:id])
authorize @status, :show?
rescue Mastodon::NotPermittedError
raise ActiveRecord::RecordNotFound
not_found
end
def set_thread

View File

@ -39,7 +39,7 @@ class Api::V1::Timelines::PublicController < Api::BaseController
end
def public_timeline_statuses
Status.as_public_timeline(current_account, truthy_param?(:local))
Status.as_public_timeline(current_account, truthy_param?(:remote) ? :remote : truthy_param?(:local))
end
def insert_pagination_headers
@ -47,7 +47,7 @@ class Api::V1::Timelines::PublicController < Api::BaseController
end
def pagination_params(core_params)
params.slice(:local, :limit, :only_media).permit(:local, :limit, :only_media).merge(core_params)
params.slice(:local, :remote, :limit, :only_media).permit(:local, :remote, :limit, :only_media).merge(core_params)
end
def next_path

View File

@ -111,6 +111,13 @@ class Auth::SessionsController < Devise::SessionsController
render :two_factor
end
def require_no_authentication
super
# Delete flash message that isn't entirely useful and may be confusing in
# most cases because /web doesn't display/clear flash messages.
flash.delete(:alert) if flash[:alert] == I18n.t('devise.failure.already_authenticated')
end
private
def set_instance_presenter

View File

@ -28,18 +28,6 @@ module Localized
end
def request_locale
preferred_locale || compatible_locale
end
def preferred_locale
http_accept_language.preferred_language_from(available_locales)
end
def compatible_locale
http_accept_language.compatible_language_from(available_locales)
end
def available_locales
I18n.available_locales.reverse
http_accept_language.language_region_compatible_from(I18n.available_locales)
end
end

View File

@ -33,7 +33,7 @@ class MediaController < ApplicationController
def verify_permitted_status!
authorize @media_attachment.status, :show?
rescue Mastodon::NotPermittedError
raise ActiveRecord::RecordNotFound
not_found
end
def check_playable

View File

@ -41,7 +41,7 @@ class RemoteInteractionController < ApplicationController
@status = Status.find(params[:id])
authorize @status, :show?
rescue Mastodon::NotPermittedError
raise ActiveRecord::RecordNotFound
not_found
end
def set_body_classes

View File

@ -21,8 +21,7 @@ class Settings::IdentityProofsController < Settings::BaseController
if current_account.username.casecmp(params[:username]).zero?
render layout: 'auth'
else
flash[:alert] = I18n.t('identity_proofs.errors.wrong_user', proving: params[:username], current: current_account.username)
redirect_to settings_identity_proofs_path
redirect_to settings_identity_proofs_path, alert: I18n.t('identity_proofs.errors.wrong_user', proving: params[:username], current: current_account.username)
end
end
@ -34,11 +33,16 @@ class Settings::IdentityProofsController < Settings::BaseController
PostStatusService.new.call(current_user.account, text: post_params[:status_text]) if publish_proof?
redirect_to @proof.on_success_path(params[:user_agent])
else
flash[:alert] = I18n.t('identity_proofs.errors.failed', provider: @proof.provider.capitalize)
redirect_to settings_identity_proofs_path
redirect_to settings_identity_proofs_path, alert: I18n.t('identity_proofs.errors.failed', provider: @proof.provider.capitalize)
end
end
def destroy
@proof = current_account.identity_proofs.find(params[:id])
@proof.destroy!
redirect_to settings_identity_proofs_path, success: I18n.t('identity_proofs.removed')
end
private
def check_required_params

View File

@ -46,7 +46,7 @@ class StatusesController < ApplicationController
end
def embed
return not_found if @status.hidden?
return not_found if @status.hidden? || @status.reblog?
expires_in 180, public: true
response.headers['X-Frame-Options'] = 'ALLOWALL'

View File

@ -7,13 +7,13 @@ module HomeHelper
}
end
def account_link_to(account, button = '', size: 36, path: nil)
def account_link_to(account, button = '', path: nil)
content_tag(:div, class: 'account') do
content_tag(:div, class: 'account__wrapper') do
section = if account.nil?
content_tag(:div, class: 'account__display-name') do
content_tag(:div, class: 'account__avatar-wrapper') do
content_tag(:div, '', class: 'account__avatar', style: "width: #{size}px; height: #{size}px; background-size: #{size}px #{size}px; background-image: url(#{full_asset_url('avatars/original/missing.png', skip_pipeline: true)})")
image_tag(full_asset_url('avatars/original/missing.png', skip_pipeline: true), class: 'account__avatar')
end +
content_tag(:span, class: 'display-name') do
content_tag(:strong, t('about.contact_missing')) +
@ -23,7 +23,7 @@ module HomeHelper
else
link_to(path || ActivityPub::TagManager.instance.url_for(account), class: 'account__display-name') do
content_tag(:div, class: 'account__avatar-wrapper') do
content_tag(:div, '', class: 'account__avatar', style: "width: #{size}px; height: #{size}px; background-size: #{size}px #{size}px; background-image: url(#{full_asset_url(current_account&.user&.setting_auto_play_gif ? account.avatar_original_url : account.avatar_static_url)})")
image_tag(full_asset_url(current_account&.user&.setting_auto_play_gif ? account.avatar_original_url : account.avatar_static_url), class: 'account__avatar')
end +
content_tag(:span, class: 'display-name') do
content_tag(:bdi) do

View File

@ -68,6 +68,7 @@ module SettingsHelper
tr: 'Türkçe',
uk: 'Українська',
ur: 'اُردُو',
vi: 'Tiếng Việt',
'zh-CN': '简体中文',
'zh-HK': '繁體中文(香港)',
'zh-TW': '繁體中文(臺灣)',

View File

@ -0,0 +1,19 @@
# frozen_string_literal: true
module WebfingerHelper
def webfinger!(uri)
hidden_service_uri = /\.(onion|i2p)(:\d+)?$/.match(uri)
raise Mastodon::HostValidationError, 'Instance does not support hidden service connections' if !Rails.configuration.x.access_to_hidden_service && hidden_service_uri
opts = {
ssl: !hidden_service_uri,
headers: {
'User-Agent': Mastodon::Version.user_agent,
},
}
Goldfinger::Client.new(uri, opts.merge(Rails.configuration.x.http_client_proxy)).finger
end
end

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 216.4144 232.00976"><path d="M107.86523 0C78.203984.2425 49.672422 3.4535937 33.044922 11.089844c0 0-32.97656262 14.752031-32.97656262 65.082031 0 11.525-.224375 25.306175.140625 39.919925 1.19750002 49.22 9.02375002 97.72843 54.53124962 109.77343 20.9825 5.55375 38.99711 6.71547 53.505856 5.91797 26.31125-1.45875 41.08203-9.38867 41.08203-9.38867l-.86914-19.08984s-18.80171 5.92758-39.91796 5.20508c-20.921254-.7175-43.006879-2.25516-46.390629-27.94141-.3125-2.25625-.46875-4.66938-.46875-7.20313 0 0 20.536953 5.0204 46.564449 6.21289 15.915.73001 30.8393-.93343 45.99805-2.74218 29.07-3.47125 54.38125-21.3818 57.5625-37.74805 5.0125-25.78125 4.59961-62.916015 4.59961-62.916015 0-50.33-32.97461-65.082031-32.97461-65.082031C166.80539 3.4535938 138.255.2425 108.59375 0h-.72852zM74.296875 39.326172c12.355 0 21.710234 4.749297 27.896485 14.248047l6.01367 10.080078 6.01563-10.080078c6.185-9.49875 15.54023-14.248047 27.89648-14.248047 10.6775 0 19.28156 3.753672 25.85156 11.076172 6.36875 7.3225 9.53907 17.218828 9.53907 29.673828v60.941408h-24.14454V81.869141c0-12.46875-5.24453-18.798829-15.73828-18.798829-11.6025 0-17.41797 7.508516-17.41797 22.353516v32.375002H96.207031V85.423828c0-14.845-5.815468-22.353515-17.417969-22.353516-10.49375 0-15.740234 6.330079-15.740234 18.798829v59.148439H38.904297V80.076172c0-12.455 3.171016-22.351328 9.541015-29.673828 6.568751-7.3225 15.172813-11.076172 25.851563-11.076172z" fill="#fff"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -73,7 +73,7 @@ const refreshHomeTimelineAndNotification = (dispatch, done) => {
export const connectUserStream = () => connectTimelineStream('home', 'user', refreshHomeTimelineAndNotification);
export const connectCommunityStream = ({ onlyMedia } = {}) => connectTimelineStream(`community${onlyMedia ? ':media' : ''}`, `public:local${onlyMedia ? ':media' : ''}`);
export const connectPublicStream = ({ onlyMedia } = {}) => connectTimelineStream(`public${onlyMedia ? ':media' : ''}`, `public${onlyMedia ? ':media' : ''}`);
export const connectPublicStream = ({ onlyMedia, onlyRemote } = {}) => connectTimelineStream(`public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, `public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`);
export const connectHashtagStream = (id, tag, accept) => connectTimelineStream(`hashtag:${id}`, `hashtag&tag=${tag}`, null, accept);
export const connectDirectStream = () => connectTimelineStream('direct', 'direct');
export const connectListStream = id => connectTimelineStream(`list:${id}`, `list&list=${id}`);

View File

@ -42,7 +42,7 @@ export function updateTimeline(timeline, status, accept) {
export function deleteFromTimelines(id) {
return (dispatch, getState) => {
const accountId = getState().getIn(['statuses', id, 'account']);
const references = getState().get('statuses').filter(status => status.get('reblog') === id).map(status => [status.get('id'), status.get('account')]);
const references = getState().get('statuses').filter(status => status.get('reblog') === id).map(status => status.get('id'));
const reblogOf = getState().getIn(['statuses', id, 'reblog'], null);
dispatch({
@ -107,7 +107,7 @@ export function expandTimeline(timelineId, path, params = {}, done = noOp) {
};
export const expandHomeTimeline = ({ maxId } = {}, done = noOp) => expandTimeline('home', '/api/v1/timelines/home', { max_id: maxId }, done);
export const expandPublicTimeline = ({ maxId, onlyMedia } = {}, done = noOp) => expandTimeline(`public${onlyMedia ? ':media' : ''}`, '/api/v1/timelines/public', { max_id: maxId, only_media: !!onlyMedia }, done);
export const expandPublicTimeline = ({ maxId, onlyMedia, onlyRemote } = {}, done = noOp) => expandTimeline(`public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`, '/api/v1/timelines/public', { remote: !!onlyRemote, max_id: maxId, only_media: !!onlyMedia }, done);
export const expandCommunityTimeline = ({ maxId, onlyMedia } = {}, done = noOp) => expandTimeline(`community${onlyMedia ? ':media' : ''}`, '/api/v1/timelines/public', { local: true, max_id: maxId, only_media: !!onlyMedia }, done);
export const expandAccountTimeline = (accountId, { maxId, withReplies } = {}) => expandTimeline(`account:${accountId}${withReplies ? ':with_replies' : ''}`, `/api/v1/accounts/${accountId}/statuses`, { exclude_replies: !withReplies, max_id: maxId });
export const expandAccountFeaturedTimeline = accountId => expandTimeline(`account:${accountId}:pinned`, `/api/v1/accounts/${accountId}/statuses`, { pinned: true });

View File

@ -46,7 +46,7 @@ class DropdownMenu extends React.PureComponent {
document.addEventListener('keydown', this.handleKeyDown, false);
document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);
if (this.focusedItem && this.props.openedViaKeyboard) {
this.focusedItem.focus();
this.focusedItem.focus({ preventScroll: true });
}
this.setState({ mounted: true });
}

View File

@ -176,8 +176,8 @@ class Status extends ImmutablePureComponent {
return <div className='audio-player' style={{ height: '110px' }} />;
}
handleOpenVideo = (media, startTime) => {
this.props.onOpenVideo(media, startTime);
handleOpenVideo = (media, options) => {
this.props.onOpenVideo(media, options);
}
handleHotkeyOpenMedia = e => {
@ -190,7 +190,7 @@ class Status extends ImmutablePureComponent {
if (status.getIn(['media_attachments', 0, 'type']) === 'audio') {
// TODO: toggle play/paused?
} else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {
onOpenVideo(status.getIn(['media_attachments', 0]), 0);
onOpenVideo(status.getIn(['media_attachments', 0]), { startTime: 0 });
} else {
onOpenMedia(status.get('media_attachments'), 0);
}

View File

@ -150,8 +150,8 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
dispatch(openModal('MEDIA', { media, index }));
},
onOpenVideo (media, time) {
dispatch(openModal('VIDEO', { media, time }));
onOpenVideo (media, options) {
dispatch(openModal('VIDEO', { media, options }));
},
onBlock (status) {

View File

@ -192,10 +192,12 @@ class Header extends ImmutablePureComponent {
menu.push({ text: intl.formatMessage(messages.domain_blocks), to: '/domain_blocks' });
} else {
if (account.getIn(['relationship', 'following'])) {
if (account.getIn(['relationship', 'showing_reblogs'])) {
menu.push({ text: intl.formatMessage(messages.hideReblogs, { name: account.get('username') }), action: this.props.onReblogToggle });
} else {
menu.push({ text: intl.formatMessage(messages.showReblogs, { name: account.get('username') }), action: this.props.onReblogToggle });
if (!account.getIn(['relationship', 'muting'])) {
if (account.getIn(['relationship', 'showing_reblogs'])) {
menu.push({ text: intl.formatMessage(messages.hideReblogs, { name: account.get('username') }), action: this.props.onReblogToggle });
} else {
menu.push({ text: intl.formatMessage(messages.showReblogs, { name: account.get('username') }), action: this.props.onReblogToggle });
}
}
menu.push({ text: intl.formatMessage(account.getIn(['relationship', 'endorsed']) ? messages.unendorse : messages.endorse), action: this.props.onEndorseToggle });

View File

@ -27,6 +27,7 @@ class Option extends React.PureComponent {
title: PropTypes.string.isRequired,
index: PropTypes.number.isRequired,
isPollMultiple: PropTypes.bool,
autoFocus: PropTypes.bool,
onChange: PropTypes.func.isRequired,
onRemove: PropTypes.func.isRequired,
onToggleMultiple: PropTypes.func.isRequired,
@ -71,7 +72,7 @@ class Option extends React.PureComponent {
}
render () {
const { isPollMultiple, title, index, intl } = this.props;
const { isPollMultiple, title, index, autoFocus, intl } = this.props;
return (
<li>
@ -96,6 +97,7 @@ class Option extends React.PureComponent {
onSuggestionsClearRequested={this.onSuggestionsClearRequested}
onSuggestionSelected={this.onSuggestionSelected}
searchTokens={[':']}
autoFocus={autoFocus}
/>
</label>
@ -146,10 +148,12 @@ class PollForm extends ImmutablePureComponent {
return null;
}
const autoFocusIndex = options.indexOf('');
return (
<div className='compose-form__poll-wrapper'>
<ul>
{options.map((title, i) => <Option title={title} key={i} index={i} onChange={onChangeOption} onRemove={onRemoveOption} isPollMultiple={isMultiple} onToggleMultiple={this.handleToggleMultiple} {...other} />)}
{options.map((title, i) => <Option title={title} key={i} index={i} onChange={onChangeOption} onRemove={onRemoveOption} isPollMultiple={isMultiple} onToggleMultiple={this.handleToggleMultiple} autoFocus={i === autoFocusIndex} {...other} />)}
</ul>
<div className='poll__footer'>

View File

@ -100,7 +100,7 @@ class PrivacyDropdownMenu extends React.PureComponent {
componentDidMount () {
document.addEventListener('click', this.handleDocumentClick, false);
document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);
if (this.focusedItem) this.focusedItem.focus();
if (this.focusedItem) this.focusedItem.focus({ preventScroll: true });
this.setState({ mounted: true });
}

View File

@ -0,0 +1,30 @@
import React from 'react';
import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { injectIntl, FormattedMessage } from 'react-intl';
import SettingToggle from '../../notifications/components/setting_toggle';
export default @injectIntl
class ColumnSettings extends React.PureComponent {
static propTypes = {
settings: ImmutablePropTypes.map.isRequired,
onChange: PropTypes.func.isRequired,
intl: PropTypes.object.isRequired,
columnId: PropTypes.string,
};
render () {
const { settings, onChange } = this.props;
return (
<div>
<div className='column-settings__row'>
<SettingToggle settings={settings} settingPath={['other', 'onlyMedia']} onChange={onChange} label={<FormattedMessage id='community.column_settings.media_only' defaultMessage='Media only' />} />
<SettingToggle settings={settings} settingPath={['other', 'onlyRemote']} onChange={onChange} label={<FormattedMessage id='community.column_settings.remote_only' defaultMessage='Remote only' />} />
</div>
</div>
);
}
}

View File

@ -1,5 +1,5 @@
import { connect } from 'react-redux';
import ColumnSettings from '../../community_timeline/components/column_settings';
import ColumnSettings from '../components/column_settings';
import { changeSetting } from '../../../actions/settings';
import { changeColumnParams } from '../../../actions/columns';

View File

@ -19,11 +19,13 @@ const mapStateToProps = (state, { columnId }) => {
const columns = state.getIn(['settings', 'columns']);
const index = columns.findIndex(c => c.get('uuid') === uuid);
const onlyMedia = (columnId && index >= 0) ? columns.get(index).getIn(['params', 'other', 'onlyMedia']) : state.getIn(['settings', 'public', 'other', 'onlyMedia']);
const onlyRemote = (columnId && index >= 0) ? columns.get(index).getIn(['params', 'other', 'onlyRemote']) : state.getIn(['settings', 'public', 'other', 'onlyRemote']);
const timelineState = state.getIn(['timelines', `public${onlyMedia ? ':media' : ''}`]);
return {
hasUnread: !!timelineState && timelineState.get('unread') > 0,
onlyMedia,
onlyRemote,
};
};
@ -47,15 +49,16 @@ class PublicTimeline extends React.PureComponent {
multiColumn: PropTypes.bool,
hasUnread: PropTypes.bool,
onlyMedia: PropTypes.bool,
onlyRemote: PropTypes.bool,
};
handlePin = () => {
const { columnId, dispatch, onlyMedia } = this.props;
const { columnId, dispatch, onlyMedia, onlyRemote } = this.props;
if (columnId) {
dispatch(removeColumn(columnId));
} else {
dispatch(addColumn('PUBLIC', { other: { onlyMedia } }));
dispatch(addColumn(onlyRemote ? 'REMOTE' : 'PUBLIC', { other: { onlyMedia, onlyRemote } }));
}
}
@ -69,19 +72,19 @@ class PublicTimeline extends React.PureComponent {
}
componentDidMount () {
const { dispatch, onlyMedia } = this.props;
const { dispatch, onlyMedia, onlyRemote } = this.props;
dispatch(expandPublicTimeline({ onlyMedia }));
this.disconnect = dispatch(connectPublicStream({ onlyMedia }));
dispatch(expandPublicTimeline({ onlyMedia, onlyRemote }));
this.disconnect = dispatch(connectPublicStream({ onlyMedia, onlyRemote }));
}
componentDidUpdate (prevProps) {
if (prevProps.onlyMedia !== this.props.onlyMedia) {
const { dispatch, onlyMedia } = this.props;
if (prevProps.onlyMedia !== this.props.onlyMedia || prevProps.onlyRemote !== this.props.onlyRemote) {
const { dispatch, onlyMedia, onlyRemote } = this.props;
this.disconnect();
dispatch(expandPublicTimeline({ onlyMedia }));
this.disconnect = dispatch(connectPublicStream({ onlyMedia }));
dispatch(expandPublicTimeline({ onlyMedia, onlyRemote }));
this.disconnect = dispatch(connectPublicStream({ onlyMedia, onlyRemote }));
}
}
@ -97,13 +100,13 @@ class PublicTimeline extends React.PureComponent {
}
handleLoadMore = maxId => {
const { dispatch, onlyMedia } = this.props;
const { dispatch, onlyMedia, onlyRemote } = this.props;
dispatch(expandPublicTimeline({ maxId, onlyMedia }));
dispatch(expandPublicTimeline({ maxId, onlyMedia, onlyRemote }));
}
render () {
const { intl, shouldUpdateScroll, columnId, hasUnread, multiColumn, onlyMedia } = this.props;
const { intl, shouldUpdateScroll, columnId, hasUnread, multiColumn, onlyMedia, onlyRemote } = this.props;
const pinned = !!columnId;
return (
@ -122,7 +125,7 @@ class PublicTimeline extends React.PureComponent {
</ColumnHeader>
<StatusListContainer
timelineId={`public${onlyMedia ? ':media' : ''}`}
timelineId={`public${onlyRemote ? ':remote' : ''}${onlyMedia ? ':media' : ''}`}
onLoadMore={this.handleLoadMore}
trackScroll={!pinned}
scrollKey={`public_timeline-${columnId}`}

View File

@ -48,8 +48,8 @@ export default class DetailedStatus extends ImmutablePureComponent {
e.stopPropagation();
}
handleOpenVideo = (media, startTime) => {
this.props.onOpenVideo(media, startTime);
handleOpenVideo = (media, options) => {
this.props.onOpenVideo(media, options);
}
handleExpandedToggle = () => {

View File

@ -129,8 +129,8 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
dispatch(openModal('MEDIA', { media, index }));
},
onOpenVideo (media, time) {
dispatch(openModal('VIDEO', { media, time }));
onOpenVideo (media, options) {
dispatch(openModal('VIDEO', { media, options }));
},
onBlock (status) {

View File

@ -277,8 +277,8 @@ class Status extends ImmutablePureComponent {
this.props.dispatch(openModal('MEDIA', { media, index }));
}
handleOpenVideo = (media, time) => {
this.props.dispatch(openModal('VIDEO', { media, time }));
handleOpenVideo = (media, options) => {
this.props.dispatch(openModal('VIDEO', { media, options }));
}
handleHotkeyOpenMedia = e => {
@ -290,7 +290,7 @@ class Status extends ImmutablePureComponent {
if (status.getIn(['media_attachments', 0, 'type']) === 'audio') {
// TODO: toggle play/paused?
} else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {
this.handleOpenVideo(status.getIn(['media_attachments', 0]), 0);
this.handleOpenVideo(status.getIn(['media_attachments', 0]), { startTime: 0 });
} else {
this.handleOpenMedia(status.get('media_attachments'), 0);
}

View File

@ -5,30 +5,21 @@ import ColumnHeader from '../column_header';
describe('<Column />', () => {
describe('<ColumnHeader /> click handler', () => {
const originalRaf = global.requestAnimationFrame;
beforeEach(() => {
global.requestAnimationFrame = jest.fn();
});
afterAll(() => {
global.requestAnimationFrame = originalRaf;
});
it('runs the scroll animation if the column contains scrollable content', () => {
const wrapper = mount(
<Column heading='notifications'>
<div className='scrollable' />
</Column>,
);
const scrollToMock = jest.fn();
wrapper.find(Column).find('.scrollable').getDOMNode().scrollTo = scrollToMock;
wrapper.find(ColumnHeader).find('button').simulate('click');
expect(global.requestAnimationFrame.mock.calls.length).toEqual(1);
expect(scrollToMock).toHaveBeenCalledWith({ behavior: 'smooth', top: 0 });
});
it('does not try to scroll if there is no scrollable content', () => {
const wrapper = mount(<Column heading='notifications' />);
wrapper.find(ColumnHeader).find('button').simulate('click');
expect(global.requestAnimationFrame.mock.calls.length).toEqual(0);
});
});
});

View File

@ -37,6 +37,7 @@ const componentMap = {
'HOME': HomeTimeline,
'NOTIFICATIONS': Notifications,
'PUBLIC': PublicTimeline,
'REMOTE': PublicTimeline,
'COMMUNITY': CommunityTimeline,
'HASHTAG': HashtagTimeline,
'DIRECT': DirectTimeline,

View File

@ -14,7 +14,11 @@ export default class VideoModal extends ImmutablePureComponent {
static propTypes = {
media: ImmutablePropTypes.map.isRequired,
status: ImmutablePropTypes.map,
time: PropTypes.number,
options: PropTypes.shape({
startTime: PropTypes.number,
autoPlay: PropTypes.bool,
defaultVolume: PropTypes.number,
}),
onClose: PropTypes.func.isRequired,
};
@ -52,7 +56,8 @@ export default class VideoModal extends ImmutablePureComponent {
}
render () {
const { media, status, time, onClose } = this.props;
const { media, status, onClose } = this.props;
const options = this.props.options || {};
return (
<div className='modal-root__modal video-modal'>
@ -61,7 +66,9 @@ export default class VideoModal extends ImmutablePureComponent {
preview={media.get('preview_url')}
blurhash={media.get('blurhash')}
src={media.get('url')}
startTime={time}
startTime={options.startTime}
autoPlay={options.autoPlay}
defaultVolume={options.defaultVolume}
onCloseVideo={onClose}
detailed
alt={media.get('description')}

View File

@ -109,6 +109,8 @@ class Video extends React.PureComponent {
intl: PropTypes.object.isRequired,
blurhash: PropTypes.string,
link: PropTypes.node,
autoPlay: PropTypes.bool,
defaultVolume: PropTypes.number,
};
state = {
@ -367,6 +369,13 @@ class Video extends React.PureComponent {
handleLoadedData = () => {
if (this.props.startTime) {
this.video.currentTime = this.props.startTime;
}
if (this.props.defaultVolume !== undefined) {
this.video.volume = this.props.defaultVolume;
}
if (this.props.autoPlay) {
this.video.play();
}
}
@ -393,8 +402,14 @@ class Video extends React.PureComponent {
height,
});
const options = {
startTime: this.video.currentTime,
autoPlay: !this.state.paused,
defaultVolume: this.state.volume,
};
this.video.pause();
this.props.onOpenVideo(media, this.video.currentTime);
this.props.onOpenVideo(media, options);
}
handleCloseVideo = () => {

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "عرض الإعدادات",
"column_header.unpin": "فك التدبيس",
"column_subheading.settings": "الإعدادات",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "الوسائط فقط",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "لن يَظهر هذا التبويق إلا للمستخدمين المذكورين.",
"compose_form.direct_message_warning_learn_more": "اقرأ المزيد",
"compose_form.hashtag_warning": "هذا التبويق لن يُدرَج تحت أي وسم كان بما أنه غير مُدرَج. لا يُسمح بالبحث إلّا عن التبويقات العمومية عن طريق الوسوم.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "الإبلاغ عن خلل",
"follow_request.authorize": "ترخيص",
"follow_request.reject": "رفض",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "المُطوِّرون",
"getting_started.directory": "دليل الصفحات التعريفية",
"getting_started.documentation": "الدليل",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Amosar axustes",
"column_header.unpin": "Desfixar",
"column_subheading.settings": "Axustes",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Namái multimedia",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Esti barritu namái va unviase a los usuarios mentaos.",
"compose_form.direct_message_warning_learn_more": "Learn more",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Report issue",
"follow_request.authorize": "Autorizar",
"follow_request.reject": "Refugar",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Desendolcadores",
"getting_started.directory": "Direutoriu de perfiles",
"getting_started.documentation": "Documentación",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Show settings",
"column_header.unpin": "Unpin",
"column_subheading.settings": "Settings",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Media only",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.",
"compose_form.direct_message_warning_learn_more": "Learn more",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Report issue",
"follow_request.authorize": "Authorize",
"follow_request.reject": "Reject",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Developers",
"getting_started.directory": "Profile directory",
"getting_started.documentation": "Documentation",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "সেটিং দেখান",
"column_header.unpin": "পিন খুলুন",
"column_subheading.settings": "সেটিং",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "শুধুমাত্র ছবি বা ভিডিও",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "শুধুমাত্র যাদেরকে উল্লেখ করা হয়েছে তাদেরকেই এই টুটটি পাঠানো হবে ।",
"compose_form.direct_message_warning_learn_more": "আরো জানুন",
"compose_form.hashtag_warning": "কোনো হ্যাশট্যাগের ভেতরে এই টুটটি থাকবেনা কারণ এটি তালিকাবহির্ভূত। শুধুমাত্র প্রকাশ্য ঠোটগুলো হ্যাশট্যাগের ভেতরে খুঁজে পাওয়া যাবে।",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "সমস্যার প্রতিবেদন করুন",
"follow_request.authorize": "অনুমতি দিন",
"follow_request.reject": "প্রত্যাখ্যান করুন",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "তৈরিকারকদের জন্য",
"getting_started.directory": "নিজস্ব-পাতাগুলির তালিকা",
"getting_started.documentation": "নথিপত্র",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Diskouez an arventennoù",
"column_header.unpin": "Dispilhennañ",
"column_subheading.settings": "Arventennoù",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Nemet Mediaoù",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "An toud-mañ a vo kaset nemet d'an implijer·ezed·ien meneget.",
"compose_form.direct_message_warning_learn_more": "Gouzout hiroc'h",
"compose_form.hashtag_warning": "Ne vo ket lakaet an toud-mañ er rolloù gerioù-klik dre mard eo anlistennet. N'eus nemet an toudoù foran a c'hall bezañ klasket dre c'her-klik.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Danevellañ ur fazi",
"follow_request.authorize": "Aotren",
"follow_request.reject": "Nac'hañ",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Diorroerien",
"getting_started.directory": "Roll ar profiloù",
"getting_started.documentation": "Teuliadur",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Mostra la configuració",
"column_header.unpin": "No fixis",
"column_subheading.settings": "Configuració",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Només multimèdia",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Aquest tut només serà enviat als usuaris esmentats.",
"compose_form.direct_message_warning_learn_more": "Aprèn més",
"compose_form.hashtag_warning": "Aquesta tut no es mostrarà en cap etiqueta ja que no està llistat. Només els tuts públics poden ser cercats per etiqueta.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Informa d'un problema",
"follow_request.authorize": "Autoritzar",
"follow_request.reject": "Rebutjar",
"follow_requests.unlocked_explanation": "Tot i que el teu compte no està bloquejat, el personal de {domain} ha pensat que és possible que vulguis revisar les sol·licituds de seguiment daquests comptes de forma manual.",
"getting_started.developers": "Desenvolupadors",
"getting_started.directory": "Directori de perfils",
"getting_started.documentation": "Documentació",

View File

@ -3,7 +3,7 @@
"account.badges.bot": "Bot",
"account.badges.group": "Gruppu",
"account.block": "Bluccà @{name}",
"account.block_domain": "Piattà tuttu da {domain}",
"account.block_domain": "Piattà u duminiu {domain}",
"account.blocked": "Bluccatu",
"account.cancel_follow_request": "Annullà a dumanda d'abbunamentu",
"account.direct": "Missaghju direttu @{name}",
@ -74,7 +74,9 @@
"column_header.show_settings": "Mustrà i parametri",
"column_header.unpin": "Spuntarulà",
"column_subheading.settings": "Parametri",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Solu media",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Solu l'utilizatori mintuvati puderenu vede stu statutu.",
"compose_form.direct_message_warning_learn_more": "Amparà di più",
"compose_form.hashtag_warning": "Stu statutu ùn hè \"Micca listatu\" è ùn sarà micca listatu indè e circate da hashtag. Per esse vistu in quesse, u statutu deve esse \"Pubblicu\".",
@ -100,15 +102,15 @@
"confirmations.block.confirm": "Bluccà",
"confirmations.block.message": "Site sicuru·a che vulete bluccà @{name}?",
"confirmations.delete.confirm": "Toglie",
"confirmations.delete.message": "Site sicuru·a che vulete supprime stu statutu?",
"confirmations.delete.message": "Site sicuru·a che vulete sguassà stu statutu?",
"confirmations.delete_list.confirm": "Toglie",
"confirmations.delete_list.message": "Site sicuru·a che vulete supprime sta lista?",
"confirmations.delete_list.message": "Site sicuru·a che vulete toglie sta lista?",
"confirmations.domain_block.confirm": "Piattà tuttu u duminiu",
"confirmations.domain_block.message": "Site sicuru·a che vulete piattà tuttu à {domain}? Saria forse abbastanza di bluccà ò piattà alcuni conti da quallà. Ùn viderete più nunda da quallà indè e linee pubbliche o e nutificazione. I vostri abbunati da stu duminiu saranu tolti.",
"confirmations.domain_block.message": "Site veramente sicuru·a che vulete piattà tuttu à {domain}? Saria forse abbastanza di bluccà ò piattà alcuni conti da quallà. Ùn viderete più nunda da quallà indè e linee pubbliche o e nutificazione. I vostri abbunati da stu duminiu saranu tolti.",
"confirmations.logout.confirm": "Scunnettassi",
"confirmations.logout.message": "Site sicuru·a che vulete scunnettà vi?",
"confirmations.mute.confirm": "Piattà",
"confirmations.mute.explanation": "Quessu hà da piattà i statuti da sta persona è i posti chì a mintuvanu, mà ellu·a puderà sempre vede i vostri statuti è siguità vi.",
"confirmations.mute.explanation": "Quessu hà da piattà i statuti da sta persona è i posti chì a mintuvanu, ma ellu·a puderà sempre vede i vostri statuti è siguità vi.",
"confirmations.mute.message": "Site sicuru·a che vulete piattà @{name}?",
"confirmations.redraft.confirm": "Sguassà è riscrive",
"confirmations.redraft.message": "Site sicuru·a chè vulete sguassà stu statutu è riscrivelu? I favuriti è spartere saranu persi, è e risposte diventeranu orfane.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Palisà prublemu",
"follow_request.authorize": "Auturizà",
"follow_request.reject": "Righjittà",
"follow_requests.unlocked_explanation": "U vostru contu ùn hè micca privatu, ma a squadra d'amministrazione di {domain} pensa chì e dumande d'abbunamentu di questi conti anu bisognu d'esse verificate manualmente.",
"getting_started.developers": "Sviluppatori",
"getting_started.directory": "Annuariu di i prufili",
"getting_started.documentation": "Ducumentazione",
@ -205,7 +208,7 @@
"introduction.interactions.reply.text": "Pudete risponde à d'altre persone o a i vostri propii statuti, cio chì i ligarà indè una cunversazione.",
"introduction.welcome.action": "Andemu!",
"introduction.welcome.headline": "Primi passi",
"introduction.welcome.text": "Benvenutu·a indè u fediverse! In qualchi minuta, puderete diffonde missaghji è parlà à i vostri amichi nant'à una varietà maiò di servori. Mà quess'istanza, {domain}, hè speciale—ghjè induve hè uspitatu u vostru prufile, allora ricurdatevi di u so nome.",
"introduction.welcome.text": "Benvenutu·a indè u fediverse! In qualchi minuta, puderete diffonde missaghji è parlà à i vostri amichi nant'à una varietà maiò di servori. Ma quess'istanza, {domain}, hè speciale—ghjè induve hè uspitatu u vostru prufile, allora ricurdatevi di u so nome.",
"keyboard_shortcuts.back": "rivultà",
"keyboard_shortcuts.blocked": "per apre una lista d'utilizatori bluccati",
"keyboard_shortcuts.boost": "sparte",
@ -245,7 +248,7 @@
"lightbox.view_context": "Vede u cuntestu",
"lists.account.add": "Aghjunghje à a lista",
"lists.account.remove": "Toglie di a lista",
"lists.delete": "Supprime a lista",
"lists.delete": "Toglie a lista",
"lists.edit": "Mudificà a lista",
"lists.edit.submit": "Cambià u titulu",
"lists.new.create": "Aghjunghje",
@ -413,7 +416,7 @@
"trends.trending_now": "Tindenze d'avà",
"ui.beforeunload": "A bruttacopia sarà persa s'ellu hè chjosu Mastodon.",
"upload_area.title": "Drag & drop per caricà un fugliale",
"upload_button.label": "Aghjunghje un media (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_button.label": "Aghjunghje un media ({formats})",
"upload_error.limit": "Limita di caricamentu di fugliali trapassata.",
"upload_error.poll": "Ùn si pò micca caricà fugliali cù i scandagli.",
"upload_form.audio_description": "Discrizzione per i ciochi",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Zobrazit nastavení",
"column_header.unpin": "Odepnout",
"column_subheading.settings": "Nastavení",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Pouze média",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Tento toot bude odeslán pouze zmíněným uživatelům.",
"compose_form.direct_message_warning_learn_more": "Zjistit více",
"compose_form.hashtag_warning": "Tento toot nebude zobrazen pod žádným hashtagem, neboť je neuvedený. Pouze veřejné tooty mohou být vyhledány podle hashtagu.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Nahlásit problém",
"follow_request.authorize": "Autorizovat",
"follow_request.reject": "Odmítnout",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Vývojáři",
"getting_started.directory": "Adresář profilů",
"getting_started.documentation": "Dokumentace",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Dangos gosodiadau",
"column_header.unpin": "Dadbinio",
"column_subheading.settings": "Gosodiadau",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Cyfryngau yn unig",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Mi fydd y tŵt hwn ond yn cael ei anfon at y defnyddwyr sy'n cael eu crybwyll.",
"compose_form.direct_message_warning_learn_more": "Dysgu mwy",
"compose_form.hashtag_warning": "Ni fydd y tŵt hwn wedi ei restru o dan unrhyw hashnod gan ei fod heb ei restru. Dim ond tŵtiau cyhoeddus gellid chwilota amdanynt drwy hashnod.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Rhoi gwybod am broblem",
"follow_request.authorize": "Caniatau",
"follow_request.reject": "Gwrthod",
"follow_requests.unlocked_explanation": "Er nid yw eich cyfrif wedi'i gloi, oedd y staff {domain} yn meddwl efallai hoffech adolygu ceisiadau dilyn o'r cyfrifau rhain wrth law.",
"getting_started.developers": "Datblygwyr",
"getting_started.directory": "Cyfeiriadur proffil",
"getting_started.documentation": "Dogfennaeth",

View File

@ -1,7 +1,7 @@
{
"account.add_or_remove_from_list": "Tilføj eller fjern fra lister",
"account.badges.bot": "Robot",
"account.badges.group": "Group",
"account.badges.group": "Gruppe",
"account.block": "Bloker @{name}",
"account.block_domain": "Skjul alt fra {domain}",
"account.blocked": "Blokeret",
@ -74,7 +74,9 @@
"column_header.show_settings": "Vis indstillinger",
"column_header.unpin": "Fastgør ikke længere",
"column_subheading.settings": "Indstillinger",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Kun medie",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Dette trut vil kun blive sendt til de nævnte brugere.",
"compose_form.direct_message_warning_learn_more": "Lær mere",
"compose_form.hashtag_warning": "Dette trut vil ikke blive vist under noget hashtag da det ikke er listet. Kun offentlige trut kan blive vist under søgninger med hashtags.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Rapportér problem",
"follow_request.authorize": "Godkend",
"follow_request.reject": "Afvis",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Udviklere",
"getting_started.directory": "Profilliste",
"getting_started.documentation": "Dokumentation",
@ -335,7 +338,7 @@
"relative_time.just_now": "nu",
"relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s",
"relative_time.today": "today",
"relative_time.today": "i dag",
"reply_indicator.cancel": "Annuller",
"report.forward": "Videresend til {target}",
"report.forward_hint": "Kontoen er fra en anden server. Vil du også sende en anonym kopi af anmeldelsen dertil?",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Einstellungen anzeigen",
"column_header.unpin": "Lösen",
"column_subheading.settings": "Einstellungen",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Nur Medien",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Dieser Beitrag wird nur für die erwähnten Nutzer sichtbar sein.",
"compose_form.direct_message_warning_learn_more": "Mehr erfahren",
"compose_form.hashtag_warning": "Dieser Beitrag wird nicht durch Hashtags entdeckbar sein, weil er ungelistet ist. Nur öffentliche Beiträge tauchen in Hashtag-Zeitleisten auf.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Problem melden",
"follow_request.authorize": "Erlauben",
"follow_request.reject": "Ablehnen",
"follow_requests.unlocked_explanation": "Auch wenn dein Konto nicht gesperrt ist, haben die Mitarbeiter von {domain} gedacht, dass es besser wäre den Follow manuell zu bestätigen.",
"getting_started.developers": "Entwickler",
"getting_started.directory": "Profilverzeichnis",
"getting_started.documentation": "Dokumentation",

View File

@ -471,6 +471,10 @@
},
{
"descriptors": [
{
"defaultMessage": "Show thread",
"id": "status.show_thread"
},
{
"defaultMessage": "Read more",
"id": "status.read_more"
@ -499,10 +503,6 @@
{
"defaultMessage": "{name} boosted",
"id": "status.reblogged_by"
},
{
"defaultMessage": "Show thread",
"id": "status.show_thread"
}
],
"path": "app/javascript/mastodon/components/status.json"
@ -1706,6 +1706,10 @@
{
"defaultMessage": "Include additional tags in this column",
"id": "hashtag.column_settings.tag_toggle"
},
{
"defaultMessage": "Local only",
"id": "community.column_settings.local_only"
}
],
"path": "app/javascript/mastodon/features/hashtag_timeline/components/column_settings.json"
@ -2267,6 +2271,19 @@
],
"path": "app/javascript/mastodon/features/pinned_statuses/index.json"
},
{
"descriptors": [
{
"defaultMessage": "Media only",
"id": "community.column_settings.media_only"
},
{
"defaultMessage": "Remote only",
"id": "community.column_settings.remote_only"
}
],
"path": "app/javascript/mastodon/features/public_timeline/components/column_settings.json"
},
{
"descriptors": [
{
@ -2952,4 +2969,4 @@
],
"path": "app/javascript/mastodon/features/video/index.json"
}
]
]

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Εμφάνιση ρυθμίσεων",
"column_header.unpin": "Ξεκαρφίτσωμα",
"column_subheading.settings": "Ρυθμίσεις",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Μόνο πολυμέσα",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Αυτό το τουτ θα σταλεί μόνο στους αναφερόμενους χρήστες.",
"compose_form.direct_message_warning_learn_more": "Μάθετε περισσότερα",
"compose_form.hashtag_warning": "Αυτό το τουτ δεν θα εμφανίζεται κάτω από κανένα hashtag καθώς είναι αφανές. Μόνο τα δημόσια τουτ μπορούν να αναζητηθούν ανά hashtag.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Αναφορά προβλήματος",
"follow_request.authorize": "Ενέκρινε",
"follow_request.reject": "Απέρριψε",
"follow_requests.unlocked_explanation": "Παρόλο που ο λογαριασμός σου δεν είναι κλειδωμένος, οι διαχειριστές του {domain} θεώρησαν πως ίσως να θέλεις να ελέγξεις χειροκίνητα αυτά τα αιτήματα ακολούθησης.",
"getting_started.developers": "Ανάπτυξη",
"getting_started.directory": "Κατάλογος λογαριασμών",
"getting_started.documentation": "Τεκμηρίωση",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Show settings",
"column_header.unpin": "Unpin",
"column_subheading.settings": "Settings",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Media Only",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "This toot will only be sent to the mentioned users.",
"compose_form.direct_message_warning_learn_more": "Learn more",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Montri agordojn",
"column_header.unpin": "Depingli",
"column_subheading.settings": "Agordado",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Nur aŭdovidaĵoj",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Tiu mesaĝo estos sendita nur al menciitaj uzantoj.",
"compose_form.direct_message_warning_learn_more": "Lerni pli",
"compose_form.hashtag_warning": "Ĉi tiu mesaĝo ne estos listigita per ajna kradvorto. Nur publikaj mesaĝoj estas serĉeblaj per kradvortoj.",
@ -158,12 +160,13 @@
"empty_column.mutes": "Vi ne ankoraŭ silentigis iun uzanton.",
"empty_column.notifications": "Vi ankoraŭ ne havas sciigojn. Interagu kun aliaj por komenci konversacion.",
"empty_column.public": "Estas nenio ĉi tie! Publike skribu ion, aŭ mane sekvu uzantojn de aliaj serviloj por plenigi la publikan tempolinion",
"error.unexpected_crash.explanation": "Due to a bug in our code or a browser compatibility issue, this page could not be displayed correctly.",
"error.unexpected_crash.next_steps": "Try refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
"error.unexpected_crash.explanation": "Pro eraro en nia kodo, aŭ problemo de kongruo en via retumilo, ĉi tiu paĝo ne povis esti montrata ĝuste.",
"error.unexpected_crash.next_steps": "Provu refreŝigi la paĝon. Se tio ne helpas, vi ankoraŭ povus uzi Mastodon per malsama retumilo aŭ operaciuma aplikajo.",
"errors.unexpected_crash.copy_stacktrace": "Kopii stakspuron en tondujo",
"errors.unexpected_crash.report_issue": "Raporti problemon",
"follow_request.authorize": "Rajtigi",
"follow_request.reject": "Rifuzi",
"follow_requests.unlocked_explanation": "137/5000\nKvankam via konto ne estas ŝlosita, la dungitaro de {domain} opiniis, ke vi eble volus revizii petojn de sekvadon el ĉi tiuj kontoj permane.",
"getting_started.developers": "Programistoj",
"getting_started.directory": "Profilujo",
"getting_started.documentation": "Dokumentado",
@ -206,39 +209,39 @@
"introduction.welcome.action": "Ek!",
"introduction.welcome.headline": "Unuaj paŝoj",
"introduction.welcome.text": "Bonvenon en Fediverse! Tre baldaŭ, vi povos disdoni mesaĝojn kaj paroli al viaj amikoj tra granda servila diverseco. Sed ĉi tiu servilo, {domain}, estas speciala: ĝi enhavas vian profilon, do memoru ĝian nomon.",
"keyboard_shortcuts.back": "por reveni",
"keyboard_shortcuts.blocked": "por malfermi la liston de blokitaj uzantoj",
"keyboard_shortcuts.boost": "por diskonigi",
"keyboard_shortcuts.column": "por fokusigi mesaĝon en unu el la kolumnoj",
"keyboard_shortcuts.compose": "por fokusigi la tekstujon",
"keyboard_shortcuts.back": "reveni",
"keyboard_shortcuts.blocked": "malfermi la liston de blokitaj uzantoj",
"keyboard_shortcuts.boost": "diskonigi",
"keyboard_shortcuts.column": "fokusi mesaĝon en unu el la kolumnoj",
"keyboard_shortcuts.compose": "enfokusigi la tekstujon",
"keyboard_shortcuts.description": "Priskribo",
"keyboard_shortcuts.direct": "por malfermi la kolumnon de rektaj mesaĝoj",
"keyboard_shortcuts.down": "por iri suben en la listo",
"keyboard_shortcuts.enter": "por malfermi mesaĝon",
"keyboard_shortcuts.favourite": "por stelumi",
"keyboard_shortcuts.favourites": "por malfermi la liston de stelumoj",
"keyboard_shortcuts.federated": "por malfermi la frataran tempolinion",
"keyboard_shortcuts.direct": "malfermi la kolumnon de rektaj mesaĝoj",
"keyboard_shortcuts.down": "iri suben en la listo",
"keyboard_shortcuts.enter": "malfermi mesaĝon",
"keyboard_shortcuts.favourite": "stelumi",
"keyboard_shortcuts.favourites": "malfermi la liston de stelumoj",
"keyboard_shortcuts.federated": "malfermi la frataran tempolinion",
"keyboard_shortcuts.heading": "Klavaraj mallongigoj",
"keyboard_shortcuts.home": "por malfermi la hejman tempolinion",
"keyboard_shortcuts.home": "malfermi la hejman tempolinion",
"keyboard_shortcuts.hotkey": "Rapidklavo",
"keyboard_shortcuts.legend": "por montri ĉi tiun noton",
"keyboard_shortcuts.local": "por malfermi la lokan tempolinion",
"keyboard_shortcuts.legend": "montri ĉi tiun noton",
"keyboard_shortcuts.local": "malfermi la lokan tempolinion",
"keyboard_shortcuts.mention": "por mencii la aŭtoron",
"keyboard_shortcuts.muted": "por malfermi la liston de silentigitaj uzantoj",
"keyboard_shortcuts.my_profile": "por malfermi vian profilon",
"keyboard_shortcuts.notifications": "por malfermi la kolumnon de sciigoj",
"keyboard_shortcuts.open_media": "por malfermi aŭdovidaĵon",
"keyboard_shortcuts.pinned": "por malfermi la liston de alpinglitaj mesaĝoj",
"keyboard_shortcuts.profile": "por malfermi la profilon de la aŭtoro",
"keyboard_shortcuts.reply": "por respondi",
"keyboard_shortcuts.requests": "por malfermi la liston de petoj de sekvado",
"keyboard_shortcuts.search": "por fokusigi la serĉilon",
"keyboard_shortcuts.start": "por malfermi la kolumnon «por komenci»",
"keyboard_shortcuts.toggle_hidden": "por montri/kaŝi tekston malantaŭ enhava averto",
"keyboard_shortcuts.toggle_sensitivity": "por montri/kaŝi aŭdovidaĵojn",
"keyboard_shortcuts.toot": "por komenci tute novan mesaĝon",
"keyboard_shortcuts.unfocus": "por malfokusigi la tekstujon aŭ la serĉilon",
"keyboard_shortcuts.up": "por iri supren en la listo",
"keyboard_shortcuts.muted": "malfermi la liston de silentigitaj uzantoj",
"keyboard_shortcuts.my_profile": "malfermi vian profilon",
"keyboard_shortcuts.notifications": "malfermi la kolumnon de sciigoj",
"keyboard_shortcuts.open_media": "malfermi aŭdovidaĵon",
"keyboard_shortcuts.pinned": "malfermi la liston de alpinglitaj mesaĝoj",
"keyboard_shortcuts.profile": "malfermi la profilon de la aŭtoro",
"keyboard_shortcuts.reply": "respondi",
"keyboard_shortcuts.requests": "malfermi la liston de petoj de sekvado",
"keyboard_shortcuts.search": "enfokusigi la serĉilon",
"keyboard_shortcuts.start": "malfermi la kolumnon «por komenci»",
"keyboard_shortcuts.toggle_hidden": "montri/kaŝi tekston malantaŭ enhava averto",
"keyboard_shortcuts.toggle_sensitivity": "montri/kaŝi aŭdovidaĵojn",
"keyboard_shortcuts.toot": "komenci tute novan mesaĝon",
"keyboard_shortcuts.unfocus": "malenfokusigi la tekstujon aŭ la serĉilon",
"keyboard_shortcuts.up": "iri supren en la listo",
"lightbox.close": "Fermi",
"lightbox.next": "Sekva",
"lightbox.previous": "Antaŭa",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Mostrar configuración",
"column_header.unpin": "Dejar de fijar",
"column_subheading.settings": "Configuración",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Sólo medios",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Este toot sólo será enviado a los usuarios mencionados.",
"compose_form.direct_message_warning_learn_more": "Aprendé más",
"compose_form.hashtag_warning": "Este toot no se mostrará bajo hashtags porque no es público. Sólo los toots públicos se pueden buscar por hashtag.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Informar problema",
"follow_request.authorize": "Autorizar",
"follow_request.reject": "Rechazar",
"follow_requests.unlocked_explanation": "A pesar de que tu cuenta no está bloqueada, el equipo de {domain} pensó que podrías querer revisar manualmente las solicitudes de seguimiento de estas cuentas.",
"getting_started.developers": "Desarrolladores",
"getting_started.directory": "Directorio de perfiles",
"getting_started.documentation": "Documentación",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Mostrar ajustes",
"column_header.unpin": "Dejar de fijar",
"column_subheading.settings": "Ajustes",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Solo media",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Este toot solo será enviado a los usuarios mencionados.",
"compose_form.direct_message_warning_learn_more": "Aprender mas",
"compose_form.hashtag_warning": "Este toot no se mostrará bajo hashtags porque no es público. Sólo los toots públicos se pueden buscar por hashtag.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Informar de un problema/error",
"follow_request.authorize": "Autorizar",
"follow_request.reject": "Rechazar",
"follow_requests.unlocked_explanation": "A pesar de que tu cuenta no es privada, el personal de {domain} ha pensado que quizás deberías revisar manualmente las solicitudes de seguimiento de estas cuentas.",
"getting_started.developers": "Desarrolladores",
"getting_started.directory": "Directorio de perfil",
"getting_started.documentation": "Documentación",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Näita sätteid",
"column_header.unpin": "Eemalda kinnitus",
"column_subheading.settings": "Sätted",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Ainult meedia",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "See tuut saadetakse ainult mainitud kasutajatele.",
"compose_form.direct_message_warning_learn_more": "Vaata veel",
"compose_form.hashtag_warning": "Seda tuuti ei kuvata ühegi sildi all, sest see on kirjendamata. Ainult avalikud tuutid on sildi järgi otsitavad.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Teavita veast",
"follow_request.authorize": "Autoriseeri",
"follow_request.reject": "Hülga",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Arendajad",
"getting_started.directory": "Profiili kataloog",
"getting_started.documentation": "Dokumentatsioon",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Erakutsi ezarpenak",
"column_header.unpin": "Desfinkatu",
"column_subheading.settings": "Ezarpenak",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Multimedia besterik ez",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Toot hau aipatutako erabiltzaileei besterik ez zaie bidaliko.",
"compose_form.direct_message_warning_learn_more": "Ikasi gehiago",
"compose_form.hashtag_warning": "Toot hau ez da traoletan agertuko zerrendatu gabekoa baita. Traoletan toot publikoak besterik ez dira agertzen.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Eman arazoaren berri",
"follow_request.authorize": "Baimendu",
"follow_request.reject": "Ukatu",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Garatzaileak",
"getting_started.directory": "Profil-direktorioa",
"getting_started.documentation": "Dokumentazioa",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "نمایش تنظیمات",
"column_header.unpin": "رهاکردن",
"column_subheading.settings": "تنظیمات",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "فقط رسانه",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "این بوق تنها به کاربرانی که از آن‌ها نام برده شده فرستاده خواهد شد.",
"compose_form.direct_message_warning_learn_more": "بیشتر بدانید",
"compose_form.hashtag_warning": "از آن‌جا که این بوق فهرست‌نشده است، در نتایج جست‌وجوی هشتگ‌ها پیدا نخواهد شد. تنها بوق‌های عمومی را می‌توان با جست‌وجوی هشتگ یافت.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "گزارش مشکل",
"follow_request.authorize": "اجازه دهید",
"follow_request.reject": "رد کنید",
"follow_requests.unlocked_explanation": "با یان که حسابتان قفل نیست، کارکنان {domain} فکر کردند که ممکن است بخواهید درخواست‌ها از این حساب‌ها را به صورت دستی بازبینی کنید.",
"getting_started.developers": "توسعه‌دهندگان",
"getting_started.directory": "فهرست گزیدهٔ کاربران",
"getting_started.documentation": "مستندات",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Näytä asetukset",
"column_header.unpin": "Poista kiinnitys",
"column_subheading.settings": "Asetukset",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Vain media",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Tämä tuuttaus näkyy vain mainituille käyttäjille.",
"compose_form.direct_message_warning_learn_more": "Lisätietoja",
"compose_form.hashtag_warning": "Tämä tuuttaus ei näy hashtag-hauissa, koska se on listaamaton. Hashtagien avulla voi hakea vain julkisia tuuttauksia.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Ilmoita ongelmasta",
"follow_request.authorize": "Valtuuta",
"follow_request.reject": "Hylkää",
"follow_requests.unlocked_explanation": "Vaikka tilisi ei ole lukittu, {domain} ylläpitäjien mielestä haluat tarkistaa näiden tilien seurauspyynnöt manuaalisesti.",
"getting_started.developers": "Kehittäjille",
"getting_started.directory": "Profiilihakemisto",
"getting_started.documentation": "Documentaatio",

View File

@ -34,7 +34,7 @@
"account.share": "Partager le profil de @{name}",
"account.show_reblogs": "Afficher les partages de @{name}",
"account.unblock": "Débloquer @{name}",
"account.unblock_domain": "Ne plus masquer {domain}",
"account.unblock_domain": "Débloquer le domaine {domain}",
"account.unendorse": "Ne plus recommander sur le profil",
"account.unfollow": "Ne plus suivre",
"account.unmute": "Ne plus masquer @{name}",
@ -57,7 +57,7 @@
"column.community": "Fil public local",
"column.direct": "Messages directs",
"column.directory": "Parcourir les profils",
"column.domain_blocks": "Domaines cachés",
"column.domain_blocks": "Domaines bloqués",
"column.favourites": "Favoris",
"column.follow_requests": "Demandes d'abonnement",
"column.home": "Accueil",
@ -74,7 +74,9 @@
"column_header.show_settings": "Afficher les paramètres",
"column_header.unpin": "Désépingler",
"column_subheading.settings": "Paramètres",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Média uniquement",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Ce pouet sera uniquement envoyé aux personnes mentionnées. Cependant, ladministration de votre instance et des instances réceptrices pourront inspecter ce message.",
"compose_form.direct_message_warning_learn_more": "En savoir plus",
"compose_form.hashtag_warning": "Ce pouet ne sera pas listé dans les recherches par hashtag car sa visibilité est réglée sur « non listé ». Seuls les pouets avec une visibilité « publique » peuvent être recherchés par hashtag.",
@ -103,7 +105,7 @@
"confirmations.delete.message": "Voulez-vous vraiment supprimer ce pouet?",
"confirmations.delete_list.confirm": "Supprimer",
"confirmations.delete_list.message": "Voulez-vous vraiment supprimer définitivement cette liste?",
"confirmations.domain_block.confirm": "Masquer le domaine entier",
"confirmations.domain_block.confirm": "Bloquer tout le domaine",
"confirmations.domain_block.message": "Voulez-vous vraiment, vraiment bloquer {domain} en entier? Dans la plupart des cas, quelques blocages ou masquages ciblés sont suffisants et préférables. Vous ne verrez plus de contenu provenant de ce domaine, ni dans fils publics, ni dans vos notifications. Vos abonné·e·s utilisant ce domaine seront retiré·e·s.",
"confirmations.logout.confirm": "Se déconnecter",
"confirmations.logout.message": "Voulez-vous vraiment vous déconnecter ?",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Signaler le problème",
"follow_request.authorize": "Accepter",
"follow_request.reject": "Rejeter",
"follow_requests.unlocked_explanation": "Même si votre compte nest pas verrouillé, léquipe de {domain} a pensé que vous pourriez vouloir consulter manuellement les demandes de suivi de ces comptes.",
"getting_started.developers": "Développeur·euse·s",
"getting_started.directory": "Annuaire des profils",
"getting_started.documentation": "Documentation",
@ -219,7 +222,7 @@
"keyboard_shortcuts.favourites": "ouvrir la liste des favoris",
"keyboard_shortcuts.federated": "ouvrir le fil public global",
"keyboard_shortcuts.heading": "Raccourcis clavier",
"keyboard_shortcuts.home": "le fil daccueil",
"keyboard_shortcuts.home": "ouvrir le fil daccueil",
"keyboard_shortcuts.hotkey": "Raccourci clavier",
"keyboard_shortcuts.legend": "afficher cet aide-mémoire",
"keyboard_shortcuts.local": "ouvrir le fil public local",
@ -265,7 +268,7 @@
"navigation_bar.compose": "Rédiger un nouveau pouet",
"navigation_bar.direct": "Messages directs",
"navigation_bar.discover": "Découvrir",
"navigation_bar.domain_blocks": "Domaines cachés",
"navigation_bar.domain_blocks": "Domaines bloqués",
"navigation_bar.edit_profile": "Modifier le profil",
"navigation_bar.favourites": "Favoris",
"navigation_bar.filters": "Mots masqués",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Show settings",
"column_header.unpin": "Unpin",
"column_subheading.settings": "Settings",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Media only",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.",
"compose_form.direct_message_warning_learn_more": "Learn more",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Report issue",
"follow_request.authorize": "Authorize",
"follow_request.reject": "Reject",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Developers",
"getting_started.directory": "Profile directory",
"getting_started.documentation": "Documentation",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Amosar axustes",
"column_header.unpin": "Desapegar",
"column_subheading.settings": "Axustes",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Só multimedia",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Este toot só será enviado ás usuarias mencionadas.",
"compose_form.direct_message_warning_learn_more": "Coñecer máis",
"compose_form.hashtag_warning": "Este toot non aparecerá baixo ningún cancelo (hashtag) porque non está listado. Só se poden procurar toots públicos por cancelos.",
@ -150,7 +152,7 @@
"empty_column.favourited_statuses": "Aínda non tes toots favoritos. Cando che goste algún, aparecerá aquí.",
"empty_column.favourites": "A ninguén lle gostou este toot polo momento. Cando a alguén lle goste, aparecerá aquí.",
"empty_column.follow_requests": "Non tes peticións de seguimento. Cando recibas unha, amosarase aquí.",
"empty_column.hashtag": "Aínda non hai nada con esta etiqueta.",
"empty_column.hashtag": "Aínda non hai nada con este cancelo.",
"empty_column.home": "A túa cronoloxía inicial está baleira! Visita {public} ou emprega a procura para atopar outras usuarias.",
"empty_column.home.public_timeline": "a cronoloxía pública",
"empty_column.list": "Aínda non hai nada en esta lista. Cando as usuarias incluídas na lista publiquen mensaxes, aparecerán aquí.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Informar sobre un problema",
"follow_request.authorize": "Autorizar",
"follow_request.reject": "Rexeitar",
"follow_requests.unlocked_explanation": "Malia que a túa conta non é privada, a administración de {domain} pensou que quizabes terías que revisar de xeito manual as solicitudes de seguiminto.",
"getting_started.developers": "Desenvolvedoras",
"getting_started.directory": "Directorio local",
"getting_started.documentation": "Documentación",
@ -176,11 +179,11 @@
"hashtag.column_header.tag_mode.any": "ou {additional}",
"hashtag.column_header.tag_mode.none": "sen {additional}",
"hashtag.column_settings.select.no_options_message": "Non se atoparon suxestións",
"hashtag.column_settings.select.placeholder": "Inserir etiquetas…",
"hashtag.column_settings.select.placeholder": "Inserir cancelos…",
"hashtag.column_settings.tag_mode.all": "Todos estes",
"hashtag.column_settings.tag_mode.any": "Calquera destes",
"hashtag.column_settings.tag_mode.none": "Ningún destes",
"hashtag.column_settings.tag_toggle": "Incluír etiquetas adicionais para esta columna",
"hashtag.column_settings.tag_toggle": "Incluír cancelos adicionais para esta columna",
"home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Amosar compartidos",
"home.column_settings.show_replies": "Amosar respostas",
@ -345,10 +348,10 @@
"report.target": "Denunciar a {target}",
"search.placeholder": "Procurar",
"search_popout.search_format": "Formato de procura avanzada",
"search_popout.tips.full_text": "Texto simple devolve estados que ti escribiches, promoviches, marcaches favoritos, ou foches mencionada, así como nomes de usuaria coincidentes, nomes públicos e etiquetas.",
"search_popout.tips.full_text": "Texto simple devolve estados que ti escribiches, promoviches, marcaches favoritos, ou foches mencionada, así como nomes de usuaria coincidentes, nomes públicos e cancelos.",
"search_popout.tips.hashtag": "cancelo",
"search_popout.tips.status": "estado",
"search_popout.tips.text": "Texto simple devolve coincidencias con nomes públicos, nomes de usuaria e etiquetas",
"search_popout.tips.text": "Texto simple devolve coincidencias con nomes públicos, nomes de usuaria e cancelos",
"search_popout.tips.user": "usuaria",
"search_results.accounts": "Persoas",
"search_results.hashtags": "Cancelos",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "הצגת העדפות",
"column_header.unpin": "שחרור קיבוע",
"column_subheading.settings": "אפשרויות",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Media only",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.",
"compose_form.direct_message_warning_learn_more": "Learn more",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Report issue",
"follow_request.authorize": "קבלה",
"follow_request.reject": "דחיה",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Developers",
"getting_started.directory": "Profile directory",
"getting_started.documentation": "Documentation",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "सेटिंग्स दिखाएँ",
"column_header.unpin": "अनपिन",
"column_subheading.settings": "सेटिंग्स",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "सिर्फ़ मीडिया",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.",
"compose_form.direct_message_warning_learn_more": "और जानें",
"compose_form.hashtag_warning": "यह टूट् किसी भी हैशटैग के तहत सूचीबद्ध नहीं होगा क्योंकि यह अनलिस्टेड है। हैशटैग द्वारा केवल सार्वजनिक टूट्स खोजे जा सकते हैं।",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "समस्या सूचित करें",
"follow_request.authorize": "अधिकार दें",
"follow_request.reject": "अस्वीकार करें",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "डेवॅलपर्स",
"getting_started.directory": "प्रोफ़ाइल निर्देशिका",
"getting_started.documentation": "प्रलेखन",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Show settings",
"column_header.unpin": "Unpin",
"column_subheading.settings": "Postavke",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Media only",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.",
"compose_form.direct_message_warning_learn_more": "Learn more",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Report issue",
"follow_request.authorize": "Autoriziraj",
"follow_request.reject": "Odbij",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Developers",
"getting_started.directory": "Profile directory",
"getting_started.documentation": "Documentation",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Beállítások mutatása",
"column_header.unpin": "Kitűzés eltávolítása",
"column_subheading.settings": "Beállítások",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Csak média",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Ezt a tülköt csak a benne megemlített felhasználók láthatják majd.",
"compose_form.direct_message_warning_learn_more": "Tudj meg többet",
"compose_form.hashtag_warning": "Ez a tülköd nem fog megjelenni semmilyen hashtag alatt mivel listázatlan. Csak nyilvános tülkök kereshetőek hashtaggel.",
@ -126,7 +128,7 @@
"directory.recently_active": "Nemrég aktív",
"embed.instructions": "Ágyazd be ezt a tülköt a weboldaladba az alábbi kód kimásolásával.",
"embed.preview": "Így fog kinézni:",
"emoji_button.activity": "Aktivitás",
"emoji_button.activity": "Tevékenység",
"emoji_button.custom": "Egyéni",
"emoji_button.flags": "Zászlók",
"emoji_button.food": "Étel és Ital",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Probléma jelentése",
"follow_request.authorize": "Engedélyezés",
"follow_request.reject": "Elutasítás",
"follow_requests.unlocked_explanation": "Bár a fiókod nincs zárolva, a(z) {domain} csapata úgy gondolta, hogy talán kézzel szeretnéd ellenőrizni a fiók követési kéréseit.",
"getting_started.developers": "Fejlesztőknek",
"getting_started.directory": "Profilok",
"getting_started.documentation": "Dokumentáció",
@ -419,7 +422,7 @@
"upload_form.audio_description": "Írja le a hallássérültek számára",
"upload_form.description": "Leírás látáskorlátozottak számára",
"upload_form.edit": "Szerkesztés",
"upload_form.undo": "Mégsem",
"upload_form.undo": "Törlés",
"upload_form.video_description": "Írja le a hallás- vagy látássérültek számára",
"upload_modal.analyzing_picture": "Kép elemzése…",
"upload_modal.apply": "Alkalmaz",

View File

@ -3,18 +3,18 @@
"account.badges.bot": "Բոտ",
"account.badges.group": "Խումբ",
"account.block": "Արգելափակել @{name}֊ին",
"account.block_domain": "Թաքցնել ամենը հետեւյալ տիրույթից՝ {domain}",
"account.block_domain": "Թաքցնել ամէնը հետեւեալ տիրոյթից՝ {domain}",
"account.blocked": "Արգելափակուած է",
"account.cancel_follow_request": "չեղարկել հետեւելու հայցը",
"account.direct": "Direct Message @{name}",
"account.domain_blocked": "Թաքցրած տիրոյթ",
"account.direct": "Նամակ գրել @{name} -ին",
"account.domain_blocked": "Տիրոյթը արգելափակուած է",
"account.edit_profile": "Խմբագրել անձնական էջը",
"account.endorse": "Ցուցադրել անձնական էջում",
"account.follow": "Հետեւել",
"account.followers": "Հետեւողներ",
"account.followers.empty": "Այս օգտատիրոջը դեռ ոչ մէկ չի հետեւում։",
"account.follows": "Հետեւում է",
"account.follows.empty": "Այս օգտատէրն դեռ ոչ մէկի չի հետեւում։",
"account.follows.empty": "Այս օգտատէրը դեռ ոչ մէկի չի հետեւում։",
"account.follows_you": "Հետեւում է քեզ",
"account.hide_reblogs": "Թաքցնել @{name}֊ի տարածածները",
"account.last_status": "Վերջին անգամ ակտիւ էր",
@ -22,31 +22,31 @@
"account.locked_info": "Սոյն հաշուի գաղտնիութեան մակարդակը նշուած է որպէս՝ փակ։ Հաշուի տէրն ընտրում է, թէ ով կարող է հետեւել իրեն։",
"account.media": "Մեդիա",
"account.mention": "Նշել @{name}֊ին",
"account.moved_to": "{name}֊ը տեղափոխվել է՝",
"account.moved_to": "{name}֊ը տեղափոխուել է՝",
"account.mute": "Լռեցնել @{name}֊ին",
"account.mute_notifications": "Անջատել ծանուցումները @{name}֊ից",
"account.muted": "Լռեցուած",
"account.never_active": "Երբեք",
"account.posts": "Թութ",
"account.posts_with_replies": "Toots with replies",
"account.report": "Բողոքել @{name}֊ից",
"account.posts_with_replies": "Թթեր եւ պատասխաններ",
"account.report": "Բողոքել @{name}֊ի մասին",
"account.requested": "Հաստատման կարիք ունի։ Սեղմիր՝ հետեւելու հայցը չեղարկելու համար։",
"account.share": "Կիսվել @{name}֊ի էջով",
"account.share": "Կիսուել @{name}֊ի էջով",
"account.show_reblogs": "Ցուցադրել @{name}֊ի տարածածները",
"account.unblock": "Ապաարգելափակել @{name}֊ին",
"account.unblock_domain": "Ցուցադրել {domain} թաքցված տիրույթի գրառումները",
"account.unblock_domain": "Ցուցադրել {domain} թաքցուած տիրոյթի գրառումները",
"account.unendorse": "Չցուցադրել անձնական էջում",
"account.unfollow": "Չհետեւել",
"account.unfollow": "Ապահետեւել",
"account.unmute": "Ապալռեցնել @{name}֊ին",
"account.unmute_notifications": "Միացնել ծանուցումները @{name}֊ից",
"alert.rate_limited.message": "Փորձէք որոշ ժամանակ անց՝ {retry_time, time, medium}։",
"alert.rate_limited.title": "Գործողությունների հաճախությունը գերազանցում է թույլատրելին",
"alert.rate_limited.title": "Գործողութիւնների յաճախութիւնը գերազանցում է թոյլատրելին",
"alert.unexpected.message": "Անսպասելի սխալ տեղի ունեցաւ։",
"alert.unexpected.title": "Վա՜յ",
"announcement.announcement": "Հայտարարություններ",
"announcement.announcement": "Յայտարարութիւններ",
"autosuggest_hashtag.per_week": "շաբաթը՝ {count}",
"boost_modal.combo": "Կարող ես սեղմել {combo}՝ սա հաջորդ անգամ բաց թողնելու համար",
"bundle_column_error.body": "Այս բաղադրիչը բեռնելու ընթացքում ինչ֊որ բան խափանվեց։",
"boost_modal.combo": "Կարող ես սեղմել {combo}՝ սա յաջորդ անգամ բաց թողնելու համար",
"bundle_column_error.body": "Այս բաղադրիչը բեռնելու ընթացքում ինչ֊որ բան խափանուեց։",
"bundle_column_error.retry": "Կրկին փորձել",
"bundle_column_error.title": "Ցանցային սխալ",
"bundle_modal_error.close": "Փակել",
@ -74,7 +74,9 @@
"column_header.show_settings": "Ցուցադրել կարգավորումները",
"column_header.unpin": "Հանել",
"column_subheading.settings": "Կարգավորումներ",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Media only",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.",
"compose_form.direct_message_warning_learn_more": "Իմանալ ավելին",
"compose_form.hashtag_warning": "Այս թութը չի հաշվառվի որեւէ պիտակի տակ, քանզի այն ծածուկ է։ Միայն հրապարակային թթերը հնարավոր է որոնել պիտակներով։",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Զեկուցել խնդրի մասին",
"follow_request.authorize": "Վավերացնել",
"follow_request.reject": "Մերժել",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Մշակողներ",
"getting_started.directory": "Օգտատերերի շտեմարան",
"getting_started.documentation": "Փաստաթղթեր",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Tampilkan pengaturan",
"column_header.unpin": "Lepaskan",
"column_subheading.settings": "Pengaturan",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Hanya media",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.",
"compose_form.direct_message_warning_learn_more": "Pelajari selengkapnya",
"compose_form.hashtag_warning": "Toot ini tidak akan ada dalam daftar tagar manapun karena telah di set sebagai tidak terdaftar. Hanya postingan publik yang bisa dicari dengan tagar.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Laporkan masalah",
"follow_request.authorize": "Izinkan",
"follow_request.reject": "Tolak",
"follow_requests.unlocked_explanation": "Meskipun akun Anda tidak dikunci, staf {domain} menyarankan Anda untuk meninjau permintaan mengikuti dari akun-akun ini secara manual.",
"getting_started.developers": "Pengembang",
"getting_started.directory": "Direktori profil",
"getting_started.documentation": "Dokumentasi",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Show settings",
"column_header.unpin": "Unpin",
"column_subheading.settings": "Settings",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Media only",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.",
"compose_form.direct_message_warning_learn_more": "Learn more",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Report issue",
"follow_request.authorize": "Yurizar",
"follow_request.reject": "Refuzar",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Developers",
"getting_started.directory": "Profile directory",
"getting_started.documentation": "Documentation",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Birta stillingar",
"column_header.unpin": "Losa",
"column_subheading.settings": "Stillingar",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Einungis myndskrár",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Þetta tíst verður aðeins sent á notendur sem minnst er á.",
"compose_form.direct_message_warning_learn_more": "Kanna nánar",
"compose_form.hashtag_warning": "Þetta tíst verður ekki talið með undir nokkru myllumerki þar sem það er óskráð. Einungis er hægt að leita að opinberum tístum eftir myllumerkjum.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Tilkynna vandamál",
"follow_request.authorize": "Heimila",
"follow_request.reject": "Hafna",
"follow_requests.unlocked_explanation": "Jafnvel þótt aðgangurinn þinn sé ekki læstur, hafa umsjónarmenn {domain} ímyndað sér að þú gætir viljað yfirfara handvirkt fylgjendabeiðnir frá þessum notendum.",
"getting_started.developers": "Forritarar",
"getting_started.directory": "Notandasniðamappa",
"getting_started.documentation": "Hjálparskjöl",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Mostra impostazioni",
"column_header.unpin": "Non fissare in cima",
"column_subheading.settings": "Impostazioni",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Solo media",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Questo toot sarà mandato solo a tutti gli utenti menzionati.",
"compose_form.direct_message_warning_learn_more": "Per saperne di più",
"compose_form.hashtag_warning": "Questo toot non è listato, quindi non sarà trovato nelle ricerche per hashtag. Solo i toot pubblici possono essere cercati per hashtag.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Segnala il problema",
"follow_request.authorize": "Autorizza",
"follow_request.reject": "Rifiuta",
"follow_requests.unlocked_explanation": "Anche se il tuo account non è bloccato, lo staff di {domain} ha pensato che potresti voler esaminare manualmente le richieste di seguirti di questi account.",
"getting_started.developers": "Sviluppatori",
"getting_started.directory": "Directory dei profili",
"getting_started.documentation": "Documentazione",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "設定を表示",
"column_header.unpin": "ピン留めを外す",
"column_subheading.settings": "設定",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "メディアのみ表示",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "このトゥートはメンションされた人にのみ送信されます。",
"compose_form.direct_message_warning_learn_more": "もっと詳しく",
"compose_form.hashtag_warning": "このトゥートは公開設定ではないのでハッシュタグの一覧に表示されません。公開トゥートだけがハッシュタグで検索できます。",
@ -166,6 +168,7 @@
"errors.unexpected_crash.report_issue": "問題を報告",
"follow_request.authorize": "許可",
"follow_request.reject": "拒否",
"follow_requests.unlocked_explanation": "あなたのアカウントは承認制ではありませんが、{domain} のスタッフはこれらのアカウントからのフォローリクエストの確認が必要であると判断しました。",
"getting_started.developers": "開発",
"getting_started.directory": "ディレクトリ",
"getting_started.documentation": "ドキュメント",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "პარამეტრების ჩვენება",
"column_header.unpin": "პინის მოხსნა",
"column_subheading.settings": "პარამეტრები",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "მხოლოდ მედია",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "ეს ტუტი გაეგზავნება მხოლოდ ნახსენებ მომხმარებლებს.",
"compose_form.direct_message_warning_learn_more": "გაიგე მეტი",
"compose_form.hashtag_warning": "ეს ტუტი არ მოექცევა ჰეშტეგების ქვეს, რამეთუ ის არაა მითითებული. მხოლოდ ღია ტუტები მოიძებნება ჰეშტეგით.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Report issue",
"follow_request.authorize": "ავტორიზაცია",
"follow_request.reject": "უარყოფა",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "დეველოპერები",
"getting_started.directory": "Profile directory",
"getting_started.documentation": "დოკუმენტაცია",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Sken iɣewwaṛen",
"column_header.unpin": "Kkes asenteḍ",
"column_subheading.settings": "Iγewwaṛen",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Allal n teywalt kan",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Tajewwaqt-a ad d-tettwasken kan i yimseqdacen i d-yettwabedren.",
"compose_form.direct_message_warning_learn_more": "Issin ugar",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Mmel ugur",
"follow_request.authorize": "Ssireg",
"follow_request.reject": "Agi",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Ineflayen",
"getting_started.directory": "Akaram n imaγnuten",
"getting_started.documentation": "Amnir",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Баптауларды көрсет",
"column_header.unpin": "Алып тастау",
"column_subheading.settings": "Баптаулар",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Тек медиа",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Тек аталған қолданушыларға.",
"compose_form.direct_message_warning_learn_more": "Көбірек білу",
"compose_form.hashtag_warning": "Бұл пост іздеуде хэштегпен шықпайды, өйткені ол бәріне ашық емес. Тек ашық жазбаларды ғана хэштег арқылы іздеп табуға болады.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Мәселені хабарла",
"follow_request.authorize": "Авторизация",
"follow_request.reject": "Қабылдамау",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Жасаушылар тобы",
"getting_started.directory": "Профильдер каталогы",
"getting_started.documentation": "Құжаттама",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Show settings",
"column_header.unpin": "Unpin",
"column_subheading.settings": "Settings",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Media only",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.",
"compose_form.direct_message_warning_learn_more": "Learn more",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Report issue",
"follow_request.authorize": "Authorize",
"follow_request.reject": "Reject",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Developers",
"getting_started.directory": "Profile directory",
"getting_started.documentation": "Documentation",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "설정 보이기",
"column_header.unpin": "고정 해제",
"column_subheading.settings": "설정",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "미디어만",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "이 툿은 멘션 된 유저들에게만 보여집니다.",
"compose_form.direct_message_warning_learn_more": "더 알아보기",
"compose_form.hashtag_warning": "이 툿은 어떤 해시태그로도 검색 되지 않습니다. 전체공개로 게시 된 툿만이 해시태그로 검색 될 수 있습니다.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "문제 신고",
"follow_request.authorize": "허가",
"follow_request.reject": "거부",
"follow_requests.unlocked_explanation": "당신의 계정이 잠기지 않았다고 할 지라도, {domain}의 스탭은 당신이 이 계정들로부터의 팔로우 요청을 수동으로 확인하길 원한다고 생각했습니다.",
"getting_started.developers": "개발자",
"getting_started.directory": "프로필 책자",
"getting_started.documentation": "문서",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Show settings",
"column_header.unpin": "Unpin",
"column_subheading.settings": "Settings",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Media only",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.",
"compose_form.direct_message_warning_learn_more": "Learn more",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Report issue",
"follow_request.authorize": "Authorize",
"follow_request.reject": "Reject",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Developers",
"getting_started.directory": "Profile directory",
"getting_started.documentation": "Documentation",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Rādīt iestatījumus",
"column_header.unpin": "Atspraust",
"column_subheading.settings": "Iestatījumi",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Tikai mēdiji",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Šis ziņojums tiks nosūtīts tikai pieminētajiem lietotājiem.",
"compose_form.direct_message_warning_learn_more": "Papildus informācija",
"compose_form.hashtag_warning": "Ziņojumu nebūs iespējams atrast zem haštagiem jo tas nav publisks. Tikai publiskos ziņojumus ir iespējams meklēt pēc tiem.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Report issue",
"follow_request.authorize": "Autorizēt",
"follow_request.reject": "Noraidīt",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Developers",
"getting_started.directory": "Profile directory",
"getting_started.documentation": "Documentation",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Прикажи подесувања",
"column_header.unpin": "Unpin",
"column_subheading.settings": "Подесувања",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Само медиа",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.",
"compose_form.direct_message_warning_learn_more": "Научи повеќе",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Пријавете проблем",
"follow_request.authorize": "Одобри",
"follow_request.reject": "Одбиј",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Програмери",
"getting_started.directory": "Профил директориум",
"getting_started.documentation": "Документација",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "ക്രമീകരണങ്ങൾ കാണിക്കുക",
"column_header.unpin": "ഇളക്കി മാറ്റുക",
"column_subheading.settings": "ക്രമീകരണങ്ങള്‍",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "മാധ്യമങ്ങൾ മാത്രം",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "പരാമർശിക്കപ്പെട്ടിരിക്കുന്ന ഉപയോഗ്താക്കൾക്കെ ഈ ടൂട്ട് അയക്കപ്പെടുകയുള്ളു.",
"compose_form.direct_message_warning_learn_more": "കൂടുതൽ പഠിക്കുക",
"compose_form.hashtag_warning": "ഈ ടൂട്ട് പട്ടികയിൽ ഇല്ലാത്തതിനാൽ ഒരു ചർച്ചാവിഷയത്തിന്റെ പട്ടികയിലും പെടുകയില്ല. പരസ്യമായ ടൂട്ടുകൾ മാത്രമേ ചർച്ചാവിഷയം അടിസ്ഥാനമാക്കി തിരയുവാൻ സാധിക്കുകയുള്ളു.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "പ്രശ്നം അറിയിക്കുക",
"follow_request.authorize": "ചുമതലപ്പെടുത്തുക",
"follow_request.reject": "നിരസിക്കുക",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "വികസിപ്പിക്കുന്നവർ",
"getting_started.directory": "രൂപരേഖ നാമഗൃഹസൂചി",
"getting_started.documentation": "രേഖാ സമാഹരണം",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "सेटिंग्स दाखवा",
"column_header.unpin": "अनपिन करा",
"column_subheading.settings": "सेटिंग्ज",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "केवळ मीडिया",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.",
"compose_form.direct_message_warning_learn_more": "अधिक जाणून घ्या",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Report issue",
"follow_request.authorize": "Authorize",
"follow_request.reject": "Reject",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Developers",
"getting_started.directory": "Profile directory",
"getting_started.documentation": "Documentation",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Show settings",
"column_header.unpin": "Unpin",
"column_subheading.settings": "Settings",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Media only",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.",
"compose_form.direct_message_warning_learn_more": "Learn more",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Report issue",
"follow_request.authorize": "Authorize",
"follow_request.reject": "Reject",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Developers",
"getting_started.directory": "Profile directory",
"getting_started.documentation": "Documentation",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Instellingen tonen",
"column_header.unpin": "Losmaken",
"column_subheading.settings": "Instellingen",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Alleen media",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Deze toot wordt alleen naar vermelde gebruikers verstuurd. Echter, de beheerders en moderatoren van jouw en de ontvangende server(s) kunnen dit bericht mogelijk wel bekijken.",
"compose_form.direct_message_warning_learn_more": "Meer leren",
"compose_form.hashtag_warning": "Deze toot valt niet onder een hashtag te bekijken, omdat deze niet op openbare tijdlijnen wordt getoond. Alleen openbare toots kunnen via hashtags gevonden worden.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Technisch probleem melden",
"follow_request.authorize": "Goedkeuren",
"follow_request.reject": "Afkeuren",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Ontwikkelaars",
"getting_started.directory": "Gebruikersgids",
"getting_started.documentation": "Documentatie",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Vis innstillingar",
"column_header.unpin": "Løys",
"column_subheading.settings": "Innstillingar",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Berre media",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Dette tutet vert berre synleg for nemnde brukarar.",
"compose_form.direct_message_warning_learn_more": "Lær meir",
"compose_form.hashtag_warning": "Dette tutet vert ikkje oppført under nokon emneknagg sidan det ikkje er oppført. Berre offentlege tut kan verta søkt etter med emneknagg.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Rapporter problem",
"follow_request.authorize": "Autoriser",
"follow_request.reject": "Avvis",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Utviklarar",
"getting_started.directory": "Profilkatalog",
"getting_started.documentation": "Dokumentasjon",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Vis innstillinger",
"column_header.unpin": "Løsne",
"column_subheading.settings": "Innstillinger",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Media only",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.",
"compose_form.direct_message_warning_learn_more": "Lær mer",
"compose_form.hashtag_warning": "Denne tuten blir ikke listet under noen emneknagger da den er ulistet. Kun offentlige tuter kan søktes etter med emneknagg.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Rapporter en feil",
"follow_request.authorize": "Autorisér",
"follow_request.reject": "Avvis",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"getting_started.developers": "Utviklere",
"getting_started.directory": "Profilmappe",
"getting_started.documentation": "Dokumentasjon",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Mostrar los paramètres",
"column_header.unpin": "Despenjar",
"column_subheading.settings": "Paramètres",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Solament los mèdias",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Sols los mencionats poiràn veire aqueste tut.",
"compose_form.direct_message_warning_learn_more": "Ne saber mai",
"compose_form.hashtag_warning": "Aqueste tut serà pas ligat a cap detiqueta estant ques pas listat. Òm pòt pas cercar que los tuts publics per etiqueta.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Senhalar un problèma",
"follow_request.authorize": "Acceptar",
"follow_request.reject": "Regetar",
"follow_requests.unlocked_explanation": "Encara que vòstre compte siasque pas verrolhat, la còla de {domain} pensèt que volriatz benlèu repassar las demandas dabonament daquestes comptes.",
"getting_started.developers": "Desvelopaires",
"getting_started.directory": "Annuari de perfils",
"getting_started.documentation": "Documentacion",
@ -426,7 +429,7 @@
"upload_modal.description_placeholder": "Lo dròlle bilingüe manja un yaourt de ròcs exagonals e kiwis verds farà un an mai",
"upload_modal.detect_text": "Detectar lo tèxt de limatge",
"upload_modal.edit_media": "Modificar lo mèdia",
"upload_modal.hint": "Clicatz o lissatz lo cercle de lapercebut per causir lo ponch que serà totjorn visible dins las vinhetas.",
"upload_modal.hint": "Clicatz o lisatz lo cercle de lapercebut per causir lo ponch que serà totjorn visible dins las vinhetas.",
"upload_modal.preview_label": "Apercebut ({ratio})",
"upload_progress.label": "Mandadís…",
"video.close": "Tampar la vidèo",

View File

@ -74,7 +74,9 @@
"column_header.show_settings": "Pokaż ustawienia",
"column_header.unpin": "Cofnij przypięcie",
"column_subheading.settings": "Ustawienia",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Tylko zawartość multimedialna",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Ten wpis będzie widoczny tylko dla wszystkich wspomnianych użytkowników.",
"compose_form.direct_message_warning_learn_more": "Dowiedz się więcej",
"compose_form.hashtag_warning": "Ten wpis nie będzie widoczny pod podanymi hashtagami, ponieważ jest oznaczony jako niewidoczny. Tylko publiczne wpisy mogą zostać znalezione z użyciem hashtagów.",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Zgłoś problem",
"follow_request.authorize": "Autoryzuj",
"follow_request.reject": "Odrzuć",
"follow_requests.unlocked_explanation": "Mimo że Twoje konto nie jest zablokowane, zespół {domain} uznał że możesz chcieć ręcznie przejrzeć prośby o możliwość śledzenia.",
"getting_started.developers": "Dla programistów",
"getting_started.directory": "Katalog profilów",
"getting_started.documentation": "Dokumentacja",

View File

@ -1,9 +1,9 @@
{
"account.add_or_remove_from_list": "Adicionar ou remover das listas",
"account.add_or_remove_from_list": "Adicionar ou Remover de listas",
"account.badges.bot": "Robô",
"account.badges.group": "Grupo",
"account.block": "Bloquear @{name}",
"account.block_domain": "Bloquear {domain}",
"account.block_domain": "Bloquear domínio {domain}",
"account.blocked": "Bloqueado",
"account.cancel_follow_request": "Cancelar solicitação para seguir",
"account.direct": "Enviar toot direto para @{name}",
@ -17,8 +17,8 @@
"account.follows.empty": "Nada aqui.",
"account.follows_you": "Segue você",
"account.hide_reblogs": "Ocultar boosts de @{name}",
"account.last_status": "Última atividade",
"account.link_verified_on": "O link foi verificado em {date}",
"account.last_status": "Ativo pela última vez",
"account.link_verified_on": "Posse deste link foi verificada em {date}",
"account.locked_info": "Esta conta está trancada. Sua solicitação para seguir requer aprovação manual do usuário.",
"account.media": "Mídia",
"account.mention": "Mencionar @{name}",
@ -34,18 +34,18 @@
"account.share": "Compartilhar perfil de @{name}",
"account.show_reblogs": "Mostrar boosts de @{name}",
"account.unblock": "Desbloquear @{name}",
"account.unblock_domain": "Desbloquear {domain}",
"account.unblock_domain": "Desbloquear domínio {domain}",
"account.unendorse": "Não destacar no perfil",
"account.unfollow": "Deixar de seguir",
"account.unmute": "Desfazer silêncio de @{name}",
"account.unmute": "Tirar @{name} do mudo",
"account.unmute_notifications": "Mostrar notificações de @{name}",
"alert.rate_limited.message": "Por favor tente novamente após {retry_time, time, medium}.",
"alert.rate_limited.title": "Tentativas limitadas",
"alert.rate_limited.title": "Frequência limitada",
"alert.unexpected.message": "Ocorreu um erro inesperado.",
"alert.unexpected.title": "Eita!",
"announcement.announcement": "Anúncio",
"autosuggest_hashtag.per_week": "{count} por semana",
"boost_modal.combo": "Pressione {combo} para ignorar este diálogo na próxima vez",
"boost_modal.combo": "Pode pressionar {combo} para pular isto na próxima vez",
"bundle_column_error.body": "Ocorreu um problema ao carregar este componente.",
"bundle_column_error.retry": "Tente novamente",
"bundle_column_error.title": "Erro de rede",
@ -74,19 +74,21 @@
"column_header.show_settings": "Mostrar configurações",
"column_header.unpin": "Desafixar",
"column_subheading.settings": "Configurações",
"community.column_settings.media_only": "Apenas mídia",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Somente Mídia",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Este toot só será enviado aos usuários mencionados.",
"compose_form.direct_message_warning_learn_more": "Saiba mais",
"compose_form.hashtag_warning": "O toot não será listado nas hashtags porque não é público. Somente toots públicos podem ser pesquisados por hashtag. Dica: Poste como Não-listado.",
"compose_form.hashtag_warning": "Este toot não vai estar listado em nenhuma hashtag porque está como não-listado. Somente toots públicos podem ser pesquisados por hashtag.",
"compose_form.lock_disclaimer": "Sua conta não está {locked}. Qualquer pessoa pode te seguir e ver seus toots privados.",
"compose_form.lock_disclaimer.lock": "trancada",
"compose_form.placeholder": "No que você está pensando?",
"compose_form.poll.add_option": "Adicionar opção",
"compose_form.poll.add_option": "Adicionar uma escolha",
"compose_form.poll.duration": "Duração da enquete",
"compose_form.poll.option_placeholder": "Opção {number}",
"compose_form.poll.remove_option": "Remover opção",
"compose_form.poll.switch_to_multiple": "Alterar para múltiplos votos",
"compose_form.poll.switch_to_single": "Alterar para voto único",
"compose_form.poll.option_placeholder": "Escolha {number}",
"compose_form.poll.remove_option": "Remover esta escolha",
"compose_form.poll.switch_to_multiple": "Alterar enquete para permitir múltiplas escolhas",
"compose_form.poll.switch_to_single": "Alterar enquete para permitir uma única escolha",
"compose_form.publish": "TOOT",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.hide": "Marcar mídia como sensível",
@ -103,7 +105,7 @@
"confirmations.delete.message": "Você tem certeza de que deseja excluir este toot?",
"confirmations.delete_list.confirm": "Excluir",
"confirmations.delete_list.message": "Você tem certeza de que deseja excluir esta lista?",
"confirmations.domain_block.confirm": "Bloquear domínio",
"confirmations.domain_block.confirm": "Bloquear domínio inteiro",
"confirmations.domain_block.message": "Você tem certeza de que deseja bloquear tudo de {domain}? Você não verá mais o conteúdo desta instância em nenhuma linha do tempo pública ou nas suas notificações. Seus seguidores desta instância serão removidos.",
"confirmations.logout.confirm": "Sair",
"confirmations.logout.message": "Você tem certeza de que deseja sair?",
@ -120,16 +122,16 @@
"conversation.mark_as_read": "Marcar como lida",
"conversation.open": "Ver conversa",
"conversation.with": "Com {names}",
"directory.federated": "Do fediverso",
"directory.federated": "Do fediverso conhecido",
"directory.local": "Apenas do {domain}",
"directory.new_arrivals": "Acabaram de chegar",
"directory.recently_active": "Ativos recentemente",
"embed.instructions": "Incorpore este toot no seu site copiando o código abaixo.",
"embed.preview": "Veja como vai ficar:",
"emoji_button.activity": "Atividades",
"embed.instructions": "Incorpore este status em seu website ao copiar o código abaixo.",
"embed.preview": "Aqui está como vai ficar:",
"emoji_button.activity": "Atividade",
"emoji_button.custom": "Personalizados",
"emoji_button.flags": "Bandeiras",
"emoji_button.food": "Comidas e Bebidas",
"emoji_button.food": "Comida & Bebida",
"emoji_button.label": "Inserir emoji",
"emoji_button.nature": "Natureza",
"emoji_button.not_found": "Sem emojis! (╯°□°)╯︵ ┻━┻",
@ -139,31 +141,32 @@
"emoji_button.search": "Pesquisar...",
"emoji_button.search_results": "Resultados da pesquisa",
"emoji_button.symbols": "Símbolos",
"emoji_button.travel": "Viagens e Lugares",
"emoji_button.travel": "Viagem & Lugares",
"empty_column.account_timeline": "Nada aqui!",
"empty_column.account_unavailable": "Perfil indisponível",
"empty_column.blocks": "Nada aqui.",
"empty_column.bookmarked_statuses": "Nada aqui. Quando você salvar um toot, ele aparecerá aqui.",
"empty_column.community": "A linha do tempo local está vazia. Poste algo publicamente para começar!",
"empty_column.community": "A linha do tempo local está vazia. Escreva algo publicamente para fazer a bola rolar!",
"empty_column.direct": "Nada aqui. Quando você enviar ou receber toots diretos, eles aparecerão aqui.",
"empty_column.domain_blocks": "Nada aqui.",
"empty_column.domain_blocks": "Não há domínios bloqueados ainda.",
"empty_column.favourited_statuses": "Nada aqui. Quando você favoritar um toot, ele aparecerá aqui.",
"empty_column.favourites": "Nada aqui. Quando alguém favoritar, o autor aparecerá aqui.",
"empty_column.follow_requests": "Nada aqui. Quando você receber solicitações de seguidores, elas aparecerão aqui.",
"empty_column.hashtag": "Nada aqui.",
"empty_column.home": "Sua linha do tempo está vazia. Visite a linha {public} ou use a pesquisa para conhecer outros usuários!",
"empty_column.home": "Sua linha do tempo está vazia! Visite {public} ou use a pesquisa para começar e conhecer outros usuários.",
"empty_column.home.public_timeline": "a linha do tempo pública",
"empty_column.list": "Nada aqui. Quando os usuários nesta lista postarem toots, eles aparecerão aqui.",
"empty_column.lists": "Nada aqui. Quando você criar listas, elas aparecerão aqui.",
"empty_column.mutes": "Nada aqui.",
"empty_column.notifications": "Nada aqui. Interaja com outros usuários para começar a conversar.",
"empty_column.public": "Nada aqui! Poste algo publicamente ou siga usuários de outras instâncias",
"error.unexpected_crash.explanation": "Devido a um problema em nosso código ou de compatibilidade com o navegador, esta página não pôde ser exibida corretamente.",
"error.unexpected_crash.next_steps": "Tente atualizar a página. Se não resolver, você ainda pode usar o Mastodon em outro navegador ou aplicativo.",
"errors.unexpected_crash.copy_stacktrace": "Copiar estado da pilha para a área de transferência",
"errors.unexpected_crash.report_issue": "Reportar problema",
"empty_column.public": "Não há nada aqui! Escreva algo publicamente, ou siga manualmente usuários de outros servidores para enchê-la",
"error.unexpected_crash.explanation": "Devido a um bug em nosso código ou um problema de compatibilidade de navegador, esta página não pôde ser exibida corretamente.",
"error.unexpected_crash.next_steps": "Tente atualizar a página. Se não resolver, você ainda pode conseguir usar o Mastodon por meio de um navegador ou app nativo diferente.",
"errors.unexpected_crash.copy_stacktrace": "Copiar stacktrace para área de transferência",
"errors.unexpected_crash.report_issue": "Denunciar problema",
"follow_request.authorize": "Aprovar",
"follow_request.reject": "Vetar",
"follow_requests.unlocked_explanation": "Embora sua conta não esteja trancada, o staff de {domain} achou que você podia querer revisar pedidos para te seguir destas contas manualmente.",
"getting_started.developers": "Desenvolvedores",
"getting_started.directory": "Diretório de perfis",
"getting_started.documentation": "Documentação",
@ -176,36 +179,36 @@
"hashtag.column_header.tag_mode.any": "ou {additional}",
"hashtag.column_header.tag_mode.none": "sem {additional}",
"hashtag.column_settings.select.no_options_message": "Nenhuma sugestão encontrada",
"hashtag.column_settings.select.placeholder": "Adicione hashtags…",
"hashtag.column_settings.tag_mode.all": "Todas essas",
"hashtag.column_settings.tag_mode.any": "Qualquer uma dessas",
"hashtag.column_settings.tag_mode.none": "Nenhuma dessas",
"hashtag.column_settings.tag_toggle": "Adicionar mais hashtags",
"hashtag.column_settings.select.placeholder": "Insira hashtags…",
"hashtag.column_settings.tag_mode.all": "Todas estas",
"hashtag.column_settings.tag_mode.any": "Qualquer uma destas",
"hashtag.column_settings.tag_mode.none": "Nenhuma destas",
"hashtag.column_settings.tag_toggle": "Incluir tags adicionais para esta coluna",
"home.column_settings.basic": "Básico",
"home.column_settings.show_reblogs": "Mostrar boosts",
"home.column_settings.show_replies": "Mostrar respostas",
"home.hide_announcements": "Ocultar anúncios",
"home.hide_announcements": "Esconder anúncios",
"home.show_announcements": "Mostrar anúncios",
"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}}",
"introduction.federation.action": "Próximo",
"introduction.federation.federated.headline": "Global",
"introduction.federation.federated.text": "Toots públicos de outras instâncias do fediverso aparecerão na linha global.",
"introduction.federation.home.headline": "Página inicial",
"introduction.federation.home.text": "Os toots das pessoas que você segue aparecerão na página inicial. Você pode seguir pessoas de qualquer instância!",
"introduction.federation.federated.headline": "Federada",
"introduction.federation.federated.text": "Posts públicos de outros servidores do fediverso vão aparecer na linha do tempo federada.",
"introduction.federation.home.headline": "Início",
"introduction.federation.home.text": "Posts de pessoas que você segue vão aparecer no seu feed de início. Você pode seguir qualquer pessoa em qualquer servidor!",
"introduction.federation.local.headline": "Local",
"introduction.federation.local.text": "Toots públicos de pessoas na mesma instância que você aparecerão na linha local.",
"introduction.interactions.action": "Terminar o tutorial!",
"introduction.federation.local.text": "Posts públicos de pessoas no mesmo servidor que você vão aparecer na linha do tempo local.",
"introduction.interactions.action": "Terminar tutorial!",
"introduction.interactions.favourite.headline": "Favoritos",
"introduction.interactions.favourite.text": "Ao favoritar, você sinaliza ao autor que você gostou do toot.",
"introduction.interactions.reblog.headline": "Boost",
"introduction.interactions.reblog.text": "Ao dar boost, você compartilha toots de outras pessoas para seus seguidores.",
"introduction.interactions.reply.headline": "Responder",
"introduction.interactions.reply.text": "Você pode responder aos toots de outras pessoas e formar uma conversa ou responder aos seus e formar uma sequência.",
"introduction.welcome.action": "É HORA DO SHOW!",
"introduction.welcome.action": "Vamos lá!",
"introduction.welcome.headline": "Primeiros passos",
"introduction.welcome.text": "Boas vindas ao fediverso! Logo você vai poder publicar mensagens e falar com pessoas amigas através de uma variedade de instâncias. Mas esta instância, {domain}, é especial — é onde o seu perfil está guardado, então lembre do nome dela com carinho.",
"introduction.welcome.text": "Boas vindas ao fediverso! Em alguns momentos, você vai poder transmitir mensagens e falar com pessoas amigas através de uma variedade de servidores. Mas este servidor, {domain}, é especial—é onde seu perfil está hospedado, então lembre do nome dele.",
"keyboard_shortcuts.back": "voltar",
"keyboard_shortcuts.blocked": "abrir lista de usuários bloqueados",
"keyboard_shortcuts.boost": "dar boost",
@ -213,32 +216,32 @@
"keyboard_shortcuts.compose": "focar na composição",
"keyboard_shortcuts.description": "Descrição",
"keyboard_shortcuts.direct": "abrir Mensagens Diretas",
"keyboard_shortcuts.down": "mover para baixo na linha",
"keyboard_shortcuts.enter": "expandir um toot",
"keyboard_shortcuts.down": "para mover para baixo na lista",
"keyboard_shortcuts.enter": "para abrir status",
"keyboard_shortcuts.favourite": "favoritar",
"keyboard_shortcuts.favourites": "abrir os favoritos",
"keyboard_shortcuts.federated": "abrir linha global",
"keyboard_shortcuts.federated": "para abrir linha do tempo federada",
"keyboard_shortcuts.heading": "Atalhos de teclado",
"keyboard_shortcuts.home": "abrir página inicial",
"keyboard_shortcuts.home": "para abrir linha do tempo de início",
"keyboard_shortcuts.hotkey": "Atalho",
"keyboard_shortcuts.legend": "mostrar estes atalhos",
"keyboard_shortcuts.local": "abrir linha local",
"keyboard_shortcuts.mention": "mencionar autor",
"keyboard_shortcuts.local": "para abrir linha do tempo local",
"keyboard_shortcuts.mention": "para mencionar autor",
"keyboard_shortcuts.muted": "abrir lista de usuários silenciados",
"keyboard_shortcuts.my_profile": "abrir seu perfil",
"keyboard_shortcuts.notifications": "abrir notificações",
"keyboard_shortcuts.open_media": "abrir mídia",
"keyboard_shortcuts.my_profile": "para abrir seu perfil",
"keyboard_shortcuts.notifications": "para abrir coluna de notificações",
"keyboard_shortcuts.open_media": "para abrir mídia",
"keyboard_shortcuts.pinned": "abrir toots fixados",
"keyboard_shortcuts.profile": "abrir o perfil do autor",
"keyboard_shortcuts.reply": "responder",
"keyboard_shortcuts.requests": "abrir lista de seguidores pendentes",
"keyboard_shortcuts.search": "focar na pesquisa",
"keyboard_shortcuts.start": "abrir o \"Primeiros passos\"",
"keyboard_shortcuts.profile": "para abrir perfil do autor",
"keyboard_shortcuts.reply": "para responder",
"keyboard_shortcuts.requests": "para abrir lista de pedidos para seguir",
"keyboard_shortcuts.search": "para focar pesquisa",
"keyboard_shortcuts.start": "para abrir coluna \"primeiros passos\"",
"keyboard_shortcuts.toggle_hidden": "mostrar/ocultar o toot com Aviso de Conteúdo",
"keyboard_shortcuts.toggle_sensitivity": "mostrar/ocultar mídia",
"keyboard_shortcuts.toot": "compor novo toot",
"keyboard_shortcuts.unfocus": "sair da composição ou da pesquisa",
"keyboard_shortcuts.up": "mover para cima na linha",
"keyboard_shortcuts.toot": "para começar um toot novo em folha",
"keyboard_shortcuts.unfocus": "para desfocar de área de texto de composição/pesquisa",
"keyboard_shortcuts.up": "para mover para cima na lista",
"lightbox.close": "Fechar",
"lightbox.next": "Próximo",
"lightbox.previous": "Anterior",
@ -254,16 +257,16 @@
"lists.subheading": "Suas listas",
"load_pending": "{count, plural, one {# novo item} other {# novos items}}",
"loading_indicator.label": "Carregando...",
"media_gallery.toggle_visible": "Mostrar/Ocultar",
"media_gallery.toggle_visible": "Esconder mídia",
"missing_indicator.label": "Não encontrado",
"missing_indicator.sublabel": "Esse recurso não pôde ser encontrado",
"mute_modal.hide_notifications": "Ocultar notificações deste usuário?",
"navigation_bar.apps": "Aplicativos",
"navigation_bar.blocks": "Usuários bloqueados",
"navigation_bar.bookmarks": "Salvos",
"navigation_bar.community_timeline": "Local",
"navigation_bar.community_timeline": "Linha do tempo local",
"navigation_bar.compose": "Compor novo toot",
"navigation_bar.direct": "Mensagens Diretas",
"navigation_bar.direct": "Mensagens diretas",
"navigation_bar.discover": "Descobrir",
"navigation_bar.domain_blocks": "Domínios bloqueados",
"navigation_bar.edit_profile": "Editar perfil",
@ -271,7 +274,7 @@
"navigation_bar.filters": "Palavras filtradas",
"navigation_bar.follow_requests": "Seguidores pendentes",
"navigation_bar.follows_and_followers": "Seguindo e seguidores",
"navigation_bar.info": "Mais informações",
"navigation_bar.info": "Sobre este servidor",
"navigation_bar.keyboard_shortcuts": "Atalhos de teclado",
"navigation_bar.lists": "Listas",
"navigation_bar.logout": "Sair",
@ -279,7 +282,7 @@
"navigation_bar.personal": "Pessoal",
"navigation_bar.pins": "Toots fixados",
"navigation_bar.preferences": "Preferências",
"navigation_bar.public_timeline": "Global",
"navigation_bar.public_timeline": "Linha do tempo federada",
"navigation_bar.security": "Segurança",
"notification.favourite": "{name} favoritou seu toot",
"notification.follow": "{name} te seguiu",
@ -302,34 +305,34 @@
"notifications.column_settings.push": "Enviar notificações",
"notifications.column_settings.reblog": "Boosts:",
"notifications.column_settings.show": "Mostrar nas colunas",
"notifications.column_settings.sound": "Reproduzir som",
"notifications.column_settings.sound": "Tocar som",
"notifications.filter.all": "Tudo",
"notifications.filter.boosts": "Boosts",
"notifications.filter.favourites": "Favoritos",
"notifications.filter.follows": "Seguidores",
"notifications.filter.follows": "Seguindo",
"notifications.filter.mentions": "Menções",
"notifications.filter.polls": "Enquetes",
"notifications.filter.polls": "Resultados de enquete",
"notifications.group": "{count} notificações",
"poll.closed": "Terminou",
"poll.closed": "Fechou",
"poll.refresh": "Atualizar",
"poll.total_people": "{count, plural, one {# pessoa} other {# pessoas}}",
"poll.total_votes": "{count, plural, one {# voto} other {# votos}}",
"poll.vote": "Votar",
"poll.voted": "Você votou nesta opção",
"poll_button.add_poll": "Adicionar enquete",
"poll.voted": "Você votou nesta resposta",
"poll_button.add_poll": "Adicionar uma enquete",
"poll_button.remove_poll": "Remover enquete",
"privacy.change": "Ajustar privacidade do toot",
"privacy.direct.long": "Postar apenas para usuários mencionados",
"privacy.direct.short": "Direto",
"privacy.private.long": "Postar apenas para seguidores",
"privacy.private.short": "Privado",
"privacy.public.long": "Postar em linhas públicas",
"privacy.public.short": "Público",
"privacy.unlisted.long": "Não postar em linhas públicas",
"privacy.unlisted.short": "Não-listado",
"privacy.change": "Ajustar privacidade de status",
"privacy.direct.long": "Visível somente para usuários mencionados",
"privacy.direct.short": "Direta",
"privacy.private.long": "Visível somente para seguidores",
"privacy.private.short": "Seguidores-somente",
"privacy.public.long": "Visível para todos, mostrado em linhas do tempo públicas",
"privacy.public.short": "Pública",
"privacy.unlisted.long": "Visível para todos, mas não em linhas do tempo públicas",
"privacy.unlisted.short": "Não-listada",
"refresh": "Atualizar",
"regeneration_indicator.label": "Carregando…",
"regeneration_indicator.sublabel": "Sua página inicial está sendo preparada!",
"regeneration_indicator.sublabel": "Seu feed de início está sendo preparado!",
"relative_time.days": "{number}d",
"relative_time.hours": "{number}h",
"relative_time.just_now": "agora",
@ -337,18 +340,18 @@
"relative_time.seconds": "{number}s",
"relative_time.today": "hoje",
"reply_indicator.cancel": "Cancelar",
"report.forward": "Enviar cópia para {target}",
"report.forward_hint": "A conta está em outra instância. Enviar uma cópia anônima da denúncia para lá?",
"report.hint": "A denúncia será enviada aos moderadores da instância. Você pode explicar por que você denunciou a conta:",
"report.forward": "Encaminhar para {target}",
"report.forward_hint": "A conta é de outro servidor. Enviar uma cópia anonimizada da denúncia para lá também?",
"report.hint": "Sua denúncia vai ser enviada aos moderadores de seu servidor. Você pode prover uma explicação de por que está denunciando essa conta abaixo:",
"report.placeholder": "Comentários adicionais",
"report.submit": "Enviar",
"report.target": "Denunciando {target}",
"search.placeholder": "Pesquisar",
"search_popout.search_format": "Pesquisa avançada",
"search_popout.tips.full_text": "Texto simples retorna seus toots, favoritos, boosts ou toots em que foi mencionado, como também nomes de exibição, usuários e hashtags correspondentes.",
"search_popout.search_format": "Formato de pesquisa avançada",
"search_popout.tips.full_text": "Texto simples retorna statuses que você escreveu, favoritou, deu boost, ou em que foi mencionado, assim como nomes de usuário e de exibição, e hashtags correspondentes.",
"search_popout.tips.hashtag": "hashtag",
"search_popout.tips.status": "toot",
"search_popout.tips.text": "Texto simples retorna nomes de exibição, usuários e hashtags correspondentes",
"search_popout.tips.status": "status",
"search_popout.tips.text": "Texto simples retorna nomes de exibição e de usuário, e hashtags correspondentes",
"search_popout.tips.user": "usuário",
"search_results.accounts": "Pessoas",
"search_results.hashtags": "Hashtags",
@ -356,36 +359,36 @@
"search_results.statuses_fts_disabled": "Pesquisar toots por seu conteúdo não está ativado nesta instância Mastodon.",
"search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
"status.admin_account": "Abrir interface de moderação para @{name}",
"status.admin_status": "Abrir o toot na interface de moderação",
"status.admin_status": "Abrir este status na interface de moderação",
"status.block": "Bloquear @{name}",
"status.bookmark": "Salvar",
"status.cancel_reblog_private": "Desfazer boost",
"status.cannot_reblog": "Não foi possível dar boost",
"status.copy": "Copiar o link do toot",
"status.cancel_reblog_private": "Desboostar",
"status.cannot_reblog": "Este post não pode ser dado boost",
"status.copy": "Copiar link para status",
"status.delete": "Excluir",
"status.detailed_status": "Visão detalhada da conversa",
"status.direct": "Toot direto para @{name}",
"status.direct": "Enviar mensagem direta para @{name}",
"status.embed": "Incorporar",
"status.favourite": "Favoritar",
"status.filtered": "Filtrado",
"status.load_more": "Ver mais",
"status.media_hidden": "Mídia oculta",
"status.load_more": "Carregar mais",
"status.media_hidden": "Mídia escondida",
"status.mention": "Mencionar @{name}",
"status.more": "Mais",
"status.mute": "Silenciar @{name}",
"status.mute_conversation": "Silenciar conversa",
"status.open": "Expandir",
"status.open": "Expandir este status",
"status.pin": "Fixar no perfil",
"status.pinned": "Toot fixado",
"status.read_more": "Ler mais",
"status.reblog": "Dar boost",
"status.reblog_private": "Dar boost para audiência original",
"status.reblogged_by": "{name} deu boost",
"status.reblog": "Boostar",
"status.reblog_private": "Boostar para audiência original",
"status.reblogged_by": "{name} boostou",
"status.reblogs.empty": "Nada aqui. Quando alguém der boost, o autor aparecerá aqui.",
"status.redraft": "Excluir e rascunhar",
"status.remove_bookmark": "Remover dos Salvos",
"status.redraft": "Excluir & re-rascunhar",
"status.remove_bookmark": "Remover marcador",
"status.reply": "Responder",
"status.replyAll": "Responder à conversa",
"status.replyAll": "Responder a thread",
"status.report": "Denunciar @{name}",
"status.sensitive_warning": "Conteúdo sensível",
"status.share": "Compartilhar",
@ -395,48 +398,48 @@
"status.show_more_all": "Mostrar mais para todos os toots",
"status.show_thread": "Mostrar conversa",
"status.uncached_media_warning": "Não disponível",
"status.unmute_conversation": "Desativar silêncio desta conversa",
"status.unmute_conversation": "Tirar conversa do mudo",
"status.unpin": "Desafixar do perfil",
"suggestions.dismiss": "Ignorar sugestão",
"suggestions.header": "Você pode se interessar por…",
"tabs_bar.federated_timeline": "Global",
"tabs_bar.home": "Página inicial",
"suggestions.header": "Você pode estar interessado em…",
"tabs_bar.federated_timeline": "Federada",
"tabs_bar.home": "Início",
"tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Notificações",
"tabs_bar.search": "Pesquisar",
"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": "Tempo restante",
"time_remaining.moments": "Momentos faltantes",
"time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
"trends.count_by_accounts": "{count} {rawCount, plural, one {pessoa} other {pessoas}} falando sobre",
"trends.count_by_accounts": "{count} {rawCount, plural, one {pessoa} other {pessoas}} falando",
"trends.trending_now": "Em alta no momento",
"ui.beforeunload": "Seu rascunho será perdido se você sair do Mastodon.",
"upload_area.title": "Arraste e solte para enviar",
"ui.beforeunload": "Seu rascunho vai ser perdido se você sair do Mastodon.",
"upload_area.title": "Arraste & solte para fazer upload",
"upload_button.label": "Adicionar mídia ({formats})",
"upload_error.limit": "Limite de envio de arquivos excedido.",
"upload_error.poll": "Não é possível enviar arquivos com enquetes.",
"upload_form.audio_description": "Descrever para deficientes auditivos",
"upload_form.description": "Descrever para deficientes visuais",
"upload_error.limit": "Limite de upload de arquivos excedido.",
"upload_error.poll": "Não é possível fazer upload de arquivos com enquetes.",
"upload_form.audio_description": "Descrever para pessoas com deficiência auditiva",
"upload_form.description": "Descreva para deficientes visuais",
"upload_form.edit": "Editar",
"upload_form.undo": "Remover",
"upload_form.video_description": "Descrever para deficientes auditivos e visuais",
"upload_form.undo": "Excluir",
"upload_form.video_description": "Descreva para pessoas com deficiência auditiva ou visual",
"upload_modal.analyzing_picture": "Analisando imagem…",
"upload_modal.apply": "Aplicar",
"upload_modal.description_placeholder": "Um pequeno jabuti xereta viu dez cegonhas felizes",
"upload_modal.detect_text": "Detectar texto da imagem",
"upload_modal.edit_media": "Editar mídia",
"upload_modal.hint": "Clique ou arraste o círculo na prévia para escolher o ponto focal que ficará visível em todas as miniaturas.",
"upload_modal.hint": "Clique ou arraste o círculo na prévia para escolher o ponto focal que vai estar sempre visível em todas as thumbnails.",
"upload_modal.preview_label": "Prévia ({ratio})",
"upload_progress.label": "Enviando...",
"upload_progress.label": "Fazendo upload...",
"video.close": "Fechar vídeo",
"video.download": "Baixar arquivo",
"video.download": "Fazer download de arquivo",
"video.exit_fullscreen": "Sair da tela cheia",
"video.expand": "Expandir vídeo",
"video.fullscreen": "Tela cheia",
"video.hide": "Ocultar vídeo",
"video.mute": "Silenciar",
"video.mute": "Colocar no mudo",
"video.pause": "Pausar",
"video.play": "Reproduzir",
"video.unmute": "Desativar silêncio"
"video.play": "Tocar",
"video.unmute": "Tirar do mudo"
}

View File

@ -20,7 +20,7 @@
"account.last_status": "Última atividade",
"account.link_verified_on": "A posse deste link foi verificada em {date}",
"account.locked_info": "O estatuto de privacidade desta conta é fechado. O dono revê manualmente quem a pode seguir.",
"account.media": "Média",
"account.media": "Media",
"account.mention": "Mencionar @{name}",
"account.moved_to": "{name} mudou a sua conta para:",
"account.mute": "Silenciar @{name}",
@ -30,7 +30,7 @@
"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 de seguimento",
"account.requested": "A aguardar aprovação. Clique para cancelar o pedido de seguidor",
"account.share": "Partilhar o perfil @{name}",
"account.show_reblogs": "Mostrar partilhas de @{name}",
"account.unblock": "Desbloquear @{name}",
@ -53,7 +53,7 @@
"bundle_modal_error.message": "Algo de errado aconteceu enquanto este componente era carregado.",
"bundle_modal_error.retry": "Tente de novo",
"column.blocks": "Utilizadores Bloqueados",
"column.bookmarks": "Marcadores",
"column.bookmarks": "Itens salvos",
"column.community": "Cronologia local",
"column.direct": "Mensagens directas",
"column.directory": "Procurar perfis",
@ -74,13 +74,15 @@
"column_header.show_settings": "Mostrar configurações",
"column_header.unpin": "Desafixar",
"column_subheading.settings": "Configurações",
"community.column_settings.media_only": "Somente média",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Somente media",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Esta publicação será enviada apenas para os utilizadores mencionados.",
"compose_form.direct_message_warning_learn_more": "Conhecer mais",
"compose_form.hashtag_warning": "Este toot não será listado em nenhuma hashtag por ser não listado. Apenas toots públics podem ser pesquisados por hashtag.",
"compose_form.lock_disclaimer": "A tua conta não está {locked}. Qualquer pessoa pode seguir-te e ver as publicações direcionadas apenas a seguidores.",
"compose_form.lock_disclaimer.lock": "bloqueado",
"compose_form.placeholder": "Em que estás a pensar?",
"compose_form.placeholder": "Em que está a pensar?",
"compose_form.poll.add_option": "Adicionar uma opção",
"compose_form.poll.duration": "Duração da votação",
"compose_form.poll.option_placeholder": "Opção {number}",
@ -89,12 +91,12 @@
"compose_form.poll.switch_to_single": "Alterar a votação para permitir uma única escolha",
"compose_form.publish": "Toot",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.hide": "Marcar média como sensível",
"compose_form.sensitive.marked": "Média marcada como sensível",
"compose_form.sensitive.unmarked": "Média não está marcada como sensível",
"compose_form.sensitive.hide": "Marcar media como sensível",
"compose_form.sensitive.marked": "Media marcada como sensível",
"compose_form.sensitive.unmarked": "Media não está marcada como sensível",
"compose_form.spoiler.marked": "Texto escondido atrás de aviso",
"compose_form.spoiler.unmarked": "O texto não está escondido",
"compose_form.spoiler_placeholder": "Escreve o teu aviso aqui",
"compose_form.spoiler_placeholder": "Escreva o seu aviso aqui",
"confirmation_modal.cancel": "Cancelar",
"confirmations.block.block_and_report": "Bloquear e denunciar",
"confirmations.block.confirm": "Bloquear",
@ -113,7 +115,7 @@
"confirmations.redraft.confirm": "Apagar & redigir",
"confirmations.redraft.message": "Tens a certeza que queres apagar e redigir esta publicação? Os favoritos e as partilhas perder-se-ão e as respostas à publicação original ficarão órfãs.",
"confirmations.reply.confirm": "Responder",
"confirmations.reply.message": "Responder agora irá reescrever a mensagem que estás a compor actualmente. Tens a certeza que queres continuar?",
"confirmations.reply.message": "Responder agora irá reescrever a mensagem que está a compor actualmente. Tem a certeza que quer continuar?",
"confirmations.unfollow.confirm": "Deixar de seguir",
"confirmations.unfollow.message": "De certeza que queres deixar de seguir {name}?",
"conversation.delete": "Eliminar conversa",
@ -149,7 +151,7 @@
"empty_column.domain_blocks": "Ainda não há qualquer domínio escondido.",
"empty_column.favourited_statuses": "Ainda não tens quaisquer toots favoritos. Quando tiveres algum, ele irá aparecer aqui.",
"empty_column.favourites": "Ainda ninguém marcou este toot como favorito. Quando alguém o fizer, ele irá aparecer aqui.",
"empty_column.follow_requests": "Ainda não tens nenhum pedido de seguimento. Quando receberes algum, ele irá aparecer aqui.",
"empty_column.follow_requests": "Ainda não tens nenhum pedido de seguidor. Quando receberes algum, ele irá aparecer aqui.",
"empty_column.hashtag": "Não foram encontradas publicações com essa hashtag.",
"empty_column.home": "Ainda não segues qualquer utilizador. Visita {public} ou utiliza a pesquisa para procurar outros utilizadores.",
"empty_column.home.public_timeline": "Cronologia pública",
@ -164,6 +166,7 @@
"errors.unexpected_crash.report_issue": "Reportar problema",
"follow_request.authorize": "Autorizar",
"follow_request.reject": "Rejeitar",
"follow_requests.unlocked_explanation": "Apesar de a sua não estar bloqueada, a administração de {domain} pensa que poderá querer rever os pedidos dessas contas manualmente.",
"getting_started.developers": "Responsáveis pelo desenvolvimento",
"getting_started.directory": "Directório de perfil",
"getting_started.documentation": "Documentação",
@ -191,11 +194,11 @@
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}",
"introduction.federation.action": "Seguinte",
"introduction.federation.federated.headline": "Federada",
"introduction.federation.federated.text": "Publicações públicas de outros servidores do fediverse aparecerão na cronologia federativa.",
"introduction.federation.federated.text": "Publicações públicas de outras instâncias do fediverso aparecerão na cronologia federada.",
"introduction.federation.home.headline": "Início",
"introduction.federation.home.text": "As publicações das pessoas que tu segues aparecerão na tua coluna inicial. Tu podes seguir qualquer pessoa em qualquer servidor!",
"introduction.federation.home.text": "As publicações das pessoas que você segue aparecerão na sua coluna de início. Você pode seguir qualquer pessoa em qualquer instância!",
"introduction.federation.local.headline": "Local",
"introduction.federation.local.text": "Publicações públicas de pessoas que tu segues no teu servidor aparecerão na coluna local.",
"introduction.federation.local.text": "Publicações públicas de pessoas na mesma instância que você aparecerão na coluna local.",
"introduction.interactions.action": "Terminar o tutorial!",
"introduction.interactions.favourite.headline": "Favorito",
"introduction.interactions.favourite.text": "Podes guardar um toot para depois e deixar o autor saber que gostaste dele, marcando-o como favorito.",
@ -205,7 +208,7 @@
"introduction.interactions.reply.text": "Tu podes responder a toots de outras pessoas e aos teus, o que os irá juntar numa conversa.",
"introduction.welcome.action": "Vamos!",
"introduction.welcome.headline": "Primeiros passos",
"introduction.welcome.text": "Bem-vindo ao fediverso! Em pouco tempo poderás enviar mensagens e falar com os teus amigos numa grande variedade de servidores. Mas este servidor, {domain}, é especial—ele alberga o teu perfil. Por isso, lembra-te do seu nome.",
"introduction.welcome.text": "Bem-vindo ao fediverso! Em pouco tempo poderás enviar mensagens e falar com os seus amigos numa grande variedade de instâncias. Mas esta instância, {domain}, é especial—ela alberga o seu perfil. Por isso, lembre-se do seu nome.",
"keyboard_shortcuts.back": "para voltar",
"keyboard_shortcuts.blocked": "para abrir a lista de utilizadores bloqueados",
"keyboard_shortcuts.boost": "para partilhar",
@ -227,15 +230,15 @@
"keyboard_shortcuts.muted": "para abrir a lista dos utilizadores silenciados",
"keyboard_shortcuts.my_profile": "para abrir o teu perfil",
"keyboard_shortcuts.notifications": "para abrir a coluna das notificações",
"keyboard_shortcuts.open_media": "para abrir média",
"keyboard_shortcuts.open_media": "para abrir media",
"keyboard_shortcuts.pinned": "para abrir a lista dos toots fixados",
"keyboard_shortcuts.profile": "para abrir o perfil do autor",
"keyboard_shortcuts.reply": "para responder",
"keyboard_shortcuts.requests": "para abrir a lista dos pedidos de seguimento",
"keyboard_shortcuts.requests": "para abrir a lista dos pedidos de seguidor",
"keyboard_shortcuts.search": "para focar na pesquisa",
"keyboard_shortcuts.start": "para abrir a coluna dos \"primeiros passos\"",
"keyboard_shortcuts.toggle_hidden": "para mostrar/esconder texto atrás de CW",
"keyboard_shortcuts.toggle_sensitivity": "mostrar/ocultar média",
"keyboard_shortcuts.toggle_sensitivity": "mostrar/ocultar media",
"keyboard_shortcuts.toot": "para compor um novo toot",
"keyboard_shortcuts.unfocus": "para remover o foco da área de texto/pesquisa",
"keyboard_shortcuts.up": "para mover para cima na lista",
@ -260,7 +263,7 @@
"mute_modal.hide_notifications": "Esconder notificações deste utilizador?",
"navigation_bar.apps": "Aplicações móveis",
"navigation_bar.blocks": "Utilizadores bloqueados",
"navigation_bar.bookmarks": "Marcadores",
"navigation_bar.bookmarks": "Itens salvos",
"navigation_bar.community_timeline": "Cronologia local",
"navigation_bar.compose": "Escrever novo toot",
"navigation_bar.direct": "Mensagens directas",
@ -271,7 +274,7 @@
"navigation_bar.filters": "Palavras silenciadas",
"navigation_bar.follow_requests": "Seguidores pendentes",
"navigation_bar.follows_and_followers": "Seguindo e seguidores",
"navigation_bar.info": "Sobre este servidor",
"navigation_bar.info": "Sobre esta instância",
"navigation_bar.keyboard_shortcuts": "Atalhos de teclado",
"navigation_bar.lists": "Listas",
"navigation_bar.logout": "Sair",
@ -286,7 +289,7 @@
"notification.follow_request": "{name} pediu para segui-lo",
"notification.mention": "{name} mencionou-te",
"notification.own_poll": "A sua votação terminou",
"notification.poll": "Uma votação em participaste chegou ao fim",
"notification.poll": "Uma votação em que participaste chegou ao fim",
"notification.reblog": "{name} partilhou a tua publicação",
"notifications.clear": "Limpar notificações",
"notifications.clear_confirmation": "Queres mesmo limpar todas as notificações?",
@ -306,9 +309,9 @@
"notifications.filter.all": "Todas",
"notifications.filter.boosts": "Boosts",
"notifications.filter.favourites": "Favoritos",
"notifications.filter.follows": "Seguimento",
"notifications.filter.mentions": "Referências",
"notifications.filter.polls": "Resultados da votação",
"notifications.filter.follows": "Seguidores",
"notifications.filter.mentions": "Menções",
"notifications.filter.polls": "Votações",
"notifications.group": "{count} notificações",
"poll.closed": "Fechado",
"poll.refresh": "Recarregar",
@ -338,8 +341,8 @@
"relative_time.today": "hoje",
"reply_indicator.cancel": "Cancelar",
"report.forward": "Reenviar para {target}",
"report.forward_hint": "A conta é de outro servidor. Enviar uma cópia anónima do relatório para lá também?",
"report.hint": "O relatório será enviado para os moderadores do teu servidor. Podes fornecer, em baixo, uma explicação do motivo pelo qual estás a denunciar esta conta:",
"report.forward_hint": "A conta é de outra instância. Enviar uma cópia anónima do relatório para lá também?",
"report.hint": "O relatório será enviado para os moderadores da sua instância. Pode fornecer, em baixo, uma explicação do motivo pelo qual está a denunciar esta conta:",
"report.placeholder": "Comentários adicionais",
"report.submit": "Enviar",
"report.target": "Denunciar",
@ -353,7 +356,7 @@
"search_results.accounts": "Pessoas",
"search_results.hashtags": "Hashtags",
"search_results.statuses": "Toots",
"search_results.statuses_fts_disabled": "A pesquisa de toots pelo seu conteúdo não está disponível neste servidor Mastodon.",
"search_results.statuses_fts_disabled": "A pesquisa de toots pelo seu conteúdo não está disponível nesta instância Mastodon.",
"search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}",
"status.admin_account": "Abrir a interface de moderação para @{name}",
"status.admin_status": "Abrir esta publicação na interface de moderação",
@ -369,7 +372,7 @@
"status.favourite": "Adicionar aos favoritos",
"status.filtered": "Filtrada",
"status.load_more": "Carregar mais",
"status.media_hidden": "Média escondida",
"status.media_hidden": "Media escondida",
"status.mention": "Mencionar @{name}",
"status.more": "Mais",
"status.mute": "Silenciar @{name}",
@ -413,7 +416,7 @@
"trends.trending_now": "Tendências atuais",
"ui.beforeunload": "O teu rascunho será perdido se abandonares o Mastodon.",
"upload_area.title": "Arraste e solte para enviar",
"upload_button.label": "Adicionar media",
"upload_button.label": "Adicionar media ({formats})",
"upload_error.limit": "Limite máximo do ficheiro a carregar excedido.",
"upload_error.poll": "Carregamento de ficheiros não é permitido em votações.",
"upload_form.audio_description": "Descreva para pessoas com diminuição da acuidade auditiva",
@ -425,7 +428,7 @@
"upload_modal.apply": "Aplicar",
"upload_modal.description_placeholder": "Grave e cabisbaixo, o filho justo zelava pela querida mãe doente",
"upload_modal.detect_text": "Detectar texto na imagem",
"upload_modal.edit_media": "Editar média",
"upload_modal.edit_media": "Editar media",
"upload_modal.hint": "Clique ou arraste o círculo na pré-visualização para escolher o ponto focal que será sempre visível em todas as miniaturas.",
"upload_modal.preview_label": "Pré-visualizar ({ratio})",
"upload_progress.label": "A enviar...",

View File

@ -1,68 +1,68 @@
{
"account.add_or_remove_from_list": "Adaugă sau Elimină din liste",
"account.badges.bot": "Bot",
"account.badges.group": "Group",
"account.block": "Blochează @{name}",
"account.block_domain": "Ascunde tot de la {domain}",
"account.badges.bot": "Robot",
"account.badges.group": "Grup",
"account.block": "Blocați @{name}",
"account.block_domain": "Blocați domeniul {domain}",
"account.blocked": "Blocat",
"account.cancel_follow_request": "Cancel follow request",
"account.cancel_follow_request": "Anulați cererea de urmărire",
"account.direct": "Mesaj direct @{name}",
"account.domain_blocked": "Domeniu ascuns",
"account.edit_profile": "Editează profilul",
"account.endorse": "Redistribuie pe profil",
"account.domain_blocked": "Domeniu blocat",
"account.edit_profile": "Editați profilul",
"account.endorse": "Promovați pe profil",
"account.follow": "Urmărește",
"account.followers": "Urmăritori",
"account.followers.empty": "Acest utilizator nu are încă urmăritori.",
"account.follows": "Urmărește",
"account.follows.empty": "Acest utilizator nu urmărește pe nimeni incă.",
"account.follows.empty": "Acest utilizator nu urmărește pe nimeni încă.",
"account.follows_you": "Te urmărește",
"account.hide_reblogs": "Ascunde redistribuirile de la @{name}",
"account.last_status": "Last active",
"account.hide_reblogs": "Ascunde impulsurile de la @{name}",
"account.last_status": "Ultima activitate",
"account.link_verified_on": "Deținerea acestui link a fost verificată la {date}",
"account.locked_info": "Acest profil este privat. Această persoană gestioneaz manual cine o urmărește.",
"account.locked_info": "Acest profil este privat. Această persoană gestionează manual cine o urmărește.",
"account.media": "Media",
"account.mention": "Menționează @{name}",
"account.mention": "Menționează pe @{name}",
"account.moved_to": "{name} a fost mutat la:",
"account.mute": "Oprește @{name}",
"account.mute_notifications": "Oprește notificările de la @{name}",
"account.mute": "Ignoră pe @{name}",
"account.mute_notifications": "Ignoră notificările de la @{name}",
"account.muted": "Oprit",
"account.never_active": "Never",
"account.never_active": "Niciodată",
"account.posts": "Postări",
"account.posts_with_replies": "Postări și replici",
"account.report": "Raportează @{name}",
"account.posts_with_replies": "Postări și răspunsuri",
"account.report": "Raportează pe @{name}",
"account.requested": "Se așteaptă aprobarea. Apasă pentru a anula cererea de urmărire",
"account.share": "Distribuie profilul lui @{name}",
"account.show_reblogs": "Arată redistribuirile de la @{name}",
"account.unblock": "Deblochează @{name}",
"account.unblock_domain": "Arată {domain}",
"account.show_reblogs": "Arată impulsurile de la @{name}",
"account.unblock": "Deblochează pe @{name}",
"account.unblock_domain": "Deblochează domeniul {domain}",
"account.unendorse": "Nu promova pe profil",
"account.unfollow": "Nu mai urmări",
"account.unmute": "Activează notificările de la @{name}",
"account.unfollow": "Nu mai urmării",
"account.unmute": "Nu mai ignora pe @{name}",
"account.unmute_notifications": "Activează notificările de la @{name}",
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
"alert.rate_limited.title": "Rate limited",
"alert.rate_limited.message": "Vă rugăm să reîncercați după {retry_time, time, medium}.",
"alert.rate_limited.title": "Rată limitată",
"alert.unexpected.message": "A apărut o eroare neașteptată.",
"alert.unexpected.title": "Hopa!",
"announcement.announcement": "Announcement",
"autosuggest_hashtag.per_week": "{count} per week",
"announcement.announcement": "Anunț",
"autosuggest_hashtag.per_week": "{count} pe săptămână",
"boost_modal.combo": "Poți apăsa {combo} pentru a omite asta data viitoare",
"bundle_column_error.body": "Ceva nu a funcționat la încărcarea acestui component.",
"bundle_column_error.retry": "Încearcă din nou",
"bundle_column_error.title": "Eroare de rețea",
"bundle_modal_error.close": "Închide",
"bundle_modal_error.message": "Ceva nu a funcționat în timupul încărcării acestui component.",
"bundle_modal_error.message": "Ceva nu a funcționat în timpul încărcării acestei componente.",
"bundle_modal_error.retry": "Încearcă din nou",
"column.blocks": "Utilizatori blocați",
"column.bookmarks": "Bookmarks",
"column.bookmarks": "Marcaje",
"column.community": "Fluxul Local",
"column.direct": "Mesaje directe",
"column.directory": "Browse profiles",
"column.domain_blocks": "Domenii ascunse",
"column.directory": "Răsfoiți profiluri",
"column.domain_blocks": "Domenii blocate",
"column.favourites": "Favorite",
"column.follow_requests": "Cereri de urmărire",
"column.home": "Acasă",
"column.lists": "Liste",
"column.mutes": "Utilizatori opriți",
"column.mutes": "Utilizatori ignorați",
"column.notifications": "Notificări",
"column.pins": "Postări fixate",
"column.public": "Flux global",
@ -74,96 +74,99 @@
"column_header.show_settings": "Arată setările",
"column_header.unpin": "Eliberează",
"column_subheading.settings": "Setări",
"community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Doar media",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Această postare va fi trimisă doar utilizatorilor menționați.",
"compose_form.direct_message_warning_learn_more": "Află mai multe",
"compose_form.hashtag_warning": "Această postare nu va fi listată sub nici un hastag. Doar postările publice pot fi găsite dupa un hastag.",
"compose_form.hashtag_warning": "Această postare nu va fi listată sub nici un hashtag pentru că este nelistată. Doar postările publice pot fi găsite după un hashtag.",
"compose_form.lock_disclaimer": "Contul tău nu este {locked}. Oricine te poate urmări fără aprobarea ta și vedea toate postările tale.",
"compose_form.lock_disclaimer.lock": "privat",
"compose_form.placeholder": "La ce te gândești?",
"compose_form.poll.add_option": "Add a choice",
"compose_form.poll.duration": "Poll duration",
"compose_form.poll.option_placeholder": "Choice {number}",
"compose_form.poll.remove_option": "Remove this choice",
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices",
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
"compose_form.poll.add_option": "Adăugați o opțiune",
"compose_form.poll.duration": "Durata sondajului",
"compose_form.poll.option_placeholder": "Opțiunea {number}",
"compose_form.poll.remove_option": "Îndepărtați acestă opțiune",
"compose_form.poll.switch_to_multiple": "Modificați sondajul pentru a permite multiple opțiuni",
"compose_form.poll.switch_to_single": "Modificați sondajul pentru a permite o singură opțiune",
"compose_form.publish": "Postează",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.hide": "Mark media as sensitive",
"compose_form.sensitive.hide": "Marcați conținutul media ca sensibil",
"compose_form.sensitive.marked": "Conținutul media este marcat ca sensibil",
"compose_form.sensitive.unmarked": "Conținutul media nu este marcat ca sensibil",
"compose_form.spoiler.marked": "Textul este ascuns sub o avertizare",
"compose_form.spoiler.unmarked": "Textul nu este ascuns",
"compose_form.spoiler_placeholder": "Scrie averitzarea aici",
"compose_form.spoiler_placeholder": "Scrie avertizarea aici",
"confirmation_modal.cancel": "Anulează",
"confirmations.block.block_and_report": "Block & Report",
"confirmations.block.block_and_report": "Blocați și Raportați",
"confirmations.block.confirm": "Blochează",
"confirmations.block.message": "Ești sigur că vrei să blochezi {name}?",
"confirmations.block.message": "Ești sigur că vrei să blochezi pe {name}?",
"confirmations.delete.confirm": "Șterge",
"confirmations.delete.message": "Ești șigur că vrei să ștergi asta?",
"confirmations.delete.message": "Ești sigur că vrei să ștergi asta?",
"confirmations.delete_list.confirm": "Șterge",
"confirmations.delete_list.message": "Ești sigur că vrei să ștergi permanent această listă?",
"confirmations.domain_block.confirm": "Ascunde tot domeniul",
"confirmations.domain_block.message": "Ești absolut sigur că vrei să blochezi complet {domain}? În cele mai multe cazuri raportarea sau oprirea anumitor lucruri este suficientă și de preferat. Nu vei mai vedea nici un conținut de la acest domeniu in nici un flux public sau în notificările tale. Urmăritorii tăi de la acele domenii vor fi eliminați.",
"confirmations.logout.confirm": "Log out",
"confirmations.logout.message": "Are you sure you want to log out?",
"confirmations.mute.confirm": "Oprește",
"confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.",
"confirmations.mute.message": "Ești sigur că vrei să oprești {name}?",
"confirmations.domain_block.message": "Ești absolut sigur că vrei să blochezi complet domeniul {domain}? În cele mai multe cazuri raportarea sau ignorarea anumitor lucruri este suficientă și de preferat. Nu vei mai vedea nici un conținut de la acest domeniu în nici un flux public sau în notificările tale. Urmăritorii tăi de la acele domenii vor fi eliminați.",
"confirmations.logout.confirm": "Deconectare",
"confirmations.logout.message": "Ești sigur că vrei să te deconectezi?",
"confirmations.mute.confirm": "Ignoră",
"confirmations.mute.explanation": "Acest lucru va ascunde postări față de ei și postări în care sunt menționați, dar le vor permite încă să vă vadă postările și să vă urmărească.",
"confirmations.mute.message": "Ești sigur că vrei să ignori pe {name}?",
"confirmations.redraft.confirm": "Șterge și salvează ca ciornă",
"confirmations.redraft.message": "Ești sigur că vrei să faci asta? Tot ce ține de această postare, inclusiv răspunsurile vor fi deconectate.",
"confirmations.redraft.message": "Ești sigur că vrei să ștergi această stare și să o faci ciornă? Favoritele și impulsurile se vor pierde, iar răspunsurile către postarea originală vor rămâne orfane.",
"confirmations.reply.confirm": "Răspunde",
"confirmations.reply.message": "Răspunzând la asta acum, mesajul pe care îl compui în prezent se va șterge. Ești sigur că vrei să continui?",
"confirmations.unfollow.confirm": "Nu mai urmări",
"confirmations.unfollow.message": "Ești sigur că nu mai vrei să îl urmărești pe {name}?",
"conversation.delete": "Delete conversation",
"conversation.mark_as_read": "Mark as read",
"conversation.open": "View conversation",
"conversation.with": "With {names}",
"directory.federated": "From known fediverse",
"directory.local": "From {domain} only",
"directory.new_arrivals": "New arrivals",
"directory.recently_active": "Recently active",
"embed.instructions": "Inserează această postare pe site-ul tău adăugând codul de mai jos.",
"confirmations.unfollow.message": "Ești sigur că nu mai vrei să urmărești pe {name}?",
"conversation.delete": "Ștergeți conversația",
"conversation.mark_as_read": "Marcați ca citit",
"conversation.open": "Vizualizați conversația",
"conversation.with": "Cu {names}",
"directory.federated": "De la un cunoscut fedivers",
"directory.local": "Doar de la {domain}",
"directory.new_arrivals": "Noi sosiți",
"directory.recently_active": "Recent activi",
"embed.instructions": "Înglobează această postare pe site-ul tău adăugând codul de mai jos.",
"embed.preview": "Cam așa va arăta:",
"emoji_button.activity": "Activitate",
"emoji_button.custom": "Personalizat",
"emoji_button.flags": "Marcaje",
"emoji_button.food": "Mâncare și Băuturi",
"emoji_button.label": "Inserează un emoji",
"emoji_button.label": "Inserează un zâmbet",
"emoji_button.nature": "Natură",
"emoji_button.not_found": "Fară emojiuri (╯°□°)╯︵ ┻━┻",
"emoji_button.not_found": "Fără zâmbete (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Obiecte",
"emoji_button.people": "Persoane",
"emoji_button.recent": "Utilizate frecvent",
"emoji_button.search": "Caută...",
"emoji_button.search_results": "Rezultatele căutării",
"emoji_button.symbols": "Simboluri",
"emoji_button.travel": "Călătorii si Locuri",
"emoji_button.travel": "Călătorii și Locuri",
"empty_column.account_timeline": "Nici o postare aici!",
"empty_column.account_unavailable": "Profile unavailable",
"empty_column.blocks": "Nu ai blocat nici un utilizator incă.",
"empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.",
"empty_column.community": "Fluxul local este gol. Scrie ceva public pentru a împinge bila la vale!",
"empty_column.direct": "Nu ai nici un mesaj direct incă. Când trimiți sau primești unul, va fi afișat aici.",
"empty_column.domain_blocks": "Nu sunt domenii ascunse incă.",
"empty_column.favourited_statuses": "Nu ai nici o postare favorită încă. Când vei avea, vor fi afișate aici.",
"empty_column.account_unavailable": "Profil indisponibil",
"empty_column.blocks": "Nu ai blocat nici un utilizator încă.",
"empty_column.bookmarked_statuses": "Nu aveți nici o postare marcată încă. Atunci când veți marca una, va fi afișată aici.",
"empty_column.community": "Fluxul local este gol. Scrie ceva public pentru a sparge gheața!",
"empty_column.direct": "Nu ai nici un mesaj direct încă. Când trimiți sau primești unul, va fi afișat aici.",
"empty_column.domain_blocks": "Nu sunt domenii blocate încă.",
"empty_column.favourited_statuses": "Nu ai nici o postare favorită încă. Când vei favoriza una, va fi afișată aici.",
"empty_column.favourites": "Nimeni nu are această postare adăugată la favorite. Când cineva o va face va fi afișat aici.",
"empty_column.follow_requests": "Nu ai încă nici o cerere de urmărire. Când vei primi una, va fi afișată aici.",
"empty_column.hashtag": "Acest hastag nu a fost folosit încă.",
"empty_column.hashtag": "Acest hashtag nu a fost folosit încă.",
"empty_column.home": "Fluxul tău este gol. Vizitează {public} sau fă o căutare pentru a începe să cunoști oameni noi.",
"empty_column.home.public_timeline": "fluxul public",
"empty_column.list": "Nu este nimic încă în această listă. Când membrii acestei liste vor începe să posteze, va apărea aici.",
"empty_column.lists": "Nu ai încă nici o listă. Când vei crea una, va apărea aici.",
"empty_column.mutes": "Nu ai oprit nici un utilizator incă.",
"empty_column.mutes": "Nu ai ignorat nici un utilizator încă.",
"empty_column.notifications": "Nu ai nici o notificare încă. Interacționează cu alții pentru a începe o conversație.",
"empty_column.public": "Nu este nimci aici încă! Scrie ceva public, sau urmărește alți utilizatori din alte instanțe pentru a porni fluxul",
"error.unexpected_crash.explanation": "Due to a bug in our code or a browser compatibility issue, this page could not be displayed correctly.",
"error.unexpected_crash.next_steps": "Try refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
"errors.unexpected_crash.report_issue": "Report issue",
"empty_column.public": "Nu este nimic aici! Scrie ceva public, sau urmărește alți utilizatori din alte instanțe pentru a porni fluxul",
"error.unexpected_crash.explanation": "Din cauza unei erori în codul nostru sau a unei probleme de compatibilitate cu navigatorul, această pagină nu a putut fi afișată corect.",
"error.unexpected_crash.next_steps": "Încercați să reîmprospătați pagina. Dacă acest lucru nu ajută, este posibil să mai puteți folosi site-ul printr-un navigator diferit sau o aplicație nativă.",
"errors.unexpected_crash.copy_stacktrace": "Copiați stiva în clipboard",
"errors.unexpected_crash.report_issue": "Raportați o problemă",
"follow_request.authorize": "Autorizează",
"follow_request.reject": "Respinge",
"follow_requests.unlocked_explanation": "Chiar dacă contul dvs nu este blocat, personalul {domain} a crezut că ați putea dori să revizuiți cererile de la aceste conturi în mod manual.",
"getting_started.developers": "Dezvoltatori",
"getting_started.directory": "Explorează",
"getting_started.documentation": "Documentație",
@ -175,47 +178,47 @@
"hashtag.column_header.tag_mode.all": "și {additional}",
"hashtag.column_header.tag_mode.any": "sau {additional}",
"hashtag.column_header.tag_mode.none": "fără {additional}",
"hashtag.column_settings.select.no_options_message": "No suggestions found",
"hashtag.column_settings.select.placeholder": "Enter hashtags…",
"hashtag.column_settings.select.no_options_message": "Nu s-au găsit sugestii",
"hashtag.column_settings.select.placeholder": "Itroduceți hashtag-uri…",
"hashtag.column_settings.tag_mode.all": "Toate acestea",
"hashtag.column_settings.tag_mode.any": "Oricare din acestea",
"hashtag.column_settings.tag_mode.none": "Niciuna din aceastea",
"hashtag.column_settings.tag_mode.none": "Niciuna din acestea",
"hashtag.column_settings.tag_toggle": "Adaugă etichete adiționale pentru această coloană",
"home.column_settings.basic": "De bază",
"home.column_settings.show_reblogs": "Arată redistribuirile",
"home.column_settings.show_reblogs": "Arată impulsurile",
"home.column_settings.show_replies": "Arată răspunsurile",
"home.hide_announcements": "Hide announcements",
"home.show_announcements": "Show announcements",
"intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
"home.hide_announcements": "Ascundeți anunțurile",
"home.show_announcements": "Afișați anunțurile",
"intervals.full.days": "{number, plural,one {# zi} other {# zile}}",
"intervals.full.hours": "{number, plural, one {# oră} other {# ore}}",
"intervals.full.minutes": "{number, plural, one {# minut} other {# minute}}",
"introduction.federation.action": "Următorul",
"introduction.federation.federated.headline": "Federalizat",
"introduction.federation.federated.text": "Postările publice de pe alte servere din rețea vor apărea in fluxul global.",
"introduction.federation.home.headline": "Acasă",
"introduction.federation.home.text": "Postările de la persoanele pe care le urmărești vor apărea in fluxul tău \"Acasă\". Poți urmări pe orice de pe orice server!",
"introduction.federation.home.text": "Postările de la persoanele pe care le urmărești vor apărea în fluxul tău \"Acasă\". Poți urmări pe orice de pe orice server!",
"introduction.federation.local.headline": "Local",
"introduction.federation.local.text": "Postările publice de la persoanele de pe acest server vor apărea în fluxul local.",
"introduction.interactions.action": "Încheie ghidul!",
"introduction.interactions.favourite.headline": "Favorite",
"introduction.interactions.favourite.text": "Poți salva o postare pentru a fi citită mai târziu și poți lăsa autorul să știe că iți place adăugândo la favorite.",
"introduction.interactions.reblog.headline": "Redistribuie",
"introduction.interactions.reblog.text": "Poți împărtăși postările altora cu urmăritorii tăi redistribuindule.",
"introduction.interactions.favourite.text": "Poți salva o postare pentru a fi citită mai târziu și poți anunța autorul să știe că iți place adăugând-o la favorite.",
"introduction.interactions.reblog.headline": "Impuls",
"introduction.interactions.reblog.text": "Poți împărtăși postările altora cu urmăritorii tăi impulsionându-le.",
"introduction.interactions.reply.headline": "Răspunde",
"introduction.interactions.reply.text": "Poți răspunde la postările tale și alte altora, care se vor lărgii în discuții.",
"introduction.welcome.action": "Să începem!",
"introduction.welcome.headline": "Primii pași",
"introduction.welcome.text": "Bun Venit in federație! In câteva momente, vei putea să transmiți mesaje și să participi la discuții cu oameni noi intr-o varietate foarte largă de servere din întreaga lume. Dar în special acest server, {domain},găzduiește profilul tău, deci reține numele acestuia.",
"keyboard_shortcuts.back": "navighează inapoi",
"introduction.welcome.text": "Bun Venit în federație! În câteva momente, vei putea să transmiți mesaje și să participi la discuții cu oameni noi într-o varietate foarte largă de servere din întreaga lume. Dar în special acest server, {domain}, găzduiește profilul tău, deci reține numele acestuia.",
"keyboard_shortcuts.back": "navighează înapoi",
"keyboard_shortcuts.blocked": "să deschidă lista utilizatorilor blocați",
"keyboard_shortcuts.boost": "să redistribuie",
"keyboard_shortcuts.column": "să focuzeze o postare in una dintre coloane",
"keyboard_shortcuts.compose": "sa focuzeze zona de compunere",
"keyboard_shortcuts.boost": "să impulsioneze",
"keyboard_shortcuts.column": "să focalizeze o postare în una dintre coloane",
"keyboard_shortcuts.compose": "sa focalizeze zona de compunere",
"keyboard_shortcuts.description": "Descriere",
"keyboard_shortcuts.direct": "să deschidă coloana de mesaje directe",
"keyboard_shortcuts.down": "să fie mutată jos in lista",
"keyboard_shortcuts.enter": "să deschidă un status",
"keyboard_shortcuts.favourite": "să adauge la favorite",
"keyboard_shortcuts.down": "să fie mutată jos în lista",
"keyboard_shortcuts.enter": "să deschidă o stare",
"keyboard_shortcuts.favourite": "să favorizeze",
"keyboard_shortcuts.favourites": "să deschidă lista cu favorite",
"keyboard_shortcuts.federated": "să deschidă fluxul global",
"keyboard_shortcuts.heading": "Comenzi rapide",
@ -224,100 +227,100 @@
"keyboard_shortcuts.legend": "să afișeze această legendă",
"keyboard_shortcuts.local": "să deschidă fluxul local",
"keyboard_shortcuts.mention": "să menționeze autorul",
"keyboard_shortcuts.muted": "să deschidă lista utilizatorilor opriți",
"keyboard_shortcuts.muted": "să deschidă lista utilizatorilor ignorați",
"keyboard_shortcuts.my_profile": "să deschidă profilul tău",
"keyboard_shortcuts.notifications": "să deschidă coloana cu notificări",
"keyboard_shortcuts.open_media": "to open media",
"keyboard_shortcuts.open_media": "pentru a deschide media",
"keyboard_shortcuts.pinned": "să deschidă lista postărilor fixate",
"keyboard_shortcuts.profile": "să deschidă porfilul autorului",
"keyboard_shortcuts.profile": "să deschidă profilul autorului",
"keyboard_shortcuts.reply": "să răspundă",
"keyboard_shortcuts.requests": "să deschidă lista cu cereri de urmărire",
"keyboard_shortcuts.search": "să focuseze căutarea",
"keyboard_shortcuts.search": "să focalizeze căutarea",
"keyboard_shortcuts.start": "să deschidă coloana \"Începere\"",
"keyboard_shortcuts.toggle_hidden": "să arate/ascundă textul in spatele CW",
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
"keyboard_shortcuts.toggle_hidden": "să arate/ascundă textul în spatele CW",
"keyboard_shortcuts.toggle_sensitivity": "pentru a afișa/ascunde media",
"keyboard_shortcuts.toot": "să înceapă o postare nouă",
"keyboard_shortcuts.unfocus": "să dezactiveze zona de compunere/căutare",
"keyboard_shortcuts.up": "să mute mai sus în listă",
"lightbox.close": "Închide",
"lightbox.next": "Următorul",
"lightbox.previous": "Precedentul",
"lightbox.view_context": "View context",
"lightbox.view_context": "Vizualizați contextul",
"lists.account.add": "Adaugă în listă",
"lists.account.remove": "Elimină din listă",
"lists.delete": "Șterge lista",
"lists.edit": "Editează lista",
"lists.edit.submit": "Change title",
"lists.edit.submit": "Schimbă titlul",
"lists.new.create": "Adaugă listă",
"lists.new.title_placeholder": "Titlu pentru noua listă",
"lists.search": "Caută printre persoanale pe care le urmărești",
"lists.search": "Caută printre persoanele pe care le urmărești",
"lists.subheading": "Listele tale",
"load_pending": "{count, plural, one {# new item} other {# new items}}",
"loading_indicator.label": "Încărcare...",
"media_gallery.toggle_visible": "Comutați vizibilitatea",
"load_pending": "{count, plural, one {# element nou} other {# elemente noi}}",
"loading_indicator.label": "Se încarcă...",
"media_gallery.toggle_visible": "Ascunde media",
"missing_indicator.label": "Nu a fost găsit",
"missing_indicator.sublabel": "Această resursă nu a putut fi găsită",
"mute_modal.hide_notifications": "Ascunzi notificările de la acest utilizator?",
"navigation_bar.apps": "Aplicații mobile",
"navigation_bar.blocks": "Utilizatori blocați",
"navigation_bar.bookmarks": "Bookmarks",
"navigation_bar.bookmarks": "Marcaje",
"navigation_bar.community_timeline": "Flux local",
"navigation_bar.compose": "Compune o nouă postare",
"navigation_bar.direct": "Mesaje directe",
"navigation_bar.discover": "Descoperă",
"navigation_bar.domain_blocks": "Domenii ascunse",
"navigation_bar.domain_blocks": "Domenii blocate",
"navigation_bar.edit_profile": "Editează profilul",
"navigation_bar.favourites": "Favorite",
"navigation_bar.filters": "Cuvinte oprite",
"navigation_bar.filters": "Cuvinte ignorate",
"navigation_bar.follow_requests": "Cereri de urmărire",
"navigation_bar.follows_and_followers": "Follows and followers",
"navigation_bar.follows_and_followers": "Urmăriri și urmăritori",
"navigation_bar.info": "Despre această instanță",
"navigation_bar.keyboard_shortcuts": "Prescurtări",
"navigation_bar.lists": "Liste",
"navigation_bar.logout": "Deconectare",
"navigation_bar.mutes": "Utilizatori opriți",
"navigation_bar.personal": "Personal",
"navigation_bar.mutes": "Utilizatori ignorați",
"navigation_bar.personal": "Personale",
"navigation_bar.pins": "Postări fixate",
"navigation_bar.preferences": "Preferințe",
"navigation_bar.public_timeline": "Flux global",
"navigation_bar.security": "Securitate",
"notification.favourite": "{name} a adăugat statusul tău la favorite",
"notification.favourite": "{name} a adăugat postarea ta la favorite",
"notification.follow": "{name} te urmărește",
"notification.follow_request": "{name} has requested to follow you",
"notification.follow_request": "{name} a cerut să te urmărească",
"notification.mention": "{name} te-a menționat",
"notification.own_poll": "Your poll has ended",
"notification.poll": "A poll you have voted in has ended",
"notification.reblog": "{name} a redistribuit postarea ta",
"notification.own_poll": "Sondajul tău s-a sfârșit",
"notification.poll": "Un sondaj la care ai votat s-a sfârșit",
"notification.reblog": "{name} a impulsionat postarea ta",
"notifications.clear": "Șterge notificările",
"notifications.clear_confirmation": "Ești sigur că vrei să ștergi toate notificările?",
"notifications.clear_confirmation": "Ești sigur că vrei să ștergi permanent toate notificările?",
"notifications.column_settings.alert": "Notificări pe desktop",
"notifications.column_settings.favourite": "Favorite:",
"notifications.column_settings.filter_bar.advanced": "Afișează toate categoriile",
"notifications.column_settings.filter_bar.category": "Bară de filtrare rapidă",
"notifications.column_settings.filter_bar.show": "Arată",
"notifications.column_settings.follow": "Noi urmăritori:",
"notifications.column_settings.follow_request": "New follow requests:",
"notifications.column_settings.follow_request": "Noi cereri de urmărire:",
"notifications.column_settings.mention": "Mențiuni:",
"notifications.column_settings.poll": "Poll results:",
"notifications.column_settings.poll": "Rezultate sondaj:",
"notifications.column_settings.push": "Notificări push",
"notifications.column_settings.reblog": "Redistribuite:",
"notifications.column_settings.reblog": "Impulsuri:",
"notifications.column_settings.show": "Arată în coloană",
"notifications.column_settings.sound": "Redă sunet",
"notifications.filter.all": "Toate",
"notifications.filter.boosts": "Redistribuiri",
"notifications.filter.boosts": "Impulsuri",
"notifications.filter.favourites": "Favorite",
"notifications.filter.follows": "Urmărește",
"notifications.filter.mentions": "Menționări",
"notifications.filter.polls": "Poll results",
"notifications.filter.polls": "Rezultate sondaj",
"notifications.group": "{count} notificări",
"poll.closed": "Closed",
"poll.refresh": "Refresh",
"poll.total_people": "{count, plural, one {# person} other {# people}}",
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
"poll.vote": "Vote",
"poll.voted": "You voted for this answer",
"poll_button.add_poll": "Add a poll",
"poll_button.remove_poll": "Remove poll",
"poll.closed": "Închis",
"poll.refresh": "Reîmprospătează",
"poll.total_people": "{count, plural, one {# persoană} other {# persoane}}",
"poll.total_votes": "{count, plural, one {# vot} other {# voturi}}",
"poll.vote": "Votează",
"poll.voted": "Ai votat pentru acest răspuns",
"poll_button.add_poll": "Adaugă un sondaj",
"poll_button.remove_poll": "Îndepărtează sondajul",
"privacy.change": "Cine vede asta",
"privacy.direct.long": "Postează doar pentru utilizatorii menționați",
"privacy.direct.short": "Direct",
@ -325,76 +328,76 @@
"privacy.private.short": "Doar urmăritorii",
"privacy.public.long": "Postează în fluxul public",
"privacy.public.short": "Public",
"privacy.unlisted.long": "Nu afisa in fluxul public",
"privacy.unlisted.long": "Nu afișa în fluxul public",
"privacy.unlisted.short": "Nelistat",
"refresh": "Refresh",
"regeneration_indicator.label": "Încărcare…",
"refresh": "Reîmprospătează",
"regeneration_indicator.label": "Se încarcă…",
"regeneration_indicator.sublabel": "Fluxul tău este în preparare!",
"relative_time.days": "{number}z",
"relative_time.hours": "{number}h",
"relative_time.hours": "{number}o",
"relative_time.just_now": "acum",
"relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s",
"relative_time.today": "today",
"relative_time.today": "azi",
"reply_indicator.cancel": "Anulează",
"report.forward": "Redirecționează catre {target}",
"report.forward": "Redirecționează către {target}",
"report.forward_hint": "Acest cont este de pe un alt server. Trimitem o copie anonimă a raportului și acolo?",
"report.hint": "Sesizarea va fi trimsă către moderatorii acestei instanțe. Poți oferi o explicație pentru această sesizare mai jos:",
"report.placeholder": "Comentarii opționale",
"report.hint": "Sesizarea va fi trimisă către moderatorii acestei instanțe. Poți oferi o explicație pentru această sesizare mai jos:",
"report.placeholder": "Comentarii adiționale",
"report.submit": "Trimite",
"report.target": "Raportează {target}",
"search.placeholder": "Caută",
"search_popout.search_format": "Formate pentru căutare avansată",
"search_popout.tips.full_text": "Textele simple returnează statusuri pe care le-ai scris, favorizat, redistribuit, sau în care sunt menționate , deasmenea și utilizatorii sau hastagurile care se potrivesc.",
"search_popout.tips.full_text": "Textele simple returnează postări pe care le-ai scris, favorizat, impulsionat, sau în care sunt menționate, deasemenea și utilizatorii sau hashtag-urile care se potrivesc.",
"search_popout.tips.hashtag": "hashtag",
"search_popout.tips.status": "status",
"search_popout.tips.text": "Textele simple returnează nume, nume de utilizarori și hastagurile care se potrivesc",
"search_popout.tips.status": "stare",
"search_popout.tips.text": "Textele simple returnează nume, nume de utilizatori și hashtag-urile care se potrivesc",
"search_popout.tips.user": "utilizator",
"search_results.accounts": "Oameni",
"search_results.hashtags": "Hashtaguri",
"search_results.accounts": "Persoane",
"search_results.hashtags": "Hashtag-uri",
"search_results.statuses": "Postări",
"search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface",
"status.block": "Blochează @{name}",
"status.bookmark": "Bookmark",
"status.cancel_reblog_private": "Nedistribuit",
"status.cannot_reblog": "Această postare nu poate fi redistribuită",
"status.copy": "Copy link to status",
"search_results.statuses_fts_disabled": "Căutarea de postări după conținutul lor nu este activată pe acest server.",
"search_results.total": "{count, number}{count, plural, one { rezultat} other { rezultate}}",
"status.admin_account": "Deschide interfața de moderare pentru @{name}",
"status.admin_status": "Deschide această stare în interfața de moderare",
"status.block": "Blochează pe @{name}",
"status.bookmark": "Marchează",
"status.cancel_reblog_private": "Repuls",
"status.cannot_reblog": "Această postare nu poate fi impulsionată",
"status.copy": "Copiează link-ul postării",
"status.delete": "Șterge",
"status.detailed_status": "Conversația detailată",
"status.direct": "Mesaj direct @{name}",
"status.embed": "Încorporare",
"status.detailed_status": "Conversația detaliată",
"status.direct": "Mesaj direct către @{name}",
"status.embed": "Înglobează",
"status.favourite": "Favorite",
"status.filtered": "Sortate",
"status.load_more": "Încarcă mai multe",
"status.media_hidden": "Media ascunsă",
"status.mention": "Mentionează @{name}",
"status.mention": "Menționează pe @{name}",
"status.more": "Mai mult",
"status.mute": "Oprește @{name}",
"status.mute_conversation": "Oprește conversația",
"status.open": "Extinde acest status",
"status.mute": "Ignoră pe @{name}",
"status.mute_conversation": "Ignoră conversația",
"status.open": "Extinde această stare",
"status.pin": "Fixează pe profil",
"status.pinned": "Postare fixată",
"status.read_more": "Citește mai mult",
"status.reblog": "Redistribuie",
"status.reblog_private": "Redistribuie către audiența originală",
"status.reblogged_by": "{name} a redistribuit",
"status.reblogs.empty": "Nimeni nu a redistribuit această postare până acum. Când cineva o va face, va apărea aici.",
"status.reblog": "Impuls",
"status.reblog_private": "Impulsionează către audiența originală",
"status.reblogged_by": "{name} a impulsionat",
"status.reblogs.empty": "Nimeni nu a impulsionat această postare până acum. Când cineva o va face, va apărea aici.",
"status.redraft": "Șterge și adaugă la ciorne",
"status.remove_bookmark": "Remove bookmark",
"status.remove_bookmark": "Îndepărtează marcajul",
"status.reply": "Răspunde",
"status.replyAll": "Răspunde la topic",
"status.report": "Raportează @{name}",
"status.replyAll": "Răspunde la discuție",
"status.report": "Raportează pe @{name}",
"status.sensitive_warning": "Conținut sensibil",
"status.share": "Distribuie",
"status.show_less": "Arată mai puțin",
"status.show_less_all": "Arată mai puțin pentru toți",
"status.show_more": "Arată mai mult",
"status.show_more_all": "Arată mai mult pentru toți",
"status.show_thread": "Arată topicul",
"status.uncached_media_warning": "Not available",
"status.show_thread": "Arată discuția",
"status.uncached_media_warning": "Indisponibil",
"status.unmute_conversation": "Repornește conversația",
"status.unpin": "Eliberează din profil",
"suggestions.dismiss": "Omite sugestia",
@ -404,33 +407,33 @@
"tabs_bar.local_timeline": "Local",
"tabs_bar.notifications": "Notificări",
"tabs_bar.search": "Căutare",
"time_remaining.days": "{number, plural, one {# day} other {# days}} left",
"time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left",
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",
"time_remaining.moments": "Moments remaining",
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} vorbesc",
"trends.trending_now": "Trending now",
"time_remaining.days": "{number, plural, one {# zi} other {# zile}} rămase",
"time_remaining.hours": "{number, plural, one {# oră} other {# ore}} rămase",
"time_remaining.minutes": "{number, plural, one {# minut} other {# minute}} rămase",
"time_remaining.moments": "Momente rămase",
"time_remaining.seconds": "{number, plural, one {# secundă} other {# secunde}} rămase",
"trends.count_by_accounts": "{count} {rawCount, plural, one {persoană} other {persoane}} vorbește/ecs",
"trends.trending_now": "În tendință acum",
"ui.beforeunload": "Postarea se va pierde dacă părăsești pagina.",
"upload_area.title": "Trage și eliberează pentru a încărca",
"upload_button.label": "Adaugă media (JPEG, PNG, GIF, WebM, MP4, MOV)",
"upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.",
"upload_form.audio_description": "Describe for people with hearing loss",
"upload_error.limit": "Limita de încărcare a fișierului a fost depășită.",
"upload_error.poll": "Încărcarea fișierului nu este permisă cu sondaje.",
"upload_form.audio_description": "Descrie pentru persoanele cu deficiență a auzului",
"upload_form.description": "Adaugă o descriere pentru persoanele cu deficiențe de vedere",
"upload_form.edit": "Edit",
"upload_form.edit": "Editează",
"upload_form.undo": "Șterge",
"upload_form.video_description": "Describe for people with hearing loss or visual impairment",
"upload_modal.analyzing_picture": "Analyzing picture…",
"upload_modal.apply": "Apply",
"upload_form.video_description": "Descrie pentru persoanele cu pierdere a auzului sau tulburări de vedere",
"upload_modal.analyzing_picture": "Se analizează imaginea…",
"upload_modal.apply": "Aplică",
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
"upload_modal.detect_text": "Detect text from picture",
"upload_modal.edit_media": "Edit media",
"upload_modal.hint": "Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.",
"upload_modal.preview_label": "Preview ({ratio})",
"upload_modal.detect_text": "Detectare text din imagine",
"upload_modal.edit_media": "Editați media",
"upload_modal.hint": "Faceţi clic sau trageţi cercul pe previzualizare pentru a alege punctul focal care va fi întotdeauna vizualizat pe toate miniaturile.",
"upload_modal.preview_label": "Previzualizare ({ratio})",
"upload_progress.label": "Se Încarcă...",
"video.close": "Închide video",
"video.download": "Download file",
"video.download": "Descărcați fișierul",
"video.exit_fullscreen": "Închide",
"video.expand": "Extinde video",
"video.fullscreen": "Ecran întreg",

Some files were not shown because too many files have changed in this diff Show More