commit
1996fe2044
@ -173,9 +173,11 @@ jobs:
|
||||
<<: *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
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
|
@ -69,6 +69,7 @@ SMTP_PORT=587
|
||||
SMTP_LOGIN=
|
||||
SMTP_PASSWORD=
|
||||
SMTP_FROM_ADDRESS=notifications@example.com
|
||||
#SMTP_REPLY_TO=
|
||||
#SMTP_DOMAIN= # defaults to LOCAL_DOMAIN
|
||||
#SMTP_DELIVERY_METHOD=smtp # delivery method can also be sendmail
|
||||
#SMTP_AUTH_METHOD=plain
|
||||
|
63
CHANGELOG.md
63
CHANGELOG.md
@ -3,6 +3,69 @@ Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## Unreleased
|
||||
|
||||
TODO
|
||||
|
||||
## [2.9.3] - 2019-08-10
|
||||
### Added
|
||||
|
||||
- Add GIF and WebP support for custom emojis ([Gargron](https://github.com/tootsuite/mastodon/pull/11519))
|
||||
- Add logout link to dropdown menu in web UI ([koyuawsmbrtn](https://github.com/tootsuite/mastodon/pull/11353))
|
||||
- Add indication that text search is unavailable in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11112), [ThibG](https://github.com/tootsuite/mastodon/pull/11202))
|
||||
- Add `suffix` to `Mastodon::Version` to help forks ([clarfon](https://github.com/tootsuite/mastodon/pull/11407))
|
||||
- Add on-hover animation to animated custom emoji in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11348), [ThibG](https://github.com/tootsuite/mastodon/pull/11404), [ThibG](https://github.com/tootsuite/mastodon/pull/11522))
|
||||
- Add custom emoji support in profile metadata labels ([ThibG](https://github.com/tootsuite/mastodon/pull/11350))
|
||||
|
||||
### Changed
|
||||
|
||||
- Change default interface of web and streaming from 0.0.0.0 to 127.0.0.1 ([Gargron](https://github.com/tootsuite/mastodon/pull/11302), [zunda](https://github.com/tootsuite/mastodon/pull/11378), [Gargron](https://github.com/tootsuite/mastodon/pull/11351), [zunda](https://github.com/tootsuite/mastodon/pull/11326))
|
||||
- Change the retry limit of web push notifications ([highemerly](https://github.com/tootsuite/mastodon/pull/11292))
|
||||
- Change ActivityPub deliveries to not retry HTTP 501 errors ([Gargron](https://github.com/tootsuite/mastodon/pull/11233))
|
||||
- Change language detection to include hashtags as words ([Gargron](https://github.com/tootsuite/mastodon/pull/11341))
|
||||
- Change terms and privacy policy pages to always be accessible ([Gargron](https://github.com/tootsuite/mastodon/pull/11334))
|
||||
- Change robots tag to include `noarchive` when user opts out of indexing ([Kjwon15](https://github.com/tootsuite/mastodon/pull/11421))
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix account domain block not clearing out notifications ([Gargron](https://github.com/tootsuite/mastodon/pull/11393))
|
||||
- Fix incorrect locale sometimes being detected for browser ([Gargron](https://github.com/tootsuite/mastodon/pull/8657))
|
||||
- Fix crash when saving invalid domain name ([Gargron](https://github.com/tootsuite/mastodon/pull/11528))
|
||||
- Fix pinned statuses REST API returning pagination headers ([Gargron](https://github.com/tootsuite/mastodon/pull/11526))
|
||||
- Fix "cancel follow request" button having unreadable text in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/11521))
|
||||
- Fix image uploads being blank when canvas read access is blocked ([ThibG](https://github.com/tootsuite/mastodon/pull/11499))
|
||||
- Fix avatars not being animated on hover when not logged in ([ThibG](https://github.com/tootsuite/mastodon/pull/11349))
|
||||
- Fix overzealous sanitization of HTML lists ([ThibG](https://github.com/tootsuite/mastodon/pull/11354))
|
||||
- Fix block crashing when a follow request exists ([ThibG](https://github.com/tootsuite/mastodon/pull/11288))
|
||||
- Fix backup service crashing when an attachment is missing ([ThibG](https://github.com/tootsuite/mastodon/pull/11241))
|
||||
- Fix account moderation action always sending e-mail notification ([Gargron](https://github.com/tootsuite/mastodon/pull/11242))
|
||||
- Fix swiping columns on mobile sometimes failing in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11200))
|
||||
- Fix wrong actor URI being serialized into poll updates ([ThibG](https://github.com/tootsuite/mastodon/pull/11194))
|
||||
- Fix statsd UDP sockets not being cleaned up in Sidekiq ([Gargron](https://github.com/tootsuite/mastodon/pull/11230))
|
||||
- Fix expiration date of filters being set to "never" when editing them ([ThibG](https://github.com/tootsuite/mastodon/pull/11204))
|
||||
- Fix support for MP4 files that are actually M4V files ([Gargron](https://github.com/tootsuite/mastodon/pull/11210))
|
||||
- Fix `alerts` not being typecast correctly in push subscription in REST API ([Gargron](https://github.com/tootsuite/mastodon/pull/11343))
|
||||
- Fix some notices staying on unrelated pages ([ThibG](https://github.com/tootsuite/mastodon/pull/11364))
|
||||
- Fix unboosting sometimes preventing a boost from reappearing on feed ([ThibG](https://github.com/tootsuite/mastodon/pull/11405), [Gargron](https://github.com/tootsuite/mastodon/pull/11450))
|
||||
- Fix only one middle dot being recognized in hashtags ([Gargron](https://github.com/tootsuite/mastodon/pull/11345), [ThibG](https://github.com/tootsuite/mastodon/pull/11363))
|
||||
- Fix unnecessary SQL query performed on unauthenticated requests ([Gargron](https://github.com/tootsuite/mastodon/pull/11179))
|
||||
- Fix incorrect timestamp displayed on featured tags ([Kjwon15](https://github.com/tootsuite/mastodon/pull/11477))
|
||||
- Fix privacy dropdown active state when dropdown is placed on top of it ([ThibG](https://github.com/tootsuite/mastodon/pull/11495))
|
||||
- Fix filters not being applied to poll options ([ThibG](https://github.com/tootsuite/mastodon/pull/11174))
|
||||
- Fix keyboard navigation on various dropdowns ([ThibG](https://github.com/tootsuite/mastodon/pull/11511), [ThibG](https://github.com/tootsuite/mastodon/pull/11492), [ThibG](https://github.com/tootsuite/mastodon/pull/11491))
|
||||
- Fix keyboard navigation in modals ([ThibG](https://github.com/tootsuite/mastodon/pull/11493))
|
||||
- Fix image conversation being non-deterministic due to timestamps ([Gargron](https://github.com/tootsuite/mastodon/pull/11408))
|
||||
- Fix web UI performance ([ThibG](https://github.com/tootsuite/mastodon/pull/11211), [ThibG](https://github.com/tootsuite/mastodon/pull/11234))
|
||||
- Fix scrolling to compose form when not necessary in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11246), [ThibG](https://github.com/tootsuite/mastodon/pull/11182))
|
||||
- Fix save button being enabled when list title is empty in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11475))
|
||||
- Fix poll expiration not being pre-filled on delete & redraft in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11203))
|
||||
- Fix content warning sometimes being set when not requested in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/11206))
|
||||
|
||||
### Security
|
||||
|
||||
- Fix invites not being disabled upon account suspension ([ThibG](https://github.com/tootsuite/mastodon/pull/11412))
|
||||
- Fix blocked domains still being able to fill database with account records ([Gargron](https://github.com/tootsuite/mastodon/pull/11219))
|
||||
|
||||
## [2.9.2] - 2019-06-22
|
||||
### Added
|
||||
|
||||
|
14
Dockerfile
14
Dockerfile
@ -7,19 +7,17 @@ SHELL ["bash", "-c"]
|
||||
ENV NODE_VER="12.9.1"
|
||||
RUN echo "Etc/UTC" > /etc/localtime && \
|
||||
apt update && \
|
||||
apt -y install wget make gcc g++ python && \
|
||||
apt -y install wget python && \
|
||||
cd ~ && \
|
||||
wget https://nodejs.org/download/release/v$NODE_VER/node-v$NODE_VER.tar.gz && \
|
||||
tar xf node-v$NODE_VER.tar.gz && \
|
||||
cd node-v$NODE_VER && \
|
||||
./configure --prefix=/opt/node && \
|
||||
make -j$(nproc) > /dev/null && \
|
||||
make install
|
||||
wget https://nodejs.org/download/release/v$NODE_VER/node-v$NODE_VER-linux-x64.tar.gz && \
|
||||
tar xf node-v$NODE_VER-linux-x64.tar.gz && \
|
||||
rm node-v$NODE_VER-linux-x64.tar.gz && \
|
||||
mv node-v$NODE_VER-linux-x64 /opt/node
|
||||
|
||||
# Install jemalloc
|
||||
ENV JE_VER="5.2.1"
|
||||
RUN apt update && \
|
||||
apt -y install autoconf && \
|
||||
apt -y install make autoconf gcc g++ && \
|
||||
cd ~ && \
|
||||
wget https://github.com/jemalloc/jemalloc/archive/$JE_VER.tar.gz && \
|
||||
tar xf $JE_VER.tar.gz && \
|
||||
|
18
Gemfile
18
Gemfile
@ -15,7 +15,7 @@ gem 'makara', '~> 0.4'
|
||||
gem 'pghero', '~> 2.3'
|
||||
gem 'dotenv-rails', '~> 2.7'
|
||||
|
||||
gem 'aws-sdk-s3', '~> 1.46', require: false
|
||||
gem 'aws-sdk-s3', '~> 1.48', require: false
|
||||
gem 'fog-core', '<= 2.1.0'
|
||||
gem 'fog-openstack', '~> 0.3', require: false
|
||||
gem 'paperclip', '~> 6.0'
|
||||
@ -24,7 +24,7 @@ gem 'streamio-ffmpeg', '~> 3.0'
|
||||
gem 'blurhash', '~> 0.1'
|
||||
|
||||
gem 'active_model_serializers', '~> 0.10'
|
||||
gem 'addressable', '~> 2.6'
|
||||
gem 'addressable', '~> 2.7'
|
||||
gem 'bootsnap', '~> 1.4', require: false
|
||||
gem 'browser'
|
||||
gem 'charlock_holmes', '~> 0.7.6'
|
||||
@ -44,12 +44,13 @@ gem 'omniauth-saml', '~> 1.10'
|
||||
gem 'omniauth', '~> 1.9'
|
||||
|
||||
gem 'discard', '~> 1.1'
|
||||
gem 'doorkeeper', '~> 5.1'
|
||||
gem 'doorkeeper', '~> 5.2'
|
||||
gem 'fast_blank', '~> 1.0'
|
||||
gem 'fastimage'
|
||||
gem 'goldfinger', '~> 2.1'
|
||||
gem 'hiredis', '~> 0.6'
|
||||
gem 'redis-namespace', '~> 1.5'
|
||||
gem 'health_check', '~> 3.0'
|
||||
gem 'htmlentities', '~> 4.3'
|
||||
gem 'http', '~> 3.3'
|
||||
gem 'http_accept_language', '~> 2.1'
|
||||
@ -58,7 +59,7 @@ gem 'httplog', '~> 1.3'
|
||||
gem 'idn-ruby', require: 'idn'
|
||||
gem 'kaminari', '~> 1.1'
|
||||
gem 'link_header', '~> 0.0'
|
||||
gem 'mime-types', '~> 3.2', require: 'mime/types/columnar'
|
||||
gem 'mime-types', '~> 3.3', require: 'mime/types/columnar'
|
||||
gem 'nilsimsa', git: 'https://github.com/witgo/nilsimsa', ref: 'fd184883048b922b176939f851338d0a4971a532'
|
||||
gem 'nokogiri', '~> 1.10'
|
||||
gem 'nsa', '~> 0.2'
|
||||
@ -76,7 +77,8 @@ gem 'rails-settings-cached', '~> 0.6'
|
||||
gem 'redis', '~> 4.1', require: ['redis', 'redis/connection/hiredis']
|
||||
gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock'
|
||||
gem 'rqrcode', '~> 0.10'
|
||||
gem 'sanitize', '~> 5.0'
|
||||
gem 'ruby-progressbar', '~> 1.10'
|
||||
gem 'sanitize', '~> 5.1'
|
||||
gem 'sidekiq', '~> 5.2'
|
||||
gem 'sidekiq-scheduler', '~> 3.0'
|
||||
gem 'sidekiq-unique-jobs', '~> 6.0'
|
||||
@ -113,14 +115,14 @@ group :production, :test do
|
||||
end
|
||||
|
||||
group :test do
|
||||
gem 'capybara', '~> 3.28'
|
||||
gem 'capybara', '~> 3.29'
|
||||
gem 'climate_control', '~> 0.2'
|
||||
gem 'faker', '~> 2.1'
|
||||
gem 'faker', '~> 2.3'
|
||||
gem 'microformats', '~> 4.1'
|
||||
gem 'rails-controller-testing', '~> 1.0'
|
||||
gem 'rspec-sidekiq', '~> 3.0'
|
||||
gem 'simplecov', '~> 0.17', require: false
|
||||
gem 'webmock', '~> 3.6'
|
||||
gem 'webmock', '~> 3.7'
|
||||
gem 'parallel_tests', '~> 2.29'
|
||||
end
|
||||
|
||||
|
84
Gemfile.lock
84
Gemfile.lock
@ -83,9 +83,9 @@ GEM
|
||||
i18n (>= 0.7, < 2)
|
||||
minitest (~> 5.1)
|
||||
tzinfo (~> 1.1)
|
||||
addressable (2.6.0)
|
||||
public_suffix (>= 2.0.2, < 4.0)
|
||||
airbrussh (1.3.0)
|
||||
addressable (2.7.0)
|
||||
public_suffix (>= 2.0.2, < 5.0)
|
||||
airbrussh (1.3.3)
|
||||
sshkit (>= 1.6.1, != 1.7.0)
|
||||
annotate (2.7.5)
|
||||
activerecord (>= 3.2, < 7.0)
|
||||
@ -97,8 +97,8 @@ GEM
|
||||
av (0.9.0)
|
||||
cocaine (~> 0.5.3)
|
||||
aws-eventstream (1.0.3)
|
||||
aws-partitions (1.193.0)
|
||||
aws-sdk-core (3.61.1)
|
||||
aws-partitions (1.207.0)
|
||||
aws-sdk-core (3.65.1)
|
||||
aws-eventstream (~> 1.0, >= 1.0.2)
|
||||
aws-partitions (~> 1.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
@ -106,7 +106,7 @@ GEM
|
||||
aws-sdk-kms (1.24.0)
|
||||
aws-sdk-core (~> 3, >= 3.61.1)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-s3 (1.46.0)
|
||||
aws-sdk-s3 (1.48.0)
|
||||
aws-sdk-core (~> 3, >= 3.61.1)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.1)
|
||||
@ -122,7 +122,7 @@ GEM
|
||||
debug_inspector (>= 0.0.1)
|
||||
blurhash (0.1.3)
|
||||
ffi (~> 1.10.0)
|
||||
bootsnap (1.4.4)
|
||||
bootsnap (1.4.5)
|
||||
msgpack (~> 1.0)
|
||||
brakeman (4.6.1)
|
||||
browser (2.6.1)
|
||||
@ -134,7 +134,7 @@ GEM
|
||||
bundler (>= 1.2.0, < 3)
|
||||
thor (~> 0.18)
|
||||
byebug (11.0.0)
|
||||
capistrano (3.11.0)
|
||||
capistrano (3.11.1)
|
||||
airbrussh (>= 1.0.0)
|
||||
i18n
|
||||
rake (>= 10.0.0)
|
||||
@ -150,7 +150,7 @@ GEM
|
||||
sshkit (~> 1.3)
|
||||
capistrano-yarn (2.0.2)
|
||||
capistrano (~> 3.0)
|
||||
capybara (3.28.0)
|
||||
capybara (3.29.0)
|
||||
addressable
|
||||
mini_mime (>= 0.1.3)
|
||||
nokogiri (~> 1.8)
|
||||
@ -188,7 +188,7 @@ GEM
|
||||
rack (>= 1)
|
||||
rake (> 10, < 13)
|
||||
thor (~> 0.19)
|
||||
devise (4.7.0)
|
||||
devise (4.7.1)
|
||||
bcrypt (~> 3.0)
|
||||
orm_adapter (~> 0.1)
|
||||
railties (>= 4.1.0)
|
||||
@ -209,7 +209,7 @@ GEM
|
||||
docile (1.3.2)
|
||||
domain_name (0.5.20180417)
|
||||
unf (>= 0.0.5, < 1.0.0)
|
||||
doorkeeper (5.1.0)
|
||||
doorkeeper (5.2.0)
|
||||
railties (>= 5)
|
||||
dotenv (2.7.5)
|
||||
dotenv-rails (2.7.5)
|
||||
@ -231,12 +231,12 @@ GEM
|
||||
tzinfo
|
||||
excon (0.62.0)
|
||||
fabrication (2.20.2)
|
||||
faker (2.1.2)
|
||||
i18n (>= 0.8)
|
||||
faker (2.3.0)
|
||||
i18n (~> 1.6.0)
|
||||
faraday (0.15.0)
|
||||
multipart-post (>= 1.2, < 3)
|
||||
fast_blank (1.0.0)
|
||||
fastimage (2.1.5)
|
||||
fastimage (2.1.7)
|
||||
ffi (1.10.0)
|
||||
fog-core (2.1.0)
|
||||
builder
|
||||
@ -278,6 +278,8 @@ GEM
|
||||
concurrent-ruby (~> 1.0)
|
||||
hashdiff (1.0.0)
|
||||
hashie (3.6.0)
|
||||
health_check (3.0.0)
|
||||
railties (>= 5.0)
|
||||
heapy (0.1.4)
|
||||
highline (2.0.1)
|
||||
hiredis (0.6.3)
|
||||
@ -314,7 +316,7 @@ GEM
|
||||
jmespath (1.4.0)
|
||||
json (2.2.0)
|
||||
json-canonicalization (0.1.0)
|
||||
json-ld-preloaded (3.0.3)
|
||||
json-ld-preloaded (3.0.4)
|
||||
json-ld (~> 3.0)
|
||||
multi_json (~> 1.12)
|
||||
rdf (~> 3.0)
|
||||
@ -362,32 +364,32 @@ GEM
|
||||
microformats (4.1.0)
|
||||
json (~> 2.1)
|
||||
nokogiri (~> 1.8, >= 1.8.3)
|
||||
mime-types (3.2.2)
|
||||
mime-types (3.3)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2018.0812)
|
||||
mime-types-data (3.2019.0904)
|
||||
mimemagic (0.3.3)
|
||||
mini_mime (1.0.2)
|
||||
mini_portile2 (2.4.0)
|
||||
minitest (5.11.3)
|
||||
msgpack (1.2.10)
|
||||
msgpack (1.3.1)
|
||||
multi_json (1.13.1)
|
||||
multipart-post (2.0.0)
|
||||
necromancer (0.5.0)
|
||||
net-ldap (0.16.1)
|
||||
net-scp (1.2.1)
|
||||
net-ssh (>= 2.6.5)
|
||||
net-ssh (5.0.2)
|
||||
nio4r (2.4.0)
|
||||
net-scp (2.0.0)
|
||||
net-ssh (>= 2.6.5, < 6.0.0)
|
||||
net-ssh (5.2.0)
|
||||
nio4r (2.5.1)
|
||||
nokogiri (1.10.4)
|
||||
mini_portile2 (~> 2.4.0)
|
||||
nokogumbo (2.0.0)
|
||||
nokogumbo (2.0.1)
|
||||
nokogiri (~> 1.8, >= 1.8.4)
|
||||
nsa (0.2.7)
|
||||
activesupport (>= 4.2, < 6)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
sidekiq (>= 3.5)
|
||||
statsd-ruby (~> 1.4, >= 1.4.0)
|
||||
oj (3.9.0)
|
||||
oj (3.9.1)
|
||||
omniauth (1.9.0)
|
||||
hashie (>= 3.4.6, < 3.7.0)
|
||||
rack (>= 1.6.2, < 3)
|
||||
@ -416,7 +418,7 @@ GEM
|
||||
parallel (1.17.0)
|
||||
parallel_tests (2.29.2)
|
||||
parallel
|
||||
parser (2.6.3.0)
|
||||
parser (2.6.4.0)
|
||||
ast (~> 2.4.0)
|
||||
parslet (1.8.2)
|
||||
pastel (0.7.2)
|
||||
@ -442,8 +444,8 @@ GEM
|
||||
pry (~> 0.10)
|
||||
pry-rails (0.3.9)
|
||||
pry (>= 0.10.4)
|
||||
public_suffix (3.1.1)
|
||||
puma (4.1.0)
|
||||
public_suffix (4.0.1)
|
||||
puma (4.1.1)
|
||||
nio4r (~> 2.0)
|
||||
pundit (2.1.0)
|
||||
activesupport (>= 3.0.0)
|
||||
@ -555,7 +557,7 @@ GEM
|
||||
rainbow (>= 2.2.2, < 4.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (>= 1.4.0, < 1.7)
|
||||
rubocop-rails (2.3.1)
|
||||
rubocop-rails (2.3.2)
|
||||
rack (>= 1.1)
|
||||
rubocop (>= 0.72.0)
|
||||
ruby-progressbar (1.10.1)
|
||||
@ -564,7 +566,7 @@ GEM
|
||||
rufus-scheduler (3.5.2)
|
||||
fugit (~> 1.1, >= 1.1.5)
|
||||
safe_yaml (1.0.5)
|
||||
sanitize (5.0.0)
|
||||
sanitize (5.1.0)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.8.0)
|
||||
nokogumbo (~> 2.0)
|
||||
@ -601,7 +603,7 @@ GEM
|
||||
actionpack (>= 4.0)
|
||||
activesupport (>= 4.0)
|
||||
sprockets (>= 3.0.0)
|
||||
sshkit (1.17.0)
|
||||
sshkit (1.20.0)
|
||||
net-scp (>= 1.1.2)
|
||||
net-ssh (>= 2.8.0)
|
||||
stackprof (0.2.12)
|
||||
@ -636,7 +638,7 @@ GEM
|
||||
unf (~> 0.1.0)
|
||||
tzinfo (1.2.5)
|
||||
thread_safe (~> 0.1)
|
||||
tzinfo-data (1.2019.2)
|
||||
tzinfo-data (1.2019.3)
|
||||
tzinfo (>= 1.0.0)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
@ -645,7 +647,7 @@ GEM
|
||||
uniform_notifier (1.12.1)
|
||||
warden (1.2.8)
|
||||
rack (>= 2.0.6)
|
||||
webmock (3.6.2)
|
||||
webmock (3.7.3)
|
||||
addressable (>= 2.3.6)
|
||||
crack (>= 0.3.2)
|
||||
hashdiff (>= 0.4.0, < 2.0.0)
|
||||
@ -669,9 +671,9 @@ PLATFORMS
|
||||
DEPENDENCIES
|
||||
active_model_serializers (~> 0.10)
|
||||
active_record_query_trace (~> 1.6)
|
||||
addressable (~> 2.6)
|
||||
addressable (~> 2.7)
|
||||
annotate (~> 2.7)
|
||||
aws-sdk-s3 (~> 1.46)
|
||||
aws-sdk-s3 (~> 1.48)
|
||||
better_errors (~> 2.5)
|
||||
binding_of_caller (~> 0.7)
|
||||
blurhash (~> 0.1)
|
||||
@ -684,7 +686,7 @@ DEPENDENCIES
|
||||
capistrano-rails (~> 1.4)
|
||||
capistrano-rbenv (~> 2.1)
|
||||
capistrano-yarn (~> 2.0)
|
||||
capybara (~> 3.28)
|
||||
capybara (~> 3.29)
|
||||
charlock_holmes (~> 0.7.6)
|
||||
chewy (~> 5.0)
|
||||
cld3 (~> 3.2.4)
|
||||
@ -696,10 +698,10 @@ DEPENDENCIES
|
||||
devise-two-factor (~> 3.1)
|
||||
devise_pam_authenticatable2 (~> 9.2)
|
||||
discard (~> 1.1)
|
||||
doorkeeper (~> 5.1)
|
||||
doorkeeper (~> 5.2)
|
||||
dotenv-rails (~> 2.7)
|
||||
fabrication (~> 2.20)
|
||||
faker (~> 2.1)
|
||||
faker (~> 2.3)
|
||||
fast_blank (~> 1.0)
|
||||
fastimage
|
||||
fog-core (<= 2.1.0)
|
||||
@ -707,6 +709,7 @@ DEPENDENCIES
|
||||
fuubar (~> 2.4)
|
||||
goldfinger (~> 2.1)
|
||||
hamlit-rails (~> 0.2)
|
||||
health_check (~> 3.0)
|
||||
hiredis (~> 0.6)
|
||||
htmlentities (~> 4.3)
|
||||
http (~> 3.3)
|
||||
@ -727,7 +730,7 @@ DEPENDENCIES
|
||||
mario-redis-lock (~> 1.2)
|
||||
memory_profiler
|
||||
microformats (~> 4.1)
|
||||
mime-types (~> 3.2)
|
||||
mime-types (~> 3.3)
|
||||
net-ldap (~> 0.10)
|
||||
nilsimsa!
|
||||
nokogiri (~> 1.10)
|
||||
@ -768,7 +771,8 @@ DEPENDENCIES
|
||||
rspec-sidekiq (~> 3.0)
|
||||
rubocop (~> 0.74)
|
||||
rubocop-rails (~> 2.3)
|
||||
sanitize (~> 5.0)
|
||||
ruby-progressbar (~> 1.10)
|
||||
sanitize (~> 5.1)
|
||||
sidekiq (~> 5.2)
|
||||
sidekiq-bulk (~> 0.2.0)
|
||||
sidekiq-scheduler (~> 3.0)
|
||||
@ -786,7 +790,7 @@ DEPENDENCIES
|
||||
tty-prompt (~> 0.19)
|
||||
twitter-text (~> 1.14)
|
||||
tzinfo-data (~> 1.2019)
|
||||
webmock (~> 3.6)
|
||||
webmock (~> 3.7)
|
||||
webpacker (~> 4.0)
|
||||
webpush
|
||||
|
||||
|
@ -3,9 +3,7 @@
|
||||
class AboutController < ApplicationController
|
||||
layout 'public'
|
||||
|
||||
before_action :require_open_federation!, only: [:show, :more, :blocks]
|
||||
before_action :check_blocklist_enabled, only: [:blocks]
|
||||
before_action :authenticate_user!, only: [:blocks], if: :blocklist_account_required?
|
||||
before_action :require_open_federation!, only: [:show, :more]
|
||||
before_action :set_body_classes, only: :show
|
||||
before_action :set_instance_presenter
|
||||
before_action :set_expires_in, only: [:show, :more, :terms]
|
||||
@ -16,15 +14,20 @@ class AboutController < ApplicationController
|
||||
|
||||
def more
|
||||
flash.now[:notice] = I18n.t('about.instance_actor_flash') if params[:instance_actor]
|
||||
|
||||
toc_generator = TOCGenerator.new(@instance_presenter.site_extended_description)
|
||||
|
||||
@contents = toc_generator.html
|
||||
@table_of_contents = toc_generator.toc
|
||||
@blocks = DomainBlock.with_user_facing_limitations.by_severity if display_blocks?
|
||||
end
|
||||
|
||||
def terms; end
|
||||
|
||||
def blocks
|
||||
@show_rationale = Setting.show_domain_blocks_rationale == 'all'
|
||||
@show_rationale |= Setting.show_domain_blocks_rationale == 'users' && !current_user.nil? && current_user.functional?
|
||||
@blocks = DomainBlock.with_user_facing_limitations.order('(CASE severity WHEN 0 THEN 1 WHEN 1 THEN 2 WHEN 2 THEN 0 END), reject_media, domain').to_a
|
||||
end
|
||||
helper_method :display_blocks?
|
||||
helper_method :display_blocks_rationale?
|
||||
helper_method :public_fetch_mode?
|
||||
helper_method :new_user
|
||||
|
||||
private
|
||||
|
||||
@ -32,28 +35,14 @@ class AboutController < ApplicationController
|
||||
not_found if whitelist_mode?
|
||||
end
|
||||
|
||||
def check_blocklist_enabled
|
||||
not_found if Setting.show_domain_blocks == 'disabled'
|
||||
def display_blocks?
|
||||
Setting.show_domain_blocks == 'all' || (Setting.show_domain_blocks == 'users' && user_signed_in?)
|
||||
end
|
||||
|
||||
def blocklist_account_required?
|
||||
Setting.show_domain_blocks == 'users'
|
||||
def display_blocks_rationale?
|
||||
Setting.show_domain_blocks_rationale == 'all' || (Setting.show_domain_blocks_rationale == 'users' && user_signed_in?)
|
||||
end
|
||||
|
||||
def block_severity_text(block)
|
||||
if block.severity == 'suspend'
|
||||
I18n.t('domain_blocks.suspension')
|
||||
else
|
||||
limitations = []
|
||||
limitations << I18n.t('domain_blocks.media_block') if block.reject_media?
|
||||
limitations << I18n.t('domain_blocks.silence') if block.severity == 'silence'
|
||||
limitations.join(', ')
|
||||
end
|
||||
end
|
||||
|
||||
helper_method :block_severity_text
|
||||
helper_method :public_fetch_mode?
|
||||
|
||||
def new_user
|
||||
User.new.tap do |user|
|
||||
user.build_account
|
||||
@ -61,8 +50,6 @@ class AboutController < ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
helper_method :new_user
|
||||
|
||||
def set_instance_presenter
|
||||
@instance_presenter = InstancePresenter.new
|
||||
end
|
||||
|
@ -41,7 +41,7 @@ module Admin
|
||||
|
||||
def reject
|
||||
authorize @account.user, :reject?
|
||||
SuspendAccountService.new.call(@account, including_user: true, destroy: true, skip_distribution: true)
|
||||
SuspendAccountService.new.call(@account, reserve_email: false, reserve_username: false)
|
||||
redirect_to admin_pending_accounts_path
|
||||
end
|
||||
|
||||
|
@ -2,19 +2,20 @@
|
||||
|
||||
module Admin
|
||||
class CustomEmojisController < BaseController
|
||||
before_action :set_custom_emoji, except: [:index, :new, :create]
|
||||
before_action :set_filter_params
|
||||
|
||||
include ObfuscateFilename
|
||||
|
||||
obfuscate_filename [:custom_emoji, :image]
|
||||
|
||||
def index
|
||||
authorize :custom_emoji, :index?
|
||||
|
||||
@custom_emojis = filtered_custom_emojis.eager_load(:local_counterpart).page(params[:page])
|
||||
@form = Form::CustomEmojiBatch.new
|
||||
end
|
||||
|
||||
def new
|
||||
authorize :custom_emoji, :create?
|
||||
|
||||
@custom_emoji = CustomEmoji.new
|
||||
end
|
||||
|
||||
@ -31,69 +32,17 @@ module Admin
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
authorize @custom_emoji, :update?
|
||||
|
||||
if @custom_emoji.update(resource_params)
|
||||
log_action :update, @custom_emoji
|
||||
flash[:notice] = I18n.t('admin.custom_emojis.updated_msg')
|
||||
else
|
||||
flash[:alert] = I18n.t('admin.custom_emojis.update_failed_msg')
|
||||
end
|
||||
redirect_to admin_custom_emojis_path(page: params[:page], **@filter_params)
|
||||
end
|
||||
|
||||
def destroy
|
||||
authorize @custom_emoji, :destroy?
|
||||
@custom_emoji.destroy!
|
||||
log_action :destroy, @custom_emoji
|
||||
flash[:notice] = I18n.t('admin.custom_emojis.destroyed_msg')
|
||||
redirect_to admin_custom_emojis_path(page: params[:page], **@filter_params)
|
||||
end
|
||||
|
||||
def copy
|
||||
authorize @custom_emoji, :copy?
|
||||
|
||||
emoji = CustomEmoji.find_or_initialize_by(domain: nil,
|
||||
shortcode: @custom_emoji.shortcode)
|
||||
emoji.image = @custom_emoji.image
|
||||
|
||||
if emoji.save
|
||||
log_action :create, emoji
|
||||
flash[:notice] = I18n.t('admin.custom_emojis.copied_msg')
|
||||
else
|
||||
flash[:alert] = I18n.t('admin.custom_emojis.copy_failed_msg')
|
||||
end
|
||||
|
||||
redirect_to admin_custom_emojis_path(page: params[:page], **@filter_params)
|
||||
end
|
||||
|
||||
def enable
|
||||
authorize @custom_emoji, :enable?
|
||||
@custom_emoji.update!(disabled: false)
|
||||
log_action :enable, @custom_emoji
|
||||
flash[:notice] = I18n.t('admin.custom_emojis.enabled_msg')
|
||||
redirect_to admin_custom_emojis_path(page: params[:page], **@filter_params)
|
||||
end
|
||||
|
||||
def disable
|
||||
authorize @custom_emoji, :disable?
|
||||
@custom_emoji.update!(disabled: true)
|
||||
log_action :disable, @custom_emoji
|
||||
flash[:notice] = I18n.t('admin.custom_emojis.disabled_msg')
|
||||
redirect_to admin_custom_emojis_path(page: params[:page], **@filter_params)
|
||||
def batch
|
||||
@form = Form::CustomEmojiBatch.new(form_custom_emoji_batch_params.merge(current_account: current_account, action: action_from_button))
|
||||
@form.save
|
||||
rescue ActionController::ParameterMissing
|
||||
flash[:alert] = I18n.t('admin.accounts.no_account_selected')
|
||||
ensure
|
||||
redirect_to admin_custom_emojis_path(filter_params)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_custom_emoji
|
||||
@custom_emoji = CustomEmoji.find(params[:id])
|
||||
end
|
||||
|
||||
def set_filter_params
|
||||
@filter_params = filter_params.to_hash.symbolize_keys
|
||||
end
|
||||
|
||||
def resource_params
|
||||
params.require(:custom_emoji).permit(:shortcode, :image, :visible_in_picker)
|
||||
end
|
||||
@ -103,12 +52,29 @@ module Admin
|
||||
end
|
||||
|
||||
def filter_params
|
||||
params.permit(
|
||||
:local,
|
||||
:remote,
|
||||
:by_domain,
|
||||
:shortcode
|
||||
)
|
||||
params.slice(:local, :remote, :by_domain, :shortcode, :page).permit(:local, :remote, :by_domain, :shortcode, :page)
|
||||
end
|
||||
|
||||
def action_from_button
|
||||
if params[:update]
|
||||
'update'
|
||||
elsif params[:list]
|
||||
'list'
|
||||
elsif params[:unlist]
|
||||
'unlist'
|
||||
elsif params[:enable]
|
||||
'enable'
|
||||
elsif params[:disable]
|
||||
'disable'
|
||||
elsif params[:copy]
|
||||
'copy'
|
||||
elsif params[:delete]
|
||||
'delete'
|
||||
end
|
||||
end
|
||||
|
||||
def form_custom_emoji_batch_params
|
||||
params.require(:form_custom_emoji_batch).permit(:action, :category_id, :category_name, custom_emoji_ids: [])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -5,7 +5,7 @@ module Admin
|
||||
before_action :set_report_note, only: [:destroy]
|
||||
|
||||
def create
|
||||
authorize ReportNote, :create?
|
||||
authorize :report_note, :create?
|
||||
|
||||
@report_note = current_account.report_notes.new(resource_params)
|
||||
@report = @report_note.report
|
||||
@ -26,8 +26,7 @@ module Admin
|
||||
|
||||
redirect_to admin_report_path(@report), notice: I18n.t('admin.report_notes.created_msg')
|
||||
else
|
||||
@report_notes = @report.notes.latest
|
||||
@report_history = @report.history
|
||||
@report_notes = (@report.notes.latest + @report.history + @report.target_account.targeted_account_warnings.latest.custom).sort_by(&:created_at)
|
||||
@form = Form::StatusBatch.new
|
||||
|
||||
render template: 'admin/reports/show'
|
||||
|
@ -2,13 +2,34 @@
|
||||
|
||||
module Admin
|
||||
class TagsController < BaseController
|
||||
before_action :set_tags, only: :index
|
||||
before_action :set_tag, except: :index
|
||||
before_action :set_usage_by_domain, except: :index
|
||||
before_action :set_counters, except: :index
|
||||
before_action :set_tag, except: [:index, :batch, :approve_all, :reject_all]
|
||||
before_action :set_usage_by_domain, except: [:index, :batch, :approve_all, :reject_all]
|
||||
before_action :set_counters, except: [:index, :batch, :approve_all, :reject_all]
|
||||
|
||||
def index
|
||||
authorize :tag, :index?
|
||||
|
||||
@tags = filtered_tags.page(params[:page])
|
||||
@form = Form::TagBatch.new
|
||||
end
|
||||
|
||||
def batch
|
||||
@form = Form::TagBatch.new(form_tag_batch_params.merge(current_account: current_account, action: action_from_button))
|
||||
@form.save
|
||||
rescue ActionController::ParameterMissing
|
||||
flash[:alert] = I18n.t('admin.accounts.no_account_selected')
|
||||
ensure
|
||||
redirect_to admin_tags_path(filter_params)
|
||||
end
|
||||
|
||||
def approve_all
|
||||
Form::TagBatch.new(current_account: current_account, tag_ids: Tag.pending_review.pluck(:id), action: 'approve').save
|
||||
redirect_to admin_tags_path(filter_params)
|
||||
end
|
||||
|
||||
def reject_all
|
||||
Form::TagBatch.new(current_account: current_account, tag_ids: Tag.pending_review.pluck(:id), action: 'reject').save
|
||||
redirect_to admin_tags_path(filter_params)
|
||||
end
|
||||
|
||||
def show
|
||||
@ -27,10 +48,6 @@ module Admin
|
||||
|
||||
private
|
||||
|
||||
def set_tags
|
||||
@tags = filtered_tags.page(params[:page])
|
||||
end
|
||||
|
||||
def set_tag
|
||||
@tag = Tag.find(params[:id])
|
||||
end
|
||||
@ -52,16 +69,11 @@ module Admin
|
||||
end
|
||||
|
||||
def filtered_tags
|
||||
scope = Tag
|
||||
scope = scope.discoverable if filter_params[:context] == 'directory'
|
||||
scope = scope.unreviewed if filter_params[:review] == 'unreviewed'
|
||||
scope = scope.reviewed.order(reviewed_at: :desc) if filter_params[:review] == 'reviewed'
|
||||
scope = scope.pending_review.order(requested_review_at: :desc) if filter_params[:review] == 'pending_review'
|
||||
scope.order(score: :desc)
|
||||
TagFilter.new(filter_params).results
|
||||
end
|
||||
|
||||
def filter_params
|
||||
params.slice(:context, :review).permit(:context, :review)
|
||||
params.slice(:directory, :reviewed, :unreviewed, :pending_review, :page, :popular, :active, :name).permit(:directory, :reviewed, :unreviewed, :pending_review, :page, :popular, :active, :name)
|
||||
end
|
||||
|
||||
def tag_params
|
||||
@ -75,5 +87,17 @@ module Admin
|
||||
date.to_time(:utc).beginning_of_day.to_i
|
||||
end
|
||||
end
|
||||
|
||||
def form_tag_batch_params
|
||||
params.require(:form_tag_batch).permit(:action, tag_ids: [])
|
||||
end
|
||||
|
||||
def action_from_button
|
||||
if params[:approve]
|
||||
'approve'
|
||||
elsif params[:reject]
|
||||
'reject'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -8,6 +8,7 @@ module Admin
|
||||
authorize @user, :disable_2fa?
|
||||
@user.disable_two_factor!
|
||||
log_action :disable_2fa, @user
|
||||
UserMailer.two_factor_disabled(@user).deliver_later!
|
||||
redirect_to admin_accounts_path
|
||||
end
|
||||
|
||||
|
@ -58,7 +58,7 @@ class Api::V1::Admin::AccountsController < Api::BaseController
|
||||
|
||||
def reject
|
||||
authorize @account.user, :reject?
|
||||
SuspendAccountService.new.call(@account, including_user: true, destroy: true, skip_distribution: true)
|
||||
SuspendAccountService.new.call(@account, reserve_email: false, reserve_username: false)
|
||||
render json: @account, serializer: REST::Admin::AccountSerializer
|
||||
end
|
||||
|
||||
|
@ -7,6 +7,6 @@ class Api::V1::CustomEmojisController < Api::BaseController
|
||||
|
||||
def index
|
||||
expires_in 3.minutes, public: true
|
||||
render_with_cache(each_serializer: REST::CustomEmojiSerializer) { CustomEmoji.local.where(disabled: false).includes(:category) }
|
||||
render_with_cache(each_serializer: REST::CustomEmojiSerializer) { CustomEmoji.listed.includes(:category) }
|
||||
end
|
||||
end
|
||||
|
@ -0,0 +1,20 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class Api::V1::FeaturedTags::SuggestionsController < Api::BaseController
|
||||
before_action -> { doorkeeper_authorize! :read, :'read:accounts' }, only: :index
|
||||
|
||||
before_action :require_user!
|
||||
before_action :set_most_used_tags, only: :index
|
||||
|
||||
respond_to :json
|
||||
|
||||
def index
|
||||
render json: @most_used_tags, each_serializer: REST::TagSerializer
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_most_used_tags
|
||||
@most_used_tags = Tag.most_used(current_account).where.not(id: current_account.featured_tags).limit(10)
|
||||
end
|
||||
end
|
40
app/controllers/api/v1/featured_tags_controller.rb
Normal file
40
app/controllers/api/v1/featured_tags_controller.rb
Normal file
@ -0,0 +1,40 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class Api::V1::FeaturedTagsController < Api::BaseController
|
||||
before_action -> { doorkeeper_authorize! :read, :'read:accounts' }, only: :index
|
||||
before_action -> { doorkeeper_authorize! :write, :'write:accounts' }, except: :index
|
||||
|
||||
before_action :require_user!
|
||||
before_action :set_featured_tags, only: :index
|
||||
before_action :set_featured_tag, except: [:index, :create]
|
||||
|
||||
def index
|
||||
render json: @featured_tags, each_serializer: REST::FeaturedTagSerializer
|
||||
end
|
||||
|
||||
def create
|
||||
@featured_tag = current_account.featured_tags.new(featured_tag_params)
|
||||
@featured_tag.reset_data
|
||||
@featured_tag.save!
|
||||
render json: @featured_tag, serializer: REST::FeaturedTagSerializer
|
||||
end
|
||||
|
||||
def destroy
|
||||
@featured_tag.destroy!
|
||||
render_empty
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_featured_tag
|
||||
@featured_tag = current_account.featured_tags.find(params[:id])
|
||||
end
|
||||
|
||||
def set_featured_tags
|
||||
@featured_tags = current_account.featured_tags.order(statuses_count: :desc)
|
||||
end
|
||||
|
||||
def featured_tag_params
|
||||
params.permit(:name)
|
||||
end
|
||||
end
|
@ -14,12 +14,12 @@ class Api::V1::FollowRequestsController < Api::BaseController
|
||||
def authorize
|
||||
AuthorizeFollowService.new.call(account, current_account)
|
||||
NotifyService.new.call(current_account, Follow.find_by(account: account, target_account: current_account))
|
||||
render_empty
|
||||
render json: account, serializer: REST::RelationshipSerializer, relationships: relationships
|
||||
end
|
||||
|
||||
def reject
|
||||
RejectFollowService.new.call(account, current_account)
|
||||
render_empty
|
||||
render json: account, serializer: REST::RelationshipSerializer, relationships: relationships
|
||||
end
|
||||
|
||||
private
|
||||
@ -28,6 +28,10 @@ class Api::V1::FollowRequestsController < Api::BaseController
|
||||
Account.find(params[:id])
|
||||
end
|
||||
|
||||
def relationships(**options)
|
||||
AccountRelationshipsPresenter.new([params[:id]], current_user.account_id, options)
|
||||
end
|
||||
|
||||
def load_accounts
|
||||
default_accounts.merge(paginated_follow_requests).to_a
|
||||
end
|
||||
|
44
app/controllers/api/v1/markers_controller.rb
Normal file
44
app/controllers/api/v1/markers_controller.rb
Normal file
@ -0,0 +1,44 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class Api::V1::MarkersController < Api::BaseController
|
||||
before_action -> { doorkeeper_authorize! :read, :'read:statuses' }, only: [:index]
|
||||
before_action -> { doorkeeper_authorize! :write, :'write:statuses' }, except: [:index]
|
||||
|
||||
before_action :require_user!
|
||||
|
||||
def index
|
||||
@markers = current_user.markers.where(timeline: Array(params[:timeline])).each_with_object({}) { |marker, h| h[marker.timeline] = marker }
|
||||
render json: serialize_map(@markers)
|
||||
end
|
||||
|
||||
def create
|
||||
Marker.transaction do
|
||||
@markers = {}
|
||||
|
||||
resource_params.each_pair do |timeline, timeline_params|
|
||||
@markers[timeline] = current_user.markers.find_or_initialize_by(timeline: timeline)
|
||||
@markers[timeline].update!(timeline_params)
|
||||
end
|
||||
end
|
||||
|
||||
render json: serialize_map(@markers)
|
||||
rescue ActiveRecord::StaleObjectError
|
||||
render json: { error: 'Conflict during update, please try again' }, status: 409
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def serialize_map(map)
|
||||
serialized = {}
|
||||
|
||||
map.each_pair do |key, value|
|
||||
serialized[key] = ActiveModelSerializers::SerializableResource.new(value, serializer: REST::MarkerSerializer).as_json
|
||||
end
|
||||
|
||||
Oj.dump(serialized)
|
||||
end
|
||||
|
||||
def resource_params
|
||||
params.slice(*Marker::TIMELINES).permit(*Marker::TIMELINES.map { |timeline| { timeline.to_sym => [:last_read_id] } })
|
||||
end
|
||||
end
|
@ -1,32 +0,0 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class Api::V1::SearchController < Api::BaseController
|
||||
include Authorization
|
||||
|
||||
RESULTS_LIMIT = 20
|
||||
|
||||
before_action -> { doorkeeper_authorize! :read, :'read:search' }
|
||||
before_action :require_user!
|
||||
|
||||
respond_to :json
|
||||
|
||||
def index
|
||||
@search = Search.new(search_results)
|
||||
render json: @search, serializer: REST::SearchSerializer
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def search_results
|
||||
SearchService.new.call(
|
||||
params[:q],
|
||||
current_account,
|
||||
limit_param(RESULTS_LIMIT),
|
||||
search_params.merge(resolve: truthy_param?(:resolve))
|
||||
)
|
||||
end
|
||||
|
||||
def search_params
|
||||
params.permit(:type, :offset, :min_id, :max_id, :account_id)
|
||||
end
|
||||
end
|
@ -1,6 +1,7 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class Api::V1::Timelines::PublicController < Api::BaseController
|
||||
before_action :require_user!, only: [:show], if: :require_auth?
|
||||
after_action :insert_pagination_headers, unless: -> { @statuses.empty? }
|
||||
|
||||
respond_to :json
|
||||
@ -12,6 +13,10 @@ class Api::V1::Timelines::PublicController < Api::BaseController
|
||||
|
||||
private
|
||||
|
||||
def require_auth?
|
||||
!Setting.timeline_preview
|
||||
end
|
||||
|
||||
def load_statuses
|
||||
cached_public_statuses
|
||||
end
|
||||
|
@ -1,8 +1,32 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class Api::V2::SearchController < Api::V1::SearchController
|
||||
class Api::V2::SearchController < Api::BaseController
|
||||
include Authorization
|
||||
|
||||
RESULTS_LIMIT = 20
|
||||
|
||||
before_action -> { doorkeeper_authorize! :read, :'read:search' }
|
||||
before_action :require_user!
|
||||
|
||||
respond_to :json
|
||||
|
||||
def index
|
||||
@search = Search.new(search_results)
|
||||
render json: @search, serializer: REST::V2::SearchSerializer
|
||||
render json: @search, serializer: REST::SearchSerializer
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def search_results
|
||||
SearchService.new.call(
|
||||
params[:q],
|
||||
current_account,
|
||||
limit_param(RESULTS_LIMIT),
|
||||
search_params.merge(resolve: truthy_param?(:resolve))
|
||||
)
|
||||
end
|
||||
|
||||
def search_params
|
||||
params.permit(:type, :offset, :min_id, :max_id, :account_id)
|
||||
end
|
||||
end
|
||||
|
@ -41,7 +41,7 @@ class ApplicationController < ActionController::Base
|
||||
private
|
||||
|
||||
def https_enabled?
|
||||
Rails.env.production?
|
||||
Rails.env.production? && !request.path.start_with?('/health')
|
||||
end
|
||||
|
||||
def authorized_fetch_mode?
|
||||
|
22
app/controllers/auth/challenges_controller.rb
Normal file
22
app/controllers/auth/challenges_controller.rb
Normal file
@ -0,0 +1,22 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class Auth::ChallengesController < ApplicationController
|
||||
include ChallengableConcern
|
||||
|
||||
layout 'auth'
|
||||
|
||||
before_action :authenticate_user!
|
||||
|
||||
skip_before_action :require_functional!
|
||||
|
||||
def create
|
||||
if challenge_passed?
|
||||
session[:challenge_passed_at] = Time.now.utc
|
||||
redirect_to challenge_params[:return_to]
|
||||
else
|
||||
@challenge = Form::Challenge.new(return_to: challenge_params[:return_to])
|
||||
flash.now[:alert] = I18n.t('challenge.invalid_password')
|
||||
render_challenge
|
||||
end
|
||||
end
|
||||
end
|
@ -4,15 +4,38 @@ class Auth::ConfirmationsController < Devise::ConfirmationsController
|
||||
layout 'auth'
|
||||
|
||||
before_action :set_body_classes
|
||||
before_action :require_unconfirmed!
|
||||
|
||||
skip_before_action :require_functional!
|
||||
|
||||
def new
|
||||
super
|
||||
|
||||
resource.email = current_user.unconfirmed_email || current_user.email if user_signed_in?
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def require_unconfirmed!
|
||||
redirect_to edit_user_registration_path if user_signed_in? && current_user.confirmed? && current_user.unconfirmed_email.blank?
|
||||
end
|
||||
|
||||
def set_body_classes
|
||||
@body_classes = 'lighter'
|
||||
end
|
||||
|
||||
def after_resending_confirmation_instructions_path_for(_resource_name)
|
||||
if user_signed_in?
|
||||
if current_user.confirmed? && current_user.approved?
|
||||
edit_user_registration_path
|
||||
else
|
||||
auth_setup_path
|
||||
end
|
||||
else
|
||||
new_user_session_path
|
||||
end
|
||||
end
|
||||
|
||||
def after_confirmation_path_for(_resource_name, user)
|
||||
if user.created_by_application && truthy_param?(:redirect_to_app)
|
||||
user.created_by_application.redirect_uri
|
||||
|
@ -8,8 +8,6 @@ class Auth::SessionsController < Devise::SessionsController
|
||||
skip_before_action :require_no_authentication, only: [:create]
|
||||
skip_before_action :require_functional!
|
||||
|
||||
prepend_before_action :authenticate_with_two_factor, if: :two_factor_enabled?, only: [:create]
|
||||
|
||||
before_action :set_instance_presenter, only: [:new]
|
||||
before_action :set_body_classes
|
||||
|
||||
@ -22,33 +20,35 @@ class Auth::SessionsController < Devise::SessionsController
|
||||
end
|
||||
|
||||
def create
|
||||
super do |resource|
|
||||
remember_me(resource)
|
||||
flash.delete(:notice)
|
||||
self.resource = begin
|
||||
if user_params[:email].blank? && session[:otp_user_id].present?
|
||||
User.find(session[:otp_user_id])
|
||||
else
|
||||
warden.authenticate!(auth_options)
|
||||
end
|
||||
end
|
||||
|
||||
if resource.otp_required_for_login?
|
||||
if user_params[:otp_attempt].present? && session[:otp_user_id].present?
|
||||
authenticate_with_two_factor_via_otp(resource)
|
||||
else
|
||||
prompt_for_two_factor(resource)
|
||||
end
|
||||
else
|
||||
authenticate_and_respond(resource)
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
tmp_stored_location = stored_location_for(:user)
|
||||
super
|
||||
session.delete(:challenge_passed_at)
|
||||
flash.delete(:notice)
|
||||
store_location_for(:user, tmp_stored_location) if continue_after?
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def find_user
|
||||
if session[:otp_user_id]
|
||||
User.find(session[:otp_user_id])
|
||||
elsif user_params[:email]
|
||||
if use_seamless_external_login? && Devise.check_at_sign && user_params[:email].index('@').nil?
|
||||
User.joins(:account).find_by(accounts: { username: user_params[:email] })
|
||||
else
|
||||
User.find_for_authentication(email: user_params[:email])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def user_params
|
||||
params.require(:user).permit(:email, :password, :otp_attempt)
|
||||
end
|
||||
@ -71,32 +71,17 @@ class Auth::SessionsController < Devise::SessionsController
|
||||
super
|
||||
end
|
||||
|
||||
def two_factor_enabled?
|
||||
find_user.try(:otp_required_for_login?)
|
||||
end
|
||||
|
||||
def valid_otp_attempt?(user)
|
||||
user.validate_and_consume_otp!(user_params[:otp_attempt]) ||
|
||||
user.invalidate_otp_backup_code!(user_params[:otp_attempt])
|
||||
rescue OpenSSL::Cipher::CipherError => _error
|
||||
rescue OpenSSL::Cipher::CipherError
|
||||
false
|
||||
end
|
||||
|
||||
def authenticate_with_two_factor
|
||||
user = self.resource = find_user
|
||||
|
||||
if user_params[:otp_attempt].present? && session[:otp_user_id]
|
||||
authenticate_with_two_factor_via_otp(user)
|
||||
elsif user&.valid_password?(user_params[:password])
|
||||
prompt_for_two_factor(user)
|
||||
end
|
||||
end
|
||||
|
||||
def authenticate_with_two_factor_via_otp(user)
|
||||
if valid_otp_attempt?(user)
|
||||
session.delete(:otp_user_id)
|
||||
remember_me(user)
|
||||
sign_in(user)
|
||||
authenticate_and_respond(user)
|
||||
else
|
||||
flash.now[:alert] = I18n.t('users.invalid_otp_token')
|
||||
prompt_for_two_factor(user)
|
||||
@ -108,6 +93,13 @@ class Auth::SessionsController < Devise::SessionsController
|
||||
render :two_factor
|
||||
end
|
||||
|
||||
def authenticate_and_respond(user)
|
||||
sign_in(user)
|
||||
remember_me(user)
|
||||
|
||||
respond_with user, location: after_sign_in_path_for(user)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_instance_presenter
|
||||
@ -120,9 +112,11 @@ class Auth::SessionsController < Devise::SessionsController
|
||||
|
||||
def home_paths(resource)
|
||||
paths = [about_path]
|
||||
|
||||
if single_user_mode? && resource.is_a?(User)
|
||||
paths << short_account_path(username: resource.account)
|
||||
end
|
||||
|
||||
paths
|
||||
end
|
||||
|
||||
|
65
app/controllers/concerns/challengable_concern.rb
Normal file
65
app/controllers/concerns/challengable_concern.rb
Normal file
@ -0,0 +1,65 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
# This concern is inspired by "sudo mode" on GitHub. It
|
||||
# is a way to re-authenticate a user before allowing them
|
||||
# to see or perform an action.
|
||||
#
|
||||
# Add `before_action :require_challenge!` to actions you
|
||||
# want to protect.
|
||||
#
|
||||
# The user will be shown a page to enter the challenge (which
|
||||
# is either the password, or just the username when no
|
||||
# password exists). Upon passing, there is a grace period
|
||||
# during which no challenge will be asked from the user.
|
||||
#
|
||||
# Accessing challenge-protected resources during the grace
|
||||
# period will refresh the grace period.
|
||||
module ChallengableConcern
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
CHALLENGE_TIMEOUT = 1.hour.freeze
|
||||
|
||||
def require_challenge!
|
||||
return if skip_challenge?
|
||||
|
||||
if challenge_passed_recently?
|
||||
session[:challenge_passed_at] = Time.now.utc
|
||||
return
|
||||
end
|
||||
|
||||
@challenge = Form::Challenge.new(return_to: request.url)
|
||||
|
||||
if params.key?(:form_challenge)
|
||||
if challenge_passed?
|
||||
session[:challenge_passed_at] = Time.now.utc
|
||||
return
|
||||
else
|
||||
flash.now[:alert] = I18n.t('challenge.invalid_password')
|
||||
render_challenge
|
||||
end
|
||||
else
|
||||
render_challenge
|
||||
end
|
||||
end
|
||||
|
||||
def render_challenge
|
||||
@body_classes = 'lighter'
|
||||
render template: 'auth/challenges/new', layout: 'auth'
|
||||
end
|
||||
|
||||
def challenge_passed?
|
||||
current_user.valid_password?(challenge_params[:current_password])
|
||||
end
|
||||
|
||||
def skip_challenge?
|
||||
current_user.encrypted_password.blank?
|
||||
end
|
||||
|
||||
def challenge_passed_recently?
|
||||
session[:challenge_passed_at].present? && session[:challenge_passed_at] >= CHALLENGE_TIMEOUT.ago
|
||||
end
|
||||
|
||||
def challenge_params
|
||||
params.require(:form_challenge).permit(:current_password, :return_to)
|
||||
end
|
||||
end
|
@ -5,7 +5,10 @@ module ExportControllerConcern
|
||||
|
||||
included do
|
||||
before_action :authenticate_user!
|
||||
before_action :require_not_suspended!
|
||||
before_action :load_export
|
||||
|
||||
skip_before_action :require_functional!
|
||||
end
|
||||
|
||||
private
|
||||
@ -27,4 +30,8 @@ module ExportControllerConcern
|
||||
def export_filename
|
||||
"#{controller_name}.csv"
|
||||
end
|
||||
|
||||
def require_not_suspended!
|
||||
forbidden if current_account.suspended?
|
||||
end
|
||||
end
|
||||
|
@ -8,6 +8,8 @@ class MediaProxyController < ApplicationController
|
||||
before_action :authenticate_user!, if: :whitelist_mode?
|
||||
|
||||
rescue_from ActiveRecord::RecordInvalid, with: :not_found
|
||||
rescue_from Mastodon::UnexpectedResponseError, with: :not_found
|
||||
rescue_from HTTP::TimeoutError, HTTP::ConnectionError, OpenSSL::SSL::SSLError, with: :internal_server_error
|
||||
|
||||
def show
|
||||
RedisLock.acquire(lock_options) do |lock|
|
||||
|
43
app/controllers/settings/aliases_controller.rb
Normal file
43
app/controllers/settings/aliases_controller.rb
Normal file
@ -0,0 +1,43 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class Settings::AliasesController < Settings::BaseController
|
||||
layout 'admin'
|
||||
|
||||
before_action :authenticate_user!
|
||||
before_action :set_aliases, except: :destroy
|
||||
before_action :set_alias, only: :destroy
|
||||
|
||||
def index
|
||||
@alias = current_account.aliases.build
|
||||
end
|
||||
|
||||
def create
|
||||
@alias = current_account.aliases.build(resource_params)
|
||||
|
||||
if @alias.save
|
||||
ActivityPub::UpdateDistributionWorker.perform_async(current_account.id)
|
||||
redirect_to settings_aliases_path, notice: I18n.t('aliases.created_msg')
|
||||
else
|
||||
render :index
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
@alias.destroy!
|
||||
redirect_to settings_aliases_path, notice: I18n.t('aliases.deleted_msg')
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def resource_params
|
||||
params.require(:account_alias).permit(:acct)
|
||||
end
|
||||
|
||||
def set_alias
|
||||
@alias = current_account.aliases.find(params[:id])
|
||||
end
|
||||
|
||||
def set_aliases
|
||||
@aliases = current_account.aliases.order(id: :desc).reject(&:new_record?)
|
||||
end
|
||||
end
|
@ -14,12 +14,11 @@ class Settings::DeletesController < Settings::BaseController
|
||||
end
|
||||
|
||||
def destroy
|
||||
if current_user.valid_password?(delete_params[:password])
|
||||
Admin::SuspensionWorker.perform_async(current_user.account_id, true)
|
||||
sign_out
|
||||
if challenge_passed?
|
||||
destroy_account!
|
||||
redirect_to new_user_session_path, notice: I18n.t('deletes.success_msg')
|
||||
else
|
||||
redirect_to settings_delete_path, alert: I18n.t('deletes.bad_password_msg')
|
||||
redirect_to settings_delete_path, alert: I18n.t('deletes.challenge_not_passed')
|
||||
end
|
||||
end
|
||||
|
||||
@ -29,11 +28,25 @@ class Settings::DeletesController < Settings::BaseController
|
||||
redirect_to root_path unless Setting.open_deletion
|
||||
end
|
||||
|
||||
def delete_params
|
||||
params.require(:form_delete_confirmation).permit(:password)
|
||||
def resource_params
|
||||
params.require(:form_delete_confirmation).permit(:password, :username)
|
||||
end
|
||||
|
||||
def require_not_suspended!
|
||||
forbidden if current_account.suspended?
|
||||
end
|
||||
|
||||
def challenge_passed?
|
||||
if current_user.encrypted_password.blank?
|
||||
current_account.username == resource_params[:username]
|
||||
else
|
||||
current_user.valid_password?(resource_params[:password])
|
||||
end
|
||||
end
|
||||
|
||||
def destroy_account!
|
||||
current_account.suspend!
|
||||
Admin::SuspensionWorker.perform_async(current_user.account_id, true)
|
||||
sign_out
|
||||
end
|
||||
end
|
||||
|
@ -6,6 +6,9 @@ class Settings::ExportsController < Settings::BaseController
|
||||
layout 'admin'
|
||||
|
||||
before_action :authenticate_user!
|
||||
before_action :require_not_suspended!
|
||||
|
||||
skip_before_action :require_functional!
|
||||
|
||||
def show
|
||||
@export = Export.new(current_account)
|
||||
@ -34,4 +37,8 @@ class Settings::ExportsController < Settings::BaseController
|
||||
def lock_options
|
||||
{ redis: Redis.current, key: "backup:#{current_user.id}" }
|
||||
end
|
||||
|
||||
def require_not_suspended!
|
||||
forbidden if current_account.suspended?
|
||||
end
|
||||
end
|
||||
|
@ -4,31 +4,59 @@ class Settings::MigrationsController < Settings::BaseController
|
||||
layout 'admin'
|
||||
|
||||
before_action :authenticate_user!
|
||||
before_action :require_not_suspended!
|
||||
before_action :set_migrations
|
||||
before_action :set_cooldown
|
||||
|
||||
skip_before_action :require_functional!
|
||||
|
||||
def show
|
||||
@migration = Form::Migration.new(account: current_account.moved_to_account)
|
||||
@migration = current_account.migrations.build
|
||||
end
|
||||
|
||||
def update
|
||||
@migration = Form::Migration.new(resource_params)
|
||||
def create
|
||||
@migration = current_account.migrations.build(resource_params)
|
||||
|
||||
if @migration.valid? && migration_account_changed?
|
||||
current_account.update!(moved_to_account: @migration.account)
|
||||
if @migration.save_with_challenge(current_user)
|
||||
current_account.update!(moved_to_account: @migration.target_account)
|
||||
ActivityPub::UpdateDistributionWorker.perform_async(current_account.id)
|
||||
redirect_to settings_migration_path, notice: I18n.t('migrations.updated_msg')
|
||||
ActivityPub::MoveDistributionWorker.perform_async(@migration.id)
|
||||
redirect_to settings_migration_path, notice: I18n.t('migrations.moved_msg', acct: current_account.moved_to_account.acct)
|
||||
else
|
||||
render :show
|
||||
end
|
||||
end
|
||||
|
||||
def cancel
|
||||
if current_account.moved_to_account_id.present?
|
||||
current_account.update!(moved_to_account: nil)
|
||||
ActivityPub::UpdateDistributionWorker.perform_async(current_account.id)
|
||||
end
|
||||
|
||||
redirect_to settings_migration_path, notice: I18n.t('migrations.cancelled_msg')
|
||||
end
|
||||
|
||||
helper_method :on_cooldown?
|
||||
|
||||
private
|
||||
|
||||
def resource_params
|
||||
params.require(:migration).permit(:acct)
|
||||
params.require(:account_migration).permit(:acct, :current_password, :current_username)
|
||||
end
|
||||
|
||||
def migration_account_changed?
|
||||
current_account.moved_to_account_id != @migration.account&.id &&
|
||||
current_account.id != @migration.account&.id
|
||||
def set_migrations
|
||||
@migrations = current_account.migrations.includes(:target_account).order(id: :desc).reject(&:new_record?)
|
||||
end
|
||||
|
||||
def set_cooldown
|
||||
@cooldown = current_account.migrations.within_cooldown.first
|
||||
end
|
||||
|
||||
def on_cooldown?
|
||||
@cooldown.present?
|
||||
end
|
||||
|
||||
def require_not_suspended!
|
||||
forbidden if current_account.suspended?
|
||||
end
|
||||
end
|
||||
|
@ -3,9 +3,12 @@
|
||||
module Settings
|
||||
module TwoFactorAuthentication
|
||||
class ConfirmationsController < BaseController
|
||||
include ChallengableConcern
|
||||
|
||||
layout 'admin'
|
||||
|
||||
before_action :authenticate_user!
|
||||
before_action :require_challenge!
|
||||
before_action :ensure_otp_secret
|
||||
|
||||
skip_before_action :require_functional!
|
||||
@ -15,13 +18,15 @@ module Settings
|
||||
end
|
||||
|
||||
def create
|
||||
if current_user.validate_and_consume_otp!(confirmation_params[:code])
|
||||
if current_user.validate_and_consume_otp!(confirmation_params[:otp_attempt])
|
||||
flash.now[:notice] = I18n.t('two_factor_authentication.enabled_success')
|
||||
|
||||
current_user.otp_required_for_login = true
|
||||
@recovery_codes = current_user.generate_otp_backup_codes!
|
||||
current_user.save!
|
||||
|
||||
UserMailer.two_factor_enabled(current_user).deliver_later!
|
||||
|
||||
render 'settings/two_factor_authentication/recovery_codes/index'
|
||||
else
|
||||
flash.now[:alert] = I18n.t('two_factor_authentication.wrong_code')
|
||||
@ -33,7 +38,7 @@ module Settings
|
||||
private
|
||||
|
||||
def confirmation_params
|
||||
params.require(:form_two_factor_confirmation).permit(:code)
|
||||
params.require(:form_two_factor_confirmation).permit(:otp_attempt)
|
||||
end
|
||||
|
||||
def prepare_two_factor_form
|
||||
|
@ -3,16 +3,22 @@
|
||||
module Settings
|
||||
module TwoFactorAuthentication
|
||||
class RecoveryCodesController < BaseController
|
||||
include ChallengableConcern
|
||||
|
||||
layout 'admin'
|
||||
|
||||
before_action :authenticate_user!
|
||||
before_action :require_challenge!, on: :create
|
||||
|
||||
skip_before_action :require_functional!
|
||||
|
||||
def create
|
||||
@recovery_codes = current_user.generate_otp_backup_codes!
|
||||
current_user.save!
|
||||
|
||||
UserMailer.two_factor_recovery_codes_changed(current_user).deliver_later!
|
||||
flash.now[:notice] = I18n.t('two_factor_authentication.recovery_codes_regenerated')
|
||||
|
||||
render :index
|
||||
end
|
||||
end
|
||||
|
@ -2,10 +2,13 @@
|
||||
|
||||
module Settings
|
||||
class TwoFactorAuthenticationsController < BaseController
|
||||
include ChallengableConcern
|
||||
|
||||
layout 'admin'
|
||||
|
||||
before_action :authenticate_user!
|
||||
before_action :verify_otp_required, only: [:create]
|
||||
before_action :require_challenge!, only: [:create]
|
||||
|
||||
skip_before_action :require_functional!
|
||||
|
||||
@ -23,6 +26,7 @@ module Settings
|
||||
if acceptable_code?
|
||||
current_user.otp_required_for_login = false
|
||||
current_user.save!
|
||||
UserMailer.two_factor_disabled(current_user).deliver_later!
|
||||
redirect_to settings_two_factor_authentication_path
|
||||
else
|
||||
flash.now[:alert] = I18n.t('two_factor_authentication.wrong_code')
|
||||
@ -34,7 +38,7 @@ module Settings
|
||||
private
|
||||
|
||||
def confirmation_params
|
||||
params.require(:form_two_factor_confirmation).permit(:code)
|
||||
params.require(:form_two_factor_confirmation).permit(:otp_attempt)
|
||||
end
|
||||
|
||||
def verify_otp_required
|
||||
@ -42,8 +46,8 @@ module Settings
|
||||
end
|
||||
|
||||
def acceptable_code?
|
||||
current_user.validate_and_consume_otp!(confirmation_params[:code]) ||
|
||||
current_user.invalidate_otp_backup_code!(confirmation_params[:code])
|
||||
current_user.validate_and_consume_otp!(confirmation_params[:otp_attempt]) ||
|
||||
current_user.invalidate_otp_backup_code!(confirmation_params[:otp_attempt])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -5,18 +5,22 @@ module WellKnown
|
||||
include RoutingHelper
|
||||
|
||||
before_action { response.headers['Vary'] = 'Accept' }
|
||||
before_action :set_account
|
||||
before_action :check_account_suspension
|
||||
|
||||
rescue_from ActiveRecord::RecordNotFound, ActionController::ParameterMissing, with: :not_found
|
||||
|
||||
def show
|
||||
@account = Account.find_local!(username_from_resource)
|
||||
|
||||
expires_in 3.days, public: true
|
||||
render json: @account, serializer: WebfingerSerializer, content_type: 'application/jrd+json'
|
||||
rescue ActiveRecord::RecordNotFound, ActionController::ParameterMissing
|
||||
head 404
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_account
|
||||
@account = Account.find_local!(username_from_resource)
|
||||
end
|
||||
|
||||
def username_from_resource
|
||||
resource_user = resource_param
|
||||
username, domain = resource_user.split('@')
|
||||
@ -28,5 +32,17 @@ module WellKnown
|
||||
def resource_param
|
||||
params.require(:resource)
|
||||
end
|
||||
|
||||
def check_account_suspension
|
||||
expires_in(3.minutes, public: true) && gone if @account.suspended?
|
||||
end
|
||||
|
||||
def not_found
|
||||
head 404
|
||||
end
|
||||
|
||||
def gone
|
||||
head 410
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -5,7 +5,7 @@ module Admin::FilterHelper
|
||||
REPORT_FILTERS = %i(resolved account_id target_account_id).freeze
|
||||
INVITE_FILTER = %i(available expired).freeze
|
||||
CUSTOM_EMOJI_FILTERS = %i(local remote by_domain shortcode).freeze
|
||||
TAGS_FILTERS = %i(context review).freeze
|
||||
TAGS_FILTERS = %i(directory reviewed unreviewed pending_review popular active name).freeze
|
||||
INSTANCES_FILTERS = %i(limited by_domain).freeze
|
||||
FOLLOWERS_FILTERS = %i(relationship status by_domain activity order).freeze
|
||||
|
||||
|
@ -77,8 +77,12 @@ module ApplicationHelper
|
||||
content_tag(:i, nil, attributes.merge(class: class_names.join(' ')))
|
||||
end
|
||||
|
||||
def custom_emoji_tag(custom_emoji)
|
||||
def custom_emoji_tag(custom_emoji, animate = true)
|
||||
if animate
|
||||
image_tag(custom_emoji.image.url, class: 'emojione', alt: ":#{custom_emoji.shortcode}:")
|
||||
else
|
||||
image_tag(custom_emoji.image.url(:static), class: 'emojione custom-emoji', alt: ":#{custom_emoji.shortcode}", 'data-original' => full_asset_url(custom_emoji.image.url), 'data-static' => full_asset_url(custom_emoji.image.url(:static)))
|
||||
end
|
||||
end
|
||||
|
||||
def opengraph(property, content)
|
||||
|
@ -8,4 +8,16 @@ module InstanceHelper
|
||||
def site_hostname
|
||||
@site_hostname ||= Addressable::URI.parse("//#{Rails.configuration.x.local_domain}").display_uri.host
|
||||
end
|
||||
|
||||
def description_for_sign_up
|
||||
prefix = begin
|
||||
if @invite.present?
|
||||
I18n.t('auth.description.prefix_invited_by_user', name: @invite.user.account.username)
|
||||
else
|
||||
I18n.t('auth.description.prefix_sign_up')
|
||||
end
|
||||
end
|
||||
|
||||
safe_join([prefix, I18n.t('auth.description.suffix')], ' ')
|
||||
end
|
||||
end
|
||||
|
@ -43,7 +43,8 @@ module SettingsHelper
|
||||
oc: 'Occitan',
|
||||
pl: 'Polski',
|
||||
pt: 'Português',
|
||||
'pt-BR': 'Português do Brasil',
|
||||
'pt-PT': 'Português (Portugal)',
|
||||
'pt-BR': 'Português (Brasil)',
|
||||
ro: 'Română',
|
||||
ru: 'Русский',
|
||||
sk: 'Slovenčina',
|
||||
@ -86,4 +87,12 @@ module SettingsHelper
|
||||
'desktop'
|
||||
end
|
||||
end
|
||||
|
||||
def compact_account_link_to(account)
|
||||
return if account.nil?
|
||||
|
||||
link_to ActivityPub::TagManager.instance.url_for(account), class: 'name-tag', title: account.acct do
|
||||
safe_join([image_tag(account.avatar.url, width: 15, height: 15, alt: display_name(account), class: 'avatar'), content_tag(:span, account.acct, class: 'username')], ' ')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -15,6 +15,10 @@ export const CONVERSATIONS_UPDATE = 'CONVERSATIONS_UPDATE';
|
||||
|
||||
export const CONVERSATIONS_READ = 'CONVERSATIONS_READ';
|
||||
|
||||
export const CONVERSATIONS_DELETE_REQUEST = 'CONVERSATIONS_DELETE_REQUEST';
|
||||
export const CONVERSATIONS_DELETE_SUCCESS = 'CONVERSATIONS_DELETE_SUCCESS';
|
||||
export const CONVERSATIONS_DELETE_FAIL = 'CONVERSATIONS_DELETE_FAIL';
|
||||
|
||||
export const mountConversations = () => ({
|
||||
type: CONVERSATIONS_MOUNT,
|
||||
});
|
||||
@ -82,3 +86,27 @@ export const updateConversations = conversation => dispatch => {
|
||||
conversation,
|
||||
});
|
||||
};
|
||||
|
||||
export const deleteConversation = conversationId => (dispatch, getState) => {
|
||||
dispatch(deleteConversationRequest(conversationId));
|
||||
|
||||
api(getState).delete(`/api/v1/conversations/${conversationId}`)
|
||||
.then(() => dispatch(deleteConversationSuccess(conversationId)))
|
||||
.catch(error => dispatch(deleteConversationFail(conversationId, error)));
|
||||
};
|
||||
|
||||
export const deleteConversationRequest = id => ({
|
||||
type: CONVERSATIONS_DELETE_REQUEST,
|
||||
id,
|
||||
});
|
||||
|
||||
export const deleteConversationSuccess = id => ({
|
||||
type: CONVERSATIONS_DELETE_SUCCESS,
|
||||
id,
|
||||
});
|
||||
|
||||
export const deleteConversationFail = (id, error) => ({
|
||||
type: CONVERSATIONS_DELETE_FAIL,
|
||||
id,
|
||||
error,
|
||||
});
|
||||
|
30
app/javascript/mastodon/actions/markers.js
Normal file
30
app/javascript/mastodon/actions/markers.js
Normal file
@ -0,0 +1,30 @@
|
||||
export const submitMarkers = () => (dispatch, getState) => {
|
||||
const accessToken = getState().getIn(['meta', 'access_token'], '');
|
||||
const params = {};
|
||||
|
||||
const lastHomeId = getState().getIn(['timelines', 'home', 'items', 0]);
|
||||
const lastNotificationId = getState().getIn(['notifications', 'items', 0, 'id']);
|
||||
|
||||
if (lastHomeId) {
|
||||
params.home = {
|
||||
last_read_id: lastHomeId,
|
||||
};
|
||||
}
|
||||
|
||||
if (lastNotificationId) {
|
||||
params.notifications = {
|
||||
last_read_id: lastNotificationId,
|
||||
};
|
||||
}
|
||||
|
||||
if (Object.keys(params).length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const client = new XMLHttpRequest();
|
||||
|
||||
client.open('POST', '/api/v1/markers', false);
|
||||
client.setRequestHeader('Content-Type', 'application/json');
|
||||
client.setRequestHeader('Authorization', `Bearer ${accessToken}`);
|
||||
client.send(JSON.stringify(params));
|
||||
};
|
@ -28,6 +28,9 @@ export const NOTIFICATIONS_CLEAR = 'NOTIFICATIONS_CLEAR';
|
||||
export const NOTIFICATIONS_SCROLL_TOP = 'NOTIFICATIONS_SCROLL_TOP';
|
||||
export const NOTIFICATIONS_LOAD_PENDING = 'NOTIFICATIONS_LOAD_PENDING';
|
||||
|
||||
export const NOTIFICATIONS_MOUNT = 'NOTIFICATIONS_MOUNT';
|
||||
export const NOTIFICATIONS_UNMOUNT = 'NOTIFICATIONS_UNMOUNT';
|
||||
|
||||
defineMessages({
|
||||
mention: { id: 'notification.mention', defaultMessage: '{name} mentioned you' },
|
||||
group: { id: 'notifications.group', defaultMessage: '{count} notifications' },
|
||||
@ -151,7 +154,7 @@ export function expandNotifications({ maxId } = {}, done = noOp) {
|
||||
dispatch(importFetchedAccounts(response.data.map(item => item.account)));
|
||||
dispatch(importFetchedStatuses(response.data.map(item => item.status).filter(status => !!status)));
|
||||
|
||||
dispatch(expandNotificationsSuccess(response.data, next ? next.uri : null, isLoadingMore, isLoadingRecent && preferPendingItems));
|
||||
dispatch(expandNotificationsSuccess(response.data, next ? next.uri : null, isLoadingMore, isLoadingRecent, isLoadingRecent && preferPendingItems));
|
||||
fetchRelatedRelationships(dispatch, response.data);
|
||||
done();
|
||||
}).catch(error => {
|
||||
@ -168,11 +171,12 @@ export function expandNotificationsRequest(isLoadingMore) {
|
||||
};
|
||||
};
|
||||
|
||||
export function expandNotificationsSuccess(notifications, next, isLoadingMore, usePendingItems) {
|
||||
export function expandNotificationsSuccess(notifications, next, isLoadingMore, isLoadingRecent, usePendingItems) {
|
||||
return {
|
||||
type: NOTIFICATIONS_EXPAND_SUCCESS,
|
||||
notifications,
|
||||
next,
|
||||
isLoadingRecent: isLoadingRecent,
|
||||
usePendingItems,
|
||||
skipLoading: !isLoadingMore,
|
||||
};
|
||||
@ -214,3 +218,11 @@ export function setFilter (filterType) {
|
||||
dispatch(saveSettings());
|
||||
};
|
||||
};
|
||||
|
||||
export const mountNotifications = () => ({
|
||||
type: NOTIFICATIONS_MOUNT,
|
||||
});
|
||||
|
||||
export const unmountNotifications = () => ({
|
||||
type: NOTIFICATIONS_UNMOUNT,
|
||||
});
|
||||
|
@ -35,35 +35,35 @@ export default class AvatarComposite extends React.PureComponent {
|
||||
|
||||
if (size === 2) {
|
||||
if (index === 0) {
|
||||
right = '2px';
|
||||
right = '1px';
|
||||
} else {
|
||||
left = '2px';
|
||||
left = '1px';
|
||||
}
|
||||
} else if (size === 3) {
|
||||
if (index === 0) {
|
||||
right = '2px';
|
||||
right = '1px';
|
||||
} else if (index > 0) {
|
||||
left = '2px';
|
||||
left = '1px';
|
||||
}
|
||||
|
||||
if (index === 1) {
|
||||
bottom = '2px';
|
||||
bottom = '1px';
|
||||
} else if (index > 1) {
|
||||
top = '2px';
|
||||
top = '1px';
|
||||
}
|
||||
} else if (size === 4) {
|
||||
if (index === 0 || index === 2) {
|
||||
right = '2px';
|
||||
right = '1px';
|
||||
}
|
||||
|
||||
if (index === 1 || index === 3) {
|
||||
left = '2px';
|
||||
left = '1px';
|
||||
}
|
||||
|
||||
if (index < 2) {
|
||||
bottom = '2px';
|
||||
bottom = '1px';
|
||||
} else {
|
||||
top = '2px';
|
||||
top = '1px';
|
||||
}
|
||||
}
|
||||
|
||||
@ -88,7 +88,13 @@ export default class AvatarComposite extends React.PureComponent {
|
||||
|
||||
return (
|
||||
<div className='account__avatar-composite' style={{ width: `${size}px`, height: `${size}px` }}>
|
||||
{accounts.take(4).map((account, i) => this.renderItem(account, accounts.size, i))}
|
||||
{accounts.take(4).map((account, i) => this.renderItem(account, Math.min(accounts.size, 4), i))}
|
||||
|
||||
{accounts.size > 4 && (
|
||||
<span className='account__avatar-composite__label'>
|
||||
+{accounts.size - 4}
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ class ColumnHeader extends React.PureComponent {
|
||||
<button title={formatMessage(messages.moveRight)} aria-label={formatMessage(messages.moveRight)} className='text-btn column-header__setting-btn' onClick={this.handleMoveRight}><Icon id='chevron-right' /></button>
|
||||
</div>
|
||||
);
|
||||
} else if (multiColumn) {
|
||||
} else if (multiColumn && this.props.onPin) {
|
||||
pinButton = <button key='pin-button' className='text-btn column-header__setting-btn' onClick={this.handlePin}><Icon id='plus' /> <FormattedMessage id='column_header.pin' defaultMessage='Pin' /></button>;
|
||||
}
|
||||
|
||||
@ -142,7 +142,7 @@ class ColumnHeader extends React.PureComponent {
|
||||
collapsedContent.push(pinButton);
|
||||
}
|
||||
|
||||
if (children || multiColumn) {
|
||||
if (children || (multiColumn && this.props.onPin)) {
|
||||
collapseButton = <button className={collapsibleButtonClassName} title={formatMessage(collapsed ? messages.show : messages.hide)} aria-label={formatMessage(collapsed ? messages.show : messages.hide)} aria-pressed={collapsed ? 'false' : 'true'} onClick={this.handleToggleClick}><Icon id='sliders' /></button>;
|
||||
}
|
||||
|
||||
|
@ -12,11 +12,11 @@ const Hashtag = ({ hashtag }) => (
|
||||
#<span>{hashtag.get('name')}</span>
|
||||
</Permalink>
|
||||
|
||||
<FormattedMessage id='trends.count_by_accounts' defaultMessage='{count} {rawCount, plural, one {person} other {people}} talking' values={{ rawCount: hashtag.getIn(['history', 0, 'accounts']), count: <strong>{shortNumberFormat(hashtag.getIn(['history', 0, 'accounts']))}</strong> }} />
|
||||
<FormattedMessage id='trends.count_by_accounts' defaultMessage='{count} {rawCount, plural, one {person} other {people}} talking' values={{ rawCount: hashtag.getIn(['history', 0, 'accounts']) * 1 + hashtag.getIn(['history', 1, 'accounts']) * 1, count: <strong>{shortNumberFormat(hashtag.getIn(['history', 0, 'accounts']) * 1 + hashtag.getIn(['history', 1, 'accounts']) * 1)}</strong> }} />
|
||||
</div>
|
||||
|
||||
<div className='trends__item__current'>
|
||||
{shortNumberFormat(hashtag.getIn(['history', 0, 'uses']))}
|
||||
{shortNumberFormat(hashtag.getIn(['history', 0, 'uses']) * 1 + hashtag.getIn(['history', 1, 'uses']) * 1)}
|
||||
</div>
|
||||
|
||||
<div className='trends__item__sparkline'>
|
||||
|
@ -159,7 +159,7 @@ class Item extends React.PureComponent {
|
||||
if (attachment.get('type') === 'unknown') {
|
||||
return (
|
||||
<div className={classNames('media-gallery__item', { standalone })} key={attachment.get('id')} style={{ left: left, top: top, right: right, bottom: bottom, width: `${width}%`, height: `${height}%` }}>
|
||||
<a className='media-gallery__item-thumbnail' href={attachment.get('remote_url')} target='_blank' style={{ cursor: 'pointer' }} title={attachment.get('description')}>
|
||||
<a className='media-gallery__item-thumbnail' href={attachment.get('remote_url') || attachment.get('url')} target='_blank' style={{ cursor: 'pointer' }} title={attachment.get('description')}>
|
||||
<canvas width={32} height={32} ref={this.setCanvasRef} className='media-gallery__preview' />
|
||||
</a>
|
||||
</div>
|
||||
@ -342,7 +342,7 @@ class MediaGallery extends React.PureComponent {
|
||||
|
||||
return (
|
||||
<div className='media-gallery' style={style} ref={this.handleRef}>
|
||||
<div className={classNames('spoiler-button', { 'spoiler-button--minified': visible && !uncached })}>
|
||||
<div className={classNames('spoiler-button', { 'spoiler-button--minified': visible && !uncached, 'spoiler-button--click-thru': uncached })}>
|
||||
{spoilerButton}
|
||||
</div>
|
||||
|
||||
|
@ -32,8 +32,38 @@ class Poll extends ImmutablePureComponent {
|
||||
|
||||
state = {
|
||||
selected: {},
|
||||
expired: null,
|
||||
};
|
||||
|
||||
static getDerivedStateFromProps (props, state) {
|
||||
const { poll, intl } = props;
|
||||
const expired = poll.get('expired') || (new Date(poll.get('expires_at'))).getTime() < intl.now();
|
||||
return (expired === state.expired) ? null : { expired };
|
||||
}
|
||||
|
||||
componentDidMount () {
|
||||
this._setupTimer();
|
||||
}
|
||||
|
||||
componentDidUpdate () {
|
||||
this._setupTimer();
|
||||
}
|
||||
|
||||
componentWillUnmount () {
|
||||
clearTimeout(this._timer);
|
||||
}
|
||||
|
||||
_setupTimer () {
|
||||
const { poll, intl } = this.props;
|
||||
clearTimeout(this._timer);
|
||||
if (!this.state.expired) {
|
||||
const delay = (new Date(poll.get('expires_at'))).getTime() - intl.now();
|
||||
this._timer = setTimeout(() => {
|
||||
this.setState({ expired: true });
|
||||
}, delay);
|
||||
}
|
||||
}
|
||||
|
||||
handleOptionChange = e => {
|
||||
const { target: { value } } = e;
|
||||
|
||||
@ -68,12 +98,11 @@ class Poll extends ImmutablePureComponent {
|
||||
this.props.dispatch(fetchPoll(this.props.poll.get('id')));
|
||||
};
|
||||
|
||||
renderOption (option, optionIndex) {
|
||||
renderOption (option, optionIndex, showResults) {
|
||||
const { poll, disabled } = this.props;
|
||||
const percent = poll.get('votes_count') === 0 ? 0 : (option.get('votes_count') / poll.get('votes_count')) * 100;
|
||||
const leading = poll.get('options').filterNot(other => other.get('title') === option.get('title')).every(other => option.get('votes_count') > other.get('votes_count'));
|
||||
const active = !!this.state.selected[`${optionIndex}`];
|
||||
const showResults = poll.get('voted') || poll.get('expired');
|
||||
|
||||
let titleEmojified = option.get('title_emojified');
|
||||
if (!titleEmojified) {
|
||||
@ -112,19 +141,20 @@ class Poll extends ImmutablePureComponent {
|
||||
|
||||
render () {
|
||||
const { poll, intl } = this.props;
|
||||
const { expired } = this.state;
|
||||
|
||||
if (!poll) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const timeRemaining = poll.get('expired') ? intl.formatMessage(messages.closed) : <RelativeTimestamp timestamp={poll.get('expires_at')} futureDate />;
|
||||
const showResults = poll.get('voted') || poll.get('expired');
|
||||
const timeRemaining = expired ? intl.formatMessage(messages.closed) : <RelativeTimestamp timestamp={poll.get('expires_at')} futureDate />;
|
||||
const showResults = poll.get('voted') || expired;
|
||||
const disabled = this.props.disabled || Object.entries(this.state.selected).every(item => !item);
|
||||
|
||||
return (
|
||||
<div className='poll'>
|
||||
<ul>
|
||||
{poll.get('options').map((option, i) => this.renderOption(option, i))}
|
||||
{poll.get('options').map((option, i) => this.renderOption(option, i, showResults))}
|
||||
</ul>
|
||||
|
||||
<div className='poll__footer'>
|
||||
|
@ -172,8 +172,9 @@ export default class ScrollableList extends PureComponent {
|
||||
const someItemInserted = React.Children.count(prevProps.children) > 0 &&
|
||||
React.Children.count(prevProps.children) < React.Children.count(this.props.children) &&
|
||||
this.getFirstChildKey(prevProps) !== this.getFirstChildKey(this.props);
|
||||
const pendingChanged = (prevProps.numPending > 0) !== (this.props.numPending > 0);
|
||||
|
||||
if (someItemInserted && (this.getScrollTop() > 0 || this.mouseMovedRecently)) {
|
||||
if (pendingChanged || someItemInserted && (this.getScrollTop() > 0 || this.mouseMovedRecently)) {
|
||||
return this.getScrollHeight() - this.getScrollTop();
|
||||
} else {
|
||||
return null;
|
||||
@ -198,7 +199,12 @@ export default class ScrollableList extends PureComponent {
|
||||
this.clearMouseIdleTimer();
|
||||
this.detachScrollListener();
|
||||
this.detachIntersectionObserver();
|
||||
|
||||
detachFullscreenListener(this.onFullScreenChange);
|
||||
|
||||
if (this.props.onScrollToTop) {
|
||||
this.props.onScrollToTop();
|
||||
}
|
||||
}
|
||||
|
||||
onFullScreenChange = () => {
|
||||
@ -261,6 +267,13 @@ export default class ScrollableList extends PureComponent {
|
||||
handleLoadPending = e => {
|
||||
e.preventDefault();
|
||||
this.props.onLoadPending();
|
||||
// Prevent the weird scroll-jumping behavior, as we explicitly don't want to
|
||||
// scroll to top, and we know the scroll height is going to change
|
||||
this.scrollToTopOnMouseIdle = false;
|
||||
this.lastScrollWasSynthetic = false;
|
||||
this.clearMouseIdleTimer();
|
||||
this.mouseIdleTimer = setTimeout(this.handleMouseIdle, MOUSE_IDLE_DELAY);
|
||||
this.mouseMovedRecently = true;
|
||||
}
|
||||
|
||||
render () {
|
||||
|
@ -12,6 +12,8 @@ import { hydrateStore } from '../actions/store';
|
||||
import { connectUserStream } from '../actions/streaming';
|
||||
import { IntlProvider, addLocaleData } from 'react-intl';
|
||||
import { getLocale } from '../locales';
|
||||
import { previewState as previewMediaState } from 'mastodon/features/ui/components/media_modal';
|
||||
import { previewState as previewVideoState } from 'mastodon/features/ui/components/video_modal';
|
||||
import initialState from '../initial_state';
|
||||
import ErrorBoundary from '../components/error_boundary';
|
||||
|
||||
@ -35,6 +37,10 @@ class MastodonMount extends React.PureComponent {
|
||||
showIntroduction: PropTypes.bool,
|
||||
};
|
||||
|
||||
shouldUpdateScroll (_, { location }) {
|
||||
return location.state !== previewMediaState && location.state !== previewVideoState;
|
||||
}
|
||||
|
||||
render () {
|
||||
const { showIntroduction } = this.props;
|
||||
|
||||
@ -44,7 +50,7 @@ class MastodonMount extends React.PureComponent {
|
||||
|
||||
return (
|
||||
<BrowserRouter basename='/web'>
|
||||
<ScrollContext>
|
||||
<ScrollContext shouldUpdateScroll={this.shouldUpdateScroll}>
|
||||
<Route path='/' component={UI} />
|
||||
</ScrollContext>
|
||||
</BrowserRouter>
|
||||
|
@ -58,6 +58,7 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
|
||||
onReply (status, router) {
|
||||
dispatch((_, getState) => {
|
||||
let state = getState();
|
||||
|
||||
if (state.getIn(['compose', 'text']).trim().length !== 0) {
|
||||
dispatch(openModal('CONFIRM', {
|
||||
message: intl.formatMessage(messages.replyMessage),
|
||||
|
@ -18,9 +18,10 @@ const mapStateToProps = (state, { onlyMedia, columnId }) => {
|
||||
const uuid = columnId;
|
||||
const columns = state.getIn(['settings', 'columns']);
|
||||
const index = columns.findIndex(c => c.get('uuid') === uuid);
|
||||
const timelineState = state.getIn(['timelines', `community${onlyMedia ? ':media' : ''}`]);
|
||||
|
||||
return {
|
||||
hasUnread: state.getIn(['timelines', `community${onlyMedia ? ':media' : ''}`, 'unread']) > 0,
|
||||
hasUnread: !!timelineState && (timelineState.get('unread') > 0 || timelineState.get('pendingItems').size > 0),
|
||||
onlyMedia: (columnId && index >= 0) ? columns.get(index).getIn(['params', 'other', 'onlyMedia']) : state.getIn(['settings', 'community', 'other', 'onlyMedia']),
|
||||
};
|
||||
};
|
||||
|
@ -2,9 +2,28 @@ import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||
import ImmutablePureComponent from 'react-immutable-pure-component';
|
||||
import StatusContainer from '../../../containers/status_container';
|
||||
import StatusContent from 'mastodon/components/status_content';
|
||||
import AttachmentList from 'mastodon/components/attachment_list';
|
||||
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
|
||||
import DropdownMenuContainer from 'mastodon/containers/dropdown_menu_container';
|
||||
import AvatarComposite from 'mastodon/components/avatar_composite';
|
||||
import Permalink from 'mastodon/components/permalink';
|
||||
import IconButton from 'mastodon/components/icon_button';
|
||||
import RelativeTimestamp from 'mastodon/components/relative_timestamp';
|
||||
import { HotKeys } from 'react-hotkeys';
|
||||
|
||||
export default class Conversation extends ImmutablePureComponent {
|
||||
const messages = defineMessages({
|
||||
more: { id: 'status.more', defaultMessage: 'More' },
|
||||
open: { id: 'conversation.open', defaultMessage: 'View conversation' },
|
||||
reply: { id: 'status.reply', defaultMessage: 'Reply' },
|
||||
markAsRead: { id: 'conversation.mark_as_read', defaultMessage: 'Mark as read' },
|
||||
delete: { id: 'conversation.delete', defaultMessage: 'Delete conversation' },
|
||||
muteConversation: { id: 'status.mute_conversation', defaultMessage: 'Mute conversation' },
|
||||
unmuteConversation: { id: 'status.unmute_conversation', defaultMessage: 'Unmute conversation' },
|
||||
});
|
||||
|
||||
export default @injectIntl
|
||||
class Conversation extends ImmutablePureComponent {
|
||||
|
||||
static contextTypes = {
|
||||
router: PropTypes.object,
|
||||
@ -13,11 +32,12 @@ export default class Conversation extends ImmutablePureComponent {
|
||||
static propTypes = {
|
||||
conversationId: PropTypes.string.isRequired,
|
||||
accounts: ImmutablePropTypes.list.isRequired,
|
||||
lastStatusId: PropTypes.string,
|
||||
lastStatus: ImmutablePropTypes.map,
|
||||
unread:PropTypes.bool.isRequired,
|
||||
onMoveUp: PropTypes.func,
|
||||
onMoveDown: PropTypes.func,
|
||||
markRead: PropTypes.func.isRequired,
|
||||
intl: PropTypes.object.isRequired,
|
||||
};
|
||||
|
||||
handleClick = () => {
|
||||
@ -25,13 +45,25 @@ export default class Conversation extends ImmutablePureComponent {
|
||||
return;
|
||||
}
|
||||
|
||||
const { lastStatusId, unread, markRead } = this.props;
|
||||
const { lastStatus, unread, markRead } = this.props;
|
||||
|
||||
if (unread) {
|
||||
markRead();
|
||||
}
|
||||
|
||||
this.context.router.history.push(`/statuses/${lastStatusId}`);
|
||||
this.context.router.history.push(`/statuses/${lastStatus.get('id')}`);
|
||||
}
|
||||
|
||||
handleMarkAsRead = () => {
|
||||
this.props.markRead();
|
||||
}
|
||||
|
||||
handleReply = () => {
|
||||
this.props.reply(this.props.lastStatus, this.context.router.history);
|
||||
}
|
||||
|
||||
handleDelete = () => {
|
||||
this.props.delete();
|
||||
}
|
||||
|
||||
handleHotkeyMoveUp = () => {
|
||||
@ -42,22 +74,88 @@ export default class Conversation extends ImmutablePureComponent {
|
||||
this.props.onMoveDown(this.props.conversationId);
|
||||
}
|
||||
|
||||
render () {
|
||||
const { accounts, lastStatusId, unread } = this.props;
|
||||
handleConversationMute = () => {
|
||||
this.props.onMute(this.props.lastStatus);
|
||||
}
|
||||
|
||||
if (lastStatusId === null) {
|
||||
handleShowMore = () => {
|
||||
this.props.onToggleHidden(this.props.lastStatus);
|
||||
}
|
||||
|
||||
render () {
|
||||
const { accounts, lastStatus, unread, intl } = this.props;
|
||||
|
||||
if (lastStatus === null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const menu = [
|
||||
{ text: intl.formatMessage(messages.open), action: this.handleClick },
|
||||
null,
|
||||
];
|
||||
|
||||
menu.push({ text: intl.formatMessage(lastStatus.get('muted') ? messages.unmuteConversation : messages.muteConversation), action: this.handleConversationMute });
|
||||
|
||||
if (unread) {
|
||||
menu.push({ text: intl.formatMessage(messages.markAsRead), action: this.handleMarkAsRead });
|
||||
menu.push(null);
|
||||
}
|
||||
|
||||
menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDelete });
|
||||
|
||||
const names = accounts.map(a => <Permalink to={`/accounts/${a.get('id')}`} href={a.get('url')} key={a.get('id')} title={a.get('acct')}><bdi><strong className='display-name__html' dangerouslySetInnerHTML={{ __html: a.get('display_name_html') }} /></bdi></Permalink>).reduce((prev, cur) => [prev, ', ', cur]);
|
||||
|
||||
const handlers = {
|
||||
reply: this.handleReply,
|
||||
open: this.handleClick,
|
||||
moveUp: this.handleHotkeyMoveUp,
|
||||
moveDown: this.handleHotkeyMoveDown,
|
||||
toggleHidden: this.handleShowMore,
|
||||
};
|
||||
|
||||
return (
|
||||
<StatusContainer
|
||||
id={lastStatusId}
|
||||
unread={unread}
|
||||
otherAccounts={accounts}
|
||||
onMoveUp={this.handleHotkeyMoveUp}
|
||||
onMoveDown={this.handleHotkeyMoveDown}
|
||||
<HotKeys handlers={handlers}>
|
||||
<div className='conversation focusable muted' tabIndex='0'>
|
||||
<div className='conversation__avatar'>
|
||||
<AvatarComposite accounts={accounts} size={48} />
|
||||
</div>
|
||||
|
||||
<div className='conversation__content'>
|
||||
<div className='conversation__content__info'>
|
||||
<div className='conversation__content__relative-time'>
|
||||
<RelativeTimestamp timestamp={lastStatus.get('created_at')} />
|
||||
</div>
|
||||
|
||||
<div className='conversation__content__names'>
|
||||
<FormattedMessage id='conversation.with' defaultMessage='With {names}' values={{ names: <span>{names}</span> }} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<StatusContent
|
||||
status={lastStatus}
|
||||
onClick={this.handleClick}
|
||||
expanded={!lastStatus.get('hidden')}
|
||||
onExpandedToggle={this.handleShowMore}
|
||||
collapsable
|
||||
/>
|
||||
|
||||
{lastStatus.get('media_attachments').size > 0 && (
|
||||
<AttachmentList
|
||||
compact
|
||||
media={lastStatus.get('media_attachments')}
|
||||
/>
|
||||
)}
|
||||
|
||||
<div className='status__action-bar'>
|
||||
<IconButton className='status__action-bar-button' title={intl.formatMessage(messages.reply)} icon='reply' onClick={this.handleReply} />
|
||||
|
||||
<div className='status__action-bar-dropdown'>
|
||||
<DropdownMenuContainer status={lastStatus} items={menu} icon='ellipsis-h' size={18} direction='right' title={intl.formatMessage(messages.more)} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</HotKeys>
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -1,19 +1,74 @@
|
||||
import { connect } from 'react-redux';
|
||||
import Conversation from '../components/conversation';
|
||||
import { markConversationRead } from '../../../actions/conversations';
|
||||
import { markConversationRead, deleteConversation } from 'mastodon/actions/conversations';
|
||||
import { makeGetStatus } from 'mastodon/selectors';
|
||||
import { replyCompose } from 'mastodon/actions/compose';
|
||||
import { openModal } from 'mastodon/actions/modal';
|
||||
import { muteStatus, unmuteStatus, hideStatus, revealStatus } from 'mastodon/actions/statuses';
|
||||
import { defineMessages, injectIntl } from 'react-intl';
|
||||
|
||||
const mapStateToProps = (state, { conversationId }) => {
|
||||
const messages = defineMessages({
|
||||
replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },
|
||||
replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' },
|
||||
});
|
||||
|
||||
const mapStateToProps = () => {
|
||||
const getStatus = makeGetStatus();
|
||||
|
||||
return (state, { conversationId }) => {
|
||||
const conversation = state.getIn(['conversations', 'items']).find(x => x.get('id') === conversationId);
|
||||
const lastStatusId = conversation.get('last_status', null);
|
||||
|
||||
return {
|
||||
accounts: conversation.get('accounts').map(accountId => state.getIn(['accounts', accountId], null)),
|
||||
unread: conversation.get('unread'),
|
||||
lastStatusId: conversation.get('last_status', null),
|
||||
lastStatus: lastStatusId && getStatus(state, { id: lastStatusId }),
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
const mapDispatchToProps = (dispatch, { conversationId }) => ({
|
||||
markRead: () => dispatch(markConversationRead(conversationId)),
|
||||
const mapDispatchToProps = (dispatch, { intl, conversationId }) => ({
|
||||
|
||||
markRead () {
|
||||
dispatch(markConversationRead(conversationId));
|
||||
},
|
||||
|
||||
reply (status, router) {
|
||||
dispatch((_, getState) => {
|
||||
let state = getState();
|
||||
|
||||
if (state.getIn(['compose', 'text']).trim().length !== 0) {
|
||||
dispatch(openModal('CONFIRM', {
|
||||
message: intl.formatMessage(messages.replyMessage),
|
||||
confirm: intl.formatMessage(messages.replyConfirm),
|
||||
onConfirm: () => dispatch(replyCompose(status, router)),
|
||||
}));
|
||||
} else {
|
||||
dispatch(replyCompose(status, router));
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
delete () {
|
||||
dispatch(deleteConversation(conversationId));
|
||||
},
|
||||
|
||||
onMute (status) {
|
||||
if (status.get('muted')) {
|
||||
dispatch(unmuteStatus(status.get('id')));
|
||||
} else {
|
||||
dispatch(muteStatus(status.get('id')));
|
||||
}
|
||||
},
|
||||
|
||||
onToggleHidden (status) {
|
||||
if (status.get('hidden')) {
|
||||
dispatch(revealStatus(status.get('id')));
|
||||
} else {
|
||||
dispatch(hideStatus(status.get('id')));
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
export default connect(mapStateToProps, mapDispatchToProps)(Conversation);
|
||||
export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(Conversation));
|
||||
|
@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
|
||||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||
import Column from '../../components/column';
|
||||
import ColumnHeader from '../../components/column_header';
|
||||
import { expandNotifications, scrollTopNotifications, loadPending } from '../../actions/notifications';
|
||||
import { expandNotifications, scrollTopNotifications, loadPending, mountNotifications, unmountNotifications } from '../../actions/notifications';
|
||||
import { addColumn, removeColumn, moveColumn } from '../../actions/columns';
|
||||
import NotificationContainer from './containers/notification_container';
|
||||
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
|
||||
@ -39,7 +39,7 @@ const mapStateToProps = state => ({
|
||||
showFilterBar: state.getIn(['settings', 'notifications', 'quickFilter', 'show']),
|
||||
notifications: getNotifications(state),
|
||||
isLoading: state.getIn(['notifications', 'isLoading'], true),
|
||||
isUnread: state.getIn(['notifications', 'unread']) > 0,
|
||||
isUnread: state.getIn(['notifications', 'unread']) > 0 || state.getIn(['notifications', 'pendingItems']).size > 0,
|
||||
hasMore: state.getIn(['notifications', 'hasMore']),
|
||||
numPending: state.getIn(['notifications', 'pendingItems'], ImmutableList()).size,
|
||||
});
|
||||
@ -66,11 +66,16 @@ class Notifications extends React.PureComponent {
|
||||
trackScroll: true,
|
||||
};
|
||||
|
||||
componentWillMount() {
|
||||
this.props.dispatch(mountNotifications());
|
||||
}
|
||||
|
||||
componentWillUnmount () {
|
||||
this.handleLoadOlder.cancel();
|
||||
this.handleScrollToTop.cancel();
|
||||
this.handleScroll.cancel();
|
||||
this.props.dispatch(scrollTopNotifications(false));
|
||||
this.props.dispatch(unmountNotifications());
|
||||
}
|
||||
|
||||
handleLoadGap = (maxId) => {
|
||||
|
@ -223,10 +223,10 @@ class FocalPointModal extends ImmutablePureComponent {
|
||||
|
||||
<div className='setting-text__toolbar'>
|
||||
<button disabled={detecting || media.get('type') !== 'image'} className='link-button' onClick={this.handleTextDetection}><FormattedMessage id='upload_modal.detect_text' defaultMessage='Detect text from picture' /></button>
|
||||
<CharacterCounter max={420} text={detecting ? '' : description} />
|
||||
<CharacterCounter max={1500} text={detecting ? '' : description} />
|
||||
</div>
|
||||
|
||||
<Button disabled={!dirty || detecting || length(description) > 420} text={intl.formatMessage(messages.apply)} onClick={this.handleSubmit} />
|
||||
<Button disabled={!dirty || detecting || length(description) > 1500} text={intl.formatMessage(messages.apply)} onClick={this.handleSubmit} />
|
||||
</div>
|
||||
|
||||
<div className='focal-point-modal__content'>
|
||||
|
@ -20,7 +20,7 @@ const NavigationPanel = () => (
|
||||
<NavLink className='column-link column-link--transparent' to='/bookmarks'><Icon className='colmun-link__icon' id='bookmark' fixedWidth /><FormattedMessage id='navigation_bar.bookmarks' defaultMessage='Bookmark' /></NavLink>
|
||||
<NavLink className='column-link column-link--transparent' to='/favourites'><Icon className='column-link__icon' id='star' fixedWidth /><FormattedMessage id='navigation_bar.favourites' defaultMessage='Favourites' /></NavLink>
|
||||
<NavLink className='column-link column-link--transparent' to='/lists'><Icon className='column-link__icon' id='list-ul' fixedWidth /><FormattedMessage id='navigation_bar.lists' defaultMessage='Lists' /></NavLink>
|
||||
{profile_directory && <NavLink className='column-link column-link--transparent' to='/directory'><Icon className='column-link__icon' id='address-book-o' fixedWidth /><FormattedMessage id='getting_started.profile_directory' defaultMessage='Profile directory' /></NavLink>}
|
||||
{profile_directory && <NavLink className='column-link column-link--transparent' to='/directory'><Icon className='column-link__icon' id='address-book-o' fixedWidth /><FormattedMessage id='getting_started.directory' defaultMessage='Profile directory' /></NavLink>}
|
||||
|
||||
<ListPanel />
|
||||
|
||||
|
@ -16,6 +16,7 @@ import { expandNotifications } from '../../actions/notifications';
|
||||
import { fetchFilters } from '../../actions/filters';
|
||||
import { clearHeight } from '../../actions/height_cache';
|
||||
import { focusApp, unfocusApp } from 'mastodon/actions/app';
|
||||
import { submitMarkers } from 'mastodon/actions/markers';
|
||||
import { WrappedSwitch, WrappedRoute } from './util/react_router_helpers';
|
||||
import UploadArea from './components/upload_area';
|
||||
import ColumnsAreaContainer from './containers/columns_area_container';
|
||||
@ -66,6 +67,7 @@ const mapStateToProps = state => ({
|
||||
isComposing: state.getIn(['compose', 'is_composing']),
|
||||
hasComposingText: state.getIn(['compose', 'text']).trim().length !== 0,
|
||||
hasMediaAttachments: state.getIn(['compose', 'media_attachments']).size > 0,
|
||||
canUploadMore: !state.getIn(['compose', 'media_attachments']).some(x => ['audio', 'video'].includes(x.get('type'))) && state.getIn(['compose', 'media_attachments']).size < 4,
|
||||
dropdownMenuIsOpen: state.getIn(['dropdown_menu', 'openId']) !== null,
|
||||
});
|
||||
|
||||
@ -233,6 +235,7 @@ class UI extends React.PureComponent {
|
||||
isComposing: PropTypes.bool,
|
||||
hasComposingText: PropTypes.bool,
|
||||
hasMediaAttachments: PropTypes.bool,
|
||||
canUploadMore: PropTypes.bool,
|
||||
location: PropTypes.object,
|
||||
intl: PropTypes.object.isRequired,
|
||||
dropdownMenuIsOpen: PropTypes.bool,
|
||||
@ -243,7 +246,9 @@ class UI extends React.PureComponent {
|
||||
};
|
||||
|
||||
handleBeforeUnload = e => {
|
||||
const { intl, isComposing, hasComposingText, hasMediaAttachments } = this.props;
|
||||
const { intl, dispatch, isComposing, hasComposingText, hasMediaAttachments } = this.props;
|
||||
|
||||
dispatch(submitMarkers());
|
||||
|
||||
if (isComposing && (hasComposingText || hasMediaAttachments)) {
|
||||
// Setting returnValue to any string causes confirmation dialog.
|
||||
@ -277,13 +282,14 @@ class UI extends React.PureComponent {
|
||||
this.dragTargets.push(e.target);
|
||||
}
|
||||
|
||||
if (e.dataTransfer && Array.from(e.dataTransfer.types).includes('Files')) {
|
||||
if (e.dataTransfer && Array.from(e.dataTransfer.types).includes('Files') && this.props.canUploadMore) {
|
||||
this.setState({ draggingOver: true });
|
||||
}
|
||||
}
|
||||
|
||||
handleDragOver = (e) => {
|
||||
if (this.dataTransferIsText(e.dataTransfer)) return false;
|
||||
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
||||
@ -298,12 +304,13 @@ class UI extends React.PureComponent {
|
||||
|
||||
handleDrop = (e) => {
|
||||
if (this.dataTransferIsText(e.dataTransfer)) return;
|
||||
|
||||
e.preventDefault();
|
||||
|
||||
this.setState({ draggingOver: false });
|
||||
this.dragTargets = [];
|
||||
|
||||
if (e.dataTransfer && e.dataTransfer.files.length >= 1) {
|
||||
if (e.dataTransfer && e.dataTransfer.files.length >= 1 && this.props.canUploadMore) {
|
||||
this.props.dispatch(uploadCompose(e.dataTransfer.files));
|
||||
}
|
||||
}
|
||||
|
@ -4,11 +4,11 @@
|
||||
"account.block": "حظر @{name}",
|
||||
"account.block_domain": "إخفاء كل شيئ قادم من اسم النطاق {domain}",
|
||||
"account.blocked": "محظور",
|
||||
"account.cancel_follow_request": "Cancel follow request",
|
||||
"account.cancel_follow_request": "إلغاء طلب المتابَعة",
|
||||
"account.direct": "رسالة خاصة إلى @{name}",
|
||||
"account.domain_blocked": "النطاق مخفي",
|
||||
"account.edit_profile": "تعديل الملف الشخصي",
|
||||
"account.endorse": "خاصّية على الملف الشخصي",
|
||||
"account.endorse": "أوصِ به على صفحتك",
|
||||
"account.follow": "تابِع",
|
||||
"account.followers": "متابعون",
|
||||
"account.followers.empty": "لا أحد يتبع هذا الحساب بعد.",
|
||||
@ -16,29 +16,33 @@
|
||||
"account.follows.empty": "هذا الحساب لا يتبع أحدًا بعد.",
|
||||
"account.follows_you": "يتابعك",
|
||||
"account.hide_reblogs": "إخفاء ترقيات @{name}",
|
||||
"account.last_status": "آخر نشاط",
|
||||
"account.link_verified_on": "تم التحقق مِن مِلْكية هذا الرابط بتاريخ {date}",
|
||||
"account.locked_info": "تم تأمين خصوصية هذا الحساب عبر قفل. صاحب الحساب يُراجِع يدويا طلبات المتابَعة و الاشتراك بحسابه.",
|
||||
"account.media": "وسائط",
|
||||
"account.mention": "أُذكُر/ي @{name}",
|
||||
"account.mention": "أذكُر @{name}",
|
||||
"account.moved_to": "{name} انتقل إلى:",
|
||||
"account.mute": "كتم @{name}",
|
||||
"account.mute": "أكتم @{name}",
|
||||
"account.mute_notifications": "كتم الإخطارات من @{name}",
|
||||
"account.muted": "مكتوم",
|
||||
"account.posts": "التبويقات",
|
||||
"account.never_active": "أبدا",
|
||||
"account.posts": "تبويقات",
|
||||
"account.posts_with_replies": "التبويقات و الردود",
|
||||
"account.report": "أبلغ/ي عن @{name}",
|
||||
"account.report": "ابلِغ عن @{name}",
|
||||
"account.requested": "في انتظار الموافقة. اضْغَطْ/ي لإلغاء طلب المتابعة",
|
||||
"account.share": "مشاركة حساب @{name}",
|
||||
"account.show_reblogs": "عرض ترقيات @{name}",
|
||||
"account.show_reblogs": "اعرض ترقيات @{name}",
|
||||
"account.unblock": "إلغاء الحظر عن @{name}",
|
||||
"account.unblock_domain": "فك الخْفى عن {domain}",
|
||||
"account.unendorse": "إزالة ترويجه مِن الملف الشخصي",
|
||||
"account.unendorse": "أزل ترويجه مِن الملف الشخصي",
|
||||
"account.unfollow": "إلغاء المتابعة",
|
||||
"account.unmute": "إلغاء الكتم عن @{name}",
|
||||
"account.unmute_notifications": "إلغاء كتم إخطارات @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "لقد طرأ هناك خطأ غير متوقّع.",
|
||||
"alert.unexpected.title": "المعذرة!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
"autosuggest_hashtag.per_week": "{count} في الأسبوع",
|
||||
"boost_modal.combo": "يمكنك/ي ضغط {combo} لتخطّي هذه في المرّة القادمة",
|
||||
"bundle_column_error.body": "لقد وقع هناك خطأ أثناء عملية تحميل هذا العنصر.",
|
||||
"bundle_column_error.retry": "إعادة المحاولة",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "الحسابات المحجوبة",
|
||||
"column.community": "الخيط العام المحلي",
|
||||
"column.direct": "الرسائل المباشرة",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "النطاقات المخفية",
|
||||
"column.favourites": "المفضلة",
|
||||
"column.follow_requests": "طلبات المتابعة",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "الإخطارات",
|
||||
"column.pins": "التبويقات المثبتة",
|
||||
"column.public": "الخيط العام الموحد",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "العودة",
|
||||
"column_header.hide_settings": "إخفاء الإعدادات",
|
||||
"column_header.moveLeft_settings": "نقل القائمة إلى اليسار",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "هل تود حقا حذف هذه القائمة ؟",
|
||||
"confirmations.domain_block.confirm": "إخفاء اسم النطاق كاملا",
|
||||
"confirmations.domain_block.message": "متأكد من أنك تود حظر اسم النطاق {domain} بالكامل ؟ في غالب الأحيان يُستَحسَن كتم أو حظر بعض الحسابات بدلا من حظر نطاق بالكامل.\nلن تتمكن مِن رؤية محتوى هذا النطاق لا على خيوطك العمومية و لا في إشعاراتك. سوف يتم كذلك إزالة كافة متابعيك المنتمين إلى هذا النطاق.",
|
||||
"confirmations.logout.confirm": "خروج",
|
||||
"confirmations.logout.message": "متأكد من أنك تريد الخروج؟",
|
||||
"confirmations.mute.confirm": "أكتم",
|
||||
"confirmations.mute.message": "هل أنت متأكد أنك تريد كتم {name} ؟",
|
||||
"confirmations.redraft.confirm": "إزالة و إعادة الصياغة",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "الرد في الحين سوف يُعيد كتابة الرسالة التي أنت بصدد كتابتها. متأكد من أنك تريد المواصلة؟",
|
||||
"confirmations.unfollow.confirm": "إلغاء المتابعة",
|
||||
"confirmations.unfollow.message": "متأكد من أنك تريد إلغاء متابعة {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": "الوافدون الجُدد",
|
||||
"directory.recently_active": "نشط مؤخرا",
|
||||
"embed.instructions": "يمكنكم إدماج هذا المنشور على موقعكم الإلكتروني عن طريق نسخ الشفرة أدناه.",
|
||||
"embed.preview": "هكذا ما سوف يبدو عليه:",
|
||||
"emoji_button.activity": "الأنشطة",
|
||||
@ -118,7 +134,7 @@
|
||||
"emoji_button.search": "ابحث...",
|
||||
"emoji_button.search_results": "نتائج البحث",
|
||||
"emoji_button.symbols": "رموز",
|
||||
"emoji_button.travel": "أماكن و أسفار",
|
||||
"emoji_button.travel": "الأماكن والسفر",
|
||||
"empty_column.account_timeline": "ليس هناك تبويقات!",
|
||||
"empty_column.account_unavailable": "الملف الشخصي غير متوفر",
|
||||
"empty_column.blocks": "لم تقم بحظر أي مستخدِم بعد.",
|
||||
@ -155,10 +171,10 @@
|
||||
"hashtag.column_settings.tag_mode.any": "أي كان مِن هذه",
|
||||
"hashtag.column_settings.tag_mode.none": "لا شيء مِن هذه",
|
||||
"hashtag.column_settings.tag_toggle": "إدراج الوسوم الإضافية لهذا العمود",
|
||||
"home.column_settings.basic": "أساسية",
|
||||
"home.column_settings.basic": "الأساسية",
|
||||
"home.column_settings.show_reblogs": "عرض الترقيات",
|
||||
"home.column_settings.show_replies": "عرض الردود",
|
||||
"home.column_settings.update_live": "تحديث في الوقت الحالي",
|
||||
"home.column_settings.show_replies": "اعرض الردود",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# يوم} other {# أيام}}",
|
||||
"intervals.full.hours": "{number, plural, one {# ساعة} other {# ساعات}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# دقيقة} other {# دقائق}}",
|
||||
@ -218,7 +234,7 @@
|
||||
"lists.account.add": "أضف إلى القائمة",
|
||||
"lists.account.remove": "احذف من القائمة",
|
||||
"lists.delete": "احذف القائمة",
|
||||
"lists.edit": "تعديل القائمة",
|
||||
"lists.edit": "عدّل القائمة",
|
||||
"lists.edit.submit": "تعديل العنوان",
|
||||
"lists.new.create": "إنشاء قائمة",
|
||||
"lists.new.title_placeholder": "عنوان القائمة الجديدة",
|
||||
@ -227,7 +243,7 @@
|
||||
"load_pending": "{count, plural, one {# new item} other {# new items}}",
|
||||
"loading_indicator.label": "تحميل...",
|
||||
"media_gallery.toggle_visible": "عرض / إخفاء",
|
||||
"missing_indicator.label": "تعذر العثور عليه",
|
||||
"missing_indicator.label": "غير موجود",
|
||||
"missing_indicator.sublabel": "تعذر العثور على هذا المورد",
|
||||
"mute_modal.hide_notifications": "هل تود إخفاء الإخطارات القادمة من هذا المستخدم ؟",
|
||||
"navigation_bar.apps": "تطبيقات الأجهزة المحمولة",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "شخصي",
|
||||
"navigation_bar.pins": "التبويقات المثبتة",
|
||||
"navigation_bar.preferences": "التفضيلات",
|
||||
"navigation_bar.profile_directory": "دليل المستخدِمين",
|
||||
"navigation_bar.public_timeline": "الخيط العام الموحد",
|
||||
"navigation_bar.security": "الأمان",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -263,9 +278,9 @@
|
||||
"notifications.clear_confirmation": "أمتأكد من أنك تود مسح جل الإخطارات الخاصة بك و المتلقاة إلى حد الآن ؟",
|
||||
"notifications.column_settings.alert": "إشعارات سطح المكتب",
|
||||
"notifications.column_settings.favourite": "المُفَضَّلة:",
|
||||
"notifications.column_settings.filter_bar.advanced": "عرض كافة الفئات",
|
||||
"notifications.column_settings.filter_bar.advanced": "اعرض كافة الفئات",
|
||||
"notifications.column_settings.filter_bar.category": "شريط الفلترة السريعة",
|
||||
"notifications.column_settings.filter_bar.show": "عرض",
|
||||
"notifications.column_settings.filter_bar.show": "اعرض",
|
||||
"notifications.column_settings.follow": "متابعُون جُدُد:",
|
||||
"notifications.column_settings.mention": "الإشارات:",
|
||||
"notifications.column_settings.poll": "نتائج استطلاع الرأي:",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "أظهر المزيد",
|
||||
"status.show_more_all": "توسيع الكل",
|
||||
"status.show_thread": "الكشف عن المحادثة",
|
||||
"status.uncached_media_warning": "غير متوفر",
|
||||
"status.unmute_conversation": "فك الكتم عن المحادثة",
|
||||
"status.unpin": "فك التدبيس من الملف الشخصي",
|
||||
"suggestions.dismiss": "إلغاء الاقتراح",
|
||||
@ -373,20 +389,20 @@
|
||||
"time_remaining.moments": "لحظات متبقية",
|
||||
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} آخرون {people}} يتحدثون",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "المتداولة الآن",
|
||||
"ui.beforeunload": "سوف تفقد مسودتك إن تركت ماستدون.",
|
||||
"upload_area.title": "اسحب ثم أفلت للرفع",
|
||||
"upload_button.label": "إضافة وسائط ({formats})",
|
||||
"upload_error.limit": "لقد تم بلوغ الحد الأقصى المسموح به لإرسال الملفات.",
|
||||
"upload_error.poll": "لا يمكن إدراج ملفات في استطلاعات الرأي.",
|
||||
"upload_form.description": "وصف للمعاقين بصريا",
|
||||
"upload_form.edit": "Edit",
|
||||
"upload_form.edit": "تعديل",
|
||||
"upload_form.undo": "حذف",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.apply": "Apply",
|
||||
"upload_modal.analyzing_picture": "جارٍ فحص الصورة…",
|
||||
"upload_modal.apply": "طبّق",
|
||||
"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.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_progress.label": "يرفع...",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "Esti usuariu entá nun sigue a naide.",
|
||||
"account.follows_you": "Síguete",
|
||||
"account.hide_reblogs": "Hide boosts from @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
||||
"account.media": "Media",
|
||||
@ -24,10 +25,11 @@
|
||||
"account.mute": "Silenciar a @{name}",
|
||||
"account.mute_notifications": "Mute notifications from @{name}",
|
||||
"account.muted": "Muted",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Toots",
|
||||
"account.posts_with_replies": "Toots y rempuestes",
|
||||
"account.report": "Report @{name}",
|
||||
"account.requested": "Awaiting approval. Click to cancel follow request",
|
||||
"account.requested": "Awaiting approval",
|
||||
"account.share": "Share @{name}'s profile",
|
||||
"account.show_reblogs": "Show boosts from @{name}",
|
||||
"account.unblock": "Desbloquiar a @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Unfollow",
|
||||
"account.unmute": "Unmute @{name}",
|
||||
"account.unmute_notifications": "Unmute notifications from @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "Asocedió un fallu inesperáu.",
|
||||
"alert.unexpected.title": "¡Ups!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Usuarios bloquiaos",
|
||||
"column.community": "Llinia temporal llocal",
|
||||
"column.direct": "Mensaxes direutos",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Dominios anubríos",
|
||||
"column.favourites": "Favoritos",
|
||||
"column.follow_requests": "Solicitúes de siguimientu",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Avisos",
|
||||
"column.pins": "Toots fixaos",
|
||||
"column.public": "Llinia temporal federada",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Atrás",
|
||||
"column_header.hide_settings": "Hide settings",
|
||||
"column_header.moveLeft_settings": "Mover la columna a la esquierda",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "¿De xuru que quies desaniciar dafechu esta llista?",
|
||||
"confirmations.domain_block.confirm": "Anubrir tol dominiu",
|
||||
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Mute",
|
||||
"confirmations.mute.message": "¿De xuru que quies silenciar a {name}?",
|
||||
"confirmations.redraft.confirm": "Desaniciar y reeditar",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.unfollow.confirm": "Unfollow",
|
||||
"confirmations.unfollow.message": "¿De xuru que quies dexar de siguir a {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": "Empotra esti estáu nun sitiu web copiando'l códigu d'embaxo.",
|
||||
"embed.preview": "Asina ye como va vese:",
|
||||
"emoji_button.activity": "Actividaes",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Toots fixaos",
|
||||
"navigation_bar.preferences": "Preferencies",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.public_timeline": "Llinia temporal federada",
|
||||
"navigation_bar.security": "Seguranza",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Amosar más",
|
||||
"status.show_more_all": "Show more for all",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Unmute conversation",
|
||||
"status.unpin": "Desfixar del perfil",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
@ -373,7 +389,7 @@
|
||||
"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}} talking",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "El borrador va perdese si coles de Mastodon.",
|
||||
"upload_area.title": "Drag & drop to upload",
|
||||
"upload_button.label": "Add media",
|
||||
|
@ -1,12 +1,12 @@
|
||||
{
|
||||
"account.add_or_remove_from_list": "Add or Remove from lists",
|
||||
"account.badges.bot": "Bot",
|
||||
"account.add_or_remove_from_list": "Добави или премахни от списъците",
|
||||
"account.badges.bot": "бот",
|
||||
"account.block": "Блокирай",
|
||||
"account.block_domain": "Hide everything from {domain}",
|
||||
"account.blocked": "Blocked",
|
||||
"account.block_domain": "скрий всичко от (домейн)",
|
||||
"account.blocked": "Блокирани",
|
||||
"account.cancel_follow_request": "Cancel follow request",
|
||||
"account.direct": "Direct Message @{name}",
|
||||
"account.domain_blocked": "Domain hidden",
|
||||
"account.domain_blocked": "Скрит домейн",
|
||||
"account.edit_profile": "Редактирай профила си",
|
||||
"account.endorse": "Feature on profile",
|
||||
"account.follow": "Последвай",
|
||||
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "This user doesn't follow anyone yet.",
|
||||
"account.follows_you": "Твой последовател",
|
||||
"account.hide_reblogs": "Hide boosts from @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
||||
"account.media": "Media",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Mute @{name}",
|
||||
"account.mute_notifications": "Mute notifications from @{name}",
|
||||
"account.muted": "Muted",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Публикации",
|
||||
"account.posts_with_replies": "Toots with replies",
|
||||
"account.report": "Report @{name}",
|
||||
@ -36,12 +38,14 @@
|
||||
"account.unfollow": "Не следвай",
|
||||
"account.unmute": "Unmute @{name}",
|
||||
"account.unmute_notifications": "Unmute notifications from @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "An unexpected error occurred.",
|
||||
"alert.unexpected.title": "Oops!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
"boost_modal.combo": "You can press {combo} to skip this next time",
|
||||
"bundle_column_error.body": "Something went wrong while loading this component.",
|
||||
"bundle_column_error.retry": "Try again",
|
||||
"bundle_column_error.retry": "Опитай отново",
|
||||
"bundle_column_error.title": "Network error",
|
||||
"bundle_modal_error.close": "Close",
|
||||
"bundle_modal_error.message": "Something went wrong while loading this component.",
|
||||
@ -49,15 +53,17 @@
|
||||
"column.blocks": "Blocked users",
|
||||
"column.community": "Local timeline",
|
||||
"column.direct": "Direct messages",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Hidden domains",
|
||||
"column.favourites": "Favourites",
|
||||
"column.follow_requests": "Follow requests",
|
||||
"column.home": "Начало",
|
||||
"column.lists": "Lists",
|
||||
"column.lists": "Списъци",
|
||||
"column.mutes": "Muted users",
|
||||
"column.notifications": "Известия",
|
||||
"column.pins": "Pinned toot",
|
||||
"column.public": "Публичен канал",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Назад",
|
||||
"column_header.hide_settings": "Hide settings",
|
||||
"column_header.moveLeft_settings": "Move column to the left",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
|
||||
"confirmations.domain_block.confirm": "Hide entire domain",
|
||||
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Mute",
|
||||
"confirmations.mute.message": "Are you sure you want to mute {name}?",
|
||||
"confirmations.redraft.confirm": "Delete & redraft",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.unfollow.confirm": "Unfollow",
|
||||
"confirmations.unfollow.message": "Are you sure you want to unfollow {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": "Embed this status on your website by copying the code below.",
|
||||
"embed.preview": "Here is what it will look like:",
|
||||
"emoji_button.activity": "Activity",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Pinned toots",
|
||||
"navigation_bar.preferences": "Предпочитания",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.public_timeline": "Публичен канал",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Show more",
|
||||
"status.show_more_all": "Show more for all",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Unmute conversation",
|
||||
"status.unpin": "Unpin from profile",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
@ -373,7 +389,7 @@
|
||||
"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}} talking",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
|
||||
"upload_area.title": "Drag & drop to upload",
|
||||
"upload_button.label": "Добави медия",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "এই ব্যবহারকারী কাওকে এখনো অনুসরণ করেন না।",
|
||||
"account.follows_you": "আপনাকে অনুসরণ করে",
|
||||
"account.hide_reblogs": "@{name}র সমর্থনগুলি সরিয়ে ফেলুন",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "এই লিংকের মালিকানা চেক করা হয়েছে {date} তারিকে",
|
||||
"account.locked_info": "এই নিবন্ধনের গোপনীয়তার ক্ষেত্র তালা দেওয়া আছে। নিবন্ধনকারী অনুসরণ করার অনুমতি যাদেরকে দেবেন, শুধু তারাই অনুসরণ করতে পারবেন।",
|
||||
"account.media": "ছবি বা ভিডিও",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "@{name} সব কার্যক্রম আপনার সময়রেখা থেকে সরিয়ে ফেলতে",
|
||||
"account.mute_notifications": "@{name}র প্রজ্ঞাপন আপনার কাছ থেকে সরিয়ে ফেলুন",
|
||||
"account.muted": "সরানো আছে",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "টুট",
|
||||
"account.posts_with_replies": "টুট এবং মতামত",
|
||||
"account.report": "@{name} কে রিপোর্ট করতে",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "অনুসরণ না করতে",
|
||||
"account.unmute": "@{name}র কার্যকলাপ আবার দেখুন",
|
||||
"account.unmute_notifications": "@{name}র প্রজ্ঞাপন দেওয়ার অনুমতি দিন",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "অপ্রত্যাশিত একটি সমস্যা হয়েছে।",
|
||||
"alert.unexpected.title": "ওহো!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "যাদের বন্ধ করে রাখা হয়েছে",
|
||||
"column.community": "স্থানীয় সময়সারি",
|
||||
"column.direct": "সরাসরি লেখা",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "সরিয়ে ফেলা ওয়েবসাইট",
|
||||
"column.favourites": "পছন্দের গুলো",
|
||||
"column.follow_requests": "অনুসরণের অনুমতি চেয়েছে যারা",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "প্রজ্ঞাপনগুলো",
|
||||
"column.pins": "পিন করা টুট",
|
||||
"column.public": "যুক্ত সময়রেখা",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "পেছনে",
|
||||
"column_header.hide_settings": "সেটিংগুলো সরান",
|
||||
"column_header.moveLeft_settings": "কলমটা বামে সরান",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "আপনি কি নিশ্চিত যে আপনি এই তালিকাটি স্থায়িভাবে মুছে ফেলতে চান ?",
|
||||
"confirmations.domain_block.confirm": "এই ওয়েবসাইট থেকে সব সরান",
|
||||
"confirmations.domain_block.message": "আপনি কি সত্যি সত্যি নিশ্চিত যে {domain} ওয়েবসাইট থেকে সব সরাতে চান ? সাধারণত কিছু লক্ষ্যবস্তু বন্ধ এবং সরানোযা যথেষ্ট। নিশ্চিত করলে ওই ওয়েবসাইট থেকে কোনোকিছু কোনখানে দেখবেন না। যারা আপনাকে অনুসরণ করে ওই ওয়েবসাইট থেকে তাদেরকেও মুছে ফেলা হবে।",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "সরিয়ে ফেলুন",
|
||||
"confirmations.mute.message": "আপনি কি নিশ্চিত {name} সরিয়ে ফেলতে চান ?",
|
||||
"confirmations.redraft.confirm": "মুছে ফেলুন এবং আবার সম্পাদন করুন",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "এখন মতামত লিখতে গেলে আপনার এখন যেটা লিখছেন সেটা মুছে যাবে। আপনি নি নিশ্চিত এটা করতে চান ?",
|
||||
"confirmations.unfollow.confirm": "অনুসরণ করা বাতিল করতে",
|
||||
"confirmations.unfollow.message": "আপনি কি নিশ্চিত {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": "এই লেখাটি আপনার ওয়েবসাইটে যুক্ত করতে নিচের কোডটি বেবহার করুন।",
|
||||
"embed.preview": "সেটা দেখতে এরকম হবে:",
|
||||
"emoji_button.activity": "কার্যকলাপ",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "নিজস্ব",
|
||||
"navigation_bar.pins": "পিন দেওয়া টুট",
|
||||
"navigation_bar.preferences": "পছন্দসমূহ",
|
||||
"navigation_bar.profile_directory": "নিজস্ব পাতার তালিকা",
|
||||
"navigation_bar.public_timeline": "যুক্তবিশ্বের সময়রেখা",
|
||||
"navigation_bar.security": "নিরাপত্তা",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "আরো দেখাতে",
|
||||
"status.show_more_all": "সবগুলোতে আরো দেখতে",
|
||||
"status.show_thread": "আলোচনা দেখতে",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "আলোচনার প্রজ্ঞাপন চালু করতে",
|
||||
"status.unpin": "নিজের পাতা থেকে পিন করে রাখাটির পিন খুলতে",
|
||||
"suggestions.dismiss": "সাহায্যের পরামর্শগুলো সরাতে",
|
||||
@ -373,7 +389,7 @@
|
||||
"time_remaining.moments": "সময় বাকি আছে",
|
||||
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} বাকি আছে",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} কথা বলছে",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "যে পর্যন্ত এটা লেখা হয়েছে, মাস্টাডন থেকে চলে গেলে এটা মুছে যাবে।",
|
||||
"upload_area.title": "টেনে এখানে ছেড়ে দিলে এখানে যুক্ত করা যাবে",
|
||||
"upload_button.label": "ছবি বা ভিডিও যুক্ত করতে (এসব ধরণের: JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
|
418
app/javascript/mastodon/locales/br.json
Normal file
418
app/javascript/mastodon/locales/br.json
Normal file
@ -0,0 +1,418 @@
|
||||
{
|
||||
"account.add_or_remove_from_list": "Ouzhpenn pe lemel ag ar listennadoù",
|
||||
"account.badges.bot": "Robot",
|
||||
"account.block": "Stankañ @{name}",
|
||||
"account.block_domain": "Kuzh kement tra a {domain}",
|
||||
"account.blocked": "Stanket",
|
||||
"account.cancel_follow_request": "Nullañ ar pedad heuliañ",
|
||||
"account.direct": "Kas ur c'hemennad da @{name}",
|
||||
"account.domain_blocked": "Domani kuzhet",
|
||||
"account.edit_profile": "Aozañ ar profil",
|
||||
"account.endorse": "Lakaat war-wel war ar profil",
|
||||
"account.follow": "Heuliañ",
|
||||
"account.followers": "Heilour·ezed·ion",
|
||||
"account.followers.empty": "Den na heul an implijour-mañ c'hoazh.",
|
||||
"account.follows": "Koumanantoù",
|
||||
"account.follows.empty": "This user doesn't follow anyone yet.",
|
||||
"account.follows_you": "Ho heul",
|
||||
"account.hide_reblogs": "Kuzh toudoù skignet gant @{name}",
|
||||
"account.last_status": "Oberiantiz zivezhañ",
|
||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
||||
"account.media": "Media",
|
||||
"account.mention": "Menegiñ @{name}",
|
||||
"account.moved_to": "Dilojet en·he deus {name} da:",
|
||||
"account.mute": "Kuzhat @{name}",
|
||||
"account.mute_notifications": "Kuzh kemennoù a @{name}",
|
||||
"account.muted": "Kuzhet",
|
||||
"account.never_active": "Birviken",
|
||||
"account.posts": "Toudoù",
|
||||
"account.posts_with_replies": "Toudoù ha respontoù",
|
||||
"account.report": "Disklêriañ @{name}",
|
||||
"account.requested": "Awaiting approval",
|
||||
"account.share": "Skignañ profil @{name}",
|
||||
"account.show_reblogs": "Diskouez toudoù a @{name}",
|
||||
"account.unblock": "Distankañ @{name}",
|
||||
"account.unblock_domain": "Diguzh {domain}",
|
||||
"account.unendorse": "Don't feature on profile",
|
||||
"account.unfollow": "Diheuliañ",
|
||||
"account.unmute": "Diguzhat @{name}",
|
||||
"account.unmute_notifications": "Diguzhat kemennoù a @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "Ur fazi dic'hortozet zo degouezhet.",
|
||||
"alert.unexpected.title": "C'hem !",
|
||||
"autosuggest_hashtag.per_week": "{count} bep sizhun",
|
||||
"boost_modal.combo": "You can press {combo} to skip this next time",
|
||||
"bundle_column_error.body": "Something went wrong while loading this component.",
|
||||
"bundle_column_error.retry": "Klask endro",
|
||||
"bundle_column_error.title": "Fazi rouedad",
|
||||
"bundle_modal_error.close": "Serriñ",
|
||||
"bundle_modal_error.message": "Something went wrong while loading this component.",
|
||||
"bundle_modal_error.retry": "Klask endro",
|
||||
"column.blocks": "Implijour·ezed·ion stanket",
|
||||
"column.community": "Red-amzer lec'hel",
|
||||
"column.direct": "Kemennadoù prevez",
|
||||
"column.directory": "Mont a-dreuz ar profiloù",
|
||||
"column.domain_blocks": "Domani kuzhet",
|
||||
"column.favourites": "Favourites",
|
||||
"column.follow_requests": "Follow requests",
|
||||
"column.home": "Home",
|
||||
"column.lists": "Lists",
|
||||
"column.mutes": "Muted users",
|
||||
"column.notifications": "Notifications",
|
||||
"column.pins": "Pinned toot",
|
||||
"column.public": "Federated timeline",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Back",
|
||||
"column_header.hide_settings": "Hide settings",
|
||||
"column_header.moveLeft_settings": "Move column to the left",
|
||||
"column_header.moveRight_settings": "Move column to the right",
|
||||
"column_header.pin": "Pin",
|
||||
"column_header.show_settings": "Show settings",
|
||||
"column_header.unpin": "Unpin",
|
||||
"column_subheading.settings": "Settings",
|
||||
"community.column_settings.media_only": "Media 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.",
|
||||
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
|
||||
"compose_form.lock_disclaimer.lock": "locked",
|
||||
"compose_form.placeholder": "What is on your mind?",
|
||||
"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.publish": "Toot",
|
||||
"compose_form.publish_loud": "{publish}!",
|
||||
"compose_form.sensitive.hide": "Mark media as sensitive",
|
||||
"compose_form.sensitive.marked": "Media is marked as sensitive",
|
||||
"compose_form.sensitive.unmarked": "Media is not marked as sensitive",
|
||||
"compose_form.spoiler.marked": "Text is hidden behind warning",
|
||||
"compose_form.spoiler.unmarked": "Text is not hidden",
|
||||
"compose_form.spoiler_placeholder": "Write your warning here",
|
||||
"confirmation_modal.cancel": "Cancel",
|
||||
"confirmations.block.block_and_report": "Block & Report",
|
||||
"confirmations.block.confirm": "Block",
|
||||
"confirmations.block.message": "Are you sure you want to block {name}?",
|
||||
"confirmations.delete.confirm": "Delete",
|
||||
"confirmations.delete.message": "Are you sure you want to delete this status?",
|
||||
"confirmations.delete_list.confirm": "Delete",
|
||||
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
|
||||
"confirmations.domain_block.confirm": "Hide entire domain",
|
||||
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Mute",
|
||||
"confirmations.mute.message": "Are you sure you want to mute {name}?",
|
||||
"confirmations.redraft.confirm": "Delete & redraft",
|
||||
"confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.",
|
||||
"confirmations.reply.confirm": "Reply",
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.unfollow.confirm": "Unfollow",
|
||||
"confirmations.unfollow.message": "Are you sure you want to unfollow {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": "Embed this status on your website by copying the code below.",
|
||||
"embed.preview": "Here is what it will look like:",
|
||||
"emoji_button.activity": "Activity",
|
||||
"emoji_button.custom": "Custom",
|
||||
"emoji_button.flags": "Flags",
|
||||
"emoji_button.food": "Food & Drink",
|
||||
"emoji_button.label": "Insert emoji",
|
||||
"emoji_button.nature": "Nature",
|
||||
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.objects": "Objects",
|
||||
"emoji_button.people": "People",
|
||||
"emoji_button.recent": "Frequently used",
|
||||
"emoji_button.search": "Search...",
|
||||
"emoji_button.search_results": "Search results",
|
||||
"emoji_button.symbols": "Symbols",
|
||||
"emoji_button.travel": "Travel & Places",
|
||||
"empty_column.account_timeline": "No toots here!",
|
||||
"empty_column.account_unavailable": "Profile unavailable",
|
||||
"empty_column.blocks": "You haven't blocked any users yet.",
|
||||
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
|
||||
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
|
||||
"empty_column.domain_blocks": "There are no hidden domains yet.",
|
||||
"empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.",
|
||||
"empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
|
||||
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
|
||||
"empty_column.hashtag": "There is nothing in this hashtag yet.",
|
||||
"empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
|
||||
"empty_column.home.public_timeline": "the public timeline",
|
||||
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
|
||||
"empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.",
|
||||
"empty_column.mutes": "You haven't muted any users yet.",
|
||||
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
|
||||
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
|
||||
"follow_request.authorize": "Authorize",
|
||||
"follow_request.reject": "Reject",
|
||||
"getting_started.developers": "Developers",
|
||||
"getting_started.directory": "Profile directory",
|
||||
"getting_started.documentation": "Documentation",
|
||||
"getting_started.heading": "Getting started",
|
||||
"getting_started.invite": "Invite people",
|
||||
"getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}.",
|
||||
"getting_started.security": "Security",
|
||||
"getting_started.terms": "Terms of service",
|
||||
"hashtag.column_header.tag_mode.all": "and {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "or {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "without {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "No suggestions found",
|
||||
"hashtag.column_settings.select.placeholder": "Enter hashtags…",
|
||||
"hashtag.column_settings.tag_mode.all": "All of these",
|
||||
"hashtag.column_settings.tag_mode.any": "Any of these",
|
||||
"hashtag.column_settings.tag_mode.none": "None of these",
|
||||
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
|
||||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.show_reblogs": "Show boosts",
|
||||
"home.column_settings.show_replies": "Show replies",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"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}}",
|
||||
"introduction.federation.action": "Next",
|
||||
"introduction.federation.federated.headline": "Federated",
|
||||
"introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
|
||||
"introduction.federation.home.headline": "Home",
|
||||
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
|
||||
"introduction.federation.local.headline": "Local",
|
||||
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
|
||||
"introduction.interactions.action": "Finish toot-orial!",
|
||||
"introduction.interactions.favourite.headline": "Favourite",
|
||||
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
|
||||
"introduction.interactions.reblog.headline": "Boost",
|
||||
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
|
||||
"introduction.interactions.reply.headline": "Reply",
|
||||
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
|
||||
"introduction.welcome.action": "Let's go!",
|
||||
"introduction.welcome.headline": "First steps",
|
||||
"introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
|
||||
"keyboard_shortcuts.back": "to navigate back",
|
||||
"keyboard_shortcuts.blocked": "to open blocked users list",
|
||||
"keyboard_shortcuts.boost": "to boost",
|
||||
"keyboard_shortcuts.column": "to focus a status in one of the columns",
|
||||
"keyboard_shortcuts.compose": "to focus the compose textarea",
|
||||
"keyboard_shortcuts.description": "Description",
|
||||
"keyboard_shortcuts.direct": "to open direct messages column",
|
||||
"keyboard_shortcuts.down": "to move down in the list",
|
||||
"keyboard_shortcuts.enter": "to open status",
|
||||
"keyboard_shortcuts.favourite": "to favourite",
|
||||
"keyboard_shortcuts.favourites": "to open favourites list",
|
||||
"keyboard_shortcuts.federated": "to open federated timeline",
|
||||
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
|
||||
"keyboard_shortcuts.home": "to open home timeline",
|
||||
"keyboard_shortcuts.hotkey": "Hotkey",
|
||||
"keyboard_shortcuts.legend": "to display this legend",
|
||||
"keyboard_shortcuts.local": "to open local timeline",
|
||||
"keyboard_shortcuts.mention": "to mention author",
|
||||
"keyboard_shortcuts.muted": "to open muted users list",
|
||||
"keyboard_shortcuts.my_profile": "to open your profile",
|
||||
"keyboard_shortcuts.notifications": "to open notifications column",
|
||||
"keyboard_shortcuts.pinned": "to open pinned toots list",
|
||||
"keyboard_shortcuts.profile": "to open author's profile",
|
||||
"keyboard_shortcuts.reply": "to reply",
|
||||
"keyboard_shortcuts.requests": "to open follow requests list",
|
||||
"keyboard_shortcuts.search": "to focus search",
|
||||
"keyboard_shortcuts.start": "to open \"get started\" column",
|
||||
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
|
||||
"keyboard_shortcuts.toot": "to start a brand new toot",
|
||||
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
||||
"keyboard_shortcuts.up": "to move up in the list",
|
||||
"lightbox.close": "Close",
|
||||
"lightbox.next": "Next",
|
||||
"lightbox.previous": "Previous",
|
||||
"lightbox.view_context": "View context",
|
||||
"lists.account.add": "Add to list",
|
||||
"lists.account.remove": "Remove from list",
|
||||
"lists.delete": "Delete list",
|
||||
"lists.edit": "Edit list",
|
||||
"lists.edit.submit": "Change title",
|
||||
"lists.new.create": "Add list",
|
||||
"lists.new.title_placeholder": "New list title",
|
||||
"lists.search": "Search among people you follow",
|
||||
"lists.subheading": "Your lists",
|
||||
"load_pending": "{count, plural, one {# new item} other {# new items}}",
|
||||
"loading_indicator.label": "Loading...",
|
||||
"media_gallery.toggle_visible": "Toggle visibility",
|
||||
"missing_indicator.label": "Not found",
|
||||
"missing_indicator.sublabel": "This resource could not be found",
|
||||
"mute_modal.hide_notifications": "Hide notifications from this user?",
|
||||
"navigation_bar.apps": "Mobile apps",
|
||||
"navigation_bar.blocks": "Blocked users",
|
||||
"navigation_bar.community_timeline": "Local timeline",
|
||||
"navigation_bar.compose": "Compose new toot",
|
||||
"navigation_bar.direct": "Direct messages",
|
||||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "Edit profile",
|
||||
"navigation_bar.favourites": "Favourites",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "Follow requests",
|
||||
"navigation_bar.follows_and_followers": "Follows and followers",
|
||||
"navigation_bar.info": "About this server",
|
||||
"navigation_bar.keyboard_shortcuts": "Hotkeys",
|
||||
"navigation_bar.lists": "Lists",
|
||||
"navigation_bar.logout": "Logout",
|
||||
"navigation_bar.mutes": "Muted users",
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Pinned toots",
|
||||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"notification.follow": "{name} followed you",
|
||||
"notification.mention": "{name} mentioned you",
|
||||
"notification.poll": "A poll you have voted in has ended",
|
||||
"notification.reblog": "{name} boosted your status",
|
||||
"notifications.clear": "Clear notifications",
|
||||
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
|
||||
"notifications.column_settings.alert": "Desktop notifications",
|
||||
"notifications.column_settings.favourite": "Favourites:",
|
||||
"notifications.column_settings.filter_bar.advanced": "Display all categories",
|
||||
"notifications.column_settings.filter_bar.category": "Quick filter bar",
|
||||
"notifications.column_settings.filter_bar.show": "Show",
|
||||
"notifications.column_settings.follow": "New followers:",
|
||||
"notifications.column_settings.mention": "Mentions:",
|
||||
"notifications.column_settings.poll": "Poll results:",
|
||||
"notifications.column_settings.push": "Push notifications",
|
||||
"notifications.column_settings.reblog": "Boosts:",
|
||||
"notifications.column_settings.show": "Show in column",
|
||||
"notifications.column_settings.sound": "Play sound",
|
||||
"notifications.filter.all": "All",
|
||||
"notifications.filter.boosts": "Boosts",
|
||||
"notifications.filter.favourites": "Favourites",
|
||||
"notifications.filter.follows": "Follows",
|
||||
"notifications.filter.mentions": "Mentions",
|
||||
"notifications.filter.polls": "Poll results",
|
||||
"notifications.group": "{count} notifications",
|
||||
"poll.closed": "Closed",
|
||||
"poll.refresh": "Refresh",
|
||||
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
|
||||
"poll.vote": "Vote",
|
||||
"poll_button.add_poll": "Add a poll",
|
||||
"poll_button.remove_poll": "Remove poll",
|
||||
"privacy.change": "Adjust status privacy",
|
||||
"privacy.direct.long": "Post to mentioned users only",
|
||||
"privacy.direct.short": "Direct",
|
||||
"privacy.private.long": "Post to followers only",
|
||||
"privacy.private.short": "Followers-only",
|
||||
"privacy.public.long": "Post to public timelines",
|
||||
"privacy.public.short": "Public",
|
||||
"privacy.unlisted.long": "Do not show in public timelines",
|
||||
"privacy.unlisted.short": "Unlisted",
|
||||
"regeneration_indicator.label": "Loading…",
|
||||
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
|
||||
"relative_time.days": "{number}d",
|
||||
"relative_time.hours": "{number}h",
|
||||
"relative_time.just_now": "now",
|
||||
"relative_time.minutes": "{number}m",
|
||||
"relative_time.seconds": "{number}s",
|
||||
"reply_indicator.cancel": "Cancel",
|
||||
"report.forward": "Forward to {target}",
|
||||
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
|
||||
"report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
|
||||
"report.placeholder": "Additional comments",
|
||||
"report.submit": "Submit",
|
||||
"report.target": "Report {target}",
|
||||
"search.placeholder": "Search",
|
||||
"search_popout.search_format": "Advanced search format",
|
||||
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
|
||||
"search_popout.tips.hashtag": "hashtag",
|
||||
"search_popout.tips.status": "status",
|
||||
"search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
|
||||
"search_popout.tips.user": "user",
|
||||
"search_results.accounts": "People",
|
||||
"search_results.hashtags": "Hashtags",
|
||||
"search_results.statuses": "Toots",
|
||||
"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": "Block @{name}",
|
||||
"status.cancel_reblog_private": "Unboost",
|
||||
"status.cannot_reblog": "This post cannot be boosted",
|
||||
"status.copy": "Copy link to status",
|
||||
"status.delete": "Delete",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Direct message @{name}",
|
||||
"status.embed": "Embed",
|
||||
"status.favourite": "Favourite",
|
||||
"status.filtered": "Filtered",
|
||||
"status.load_more": "Load more",
|
||||
"status.media_hidden": "Media hidden",
|
||||
"status.mention": "Mention @{name}",
|
||||
"status.more": "More",
|
||||
"status.mute": "Mute @{name}",
|
||||
"status.mute_conversation": "Mute conversation",
|
||||
"status.open": "Expand this status",
|
||||
"status.pin": "Pin on profile",
|
||||
"status.pinned": "Pinned toot",
|
||||
"status.read_more": "Read more",
|
||||
"status.reblog": "Boost",
|
||||
"status.reblog_private": "Boost to original audience",
|
||||
"status.reblogged_by": "{name} boosted",
|
||||
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
|
||||
"status.redraft": "Delete & re-draft",
|
||||
"status.reply": "Reply",
|
||||
"status.replyAll": "Reply to thread",
|
||||
"status.report": "Report @{name}",
|
||||
"status.sensitive_warning": "Sensitive content",
|
||||
"status.share": "Share",
|
||||
"status.show_less": "Show less",
|
||||
"status.show_less_all": "Show less for all",
|
||||
"status.show_more": "Show more",
|
||||
"status.show_more_all": "Show more for all",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Unmute conversation",
|
||||
"status.unpin": "Unpin from profile",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
"suggestions.header": "You might be interested in…",
|
||||
"tabs_bar.federated_timeline": "Federated",
|
||||
"tabs_bar.home": "Home",
|
||||
"tabs_bar.local_timeline": "Local",
|
||||
"tabs_bar.notifications": "Notifications",
|
||||
"tabs_bar.search": "Search",
|
||||
"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}} talking",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
|
||||
"upload_area.title": "Drag & drop to upload",
|
||||
"upload_button.label": "Add media ({formats})",
|
||||
"upload_error.limit": "File upload limit exceeded.",
|
||||
"upload_error.poll": "File upload not allowed with polls.",
|
||||
"upload_form.description": "Describe for the visually impaired",
|
||||
"upload_form.edit": "Edit",
|
||||
"upload_form.undo": "Delete",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.apply": "Apply",
|
||||
"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_progress.label": "Uploading...",
|
||||
"video.close": "Close video",
|
||||
"video.exit_fullscreen": "Exit full screen",
|
||||
"video.expand": "Expand video",
|
||||
"video.fullscreen": "Full screen",
|
||||
"video.hide": "Hide video",
|
||||
"video.mute": "Mute sound",
|
||||
"video.pause": "Pause",
|
||||
"video.play": "Play",
|
||||
"video.unmute": "Unmute sound"
|
||||
}
|
@ -4,7 +4,7 @@
|
||||
"account.block": "Bloqueja @{name}",
|
||||
"account.block_domain": "Amaga-ho tot de {domain}",
|
||||
"account.blocked": "Bloquejat",
|
||||
"account.cancel_follow_request": "Cancel follow request",
|
||||
"account.cancel_follow_request": "Anul·la la sol·licitud de seguiment",
|
||||
"account.direct": "Missatge directe @{name}",
|
||||
"account.domain_blocked": "Domini ocult",
|
||||
"account.edit_profile": "Editar el perfil",
|
||||
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "Aquest usuari encara no segueix a ningú.",
|
||||
"account.follows_you": "Et segueix",
|
||||
"account.hide_reblogs": "Amaga els impulsos de @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "La propietat d'aquest enllaç es va verificar el dia {date}",
|
||||
"account.locked_info": "Aquest estat de privadesa del compte està definit com a bloquejat. El propietari revisa manualment qui pot seguir-lo.",
|
||||
"account.media": "Mèdia",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Silencia @{name}",
|
||||
"account.mute_notifications": "Notificacions desactivades de @{name}",
|
||||
"account.muted": "Silenciat",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Toots",
|
||||
"account.posts_with_replies": "Toots i respostes",
|
||||
"account.report": "Informe @{name}",
|
||||
@ -36,9 +38,11 @@
|
||||
"account.unfollow": "Deixa de seguir",
|
||||
"account.unmute": "Treure silenci de @{name}",
|
||||
"account.unmute_notifications": "Activar notificacions de @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "S'ha produït un error inesperat.",
|
||||
"alert.unexpected.title": "Vaja!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
"autosuggest_hashtag.per_week": "{count} per setmana",
|
||||
"boost_modal.combo": "Pots premer {combo} per saltar-te això el proper cop",
|
||||
"bundle_column_error.body": "S'ha produït un error en carregar aquest component.",
|
||||
"bundle_column_error.retry": "Torna-ho a provar",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Usuaris bloquejats",
|
||||
"column.community": "Línia de temps local",
|
||||
"column.direct": "Missatges directes",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Dominis ocults",
|
||||
"column.favourites": "Favorits",
|
||||
"column.follow_requests": "Peticions per seguir-te",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Notificacions",
|
||||
"column.pins": "Toots fixats",
|
||||
"column.public": "Línia de temps federada",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Enrere",
|
||||
"column_header.hide_settings": "Amaga la configuració",
|
||||
"column_header.moveLeft_settings": "Mou la columna cap a l'esquerra",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Estàs segur que vols suprimir permanentment aquesta llista?",
|
||||
"confirmations.domain_block.confirm": "Amaga tot el domini",
|
||||
"confirmations.domain_block.message": "Estàs segur, realment segur que vols bloquejar totalment {domain}? En la majoria dels casos bloquejar o silenciar uns pocs objectius és suficient i preferible. No veuràs contingut d’aquest domini en cap de les línies públiques ni en les notificacions. Els teus seguidors d’aquest domini seran eliminats.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Silencia",
|
||||
"confirmations.mute.message": "Estàs segur que vols silenciar {name}?",
|
||||
"confirmations.redraft.confirm": "Esborrar i refer",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Responen ara es sobreescriurà el missatge que estàs editant. Estàs segur que vols continuar?",
|
||||
"confirmations.unfollow.confirm": "Deixa de seguir",
|
||||
"confirmations.unfollow.message": "Estàs segur que vols deixar de seguir {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": "Incrusta aquest toot al lloc web copiant el codi a continuació.",
|
||||
"embed.preview": "Aquí tenim quin aspecte tindrá:",
|
||||
"emoji_button.activity": "Activitat",
|
||||
@ -158,7 +174,7 @@
|
||||
"home.column_settings.basic": "Bàsic",
|
||||
"home.column_settings.show_reblogs": "Mostrar impulsos",
|
||||
"home.column_settings.show_replies": "Mostrar respostes",
|
||||
"home.column_settings.update_live": "Actualització en temps real",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# dia} other {# dies}}",
|
||||
"intervals.full.hours": "{number, plural, one {# hora} other {# hores}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minut} other {# minuts}}",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Toots fixats",
|
||||
"navigation_bar.preferences": "Preferències",
|
||||
"navigation_bar.profile_directory": "Directori de perfils",
|
||||
"navigation_bar.public_timeline": "Línia de temps federada",
|
||||
"navigation_bar.security": "Seguretat",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Mostra més",
|
||||
"status.show_more_all": "Mostra més per a tot",
|
||||
"status.show_thread": "Mostra el fil",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Activar conversació",
|
||||
"status.unpin": "Deslliga del perfil",
|
||||
"suggestions.dismiss": "Descartar suggeriment",
|
||||
@ -373,22 +389,22 @@
|
||||
"time_remaining.moments": "Moments restants",
|
||||
"time_remaining.seconds": "{number, plural, one {# segon} other {# segons}} restants",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {persona} other {gent}} talking",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "El teu esborrany es perdrà si surts de Mastodon.",
|
||||
"upload_area.title": "Arrossega i deixa anar per a carregar",
|
||||
"upload_button.label": "Afegir multimèdia (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_error.limit": "S'ha superat el límit de càrrega d'arxius.",
|
||||
"upload_error.poll": "No es permet l'enviament de fitxers en les enquestes.",
|
||||
"upload_form.description": "Descriure els problemes visuals",
|
||||
"upload_form.edit": "Edit",
|
||||
"upload_form.edit": "Edita",
|
||||
"upload_form.undo": "Esborra",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.apply": "Apply",
|
||||
"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.analyzing_picture": "Analitzant imatge…",
|
||||
"upload_modal.apply": "Aplica",
|
||||
"upload_modal.description_placeholder": "Uns salts ràpids de guineu marró sobre el gos gandul",
|
||||
"upload_modal.detect_text": "Detecta el text de l'imatge",
|
||||
"upload_modal.edit_media": "Editar multimèdia",
|
||||
"upload_modal.hint": "Fes clic o arrossega el cercle en la previsualització per escollir el punt focal que sempre serà visible de totes les miniatures.",
|
||||
"upload_modal.preview_label": "Previsualitza ({ratio})",
|
||||
"upload_progress.label": "Pujant...",
|
||||
"video.close": "Tancar el vídeo",
|
||||
"video.exit_fullscreen": "Sortir de pantalla completa",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "St'utilizatore ùn seguita nisunu.",
|
||||
"account.follows_you": "Vi seguita",
|
||||
"account.hide_reblogs": "Piattà spartere da @{name}",
|
||||
"account.last_status": "Ultima attività",
|
||||
"account.link_verified_on": "A prupietà di stu ligame hè stata verificata u {date}",
|
||||
"account.locked_info": "U statutu di vita privata di u contu hè chjosu. U pruprietariu esamina manualmente e dumande d'abbunamentu.",
|
||||
"account.media": "Media",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Piattà @{name}",
|
||||
"account.mute_notifications": "Piattà nutificazione da @{name}",
|
||||
"account.muted": "Piattatu",
|
||||
"account.never_active": "Mai",
|
||||
"account.posts": "Statuti",
|
||||
"account.posts_with_replies": "Statuti è risposte",
|
||||
"account.report": "Palisà @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Ùn siguità più",
|
||||
"account.unmute": "Ùn piattà più @{name}",
|
||||
"account.unmute_notifications": "Ùn piattà più nutificazione da @{name}",
|
||||
"alert.rate_limited.message": "Pruvate ancu dop'à {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Ghjettu limitatu",
|
||||
"alert.unexpected.message": "Un prublemu inaspettatu hè accadutu.",
|
||||
"alert.unexpected.title": "Uups!",
|
||||
"autosuggest_hashtag.per_week": "{count} per settimana",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Utilizatori bluccati",
|
||||
"column.community": "Linea pubblica lucale",
|
||||
"column.direct": "Missaghji diretti",
|
||||
"column.directory": "Percorre i prufili",
|
||||
"column.domain_blocks": "Duminii piattati",
|
||||
"column.favourites": "Favuriti",
|
||||
"column.follow_requests": "Dumande d'abbunamentu",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Nutificazione",
|
||||
"column.pins": "Statuti puntarulati",
|
||||
"column.public": "Linea pubblica glubale",
|
||||
"column.status": "Statutu",
|
||||
"column_back_button.label": "Ritornu",
|
||||
"column_header.hide_settings": "Piattà i parametri",
|
||||
"column_header.moveLeft_settings": "Spiazzà à manca",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Site sicuru·a che vulete supprime 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.logout.confirm": "Scunnettassi",
|
||||
"confirmations.logout.message": "Site sicuru·a che vulete scunnettà vi?",
|
||||
"confirmations.mute.confirm": "Piattà",
|
||||
"confirmations.mute.message": "Site sicuru·a che vulete piattà @{name}?",
|
||||
"confirmations.redraft.confirm": "Sguassà è riscrive",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Risponde avà sguasserà u missaghju chì scrivite. Site sicuru·a chì vulete cuntinuà?",
|
||||
"confirmations.unfollow.confirm": "Disabbunassi",
|
||||
"confirmations.unfollow.message": "Site sicuru·a ch'ùn vulete più siguità @{name}?",
|
||||
"conversation.delete": "Delete conversation",
|
||||
"conversation.mark_as_read": "Mark as read",
|
||||
"conversation.open": "View conversation",
|
||||
"conversation.with": "With {names}",
|
||||
"directory.federated": "Da u fediverse cunisciutu",
|
||||
"directory.local": "Solu da {domain}",
|
||||
"directory.new_arrivals": "Ultimi arrivi",
|
||||
"directory.recently_active": "Attività ricente",
|
||||
"embed.instructions": "Integrà stu statutu à u vostru situ cù u codice quì sottu.",
|
||||
"embed.preview": "Assumiglierà à qualcosa cusì:",
|
||||
"emoji_button.activity": "Attività",
|
||||
@ -158,7 +174,7 @@
|
||||
"home.column_settings.basic": "Bàsichi",
|
||||
"home.column_settings.show_reblogs": "Vede e spartere",
|
||||
"home.column_settings.show_replies": "Vede e risposte",
|
||||
"home.column_settings.update_live": "Mette à ghjornu in tempu reale",
|
||||
"home.column_settings.update_live": "Attualizà in tempu reale",
|
||||
"intervals.full.days": "{number, plural, one {# ghjornu} other {# ghjorni}}",
|
||||
"intervals.full.hours": "{number, plural, one {# ora} other {# ore}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuta} other {# minute}}",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Persunale",
|
||||
"navigation_bar.pins": "Statuti puntarulati",
|
||||
"navigation_bar.preferences": "Preferenze",
|
||||
"navigation_bar.profile_directory": "Annuariu di i prufili",
|
||||
"navigation_bar.public_timeline": "Linea pubblica glubale",
|
||||
"navigation_bar.security": "Sicurità",
|
||||
"notification.and_n_others": "è {count, plural, one {# altru} other {# altri}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Slibrà",
|
||||
"status.show_more_all": "Slibrà tuttu",
|
||||
"status.show_thread": "Vede u filu",
|
||||
"status.uncached_media_warning": "Micca dispunibule",
|
||||
"status.unmute_conversation": "Ùn piattà più a cunversazione",
|
||||
"status.unpin": "Spuntarulà da u prufile",
|
||||
"suggestions.dismiss": "Righjittà a pruposta",
|
||||
@ -373,7 +389,7 @@
|
||||
"time_remaining.moments": "Ci fermanu qualchi mumentu",
|
||||
"time_remaining.seconds": "{number, plural, one {# siconda ferma} other {# siconde fermanu}}",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} parlanu",
|
||||
"trends.refresh": "Attualizà",
|
||||
"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)",
|
||||
@ -384,7 +400,7 @@
|
||||
"upload_form.undo": "Sguassà",
|
||||
"upload_modal.analyzing_picture": "Analisi di u ritrattu…",
|
||||
"upload_modal.apply": "Affettà",
|
||||
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
|
||||
"upload_modal.description_placeholder": "Chì tempi brevi ziu, quandu solfeghji",
|
||||
"upload_modal.detect_text": "Ditettà testu da u ritrattu",
|
||||
"upload_modal.edit_media": "Cambià media",
|
||||
"upload_modal.hint": "Cliccate o sguillate u chjerchju nant'à a vista per sceglie u puntu fucale chì sarà sempre in vista indè tutte e miniature.",
|
||||
|
@ -4,7 +4,7 @@
|
||||
"account.block": "Zablokovat uživatele @{name}",
|
||||
"account.block_domain": "Skrýt vše z {domain}",
|
||||
"account.blocked": "Blokován/a",
|
||||
"account.cancel_follow_request": "Cancel follow request",
|
||||
"account.cancel_follow_request": "Zrušit požadavek o sledování",
|
||||
"account.direct": "Poslat přímou zprávu uživateli @{name}",
|
||||
"account.domain_blocked": "Doména skryta",
|
||||
"account.edit_profile": "Upravit profil",
|
||||
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "Tento uživatel ještě nikoho nesleduje.",
|
||||
"account.follows_you": "Sleduje vás",
|
||||
"account.hide_reblogs": "Skrýt boosty od uživatele @{name}",
|
||||
"account.last_status": "Naposledy aktivní",
|
||||
"account.link_verified_on": "Vlastnictví tohoto odkazu bylo zkontrolováno {date}",
|
||||
"account.locked_info": "Stav soukromí tohoto účtu je nastaven na zamčeno. Jeho vlastník ručně posuzuje, kdo ho může sledovat.",
|
||||
"account.media": "Média",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Skrýt uživatele @{name}",
|
||||
"account.mute_notifications": "Skrýt oznámení od uživatele @{name}",
|
||||
"account.muted": "Skryt/a",
|
||||
"account.never_active": "Nikdy",
|
||||
"account.posts": "Tooty",
|
||||
"account.posts_with_replies": "Tooty a odpovědi",
|
||||
"account.report": "Nahlásit uživatele @{name}",
|
||||
@ -36,9 +38,11 @@
|
||||
"account.unfollow": "Přestat sledovat",
|
||||
"account.unmute": "Odkrýt uživatele @{name}",
|
||||
"account.unmute_notifications": "Odkrýt oznámení od uživatele @{name}",
|
||||
"alert.rate_limited.message": "Prosím zkuste to znovu za {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rychlost omezena",
|
||||
"alert.unexpected.message": "Objevila se neočekávaná chyba.",
|
||||
"alert.unexpected.title": "Jejda!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
"autosuggest_hashtag.per_week": "{count} za týden",
|
||||
"boost_modal.combo": "Příště můžete pro přeskočení kliknout na {combo}",
|
||||
"bundle_column_error.body": "Při načítání tohoto komponentu se něco pokazilo.",
|
||||
"bundle_column_error.retry": "Zkuste to znovu",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Blokovaní uživatelé",
|
||||
"column.community": "Místní časová osa",
|
||||
"column.direct": "Přímé zprávy",
|
||||
"column.directory": "Prozkoumat profily",
|
||||
"column.domain_blocks": "Skryté domény",
|
||||
"column.favourites": "Oblíbené",
|
||||
"column.follow_requests": "Požadavky o sledování",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Oznámení",
|
||||
"column.pins": "Připnuté tooty",
|
||||
"column.public": "Federovaná časová osa",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Zpět",
|
||||
"column_header.hide_settings": "Skrýt nastavení",
|
||||
"column_header.moveLeft_settings": "Posunout sloupec doleva",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Jste si jistý/á, že chcete tento seznam navždy smazat?",
|
||||
"confirmations.domain_block.confirm": "Skrýt celou doménu",
|
||||
"confirmations.domain_block.message": "Jste si opravdu, opravdu jistý/á, že chcete blokovat celou doménu {domain}? Ve většině případů stačí zablokovat nebo skrýt pár konkrétních uživatelů, což se doporučuje. Z této domény neuvidíte obsah v žádné veřejné časové ose ani v oznámeních. Vaši sledující z této domény budou odstraněni.",
|
||||
"confirmations.logout.confirm": "Odhlásit",
|
||||
"confirmations.logout.message": "Jste si jistý/á, že se chcete odhlásit?",
|
||||
"confirmations.mute.confirm": "Skrýt",
|
||||
"confirmations.mute.message": "Jste si jistý/á, že chcete skrýt uživatele {name}?",
|
||||
"confirmations.redraft.confirm": "Smazat a přepsat",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Odpovězením nyní přepíšete zprávu, kterou aktuálně píšete. Jste si jistý/á, že chcete pokračovat?",
|
||||
"confirmations.unfollow.confirm": "Přestat sledovat",
|
||||
"confirmations.unfollow.message": "jste si jistý/á, že chcete přestat sledovat uživatele {name}?",
|
||||
"conversation.delete": "Smazat konverzaci",
|
||||
"conversation.mark_as_read": "Označit jako přečtenou",
|
||||
"conversation.open": "Zobrazit konverzaci",
|
||||
"conversation.with": "S {names}",
|
||||
"directory.federated": "Ze známého fedivesmíru",
|
||||
"directory.local": "Pouze z {domain}",
|
||||
"directory.new_arrivals": "Nově příchozí",
|
||||
"directory.recently_active": "Nedávno aktivní",
|
||||
"embed.instructions": "Pro přidání tootu na vaši webovou stránku zkopírujte níže uvedený kód.",
|
||||
"embed.preview": "Takhle to bude vypadat:",
|
||||
"emoji_button.activity": "Aktivita",
|
||||
@ -250,10 +266,9 @@
|
||||
"navigation_bar.personal": "Osobní",
|
||||
"navigation_bar.pins": "Připnuté tooty",
|
||||
"navigation_bar.preferences": "Předvolby",
|
||||
"navigation_bar.profile_directory": "Adresář profilů",
|
||||
"navigation_bar.public_timeline": "Federovaná časová osa",
|
||||
"navigation_bar.security": "Zabezpečení",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.and_n_others": "a {count, plural, one {# další} few {# další} many {# dalších} other {# dalších}}",
|
||||
"notification.favourite": "{name} si oblíbil/a váš toot",
|
||||
"notification.follow": "{name} vás začal/a sledovat",
|
||||
"notification.mention": "{name} vás zmínil/a",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Zobrazit více",
|
||||
"status.show_more_all": "Zobrazit více pro všechny",
|
||||
"status.show_thread": "Zobrazit vlákno",
|
||||
"status.uncached_media_warning": "Nedostupné",
|
||||
"status.unmute_conversation": "Odkrýt konverzaci",
|
||||
"status.unpin": "Odepnout z profilu",
|
||||
"suggestions.dismiss": "Odmítnout návrh",
|
||||
@ -373,22 +389,22 @@
|
||||
"time_remaining.moments": "Zbývá několik sekund",
|
||||
"time_remaining.seconds": "{number, plural, one {Zbývá # sekunda} few {Zbývají # sekundy} many {Zbývá # sekundy} other {Zbývá # sekund}}",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {člověk} few {lidé} many {lidí} other {lidí}} hovoří",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Aktuální trendy",
|
||||
"ui.beforeunload": "Váš koncept se ztratí, pokud Mastodon opustíte.",
|
||||
"upload_area.title": "Přetažením nahrajete",
|
||||
"upload_button.label": "Přidat média (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_error.limit": "Byl překročen limit nahraných souborů.",
|
||||
"upload_error.poll": "Nahrávání souborů není povoleno u anket.",
|
||||
"upload_form.description": "Popis pro zrakově postižené",
|
||||
"upload_form.edit": "Edit",
|
||||
"upload_form.edit": "Upravit",
|
||||
"upload_form.undo": "Smazat",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.apply": "Apply",
|
||||
"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.analyzing_picture": "Analyzuji obrázek…",
|
||||
"upload_modal.apply": "Použít",
|
||||
"upload_modal.description_placeholder": "Příliš žluťoučký kůň úpěl ďábelské ódy",
|
||||
"upload_modal.detect_text": "Detekovat text z obrázku",
|
||||
"upload_modal.edit_media": "Upravit média",
|
||||
"upload_modal.hint": "Kliknutím na nebo přetáhnutím kruhu na náhledu vyberte bod soustředění, který bude vždy zobrazen na všech náhledech.",
|
||||
"upload_modal.preview_label": "Náhled ({ratio})",
|
||||
"upload_progress.label": "Nahrávám…",
|
||||
"video.close": "Zavřít video",
|
||||
"video.exit_fullscreen": "Ukončit celou obrazovku",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "Nid yw'r defnyddiwr hwn yn dilyn unrhyw un eto.",
|
||||
"account.follows_you": "Yn eich dilyn chi",
|
||||
"account.hide_reblogs": "Cuddio bwstiau o @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Gwiriwyd perchnogaeth y ddolen yma ar {date}",
|
||||
"account.locked_info": "Mae'r statws preifatrwydd cyfrif hwn wedi'i osod i gloi. Mae'r perchennog yn adolygu'r sawl sy'n gallu eu dilyn.",
|
||||
"account.media": "Cyfryngau",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Tawelu @{name}",
|
||||
"account.mute_notifications": "Cuddio hysbysiadau o @{name}",
|
||||
"account.muted": "Distewyd",
|
||||
"account.never_active": "Byth",
|
||||
"account.posts": "Tŵtiau",
|
||||
"account.posts_with_replies": "Tŵtiau ac atebion",
|
||||
"account.report": "Adrodd @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Dad-ddilyn",
|
||||
"account.unmute": "Dad-dawelu @{name}",
|
||||
"account.unmute_notifications": "Dad-dawelu hysbysiadau o @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "Digwyddodd gwall annisgwyl.",
|
||||
"alert.unexpected.title": "Wps!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Defnyddwyr a flociwyd",
|
||||
"column.community": "Ffrwd lleol",
|
||||
"column.direct": "Negeseuon preifat",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Parthau cuddiedig",
|
||||
"column.favourites": "Ffefrynnau",
|
||||
"column.follow_requests": "Ceisiadau dilyn",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Hysbysiadau",
|
||||
"column.pins": "Tŵtiau wedi eu pinio",
|
||||
"column.public": "Ffrwd y ffederasiwn",
|
||||
"column.status": "Tŵt",
|
||||
"column_back_button.label": "Nôl",
|
||||
"column_header.hide_settings": "Cuddio dewisiadau",
|
||||
"column_header.moveLeft_settings": "Symud y golofn i'r chwith",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Ydych chi'n sicr eich bod eisiau dileu y rhestr hwn am byth?",
|
||||
"confirmations.domain_block.confirm": "Cuddio parth cyfan",
|
||||
"confirmations.domain_block.message": "A ydych yn hollol, hollol sicr eich bod am flocio y {domain} cyfan? Yn y nifer helaeth o achosion mae blocio neu tawelu ambell gyfrif yn ddigonol ac yn well. Ni fyddwch yn gweld cynnwys o'r parth hwnnw mewn unrhyw ffrydiau cyhoeddus na chwaith yn eich hysbysiadau. Bydd hyn yn cael gwared o'ch dilynwyr o'r parth hwnnw.",
|
||||
"confirmations.logout.confirm": "Allgofnodi",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Tawelu",
|
||||
"confirmations.mute.message": "Ydych chi'n sicr eich bod am ddistewi {name}?",
|
||||
"confirmations.redraft.confirm": "Dileu & ailddrafftio",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Bydd ateb nawr yn cymryd lle y neges yr ydych yn cyfansoddi ar hyn o bryd. Ydych chi'n sicr yr ydych am barhau?",
|
||||
"confirmations.unfollow.confirm": "Dad-ddilynwch",
|
||||
"confirmations.unfollow.message": "Ydych chi'n sicr eich bod am ddad-ddilyn {name}?",
|
||||
"conversation.delete": "Delete conversation",
|
||||
"conversation.mark_as_read": "Nodi fel wedi'i ddarllen",
|
||||
"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": "Mewnblannwch y tŵt hwn ar eich gwefan drwy gopïo'r côd isod.",
|
||||
"embed.preview": "Dyma sut olwg fydd arno:",
|
||||
"emoji_button.activity": "Gweithgarwch",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Personol",
|
||||
"navigation_bar.pins": "Tŵtiau wedi eu pinio",
|
||||
"navigation_bar.preferences": "Dewisiadau",
|
||||
"navigation_bar.profile_directory": "Cyfeiriadur Proffil",
|
||||
"navigation_bar.public_timeline": "Ffrwd y ffederasiwn",
|
||||
"navigation_bar.security": "Diogelwch",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Dangos mwy",
|
||||
"status.show_more_all": "Dangos mwy i bawb",
|
||||
"status.show_thread": "Dangos edefyn",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Dad-dawelu sgwrs",
|
||||
"status.unpin": "Dadbinio o'r proffil",
|
||||
"suggestions.dismiss": "Diswyddo",
|
||||
@ -373,14 +389,14 @@
|
||||
"time_remaining.moments": "Munudau ar ôl",
|
||||
"time_remaining.seconds": "{number, plural, one {# eiliad} other {# o eiliadau}} ar ôl",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} yn siarad",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "Mi fyddwch yn colli eich drafft os gadewch Mastodon.",
|
||||
"upload_area.title": "Llusgwch & gollwing i uwchlwytho",
|
||||
"upload_button.label": "Ychwanegwch gyfryngau (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_error.limit": "Wedi mynd heibio'r uchafswm terfyn uwchlwytho.",
|
||||
"upload_error.poll": "Nid oes modd uwchlwytho ffeiliau â phleidleisiau.",
|
||||
"upload_form.description": "Disgrifio i'r rheini a nam ar ei golwg",
|
||||
"upload_form.edit": "Edit",
|
||||
"upload_form.edit": "Golygu",
|
||||
"upload_form.undo": "Dileu",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.apply": "Apply",
|
||||
|
@ -4,7 +4,7 @@
|
||||
"account.block": "Bloker @{name}",
|
||||
"account.block_domain": "Skjul alt fra {domain}",
|
||||
"account.blocked": "Blokeret",
|
||||
"account.cancel_follow_request": "Cancel follow request",
|
||||
"account.cancel_follow_request": "Annullér følgeranmodning",
|
||||
"account.direct": "Send en direkte besked til @{name}",
|
||||
"account.domain_blocked": "Domænet er blevet skjult",
|
||||
"account.edit_profile": "Rediger profil",
|
||||
@ -16,14 +16,16 @@
|
||||
"account.follows.empty": "Denne bruger følger endnu ikke nogen.",
|
||||
"account.follows_you": "Følger dig",
|
||||
"account.hide_reblogs": "Skjul fremhævelserne fra @{name}",
|
||||
"account.last_status": "Sidst aktiv",
|
||||
"account.link_verified_on": "Ejerskabet af dette link blev tjekket den %{date}",
|
||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
||||
"account.locked_info": "Denne kontos privatlivsstatus er sat til låst. Ejeren bedømmer manuelt, hvem der kan følge dem.",
|
||||
"account.media": "Medie",
|
||||
"account.mention": "Nævn @{name}",
|
||||
"account.moved_to": "{name} er flyttet til:",
|
||||
"account.mute": "Dæmp @{name}",
|
||||
"account.mute_notifications": "Dæmp notifikationer fra @{name}",
|
||||
"account.muted": "Dæmpet",
|
||||
"account.never_active": "Aldrig",
|
||||
"account.posts": "Trut",
|
||||
"account.posts_with_replies": "Trut og svar",
|
||||
"account.report": "Rapporter @{name}",
|
||||
@ -36,9 +38,11 @@
|
||||
"account.unfollow": "Følg ikke længere",
|
||||
"account.unmute": "Fjern dæmpningen af @{name}",
|
||||
"account.unmute_notifications": "Fjern dæmpningen af notifikationer fra @{name}",
|
||||
"alert.rate_limited.message": "Prøv venligst igen efter {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "Der opstod en uventet fejl.",
|
||||
"alert.unexpected.title": "Ups!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
"autosuggest_hashtag.per_week": "{count} per uge",
|
||||
"boost_modal.combo": "Du kan trykke {combo} for at springe dette over næste gang",
|
||||
"bundle_column_error.body": "Noget gik galt under indlæsningen af dette komponent.",
|
||||
"bundle_column_error.retry": "Prøv igen",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Blokerede brugere",
|
||||
"column.community": "Lokal tidslinje",
|
||||
"column.direct": "Direkte beskeder",
|
||||
"column.directory": "Gennemse profiler",
|
||||
"column.domain_blocks": "Skjulte domæner",
|
||||
"column.favourites": "Favoritter",
|
||||
"column.follow_requests": "Anmodning om at følge",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Notifikationer",
|
||||
"column.pins": "Fastgjorte trut",
|
||||
"column.public": "Fælles tidslinje",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Tilbage",
|
||||
"column_header.hide_settings": "Skjul indstillinger",
|
||||
"column_header.moveLeft_settings": "Flyt kolonne til venstre",
|
||||
@ -73,20 +79,20 @@
|
||||
"compose_form.lock_disclaimer": "Din konto er ikke {locked}. Alle kan følge dig for at se dine følger-kun indlæg.",
|
||||
"compose_form.lock_disclaimer.lock": "låst",
|
||||
"compose_form.placeholder": "Hvad har du på hjertet?",
|
||||
"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.add_option": "Tilføj valgmulighed",
|
||||
"compose_form.poll.duration": "Afstemningens varighed",
|
||||
"compose_form.poll.option_placeholder": "Valgmulighed {number}",
|
||||
"compose_form.poll.remove_option": "Fjern denne valgmulighed",
|
||||
"compose_form.publish": "Trut",
|
||||
"compose_form.publish_loud": "{publish}!",
|
||||
"compose_form.sensitive.hide": "Mark media as sensitive",
|
||||
"compose_form.sensitive.hide": "Markér medie som følsomt",
|
||||
"compose_form.sensitive.marked": "Medie er markeret som værende følsomt",
|
||||
"compose_form.sensitive.unmarked": "Mediet er ikke markeret som værende følsomt",
|
||||
"compose_form.spoiler.marked": "Teksten er skjult bag en advarsel",
|
||||
"compose_form.spoiler.unmarked": "Teksten er ikke skjult",
|
||||
"compose_form.spoiler_placeholder": "Skriv din advarsel her",
|
||||
"confirmation_modal.cancel": "Annuller",
|
||||
"confirmations.block.block_and_report": "Block & Report",
|
||||
"confirmations.block.block_and_report": "Blokér og anmeld",
|
||||
"confirmations.block.confirm": "Bloker",
|
||||
"confirmations.block.message": "Er du sikker på, du vil blokere {name}?",
|
||||
"confirmations.delete.confirm": "Slet",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Er du sikker på, du vil slette denne liste?",
|
||||
"confirmations.domain_block.confirm": "Skjul helt domæne",
|
||||
"confirmations.domain_block.message": "Er du helt sikker på du vil blokere hele {domain} domænet? I de fleste tilfælde vil få specifikke blokeringer eller dæmpninger være nok og at fortrække. Du vil ikke se indhold fra det domæne hverken på offentlige tidslinjer eller i dine notifikationer. Dine følgere fra det domæne vil blive fjernet.",
|
||||
"confirmations.logout.confirm": "Log ud",
|
||||
"confirmations.logout.message": "Er du sikker på du vil logge ud?",
|
||||
"confirmations.mute.confirm": "Dæmp",
|
||||
"confirmations.mute.message": "Er du sikker på, du vil dæmpe {name}?",
|
||||
"confirmations.redraft.confirm": "Slet & omskriv",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Hvis du svarer nu vil du overskrive den besked du er ved at skrive. Er du sikker på, du vil fortsætte?",
|
||||
"confirmations.unfollow.confirm": "Følg ikke længere",
|
||||
"confirmations.unfollow.message": "Er du sikker på, du ikke længere vil følge {name}?",
|
||||
"conversation.delete": "Delete conversation",
|
||||
"conversation.mark_as_read": "Mark as read",
|
||||
"conversation.open": "View conversation",
|
||||
"conversation.with": "With {names}",
|
||||
"directory.federated": "Fra kendt fedivers",
|
||||
"directory.local": "Kun fra {domain}",
|
||||
"directory.new_arrivals": "Nye ankomster",
|
||||
"directory.recently_active": "Senest aktiv",
|
||||
"embed.instructions": "Indlejre denne status på din side ved at kopiere nedenstående kode.",
|
||||
"embed.preview": "Det kommer til at se således ud:",
|
||||
"emoji_button.activity": "Aktivitet",
|
||||
@ -113,14 +129,14 @@
|
||||
"emoji_button.nature": "Natur",
|
||||
"emoji_button.not_found": "Ingen emojos!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.objects": "Objekter",
|
||||
"emoji_button.people": "Mennesker",
|
||||
"emoji_button.people": "Personer",
|
||||
"emoji_button.recent": "Oftest brugt",
|
||||
"emoji_button.search": "Søg...",
|
||||
"emoji_button.search_results": "Søgeresultater",
|
||||
"emoji_button.symbols": "Symboler",
|
||||
"emoji_button.travel": "Rejser & steder",
|
||||
"empty_column.account_timeline": "Ingen bidrag her!",
|
||||
"empty_column.account_unavailable": "Profile unavailable",
|
||||
"empty_column.account_unavailable": "Profil utilgængelig",
|
||||
"empty_column.blocks": "Du har ikke blokeret nogen endnu.",
|
||||
"empty_column.community": "Den lokale tidslinje er tom. Skriv noget offentligt for at starte lavinen!",
|
||||
"empty_column.direct": "Du har endnu ingen direkte beskeder. Når du sender eller modtager en, vil den vises her.",
|
||||
@ -139,7 +155,7 @@
|
||||
"follow_request.authorize": "Godkend",
|
||||
"follow_request.reject": "Afvis",
|
||||
"getting_started.developers": "Udviklere",
|
||||
"getting_started.directory": "Profile directory",
|
||||
"getting_started.directory": "Profilliste",
|
||||
"getting_started.documentation": "Dokumentation",
|
||||
"getting_started.heading": "Kom igang",
|
||||
"getting_started.invite": "Inviter folk",
|
||||
@ -149,36 +165,36 @@
|
||||
"hashtag.column_header.tag_mode.all": "og {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "eller {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "uden {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "No suggestions found",
|
||||
"hashtag.column_settings.select.placeholder": "Enter hashtags…",
|
||||
"hashtag.column_settings.tag_mode.all": "All of these",
|
||||
"hashtag.column_settings.tag_mode.any": "Any of these",
|
||||
"hashtag.column_settings.tag_mode.none": "None of these",
|
||||
"hashtag.column_settings.select.no_options_message": "Ingen forslag fundet",
|
||||
"hashtag.column_settings.select.placeholder": "Indtast hashtags…",
|
||||
"hashtag.column_settings.tag_mode.all": "Alle disse",
|
||||
"hashtag.column_settings.tag_mode.any": "Nogle af disse",
|
||||
"hashtag.column_settings.tag_mode.none": "Ingen af disse",
|
||||
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
|
||||
"home.column_settings.basic": "Grundlæggende",
|
||||
"home.column_settings.show_reblogs": "Vis fremhævelser",
|
||||
"home.column_settings.show_replies": "Vis svar",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"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}}",
|
||||
"intervals.full.days": "{number, plural, one {# dag} other {# dage}}",
|
||||
"intervals.full.hours": "{number, plural, one {# time} other {# timer}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minut} other {# minutter}}",
|
||||
"introduction.federation.action": "Næste",
|
||||
"introduction.federation.federated.headline": "Federated",
|
||||
"introduction.federation.federated.headline": "Fælles",
|
||||
"introduction.federation.federated.text": "Offentlige bidrag fra andre servere af fediversen vil komme til syne i den federated timeline.",
|
||||
"introduction.federation.home.headline": "Home",
|
||||
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
|
||||
"introduction.federation.local.headline": "Local",
|
||||
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
|
||||
"introduction.federation.home.headline": "Hjem",
|
||||
"introduction.federation.home.text": "Statusser fra personer du følger vil blive vist i dit hjemmefeed. Du kan følge alle på enhver server!",
|
||||
"introduction.federation.local.headline": "Lokal",
|
||||
"introduction.federation.local.text": "Offentlige statusser fra personer på samme server som dig vil blive vist i det lokale feed.",
|
||||
"introduction.interactions.action": "Slut tutorial!",
|
||||
"introduction.interactions.favourite.headline": "Favorisere",
|
||||
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
|
||||
"introduction.interactions.favourite.text": "Du kan gemme en status til senere (og vise forfatteren at du kunne lide den) ved at favorisere den.",
|
||||
"introduction.interactions.reblog.headline": "Boost",
|
||||
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
|
||||
"introduction.interactions.reblog.text": "Du kan delete andres statusser med dine følgere ved at booste dem.",
|
||||
"introduction.interactions.reply.headline": "Svar",
|
||||
"introduction.interactions.reply.text": "Du kan svare andres og din egen bidrag, hvilke vil kæde dem sammen i en konversation.",
|
||||
"introduction.welcome.action": "Læd os gå!",
|
||||
"introduction.welcome.headline": "Første skridt",
|
||||
"introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
|
||||
"introduction.welcome.text": "Velkommen til fediverset! Om få øjeblikke vil du kunne dele statusser og tale med dine venner på en bred vifte af servere. Men denne server, {domain}, er speciel. Det er på denne server at din profil har hjemme så husk dens navn.",
|
||||
"keyboard_shortcuts.back": "for at navigere dig tilbage",
|
||||
"keyboard_shortcuts.blocked": "for at åbne listen over blokerede brugere",
|
||||
"keyboard_shortcuts.boost": "for at fremhæve",
|
||||
@ -207,24 +223,24 @@
|
||||
"keyboard_shortcuts.search": "for at fokusere søgningen",
|
||||
"keyboard_shortcuts.start": "for at åbne \"kom igen\" kolonnen",
|
||||
"keyboard_shortcuts.toggle_hidden": "for at vise/skjule tekst bag CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "for at vise/skjule medier",
|
||||
"keyboard_shortcuts.toot": "for at påbegynde et helt nyt trut",
|
||||
"keyboard_shortcuts.unfocus": "for at fjerne fokus fra skriveområde/søgning",
|
||||
"keyboard_shortcuts.up": "for at bevæge dig op ad listen",
|
||||
"lightbox.close": "Luk",
|
||||
"lightbox.next": "Næste",
|
||||
"lightbox.previous": "Forrige",
|
||||
"lightbox.view_context": "View context",
|
||||
"lightbox.view_context": "Vis kontekst",
|
||||
"lists.account.add": "Tilføj til liste",
|
||||
"lists.account.remove": "Fjern fra liste",
|
||||
"lists.delete": "Slet liste",
|
||||
"lists.edit": "Rediger liste",
|
||||
"lists.edit.submit": "Change title",
|
||||
"lists.edit.submit": "Skift titel",
|
||||
"lists.new.create": "Tilføj liste",
|
||||
"lists.new.title_placeholder": "Ny liste titel",
|
||||
"lists.search": "Søg iblandt folk du følger",
|
||||
"lists.subheading": "Dine lister",
|
||||
"load_pending": "{count, plural, one {# new item} other {# new items}}",
|
||||
"load_pending": "{count, plural, one {# nyt punkt} other {# nye punkter}}",
|
||||
"loading_indicator.label": "Indlæser...",
|
||||
"media_gallery.toggle_visible": "Ændre synlighed",
|
||||
"missing_indicator.label": "Ikke fundet",
|
||||
@ -241,7 +257,7 @@
|
||||
"navigation_bar.favourites": "Favoritter",
|
||||
"navigation_bar.filters": "Dæmpede ord",
|
||||
"navigation_bar.follow_requests": "Følgeanmodninger",
|
||||
"navigation_bar.follows_and_followers": "Follows and followers",
|
||||
"navigation_bar.follows_and_followers": "Følger og følgere",
|
||||
"navigation_bar.info": "Om denne instans",
|
||||
"navigation_bar.keyboard_shortcuts": "Hurtigtast",
|
||||
"navigation_bar.lists": "Lister",
|
||||
@ -250,50 +266,49 @@
|
||||
"navigation_bar.personal": "Personligt",
|
||||
"navigation_bar.pins": "Fastgjorte trut",
|
||||
"navigation_bar.preferences": "Præferencer",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.public_timeline": "Fælles tidslinje",
|
||||
"navigation_bar.security": "Sikkerhed",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} favoriserede din status",
|
||||
"notification.follow": "{name} fulgte dig",
|
||||
"notification.mention": "{name} nævnte dig",
|
||||
"notification.poll": "A poll you have voted in has ended",
|
||||
"notification.reblog": "{name} fremhævede din status",
|
||||
"notification.poll": "En afstemning, du stemte i, er slut",
|
||||
"notification.reblog": "{name} boostede din status",
|
||||
"notifications.clear": "Ryd notifikationer",
|
||||
"notifications.clear_confirmation": "Er du sikker på, du vil rydde alle dine notifikationer permanent?",
|
||||
"notifications.column_settings.alert": "Skrivebords notifikationer",
|
||||
"notifications.column_settings.alert": "Skrivebordsnotifikationer",
|
||||
"notifications.column_settings.favourite": "Favoritter:",
|
||||
"notifications.column_settings.filter_bar.advanced": "Display all categories",
|
||||
"notifications.column_settings.filter_bar.category": "Quick filter bar",
|
||||
"notifications.column_settings.filter_bar.show": "Show",
|
||||
"notifications.column_settings.filter_bar.advanced": "Vis alle kategorier",
|
||||
"notifications.column_settings.filter_bar.category": "Hurtigfilter",
|
||||
"notifications.column_settings.filter_bar.show": "Vis",
|
||||
"notifications.column_settings.follow": "Nye følgere:",
|
||||
"notifications.column_settings.mention": "Omtale:",
|
||||
"notifications.column_settings.poll": "Poll results:",
|
||||
"notifications.column_settings.push": "Push notifikationer",
|
||||
"notifications.column_settings.reblog": "Fremhævelser:",
|
||||
"notifications.column_settings.mention": "Statusser der nævner dig:",
|
||||
"notifications.column_settings.poll": "Afstemningsresultat:",
|
||||
"notifications.column_settings.push": "Pushnotifikationer",
|
||||
"notifications.column_settings.reblog": "Boosts:",
|
||||
"notifications.column_settings.show": "Vis i kolonne",
|
||||
"notifications.column_settings.sound": "Afspil lyd",
|
||||
"notifications.filter.all": "Alle",
|
||||
"notifications.filter.boosts": "Boosts",
|
||||
"notifications.filter.favourites": "Favoritter",
|
||||
"notifications.filter.follows": "Følger",
|
||||
"notifications.filter.mentions": "Mentions",
|
||||
"notifications.filter.polls": "Poll results",
|
||||
"notifications.filter.mentions": "Statusser der nævner dig",
|
||||
"notifications.filter.polls": "Afstemningsresultat",
|
||||
"notifications.group": "{count} notifikationer",
|
||||
"poll.closed": "Closed",
|
||||
"poll.refresh": "Refresh",
|
||||
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
|
||||
"poll.vote": "Vote",
|
||||
"poll_button.add_poll": "Add a poll",
|
||||
"poll_button.remove_poll": "Remove poll",
|
||||
"privacy.change": "Ændre status privatliv",
|
||||
"privacy.direct.long": "Post til kun de nævnte brugere",
|
||||
"poll.closed": "Lukket",
|
||||
"poll.refresh": "Opdatér",
|
||||
"poll.total_votes": "{count, plural, one {# stemme} other {# stemmer}}",
|
||||
"poll.vote": "Stem",
|
||||
"poll_button.add_poll": "Tilføj en afstemning",
|
||||
"poll_button.remove_poll": "Fjern afstemning",
|
||||
"privacy.change": "Skift status visningsindstillinger",
|
||||
"privacy.direct.long": "Udgiv kun til nævnte brugere",
|
||||
"privacy.direct.short": "Direkte",
|
||||
"privacy.private.long": "Post kun til følgere",
|
||||
"privacy.private.long": "Udgiv kun til følgere",
|
||||
"privacy.private.short": "Kun for følgere",
|
||||
"privacy.public.long": "Post til offentlige tidslinjer",
|
||||
"privacy.public.long": "Udgiv på offentlige tidslinjer",
|
||||
"privacy.public.short": "Offentligt",
|
||||
"privacy.unlisted.long": "Post ikke til offentlige tidslinjer",
|
||||
"privacy.unlisted.long": "Udgiv ikke på offentlige tidslinjer",
|
||||
"privacy.unlisted.short": "Ikke listet",
|
||||
"regeneration_indicator.label": "Indlæser…",
|
||||
"regeneration_indicator.sublabel": "Din startside er ved at blive forberedt!",
|
||||
@ -305,32 +320,32 @@
|
||||
"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?",
|
||||
"report.hint": "Anmeldelsen vil blive sendt til moderatorene af din instans. Du kan give en forklaring for hvorfor du anmelder denne konto nedenfor:",
|
||||
"report.hint": "Anmeldelsen vil blive sendt til moderatorene af din instans. Du kan give en forklaring på hvorfor du anmelder denne konto nedenfor:",
|
||||
"report.placeholder": "Yderligere kommentarer",
|
||||
"report.submit": "Indsend",
|
||||
"report.target": "Anmelder {target}",
|
||||
"search.placeholder": "Søg",
|
||||
"search_popout.search_format": "Avanceret søgeformat",
|
||||
"search_popout.tips.full_text": "Simpel tekst returnerer statusser du har skrevet, favoriseret, fremhævet, eller er blevet nævnt i, lige så vel som matchende brugernavne, visningsnavne, og hashtags.",
|
||||
"search_popout.tips.hashtag": "emnetag",
|
||||
"search_popout.tips.full_text": "Simpel tekst returnerer statusser du har skrevet, favoriseret, boostet, eller er blevet nævnt i såvel som matchende brugernavne, profilnavne, og hashtags.",
|
||||
"search_popout.tips.hashtag": "hashtag",
|
||||
"search_popout.tips.status": "status",
|
||||
"search_popout.tips.text": "Simpelt tekst returnerer passende visningsnavne, brugernavne og hashtags",
|
||||
"search_popout.tips.text": "Simpel tekst returnerer matchende profilnavne, brugernavne og hashtags",
|
||||
"search_popout.tips.user": "bruger",
|
||||
"search_results.accounts": "Folk",
|
||||
"search_results.hashtags": "Emnetags",
|
||||
"search_results.accounts": "Personer",
|
||||
"search_results.hashtags": "Hashtags",
|
||||
"search_results.statuses": "Trut",
|
||||
"search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
|
||||
"search_results.total": "{count, number} {count, plural, et {result} andre {results}}",
|
||||
"status.admin_account": "Open moderation interface for @{name}",
|
||||
"status.admin_status": "Open this status in the moderation interface",
|
||||
"search_results.statuses_fts_disabled": "Denne Mastodonserver har ikke aktiveret for søgning af statusser via deres indhold.",
|
||||
"search_results.total": "{count, number} {count, plural, one {resultat} other {resultater}}",
|
||||
"status.admin_account": "Åben modereringsvisning for @{name}",
|
||||
"status.admin_status": "Åben denne status i modereringsvisningen",
|
||||
"status.block": "Bloker @{name}",
|
||||
"status.cancel_reblog_private": "Fremhæv ikke længere",
|
||||
"status.cannot_reblog": "Denne post kan ikke fremhæves",
|
||||
"status.copy": "Copy link to status",
|
||||
"status.cancel_reblog_private": "Fjern boost",
|
||||
"status.cannot_reblog": "Denne post kan ikke boostes",
|
||||
"status.copy": "Kopiér link til status",
|
||||
"status.delete": "Slet",
|
||||
"status.detailed_status": "Detaljeret visning af samtale",
|
||||
"status.direct": "Send direkte besked til @{name}",
|
||||
"status.embed": "Indlejre",
|
||||
"status.embed": "Integrér",
|
||||
"status.favourite": "Favorit",
|
||||
"status.filtered": "Filtreret",
|
||||
"status.load_more": "Indlæs mere",
|
||||
@ -343,13 +358,13 @@
|
||||
"status.pin": "Fastgør til profil",
|
||||
"status.pinned": "Fastgjort trut",
|
||||
"status.read_more": "Læs mere",
|
||||
"status.reblog": "Fremhæv",
|
||||
"status.reblog_private": "Fremhæv til oprindeligt publikum",
|
||||
"status.reblogged_by": "{name} fremhævede",
|
||||
"status.reblogs.empty": "Der er endnu ingen der har fremhævet dette trut. Når der er nogen der gør, vil det blive vist her.",
|
||||
"status.reblog": "Boost",
|
||||
"status.reblog_private": "Boost til det oprindelige publikum",
|
||||
"status.reblogged_by": "{name} boostede",
|
||||
"status.reblogs.empty": "Der er endnu ingen der har boostet dette trut. Når der er nogen der gør, vil det blive vist her.",
|
||||
"status.redraft": "Slet og omskriv",
|
||||
"status.reply": "Svar",
|
||||
"status.replyAll": "Svar samtale",
|
||||
"status.reply": "Besvar",
|
||||
"status.replyAll": "Besvar samtale",
|
||||
"status.report": "Anmeld @{name}",
|
||||
"status.sensitive_warning": "Følsomt indhold",
|
||||
"status.share": "Del",
|
||||
@ -357,41 +372,42 @@
|
||||
"status.show_less_all": "Vis mindre for alle",
|
||||
"status.show_more": "Vis mere",
|
||||
"status.show_more_all": "Vis mere for alle",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.unmute_conversation": "Fjern dæmpningen fra samtale",
|
||||
"status.unpin": "Fjern som fastgjort fra profil",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
"suggestions.header": "You might be interested in…",
|
||||
"status.show_thread": "Vis tråd",
|
||||
"status.uncached_media_warning": "Ikke tilgængelig",
|
||||
"status.unmute_conversation": "Genaktivér samtale",
|
||||
"status.unpin": "Frigør fra profil",
|
||||
"suggestions.dismiss": "Afvis foreslag",
|
||||
"suggestions.header": "Du er måske interesseret i…",
|
||||
"tabs_bar.federated_timeline": "Fælles",
|
||||
"tabs_bar.home": "Hjem",
|
||||
"tabs_bar.local_timeline": "Lokal",
|
||||
"tabs_bar.notifications": "Notifikationer",
|
||||
"tabs_bar.search": "Søg",
|
||||
"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}} snakker",
|
||||
"trends.refresh": "Refresh",
|
||||
"time_remaining.days": "{number, plural, one {# dag} other {# dage}} tilbage",
|
||||
"time_remaining.hours": "{number, plural, one {# time} other {# timer}} tilbage",
|
||||
"time_remaining.minutes": "{number, plural, one {# minut} other {# minutter}} tilbage",
|
||||
"time_remaining.moments": "Få øjeblikke tilbage",
|
||||
"time_remaining.seconds": "{number, plural, one {# sekund} other {# sekunder}} tilbage",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {personer}} snakker",
|
||||
"trends.trending_now": "Hot lige nu",
|
||||
"ui.beforeunload": "Din kladde vil gå tabt hvis du forlader Mastodon.",
|
||||
"upload_area.title": "Træk og slip for at uploade",
|
||||
"upload_button.label": "Tilføj medie (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_error.limit": "File upload limit exceeded.",
|
||||
"upload_error.poll": "File upload not allowed with polls.",
|
||||
"upload_form.description": "Beskriv for de svagtseende",
|
||||
"upload_form.edit": "Edit",
|
||||
"upload_error.limit": "Uploadgrænse overskredet.",
|
||||
"upload_error.poll": "Filupload ikke tilladt sammen med afstemninger.",
|
||||
"upload_form.description": "Beskriv for svagtseende",
|
||||
"upload_form.edit": "Redigér",
|
||||
"upload_form.undo": "Slet",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.apply": "Apply",
|
||||
"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.analyzing_picture": "Analyserer billede…",
|
||||
"upload_modal.apply": "Anvend",
|
||||
"upload_modal.description_placeholder": "En hurtig brun ræv hopper over den dovne hund",
|
||||
"upload_modal.detect_text": "Find tekst i billede på automatisk vis",
|
||||
"upload_modal.edit_media": "Redigér medie",
|
||||
"upload_modal.hint": "Klik eller træk cirklen på billedet for at vælge et fokuspunkt.",
|
||||
"upload_modal.preview_label": "Forhåndsvisning ({ratio})",
|
||||
"upload_progress.label": "Uploader...",
|
||||
"video.close": "Luk video",
|
||||
"video.exit_fullscreen": "Gå ud af fuldskærm",
|
||||
"video.exit_fullscreen": "Forlad fuldskærm",
|
||||
"video.expand": "Udvid video",
|
||||
"video.fullscreen": "Fuldskærm",
|
||||
"video.hide": "Skjul video",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "Dieses Profil folgt noch niemandem.",
|
||||
"account.follows_you": "Folgt dir",
|
||||
"account.hide_reblogs": "Geteilte Beiträge von @{name} verbergen",
|
||||
"account.last_status": "Zuletzt aktiv",
|
||||
"account.link_verified_on": "Besitz dieses Links wurde geprüft am {date}",
|
||||
"account.locked_info": "Der Privatsphärenstatus dieses Accounts wurde auf gesperrt gesetzt. Die Person bestimmt manuell wer ihm/ihr folgen darf.",
|
||||
"account.media": "Medien",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "@{name} stummschalten",
|
||||
"account.mute_notifications": "Benachrichtigungen von @{name} verbergen",
|
||||
"account.muted": "Stummgeschaltet",
|
||||
"account.never_active": "Nie",
|
||||
"account.posts": "Beiträge",
|
||||
"account.posts_with_replies": "Beiträge und Antworten",
|
||||
"account.report": "@{name} melden",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Entfolgen",
|
||||
"account.unmute": "@{name} nicht mehr stummschalten",
|
||||
"account.unmute_notifications": "Benachrichtigungen von @{name} einschalten",
|
||||
"alert.rate_limited.message": "Bitte versuche es nach {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Anfragelimit überschritten",
|
||||
"alert.unexpected.message": "Ein unerwarteter Fehler ist aufgetreten.",
|
||||
"alert.unexpected.title": "Hoppla!",
|
||||
"autosuggest_hashtag.per_week": "{count} pro Woche",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Blockierte Profile",
|
||||
"column.community": "Lokale Zeitleiste",
|
||||
"column.direct": "Direktnachrichten",
|
||||
"column.directory": "Profile durchsuchen",
|
||||
"column.domain_blocks": "Versteckte Domains",
|
||||
"column.favourites": "Favoriten",
|
||||
"column.follow_requests": "Folgeanfragen",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Mitteilungen",
|
||||
"column.pins": "Angeheftete Beiträge",
|
||||
"column.public": "Föderierte Zeitleiste",
|
||||
"column.status": "Beitrag",
|
||||
"column_back_button.label": "Zurück",
|
||||
"column_header.hide_settings": "Einstellungen verbergen",
|
||||
"column_header.moveLeft_settings": "Spalte nach links verschieben",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Bist du dir sicher, dass du diese Liste permanent löschen möchtest?",
|
||||
"confirmations.domain_block.confirm": "Die ganze Domain verbergen",
|
||||
"confirmations.domain_block.message": "Bist du dir wirklich sicher, dass du die ganze Domain {domain} blockieren willst? In den meisten Fällen reichen ein paar gezielte Blockierungen oder Stummschaltungen aus. Nach der Blockierung wirst du nichts mehr von dieser Domain in öffentlichen Zeitleisten oder Benachrichtigungen sehen. Deine Folger_innen von dieser Domain werden auch entfernt.",
|
||||
"confirmations.logout.confirm": "Abmelden",
|
||||
"confirmations.logout.message": "Bist du sicher, dass du dich abmelden möchtest?",
|
||||
"confirmations.mute.confirm": "Stummschalten",
|
||||
"confirmations.mute.message": "Bist du dir sicher, dass du {name} stummschalten möchtest?",
|
||||
"confirmations.redraft.confirm": "Löschen und neu erstellen",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Wenn du jetzt antwortest wird es die gesamte Nachricht verwerfen, die du gerade schreibst. Möchtest du wirklich fortfahren?",
|
||||
"confirmations.unfollow.confirm": "Entfolgen",
|
||||
"confirmations.unfollow.message": "Bist du dir sicher, dass du {name} entfolgen möchtest?",
|
||||
"conversation.delete": "Unterhaltung löschen",
|
||||
"conversation.mark_as_read": "Als gelesen markieren",
|
||||
"conversation.open": "Unterhaltung anzeigen",
|
||||
"conversation.with": "Mit {names}",
|
||||
"directory.federated": "Aus dem Fediverse",
|
||||
"directory.local": "Nur von {domain}",
|
||||
"directory.new_arrivals": "Neue Benutzer",
|
||||
"directory.recently_active": "Kürzlich aktiv",
|
||||
"embed.instructions": "Du kannst diesen Beitrag auf deiner Webseite einbetten, indem du den folgenden Code einfügst.",
|
||||
"embed.preview": "So wird es aussehen:",
|
||||
"emoji_button.activity": "Aktivitäten",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Persönlich",
|
||||
"navigation_bar.pins": "Angeheftete Beiträge",
|
||||
"navigation_bar.preferences": "Einstellungen",
|
||||
"navigation_bar.profile_directory": "Profilverzeichnis",
|
||||
"navigation_bar.public_timeline": "Föderierte Zeitleiste",
|
||||
"navigation_bar.security": "Sicherheit",
|
||||
"notification.and_n_others": "und {count, plural, one {# andere Person} other {# andere Personen}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Mehr anzeigen",
|
||||
"status.show_more_all": "Alle Inhaltswarnungen aufklappen",
|
||||
"status.show_thread": "Zeige Konversation",
|
||||
"status.uncached_media_warning": "Nicht verfügbar",
|
||||
"status.unmute_conversation": "Stummschaltung von Konversation aufheben",
|
||||
"status.unpin": "Vom Profil lösen",
|
||||
"suggestions.dismiss": "Empfehlung ausblenden",
|
||||
@ -373,7 +389,7 @@
|
||||
"time_remaining.moments": "Schließt in Kürze",
|
||||
"time_remaining.seconds": "{number, plural, one {# Sekunde} other {# Sekunden}} verbleibend",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, eine {Person} other {Personen}} reden darüber",
|
||||
"trends.refresh": "Aktualisieren",
|
||||
"trends.trending_now": "In den Trends",
|
||||
"ui.beforeunload": "Dein Entwurf geht verloren, wenn du Mastodon verlässt.",
|
||||
"upload_area.title": "Zum Hochladen hereinziehen",
|
||||
"upload_button.label": "Mediendatei hinzufügen ({formats})",
|
||||
|
@ -8,6 +8,14 @@
|
||||
{
|
||||
"defaultMessage": "An unexpected error occurred.",
|
||||
"id": "alert.unexpected.message"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Rate limited",
|
||||
"id": "alert.rate_limited.title"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Please retry after {retry_time, time, medium}.",
|
||||
"id": "alert.rate_limited.message"
|
||||
}
|
||||
],
|
||||
"path": "app/javascript/mastodon/actions/alerts.json"
|
||||
@ -191,6 +199,10 @@
|
||||
"defaultMessage": "Toggle visibility",
|
||||
"id": "media_gallery.toggle_visible"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Not available",
|
||||
"id": "status.uncached_media_warning"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Sensitive content",
|
||||
"id": "status.sensitive_warning"
|
||||
@ -1117,6 +1129,15 @@
|
||||
],
|
||||
"path": "app/javascript/mastodon/features/compose/components/upload_form.json"
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
"defaultMessage": "Uploading...",
|
||||
"id": "upload_progress.label"
|
||||
}
|
||||
],
|
||||
"path": "app/javascript/mastodon/features/compose/components/upload_progress.json"
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
@ -1130,6 +1151,19 @@
|
||||
],
|
||||
"path": "app/javascript/mastodon/features/compose/components/upload.json"
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
"defaultMessage": "Are you sure you want to log out?",
|
||||
"id": "confirmations.logout.message"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Log out",
|
||||
"id": "confirmations.logout.confirm"
|
||||
}
|
||||
],
|
||||
"path": "app/javascript/mastodon/features/compose/containers/navigation_container.json"
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
@ -1218,10 +1252,68 @@
|
||||
{
|
||||
"defaultMessage": "Compose new toot",
|
||||
"id": "navigation_bar.compose"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Are you sure you want to log out?",
|
||||
"id": "confirmations.logout.message"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Log out",
|
||||
"id": "confirmations.logout.confirm"
|
||||
}
|
||||
],
|
||||
"path": "app/javascript/mastodon/features/compose/index.json"
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
"defaultMessage": "More",
|
||||
"id": "status.more"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "View conversation",
|
||||
"id": "conversation.open"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Reply",
|
||||
"id": "status.reply"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Mark as read",
|
||||
"id": "conversation.mark_as_read"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Delete conversation",
|
||||
"id": "conversation.delete"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Mute conversation",
|
||||
"id": "status.mute_conversation"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Unmute conversation",
|
||||
"id": "status.unmute_conversation"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "With {names}",
|
||||
"id": "conversation.with"
|
||||
}
|
||||
],
|
||||
"path": "app/javascript/mastodon/features/direct_timeline/components/conversation.json"
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
"defaultMessage": "Reply",
|
||||
"id": "confirmations.reply.confirm"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"id": "confirmations.reply.message"
|
||||
}
|
||||
],
|
||||
"path": "app/javascript/mastodon/features/direct_timeline/containers/conversation_container.json"
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
@ -1235,6 +1327,76 @@
|
||||
],
|
||||
"path": "app/javascript/mastodon/features/direct_timeline/index.json"
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
"defaultMessage": "Follow",
|
||||
"id": "account.follow"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Unfollow",
|
||||
"id": "account.unfollow"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Awaiting approval",
|
||||
"id": "account.requested"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Unblock @{name}",
|
||||
"id": "account.unblock"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Unmute @{name}",
|
||||
"id": "account.unmute"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Are you sure you want to unfollow {name}?",
|
||||
"id": "confirmations.unfollow.message"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Toots",
|
||||
"id": "account.posts"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Followers",
|
||||
"id": "account.followers"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Never",
|
||||
"id": "account.never_active"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Last active",
|
||||
"id": "account.last_status"
|
||||
}
|
||||
],
|
||||
"path": "app/javascript/mastodon/features/directory/components/account_card.json"
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
"defaultMessage": "Browse profiles",
|
||||
"id": "column.directory"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Recently active",
|
||||
"id": "directory.recently_active"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "New arrivals",
|
||||
"id": "directory.new_arrivals"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "From {domain} only",
|
||||
"id": "directory.local"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "From known fediverse",
|
||||
"id": "directory.federated"
|
||||
}
|
||||
],
|
||||
"path": "app/javascript/mastodon/features/directory/index.json"
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
@ -1468,10 +1630,6 @@
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
"defaultMessage": "Basic",
|
||||
"id": "home.column_settings.basic"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Show boosts",
|
||||
"id": "home.column_settings.show_reblogs"
|
||||
@ -1853,6 +2011,14 @@
|
||||
"defaultMessage": "Push notifications",
|
||||
"id": "notifications.column_settings.push"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Basic",
|
||||
"id": "home.column_settings.basic"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Update in real-time",
|
||||
"id": "home.column_settings.update_live"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Quick filter bar",
|
||||
"id": "notifications.column_settings.filter_bar.category"
|
||||
@ -1911,6 +2077,10 @@
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
"defaultMessage": "and {count, plural, one {# other} other {# others}}",
|
||||
"id": "notification.and_n_others"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "{name} followed you",
|
||||
"id": "notification.follow"
|
||||
@ -2167,6 +2337,10 @@
|
||||
"defaultMessage": "Block & Report",
|
||||
"id": "confirmations.block.block_and_report"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Toot",
|
||||
"id": "column.status"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Are you sure you want to block {name}?",
|
||||
"id": "confirmations.block.message"
|
||||
@ -2312,6 +2486,14 @@
|
||||
},
|
||||
{
|
||||
"descriptors": [
|
||||
{
|
||||
"defaultMessage": "Are you sure you want to log out?",
|
||||
"id": "confirmations.logout.message"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Log out",
|
||||
"id": "confirmations.logout.confirm"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Invite people",
|
||||
"id": "getting_started.invite"
|
||||
@ -2427,6 +2609,10 @@
|
||||
"defaultMessage": "Lists",
|
||||
"id": "navigation_bar.lists"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Profile directory",
|
||||
"id": "getting_started.directory"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Preferences",
|
||||
"id": "navigation_bar.preferences"
|
||||
@ -2434,10 +2620,6 @@
|
||||
{
|
||||
"defaultMessage": "Follows and followers",
|
||||
"id": "navigation_bar.follows_and_followers"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Profile directory",
|
||||
"id": "navigation_bar.profile_directory"
|
||||
}
|
||||
],
|
||||
"path": "app/javascript/mastodon/features/ui/components/navigation_panel.json"
|
||||
|
@ -4,7 +4,7 @@
|
||||
"account.block": "Αποκλισμός @{name}",
|
||||
"account.block_domain": "Απόκρυψε τα πάντα από το {domain}",
|
||||
"account.blocked": "Αποκλεισμένος/η",
|
||||
"account.cancel_follow_request": "Cancel follow request",
|
||||
"account.cancel_follow_request": "Ακύρωση αιτήματος παρακολούθησης",
|
||||
"account.direct": "Προσωπικό μήνυμα προς @{name}",
|
||||
"account.domain_blocked": "Κρυμμένος τομέας",
|
||||
"account.edit_profile": "Επεξεργασία προφίλ",
|
||||
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "Αυτός ο χρήστης δεν ακολουθεί κανέναν ακόμα.",
|
||||
"account.follows_you": "Σε ακολουθεί",
|
||||
"account.hide_reblogs": "Απόκρυψη προωθήσεων από @{name}",
|
||||
"account.last_status": "Τελευταία δραστηριότητα",
|
||||
"account.link_verified_on": "Η ιδιοκτησία αυτού του συνδέσμου ελέχθηκε την {date}",
|
||||
"account.locked_info": "Η κατάσταση απορρήτου αυτού του λογαριασμού είναι κλειδωμένη. Ο ιδιοκτήτης επιβεβαιώνει χειροκίνητα ποιος μπορεί να τον ακολουθήσει.",
|
||||
"account.media": "Πολυμέσα",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Σώπασε @{name}",
|
||||
"account.mute_notifications": "Σώπασε τις ειδοποιήσεις από @{name}",
|
||||
"account.muted": "Αποσιωπημένος/η",
|
||||
"account.never_active": "Ποτέ",
|
||||
"account.posts": "Τουτ",
|
||||
"account.posts_with_replies": "Τουτ και απαντήσεις",
|
||||
"account.report": "Κατάγγειλε @{name}",
|
||||
@ -36,9 +38,11 @@
|
||||
"account.unfollow": "Διακοπή παρακολούθησης",
|
||||
"account.unmute": "Διακοπή αποσιώπησης @{name}",
|
||||
"account.unmute_notifications": "Διακοπή αποσιώπησης ειδοποιήσεων του/της @{name}",
|
||||
"alert.rate_limited.message": "Παρακαλούμε δοκίμασε ξανά αφού περάσει η {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Περιορισμός συχνότητας",
|
||||
"alert.unexpected.message": "Προέκυψε απροσδόκητο σφάλμα.",
|
||||
"alert.unexpected.title": "Εεπ!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
"autosuggest_hashtag.per_week": "{count} ανα εβδομάδα",
|
||||
"boost_modal.combo": "Μπορείς να πατήσεις {combo} για να το προσπεράσεις αυτό την επόμενη φορά",
|
||||
"bundle_column_error.body": "Κάτι πήγε στραβά ενώ φορτωνόταν αυτό το στοιχείο.",
|
||||
"bundle_column_error.retry": "Δοκίμασε ξανά",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Αποκλεισμένοι χρήστες",
|
||||
"column.community": "Τοπική ροή",
|
||||
"column.direct": "Προσωπικά μηνύματα",
|
||||
"column.directory": "Δες προφίλ",
|
||||
"column.domain_blocks": "Κρυμμένοι τομείς",
|
||||
"column.favourites": "Αγαπημένα",
|
||||
"column.follow_requests": "Αιτήματα ακολούθησης",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Ειδοποιήσεις",
|
||||
"column.pins": "Καρφιτσωμένα τουτ",
|
||||
"column.public": "Ομοσπονδιακή ροή",
|
||||
"column.status": "Τουτ",
|
||||
"column_back_button.label": "Πίσω",
|
||||
"column_header.hide_settings": "Απόκρυψη ρυθμίσεων",
|
||||
"column_header.moveLeft_settings": "Μεταφορά κολώνας αριστερά",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Σίγουρα θες να διαγράψεις οριστικά αυτή τη λίστα;",
|
||||
"confirmations.domain_block.confirm": "Απόκρυψη ολόκληρου του τομέα",
|
||||
"confirmations.domain_block.message": "Σίγουρα θες να μπλοκάρεις ολόκληρο το {domain}; Συνήθως μερικά εστιασμένα μπλοκ ή αποσιωπήσεις επαρκούν και προτιμούνται. Δεν θα βλέπεις περιεχόμενο από αυτό τον κόμβο σε καμία δημόσια ροή, ούτε στις ειδοποιήσεις σου. Όσους ακόλουθους έχεις αυτό αυτό τον κόμβο θα αφαιρεθούν.",
|
||||
"confirmations.logout.confirm": "Αποσύνδεση",
|
||||
"confirmations.logout.message": "Σίγουρα θέλεις να αποσυνδεθείς;",
|
||||
"confirmations.mute.confirm": "Αποσιώπηση",
|
||||
"confirmations.mute.message": "Σίγουρα θες να αποσιωπήσεις {name};",
|
||||
"confirmations.redraft.confirm": "Διαγραφή & ξαναγράψιμο",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Απαντώντας τώρα θα αντικαταστήσεις το κείμενο που ήδη γράφεις. Σίγουρα θέλεις να συνεχίσεις;",
|
||||
"confirmations.unfollow.confirm": "Διακοπή παρακολούθησης",
|
||||
"confirmations.unfollow.message": "Σίγουρα θες να πάψεις να ακολουθείς τον/την {name};",
|
||||
"conversation.delete": "Delete conversation",
|
||||
"conversation.mark_as_read": "Mark as read",
|
||||
"conversation.open": "View conversation",
|
||||
"conversation.with": "With {names}",
|
||||
"directory.federated": "Από το γνωστό fediverse",
|
||||
"directory.local": "Μόνο από {domain}",
|
||||
"directory.new_arrivals": "Νέες αφίξεις",
|
||||
"directory.recently_active": "Πρόσφατα ενεργοί",
|
||||
"embed.instructions": "Ενσωματώστε αυτή την κατάσταση στην ιστοσελίδα σας αντιγράφοντας τον παρακάτω κώδικα.",
|
||||
"embed.preview": "Ορίστε πως θα φαίνεται:",
|
||||
"emoji_button.activity": "Δραστηριότητα",
|
||||
@ -155,10 +171,10 @@
|
||||
"hashtag.column_settings.tag_mode.any": "Οποιοδήποτε από αυτά",
|
||||
"hashtag.column_settings.tag_mode.none": "Κανένα από αυτά",
|
||||
"hashtag.column_settings.tag_toggle": "Προσθήκη επιπλέον ταμπελών για την κολώνα",
|
||||
"home.column_settings.basic": "Βασικά",
|
||||
"home.column_settings.basic": "Βασικές ρυθμίσεις",
|
||||
"home.column_settings.show_reblogs": "Εμφάνιση προωθήσεων",
|
||||
"home.column_settings.show_replies": "Εμφάνιση απαντήσεων",
|
||||
"home.column_settings.update_live": "Ζωντανή ενημέρωση",
|
||||
"home.column_settings.update_live": "Ενημέρωση σε πραγματικό χρόνο",
|
||||
"intervals.full.days": "{number, plural, one {# μέρα} other {# μέρες}}",
|
||||
"intervals.full.hours": "{number, plural, one {# ώρα} other {# ώρες}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# λεπτό} other {# λεπτά}}",
|
||||
@ -241,7 +257,7 @@
|
||||
"navigation_bar.favourites": "Αγαπημένα",
|
||||
"navigation_bar.filters": "Αποσιωπημένες λέξεις",
|
||||
"navigation_bar.follow_requests": "Αιτήματα ακολούθησης",
|
||||
"navigation_bar.follows_and_followers": "Ακολουθεί και ακολουθείται",
|
||||
"navigation_bar.follows_and_followers": "Ακολουθείς και σε ακολουθούν",
|
||||
"navigation_bar.info": "Πληροφορίες κόμβου",
|
||||
"navigation_bar.keyboard_shortcuts": "Συντομεύσεις",
|
||||
"navigation_bar.lists": "Λίστες",
|
||||
@ -250,14 +266,13 @@
|
||||
"navigation_bar.personal": "Προσωπικά",
|
||||
"navigation_bar.pins": "Καρφιτσωμένα τουτ",
|
||||
"navigation_bar.preferences": "Προτιμήσεις",
|
||||
"navigation_bar.profile_directory": "Κατάλογος λογαριασμών",
|
||||
"navigation_bar.public_timeline": "Ομοσπονδιακή ροή",
|
||||
"navigation_bar.security": "Ασφάλεια",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.and_n_others": "και {count, plural, one {# άλλη} other {# άλλες}}",
|
||||
"notification.favourite": "Ο/Η {name} σημείωσε ως αγαπημένη την κατάστασή σου",
|
||||
"notification.follow": "Ο/Η {name} σε ακολούθησε",
|
||||
"notification.mention": "Ο/Η {name} σε ανέφερε",
|
||||
"notification.poll": "Έλαβε τέλος μια από τις ψηφοφορίες που συμμετείχες",
|
||||
"notification.poll": "Τελείωσε μια από τις ψηφοφορίες που συμμετείχες",
|
||||
"notification.reblog": "Ο/Η {name} προώθησε την κατάστασή σου",
|
||||
"notifications.clear": "Καθαρισμός ειδοποιήσεων",
|
||||
"notifications.clear_confirmation": "Σίγουρα θέλεις να καθαρίσεις όλες τις ειδοποιήσεις σου;",
|
||||
@ -358,13 +373,14 @@
|
||||
"status.show_more": "Δείξε περισσότερα",
|
||||
"status.show_more_all": "Δείξε περισσότερα για όλα",
|
||||
"status.show_thread": "Εμφάνιση νήματος",
|
||||
"status.uncached_media_warning": "Μη διαθέσιμα",
|
||||
"status.unmute_conversation": "Διέκοψε την αποσιώπηση της συζήτησης",
|
||||
"status.unpin": "Ξεκαρφίτσωσε από το προφίλ",
|
||||
"suggestions.dismiss": "Απόρριψη πρότασης",
|
||||
"suggestions.header": "Ίσως να ενδιαφέρεσαι για…",
|
||||
"tabs_bar.federated_timeline": "Ομοσπονδιακή",
|
||||
"tabs_bar.home": "Αρχική",
|
||||
"tabs_bar.local_timeline": "Τοπικά",
|
||||
"tabs_bar.local_timeline": "Τοπική",
|
||||
"tabs_bar.notifications": "Ειδοποιήσεις",
|
||||
"tabs_bar.search": "Αναζήτηση",
|
||||
"time_remaining.days": "απομένουν {number, plural, one {# ημέρα} other {# ημέρες}}",
|
||||
@ -373,22 +389,22 @@
|
||||
"time_remaining.moments": "Απομένουν στιγμές",
|
||||
"time_remaining.seconds": "απομένουν {number, plural, one {# δευτερόλεπτο} other {# δευτερόλεπτα}}",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} μιλάνε",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Δημοφιλή τώρα",
|
||||
"ui.beforeunload": "Το προσχέδιό σου θα χαθεί αν φύγεις από το Mastodon.",
|
||||
"upload_area.title": "Drag & drop για να ανεβάσεις",
|
||||
"upload_button.label": "Πρόσθεσε πολυμέσα (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_error.limit": "Υπέρβαση ορίου μεγέθους ανεβασμένων αρχείων.",
|
||||
"upload_error.poll": "Στις δημοσκοπήσεις δεν επιτρέπεται η μεταφόρτωση αρχείου.",
|
||||
"upload_form.description": "Περιέγραψε για όσους & όσες έχουν προβλήματα όρασης",
|
||||
"upload_form.edit": "Edit",
|
||||
"upload_form.edit": "Ενημέρωση",
|
||||
"upload_form.undo": "Διαγραφή",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.apply": "Apply",
|
||||
"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.analyzing_picture": "Ανάλυση εικόνας…",
|
||||
"upload_modal.apply": "Εφαρμογή",
|
||||
"upload_modal.description_placeholder": "Λύκος μαύρος και ισχνός του πατέρα του καημός",
|
||||
"upload_modal.detect_text": "Αναγνώριση κειμένου από την εικόνα",
|
||||
"upload_modal.edit_media": "Επεξεργασία Πολυμέσων",
|
||||
"upload_modal.hint": "Κάνε κλικ ή σείρε τον κύκλο στην προεπισκόπηση για να επιλέξεις το σημείο εστίασης που θα είναι πάντα εμφανές σε όλες τις μικρογραφίες.",
|
||||
"upload_modal.preview_label": "Προεπισκόπηση ({ratio})",
|
||||
"upload_progress.label": "Ανεβαίνει...",
|
||||
"video.close": "Κλείσε το βίντεο",
|
||||
"video.exit_fullscreen": "Έξοδος από πλήρη οθόνη",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "This user doesn't follow anyone yet.",
|
||||
"account.follows_you": "Follows you",
|
||||
"account.hide_reblogs": "Hide boosts from @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
||||
"account.media": "Media",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Mute @{name}",
|
||||
"account.mute_notifications": "Mute notifications from @{name}",
|
||||
"account.muted": "Muted",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Toots",
|
||||
"account.posts_with_replies": "Toots and replies",
|
||||
"account.report": "Report @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Unfollow",
|
||||
"account.unmute": "Unmute @{name}",
|
||||
"account.unmute_notifications": "Unmute notifications from @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "An unexpected error occurred.",
|
||||
"alert.unexpected.title": "Oops!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Blocked users",
|
||||
"column.community": "Local timeline",
|
||||
"column.direct": "Direct messages",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Hidden domains",
|
||||
"column.favourites": "Favourites",
|
||||
"column.follow_requests": "Follow requests",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Notifications",
|
||||
"column.pins": "Pinned toots",
|
||||
"column.public": "Federated timeline",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Back",
|
||||
"column_header.hide_settings": "Hide settings",
|
||||
"column_header.moveLeft_settings": "Move column to the left",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
|
||||
"confirmations.domain_block.confirm": "Hide entire domain",
|
||||
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Mute",
|
||||
"confirmations.mute.message": "Are you sure you want to mute {name}?",
|
||||
"confirmations.redraft.confirm": "Delete & redraft",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.unfollow.confirm": "Unfollow",
|
||||
"confirmations.unfollow.message": "Are you sure you want to unfollow {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": "Embed this status on your website by copying the code below.",
|
||||
"embed.preview": "Here is what it will look like:",
|
||||
"emoji_button.activity": "Activity",
|
||||
@ -158,6 +174,7 @@
|
||||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.show_reblogs": "Show boosts",
|
||||
"home.column_settings.show_replies": "Show replies",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"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}}",
|
||||
@ -249,9 +266,9 @@
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Pinned toots",
|
||||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"notification.follow": "{name} followed you",
|
||||
"notification.mention": "{name} mentioned you",
|
||||
@ -356,6 +373,7 @@
|
||||
"status.show_more": "Show more",
|
||||
"status.show_more_all": "Show more for all",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Unmute conversation",
|
||||
"status.unpin": "Unpin from profile",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
|
@ -4,7 +4,7 @@
|
||||
"account.block": "Bloki @{name}",
|
||||
"account.block_domain": "Kaŝi ĉion de {domain}",
|
||||
"account.blocked": "Blokita",
|
||||
"account.cancel_follow_request": "Cancel follow request",
|
||||
"account.cancel_follow_request": "Nuligi peton de sekvado",
|
||||
"account.direct": "Rekte mesaĝi @{name}",
|
||||
"account.domain_blocked": "Domajno kaŝita",
|
||||
"account.edit_profile": "Redakti profilon",
|
||||
@ -16,14 +16,16 @@
|
||||
"account.follows.empty": "Tiu uzanto ankoraŭ ne sekvas iun.",
|
||||
"account.follows_you": "Sekvas vin",
|
||||
"account.hide_reblogs": "Kaŝi diskonigojn de @{name}",
|
||||
"account.last_status": "Laste aktiva",
|
||||
"account.link_verified_on": "La posedanto de tiu ligilo estis kontrolita je {date}",
|
||||
"account.locked_info": "La privateco de tiu konto estas elektita kiel fermita. La posedanto povas mane akcepti tiun, kiu povas sekvi rin.",
|
||||
"account.media": "Aŭdovidaĵoj",
|
||||
"account.mention": "Mencii @{name}",
|
||||
"account.moved_to": "{name} moviĝis al:",
|
||||
"account.mute": "Silentigi @{name}",
|
||||
"account.mute_notifications": "Silentigi sciigojn el @{name}",
|
||||
"account.mute_notifications": "Silentigi sciigojn de @{name}",
|
||||
"account.muted": "Silentigita",
|
||||
"account.never_active": "Neniam",
|
||||
"account.posts": "Mesaĝoj",
|
||||
"account.posts_with_replies": "Kun respondoj",
|
||||
"account.report": "Signali @{name}",
|
||||
@ -36,9 +38,11 @@
|
||||
"account.unfollow": "Ne plu sekvi",
|
||||
"account.unmute": "Malsilentigi @{name}",
|
||||
"account.unmute_notifications": "Malsilentigi sciigojn de @{name}",
|
||||
"alert.rate_limited.message": "Bonvolu reprovi post {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Mesaĝkvante limigita",
|
||||
"alert.unexpected.message": "Neatendita eraro okazis.",
|
||||
"alert.unexpected.title": "Ups!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
"autosuggest_hashtag.per_week": "{count} semajne",
|
||||
"boost_modal.combo": "Vi povas premi {combo} por preterpasi sekvafoje",
|
||||
"bundle_column_error.body": "Io misfunkciis en la ŝargado de ĉi tiu elemento.",
|
||||
"bundle_column_error.retry": "Bonvolu reprovi",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Blokitaj uzantoj",
|
||||
"column.community": "Loka tempolinio",
|
||||
"column.direct": "Rektaj mesaĝoj",
|
||||
"column.directory": "Trarigardi profilojn",
|
||||
"column.domain_blocks": "Kaŝitaj domajnoj",
|
||||
"column.favourites": "Stelumoj",
|
||||
"column.follow_requests": "Petoj de sekvado",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Sciigoj",
|
||||
"column.pins": "Alpinglitaj mesaĝoj",
|
||||
"column.public": "Fratara tempolinio",
|
||||
"column.status": "Mesaĝo",
|
||||
"column_back_button.label": "Reveni",
|
||||
"column_header.hide_settings": "Kaŝi agordojn",
|
||||
"column_header.moveLeft_settings": "Movi kolumnon maldekstren",
|
||||
@ -73,10 +79,10 @@
|
||||
"compose_form.lock_disclaimer": "Via konta ne estas {locked}. Iu ajn povas sekvi vin por vidi viajn mesaĝojn, kiuj estas nur por sekvantoj.",
|
||||
"compose_form.lock_disclaimer.lock": "ŝlosita",
|
||||
"compose_form.placeholder": "Pri kio vi pensas?",
|
||||
"compose_form.poll.add_option": "Aldoni elekto",
|
||||
"compose_form.poll.add_option": "Aldoni elekteblon",
|
||||
"compose_form.poll.duration": "Balotenketa daŭro",
|
||||
"compose_form.poll.option_placeholder": "elekto {number}",
|
||||
"compose_form.poll.remove_option": "Forigi ĉi tiu elekton",
|
||||
"compose_form.poll.option_placeholder": "Elekteblo {number}",
|
||||
"compose_form.poll.remove_option": "Forigi ĉi tiu elekteblon",
|
||||
"compose_form.publish": "Hup",
|
||||
"compose_form.publish_loud": "{publish}!",
|
||||
"compose_form.sensitive.hide": "Marki la aŭdovidaĵojn kiel tiklaj",
|
||||
@ -86,7 +92,7 @@
|
||||
"compose_form.spoiler.unmarked": "Teksto ne kaŝita",
|
||||
"compose_form.spoiler_placeholder": "Skribu vian averton ĉi tie",
|
||||
"confirmation_modal.cancel": "Nuligi",
|
||||
"confirmations.block.block_and_report": "Bloki & Signali",
|
||||
"confirmations.block.block_and_report": "Bloki kaj signali",
|
||||
"confirmations.block.confirm": "Bloki",
|
||||
"confirmations.block.message": "Ĉu vi certas, ke vi volas bloki {name}?",
|
||||
"confirmations.delete.confirm": "Forigi",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Ĉu vi certas, ke vi volas porĉiame forigi ĉi tiun liston?",
|
||||
"confirmations.domain_block.confirm": "Kaŝi la tutan domajnon",
|
||||
"confirmations.domain_block.message": "Ĉu vi vere, vere certas, ke vi volas tute bloki {domain}? Plej ofte, trafa blokado kaj silentigado sufiĉas kaj preferindas. Vi ne vidos enhavon de tiu domajno en publika tempolinio aŭ en viaj sciigoj. Viaj sekvantoj de tiu domajno estos forigitaj.",
|
||||
"confirmations.logout.confirm": "Elsaluti",
|
||||
"confirmations.logout.message": "Ĉu vi certas ke vi volas elsaluti?",
|
||||
"confirmations.mute.confirm": "Silentigi",
|
||||
"confirmations.mute.message": "Ĉu vi certas, ke vi volas silentigi {name}?",
|
||||
"confirmations.redraft.confirm": "Forigi kaj reskribi",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Respondi nun anstataŭigos la mesaĝon, kiun vi nun skribas. Ĉu vi certas, ke vi volas daŭrigi?",
|
||||
"confirmations.unfollow.confirm": "Ne plu sekvi",
|
||||
"confirmations.unfollow.message": "Ĉu vi certas, ke vi volas ĉesi sekvi {name}?",
|
||||
"conversation.delete": "Forigi konversacion",
|
||||
"conversation.mark_as_read": "Marki legita",
|
||||
"conversation.open": "Vidi konversacion",
|
||||
"conversation.with": "Kun {names}",
|
||||
"directory.federated": "El konata fediverso",
|
||||
"directory.local": "Nur de {domain}",
|
||||
"directory.new_arrivals": "Novaj alvenoj",
|
||||
"directory.recently_active": "Lastatempe aktiva",
|
||||
"embed.instructions": "Enkorpigu ĉi tiun mesaĝon en vian retejon per kopio de la suba kodo.",
|
||||
"embed.preview": "Ĝi aperos tiel:",
|
||||
"emoji_button.activity": "Agadoj",
|
||||
@ -154,18 +170,18 @@
|
||||
"hashtag.column_settings.tag_mode.all": "Ĉiuj",
|
||||
"hashtag.column_settings.tag_mode.any": "Iu ajn",
|
||||
"hashtag.column_settings.tag_mode.none": "Neniu",
|
||||
"hashtag.column_settings.tag_toggle": "Inkluzivi pluajn etikedojn por ĉi tiu kolumno",
|
||||
"hashtag.column_settings.tag_toggle": "Aldoni pliajn etikedojn por ĉi tiu kolumno",
|
||||
"home.column_settings.basic": "Bazaj agordoj",
|
||||
"home.column_settings.show_reblogs": "Montri diskonigojn",
|
||||
"home.column_settings.show_replies": "Montri respondojn",
|
||||
"home.column_settings.update_live": "Ĝisdatigo en realtempa",
|
||||
"home.column_settings.update_live": "Tuje ĝisdatigi",
|
||||
"intervals.full.days": "{number, plural, one {# tago} other {# tagoj}}",
|
||||
"intervals.full.hours": "{number, plural, one {# horo} other {# horoj}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutoj}}",
|
||||
"introduction.federation.action": "Sekva",
|
||||
"introduction.federation.federated.headline": "Federacio",
|
||||
"introduction.federation.federated.headline": "Fratara",
|
||||
"introduction.federation.federated.text": "Publikaj mesaĝoj el aliaj serviloj de la Fediverse aperos en la fratara tempolinio.",
|
||||
"introduction.federation.home.headline": "Heimo",
|
||||
"introduction.federation.home.headline": "Hejmo",
|
||||
"introduction.federation.home.text": "Mesaĝoj de homoj, kiujn vi sekvas, aperos en via hejma fluo. Vi povas sekvi iun ajn de ajna servilo!",
|
||||
"introduction.federation.local.headline": "Loka",
|
||||
"introduction.federation.local.text": "Publikaj mesaĝoj de homoj de via servilo aperos en la loka tempolinio.",
|
||||
@ -214,7 +230,7 @@
|
||||
"lightbox.close": "Fermi",
|
||||
"lightbox.next": "Sekva",
|
||||
"lightbox.previous": "Antaŭa",
|
||||
"lightbox.view_context": "Vidi kontekston",
|
||||
"lightbox.view_context": "Vidi kuntekston",
|
||||
"lists.account.add": "Aldoni al la listo",
|
||||
"lists.account.remove": "Forigi de la listo",
|
||||
"lists.delete": "Forigi la liston",
|
||||
@ -224,12 +240,12 @@
|
||||
"lists.new.title_placeholder": "Titolo de la nova listo",
|
||||
"lists.search": "Serĉi inter la homoj, kiujn vi sekvas",
|
||||
"lists.subheading": "Viaj listoj",
|
||||
"load_pending": "{count,plural, one {# nova ero} other {# novaj eroj}}",
|
||||
"load_pending": "{count,plural, one {# nova elemento} other {# novaj elementoj}}",
|
||||
"loading_indicator.label": "Ŝargado…",
|
||||
"media_gallery.toggle_visible": "Baskuligi videblecon",
|
||||
"missing_indicator.label": "Ne trovita",
|
||||
"missing_indicator.sublabel": "Ĉi tiu elemento ne estis trovita",
|
||||
"mute_modal.hide_notifications": "Ĉu vi volas kaŝi la sciigojn el ĉi tiu uzanto?",
|
||||
"mute_modal.hide_notifications": "Ĉu vi volas kaŝi la sciigojn de ĉi tiu uzanto?",
|
||||
"navigation_bar.apps": "Telefonaj aplikaĵoj",
|
||||
"navigation_bar.blocks": "Blokitaj uzantoj",
|
||||
"navigation_bar.community_timeline": "Loka tempolinio",
|
||||
@ -250,10 +266,9 @@
|
||||
"navigation_bar.personal": "Persone",
|
||||
"navigation_bar.pins": "Alpinglitaj mesaĝoj",
|
||||
"navigation_bar.preferences": "Preferoj",
|
||||
"navigation_bar.profile_directory": "Profilujo",
|
||||
"navigation_bar.public_timeline": "Fratara tempolinio",
|
||||
"navigation_bar.security": "Sekureco",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.and_n_others": "kaj {count, plural, one {# alia} other {# aliaj}}",
|
||||
"notification.favourite": "{name} stelumis vian mesaĝon",
|
||||
"notification.follow": "{name} eksekvis vin",
|
||||
"notification.mention": "{name} menciis vin",
|
||||
@ -324,7 +339,7 @@
|
||||
"status.admin_account": "Malfermi la kontrolan interfacon por @{name}",
|
||||
"status.admin_status": "Malfermi ĉi tiun mesaĝon en la kontrola interfaco",
|
||||
"status.block": "Bloki @{name}",
|
||||
"status.cancel_reblog_private": "Eksdiskonigi",
|
||||
"status.cancel_reblog_private": "Ne plu diskonigi",
|
||||
"status.cannot_reblog": "Ĉi tiu mesaĝo ne diskonigeblas",
|
||||
"status.copy": "Kopii la ligilon al la mesaĝo",
|
||||
"status.delete": "Forigi",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Grandigi",
|
||||
"status.show_more_all": "Grandigi ĉiujn",
|
||||
"status.show_thread": "Montri la fadenon",
|
||||
"status.uncached_media_warning": "Nedisponebla",
|
||||
"status.unmute_conversation": "Malsilentigi la konversacion",
|
||||
"status.unpin": "Depingli de profilo",
|
||||
"suggestions.dismiss": "Forigi la proponon",
|
||||
@ -373,28 +389,28 @@
|
||||
"time_remaining.moments": "Momenteto restas",
|
||||
"time_remaining.seconds": "{number, plural, one {# sekundo} other {# sekundoj}} restas",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {persono} other {personoj}} parolas",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Nunaj furoraĵoj",
|
||||
"ui.beforeunload": "Via malneto perdiĝos se vi eliras de Mastodon.",
|
||||
"upload_area.title": "Altreni kaj lasi por alŝuti",
|
||||
"upload_button.label": "Aldoni aŭdovidaĵon (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_error.limit": "Limo de dosiera alŝutado transpasita.",
|
||||
"upload_error.poll": "Alŝuto de dosiero ne permesita kun balotenketo.",
|
||||
"upload_form.description": "Priskribi por misvidantaj homoj",
|
||||
"upload_form.edit": "Edit",
|
||||
"upload_form.edit": "Redakti",
|
||||
"upload_form.undo": "Forigi",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.apply": "Apply",
|
||||
"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.analyzing_picture": "Bilda analizado…",
|
||||
"upload_modal.apply": "Apliki",
|
||||
"upload_modal.description_placeholder": "Laŭ Ludoviko Zamenhof bongustas freŝa ĉeĥa manĝaĵo kun spicoj",
|
||||
"upload_modal.detect_text": "Detekti tekston de la bildo",
|
||||
"upload_modal.edit_media": "Redakti aŭdovidaĵon",
|
||||
"upload_modal.hint": "Klaku aŭ trenu la cirklon en la antaŭvidilo por elekti la fokuspunkton kiu ĉiam videblos en ĉiuj etigitaj bildoj.",
|
||||
"upload_modal.preview_label": "Antaŭvido ({ratio})",
|
||||
"upload_progress.label": "Alŝutado…",
|
||||
"video.close": "Fermi videon",
|
||||
"video.close": "Fermi la videon",
|
||||
"video.exit_fullscreen": "Eksigi plenekrana",
|
||||
"video.expand": "Grandigi videon",
|
||||
"video.expand": "Grandigi la videon",
|
||||
"video.fullscreen": "Igi plenekrana",
|
||||
"video.hide": "Kaŝi videon",
|
||||
"video.hide": "Kaŝi la videon",
|
||||
"video.mute": "Silentigi",
|
||||
"video.pause": "Paŭzi",
|
||||
"video.play": "Ekigi",
|
||||
|
@ -4,7 +4,7 @@
|
||||
"account.block": "Bloquear a @{name}",
|
||||
"account.block_domain": "Ocultar todo de {domain}",
|
||||
"account.blocked": "Bloqueado",
|
||||
"account.cancel_follow_request": "Cancel follow request",
|
||||
"account.cancel_follow_request": "Cancelar la solicitud de seguimiento",
|
||||
"account.direct": "Mensaje directo a @{name}",
|
||||
"account.domain_blocked": "Dominio oculto",
|
||||
"account.edit_profile": "Editar perfil",
|
||||
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "Este usuario todavía no sigue a nadie.",
|
||||
"account.follows_you": "Te sigue",
|
||||
"account.hide_reblogs": "Ocultar retoots de @{name}",
|
||||
"account.last_status": "Última actividad",
|
||||
"account.link_verified_on": "El proprietario de este link fue comprobado el {date}",
|
||||
"account.locked_info": "El estado de privacidad de esta cuenta està configurado como bloqueado. El proprietario debe revisar manualmente quien puede seguirle.",
|
||||
"account.media": "Multimedia",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Silenciar a @{name}",
|
||||
"account.mute_notifications": "Silenciar notificaciones de @{name}",
|
||||
"account.muted": "Silenciado",
|
||||
"account.never_active": "Nunca",
|
||||
"account.posts": "Toots",
|
||||
"account.posts_with_replies": "Toots con respuestas",
|
||||
"account.report": "Reportar a @{name}",
|
||||
@ -36,9 +38,11 @@
|
||||
"account.unfollow": "Dejar de seguir",
|
||||
"account.unmute": "Dejar de silenciar a @{name}",
|
||||
"account.unmute_notifications": "Dejar de silenciar las notificaciones de @{name}",
|
||||
"alert.rate_limited.message": "Por favor reintente después de {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Tarifa limitada",
|
||||
"alert.unexpected.message": "Hubo un error inesperado.",
|
||||
"alert.unexpected.title": "¡Ups!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
"autosuggest_hashtag.per_week": "{count} por semana",
|
||||
"boost_modal.combo": "Puedes hacer clic en {combo} para saltar este aviso la próxima vez",
|
||||
"bundle_column_error.body": "Algo salió mal al cargar este componente.",
|
||||
"bundle_column_error.retry": "Inténtalo de nuevo",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Usuarios bloqueados",
|
||||
"column.community": "Línea de tiempo local",
|
||||
"column.direct": "Mensajes directos",
|
||||
"column.directory": "Buscar perfiles",
|
||||
"column.domain_blocks": "Dominios ocultados",
|
||||
"column.favourites": "Favoritos",
|
||||
"column.follow_requests": "Solicitudes de seguimiento",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Notificaciones",
|
||||
"column.pins": "Toots fijados",
|
||||
"column.public": "Línea de tiempo federada",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Atrás",
|
||||
"column_header.hide_settings": "Ocultar configuración",
|
||||
"column_header.moveLeft_settings": "Mover columna a la izquierda",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "¿Seguro que quieres borrar esta lista permanentemente?",
|
||||
"confirmations.domain_block.confirm": "Ocultar dominio entero",
|
||||
"confirmations.domain_block.message": "¿Seguro de que quieres bloquear al dominio {domain} entero? En general unos cuantos bloqueos y silenciados concretos es suficiente y preferible.",
|
||||
"confirmations.logout.confirm": "Cerrar sesión",
|
||||
"confirmations.logout.message": "¿Estás seguro de querer cerrar la sesión?",
|
||||
"confirmations.mute.confirm": "Silenciar",
|
||||
"confirmations.mute.message": "¿Estás seguro de que quieres silenciar a {name}?",
|
||||
"confirmations.redraft.confirm": "Borrar y volver a borrador",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Responder sobrescribirá el mensaje que estás escribiendo. ¿Estás seguro de que deseas continuar?",
|
||||
"confirmations.unfollow.confirm": "Dejar de seguir",
|
||||
"confirmations.unfollow.message": "¿Estás seguro de que quieres dejar de seguir a {name}?",
|
||||
"conversation.delete": "Borrar conversación",
|
||||
"conversation.mark_as_read": "Marcar como leído",
|
||||
"conversation.open": "Ver conversación",
|
||||
"conversation.with": "Con {names}",
|
||||
"directory.federated": "Desde el fediverso conocido",
|
||||
"directory.local": "Sólo de {domain}",
|
||||
"directory.new_arrivals": "Recién llegados",
|
||||
"directory.recently_active": "Recientemente activo",
|
||||
"embed.instructions": "Añade este toot a tu sitio web con el siguiente código.",
|
||||
"embed.preview": "Así es como se verá:",
|
||||
"emoji_button.activity": "Actividad",
|
||||
@ -250,10 +266,9 @@
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Toots fijados",
|
||||
"navigation_bar.preferences": "Preferencias",
|
||||
"navigation_bar.profile_directory": "Directorio de perfiles",
|
||||
"navigation_bar.public_timeline": "Historia federada",
|
||||
"navigation_bar.security": "Seguridad",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.and_n_others": "y {count, plural, one {# otro} other {# otros}}",
|
||||
"notification.favourite": "{name} marcó tu estado como favorito",
|
||||
"notification.follow": "{name} te empezó a seguir",
|
||||
"notification.mention": "{name} te ha mencionado",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Mostrar más",
|
||||
"status.show_more_all": "Mostrar más para todo",
|
||||
"status.show_thread": "Ver hilo",
|
||||
"status.uncached_media_warning": "No disponible",
|
||||
"status.unmute_conversation": "Dejar de silenciar conversación",
|
||||
"status.unpin": "Dejar de fijar",
|
||||
"suggestions.dismiss": "Descartar sugerencia",
|
||||
@ -373,22 +389,22 @@
|
||||
"time_remaining.moments": "Momentos restantes",
|
||||
"time_remaining.seconds": "{number, plural, one {# segundo restante} other {# segundos restantes}}",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {persona} other {personas}} hablando",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Tendencia ahora",
|
||||
"ui.beforeunload": "Tu borrador se perderá si sales de Mastodon.",
|
||||
"upload_area.title": "Arrastra y suelta para subir",
|
||||
"upload_button.label": "Subir multimedia (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_error.limit": "Límite de subida de archivos excedido.",
|
||||
"upload_error.poll": "Subida de archivos no permitida con encuestas.",
|
||||
"upload_form.description": "Describir para los usuarios con dificultad visual",
|
||||
"upload_form.edit": "Edit",
|
||||
"upload_form.edit": "Editar",
|
||||
"upload_form.undo": "Borrar",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.apply": "Apply",
|
||||
"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.analyzing_picture": "Analizando imagen…",
|
||||
"upload_modal.apply": "Aplicar",
|
||||
"upload_modal.description_placeholder": "Un rápido zorro marrón salta sobre el perro perezoso",
|
||||
"upload_modal.detect_text": "Detectar texto de la imagen",
|
||||
"upload_modal.edit_media": "Editar multimedia",
|
||||
"upload_modal.hint": "Haga clic o arrastre el círculo en la vista previa para elegir el punto focal que siempre estará a la vista en todas las miniaturas.",
|
||||
"upload_modal.preview_label": "Vista previa ({ratio})",
|
||||
"upload_progress.label": "Subiendo…",
|
||||
"video.close": "Cerrar video",
|
||||
"video.exit_fullscreen": "Salir de pantalla completa",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "See kasutaja ei jälgi veel kedagi.",
|
||||
"account.follows_you": "Jälgib sind",
|
||||
"account.hide_reblogs": "Peida upitused kasutajalt @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Selle lingi autorsust kontrolliti {date}",
|
||||
"account.locked_info": "Selle konto privaatsus on lukustatud. Omanik vaatab manuaalselt üle, kes teda jägida saab.",
|
||||
"account.media": "Meedia",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Vaigista @{name}",
|
||||
"account.mute_notifications": "Vaigista teated kasutajalt @{name}",
|
||||
"account.muted": "Vaigistatud",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Tuututused",
|
||||
"account.posts_with_replies": "Tuututused ja vastused",
|
||||
"account.report": "Raporteeri @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Ära jälgi",
|
||||
"account.unmute": "Ära vaigista @{name}",
|
||||
"account.unmute_notifications": "Ära vaigista teateid kasutajalt @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "Tekkis ootamatu viga.",
|
||||
"alert.unexpected.title": "Oih!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Blokeeritud kasutajad",
|
||||
"column.community": "Kohalik ajajoon",
|
||||
"column.direct": "Otsesõnumid",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Peidetud domeenid",
|
||||
"column.favourites": "Lemmikud",
|
||||
"column.follow_requests": "Jälgimistaotlused",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Teated",
|
||||
"column.pins": "Kinnitatud upitused",
|
||||
"column.public": "Föderatiivne ajajoon",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Tagasi",
|
||||
"column_header.hide_settings": "Peida sätted",
|
||||
"column_header.moveLeft_settings": "Liiguta tulp vasakule",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Oled kindel, et soovid selle nimekirja püsivalt kustutada?",
|
||||
"confirmations.domain_block.confirm": "Peida terve domeen",
|
||||
"confirmations.domain_block.message": "Oled ikka päris kindel, et soovid blokeerida terve {domain}? Enamikul juhtudel piisab mõnest sihitud blokist või vaigistusest, mis on eelistatav. Sa ei näe selle domeeni sisu üheski avalikus ajajoones või teadetes. Sinu jälgijad sellest domeenist eemaldatakse.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Vaigista",
|
||||
"confirmations.mute.message": "Oled kindel, et soovid {name} vaigistada?",
|
||||
"confirmations.redraft.confirm": "Kustuta & taasalusta",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Kohene vastamine kirjutab üle sõnumi, mida hetkel koostad. Oled kindel, et soovid jätkata?",
|
||||
"confirmations.unfollow.confirm": "Ära jälgi",
|
||||
"confirmations.unfollow.message": "Oled kindel, et ei soovi jälgida {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": "Manusta see staatus oma veebilehele, kopeerides alloleva koodi.",
|
||||
"embed.preview": "Nii näeb see välja:",
|
||||
"emoji_button.activity": "Tegevus",
|
||||
@ -158,7 +174,7 @@
|
||||
"home.column_settings.basic": "Peamine",
|
||||
"home.column_settings.show_reblogs": "Näita upitusi",
|
||||
"home.column_settings.show_replies": "Näita vastuseid",
|
||||
"home.column_settings.update_live": "Uuenda reaalajas",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# päev} other {# päevad}}",
|
||||
"intervals.full.hours": "{number, plural, one {# tund} other {# tundi}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minut} other {# minutit}}",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Isiklik",
|
||||
"navigation_bar.pins": "Kinnitatud tuutid",
|
||||
"navigation_bar.preferences": "Eelistused",
|
||||
"navigation_bar.profile_directory": "Profiilikataloog",
|
||||
"navigation_bar.public_timeline": "Föderatiivne ajajoon",
|
||||
"navigation_bar.security": "Turvalisus",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Näita veel",
|
||||
"status.show_more_all": "Näita enam kõigile",
|
||||
"status.show_thread": "Kuva lõim",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Ära vaigista vestlust",
|
||||
"status.unpin": "Kinnita profiililt lahti",
|
||||
"suggestions.dismiss": "Eira soovitust",
|
||||
@ -373,7 +389,7 @@
|
||||
"time_remaining.moments": "Hetked jäänud",
|
||||
"time_remaining.seconds": "{number, plural, one {# sekund} other {# sekundit}} left",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {inimene} other {inimesed}} talking",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "Sinu mustand läheb kaotsi, kui lahkud Mastodonist.",
|
||||
"upload_area.title": "Lohista & aseta üleslaadimiseks",
|
||||
"upload_button.label": "Lisa meedia (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
|
@ -4,7 +4,7 @@
|
||||
"account.block": "Blokeatu @{name}",
|
||||
"account.block_domain": "Ezkutatu {domain} domeinuko guztia",
|
||||
"account.blocked": "Blokeatuta",
|
||||
"account.cancel_follow_request": "Cancel follow request",
|
||||
"account.cancel_follow_request": "Ezeztatu jarraitzeko eskaria",
|
||||
"account.direct": "Mezu zuzena @{name}(r)i",
|
||||
"account.domain_blocked": "Ezkutatutako domeinua",
|
||||
"account.edit_profile": "Aldatu profila",
|
||||
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "Erabiltzaile honek ez du inor jarraitzen oraindik.",
|
||||
"account.follows_you": "Jarraitzen dizu",
|
||||
"account.hide_reblogs": "Ezkutatu @{name}(r)en bultzadak",
|
||||
"account.last_status": "Azkenekoz aktiboa",
|
||||
"account.link_verified_on": "Esteka honen jabetzaren egiaztaketa data: {date}",
|
||||
"account.locked_info": "Kontu honen pribatutasun egoera blokeatuta gisa ezarri da. Jabeak eskuz erabakitzen du nork jarraitu diezaioken.",
|
||||
"account.media": "Multimedia",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Mututu @{name}",
|
||||
"account.mute_notifications": "Mututu @{name}(r)en jakinarazpenak",
|
||||
"account.muted": "Mutututa",
|
||||
"account.never_active": "Inoiz ez",
|
||||
"account.posts": "Toot",
|
||||
"account.posts_with_replies": "Toot eta erantzunak",
|
||||
"account.report": "Salatu @{name}",
|
||||
@ -36,9 +38,11 @@
|
||||
"account.unfollow": "Utzi jarraitzeari",
|
||||
"account.unmute": "Desmututu @{name}",
|
||||
"account.unmute_notifications": "Desmututu @{name}(r)en jakinarazpenak",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "Ustekabeko errore bat gertatu da.",
|
||||
"alert.unexpected.title": "Ene!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
"autosuggest_hashtag.per_week": "{count} asteko",
|
||||
"boost_modal.combo": "{combo} sakatu dezakezu hurrengoan hau saltatzeko",
|
||||
"bundle_column_error.body": "Zerbait okerra gertatu da osagai hau kargatzean.",
|
||||
"bundle_column_error.retry": "Saiatu berriro",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Blokeatutako erabiltzaileak",
|
||||
"column.community": "Denbora-lerro lokala",
|
||||
"column.direct": "Mezu zuzenak",
|
||||
"column.directory": "Arakatu profilak",
|
||||
"column.domain_blocks": "Ezkutatutako domeinuak",
|
||||
"column.favourites": "Gogokoak",
|
||||
"column.follow_requests": "Jarraitzeko eskariak",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Jakinarazpenak",
|
||||
"column.pins": "Pinned toot",
|
||||
"column.public": "Federatutako denbora-lerroa",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Atzera",
|
||||
"column_header.hide_settings": "Ezkutatu ezarpenak",
|
||||
"column_header.moveLeft_settings": "Eraman zutabea ezkerrera",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Ziur behin betiko ezabatu nahi duzula zerrenda hau?",
|
||||
"confirmations.domain_block.confirm": "Ezkutatu domeinu osoa",
|
||||
"confirmations.domain_block.message": "Ziur, erabat ziur, {domain} domeinu osoa blokeatu nahi duzula? Gehienetan gutxi batzuk blokeatu edo mututzearekin nahikoa da. Ez duzu domeinu horretako edukirik ikusiko denbora lerroetan edo jakinarazpenetan. Domeinu horretako zure jarraitzaileak kenduko dira ere.",
|
||||
"confirmations.logout.confirm": "Amaitu saioa",
|
||||
"confirmations.logout.message": "Ziur saioa amaitu nahi duzula?",
|
||||
"confirmations.mute.confirm": "Mututu",
|
||||
"confirmations.mute.message": "Ziur {name} mututu nahi duzula?",
|
||||
"confirmations.redraft.confirm": "Ezabatu eta berridatzi",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Orain erantzuteak idazten ari zaren mezua gainidatziko du. Ziur jarraitu nahi duzula?",
|
||||
"confirmations.unfollow.confirm": "Utzi jarraitzeari",
|
||||
"confirmations.unfollow.message": "Ziur {name} jarraitzeari utzi nahi diozula?",
|
||||
"conversation.delete": "Delete conversation",
|
||||
"conversation.mark_as_read": "Mark as read",
|
||||
"conversation.open": "View conversation",
|
||||
"conversation.with": "With {names}",
|
||||
"directory.federated": "Fedibertso ezagunekoak",
|
||||
"directory.local": "{domain} domeinukoak soilik",
|
||||
"directory.new_arrivals": "Iritsi berriak",
|
||||
"directory.recently_active": "Duela gutxi aktibo",
|
||||
"embed.instructions": "Txertatu mezu hau zure webgunean beheko kodea kopatuz.",
|
||||
"embed.preview": "Hau da izango duen itxura:",
|
||||
"emoji_button.activity": "Jarduera",
|
||||
@ -158,7 +174,7 @@
|
||||
"home.column_settings.basic": "Oinarrizkoa",
|
||||
"home.column_settings.show_reblogs": "Erakutsi bultzadak",
|
||||
"home.column_settings.show_replies": "Erakutsi erantzunak",
|
||||
"home.column_settings.update_live": "Eguneratu denbora errealean",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {egun #} other {# egun}}",
|
||||
"intervals.full.hours": "{number, plural, one {ordu #} other {# ordu}}",
|
||||
"intervals.full.minutes": "{number, plural, one {minutu #} other {# minutu}}",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Pertsonala",
|
||||
"navigation_bar.pins": "Finkatutako toot-ak",
|
||||
"navigation_bar.preferences": "Hobespenak",
|
||||
"navigation_bar.profile_directory": "Profilen direktorioa",
|
||||
"navigation_bar.public_timeline": "Federatutako denbora-lerroa",
|
||||
"navigation_bar.security": "Segurtasuna",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Erakutsi gehiago",
|
||||
"status.show_more_all": "Erakutsi denetarik gehiago",
|
||||
"status.show_thread": "Erakutsi haria",
|
||||
"status.uncached_media_warning": "Ez eskuragarri",
|
||||
"status.unmute_conversation": "Desmututu elkarrizketa",
|
||||
"status.unpin": "Desfinkatu profiletik",
|
||||
"suggestions.dismiss": "Errefusatu proposamena",
|
||||
@ -373,22 +389,22 @@
|
||||
"time_remaining.moments": "Amaitzekotan",
|
||||
"time_remaining.seconds": "{number, plural, one {segundo #} other {# segundo}} amaitzeko",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} hitz egiten",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Joera orain",
|
||||
"ui.beforeunload": "Zure zirriborroa galduko da Mastodon uzten baduzu.",
|
||||
"upload_area.title": "Arrastatu eta jaregin igotzeko",
|
||||
"upload_button.label": "Gehitu multimedia (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_error.limit": "Fitxategi igoera muga gaindituta.",
|
||||
"upload_error.poll": "Ez da inkestetan fitxategiak igotzea onartzen.",
|
||||
"upload_form.description": "Deskribatu ikusmen arazoak dituztenentzat",
|
||||
"upload_form.edit": "Edit",
|
||||
"upload_form.edit": "Editatu",
|
||||
"upload_form.undo": "Ezabatu",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.apply": "Apply",
|
||||
"upload_modal.analyzing_picture": "Irudia aztertzen…",
|
||||
"upload_modal.apply": "Aplikatu",
|
||||
"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.detect_text": "Antzeman irudiko testua",
|
||||
"upload_modal.edit_media": "Editatu multimedia",
|
||||
"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.preview_label": "Aurreikusi({ratio})",
|
||||
"upload_progress.label": "Igotzen...",
|
||||
"video.close": "Itxi bideoa",
|
||||
"video.exit_fullscreen": "Irten pantaila osotik",
|
||||
|
@ -3,8 +3,8 @@
|
||||
"account.badges.bot": "ربات",
|
||||
"account.block": "مسدودسازی @{name}",
|
||||
"account.block_domain": "پنهانسازی همه چیز از سرور {domain}",
|
||||
"account.blocked": "مسدودشده",
|
||||
"account.cancel_follow_request": "Cancel follow request",
|
||||
"account.blocked": "مسدود شده",
|
||||
"account.cancel_follow_request": "لغو درخواست پیگیری",
|
||||
"account.direct": "پیغام خصوصی به @{name}",
|
||||
"account.domain_blocked": "دامین پنهانشده",
|
||||
"account.edit_profile": "ویرایش نمایه",
|
||||
@ -16,7 +16,8 @@
|
||||
"account.follows.empty": "این کاربر هنوز هیچ کسی را پی نمیگیرد.",
|
||||
"account.follows_you": "پیگیر شماست",
|
||||
"account.hide_reblogs": "پنهان کردن بازبوقهای @{name}",
|
||||
"account.link_verified_on": "مالکیت این نشانی در تایخ {date} بررسی شد",
|
||||
"account.last_status": "آخرین فعالیت",
|
||||
"account.link_verified_on": "مالکیت این نشانی در تاریخ {date} بررسی شد",
|
||||
"account.locked_info": "این حساب خصوصی است. صاحب این حساب تصمیم میگیرد که چه کسی میتواند پیگیرش باشد.",
|
||||
"account.media": "عکس و ویدیو",
|
||||
"account.mention": "نامبردن از @{name}",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "بیصدا کردن @{name}",
|
||||
"account.mute_notifications": "بیصداکردن اعلانها از طرف @{name}",
|
||||
"account.muted": "بیصداشده",
|
||||
"account.never_active": "هرگز",
|
||||
"account.posts": "نوشتهها",
|
||||
"account.posts_with_replies": "نوشتهها و پاسخها",
|
||||
"account.report": "گزارش @{name}",
|
||||
@ -36,9 +38,11 @@
|
||||
"account.unfollow": "پایان پیگیری",
|
||||
"account.unmute": "باصدا کردن @{name}",
|
||||
"account.unmute_notifications": "باصداکردن اعلانها از طرف @{name}",
|
||||
"alert.rate_limited.message": "لطفاً پس از {retry_time, time, medium} دوباره تلاش کنید.",
|
||||
"alert.rate_limited.title": "محدودیت تعداد",
|
||||
"alert.unexpected.message": "خطای پیشبینینشدهای رخ داد.",
|
||||
"alert.unexpected.title": "ای وای!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
"autosuggest_hashtag.per_week": "{count} در هفته",
|
||||
"boost_modal.combo": "دکمهٔ {combo} را بزنید تا دیگر این را نبینید",
|
||||
"bundle_column_error.body": "هنگام بازکردن این بخش خطایی رخ داد.",
|
||||
"bundle_column_error.retry": "تلاش دوباره",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "کاربران مسدودشده",
|
||||
"column.community": "نوشتههای محلی",
|
||||
"column.direct": "پیغامهای خصوصی",
|
||||
"column.directory": "مرور نمایهها",
|
||||
"column.domain_blocks": "دامینهای پنهانشده",
|
||||
"column.favourites": "پسندیدهها",
|
||||
"column.follow_requests": "درخواستهای پیگیری",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "اعلانها",
|
||||
"column.pins": "نوشتههای ثابت",
|
||||
"column.public": "نوشتههای همهجا",
|
||||
"column.status": "بوق",
|
||||
"column_back_button.label": "بازگشت",
|
||||
"column_header.hide_settings": "نهفتن تنظیمات",
|
||||
"column_header.moveLeft_settings": "انتقال ستون به راست",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "آیا واقعاً میخواهید این فهرست را برای همیشه پاک کنید؟",
|
||||
"confirmations.domain_block.confirm": "پنهانسازی کل دامین",
|
||||
"confirmations.domain_block.message": "آیا جدی جدی میخواهید کل دامین {domain} را مسدود کنید؟ بیشتر وقتها مسدودکردن یا بیصداکردن چند حساب کاربری خاص کافی است و توصیه میشود. پس از این کار شما هیچ نوشتهای را از این دامین در فهرست نوشتههای عمومی یا اعلانهایتان نخواهید دید. پیگیران شما از این دامین هم حذف خواهد شد.",
|
||||
"confirmations.logout.confirm": "خروج",
|
||||
"confirmations.logout.message": "آیا مطمئنید که میخواهید خارج شوید؟",
|
||||
"confirmations.mute.confirm": "بیصدا کن",
|
||||
"confirmations.mute.message": "آیا واقعاً میخواهید {name} را بیصدا کنید؟",
|
||||
"confirmations.redraft.confirm": "پاککردن و بازنویسی",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "اگر الان پاسخ دهید، چیزی که در حال نوشتنش بودید پاک خواهد شد. آیا همین را میخواهید؟",
|
||||
"confirmations.unfollow.confirm": "لغو پیگیری",
|
||||
"confirmations.unfollow.message": "آیا واقعاً میخواهید به پیگیری از {name} پایان دهید؟",
|
||||
"conversation.delete": "حذف گفتگو",
|
||||
"conversation.mark_as_read": "علامتگذاری به عنوان خوانده شده",
|
||||
"conversation.open": "دیدن گفتگو",
|
||||
"conversation.with": "با {names}",
|
||||
"directory.federated": "از سرورهای همسایه",
|
||||
"directory.local": "تنها از {domain}",
|
||||
"directory.new_arrivals": "تازهواردان",
|
||||
"directory.recently_active": "کاربران فعال اخیر",
|
||||
"embed.instructions": "برای جاگذاری این نوشته در سایت خودتان، کد زیر را کپی کنید.",
|
||||
"embed.preview": "نوشتهٔ جاگذاریشده این گونه به نظر خواهد رسید:",
|
||||
"emoji_button.activity": "فعالیت",
|
||||
@ -128,7 +144,7 @@
|
||||
"empty_column.favourited_statuses": "شما هنوز هیچ بوقی را نپسندیدهاید. وقتی بوقی را بپسندید، اینجا نمایش خواهد یافت.",
|
||||
"empty_column.favourites": "هنوز هیچ کسی این بوق را نپسندیده است. وقتی کسی آن را بپسندد، نامش اینجا نمایش خواهد یافت.",
|
||||
"empty_column.follow_requests": "شما هنوز هیچ درخواست پیگیریای ندارید. وقتی چنین درخواستی بگیرید، اینجا نمایش خواهد یافت.",
|
||||
"empty_column.hashtag": "هنوز هیچ چیزی با این هشتگ نیست.",
|
||||
"empty_column.hashtag": "هنوز هیچ چیزی با این برچسب (هشتگ) نیست.",
|
||||
"empty_column.home": "شما هنوز پیگیر کسی نیستید. {public} را ببینید یا چیزی را جستجو کنید تا کاربران دیگر را ببینید.",
|
||||
"empty_column.home.public_timeline": "فهرست نوشتههای همهجا",
|
||||
"empty_column.list": "در این فهرست هنوز چیزی نیست. وقتی اعضای این فهرست چیزی بنویسند، اینجا ظاهر خواهد شد.",
|
||||
@ -250,10 +266,9 @@
|
||||
"navigation_bar.personal": "شخصی",
|
||||
"navigation_bar.pins": "نوشتههای ثابت",
|
||||
"navigation_bar.preferences": "ترجیحات",
|
||||
"navigation_bar.profile_directory": "فهرست گزیدهٔ کاربران",
|
||||
"navigation_bar.public_timeline": "نوشتههای همهجا",
|
||||
"navigation_bar.security": "امنیت",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.and_n_others": "و {count, plural, one {# اعلان دیگر} other {# اعلان دیگر}}",
|
||||
"notification.favourite": "{name} نوشتهٔ شما را پسندید",
|
||||
"notification.follow": "{name} پیگیر شما شد",
|
||||
"notification.mention": "{name} از شما نام برد",
|
||||
@ -312,12 +327,12 @@
|
||||
"search.placeholder": "جستجو",
|
||||
"search_popout.search_format": "راهنمای جستجوی پیشرفته",
|
||||
"search_popout.tips.full_text": "جستجوی متنی ساده میتواند بوقهایی که شما نوشتهاید، پسندیدهاید، بازبوقیدهاید، یا در آنها از شما نام برده شده است را پیدا کند. همچنین نامهای کاربری، نام نمایشیافته، و هشتگها را هم شامل میشود.",
|
||||
"search_popout.tips.hashtag": "هشتگ",
|
||||
"search_popout.tips.hashtag": "برچسب",
|
||||
"search_popout.tips.status": "نوشته",
|
||||
"search_popout.tips.text": "جستجوی متنی ساده برای نامها، نامهای کاربری، و هشتگها",
|
||||
"search_popout.tips.text": "جستجوی متنی ساده برای نامها، نامهای کاربری، و برچسبها",
|
||||
"search_popout.tips.user": "کاربر",
|
||||
"search_results.accounts": "افراد",
|
||||
"search_results.hashtags": "هشتگها",
|
||||
"search_results.hashtags": "برچسبها",
|
||||
"search_results.statuses": "بوقها",
|
||||
"search_results.statuses_fts_disabled": "جستجوی محتوای بوقها در این سرور ماستدون ممکن نیست.",
|
||||
"search_results.total": "{count, number} {count, plural, one {نتیجه} other {نتیجه}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "نمایش",
|
||||
"status.show_more_all": "نمایش بیشتر همه",
|
||||
"status.show_thread": "نمایش گفتگو",
|
||||
"status.uncached_media_warning": "ناموجود",
|
||||
"status.unmute_conversation": "باصداکردن گفتگو",
|
||||
"status.unpin": "برداشتن نوشتهٔ ثابت نمایه",
|
||||
"suggestions.dismiss": "پیشنهاد را نادیده بگیر",
|
||||
@ -373,22 +389,22 @@
|
||||
"time_remaining.moments": "زمان باقیمانده",
|
||||
"time_remaining.seconds": "{number, plural, one {# ثانیه} other {# ثانیه}} باقی مانده",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {نفر نوشته است} other {نفر نوشتهاند}}",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "پرطرفدار",
|
||||
"ui.beforeunload": "اگر از ماستدون خارج شوید پیشنویس شما پاک خواهد شد.",
|
||||
"upload_area.title": "برای بارگذاری به اینجا بکشید",
|
||||
"upload_button.label": "افزودن عکس و ویدیو (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_error.limit": "از حد مجاز باگذاری فراتر رفتید.",
|
||||
"upload_error.poll": "باگذاری پرونده در نظرسنجیها ممکن نیست.",
|
||||
"upload_form.description": "نوشتهٔ توضیحی برای کمبینایان و نابینایان",
|
||||
"upload_form.edit": "Edit",
|
||||
"upload_form.edit": "ویرایش",
|
||||
"upload_form.undo": "حذف",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.apply": "Apply",
|
||||
"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.analyzing_picture": "در حال پردازش تصویر…",
|
||||
"upload_modal.apply": "اجرا",
|
||||
"upload_modal.description_placeholder": "مردی با بیل مادرزنش را کشت",
|
||||
"upload_modal.detect_text": "پیدا کردن نوشته از درون تصویر",
|
||||
"upload_modal.edit_media": "ویرایش تصویر",
|
||||
"upload_modal.hint": "حتی اگر تصویر بریده یا کوچک شود، نقطهٔ کانونی آن همیشه دیده خواهد شد. نقطهٔ کانونی را با کلیک یا جابهجا کردن آن تنظیم کنید.",
|
||||
"upload_modal.preview_label": "پیشنمایش ({ratio})",
|
||||
"upload_progress.label": "بارگذاری...",
|
||||
"video.close": "بستن ویدیو",
|
||||
"video.exit_fullscreen": "خروج از حالت تمام صفحه",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "Tämä käyttäjä ei vielä seuraa ketään.",
|
||||
"account.follows_you": "Seuraa sinua",
|
||||
"account.hide_reblogs": "Piilota buustaukset käyttäjältä @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Tämän linkin omistaja tarkistettiin {date}",
|
||||
"account.locked_info": "Tämän tili on yksityinen. Käyttäjä vahvistaa itse kuka voi seurata häntä.",
|
||||
"account.media": "Media",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Mykistä @{name}",
|
||||
"account.mute_notifications": "Mykistä ilmoitukset käyttäjältä @{name}",
|
||||
"account.muted": "Mykistetty",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Tuuttaukset",
|
||||
"account.posts_with_replies": "Tuuttaukset ja vastaukset",
|
||||
"account.report": "Raportoi @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Lakkaa seuraamasta",
|
||||
"account.unmute": "Poista käyttäjän @{name} mykistys",
|
||||
"account.unmute_notifications": "Poista mykistys käyttäjän @{name} ilmoituksilta",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "Tapahtui odottamaton virhe.",
|
||||
"alert.unexpected.title": "Hups!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Estetyt käyttäjät",
|
||||
"column.community": "Paikallinen aikajana",
|
||||
"column.direct": "Viestit",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Piilotetut verkkotunnukset",
|
||||
"column.favourites": "Suosikit",
|
||||
"column.follow_requests": "Seuraamispyynnöt",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Ilmoitukset",
|
||||
"column.pins": "Kiinnitetty tuuttaus",
|
||||
"column.public": "Yleinen aikajana",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Takaisin",
|
||||
"column_header.hide_settings": "Piilota asetukset",
|
||||
"column_header.moveLeft_settings": "Siirrä saraketta vasemmalle",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Haluatko varmasti poistaa tämän listan kokonaan?",
|
||||
"confirmations.domain_block.confirm": "Piilota koko verkko-osoite",
|
||||
"confirmations.domain_block.message": "Haluatko aivan varmasti estää koko verkko-osoitteen {domain}? Useimmiten jokunen kohdistettu esto ja mykistys riittää, ja se on suositeltavampi tapa toimia.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Mykistä",
|
||||
"confirmations.mute.message": "Haluatko varmasti mykistää käyttäjän {name}?",
|
||||
"confirmations.redraft.confirm": "Poista & palauta muokattavaksi",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Jos vastaat nyt, vastaus korvaa tällä hetkellä työstämäsi viestin. Oletko varma, että haluat jatkaa?",
|
||||
"confirmations.unfollow.confirm": "Lakkaa seuraamasta",
|
||||
"confirmations.unfollow.message": "Haluatko varmasti lakata seuraamasta käyttäjää {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": "Upota statuspäivitys sivullesi kopioimalla alla oleva koodi.",
|
||||
"embed.preview": "Se tulee näyttämään tältä:",
|
||||
"emoji_button.activity": "Aktiviteetit",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Kiinnitetyt tuuttaukset",
|
||||
"navigation_bar.preferences": "Asetukset",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.public_timeline": "Yleinen aikajana",
|
||||
"navigation_bar.security": "Tunnukset",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Näytä lisää",
|
||||
"status.show_more_all": "Näytä lisää kaikista",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Poista keskustelun mykistys",
|
||||
"status.unpin": "Irrota profiilista",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
@ -373,7 +389,7 @@
|
||||
"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}} talking",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "Luonnos häviää, jos poistut Mastodonista.",
|
||||
"upload_area.title": "Lataa raahaamalla ja pudottamalla tähän",
|
||||
"upload_button.label": "Lisää mediaa",
|
||||
|
@ -4,11 +4,11 @@
|
||||
"account.block": "Bloquer @{name}",
|
||||
"account.block_domain": "Tout masquer venant de {domain}",
|
||||
"account.blocked": "Bloqué",
|
||||
"account.cancel_follow_request": "Cancel follow request",
|
||||
"account.cancel_follow_request": "Annuler la demande de suivi",
|
||||
"account.direct": "Envoyer un message direct à @{name}",
|
||||
"account.domain_blocked": "Domaine caché",
|
||||
"account.edit_profile": "Modifier le profil",
|
||||
"account.endorse": "Figure sur le profil",
|
||||
"account.endorse": "Mettre en avant sur le profil",
|
||||
"account.follow": "Suivre",
|
||||
"account.followers": "Abonné⋅e⋅s",
|
||||
"account.followers.empty": "Personne ne suit cet utilisateur·rice pour l’instant.",
|
||||
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "Cet·te utilisateur·rice ne suit personne pour l’instant.",
|
||||
"account.follows_you": "Vous suit",
|
||||
"account.hide_reblogs": "Masquer les partages de @{name}",
|
||||
"account.last_status": "Dernière activité",
|
||||
"account.link_verified_on": "La propriété de ce lien a été vérifiée le {date}",
|
||||
"account.locked_info": "Ce compte est verrouillé. Son propriétaire approuve manuellement qui peut le ou la suivre.",
|
||||
"account.media": "Média",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Masquer @{name}",
|
||||
"account.mute_notifications": "Ignorer les notifications de @{name}",
|
||||
"account.muted": "Silencé",
|
||||
"account.never_active": "Jamais",
|
||||
"account.posts": "Pouets",
|
||||
"account.posts_with_replies": "Pouets et réponses",
|
||||
"account.report": "Signaler @{name}",
|
||||
@ -32,14 +34,16 @@
|
||||
"account.show_reblogs": "Afficher les partages de @{name}",
|
||||
"account.unblock": "Débloquer @{name}",
|
||||
"account.unblock_domain": "Ne plus masquer {domain}",
|
||||
"account.unendorse": "Ne figure pas sur le profil",
|
||||
"account.unendorse": "Ne pas mettre en avant sur le profil",
|
||||
"account.unfollow": "Ne plus suivre",
|
||||
"account.unmute": "Ne plus masquer @{name}",
|
||||
"account.unmute_notifications": "Réactiver les notifications de @{name}",
|
||||
"alert.rate_limited.message": "Veuillez réessayer après {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Taux limité",
|
||||
"alert.unexpected.message": "Une erreur inattendue s’est produite.",
|
||||
"alert.unexpected.title": "Oups !",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
"boost_modal.combo": "Vous pouvez appuyer sur {combo} pour pouvoir passer ceci, la prochaine fois",
|
||||
"autosuggest_hashtag.per_week": "{count} par semaine",
|
||||
"boost_modal.combo": "Vous pouvez appuyer sur {combo} pour passer ceci, la prochaine fois",
|
||||
"bundle_column_error.body": "Une erreur s’est produite lors du chargement de ce composant.",
|
||||
"bundle_column_error.retry": "Réessayer",
|
||||
"bundle_column_error.title": "Erreur réseau",
|
||||
@ -48,7 +52,8 @@
|
||||
"bundle_modal_error.retry": "Réessayer",
|
||||
"column.blocks": "Comptes bloqués",
|
||||
"column.community": "Fil public local",
|
||||
"column.direct": "Messages directs",
|
||||
"column.direct": "Messages privés",
|
||||
"column.directory": "Parcourir les profils",
|
||||
"column.domain_blocks": "Domaines cachés",
|
||||
"column.favourites": "Favoris",
|
||||
"column.follow_requests": "Demandes de suivi",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Notifications",
|
||||
"column.pins": "Pouets épinglés",
|
||||
"column.public": "Fil public global",
|
||||
"column.status": "Pouet",
|
||||
"column_back_button.label": "Retour",
|
||||
"column_header.hide_settings": "Masquer les paramètres",
|
||||
"column_header.moveLeft_settings": "Déplacer la colonne vers la gauche",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Êtes-vous sûr·e de vouloir supprimer définitivement cette liste ?",
|
||||
"confirmations.domain_block.confirm": "Masquer le domaine entier",
|
||||
"confirmations.domain_block.message": "Êtes-vous vraiment, vraiment sûr⋅e de vouloir 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": "Déconnexion",
|
||||
"confirmations.logout.message": "Êtes-vous sûr de vouloir vous déconnecter ?",
|
||||
"confirmations.mute.confirm": "Masquer",
|
||||
"confirmations.mute.message": "Confirmez-vous le masquage de {name} ?",
|
||||
"confirmations.redraft.confirm": "Effacer et ré-écrire",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Répondre maintenant écrasera le message que vous êtes en train de composer. Voulez-vous vraiment continuer ?",
|
||||
"confirmations.unfollow.confirm": "Ne plus suivre",
|
||||
"confirmations.unfollow.message": "Voulez-vous arrêter de suivre {name} ?",
|
||||
"conversation.delete": "Supprimer la conversation",
|
||||
"conversation.mark_as_read": "Marquer comme lu",
|
||||
"conversation.open": "Afficher la conversation",
|
||||
"conversation.with": "Avec {names}",
|
||||
"directory.federated": "De la fédiverse connue",
|
||||
"directory.local": "De {domain} seulement",
|
||||
"directory.new_arrivals": "Nouveaux arrivants",
|
||||
"directory.recently_active": "Récemment actif",
|
||||
"embed.instructions": "Intégrez ce statut à votre site en copiant le code ci-dessous.",
|
||||
"embed.preview": "Il apparaîtra comme cela :",
|
||||
"emoji_button.activity": "Activités",
|
||||
@ -171,7 +187,7 @@
|
||||
"introduction.federation.local.text": "Les messages publics de personnes se trouvant sur le même serveur que vous apparaîtront sur le fil public local.",
|
||||
"introduction.interactions.action": "Finir le tutoriel !",
|
||||
"introduction.interactions.favourite.headline": "Favoris",
|
||||
"introduction.interactions.favourite.text": "Vous pouvez garder un pouet pour plus tard, et faire savoir à son auteur·ice que vous l'avez aimé, en le favorisant.",
|
||||
"introduction.interactions.favourite.text": "Vous pouvez garder un pouet pour plus tard et faire savoir à son auteur·ice que vous l’avez aimé, en le favorisant.",
|
||||
"introduction.interactions.reblog.headline": "Repartager",
|
||||
"introduction.interactions.reblog.text": "Vous pouvez partager les pouets d'autres personnes avec vos abonné·e·s en les repartageant.",
|
||||
"introduction.interactions.reply.headline": "Répondre",
|
||||
@ -242,7 +258,7 @@
|
||||
"navigation_bar.filters": "Mots silenciés",
|
||||
"navigation_bar.follow_requests": "Demandes de suivi",
|
||||
"navigation_bar.follows_and_followers": "Abonnements et abonné⋅e·s",
|
||||
"navigation_bar.info": "Plus d’informations",
|
||||
"navigation_bar.info": "À propos de ce serveur",
|
||||
"navigation_bar.keyboard_shortcuts": "Raccourcis clavier",
|
||||
"navigation_bar.lists": "Listes",
|
||||
"navigation_bar.logout": "Déconnexion",
|
||||
@ -250,10 +266,9 @@
|
||||
"navigation_bar.personal": "Personnel",
|
||||
"navigation_bar.pins": "Pouets épinglés",
|
||||
"navigation_bar.preferences": "Préférences",
|
||||
"navigation_bar.profile_directory": "Annuaire des profils",
|
||||
"navigation_bar.public_timeline": "Fil public global",
|
||||
"navigation_bar.security": "Sécurité",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.and_n_others": "et {count, plural, one {# autre} other {# autres}}",
|
||||
"notification.favourite": "{name} a ajouté à ses favoris :",
|
||||
"notification.follow": "{name} vous suit",
|
||||
"notification.mention": "{name} vous a mentionné :",
|
||||
@ -321,8 +336,8 @@
|
||||
"search_results.statuses": "Pouets",
|
||||
"search_results.statuses_fts_disabled": "La recherche de pouets par leur contenu n'est pas activée sur ce serveur Mastodon.",
|
||||
"search_results.total": "{count, number} {count, plural, one {résultat} other {résultats}}",
|
||||
"status.admin_account": "Ouvrir l'interface de modération pour @{name}",
|
||||
"status.admin_status": "Ouvrir ce statut dans l'interface de modération",
|
||||
"status.admin_account": "Ouvrir l’interface de modération pour @{name}",
|
||||
"status.admin_status": "Ouvrir ce statut dans l’interface de modération",
|
||||
"status.block": "Bloquer @{name}",
|
||||
"status.cancel_reblog_private": "Dé-booster",
|
||||
"status.cannot_reblog": "Cette publication ne peut être boostée",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Déplier",
|
||||
"status.show_more_all": "Tout déplier",
|
||||
"status.show_thread": "Lire le fil",
|
||||
"status.uncached_media_warning": "Indisponible",
|
||||
"status.unmute_conversation": "Ne plus masquer la conversation",
|
||||
"status.unpin": "Retirer du profil",
|
||||
"suggestions.dismiss": "Rejeter la suggestion",
|
||||
@ -373,22 +389,22 @@
|
||||
"time_remaining.moments": "Encore quelques instants",
|
||||
"time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} restantes",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {personne} other {personnes}} discutent",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Tendance en ce moment",
|
||||
"ui.beforeunload": "Votre brouillon sera perdu si vous quittez Mastodon.",
|
||||
"upload_area.title": "Glissez et déposez pour envoyer",
|
||||
"upload_button.label": "Joindre un média (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_button.label": "Joindre un média ({formats})",
|
||||
"upload_error.limit": "Taille maximale d'envoi de fichier dépassée.",
|
||||
"upload_error.poll": "L'envoi de fichiers n'est pas autorisé avec les sondages.",
|
||||
"upload_error.poll": "L’envoi de fichiers n’est pas autorisé avec les sondages.",
|
||||
"upload_form.description": "Décrire pour les malvoyant·e·s",
|
||||
"upload_form.edit": "Edit",
|
||||
"upload_form.edit": "Modifier",
|
||||
"upload_form.undo": "Supprimer",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.apply": "Apply",
|
||||
"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.analyzing_picture": "Analyse de l’image en cours…",
|
||||
"upload_modal.apply": "Appliquer",
|
||||
"upload_modal.description_placeholder": "Buvez de ce whisky que le patron juge fameux",
|
||||
"upload_modal.detect_text": "Détecter le texte de l’image",
|
||||
"upload_modal.edit_media": "Modifier le média",
|
||||
"upload_modal.hint": "Cliquez ou faites glisser le cercle sur l’aperçu pour choisir le point focal qui sera toujours visible sur toutes les miniatures.",
|
||||
"upload_modal.preview_label": "Aperçu ({ratio})",
|
||||
"upload_progress.label": "Envoi en cours…",
|
||||
"video.close": "Fermer la vidéo",
|
||||
"video.exit_fullscreen": "Quitter le plein écran",
|
||||
|
418
app/javascript/mastodon/locales/ga.json
Normal file
418
app/javascript/mastodon/locales/ga.json
Normal file
@ -0,0 +1,418 @@
|
||||
{
|
||||
"account.add_or_remove_from_list": "Add or Remove from lists",
|
||||
"account.badges.bot": "Bot",
|
||||
"account.block": "Block @{name}",
|
||||
"account.block_domain": "Hide everything from {domain}",
|
||||
"account.blocked": "Blocked",
|
||||
"account.cancel_follow_request": "Cancel follow request",
|
||||
"account.direct": "Direct message @{name}",
|
||||
"account.domain_blocked": "Domain hidden",
|
||||
"account.edit_profile": "Edit profile",
|
||||
"account.endorse": "Feature on profile",
|
||||
"account.follow": "Follow",
|
||||
"account.followers": "Followers",
|
||||
"account.followers.empty": "No one follows this user yet.",
|
||||
"account.follows": "Follows",
|
||||
"account.follows.empty": "This user doesn't follow anyone yet.",
|
||||
"account.follows_you": "Follows you",
|
||||
"account.hide_reblogs": "Hide boosts from @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
||||
"account.media": "Media",
|
||||
"account.mention": "Mention @{name}",
|
||||
"account.moved_to": "{name} has moved to:",
|
||||
"account.mute": "Mute @{name}",
|
||||
"account.mute_notifications": "Mute notifications from @{name}",
|
||||
"account.muted": "Muted",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Toots",
|
||||
"account.posts_with_replies": "Toots and replies",
|
||||
"account.report": "Report @{name}",
|
||||
"account.requested": "Awaiting approval",
|
||||
"account.share": "Share @{name}'s profile",
|
||||
"account.show_reblogs": "Show boosts from @{name}",
|
||||
"account.unblock": "Unblock @{name}",
|
||||
"account.unblock_domain": "Unhide {domain}",
|
||||
"account.unendorse": "Don't feature on profile",
|
||||
"account.unfollow": "Unfollow",
|
||||
"account.unmute": "Unmute @{name}",
|
||||
"account.unmute_notifications": "Unmute notifications from @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "An unexpected error occurred.",
|
||||
"alert.unexpected.title": "Oops!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
"boost_modal.combo": "You can press {combo} to skip this next time",
|
||||
"bundle_column_error.body": "Something went wrong while loading this component.",
|
||||
"bundle_column_error.retry": "Try again",
|
||||
"bundle_column_error.title": "Network error",
|
||||
"bundle_modal_error.close": "Close",
|
||||
"bundle_modal_error.message": "Something went wrong while loading this component.",
|
||||
"bundle_modal_error.retry": "Try again",
|
||||
"column.blocks": "Blocked users",
|
||||
"column.community": "Local timeline",
|
||||
"column.direct": "Direct messages",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Hidden domains",
|
||||
"column.favourites": "Favourites",
|
||||
"column.follow_requests": "Follow requests",
|
||||
"column.home": "Home",
|
||||
"column.lists": "Lists",
|
||||
"column.mutes": "Muted users",
|
||||
"column.notifications": "Notifications",
|
||||
"column.pins": "Pinned toot",
|
||||
"column.public": "Federated timeline",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Back",
|
||||
"column_header.hide_settings": "Hide settings",
|
||||
"column_header.moveLeft_settings": "Move column to the left",
|
||||
"column_header.moveRight_settings": "Move column to the right",
|
||||
"column_header.pin": "Pin",
|
||||
"column_header.show_settings": "Show settings",
|
||||
"column_header.unpin": "Unpin",
|
||||
"column_subheading.settings": "Settings",
|
||||
"community.column_settings.media_only": "Media 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.",
|
||||
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
|
||||
"compose_form.lock_disclaimer.lock": "locked",
|
||||
"compose_form.placeholder": "What is on your mind?",
|
||||
"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.publish": "Toot",
|
||||
"compose_form.publish_loud": "{publish}!",
|
||||
"compose_form.sensitive.hide": "Mark media as sensitive",
|
||||
"compose_form.sensitive.marked": "Media is marked as sensitive",
|
||||
"compose_form.sensitive.unmarked": "Media is not marked as sensitive",
|
||||
"compose_form.spoiler.marked": "Text is hidden behind warning",
|
||||
"compose_form.spoiler.unmarked": "Text is not hidden",
|
||||
"compose_form.spoiler_placeholder": "Write your warning here",
|
||||
"confirmation_modal.cancel": "Cancel",
|
||||
"confirmations.block.block_and_report": "Block & Report",
|
||||
"confirmations.block.confirm": "Block",
|
||||
"confirmations.block.message": "Are you sure you want to block {name}?",
|
||||
"confirmations.delete.confirm": "Delete",
|
||||
"confirmations.delete.message": "Are you sure you want to delete this status?",
|
||||
"confirmations.delete_list.confirm": "Delete",
|
||||
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
|
||||
"confirmations.domain_block.confirm": "Hide entire domain",
|
||||
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Mute",
|
||||
"confirmations.mute.message": "Are you sure you want to mute {name}?",
|
||||
"confirmations.redraft.confirm": "Delete & redraft",
|
||||
"confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.",
|
||||
"confirmations.reply.confirm": "Reply",
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.unfollow.confirm": "Unfollow",
|
||||
"confirmations.unfollow.message": "Are you sure you want to unfollow {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": "Embed this status on your website by copying the code below.",
|
||||
"embed.preview": "Here is what it will look like:",
|
||||
"emoji_button.activity": "Activity",
|
||||
"emoji_button.custom": "Custom",
|
||||
"emoji_button.flags": "Flags",
|
||||
"emoji_button.food": "Food & Drink",
|
||||
"emoji_button.label": "Insert emoji",
|
||||
"emoji_button.nature": "Nature",
|
||||
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.objects": "Objects",
|
||||
"emoji_button.people": "People",
|
||||
"emoji_button.recent": "Frequently used",
|
||||
"emoji_button.search": "Search...",
|
||||
"emoji_button.search_results": "Search results",
|
||||
"emoji_button.symbols": "Symbols",
|
||||
"emoji_button.travel": "Travel & Places",
|
||||
"empty_column.account_timeline": "No toots here!",
|
||||
"empty_column.account_unavailable": "Profile unavailable",
|
||||
"empty_column.blocks": "You haven't blocked any users yet.",
|
||||
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
|
||||
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
|
||||
"empty_column.domain_blocks": "There are no hidden domains yet.",
|
||||
"empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.",
|
||||
"empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
|
||||
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
|
||||
"empty_column.hashtag": "There is nothing in this hashtag yet.",
|
||||
"empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
|
||||
"empty_column.home.public_timeline": "the public timeline",
|
||||
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
|
||||
"empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.",
|
||||
"empty_column.mutes": "You haven't muted any users yet.",
|
||||
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
|
||||
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
|
||||
"follow_request.authorize": "Authorize",
|
||||
"follow_request.reject": "Reject",
|
||||
"getting_started.developers": "Developers",
|
||||
"getting_started.directory": "Profile directory",
|
||||
"getting_started.documentation": "Documentation",
|
||||
"getting_started.heading": "Getting started",
|
||||
"getting_started.invite": "Invite people",
|
||||
"getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}.",
|
||||
"getting_started.security": "Security",
|
||||
"getting_started.terms": "Terms of service",
|
||||
"hashtag.column_header.tag_mode.all": "and {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "or {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "without {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "No suggestions found",
|
||||
"hashtag.column_settings.select.placeholder": "Enter hashtags…",
|
||||
"hashtag.column_settings.tag_mode.all": "All of these",
|
||||
"hashtag.column_settings.tag_mode.any": "Any of these",
|
||||
"hashtag.column_settings.tag_mode.none": "None of these",
|
||||
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
|
||||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.show_reblogs": "Show boosts",
|
||||
"home.column_settings.show_replies": "Show replies",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"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}}",
|
||||
"introduction.federation.action": "Next",
|
||||
"introduction.federation.federated.headline": "Federated",
|
||||
"introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
|
||||
"introduction.federation.home.headline": "Home",
|
||||
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
|
||||
"introduction.federation.local.headline": "Local",
|
||||
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
|
||||
"introduction.interactions.action": "Finish toot-orial!",
|
||||
"introduction.interactions.favourite.headline": "Favourite",
|
||||
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
|
||||
"introduction.interactions.reblog.headline": "Boost",
|
||||
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
|
||||
"introduction.interactions.reply.headline": "Reply",
|
||||
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
|
||||
"introduction.welcome.action": "Let's go!",
|
||||
"introduction.welcome.headline": "First steps",
|
||||
"introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
|
||||
"keyboard_shortcuts.back": "to navigate back",
|
||||
"keyboard_shortcuts.blocked": "to open blocked users list",
|
||||
"keyboard_shortcuts.boost": "to boost",
|
||||
"keyboard_shortcuts.column": "to focus a status in one of the columns",
|
||||
"keyboard_shortcuts.compose": "to focus the compose textarea",
|
||||
"keyboard_shortcuts.description": "Description",
|
||||
"keyboard_shortcuts.direct": "to open direct messages column",
|
||||
"keyboard_shortcuts.down": "to move down in the list",
|
||||
"keyboard_shortcuts.enter": "to open status",
|
||||
"keyboard_shortcuts.favourite": "to favourite",
|
||||
"keyboard_shortcuts.favourites": "to open favourites list",
|
||||
"keyboard_shortcuts.federated": "to open federated timeline",
|
||||
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
|
||||
"keyboard_shortcuts.home": "to open home timeline",
|
||||
"keyboard_shortcuts.hotkey": "Hotkey",
|
||||
"keyboard_shortcuts.legend": "to display this legend",
|
||||
"keyboard_shortcuts.local": "to open local timeline",
|
||||
"keyboard_shortcuts.mention": "to mention author",
|
||||
"keyboard_shortcuts.muted": "to open muted users list",
|
||||
"keyboard_shortcuts.my_profile": "to open your profile",
|
||||
"keyboard_shortcuts.notifications": "to open notifications column",
|
||||
"keyboard_shortcuts.pinned": "to open pinned toots list",
|
||||
"keyboard_shortcuts.profile": "to open author's profile",
|
||||
"keyboard_shortcuts.reply": "to reply",
|
||||
"keyboard_shortcuts.requests": "to open follow requests list",
|
||||
"keyboard_shortcuts.search": "to focus search",
|
||||
"keyboard_shortcuts.start": "to open \"get started\" column",
|
||||
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
|
||||
"keyboard_shortcuts.toot": "to start a brand new toot",
|
||||
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
||||
"keyboard_shortcuts.up": "to move up in the list",
|
||||
"lightbox.close": "Close",
|
||||
"lightbox.next": "Next",
|
||||
"lightbox.previous": "Previous",
|
||||
"lightbox.view_context": "View context",
|
||||
"lists.account.add": "Add to list",
|
||||
"lists.account.remove": "Remove from list",
|
||||
"lists.delete": "Delete list",
|
||||
"lists.edit": "Edit list",
|
||||
"lists.edit.submit": "Change title",
|
||||
"lists.new.create": "Add list",
|
||||
"lists.new.title_placeholder": "New list title",
|
||||
"lists.search": "Search among people you follow",
|
||||
"lists.subheading": "Your lists",
|
||||
"load_pending": "{count, plural, one {# new item} other {# new items}}",
|
||||
"loading_indicator.label": "Loading...",
|
||||
"media_gallery.toggle_visible": "Toggle visibility",
|
||||
"missing_indicator.label": "Not found",
|
||||
"missing_indicator.sublabel": "This resource could not be found",
|
||||
"mute_modal.hide_notifications": "Hide notifications from this user?",
|
||||
"navigation_bar.apps": "Mobile apps",
|
||||
"navigation_bar.blocks": "Blocked users",
|
||||
"navigation_bar.community_timeline": "Local timeline",
|
||||
"navigation_bar.compose": "Compose new toot",
|
||||
"navigation_bar.direct": "Direct messages",
|
||||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "Edit profile",
|
||||
"navigation_bar.favourites": "Favourites",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "Follow requests",
|
||||
"navigation_bar.follows_and_followers": "Follows and followers",
|
||||
"navigation_bar.info": "About this server",
|
||||
"navigation_bar.keyboard_shortcuts": "Hotkeys",
|
||||
"navigation_bar.lists": "Lists",
|
||||
"navigation_bar.logout": "Logout",
|
||||
"navigation_bar.mutes": "Muted users",
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Pinned toots",
|
||||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"notification.follow": "{name} followed you",
|
||||
"notification.mention": "{name} mentioned you",
|
||||
"notification.poll": "A poll you have voted in has ended",
|
||||
"notification.reblog": "{name} boosted your status",
|
||||
"notifications.clear": "Clear notifications",
|
||||
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
|
||||
"notifications.column_settings.alert": "Desktop notifications",
|
||||
"notifications.column_settings.favourite": "Favourites:",
|
||||
"notifications.column_settings.filter_bar.advanced": "Display all categories",
|
||||
"notifications.column_settings.filter_bar.category": "Quick filter bar",
|
||||
"notifications.column_settings.filter_bar.show": "Show",
|
||||
"notifications.column_settings.follow": "New followers:",
|
||||
"notifications.column_settings.mention": "Mentions:",
|
||||
"notifications.column_settings.poll": "Poll results:",
|
||||
"notifications.column_settings.push": "Push notifications",
|
||||
"notifications.column_settings.reblog": "Boosts:",
|
||||
"notifications.column_settings.show": "Show in column",
|
||||
"notifications.column_settings.sound": "Play sound",
|
||||
"notifications.filter.all": "All",
|
||||
"notifications.filter.boosts": "Boosts",
|
||||
"notifications.filter.favourites": "Favourites",
|
||||
"notifications.filter.follows": "Follows",
|
||||
"notifications.filter.mentions": "Mentions",
|
||||
"notifications.filter.polls": "Poll results",
|
||||
"notifications.group": "{count} notifications",
|
||||
"poll.closed": "Closed",
|
||||
"poll.refresh": "Refresh",
|
||||
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
|
||||
"poll.vote": "Vote",
|
||||
"poll_button.add_poll": "Add a poll",
|
||||
"poll_button.remove_poll": "Remove poll",
|
||||
"privacy.change": "Adjust status privacy",
|
||||
"privacy.direct.long": "Post to mentioned users only",
|
||||
"privacy.direct.short": "Direct",
|
||||
"privacy.private.long": "Post to followers only",
|
||||
"privacy.private.short": "Followers-only",
|
||||
"privacy.public.long": "Post to public timelines",
|
||||
"privacy.public.short": "Public",
|
||||
"privacy.unlisted.long": "Do not show in public timelines",
|
||||
"privacy.unlisted.short": "Unlisted",
|
||||
"regeneration_indicator.label": "Loading…",
|
||||
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
|
||||
"relative_time.days": "{number}d",
|
||||
"relative_time.hours": "{number}h",
|
||||
"relative_time.just_now": "now",
|
||||
"relative_time.minutes": "{number}m",
|
||||
"relative_time.seconds": "{number}s",
|
||||
"reply_indicator.cancel": "Cancel",
|
||||
"report.forward": "Forward to {target}",
|
||||
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
|
||||
"report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
|
||||
"report.placeholder": "Additional comments",
|
||||
"report.submit": "Submit",
|
||||
"report.target": "Report {target}",
|
||||
"search.placeholder": "Search",
|
||||
"search_popout.search_format": "Advanced search format",
|
||||
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
|
||||
"search_popout.tips.hashtag": "hashtag",
|
||||
"search_popout.tips.status": "status",
|
||||
"search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
|
||||
"search_popout.tips.user": "user",
|
||||
"search_results.accounts": "People",
|
||||
"search_results.hashtags": "Hashtags",
|
||||
"search_results.statuses": "Toots",
|
||||
"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": "Block @{name}",
|
||||
"status.cancel_reblog_private": "Unboost",
|
||||
"status.cannot_reblog": "This post cannot be boosted",
|
||||
"status.copy": "Copy link to status",
|
||||
"status.delete": "Delete",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Direct message @{name}",
|
||||
"status.embed": "Embed",
|
||||
"status.favourite": "Favourite",
|
||||
"status.filtered": "Filtered",
|
||||
"status.load_more": "Load more",
|
||||
"status.media_hidden": "Media hidden",
|
||||
"status.mention": "Mention @{name}",
|
||||
"status.more": "More",
|
||||
"status.mute": "Mute @{name}",
|
||||
"status.mute_conversation": "Mute conversation",
|
||||
"status.open": "Expand this status",
|
||||
"status.pin": "Pin on profile",
|
||||
"status.pinned": "Pinned toot",
|
||||
"status.read_more": "Read more",
|
||||
"status.reblog": "Boost",
|
||||
"status.reblog_private": "Boost to original audience",
|
||||
"status.reblogged_by": "{name} boosted",
|
||||
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
|
||||
"status.redraft": "Delete & re-draft",
|
||||
"status.reply": "Reply",
|
||||
"status.replyAll": "Reply to thread",
|
||||
"status.report": "Report @{name}",
|
||||
"status.sensitive_warning": "Sensitive content",
|
||||
"status.share": "Share",
|
||||
"status.show_less": "Show less",
|
||||
"status.show_less_all": "Show less for all",
|
||||
"status.show_more": "Show more",
|
||||
"status.show_more_all": "Show more for all",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Unmute conversation",
|
||||
"status.unpin": "Unpin from profile",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
"suggestions.header": "You might be interested in…",
|
||||
"tabs_bar.federated_timeline": "Federated",
|
||||
"tabs_bar.home": "Home",
|
||||
"tabs_bar.local_timeline": "Local",
|
||||
"tabs_bar.notifications": "Notifications",
|
||||
"tabs_bar.search": "Search",
|
||||
"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}} talking",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
|
||||
"upload_area.title": "Drag & drop to upload",
|
||||
"upload_button.label": "Add media ({formats})",
|
||||
"upload_error.limit": "File upload limit exceeded.",
|
||||
"upload_error.poll": "File upload not allowed with polls.",
|
||||
"upload_form.description": "Describe for the visually impaired",
|
||||
"upload_form.edit": "Edit",
|
||||
"upload_form.undo": "Delete",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.apply": "Apply",
|
||||
"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_progress.label": "Uploading...",
|
||||
"video.close": "Close video",
|
||||
"video.exit_fullscreen": "Exit full screen",
|
||||
"video.expand": "Expand video",
|
||||
"video.fullscreen": "Full screen",
|
||||
"video.hide": "Hide video",
|
||||
"video.mute": "Mute sound",
|
||||
"video.pause": "Pause",
|
||||
"video.play": "Play",
|
||||
"video.unmute": "Unmute sound"
|
||||
}
|
@ -4,7 +4,7 @@
|
||||
"account.block": "Bloquear @{name}",
|
||||
"account.block_domain": "Ocultar calquer contido de {domain}",
|
||||
"account.blocked": "Bloqueada",
|
||||
"account.cancel_follow_request": "Cancel follow request",
|
||||
"account.cancel_follow_request": "Cancelar petición de seguemento",
|
||||
"account.direct": "Mensaxe directa @{name}",
|
||||
"account.domain_blocked": "Dominio agochado",
|
||||
"account.edit_profile": "Editar perfil",
|
||||
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "Esta usuaria aínda non segue a ninguén.",
|
||||
"account.follows_you": "Séguete",
|
||||
"account.hide_reblogs": "Ocultar repeticións de @{name}",
|
||||
"account.last_status": "Último activo",
|
||||
"account.link_verified_on": "A propiedade de esta ligazón foi comprobada en {date}",
|
||||
"account.locked_info": "O estado da intimidade de esta conta estableceuse en pechado. A persoa dona da conta revisa quen pode seguila.",
|
||||
"account.media": "Medios",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Acalar @{name}",
|
||||
"account.mute_notifications": "Acalar as notificacións de @{name}",
|
||||
"account.muted": "Acalada",
|
||||
"account.never_active": "Nunca",
|
||||
"account.posts": "Toots",
|
||||
"account.posts_with_replies": "Toots e respostas",
|
||||
"account.report": "Informar sobre @{name}",
|
||||
@ -36,9 +38,11 @@
|
||||
"account.unfollow": "Non seguir",
|
||||
"account.unmute": "Non acalar @{name}",
|
||||
"account.unmute_notifications": "Desbloquear as notificacións de @{name}",
|
||||
"alert.rate_limited.message": "Por favor inténteo tras {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Taxa limitada",
|
||||
"alert.unexpected.message": "Aconteceu un fallo non agardado.",
|
||||
"alert.unexpected.title": "Vaia!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
"autosuggest_hashtag.per_week": "{count} por semana",
|
||||
"boost_modal.combo": "Pulse {combo} para saltar esto a próxima vez",
|
||||
"bundle_column_error.body": "Houbo un fallo mentras se cargaba este compoñente.",
|
||||
"bundle_column_error.retry": "Inténteo de novo",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Usuarias bloqueadas",
|
||||
"column.community": "Liña temporal local",
|
||||
"column.direct": "Mensaxes directas",
|
||||
"column.directory": "Ver perfiles",
|
||||
"column.domain_blocks": "Dominios agochados",
|
||||
"column.favourites": "Favoritas",
|
||||
"column.follow_requests": "Peticións de seguimento",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Notificacións",
|
||||
"column.pins": "Mensaxes fixadas",
|
||||
"column.public": "Liña temporal federada",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Atrás",
|
||||
"column_header.hide_settings": "Agochar axustes",
|
||||
"column_header.moveLeft_settings": "Mover a columna hacia a esquerda",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Estás seguro de que queres eliminar permanentemente esta lista?",
|
||||
"confirmations.domain_block.confirm": "Agochar un dominio completo",
|
||||
"confirmations.domain_block.message": "Realmente está segura de que quere bloquear por completo o dominio {domain}? Normalmente é suficiente, e preferible, bloquear de xeito selectivo varios elementos. Non verá contidos de ese dominio en ningunha liña temporal ou nas notificacións. As súas seguidoras en ese dominio serán eliminadas.",
|
||||
"confirmations.logout.confirm": "Desconectar",
|
||||
"confirmations.logout.message": "Seguro que desexa desconectar?",
|
||||
"confirmations.mute.confirm": "Acalar",
|
||||
"confirmations.mute.message": "Está segura de que quere acalar a {name}?",
|
||||
"confirmations.redraft.confirm": "Eliminar e reescribir",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Respostando agora sobreescribirá a mensaxe que está a compoñer. Segura de querer proceder?",
|
||||
"confirmations.unfollow.confirm": "Deixar de seguir",
|
||||
"confirmations.unfollow.message": "Quere deixar de seguir a {name}?",
|
||||
"conversation.delete": "Delete conversation",
|
||||
"conversation.mark_as_read": "Mark as read",
|
||||
"conversation.open": "View conversation",
|
||||
"conversation.with": "With {names}",
|
||||
"directory.federated": "Desde o fediverso coñecido",
|
||||
"directory.local": "Só desde {domain}",
|
||||
"directory.new_arrivals": "Novas achegas",
|
||||
"directory.recently_active": "Activo recentemente",
|
||||
"embed.instructions": "Copie o código inferior para incrustar no seu sitio web este estado.",
|
||||
"embed.preview": "Así será mostrado:",
|
||||
"emoji_button.activity": "Actividade",
|
||||
@ -250,10 +266,9 @@
|
||||
"navigation_bar.personal": "Persoal",
|
||||
"navigation_bar.pins": "Mensaxes fixadas",
|
||||
"navigation_bar.preferences": "Preferencias",
|
||||
"navigation_bar.profile_directory": "Directorio de perfil",
|
||||
"navigation_bar.public_timeline": "Liña temporal federada",
|
||||
"navigation_bar.security": "Seguridade",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.and_n_others": "e {count, plural, one {# outro} other {# outros}}",
|
||||
"notification.favourite": "{name} marcou como favorito o seu estado",
|
||||
"notification.follow": "{name} está a seguila",
|
||||
"notification.mention": "{name} mencionoute",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Mostrar máis",
|
||||
"status.show_more_all": "Mostrar máis para todas",
|
||||
"status.show_thread": "Mostrar fío",
|
||||
"status.uncached_media_warning": "Non dispoñible",
|
||||
"status.unmute_conversation": "Non acalar a conversa",
|
||||
"status.unpin": "Despegar do perfil",
|
||||
"suggestions.dismiss": "Rexeitar suxestión",
|
||||
@ -373,22 +389,22 @@
|
||||
"time_remaining.moments": "Está rematando",
|
||||
"time_remaining.seconds": "{number, plural, one {# segundo} other {# segundos}} restantes",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} outras {people}} conversando",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Tendencias actuais",
|
||||
"ui.beforeunload": "O borrador perderase se sae de Mastodon.",
|
||||
"upload_area.title": "Arrastre e solte para subir",
|
||||
"upload_button.label": "Engadir medios ({formats})",
|
||||
"upload_error.limit": "Excedeu o límite de subida de ficheiros.",
|
||||
"upload_error.poll": "Non se poden subir ficheiros nas sondaxes.",
|
||||
"upload_form.description": "Describa para deficientes visuais",
|
||||
"upload_form.edit": "Edit",
|
||||
"upload_form.edit": "Editar",
|
||||
"upload_form.undo": "Eliminar",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.apply": "Apply",
|
||||
"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.analyzing_picture": "Analizando imaxe…",
|
||||
"upload_modal.apply": "Aplicar",
|
||||
"upload_modal.description_placeholder": "Un raposo moi feitiño salta sobre o can preguiceiro",
|
||||
"upload_modal.detect_text": "Detectar texto na imaxe",
|
||||
"upload_modal.edit_media": "Editar medios",
|
||||
"upload_modal.hint": "Prema ou arrastre o círculo na vista previa para escolle o punto focal que se verá na vista de todas as miniaturas.",
|
||||
"upload_modal.preview_label": "Vista previa ({ratio})",
|
||||
"upload_progress.label": "Subindo...",
|
||||
"video.close": "Pechar video",
|
||||
"video.exit_fullscreen": "Saír da pantalla completa",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "This user doesn't follow anyone yet.",
|
||||
"account.follows_you": "במעקב אחריך",
|
||||
"account.hide_reblogs": "להסתיר הידהודים מאת @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
||||
"account.media": "מדיה",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "להשתיק את @{name}",
|
||||
"account.mute_notifications": "להסתיר התראות מאת @{name}",
|
||||
"account.muted": "Muted",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "הודעות",
|
||||
"account.posts_with_replies": "Toots with replies",
|
||||
"account.report": "לדווח על @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "הפסקת מעקב",
|
||||
"account.unmute": "הפסקת השתקת @{name}",
|
||||
"account.unmute_notifications": "להפסיק הסתרת הודעות מעם @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "אירעה שגיאה בלתי צפויה.",
|
||||
"alert.unexpected.title": "אופס!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "חסימות",
|
||||
"column.community": "ציר זמן מקומי",
|
||||
"column.direct": "Direct messages",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Hidden domains",
|
||||
"column.favourites": "חיבובים",
|
||||
"column.follow_requests": "בקשות מעקב",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "התראות",
|
||||
"column.pins": "Pinned toot",
|
||||
"column.public": "בפרהסיה",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "חזרה",
|
||||
"column_header.hide_settings": "הסתרת העדפות",
|
||||
"column_header.moveLeft_settings": "הזחת טור לשמאל",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
|
||||
"confirmations.domain_block.confirm": "הסתר קהילה שלמה",
|
||||
"confirmations.domain_block.message": "באמת באמת לחסום את כל קהילת {domain}? ברב המקרים השתקות נבחרות של מספר משתמשים מסויימים צריכה להספיק.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "להשתיק",
|
||||
"confirmations.mute.message": "להשתיק את {name}?",
|
||||
"confirmations.redraft.confirm": "Delete & redraft",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.unfollow.confirm": "להפסיק מעקב",
|
||||
"confirmations.unfollow.message": "להפסיק מעקב אחרי {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": "ניתן להטמיע את ההודעה באתרך ע\"י העתקת הקוד שלהלן.",
|
||||
"embed.preview": "דוגמא כיצד זה יראה:",
|
||||
"emoji_button.activity": "פעילות",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "חיצרוצים מקובעים",
|
||||
"navigation_bar.preferences": "העדפות",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.public_timeline": "ציר זמן בין-קהילתי",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "הראה יותר",
|
||||
"status.show_more_all": "Show more for all",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "הסרת השתקת שיחה",
|
||||
"status.unpin": "לשחרר מקיבוע באודות",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
@ -373,7 +389,7 @@
|
||||
"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}} talking",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "הטיוטא תאבד אם תעזבו את מסטודון.",
|
||||
"upload_area.title": "ניתן להעלות על ידי Drag & drop",
|
||||
"upload_button.label": "הוספת מדיה",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "This user doesn't follow anyone yet.",
|
||||
"account.follows_you": "Follows you",
|
||||
"account.hide_reblogs": "Hide boosts from @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
||||
"account.media": "Media",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Mute @{name}",
|
||||
"account.mute_notifications": "Mute notifications from @{name}",
|
||||
"account.muted": "Muted",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Toots",
|
||||
"account.posts_with_replies": "Toots and replies",
|
||||
"account.report": "Report @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Unfollow",
|
||||
"account.unmute": "Unmute @{name}",
|
||||
"account.unmute_notifications": "Unmute notifications from @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "An unexpected error occurred.",
|
||||
"alert.unexpected.title": "Oops!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Blocked users",
|
||||
"column.community": "Local timeline",
|
||||
"column.direct": "Direct messages",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Hidden domains",
|
||||
"column.favourites": "Favourites",
|
||||
"column.follow_requests": "Follow requests",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Notifications",
|
||||
"column.pins": "Pinned toot",
|
||||
"column.public": "Federated timeline",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Back",
|
||||
"column_header.hide_settings": "Hide settings",
|
||||
"column_header.moveLeft_settings": "Move column to the left",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
|
||||
"confirmations.domain_block.confirm": "Hide entire domain",
|
||||
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Mute",
|
||||
"confirmations.mute.message": "Are you sure you want to mute {name}?",
|
||||
"confirmations.redraft.confirm": "Delete & redraft",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.unfollow.confirm": "Unfollow",
|
||||
"confirmations.unfollow.message": "Are you sure you want to unfollow {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": "Embed this status on your website by copying the code below.",
|
||||
"embed.preview": "Here is what it will look like:",
|
||||
"emoji_button.activity": "Activity",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Pinned toots",
|
||||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Show more",
|
||||
"status.show_more_all": "Show more for all",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Unmute conversation",
|
||||
"status.unpin": "Unpin from profile",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
@ -373,7 +389,7 @@
|
||||
"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}} talking",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
|
||||
"upload_area.title": "Drag & drop to upload",
|
||||
"upload_button.label": "Add media (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "This user doesn't follow anyone yet.",
|
||||
"account.follows_you": "te slijedi",
|
||||
"account.hide_reblogs": "Hide boosts from @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
||||
"account.media": "Media",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Utišaj @{name}",
|
||||
"account.mute_notifications": "Mute notifications from @{name}",
|
||||
"account.muted": "Muted",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Postovi",
|
||||
"account.posts_with_replies": "Toots with replies",
|
||||
"account.report": "Prijavi @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Prestani slijediti",
|
||||
"account.unmute": "Poništi utišavanje @{name}",
|
||||
"account.unmute_notifications": "Unmute notifications from @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "An unexpected error occurred.",
|
||||
"alert.unexpected.title": "Oops!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Blokirani korisnici",
|
||||
"column.community": "Lokalni timeline",
|
||||
"column.direct": "Direct messages",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Hidden domains",
|
||||
"column.favourites": "Favoriti",
|
||||
"column.follow_requests": "Zahtjevi za slijeđenje",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Notifikacije",
|
||||
"column.pins": "Pinned toot",
|
||||
"column.public": "Federalni timeline",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Natrag",
|
||||
"column_header.hide_settings": "Hide settings",
|
||||
"column_header.moveLeft_settings": "Move column to the left",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
|
||||
"confirmations.domain_block.confirm": "Sakrij cijelu domenu",
|
||||
"confirmations.domain_block.message": "Jesi li zaista, zaista siguran da želiš potpuno blokirati {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Utišaj",
|
||||
"confirmations.mute.message": "Jesi li siguran da želiš utišati {name}?",
|
||||
"confirmations.redraft.confirm": "Delete & redraft",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.unfollow.confirm": "Unfollow",
|
||||
"confirmations.unfollow.message": "Are you sure you want to unfollow {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": "Embed this status on your website by copying the code below.",
|
||||
"embed.preview": "Here is what it will look like:",
|
||||
"emoji_button.activity": "Aktivnost",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Pinned toots",
|
||||
"navigation_bar.preferences": "Postavke",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.public_timeline": "Federalni timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Pokaži više",
|
||||
"status.show_more_all": "Show more for all",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Poništi utišavanje razgovora",
|
||||
"status.unpin": "Unpin from profile",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
@ -373,7 +389,7 @@
|
||||
"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}} talking",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
|
||||
"upload_area.title": "Povuci i spusti kako bi uploadao",
|
||||
"upload_button.label": "Dodaj media",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "Ez a felhasználó még senkit sem követ.",
|
||||
"account.follows_you": "Követ téged",
|
||||
"account.hide_reblogs": "@{name} megtolásainak némítása",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "A linket ellenőriztük: {date}",
|
||||
"account.locked_info": "Ez a fiók zárt. A tulaj engedélyezi, ki követheti őt.",
|
||||
"account.media": "Média",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "@{name} némítása",
|
||||
"account.mute_notifications": "@{name} értesítéseinek némítása",
|
||||
"account.muted": "Némítva",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Tülkölés",
|
||||
"account.posts_with_replies": "Tülkölés válaszokkal",
|
||||
"account.report": "@{name} jelentése",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Követés vége",
|
||||
"account.unmute": "@{name} némítás feloldása",
|
||||
"account.unmute_notifications": "@{name} némított értesítéseinek feloldása",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "Váratlan hiba történt.",
|
||||
"alert.unexpected.title": "Hoppá!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Letiltott felhasználók",
|
||||
"column.community": "Helyi idővonal",
|
||||
"column.direct": "Közvetlen üzenetek",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Rejtett domainek",
|
||||
"column.favourites": "Kedvencek",
|
||||
"column.follow_requests": "Követési kérelmek",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Értesítések",
|
||||
"column.pins": "Kitűzött tülkök",
|
||||
"column.public": "Nyilvános idővonal",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Vissza",
|
||||
"column_header.hide_settings": "Beállítások elrejtése",
|
||||
"column_header.moveLeft_settings": "Oszlop elmozdítása balra",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Biztos, hogy véglegesen törölni szeretnéd ezt a listát?",
|
||||
"confirmations.domain_block.confirm": "Teljes domain elrejtése",
|
||||
"confirmations.domain_block.message": "Egészen biztos, hogy le szeretnéd tiltani a teljes {domain}-t? A legtöbb esetben néhány célzott tiltás vagy némítás elegendő és kívánatosabb megoldás. Semmilyen tartalmat nem fogsz látni ebből a domainből se idővonalakon, se értesítésekben. Az ebben a domainben lévő követőidet is eltávolítjuk.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Némítás",
|
||||
"confirmations.mute.message": "Biztos, hogy némítani szeretnéd {name}?",
|
||||
"confirmations.redraft.confirm": "Törlés és újraírás",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Ha most válaszolsz, ez felülírja a most szerkesztés alatt álló üzenetet. Mégis ezt szeretnéd?",
|
||||
"confirmations.unfollow.confirm": "Követés visszavonása",
|
||||
"confirmations.unfollow.message": "Biztos, hogy vissza szeretnéd vonni {name} követését?",
|
||||
"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": "Á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",
|
||||
@ -158,7 +174,7 @@
|
||||
"home.column_settings.basic": "Alapértelmezések",
|
||||
"home.column_settings.show_reblogs": "Megtolások mutatása",
|
||||
"home.column_settings.show_replies": "Válaszok mutatása",
|
||||
"home.column_settings.update_live": "Frissítés valós időben",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# nap} other {# nap}}",
|
||||
"intervals.full.hours": "{number, plural, one {# óra} other {# óra}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# perc} other {# perc}}",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Személyes",
|
||||
"navigation_bar.pins": "Kitűzött tülkök",
|
||||
"navigation_bar.preferences": "Beállítások",
|
||||
"navigation_bar.profile_directory": "Profilok",
|
||||
"navigation_bar.public_timeline": "Föderációs idővonal",
|
||||
"navigation_bar.security": "Biztonság",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Többet",
|
||||
"status.show_more_all": "Többet mindenhol",
|
||||
"status.show_thread": "Szál mutatása",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Beszélgetés némításának kikapcsolása",
|
||||
"status.unpin": "Kitűzés eltávolítása a profilodról",
|
||||
"suggestions.dismiss": "Javaslat elvetése",
|
||||
@ -373,7 +389,7 @@
|
||||
"time_remaining.moments": "Pillanatok vannak hátra",
|
||||
"time_remaining.seconds": "{number, plural, one {# másodperc} other {# másodperc}} van hátra",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {résztvevő} other {résztvevő}} beszélget",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "A piszkozatod el fog veszni, ha elhagyod a Mastodon-t.",
|
||||
"upload_area.title": "Húzd ide a feltöltéshez",
|
||||
"upload_button.label": "Média hozzáadása (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "This user doesn't follow anyone yet.",
|
||||
"account.follows_you": "Հետեւում է քեզ",
|
||||
"account.hide_reblogs": "Թաքցնել @{name}֊ի տարածածները",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
||||
"account.media": "Մեդիա",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Լռեցնել @{name}֊ին",
|
||||
"account.mute_notifications": "Անջատել ծանուցումները @{name}֊ից",
|
||||
"account.muted": "Muted",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Գրառումներ",
|
||||
"account.posts_with_replies": "Toots with replies",
|
||||
"account.report": "Բողոքել @{name}֊ից",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Չհետեւել",
|
||||
"account.unmute": "Ապալռեցնել @{name}֊ին",
|
||||
"account.unmute_notifications": "Միացնել ծանուցումները @{name}֊ից",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "An unexpected error occurred.",
|
||||
"alert.unexpected.title": "Վա՜յ",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Արգելափակված օգտատերեր",
|
||||
"column.community": "Տեղական հոսք",
|
||||
"column.direct": "Direct messages",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Hidden domains",
|
||||
"column.favourites": "Հավանածներ",
|
||||
"column.follow_requests": "Հետեւելու հայցեր",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Ծանուցումներ",
|
||||
"column.pins": "Ամրացված թթեր",
|
||||
"column.public": "Դաշնային հոսք",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Ետ",
|
||||
"column_header.hide_settings": "Թաքցնել կարգավորումները",
|
||||
"column_header.moveLeft_settings": "Տեղաշարժել սյունը ձախ",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Վստա՞հ ես, որ ուզում ես մշտապես ջնջել այս ցանկը։",
|
||||
"confirmations.domain_block.confirm": "Թաքցնել ամբողջ տիրույթը",
|
||||
"confirmations.domain_block.message": "Հաստատ֊հաստա՞տ վստահ ես, որ ուզում ես արգելափակել ամբողջ {domain} տիրույթը։ Սովորաբար մի երկու թիրախավորված արգելափակում կամ լռեցում բավական է ու նախընտրելի։",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Լռեցնել",
|
||||
"confirmations.mute.message": "Վստա՞հ ես, որ ուզում ես {name}֊ին լռեցնել։",
|
||||
"confirmations.redraft.confirm": "Delete & redraft",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.unfollow.confirm": "Ապահետեւել",
|
||||
"confirmations.unfollow.message": "Վստա՞հ ես, որ ուզում ես այլեւս չհետեւել {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": "Այս թութը քո կայքում ներդնելու համար կարող ես պատճենել ներքոհիշյալ կոդը։",
|
||||
"embed.preview": "Ահա, թե ինչ տեսք կունենա այն՝",
|
||||
"emoji_button.activity": "Զբաղմունքներ",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Անձնական",
|
||||
"navigation_bar.pins": "Ամրացված թթեր",
|
||||
"navigation_bar.preferences": "Նախապատվություններ",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.public_timeline": "Դաշնային հոսք",
|
||||
"navigation_bar.security": "Անվտանգություն",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Ավելին",
|
||||
"status.show_more_all": "Show more for all",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Ապալռեցնել խոսակցությունը",
|
||||
"status.unpin": "Հանել անձնական էջից",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
@ -373,7 +389,7 @@
|
||||
"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}} talking",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "Քո սեւագիրը կկորի, եթե լքես Մաստոդոնը։",
|
||||
"upload_area.title": "Քաշիր ու նետիր՝ վերբեռնելու համար",
|
||||
"upload_button.label": "Ավելացնել մեդիա",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "Pengguna ini belum mengikuti siapapun.",
|
||||
"account.follows_you": "Mengikuti anda",
|
||||
"account.hide_reblogs": "Sembunyikan boosts dari @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Kepemilikan tautan ini telah dicek pada {date}",
|
||||
"account.locked_info": "Status privasi akun ini disetel untuk dikunci. Pemilik secara manual meninjau siapa yang dapat mengikuti mereka.",
|
||||
"account.media": "Media",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Bisukan @{name}",
|
||||
"account.mute_notifications": "Sembunyikan notifikasi dari @{name}",
|
||||
"account.muted": "Dibisukan",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Toot",
|
||||
"account.posts_with_replies": "Postingan dengan balasan",
|
||||
"account.report": "Laporkan @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Berhenti mengikuti",
|
||||
"account.unmute": "Berhenti membisukan @{name}",
|
||||
"account.unmute_notifications": "Munculkan notifikasi dari @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "Terjadi kesalahan yang tidak terduga.",
|
||||
"alert.unexpected.title": "Oops!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Pengguna diblokir",
|
||||
"column.community": "Linimasa Lokal",
|
||||
"column.direct": "Pesan langsung",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Topik tersembunyi",
|
||||
"column.favourites": "Favorit",
|
||||
"column.follow_requests": "Permintaan mengikuti",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Notifikasi",
|
||||
"column.pins": "Pinned toot",
|
||||
"column.public": "Linimasa gabungan",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Kembali",
|
||||
"column_header.hide_settings": "Sembunyikan pengaturan",
|
||||
"column_header.moveLeft_settings": "Pindahkan kolom ke kiri",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Apakah anda yakin untuk menghapus daftar ini secara permanen?",
|
||||
"confirmations.domain_block.confirm": "Sembunyikan keseluruhan domain",
|
||||
"confirmations.domain_block.message": "Apakah anda benar benar yakin untuk memblokir keseluruhan {domain}? Dalam kasus tertentu beberapa pemblokiran atau penyembunyian lebih baik.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Bisukan",
|
||||
"confirmations.mute.message": "Apa anda yakin ingin membisukan {name}?",
|
||||
"confirmations.redraft.confirm": "Hapus dan konsep ulang",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Membalas sekarang akan menimpa pesan yang sedang Anda buat. Anda yakin ingin melanjutkan?",
|
||||
"confirmations.unfollow.confirm": "Berhenti mengikuti",
|
||||
"confirmations.unfollow.message": "Apakah anda ingin berhenti mengikuti {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": "Sematkan status ini di website anda dengan menyalin kode di bawah ini.",
|
||||
"embed.preview": "Seperti ini nantinya:",
|
||||
"emoji_button.activity": "Aktivitas",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Pinned toots",
|
||||
"navigation_bar.preferences": "Pengaturan",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.public_timeline": "Linimasa gabungan",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Tampilkan semua",
|
||||
"status.show_more_all": "Show more for all",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Unmute conversation",
|
||||
"status.unpin": "Unpin from profile",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
@ -373,7 +389,7 @@
|
||||
"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}} talking",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "Naskah anda akan hilang jika anda keluar dari Mastodon.",
|
||||
"upload_area.title": "Seret & lepaskan untuk mengunggah",
|
||||
"upload_button.label": "Tambahkan media",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "This user doesn't follow anyone yet.",
|
||||
"account.follows_you": "Sequas tu",
|
||||
"account.hide_reblogs": "Hide boosts from @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
||||
"account.media": "Media",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Celar @{name}",
|
||||
"account.mute_notifications": "Mute notifications from @{name}",
|
||||
"account.muted": "Muted",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Mesaji",
|
||||
"account.posts_with_replies": "Toots with replies",
|
||||
"account.report": "Denuncar @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Ne plus sequar",
|
||||
"account.unmute": "Ne plus celar @{name}",
|
||||
"account.unmute_notifications": "Unmute notifications from @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "An unexpected error occurred.",
|
||||
"alert.unexpected.title": "Oops!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Blokusita uzeri",
|
||||
"column.community": "Lokala tempolineo",
|
||||
"column.direct": "Direct messages",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Hidden domains",
|
||||
"column.favourites": "Favorati",
|
||||
"column.follow_requests": "Demandi di sequado",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Savigi",
|
||||
"column.pins": "Pinned toot",
|
||||
"column.public": "Federata tempolineo",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Retro",
|
||||
"column_header.hide_settings": "Hide settings",
|
||||
"column_header.moveLeft_settings": "Move column to the left",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
|
||||
"confirmations.domain_block.confirm": "Hide entire domain",
|
||||
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Mute",
|
||||
"confirmations.mute.message": "Are you sure you want to mute {name}?",
|
||||
"confirmations.redraft.confirm": "Delete & redraft",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.unfollow.confirm": "Unfollow",
|
||||
"confirmations.unfollow.message": "Are you sure you want to unfollow {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": "Embed this status on your website by copying the code below.",
|
||||
"embed.preview": "Here is what it will look like:",
|
||||
"emoji_button.activity": "Activity",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Pinned toots",
|
||||
"navigation_bar.preferences": "Preferi",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.public_timeline": "Federata tempolineo",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Montrar plue",
|
||||
"status.show_more_all": "Show more for all",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Unmute conversation",
|
||||
"status.unpin": "Unpin from profile",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
@ -373,7 +389,7 @@
|
||||
"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}} talking",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
|
||||
"upload_area.title": "Tranar faligar por kargar",
|
||||
"upload_button.label": "Adjuntar kontenajo",
|
||||
|
@ -4,7 +4,7 @@
|
||||
"account.block": "Blocca @{name}",
|
||||
"account.block_domain": "Nascondi tutto da {domain}",
|
||||
"account.blocked": "Bloccato",
|
||||
"account.cancel_follow_request": "Cancel follow request",
|
||||
"account.cancel_follow_request": "Annulla richiesta di seguito",
|
||||
"account.direct": "Invia messaggio privato a @{name}",
|
||||
"account.domain_blocked": "Dominio nascosto",
|
||||
"account.edit_profile": "Modifica profilo",
|
||||
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "Questo utente non segue ancora nessuno.",
|
||||
"account.follows_you": "Ti segue",
|
||||
"account.hide_reblogs": "Nascondi condivisioni da @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "La proprietà di questo link è stata controllata il {date}",
|
||||
"account.locked_info": "Il livello di privacy di questo account è impostato a \"bloccato\". Il proprietario esamina manualmente le richieste di seguirlo.",
|
||||
"account.media": "Media",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Silenzia @{name}",
|
||||
"account.mute_notifications": "Silenzia notifiche da @{name}",
|
||||
"account.muted": "Silenziato",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Toot",
|
||||
"account.posts_with_replies": "Toot e risposte",
|
||||
"account.report": "Segnala @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Non seguire",
|
||||
"account.unmute": "Non silenziare @{name}",
|
||||
"account.unmute_notifications": "Non silenziare più le notifiche da @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "Si è verificato un errore inatteso.",
|
||||
"alert.unexpected.title": "Oops!",
|
||||
"autosuggest_hashtag.per_week": "{count} per settimana",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Utenti bloccati",
|
||||
"column.community": "Timeline locale",
|
||||
"column.direct": "Messaggi diretti",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Domini nascosti",
|
||||
"column.favourites": "Apprezzati",
|
||||
"column.follow_requests": "Richieste di amicizia",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Notifiche",
|
||||
"column.pins": "Toot fissati in cima",
|
||||
"column.public": "Timeline federata",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Indietro",
|
||||
"column_header.hide_settings": "Nascondi impostazioni",
|
||||
"column_header.moveLeft_settings": "Sposta colonna a sinistra",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Sei sicuro di voler cancellare definitivamente questa lista?",
|
||||
"confirmations.domain_block.confirm": "Nascondi intero dominio",
|
||||
"confirmations.domain_block.message": "Sei davvero sicuro che vuoi bloccare l'intero {domain}? Nella maggior parte dei casi, pochi blocchi o silenziamenti mirati sono sufficienti e preferibili. Non vedrai nessun contenuto di quel dominio né nelle timeline pubbliche né nelle notifiche. I tuoi seguaci di quel dominio saranno eliminati.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Silenzia",
|
||||
"confirmations.mute.message": "Sei sicuro di voler silenziare {name}?",
|
||||
"confirmations.redraft.confirm": "Cancella e riscrivi",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Se rispondi ora, il messaggio che stai componendo sarà sovrascritto. Sei sicuro di voler continuare?",
|
||||
"confirmations.unfollow.confirm": "Smetti di seguire",
|
||||
"confirmations.unfollow.message": "Sei sicuro che non vuoi più seguire {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": "Inserisci questo status nel tuo sito copiando il codice qui sotto.",
|
||||
"embed.preview": "Ecco come apparirà:",
|
||||
"emoji_button.activity": "Attività",
|
||||
@ -158,7 +174,7 @@
|
||||
"home.column_settings.basic": "Semplice",
|
||||
"home.column_settings.show_reblogs": "Mostra post condivisi",
|
||||
"home.column_settings.show_replies": "Mostra risposte",
|
||||
"home.column_settings.update_live": "Aggiornama in tempo reale",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"intervals.full.days": "{number, plural, one {# giorno} other {# giorni}}",
|
||||
"intervals.full.hours": "{number, plural, one {# ora} other {# ore}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minuti}}",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Personale",
|
||||
"navigation_bar.pins": "Toot fissati in cima",
|
||||
"navigation_bar.preferences": "Impostazioni",
|
||||
"navigation_bar.profile_directory": "Directory dei profili",
|
||||
"navigation_bar.public_timeline": "Timeline federata",
|
||||
"navigation_bar.security": "Sicurezza",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Mostra di più",
|
||||
"status.show_more_all": "Mostra di più per tutti",
|
||||
"status.show_thread": "Mostra thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Annulla silenzia conversazione",
|
||||
"status.unpin": "Non fissare in cima al profilo",
|
||||
"suggestions.dismiss": "Elimina suggerimento",
|
||||
@ -373,22 +389,22 @@
|
||||
"time_remaining.moments": "Restano pochi istanti",
|
||||
"time_remaining.seconds": "{number, plural, one {# secondo} other {# secondi}} left",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {persona ne sta} other {persone ne stanno}} parlando",
|
||||
"trends.refresh": "Aggiorna",
|
||||
"trends.trending_now": "Di tendenza ora",
|
||||
"ui.beforeunload": "La bozza andrà persa se esci da Mastodon.",
|
||||
"upload_area.title": "Trascina per caricare",
|
||||
"upload_button.label": "Aggiungi file multimediale",
|
||||
"upload_error.limit": "Limite al caricamento di file superato.",
|
||||
"upload_error.poll": "Caricamento file non consentito nei sondaggi.",
|
||||
"upload_form.description": "Descrizione per utenti con disabilità visive",
|
||||
"upload_form.edit": "Edit",
|
||||
"upload_form.edit": "Modifica",
|
||||
"upload_form.undo": "Cancella",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.analyzing_picture": "Analisi immagine…",
|
||||
"upload_modal.apply": "Apply",
|
||||
"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.description_placeholder": "Ma la volpe col suo balzo ha raggiunto il quieto Fido",
|
||||
"upload_modal.detect_text": "Rileva testo dall'immagine",
|
||||
"upload_modal.edit_media": "Modifica media",
|
||||
"upload_modal.hint": "Clicca o trascina il cerchio sull'anteprima per scegliere il punto focale che sarà sempre visualizzato su tutte le miniature.",
|
||||
"upload_modal.preview_label": "Preview ({ratio})",
|
||||
"upload_modal.preview_label": "Anteprima ({ratio})",
|
||||
"upload_progress.label": "Sto caricando...",
|
||||
"video.close": "Chiudi video",
|
||||
"video.exit_fullscreen": "Esci da modalità a schermo intero",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "まだ誰もフォローしていません。",
|
||||
"account.follows_you": "フォローされています",
|
||||
"account.hide_reblogs": "@{name}さんからのブーストを非表示",
|
||||
"account.last_status": "最後の活動",
|
||||
"account.link_verified_on": "このリンクの所有権は{date}に確認されました",
|
||||
"account.locked_info": "このアカウントは承認制アカウントです。相手が承認するまでフォローは完了しません。",
|
||||
"account.media": "メディア",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "@{name}さんをミュート",
|
||||
"account.mute_notifications": "@{name}さんからの通知を受け取らない",
|
||||
"account.muted": "ミュート済み",
|
||||
"account.never_active": "活動なし",
|
||||
"account.posts": "投稿",
|
||||
"account.posts_with_replies": "投稿と返信",
|
||||
"account.report": "@{name}さんを通報",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "フォロー解除",
|
||||
"account.unmute": "@{name}さんのミュートを解除",
|
||||
"account.unmute_notifications": "@{name}さんからの通知を受け取るようにする",
|
||||
"alert.rate_limited.message": "{retry_time, time, medium} 以降に再試行してください。",
|
||||
"alert.rate_limited.title": "制限に達しました",
|
||||
"alert.unexpected.message": "不明なエラーが発生しました。",
|
||||
"alert.unexpected.title": "エラー!",
|
||||
"autosuggest_hashtag.per_week": "{count} 回 / 週",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "ブロックしたユーザー",
|
||||
"column.community": "ローカルタイムライン",
|
||||
"column.direct": "ダイレクトメッセージ",
|
||||
"column.directory": "プロフィールを見る",
|
||||
"column.domain_blocks": "非表示にしたドメイン",
|
||||
"column.favourites": "お気に入り",
|
||||
"column.follow_requests": "フォローリクエスト",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "通知",
|
||||
"column.pins": "固定された投稿",
|
||||
"column.public": "連合タイムライン",
|
||||
"column.status": "トゥート",
|
||||
"column_back_button.label": "戻る",
|
||||
"column_header.hide_settings": "設定を隠す",
|
||||
"column_header.moveLeft_settings": "カラムを左に移動する",
|
||||
@ -97,6 +103,8 @@
|
||||
"confirmations.delete_list.message": "本当にこのリストを完全に削除しますか?",
|
||||
"confirmations.domain_block.confirm": "ドメイン全体を非表示",
|
||||
"confirmations.domain_block.message": "本当に{domain}全体を非表示にしますか? 多くの場合は個別にブロックやミュートするだけで充分であり、また好ましいです。公開タイムラインにそのドメインのコンテンツが表示されなくなり、通知も届かなくなります。そのドメインのフォロワーはアンフォローされます。",
|
||||
"confirmations.logout.confirm": "ログアウト",
|
||||
"confirmations.logout.message": "本当にログアウトしますか?",
|
||||
"confirmations.mute.confirm": "ミュート",
|
||||
"confirmations.mute.message": "本当に{name}さんをミュートしますか?",
|
||||
"confirmations.redraft.confirm": "削除して下書きに戻す",
|
||||
@ -105,6 +113,14 @@
|
||||
"confirmations.reply.message": "今返信すると現在作成中のメッセージが上書きされます。本当に実行しますか?",
|
||||
"confirmations.unfollow.confirm": "フォロー解除",
|
||||
"confirmations.unfollow.message": "本当に{name}さんのフォローを解除しますか?",
|
||||
"conversation.delete": "このやりとりを削除",
|
||||
"conversation.mark_as_read": "既読にする",
|
||||
"conversation.open": "会話を表示する",
|
||||
"conversation.with": "{names} を付ける",
|
||||
"directory.federated": "既知の連合より",
|
||||
"directory.local": "{domain} のみ",
|
||||
"directory.new_arrivals": "新着順",
|
||||
"directory.recently_active": "最近の活動順",
|
||||
"embed.instructions": "下記のコードをコピーしてウェブサイトに埋め込みます。",
|
||||
"embed.preview": "表示例:",
|
||||
"emoji_button.activity": "活動",
|
||||
@ -254,12 +270,12 @@
|
||||
"navigation_bar.personal": "個人用",
|
||||
"navigation_bar.pins": "固定したトゥート",
|
||||
"navigation_bar.preferences": "ユーザー設定",
|
||||
"navigation_bar.profile_directory": "ディレクトリ",
|
||||
"navigation_bar.public_timeline": "連合タイムライン",
|
||||
"navigation_bar.security": "セキュリティ",
|
||||
"navigation_bar.announcements": "運営からのお知らせ",
|
||||
"navigation_bar.trends": "トレンド",
|
||||
"navigation_bar.bookmarks": "ブックマーク",
|
||||
"notification.and_n_others": "と、その他 {count, plural, one {#} other {#}}",
|
||||
"notification.favourite": "{name}さんがあなたのトゥートに╰( ^o^)╮-=ニ=一=三★しました",
|
||||
"notification.follow": "{name}さんにフォローされました",
|
||||
"notification.mention": "{name}さんがあなたに返信しました",
|
||||
@ -365,6 +381,7 @@
|
||||
"status.show_more": "もっと見る",
|
||||
"status.show_more_all": "全て見る",
|
||||
"status.show_thread": "スレッドを表示",
|
||||
"status.uncached_media_warning": "利用できません",
|
||||
"status.unmute_conversation": "会話のミュートを解除",
|
||||
"status.unpin": "プロフィールへの固定を解除",
|
||||
"suggestions.dismiss": "隠す",
|
||||
@ -381,7 +398,7 @@
|
||||
"time_remaining.moments": "まもなく終了",
|
||||
"time_remaining.seconds": "残り{number}秒",
|
||||
"trends.count_by_accounts": "{count}人がトゥート",
|
||||
"trends.refresh": "更新",
|
||||
"trends.trending_now": "トレンド",
|
||||
"ui.beforeunload": "Mastodonから離れると送信前の投稿は失われます。",
|
||||
"upload_area.title": "ドラッグ&ドロップでアップロード",
|
||||
"upload_button.label": "メディアを追加 ({formats})",
|
||||
@ -392,10 +409,10 @@
|
||||
"upload_form.undo": "削除",
|
||||
"upload_modal.analyzing_picture": "画像を解析中…",
|
||||
"upload_modal.apply": "適用",
|
||||
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
|
||||
"upload_modal.description_placeholder": "素早い茶色の狐はのろまな犬を飛び越える",
|
||||
"upload_modal.detect_text": "画像からテキストを検出",
|
||||
"upload_modal.edit_media": "メディアを編集",
|
||||
"upload_modal.hint": "画像をクリックするか円をドラッグすると全てのサムネイルで注目する場所を選ぶことができます",
|
||||
"upload_modal.hint": "画像をクリックするか円をドラッグすると全てのサムネイルの中心点を決めることができます",
|
||||
"upload_modal.preview_label": "プレビュー ({ratio})",
|
||||
"upload_progress.label": "アップロード中...",
|
||||
"video.close": "動画を閉じる",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "This user doesn't follow anyone yet.",
|
||||
"account.follows_you": "მოგყვებათ",
|
||||
"account.hide_reblogs": "დაიმალოს ბუსტები @{name}-სგან",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
||||
"account.media": "მედია",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "გააჩუმე @{name}",
|
||||
"account.mute_notifications": "გააჩუმე შეტყობინებები @{name}-სგან",
|
||||
"account.muted": "გაჩუმებული",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "ტუტები",
|
||||
"account.posts_with_replies": "ტუტები და პასუხები",
|
||||
"account.report": "დაარეპორტე @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "ნუღარ მიჰყვები",
|
||||
"account.unmute": "ნუღარ აჩუმებ @{name}-ს",
|
||||
"account.unmute_notifications": "ნუღარ აჩუმებ შეტყობინებებს @{name}-სგან",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "წარმოიშვა მოულოდნელი შეცდომა.",
|
||||
"alert.unexpected.title": "უპს!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "დაბლოკილი მომხმარებლები",
|
||||
"column.community": "ლოკალური თაიმლაინი",
|
||||
"column.direct": "პირდაპირი წერილები",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "დამალული დომენები",
|
||||
"column.favourites": "ფავორიტები",
|
||||
"column.follow_requests": "დადევნების მოთხოვნები",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "შეტყობინებები",
|
||||
"column.pins": "აპინული ტუტები",
|
||||
"column.public": "ფედერალური თაიმლაინი",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "უკან",
|
||||
"column_header.hide_settings": "პარამეტრების დამალვა",
|
||||
"column_header.moveLeft_settings": "სვეტის მარცხნივ გადატანა",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "დარწმუნებული ხართ, გსურთ სამუდამოდ გააუქმოთ ეს სია?",
|
||||
"confirmations.domain_block.confirm": "მთელი დომენის დამალვა",
|
||||
"confirmations.domain_block.message": "ნაღდად, ნაღდად, დარწმუნებული ხართ, გსურთ დაბლოკოთ მთელი {domain}? უმეტეს შემთხვევაში რამდენიმე გამიზნული ბლოკი ან გაჩუმება საკმარისი და უკეთესია. კონტენტს ამ დომენიდან ვერ იხილავთ ვერც ერთ ღია თაიმლაინზე ან თქვენს შეტყობინებებში. ამ დომენიდან არსებული მიმდევრები ამოიშლება.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "გაჩუმება",
|
||||
"confirmations.mute.message": "დარწმუნებული ხართ, გსურთ გააჩუმოთ {name}?",
|
||||
"confirmations.redraft.confirm": "გაუქმება და გადანაწილება",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.unfollow.confirm": "ნუღარ მიჰყვები",
|
||||
"confirmations.unfollow.message": "დარწმუნებული ხართ, აღარ გსურთ მიჰყვებოდეთ {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": "ეს სტატუსი ჩასვით თქვენს ვებ-საიტზე შემდეგი კოდის კოპირებით.",
|
||||
"embed.preview": "ესაა თუ როგორც გამოჩნდება:",
|
||||
"emoji_button.activity": "აქტივობა",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "პირადი",
|
||||
"navigation_bar.pins": "აპინული ტუტები",
|
||||
"navigation_bar.preferences": "პრეფერენსიები",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.public_timeline": "ფედერალური თაიმლაინი",
|
||||
"navigation_bar.security": "უსაფრთხოება",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "აჩვენე მეტი",
|
||||
"status.show_more_all": "აჩვენე მეტი ყველაზე",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "საუბარზე გაჩუმების მოშორება",
|
||||
"status.unpin": "პროფილიდან პინის მოშორება",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
@ -373,7 +389,7 @@
|
||||
"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}} საუბრობს",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "თქვენი დრაფტი გაუქმდება თუ დატოვებთ მასტოდონს.",
|
||||
"upload_area.title": "გადმოწიეთ და ჩააგდეთ ასატვირთათ",
|
||||
"upload_button.label": "მედიის დამატება",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "Ешкімге жазылмапты.",
|
||||
"account.follows_you": "Сізге жазылыпты",
|
||||
"account.hide_reblogs": "@{name} атты қолданушының әрекеттерін жасыру",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Сілтеме меншігі расталған күн {date}",
|
||||
"account.locked_info": "Бұл қолданушы өзі туралы мәліметтерді жасырған. Тек жазылғандар ғана көре алады.",
|
||||
"account.media": "Медиа",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Үнсіз қылу @{name}",
|
||||
"account.mute_notifications": "@{name} туралы ескертпелерді жасыру",
|
||||
"account.muted": "Үнсіз",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Жазбалар",
|
||||
"account.posts_with_replies": "Жазбалар мен жауаптар",
|
||||
"account.report": "Шағымдану @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Оқымау",
|
||||
"account.unmute": "@{name} ескертпелерін қосу",
|
||||
"account.unmute_notifications": "@{name} ескертпелерін көрсету",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "Бір нәрсе дұрыс болмады.",
|
||||
"alert.unexpected.title": "Өй!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Бұғатталғандар",
|
||||
"column.community": "Жергілікті желі",
|
||||
"column.direct": "Жеке хаттар",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Жасырылған домендер",
|
||||
"column.favourites": "Таңдаулылар",
|
||||
"column.follow_requests": "Жазылу сұранымдары",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Ескертпелер",
|
||||
"column.pins": "Жабыстырылған жазбалар",
|
||||
"column.public": "Жаһандық желі",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Артқа",
|
||||
"column_header.hide_settings": "Баптауларды жасыр",
|
||||
"column_header.moveLeft_settings": "Бағананы солға жылжыту",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Бұл тізімді жоясыз ба шынымен?",
|
||||
"confirmations.domain_block.confirm": "Бұл доменді бұғатта",
|
||||
"confirmations.domain_block.message": "Бұл домендегі {domain} жазбаларды шынымен бұғаттайсыз ба? Кейде үнсіз қылып тастау да жеткілікті.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Үнсіз қылу",
|
||||
"confirmations.mute.message": "{name} атты қолданушы үнсіз болсын ба?",
|
||||
"confirmations.redraft.confirm": "Өшіруді құптау",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Жауабыңыз жазып жатқан жазбаңыздың үстіне кетеді. Жалғастырамыз ба?",
|
||||
"confirmations.unfollow.confirm": "Оқымау",
|
||||
"confirmations.unfollow.message": "\"{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": "Төмендегі кодты көшіріп алу арқылы жазбаны басқа сайттарға да орналастыра аласыз.",
|
||||
"embed.preview": "Былай көрінетін болады:",
|
||||
"emoji_button.activity": "Белсенділік",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Жеке",
|
||||
"navigation_bar.pins": "Жабыстырылғандар",
|
||||
"navigation_bar.preferences": "Басымдықтар",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.public_timeline": "Жаһандық желі",
|
||||
"navigation_bar.security": "Қауіпсіздік",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Толығырақ",
|
||||
"status.show_more_all": "Бәрін толығымен",
|
||||
"status.show_thread": "Желіні көрсет",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Пікірталасты үнсіз қылмау",
|
||||
"status.unpin": "Профильден алып тастау",
|
||||
"suggestions.dismiss": "Өткізіп жіберу",
|
||||
@ -373,7 +389,7 @@
|
||||
"time_remaining.moments": "Қалған уақыт",
|
||||
"time_remaining.seconds": "{number, plural, one {# секунд} other {# секунд}}",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} жазған екен",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "Mastodon желісінен шықсаңыз, нобайыңыз сақталмайды.",
|
||||
"upload_area.title": "Жүктеу үшін сүйреп әкеліңіз",
|
||||
"upload_button.label": "Медиа қосу (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "이 유저는 아직 아무도 팔로우 하고 있지 않습니다.",
|
||||
"account.follows_you": "날 팔로우합니다",
|
||||
"account.hide_reblogs": "@{name}의 부스트를 숨기기",
|
||||
"account.last_status": "마지막 활동",
|
||||
"account.link_verified_on": "{date}에 이 링크의 소유권이 확인 됨",
|
||||
"account.locked_info": "이 계정의 프라이버시 설정은 잠금으로 설정되어 있습니다. 계정 소유자가 수동으로 팔로어를 승인합니다.",
|
||||
"account.media": "미디어",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "@{name} 뮤트",
|
||||
"account.mute_notifications": "@{name}의 알림을 뮤트",
|
||||
"account.muted": "뮤트 됨",
|
||||
"account.never_active": "없음",
|
||||
"account.posts": "툿",
|
||||
"account.posts_with_replies": "툿과 답장",
|
||||
"account.report": "@{name} 신고",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "팔로우 해제",
|
||||
"account.unmute": "뮤트 해제",
|
||||
"account.unmute_notifications": "@{name}의 알림 뮤트 해제",
|
||||
"alert.rate_limited.message": "{retry_time, time, medium}에 다시 시도해 주세요.",
|
||||
"alert.rate_limited.title": "빈도 제한",
|
||||
"alert.unexpected.message": "예측하지 못한 에러가 발생했습니다.",
|
||||
"alert.unexpected.title": "앗!",
|
||||
"autosuggest_hashtag.per_week": "주간 {count}회",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "차단 중인 사용자",
|
||||
"column.community": "로컬 타임라인",
|
||||
"column.direct": "다이렉트 메시지",
|
||||
"column.directory": "프로필 둘러보기",
|
||||
"column.domain_blocks": "숨겨진 도메인",
|
||||
"column.favourites": "즐겨찾기",
|
||||
"column.follow_requests": "팔로우 요청",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "알림",
|
||||
"column.pins": "고정된 툿",
|
||||
"column.public": "연합 타임라인",
|
||||
"column.status": "툿",
|
||||
"column_back_button.label": "돌아가기",
|
||||
"column_header.hide_settings": "설정 숨기기",
|
||||
"column_header.moveLeft_settings": "왼쪽으로 이동",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "정말로 이 리스트를 삭제하시겠습니까?",
|
||||
"confirmations.domain_block.confirm": "도메인 전체를 숨김",
|
||||
"confirmations.domain_block.message": "정말로 {domain} 전체를 숨기시겠습니까? 대부분의 경우 개별 차단이나 뮤트로 충분합니다. 모든 공개 타임라인과 알림에서 해당 도메인에서 작성된 컨텐츠를 보지 못합니다. 해당 도메인 팔로워와의 관계가 사라집니다.",
|
||||
"confirmations.logout.confirm": "로그아웃",
|
||||
"confirmations.logout.message": "정말로 로그아웃 하시겠습니까?",
|
||||
"confirmations.mute.confirm": "뮤트",
|
||||
"confirmations.mute.message": "정말로 {name}를 뮤트하시겠습니까?",
|
||||
"confirmations.redraft.confirm": "삭제하고 다시 쓰기",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "답글을 달기 위해 현재 작성 중인 메시지가 덮어 씌워집니다. 진행하시겠습니까?",
|
||||
"confirmations.unfollow.confirm": "언팔로우",
|
||||
"confirmations.unfollow.message": "정말로 {name}를 언팔로우하시겠습니까?",
|
||||
"conversation.delete": "대화 삭제",
|
||||
"conversation.mark_as_read": "읽은 상태로 표시",
|
||||
"conversation.open": "대화 보기",
|
||||
"conversation.with": "{names} 와 함께",
|
||||
"directory.federated": "알려진 연합우주로부터",
|
||||
"directory.local": "{domain}에서만",
|
||||
"directory.new_arrivals": "새로운 사람들",
|
||||
"directory.recently_active": "최근 활동",
|
||||
"embed.instructions": "아래의 코드를 복사하여 대화를 원하는 곳으로 공유하세요.",
|
||||
"embed.preview": "다음과 같이 표시됩니다:",
|
||||
"emoji_button.activity": "활동",
|
||||
@ -158,7 +174,7 @@
|
||||
"home.column_settings.basic": "기본 설정",
|
||||
"home.column_settings.show_reblogs": "부스트 표시",
|
||||
"home.column_settings.show_replies": "답글 표시",
|
||||
"home.column_settings.update_live": "실시간 업데이트",
|
||||
"home.column_settings.update_live": "실시간 갱신",
|
||||
"intervals.full.days": "{number} 일",
|
||||
"intervals.full.hours": "{number} 시간",
|
||||
"intervals.full.minutes": "{number} 분",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "개인용",
|
||||
"navigation_bar.pins": "고정된 툿",
|
||||
"navigation_bar.preferences": "사용자 설정",
|
||||
"navigation_bar.profile_directory": "프로필 디렉토리",
|
||||
"navigation_bar.public_timeline": "연합 타임라인",
|
||||
"navigation_bar.security": "보안",
|
||||
"notification.and_n_others": "그리고 {count}개의 기타 항목",
|
||||
@ -282,7 +297,7 @@
|
||||
"notifications.group": "{count} 개의 알림",
|
||||
"poll.closed": "마감됨",
|
||||
"poll.refresh": "새로고침",
|
||||
"poll.total_votes": "{count} 명 참여",
|
||||
"poll.total_votes": "{count} 표",
|
||||
"poll.vote": "투표",
|
||||
"poll_button.add_poll": "투표 추가",
|
||||
"poll_button.remove_poll": "투표 삭제",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "더 보기",
|
||||
"status.show_more_all": "모두 펼치기",
|
||||
"status.show_thread": "글타래 보기",
|
||||
"status.uncached_media_warning": "사용할 수 없음",
|
||||
"status.unmute_conversation": "이 대화의 뮤트 해제하기",
|
||||
"status.unpin": "고정 해제",
|
||||
"suggestions.dismiss": "추천 지우기",
|
||||
@ -373,7 +389,7 @@
|
||||
"time_remaining.moments": "남은 시간",
|
||||
"time_remaining.seconds": "{number} 초 남음",
|
||||
"trends.count_by_accounts": "{count} 명의 사람들이 말하고 있습니다",
|
||||
"trends.refresh": "새로고침",
|
||||
"trends.trending_now": "지금 유행중",
|
||||
"ui.beforeunload": "지금 나가면 저장되지 않은 항목을 잃게 됩니다.",
|
||||
"upload_area.title": "드래그 & 드롭으로 업로드",
|
||||
"upload_button.label": "미디어 추가 (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "This user doesn't follow anyone yet.",
|
||||
"account.follows_you": "Follows you",
|
||||
"account.hide_reblogs": "Hide boosts from @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
||||
"account.media": "Media",
|
||||
@ -24,10 +25,11 @@
|
||||
"account.mute": "Mute @{name}",
|
||||
"account.mute_notifications": "Mute notifications from @{name}",
|
||||
"account.muted": "Muted",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Toots",
|
||||
"account.posts_with_replies": "Toots and replies",
|
||||
"account.report": "Report @{name}",
|
||||
"account.requested": "Awaiting approval. Click to cancel follow request",
|
||||
"account.requested": "Awaiting approval",
|
||||
"account.share": "Share @{name}'s profile",
|
||||
"account.show_reblogs": "Show boosts from @{name}",
|
||||
"account.unblock": "Unblock @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Unfollow",
|
||||
"account.unmute": "Unmute @{name}",
|
||||
"account.unmute_notifications": "Unmute notifications from @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "An unexpected error occurred.",
|
||||
"alert.unexpected.title": "Oops!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Blocked users",
|
||||
"column.community": "Local timeline",
|
||||
"column.direct": "Direct messages",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Hidden domains",
|
||||
"column.favourites": "Favourites",
|
||||
"column.follow_requests": "Follow requests",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Notifications",
|
||||
"column.pins": "Pinned toot",
|
||||
"column.public": "Federated timeline",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Back",
|
||||
"column_header.hide_settings": "Hide settings",
|
||||
"column_header.moveLeft_settings": "Move column to the left",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
|
||||
"confirmations.domain_block.confirm": "Hide entire domain",
|
||||
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Mute",
|
||||
"confirmations.mute.message": "Are you sure you want to mute {name}?",
|
||||
"confirmations.redraft.confirm": "Delete & redraft",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.unfollow.confirm": "Unfollow",
|
||||
"confirmations.unfollow.message": "Are you sure you want to unfollow {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": "Embed this status on your website by copying the code below.",
|
||||
"embed.preview": "Here is what it will look like:",
|
||||
"emoji_button.activity": "Activity",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Pinned toots",
|
||||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Show more",
|
||||
"status.show_more_all": "Show more for all",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Unmute conversation",
|
||||
"status.unpin": "Unpin from profile",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
@ -373,7 +389,7 @@
|
||||
"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}} talking",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
|
||||
"upload_area.title": "Drag & drop to upload",
|
||||
"upload_button.label": "Add media ({formats})",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "Šis lietotājs pagaidām nevienam neseko.",
|
||||
"account.follows_you": "Seko tev",
|
||||
"account.hide_reblogs": "Paslēpt paceltos ierakstus no lietotāja @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Šīs saites piederība ir pārbaudīta {date}",
|
||||
"account.locked_info": "Šī konta privātuma status ir iestatīts slēgts. Īpašnieks izskatīs un izvēlēsies kas viņam drīkst sekot.",
|
||||
"account.media": "Mēdiji",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Apklusināt @{name}",
|
||||
"account.mute_notifications": "Nerādīt paziņojumus no @{name}",
|
||||
"account.muted": "Apklusināts",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Ieraksti",
|
||||
"account.posts_with_replies": "Ieraksti un atbildes",
|
||||
"account.report": "Ziņot par lietotāju @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Nesekot",
|
||||
"account.unmute": "Noņemt apklusinājumu no lietotāja @{name}",
|
||||
"account.unmute_notifications": "Rādīt paziņojumus no lietotāja @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "Negaidīta kļūda.",
|
||||
"alert.unexpected.title": "Ups!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Bloķētie lietotāji",
|
||||
"column.community": "Lokālā laika līnija",
|
||||
"column.direct": "Privātās ziņas",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Paslēptie domēni",
|
||||
"column.favourites": "Favorīti",
|
||||
"column.follow_requests": "Sekotāju pieprasījumi",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Paziņojumi",
|
||||
"column.pins": "Piespraustie ziņojumi",
|
||||
"column.public": "Federatīvā laika līnija",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Atpakaļ",
|
||||
"column_header.hide_settings": "Paslēpt iestatījumus",
|
||||
"column_header.moveLeft_settings": "Pārvietot kolonu pa kreisi",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Vai tiešam vēlies neatgriezeniski dzēst šo sarakstu?",
|
||||
"confirmations.domain_block.confirm": "Paslēpt visu domēnu",
|
||||
"confirmations.domain_block.message": "Vai tu tiešām, tiešam vēlies bloķēt visu domēnu {domain}? Lielākajā daļā gadījumu pietiek ja nobloķē vai apklusini kādu. Tu neredzēsi saturu vai paziņojumus no šī domēna nevienā laika līnijā. Tavi sekotāji no šī domēna tiks noņemti.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Apklusināt",
|
||||
"confirmations.mute.message": "Vai Tu tiešām velies apklusināt {name}?",
|
||||
"confirmations.redraft.confirm": "Dzēst un pārrakstīt",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Atbildot tagad tava ziņa ko šobrīd raksti tiks pārrakstīta. Vai tiešām vēlies turpināt?",
|
||||
"confirmations.unfollow.confirm": "Nesekot",
|
||||
"confirmations.unfollow.message": "Vai tiešam vairs nevēlies sekot lietotājam {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": "Iegul šo ziņojumu savā mājaslapā kopējot kodu zemāk.",
|
||||
"embed.preview": "Tas izskatīsies šādi:",
|
||||
"emoji_button.activity": "Aktivitāte",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Pinned toots",
|
||||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Show more",
|
||||
"status.show_more_all": "Show more for all",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Unmute conversation",
|
||||
"status.unpin": "Unpin from profile",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
@ -373,7 +389,7 @@
|
||||
"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}} talking",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
|
||||
"upload_area.title": "Drag & drop to upload",
|
||||
"upload_button.label": "Add media ({formats})",
|
||||
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "This user doesn't follow anyone yet.",
|
||||
"account.follows_you": "Follows you",
|
||||
"account.hide_reblogs": "Hide boosts from @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
||||
"account.media": "Media",
|
||||
@ -24,10 +25,11 @@
|
||||
"account.mute": "Mute @{name}",
|
||||
"account.mute_notifications": "Mute notifications from @{name}",
|
||||
"account.muted": "Muted",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Toots",
|
||||
"account.posts_with_replies": "Toots and replies",
|
||||
"account.report": "Report @{name}",
|
||||
"account.requested": "Awaiting approval. Click to cancel follow request",
|
||||
"account.requested": "Awaiting approval",
|
||||
"account.share": "Share @{name}'s profile",
|
||||
"account.show_reblogs": "Show boosts from @{name}",
|
||||
"account.unblock": "Unblock @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Unfollow",
|
||||
"account.unmute": "Unmute @{name}",
|
||||
"account.unmute_notifications": "Unmute notifications from @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "An unexpected error occurred.",
|
||||
"alert.unexpected.title": "Oops!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Blocked users",
|
||||
"column.community": "Local timeline",
|
||||
"column.direct": "Direct messages",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Hidden domains",
|
||||
"column.favourites": "Favourites",
|
||||
"column.follow_requests": "Follow requests",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Notifications",
|
||||
"column.pins": "Pinned toot",
|
||||
"column.public": "Federated timeline",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Back",
|
||||
"column_header.hide_settings": "Hide settings",
|
||||
"column_header.moveLeft_settings": "Move column to the left",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
|
||||
"confirmations.domain_block.confirm": "Hide entire domain",
|
||||
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Mute",
|
||||
"confirmations.mute.message": "Are you sure you want to mute {name}?",
|
||||
"confirmations.redraft.confirm": "Delete & redraft",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.unfollow.confirm": "Unfollow",
|
||||
"confirmations.unfollow.message": "Are you sure you want to unfollow {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": "Embed this status on your website by copying the code below.",
|
||||
"embed.preview": "Here is what it will look like:",
|
||||
"emoji_button.activity": "Activity",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Pinned toots",
|
||||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Show more",
|
||||
"status.show_more_all": "Show more for all",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Unmute conversation",
|
||||
"status.unpin": "Unpin from profile",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
@ -373,7 +389,7 @@
|
||||
"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}} talking",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
|
||||
"upload_area.title": "Drag & drop to upload",
|
||||
"upload_button.label": "Add media ({formats})",
|
||||
|
@ -4,7 +4,7 @@
|
||||
"account.block": "Blokkeer @{name}",
|
||||
"account.block_domain": "Verberg alles van {domain}",
|
||||
"account.blocked": "Geblokkeerd",
|
||||
"account.cancel_follow_request": "Cancel follow request",
|
||||
"account.cancel_follow_request": "Volgverzoek annuleren",
|
||||
"account.direct": "Direct Message @{name}",
|
||||
"account.domain_blocked": "Domein verborgen",
|
||||
"account.edit_profile": "Profiel bewerken",
|
||||
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "Deze gebruiker volgt nog niemand.",
|
||||
"account.follows_you": "Volgt jou",
|
||||
"account.hide_reblogs": "Verberg boosts van @{name}",
|
||||
"account.last_status": "Laatst actief",
|
||||
"account.link_verified_on": "Eigendom van deze link is gecontroleerd op {date}",
|
||||
"account.locked_info": "De privacystatus van dit account is op besloten gezet. De eigenaar bepaalt handmatig wie hen kan volgen.",
|
||||
"account.media": "Media",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Negeer @{name}",
|
||||
"account.mute_notifications": "Negeer meldingen van @{name}",
|
||||
"account.muted": "Genegeerd",
|
||||
"account.never_active": "Nooit",
|
||||
"account.posts": "Toots",
|
||||
"account.posts_with_replies": "Toots en reacties",
|
||||
"account.report": "Rapporteer @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Ontvolgen",
|
||||
"account.unmute": "@{name} niet langer negeren",
|
||||
"account.unmute_notifications": "@{name} meldingen niet langer negeren",
|
||||
"alert.rate_limited.message": "Probeer het nog een keer na {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Beperkt te gebruiken",
|
||||
"alert.unexpected.message": "Er deed zich een onverwachte fout voor",
|
||||
"alert.unexpected.title": "Oeps!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Geblokkeerde gebruikers",
|
||||
"column.community": "Lokale tijdlijn",
|
||||
"column.direct": "Directe berichten",
|
||||
"column.directory": "Gebruikersgids",
|
||||
"column.domain_blocks": "Genegeerde servers",
|
||||
"column.favourites": "Favorieten",
|
||||
"column.follow_requests": "Volgverzoeken",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Meldingen",
|
||||
"column.pins": "Vastgezette toots",
|
||||
"column.public": "Globale tijdlijn",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Terug",
|
||||
"column_header.hide_settings": "Instellingen verbergen",
|
||||
"column_header.moveLeft_settings": "Kolom naar links verplaatsen",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Weet je zeker dat je deze lijst definitief wilt verwijderen?",
|
||||
"confirmations.domain_block.confirm": "Verberg alles van deze server",
|
||||
"confirmations.domain_block.message": "Weet je het echt heel erg zeker dat je alles van {domain} wilt negeren? In de meeste gevallen is het blokkeren of negeren van een paar specifieke personen voldoende en beter. Je zult geen toots van deze server op openbare tijdlijnen zien of in jouw meldingen. Jouw volgers van deze server worden verwijderd.",
|
||||
"confirmations.logout.confirm": "Uitloggen",
|
||||
"confirmations.logout.message": "Weet je zeker dat je wilt uitloggen?",
|
||||
"confirmations.mute.confirm": "Negeren",
|
||||
"confirmations.mute.message": "Weet je het zeker dat je {name} wilt negeren?",
|
||||
"confirmations.redraft.confirm": "Verwijderen en herschrijven",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Door nu te reageren overschrijf je de toot die je op dit moment aan het schrijven bent. Weet je zeker dat je verder wil gaan?",
|
||||
"confirmations.unfollow.confirm": "Ontvolgen",
|
||||
"confirmations.unfollow.message": "Weet je het zeker dat je {name} wilt ontvolgen?",
|
||||
"conversation.delete": "Delete conversation",
|
||||
"conversation.mark_as_read": "Mark as read",
|
||||
"conversation.open": "View conversation",
|
||||
"conversation.with": "With {names}",
|
||||
"directory.federated": "Fediverse (wat bekend is)",
|
||||
"directory.local": "Alleen {domain}",
|
||||
"directory.new_arrivals": "Nieuwe accounts",
|
||||
"directory.recently_active": "Onlangs actief",
|
||||
"embed.instructions": "Embed deze toot op jouw website, door de onderstaande code te kopiëren.",
|
||||
"embed.preview": "Zo komt het eruit te zien:",
|
||||
"emoji_button.activity": "Activiteiten",
|
||||
@ -158,7 +174,7 @@
|
||||
"home.column_settings.basic": "Algemeen",
|
||||
"home.column_settings.show_reblogs": "Boosts tonen",
|
||||
"home.column_settings.show_replies": "Reacties tonen",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"home.column_settings.update_live": "In realtime bijwerken",
|
||||
"intervals.full.days": "{number, plural, one {# dag} other {# dagen}}",
|
||||
"intervals.full.hours": "{number, plural, one {# uur} other {# uur}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minuut} other {# minuten}}",
|
||||
@ -224,7 +240,7 @@
|
||||
"lists.new.title_placeholder": "Naam nieuwe lijst",
|
||||
"lists.search": "Zoek naar mensen die je volgt",
|
||||
"lists.subheading": "Jouw lijsten",
|
||||
"load_pending": "{count, plural, one {# new item} other {# new items}}",
|
||||
"load_pending": "{count, plural, one {# nieuw item} other {# nieuwe items}}",
|
||||
"loading_indicator.label": "Laden…",
|
||||
"media_gallery.toggle_visible": "Media wel/niet tonen",
|
||||
"missing_indicator.label": "Niet gevonden",
|
||||
@ -250,10 +266,9 @@
|
||||
"navigation_bar.personal": "Persoonlijk",
|
||||
"navigation_bar.pins": "Vastgezette toots",
|
||||
"navigation_bar.preferences": "Instellingen",
|
||||
"navigation_bar.profile_directory": "Gebruikersgids",
|
||||
"navigation_bar.public_timeline": "Globale tijdlijn",
|
||||
"navigation_bar.security": "Beveiliging",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.and_n_others": "en {count, plural, one {# meer} other {# meer}}",
|
||||
"notification.favourite": "{name} voegde jouw toot als favoriet toe",
|
||||
"notification.follow": "{name} volgt jou nu",
|
||||
"notification.mention": "{name} vermeldde jou",
|
||||
@ -319,7 +334,7 @@
|
||||
"search_results.accounts": "Gebruikers",
|
||||
"search_results.hashtags": "Hashtags",
|
||||
"search_results.statuses": "Toots",
|
||||
"search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
|
||||
"search_results.statuses_fts_disabled": "Het zoeken in toots is op deze Mastodonserver niet ingeschakeld.",
|
||||
"search_results.total": "{count, number} {count, plural, one {resultaat} other {resultaten}}",
|
||||
"status.admin_account": "Moderatie-omgeving van @{name} openen",
|
||||
"status.admin_status": "Deze toot in de moderatie-omgeving openen",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Meer tonen",
|
||||
"status.show_more_all": "Alles meer tonen",
|
||||
"status.show_thread": "Gesprek tonen",
|
||||
"status.uncached_media_warning": "Niet beschikbaar",
|
||||
"status.unmute_conversation": "Gesprek niet langer negeren",
|
||||
"status.unpin": "Van profielpagina losmaken",
|
||||
"suggestions.dismiss": "Voorstel verwerpen",
|
||||
@ -373,22 +389,22 @@
|
||||
"time_remaining.moments": "Nog enkele ogenblikken resterend",
|
||||
"time_remaining.seconds": "{number, plural, one {# seconde} other {# seconden}} te gaan",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {persoon praat} other {mensen praten}} hierover",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trends",
|
||||
"ui.beforeunload": "Je concept zal verloren gaan als je Mastodon verlaat.",
|
||||
"upload_area.title": "Hiernaar toe slepen om te uploaden",
|
||||
"upload_button.label": "Media toevoegen ({formats})",
|
||||
"upload_error.limit": "Uploadlimiet van bestand overschreden.",
|
||||
"upload_error.poll": "Het uploaden van bestanden is in polls niet toegestaan.",
|
||||
"upload_form.description": "Omschrijf dit voor mensen met een visuele beperking",
|
||||
"upload_form.edit": "Edit",
|
||||
"upload_form.edit": "Bewerken",
|
||||
"upload_form.undo": "Verwijderen",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.apply": "Apply",
|
||||
"upload_modal.analyzing_picture": "Afbeelding analyseren…",
|
||||
"upload_modal.apply": "Toepassen",
|
||||
"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": "Tekst in een afbeelding detecteren",
|
||||
"upload_modal.edit_media": "Media bewerken",
|
||||
"upload_modal.hint": "Klik of sleep de cirkel in de voorvertoning naar een centraal punt dat op elke thumbnail zichtbaar moet blijven.",
|
||||
"upload_modal.preview_label": "Voorvertoning ({ratio})",
|
||||
"upload_progress.label": "Uploaden...",
|
||||
"video.close": "Video sluiten",
|
||||
"video.exit_fullscreen": "Volledig scherm sluiten",
|
||||
|
418
app/javascript/mastodon/locales/nn.json
Normal file
418
app/javascript/mastodon/locales/nn.json
Normal file
@ -0,0 +1,418 @@
|
||||
{
|
||||
"account.add_or_remove_from_list": "Legg til eller ta vekk fra liste",
|
||||
"account.badges.bot": "Robot",
|
||||
"account.block": "Blokkér @{name}",
|
||||
"account.block_domain": "Gøyme alt innhald for domenet {domain}",
|
||||
"account.blocked": "Blokkert",
|
||||
"account.cancel_follow_request": "Avslutt føljar-førespurnad",
|
||||
"account.direct": "Direkte meld @{name}",
|
||||
"account.domain_blocked": "Domenet er gøymt",
|
||||
"account.edit_profile": "Rediger profil",
|
||||
"account.endorse": "Framhev på profilen din",
|
||||
"account.follow": "Følj",
|
||||
"account.followers": "Føljare",
|
||||
"account.followers.empty": "Er ikkje nokon som føljar denne brukaren ennå.",
|
||||
"account.follows": "Føljingar",
|
||||
"account.follows.empty": "Denne brukaren foljer ikkje nokon ennå.",
|
||||
"account.follows_you": "Føljar deg",
|
||||
"account.hide_reblogs": "Gøym robotar for @{name}",
|
||||
"account.last_status": "Sist aktiv",
|
||||
"account.link_verified_on": "Eigerskap for denne linken er sist sjekket den {date}",
|
||||
"account.locked_info": "Brukarens privat-status er satt til lukka. Eigaren må manuelt døme kvem som kan følje honom.",
|
||||
"account.media": "Media",
|
||||
"account.mention": "Nemne @{name}",
|
||||
"account.moved_to": "{name} har flytta til:",
|
||||
"account.mute": "Målbind @{name}",
|
||||
"account.mute_notifications": "Målbind notifikasjoner ifrå @{name}",
|
||||
"account.muted": "Målbindt",
|
||||
"account.never_active": "Aldri",
|
||||
"account.posts": "Tutar",
|
||||
"account.posts_with_replies": "Tutar og svar",
|
||||
"account.report": "Rapporter @{name}",
|
||||
"account.requested": "Venter på samtykke. Klikk for å avbryte føljar-førespurnad",
|
||||
"account.share": "Del @{name} sin profil",
|
||||
"account.show_reblogs": "Sjå framhevingar ifrå @{name}",
|
||||
"account.unblock": "Avblokker @{name}",
|
||||
"account.unblock_domain": "Vis {domain}",
|
||||
"account.unendorse": "Ikkje framhev på profil",
|
||||
"account.unfollow": "Avfølja",
|
||||
"account.unmute": "Av-demp @{name}",
|
||||
"account.unmute_notifications": "Av-demp notifikasjoner ifrå @{name}",
|
||||
"alert.rate_limited.message": "Ver vennlig og prøv igjen {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Bregrensa rate",
|
||||
"alert.unexpected.message": "Eit uforventa problem har hendt.",
|
||||
"alert.unexpected.title": "Oops!",
|
||||
"autosuggest_hashtag.per_week": "{count} per veke",
|
||||
"boost_modal.combo": "Du kan trykke {combo} for å hoppe over dette neste gong",
|
||||
"bundle_column_error.body": "Noko gikk gale mens komponent ble nedlasta.",
|
||||
"bundle_column_error.retry": "Prøv igjen",
|
||||
"bundle_column_error.title": "Tenarmaskin feil",
|
||||
"bundle_modal_error.close": "Lukk",
|
||||
"bundle_modal_error.message": "Noko gikk gale mens komponent var i ferd med å bli nedlasta.",
|
||||
"bundle_modal_error.retry": "Prøv igjen",
|
||||
"column.blocks": "Blokka brukare",
|
||||
"column.community": "Lokal samtid",
|
||||
"column.direct": "Direkte meldingar",
|
||||
"column.directory": "Sjå gjennom profiler",
|
||||
"column.domain_blocks": "Gøymte domener",
|
||||
"column.favourites": "Favorittar",
|
||||
"column.follow_requests": "Føljarførespurnad",
|
||||
"column.home": "Heim",
|
||||
"column.lists": "Lister",
|
||||
"column.mutes": "Målbindte brukare",
|
||||
"column.notifications": "Varslinger",
|
||||
"column.pins": "Festa tuter",
|
||||
"column.public": "Federert samtid",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Tilbake",
|
||||
"column_header.hide_settings": "Skjul innstillingar",
|
||||
"column_header.moveLeft_settings": "Flytt feltet til venstre",
|
||||
"column_header.moveRight_settings": "Flytt feltet til høgre",
|
||||
"column_header.pin": "Fest",
|
||||
"column_header.show_settings": "Vis innstillingar",
|
||||
"column_header.unpin": "Løys",
|
||||
"column_subheading.settings": "Innstillingar",
|
||||
"community.column_settings.media_only": "Kun medie",
|
||||
"compose_form.direct_message_warning": "Denne tuten vil kun verte synleg for nemnde brukarar.",
|
||||
"compose_form.direct_message_warning_learn_more": "Lær meir",
|
||||
"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.",
|
||||
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
|
||||
"compose_form.lock_disclaimer.lock": "låst",
|
||||
"compose_form.placeholder": "Kva har du på hjartet?",
|
||||
"compose_form.poll.add_option": "Legg til eit punkt",
|
||||
"compose_form.poll.duration": "Varigheit for spørring",
|
||||
"compose_form.poll.option_placeholder": "Val {number}",
|
||||
"compose_form.poll.remove_option": "Remove this choice",
|
||||
"compose_form.publish": "Toot",
|
||||
"compose_form.publish_loud": "{publish}!",
|
||||
"compose_form.sensitive.hide": "Mark media as sensitive",
|
||||
"compose_form.sensitive.marked": "Media is marked as sensitive",
|
||||
"compose_form.sensitive.unmarked": "Media is not marked as sensitive",
|
||||
"compose_form.spoiler.marked": "Text is hidden behind warning",
|
||||
"compose_form.spoiler.unmarked": "Text is not hidden",
|
||||
"compose_form.spoiler_placeholder": "Write your warning here",
|
||||
"confirmation_modal.cancel": "Cancel",
|
||||
"confirmations.block.block_and_report": "Block & Report",
|
||||
"confirmations.block.confirm": "Block",
|
||||
"confirmations.block.message": "Are you sure you want to block {name}?",
|
||||
"confirmations.delete.confirm": "Delete",
|
||||
"confirmations.delete.message": "Are you sure you want to delete this status?",
|
||||
"confirmations.delete_list.confirm": "Delete",
|
||||
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
|
||||
"confirmations.domain_block.confirm": "Hide entire domain",
|
||||
"confirmations.domain_block.message": "Er du ordentleg, ordentleg sikker på at du vill blokkere heile {domain}? I dei tilfeller er det bedre med ein målretta blokkering eller demping av individuelle brukare.",
|
||||
"confirmations.logout.confirm": "Logg ut",
|
||||
"confirmations.logout.message": "Er du sikker på at du vill logge ut?",
|
||||
"confirmations.mute.confirm": "Målbind",
|
||||
"confirmations.mute.message": "Er du sikker på at d vill målbinde {name}?",
|
||||
"confirmations.redraft.confirm": "Slett & gjennopprett",
|
||||
"confirmations.redraft.message": "Er du sikker på at du vill slette statusen og gjennoprette den? Favoritter og framhevinger vill bli borte, og svar til den originale posten vill bli einstøing.",
|
||||
"confirmations.reply.confirm": "Svar",
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.unfollow.confirm": "Unfollow",
|
||||
"confirmations.unfollow.message": "Are you sure you want to unfollow {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": "Embed this status on your website by copying the code below.",
|
||||
"embed.preview": "Here is what it will look like:",
|
||||
"emoji_button.activity": "Activity",
|
||||
"emoji_button.custom": "Custom",
|
||||
"emoji_button.flags": "Flags",
|
||||
"emoji_button.food": "Food & Drink",
|
||||
"emoji_button.label": "Insert emoji",
|
||||
"emoji_button.nature": "Nature",
|
||||
"emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻",
|
||||
"emoji_button.objects": "Objects",
|
||||
"emoji_button.people": "People",
|
||||
"emoji_button.recent": "Frequently used",
|
||||
"emoji_button.search": "Search...",
|
||||
"emoji_button.search_results": "Search results",
|
||||
"emoji_button.symbols": "Symbols",
|
||||
"emoji_button.travel": "Travel & Places",
|
||||
"empty_column.account_timeline": "No toots here!",
|
||||
"empty_column.account_unavailable": "Profile unavailable",
|
||||
"empty_column.blocks": "You haven't blocked any users yet.",
|
||||
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
|
||||
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
|
||||
"empty_column.domain_blocks": "There are no hidden domains yet.",
|
||||
"empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.",
|
||||
"empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
|
||||
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
|
||||
"empty_column.hashtag": "There is nothing in this hashtag yet.",
|
||||
"empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.",
|
||||
"empty_column.home.public_timeline": "the public timeline",
|
||||
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
|
||||
"empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.",
|
||||
"empty_column.mutes": "You haven't muted any users yet.",
|
||||
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
|
||||
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
|
||||
"follow_request.authorize": "Authorize",
|
||||
"follow_request.reject": "Reject",
|
||||
"getting_started.developers": "Developers",
|
||||
"getting_started.directory": "Profile directory",
|
||||
"getting_started.documentation": "Documentation",
|
||||
"getting_started.heading": "Getting started",
|
||||
"getting_started.invite": "Invite people",
|
||||
"getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}.",
|
||||
"getting_started.security": "Security",
|
||||
"getting_started.terms": "Terms of service",
|
||||
"hashtag.column_header.tag_mode.all": "and {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "or {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "without {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "No suggestions found",
|
||||
"hashtag.column_settings.select.placeholder": "Enter hashtags…",
|
||||
"hashtag.column_settings.tag_mode.all": "All of these",
|
||||
"hashtag.column_settings.tag_mode.any": "Any of these",
|
||||
"hashtag.column_settings.tag_mode.none": "None of these",
|
||||
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
|
||||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.show_reblogs": "Show boosts",
|
||||
"home.column_settings.show_replies": "Show replies",
|
||||
"home.column_settings.update_live": "Update in real-time",
|
||||
"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}}",
|
||||
"introduction.federation.action": "Next",
|
||||
"introduction.federation.federated.headline": "Federated",
|
||||
"introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.",
|
||||
"introduction.federation.home.headline": "Home",
|
||||
"introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!",
|
||||
"introduction.federation.local.headline": "Local",
|
||||
"introduction.federation.local.text": "Public posts from people on the same server as you will appear in the local timeline.",
|
||||
"introduction.interactions.action": "Finish toot-orial!",
|
||||
"introduction.interactions.favourite.headline": "Favourite",
|
||||
"introduction.interactions.favourite.text": "You can save a toot for later, and let the author know that you liked it, by favouriting it.",
|
||||
"introduction.interactions.reblog.headline": "Boost",
|
||||
"introduction.interactions.reblog.text": "You can share other people's toots with your followers by boosting them.",
|
||||
"introduction.interactions.reply.headline": "Reply",
|
||||
"introduction.interactions.reply.text": "You can reply to other people's and your own toots, which will chain them together in a conversation.",
|
||||
"introduction.welcome.action": "Let's go!",
|
||||
"introduction.welcome.headline": "First steps",
|
||||
"introduction.welcome.text": "Welcome to the fediverse! In a few moments, you'll be able to broadcast messages and talk to your friends across a wide variety of servers. But this server, {domain}, is special—it hosts your profile, so remember its name.",
|
||||
"keyboard_shortcuts.back": "to navigate back",
|
||||
"keyboard_shortcuts.blocked": "to open blocked users list",
|
||||
"keyboard_shortcuts.boost": "to boost",
|
||||
"keyboard_shortcuts.column": "to focus a status in one of the columns",
|
||||
"keyboard_shortcuts.compose": "to focus the compose textarea",
|
||||
"keyboard_shortcuts.description": "Description",
|
||||
"keyboard_shortcuts.direct": "to open direct messages column",
|
||||
"keyboard_shortcuts.down": "to move down in the list",
|
||||
"keyboard_shortcuts.enter": "to open status",
|
||||
"keyboard_shortcuts.favourite": "to favourite",
|
||||
"keyboard_shortcuts.favourites": "to open favourites list",
|
||||
"keyboard_shortcuts.federated": "to open federated timeline",
|
||||
"keyboard_shortcuts.heading": "Keyboard Shortcuts",
|
||||
"keyboard_shortcuts.home": "to open home timeline",
|
||||
"keyboard_shortcuts.hotkey": "Hotkey",
|
||||
"keyboard_shortcuts.legend": "to display this legend",
|
||||
"keyboard_shortcuts.local": "to open local timeline",
|
||||
"keyboard_shortcuts.mention": "to mention author",
|
||||
"keyboard_shortcuts.muted": "to open muted users list",
|
||||
"keyboard_shortcuts.my_profile": "to open your profile",
|
||||
"keyboard_shortcuts.notifications": "to open notifications column",
|
||||
"keyboard_shortcuts.pinned": "to open pinned toots list",
|
||||
"keyboard_shortcuts.profile": "to open author's profile",
|
||||
"keyboard_shortcuts.reply": "to reply",
|
||||
"keyboard_shortcuts.requests": "to open follow requests list",
|
||||
"keyboard_shortcuts.search": "to focus search",
|
||||
"keyboard_shortcuts.start": "to open \"get started\" column",
|
||||
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
|
||||
"keyboard_shortcuts.toot": "to start a brand new toot",
|
||||
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
|
||||
"keyboard_shortcuts.up": "to move up in the list",
|
||||
"lightbox.close": "Close",
|
||||
"lightbox.next": "Next",
|
||||
"lightbox.previous": "Previous",
|
||||
"lightbox.view_context": "View context",
|
||||
"lists.account.add": "Add to list",
|
||||
"lists.account.remove": "Remove from list",
|
||||
"lists.delete": "Delete list",
|
||||
"lists.edit": "Edit list",
|
||||
"lists.edit.submit": "Change title",
|
||||
"lists.new.create": "Add list",
|
||||
"lists.new.title_placeholder": "New list title",
|
||||
"lists.search": "Search among people you follow",
|
||||
"lists.subheading": "Your lists",
|
||||
"load_pending": "{count, plural, one {# new item} other {# new items}}",
|
||||
"loading_indicator.label": "Loading...",
|
||||
"media_gallery.toggle_visible": "Toggle visibility",
|
||||
"missing_indicator.label": "Not found",
|
||||
"missing_indicator.sublabel": "This resource could not be found",
|
||||
"mute_modal.hide_notifications": "Hide notifications from this user?",
|
||||
"navigation_bar.apps": "Mobile apps",
|
||||
"navigation_bar.blocks": "Blocked users",
|
||||
"navigation_bar.community_timeline": "Local timeline",
|
||||
"navigation_bar.compose": "Compose new toot",
|
||||
"navigation_bar.direct": "Direct messages",
|
||||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Hidden domains",
|
||||
"navigation_bar.edit_profile": "Edit profile",
|
||||
"navigation_bar.favourites": "Favourites",
|
||||
"navigation_bar.filters": "Muted words",
|
||||
"navigation_bar.follow_requests": "Follow requests",
|
||||
"navigation_bar.follows_and_followers": "Follows and followers",
|
||||
"navigation_bar.info": "About this server",
|
||||
"navigation_bar.keyboard_shortcuts": "Hotkeys",
|
||||
"navigation_bar.lists": "Lists",
|
||||
"navigation_bar.logout": "Logout",
|
||||
"navigation_bar.mutes": "Muted users",
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Pinned toots",
|
||||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"notification.follow": "{name} followed you",
|
||||
"notification.mention": "{name} mentioned you",
|
||||
"notification.poll": "A poll you have voted in has ended",
|
||||
"notification.reblog": "{name} boosted your status",
|
||||
"notifications.clear": "Clear notifications",
|
||||
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
|
||||
"notifications.column_settings.alert": "Desktop notifications",
|
||||
"notifications.column_settings.favourite": "Favourites:",
|
||||
"notifications.column_settings.filter_bar.advanced": "Display all categories",
|
||||
"notifications.column_settings.filter_bar.category": "Quick filter bar",
|
||||
"notifications.column_settings.filter_bar.show": "Show",
|
||||
"notifications.column_settings.follow": "New followers:",
|
||||
"notifications.column_settings.mention": "Mentions:",
|
||||
"notifications.column_settings.poll": "Poll results:",
|
||||
"notifications.column_settings.push": "Push notifications",
|
||||
"notifications.column_settings.reblog": "Boosts:",
|
||||
"notifications.column_settings.show": "Show in column",
|
||||
"notifications.column_settings.sound": "Play sound",
|
||||
"notifications.filter.all": "All",
|
||||
"notifications.filter.boosts": "Boosts",
|
||||
"notifications.filter.favourites": "Favourites",
|
||||
"notifications.filter.follows": "Follows",
|
||||
"notifications.filter.mentions": "Mentions",
|
||||
"notifications.filter.polls": "Poll results",
|
||||
"notifications.group": "{count} notifications",
|
||||
"poll.closed": "Closed",
|
||||
"poll.refresh": "Refresh",
|
||||
"poll.total_votes": "{count, plural, one {# vote} other {# votes}}",
|
||||
"poll.vote": "Vote",
|
||||
"poll_button.add_poll": "Add a poll",
|
||||
"poll_button.remove_poll": "Remove poll",
|
||||
"privacy.change": "Adjust status privacy",
|
||||
"privacy.direct.long": "Post to mentioned users only",
|
||||
"privacy.direct.short": "Direct",
|
||||
"privacy.private.long": "Post to followers only",
|
||||
"privacy.private.short": "Followers-only",
|
||||
"privacy.public.long": "Post to public timelines",
|
||||
"privacy.public.short": "Public",
|
||||
"privacy.unlisted.long": "Do not show in public timelines",
|
||||
"privacy.unlisted.short": "Unlisted",
|
||||
"regeneration_indicator.label": "Loading…",
|
||||
"regeneration_indicator.sublabel": "Your home feed is being prepared!",
|
||||
"relative_time.days": "{number}d",
|
||||
"relative_time.hours": "{number}h",
|
||||
"relative_time.just_now": "now",
|
||||
"relative_time.minutes": "{number}m",
|
||||
"relative_time.seconds": "{number}s",
|
||||
"reply_indicator.cancel": "Cancel",
|
||||
"report.forward": "Forward to {target}",
|
||||
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
|
||||
"report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:",
|
||||
"report.placeholder": "Additional comments",
|
||||
"report.submit": "Submit",
|
||||
"report.target": "Report {target}",
|
||||
"search.placeholder": "Search",
|
||||
"search_popout.search_format": "Advanced search format",
|
||||
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
|
||||
"search_popout.tips.hashtag": "hashtag",
|
||||
"search_popout.tips.status": "status",
|
||||
"search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags",
|
||||
"search_popout.tips.user": "user",
|
||||
"search_results.accounts": "People",
|
||||
"search_results.hashtags": "Hashtags",
|
||||
"search_results.statuses": "Toots",
|
||||
"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": "Block @{name}",
|
||||
"status.cancel_reblog_private": "Unboost",
|
||||
"status.cannot_reblog": "This post cannot be boosted",
|
||||
"status.copy": "Copy link to status",
|
||||
"status.delete": "Delete",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Direct message @{name}",
|
||||
"status.embed": "Embed",
|
||||
"status.favourite": "Favourite",
|
||||
"status.filtered": "Filtered",
|
||||
"status.load_more": "Load more",
|
||||
"status.media_hidden": "Media hidden",
|
||||
"status.mention": "Mention @{name}",
|
||||
"status.more": "More",
|
||||
"status.mute": "Mute @{name}",
|
||||
"status.mute_conversation": "Mute conversation",
|
||||
"status.open": "Expand this status",
|
||||
"status.pin": "Pin on profile",
|
||||
"status.pinned": "Pinned toot",
|
||||
"status.read_more": "Read more",
|
||||
"status.reblog": "Boost",
|
||||
"status.reblog_private": "Boost to original audience",
|
||||
"status.reblogged_by": "{name} boosted",
|
||||
"status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.",
|
||||
"status.redraft": "Delete & re-draft",
|
||||
"status.reply": "Reply",
|
||||
"status.replyAll": "Reply to thread",
|
||||
"status.report": "Report @{name}",
|
||||
"status.sensitive_warning": "Sensitive content",
|
||||
"status.share": "Share",
|
||||
"status.show_less": "Show less",
|
||||
"status.show_less_all": "Show less for all",
|
||||
"status.show_more": "Show more",
|
||||
"status.show_more_all": "Show more for all",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Unmute conversation",
|
||||
"status.unpin": "Unpin from profile",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
"suggestions.header": "You might be interested in…",
|
||||
"tabs_bar.federated_timeline": "Federated",
|
||||
"tabs_bar.home": "Home",
|
||||
"tabs_bar.local_timeline": "Local",
|
||||
"tabs_bar.notifications": "Notifications",
|
||||
"tabs_bar.search": "Search",
|
||||
"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}} talking",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
|
||||
"upload_area.title": "Drag & drop to upload",
|
||||
"upload_button.label": "Add media ({formats})",
|
||||
"upload_error.limit": "File upload limit exceeded.",
|
||||
"upload_error.poll": "File upload not allowed with polls.",
|
||||
"upload_form.description": "Describe for the visually impaired",
|
||||
"upload_form.edit": "Edit",
|
||||
"upload_form.undo": "Delete",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.apply": "Apply",
|
||||
"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_progress.label": "Uploading...",
|
||||
"video.close": "Close video",
|
||||
"video.exit_fullscreen": "Exit full screen",
|
||||
"video.expand": "Expand video",
|
||||
"video.fullscreen": "Full screen",
|
||||
"video.hide": "Hide video",
|
||||
"video.mute": "Mute sound",
|
||||
"video.pause": "Pause",
|
||||
"video.play": "Play",
|
||||
"video.unmute": "Unmute sound"
|
||||
}
|
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "This user doesn't follow anyone yet.",
|
||||
"account.follows_you": "Følger deg",
|
||||
"account.hide_reblogs": "Skjul fremhevinger fra @{name}",
|
||||
"account.last_status": "Last active",
|
||||
"account.link_verified_on": "Ownership of this link was checked on {date}",
|
||||
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
|
||||
"account.media": "Media",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Demp @{name}",
|
||||
"account.mute_notifications": "Ignorer varsler fra @{name}",
|
||||
"account.muted": "Muted",
|
||||
"account.never_active": "Never",
|
||||
"account.posts": "Innlegg",
|
||||
"account.posts_with_replies": "Toots with replies",
|
||||
"account.report": "Rapportér @{name}",
|
||||
@ -36,6 +38,8 @@
|
||||
"account.unfollow": "Avfølg",
|
||||
"account.unmute": "Avdemp @{name}",
|
||||
"account.unmute_notifications": "Vis varsler fra @{name}",
|
||||
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Rate limited",
|
||||
"alert.unexpected.message": "An unexpected error occurred.",
|
||||
"alert.unexpected.title": "Oops!",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Blokkerte brukere",
|
||||
"column.community": "Lokal tidslinje",
|
||||
"column.direct": "Direct messages",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Hidden domains",
|
||||
"column.favourites": "Likt",
|
||||
"column.follow_requests": "Følgeforespørsler",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Varsler",
|
||||
"column.pins": "Pinned toot",
|
||||
"column.public": "Felles tidslinje",
|
||||
"column.status": "Toot",
|
||||
"column_back_button.label": "Tilbake",
|
||||
"column_header.hide_settings": "Gjem innstillinger",
|
||||
"column_header.moveLeft_settings": "Flytt feltet til venstre",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Er du sikker på at du vil slette denne listen permanent?",
|
||||
"confirmations.domain_block.confirm": "Skjul alt fra domenet",
|
||||
"confirmations.domain_block.message": "Er du sikker på at du vil skjule hele domenet {domain}? I de fleste tilfeller er det bedre med målrettet blokkering eller demping.",
|
||||
"confirmations.logout.confirm": "Log out",
|
||||
"confirmations.logout.message": "Are you sure you want to log out?",
|
||||
"confirmations.mute.confirm": "Demp",
|
||||
"confirmations.mute.message": "Er du sikker på at du vil dempe {name}?",
|
||||
"confirmations.redraft.confirm": "Delete & redraft",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.unfollow.confirm": "Slutt å følge",
|
||||
"confirmations.unfollow.message": "Er du sikker på at du vil slutte å følge {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": "Kopier koden under for å bygge inn denne statusen på hjemmesiden din.",
|
||||
"embed.preview": "Slik kommer det til å se ut:",
|
||||
"emoji_button.activity": "Aktivitet",
|
||||
@ -250,7 +266,6 @@
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Festa tuter",
|
||||
"navigation_bar.preferences": "Preferanser",
|
||||
"navigation_bar.profile_directory": "Profile directory",
|
||||
"navigation_bar.public_timeline": "Felles tidslinje",
|
||||
"navigation_bar.security": "Security",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Vis mer",
|
||||
"status.show_more_all": "Show more for all",
|
||||
"status.show_thread": "Show thread",
|
||||
"status.uncached_media_warning": "Not available",
|
||||
"status.unmute_conversation": "Ikke demp samtale",
|
||||
"status.unpin": "Angre festing på profilen",
|
||||
"suggestions.dismiss": "Dismiss suggestion",
|
||||
@ -373,7 +389,7 @@
|
||||
"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}} talking",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Trending now",
|
||||
"ui.beforeunload": "Din kladd vil bli forkastet om du forlater Mastodon.",
|
||||
"upload_area.title": "Dra og slipp for å laste opp",
|
||||
"upload_button.label": "Legg til media",
|
||||
|
@ -4,7 +4,7 @@
|
||||
"account.block": "Blocar @{name}",
|
||||
"account.block_domain": "Tot amagar del domeni {domain}",
|
||||
"account.blocked": "Blocat",
|
||||
"account.cancel_follow_request": "Cancel follow request",
|
||||
"account.cancel_follow_request": "Anullar la demanda de seguiment",
|
||||
"account.direct": "Escriure un MP a @{name}",
|
||||
"account.domain_blocked": "Domeni amagat",
|
||||
"account.edit_profile": "Modificar lo perfil",
|
||||
@ -16,6 +16,7 @@
|
||||
"account.follows.empty": "Aqueste utilizaire sèc pas degun pel moment.",
|
||||
"account.follows_you": "Vos sèc",
|
||||
"account.hide_reblogs": "Rescondre los partatges de @{name}",
|
||||
"account.last_status": "Darrièra activitat",
|
||||
"account.link_verified_on": "La proprietat d’aqueste ligam foguèt verificada lo {date}",
|
||||
"account.locked_info": "L’estatut de privacitat del compte es configurat sus clavat. Lo proprietari causís qual pòt sègre son compte.",
|
||||
"account.media": "Mèdias",
|
||||
@ -24,6 +25,7 @@
|
||||
"account.mute": "Rescondre @{name}",
|
||||
"account.mute_notifications": "Rescondre las notificacions de @{name}",
|
||||
"account.muted": "Mes en silenci",
|
||||
"account.never_active": "Jamai",
|
||||
"account.posts": "Tuts",
|
||||
"account.posts_with_replies": "Tuts e responsas",
|
||||
"account.report": "Senhalar @{name}",
|
||||
@ -36,9 +38,11 @@
|
||||
"account.unfollow": "Quitar de sègre",
|
||||
"account.unmute": "Quitar de rescondre @{name}",
|
||||
"account.unmute_notifications": "Mostrar las notificacions de @{name}",
|
||||
"alert.rate_limited.message": "Mercés de tornar ensajar aprèp {retry_time, time, medium}.",
|
||||
"alert.rate_limited.title": "Taus limitat",
|
||||
"alert.unexpected.message": "Una error s’es producha.",
|
||||
"alert.unexpected.title": "Ops !",
|
||||
"autosuggest_hashtag.per_week": "{count} per week",
|
||||
"autosuggest_hashtag.per_week": "{count} per setmana",
|
||||
"boost_modal.combo": "Podètz botar {combo} per passar aquò lo còp que ven",
|
||||
"bundle_column_error.body": "Quicòm a fach mèuca pendent lo cargament d’aqueste compausant.",
|
||||
"bundle_column_error.retry": "Tornar ensajar",
|
||||
@ -49,6 +53,7 @@
|
||||
"column.blocks": "Personas blocadas",
|
||||
"column.community": "Flux public local",
|
||||
"column.direct": "Messatges dirèctes",
|
||||
"column.directory": "Percórrer los perfils",
|
||||
"column.domain_blocks": "Domenis resconduts",
|
||||
"column.favourites": "Favorits",
|
||||
"column.follow_requests": "Demandas d’abonament",
|
||||
@ -58,6 +63,7 @@
|
||||
"column.notifications": "Notificacions",
|
||||
"column.pins": "Tuts penjats",
|
||||
"column.public": "Flux public global",
|
||||
"column.status": "Tut",
|
||||
"column_back_button.label": "Tornar",
|
||||
"column_header.hide_settings": "Amagar los paramètres",
|
||||
"column_header.moveLeft_settings": "Desplaçar la colomna a man drecha",
|
||||
@ -95,6 +101,8 @@
|
||||
"confirmations.delete_list.message": "Volètz vertadièrament suprimir aquesta lista per totjorn ?",
|
||||
"confirmations.domain_block.confirm": "Amagar tot lo domeni",
|
||||
"confirmations.domain_block.message": "Volètz vertadièrament blocar complètament {domain} ? De còps cal pas que blocar o rescondre unas personas solament.\nVeiretz pas cap de contengut d’aquel domeni dins cap de flux public o dins vòstras notificacions. Vòstres seguidors d’aquel domeni seràn levats.",
|
||||
"confirmations.logout.confirm": "Desconnexion",
|
||||
"confirmations.logout.message": "Volètz vertadièrament vos desconnectar ?",
|
||||
"confirmations.mute.confirm": "Rescondre",
|
||||
"confirmations.mute.message": "Volètz vertadièrament rescondre {name} ?",
|
||||
"confirmations.redraft.confirm": "Escafar & tornar formular",
|
||||
@ -103,6 +111,14 @@
|
||||
"confirmations.reply.message": "Respondre remplaçarà lo messatge que sètz a escriure. Volètz vertadièrament contunhar ?",
|
||||
"confirmations.unfollow.confirm": "Quitar de sègre",
|
||||
"confirmations.unfollow.message": "Volètz vertadièrament quitar de sègre {name} ?",
|
||||
"conversation.delete": "Suprimir la conversacion",
|
||||
"conversation.mark_as_read": "Marcar coma legida",
|
||||
"conversation.open": "Veire la conversacion",
|
||||
"conversation.with": "Amb {names}",
|
||||
"directory.federated": "Del fediverse conegut",
|
||||
"directory.local": "Solament de {domain}",
|
||||
"directory.new_arrivals": "Nòus-venguts",
|
||||
"directory.recently_active": "Actius fa res",
|
||||
"embed.instructions": "Embarcar aqueste estatut per lo far veire sus un site Internet en copiar lo còdi çai-jos.",
|
||||
"embed.preview": "Semblarà aquò :",
|
||||
"emoji_button.activity": "Activitats",
|
||||
@ -250,10 +266,9 @@
|
||||
"navigation_bar.personal": "Personal",
|
||||
"navigation_bar.pins": "Tuts penjats",
|
||||
"navigation_bar.preferences": "Preferéncias",
|
||||
"navigation_bar.profile_directory": "Annuari de perfils",
|
||||
"navigation_bar.public_timeline": "Flux public global",
|
||||
"navigation_bar.security": "Seguretat",
|
||||
"notification.and_n_others": "and {count, plural, one {# other} other {# others}}",
|
||||
"notification.and_n_others": "e {count, plural, un {# autre} other {# autres}}",
|
||||
"notification.favourite": "{name} a ajustat a sos favorits",
|
||||
"notification.follow": "{name} vos sèc",
|
||||
"notification.mention": "{name} vos a mencionat",
|
||||
@ -358,6 +373,7 @@
|
||||
"status.show_more": "Desplegar",
|
||||
"status.show_more_all": "Los desplegar totes",
|
||||
"status.show_thread": "Mostrar lo fil",
|
||||
"status.uncached_media_warning": "Pas disponible",
|
||||
"status.unmute_conversation": "Tornar mostrar la conversacion",
|
||||
"status.unpin": "Tirar del perfil",
|
||||
"suggestions.dismiss": "Regetar la suggestion",
|
||||
@ -373,22 +389,22 @@
|
||||
"time_remaining.moments": "Moments restants",
|
||||
"time_remaining.seconds": "demòra{number, plural, one { # segonda} other {n # segondas}}",
|
||||
"trends.count_by_accounts": "{count} {rawCount, plural, one {person} ne charra other {people}} ne charran",
|
||||
"trends.refresh": "Refresh",
|
||||
"trends.trending_now": "Tendéncia del moment",
|
||||
"ui.beforeunload": "Vòstre brolhon serà perdut se quitatz Mastodon.",
|
||||
"upload_area.title": "Lisatz e depausatz per mandar",
|
||||
"upload_button.label": "Ajustar un mèdia (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_error.limit": "Talha maximum pels mandadís subrepassada.",
|
||||
"upload_error.poll": "Lo mandadís de fichièr es pas autorizat pels sondatges.",
|
||||
"upload_form.description": "Descripcion pels mal vesents",
|
||||
"upload_form.edit": "Edit",
|
||||
"upload_form.edit": "Modificar",
|
||||
"upload_form.undo": "Suprimir",
|
||||
"upload_modal.analyzing_picture": "Analyzing picture…",
|
||||
"upload_modal.apply": "Apply",
|
||||
"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.analyzing_picture": "Analisi de l’imatge…",
|
||||
"upload_modal.apply": "Aplicar",
|
||||
"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 l’imatge",
|
||||
"upload_modal.edit_media": "Modificar lo mèdia",
|
||||
"upload_modal.hint": "Clicatz o lissatz lo cercle de l’apercebut 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",
|
||||
"video.exit_fullscreen": "Sortir plen ecran",
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user