Merge branch 'master' into glitch-soc/merge-upstream

Conflicts:
- `yarn.lock`:
  No real conflict, just a glitch-soc-only dependency textually too close to
  one updated upstream. Ported upstream changes.
This commit is contained in:
Thibaut Girka 2020-08-01 20:24:23 +02:00
commit 2cfa142961
50 changed files with 1202 additions and 986 deletions

View file

@ -27,7 +27,7 @@ plugins:
enabled: true enabled: true
eslint: eslint:
enabled: true enabled: true
channel: eslint-6 channel: eslint-7
rubocop: rubocop:
enabled: true enabled: true
channel: rubocop-0-82 channel: rubocop-0-82

View file

@ -3,7 +3,7 @@ Changelog
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## Unreleased ## [3.2.0] - 2020-07-27
### Added ### Added
- Add `SMTP_SSL` environment variable ([OmmyZhang](https://github.com/tootsuite/mastodon/pull/14309)) - Add `SMTP_SSL` environment variable ([OmmyZhang](https://github.com/tootsuite/mastodon/pull/14309))
@ -29,7 +29,7 @@ All notable changes to this project will be documented in this file.
- New REST API: `POST /api/v1/accounts/:id/note` with `comment` param - New REST API: `POST /api/v1/accounts/:id/note` with `comment` param
- The Relationship entity in REST API has a new `note` attribute - The Relationship entity in REST API has a new `note` attribute
- Add Helm chart ([dunn](https://github.com/tootsuite/mastodon/pull/14090), [dunn](https://github.com/tootsuite/mastodon/pull/14256), [dunn](https://github.com/tootsuite/mastodon/pull/14245)) - Add Helm chart ([dunn](https://github.com/tootsuite/mastodon/pull/14090), [dunn](https://github.com/tootsuite/mastodon/pull/14256), [dunn](https://github.com/tootsuite/mastodon/pull/14245))
- **Add customizable thumbnails for audio and video attachments** ([Gargron](https://github.com/tootsuite/mastodon/pull/14145), [Gargron](https://github.com/tootsuite/mastodon/pull/14244), [Gargron](https://github.com/tootsuite/mastodon/pull/14273), [Gargron](https://github.com/tootsuite/mastodon/pull/14203), [ThibG](https://github.com/tootsuite/mastodon/pull/14255), [ThibG](https://github.com/tootsuite/mastodon/pull/14306)) - **Add customizable thumbnails for audio and video attachments** ([Gargron](https://github.com/tootsuite/mastodon/pull/14145), [Gargron](https://github.com/tootsuite/mastodon/pull/14244), [Gargron](https://github.com/tootsuite/mastodon/pull/14273), [Gargron](https://github.com/tootsuite/mastodon/pull/14203), [ThibG](https://github.com/tootsuite/mastodon/pull/14255), [ThibG](https://github.com/tootsuite/mastodon/pull/14306), [noellabo](https://github.com/tootsuite/mastodon/pull/14358), [noellabo](https://github.com/tootsuite/mastodon/pull/14357))
- Metadata (album, artist, etc) is no longer stripped from audio files - Metadata (album, artist, etc) is no longer stripped from audio files
- Album art is automatically extracted from audio files - Album art is automatically extracted from audio files
- Thumbnail can be manually uploaded for both audio and video attachments - Thumbnail can be manually uploaded for both audio and video attachments
@ -37,6 +37,7 @@ All notable changes to this project will be documented in this file.
- On `POST /api/v1/media` and `POST /api/v2/media` - On `POST /api/v1/media` and `POST /api/v2/media`
- And on `PUT /api/v1/media/:id` - And on `PUT /api/v1/media/:id`
- ActivityPub representation of media attachments represents custom thumbnails with an `icon` attribute - ActivityPub representation of media attachments represents custom thumbnails with an `icon` attribute
- The Media Attachment entity in REST API now has a `preview_remote_url` to its `preview_url`, equivalent to `remote_url` to its `url`
- **Add color extraction for thumbnails** ([Gargron](https://github.com/tootsuite/mastodon/pull/14209), [ThibG](https://github.com/tootsuite/mastodon/pull/14264)) - **Add color extraction for thumbnails** ([Gargron](https://github.com/tootsuite/mastodon/pull/14209), [ThibG](https://github.com/tootsuite/mastodon/pull/14264))
- The `meta` attribute on the Media Attachment entity in REST API can now have a `colors` attribute which in turn contains three hex colors: `background`, `foreground`, and `accent` - The `meta` attribute on the Media Attachment entity in REST API can now have a `colors` attribute which in turn contains three hex colors: `background`, `foreground`, and `accent`
- The background color is chosen from the most dominant color around the edges of the thumbnail - The background color is chosen from the most dominant color around the edges of the thumbnail
@ -48,6 +49,9 @@ All notable changes to this project will be documented in this file.
- Add `tootctl email_domain_blocks` ([tateisu](https://github.com/tootsuite/mastodon/pull/13589), [Gargron](https://github.com/tootsuite/mastodon/pull/14147)) - Add `tootctl email_domain_blocks` ([tateisu](https://github.com/tootsuite/mastodon/pull/13589), [Gargron](https://github.com/tootsuite/mastodon/pull/14147))
- Add "Add new domain block" to header of federation page in admin UI ([ariasuni](https://github.com/tootsuite/mastodon/pull/13934)) - Add "Add new domain block" to header of federation page in admin UI ([ariasuni](https://github.com/tootsuite/mastodon/pull/13934))
- Add ability to keep emoji picker open with ctrl+click in web UI ([bclindner](https://github.com/tootsuite/mastodon/pull/13896), [noellabo](https://github.com/tootsuite/mastodon/pull/14096)) - Add ability to keep emoji picker open with ctrl+click in web UI ([bclindner](https://github.com/tootsuite/mastodon/pull/13896), [noellabo](https://github.com/tootsuite/mastodon/pull/14096))
- Add custom icon for private boosts in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14380))
- Add support for Create and Update activities that don't inline objects in ActivityPub ([ThibG](https://github.com/tootsuite/mastodon/pull/14359))
- Add support for Undo activities that don't inline activities in ActivityPub ([ThibG](https://github.com/tootsuite/mastodon/pull/14346))
### Changed ### Changed
@ -59,9 +63,9 @@ All notable changes to this project will be documented in this file.
- Some websites may not render OpenGraph tags into HTML if that's not the case - Some websites may not render OpenGraph tags into HTML if that's not the case
- Change behaviour to carry blocks over when someone migrates their followers ([ThibG](https://github.com/tootsuite/mastodon/pull/14144)) - Change behaviour to carry blocks over when someone migrates their followers ([ThibG](https://github.com/tootsuite/mastodon/pull/14144))
- Change volume control and download buttons in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/14122)) - Change volume control and download buttons in web UI ([Gargron](https://github.com/tootsuite/mastodon/pull/14122))
- **Change design of audio players in web UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/14095), [ThibG](https://github.com/tootsuite/mastodon/pull/14281), [Gargron](https://github.com/tootsuite/mastodon/pull/14282), [ThibG](https://github.com/tootsuite/mastodon/pull/14118), [Gargron](https://github.com/tootsuite/mastodon/pull/14199)) - **Change design of audio players in web UI** ([Gargron](https://github.com/tootsuite/mastodon/pull/14095), [ThibG](https://github.com/tootsuite/mastodon/pull/14281), [Gargron](https://github.com/tootsuite/mastodon/pull/14282), [ThibG](https://github.com/tootsuite/mastodon/pull/14118), [Gargron](https://github.com/tootsuite/mastodon/pull/14199), [ThibG](https://github.com/tootsuite/mastodon/pull/14338))
- Change reply filter to never filter own toots in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14128)) - Change reply filter to never filter own toots in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14128))
- Change boost button to no longer serve as visibility indicator in web UI ([noellabo](https://github.com/tootsuite/mastodon/pull/14132)) - Change boost button to no longer serve as visibility indicator in web UI ([noellabo](https://github.com/tootsuite/mastodon/pull/14132), [ThibG](https://github.com/tootsuite/mastodon/pull/14373))
- Change contrast of flash messages ([cchoi12](https://github.com/tootsuite/mastodon/pull/13892)) - Change contrast of flash messages ([cchoi12](https://github.com/tootsuite/mastodon/pull/13892))
- Change wording from "Hide media" to "Hide image/images" in web UI ([ariasuni](https://github.com/tootsuite/mastodon/pull/13834)) - Change wording from "Hide media" to "Hide image/images" in web UI ([ariasuni](https://github.com/tootsuite/mastodon/pull/13834))
- Change appearence of settings pages to be more consistent ([ariasuni](https://github.com/tootsuite/mastodon/pull/13938)) - Change appearence of settings pages to be more consistent ([ariasuni](https://github.com/tootsuite/mastodon/pull/13938))
@ -69,6 +73,7 @@ All notable changes to this project will be documented in this file.
- Change how badly contrasting emoji are rendered in web UI ([leo60228](https://github.com/tootsuite/mastodon/pull/13773), [ThibG](https://github.com/tootsuite/mastodon/pull/13772), [mfmfuyu](https://github.com/tootsuite/mastodon/pull/14020), [ThibG](https://github.com/tootsuite/mastodon/pull/14015)) - Change how badly contrasting emoji are rendered in web UI ([leo60228](https://github.com/tootsuite/mastodon/pull/13773), [ThibG](https://github.com/tootsuite/mastodon/pull/13772), [mfmfuyu](https://github.com/tootsuite/mastodon/pull/14020), [ThibG](https://github.com/tootsuite/mastodon/pull/14015))
- Change structure of unavailable content section on about page ([ariasuni](https://github.com/tootsuite/mastodon/pull/13930)) - Change structure of unavailable content section on about page ([ariasuni](https://github.com/tootsuite/mastodon/pull/13930))
- Change behaviour to accept ActivityPub activities relayed through group actor ([noellabo](https://github.com/tootsuite/mastodon/pull/14279)) - Change behaviour to accept ActivityPub activities relayed through group actor ([noellabo](https://github.com/tootsuite/mastodon/pull/14279))
- Change amount of processing retries for ActivityPub activities ([noellabo](https://github.com/tootsuite/mastodon/pull/14355))
### Removed ### Removed
@ -84,13 +89,18 @@ All notable changes to this project will be documented in this file.
### Fixed ### Fixed
- Fix `following` param not working when exact match is found in account search ([noellabo](https://github.com/tootsuite/mastodon/pull/14394))
- Fix sometimes occuring duplicate mention notifications ([noellabo](https://github.com/tootsuite/mastodon/pull/14378))
- Fix RSS feeds not being cachable ([ThibG](https://github.com/tootsuite/mastodon/pull/14368))
- Fix lack of locking around processing of Announce activities in ActivityPub ([noellabo](https://github.com/tootsuite/mastodon/pull/14365))
- Fix boosted toots from blocked account not being retroactively removed from TL ([ThibG](https://github.com/tootsuite/mastodon/pull/14339))
- Fix large shortened numbers (like 1.2K) using incorrect pluralization ([Sasha-Sorokin](https://github.com/tootsuite/mastodon/pull/14061)) - Fix large shortened numbers (like 1.2K) using incorrect pluralization ([Sasha-Sorokin](https://github.com/tootsuite/mastodon/pull/14061))
- Fix streaming server trying to use empty password to connect to Redis when `REDIS_PASSWORD` is given but blank ([ThibG](https://github.com/tootsuite/mastodon/pull/14135)) - Fix streaming server trying to use empty password to connect to Redis when `REDIS_PASSWORD` is given but blank ([ThibG](https://github.com/tootsuite/mastodon/pull/14135))
- Fix being unable to unboost posts when blocked by their author ([ThibG](https://github.com/tootsuite/mastodon/pull/14308)) - Fix being unable to unboost posts when blocked by their author ([ThibG](https://github.com/tootsuite/mastodon/pull/14308))
- Fix account domain block not properly unfollowing accounts from domain ([Gargron](https://github.com/tootsuite/mastodon/pull/14304)) - Fix account domain block not properly unfollowing accounts from domain ([Gargron](https://github.com/tootsuite/mastodon/pull/14304))
- Fix removing a domain allow wiping known accounts in open federation mode ([ThibG](https://github.com/tootsuite/mastodon/pull/14298)) - Fix removing a domain allow wiping known accounts in open federation mode ([ThibG](https://github.com/tootsuite/mastodon/pull/14298))
- Fix blocks and mutes pagination in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14275)) - Fix blocks and mutes pagination in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14275))
- Fix new posts pushing down origin of opened dropdown in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14271)) - Fix new posts pushing down origin of opened dropdown in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14271), [ThibG](https://github.com/tootsuite/mastodon/pull/14348))
- Fix timeline markers not being saved sometimes ([ThibG](https://github.com/tootsuite/mastodon/pull/13887), [ThibG](https://github.com/tootsuite/mastodon/pull/13889), [ThibG](https://github.com/tootsuite/mastodon/pull/14155)) - Fix timeline markers not being saved sometimes ([ThibG](https://github.com/tootsuite/mastodon/pull/13887), [ThibG](https://github.com/tootsuite/mastodon/pull/13889), [ThibG](https://github.com/tootsuite/mastodon/pull/14155))
- Fix CSV uploads being rejected ([noellabo](https://github.com/tootsuite/mastodon/pull/13835)) - Fix CSV uploads being rejected ([noellabo](https://github.com/tootsuite/mastodon/pull/13835))
- Fix incompatibility with ElasticSearch 7.x ([noellabo](https://github.com/tootsuite/mastodon/pull/13828)) - Fix incompatibility with ElasticSearch 7.x ([noellabo](https://github.com/tootsuite/mastodon/pull/13828))
@ -112,7 +122,7 @@ All notable changes to this project will be documented in this file.
- Use circuit breakers to stop hitting unresponsive servers - Use circuit breakers to stop hitting unresponsive servers
- Avoid hitting servers that are already known to be generally unavailable - Avoid hitting servers that are already known to be generally unavailable
- Fix filters ignoring media descriptions ([BenLubar](https://github.com/tootsuite/mastodon/pull/13837)) - Fix filters ignoring media descriptions ([BenLubar](https://github.com/tootsuite/mastodon/pull/13837))
- Fix soem actions on custom emojis leading to cryptic errors in admin UI ([ThibG](https://github.com/tootsuite/mastodon/pull/13951)) - Fix some actions on custom emojis leading to cryptic errors in admin UI ([ThibG](https://github.com/tootsuite/mastodon/pull/13951))
- Fix ActivityPub serialization of replies when some of them are URIs ([ThibG](https://github.com/tootsuite/mastodon/pull/13957)) - Fix ActivityPub serialization of replies when some of them are URIs ([ThibG](https://github.com/tootsuite/mastodon/pull/13957))
- Fix `rake mastodon:setup` choking on environment variables containing `%` ([ThibG](https://github.com/tootsuite/mastodon/pull/13940)) - Fix `rake mastodon:setup` choking on environment variables containing `%` ([ThibG](https://github.com/tootsuite/mastodon/pull/13940))
- Fix account redirect confirmation message talking about moved followers ([ThibG](https://github.com/tootsuite/mastodon/pull/13950)) - Fix account redirect confirmation message talking about moved followers ([ThibG](https://github.com/tootsuite/mastodon/pull/13950))
@ -132,7 +142,7 @@ All notable changes to this project will be documented in this file.
- Fix unapproved users being able to view profiles when in limited-federation mode *and* requiring approval for sign-ups ([ThibG](https://github.com/tootsuite/mastodon/pull/14093)) - Fix unapproved users being able to view profiles when in limited-federation mode *and* requiring approval for sign-ups ([ThibG](https://github.com/tootsuite/mastodon/pull/14093))
- Fix initial audio volume not corresponding to what's displayed in audio player in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14057)) - Fix initial audio volume not corresponding to what's displayed in audio player in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14057))
- Fix timelines sometimes jumping when closing modals in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14019)) - Fix timelines sometimes jumping when closing modals in web UI ([ThibG](https://github.com/tootsuite/mastodon/pull/14019))
- Fix memory usage of downloading remote files ([Gargron](https://github.com/tootsuite/mastodon/pull/14184), [Gargron](https://github.com/tootsuite/mastodon/pull/14181)) - Fix memory usage of downloading remote files ([Gargron](https://github.com/tootsuite/mastodon/pull/14184), [Gargron](https://github.com/tootsuite/mastodon/pull/14181), [noellabo](https://github.com/tootsuite/mastodon/pull/14356))
- Don't read entire file (up to 40 MB) into memory - Don't read entire file (up to 40 MB) into memory
- Read and write it to temp file in small chunks - Read and write it to temp file in small chunks
- Fix inconsistent account header padding in web UI ([trwnh](https://github.com/tootsuite/mastodon/pull/14179)) - Fix inconsistent account header padding in web UI ([trwnh](https://github.com/tootsuite/mastodon/pull/14179))

22
Gemfile
View file

@ -11,16 +11,16 @@ gem 'sprockets', '~> 3.7.2'
gem 'thor', '~> 0.20' gem 'thor', '~> 0.20'
gem 'rack', '~> 2.2.3' gem 'rack', '~> 2.2.3'
gem 'thwait', '~> 0.1.0' gem 'thwait', '~> 0.2.0'
gem 'e2mmap', '~> 0.1.0' gem 'e2mmap', '~> 0.1.0'
gem 'hamlit-rails', '~> 0.2' gem 'hamlit-rails', '~> 0.2'
gem 'pg', '~> 1.2' gem 'pg', '~> 1.2'
gem 'makara', '~> 0.4' gem 'makara', '~> 0.4'
gem 'pghero', '~> 2.5' gem 'pghero', '~> 2.6'
gem 'dotenv-rails', '~> 2.7' gem 'dotenv-rails', '~> 2.7'
gem 'aws-sdk-s3', '~> 1.73', require: false gem 'aws-sdk-s3', '~> 1.75', require: false
gem 'fog-core', '<= 2.1.0' gem 'fog-core', '<= 2.1.0'
gem 'fog-openstack', '~> 0.3', require: false gem 'fog-openstack', '~> 0.3', require: false
gem 'paperclip', '~> 6.0' gem 'paperclip', '~> 6.0'
@ -74,7 +74,7 @@ gem 'oj', '~> 3.10'
gem 'ox', '~> 2.13' gem 'ox', '~> 2.13'
gem 'parslet' gem 'parslet'
gem 'parallel', '~> 1.19' gem 'parallel', '~> 1.19'
gem 'posix-spawn', git: 'https://github.com/rtomayko/posix-spawn', ref: '58465d2e213991f8afb13b984854a49fcdcc980c' gem 'posix-spawn'
gem 'pundit', '~> 2.1' gem 'pundit', '~> 2.1'
gem 'premailer-rails' gem 'premailer-rails'
gem 'rack-attack', '~> 6.3' gem 'rack-attack', '~> 6.3'
@ -86,16 +86,16 @@ gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock'
gem 'rqrcode', '~> 1.1' gem 'rqrcode', '~> 1.1'
gem 'ruby-progressbar', '~> 1.10' gem 'ruby-progressbar', '~> 1.10'
gem 'sanitize', '~> 5.2' gem 'sanitize', '~> 5.2'
gem 'sidekiq', '~> 6.0' gem 'sidekiq', '~> 6.1'
gem 'sidekiq-scheduler', '~> 3.0' gem 'sidekiq-scheduler', '~> 3.0'
gem 'sidekiq-unique-jobs', '~> 6.0' gem 'sidekiq-unique-jobs', '~> 6.0'
gem 'sidekiq-bulk', '~>0.2.0' gem 'sidekiq-bulk', '~>0.2.0'
gem 'simple-navigation', '~> 4.1' gem 'simple-navigation', '~> 4.1'
gem 'simple_form', '~> 5.0' gem 'simple_form', '~> 5.0'
gem 'sprockets-rails', '~> 3.2', require: 'sprockets/railtie' gem 'sprockets-rails', '~> 3.2', require: 'sprockets/railtie'
gem 'stoplight', '~> 2.2.0' gem 'stoplight', '~> 2.2.1'
gem 'strong_migrations', '~> 0.6' gem 'strong_migrations', '~> 0.7'
gem 'tty-prompt', '~> 0.21', require: false gem 'tty-prompt', '~> 0.22', require: false
gem 'twitter-text', '~> 1.14' gem 'twitter-text', '~> 1.14'
gem 'tzinfo-data', '~> 1.2020' gem 'tzinfo-data', '~> 1.2020'
gem 'webpacker', '~> 5.1' gem 'webpacker', '~> 5.1'
@ -129,7 +129,7 @@ group :test do
gem 'rspec-sidekiq', '~> 3.1' gem 'rspec-sidekiq', '~> 3.1'
gem 'simplecov', '~> 0.18', require: false gem 'simplecov', '~> 0.18', require: false
gem 'webmock', '~> 3.8' gem 'webmock', '~> 3.8'
gem 'parallel_tests', '~> 3.0' gem 'parallel_tests', '~> 3.1'
gem 'rspec_junit_formatter', '~> 0.4' gem 'rspec_junit_formatter', '~> 0.4'
end end
@ -148,8 +148,8 @@ group :development do
gem 'bundler-audit', '~> 0.7', require: false gem 'bundler-audit', '~> 0.7', require: false
gem 'capistrano', '~> 3.14' gem 'capistrano', '~> 3.14'
gem 'capistrano-rails', '~> 1.5' gem 'capistrano-rails', '~> 1.6'
gem 'capistrano-rbenv', '~> 2.1' gem 'capistrano-rbenv', '~> 2.2'
gem 'capistrano-yarn', '~> 2.0' gem 'capistrano-yarn', '~> 2.0'
gem 'stackprof' gem 'stackprof'

View file

@ -6,13 +6,6 @@ GIT
health_check (4.0.0.pre) health_check (4.0.0.pre)
rails (>= 4.0) rails (>= 4.0)
GIT
remote: https://github.com/rtomayko/posix-spawn
revision: 58465d2e213991f8afb13b984854a49fcdcc980c
ref: 58465d2e213991f8afb13b984854a49fcdcc980c
specs:
posix-spawn (0.3.13)
GIT GIT
remote: https://github.com/tmm1/http_parser.rb remote: https://github.com/tmm1/http_parser.rb
revision: 54b17ba8c7d8d20a16dfc65d1775241833219cf2 revision: 54b17ba8c7d8d20a16dfc65d1775241833219cf2
@ -92,8 +85,8 @@ GEM
av (0.9.0) av (0.9.0)
cocaine (~> 0.5.3) cocaine (~> 0.5.3)
aws-eventstream (1.1.0) aws-eventstream (1.1.0)
aws-partitions (1.338.0) aws-partitions (1.345.0)
aws-sdk-core (3.103.0) aws-sdk-core (3.104.3)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0) aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
@ -101,13 +94,13 @@ GEM
aws-sdk-kms (1.36.0) aws-sdk-kms (1.36.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.73.0) aws-sdk-s3 (1.75.0)
aws-sdk-core (~> 3, >= 3.102.1) aws-sdk-core (~> 3, >= 3.104.1)
aws-sdk-kms (~> 1) aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sigv4 (1.2.1) aws-sigv4 (1.2.1)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
bcrypt (3.1.13) bcrypt (3.1.15)
better_errors (2.7.1) better_errors (2.7.1)
coderay (>= 1.0.0) coderay (>= 1.0.0)
erubi (>= 1.0.0) erubi (>= 1.0.0)
@ -116,7 +109,7 @@ GEM
debug_inspector (>= 0.0.1) debug_inspector (>= 0.0.1)
blurhash (0.1.4) blurhash (0.1.4)
ffi (~> 1.10.0) ffi (~> 1.10.0)
bootsnap (1.4.6) bootsnap (1.4.7)
msgpack (~> 1.0) msgpack (~> 1.0)
brakeman (4.8.2) brakeman (4.8.2)
browser (4.2.0) browser (4.2.0)
@ -133,12 +126,12 @@ GEM
i18n i18n
rake (>= 10.0.0) rake (>= 10.0.0)
sshkit (>= 1.9.0) sshkit (>= 1.9.0)
capistrano-bundler (1.6.0) capistrano-bundler (2.0.1)
capistrano (~> 3.1) capistrano (~> 3.1)
capistrano-rails (1.5.0) capistrano-rails (1.6.1)
capistrano (~> 3.1) capistrano (~> 3.1)
capistrano-bundler (~> 1.1) capistrano-bundler (>= 1.1, < 3)
capistrano-rbenv (2.1.6) capistrano-rbenv (2.2.0)
capistrano (~> 3.1) capistrano (~> 3.1)
sshkit (~> 1.3) sshkit (~> 1.3)
capistrano-yarn (2.0.2) capistrano-yarn (2.0.2)
@ -197,10 +190,10 @@ GEM
unf (>= 0.0.5, < 1.0.0) unf (>= 0.0.5, < 1.0.0)
doorkeeper (5.4.0) doorkeeper (5.4.0)
railties (>= 5) railties (>= 5)
dotenv (2.7.5) dotenv (2.7.6)
dotenv-rails (2.7.5) dotenv-rails (2.7.6)
dotenv (= 2.7.5) dotenv (= 2.7.6)
railties (>= 3.2, < 6.1) railties (>= 3.2)
e2mmap (0.1.0) e2mmap (0.1.0)
ed25519 (1.2.4) ed25519 (1.2.4)
elasticsearch (7.8.0) elasticsearch (7.8.0)
@ -213,7 +206,6 @@ GEM
faraday (~> 1) faraday (~> 1)
multi_json multi_json
encryptor (3.0.0) encryptor (3.0.0)
equatable (0.6.1)
erubi (1.9.0) erubi (1.9.0)
et-orbi (1.2.4) et-orbi (1.2.4)
tzinfo tzinfo
@ -224,7 +216,7 @@ GEM
faraday (1.0.1) faraday (1.0.1)
multipart-post (>= 1.2, < 3) multipart-post (>= 1.2, < 3)
fast_blank (1.0.0) fast_blank (1.0.0)
fastimage (2.1.7) fastimage (2.2.0)
ffi (1.10.0) ffi (1.10.0)
ffi-compiler (1.0.1) ffi-compiler (1.0.1)
ffi (>= 1.0.0) ffi (>= 1.0.0)
@ -286,7 +278,7 @@ GEM
httplog (1.4.3) httplog (1.4.3)
rack (>= 1.0) rack (>= 1.0)
rainbow (>= 2.0.0) rainbow (>= 2.0.0)
i18n (1.8.3) i18n (1.8.5)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
i18n-tasks (0.9.31) i18n-tasks (0.9.31)
activesupport (>= 4.0.2) activesupport (>= 4.0.2)
@ -366,15 +358,14 @@ GEM
mini_portile2 (2.4.0) mini_portile2 (2.4.0)
minitest (5.14.1) minitest (5.14.1)
msgpack (1.3.3) msgpack (1.3.3)
multi_json (1.14.1) multi_json (1.15.0)
multipart-post (2.1.1) multipart-post (2.1.1)
necromancer (0.5.1)
net-ldap (0.16.2) net-ldap (0.16.2)
net-scp (3.0.0) net-scp (3.0.0)
net-ssh (>= 2.6.5, < 7.0.0) net-ssh (>= 2.6.5, < 7.0.0)
net-ssh (6.1.0) net-ssh (6.1.0)
nio4r (2.5.2) nio4r (2.5.2)
nokogiri (1.10.9) nokogiri (1.10.10)
mini_portile2 (~> 2.4.0) mini_portile2 (~> 2.4.0)
nokogumbo (2.0.2) nokogumbo (2.0.2)
nokogiri (~> 1.8, >= 1.8.4) nokogiri (~> 1.8, >= 1.8.4)
@ -383,7 +374,7 @@ GEM
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
sidekiq (>= 3.5) sidekiq (>= 3.5)
statsd-ruby (~> 1.4, >= 1.4.0) statsd-ruby (~> 1.4, >= 1.4.0)
oj (3.10.6) oj (3.10.8)
omniauth (1.9.1) omniauth (1.9.1)
hashie (>= 3.4.6) hashie (>= 3.4.6)
rack (>= 1.6.2, < 3) rack (>= 1.6.2, < 3)
@ -406,19 +397,19 @@ GEM
av (~> 0.9.0) av (~> 0.9.0)
paperclip (>= 2.5.2) paperclip (>= 2.5.2)
parallel (1.19.2) parallel (1.19.2)
parallel_tests (3.0.0) parallel_tests (3.1.0)
parallel parallel
parser (2.7.1.4) parser (2.7.1.4)
ast (~> 2.4.1) ast (~> 2.4.1)
parslet (2.0.0) parslet (2.0.0)
pastel (0.7.4) pastel (0.8.0)
equatable (~> 0.6)
tty-color (~> 0.5) tty-color (~> 0.5)
pg (1.2.3) pg (1.2.3)
pghero (2.5.1) pghero (2.6.0)
activerecord (>= 5) activerecord (>= 5)
pkg-config (1.4.1) pkg-config (1.4.1)
premailer (1.11.1) posix-spawn (0.3.15)
premailer (1.12.1)
addressable addressable
css_parser (>= 1.6.0) css_parser (>= 1.6.0)
htmlentities (>= 4.0.0) htmlentities (>= 4.0.0)
@ -553,7 +544,7 @@ GEM
rubocop-ast (>= 0.0.3, < 1.0) rubocop-ast (>= 0.0.3, < 1.0)
ruby-progressbar (~> 1.7) ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 2.0) unicode-display_width (>= 1.4.0, < 2.0)
rubocop-ast (0.1.0) rubocop-ast (0.2.0)
parser (>= 2.7.0.1) parser (>= 2.7.0.1)
rubocop-rails (2.6.0) rubocop-rails (2.6.0)
activesupport (>= 4.2.0) activesupport (>= 4.2.0)
@ -570,7 +561,7 @@ GEM
nokogiri (>= 1.8.0) nokogiri (>= 1.8.0)
nokogumbo (~> 2.0) nokogumbo (~> 2.0)
semantic_range (2.3.0) semantic_range (2.3.0)
sidekiq (6.1.0) sidekiq (6.1.1)
connection_pool (>= 2.2.2) connection_pool (>= 2.2.2)
rack (~> 2.0) rack (~> 2.0)
redis (>= 4.2.0) redis (>= 4.2.0)
@ -608,10 +599,10 @@ GEM
net-ssh (>= 2.8.0) net-ssh (>= 2.8.0)
stackprof (0.2.15) stackprof (0.2.15)
statsd-ruby (1.4.0) statsd-ruby (1.4.0)
stoplight (2.2.0) stoplight (2.2.1)
streamio-ffmpeg (3.0.2) streamio-ffmpeg (3.0.2)
multi_json (~> 1.8) multi_json (~> 1.8)
strong_migrations (0.6.8) strong_migrations (0.7.1)
activerecord (>= 5) activerecord (>= 5)
temple (0.8.2) temple (0.8.2)
terminal-table (1.8.0) terminal-table (1.8.0)
@ -620,19 +611,19 @@ GEM
climate_control (>= 0.0.3, < 1.0) climate_control (>= 0.0.3, < 1.0)
thor (0.20.3) thor (0.20.3)
thread_safe (0.3.6) thread_safe (0.3.6)
thwait (0.1.0) thwait (0.2.0)
e2mmap
tilt (2.0.10) tilt (2.0.10)
tty-color (0.5.1) tty-color (0.5.1)
tty-cursor (0.7.1) tty-cursor (0.7.1)
tty-prompt (0.21.0) tty-prompt (0.22.0)
necromancer (~> 0.5.0) pastel (~> 0.8)
pastel (~> 0.7.0) tty-reader (~> 0.8)
tty-reader (~> 0.7.0) tty-reader (0.8.0)
tty-reader (0.7.0)
tty-cursor (~> 0.7) tty-cursor (~> 0.7)
tty-screen (~> 0.7) tty-screen (~> 0.8)
wisper (~> 2.0.0) wisper (~> 2.0)
tty-screen (0.8.0) tty-screen (0.8.1)
twitter-text (1.14.7) twitter-text (1.14.7)
unf (~> 0.1.0) unf (~> 0.1.0)
tzinfo (1.2.7) tzinfo (1.2.7)
@ -658,7 +649,7 @@ GEM
webpush (0.3.8) webpush (0.3.8)
hkdf (~> 0.2) hkdf (~> 0.2)
jwt (~> 2.0) jwt (~> 2.0)
websocket-driver (0.7.2) websocket-driver (0.7.3)
websocket-extensions (>= 0.1.0) websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5) websocket-extensions (0.1.5)
wisper (2.0.1) wisper (2.0.1)
@ -673,7 +664,7 @@ DEPENDENCIES
active_record_query_trace (~> 1.7) active_record_query_trace (~> 1.7)
addressable (~> 2.7) addressable (~> 2.7)
annotate (~> 3.1) annotate (~> 3.1)
aws-sdk-s3 (~> 1.73) aws-sdk-s3 (~> 1.75)
better_errors (~> 2.7) better_errors (~> 2.7)
binding_of_caller (~> 0.7) binding_of_caller (~> 0.7)
blurhash (~> 0.1) blurhash (~> 0.1)
@ -683,8 +674,8 @@ DEPENDENCIES
bullet (~> 6.1) bullet (~> 6.1)
bundler-audit (~> 0.7) bundler-audit (~> 0.7)
capistrano (~> 3.14) capistrano (~> 3.14)
capistrano-rails (~> 1.5) capistrano-rails (~> 1.6)
capistrano-rbenv (~> 2.1) capistrano-rbenv (~> 2.2)
capistrano-yarn (~> 2.0) capistrano-yarn (~> 2.0)
capybara (~> 3.33) capybara (~> 3.33)
charlock_holmes (~> 0.7.7) charlock_holmes (~> 0.7.7)
@ -745,12 +736,12 @@ DEPENDENCIES
paperclip (~> 6.0) paperclip (~> 6.0)
paperclip-av-transcoder (~> 0.6) paperclip-av-transcoder (~> 0.6)
parallel (~> 1.19) parallel (~> 1.19)
parallel_tests (~> 3.0) parallel_tests (~> 3.1)
parslet parslet
pg (~> 1.2) pg (~> 1.2)
pghero (~> 2.5) pghero (~> 2.6)
pkg-config (~> 1.4) pkg-config (~> 1.4)
posix-spawn! posix-spawn
premailer-rails premailer-rails
private_address_check (~> 0.5) private_address_check (~> 0.5)
pry-byebug (~> 3.9) pry-byebug (~> 3.9)
@ -777,7 +768,7 @@ DEPENDENCIES
rubocop-rails (~> 2.6) rubocop-rails (~> 2.6)
ruby-progressbar (~> 1.10) ruby-progressbar (~> 1.10)
sanitize (~> 5.2) sanitize (~> 5.2)
sidekiq (~> 6.0) sidekiq (~> 6.1)
sidekiq-bulk (~> 0.2.0) sidekiq-bulk (~> 0.2.0)
sidekiq-scheduler (~> 3.0) sidekiq-scheduler (~> 3.0)
sidekiq-unique-jobs (~> 6.0) sidekiq-unique-jobs (~> 6.0)
@ -787,12 +778,12 @@ DEPENDENCIES
sprockets (~> 3.7.2) sprockets (~> 3.7.2)
sprockets-rails (~> 3.2) sprockets-rails (~> 3.2)
stackprof stackprof
stoplight (~> 2.2.0) stoplight (~> 2.2.1)
streamio-ffmpeg (~> 3.0) streamio-ffmpeg (~> 3.0)
strong_migrations (~> 0.6) strong_migrations (~> 0.7)
thor (~> 0.20) thor (~> 0.20)
thwait (~> 0.1.0) thwait (~> 0.2.0)
tty-prompt (~> 0.21) tty-prompt (~> 0.22)
twitter-text (~> 1.14) twitter-text (~> 1.14)
tzinfo-data (~> 1.2020) tzinfo-data (~> 1.2020)
webmock (~> 3.8) webmock (~> 3.8)

View file

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

View file

@ -16,7 +16,7 @@ import { fetchAccountIdentityProofs } from '../../actions/identity_proofs';
import MissingIndicator from 'mastodon/components/missing_indicator'; import MissingIndicator from 'mastodon/components/missing_indicator';
import TimelineHint from 'mastodon/components/timeline_hint'; import TimelineHint from 'mastodon/components/timeline_hint';
import { me } from 'mastodon/initial_state'; import { me } from 'mastodon/initial_state';
import { connectUserTimelineStream } from '../../actions/streaming'; import { connectTimeline, disconnectTimeline } from 'mastodon/actions/timelines';
const emptyList = ImmutableList(); const emptyList = ImmutableList();
@ -63,41 +63,48 @@ class AccountTimeline extends ImmutablePureComponent {
}; };
componentWillMount () { componentWillMount () {
const { params: { accountId }, withReplies } = this.props; const { params: { accountId }, withReplies, dispatch } = this.props;
this.props.dispatch(fetchAccount(accountId)); dispatch(fetchAccount(accountId));
this.props.dispatch(fetchAccountIdentityProofs(accountId)); dispatch(fetchAccountIdentityProofs(accountId));
if (!withReplies) { if (!withReplies) {
this.props.dispatch(expandAccountFeaturedTimeline(accountId)); dispatch(expandAccountFeaturedTimeline(accountId));
} }
this.props.dispatch(expandAccountTimeline(accountId, { withReplies })); dispatch(expandAccountTimeline(accountId, { withReplies }));
}
componentDidMount () { if (accountId === me) {
if (this.props.params.accountId === me) { dispatch(connectTimeline(`account:${me}`));
this.disconnect = this.props.dispatch(connectUserTimelineStream(me));
} }
} }
componentWillReceiveProps (nextProps) { componentWillReceiveProps (nextProps) {
const { dispatch } = this.props;
if ((nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) || nextProps.withReplies !== this.props.withReplies) { if ((nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) || nextProps.withReplies !== this.props.withReplies) {
this.props.dispatch(fetchAccount(nextProps.params.accountId)); dispatch(fetchAccount(nextProps.params.accountId));
this.props.dispatch(fetchAccountIdentityProofs(nextProps.params.accountId)); dispatch(fetchAccountIdentityProofs(nextProps.params.accountId));
if (!nextProps.withReplies) { if (!nextProps.withReplies) {
this.props.dispatch(expandAccountFeaturedTimeline(nextProps.params.accountId)); dispatch(expandAccountFeaturedTimeline(nextProps.params.accountId));
} }
this.props.dispatch(expandAccountTimeline(nextProps.params.accountId, { withReplies: nextProps.params.withReplies })); dispatch(expandAccountTimeline(nextProps.params.accountId, { withReplies: nextProps.params.withReplies }));
}
if (nextProps.params.accountId === me && this.props.params.accountId !== me) {
dispatch(connectTimeline(`account:${me}`));
} else if (this.props.params.accountId === me && nextProps.params.accountId !== me) {
dispatch(disconnectTimeline(`account:${me}`));
} }
} }
componentWillUnmount () { componentWillUnmount () {
if (this.disconnect) { const { dispatch, params: { accountId } } = this.props;
this.disconnect();
this.disconnect = null; if (accountId === me) {
dispatch(disconnectTimeline(`account:${me}`));
} }
} }

View file

@ -245,7 +245,7 @@
"keyboard_shortcuts.spoilers": "to show/hide CW field", "keyboard_shortcuts.spoilers": "to show/hide CW field",
"keyboard_shortcuts.start": "to open \"get started\" column", "keyboard_shortcuts.start": "to open \"get started\" column",
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW", "keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media", "keyboard_shortcuts.toggle_sensitivity": "da guzhat/ziguzhat ur media",
"keyboard_shortcuts.toot": "da gregiñ gant un toud nevez-flamm", "keyboard_shortcuts.toot": "da gregiñ gant un toud nevez-flamm",
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
"keyboard_shortcuts.up": "to move up in the list", "keyboard_shortcuts.up": "to move up in the list",

View file

@ -16,7 +16,7 @@
"account.followers": "Seguidors", "account.followers": "Seguidors",
"account.followers.empty": "Encara ningú no segueix aquest usuari.", "account.followers.empty": "Encara ningú no segueix aquest usuari.",
"account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidors}}", "account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidors}}",
"account.following_counter": "{count, plural, one {} other {{counter} Seguint}}", "account.following_counter": "{count, plural, other {{counter} Seguint}}",
"account.follows.empty": "Aquest usuari encara no segueix a ningú.", "account.follows.empty": "Aquest usuari encara no segueix a ningú.",
"account.follows_you": "Et segueix", "account.follows_you": "Et segueix",
"account.hide_reblogs": "Amaga els impulsos de @{name}", "account.hide_reblogs": "Amaga els impulsos de @{name}",

View file

@ -16,7 +16,7 @@
"account.followers": "Ακόλουθοι", "account.followers": "Ακόλουθοι",
"account.followers.empty": "Κανείς δεν ακολουθεί αυτό τον χρήστη ακόμα.", "account.followers.empty": "Κανείς δεν ακολουθεί αυτό τον χρήστη ακόμα.",
"account.followers_counter": "{count, plural, one {{counter} Ακόλουθος} other {{counter} Ακόλουθοι}}", "account.followers_counter": "{count, plural, one {{counter} Ακόλουθος} other {{counter} Ακόλουθοι}}",
"account.following_counter": "{count, plural, one {} other {{counter} Ακολουθεί}}", "account.following_counter": "{count, plural, other {{counter} Ακολουθεί}}",
"account.follows.empty": "Αυτός ο χρήστης δεν ακολουθεί κανέναν ακόμα.", "account.follows.empty": "Αυτός ο χρήστης δεν ακολουθεί κανέναν ακόμα.",
"account.follows_you": "Σε ακολουθεί", "account.follows_you": "Σε ακολουθεί",
"account.hide_reblogs": "Απόκρυψη προωθήσεων από @{name}", "account.hide_reblogs": "Απόκρυψη προωθήσεων από @{name}",

View file

@ -395,7 +395,7 @@
"status.redraft": "Borrar y volver a borrador", "status.redraft": "Borrar y volver a borrador",
"status.remove_bookmark": "Eliminar marcador", "status.remove_bookmark": "Eliminar marcador",
"status.reply": "Responder", "status.reply": "Responder",
"status.replyAll": "Responder al hilo", "status.replyAll": "Responder al hilván",
"status.report": "Reportar", "status.report": "Reportar",
"status.sensitive_warning": "Contenido sensible", "status.sensitive_warning": "Contenido sensible",
"status.share": "Compartir", "status.share": "Compartir",
@ -403,7 +403,7 @@
"status.show_less_all": "Mostrar menos para todo", "status.show_less_all": "Mostrar menos para todo",
"status.show_more": "Mostrar más", "status.show_more": "Mostrar más",
"status.show_more_all": "Mostrar más para todo", "status.show_more_all": "Mostrar más para todo",
"status.show_thread": "Ver hilo", "status.show_thread": "Mostrar hilván",
"status.uncached_media_warning": "No disponible", "status.uncached_media_warning": "No disponible",
"status.unmute_conversation": "Dejar de silenciar conversación", "status.unmute_conversation": "Dejar de silenciar conversación",
"status.unpin": "Dejar de fijar", "status.unpin": "Dejar de fijar",

View file

@ -1,12 +1,12 @@
{ {
"account.account_note_header": "Note", "account.account_note_header": "Muistiinpanot",
"account.add_or_remove_from_list": "Lisää tai poista listoilta", "account.add_or_remove_from_list": "Lisää tai poista listoilta",
"account.badges.bot": "Botti", "account.badges.bot": "Botti",
"account.badges.group": "Ryhmä", "account.badges.group": "Ryhmä",
"account.block": "Estä @{name}", "account.block": "Estä @{name}",
"account.block_domain": "Piilota kaikki sisältö verkkotunnuksesta {domain}", "account.block_domain": "Piilota kaikki sisältö verkkotunnuksesta {domain}",
"account.blocked": "Estetty", "account.blocked": "Estetty",
"account.browse_more_on_origin_server": "Browse more on the original profile", "account.browse_more_on_origin_server": "Selaile lisää alkuperäisellä palvelimella",
"account.cancel_follow_request": "Peruuta seurauspyyntö", "account.cancel_follow_request": "Peruuta seurauspyyntö",
"account.direct": "Viesti käyttäjälle @{name}", "account.direct": "Viesti käyttäjälle @{name}",
"account.domain_blocked": "Verkko-osoite piilotettu", "account.domain_blocked": "Verkko-osoite piilotettu",
@ -43,7 +43,7 @@
"account.unfollow": "Lakkaa seuraamasta", "account.unfollow": "Lakkaa seuraamasta",
"account.unmute": "Poista käyttäjän @{name} mykistys", "account.unmute": "Poista käyttäjän @{name} mykistys",
"account.unmute_notifications": "Poista mykistys käyttäjän @{name} ilmoituksilta", "account.unmute_notifications": "Poista mykistys käyttäjän @{name} ilmoituksilta",
"account_note.placeholder": "Click to add a note", "account_note.placeholder": "Lisää muistiinpano napsauttamalla",
"alert.rate_limited.message": "Yritä uudestaan {retry_time, time, medium} jälkeen.", "alert.rate_limited.message": "Yritä uudestaan {retry_time, time, medium} jälkeen.",
"alert.rate_limited.title": "Määrää rajoitettu", "alert.rate_limited.title": "Määrää rajoitettu",
"alert.unexpected.message": "Tapahtui odottamaton virhe.", "alert.unexpected.message": "Tapahtui odottamaton virhe.",
@ -79,7 +79,7 @@
"column_header.show_settings": "Näytä asetukset", "column_header.show_settings": "Näytä asetukset",
"column_header.unpin": "Poista kiinnitys", "column_header.unpin": "Poista kiinnitys",
"column_subheading.settings": "Asetukset", "column_subheading.settings": "Asetukset",
"community.column_settings.local_only": "Local only", "community.column_settings.local_only": "Vain paikalliset",
"community.column_settings.media_only": "Vain media", "community.column_settings.media_only": "Vain media",
"community.column_settings.remote_only": "Remote only", "community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Tämä tuuttaus näkyy vain mainituille käyttäjille.", "compose_form.direct_message_warning": "Tämä tuuttaus näkyy vain mainituille käyttäjille.",
@ -172,7 +172,7 @@
"follow_request.authorize": "Valtuuta", "follow_request.authorize": "Valtuuta",
"follow_request.reject": "Hylkää", "follow_request.reject": "Hylkää",
"follow_requests.unlocked_explanation": "Vaikka tilisi ei ole lukittu, {domain} ylläpitäjien mielestä haluat tarkistaa näiden tilien seurauspyynnöt manuaalisesti.", "follow_requests.unlocked_explanation": "Vaikka tilisi ei ole lukittu, {domain} ylläpitäjien mielestä haluat tarkistaa näiden tilien seurauspyynnöt manuaalisesti.",
"generic.saved": "Saved", "generic.saved": "Tallennettu",
"getting_started.developers": "Kehittäjille", "getting_started.developers": "Kehittäjille",
"getting_started.directory": "Profiilihakemisto", "getting_started.directory": "Profiilihakemisto",
"getting_started.documentation": "Documentaatio", "getting_started.documentation": "Documentaatio",
@ -242,7 +242,7 @@
"keyboard_shortcuts.reply": "vastaa", "keyboard_shortcuts.reply": "vastaa",
"keyboard_shortcuts.requests": "avaa lista seurauspyynnöistä", "keyboard_shortcuts.requests": "avaa lista seurauspyynnöistä",
"keyboard_shortcuts.search": "siirry hakukenttään", "keyboard_shortcuts.search": "siirry hakukenttään",
"keyboard_shortcuts.spoilers": "to show/hide CW field", "keyboard_shortcuts.spoilers": "näyttääksesi/piilottaaksesi CW kentän",
"keyboard_shortcuts.start": "avaa \"Aloitus\" -sarake", "keyboard_shortcuts.start": "avaa \"Aloitus\" -sarake",
"keyboard_shortcuts.toggle_hidden": "näytä/piilota sisältövaroituksella merkitty teksti", "keyboard_shortcuts.toggle_hidden": "näytä/piilota sisältövaroituksella merkitty teksti",
"keyboard_shortcuts.toggle_sensitivity": "näytä/piilota media", "keyboard_shortcuts.toggle_sensitivity": "näytä/piilota media",
@ -420,15 +420,15 @@
"time_remaining.moments": "Hetki jäljellä", "time_remaining.moments": "Hetki jäljellä",
"time_remaining.seconds": "{number, plural, one {# sekunti} other {# sekuntia}} jäljellä", "time_remaining.seconds": "{number, plural, one {# sekunti} other {# sekuntia}} jäljellä",
"timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.", "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.",
"timeline_hint.resources.followers": "Followers", "timeline_hint.resources.followers": "Seuraajat",
"timeline_hint.resources.follows": "Follows", "timeline_hint.resources.follows": "Seuraa",
"timeline_hint.resources.statuses": "Older toots", "timeline_hint.resources.statuses": "Vanhemmat tuuttaukset",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking",
"trends.trending_now": "Suosittua nyt", "trends.trending_now": "Suosittua nyt",
"ui.beforeunload": "Luonnos häviää, jos poistut Mastodonista.", "ui.beforeunload": "Luonnos häviää, jos poistut Mastodonista.",
"units.short.billion": "{count}B", "units.short.billion": "{count}B",
"units.short.million": "{count}M", "units.short.million": "{count}m",
"units.short.thousand": "{count}K", "units.short.thousand": "{count}k",
"upload_area.title": "Lataa raahaamalla ja pudottamalla tähän", "upload_area.title": "Lataa raahaamalla ja pudottamalla tähän",
"upload_button.label": "Lisää mediaa", "upload_button.label": "Lisää mediaa",
"upload_error.limit": "Tiedostolatauksien raja ylitetty.", "upload_error.limit": "Tiedostolatauksien raja ylitetty.",
@ -436,12 +436,12 @@
"upload_form.audio_description": "Kuvaile kuulovammaisille", "upload_form.audio_description": "Kuvaile kuulovammaisille",
"upload_form.description": "Anna kuvaus näkörajoitteisia varten", "upload_form.description": "Anna kuvaus näkörajoitteisia varten",
"upload_form.edit": "Muokkaa", "upload_form.edit": "Muokkaa",
"upload_form.thumbnail": "Change thumbnail", "upload_form.thumbnail": "Vaihda pikkukuva",
"upload_form.undo": "Peru", "upload_form.undo": "Peru",
"upload_form.video_description": "Kuvaile kuulo- tai näkövammaisille", "upload_form.video_description": "Kuvaile kuulo- tai näkövammaisille",
"upload_modal.analyzing_picture": "Analysoidaan kuvaa…", "upload_modal.analyzing_picture": "Analysoidaan kuvaa…",
"upload_modal.apply": "Käytä", "upload_modal.apply": "Käytä",
"upload_modal.choose_image": "Choose image", "upload_modal.choose_image": "Valitse kuva",
"upload_modal.description_placeholder": "Eräänä jäätävänä ja pimeänä yönä gorilla ratkaisi sudokun kahdessa minuutissa", "upload_modal.description_placeholder": "Eräänä jäätävänä ja pimeänä yönä gorilla ratkaisi sudokun kahdessa minuutissa",
"upload_modal.detect_text": "Tunnista teksti kuvasta", "upload_modal.detect_text": "Tunnista teksti kuvasta",
"upload_modal.edit_media": "Muokkaa mediaa", "upload_modal.edit_media": "Muokkaa mediaa",

View file

@ -423,7 +423,7 @@
"timeline_hint.resources.followers": "Les abonnés", "timeline_hint.resources.followers": "Les abonnés",
"timeline_hint.resources.follows": "Les abonnements", "timeline_hint.resources.follows": "Les abonnements",
"timeline_hint.resources.statuses": "Les anciens pouets", "timeline_hint.resources.statuses": "Les anciens pouets",
"trends.counter_by_accounts": "{count, plural, one {{counter} personne} other {{counter} personnes}} en parle·nt", "trends.counter_by_accounts": "{count, plural, one {{counter} personne en parle} other {{counter} personnes en parlent}}",
"trends.trending_now": "Tendance en ce moment", "trends.trending_now": "Tendance en ce moment",
"ui.beforeunload": "Votre brouillon sera perdu si vous quittez Mastodon.", "ui.beforeunload": "Votre brouillon sera perdu si vous quittez Mastodon.",
"units.short.billion": "{count}B", "units.short.billion": "{count}B",

View file

@ -16,7 +16,7 @@
"account.followers": "Seguidoras", "account.followers": "Seguidoras",
"account.followers.empty": "Aínda ninguén segue esta usuaria.", "account.followers.empty": "Aínda ninguén segue esta usuaria.",
"account.followers_counter": "{count, plural, one {{counter} Seguidora} other {{counter} Seguidoras}}", "account.followers_counter": "{count, plural, one {{counter} Seguidora} other {{counter} Seguidoras}}",
"account.following_counter": "{count, plural, one {} other {{counter} Seguindo}}", "account.following_counter": "{count, plural, other {{counter} Seguindo}}",
"account.follows.empty": "Esta usuaria aínda non segue a ninguén.", "account.follows.empty": "Esta usuaria aínda non segue a ninguén.",
"account.follows_you": "Séguete", "account.follows_you": "Séguete",
"account.hide_reblogs": "Agochar repeticións de @{name}", "account.hide_reblogs": "Agochar repeticións de @{name}",

View file

@ -16,7 +16,7 @@
"account.followers": "Követő", "account.followers": "Követő",
"account.followers.empty": "Ezt a felhasználót még senki sem követi.", "account.followers.empty": "Ezt a felhasználót még senki sem követi.",
"account.followers_counter": "{count, plural, one {{counter} Követő} other {{counter} Követő}}", "account.followers_counter": "{count, plural, one {{counter} Követő} other {{counter} Követő}}",
"account.following_counter": "{count, plural, one {} other {{counter} Követett}}", "account.following_counter": "{count, plural, other {{counter} Követett}}",
"account.follows.empty": "Ez a felhasználó még senkit sem követ.", "account.follows.empty": "Ez a felhasználó még senkit sem követ.",
"account.follows_you": "Követ téged", "account.follows_you": "Követ téged",
"account.hide_reblogs": "@{name} megtolásainak némítása", "account.hide_reblogs": "@{name} megtolásainak némítása",

View file

@ -1,12 +1,12 @@
{ {
"account.account_note_header": "Note", "account.account_note_header": "Գրառում",
"account.add_or_remove_from_list": "Աւելացնել կամ հեռացնել ցանկերից", "account.add_or_remove_from_list": "Աւելացնել կամ հեռացնել ցանկերից",
"account.badges.bot": "Բոտ", "account.badges.bot": "Բոտ",
"account.badges.group": "Խումբ", "account.badges.group": "Խումբ",
"account.block": "Արգելափակել @{name}֊ին", "account.block": "Արգելափակել @{name}֊ին",
"account.block_domain": "Թաքցնել ամէնը հետեւեալ տիրոյթից՝ {domain}", "account.block_domain": "Թաքցնել ամէնը հետեւեալ տիրոյթից՝ {domain}",
"account.blocked": "Արգելափակուած է", "account.blocked": "Արգելափակուած է",
"account.browse_more_on_origin_server": "Browse more on the original profile", "account.browse_more_on_origin_server": "Դիտել ավելին իրական պրոֆիլում",
"account.cancel_follow_request": "չեղարկել հետեւելու հայցը", "account.cancel_follow_request": "չեղարկել հետեւելու հայցը",
"account.direct": "Նամակ գրել @{name} -ին", "account.direct": "Նամակ գրել @{name} -ին",
"account.domain_blocked": "Տիրոյթը արգելափակուած է", "account.domain_blocked": "Տիրոյթը արգելափակուած է",
@ -16,7 +16,7 @@
"account.followers": "Հետեւողներ", "account.followers": "Հետեւողներ",
"account.followers.empty": "Այս օգտատիրոջը դեռ ոչ մէկ չի հետեւում։", "account.followers.empty": "Այս օգտատիրոջը դեռ ոչ մէկ չի հետեւում։",
"account.followers_counter": "{count, plural, one {{counter} Հետևորդ} other {{counter} Հետևորդներ}}", "account.followers_counter": "{count, plural, one {{counter} Հետևորդ} other {{counter} Հետևորդներ}}",
"account.following_counter": "{count, plural, one {} other {{counter} Հետևում են}}", "account.following_counter": "{count, plural, other {{counter} Հետևում են}}",
"account.follows.empty": "Այս օգտատէրը դեռ ոչ մէկի չի հետեւում։", "account.follows.empty": "Այս օգտատէրը դեռ ոչ մէկի չի հետեւում։",
"account.follows_you": "Հետեւում է քեզ", "account.follows_you": "Հետեւում է քեզ",
"account.hide_reblogs": "Թաքցնել @{name}֊ի տարածածները", "account.hide_reblogs": "Թաքցնել @{name}֊ի տարածածները",
@ -43,7 +43,7 @@
"account.unfollow": "Ապահետեւել", "account.unfollow": "Ապահետեւել",
"account.unmute": "Ապալռեցնել @{name}֊ին", "account.unmute": "Ապալռեցնել @{name}֊ին",
"account.unmute_notifications": "Միացնել ծանուցումները @{name}֊ից", "account.unmute_notifications": "Միացնել ծանուցումները @{name}֊ից",
"account_note.placeholder": "Click to add a note", "account_note.placeholder": "Սեղմեք գրառելու համար",
"alert.rate_limited.message": "Փորձէք որոշ ժամանակ անց՝ {retry_time, time, medium}։", "alert.rate_limited.message": "Փորձէք որոշ ժամանակ անց՝ {retry_time, time, medium}։",
"alert.rate_limited.title": "Գործողութիւնների յաճախութիւնը գերազանցում է թոյլատրելին", "alert.rate_limited.title": "Գործողութիւնների յաճախութիւնը գերազանցում է թոյլատրելին",
"alert.unexpected.message": "Անսպասելի սխալ տեղի ունեցաւ։", "alert.unexpected.message": "Անսպասելի սխալ տեղի ունեցաւ։",
@ -242,7 +242,7 @@
"keyboard_shortcuts.reply": "պատասխանելու համար", "keyboard_shortcuts.reply": "պատասխանելու համար",
"keyboard_shortcuts.requests": "հետեւելու հայցերի ցանկը դիտելու համար", "keyboard_shortcuts.requests": "հետեւելու հայցերի ցանկը դիտելու համար",
"keyboard_shortcuts.search": "որոնման դաշտին սեւեռվելու համար", "keyboard_shortcuts.search": "որոնման դաշտին սեւեռվելու համար",
"keyboard_shortcuts.spoilers": "to show/hide CW field", "keyboard_shortcuts.spoilers": "որպեսզի ցուցադրվի/թաքցվի CW դաշտը",
"keyboard_shortcuts.start": "«սկսել» սիւնակը բացելու համար", "keyboard_shortcuts.start": "«սկսել» սիւնակը բացելու համար",
"keyboard_shortcuts.toggle_hidden": "CW֊ի ետեւի տեքստը ցուցադրել֊թաքցնելու համար", "keyboard_shortcuts.toggle_hidden": "CW֊ի ետեւի տեքստը ցուցադրել֊թաքցնելու համար",
"keyboard_shortcuts.toggle_sensitivity": "մեդիան ցուցադրել֊թաքցնելու համար", "keyboard_shortcuts.toggle_sensitivity": "մեդիան ցուցադրել֊թաքցնելու համար",
@ -419,7 +419,7 @@
"time_remaining.minutes": "{number, plural, one {# րոպե} other {# րոպե}} անց", "time_remaining.minutes": "{number, plural, one {# րոպե} other {# րոպե}} անց",
"time_remaining.moments": "Մնացել է մի քանի վարկեան", "time_remaining.moments": "Մնացել է մի քանի վարկեան",
"time_remaining.seconds": "{number, plural, one {# վարկեան} other {# վարկեան}} անց", "time_remaining.seconds": "{number, plural, one {# վարկեան} other {# վարկեան}} անց",
"timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.", "timeline_hint.remote_resource_not_displayed": "{resource} այլ սպասարկիչներից չեն ցուցադրվել:",
"timeline_hint.resources.followers": "Հետևորդներ", "timeline_hint.resources.followers": "Հետևորդներ",
"timeline_hint.resources.follows": "Հետևել", "timeline_hint.resources.follows": "Հետևել",
"timeline_hint.resources.statuses": "Հին թութեր", "timeline_hint.resources.statuses": "Հին թութեր",
@ -436,7 +436,7 @@
"upload_form.audio_description": "Նկարագրիր ձայնագրութեան բովանդակութիւնը լսողական խնդիրներով անձանց համար", "upload_form.audio_description": "Նկարագրիր ձայնագրութեան բովանդակութիւնը լսողական խնդիրներով անձանց համար",
"upload_form.description": "Նկարագիր՝ տեսողական խնդիրներ ունեցողների համար", "upload_form.description": "Նկարագիր՝ տեսողական խնդիրներ ունեցողների համար",
"upload_form.edit": "Խմբագրել", "upload_form.edit": "Խմբագրել",
"upload_form.thumbnail": "Change thumbnail", "upload_form.thumbnail": "Փոխել պատկերակը",
"upload_form.undo": "Հետարկել", "upload_form.undo": "Հետարկել",
"upload_form.video_description": "Նկարագրիր տեսանիւթը լսողական կամ տեսողական խնդիրներով անձանց համար", "upload_form.video_description": "Նկարագրիր տեսանիւթը լսողական կամ տեսողական խնդիրներով անձանց համար",
"upload_modal.analyzing_picture": "Լուսանկարի վերլուծում…", "upload_modal.analyzing_picture": "Լուսանկարի վերլուծում…",

View file

@ -36,7 +36,7 @@
"account.requested": "フォロー承認待ちです。クリックしてキャンセル", "account.requested": "フォロー承認待ちです。クリックしてキャンセル",
"account.share": "@{name}さんのプロフィールを共有する", "account.share": "@{name}さんのプロフィールを共有する",
"account.show_reblogs": "@{name}さんからのブーストを表示", "account.show_reblogs": "@{name}さんからのブーストを表示",
"account.statuses_counter": "{counter} トゥート", "account.statuses_counter": "{counter} 投稿",
"account.unblock": "@{name}さんのブロックを解除", "account.unblock": "@{name}さんのブロックを解除",
"account.unblock_domain": "{domain}のブロックを解除", "account.unblock_domain": "{domain}のブロックを解除",
"account.unendorse": "プロフィールから外す", "account.unendorse": "プロフィールから外す",

View file

@ -1,5 +1,5 @@
{ {
"account.account_note_header": "Tazmilt-ik·im i @{name}", "account.account_note_header": "Tazmilt",
"account.add_or_remove_from_list": "Rnu neɣ kkes seg tebdarin", "account.add_or_remove_from_list": "Rnu neɣ kkes seg tebdarin",
"account.badges.bot": "Aṛubut", "account.badges.bot": "Aṛubut",
"account.badges.group": "Agraw", "account.badges.group": "Agraw",
@ -295,7 +295,7 @@
"notification.follow": "{name} yeṭṭafaṛ-ik", "notification.follow": "{name} yeṭṭafaṛ-ik",
"notification.follow_request": "{name} yessuter-d ad k-yeḍfeṛ", "notification.follow_request": "{name} yessuter-d ad k-yeḍfeṛ",
"notification.mention": "{name} yebder-ik-id", "notification.mention": "{name} yebder-ik-id",
"notification.own_poll": "Your poll has ended", "notification.own_poll": "Tafrant-ik·im tfuk",
"notification.poll": "A poll you have voted in has ended", "notification.poll": "A poll you have voted in has ended",
"notification.reblog": "{name} yebḍa tajewwiqt-ik i tikelt-nniḍen", "notification.reblog": "{name} yebḍa tajewwiqt-ik i tikelt-nniḍen",
"notifications.clear": "Sfeḍ tilɣa", "notifications.clear": "Sfeḍ tilɣa",
@ -390,7 +390,7 @@
"status.read_more": "Issin ugar", "status.read_more": "Issin ugar",
"status.reblog": "Bḍu", "status.reblog": "Bḍu",
"status.reblog_private": "Boost to original audience", "status.reblog_private": "Boost to original audience",
"status.reblogged_by": "{name} boosted", "status.reblogged_by": "Yebḍa-tt {name}",
"status.reblogs.empty": "Ula yiwen ur yebḍi tajewwiqt-agi ar tura. Ticki yebḍa-tt yiwen, ad d-iban da.", "status.reblogs.empty": "Ula yiwen ur yebḍi tajewwiqt-agi ar tura. Ticki yebḍa-tt yiwen, ad d-iban da.",
"status.redraft": "Kkes tɛiwdeḍ tira", "status.redraft": "Kkes tɛiwdeḍ tira",
"status.remove_bookmark": "Kkes tacreḍt", "status.remove_bookmark": "Kkes tacreḍt",

View file

@ -1,5 +1,5 @@
{ {
"account.account_note_header": "@{name} 에 대한 노트", "account.account_note_header": "노트",
"account.add_or_remove_from_list": "리스트에 추가 혹은 삭제", "account.add_or_remove_from_list": "리스트에 추가 혹은 삭제",
"account.badges.bot": "봇", "account.badges.bot": "봇",
"account.badges.group": "그룹", "account.badges.group": "그룹",
@ -43,7 +43,7 @@
"account.unfollow": "팔로우 해제", "account.unfollow": "팔로우 해제",
"account.unmute": "뮤트 해제", "account.unmute": "뮤트 해제",
"account.unmute_notifications": "@{name}의 알림 뮤트 해제", "account.unmute_notifications": "@{name}의 알림 뮤트 해제",
"account_note.placeholder": "작성된 댓글이 없음", "account_note.placeholder": "클릭해서 노트 추가",
"alert.rate_limited.message": "{retry_time, time, medium}에 다시 시도해 주세요.", "alert.rate_limited.message": "{retry_time, time, medium}에 다시 시도해 주세요.",
"alert.rate_limited.title": "빈도 제한", "alert.rate_limited.title": "빈도 제한",
"alert.unexpected.message": "예측하지 못한 에러가 발생했습니다.", "alert.unexpected.message": "예측하지 못한 에러가 발생했습니다.",
@ -436,12 +436,12 @@
"upload_form.audio_description": "청각 장애인을 위한 설명", "upload_form.audio_description": "청각 장애인을 위한 설명",
"upload_form.description": "시각장애인을 위한 설명", "upload_form.description": "시각장애인을 위한 설명",
"upload_form.edit": "편집", "upload_form.edit": "편집",
"upload_form.thumbnail": "Change thumbnail", "upload_form.thumbnail": "썸네일 변경",
"upload_form.undo": "삭제", "upload_form.undo": "삭제",
"upload_form.video_description": "청각, 시각 장애인을 위한 설명", "upload_form.video_description": "청각, 시각 장애인을 위한 설명",
"upload_modal.analyzing_picture": "이미지 분석 중…", "upload_modal.analyzing_picture": "이미지 분석 중…",
"upload_modal.apply": "적용", "upload_modal.apply": "적용",
"upload_modal.choose_image": "Choose image", "upload_modal.choose_image": "이미지 선택",
"upload_modal.description_placeholder": "다람쥐 헌 쳇바퀴 타고파", "upload_modal.description_placeholder": "다람쥐 헌 쳇바퀴 타고파",
"upload_modal.detect_text": "이미지에서 텍스트 추출", "upload_modal.detect_text": "이미지에서 텍스트 추출",
"upload_modal.edit_media": "미디어 편집", "upload_modal.edit_media": "미디어 편집",

View file

@ -15,8 +15,8 @@
"account.follow": "Volgen", "account.follow": "Volgen",
"account.followers": "Volgers", "account.followers": "Volgers",
"account.followers.empty": "Niemand volgt nog deze gebruiker.", "account.followers.empty": "Niemand volgt nog deze gebruiker.",
"account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}", "account.followers_counter": "{count, plural, one {{counter} volger} other {{counter} volgers}}",
"account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", "account.following_counter": "{count, plural, one {{counter} volgend} other {{counter} volgend}}",
"account.follows.empty": "Deze gebruiker volgt nog niemand.", "account.follows.empty": "Deze gebruiker volgt nog niemand.",
"account.follows_you": "Volgt jou", "account.follows_you": "Volgt jou",
"account.hide_reblogs": "Verberg boosts van @{name}", "account.hide_reblogs": "Verberg boosts van @{name}",
@ -36,7 +36,7 @@
"account.requested": "Wacht op goedkeuring. Klik om het volgverzoek te annuleren", "account.requested": "Wacht op goedkeuring. Klik om het volgverzoek te annuleren",
"account.share": "Profiel van @{name} delen", "account.share": "Profiel van @{name} delen",
"account.show_reblogs": "Toon boosts van @{name}", "account.show_reblogs": "Toon boosts van @{name}",
"account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}", "account.statuses_counter": "{count, plural, one {{counter} toot} other {{counter} toots}}",
"account.unblock": "@{name} deblokkeren", "account.unblock": "@{name} deblokkeren",
"account.unblock_domain": "{domain} niet langer verbergen", "account.unblock_domain": "{domain} niet langer verbergen",
"account.unendorse": "Niet op profiel weergeven", "account.unendorse": "Niet op profiel weergeven",
@ -423,7 +423,7 @@
"timeline_hint.resources.followers": "Volgers", "timeline_hint.resources.followers": "Volgers",
"timeline_hint.resources.follows": "Volgend", "timeline_hint.resources.follows": "Volgend",
"timeline_hint.resources.statuses": "Oudere toots", "timeline_hint.resources.statuses": "Oudere toots",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking", "trends.counter_by_accounts": "{count, plural, one {{counter} persoon} other {{counter} personen}} zijn aan het praten",
"trends.trending_now": "Trends", "trends.trending_now": "Trends",
"ui.beforeunload": "Je concept zal verloren gaan als je Mastodon verlaat.", "ui.beforeunload": "Je concept zal verloren gaan als je Mastodon verlaat.",
"units.short.billion": "{count}B", "units.short.billion": "{count}B",
@ -436,12 +436,12 @@
"upload_form.audio_description": "Omschrijf dit voor mensen met een auditieve beperking", "upload_form.audio_description": "Omschrijf dit voor mensen met een auditieve beperking",
"upload_form.description": "Omschrijf dit voor mensen met een visuele beperking", "upload_form.description": "Omschrijf dit voor mensen met een visuele beperking",
"upload_form.edit": "Bewerken", "upload_form.edit": "Bewerken",
"upload_form.thumbnail": "Change thumbnail", "upload_form.thumbnail": "Miniatuurafbeelding wijzigen",
"upload_form.undo": "Verwijderen", "upload_form.undo": "Verwijderen",
"upload_form.video_description": "Omschrijf dit voor mensen met een auditieve of visuele beperking", "upload_form.video_description": "Omschrijf dit voor mensen met een auditieve of visuele beperking",
"upload_modal.analyzing_picture": "Afbeelding analyseren…", "upload_modal.analyzing_picture": "Afbeelding analyseren…",
"upload_modal.apply": "Toepassen", "upload_modal.apply": "Toepassen",
"upload_modal.choose_image": "Choose image", "upload_modal.choose_image": "Kies een afbeelding",
"upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog", "upload_modal.description_placeholder": "A quick brown fox jumps over the lazy dog",
"upload_modal.detect_text": "Tekst in een afbeelding detecteren", "upload_modal.detect_text": "Tekst in een afbeelding detecteren",
"upload_modal.edit_media": "Media bewerken", "upload_modal.edit_media": "Media bewerken",

View file

@ -118,7 +118,7 @@
"confirmations.mute.explanation": "Isso ocultará toots deles e toots mencionando-os, mas ainda permitirá que eles vejam seus toots e te sigam.", "confirmations.mute.explanation": "Isso ocultará toots deles e toots mencionando-os, mas ainda permitirá que eles vejam seus toots e te sigam.",
"confirmations.mute.message": "Você tem certeza de que deseja silenciar {name}?", "confirmations.mute.message": "Você tem certeza de que deseja silenciar {name}?",
"confirmations.redraft.confirm": "Excluir e rascunhar", "confirmations.redraft.confirm": "Excluir e rascunhar",
"confirmations.redraft.message": "Tem certeza que quer excluir este status e re-rascunhá-lo? Favoritos e boots vão ser perdidos, e as respostas ao post original vão ficar órfãs.", "confirmations.redraft.message": "Você tem certeza de que deseja apagar o toot e usá-lo como rascunho? Boosts e favoritos serão perdidos e as respostas ao toot original ficarão desconectadas.",
"confirmations.reply.confirm": "Responder", "confirmations.reply.confirm": "Responder",
"confirmations.reply.message": "Responder agora sobrescreverá o toot que você está compondo. Deseja continuar?", "confirmations.reply.message": "Responder agora sobrescreverá o toot que você está compondo. Deseja continuar?",
"confirmations.unfollow.confirm": "Deixar de seguir", "confirmations.unfollow.confirm": "Deixar de seguir",
@ -392,7 +392,7 @@
"status.reblog_private": "Boostar para audiência original", "status.reblog_private": "Boostar para audiência original",
"status.reblogged_by": "{name} boostou", "status.reblogged_by": "{name} boostou",
"status.reblogs.empty": "Nada aqui. Quando alguém der boost, o autor aparecerá aqui.", "status.reblogs.empty": "Nada aqui. Quando alguém der boost, o autor aparecerá aqui.",
"status.redraft": "Excluir & re-rascunhar", "status.redraft": "Excluir e rascunhar",
"status.remove_bookmark": "Remover marcador", "status.remove_bookmark": "Remover marcador",
"status.reply": "Responder", "status.reply": "Responder",
"status.replyAll": "Responder a thread", "status.replyAll": "Responder a thread",
@ -425,7 +425,7 @@
"timeline_hint.resources.statuses": "Toots mais antigos", "timeline_hint.resources.statuses": "Toots mais antigos",
"trends.counter_by_accounts": "{count, plural, one {{counter} pessoa} other {{counter} pessoas}} falando", "trends.counter_by_accounts": "{count, plural, one {{counter} pessoa} other {{counter} pessoas}} falando",
"trends.trending_now": "Em alta no momento", "trends.trending_now": "Em alta no momento",
"ui.beforeunload": "Seu rascunho vai ser perdido se você sair do Mastodon.", "ui.beforeunload": "Seu rascunho será perdido se você sair do Mastodon.",
"units.short.billion": "{count} bi", "units.short.billion": "{count} bi",
"units.short.million": "{count} mi", "units.short.million": "{count} mi",
"units.short.thousand": "{count} mil", "units.short.thousand": "{count} mil",

View file

@ -423,7 +423,7 @@
"timeline_hint.resources.followers": "подписчиков", "timeline_hint.resources.followers": "подписчиков",
"timeline_hint.resources.follows": "подписки", "timeline_hint.resources.follows": "подписки",
"timeline_hint.resources.statuses": "прошлые посты", "timeline_hint.resources.statuses": "прошлые посты",
"trends.counter_by_accounts": "{count, plural, one {{counter} человек} many {{counter} человек} other {{counter} человека}}", "trends.counter_by_accounts": "{count, plural, one {{counter} человек обсуждает} few {{counter} человека обсуждает} many {{counter} человек обсуждают} other {{counter} обсуждают}} ",
"trends.trending_now": "Самое актуальное", "trends.trending_now": "Самое актуальное",
"ui.beforeunload": "Ваш черновик будет утерян, если вы покинете Mastodon.", "ui.beforeunload": "Ваш черновик будет утерян, если вы покинете Mastodon.",
"units.short.billion": "{count} млрд", "units.short.billion": "{count} млрд",

View file

@ -16,7 +16,7 @@
"account.followers": "Ndjekës", "account.followers": "Ndjekës",
"account.followers.empty": "Këtë përdorues ende se ndjek njeri.", "account.followers.empty": "Këtë përdorues ende se ndjek njeri.",
"account.followers_counter": "{count, plural, one {{counter} Ndjekës} other {{counter} Ndjekës}}", "account.followers_counter": "{count, plural, one {{counter} Ndjekës} other {{counter} Ndjekës}}",
"account.following_counter": "{count, plural, one {} other {{counter} të Ndjekur}}", "account.following_counter": "{count, plural, other {{counter} të Ndjekur}}",
"account.follows.empty": "Ky përdorues ende sndjek njeri.", "account.follows.empty": "Ky përdorues ende sndjek njeri.",
"account.follows_you": "Ju ndjek", "account.follows_you": "Ju ndjek",
"account.hide_reblogs": "Fshih përforcime nga @{name}", "account.hide_reblogs": "Fshih përforcime nga @{name}",

View file

@ -1,12 +1,12 @@
{ {
"account.account_note_header": "หมายเหตุของคุณสำหรับ @{name}", "account.account_note_header": "หมายเหตุ",
"account.add_or_remove_from_list": "เพิ่มหรือเอาออกจากรายการ", "account.add_or_remove_from_list": "เพิ่มหรือเอาออกจากรายการ",
"account.badges.bot": "บอต", "account.badges.bot": "บอต",
"account.badges.group": "กลุ่ม", "account.badges.group": "กลุ่ม",
"account.block": "ปิดกั้น @{name}", "account.block": "ปิดกั้น @{name}",
"account.block_domain": "ปิดกั้นโดเมน {domain}", "account.block_domain": "ปิดกั้นโดเมน {domain}",
"account.blocked": "ปิดกั้นอยู่", "account.blocked": "ปิดกั้นอยู่",
"account.browse_more_on_origin_server": "ดูเพิ่มเติมในโปรไฟล์ต้นฉบับ", "account.browse_more_on_origin_server": "เรียกดูเพิ่มเติมในโปรไฟล์ดั้งเดิม",
"account.cancel_follow_request": "ยกเลิกคำขอติดตาม", "account.cancel_follow_request": "ยกเลิกคำขอติดตาม",
"account.direct": "ส่งข้อความโดยตรงถึง @{name}", "account.direct": "ส่งข้อความโดยตรงถึง @{name}",
"account.domain_blocked": "ปิดกั้นโดเมนอยู่", "account.domain_blocked": "ปิดกั้นโดเมนอยู่",
@ -15,8 +15,8 @@
"account.follow": "ติดตาม", "account.follow": "ติดตาม",
"account.followers": "ผู้ติดตาม", "account.followers": "ผู้ติดตาม",
"account.followers.empty": "ยังไม่มีใครติดตามผู้ใช้นี้", "account.followers.empty": "ยังไม่มีใครติดตามผู้ใช้นี้",
"account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}", "account.followers_counter": "{count, plural, other {{counter} ผู้ติดตาม}}",
"account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", "account.following_counter": "{count, plural, other {{counter} กำลังติดตาม}}",
"account.follows.empty": "ผู้ใช้นี้ยังไม่ได้ติดตามใคร", "account.follows.empty": "ผู้ใช้นี้ยังไม่ได้ติดตามใคร",
"account.follows_you": "ติดตามคุณ", "account.follows_you": "ติดตามคุณ",
"account.hide_reblogs": "ซ่อนการดันจาก @{name}", "account.hide_reblogs": "ซ่อนการดันจาก @{name}",
@ -36,14 +36,14 @@
"account.requested": "กำลังรอการอนุมัติ คลิกเพื่อยกเลิกคำขอติดตาม", "account.requested": "กำลังรอการอนุมัติ คลิกเพื่อยกเลิกคำขอติดตาม",
"account.share": "แบ่งปันโปรไฟล์ของ @{name}", "account.share": "แบ่งปันโปรไฟล์ของ @{name}",
"account.show_reblogs": "แสดงการดันจาก @{name}", "account.show_reblogs": "แสดงการดันจาก @{name}",
"account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}", "account.statuses_counter": "{count, plural, other {{counter} โพสต์}}",
"account.unblock": "เลิกปิดกั้น @{name}", "account.unblock": "เลิกปิดกั้น @{name}",
"account.unblock_domain": "เลิกปิดกั้นโดเมน {domain}", "account.unblock_domain": "เลิกปิดกั้นโดเมน {domain}",
"account.unendorse": "ไม่แสดงให้เห็นในโปรไฟล์", "account.unendorse": "ไม่แสดงให้เห็นในโปรไฟล์",
"account.unfollow": "เลิกติดตาม", "account.unfollow": "เลิกติดตาม",
"account.unmute": "เลิกซ่อน @{name}", "account.unmute": "เลิกซ่อน @{name}",
"account.unmute_notifications": "เลิกซ่อนการแจ้งเตือนจาก @{name}", "account.unmute_notifications": "เลิกซ่อนการแจ้งเตือนจาก @{name}",
"account_note.placeholder": "ไม่มีความคิดเห็นที่ระบุไว้", "account_note.placeholder": "คลิกเพื่อเพิ่มหมายเหตุ",
"alert.rate_limited.message": "โปรดลองใหม่หลังจาก {retry_time, time, medium}", "alert.rate_limited.message": "โปรดลองใหม่หลังจาก {retry_time, time, medium}",
"alert.rate_limited.title": "มีการจำกัดอัตรา", "alert.rate_limited.title": "มีการจำกัดอัตรา",
"alert.unexpected.message": "เกิดข้อผิดพลาดที่ไม่คาดคิด", "alert.unexpected.message": "เกิดข้อผิดพลาดที่ไม่คาดคิด",
@ -82,14 +82,14 @@
"community.column_settings.local_only": "ในเซิร์ฟเวอร์เท่านั้น", "community.column_settings.local_only": "ในเซิร์ฟเวอร์เท่านั้น",
"community.column_settings.media_only": "สื่อเท่านั้น", "community.column_settings.media_only": "สื่อเท่านั้น",
"community.column_settings.remote_only": "ระยะไกลเท่านั้น", "community.column_settings.remote_only": "ระยะไกลเท่านั้น",
"compose_form.direct_message_warning": "โพสต์นี้จะถูกส่งไปยังผู้ใช้ที่กล่าวถึงเท่านั้น", "compose_form.direct_message_warning": "จะส่งโพสต์นี้ไปยังผู้ใช้ที่กล่าวถึงเท่านั้น",
"compose_form.direct_message_warning_learn_more": "เรียนรู้เพิ่มเติม", "compose_form.direct_message_warning_learn_more": "เรียนรู้เพิ่มเติม",
"compose_form.hashtag_warning": "โพสต์นี้จะไม่ถูกแสดงในแฮชแท็กใด ๆ เนื่องจากไม่อยู่ในรายการ เฉพาะโพสต์สาธารณะเท่านั้นที่สามารถค้นหาโดยแฮชแท็ก", "compose_form.hashtag_warning": "จะไม่แสดงรายการโพสต์นี้ภายใต้แฮชแท็กใด ๆ เนื่องจากไม่อยู่ในรายการ เฉพาะโพสต์สาธารณะเท่านั้นที่สามารถค้นหาโดยแฮชแท็ก",
"compose_form.lock_disclaimer": "บัญชีของคุณไม่ได้ {locked} ใครก็ตามสามารถติดตามคุณเพื่อดูโพสต์สำหรับผู้ติดตามเท่านั้นของคุณ", "compose_form.lock_disclaimer": "บัญชีของคุณไม่ได้ {locked} ใครก็ตามสามารถติดตามคุณเพื่อดูโพสต์สำหรับผู้ติดตามเท่านั้นของคุณ",
"compose_form.lock_disclaimer.lock": "ล็อคอยู่", "compose_form.lock_disclaimer.lock": "ล็อคอยู่",
"compose_form.placeholder": "คุณกำลังคิดอะไรอยู่?", "compose_form.placeholder": "คุณกำลังคิดอะไรอยู่?",
"compose_form.poll.add_option": "เพิ่มตัวเลือก", "compose_form.poll.add_option": "เพิ่มตัวเลือก",
"compose_form.poll.duration": "ระยะเวลาโพล", "compose_form.poll.duration": "ระยะเวลาการสำรวจความคิดเห็น",
"compose_form.poll.option_placeholder": "ตัวเลือก {number}", "compose_form.poll.option_placeholder": "ตัวเลือก {number}",
"compose_form.poll.remove_option": "เอาตัวเลือกนี้ออก", "compose_form.poll.remove_option": "เอาตัวเลือกนี้ออก",
"compose_form.poll.switch_to_multiple": "เปลี่ยนการสำรวจความคิดเห็นเป็นอนุญาตหลายตัวเลือก", "compose_form.poll.switch_to_multiple": "เปลี่ยนการสำรวจความคิดเห็นเป็นอนุญาตหลายตัวเลือก",
@ -202,7 +202,7 @@
"introduction.federation.federated.headline": "ที่ติดต่อกับภายนอก", "introduction.federation.federated.headline": "ที่ติดต่อกับภายนอก",
"introduction.federation.federated.text": "โพสต์สาธารณะจากเซิร์ฟเวอร์อื่น ๆ ของเฟดิเวิร์สจะปรากฏในเส้นเวลาที่ติดต่อกับภายนอก", "introduction.federation.federated.text": "โพสต์สาธารณะจากเซิร์ฟเวอร์อื่น ๆ ของเฟดิเวิร์สจะปรากฏในเส้นเวลาที่ติดต่อกับภายนอก",
"introduction.federation.home.headline": "หน้าแรก", "introduction.federation.home.headline": "หน้าแรก",
"introduction.federation.home.text": "โพสต์จากผู้คนที่คุณติดตามจะปรากฏในฟีดหน้าแรกของคุณ คุณสามารถติดตามใครก็ได้บนเซิร์ฟเวอร์ไหนก็ได้!", "introduction.federation.home.text": "โพสต์จากผู้คนที่คุณติดตามจะปรากฏในฟีดหน้าแรกของคุณ คุณสามารถติดตามใครก็ตามในเซิร์ฟเวอร์ใดก็ตาม!",
"introduction.federation.local.headline": "ในเซิร์ฟเวอร์", "introduction.federation.local.headline": "ในเซิร์ฟเวอร์",
"introduction.federation.local.text": "โพสต์สาธารณะจากผู้คนในเซิร์ฟเวอร์เดียวกันกับคุณจะปรากฏในเส้นเวลาในเซิร์ฟเวอร์", "introduction.federation.local.text": "โพสต์สาธารณะจากผู้คนในเซิร์ฟเวอร์เดียวกันกับคุณจะปรากฏในเส้นเวลาในเซิร์ฟเวอร์",
"introduction.interactions.action": "เสร็จสิ้นบทช่วยสอน!", "introduction.interactions.action": "เสร็จสิ้นบทช่วยสอน!",
@ -348,8 +348,8 @@
"relative_time.today": "วันนี้", "relative_time.today": "วันนี้",
"reply_indicator.cancel": "ยกเลิก", "reply_indicator.cancel": "ยกเลิก",
"report.forward": "ส่งต่อไปยัง {target}", "report.forward": "ส่งต่อไปยัง {target}",
"report.forward_hint": "บัญชีมาจากเซิร์ฟเวอร์อื่น ต้องการส่งสำเนาของรายงานที่ไม่ระบุตัวตนไปที่เซิร์ฟเวอร์นั้นด้วยหรือไม่?", "report.forward_hint": "บัญชีมาจากเซิร์ฟเวอร์อื่น ส่งสำเนาของรายงานที่ไม่ระบุตัวตนไปที่นั่นด้วย?",
"report.hint": "รายงานนี้จะถูกส่งไปยังผู้ควบคุมเซิร์ฟเวอร์ของคุณ คุณสามารถอธิบายเหตุผลที่คุณรายงานบัญชีนี้ด้านล่าง:", "report.hint": "จะส่งรายงานไปยังผู้ควบคุมเซิร์ฟเวอร์ของคุณ คุณสามารถให้คำอธิบายเหตุผลที่คุณรายงานบัญชีนี้ด้านล่าง:",
"report.placeholder": "ความคิดเห็นเพิ่มเติม", "report.placeholder": "ความคิดเห็นเพิ่มเติม",
"report.submit": "ส่ง", "report.submit": "ส่ง",
"report.target": "กำลังรายงาน {target}", "report.target": "กำลังรายงาน {target}",
@ -407,7 +407,7 @@
"status.uncached_media_warning": "ไม่พร้อมใช้งาน", "status.uncached_media_warning": "ไม่พร้อมใช้งาน",
"status.unmute_conversation": "เลิกซ่อนการสนทนา", "status.unmute_conversation": "เลิกซ่อนการสนทนา",
"status.unpin": "ถอนหมุดจากโปรไฟล์", "status.unpin": "ถอนหมุดจากโปรไฟล์",
"suggestions.dismiss": "ปิดข้อเสนอแนะ", "suggestions.dismiss": "ยกเลิกข้อเสนอแนะ",
"suggestions.header": "คุณอาจสนใจ…", "suggestions.header": "คุณอาจสนใจ…",
"tabs_bar.federated_timeline": "ที่ติดต่อกับภายนอก", "tabs_bar.federated_timeline": "ที่ติดต่อกับภายนอก",
"tabs_bar.home": "หน้าแรก", "tabs_bar.home": "หน้าแรก",
@ -423,25 +423,25 @@
"timeline_hint.resources.followers": "ผู้ติดตาม", "timeline_hint.resources.followers": "ผู้ติดตาม",
"timeline_hint.resources.follows": "การติดตาม", "timeline_hint.resources.follows": "การติดตาม",
"timeline_hint.resources.statuses": "โพสต์ที่เก่ากว่า", "timeline_hint.resources.statuses": "โพสต์ที่เก่ากว่า",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking", "trends.counter_by_accounts": "{count, plural, other {{counter} คน}}กำลังพูดคุย",
"trends.trending_now": "กำลังนิยม", "trends.trending_now": "กำลังนิยม",
"ui.beforeunload": "แบบร่างของคุณจะหายไปหากคุณออกจาก Mastodon", "ui.beforeunload": "แบบร่างของคุณจะหายไปหากคุณออกจาก Mastodon",
"units.short.billion": "{count}B", "units.short.billion": "{count} พันล้าน",
"units.short.million": "{count}M", "units.short.million": "{count} ล้าน",
"units.short.thousand": "{count}K", "units.short.thousand": "{count} พัน",
"upload_area.title": "ลากแล้วปล่อยเพื่ออัปโหลด", "upload_area.title": "ลากแล้วปล่อยเพื่ออัปโหลด",
"upload_button.label": "เพิ่มไฟล์ภาพ วิดีโอ หรือเสียง", "upload_button.label": "เพิ่มไฟล์ภาพ, วิดีโอ หรือเสียง",
"upload_error.limit": "เกินขีดจำกัดการอัปโหลดไฟล์", "upload_error.limit": "เกินขีดจำกัดการอัปโหลดไฟล์",
"upload_error.poll": "ไม่อนุญาตให้อัปโหลดไฟล์พร้อมโพล", "upload_error.poll": "ไม่อนุญาตให้อัปโหลดไฟล์กับการลงคะแนน",
"upload_form.audio_description": "อธิบายสำหรับผู้สูญเสียการได้ยิน", "upload_form.audio_description": "อธิบายสำหรับผู้สูญเสียการได้ยิน",
"upload_form.description": "อธิบายสำหรับผู้บกพร่องทางการมองเห็น", "upload_form.description": "อธิบายสำหรับผู้บกพร่องทางการมองเห็น",
"upload_form.edit": "แก้ไข", "upload_form.edit": "แก้ไข",
"upload_form.thumbnail": "Change thumbnail", "upload_form.thumbnail": "เปลี่ยนภาพขนาดย่อ",
"upload_form.undo": "ลบ", "upload_form.undo": "ลบ",
"upload_form.video_description": "อธิบายสำหรับผู้สูญเสียการได้ยินหรือบกพร่องทางการมองเห็น", "upload_form.video_description": "อธิบายสำหรับผู้สูญเสียการได้ยินหรือบกพร่องทางการมองเห็น",
"upload_modal.analyzing_picture": "กำลังวิเคราะห์รูปภาพ…", "upload_modal.analyzing_picture": "กำลังวิเคราะห์รูปภาพ…",
"upload_modal.apply": "นำไปใช้", "upload_modal.apply": "นำไปใช้",
"upload_modal.choose_image": "Choose image", "upload_modal.choose_image": "เลือกภาพ",
"upload_modal.description_placeholder": "สุนัขจิ้งจอกสีน้ำตาลที่ว่องไวกระโดดข้ามสุนัขขี้เกียจ", "upload_modal.description_placeholder": "สุนัขจิ้งจอกสีน้ำตาลที่ว่องไวกระโดดข้ามสุนัขขี้เกียจ",
"upload_modal.detect_text": "ตรวจหาข้อความจากรูปภาพ", "upload_modal.detect_text": "ตรวจหาข้อความจากรูปภาพ",
"upload_modal.edit_media": "แก้ไขสื่อ", "upload_modal.edit_media": "แก้ไขสื่อ",

View file

@ -1,5 +1,5 @@
{ {
"account.account_note_header": "Ghi chú của bạn cho @{name}", "account.account_note_header": "Viết nhận xét",
"account.add_or_remove_from_list": "Thêm hoặc Xóa khỏi danh sách", "account.add_or_remove_from_list": "Thêm hoặc Xóa khỏi danh sách",
"account.badges.bot": "Bot", "account.badges.bot": "Bot",
"account.badges.group": "Nhóm", "account.badges.group": "Nhóm",
@ -11,16 +11,16 @@
"account.direct": "Nhắn tin cho @{name}", "account.direct": "Nhắn tin cho @{name}",
"account.domain_blocked": "Đã chặn người dùng", "account.domain_blocked": "Đã chặn người dùng",
"account.edit_profile": "Chỉnh sửa trang cá nhân", "account.edit_profile": "Chỉnh sửa trang cá nhân",
"account.endorse": "Hiển thị trên trang cá nhân", "account.endorse": "Vinh danh người này",
"account.follow": "Theo dõi", "account.follow": "Theo dõi",
"account.followers": "Người theo dõi", "account.followers": "Người theo dõi",
"account.followers.empty": "Chưa có người theo dõi nào.", "account.followers.empty": "Chưa có người theo dõi nào.",
"account.followers_counter": "{count, plural, one {{counter} Người theo dõi} other {{counter} Người theo dõi}}", "account.followers_counter": "{count, plural, one {{counter} Người theo dõi} other {{counter} Người theo dõi}}",
"account.following_counter": "{count, plural, other {{counter} Đang theo dõi}}", "account.following_counter": "{count, plural, one {{counter} Đang theo dõi} other {{counter} Đang theo dõi}}",
"account.follows.empty": "Người dùng này chưa theo dõi ai.", "account.follows.empty": "Người dùng này chưa theo dõi ai.",
"account.follows_you": "Đang theo dõi bạn", "account.follows_you": "Đang theo dõi bạn",
"account.hide_reblogs": "Ẩn chia sẻ từ @{name}", "account.hide_reblogs": "Ẩn chia sẻ từ @{name}",
"account.last_status": "Hoạt động gần đây", "account.last_status": "Hoạt động cuối",
"account.link_verified_on": "Liên kết này đã được xác thực vào {date}", "account.link_verified_on": "Liên kết này đã được xác thực vào {date}",
"account.locked_info": "Người dùng này thiết lập trạng thái ẩn. Họ sẽ tự mình xét duyệt các yêu cầu theo dõi.", "account.locked_info": "Người dùng này thiết lập trạng thái ẩn. Họ sẽ tự mình xét duyệt các yêu cầu theo dõi.",
"account.media": "Bộ sưu tập", "account.media": "Bộ sưu tập",
@ -39,11 +39,11 @@
"account.statuses_counter": "{count, plural, other {{counter} Tút}}", "account.statuses_counter": "{count, plural, other {{counter} Tút}}",
"account.unblock": "Bỏ chặn @{name}", "account.unblock": "Bỏ chặn @{name}",
"account.unblock_domain": "Bỏ ẩn {domain}", "account.unblock_domain": "Bỏ ẩn {domain}",
"account.unendorse": "Không hiện trên trang cá nhân", "account.unendorse": "Ngưng vinh danh người này",
"account.unfollow": "Ngưng theo dõi", "account.unfollow": "Ngưng theo dõi",
"account.unmute": "Bỏ ẩn @{name}", "account.unmute": "Bỏ ẩn @{name}",
"account.unmute_notifications": "Hiển lại thông báo từ @{name}", "account.unmute_notifications": "Hiển lại thông báo từ @{name}",
"account_note.placeholder": "Nhấn để thêm ghi chú", "account_note.placeholder": "Bạn có điều gì thú vị muốn nói về người này?",
"alert.rate_limited.message": "Vui lòng thử lại sau {retry_time, time, medium}.", "alert.rate_limited.message": "Vui lòng thử lại sau {retry_time, time, medium}.",
"alert.rate_limited.title": "Vượt giới hạn", "alert.rate_limited.title": "Vượt giới hạn",
"alert.unexpected.message": "Đã xảy ra lỗi không mong muốn.", "alert.unexpected.message": "Đã xảy ra lỗi không mong muốn.",
@ -60,14 +60,14 @@
"column.blocks": "Người dùng đã chặn", "column.blocks": "Người dùng đã chặn",
"column.bookmarks": "Tút đã lưu", "column.bookmarks": "Tút đã lưu",
"column.community": "Máy chủ của bạn", "column.community": "Máy chủ của bạn",
"column.direct": "Nhắn tin", "column.direct": "Tin nhắn của bạn",
"column.directory": "Tìm một ai đó", "column.directory": "Tìm một ai đó",
"column.domain_blocks": "Máy chủ đã chặn", "column.domain_blocks": "Máy chủ đã chặn",
"column.favourites": "Tâm đắc", "column.favourites": "Thích",
"column.follow_requests": "Yêu cầu theo dõi", "column.follow_requests": "Yêu cầu theo dõi",
"column.home": "Bảng tin", "column.home": "Bảng tin",
"column.lists": "Danh sách", "column.lists": "Danh sách",
"column.mutes": "Người dùng đã chặn", "column.mutes": "Người dùng đã n",
"column.notifications": "Thông báo", "column.notifications": "Thông báo",
"column.pins": "Tút ghim", "column.pins": "Tút ghim",
"column.public": "Mạng liên kết", "column.public": "Mạng liên kết",
@ -118,30 +118,30 @@
"confirmations.mute.explanation": "Điều này sẽ khiến tút của người đó và những tút có đề cập đến họ bị ẩn, tuy nhiên vẫn cho phép họ xem bài đăng của bạn và theo dõi bạn.", "confirmations.mute.explanation": "Điều này sẽ khiến tút của người đó và những tút có đề cập đến họ bị ẩn, tuy nhiên vẫn cho phép họ xem bài đăng của bạn và theo dõi bạn.",
"confirmations.mute.message": "Bạn có chắc chắn muốn ẩn {name}?", "confirmations.mute.message": "Bạn có chắc chắn muốn ẩn {name}?",
"confirmations.redraft.confirm": "Xóa & viết lại", "confirmations.redraft.confirm": "Xóa & viết lại",
"confirmations.redraft.message": "Bạn có chắc chắn muốn xóa tút và viết lại? Điều này sẽ xóa mất những lượt tâm đắc và chia sẻ của tút, cũng như những trả lời sẽ không còn nội dung gốc.", "confirmations.redraft.message": "Bạn có chắc chắn muốn xóa tút và viết lại? Điều này sẽ xóa mất những lượt thích và chia sẻ của tút, cũng như những trả lời sẽ không còn nội dung gốc.",
"confirmations.reply.confirm": "Trả lời", "confirmations.reply.confirm": "Trả lời",
"confirmations.reply.message": "Nội dung bạn đang soạn thảo sẽ bị ghi đè, bạn có tiếp tục?", "confirmations.reply.message": "Nội dung bạn đang soạn thảo sẽ bị ghi đè, bạn có tiếp tục?",
"confirmations.unfollow.confirm": "Ngưng theo dõi", "confirmations.unfollow.confirm": "Ngưng theo dõi",
"confirmations.unfollow.message": "Bạn có chắc chắn muốn ngưng theo dõi {name}?", "confirmations.unfollow.message": "Bạn có chắc chắn muốn ngưng theo dõi {name}?",
"conversation.delete": "Xóa tin nhắn này", "conversation.delete": "Xóa tin nhắn này",
"conversation.mark_as_read": "Đánh dấu là đã đọc", "conversation.mark_as_read": "Đánh dấu là đã đọc",
"conversation.open": "Xem tin nhắn", "conversation.open": "Xem toàn bộ tin nhắn",
"conversation.with": "Với {names}", "conversation.with": "Với {names}",
"directory.federated": "Từ mạng liên kết", "directory.federated": "Từ mạng liên kết",
"directory.local": "Chỉ từ {domain}", "directory.local": "Từ {domain}",
"directory.new_arrivals": "Gia nhập gần đây", "directory.new_arrivals": "Mới tham gia",
"directory.recently_active": "Hoạt động gần đây", "directory.recently_active": "Hoạt động gần đây",
"embed.instructions": "Sao chép đoạn mã dưới đây và chèn vào trang web của bạn.", "embed.instructions": "Sao chép đoạn mã dưới đây và chèn vào trang web của bạn.",
"embed.preview": "Nó sẽ hiển thị như vầy:", "embed.preview": "Nó sẽ hiển thị như vầy:",
"emoji_button.activity": "Hoạt động", "emoji_button.activity": "Hoạt động",
"emoji_button.custom": "Riêng", "emoji_button.custom": "Độc đáo",
"emoji_button.flags": "Cờ", "emoji_button.flags": "Cờ",
"emoji_button.food": "Ăn uống", "emoji_button.food": "Ăn uống",
"emoji_button.label": "Chèn emoji", "emoji_button.label": "Chèn emoji",
"emoji_button.nature": "Thiên nhiên", "emoji_button.nature": "Thiên nhiên",
"emoji_button.not_found": "Không tìm thấy emoji! (°□°)", "emoji_button.not_found": "Không tìm thấy emoji! (°□°)",
"emoji_button.objects": "Đồ vật", "emoji_button.objects": "Đồ vật",
"emoji_button.people": "Người", "emoji_button.people": "Mặt cười",
"emoji_button.recent": "Thường dùng", "emoji_button.recent": "Thường dùng",
"emoji_button.search": "Tìm kiếm...", "emoji_button.search": "Tìm kiếm...",
"emoji_button.search_results": "Kết quả tìm kiếm", "emoji_button.search_results": "Kết quả tìm kiếm",
@ -154,8 +154,8 @@
"empty_column.community": "Máy chủ của bạn chưa có tút nào công khai. Bạn hãy thử viết gì đó đi!", "empty_column.community": "Máy chủ của bạn chưa có tút nào công khai. Bạn hãy thử viết gì đó đi!",
"empty_column.direct": "Bạn chưa có tin nhắn nào. Khi bạn gửi hoặc nhận tin nhắn, nó sẽ hiển thị ở đây.", "empty_column.direct": "Bạn chưa có tin nhắn nào. Khi bạn gửi hoặc nhận tin nhắn, nó sẽ hiển thị ở đây.",
"empty_column.domain_blocks": "Chưa ẩn bất kỳ máy chủ nào.", "empty_column.domain_blocks": "Chưa ẩn bất kỳ máy chủ nào.",
"empty_column.favourited_statuses": "Bạn chưa tâm đắc tút nào. Hãy thử đi, nó sẽ xuất hiện ở đây.", "empty_column.favourited_statuses": "Bạn chưa thích tút nào. Hãy thử đi, nó sẽ xuất hiện ở đây.",
"empty_column.favourites": "Chưa có ai tâm đắc tút này.", "empty_column.favourites": "Chưa có ai thích tút này.",
"empty_column.follow_requests": "Bạn chưa có yêu cầu theo dõi nào.", "empty_column.follow_requests": "Bạn chưa có yêu cầu theo dõi nào.",
"empty_column.hashtag": "Chưa có bài đăng nào sử dụng hashtag này.", "empty_column.hashtag": "Chưa có bài đăng nào sử dụng hashtag này.",
"empty_column.home": "Chưa có bất cứ gì! Hãy bắt đầu bằng cách tìm kiếm hoặc truy cập {public} để theo dõi những người bạn quan tâm.", "empty_column.home": "Chưa có bất cứ gì! Hãy bắt đầu bằng cách tìm kiếm hoặc truy cập {public} để theo dõi những người bạn quan tâm.",
@ -190,14 +190,14 @@
"hashtag.column_settings.tag_mode.any": "Một phần", "hashtag.column_settings.tag_mode.any": "Một phần",
"hashtag.column_settings.tag_mode.none": "Không chọn", "hashtag.column_settings.tag_mode.none": "Không chọn",
"hashtag.column_settings.tag_toggle": "Bao gồm thêm hashtag cho cột này", "hashtag.column_settings.tag_toggle": "Bao gồm thêm hashtag cho cột này",
"home.column_settings.basic": "Cơ bản", "home.column_settings.basic": "Tùy chỉnh",
"home.column_settings.show_reblogs": "Hiện t chia sẻ", "home.column_settings.show_reblogs": "Hiện những lượt chia sẻ",
"home.column_settings.show_replies": "Hiện trả lời", "home.column_settings.show_replies": "Hiện những tút dạng trả lời",
"home.hide_announcements": "Ẩn thông báo", "home.hide_announcements": "Ẩn thông báo",
"home.show_announcements": "Hiện thông báo", "home.show_announcements": "Hiện thông báo",
"intervals.full.days": "{number} days", "intervals.full.days": "{number, plural, other {# ngày}}",
"intervals.full.hours": "{number} hours", "intervals.full.hours": "{number, plural, other {# giờ}}",
"intervals.full.minutes": "{number} minutes", "intervals.full.minutes": "{number, plural, other {# phút}}",
"introduction.federation.action": "Tiếp theo", "introduction.federation.action": "Tiếp theo",
"introduction.federation.federated.headline": "Mạng liên kết", "introduction.federation.federated.headline": "Mạng liên kết",
"introduction.federation.federated.text": "Nếu máy chủ của bạn có liên kết với các máy chủ khác, bài đăng công khai từ họ sẽ xuất hiện ở Mạng liên kết.", "introduction.federation.federated.text": "Nếu máy chủ của bạn có liên kết với các máy chủ khác, bài đăng công khai từ họ sẽ xuất hiện ở Mạng liên kết.",
@ -206,8 +206,8 @@
"introduction.federation.local.headline": "Máy chủ của bạn", "introduction.federation.local.headline": "Máy chủ của bạn",
"introduction.federation.local.text": "Máy chủ của bạn là nơi hiển thị bài đăng công khai từ những người thuộc cùng một máy chủ của bạn.", "introduction.federation.local.text": "Máy chủ của bạn là nơi hiển thị bài đăng công khai từ những người thuộc cùng một máy chủ của bạn.",
"introduction.interactions.action": "Tôi đã hiểu rồi!", "introduction.interactions.action": "Tôi đã hiểu rồi!",
"introduction.interactions.favourite.headline": "Tâm đắc", "introduction.interactions.favourite.headline": "Thích",
"introduction.interactions.favourite.text": "Tâm đắc một tút có nghĩa là bạn thích tút đó và lưu giữ để sau này xem lại.", "introduction.interactions.favourite.text": "Thích một tút có nghĩa là bạn tâm đắc nội dung của tút và muốn lưu giữ để sau này xem lại.",
"introduction.interactions.reblog.headline": "Chia sẻ", "introduction.interactions.reblog.headline": "Chia sẻ",
"introduction.interactions.reblog.text": "Với tính năng chia sẻ, bạn có thể chia sẻ tút của người khác cho những người theo dõi bạn.", "introduction.interactions.reblog.text": "Với tính năng chia sẻ, bạn có thể chia sẻ tút của người khác cho những người theo dõi bạn.",
"introduction.interactions.reply.headline": "Trả lời", "introduction.interactions.reply.headline": "Trả lời",
@ -224,8 +224,8 @@
"keyboard_shortcuts.direct": "mở mục tin nhắn", "keyboard_shortcuts.direct": "mở mục tin nhắn",
"keyboard_shortcuts.down": "di chuyển xuống dưới danh sách", "keyboard_shortcuts.down": "di chuyển xuống dưới danh sách",
"keyboard_shortcuts.enter": "viết tút mới", "keyboard_shortcuts.enter": "viết tút mới",
"keyboard_shortcuts.favourite": "tâm đắc", "keyboard_shortcuts.favourite": "thích",
"keyboard_shortcuts.favourites": "mở danh sách tâm đắc", "keyboard_shortcuts.favourites": "mở lượt thích",
"keyboard_shortcuts.federated": "mở mạng liên kết", "keyboard_shortcuts.federated": "mở mạng liên kết",
"keyboard_shortcuts.heading": "Các phím tắt", "keyboard_shortcuts.heading": "Các phím tắt",
"keyboard_shortcuts.home": "mở bảng tin", "keyboard_shortcuts.home": "mở bảng tin",
@ -262,9 +262,9 @@
"lists.new.title_placeholder": "Tên danh sách mới", "lists.new.title_placeholder": "Tên danh sách mới",
"lists.search": "Tìm kiếm những người mà bạn quan tâm", "lists.search": "Tìm kiếm những người mà bạn quan tâm",
"lists.subheading": "Danh sách của bạn", "lists.subheading": "Danh sách của bạn",
"load_pending": "{count, plural, one {# new item} other {# new items}}", "load_pending": "{count, plural, one {# tút} other {# tút}}",
"loading_indicator.label": "Đang tải...", "loading_indicator.label": "Đang tải...",
"media_gallery.toggle_visible": "Ẩn {number, plural, one {image} other {images}}", "media_gallery.toggle_visible": "Ẩn {number, plural, one {ảnh} other {ảnh}}",
"missing_indicator.label": "Không tìm thấy", "missing_indicator.label": "Không tìm thấy",
"missing_indicator.sublabel": "Không tìm thấy cái này", "missing_indicator.sublabel": "Không tìm thấy cái này",
"mute_modal.hide_notifications": "Ẩn thông báo từ người dùng này?", "mute_modal.hide_notifications": "Ẩn thông báo từ người dùng này?",
@ -277,7 +277,7 @@
"navigation_bar.discover": "Cộng đồng", "navigation_bar.discover": "Cộng đồng",
"navigation_bar.domain_blocks": "Máy chủ đã ẩn", "navigation_bar.domain_blocks": "Máy chủ đã ẩn",
"navigation_bar.edit_profile": "Chỉnh sửa trang cá nhân", "navigation_bar.edit_profile": "Chỉnh sửa trang cá nhân",
"navigation_bar.favourites": "Những thứ tâm đắc", "navigation_bar.favourites": "Lượt thích",
"navigation_bar.filters": "Bộ lọc từ ngữ", "navigation_bar.filters": "Bộ lọc từ ngữ",
"navigation_bar.follow_requests": "Yêu cầu theo dõi", "navigation_bar.follow_requests": "Yêu cầu theo dõi",
"navigation_bar.follows_and_followers": "Lượt theo dõi", "navigation_bar.follows_and_followers": "Lượt theo dõi",
@ -285,44 +285,44 @@
"navigation_bar.keyboard_shortcuts": "Phím tắt", "navigation_bar.keyboard_shortcuts": "Phím tắt",
"navigation_bar.lists": "Danh sách", "navigation_bar.lists": "Danh sách",
"navigation_bar.logout": "Đăng xuất", "navigation_bar.logout": "Đăng xuất",
"navigation_bar.mutes": "Người dùng đã chặn", "navigation_bar.mutes": "Người dùng đã n",
"navigation_bar.personal": "Cá nhân", "navigation_bar.personal": "Cá nhân",
"navigation_bar.pins": "Tút ghim", "navigation_bar.pins": "Tút ghim",
"navigation_bar.preferences": "Tùy chỉnh", "navigation_bar.preferences": "Cài đặt",
"navigation_bar.public_timeline": "Dòng thời gian liên kết", "navigation_bar.public_timeline": "Dòng thời gian liên kết",
"navigation_bar.security": "Bảo mật", "navigation_bar.security": "Bảo mật",
"notification.favourite": "{name} vừa tâm đắc tút của bạn", "notification.favourite": "{name} vừa thích tút của bạn",
"notification.follow": "{name} vừa theo dõi bạn", "notification.follow": "{name} vừa theo dõi bạn",
"notification.follow_request": "{name} vừa yêu cầu theo dõi bạn", "notification.follow_request": "{name} vừa yêu cầu theo dõi bạn",
"notification.mention": "{name} nhắc đến bạn", "notification.mention": "{name} nhắc đến bạn",
"notification.own_poll": "Cuộc thăm dò của bạn đã kết thúc", "notification.own_poll": "Cuộc thăm dò của bạn đã kết thúc",
"notification.poll": "Một cuộc thăm dò mà bạn tham gia đã kết thúc", "notification.poll": "Một cuộc thăm dò mà bạn tham gia đã kết thúc",
"notification.reblog": "{name} chia sẻ tút của bạn", "notification.reblog": "{name} chia sẻ tút của bạn",
"notifications.clear": "Xóa thông báo", "notifications.clear": "Làm trống thông báo",
"notifications.clear_confirmation": "Bạn có chắc chắn muốn xóa vĩnh viễn tất cả thông báo của mình?", "notifications.clear_confirmation": "Bạn có chắc chắn muốn xóa vĩnh viễn tất cả thông báo của mình?",
"notifications.column_settings.alert": "Thông báo trên máy tính", "notifications.column_settings.alert": "Thông báo trên máy tính",
"notifications.column_settings.favourite": "Tâm đắc:", "notifications.column_settings.favourite": "Lượt thích:",
"notifications.column_settings.filter_bar.advanced": "Hiển thị toàn bộ", "notifications.column_settings.filter_bar.advanced": "Hiển thị toàn bộ",
"notifications.column_settings.filter_bar.category": "Lọc nhanh", "notifications.column_settings.filter_bar.category": "Lọc nhanh",
"notifications.column_settings.filter_bar.show": "Hiện", "notifications.column_settings.filter_bar.show": "Hiện",
"notifications.column_settings.follow": "Người theo dõi mới:", "notifications.column_settings.follow": "Người theo dõi mới:",
"notifications.column_settings.follow_request": "Yêu cầu theo dõi mới:", "notifications.column_settings.follow_request": "Yêu cầu theo dõi mới:",
"notifications.column_settings.mention": "Nhắc đến:", "notifications.column_settings.mention": "Đề cập:",
"notifications.column_settings.poll": "Kết quả cuộc thăm dò:", "notifications.column_settings.poll": "Kết quả cuộc thăm dò:",
"notifications.column_settings.push": "Thông báo đẩy", "notifications.column_settings.push": "Thông báo đẩy",
"notifications.column_settings.reblog": "Chia sẻ:", "notifications.column_settings.reblog": "Lượt chia sẻ mới:",
"notifications.column_settings.show": "Hiện trong cột", "notifications.column_settings.show": "Thông báo trên thanh menu",
"notifications.column_settings.sound": "Mở tiếng", "notifications.column_settings.sound": "Kèm theo tiếng \"bíp\"",
"notifications.filter.all": "Toàn bộ", "notifications.filter.all": "Toàn bộ",
"notifications.filter.boosts": "Chia sẻ", "notifications.filter.boosts": "Chia sẻ",
"notifications.filter.favourites": "Tâm đắc", "notifications.filter.favourites": "Thích",
"notifications.filter.follows": "Đang theo dõi", "notifications.filter.follows": "Đang theo dõi",
"notifications.filter.mentions": "Nhắc đến", "notifications.filter.mentions": "Lượt nhắc đến",
"notifications.filter.polls": "Kết quả cuộc thăm dò", "notifications.filter.polls": "Kết quả cuộc thăm dò",
"notifications.group": "{count} thông báo", "notifications.group": "{count} thông báo",
"poll.closed": "Cuộc thăm dò đã kết thúc", "poll.closed": "Cuộc thăm dò đã kết thúc",
"poll.refresh": "Làm mới", "poll.refresh": "Làm mới",
"poll.total_people": "{count, plural, one {# người đã bình chọn} other {# người đã bình chọn}}", "poll.total_people": "{count, plural, one {# người bình chọn} other {# người bình chọn}}",
"poll.total_votes": "{count, plural, one {# bình chọn} other {# bình chọn}}", "poll.total_votes": "{count, plural, one {# bình chọn} other {# bình chọn}}",
"poll.vote": "Cuộc thăm dò", "poll.vote": "Cuộc thăm dò",
"poll.voted": "Bạn đã bình chọn câu trả lời này", "poll.voted": "Bạn đã bình chọn câu trả lời này",
@ -340,10 +340,10 @@
"refresh": "Làm mới", "refresh": "Làm mới",
"regeneration_indicator.label": "Đang tải…", "regeneration_indicator.label": "Đang tải…",
"regeneration_indicator.sublabel": "Bảng tin của bạn đang được cập nhật!", "regeneration_indicator.sublabel": "Bảng tin của bạn đang được cập nhật!",
"relative_time.days": "{number} ngày", "relative_time.days": "{number}d",
"relative_time.hours": "{number} giờ", "relative_time.hours": "{number}h",
"relative_time.just_now": "vừa xong", "relative_time.just_now": "vừa xong",
"relative_time.minutes": "{number}p", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "hôm nay", "relative_time.today": "hôm nay",
"reply_indicator.cancel": "Hủy bỏ", "reply_indicator.cancel": "Hủy bỏ",
@ -364,19 +364,19 @@
"search_results.hashtags": "Hashtags", "search_results.hashtags": "Hashtags",
"search_results.statuses": "Tút", "search_results.statuses": "Tút",
"search_results.statuses_fts_disabled": "Máy chủ của bạn không bật chức năng tìm kiếm tút.", "search_results.statuses_fts_disabled": "Máy chủ của bạn không bật chức năng tìm kiếm tút.",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}", "search_results.total": "{count, number} {count, plural, one {kết quả} other {kết quả}}",
"status.admin_account": "Mở giao diện quản trị @{name}", "status.admin_account": "Mở giao diện quản trị @{name}",
"status.admin_status": "Mở tút này trong giao diện quản trị", "status.admin_status": "Mở tút này trong giao diện quản trị",
"status.block": "Chặn @{name}", "status.block": "Chặn @{name}",
"status.bookmark": "Lưu", "status.bookmark": "Lưu",
"status.cancel_reblog_private": "Hủy chia sẻ", "status.cancel_reblog_private": "Hủy chia sẻ",
"status.cannot_reblog": "Không thể chia sẻ tút này", "status.cannot_reblog": "Không thể chia sẻ tút này",
"status.copy": "Sao chép URL tút", "status.copy": "Sao chép URL",
"status.delete": "Xóa", "status.delete": "Xóa",
"status.detailed_status": "Xem chi tiết thêm", "status.detailed_status": "Xem chi tiết thêm",
"status.direct": "Nhắn riêng @{name}", "status.direct": "Nhắn riêng @{name}",
"status.embed": "Nhúng", "status.embed": "Nhúng",
"status.favourite": "Tâm đắc", "status.favourite": "Thích",
"status.filtered": "Bộ lọc", "status.filtered": "Bộ lọc",
"status.load_more": "Xem thêm", "status.load_more": "Xem thêm",
"status.media_hidden": "Ảnh/video đã ẩn", "status.media_hidden": "Ảnh/video đã ẩn",
@ -414,9 +414,9 @@
"tabs_bar.local_timeline": "Máy chủ của bạn", "tabs_bar.local_timeline": "Máy chủ của bạn",
"tabs_bar.notifications": "Thông báo", "tabs_bar.notifications": "Thông báo",
"tabs_bar.search": "Tìm kiếm", "tabs_bar.search": "Tìm kiếm",
"time_remaining.days": "Thời hạn còn {number, plural, other {# ngày}}", "time_remaining.days": "Kết thúc sau {number, plural, other {# ngày}}",
"time_remaining.hours": "Thời hạn còn {number, plural, other {# giờ}}", "time_remaining.hours": "Kết thúc sau {number, plural, other {# giờ}}",
"time_remaining.minutes": "Thời hạn còn {number, plural, other {# phút}}", "time_remaining.minutes": "Kết thúc sau {number, plural, other {# phút}}",
"time_remaining.moments": "Còn lại", "time_remaining.moments": "Còn lại",
"time_remaining.seconds": "Chỉ còn {number, plural, other {# giây}}", "time_remaining.seconds": "Chỉ còn {number, plural, other {# giây}}",
"timeline_hint.remote_resource_not_displayed": "{resource} từ máy chủ khác sẽ không hiển thị.", "timeline_hint.remote_resource_not_displayed": "{resource} từ máy chủ khác sẽ không hiển thị.",

View file

@ -426,9 +426,9 @@
"trends.counter_by_accounts": "{count, plural, one {{counter} 人} other {{counter} 人}}正在讨论", "trends.counter_by_accounts": "{count, plural, one {{counter} 人} other {{counter} 人}}正在讨论",
"trends.trending_now": "现在流行", "trends.trending_now": "现在流行",
"ui.beforeunload": "如果你现在离开 Mastodon你的草稿内容将会丢失。", "ui.beforeunload": "如果你现在离开 Mastodon你的草稿内容将会丢失。",
"units.short.billion": "{count}十亿", "units.short.billion": "{count}B",
"units.short.million": "{count}百万", "units.short.million": "{count}M",
"units.short.thousand": "{count}", "units.short.thousand": "{count}K",
"upload_area.title": "将文件拖放到此处开始上传", "upload_area.title": "将文件拖放到此处开始上传",
"upload_button.label": "上传媒体文件 ({formats})", "upload_button.label": "上传媒体文件 ({formats})",
"upload_error.limit": "文件大小超过限制。", "upload_error.limit": "文件大小超过限制。",

View file

@ -1,5 +1,5 @@
{ {
"account.account_note_header": "Note", "account.account_note_header": "備註",
"account.add_or_remove_from_list": "從名單中新增或移除", "account.add_or_remove_from_list": "從名單中新增或移除",
"account.badges.bot": "機械人", "account.badges.bot": "機械人",
"account.badges.group": "群組", "account.badges.group": "群組",
@ -441,7 +441,7 @@
"upload_form.video_description": "簡單描述給聽障或視障人士", "upload_form.video_description": "簡單描述給聽障或視障人士",
"upload_modal.analyzing_picture": "正在分析圖片…", "upload_modal.analyzing_picture": "正在分析圖片…",
"upload_modal.apply": "套用", "upload_modal.apply": "套用",
"upload_modal.choose_image": "Choose image", "upload_modal.choose_image": "選擇圖片",
"upload_modal.description_placeholder": "A quick brown fox 跳過那隻懶狗", "upload_modal.description_placeholder": "A quick brown fox 跳過那隻懶狗",
"upload_modal.detect_text": "從圖片偵測文字", "upload_modal.detect_text": "從圖片偵測文字",
"upload_modal.edit_media": "編輯媒體", "upload_modal.edit_media": "編輯媒體",

View file

@ -1,5 +1,5 @@
{ {
"account.account_note_header": "Note", "account.account_note_header": "備註",
"account.add_or_remove_from_list": "從名單中新增或移除", "account.add_or_remove_from_list": "從名單中新增或移除",
"account.badges.bot": "機器人", "account.badges.bot": "機器人",
"account.badges.group": "群組", "account.badges.group": "群組",
@ -129,7 +129,7 @@
"conversation.with": "與 {names}", "conversation.with": "與 {names}",
"directory.federated": "來自已知聯邦宇宙", "directory.federated": "來自已知聯邦宇宙",
"directory.local": "僅來自 {domain}", "directory.local": "僅來自 {domain}",
"directory.new_arrivals": "新", "directory.new_arrivals": "新",
"directory.recently_active": "最近活躍", "directory.recently_active": "最近活躍",
"embed.instructions": "要嵌入此嘟文,請將以下程式碼貼進你的網站。", "embed.instructions": "要嵌入此嘟文,請將以下程式碼貼進你的網站。",
"embed.preview": "他會顯示成這樣:", "embed.preview": "他會顯示成這樣:",
@ -441,7 +441,7 @@
"upload_form.video_description": "簡單描述給聽障或視障人士", "upload_form.video_description": "簡單描述給聽障或視障人士",
"upload_modal.analyzing_picture": "正在分析圖片…", "upload_modal.analyzing_picture": "正在分析圖片…",
"upload_modal.apply": "套用", "upload_modal.apply": "套用",
"upload_modal.choose_image": "Choose image", "upload_modal.choose_image": "選擇圖片",
"upload_modal.description_placeholder": "A quick brown fox 跳過那隻懶狗", "upload_modal.description_placeholder": "A quick brown fox 跳過那隻懶狗",
"upload_modal.detect_text": "從圖片偵測文字", "upload_modal.detect_text": "從圖片偵測文字",
"upload_modal.edit_media": "編輯媒體", "upload_modal.edit_media": "編輯媒體",

File diff suppressed because one or more lines are too long

View file

@ -4,7 +4,7 @@ class ActivityPub::Activity::Reject < ActivityPub::Activity
def perform def perform
return reject_follow_for_relay if relay_follow? return reject_follow_for_relay if relay_follow?
return follow_request_from_object.reject! unless follow_request_from_object.nil? return follow_request_from_object.reject! unless follow_request_from_object.nil?
return UnfollowService.new.call(follow_from_object.target_account, @account) unless follow_from_object.nil? return UnfollowService.new.call(follow_from_object.account, @account) unless follow_from_object.nil?
case @object['type'] case @object['type']
when 'Follow' when 'Follow'

View file

@ -27,7 +27,7 @@ class AccountSearchService < BaseService
return @exact_match if defined?(@exact_match) return @exact_match if defined?(@exact_match)
@exact_match = begin match = begin
if options[:resolve] if options[:resolve]
ResolveAccountService.new.call(query) ResolveAccountService.new.call(query)
elsif domain_is_local? elsif domain_is_local?
@ -36,6 +36,10 @@ class AccountSearchService < BaseService
Account.find_remote(query_username, query_domain) Account.find_remote(query_username, query_domain)
end end
end end
match = nil if !match.nil? && !account.nil? && options[:following] && !account.following?(match)
@exact_match = match
end end
def search_results def search_results

View file

@ -40,7 +40,9 @@ hy:
unlock_instructions: unlock_instructions:
subject: Մաստոդոն․ Ապակողպելու նկարագրությունը subject: Մաստոդոն․ Ապակողպելու նկարագրությունը
sessions: sessions:
already_signed_out: Մուտքը հաջողվեց։
signed_in: Մուտքը հաջողվեց։ signed_in: Մուտքը հաջողվեց։
signed_out: Մուտքը հաջողվեց։
errors: errors:
messages: messages:
not_found: չգտնվեց not_found: չգտնվեց

View file

@ -9,7 +9,7 @@ zh-CN:
already_authenticated: 你已经登录。 already_authenticated: 你已经登录。
inactive: 你还没有激活帐户。 inactive: 你还没有激活帐户。
invalid: "%{authentication_keys} 无效或密码错误。" invalid: "%{authentication_keys} 无效或密码错误。"
last_attempt: 你还有最后一次尝试机会,再次失败你的帐户将被锁定。 last_attempt: 这是最后一次尝试机会,失败后你的帐户将被锁定。
locked: 你的帐户已被锁定。 locked: 你的帐户已被锁定。
not_found_in_database: "%{authentication_keys}或密码错误。" not_found_in_database: "%{authentication_keys}或密码错误。"
pending: 你的帐号仍在审核中。 pending: 你的帐号仍在审核中。
@ -31,7 +31,7 @@ zh-CN:
subject: Mastodon电子邮件地址已被更改 subject: Mastodon电子邮件地址已被更改
title: 新电子邮件地址 title: 新电子邮件地址
password_change: password_change:
explanation: 你的帐户密码已更改。 explanation: 你的帐户密码已更改。
extra: 如果你并没有请求更改你的密码,则他人很有可能已经入侵你的帐户。请立即更改你的密码;如果你已经无法访问你的帐户,请联系服务器的管理员请求协助。 extra: 如果你并没有请求更改你的密码,则他人很有可能已经入侵你的帐户。请立即更改你的密码;如果你已经无法访问你的帐户,请联系服务器的管理员请求协助。
subject: Mastodon密码已被更改 subject: Mastodon密码已被更改
title: 密码已被重置 title: 密码已被重置

View file

@ -81,6 +81,7 @@ th:
expired: โทเคนการเข้าถึงหมดอายุแล้ว expired: โทเคนการเข้าถึงหมดอายุแล้ว
revoked: เพิกถอนโทเคนการเข้าถึงแล้ว revoked: เพิกถอนโทเคนการเข้าถึงแล้ว
unknown: โทเคนการเข้าถึงไม่ถูกต้อง unknown: โทเคนการเข้าถึงไม่ถูกต้อง
unsupported_response_type: เซิร์ฟเวอร์การอนุญาตไม่รองรับชนิดการตอบสนองนี้
flash: flash:
applications: applications:
create: create:
@ -104,6 +105,8 @@ th:
admin:read:accounts: อ่านข้อมูลที่ละเอียดอ่อนของบัญชีทั้งหมด admin:read:accounts: อ่านข้อมูลที่ละเอียดอ่อนของบัญชีทั้งหมด
admin:read:reports: อ่านข้อมูลที่ละเอียดอ่อนของรายงานและบัญชีที่ได้รับการรายงานทั้งหมด admin:read:reports: อ่านข้อมูลที่ละเอียดอ่อนของรายงานและบัญชีที่ได้รับการรายงานทั้งหมด
admin:write: ปรับเปลี่ยนข้อมูลทั้งหมดในเซิร์ฟเวอร์ admin:write: ปรับเปลี่ยนข้อมูลทั้งหมดในเซิร์ฟเวอร์
admin:write:accounts: ทำการกระทำการควบคุมบัญชี
admin:write:reports: ทำการกระทำการควบคุมรายงาน
follow: ปรับเปลี่ยนความสัมพันธ์ของบัญชี follow: ปรับเปลี่ยนความสัมพันธ์ของบัญชี
push: รับการแจ้งเตือนแบบผลักของคุณ push: รับการแจ้งเตือนแบบผลักของคุณ
read: อ่านข้อมูลบัญชีทั้งหมดของคุณ read: อ่านข้อมูลบัญชีทั้งหมดของคุณ

View file

@ -4,7 +4,7 @@ vi:
attributes: attributes:
doorkeeper/application: doorkeeper/application:
name: Tên ứng dụng name: Tên ứng dụng
redirect_uri: Chuyển hướng URI redirect_uri: URL chuyển hướng
scopes: Phạm vi scopes: Phạm vi
website: Trang web ứng dụng website: Trang web ứng dụng
errors: errors:
@ -32,7 +32,7 @@ vi:
error: Rất tiếc! Hãy kiểm tra thông tin của bạn bởi vì nó có lỗi error: Rất tiếc! Hãy kiểm tra thông tin của bạn bởi vì nó có lỗi
help: help:
native_redirect_uri: Sử dụng %{native_redirect_uri} khi kiểm tra nội bộ native_redirect_uri: Sử dụng %{native_redirect_uri} khi kiểm tra nội bộ
redirect_uri: Sử dụng một dòng trên mỗi URI redirect_uri: Sử dụng mỗi dòng chỉ một URL
scopes: Phạm vi riêng biệt với không gian. Để trống để sử dụng phạm vi mặc định. scopes: Phạm vi riêng biệt với không gian. Để trống để sử dụng phạm vi mặc định.
index: index:
application: Ứng dụng application: Ứng dụng
@ -82,7 +82,7 @@ vi:
credential_flow_not_configured: Resource Owner Password Credentials không thành công do Doorkeeper.configure.resource_owner_from_credentials không được định cấu hình. credential_flow_not_configured: Resource Owner Password Credentials không thành công do Doorkeeper.configure.resource_owner_from_credentials không được định cấu hình.
invalid_client: Xác thực ứng dụng khách không thành công do máy khách mơ hồ, không bao gồm xác thực ứng dụng khách hoặc phương thức xác thực không được hỗ trợ. invalid_client: Xác thực ứng dụng khách không thành công do máy khách mơ hồ, không bao gồm xác thực ứng dụng khách hoặc phương thức xác thực không được hỗ trợ.
invalid_grant: Yêu cầu không hợp lệ, hết hạn, bị thu hồi hoặc không khớp với tài khoản đã cung cấp. invalid_grant: Yêu cầu không hợp lệ, hết hạn, bị thu hồi hoặc không khớp với tài khoản đã cung cấp.
invalid_redirect_uri: Uri chuyển hướng bao gồm không hợp lệ. invalid_redirect_uri: URL chuyển hướng không hợp lệ.
invalid_request: Yêu cầu thiếu tham số bắt buộc, bao gồm giá trị tham số không được hỗ trợ hoặc không đúng định dạng. invalid_request: Yêu cầu thiếu tham số bắt buộc, bao gồm giá trị tham số không được hỗ trợ hoặc không đúng định dạng.
invalid_resource_owner: Thông tin xác thực chủ sở hữu tài nguyên được cung cấp không hợp lệ hoặc không thể tìm thấy chủ sở hữu tài nguyên invalid_resource_owner: Thông tin xác thực chủ sở hữu tài nguyên được cung cấp không hợp lệ hoặc không thể tìm thấy chủ sở hữu tài nguyên
invalid_scope: Phạm vi yêu cầu không hợp lệ, không xác định hoặc không đúng định dạng. invalid_scope: Phạm vi yêu cầu không hợp lệ, không xác định hoặc không đúng định dạng.
@ -117,35 +117,35 @@ vi:
scopes: scopes:
admin:read: đọc tất cả dữ liệu trên máy chủ admin:read: đọc tất cả dữ liệu trên máy chủ
admin:read:accounts: đọc thông tin nhạy cảm của tất cả các tài khoản admin:read:accounts: đọc thông tin nhạy cảm của tất cả các tài khoản
admin:read:reports: đọc thông tin nhạy cảm của tất cả các báo cáo và tài khoản báo cáo admin:read:reports: đọc thông tin của các báo cáo và các tài khoản bị báo cáo
admin:write: sửa đổi tất cả dữ liệu trên máy chủ admin:write: sửa đổi tất cả dữ liệu trên máy chủ
admin:write:accounts: thực hiện các hành động kiểm duyệt trên tài khoản admin:write:accounts: thực hiện hành động kiểm duyệt trên tài khoản
admin:write:reports: thực hiện các hành động kiểm duyệt trên các báo cáo admin:write:reports: thực hiện hành động kiểm duyệt với các báo cáo
follow: sửa đổi các mối quan hệ tài khoản follow: sửa đổi các mối quan hệ tài khoản
push: nhận thông báo đẩy của bạn push: nhận thông báo đẩy của bạn
read: đọc tất cả dữ liệu tài khoản của bạn read: đọc tất cả dữ liệu tài khoản của bạn
read:accounts: xem thông tin tài khoản read:accounts: xem thông tin tài khoản
read:blocks: xem khối của bạn read:blocks: xem những người bạn chặn
read:bookmarks: xem các mục đã lưu read:bookmarks: xem những thứ bạn đã lưu
read:favourites: xem yêu thích của bạn read:favourites: xem lượt thích
read:filters: xem bộ lọc của bạn read:filters: xem bộ lọc của bạn
read:follows: xem sau của bạn read:follows: xem lượt theo dõi của bạn
read:lists: xem danh sách của bạn read:lists: xem danh sách của bạn
read:mutes: xem những người bạn của bạn read:mutes: xem những người bạn đã ẩn
read:notifications: xem thông báo của bạn read:notifications: xem thông báo của bạn
read:reports: xem báo cáo của bạn read:reports: xem báo cáo của bạn
read:search: thay mặt bạn tìm kiếm read:search: thay mặt bạn tìm kiếm
read:statuses: xem tất cả các trạng thái read:statuses: xem toàn bộ tút
write: sửa đổi tất cả dữ liệu tài khoản của bạn write: sửa đổi mọi dữ liệu tài khoản của bạn
write:accounts: sửa đổi hồ sơ của bạn write:accounts: sửa đổi trang cá nhân của bạn
write:blocks: chặn tài khoản và tên miền write:blocks: chặn người dùng và máy chủ
write:bookmarks: những trạng thái đã lưu write:bookmarks: sửa đổi những thứ bạn lưu
write:favourites: trạng thái yêu thích write:favourites: lượt thích
write:filters: tạo bộ lọc write:filters: tạo bộ lọc
write:follows: theo dõi mọi người write:follows: theo dõi ai đó
write:lists: tạo danh sách write:lists: tạo danh sách
write:media: tải lên tập tin phương tiện truyền thông write:media: tải lên tập tin
write:mutes: người câm và nói chuyện write:mutes: ẩn người dùng và cuộc đối thoại
write:notifications: xóa thông báo của bạn write:notifications: xóa thông báo của bạn
write:reports: báo cáo người khác write:reports: báo cáo người khác
write:statuses: xuất bản trạng thái write:statuses: đăng tút

View file

@ -33,7 +33,7 @@ zh-CN:
help: help:
native_redirect_uri: 本地测试请使用 %{native_redirect_uri} native_redirect_uri: 本地测试请使用 %{native_redirect_uri}
redirect_uri: 每行只能有一个 URL redirect_uri: 每行只能有一个 URL
scopes: 用空格分割权限范围,留空则使用默认设置 scopes: 用空格分隔权限范围,留空则使用默认设置。
index: index:
application: 应用 application: 应用
callback_url: 回调 URL callback_url: 回调 URL

View file

@ -1154,7 +1154,7 @@ es:
other: "%{count} votos" other: "%{count} votos"
vote: Vota vote: Vota
show_more: Mostrar más show_more: Mostrar más
show_thread: Mostrar hilo show_thread: Mostrar hilván
sign_in_to_participate: Regístrate para participar en la conversación sign_in_to_participate: Regístrate para participar en la conversación
title: '%{name}: "%{quote}"' title: '%{name}: "%{quote}"'
visibilities: visibilities:

View file

@ -4,10 +4,12 @@ fi:
about_hashtag_html: Nämä ovat hashtagilla <strong>#%{hashtag}</strong> merkittyjä julkisia tuuttauksia. Voit vastata niihin, jos sinulla on tili jossain päin fediversumia. about_hashtag_html: Nämä ovat hashtagilla <strong>#%{hashtag}</strong> merkittyjä julkisia tuuttauksia. Voit vastata niihin, jos sinulla on tili jossain päin fediversumia.
about_mastodon_html: Mastodon on sosiaalinen verkosto. Se on toteutettu avoimilla verkkoprotokollilla ja vapailla, avoimen lähdekoodin ohjelmistoilla, ja se toimii hajautetusti samaan tapaan kuin sähköposti. about_mastodon_html: Mastodon on sosiaalinen verkosto. Se on toteutettu avoimilla verkkoprotokollilla ja vapailla, avoimen lähdekoodin ohjelmistoilla, ja se toimii hajautetusti samaan tapaan kuin sähköposti.
about_this: Tietoja tästä palvelimesta about_this: Tietoja tästä palvelimesta
active_count_after: aktiivinen
administered_by: 'Ylläpitäjä:' administered_by: 'Ylläpitäjä:'
api: API api: API
apps: Mobiili sovellukset apps: Mobiili sovellukset
apps_platforms: Käytä Mastodonia iOS:llä, Androidilla tai muilla alustoilla apps_platforms: Käytä Mastodonia iOS:llä, Androidilla tai muilla alustoilla
browse_directory: Selaa profiilihakemistoa ja suodata kiinnostuksen kohteiden mukaan
contact: Ota yhteyttä contact: Ota yhteyttä
contact_missing: Ei asetettu contact_missing: Ei asetettu
contact_unavailable: Ei saatavilla contact_unavailable: Ei saatavilla
@ -17,6 +19,7 @@ fi:
hosted_on: Mastodon palvelimella %{domain} hosted_on: Mastodon palvelimella %{domain}
learn_more: Lisätietoja learn_more: Lisätietoja
privacy_policy: Tietosuojaseloste privacy_policy: Tietosuojaseloste
see_whats_happening: Näe mitä tapahtuu
server_stats: 'Palvelimen tilastot:' server_stats: 'Palvelimen tilastot:'
source_code: Lähdekoodi source_code: Lähdekoodi
status_count_after: status_count_after:
@ -28,6 +31,10 @@ fi:
unavailable_content_description: unavailable_content_description:
domain: Palvelin domain: Palvelin
reason: Syy reason: Syy
rejecting_media_title: Media suodatettu
silenced: 'Julkaisut näiltä palvelimilta piilotetaan julkisilta aikajanoilta ja keskusteluista, ilmoituksia ei luoda näiden käyttäjien tekemistä toiminnoista, jos et seuraa heitä:'
silenced_title: Hiljennetyt palvelimet
suspended: 'Dataa näiltä palvelimilta ei tulla käsittelemään, tallentamaan tai jakamaan. Tämä tekee kommunikoinnin näiden käyttäjien kanssa mahdottomaksi:'
user_count_after: user_count_after:
one: käyttäjä one: käyttäjä
other: käyttäjät other: käyttäjät
@ -35,6 +42,7 @@ fi:
what_is_mastodon: Mikä on Mastodon? what_is_mastodon: Mikä on Mastodon?
accounts: accounts:
choices_html: "%{name} valinnat:" choices_html: "%{name} valinnat:"
endorsements_hint: Voit suositella seuraamiasi henkilöitä web käyttöliittymän kautta, ne tulevat näkymään tähän.
follow: Seuraa follow: Seuraa
followers: followers:
one: Seuraaja one: Seuraaja
@ -66,8 +74,10 @@ fi:
unavailable: Profiili ei saatavilla unavailable: Profiili ei saatavilla
unfollow: Lopeta seuraaminen unfollow: Lopeta seuraaminen
admin: admin:
account_actions:
action: Suorita toimenpide
account_moderation_notes: account_moderation_notes:
create: Luo create: Jätä muistiinpano
created_msg: Moderointimerkinnän luonti onnistui! created_msg: Moderointimerkinnän luonti onnistui!
delete: Poista delete: Poista
destroyed_msg: Moderointimerkinnän poisto onnistui! destroyed_msg: Moderointimerkinnän poisto onnistui!
@ -101,7 +111,9 @@ fi:
enabled: Käytössä enabled: Käytössä
followers: Seuraajat followers: Seuraajat
follows: Seuraa follows: Seuraa
header: Otsakekuva
inbox_url: Saapuvan postilaatikon osoite inbox_url: Saapuvan postilaatikon osoite
invited_by: Kutsuja
ip: IP ip: IP
joined: Liittynyt joined: Liittynyt
location: location:
@ -122,7 +134,9 @@ fi:
moderation_notes: Moderointimerkinnät moderation_notes: Moderointimerkinnät
most_recent_activity: Viimeisin toiminta most_recent_activity: Viimeisin toiminta
most_recent_ip: Viimeisin IP most_recent_ip: Viimeisin IP
no_limits_imposed: Rajoituksia ei ole asetettu
not_subscribed: Ei tilaaja not_subscribed: Ei tilaaja
pending: Odottaa tarkistusta
perform_full_suspension: Siirrä kokonaan jäähylle perform_full_suspension: Siirrä kokonaan jäähylle
promote: Ylennä promote: Ylennä
protocol: Protokolla protocol: Protokolla
@ -132,6 +146,7 @@ fi:
reject: Hylkää reject: Hylkää
reject_all: Hylkää kaikki reject_all: Hylkää kaikki
remove_avatar: Poista profiilikuva remove_avatar: Poista profiilikuva
remove_header: Poista otsakekuva
resend_confirmation: resend_confirmation:
already_confirmed: Tämä käyttäjä on jo vahvistettu already_confirmed: Tämä käyttäjä on jo vahvistettu
send: Lähetä varmistusviesti uudelleen send: Lähetä varmistusviesti uudelleen
@ -146,6 +161,7 @@ fi:
staff: Henkilöstö staff: Henkilöstö
user: Käyttäjä user: Käyttäjä
search: Hae search: Hae
search_same_ip: Muut käyttäjät samalla IP-osoitteella
shared_inbox_url: Jaetun saapuvan postilaatikon osoite shared_inbox_url: Jaetun saapuvan postilaatikon osoite
show: show:
created_reports: Tämän tilin luomat raportit created_reports: Tämän tilin luomat raportit
@ -155,6 +171,7 @@ fi:
statuses: Tilat statuses: Tilat
subscribe: Tilaa subscribe: Tilaa
suspended: Jäähyllä suspended: Jäähyllä
time_in_queue: Odottaa jonossa %{time}
title: Tilit title: Tilit
unconfirmed_email: Sähköpostia ei vahvistettu unconfirmed_email: Sähköpostia ei vahvistettu
undo_silenced: Peru hiljennys undo_silenced: Peru hiljennys
@ -164,6 +181,22 @@ fi:
warn: Varoita warn: Varoita
web: Verkko web: Verkko
action_logs: action_logs:
action_types:
confirm_user: Vahvista käyttäjä
create_account_warning: Luo varoitus
create_announcement: Luo ilmoitus
create_custom_emoji: Luo mukautettu emoji
demote_user: Alenna käyttäjä
destroy_announcement: Poista ilmoitus
destroy_custom_emoji: Poista mukautettu emoji
destroy_status: Poista tilapäivitys
disable_2fa_user: Poista kaksivaiheinen tunnistautuminen käytöstä
disable_user: Tili poistettu käytöstä
enable_custom_emoji: Käytä mukautettuja emojeita
enable_user: Tili otettu käyttöön
promote_user: Käyttäjä ylennetty
remove_avatar_user: Profiilikuvan poisto
silence_account: Hiljennä tili
actions: actions:
assigned_to_self_report: "%{name} otti raportin %{target} tehtäväkseen" assigned_to_self_report: "%{name} otti raportin %{target} tehtäväkseen"
change_email_user: "%{name} vaihtoi käyttäjän %{target} sähköpostiosoitteen" change_email_user: "%{name} vaihtoi käyttäjän %{target} sähköpostiosoitteen"
@ -192,8 +225,20 @@ fi:
unsuspend_account: "%{name} perui käyttäjän %{target} jäähyn" unsuspend_account: "%{name} perui käyttäjän %{target} jäähyn"
update_custom_emoji: "%{name} päivitti emojin %{target}" update_custom_emoji: "%{name} päivitti emojin %{target}"
update_status: "%{name} päivitti käyttäjän %{target} tilan" update_status: "%{name} päivitti käyttäjän %{target} tilan"
deleted_status: "(poistettu tilapäivitys)"
empty: Lokeja ei löytynyt.
filter_by_action: Suodata tapahtuman mukaan
filter_by_user: Suodata käyttäjän mukaan
title: Auditointiloki title: Auditointiloki
announcements: announcements:
destroyed_msg: Ilmoitus poistettu onnistuneesti!
edit:
title: Muokkaa ilmoitusta
empty: Yhtään ilmoitusta ei löytynyt.
new:
create: Luo ilmoitus
title: Uusi ilmoitus
published_msg: Ilmoitus julkaistu onnistuneesti!
title: Ilmoitukset title: Ilmoitukset
custom_emojis: custom_emojis:
assign_category: Aseta kategoria assign_category: Aseta kategoria
@ -217,6 +262,7 @@ fi:
listed: Listassa listed: Listassa
new: new:
title: Lisää uusi mukautettu emoji title: Lisää uusi mukautettu emoji
not_permitted: Sinulla ei ole oikeutta suorittaa tätä toimintoa
overwrite: Kirjoita yli overwrite: Kirjoita yli
shortcode: Lyhennekoodi shortcode: Lyhennekoodi
shortcode_hint: Vähintään kaksi merkkiä, vain kirjaimia, numeroita ja alaviivoja shortcode_hint: Vähintään kaksi merkkiä, vain kirjaimia, numeroita ja alaviivoja
@ -234,7 +280,18 @@ fi:
feature_invites: Kutsulinkit feature_invites: Kutsulinkit
feature_profile_directory: Profiilihakemisto feature_profile_directory: Profiilihakemisto
feature_registrations: Rekisteröitymiset feature_registrations: Rekisteröitymiset
feature_spam_check: Roskapostin esto
feature_timeline_preview: Aikajanan esikatselu
features: Ominaisuudet
recent_users: Viimeaikaiset käyttäjät
search: Haku koko tekstistä
software: Ohjelmisto
space: Tilankäyttö
title: Hallintapaneeli title: Hallintapaneeli
total_users: käyttäjiä yhteensä
trends: Trendit
week_users_active: aktiivinen tällä viikolla
week_users_new: käyttäjiä tällä viikolla
domain_blocks: domain_blocks:
add_new: Lisää uusi add_new: Lisää uusi
created_msg: Verkkotunnuksen estoa käsitellään created_msg: Verkkotunnuksen estoa käsitellään
@ -249,8 +306,13 @@ fi:
silence: Hiljennys silence: Hiljennys
suspend: Jäähy suspend: Jäähy
title: Uusi verkkotunnuksen esto title: Uusi verkkotunnuksen esto
private_comment: Yksityinen kommentti
public_comment: Julkinen kommentti
reject_media: Hylkää mediatiedostot reject_media: Hylkää mediatiedostot
reject_media_hint: Poistaa paikallisesti tallennetut mediatiedostot eikä lataa niitä enää jatkossa. Ei merkitystä jäähyn kohdalla reject_media_hint: Poistaa paikallisesti tallennetut mediatiedostot eikä lataa niitä enää jatkossa. Ei merkitystä jäähyn kohdalla
severity:
silence: hiljennetty
suspend: jäähyllä
show: show:
affected_accounts: affected_accounts:
one: Vaikuttaa yhteen tiliin tietokannassa one: Vaikuttaa yhteen tiliin tietokannassa
@ -272,14 +334,33 @@ fi:
title: Uusi sähköpostiestolistan merkintä title: Uusi sähköpostiestolistan merkintä
title: Sähköpostiestolista title: Sähköpostiestolista
instances: instances:
moderation:
all: Kaikki
limited: Rajoitettu
title: Moderointi
private_comment: Yksityinen kommentti
public_comment: Julkinen kommentti
title: Tiedossa olevat instanssit title: Tiedossa olevat instanssit
total_blocked_by_us: Estetty meidän toimesta
total_followed_by_them: Heidän seuraama
total_followed_by_us: Meidän seuraama
total_storage: Medialiitteet
invites: invites:
deactivate_all: Poista kaikki käytöstä
filter: filter:
all: Kaikki all: Kaikki
available: Saatavilla available: Saatavilla
expired: Vanhentunut expired: Vanhentunut
title: Suodata title: Suodata
title: Kutsut title: Kutsut
relays:
delete: Poista
disable: Poista käytöstä
disabled: Poistettu käytöstä
enable: Ota käyttöön
enabled: Käytössä
save_and_enable: Tallenna ja ota käyttöön
status: Tila
report_notes: report_notes:
created_msg: Muistiinpano onnistuneesti lisätty raporttiin! created_msg: Muistiinpano onnistuneesti lisätty raporttiin!
destroyed_msg: Muistiinpano onnistuneesti poistettu raportista! destroyed_msg: Muistiinpano onnistuneesti poistettu raportista!
@ -318,11 +399,21 @@ fi:
contact_information: contact_information:
email: Työsähköposti email: Työsähköposti
username: Yhteyshenkilön käyttäjänimi username: Yhteyshenkilön käyttäjänimi
custom_css:
title: Mukautettu CSS
domain_blocks:
all: Kaikille
disabled: Ei kenellekkään
title: Näytä domainestot
domain_blocks_rationale:
title: Näytä syy
enable_bootstrap_timeline_accounts: enable_bootstrap_timeline_accounts:
title: Uudet käyttäjät seuraavat oletuksena tilejä title: Uudet käyttäjät seuraavat oletuksena tilejä
hero: hero:
desc_html: Näytetään etusivulla. Suosituskoko vähintään 600x100 pikseliä. Jos kuvaa ei aseteta, käytetään instanssin pikkukuvaa desc_html: Näytetään etusivulla. Suosituskoko vähintään 600x100 pikseliä. Jos kuvaa ei aseteta, käytetään instanssin pikkukuvaa
title: Sankarin kuva title: Sankarin kuva
mascot:
title: Maskottikuva
peers_api_enabled: peers_api_enabled:
desc_html: Verkkotunnukset, jotka tämä instanssi on kohdannut fediversumissa desc_html: Verkkotunnukset, jotka tämä instanssi on kohdannut fediversumissa
title: Julkaise löydettyjen instanssien luettelo title: Julkaise löydettyjen instanssien luettelo
@ -336,6 +427,11 @@ fi:
min_invite_role: min_invite_role:
disabled: Ei kukaan disabled: Ei kukaan
title: Salli kutsut käyttäjältä title: Salli kutsut käyttäjältä
registrations_mode:
modes:
approved: Rekisteröinti vaatii hyväksynnän
none: Kukaan ei voi rekisteröityä
open: Kaikki voivat rekisteröityä
show_known_fediverse_at_about_page: show_known_fediverse_at_about_page:
desc_html: Kun tämä on valittu, esikatselussa näytetään tuuttaukset kaikkialta tunnetusta fediversumista. Muutoin näytetään vain paikalliset tuuttaukset. desc_html: Kun tämä on valittu, esikatselussa näytetään tuuttaukset kaikkialta tunnetusta fediversumista. Muutoin näytetään vain paikalliset tuuttaukset.
title: Näytä aikajanan esikatselussa koko tunnettu fediversumi title: Näytä aikajanan esikatselussa koko tunnettu fediversumi
@ -348,6 +444,8 @@ fi:
site_description_extended: site_description_extended:
desc_html: Hyvä paikka käytösohjeille, säännöille, ohjeistuksille ja muille instanssin muista erottaville asioille. HTML-tagit käytössä desc_html: Hyvä paikka käytösohjeille, säännöille, ohjeistuksille ja muille instanssin muista erottaville asioille. HTML-tagit käytössä
title: Omavalintaiset laajat tiedot title: Omavalintaiset laajat tiedot
site_short_description:
title: Lyhyt instanssin kuvaus
site_terms: site_terms:
desc_html: Tähän voi kirjoittaa instanssin tietosuojakäytännöstä, käyttöehdoista ja sen sellaisista asioista. HTML-tagit käytössä desc_html: Tähän voi kirjoittaa instanssin tietosuojakäytännöstä, käyttöehdoista ja sen sellaisista asioista. HTML-tagit käytössä
title: Omavalintaiset käyttöehdot title: Omavalintaiset käyttöehdot
@ -359,24 +457,53 @@ fi:
desc_html: Näytä julkinen aikajana aloitussivulla desc_html: Näytä julkinen aikajana aloitussivulla
title: Aikajanan esikatselu title: Aikajanan esikatselu
title: Sivuston asetukset title: Sivuston asetukset
trends:
title: Trendaavat aihetunnisteet
site_uploads:
delete: Poista ladattu tiedosto
statuses: statuses:
back_to_account: Takaisin tilin sivulle back_to_account: Takaisin tilin sivulle
batch: batch:
delete: Poista delete: Poista
nsfw_off: NSFW POIS nsfw_off: NSFW POIS
nsfw_on: NSFW PÄÄLLÄ nsfw_on: NSFW PÄÄLLÄ
deleted: Poistettu
failed_to_execute: Suoritus epäonnistui failed_to_execute: Suoritus epäonnistui
media:
title: Media
no_media: Ei mediaa no_media: Ei mediaa
title: Tilin tilat title: Tilin tilat
with_media: Sisältää mediaa with_media: Sisältää mediaa
tags:
context: Konteksti
last_active: Aktiivinen viimeksi
most_popular: Suosituimmat
most_recent: Viimeisimmät
name: Aihetunniste
reviewed: Tarkistetut
title: Aihetunnisteet
trending_right_now: Trendaa juuri nyt
title: Ylläpito title: Ylläpito
warning_presets:
add_new: Lisää uusi
delete: Poista
admin_mailer: admin_mailer:
new_report: new_report:
body: "%{reporter} on raportoinut kohteen %{target}" body: "%{reporter} on raportoinut kohteen %{target}"
body_remote: Joku osoitteesta %{domain} on raportoinut kohteen %{target} body_remote: Joku osoitteesta %{domain} on raportoinut kohteen %{target}
subject: Uusi raportti instanssista %{instance} (nro %{id}) subject: Uusi raportti instanssista %{instance} (nro %{id})
aliases:
add_new: Luo alias
empty: Sinulla ei ole aliaksia.
remove: Poista aliaksen linkitys
appearance:
localization:
body: Mastodonin ovat kääntäneet vapaaehtoiset.
guide_link_text: Kaikki voivat osallistua.
sensitive_content: Arkaluontoista sisältöä
application_mailer: application_mailer:
notification_preferences: Muuta sähköpostiasetuksia notification_preferences: Muuta sähköpostiasetuksia
salutation: "%{name},"
settings: 'Muuta sähköpostiasetuksia: %{link}' settings: 'Muuta sähköpostiasetuksia: %{link}'
view: 'Näytä:' view: 'Näytä:'
view_profile: Näytä profiili view_profile: Näytä profiili
@ -390,9 +517,13 @@ fi:
warning: Säilytä tietoa hyvin. Älä milloinkaan jaa sitä muille! warning: Säilytä tietoa hyvin. Älä milloinkaan jaa sitä muille!
your_token: Pääsytunnus your_token: Pääsytunnus
auth: auth:
apply_for_account: Pyydä kutsu
change_password: Salasana change_password: Salasana
delete_account: Poista tili delete_account: Poista tili
delete_account_html: Jos haluat poistaa tilisi, <a href="%{path}">paina tästä</a>. Poisto on vahvistettava. delete_account_html: Jos haluat poistaa tilisi, <a href="%{path}">paina tästä</a>. Poisto on vahvistettava.
description:
prefix_sign_up: Liity Mastodoniin tänään!
suffix: Tilillä voit seurata ihmisiä, julkaista päivityksiä ja lähetellä viestejä muille käyttäjille miltä palvelimelta tahansa ja paljon muuta!
didnt_get_confirmation: Etkö saanut vahvistusohjeita? didnt_get_confirmation: Etkö saanut vahvistusohjeita?
forgot_password: Unohditko salasanasi? forgot_password: Unohditko salasanasi?
invalid_reset_password_token: Salasananpalautustunnus on virheellinen tai vanhentunut. Pyydä uusi. invalid_reset_password_token: Salasananpalautustunnus on virheellinen tai vanhentunut. Pyydä uusi.
@ -406,6 +537,10 @@ fi:
reset_password: Palauta salasana reset_password: Palauta salasana
security: Tunnukset security: Tunnukset
set_new_password: Aseta uusi salasana set_new_password: Aseta uusi salasana
status:
account_status: Tilin tila
functional: Tilisi on täysin toimiva.
trouble_logging_in: Ongelmia kirjautumisessa?
authorize_follow: authorize_follow:
already_following: Sinä seuraat jo tätä tiliä already_following: Sinä seuraat jo tätä tiliä
error: Valitettavasti etätilin haussa tapahtui virhe error: Valitettavasti etätilin haussa tapahtui virhe
@ -417,6 +552,8 @@ fi:
return: Palaa käyttäjän profiiliin return: Palaa käyttäjän profiiliin
web: Siirry verkkosivulle web: Siirry verkkosivulle
title: Seuraa käyttäjää %{acct} title: Seuraa käyttäjää %{acct}
challenge:
confirm: Jatka
datetime: datetime:
distance_in_words: distance_in_words:
about_x_hours: "%{count} h" about_x_hours: "%{count} h"
@ -435,6 +572,16 @@ fi:
confirm_password: Tunnistaudu syöttämällä nykyinen salasanasi confirm_password: Tunnistaudu syöttämällä nykyinen salasanasi
proceed: Poista tili proceed: Poista tili
success_msg: Tilin poisto onnistui success_msg: Tilin poisto onnistui
warning:
more_details_html: Lisätietoja saat <a href="%{terms_path}">tietosuojakäytännöstämme</a>.
username_available: Käyttäjänimesi tulee saataville uudestaan
username_unavailable: Käyttäjänimesi ei tule saataville enää uudestaan
directories:
directory: Profiilihakemisto
explanation: Löydä käyttäjiä hiedän kiinnostuksiensa kautta
explore_mastodon: Tutki %{title}
domain_validator:
invalid_domain: ei ole kelvollinen toimialueen nimi
errors: errors:
'400': The request you submitted was invalid or malformed. '400': The request you submitted was invalid or malformed.
'403': Sinulla ei ole lupaa nähdä tätä sivua. '403': Sinulla ei ole lupaa nähdä tätä sivua.
@ -459,14 +606,44 @@ fi:
request: Pyydä arkisto request: Pyydä arkisto
size: Koko size: Koko
blocks: Estot blocks: Estot
lists: Listat
mutes: Mykistetyt mutes: Mykistetyt
storage: Media-arkisto storage: Media-arkisto
featured_tags:
add_new: Lisää uusi
filters:
contexts:
account: Profiilit
home: Kotiaikajana
notifications: Ilmoitukset
public: Julkiset aikajanat
thread: Keskustelut
edit:
title: Muokkaa suodatinta
index:
delete: Poista
empty: Sinulla ei ole suodattimia.
title: Suodattimet
new:
title: Lisää uusi suodatin
footer:
developers: Kehittäjille
more: Lisää…
resources: Resurssit
trending_now: Suosittua nyt
generic: generic:
all: Kaikki
changes_saved_msg: Muutosten tallennus onnistui! changes_saved_msg: Muutosten tallennus onnistui!
copy: Kopioi
delete: Poista
order_by: Järjestä
save_changes: Tallenna muutokset save_changes: Tallenna muutokset
validation_errors: validation_errors:
one: Kaikki ei ole aivan oikein! Tarkasta alla oleva virhe one: Kaikki ei ole aivan oikein! Tarkasta alla oleva virhe
other: Kaikki ei ole aivan oikein! Tarkasta alla olevat %{count} virhettä other: Kaikki ei ole aivan oikein! Tarkasta alla olevat %{count} virhettä
identity_proofs:
active: Aktiivinen
authorize: Kyllä, valtuuta
imports: imports:
preface: Voit tuoda toisesta instanssista viemiäsi tietoja, kuten esimerkiksi seuraamiesi tai estämiesi henkilöiden listan. preface: Voit tuoda toisesta instanssista viemiäsi tietoja, kuten esimerkiksi seuraamiesi tai estämiesi henkilöiden listan.
success: Tietojen lähettäminen onnistui, ja ne käsitellään kohtapuoliin success: Tietojen lähettäminen onnistui, ja ne käsitellään kohtapuoliin
@ -506,6 +683,16 @@ fi:
too_many: Tiedostoja voi liittää enintään 4 too_many: Tiedostoja voi liittää enintään 4
migrations: migrations:
acct: uuden tilin käyttäjätunnus@verkkotunnus acct: uuden tilin käyttäjätunnus@verkkotunnus
errors:
move_to_self: ei voi olla nykyinen tili
not_found: ei voitu löytää
on_cooldown: Sinä olet jäähyllä
followers_count: Seuraajat muuton aikana
past_migrations: Edelliset migraatiot
proceed_with_move: Siirrä seuraajat
set_redirect: Aseta uudelleenohjaus
warning:
before: 'Ennen jatkamista, lue nämä huomautukset huolellisesti:'
moderation: moderation:
title: Moderointi title: Moderointi
notification_mailer: notification_mailer:
@ -548,6 +735,7 @@ fi:
format: "%n %u" format: "%n %u"
units: units:
billion: Mrd billion: Mrd
million: M
quadrillion: Brd quadrillion: Brd
thousand: k thousand: k
trillion: B trillion: B
@ -556,8 +744,22 @@ fi:
next: Seuraava next: Seuraava
older: Vanhemmat older: Vanhemmat
prev: Edellinen prev: Edellinen
polls:
errors:
duration_too_long: on liian kaukana tulevaisuudessa
duration_too_short: on liian aikainen
expired: Äänestys on jo loppunut
preferences: preferences:
other: Muut other: Muut
public_timelines: Julkiset aikajanat
reactions:
errors:
unrecognized_emoji: ei ole tunnistettu emoji
relationships:
activity: Tilin tapahtumat
followers: Seuraajat
following: Seuratut
invited: Kutsuttu
remote_follow: remote_follow:
acct: Syötä se käyttäjätunnus@verkkotunnus, josta haluat seurata acct: Syötä se käyttäjätunnus@verkkotunnus, josta haluat seurata
missing_resource: Vaadittavaa uudelleenohjaus-URL:ää tiliisi ei löytynyt missing_resource: Vaadittavaa uudelleenohjaus-URL:ää tiliisi ei löytynyt
@ -567,27 +769,62 @@ fi:
activity: Viimeisin toiminta activity: Viimeisin toiminta
browser: Selain browser: Selain
browsers: browsers:
alipay: Alipay
blackberry: Blackberry
chrome: Chrome
edge: Microsoft Edge
electron: Electron
firefox: Firefox
generic: Tuntematon selain generic: Tuntematon selain
ie: Internet Explorer
micro_messenger: MicroMessenger
nokia: Nokia S40 Ovi -selain nokia: Nokia S40 Ovi -selain
opera: Opera
otter: Otter
phantom_js: PhantomJS
qq: QQ Browser
safari: Safari
uc_browser: UCBrowser
weibo: Weibo
current_session: Nykyinen istunto current_session: Nykyinen istunto
description: "%{browser}, %{platform}" description: "%{browser}, %{platform}"
explanation: Nämä verkkoselaimet ovat tällä hetkellä kirjautuneet Mastodon-tilillesi. explanation: Nämä verkkoselaimet ovat tällä hetkellä kirjautuneet Mastodon-tilillesi.
ip: IP-osoite
platforms: platforms:
adobe_air: Adobe Air
android: Android
blackberry: Blackberry
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
linux: Linux
mac: macOS
other: tuntematon järjestelmä other: tuntematon järjestelmä
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
revoke: Hylkää revoke: Hylkää
revoke_success: Istunnon hylkäys onnistui revoke_success: Istunnon hylkäys onnistui
title: Istunnot title: Istunnot
settings: settings:
account: Tili
account_settings: Tilin asetukset
aliases: Tilin aliakset
appearance: Ulkoasu
authorized_apps: Valtuutetut sovellukset authorized_apps: Valtuutetut sovellukset
back: Takaisin Mastodoniin back: Takaisin Mastodoniin
delete: Tilin poisto delete: Tilin poisto
development: Kehittäminen development: Kehittäminen
edit_profile: Muokkaa profiilia edit_profile: Muokkaa profiilia
export: Vie tietoja export: Vie tietoja
featured_tags: Esitellyt aihetunnisteet
import: Tuo import: Tuo
import_and_export: Tuo / Vie
migrate: Tilin muutto muualle migrate: Tilin muutto muualle
notifications: Ilmoitukset notifications: Ilmoitukset
preferences: Ominaisuudet preferences: Ominaisuudet
profile: Profiili
relationships: Seurattavat ja seuraajat
two_factor_authentication: Kaksivaiheinen todentaminen two_factor_authentication: Kaksivaiheinen todentaminen
statuses: statuses:
attached: attached:
@ -599,6 +836,7 @@ fi:
disallowed_hashtags: disallowed_hashtags:
one: 'sisälsi aihetunnisteen jota ei sallita: %{tags}' one: 'sisälsi aihetunnisteen jota ei sallita: %{tags}'
other: 'sisälsi aihetunnisteet joita ei sallita: %{tags}' other: 'sisälsi aihetunnisteet joita ei sallita: %{tags}'
language_detection: Tunnista kieli automaattisesti
open_in_web: Avaa selaimessa open_in_web: Avaa selaimessa
over_character_limit: merkkimäärän rajoitus %{max} ylitetty over_character_limit: merkkimäärän rajoitus %{max} ylitetty
pin_errors: pin_errors:
@ -606,7 +844,17 @@ fi:
ownership: Muiden tuuttauksia ei voi kiinnittää ownership: Muiden tuuttauksia ei voi kiinnittää
private: Piilotettua tuuttausta ei voi kiinnittää private: Piilotettua tuuttausta ei voi kiinnittää
reblog: Buustausta ei voi kiinnittää reblog: Buustausta ei voi kiinnittää
poll:
total_people:
one: "%{count} henkilö"
other: "%{count} henkilöä"
total_votes:
one: "%{count} ääni"
other: "%{count} ääntä"
vote: Äänestä
show_more: Näytä lisää show_more: Näytä lisää
show_thread: Näytä ketju
sign_in_to_participate: Kirjaudu sisään osallistuaksesi keskusteluun
title: "%{name}: ”%{quote}”" title: "%{name}: ”%{quote}”"
visibilities: visibilities:
private: Vain seuraajille private: Vain seuraajille

View file

@ -132,6 +132,7 @@ kab:
reject: Aggi reject: Aggi
reject_all: Aggi-ten akk reject_all: Aggi-ten akk
remove_avatar: Kkes tugna n umaɣnu remove_avatar: Kkes tugna n umaɣnu
remove_header: Kkes tacacit
resend_confirmation: resend_confirmation:
already_confirmed: Amseqdac-agi yettwasentem yakan already_confirmed: Amseqdac-agi yettwasentem yakan
send: Azen tikelt-nniḍen imayl n usentem send: Azen tikelt-nniḍen imayl n usentem
@ -161,6 +162,7 @@ kab:
action_logs: action_logs:
action_types: action_types:
disable_2fa_user: Gdel 2FA disable_2fa_user: Gdel 2FA
enable_user: Rmed aseqdac
remove_avatar_user: Kkes avaṭar remove_avatar_user: Kkes avaṭar
reset_password_user: Ales awennez n wawal n uffir reset_password_user: Ales awennez n wawal n uffir
silence_account: Sgugem amiḍan silence_account: Sgugem amiḍan
@ -188,6 +190,7 @@ kab:
update_status: "%{name} yelqem tasuffeɣt n %{target}" update_status: "%{name} yelqem tasuffeɣt n %{target}"
deleted_status: "(tasuffeɣt tettwakkes)" deleted_status: "(tasuffeɣt tettwakkes)"
empty: Ulac iɣmisen i yellan. empty: Ulac iɣmisen i yellan.
filter_by_user: Sizdeg s useqdac
title: Aɣmis n usenqed title: Aɣmis n usenqed
announcements: announcements:
edit: edit:
@ -227,6 +230,7 @@ kab:
upload: Sali upload: Sali
dashboard: dashboard:
config: Tawila config: Tawila
feature_deletions: Imiḍan yettwaksen
feature_invites: Iseɣwan n iɛaṛuḍen feature_invites: Iseɣwan n iɛaṛuḍen
feature_profile_directory: Akaram n imaɣnuten feature_profile_directory: Akaram n imaɣnuten
feature_registrations: Ajerred feature_registrations: Ajerred
@ -517,6 +521,7 @@ kab:
'604800': 1 umalas '604800': 1 umalas
'86400': 1 wass '86400': 1 wass
expires_in_prompt: Werǧin expires_in_prompt: Werǧin
invited_by: 'Tettwaɛraḍeḍ s ɣur:'
max_uses_prompt: Ulac talast max_uses_prompt: Ulac talast
table: table:
expires_at: Ad ifat di expires_at: Ad ifat di
@ -544,6 +549,7 @@ kab:
number: number:
human: human:
decimal_units: decimal_units:
format: "%n%u"
units: units:
million: A million: A
trillion: Am trillion: Am
@ -571,6 +577,8 @@ kab:
remote_interaction: remote_interaction:
favourite: favourite:
proceed: Kemmel asmenyef proceed: Kemmel asmenyef
reblog:
proceed: Sentem beṭṭu
reply: reply:
proceed: Kemmel tiririt proceed: Kemmel tiririt
sessions: sessions:
@ -629,6 +637,9 @@ kab:
relationships: Imeḍfaṛen akked wid i teṭṭafaṛeḍ relationships: Imeḍfaṛen akked wid i teṭṭafaṛeḍ
statuses: statuses:
attached: attached:
audio:
one: "%{count} n imesli"
other: "%{count} n imesliyen"
image: image:
one: "%{count} tugna" one: "%{count} tugna"
other: "%{count} tugniwin" other: "%{count} tugniwin"
@ -641,6 +652,9 @@ kab:
total_people: total_people:
one: "%{count} n wemdan" one: "%{count} n wemdan"
other: "%{count} n yemdanen" other: "%{count} n yemdanen"
total_votes:
one: "%{count} n wedɣar"
other: "%{count} n yedɣaren"
vote: Dɣeṛ vote: Dɣeṛ
show_more: Ssken-d ugar show_more: Ssken-d ugar
show_thread: Ssken-d lxiḍ show_thread: Ssken-d lxiḍ

View file

@ -1282,6 +1282,10 @@ nl:
title: Archief ophalen title: Archief ophalen
sign_in_token: sign_in_token:
details: 'Hier zijn details van de poging:' details: 'Hier zijn details van de poging:'
explanation: 'We hebben inlogpoging op je account ontdekt vanaf een onbekend ip-adres. Als jij dit bent, vul dan de beveiligingscode hieronder in op de inlog-uitdagingspagina:'
further_actions: 'Als jij dit niet was, verander dan je wachtwoord en schakel authenticatie in twee stappen in op je account. Dat kun je hier doen:'
subject: Bevestig de inlogpoging
title: Inlogpoging
warning: warning:
explanation: explanation:
disable: Zolang jouw account is bevroren blijven jouw accountgegevens intact, maar kun je geen handelingen uitvoeren totdat het account is vrijgegeven. disable: Zolang jouw account is bevroren blijven jouw accountgegevens intact, maar kun je geen handelingen uitvoeren totdat het account is vrijgegeven.
@ -1319,11 +1323,14 @@ nl:
title: Welkom aan boord %{name}! title: Welkom aan boord %{name}!
users: users:
follow_limit_reached: Je kunt niet meer dan %{limit} accounts volgen follow_limit_reached: Je kunt niet meer dan %{limit} accounts volgen
generic_access_help_html: Problemen met toegang tot je account? Neem dan contact op met %{email}
invalid_email: E-mailadres is ongeldig invalid_email: E-mailadres is ongeldig
invalid_otp_token: Ongeldige tweestaps-aanmeldcode invalid_otp_token: Ongeldige tweestaps-aanmeldcode
invalid_sign_in_token: Ongeldige beveiligingscode
otp_lost_help_html: Als je toegang tot beiden kwijt bent geraakt, neem dan contact op via %{email} otp_lost_help_html: Als je toegang tot beiden kwijt bent geraakt, neem dan contact op via %{email}
seamless_external_login: Je bent ingelogd via een externe dienst, daarom zijn wachtwoorden en e-mailinstellingen niet beschikbaar. seamless_external_login: Je bent ingelogd via een externe dienst, daarom zijn wachtwoorden en e-mailinstellingen niet beschikbaar.
signed_in_as: 'Ingelogd als:' signed_in_as: 'Ingelogd als:'
suspicious_sign_in_confirmation: Het lijkt er op dat je nog niet eerder op dit apparaat bent ingelogd, en je bent een tijdje niet ingelogd, dus sturen we een beveiligingscode naar je e-mailadres om te bevestigen dat jij het bent.
verification: verification:
explanation_html: 'Je kunt <strong>jezelf verifiëren als de eigenaar van de links in de metadata van jouw profiel</strong>. Hiervoor moet op de gelinkte website een link terug naar jouw Mastodonprofiel staan. Deze link <strong>moet</strong> het <code>rel="me"</code>-attribuut bevatten. De omschrijving van de link maakt niet uit. Hier is een voorbeeld:' explanation_html: 'Je kunt <strong>jezelf verifiëren als de eigenaar van de links in de metadata van jouw profiel</strong>. Hiervoor moet op de gelinkte website een link terug naar jouw Mastodonprofiel staan. Deze link <strong>moet</strong> het <code>rel="me"</code>-attribuut bevatten. De omschrijving van de link maakt niet uit. Hier is een voorbeeld:'
verification: Verificatie verification: Verificatie

View file

@ -2,8 +2,18 @@
fi: fi:
simple_form: simple_form:
hints: hints:
account_alias:
acct: Määrittele käyttäjän käyttäjänimi@verkkotunnus mistä haluat siirtyä
account_migration:
acct: Määrittele käyttäjän käyttäjänimi@verkkotunnus mihin haluat siirtyä
account_warning_preset:
title: Vapaaehtoinen. Ei näytetä vastaanottajalle
admin_account_action: admin_account_action:
include_statuses: Käyttäjä näkee mitkä tuuttaukset johtivat toimenpiteeseen tai varoitukseen
send_email_notification: Käyttäjä saa selityksen mitä tapahtui hänen tililleen send_email_notification: Käyttäjä saa selityksen mitä tapahtui hänen tililleen
type_html: Valitse mitä teet käyttäjälle <strong>%{acct}</strong>
announcement:
scheduled_at: Jätä tyhjäksi julkaistaksesi ilmoituksen välittömästi
defaults: defaults:
avatar: PNG, GIF tai JPG. Enintään %{size}. Skaalataan kokoon %{dimensions} px avatar: PNG, GIF tai JPG. Enintään %{size}. Skaalataan kokoon %{dimensions} px
bot: Tämä tili suorittaa enimmäkseen automaattisia toimintoja eikä sitä ehkä valvota bot: Tämä tili suorittaa enimmäkseen automaattisia toimintoja eikä sitä ehkä valvota
@ -26,12 +36,29 @@ fi:
labels: labels:
account: account:
fields: fields:
name: Nimike
value: Sisältö value: Sisältö
account_warning_preset:
title: Otsikko
admin_account_action:
text: Mukautettu varoitus
type: Toimenpide
types:
disable: Poista kirjautuminen käytöstä
none: Älä tee mitään
silence: Hiljennä
suspend: Poista käytöstä ja tuhoa käyttäjätunnuksen tiedot peruuttamattomasti
announcement:
all_day: Koko päivän kestävä tapahtuma
text: Ilmoitus
defaults: defaults:
autofollow: Kutsu seuraamaan tiliäsi
avatar: Profiilikuva avatar: Profiilikuva
bot: Tämä on botti bot: Tämä on botti
chosen_languages: Suodata kieliä
confirm_new_password: Vahvista uusi salasana confirm_new_password: Vahvista uusi salasana
confirm_password: Vahvista salasana confirm_password: Vahvista salasana
context: Suodata konteksteista
current_password: Nykyinen salasana current_password: Nykyinen salasana
data: Tiedot data: Tiedot
discoverable: Listaa tämä tili hakemistoon discoverable: Listaa tämä tili hakemistoon
@ -47,32 +74,62 @@ fi:
note: Kuvaus note: Kuvaus
otp_attempt: Kaksivaiheisen tunnistuksen koodi otp_attempt: Kaksivaiheisen tunnistuksen koodi
password: Salasana password: Salasana
phrase: Avainsana tai lause
setting_advanced_layout: Ota käyttöön edistynyt web käyttöliittymä
setting_aggregate_reblogs: Ryhmitä boostaukset aikajanalla
setting_auto_play_gif: Toista GIF-animaatiot automaattisesti setting_auto_play_gif: Toista GIF-animaatiot automaattisesti
setting_boost_modal: Kysy vahvistusta ennen buustausta setting_boost_modal: Kysy vahvistusta ennen buustausta
setting_crop_images: Rajaa kuvat avaamattomissa tuuttauksissa 16:9 kuvasuhteeseen
setting_default_language: Julkaisujen kieli
setting_default_privacy: Julkaisun näkyvyys setting_default_privacy: Julkaisun näkyvyys
setting_default_sensitive: Merkitse media aina arkaluontoiseksi setting_default_sensitive: Merkitse media aina arkaluontoiseksi
setting_delete_modal: Kysy vahvistusta ennen tuuttauksen poistamista setting_delete_modal: Kysy vahvistusta ennen tuuttauksen poistamista
setting_display_media: Median näyttäminen
setting_display_media_default: Oletus
setting_display_media_hide_all: Piilota kaikki
setting_display_media_show_all: Näytä kaikki
setting_hide_network: Piilota verkkosi
setting_noindex: Jättäydy pois hakukoneindeksoinnista setting_noindex: Jättäydy pois hakukoneindeksoinnista
setting_reduce_motion: Vähennä animaatioiden liikettä setting_reduce_motion: Vähennä animaatioiden liikettä
setting_show_application: Näytä sovellus mistä lähetät tuuttauksia
setting_system_font_ui: Käytä järjestelmän oletusfonttia setting_system_font_ui: Käytä järjestelmän oletusfonttia
setting_theme: Sivuston teema setting_theme: Sivuston teema
setting_trends: Näytä päivän trendit
setting_unfollow_modal: Kysy vahvistusta, ennen kuin lopetat seuraamisen setting_unfollow_modal: Kysy vahvistusta, ennen kuin lopetat seuraamisen
setting_use_pending_items: Hidastila
severity: Vakavuus severity: Vakavuus
sign_in_token_attempt: Turvakoodi
type: Tietojen laji type: Tietojen laji
username: Käyttäjänimi username: Käyttäjänimi
username_or_email: Käyttäjänimi tai sähköposti username_or_email: Käyttäjänimi tai sähköposti
whole_word: Koko sana
email_domain_block:
with_dns_records: Sisällytä toimialueen MX tietueet ja IP-osoite
featured_tag:
name: Aihetunniste
interactions: interactions:
must_be_follower: Estä ilmoitukset käyttäjiltä, jotka eivät seuraa sinua must_be_follower: Estä ilmoitukset käyttäjiltä, jotka eivät seuraa sinua
must_be_following: Estä ilmoitukset käyttäjiltä, joita et seuraa must_be_following: Estä ilmoitukset käyttäjiltä, joita et seuraa
must_be_following_dm: Estä suorat viestit käyttäjiltä, joita et seuraa must_be_following_dm: Estä suorat viestit käyttäjiltä, joita et seuraa
invite:
comment: Kommentoi
invite_request:
text: Miksi haluat liittyä?
notification_emails: notification_emails:
digest: Lähetä koosteviestejä sähköpostitse digest: Lähetä koosteviestejä sähköpostitse
favourite: Lähetä sähköposti, kun joku tykkää tilastasi favourite: Lähetä sähköposti, kun joku tykkää tilastasi
follow: Lähetä sähköposti, kun joku seuraa sinua follow: Lähetä sähköposti, kun joku seuraa sinua
follow_request: Lähetä sähköposti, kun joku pyytää seurata sinua follow_request: Lähetä sähköposti, kun joku pyytää seurata sinua
mention: Lähetä sähköposti, kun sinut mainitaan mention: Lähetä sähköposti, kun sinut mainitaan
pending_account: Uusi tili tarvitsee tarkastusta
reblog: Lähetä sähköposti, kun joku buustaa julkaisusi reblog: Lähetä sähköposti, kun joku buustaa julkaisusi
tag:
name: Aihetunniste
trendable: Salli tämän aihetunnisteen näkyä trendeissä
usable: Salli tuuttauksien käyttää tätä aihetunnistetta
'no': Ei 'no': Ei
recommended: Suositeltu
required: required:
mark: "*"
text: pakollinen tieto text: pakollinen tieto
'yes': Kyllä 'yes': Kyllä

View file

@ -72,6 +72,7 @@ kab:
setting_hide_network: Ffer azetta-k·m setting_hide_network: Ffer azetta-k·m
setting_theme: Asental n wesmel setting_theme: Asental n wesmel
setting_use_pending_items: Askar aleγwayan setting_use_pending_items: Askar aleγwayan
sign_in_token_attempt: Tangalt n tɣellist
username: Isem n useqdac username: Isem n useqdac
username_or_email: Isem n useqdac neγ imal username_or_email: Isem n useqdac neγ imal
whole_word: Awal akk whole_word: Awal akk
@ -81,6 +82,8 @@ kab:
comment: Awennit comment: Awennit
invite_request: invite_request:
text: Acimi tebγiḍ ad ternuḍ iman-ik? text: Acimi tebγiḍ ad ternuḍ iman-ik?
notification_emails:
mention: Yuder-ik·em-id walbɛaḍ
tag: tag:
name: Ahacṭag name: Ahacṭag
'no': Ala 'no': Ala

View file

@ -53,7 +53,7 @@ th:
username: ชื่อผู้ใช้ของคุณจะไม่ซ้ำกันใน %{domain} username: ชื่อผู้ใช้ของคุณจะไม่ซ้ำกันใน %{domain}
whole_word: เมื่อคำสำคัญหรือวลีเป็นตัวอักษรและตัวเลขเท่านั้น จะนำไปใช้กับคำสำคัญหรือวลีหากตรงกันทั้งคำเท่านั้น whole_word: เมื่อคำสำคัญหรือวลีเป็นตัวอักษรและตัวเลขเท่านั้น จะนำไปใช้กับคำสำคัญหรือวลีหากตรงกันทั้งคำเท่านั้น
domain_allow: domain_allow:
domain: โดเมนนี้จะสามารถดึงข้อมูลจากเซิร์ฟเวอร์นี้และข้อมูลขาเข้าจากโดเมนจะได้รับการประมวลผลและจัดเก็บ domain: โดเมนนี้จะสามารถดึงข้อมูลจากเซิร์ฟเวอร์นี้และจะประมวลผลและจัดเก็บข้อมูลขาเข้าจากโดเมน
email_domain_block: email_domain_block:
with_dns_records: จะทำการพยายามแปลงที่อยู่ระเบียน DNS ของโดเมนที่กำหนดและจะขึ้นบัญชีดำผลลัพธ์เช่นกัน with_dns_records: จะทำการพยายามแปลงที่อยู่ระเบียน DNS ของโดเมนที่กำหนดและจะขึ้นบัญชีดำผลลัพธ์เช่นกัน
featured_tag: featured_tag:

View file

@ -14,7 +14,7 @@ vi:
send_email_notification: Người dùng sẽ nhận được lời giải thích về những gì xảy ra với tài khoản của họ send_email_notification: Người dùng sẽ nhận được lời giải thích về những gì xảy ra với tài khoản của họ
text_html: Tùy chọn. Bạn có thể sử dụng <a href="%{path}">cảnh cáo cài sẵn</a> để tiết kiệm thời gian text_html: Tùy chọn. Bạn có thể sử dụng <a href="%{path}">cảnh cáo cài sẵn</a> để tiết kiệm thời gian
type_html: Chọn làm gì với <strong>%{acct}</strong> type_html: Chọn làm gì với <strong>%{acct}</strong>
warning_preset_id: Tùy chọn. Bạn vẫn có thể thêm văn bản tùy chỉnh vào cuối cảnh cáo cài sẵn warning_preset_id: Tùy chọn. Bạn vẫn có thể thêm ghi chú bên dưới cảnh cáo cài sẵn
announcement: announcement:
all_day: Chỉ có khoảng thời gian được đánh dấu mới hiển thị all_day: Chỉ có khoảng thời gian được đánh dấu mới hiển thị
ends_at: Tùy chọn. Thông báo sẽ tự động hủy vào lúc này ends_at: Tùy chọn. Thông báo sẽ tự động hủy vào lúc này
@ -22,30 +22,30 @@ vi:
starts_at: Tùy chọn. Trong trường hợp thông báo của bạn đăng vào một khoảng thời gian cụ thể starts_at: Tùy chọn. Trong trường hợp thông báo của bạn đăng vào một khoảng thời gian cụ thể
text: Bạn có thể sử dụng tút dạng cú pháp. Cố gắng ngắn gọn bởi vì thông báo sẽ xuất hiện trên màn hình điện thoại của người dùng text: Bạn có thể sử dụng tút dạng cú pháp. Cố gắng ngắn gọn bởi vì thông báo sẽ xuất hiện trên màn hình điện thoại của người dùng
defaults: defaults:
autofollow: Những người đăng ký thông qua lời mời sẽ tự động theo dõi bạn autofollow: Những người đăng ký sẽ tự động theo dõi bạn
avatar: PNG, GIF hoặc JPG. Kích cỡ tối đa %{size}. Sẽ bị nén xuống %{dimensions}px avatar: PNG, GIF hoặc JPG. Kích cỡ tối đa %{size}. Sẽ bị nén xuống %{dimensions}px
bot: Tài khoản này tự động thực hiện các hành động và không cần thiết theo dõi bot: Tài khoản này tự động thực hiện các hành động và không cần thiết theo dõi
context: Một hoặc nhiều bối cảnh nơi bộ lọc nên áp dụng context: Một hoặc nhiều bối cảnh nơi bộ lọc nên áp dụng
current_password: Vì mục đích bảo mật, vui lòng nhập mật khẩu của tài khoản hiện tại current_password: Vì mục đích bảo mật, vui lòng nhập mật khẩu của tài khoản hiện tại
current_username: Để xác nhận, vui lòng nhập tên người dùng của tài khoản hiện tại current_username: Để xác nhận, vui lòng nhập tên người dùng của tài khoản hiện tại
digest: Chỉ được gửi sau một thời gian dài không hoạt động và chỉ khi bạn đã nhận được bất kỳ tin nhắn cá nhân nào khi bạn vắng mặt digest: Chỉ gửi sau một thời gian dài không hoạt động hoặc khi bạn nhận được bất kỳ tin nhắn cá nhân nào trong lúc vắng mặt
discoverable: Danh sách thành viên là một cách hay để bạn tìm kiếm người bạn muốn theo dõi discoverable: Danh sách thành viên là một cách hay để bạn tìm kiếm người bạn muốn theo dõi
email: Bạn sẽ được gửi một email xác nhận email: Bạn sẽ được gửi một email xác nhận
fields: Bạn có thể tạo tối đa 4 mục được hiển thị dưới dạng bảng trên hồ sơ của bạn fields: Được tạo tối đa 4 mục hiển thị dưới dạng bảng trên trang cá nhân của bạn
header: PNG, GIF hoặc JPG. Kích cỡ tối đa %{size}. Sẽ bị nén xuống %{dimensions}px header: PNG, GIF hoặc JPG. Kích cỡ tối đa %{size}. Sẽ bị nén xuống %{dimensions}px
inbox_url: Sao chép URL của relay mà bạn muốn sử dụng inbox_url: Sao chép URL của relay mà bạn muốn sử dụng
irreversible: Các tút đã lọc sẽ không thể phục hồi, kể cả khi bộ lọc có bị xóa irreversible: Các tút đã lọc sẽ không thể phục hồi, kể cả khi bộ lọc có bị xóa
locale: Ngôn ngữ của giao diện, email và thông báo đẩy locale: Ngôn ngữ của giao diện, email và thông báo đẩy
locked: Yêu cầu bạn chấp thuận thủ công người theo dõi locked: Tự bạn sẽ phê duyệt người theo dõi
password: Sử dụng ít nhất 8 ký tự password: Sử dụng ít nhất 8 ký tự
phrase: Sẽ được hiện thị trong văn bản hoặc cảnh báo nội dung của một tút phrase: Sẽ được hiện thị trong văn bản hoặc cảnh báo nội dung của một tút
scopes: API nào ứng dụng sẽ được phép truy cập. Nếu bạn chọn phạm vi cấp cao nhất, bạn không cần chọn từng phạm vi. scopes: API nào ứng dụng sẽ được phép truy cập. Nếu bạn chọn phạm vi cấp cao nhất, bạn không cần chọn từng phạm vi.
setting_aggregate_reblogs: Đừng hiện những chia sẻ mới cho những tút đã chia sẻ gần đây (chỉ ảnh hưởng đến các chia sẻ mới) setting_aggregate_reblogs: n những chia sẻ mới cho những tút đã chia sẻ gần đây (chỉ ảnh hưởng đến các chia sẻ mới)
setting_default_sensitive: Ảnh/video/âm thanh nhạy cảm được ẩn theo mặc định và chỉ hiển thị nếu nhấp chuột setting_default_sensitive: Ảnh/video/âm thanh nhạy cảm được ẩn theo mặc định và chỉ hiển thị nếu nhấp chuột
setting_display_media_default: Ẩn ảnh hoặc video được đánh dấu là nhạy cảm setting_display_media_default: Làm mờ những thứ được đánh dấu là nhạy cảm
setting_display_media_hide_all: Luôn ẩn ảnh và video setting_display_media_hide_all: Luôn luôn ẩn
setting_display_media_show_all: Luôn hiện ảnh và video setting_display_media_show_all: Luôn luôn hiển thị
setting_hide_network: Bạn theo dõi ai và ai theo dõi bạn sẽ không được hiển thị trên hồ sơ của bạn setting_hide_network: Ẩn những người bạn theo dõi và những người theo dõi bạn trên trang cá nhân
setting_noindex: Ảnh hưởng đến trang cá nhân và tút của bạn setting_noindex: Ảnh hưởng đến trang cá nhân và tút của bạn
setting_show_application: Tên ứng dụng bạn sử dụng để đăng tút sẽ được hiển thị trong chi tiết bài đăng setting_show_application: Tên ứng dụng bạn sử dụng để đăng tút sẽ được hiển thị trong chi tiết bài đăng
setting_use_blurhash: Hình ảnh mờ dựa trên màu sắc của hình ảnh nhạy cảm nhưng sẽ che hết chi tiết setting_use_blurhash: Hình ảnh mờ dựa trên màu sắc của hình ảnh nhạy cảm nhưng sẽ che hết chi tiết
@ -64,13 +64,13 @@ vi:
imports: imports:
data: Tệp CSV được xuất từ máy chủ Mastodon khác data: Tệp CSV được xuất từ máy chủ Mastodon khác
invite_request: invite_request:
text: Điều này sẽ giúp chúng tôi xem xét lời mời của bạn text: Điều này sẽ giúp chúng tôi phê duyệt đăng ký của bạn
sessions: sessions:
otp: 'Nhập mã xác thực hai yếu tố được tạo bởi ứng dụng điện thoại của bạn hoặc sử dụng một trong các mã khôi phục của bạn:' otp: 'Nhập mã xác thực hai yếu tố được tạo bởi ứng dụng điện thoại của bạn hoặc sử dụng một trong các mã khôi phục của bạn:'
tag: tag:
name: Bạn có thể thay đổi cách viết hoa các chữ cái để giúp nó dễ đọc hơn name: Bạn có thể thay đổi cách viết hoa các chữ cái để giúp nó dễ đọc hơn
user: user:
chosen_languages: Chỉ những tút viết bằng các ngôn ngữ được chọn sẽ được hiển thị trên bảng tin chosen_languages: Chỉ những tút viết bằng các ngôn ngữ được chọn sẽ hiển thị trên bảng tin
labels: labels:
account: account:
fields: fields:
@ -85,15 +85,15 @@ vi:
title: Tựa đề title: Tựa đề
admin_account_action: admin_account_action:
include_statuses: Đính kèm những tút bị báo xấu trong e-mail include_statuses: Đính kèm những tút bị báo xấu trong e-mail
send_email_notification: Thông báo cho người dùng mỗi email send_email_notification: Thông báo cho người này qua email
text: Tùy chỉnh cảnh báo text: Ghi chú cảnh cáo
type: Hoạt động type: Hành động
types: types:
disable: Vô hiệu hóa đăng nhập disable: Vô hiệu hóa đăng nhập
none: Không làm gì cả none: Không làm gì cả
silence: Im lặng silence: Tạm ẩn
suspend: Đình chỉ và xóa dữ liệu tài khoản suspend: Đình chỉ và xóa dữ liệu tài khoản
warning_preset_id: Sử dụng cảnh báo cài đặt trước warning_preset_id: Sử dụng cảnh cáo cài sẵn
announcement: announcement:
all_day: Sự kiện diễn ra hằng ngày all_day: Sự kiện diễn ra hằng ngày
ends_at: Kết thúc sự kiện ends_at: Kết thúc sự kiện
@ -103,7 +103,7 @@ vi:
defaults: defaults:
autofollow: Mời theo dõi tài khoản của bạn autofollow: Mời theo dõi tài khoản của bạn
avatar: Ảnh đại diện avatar: Ảnh đại diện
bot: Đây là tài khoản bot bot: Đây là tài khoản Bot
chosen_languages: Chọn ngôn ngữ chosen_languages: Chọn ngôn ngữ
confirm_new_password: Xác nhận mật khẩu mới confirm_new_password: Xác nhận mật khẩu mới
confirm_password: Xác nhận mật khẩu confirm_password: Xác nhận mật khẩu
@ -114,12 +114,12 @@ vi:
display_name: Tên hiển thị display_name: Tên hiển thị
email: Địa chỉ email email: Địa chỉ email
expires_in: Hết hạn sau expires_in: Hết hạn sau
fields: Hồ sơ metadata fields: Metadata
header: Ảnh bìa header: Ảnh bìa
inbox_url: URL của hộp thư relay inbox_url: Hộp thư relay
irreversible: Kéo xuống thay vì ẩn irreversible: Kéo xuống thay vì ẩn
locale: Ngôn ngữ locale: Ngôn ngữ
locked: Khóa tài khoản locked: Đây là tài khoản khóa
max_uses: Số lần sử dụng tối đa max_uses: Số lần sử dụng tối đa
new_password: Mật khẩu mới new_password: Mật khẩu mới
note: Tiểu sử note: Tiểu sử
@ -127,20 +127,20 @@ vi:
password: Mật khẩu password: Mật khẩu
phrase: Từ khóa hoặc cụm từ phrase: Từ khóa hoặc cụm từ
setting_advanced_layout: Kích hoạt giao diện web nâng cao setting_advanced_layout: Kích hoạt giao diện web nâng cao
setting_aggregate_reblogs: Hiện tút nhóm trong bảng tin setting_aggregate_reblogs: Lượt chia sẻ trong bảng tin
setting_auto_play_gif: Tự động phát GIF setting_auto_play_gif: Tự động phát GIF
setting_boost_modal: Yêu cầu xác nhận trước khi chia sẻ tút setting_boost_modal: Yêu cầu xác nhận trước khi chia sẻ tút
setting_crop_images: Hiển thị ảnh theo tỉ lệ 16x9 setting_crop_images: Hiển thị ảnh theo tỉ lệ 16x9
setting_default_language: Ngôn ngữ đăng setting_default_language: Ngôn ngữ đăng
setting_default_privacy: Kiểu đăng setting_default_privacy: Kiểu đăng
setting_default_sensitive: Luôn đánh dấu ảnh/video là nhạy cảm setting_default_sensitive: Luôn đánh dấu ảnh/video là nội dung nhạy cảm
setting_delete_modal: Yêu cầu xác nhận trước khi xóa tút setting_delete_modal: Yêu cầu xác nhận trước khi xóa tút
setting_display_media: Hiện ảnh/video setting_display_media: Nội dung nhạy cảm
setting_display_media_default: Mặc định setting_display_media_default: Mặc định
setting_display_media_hide_all: Ẩn toàn bộ setting_display_media_hide_all: Ẩn toàn bộ
setting_display_media_show_all: Hiện toàn bộ setting_display_media_show_all: Hiện toàn bộ
setting_expand_spoilers: Luôn hiện trước các tút đánh dấu là spoil setting_expand_spoilers: Luôn hiển thị toàn bộ tút (no spoiler)
setting_hide_network: Ẩn máy chủ của bạn setting_hide_network: Ẩn kết nối của bạn
setting_noindex: Không xuất hiện trong công cụ tìm kiếm setting_noindex: Không xuất hiện trong công cụ tìm kiếm
setting_reduce_motion: Giảm chuyển động ảnh GIF setting_reduce_motion: Giảm chuyển động ảnh GIF
setting_show_application: Hiện ứng dụng được sử dụng để đăng tút setting_show_application: Hiện ứng dụng được sử dụng để đăng tút
@ -152,7 +152,7 @@ vi:
setting_use_pending_items: Không tự động cập nhật bảng tin setting_use_pending_items: Không tự động cập nhật bảng tin
severity: Mức độ nghiêm trọng severity: Mức độ nghiêm trọng
sign_in_token_attempt: Mã an toàn sign_in_token_attempt: Mã an toàn
type: Nhập loại type: Kiểu nhập
username: Tên người dùng username: Tên người dùng
username_or_email: Tên người dùng hoặc email username_or_email: Tên người dùng hoặc email
whole_word: Cả từ whole_word: Cả từ
@ -170,7 +170,7 @@ vi:
text: Tại sao bạn muốn tham gia? text: Tại sao bạn muốn tham gia?
notification_emails: notification_emails:
digest: Gửi email định kỳ digest: Gửi email định kỳ
favourite: Ai đó tâm đắc tút của bạn favourite: Ai đó thích tút của bạn
follow: Ai đó theo dõi bạn follow: Ai đó theo dõi bạn
follow_request: Ai đó yêu cầu theo dõi bạn follow_request: Ai đó yêu cầu theo dõi bạn
mention: Ai đó nhắc đến bạn mention: Ai đó nhắc đến bạn
@ -183,9 +183,9 @@ vi:
name: Hashtag name: Hashtag
trendable: Cho phép hashtag này xuất hiện trong xu hướng trendable: Cho phép hashtag này xuất hiện trong xu hướng
usable: Cho phép các tút sử dụng hashtag này usable: Cho phép các tút sử dụng hashtag này
'no': Không 'no': Tắt
recommended: Khuyến nghị recommended: Khuyến nghị
required: required:
mark: "*" mark: "*"
text: yêu cầu text: yêu cầu
'yes': Đúng 'yes': Bật

View file

@ -35,9 +35,11 @@ th:
unavailable_content_description: unavailable_content_description:
domain: เซิร์ฟเวอร์ domain: เซิร์ฟเวอร์
reason: เหตุผล reason: เหตุผล
rejecting_media: 'ไฟล์สื่อจากเซิร์ฟเวอร์เหล่านี้จะไม่ได้รับการประมวลผลหรือจัดเก็บ และจะไม่แสดงภาพขนาดย่อ ต้องมีการคลิกไปยังไฟล์ต้นฉบับด้วยตนเอง:' rejecting_media: 'จะไม่ประมวลผลหรือจัดเก็บไฟล์สื่อจากเซิร์ฟเวอร์เหล่านี้ และจะไม่แสดงภาพขนาดย่อ ต้องมีการคลิกไปยังไฟล์ต้นฉบับด้วยตนเอง:'
rejecting_media_title: สื่อที่กรองอยู่ rejecting_media_title: สื่อที่กรองอยู่
silenced: 'จะซ่อนโพสต์จากเซิร์ฟเวอร์เหล่านี้ในเส้นเวลาสาธารณะและการสนทนา และจะไม่สร้างการแจ้งเตือนจากการโต้ตอบของผู้ใช้ เว้นแต่คุณกำลังติดตามผู้ใช้:'
silenced_title: เซิร์ฟเวอร์ที่เงียบอยู่ silenced_title: เซิร์ฟเวอร์ที่เงียบอยู่
suspended: 'จะไม่ประมวลผล จัดเก็บ หรือแลกเปลี่ยนข้อมูลจากเซิร์ฟเวอร์เหล่านี้ ทำให้การโต้ตอบหรือการสื่อสารใด ๆ กับผู้ใช้จากเซิร์ฟเวอร์เหล่านี้เป็นไปไม่ได้:'
suspended_title: เซิร์ฟเวอร์ที่ระงับอยู่ suspended_title: เซิร์ฟเวอร์ที่ระงับอยู่
user_count_after: user_count_after:
other: ผู้ใช้ other: ผู้ใช้
@ -74,13 +76,14 @@ th:
admin: admin:
account_actions: account_actions:
action: ทำการกระทำ action: ทำการกระทำ
title: ทำการกระทำการควบคุม %{acct}
account_moderation_notes: account_moderation_notes:
create: เขียนหมายเหตุ create: เขียนหมายเหตุ
created_msg: สร้างหมายเหตุการควบคุมสำเร็จ! created_msg: สร้างหมายเหตุการควบคุมสำเร็จ!
delete: ลบ delete: ลบ
destroyed_msg: ทำลายหมายเหตุการควบคุมสำเร็จ! destroyed_msg: ทำลายหมายเหตุการควบคุมสำเร็จ!
accounts: accounts:
add_email_domain_block: ขึ้นบัญชีดำโดเมนอีเมล add_email_domain_block: ปิดกั้นโดเมนอีเมล
approve: อนุมัติ approve: อนุมัติ
approve_all: อนุมัติทั้งหมด approve_all: อนุมัติทั้งหมด
are_you_sure: คุณแน่ใจหรือไม่? are_you_sure: คุณแน่ใจหรือไม่?
@ -133,6 +136,7 @@ th:
moderation_notes: หมายเหตุการควบคุม moderation_notes: หมายเหตุการควบคุม
most_recent_activity: กิจกรรมล่าสุด most_recent_activity: กิจกรรมล่าสุด
most_recent_ip: IP ล่าสุด most_recent_ip: IP ล่าสุด
no_limits_imposed: ไม่มีขีดจำกัดที่กำหนด
not_subscribed: ไม่ได้บอกรับ not_subscribed: ไม่ได้บอกรับ
pending: การตรวจทานที่รอดำเนินการ pending: การตรวจทานที่รอดำเนินการ
perform_full_suspension: ระงับ perform_full_suspension: ระงับ
@ -178,7 +182,7 @@ th:
username: ชื่อผู้ใช้ username: ชื่อผู้ใช้
warn: เตือน warn: เตือน
web: เว็บ web: เว็บ
whitelisted: ขึ้นบัญชีขาวแล้ว whitelisted: อนุญาตการติดต่อกับภายนอกแล้ว
action_logs: action_logs:
action_types: action_types:
assigned_to_self_report: มอบหมายรายงาน assigned_to_self_report: มอบหมายรายงาน
@ -217,20 +221,21 @@ th:
update_custom_emoji: อัปเดตอีโมจิที่กำหนดเอง update_custom_emoji: อัปเดตอีโมจิที่กำหนดเอง
update_status: อัปเดตสถานะ update_status: อัปเดตสถานะ
actions: actions:
assigned_to_self_report: "%{name} ได้มอบหมายรายงาน %{target} ให้กับตนเอง"
change_email_user: "%{name} ได้เปลี่ยนที่อยู่อีเมลของผู้ใช้ %{target}" change_email_user: "%{name} ได้เปลี่ยนที่อยู่อีเมลของผู้ใช้ %{target}"
confirm_user: "%{name} ได้ยืนยันที่อยู่อีเมลของผู้ใช้ %{target}" confirm_user: "%{name} ได้ยืนยันที่อยู่อีเมลของผู้ใช้ %{target}"
create_account_warning: "%{name} ได้ส่งคำเตือนไปยัง %{target}" create_account_warning: "%{name} ได้ส่งคำเตือนไปยัง %{target}"
create_announcement: "%{name} ได้สร้างประกาศใหม่ %{target}" create_announcement: "%{name} ได้สร้างประกาศใหม่ %{target}"
create_custom_emoji: "%{name} ได้อัปโหลดอีโมจิใหม่ %{target}" create_custom_emoji: "%{name} ได้อัปโหลดอีโมจิใหม่ %{target}"
create_domain_allow: "%{name} ได้ขึ้นบัญชีขาวโดเมน %{target}" create_domain_allow: "%{name} ได้อนุญาตการติดต่อกับภายนอกกับโดเมน %{target}"
create_domain_block: "%{name} ได้ปิดกั้นโดเมน %{target}" create_domain_block: "%{name} ได้ปิดกั้นโดเมน %{target}"
create_email_domain_block: "%{name} ได้ขึ้นบัญชีดำโดเมนอีเมล %{target}" create_email_domain_block: "%{name} ได้ปิดกั้นโดเมนอีเมล %{target}"
demote_user: "%{name} ได้ลดขั้นผู้ใช้ %{target}" demote_user: "%{name} ได้ลดขั้นผู้ใช้ %{target}"
destroy_announcement: "%{name} ได้ลบประกาศ %{target}" destroy_announcement: "%{name} ได้ลบประกาศ %{target}"
destroy_custom_emoji: "%{name} ได้ทำลายอีโมจิ %{target}" destroy_custom_emoji: "%{name} ได้ทำลายอีโมจิ %{target}"
destroy_domain_allow: "%{name} ได้เอาโดเมน %{target} ออกจากบัญชีขาว" destroy_domain_allow: "%{name} ได้ไม่อนุญาตการติดต่อกับภายนอกกับโดเมน %{target}"
destroy_domain_block: "%{name} ได้เลิกปิดกั้นโดเมน %{target}" destroy_domain_block: "%{name} ได้เลิกปิดกั้นโดเมน %{target}"
destroy_email_domain_block: "%{name} ได้ขึ้นบัญชีขาวโดเมนอีเมล %{target}" destroy_email_domain_block: "%{name} ได้เลิกปิดกั้นโดเมนอีเมล %{target}"
destroy_status: "%{name} ได้เอาสถานะโดย %{target} ออก" destroy_status: "%{name} ได้เอาสถานะโดย %{target} ออก"
disable_2fa_user: "%{name} ได้ปิดใช้งานความต้องการสองปัจจัยสำหรับผู้ใช้ %{target}" disable_2fa_user: "%{name} ได้ปิดใช้งานความต้องการสองปัจจัยสำหรับผู้ใช้ %{target}"
disable_custom_emoji: "%{name} ได้ปิดใช้งานอีโมจิ %{target}" disable_custom_emoji: "%{name} ได้ปิดใช้งานอีโมจิ %{target}"
@ -327,12 +332,12 @@ th:
week_interactions: การโต้ตอบในสัปดาห์นี้ week_interactions: การโต้ตอบในสัปดาห์นี้
week_users_active: ใช้งานอยู่ในสัปดาห์นี้ week_users_active: ใช้งานอยู่ในสัปดาห์นี้
week_users_new: ผู้ใช้ในสัปดาห์นี้ week_users_new: ผู้ใช้ในสัปดาห์นี้
whitelist_mode: โหมดบัญชีขาว whitelist_mode: โหมดการติดต่อกับภายนอกแบบจำกัด
domain_allows: domain_allows:
add_new: ขึ้นบัญชีขาวโดเมน add_new: อนุญาตการติดต่อกับภายนอกกับโดเมน
created_msg: ขึ้นบัญชีขาวโดเมนสำเร็จ created_msg: อนุญาตการติดต่อกับภายนอกกับโดเมนสำเร็จ
destroyed_msg: เอาโดเมนออกจากบัญชีขาวแล้ว destroyed_msg: ไม่อนุญาตการติดต่อกับภายนอกกับโดเมนแล้ว
undo: เอาออกจากบัญชีขาว undo: ไม่อนุญาตการติดต่อกับภายนอกกับโดเมน
domain_blocks: domain_blocks:
add_new: เพิ่มการปิดกั้นโดเมนใหม่ add_new: เพิ่มการปิดกั้นโดเมนใหม่
created_msg: กำลังประมวลผลการปิดกั้นโดเมน created_msg: กำลังประมวลผลการปิดกั้นโดเมน
@ -353,6 +358,8 @@ th:
reject_media: ปฏิเสธไฟล์สื่อ reject_media: ปฏิเสธไฟล์สื่อ
reject_media_hint: เอาไฟล์สื่อที่จัดเก็บไว้ในเซิร์ฟเวอร์ออกและปฏิเสธที่จะดาวน์โหลดไฟล์ใด ๆ ในอนาคต ไม่เกี่ยวข้องกับการระงับ reject_media_hint: เอาไฟล์สื่อที่จัดเก็บไว้ในเซิร์ฟเวอร์ออกและปฏิเสธที่จะดาวน์โหลดไฟล์ใด ๆ ในอนาคต ไม่เกี่ยวข้องกับการระงับ
reject_reports: ปฏิเสธรายงาน reject_reports: ปฏิเสธรายงาน
rejecting_media: กำลังปฏิเสธไฟล์สื่อ
rejecting_reports: กำลังปฏิเสธรายงาน
severity: severity:
silence: เงียบอยู่ silence: เงียบอยู่
suspend: ระงับอยู่ suspend: ระงับอยู่
@ -368,16 +375,16 @@ th:
view: ดูการปิดกั้นโดเมน view: ดูการปิดกั้นโดเมน
email_domain_blocks: email_domain_blocks:
add_new: เพิ่มใหม่ add_new: เพิ่มใหม่
created_msg: เพิ่มโดเมนอีเมลเป็นบัญชีดำสำเร็จ created_msg: ปิดกั้นโดเมนอีเมลสำเร็จ
delete: ลบ delete: ลบ
destroyed_msg: ลบโดเมนอีเมลออกจากบัญชีดำสำเร็จ destroyed_msg: เลิกปิดกั้นโดเมนอีเมลสำเร็จ
domain: โดเมน domain: โดเมน
empty: ไม่มีโดเมนอีเมลที่ขึ้นบัญชีดำอยู่ empty: ไม่มีโดเมนอีเมลที่ปิดกั้นอยู่
from_html: จาก %{domain} from_html: จาก %{domain}
new: new:
create: เพิ่มโดเมน create: เพิ่มโดเมน
title: รายการบัญชีดำอีเมลใหม่ title: ปิดกั้นโดเมนอีเมลใหม่
title: บัญชีดำอีเมล title: โดเมนอีเมลที่ปิดกั้นอยู่
instances: instances:
by_domain: โดเมน by_domain: โดเมน
known_accounts: known_accounts:
@ -456,6 +463,8 @@ th:
username: ชื่อผู้ใช้ในการติดต่อ username: ชื่อผู้ใช้ในการติดต่อ
custom_css: custom_css:
title: CSS ที่กำหนดเอง title: CSS ที่กำหนดเอง
default_noindex:
desc_html: มีผลต่อผู้ใช้ทั้งหมดที่ไม่ได้เปลี่ยนการตั้งค่านี้ด้วยตนเอง
domain_blocks: domain_blocks:
all: ให้กับทุกคน all: ให้กับทุกคน
disabled: ให้กับไม่มีใคร disabled: ให้กับไม่มีใคร
@ -472,6 +481,8 @@ th:
peers_api_enabled: peers_api_enabled:
desc_html: ชื่อโดเมนที่เซิร์ฟเวอร์นี้ได้พบในเฟดิเวิร์ส desc_html: ชื่อโดเมนที่เซิร์ฟเวอร์นี้ได้พบในเฟดิเวิร์ส
title: เผยแพร่รายการเซิร์ฟเวอร์ที่ค้นพบ title: เผยแพร่รายการเซิร์ฟเวอร์ที่ค้นพบ
preview_sensitive_media:
title: แสดงสื่อที่ละเอียดอ่อนในตัวอย่าง OpenGraph
profile_directory: profile_directory:
desc_html: อนุญาตให้ผู้ใช้สามารถค้นพบได้ desc_html: อนุญาตให้ผู้ใช้สามารถค้นพบได้
title: เปิดใช้งานไดเรกทอรีโปรไฟล์ title: เปิดใช้งานไดเรกทอรีโปรไฟล์
@ -512,6 +523,8 @@ th:
desc_html: แสดงลิงก์ไปยังเส้นเวลาสาธารณะในหน้าเริ่มต้นและอนุญาตการเข้าถึง API ไปยังเส้นเวลาสาธารณะโดยไม่มีการรับรองความถูกต้อง desc_html: แสดงลิงก์ไปยังเส้นเวลาสาธารณะในหน้าเริ่มต้นและอนุญาตการเข้าถึง API ไปยังเส้นเวลาสาธารณะโดยไม่มีการรับรองความถูกต้อง
title: อนุญาตการเข้าถึงเส้นเวลาสาธารณะที่ไม่ได้รับรองความถูกต้อง title: อนุญาตการเข้าถึงเส้นเวลาสาธารณะที่ไม่ได้รับรองความถูกต้อง
title: การตั้งค่าไซต์ title: การตั้งค่าไซต์
trendable_by_default:
desc_html: มีผลต่อแฮชแท็กที่ไม่ได้ไม่อนุญาตก่อนหน้านี้
trends: trends:
title: แฮชแท็กที่กำลังนิยม title: แฮชแท็กที่กำลังนิยม
site_uploads: site_uploads:
@ -580,6 +593,8 @@ th:
created: สร้างแอปพลิเคชันสำเร็จ created: สร้างแอปพลิเคชันสำเร็จ
destroyed: ลบแอปพลิเคชันสำเร็จ destroyed: ลบแอปพลิเคชันสำเร็จ
invalid_url: URL ที่ระบุไม่ถูกต้อง invalid_url: URL ที่ระบุไม่ถูกต้อง
regenerate_token: สร้างโทเคนการเข้าถึงใหม่
token_regenerated: สร้างโทเคนการเข้าถึงใหม่สำเร็จ
your_token: โทเคนการเข้าถึงของคุณ your_token: โทเคนการเข้าถึงของคุณ
auth: auth:
apply_for_account: ขอคำเชิญ apply_for_account: ขอคำเชิญ
@ -588,6 +603,7 @@ th:
checkbox_agreement_without_rules_html: ฉันยอมรับ <a href="%{terms_path}" target="_blank">เงื่อนไขการให้บริการ</a> checkbox_agreement_without_rules_html: ฉันยอมรับ <a href="%{terms_path}" target="_blank">เงื่อนไขการให้บริการ</a>
delete_account: ลบบัญชี delete_account: ลบบัญชี
description: description:
prefix_invited_by_user: "@%{name} เชิญคุณเข้าร่วมเซิร์ฟเวอร์ Mastodon นี้!"
prefix_sign_up: ลงทะเบียนใน Mastodon วันนี้! prefix_sign_up: ลงทะเบียนใน Mastodon วันนี้!
didnt_get_confirmation: ไม่ได้รับคำแนะนำการยืนยัน? didnt_get_confirmation: ไม่ได้รับคำแนะนำการยืนยัน?
forgot_password: ลืมรหัสผ่านของคุณ? forgot_password: ลืมรหัสผ่านของคุณ?
@ -603,6 +619,9 @@ th:
reset_password: ตั้งรหัสผ่านใหม่ reset_password: ตั้งรหัสผ่านใหม่
security: ความปลอดภัย security: ความปลอดภัย
set_new_password: ตั้งรหัสผ่านใหม่ set_new_password: ตั้งรหัสผ่านใหม่
setup:
email_below_hint_html: หากที่อยู่อีเมลด้านล่างไม่ถูกต้อง คุณสามารถเปลี่ยนที่อยู่อีเมลที่นี่และรับอีเมลยืนยันใหม่
email_settings_hint_html: ส่งอีเมลยืนยันไปยัง %{email} แล้ว หากที่อยู่อีเมลนั้นไม่ถูกต้อง คุณสามารถเปลี่ยนที่อยู่อีเมลในการตั้งค่าบัญชี
status: status:
account_status: สถานะบัญชี account_status: สถานะบัญชี
confirming: กำลังรอการยืนยันอีเมลให้เสร็จสมบูรณ์ confirming: กำลังรอการยืนยันอีเมลให้เสร็จสมบูรณ์
@ -673,6 +692,7 @@ th:
title: การตรวจสอบความปลอดภัยล้มเหลว title: การตรวจสอบความปลอดภัยล้มเหลว
'429': คำขอมากเกินไป '429': คำขอมากเกินไป
'500': '500':
content: เราขออภัย แต่มีบางอย่างผิดพลาดในส่วนของเรา
title: หน้านี้ไม่ถูกต้อง title: หน้านี้ไม่ถูกต้อง
'503': The page could not be served due to a temporary server failure. '503': The page could not be served due to a temporary server failure.
existing_username_validator: existing_username_validator:
@ -724,12 +744,15 @@ th:
identity_proofs: identity_proofs:
active: ใช้งานอยู่ active: ใช้งานอยู่
authorize: ใช่ อนุญาต authorize: ใช่ อนุญาต
i_am_html: ฉันคือ %{username} ใน %{service}
identity: ตัวตน identity: ตัวตน
inactive: ไม่ได้ใช้งาน inactive: ไม่ได้ใช้งาน
publicize_checkbox: 'และโพสต์สิ่งนี้:' publicize_checkbox: 'และโพสต์สิ่งนี้:'
publicize_toot: 'พิสูจน์ตัวตนแล้ว! ฉันคือ %{username} ใน %{service}: %{url}'
remove: เอาการพิสูจน์ออกจากบัญชี remove: เอาการพิสูจน์ออกจากบัญชี
removed: เอาการพิสูจน์ออกจากบัญชีสำเร็จ removed: เอาการพิสูจน์ออกจากบัญชีสำเร็จ
status: สถานะการตรวจสอบ status: สถานะการตรวจสอบ
view_proof: ดูการพิสูจน์
imports: imports:
modes: modes:
merge: ผสาน merge: ผสาน
@ -995,6 +1018,7 @@ th:
enabled_success: เปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยสำเร็จ enabled_success: เปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยสำเร็จ
generate_recovery_codes: สร้างรหัสกู้คืน generate_recovery_codes: สร้างรหัสกู้คืน
recovery_codes: รหัสกู้คืนข้อมูลสำรอง recovery_codes: รหัสกู้คืนข้อมูลสำรอง
recovery_codes_regenerated: สร้างรหัสกู้คืนใหม่สำเร็จ
setup: ตั้งค่า setup: ตั้งค่า
wrong_code: รหัสที่ป้อนไม่ถูกต้อง! เวลาเซิร์ฟเวอร์และเวลาอุปกรณ์ถูกต้องหรือไม่? wrong_code: รหัสที่ป้อนไม่ถูกต้อง! เวลาเซิร์ฟเวอร์และเวลาอุปกรณ์ถูกต้องหรือไม่?
user_mailer: user_mailer:

File diff suppressed because one or more lines are too long

View file

@ -38,7 +38,7 @@ zh-CN:
reason: 原因 reason: 原因
rejecting_media: 来自这些服务器的媒体文件将不会被处理或存储,缩略图也不会显示,需要手动点击打开原始文件。 rejecting_media: 来自这些服务器的媒体文件将不会被处理或存储,缩略图也不会显示,需要手动点击打开原始文件。
rejecting_media_title: 被过滤的媒体文件 rejecting_media_title: 被过滤的媒体文件
silenced: 来自这些服务器上的帖子将不会出现在公共时间线和会话中;此外,除非你关注了这些服务器上的用户,否则这些用户的互动不会产生通知 silenced: 来自这些服务器上的帖子将不会出现在公共时间轴和会话中,通知功能也不会提醒这些用户的动态;只有你关注了这些用户,才会收到用户互动的通知消息
silenced_title: 已隐藏的服务器 silenced_title: 已隐藏的服务器
suspended: 这些服务器的数据将不会被处理、存储或者交换,本站也将无法和来自这些服务器的用户互动或者交流。 suspended: 这些服务器的数据将不会被处理、存储或者交换,本站也将无法和来自这些服务器的用户互动或者交流。
suspended_title: 已封禁的服务器 suspended_title: 已封禁的服务器
@ -142,7 +142,7 @@ zh-CN:
moderation_notes: 管理员备注 moderation_notes: 管理员备注
most_recent_activity: 最后一次活跃的时间 most_recent_activity: 最后一次活跃的时间
most_recent_ip: 最后一次活跃的 IP 地址 most_recent_ip: 最后一次活跃的 IP 地址
no_account_selected: 因为没有帐号被选择,所以没有更改 no_account_selected: 没有选中帐号,所以无更改
no_limits_imposed: 无限制 no_limits_imposed: 无限制
not_subscribed: 未订阅 not_subscribed: 未订阅
pending: 待审核 pending: 待审核
@ -365,7 +365,7 @@ zh-CN:
noop: noop:
silence: 自动隐藏 silence: 自动隐藏
suspend: 自动封禁 suspend: 自动封禁
title: 添加域名屏蔽 title: 新增域名屏蔽
private_comment: 私密评论 private_comment: 私密评论
private_comment_hint: 给这一域名限制添加备注,供监察员内部使用 private_comment_hint: 给这一域名限制添加备注,供监察员内部使用
public_comment: 公开评论 public_comment: 公开评论
@ -391,7 +391,7 @@ zh-CN:
view: 查看域名屏蔽 view: 查看域名屏蔽
email_domain_blocks: email_domain_blocks:
add_new: 添加新条目 add_new: 添加新条目
created_msg: 电子邮件域名屏蔽添加成功 created_msg: 成功屏蔽电子邮件域名
delete: 删除 delete: 删除
destroyed_msg: 电子邮件域名屏蔽删除成功 destroyed_msg: 电子邮件域名屏蔽删除成功
domain: 域名 domain: 域名
@ -408,7 +408,7 @@ zh-CN:
other: "%{count} 个已知帐户" other: "%{count} 个已知帐户"
moderation: moderation:
all: 全部 all: 全部
limited: 受限的 limited: 部分
title: 运营 title: 运营
private_comment: 私密评论 private_comment: 私密评论
public_comment: 公开评论 public_comment: 公开评论
@ -508,7 +508,7 @@ zh-CN:
enable_bootstrap_timeline_accounts: enable_bootstrap_timeline_accounts:
title: 开启新用户默认关注功能 title: 开启新用户默认关注功能
hero: hero:
desc_html: 用于在首页展示。推荐分辨率 600×100px 以上。未指定的情况下将默认使用本站缩略图 desc_html: 将用于在首页展示。推荐使用分辨率 600×100px 以上的图片。如未设置,将默认使用本站缩略图。
title: 主题图片 title: 主题图片
mascot: mascot:
desc_html: 用于在首页展示。推荐分辨率 293×205px 以上。未指定的情况下将使用默认吉祥物。 desc_html: 用于在首页展示。推荐分辨率 293×205px 以上。未指定的情况下将使用默认吉祥物。
@ -517,7 +517,7 @@ zh-CN:
desc_html: 截至目前本服务器在联邦宇宙中已发现的域名 desc_html: 截至目前本服务器在联邦宇宙中已发现的域名
title: 公开已知实例的列表 title: 公开已知实例的列表
preview_sensitive_media: preview_sensitive_media:
desc_html: 始终在站外链接预览中展示缩略图,无论媒体内容是否标记为敏感 desc_html: 无论媒体文件是否标记为敏感内容,站外链接预览始终呈现为缩略图。
title: 在 OpenGraph 预览中显示敏感媒体内容 title: 在 OpenGraph 预览中显示敏感媒体内容
profile_directory: profile_directory:
desc_html: 允许用户被发现 desc_html: 允许用户被发现

View file

@ -17,7 +17,7 @@ module Mastodon
end end
def flags def flags
'rc1' ''
end end
def suffix def suffix

View file

@ -60,11 +60,11 @@
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
"@babel/core": "^7.10.3", "@babel/core": "^7.10.5",
"@babel/plugin-proposal-class-properties": "^7.8.3", "@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/plugin-proposal-decorators": "^7.10.3", "@babel/plugin-proposal-decorators": "^7.10.5",
"@babel/plugin-transform-react-inline-elements": "^7.10.4", "@babel/plugin-transform-react-inline-elements": "^7.10.4",
"@babel/plugin-transform-runtime": "^7.10.4", "@babel/plugin-transform-runtime": "^7.10.5",
"@babel/preset-env": "^7.10.4", "@babel/preset-env": "^7.10.4",
"@babel/preset-react": "^7.10.4", "@babel/preset-react": "^7.10.4",
"@babel/runtime": "^7.8.4", "@babel/runtime": "^7.8.4",
@ -74,7 +74,7 @@
"array-includes": "^3.1.1", "array-includes": "^3.1.1",
"atrament": "0.2.4", "atrament": "0.2.4",
"arrow-key-navigation": "^1.2.0", "arrow-key-navigation": "^1.2.0",
"autoprefixer": "^9.8.0", "autoprefixer": "^9.8.5",
"axios": "^0.19.2", "axios": "^0.19.2",
"babel-loader": "^8.1.0", "babel-loader": "^8.1.0",
"babel-plugin-lodash": "^3.3.4", "babel-plugin-lodash": "^3.3.4",
@ -137,14 +137,14 @@
"react-motion": "^0.5.2", "react-motion": "^0.5.2",
"react-notification": "^6.8.5", "react-notification": "^6.8.5",
"react-overlays": "^0.9.1", "react-overlays": "^0.9.1",
"react-redux": "^7.2.0", "react-redux": "^7.2.1",
"react-redux-loading-bar": "^4.0.8", "react-redux-loading-bar": "^4.0.8",
"react-router-dom": "^4.1.1", "react-router-dom": "^4.1.1",
"react-router-scroll-4": "^1.0.0-beta.1", "react-router-scroll-4": "^1.0.0-beta.1",
"react-select": "^3.1.0", "react-select": "^3.1.0",
"react-sparklines": "^1.7.0", "react-sparklines": "^1.7.0",
"react-swipeable-views": "^0.13.9", "react-swipeable-views": "^0.13.9",
"react-textarea-autosize": "^8.1.1", "react-textarea-autosize": "^8.2.0",
"react-toggle": "^4.1.1", "react-toggle": "^4.1.1",
"redis": "^3.0.2", "redis": "^3.0.2",
"redux": "^4.0.5", "redux": "^4.0.5",
@ -154,7 +154,7 @@
"requestidlecallback": "^0.3.0", "requestidlecallback": "^0.3.0",
"reselect": "^4.0.0", "reselect": "^4.0.0",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"sass": "^1.26.8", "sass": "^1.26.10",
"sass-loader": "^8.0.2", "sass-loader": "^8.0.2",
"stacktrace-js": "^2.0.2", "stacktrace-js": "^2.0.2",
"stringz": "^2.1.0", "stringz": "^2.1.0",
@ -164,7 +164,7 @@
"throng": "^4.0.0", "throng": "^4.0.0",
"tiny-queue": "^0.2.1", "tiny-queue": "^0.2.1",
"uuid": "^8.2.0", "uuid": "^8.2.0",
"webpack": "^4.43.0", "webpack": "^4.44.0",
"webpack-assets-manifest": "^3.1.1", "webpack-assets-manifest": "^3.1.1",
"webpack-bundle-analyzer": "^3.8.0", "webpack-bundle-analyzer": "^3.8.0",
"webpack-cli": "^3.3.12", "webpack-cli": "^3.3.12",
@ -173,21 +173,21 @@
}, },
"devDependencies": { "devDependencies": {
"@testing-library/jest-dom": "^5.11.0", "@testing-library/jest-dom": "^5.11.0",
"@testing-library/react": "^10.4.3", "@testing-library/react": "^10.4.7",
"babel-eslint": "^10.1.0", "babel-eslint": "^10.1.0",
"babel-jest": "^26.1.0", "babel-jest": "^26.1.0",
"eslint": "^6.8.0", "eslint": "^7.5.0",
"eslint-plugin-import": "~2.21.2", "eslint-plugin-import": "~2.22.0",
"eslint-plugin-jsx-a11y": "~6.3.1", "eslint-plugin-jsx-a11y": "~6.3.1",
"eslint-plugin-promise": "~4.2.1", "eslint-plugin-promise": "~4.2.1",
"eslint-plugin-react": "~7.20.0", "eslint-plugin-react": "~7.20.4",
"jest": "^26.0.1", "jest": "^26.0.1",
"raf": "^3.4.1", "raf": "^3.4.1",
"react-intl-translations-manager": "^5.0.3", "react-intl-translations-manager": "^5.0.3",
"react-test-renderer": "^16.13.1", "react-test-renderer": "^16.13.1",
"sass-lint": "^1.13.1", "sass-lint": "^1.13.1",
"webpack-dev-server": "^3.11.0", "webpack-dev-server": "^3.11.0",
"yargs": "^15.4.0" "yargs": "^15.4.1"
}, },
"resolutions": { "resolutions": {
"kind-of": "^6.0.3" "kind-of": "^6.0.3"

View file

@ -3,6 +3,14 @@ require 'rails_helper'
RSpec.describe ActivityPub::Activity::Reject do RSpec.describe ActivityPub::Activity::Reject do
let(:sender) { Fabricate(:account) } let(:sender) { Fabricate(:account) }
let(:recipient) { Fabricate(:account) } let(:recipient) { Fabricate(:account) }
let(:object_json) do
{
id: 'bar',
type: 'Follow',
actor: ActivityPub::TagManager.instance.uri_for(recipient),
object: ActivityPub::TagManager.instance.uri_for(sender),
}
end
let(:json) do let(:json) do
{ {
@ -10,18 +18,14 @@ RSpec.describe ActivityPub::Activity::Reject do
id: 'foo', id: 'foo',
type: 'Reject', type: 'Reject',
actor: ActivityPub::TagManager.instance.uri_for(sender), actor: ActivityPub::TagManager.instance.uri_for(sender),
object: { object: object_json,
id: 'bar',
type: 'Follow',
actor: ActivityPub::TagManager.instance.uri_for(recipient),
object: ActivityPub::TagManager.instance.uri_for(sender),
},
}.with_indifferent_access }.with_indifferent_access
end end
describe '#perform' do describe '#perform' do
subject { described_class.new(json, sender) } subject { described_class.new(json, sender) }
context 'rejecting a pending follow request by target' do
before do before do
Fabricate(:follow_request, account: recipient, target_account: sender) Fabricate(:follow_request, account: recipient, target_account: sender)
subject.perform subject.perform
@ -36,6 +40,86 @@ RSpec.describe ActivityPub::Activity::Reject do
end end
end end
context 'rejecting a pending follow request by uri' do
before do
Fabricate(:follow_request, account: recipient, target_account: sender, uri: 'bar')
subject.perform
end
it 'does not create a follow relationship' do
expect(recipient.following?(sender)).to be false
end
it 'removes the follow request' do
expect(recipient.requested?(sender)).to be false
end
end
context 'rejecting a pending follow request by uri only' do
let(:object_json) { 'bar' }
before do
Fabricate(:follow_request, account: recipient, target_account: sender, uri: 'bar')
subject.perform
end
it 'does not create a follow relationship' do
expect(recipient.following?(sender)).to be false
end
it 'removes the follow request' do
expect(recipient.requested?(sender)).to be false
end
end
context 'rejecting an existing follow relationship by target' do
before do
Fabricate(:follow, account: recipient, target_account: sender)
subject.perform
end
it 'removes the follow relationship' do
expect(recipient.following?(sender)).to be false
end
it 'does not create a follow request' do
expect(recipient.requested?(sender)).to be false
end
end
context 'rejecting an existing follow relationship by uri' do
before do
Fabricate(:follow, account: recipient, target_account: sender, uri: 'bar')
subject.perform
end
it 'removes the follow relationship' do
expect(recipient.following?(sender)).to be false
end
it 'does not create a follow request' do
expect(recipient.requested?(sender)).to be false
end
end
context 'rejecting an existing follow relationship by uri only' do
let(:object_json) { 'bar' }
before do
Fabricate(:follow, account: recipient, target_account: sender, uri: 'bar')
subject.perform
end
it 'removes the follow relationship' do
expect(recipient.following?(sender)).to be false
end
it 'does not create a follow request' do
expect(recipient.requested?(sender)).to be false
end
end
end
context 'given a relay' do context 'given a relay' do
let!(:relay) { Fabricate(:relay, state: :pending, follow_activity_id: 'https://abc-123/456') } let!(:relay) { Fabricate(:relay, state: :pending, follow_activity_id: 'https://abc-123/456') }

921
yarn.lock

File diff suppressed because it is too large Load diff