diff --git a/.codeclimate.yml b/.codeclimate.yml
index d8d5c0ac7..b4ec9400e 100644
--- a/.codeclimate.yml
+++ b/.codeclimate.yml
@@ -27,7 +27,7 @@ plugins:
enabled: true
eslint:
enabled: true
- channel: eslint-6
+ channel: eslint-7
rubocop:
enabled: true
channel: rubocop-0-82
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 348d1cefc..18790e860 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,7 +3,7 @@ Changelog
All notable changes to this project will be documented in this file.
-## Unreleased
+## [3.2.0] - 2020-07-27
### Added
- 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
- 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 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
- Album art is automatically extracted from audio files
- 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`
- And on `PUT /api/v1/media/:id`
- 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))
- 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
@@ -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 "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 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
@@ -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
- 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 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 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 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))
@@ -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 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 amount of processing retries for ActivityPub activities ([noellabo](https://github.com/tootsuite/mastodon/pull/14355))
### Removed
@@ -84,13 +89,18 @@ All notable changes to this project will be documented in this file.
### 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 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 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 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 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))
@@ -112,7 +122,7 @@ All notable changes to this project will be documented in this file.
- Use circuit breakers to stop hitting unresponsive servers
- 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 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 `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))
@@ -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 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 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
- 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))
diff --git a/Gemfile b/Gemfile
index 3152c00a0..e54b6665a 100644
--- a/Gemfile
+++ b/Gemfile
@@ -11,16 +11,16 @@ gem 'sprockets', '~> 3.7.2'
gem 'thor', '~> 0.20'
gem 'rack', '~> 2.2.3'
-gem 'thwait', '~> 0.1.0'
+gem 'thwait', '~> 0.2.0'
gem 'e2mmap', '~> 0.1.0'
gem 'hamlit-rails', '~> 0.2'
gem 'pg', '~> 1.2'
gem 'makara', '~> 0.4'
-gem 'pghero', '~> 2.5'
+gem 'pghero', '~> 2.6'
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-openstack', '~> 0.3', require: false
gem 'paperclip', '~> 6.0'
@@ -74,7 +74,7 @@ gem 'oj', '~> 3.10'
gem 'ox', '~> 2.13'
gem 'parslet'
gem 'parallel', '~> 1.19'
-gem 'posix-spawn', git: 'https://github.com/rtomayko/posix-spawn', ref: '58465d2e213991f8afb13b984854a49fcdcc980c'
+gem 'posix-spawn'
gem 'pundit', '~> 2.1'
gem 'premailer-rails'
gem 'rack-attack', '~> 6.3'
@@ -86,16 +86,16 @@ gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock'
gem 'rqrcode', '~> 1.1'
gem 'ruby-progressbar', '~> 1.10'
gem 'sanitize', '~> 5.2'
-gem 'sidekiq', '~> 6.0'
+gem 'sidekiq', '~> 6.1'
gem 'sidekiq-scheduler', '~> 3.0'
gem 'sidekiq-unique-jobs', '~> 6.0'
gem 'sidekiq-bulk', '~>0.2.0'
gem 'simple-navigation', '~> 4.1'
gem 'simple_form', '~> 5.0'
gem 'sprockets-rails', '~> 3.2', require: 'sprockets/railtie'
-gem 'stoplight', '~> 2.2.0'
-gem 'strong_migrations', '~> 0.6'
-gem 'tty-prompt', '~> 0.21', require: false
+gem 'stoplight', '~> 2.2.1'
+gem 'strong_migrations', '~> 0.7'
+gem 'tty-prompt', '~> 0.22', require: false
gem 'twitter-text', '~> 1.14'
gem 'tzinfo-data', '~> 1.2020'
gem 'webpacker', '~> 5.1'
@@ -129,7 +129,7 @@ group :test do
gem 'rspec-sidekiq', '~> 3.1'
gem 'simplecov', '~> 0.18', require: false
gem 'webmock', '~> 3.8'
- gem 'parallel_tests', '~> 3.0'
+ gem 'parallel_tests', '~> 3.1'
gem 'rspec_junit_formatter', '~> 0.4'
end
@@ -148,8 +148,8 @@ group :development do
gem 'bundler-audit', '~> 0.7', require: false
gem 'capistrano', '~> 3.14'
- gem 'capistrano-rails', '~> 1.5'
- gem 'capistrano-rbenv', '~> 2.1'
+ gem 'capistrano-rails', '~> 1.6'
+ gem 'capistrano-rbenv', '~> 2.2'
gem 'capistrano-yarn', '~> 2.0'
gem 'stackprof'
diff --git a/Gemfile.lock b/Gemfile.lock
index f0f402304..e9be9fecc 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -6,13 +6,6 @@ GIT
health_check (4.0.0.pre)
rails (>= 4.0)
-GIT
- remote: https://github.com/rtomayko/posix-spawn
- revision: 58465d2e213991f8afb13b984854a49fcdcc980c
- ref: 58465d2e213991f8afb13b984854a49fcdcc980c
- specs:
- posix-spawn (0.3.13)
-
GIT
remote: https://github.com/tmm1/http_parser.rb
revision: 54b17ba8c7d8d20a16dfc65d1775241833219cf2
@@ -92,8 +85,8 @@ GEM
av (0.9.0)
cocaine (~> 0.5.3)
aws-eventstream (1.1.0)
- aws-partitions (1.338.0)
- aws-sdk-core (3.103.0)
+ aws-partitions (1.345.0)
+ aws-sdk-core (3.104.3)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1)
@@ -101,13 +94,13 @@ GEM
aws-sdk-kms (1.36.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
- aws-sdk-s3 (1.73.0)
- aws-sdk-core (~> 3, >= 3.102.1)
+ aws-sdk-s3 (1.75.0)
+ aws-sdk-core (~> 3, >= 3.104.1)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.2.1)
aws-eventstream (~> 1, >= 1.0.2)
- bcrypt (3.1.13)
+ bcrypt (3.1.15)
better_errors (2.7.1)
coderay (>= 1.0.0)
erubi (>= 1.0.0)
@@ -116,7 +109,7 @@ GEM
debug_inspector (>= 0.0.1)
blurhash (0.1.4)
ffi (~> 1.10.0)
- bootsnap (1.4.6)
+ bootsnap (1.4.7)
msgpack (~> 1.0)
brakeman (4.8.2)
browser (4.2.0)
@@ -133,12 +126,12 @@ GEM
i18n
rake (>= 10.0.0)
sshkit (>= 1.9.0)
- capistrano-bundler (1.6.0)
+ capistrano-bundler (2.0.1)
capistrano (~> 3.1)
- capistrano-rails (1.5.0)
+ capistrano-rails (1.6.1)
capistrano (~> 3.1)
- capistrano-bundler (~> 1.1)
- capistrano-rbenv (2.1.6)
+ capistrano-bundler (>= 1.1, < 3)
+ capistrano-rbenv (2.2.0)
capistrano (~> 3.1)
sshkit (~> 1.3)
capistrano-yarn (2.0.2)
@@ -197,10 +190,10 @@ GEM
unf (>= 0.0.5, < 1.0.0)
doorkeeper (5.4.0)
railties (>= 5)
- dotenv (2.7.5)
- dotenv-rails (2.7.5)
- dotenv (= 2.7.5)
- railties (>= 3.2, < 6.1)
+ dotenv (2.7.6)
+ dotenv-rails (2.7.6)
+ dotenv (= 2.7.6)
+ railties (>= 3.2)
e2mmap (0.1.0)
ed25519 (1.2.4)
elasticsearch (7.8.0)
@@ -213,7 +206,6 @@ GEM
faraday (~> 1)
multi_json
encryptor (3.0.0)
- equatable (0.6.1)
erubi (1.9.0)
et-orbi (1.2.4)
tzinfo
@@ -224,7 +216,7 @@ GEM
faraday (1.0.1)
multipart-post (>= 1.2, < 3)
fast_blank (1.0.0)
- fastimage (2.1.7)
+ fastimage (2.2.0)
ffi (1.10.0)
ffi-compiler (1.0.1)
ffi (>= 1.0.0)
@@ -286,7 +278,7 @@ GEM
httplog (1.4.3)
rack (>= 1.0)
rainbow (>= 2.0.0)
- i18n (1.8.3)
+ i18n (1.8.5)
concurrent-ruby (~> 1.0)
i18n-tasks (0.9.31)
activesupport (>= 4.0.2)
@@ -366,15 +358,14 @@ GEM
mini_portile2 (2.4.0)
minitest (5.14.1)
msgpack (1.3.3)
- multi_json (1.14.1)
+ multi_json (1.15.0)
multipart-post (2.1.1)
- necromancer (0.5.1)
net-ldap (0.16.2)
net-scp (3.0.0)
net-ssh (>= 2.6.5, < 7.0.0)
net-ssh (6.1.0)
nio4r (2.5.2)
- nokogiri (1.10.9)
+ nokogiri (1.10.10)
mini_portile2 (~> 2.4.0)
nokogumbo (2.0.2)
nokogiri (~> 1.8, >= 1.8.4)
@@ -383,7 +374,7 @@ GEM
concurrent-ruby (~> 1.0, >= 1.0.2)
sidekiq (>= 3.5)
statsd-ruby (~> 1.4, >= 1.4.0)
- oj (3.10.6)
+ oj (3.10.8)
omniauth (1.9.1)
hashie (>= 3.4.6)
rack (>= 1.6.2, < 3)
@@ -406,19 +397,19 @@ GEM
av (~> 0.9.0)
paperclip (>= 2.5.2)
parallel (1.19.2)
- parallel_tests (3.0.0)
+ parallel_tests (3.1.0)
parallel
parser (2.7.1.4)
ast (~> 2.4.1)
parslet (2.0.0)
- pastel (0.7.4)
- equatable (~> 0.6)
+ pastel (0.8.0)
tty-color (~> 0.5)
pg (1.2.3)
- pghero (2.5.1)
+ pghero (2.6.0)
activerecord (>= 5)
pkg-config (1.4.1)
- premailer (1.11.1)
+ posix-spawn (0.3.15)
+ premailer (1.12.1)
addressable
css_parser (>= 1.6.0)
htmlentities (>= 4.0.0)
@@ -553,7 +544,7 @@ GEM
rubocop-ast (>= 0.0.3, < 1.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 2.0)
- rubocop-ast (0.1.0)
+ rubocop-ast (0.2.0)
parser (>= 2.7.0.1)
rubocop-rails (2.6.0)
activesupport (>= 4.2.0)
@@ -570,7 +561,7 @@ GEM
nokogiri (>= 1.8.0)
nokogumbo (~> 2.0)
semantic_range (2.3.0)
- sidekiq (6.1.0)
+ sidekiq (6.1.1)
connection_pool (>= 2.2.2)
rack (~> 2.0)
redis (>= 4.2.0)
@@ -608,10 +599,10 @@ GEM
net-ssh (>= 2.8.0)
stackprof (0.2.15)
statsd-ruby (1.4.0)
- stoplight (2.2.0)
+ stoplight (2.2.1)
streamio-ffmpeg (3.0.2)
multi_json (~> 1.8)
- strong_migrations (0.6.8)
+ strong_migrations (0.7.1)
activerecord (>= 5)
temple (0.8.2)
terminal-table (1.8.0)
@@ -620,19 +611,19 @@ GEM
climate_control (>= 0.0.3, < 1.0)
thor (0.20.3)
thread_safe (0.3.6)
- thwait (0.1.0)
+ thwait (0.2.0)
+ e2mmap
tilt (2.0.10)
tty-color (0.5.1)
tty-cursor (0.7.1)
- tty-prompt (0.21.0)
- necromancer (~> 0.5.0)
- pastel (~> 0.7.0)
- tty-reader (~> 0.7.0)
- tty-reader (0.7.0)
+ tty-prompt (0.22.0)
+ pastel (~> 0.8)
+ tty-reader (~> 0.8)
+ tty-reader (0.8.0)
tty-cursor (~> 0.7)
- tty-screen (~> 0.7)
- wisper (~> 2.0.0)
- tty-screen (0.8.0)
+ tty-screen (~> 0.8)
+ wisper (~> 2.0)
+ tty-screen (0.8.1)
twitter-text (1.14.7)
unf (~> 0.1.0)
tzinfo (1.2.7)
@@ -658,7 +649,7 @@ GEM
webpush (0.3.8)
hkdf (~> 0.2)
jwt (~> 2.0)
- websocket-driver (0.7.2)
+ websocket-driver (0.7.3)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
wisper (2.0.1)
@@ -673,7 +664,7 @@ DEPENDENCIES
active_record_query_trace (~> 1.7)
addressable (~> 2.7)
annotate (~> 3.1)
- aws-sdk-s3 (~> 1.73)
+ aws-sdk-s3 (~> 1.75)
better_errors (~> 2.7)
binding_of_caller (~> 0.7)
blurhash (~> 0.1)
@@ -683,8 +674,8 @@ DEPENDENCIES
bullet (~> 6.1)
bundler-audit (~> 0.7)
capistrano (~> 3.14)
- capistrano-rails (~> 1.5)
- capistrano-rbenv (~> 2.1)
+ capistrano-rails (~> 1.6)
+ capistrano-rbenv (~> 2.2)
capistrano-yarn (~> 2.0)
capybara (~> 3.33)
charlock_holmes (~> 0.7.7)
@@ -745,12 +736,12 @@ DEPENDENCIES
paperclip (~> 6.0)
paperclip-av-transcoder (~> 0.6)
parallel (~> 1.19)
- parallel_tests (~> 3.0)
+ parallel_tests (~> 3.1)
parslet
pg (~> 1.2)
- pghero (~> 2.5)
+ pghero (~> 2.6)
pkg-config (~> 1.4)
- posix-spawn!
+ posix-spawn
premailer-rails
private_address_check (~> 0.5)
pry-byebug (~> 3.9)
@@ -777,7 +768,7 @@ DEPENDENCIES
rubocop-rails (~> 2.6)
ruby-progressbar (~> 1.10)
sanitize (~> 5.2)
- sidekiq (~> 6.0)
+ sidekiq (~> 6.1)
sidekiq-bulk (~> 0.2.0)
sidekiq-scheduler (~> 3.0)
sidekiq-unique-jobs (~> 6.0)
@@ -787,12 +778,12 @@ DEPENDENCIES
sprockets (~> 3.7.2)
sprockets-rails (~> 3.2)
stackprof
- stoplight (~> 2.2.0)
+ stoplight (~> 2.2.1)
streamio-ffmpeg (~> 3.0)
- strong_migrations (~> 0.6)
+ strong_migrations (~> 0.7)
thor (~> 0.20)
- thwait (~> 0.1.0)
- tty-prompt (~> 0.21)
+ thwait (~> 0.2.0)
+ tty-prompt (~> 0.22)
twitter-text (~> 1.14)
tzinfo-data (~> 1.2020)
webmock (~> 3.8)
diff --git a/app/javascript/mastodon/actions/streaming.js b/app/javascript/mastodon/actions/streaming.js
index 7cecff66e..d998fcac4 100644
--- a/app/javascript/mastodon/actions/streaming.js
+++ b/app/javascript/mastodon/actions/streaming.js
@@ -71,10 +71,9 @@ const refreshHomeTimelineAndNotification = (dispatch, done) => {
dispatch(fetchAnnouncements(done))))));
};
-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 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 connectDirectStream = () => connectTimelineStream('direct', 'direct');
-export const connectListStream = id => connectTimelineStream(`list:${id}`, `list&list=${id}`);
+export const connectUserStream = () => connectTimelineStream('home', 'user', refreshHomeTimelineAndNotification);
+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 connectHashtagStream = (id, tag, local, accept) => connectTimelineStream(`hashtag:${id}${local ? ':local' : ''}`, `hashtag${local ? ':local' : ''}&tag=${tag}`, null, accept);
+export const connectDirectStream = () => connectTimelineStream('direct', 'direct');
+export const connectListStream = id => connectTimelineStream(`list:${id}`, `list&list=${id}`);
diff --git a/app/javascript/mastodon/features/account_timeline/index.js b/app/javascript/mastodon/features/account_timeline/index.js
index 3846cc637..b9a616266 100644
--- a/app/javascript/mastodon/features/account_timeline/index.js
+++ b/app/javascript/mastodon/features/account_timeline/index.js
@@ -16,7 +16,7 @@ import { fetchAccountIdentityProofs } from '../../actions/identity_proofs';
import MissingIndicator from 'mastodon/components/missing_indicator';
import TimelineHint from 'mastodon/components/timeline_hint';
import { me } from 'mastodon/initial_state';
-import { connectUserTimelineStream } from '../../actions/streaming';
+import { connectTimeline, disconnectTimeline } from 'mastodon/actions/timelines';
const emptyList = ImmutableList();
@@ -63,41 +63,48 @@ class AccountTimeline extends ImmutablePureComponent {
};
componentWillMount () {
- const { params: { accountId }, withReplies } = this.props;
+ const { params: { accountId }, withReplies, dispatch } = this.props;
- this.props.dispatch(fetchAccount(accountId));
- this.props.dispatch(fetchAccountIdentityProofs(accountId));
+ dispatch(fetchAccount(accountId));
+ dispatch(fetchAccountIdentityProofs(accountId));
if (!withReplies) {
- this.props.dispatch(expandAccountFeaturedTimeline(accountId));
+ dispatch(expandAccountFeaturedTimeline(accountId));
}
- this.props.dispatch(expandAccountTimeline(accountId, { withReplies }));
- }
+ dispatch(expandAccountTimeline(accountId, { withReplies }));
- componentDidMount () {
- if (this.props.params.accountId === me) {
- this.disconnect = this.props.dispatch(connectUserTimelineStream(me));
+ if (accountId === me) {
+ dispatch(connectTimeline(`account:${me}`));
}
}
componentWillReceiveProps (nextProps) {
+ const { dispatch } = this.props;
+
if ((nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) || nextProps.withReplies !== this.props.withReplies) {
- this.props.dispatch(fetchAccount(nextProps.params.accountId));
- this.props.dispatch(fetchAccountIdentityProofs(nextProps.params.accountId));
+ dispatch(fetchAccount(nextProps.params.accountId));
+ dispatch(fetchAccountIdentityProofs(nextProps.params.accountId));
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 () {
- if (this.disconnect) {
- this.disconnect();
- this.disconnect = null;
+ const { dispatch, params: { accountId } } = this.props;
+
+ if (accountId === me) {
+ dispatch(disconnectTimeline(`account:${me}`));
}
}
diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json
index e0be9d1a2..3e01f2d77 100644
--- a/app/javascript/mastodon/locales/br.json
+++ b/app/javascript/mastodon/locales/br.json
@@ -245,7 +245,7 @@
"keyboard_shortcuts.spoilers": "to show/hide CW field",
"keyboard_shortcuts.start": "to open \"get started\" column",
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
- "keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
+ "keyboard_shortcuts.toggle_sensitivity": "da guzhat/ziguzhat ur media",
"keyboard_shortcuts.toot": "da gregiñ gant un toud nevez-flamm",
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
"keyboard_shortcuts.up": "to move up in the list",
diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json
index 04a37fc03..7c149787f 100644
--- a/app/javascript/mastodon/locales/ca.json
+++ b/app/javascript/mastodon/locales/ca.json
@@ -16,7 +16,7 @@
"account.followers": "Seguidors",
"account.followers.empty": "Encara ningú no segueix aquest usuari.",
"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_you": "Et segueix",
"account.hide_reblogs": "Amaga els impulsos de @{name}",
diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json
index 74b3e1c9a..2108c4ab6 100644
--- a/app/javascript/mastodon/locales/el.json
+++ b/app/javascript/mastodon/locales/el.json
@@ -16,7 +16,7 @@
"account.followers": "Ακόλουθοι",
"account.followers.empty": "Κανείς δεν ακολουθεί αυτό τον χρήστη ακόμα.",
"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_you": "Σε ακολουθεί",
"account.hide_reblogs": "Απόκρυψη προωθήσεων από @{name}",
diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json
index c0615d757..62238a748 100644
--- a/app/javascript/mastodon/locales/es.json
+++ b/app/javascript/mastodon/locales/es.json
@@ -395,7 +395,7 @@
"status.redraft": "Borrar y volver a borrador",
"status.remove_bookmark": "Eliminar marcador",
"status.reply": "Responder",
- "status.replyAll": "Responder al hilo",
+ "status.replyAll": "Responder al hilván",
"status.report": "Reportar",
"status.sensitive_warning": "Contenido sensible",
"status.share": "Compartir",
@@ -403,7 +403,7 @@
"status.show_less_all": "Mostrar menos para todo",
"status.show_more": "Mostrar más",
"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.unmute_conversation": "Dejar de silenciar conversación",
"status.unpin": "Dejar de fijar",
diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json
index 44589aa4a..51f95e08c 100644
--- a/app/javascript/mastodon/locales/fi.json
+++ b/app/javascript/mastodon/locales/fi.json
@@ -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.badges.bot": "Botti",
"account.badges.group": "Ryhmä",
"account.block": "Estä @{name}",
"account.block_domain": "Piilota kaikki sisältö verkkotunnuksesta {domain}",
"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.direct": "Viesti käyttäjälle @{name}",
"account.domain_blocked": "Verkko-osoite piilotettu",
@@ -43,7 +43,7 @@
"account.unfollow": "Lakkaa seuraamasta",
"account.unmute": "Poista käyttäjän @{name} mykistys",
"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.title": "Määrää rajoitettu",
"alert.unexpected.message": "Tapahtui odottamaton virhe.",
@@ -79,7 +79,7 @@
"column_header.show_settings": "Näytä asetukset",
"column_header.unpin": "Poista kiinnitys",
"column_subheading.settings": "Asetukset",
- "community.column_settings.local_only": "Local only",
+ "community.column_settings.local_only": "Vain paikalliset",
"community.column_settings.media_only": "Vain media",
"community.column_settings.remote_only": "Remote only",
"compose_form.direct_message_warning": "Tämä tuuttaus näkyy vain mainituille käyttäjille.",
@@ -172,7 +172,7 @@
"follow_request.authorize": "Valtuuta",
"follow_request.reject": "Hylkää",
"follow_requests.unlocked_explanation": "Vaikka tilisi ei ole lukittu, {domain} ylläpitäjien mielestä haluat tarkistaa näiden tilien seurauspyynnöt manuaalisesti.",
- "generic.saved": "Saved",
+ "generic.saved": "Tallennettu",
"getting_started.developers": "Kehittäjille",
"getting_started.directory": "Profiilihakemisto",
"getting_started.documentation": "Documentaatio",
@@ -242,7 +242,7 @@
"keyboard_shortcuts.reply": "vastaa",
"keyboard_shortcuts.requests": "avaa lista seurauspyynnöistä",
"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.toggle_hidden": "näytä/piilota sisältövaroituksella merkitty teksti",
"keyboard_shortcuts.toggle_sensitivity": "näytä/piilota media",
@@ -420,15 +420,15 @@
"time_remaining.moments": "Hetki 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.resources.followers": "Followers",
- "timeline_hint.resources.follows": "Follows",
- "timeline_hint.resources.statuses": "Older toots",
+ "timeline_hint.resources.followers": "Seuraajat",
+ "timeline_hint.resources.follows": "Seuraa",
+ "timeline_hint.resources.statuses": "Vanhemmat tuuttaukset",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} talking",
"trends.trending_now": "Suosittua nyt",
"ui.beforeunload": "Luonnos häviää, jos poistut Mastodonista.",
"units.short.billion": "{count}B",
- "units.short.million": "{count}M",
- "units.short.thousand": "{count}K",
+ "units.short.million": "{count}m",
+ "units.short.thousand": "{count}k",
"upload_area.title": "Lataa raahaamalla ja pudottamalla tähän",
"upload_button.label": "Lisää mediaa",
"upload_error.limit": "Tiedostolatauksien raja ylitetty.",
@@ -436,12 +436,12 @@
"upload_form.audio_description": "Kuvaile kuulovammaisille",
"upload_form.description": "Anna kuvaus näkörajoitteisia varten",
"upload_form.edit": "Muokkaa",
- "upload_form.thumbnail": "Change thumbnail",
+ "upload_form.thumbnail": "Vaihda pikkukuva",
"upload_form.undo": "Peru",
"upload_form.video_description": "Kuvaile kuulo- tai näkövammaisille",
"upload_modal.analyzing_picture": "Analysoidaan kuvaa…",
"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.detect_text": "Tunnista teksti kuvasta",
"upload_modal.edit_media": "Muokkaa mediaa",
diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json
index 6376ca351..5329923da 100644
--- a/app/javascript/mastodon/locales/fr.json
+++ b/app/javascript/mastodon/locales/fr.json
@@ -423,7 +423,7 @@
"timeline_hint.resources.followers": "Les abonnés",
"timeline_hint.resources.follows": "Les abonnements",
"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",
"ui.beforeunload": "Votre brouillon sera perdu si vous quittez Mastodon.",
"units.short.billion": "{count}B",
diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json
index e0180a083..44d8b4662 100644
--- a/app/javascript/mastodon/locales/gl.json
+++ b/app/javascript/mastodon/locales/gl.json
@@ -16,7 +16,7 @@
"account.followers": "Seguidoras",
"account.followers.empty": "Aínda ninguén segue esta usuaria.",
"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_you": "Séguete",
"account.hide_reblogs": "Agochar repeticións de @{name}",
diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json
index 713abba5f..9afadd7d6 100644
--- a/app/javascript/mastodon/locales/hu.json
+++ b/app/javascript/mastodon/locales/hu.json
@@ -16,7 +16,7 @@
"account.followers": "Követő",
"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.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_you": "Követ téged",
"account.hide_reblogs": "@{name} megtolásainak némítása",
diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json
index 29810cd9f..8c6cb1de2 100644
--- a/app/javascript/mastodon/locales/hy.json
+++ b/app/javascript/mastodon/locales/hy.json
@@ -1,12 +1,12 @@
{
- "account.account_note_header": "Note",
+ "account.account_note_header": "Գրառում",
"account.add_or_remove_from_list": "Աւելացնել կամ հեռացնել ցանկերից",
"account.badges.bot": "Բոտ",
"account.badges.group": "Խումբ",
"account.block": "Արգելափակել @{name}֊ին",
"account.block_domain": "Թաքցնել ամէնը հետեւեալ տիրոյթից՝ {domain}",
"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.direct": "Նամակ գրել @{name} -ին",
"account.domain_blocked": "Տիրոյթը արգելափակուած է",
@@ -16,7 +16,7 @@
"account.followers": "Հետեւողներ",
"account.followers.empty": "Այս օգտատիրոջը դեռ ոչ մէկ չի հետեւում։",
"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_you": "Հետեւում է քեզ",
"account.hide_reblogs": "Թաքցնել @{name}֊ի տարածածները",
@@ -43,7 +43,7 @@
"account.unfollow": "Ապահետեւել",
"account.unmute": "Ապալռեցնել @{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.title": "Գործողութիւնների յաճախութիւնը գերազանցում է թոյլատրելին",
"alert.unexpected.message": "Անսպասելի սխալ տեղի ունեցաւ։",
@@ -242,7 +242,7 @@
"keyboard_shortcuts.reply": "պատասխանելու համար",
"keyboard_shortcuts.requests": "հետեւելու հայցերի ցանկը դիտելու համար",
"keyboard_shortcuts.search": "որոնման դաշտին սեւեռվելու համար",
- "keyboard_shortcuts.spoilers": "to show/hide CW field",
+ "keyboard_shortcuts.spoilers": "որպեսզի ցուցադրվի/թաքցվի CW դաշտը",
"keyboard_shortcuts.start": "«սկսել» սիւնակը բացելու համար",
"keyboard_shortcuts.toggle_hidden": "CW֊ի ետեւի տեքստը ցուցադրել֊թաքցնելու համար",
"keyboard_shortcuts.toggle_sensitivity": "մեդիան ցուցադրել֊թաքցնելու համար",
@@ -419,7 +419,7 @@
"time_remaining.minutes": "{number, plural, one {# րոպե} other {# րոպե}} անց",
"time_remaining.moments": "Մնացել է մի քանի վարկեան",
"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.follows": "Հետևել",
"timeline_hint.resources.statuses": "Հին թութեր",
@@ -436,7 +436,7 @@
"upload_form.audio_description": "Նկարագրիր ձայնագրութեան բովանդակութիւնը լսողական խնդիրներով անձանց համար",
"upload_form.description": "Նկարագիր՝ տեսողական խնդիրներ ունեցողների համար",
"upload_form.edit": "Խմբագրել",
- "upload_form.thumbnail": "Change thumbnail",
+ "upload_form.thumbnail": "Փոխել պատկերակը",
"upload_form.undo": "Հետարկել",
"upload_form.video_description": "Նկարագրիր տեսանիւթը լսողական կամ տեսողական խնդիրներով անձանց համար",
"upload_modal.analyzing_picture": "Լուսանկարի վերլուծում…",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index 46957c615..ef8d8d1e6 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -36,7 +36,7 @@
"account.requested": "フォロー承認待ちです。クリックしてキャンセル",
"account.share": "@{name}さんのプロフィールを共有する",
"account.show_reblogs": "@{name}さんからのブーストを表示",
- "account.statuses_counter": "{counter} トゥート",
+ "account.statuses_counter": "{counter} 投稿",
"account.unblock": "@{name}さんのブロックを解除",
"account.unblock_domain": "{domain}のブロックを解除",
"account.unendorse": "プロフィールから外す",
diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json
index 05f72596b..4ce0115a9 100644
--- a/app/javascript/mastodon/locales/kab.json
+++ b/app/javascript/mastodon/locales/kab.json
@@ -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.badges.bot": "Aṛubut",
"account.badges.group": "Agraw",
@@ -295,7 +295,7 @@
"notification.follow": "{name} yeṭṭafaṛ-ik",
"notification.follow_request": "{name} yessuter-d ad k-yeḍfeṛ",
"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.reblog": "{name} yebḍa tajewwiqt-ik i tikelt-nniḍen",
"notifications.clear": "Sfeḍ tilɣa",
@@ -390,7 +390,7 @@
"status.read_more": "Issin ugar",
"status.reblog": "Bḍu",
"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.redraft": "Kkes tɛiwdeḍ tira",
"status.remove_bookmark": "Kkes tacreḍt",
diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json
index 78209fb0e..f13b364b0 100644
--- a/app/javascript/mastodon/locales/ko.json
+++ b/app/javascript/mastodon/locales/ko.json
@@ -1,5 +1,5 @@
{
- "account.account_note_header": "@{name} 에 대한 노트",
+ "account.account_note_header": "노트",
"account.add_or_remove_from_list": "리스트에 추가 혹은 삭제",
"account.badges.bot": "봇",
"account.badges.group": "그룹",
@@ -43,7 +43,7 @@
"account.unfollow": "팔로우 해제",
"account.unmute": "뮤트 해제",
"account.unmute_notifications": "@{name}의 알림 뮤트 해제",
- "account_note.placeholder": "작성된 댓글이 없음",
+ "account_note.placeholder": "클릭해서 노트 추가",
"alert.rate_limited.message": "{retry_time, time, medium}에 다시 시도해 주세요.",
"alert.rate_limited.title": "빈도 제한",
"alert.unexpected.message": "예측하지 못한 에러가 발생했습니다.",
@@ -436,12 +436,12 @@
"upload_form.audio_description": "청각 장애인을 위한 설명",
"upload_form.description": "시각장애인을 위한 설명",
"upload_form.edit": "편집",
- "upload_form.thumbnail": "Change thumbnail",
+ "upload_form.thumbnail": "썸네일 변경",
"upload_form.undo": "삭제",
"upload_form.video_description": "청각, 시각 장애인을 위한 설명",
"upload_modal.analyzing_picture": "이미지 분석 중…",
"upload_modal.apply": "적용",
- "upload_modal.choose_image": "Choose image",
+ "upload_modal.choose_image": "이미지 선택",
"upload_modal.description_placeholder": "다람쥐 헌 쳇바퀴 타고파",
"upload_modal.detect_text": "이미지에서 텍스트 추출",
"upload_modal.edit_media": "미디어 편집",
diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json
index 73e2b9a13..7b94a4981 100644
--- a/app/javascript/mastodon/locales/nl.json
+++ b/app/javascript/mastodon/locales/nl.json
@@ -15,8 +15,8 @@
"account.follow": "Volgen",
"account.followers": "Volgers",
"account.followers.empty": "Niemand volgt nog deze gebruiker.",
- "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
- "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
+ "account.followers_counter": "{count, plural, one {{counter} volger} other {{counter} volgers}}",
+ "account.following_counter": "{count, plural, one {{counter} volgend} other {{counter} volgend}}",
"account.follows.empty": "Deze gebruiker volgt nog niemand.",
"account.follows_you": "Volgt jou",
"account.hide_reblogs": "Verberg boosts van @{name}",
@@ -36,7 +36,7 @@
"account.requested": "Wacht op goedkeuring. Klik om het volgverzoek te annuleren",
"account.share": "Profiel van @{name} delen",
"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_domain": "{domain} niet langer verbergen",
"account.unendorse": "Niet op profiel weergeven",
@@ -423,7 +423,7 @@
"timeline_hint.resources.followers": "Volgers",
"timeline_hint.resources.follows": "Volgend",
"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",
"ui.beforeunload": "Je concept zal verloren gaan als je Mastodon verlaat.",
"units.short.billion": "{count}B",
@@ -436,12 +436,12 @@
"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.edit": "Bewerken",
- "upload_form.thumbnail": "Change thumbnail",
+ "upload_form.thumbnail": "Miniatuurafbeelding wijzigen",
"upload_form.undo": "Verwijderen",
"upload_form.video_description": "Omschrijf dit voor mensen met een auditieve of visuele beperking",
"upload_modal.analyzing_picture": "Afbeelding analyseren…",
"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.detect_text": "Tekst in een afbeelding detecteren",
"upload_modal.edit_media": "Media bewerken",
diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json
index f494eaaa9..016d98b93 100644
--- a/app/javascript/mastodon/locales/pt-BR.json
+++ b/app/javascript/mastodon/locales/pt-BR.json
@@ -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.message": "Você tem certeza de que deseja silenciar {name}?",
"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.message": "Responder agora sobrescreverá o toot que você está compondo. Deseja continuar?",
"confirmations.unfollow.confirm": "Deixar de seguir",
@@ -392,7 +392,7 @@
"status.reblog_private": "Boostar para audiência original",
"status.reblogged_by": "{name} boostou",
"status.reblogs.empty": "Nada aqui. Quando alguém der boost, o autor aparecerá aqui.",
- "status.redraft": "Excluir & re-rascunhar",
+ "status.redraft": "Excluir e rascunhar",
"status.remove_bookmark": "Remover marcador",
"status.reply": "Responder",
"status.replyAll": "Responder a thread",
@@ -425,7 +425,7 @@
"timeline_hint.resources.statuses": "Toots mais antigos",
"trends.counter_by_accounts": "{count, plural, one {{counter} pessoa} other {{counter} pessoas}} falando",
"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.million": "{count} mi",
"units.short.thousand": "{count} mil",
diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json
index 38d714525..73d3df12b 100644
--- a/app/javascript/mastodon/locales/ru.json
+++ b/app/javascript/mastodon/locales/ru.json
@@ -423,7 +423,7 @@
"timeline_hint.resources.followers": "подписчиков",
"timeline_hint.resources.follows": "подписки",
"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": "Самое актуальное",
"ui.beforeunload": "Ваш черновик будет утерян, если вы покинете Mastodon.",
"units.short.billion": "{count} млрд",
diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json
index 95cadfe25..6b33b17b6 100644
--- a/app/javascript/mastodon/locales/sq.json
+++ b/app/javascript/mastodon/locales/sq.json
@@ -16,7 +16,7 @@
"account.followers": "Ndjekës",
"account.followers.empty": "Këtë përdorues ende s’e ndjek njeri.",
"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 s’ndjek njeri.",
"account.follows_you": "Ju ndjek",
"account.hide_reblogs": "Fshih përforcime nga @{name}",
diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json
index a5c6b07cd..596473394 100644
--- a/app/javascript/mastodon/locales/th.json
+++ b/app/javascript/mastodon/locales/th.json
@@ -1,12 +1,12 @@
{
- "account.account_note_header": "หมายเหตุของคุณสำหรับ @{name}",
+ "account.account_note_header": "หมายเหตุ",
"account.add_or_remove_from_list": "เพิ่มหรือเอาออกจากรายการ",
"account.badges.bot": "บอต",
"account.badges.group": "กลุ่ม",
"account.block": "ปิดกั้น @{name}",
"account.block_domain": "ปิดกั้นโดเมน {domain}",
"account.blocked": "ปิดกั้นอยู่",
- "account.browse_more_on_origin_server": "ดูเพิ่มเติมในโปรไฟล์ต้นฉบับ",
+ "account.browse_more_on_origin_server": "เรียกดูเพิ่มเติมในโปรไฟล์ดั้งเดิม",
"account.cancel_follow_request": "ยกเลิกคำขอติดตาม",
"account.direct": "ส่งข้อความโดยตรงถึง @{name}",
"account.domain_blocked": "ปิดกั้นโดเมนอยู่",
@@ -15,8 +15,8 @@
"account.follow": "ติดตาม",
"account.followers": "ผู้ติดตาม",
"account.followers.empty": "ยังไม่มีใครติดตามผู้ใช้นี้",
- "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}",
- "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
+ "account.followers_counter": "{count, plural, other {{counter} ผู้ติดตาม}}",
+ "account.following_counter": "{count, plural, other {{counter} กำลังติดตาม}}",
"account.follows.empty": "ผู้ใช้นี้ยังไม่ได้ติดตามใคร",
"account.follows_you": "ติดตามคุณ",
"account.hide_reblogs": "ซ่อนการดันจาก @{name}",
@@ -36,14 +36,14 @@
"account.requested": "กำลังรอการอนุมัติ คลิกเพื่อยกเลิกคำขอติดตาม",
"account.share": "แบ่งปันโปรไฟล์ของ @{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_domain": "เลิกปิดกั้นโดเมน {domain}",
"account.unendorse": "ไม่แสดงให้เห็นในโปรไฟล์",
"account.unfollow": "เลิกติดตาม",
"account.unmute": "เลิกซ่อน @{name}",
"account.unmute_notifications": "เลิกซ่อนการแจ้งเตือนจาก @{name}",
- "account_note.placeholder": "ไม่มีความคิดเห็นที่ระบุไว้",
+ "account_note.placeholder": "คลิกเพื่อเพิ่มหมายเหตุ",
"alert.rate_limited.message": "โปรดลองใหม่หลังจาก {retry_time, time, medium}",
"alert.rate_limited.title": "มีการจำกัดอัตรา",
"alert.unexpected.message": "เกิดข้อผิดพลาดที่ไม่คาดคิด",
@@ -82,14 +82,14 @@
"community.column_settings.local_only": "ในเซิร์ฟเวอร์เท่านั้น",
"community.column_settings.media_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.hashtag_warning": "โพสต์นี้จะไม่ถูกแสดงในแฮชแท็กใด ๆ เนื่องจากไม่อยู่ในรายการ เฉพาะโพสต์สาธารณะเท่านั้นที่สามารถค้นหาโดยแฮชแท็ก",
+ "compose_form.hashtag_warning": "จะไม่แสดงรายการโพสต์นี้ภายใต้แฮชแท็กใด ๆ เนื่องจากไม่อยู่ในรายการ เฉพาะโพสต์สาธารณะเท่านั้นที่สามารถค้นหาโดยแฮชแท็ก",
"compose_form.lock_disclaimer": "บัญชีของคุณไม่ได้ {locked} ใครก็ตามสามารถติดตามคุณเพื่อดูโพสต์สำหรับผู้ติดตามเท่านั้นของคุณ",
"compose_form.lock_disclaimer.lock": "ล็อคอยู่",
"compose_form.placeholder": "คุณกำลังคิดอะไรอยู่?",
"compose_form.poll.add_option": "เพิ่มตัวเลือก",
- "compose_form.poll.duration": "ระยะเวลาโพล",
+ "compose_form.poll.duration": "ระยะเวลาการสำรวจความคิดเห็น",
"compose_form.poll.option_placeholder": "ตัวเลือก {number}",
"compose_form.poll.remove_option": "เอาตัวเลือกนี้ออก",
"compose_form.poll.switch_to_multiple": "เปลี่ยนการสำรวจความคิดเห็นเป็นอนุญาตหลายตัวเลือก",
@@ -202,7 +202,7 @@
"introduction.federation.federated.headline": "ที่ติดต่อกับภายนอก",
"introduction.federation.federated.text": "โพสต์สาธารณะจากเซิร์ฟเวอร์อื่น ๆ ของเฟดิเวิร์สจะปรากฏในเส้นเวลาที่ติดต่อกับภายนอก",
"introduction.federation.home.headline": "หน้าแรก",
- "introduction.federation.home.text": "โพสต์จากผู้คนที่คุณติดตามจะปรากฏในฟีดหน้าแรกของคุณ คุณสามารถติดตามใครก็ได้บนเซิร์ฟเวอร์ไหนก็ได้!",
+ "introduction.federation.home.text": "โพสต์จากผู้คนที่คุณติดตามจะปรากฏในฟีดหน้าแรกของคุณ คุณสามารถติดตามใครก็ตามในเซิร์ฟเวอร์ใดก็ตาม!",
"introduction.federation.local.headline": "ในเซิร์ฟเวอร์",
"introduction.federation.local.text": "โพสต์สาธารณะจากผู้คนในเซิร์ฟเวอร์เดียวกันกับคุณจะปรากฏในเส้นเวลาในเซิร์ฟเวอร์",
"introduction.interactions.action": "เสร็จสิ้นบทช่วยสอน!",
@@ -264,7 +264,7 @@
"lists.subheading": "รายการของคุณ",
"load_pending": "{count, plural, other {# รายการใหม่}}",
"loading_indicator.label": "กำลังโหลด...",
- "media_gallery.toggle_visible": "ซ่อน {number, plural, other {ภาพ}}",
+ "media_gallery.toggle_visible": "ซ่อน{number, plural, other {ภาพ}}",
"missing_indicator.label": "ไม่พบ",
"missing_indicator.sublabel": "ไม่พบทรัพยากรนี้",
"mute_modal.hide_notifications": "ซ่อนการแจ้งเตือนจากผู้ใช้นี้?",
@@ -348,8 +348,8 @@
"relative_time.today": "วันนี้",
"reply_indicator.cancel": "ยกเลิก",
"report.forward": "ส่งต่อไปยัง {target}",
- "report.forward_hint": "บัญชีมาจากเซิร์ฟเวอร์อื่น ต้องการส่งสำเนาของรายงานที่ไม่ระบุตัวตนไปที่เซิร์ฟเวอร์นั้นด้วยหรือไม่?",
- "report.hint": "รายงานนี้จะถูกส่งไปยังผู้ควบคุมเซิร์ฟเวอร์ของคุณ คุณสามารถอธิบายเหตุผลที่คุณรายงานบัญชีนี้ด้านล่าง:",
+ "report.forward_hint": "บัญชีมาจากเซิร์ฟเวอร์อื่น ส่งสำเนาของรายงานที่ไม่ระบุตัวตนไปที่นั่นด้วย?",
+ "report.hint": "จะส่งรายงานไปยังผู้ควบคุมเซิร์ฟเวอร์ของคุณ คุณสามารถให้คำอธิบายเหตุผลที่คุณรายงานบัญชีนี้ด้านล่าง:",
"report.placeholder": "ความคิดเห็นเพิ่มเติม",
"report.submit": "ส่ง",
"report.target": "กำลังรายงาน {target}",
@@ -407,7 +407,7 @@
"status.uncached_media_warning": "ไม่พร้อมใช้งาน",
"status.unmute_conversation": "เลิกซ่อนการสนทนา",
"status.unpin": "ถอนหมุดจากโปรไฟล์",
- "suggestions.dismiss": "ปิดข้อเสนอแนะ",
+ "suggestions.dismiss": "ยกเลิกข้อเสนอแนะ",
"suggestions.header": "คุณอาจสนใจ…",
"tabs_bar.federated_timeline": "ที่ติดต่อกับภายนอก",
"tabs_bar.home": "หน้าแรก",
@@ -423,25 +423,25 @@
"timeline_hint.resources.followers": "ผู้ติดตาม",
"timeline_hint.resources.follows": "การติดตาม",
"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": "กำลังนิยม",
"ui.beforeunload": "แบบร่างของคุณจะหายไปหากคุณออกจาก Mastodon",
- "units.short.billion": "{count}B",
- "units.short.million": "{count}M",
- "units.short.thousand": "{count}K",
+ "units.short.billion": "{count} พันล้าน",
+ "units.short.million": "{count} ล้าน",
+ "units.short.thousand": "{count} พัน",
"upload_area.title": "ลากแล้วปล่อยเพื่ออัปโหลด",
- "upload_button.label": "เพิ่มไฟล์ภาพ วิดีโอ หรือเสียง",
+ "upload_button.label": "เพิ่มไฟล์ภาพ, วิดีโอ หรือเสียง",
"upload_error.limit": "เกินขีดจำกัดการอัปโหลดไฟล์",
- "upload_error.poll": "ไม่อนุญาตให้อัปโหลดไฟล์พร้อมโพล",
+ "upload_error.poll": "ไม่อนุญาตให้อัปโหลดไฟล์กับการลงคะแนน",
"upload_form.audio_description": "อธิบายสำหรับผู้สูญเสียการได้ยิน",
"upload_form.description": "อธิบายสำหรับผู้บกพร่องทางการมองเห็น",
"upload_form.edit": "แก้ไข",
- "upload_form.thumbnail": "Change thumbnail",
+ "upload_form.thumbnail": "เปลี่ยนภาพขนาดย่อ",
"upload_form.undo": "ลบ",
"upload_form.video_description": "อธิบายสำหรับผู้สูญเสียการได้ยินหรือบกพร่องทางการมองเห็น",
"upload_modal.analyzing_picture": "กำลังวิเคราะห์รูปภาพ…",
"upload_modal.apply": "นำไปใช้",
- "upload_modal.choose_image": "Choose image",
+ "upload_modal.choose_image": "เลือกภาพ",
"upload_modal.description_placeholder": "สุนัขจิ้งจอกสีน้ำตาลที่ว่องไวกระโดดข้ามสุนัขขี้เกียจ",
"upload_modal.detect_text": "ตรวจหาข้อความจากรูปภาพ",
"upload_modal.edit_media": "แก้ไขสื่อ",
diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json
index 17c4302c2..aa0c0d5ff 100644
--- a/app/javascript/mastodon/locales/vi.json
+++ b/app/javascript/mastodon/locales/vi.json
@@ -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.badges.bot": "Bot",
"account.badges.group": "Nhóm",
@@ -11,16 +11,16 @@
"account.direct": "Nhắn tin cho @{name}",
"account.domain_blocked": "Đã chặn người dùng",
"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.followers": "Người theo dõi",
"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.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_you": "Đang theo dõi bạn",
"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.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",
@@ -39,11 +39,11 @@
"account.statuses_counter": "{count, plural, other {{counter} Tút}}",
"account.unblock": "Bỏ chặn @{name}",
"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.unmute": "Bỏ ẩn @{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.title": "Vượt giới hạ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.bookmarks": "Tút đã lưu",
"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.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.home": "Bảng tin",
"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.pins": "Tút ghim",
"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.message": "Bạn có chắc chắn muốn ẩn {name}?",
"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.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.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.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}",
"directory.federated": "Từ mạng liên kết",
- "directory.local": "Chỉ từ {domain}",
- "directory.new_arrivals": "Gia nhập gần đây",
+ "directory.local": "Từ {domain}",
+ "directory.new_arrivals": "Mới tham gia",
"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.preview": "Nó sẽ hiển thị như vầy:",
"emoji_button.activity": "Hoạt động",
- "emoji_button.custom": "Riêng",
+ "emoji_button.custom": "Độc đáo",
"emoji_button.flags": "Cờ",
"emoji_button.food": "Ăn uống",
"emoji_button.label": "Chèn emoji",
"emoji_button.nature": "Thiên nhiên",
"emoji_button.not_found": "Không tìm thấy emoji! (°□°)",
"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.search": "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.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.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.favourites": "Chưa có ai tâm đắc tút 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 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.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.",
@@ -190,14 +190,14 @@
"hashtag.column_settings.tag_mode.any": "Một phầ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",
- "home.column_settings.basic": "Cơ bản",
- "home.column_settings.show_reblogs": "Hiện tút chia sẻ",
- "home.column_settings.show_replies": "Hiện trả lời",
+ "home.column_settings.basic": "Tùy chỉnh",
+ "home.column_settings.show_reblogs": "Hiện những lượt chia sẻ",
+ "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.show_announcements": "Hiện thông báo",
- "intervals.full.days": "{number} days",
- "intervals.full.hours": "{number} hours",
- "intervals.full.minutes": "{number} minutes",
+ "intervals.full.days": "{number, plural, other {# ngày}}",
+ "intervals.full.hours": "{number, plural, other {# giờ}}",
+ "intervals.full.minutes": "{number, plural, other {# phút}}",
"introduction.federation.action": "Tiếp theo",
"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.",
@@ -206,8 +206,8 @@
"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.interactions.action": "Tôi đã hiểu rồi!",
- "introduction.interactions.favourite.headline": "Tâm đắc",
- "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.headline": "Thích",
+ "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.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",
@@ -224,8 +224,8 @@
"keyboard_shortcuts.direct": "mở mục tin nhắn",
"keyboard_shortcuts.down": "di chuyển xuống dưới danh sách",
"keyboard_shortcuts.enter": "viết tút mới",
- "keyboard_shortcuts.favourite": "tâm đắc",
- "keyboard_shortcuts.favourites": "mở danh sách tâm đắc",
+ "keyboard_shortcuts.favourite": "thích",
+ "keyboard_shortcuts.favourites": "mở lượt thích",
"keyboard_shortcuts.federated": "mở mạng liên kết",
"keyboard_shortcuts.heading": "Các phím tắt",
"keyboard_shortcuts.home": "mở bảng tin",
@@ -262,9 +262,9 @@
"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.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...",
- "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.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?",
@@ -277,7 +277,7 @@
"navigation_bar.discover": "Cộng đồng",
"navigation_bar.domain_blocks": "Máy chủ đã ẩ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.follow_requests": "Yêu cầu 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.lists": "Danh sách",
"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.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.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_request": "{name} vừa yêu cầu theo dõi 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.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",
- "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.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.category": "Lọc nhanh",
"notifications.column_settings.filter_bar.show": "Hiện",
"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.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.push": "Thông báo đẩy",
- "notifications.column_settings.reblog": "Chia sẻ:",
- "notifications.column_settings.show": "Hiện trong cột",
- "notifications.column_settings.sound": "Mở tiếng",
+ "notifications.column_settings.reblog": "Lượt chia sẻ mới:",
+ "notifications.column_settings.show": "Thông báo trên thanh menu",
+ "notifications.column_settings.sound": "Kèm theo tiếng \"bíp\"",
"notifications.filter.all": "Toàn bộ",
"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.mentions": "Nhắc đến",
+ "notifications.filter.mentions": "Lượt nhắc đến",
"notifications.filter.polls": "Kết quả cuộc thăm dò",
"notifications.group": "{count} thông báo",
"poll.closed": "Cuộc thăm dò đã kết thúc",
"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.vote": "Cuộc thăm dò",
"poll.voted": "Bạn đã bình chọn câu trả lời này",
@@ -340,10 +340,10 @@
"refresh": "Làm mới",
"regeneration_indicator.label": "Đang tải…",
"regeneration_indicator.sublabel": "Bảng tin của bạn đang được cập nhật!",
- "relative_time.days": "{number} ngày",
- "relative_time.hours": "{number} giờ",
+ "relative_time.days": "{number}d",
+ "relative_time.hours": "{number}h",
"relative_time.just_now": "vừa xong",
- "relative_time.minutes": "{number}p",
+ "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s",
"relative_time.today": "hôm nay",
"reply_indicator.cancel": "Hủy bỏ",
@@ -364,19 +364,19 @@
"search_results.hashtags": "Hashtags",
"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.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_status": "Mở tút này trong giao diện quản trị",
"status.block": "Chặn @{name}",
"status.bookmark": "Lưu",
"status.cancel_reblog_private": "Hủy chia sẻ",
"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.detailed_status": "Xem chi tiết thêm",
"status.direct": "Nhắn riêng @{name}",
"status.embed": "Nhúng",
- "status.favourite": "Tâm đắc",
+ "status.favourite": "Thích",
"status.filtered": "Bộ lọc",
"status.load_more": "Xem thêm",
"status.media_hidden": "Ảnh/video đã ẩn",
@@ -414,9 +414,9 @@
"tabs_bar.local_timeline": "Máy chủ của bạn",
"tabs_bar.notifications": "Thông báo",
"tabs_bar.search": "Tìm kiếm",
- "time_remaining.days": "Thời hạn còn {number, plural, other {# ngày}}",
- "time_remaining.hours": "Thời hạn còn {number, plural, other {# giờ}}",
- "time_remaining.minutes": "Thời hạn còn {number, plural, other {# phút}}",
+ "time_remaining.days": "Kết thúc sau {number, plural, other {# ngày}}",
+ "time_remaining.hours": "Kết thúc sau {number, plural, other {# giờ}}",
+ "time_remaining.minutes": "Kết thúc sau {number, plural, other {# phút}}",
"time_remaining.moments": "Còn lại",
"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ị.",
diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json
index ac19eb3e6..b57bbb2ad 100644
--- a/app/javascript/mastodon/locales/zh-CN.json
+++ b/app/javascript/mastodon/locales/zh-CN.json
@@ -426,9 +426,9 @@
"trends.counter_by_accounts": "{count, plural, one {{counter} 人} other {{counter} 人}}正在讨论",
"trends.trending_now": "现在流行",
"ui.beforeunload": "如果你现在离开 Mastodon,你的草稿内容将会丢失。",
- "units.short.billion": "{count}十亿",
- "units.short.million": "{count}百万",
- "units.short.thousand": "{count}千",
+ "units.short.billion": "{count}B",
+ "units.short.million": "{count}M",
+ "units.short.thousand": "{count}K",
"upload_area.title": "将文件拖放到此处开始上传",
"upload_button.label": "上传媒体文件 ({formats})",
"upload_error.limit": "文件大小超过限制。",
diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json
index 24a63ab6b..248a74dcd 100644
--- a/app/javascript/mastodon/locales/zh-HK.json
+++ b/app/javascript/mastodon/locales/zh-HK.json
@@ -1,5 +1,5 @@
{
- "account.account_note_header": "Note",
+ "account.account_note_header": "備註",
"account.add_or_remove_from_list": "從名單中新增或移除",
"account.badges.bot": "機械人",
"account.badges.group": "群組",
@@ -441,7 +441,7 @@
"upload_form.video_description": "簡單描述給聽障或視障人士",
"upload_modal.analyzing_picture": "正在分析圖片…",
"upload_modal.apply": "套用",
- "upload_modal.choose_image": "Choose image",
+ "upload_modal.choose_image": "選擇圖片",
"upload_modal.description_placeholder": "A quick brown fox 跳過那隻懶狗",
"upload_modal.detect_text": "從圖片偵測文字",
"upload_modal.edit_media": "編輯媒體",
diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json
index e964ccd49..429f6c5d3 100644
--- a/app/javascript/mastodon/locales/zh-TW.json
+++ b/app/javascript/mastodon/locales/zh-TW.json
@@ -1,5 +1,5 @@
{
- "account.account_note_header": "Note",
+ "account.account_note_header": "備註",
"account.add_or_remove_from_list": "從名單中新增或移除",
"account.badges.bot": "機器人",
"account.badges.group": "群組",
@@ -129,7 +129,7 @@
"conversation.with": "與 {names}",
"directory.federated": "來自已知聯邦宇宙",
"directory.local": "僅來自 {domain}",
- "directory.new_arrivals": "新貨",
+ "directory.new_arrivals": "新人",
"directory.recently_active": "最近活躍",
"embed.instructions": "要嵌入此嘟文,請將以下程式碼貼進你的網站。",
"embed.preview": "他會顯示成這樣:",
@@ -441,7 +441,7 @@
"upload_form.video_description": "簡單描述給聽障或視障人士",
"upload_modal.analyzing_picture": "正在分析圖片…",
"upload_modal.apply": "套用",
- "upload_modal.choose_image": "Choose image",
+ "upload_modal.choose_image": "選擇圖片",
"upload_modal.description_placeholder": "A quick brown fox 跳過那隻懶狗",
"upload_modal.detect_text": "從圖片偵測文字",
"upload_modal.edit_media": "編輯媒體",
diff --git a/app/javascript/styles/mastodon/boost.scss b/app/javascript/styles/mastodon/boost.scss
index b4c6d274d..3489428f8 100644
--- a/app/javascript/styles/mastodon/boost.scss
+++ b/app/javascript/styles/mastodon/boost.scss
@@ -7,10 +7,10 @@ button.icon-button i.fa-retweet {
}
.status-private button.icon-button i.fa-retweet {
- background-image: url("data:image/svg+xml;utf8,");
+ background-image: url("data:image/svg+xml;utf8,");
&:hover {
- background-image: url("data:image/svg+xml;utf8,");
+ background-image: url("data:image/svg+xml;utf8,");
}
}
diff --git a/app/lib/activitypub/activity/reject.rb b/app/lib/activitypub/activity/reject.rb
index 8d771ed81..886dddb23 100644
--- a/app/lib/activitypub/activity/reject.rb
+++ b/app/lib/activitypub/activity/reject.rb
@@ -4,7 +4,7 @@ class ActivityPub::Activity::Reject < ActivityPub::Activity
def perform
return reject_follow_for_relay if relay_follow?
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']
when 'Follow'
diff --git a/app/services/account_search_service.rb b/app/services/account_search_service.rb
index 493813aab..43e596040 100644
--- a/app/services/account_search_service.rb
+++ b/app/services/account_search_service.rb
@@ -27,7 +27,7 @@ class AccountSearchService < BaseService
return @exact_match if defined?(@exact_match)
- @exact_match = begin
+ match = begin
if options[:resolve]
ResolveAccountService.new.call(query)
elsif domain_is_local?
@@ -36,6 +36,10 @@ class AccountSearchService < BaseService
Account.find_remote(query_username, query_domain)
end
end
+
+ match = nil if !match.nil? && !account.nil? && options[:following] && !account.following?(match)
+
+ @exact_match = match
end
def search_results
diff --git a/config/locales/devise.hy.yml b/config/locales/devise.hy.yml
index d7ebe3338..885408947 100644
--- a/config/locales/devise.hy.yml
+++ b/config/locales/devise.hy.yml
@@ -40,7 +40,9 @@ hy:
unlock_instructions:
subject: Մաստոդոն․ Ապակողպելու նկարագրությունը
sessions:
+ already_signed_out: Մուտքը հաջողվեց։
signed_in: Մուտքը հաջողվեց։
+ signed_out: Մուտքը հաջողվեց։
errors:
messages:
not_found: չգտնվեց
diff --git a/config/locales/devise.zh-CN.yml b/config/locales/devise.zh-CN.yml
index b7887dfa8..085f51e24 100644
--- a/config/locales/devise.zh-CN.yml
+++ b/config/locales/devise.zh-CN.yml
@@ -9,7 +9,7 @@ zh-CN:
already_authenticated: 你已经登录。
inactive: 你还没有激活帐户。
invalid: "%{authentication_keys} 无效或密码错误。"
- last_attempt: 你还有最后一次尝试机会,再次失败你的帐户将被锁定。
+ last_attempt: 这是最后一次尝试机会,失败后你的帐户将被锁定。
locked: 你的帐户已被锁定。
not_found_in_database: "%{authentication_keys}或密码错误。"
pending: 你的帐号仍在审核中。
@@ -31,7 +31,7 @@ zh-CN:
subject: Mastodon:电子邮件地址已被更改
title: 新电子邮件地址
password_change:
- explanation: 你的帐户的密码已被更改。
+ explanation: 你的帐户密码已更改。
extra: 如果你并没有请求更改你的密码,则他人很有可能已经入侵你的帐户。请立即更改你的密码;如果你已经无法访问你的帐户,请联系服务器的管理员请求协助。
subject: Mastodon:密码已被更改
title: 密码已被重置
diff --git a/config/locales/doorkeeper.th.yml b/config/locales/doorkeeper.th.yml
index 672271728..ba59444be 100644
--- a/config/locales/doorkeeper.th.yml
+++ b/config/locales/doorkeeper.th.yml
@@ -81,6 +81,7 @@ th:
expired: โทเคนการเข้าถึงหมดอายุแล้ว
revoked: เพิกถอนโทเคนการเข้าถึงแล้ว
unknown: โทเคนการเข้าถึงไม่ถูกต้อง
+ unsupported_response_type: เซิร์ฟเวอร์การอนุญาตไม่รองรับชนิดการตอบสนองนี้
flash:
applications:
create:
@@ -104,6 +105,8 @@ th:
admin:read:accounts: อ่านข้อมูลที่ละเอียดอ่อนของบัญชีทั้งหมด
admin:read:reports: อ่านข้อมูลที่ละเอียดอ่อนของรายงานและบัญชีที่ได้รับการรายงานทั้งหมด
admin:write: ปรับเปลี่ยนข้อมูลทั้งหมดในเซิร์ฟเวอร์
+ admin:write:accounts: ทำการกระทำการควบคุมบัญชี
+ admin:write:reports: ทำการกระทำการควบคุมรายงาน
follow: ปรับเปลี่ยนความสัมพันธ์ของบัญชี
push: รับการแจ้งเตือนแบบผลักของคุณ
read: อ่านข้อมูลบัญชีทั้งหมดของคุณ
diff --git a/config/locales/doorkeeper.vi.yml b/config/locales/doorkeeper.vi.yml
index 12592c0f4..82f601790 100644
--- a/config/locales/doorkeeper.vi.yml
+++ b/config/locales/doorkeeper.vi.yml
@@ -4,7 +4,7 @@ vi:
attributes:
doorkeeper/application:
name: Tên ứng dụng
- redirect_uri: Chuyển hướng URI
+ redirect_uri: URL chuyển hướng
scopes: Phạm vi
website: Trang web ứng dụng
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
help:
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.
index:
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.
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_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_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.
@@ -117,35 +117,35 @@ vi:
scopes:
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: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:accounts: thực hiện các 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: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 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
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:accounts: xem thông tin tài khoản
- read:blocks: xem khối của bạn
- read:bookmarks: xem các mục đã lưu
- read:favourites: xem yêu thích của bạn
+ read:blocks: xem những người bạn chặn
+ read:bookmarks: xem những thứ bạn đã lưu
+ read:favourites: xem lượt thích
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: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:reports: xem báo cáo của bạn
read:search: thay mặt bạn tìm kiếm
- read:statuses: xem tất cả các trạng thái
- write: sửa đổi tất cả dữ liệu tài khoản của bạn
- write:accounts: sửa đổi hồ sơ của bạn
- write:blocks: chặn tài khoản và tên miền
- write:bookmarks: những trạng thái đã lưu
- write:favourites: trạng thái yêu thích
+ read:statuses: xem toàn bộ tút
+ write: sửa đổi mọi dữ liệu tài khoản của bạn
+ write:accounts: sửa đổi trang cá nhân của bạn
+ write:blocks: chặn người dùng và máy chủ
+ write:bookmarks: sửa đổi những thứ bạn lưu
+ write:favourites: lượt thích
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:media: tải lên tập tin phương tiện truyền thông
- write:mutes: người câm và nói chuyện
+ write:media: tải lên tập tin
+ 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:reports: báo cáo người khác
- write:statuses: xuất bản trạng thái
+ write:statuses: đăng tút
diff --git a/config/locales/doorkeeper.zh-CN.yml b/config/locales/doorkeeper.zh-CN.yml
index d59c859a3..d30fae50e 100644
--- a/config/locales/doorkeeper.zh-CN.yml
+++ b/config/locales/doorkeeper.zh-CN.yml
@@ -33,7 +33,7 @@ zh-CN:
help:
native_redirect_uri: 本地测试请使用 %{native_redirect_uri}
redirect_uri: 每行只能有一个 URL
- scopes: 用空格分割权限范围,留空则使用默认设置
+ scopes: 用空格分隔权限范围,留空则使用默认设置。
index:
application: 应用
callback_url: 回调 URL
diff --git a/config/locales/es.yml b/config/locales/es.yml
index a87088cbb..aec8db984 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -1154,7 +1154,7 @@ es:
other: "%{count} votos"
vote: Vota
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
title: '%{name}: "%{quote}"'
visibilities:
diff --git a/config/locales/fi.yml b/config/locales/fi.yml
index c5703e596..9d248a6a8 100644
--- a/config/locales/fi.yml
+++ b/config/locales/fi.yml
@@ -4,10 +4,12 @@ fi:
about_hashtag_html: Nämä ovat hashtagilla #%{hashtag} 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_this: Tietoja tästä palvelimesta
+ active_count_after: aktiivinen
administered_by: 'Ylläpitäjä:'
api: API
apps: Mobiili sovellukset
apps_platforms: Käytä Mastodonia iOS:llä, Androidilla tai muilla alustoilla
+ browse_directory: Selaa profiilihakemistoa ja suodata kiinnostuksen kohteiden mukaan
contact: Ota yhteyttä
contact_missing: Ei asetettu
contact_unavailable: Ei saatavilla
@@ -17,6 +19,7 @@ fi:
hosted_on: Mastodon palvelimella %{domain}
learn_more: Lisätietoja
privacy_policy: Tietosuojaseloste
+ see_whats_happening: Näe mitä tapahtuu
server_stats: 'Palvelimen tilastot:'
source_code: Lähdekoodi
status_count_after:
@@ -28,6 +31,10 @@ fi:
unavailable_content_description:
domain: Palvelin
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:
one: käyttäjä
other: käyttäjät
@@ -35,6 +42,7 @@ fi:
what_is_mastodon: Mikä on Mastodon?
accounts:
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
followers:
one: Seuraaja
@@ -66,8 +74,10 @@ fi:
unavailable: Profiili ei saatavilla
unfollow: Lopeta seuraaminen
admin:
+ account_actions:
+ action: Suorita toimenpide
account_moderation_notes:
- create: Luo
+ create: Jätä muistiinpano
created_msg: Moderointimerkinnän luonti onnistui!
delete: Poista
destroyed_msg: Moderointimerkinnän poisto onnistui!
@@ -101,7 +111,9 @@ fi:
enabled: Käytössä
followers: Seuraajat
follows: Seuraa
+ header: Otsakekuva
inbox_url: Saapuvan postilaatikon osoite
+ invited_by: Kutsuja
ip: IP
joined: Liittynyt
location:
@@ -122,7 +134,9 @@ fi:
moderation_notes: Moderointimerkinnät
most_recent_activity: Viimeisin toiminta
most_recent_ip: Viimeisin IP
+ no_limits_imposed: Rajoituksia ei ole asetettu
not_subscribed: Ei tilaaja
+ pending: Odottaa tarkistusta
perform_full_suspension: Siirrä kokonaan jäähylle
promote: Ylennä
protocol: Protokolla
@@ -132,6 +146,7 @@ fi:
reject: Hylkää
reject_all: Hylkää kaikki
remove_avatar: Poista profiilikuva
+ remove_header: Poista otsakekuva
resend_confirmation:
already_confirmed: Tämä käyttäjä on jo vahvistettu
send: Lähetä varmistusviesti uudelleen
@@ -146,6 +161,7 @@ fi:
staff: Henkilöstö
user: Käyttäjä
search: Hae
+ search_same_ip: Muut käyttäjät samalla IP-osoitteella
shared_inbox_url: Jaetun saapuvan postilaatikon osoite
show:
created_reports: Tämän tilin luomat raportit
@@ -155,6 +171,7 @@ fi:
statuses: Tilat
subscribe: Tilaa
suspended: Jäähyllä
+ time_in_queue: Odottaa jonossa %{time}
title: Tilit
unconfirmed_email: Sähköpostia ei vahvistettu
undo_silenced: Peru hiljennys
@@ -164,6 +181,22 @@ fi:
warn: Varoita
web: Verkko
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:
assigned_to_self_report: "%{name} otti raportin %{target} tehtäväkseen"
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"
update_custom_emoji: "%{name} päivitti emojin %{target}"
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
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
custom_emojis:
assign_category: Aseta kategoria
@@ -217,6 +262,7 @@ fi:
listed: Listassa
new:
title: Lisää uusi mukautettu emoji
+ not_permitted: Sinulla ei ole oikeutta suorittaa tätä toimintoa
overwrite: Kirjoita yli
shortcode: Lyhennekoodi
shortcode_hint: Vähintään kaksi merkkiä, vain kirjaimia, numeroita ja alaviivoja
@@ -234,7 +280,18 @@ fi:
feature_invites: Kutsulinkit
feature_profile_directory: Profiilihakemisto
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
+ 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:
add_new: Lisää uusi
created_msg: Verkkotunnuksen estoa käsitellään
@@ -249,8 +306,13 @@ fi:
silence: Hiljennys
suspend: Jäähy
title: Uusi verkkotunnuksen esto
+ private_comment: Yksityinen kommentti
+ public_comment: Julkinen kommentti
reject_media: Hylkää mediatiedostot
reject_media_hint: Poistaa paikallisesti tallennetut mediatiedostot eikä lataa niitä enää jatkossa. Ei merkitystä jäähyn kohdalla
+ severity:
+ silence: hiljennetty
+ suspend: jäähyllä
show:
affected_accounts:
one: Vaikuttaa yhteen tiliin tietokannassa
@@ -272,14 +334,33 @@ fi:
title: Uusi sähköpostiestolistan merkintä
title: Sähköpostiestolista
instances:
+ moderation:
+ all: Kaikki
+ limited: Rajoitettu
+ title: Moderointi
+ private_comment: Yksityinen kommentti
+ public_comment: Julkinen kommentti
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:
+ deactivate_all: Poista kaikki käytöstä
filter:
all: Kaikki
available: Saatavilla
expired: Vanhentunut
title: Suodata
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:
created_msg: Muistiinpano onnistuneesti lisätty raporttiin!
destroyed_msg: Muistiinpano onnistuneesti poistettu raportista!
@@ -318,11 +399,21 @@ fi:
contact_information:
email: Työsähköposti
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:
title: Uudet käyttäjät seuraavat oletuksena tilejä
hero:
desc_html: Näytetään etusivulla. Suosituskoko vähintään 600x100 pikseliä. Jos kuvaa ei aseteta, käytetään instanssin pikkukuvaa
title: Sankarin kuva
+ mascot:
+ title: Maskottikuva
peers_api_enabled:
desc_html: Verkkotunnukset, jotka tämä instanssi on kohdannut fediversumissa
title: Julkaise löydettyjen instanssien luettelo
@@ -336,6 +427,11 @@ fi:
min_invite_role:
disabled: Ei kukaan
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:
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
@@ -348,6 +444,8 @@ fi:
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ä
title: Omavalintaiset laajat tiedot
+ site_short_description:
+ title: Lyhyt instanssin kuvaus
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ä
title: Omavalintaiset käyttöehdot
@@ -359,24 +457,53 @@ fi:
desc_html: Näytä julkinen aikajana aloitussivulla
title: Aikajanan esikatselu
title: Sivuston asetukset
+ trends:
+ title: Trendaavat aihetunnisteet
+ site_uploads:
+ delete: Poista ladattu tiedosto
statuses:
back_to_account: Takaisin tilin sivulle
batch:
delete: Poista
nsfw_off: NSFW POIS
nsfw_on: NSFW PÄÄLLÄ
+ deleted: Poistettu
failed_to_execute: Suoritus epäonnistui
+ media:
+ title: Media
no_media: Ei mediaa
title: Tilin tilat
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
+ warning_presets:
+ add_new: Lisää uusi
+ delete: Poista
admin_mailer:
new_report:
body: "%{reporter} on raportoinut kohteen %{target}"
body_remote: Joku osoitteesta %{domain} on raportoinut kohteen %{target}
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:
notification_preferences: Muuta sähköpostiasetuksia
+ salutation: "%{name},"
settings: 'Muuta sähköpostiasetuksia: %{link}'
view: 'Näytä:'
view_profile: Näytä profiili
@@ -390,9 +517,13 @@ fi:
warning: Säilytä tietoa hyvin. Älä milloinkaan jaa sitä muille!
your_token: Pääsytunnus
auth:
+ apply_for_account: Pyydä kutsu
change_password: Salasana
delete_account: Poista tili
delete_account_html: Jos haluat poistaa tilisi, paina tästä. 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?
forgot_password: Unohditko salasanasi?
invalid_reset_password_token: Salasananpalautustunnus on virheellinen tai vanhentunut. Pyydä uusi.
@@ -406,6 +537,10 @@ fi:
reset_password: Palauta salasana
security: Tunnukset
set_new_password: Aseta uusi salasana
+ status:
+ account_status: Tilin tila
+ functional: Tilisi on täysin toimiva.
+ trouble_logging_in: Ongelmia kirjautumisessa?
authorize_follow:
already_following: Sinä seuraat jo tätä tiliä
error: Valitettavasti etätilin haussa tapahtui virhe
@@ -417,6 +552,8 @@ fi:
return: Palaa käyttäjän profiiliin
web: Siirry verkkosivulle
title: Seuraa käyttäjää %{acct}
+ challenge:
+ confirm: Jatka
datetime:
distance_in_words:
about_x_hours: "%{count} h"
@@ -435,6 +572,16 @@ fi:
confirm_password: Tunnistaudu syöttämällä nykyinen salasanasi
proceed: Poista tili
success_msg: Tilin poisto onnistui
+ warning:
+ more_details_html: Lisätietoja saat tietosuojakäytännöstämme.
+ 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:
'400': The request you submitted was invalid or malformed.
'403': Sinulla ei ole lupaa nähdä tätä sivua.
@@ -459,14 +606,44 @@ fi:
request: Pyydä arkisto
size: Koko
blocks: Estot
+ lists: Listat
mutes: Mykistetyt
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:
+ all: Kaikki
changes_saved_msg: Muutosten tallennus onnistui!
+ copy: Kopioi
+ delete: Poista
+ order_by: Järjestä
save_changes: Tallenna muutokset
validation_errors:
one: Kaikki ei ole aivan oikein! Tarkasta alla oleva virhe
other: Kaikki ei ole aivan oikein! Tarkasta alla olevat %{count} virhettä
+ identity_proofs:
+ active: Aktiivinen
+ authorize: Kyllä, valtuuta
imports:
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
@@ -506,6 +683,16 @@ fi:
too_many: Tiedostoja voi liittää enintään 4
migrations:
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:
title: Moderointi
notification_mailer:
@@ -548,6 +735,7 @@ fi:
format: "%n %u"
units:
billion: Mrd
+ million: M
quadrillion: Brd
thousand: k
trillion: B
@@ -556,8 +744,22 @@ fi:
next: Seuraava
older: Vanhemmat
prev: Edellinen
+ polls:
+ errors:
+ duration_too_long: on liian kaukana tulevaisuudessa
+ duration_too_short: on liian aikainen
+ expired: Äänestys on jo loppunut
preferences:
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:
acct: Syötä se käyttäjätunnus@verkkotunnus, josta haluat seurata
missing_resource: Vaadittavaa uudelleenohjaus-URL:ää tiliisi ei löytynyt
@@ -567,27 +769,62 @@ fi:
activity: Viimeisin toiminta
browser: Selain
browsers:
+ alipay: Alipay
+ blackberry: Blackberry
+ chrome: Chrome
+ edge: Microsoft Edge
+ electron: Electron
+ firefox: Firefox
generic: Tuntematon selain
+ ie: Internet Explorer
+ micro_messenger: MicroMessenger
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
description: "%{browser}, %{platform}"
explanation: Nämä verkkoselaimet ovat tällä hetkellä kirjautuneet Mastodon-tilillesi.
+ ip: IP-osoite
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ä
+ windows: Windows
+ windows_mobile: Windows Mobile
+ windows_phone: Windows Phone
revoke: Hylkää
revoke_success: Istunnon hylkäys onnistui
title: Istunnot
settings:
+ account: Tili
+ account_settings: Tilin asetukset
+ aliases: Tilin aliakset
+ appearance: Ulkoasu
authorized_apps: Valtuutetut sovellukset
back: Takaisin Mastodoniin
delete: Tilin poisto
development: Kehittäminen
edit_profile: Muokkaa profiilia
export: Vie tietoja
+ featured_tags: Esitellyt aihetunnisteet
import: Tuo
+ import_and_export: Tuo / Vie
migrate: Tilin muutto muualle
notifications: Ilmoitukset
preferences: Ominaisuudet
+ profile: Profiili
+ relationships: Seurattavat ja seuraajat
two_factor_authentication: Kaksivaiheinen todentaminen
statuses:
attached:
@@ -599,6 +836,7 @@ fi:
disallowed_hashtags:
one: 'sisälsi aihetunnisteen jota ei sallita: %{tags}'
other: 'sisälsi aihetunnisteet joita ei sallita: %{tags}'
+ language_detection: Tunnista kieli automaattisesti
open_in_web: Avaa selaimessa
over_character_limit: merkkimäärän rajoitus %{max} ylitetty
pin_errors:
@@ -606,7 +844,17 @@ fi:
ownership: Muiden tuuttauksia ei voi kiinnittää
private: Piilotettua tuuttausta 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_thread: Näytä ketju
+ sign_in_to_participate: Kirjaudu sisään osallistuaksesi keskusteluun
title: "%{name}: ”%{quote}”"
visibilities:
private: Vain seuraajille
diff --git a/config/locales/kab.yml b/config/locales/kab.yml
index 1d34355b3..07fd3e3df 100644
--- a/config/locales/kab.yml
+++ b/config/locales/kab.yml
@@ -132,6 +132,7 @@ kab:
reject: Aggi
reject_all: Aggi-ten akk
remove_avatar: Kkes tugna n umaɣnu
+ remove_header: Kkes tacacit
resend_confirmation:
already_confirmed: Amseqdac-agi yettwasentem yakan
send: Azen tikelt-nniḍen imayl n usentem
@@ -161,6 +162,7 @@ kab:
action_logs:
action_types:
disable_2fa_user: Gdel 2FA
+ enable_user: Rmed aseqdac
remove_avatar_user: Kkes avaṭar
reset_password_user: Ales awennez n wawal n uffir
silence_account: Sgugem amiḍan
@@ -188,6 +190,7 @@ kab:
update_status: "%{name} yelqem tasuffeɣt n %{target}"
deleted_status: "(tasuffeɣt tettwakkes)"
empty: Ulac iɣmisen i yellan.
+ filter_by_user: Sizdeg s useqdac
title: Aɣmis n usenqed
announcements:
edit:
@@ -227,6 +230,7 @@ kab:
upload: Sali
dashboard:
config: Tawila
+ feature_deletions: Imiḍan yettwaksen
feature_invites: Iseɣwan n iɛaṛuḍen
feature_profile_directory: Akaram n imaɣnuten
feature_registrations: Ajerred
@@ -517,6 +521,7 @@ kab:
'604800': 1 umalas
'86400': 1 wass
expires_in_prompt: Werǧin
+ invited_by: 'Tettwaɛraḍeḍ s ɣur:'
max_uses_prompt: Ulac talast
table:
expires_at: Ad ifat di
@@ -544,6 +549,7 @@ kab:
number:
human:
decimal_units:
+ format: "%n%u"
units:
million: A
trillion: Am
@@ -571,6 +577,8 @@ kab:
remote_interaction:
favourite:
proceed: Kemmel asmenyef
+ reblog:
+ proceed: Sentem beṭṭu
reply:
proceed: Kemmel tiririt
sessions:
@@ -629,6 +637,9 @@ kab:
relationships: Imeḍfaṛen akked wid i teṭṭafaṛeḍ
statuses:
attached:
+ audio:
+ one: "%{count} n imesli"
+ other: "%{count} n imesliyen"
image:
one: "%{count} tugna"
other: "%{count} tugniwin"
@@ -641,6 +652,9 @@ kab:
total_people:
one: "%{count} n wemdan"
other: "%{count} n yemdanen"
+ total_votes:
+ one: "%{count} n wedɣar"
+ other: "%{count} n yedɣaren"
vote: Dɣeṛ
show_more: Ssken-d ugar
show_thread: Ssken-d lxiḍ
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index c92b6c1db..8c2af7e42 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -1282,6 +1282,10 @@ nl:
title: Archief ophalen
sign_in_token:
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:
explanation:
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}!
users:
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_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}
seamless_external_login: Je bent ingelogd via een externe dienst, daarom zijn wachtwoorden en e-mailinstellingen niet beschikbaar.
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:
explanation_html: 'Je kunt jezelf verifiëren als de eigenaar van de links in de metadata van jouw profiel. Hiervoor moet op de gelinkte website een link terug naar jouw Mastodonprofiel staan. Deze link moet het rel="me"
-attribuut bevatten. De omschrijving van de link maakt niet uit. Hier is een voorbeeld:'
verification: Verificatie
diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml
index 5bfcae592..1b4acc9b9 100644
--- a/config/locales/simple_form.fi.yml
+++ b/config/locales/simple_form.fi.yml
@@ -2,8 +2,18 @@
fi:
simple_form:
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:
+ 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
+ type_html: Valitse mitä teet käyttäjälle %{acct}
+ announcement:
+ scheduled_at: Jätä tyhjäksi julkaistaksesi ilmoituksen välittömästi
defaults:
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
@@ -26,12 +36,29 @@ fi:
labels:
account:
fields:
+ name: Nimike
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:
+ autofollow: Kutsu seuraamaan tiliäsi
avatar: Profiilikuva
bot: Tämä on botti
+ chosen_languages: Suodata kieliä
confirm_new_password: Vahvista uusi salasana
confirm_password: Vahvista salasana
+ context: Suodata konteksteista
current_password: Nykyinen salasana
data: Tiedot
discoverable: Listaa tämä tili hakemistoon
@@ -47,32 +74,62 @@ fi:
note: Kuvaus
otp_attempt: Kaksivaiheisen tunnistuksen koodi
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_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_sensitive: Merkitse media aina arkaluontoiseksi
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_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_theme: Sivuston teema
+ setting_trends: Näytä päivän trendit
setting_unfollow_modal: Kysy vahvistusta, ennen kuin lopetat seuraamisen
+ setting_use_pending_items: Hidastila
severity: Vakavuus
+ sign_in_token_attempt: Turvakoodi
type: Tietojen laji
username: Käyttäjänimi
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:
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_dm: Estä suorat viestit käyttäjiltä, joita et seuraa
+ invite:
+ comment: Kommentoi
+ invite_request:
+ text: Miksi haluat liittyä?
notification_emails:
digest: Lähetä koosteviestejä sähköpostitse
favourite: Lähetä sähköposti, kun joku tykkää tilastasi
follow: Lähetä sähköposti, kun joku seuraa sinua
follow_request: Lähetä sähköposti, kun joku pyytää seurata sinua
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
+ tag:
+ name: Aihetunniste
+ trendable: Salli tämän aihetunnisteen näkyä trendeissä
+ usable: Salli tuuttauksien käyttää tätä aihetunnistetta
'no': Ei
+ recommended: Suositeltu
required:
+ mark: "*"
text: pakollinen tieto
'yes': Kyllä
diff --git a/config/locales/simple_form.kab.yml b/config/locales/simple_form.kab.yml
index d76af2c57..6976ed433 100644
--- a/config/locales/simple_form.kab.yml
+++ b/config/locales/simple_form.kab.yml
@@ -72,6 +72,7 @@ kab:
setting_hide_network: Ffer azetta-k·m
setting_theme: Asental n wesmel
setting_use_pending_items: Askar aleγwayan
+ sign_in_token_attempt: Tangalt n tɣellist
username: Isem n useqdac
username_or_email: Isem n useqdac neγ imal
whole_word: Awal akk
@@ -81,6 +82,8 @@ kab:
comment: Awennit
invite_request:
text: Acimi tebγiḍ ad ternuḍ iman-ik?
+ notification_emails:
+ mention: Yuder-ik·em-id walbɛaḍ
tag:
name: Ahacṭag
'no': Ala
diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml
index ee1476b9e..3ed64c322 100644
--- a/config/locales/simple_form.th.yml
+++ b/config/locales/simple_form.th.yml
@@ -53,7 +53,7 @@ th:
username: ชื่อผู้ใช้ของคุณจะไม่ซ้ำกันใน %{domain}
whole_word: เมื่อคำสำคัญหรือวลีเป็นตัวอักษรและตัวเลขเท่านั้น จะนำไปใช้กับคำสำคัญหรือวลีหากตรงกันทั้งคำเท่านั้น
domain_allow:
- domain: โดเมนนี้จะสามารถดึงข้อมูลจากเซิร์ฟเวอร์นี้และข้อมูลขาเข้าจากโดเมนจะได้รับการประมวลผลและจัดเก็บ
+ domain: โดเมนนี้จะสามารถดึงข้อมูลจากเซิร์ฟเวอร์นี้และจะประมวลผลและจัดเก็บข้อมูลขาเข้าจากโดเมน
email_domain_block:
with_dns_records: จะทำการพยายามแปลงที่อยู่ระเบียน DNS ของโดเมนที่กำหนดและจะขึ้นบัญชีดำผลลัพธ์เช่นกัน
featured_tag:
diff --git a/config/locales/simple_form.vi.yml b/config/locales/simple_form.vi.yml
index 5251ab114..afa80821b 100644
--- a/config/locales/simple_form.vi.yml
+++ b/config/locales/simple_form.vi.yml
@@ -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ọ
text_html: Tùy chọn. Bạn có thể sử dụng cảnh cáo cài sẵn để tiết kiệm thời gian
type_html: Chọn làm gì với %{acct}
- 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:
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
@@ -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ể
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:
- 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
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
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
- 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
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
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
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ự
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.
- 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_display_media_default: Ẩn ảnh hoặc video được đánh dấu là nhạy cảm
- setting_display_media_hide_all: Luôn ẩn ảnh và video
- setting_display_media_show_all: Luôn hiện ảnh và video
- 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_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 luôn ẩn
+ setting_display_media_show_all: Luôn luôn hiển thị
+ 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_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
@@ -64,13 +64,13 @@ vi:
imports:
data: Tệp CSV được xuất từ máy chủ Mastodon khác
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:
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:
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:
- 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:
account:
fields:
@@ -85,15 +85,15 @@ vi:
title: Tựa đề
admin_account_action:
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
- text: Tùy chỉnh cảnh báo
- type: Hoạt động
+ send_email_notification: Thông báo cho người này qua email
+ text: Ghi chú cảnh cáo
+ type: Hành động
types:
disable: Vô hiệu hóa đăng nhập
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
- 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:
all_day: Sự kiện diễn ra hằng ngày
ends_at: Kết thúc sự kiện
@@ -103,7 +103,7 @@ vi:
defaults:
autofollow: Mời theo dõi tài khoản của bạ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ữ
confirm_new_password: Xác nhận mật khẩu mới
confirm_password: Xác nhận mật khẩu
@@ -114,12 +114,12 @@ vi:
display_name: Tên hiển thị
email: Địa chỉ email
expires_in: Hết hạn sau
- fields: Hồ sơ metadata
+ fields: Metadata
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
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
new_password: Mật khẩu mới
note: Tiểu sử
@@ -127,20 +127,20 @@ vi:
password: Mật khẩu
phrase: Từ khóa hoặc cụm từ
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_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_default_language: Ngôn ngữ đă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_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_hide_all: Ẩ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_hide_network: Ẩn máy chủ của bạn
+ setting_expand_spoilers: Luôn hiển thị toàn bộ tút (no spoiler)
+ 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_reduce_motion: Giảm chuyển động ảnh GIF
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
severity: Mức độ nghiêm trọng
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_or_email: Tên người dùng hoặc email
whole_word: Cả từ
@@ -170,7 +170,7 @@ vi:
text: Tại sao bạn muốn tham gia?
notification_emails:
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_request: Ai đó yêu cầu theo dõi bạn
mention: Ai đó nhắc đến bạn
@@ -183,9 +183,9 @@ vi:
name: Hashtag
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
- 'no': Không
+ 'no': Tắt
recommended: Khuyến nghị
required:
mark: "*"
text: yêu cầu
- 'yes': Đúng
+ 'yes': Bật
diff --git a/config/locales/th.yml b/config/locales/th.yml
index f5bab5d30..1917a65eb 100644
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -35,9 +35,11 @@ th:
unavailable_content_description:
domain: เซิร์ฟเวอร์
reason: เหตุผล
- rejecting_media: 'ไฟล์สื่อจากเซิร์ฟเวอร์เหล่านี้จะไม่ได้รับการประมวลผลหรือจัดเก็บ และจะไม่แสดงภาพขนาดย่อ ต้องมีการคลิกไปยังไฟล์ต้นฉบับด้วยตนเอง:'
+ rejecting_media: 'จะไม่ประมวลผลหรือจัดเก็บไฟล์สื่อจากเซิร์ฟเวอร์เหล่านี้ และจะไม่แสดงภาพขนาดย่อ ต้องมีการคลิกไปยังไฟล์ต้นฉบับด้วยตนเอง:'
rejecting_media_title: สื่อที่กรองอยู่
+ silenced: 'จะซ่อนโพสต์จากเซิร์ฟเวอร์เหล่านี้ในเส้นเวลาสาธารณะและการสนทนา และจะไม่สร้างการแจ้งเตือนจากการโต้ตอบของผู้ใช้ เว้นแต่คุณกำลังติดตามผู้ใช้:'
silenced_title: เซิร์ฟเวอร์ที่เงียบอยู่
+ suspended: 'จะไม่ประมวลผล จัดเก็บ หรือแลกเปลี่ยนข้อมูลจากเซิร์ฟเวอร์เหล่านี้ ทำให้การโต้ตอบหรือการสื่อสารใด ๆ กับผู้ใช้จากเซิร์ฟเวอร์เหล่านี้เป็นไปไม่ได้:'
suspended_title: เซิร์ฟเวอร์ที่ระงับอยู่
user_count_after:
other: ผู้ใช้
@@ -74,13 +76,14 @@ th:
admin:
account_actions:
action: ทำการกระทำ
+ title: ทำการกระทำการควบคุม %{acct}
account_moderation_notes:
create: เขียนหมายเหตุ
created_msg: สร้างหมายเหตุการควบคุมสำเร็จ!
delete: ลบ
destroyed_msg: ทำลายหมายเหตุการควบคุมสำเร็จ!
accounts:
- add_email_domain_block: ขึ้นบัญชีดำโดเมนอีเมล
+ add_email_domain_block: ปิดกั้นโดเมนอีเมล
approve: อนุมัติ
approve_all: อนุมัติทั้งหมด
are_you_sure: คุณแน่ใจหรือไม่?
@@ -133,6 +136,7 @@ th:
moderation_notes: หมายเหตุการควบคุม
most_recent_activity: กิจกรรมล่าสุด
most_recent_ip: IP ล่าสุด
+ no_limits_imposed: ไม่มีขีดจำกัดที่กำหนด
not_subscribed: ไม่ได้บอกรับ
pending: การตรวจทานที่รอดำเนินการ
perform_full_suspension: ระงับ
@@ -178,7 +182,7 @@ th:
username: ชื่อผู้ใช้
warn: เตือน
web: เว็บ
- whitelisted: ขึ้นบัญชีขาวแล้ว
+ whitelisted: อนุญาตการติดต่อกับภายนอกแล้ว
action_logs:
action_types:
assigned_to_self_report: มอบหมายรายงาน
@@ -217,20 +221,21 @@ th:
update_custom_emoji: อัปเดตอีโมจิที่กำหนดเอง
update_status: อัปเดตสถานะ
actions:
+ assigned_to_self_report: "%{name} ได้มอบหมายรายงาน %{target} ให้กับตนเอง"
change_email_user: "%{name} ได้เปลี่ยนที่อยู่อีเมลของผู้ใช้ %{target}"
confirm_user: "%{name} ได้ยืนยันที่อยู่อีเมลของผู้ใช้ %{target}"
create_account_warning: "%{name} ได้ส่งคำเตือนไปยัง %{target}"
create_announcement: "%{name} ได้สร้างประกาศใหม่ %{target}"
create_custom_emoji: "%{name} ได้อัปโหลดอีโมจิใหม่ %{target}"
- create_domain_allow: "%{name} ได้ขึ้นบัญชีขาวโดเมน %{target}"
+ create_domain_allow: "%{name} ได้อนุญาตการติดต่อกับภายนอกกับโดเมน %{target}"
create_domain_block: "%{name} ได้ปิดกั้นโดเมน %{target}"
- create_email_domain_block: "%{name} ได้ขึ้นบัญชีดำโดเมนอีเมล %{target}"
+ create_email_domain_block: "%{name} ได้ปิดกั้นโดเมนอีเมล %{target}"
demote_user: "%{name} ได้ลดขั้นผู้ใช้ %{target}"
destroy_announcement: "%{name} ได้ลบประกาศ %{target}"
destroy_custom_emoji: "%{name} ได้ทำลายอีโมจิ %{target}"
- destroy_domain_allow: "%{name} ได้เอาโดเมน %{target} ออกจากบัญชีขาว"
+ destroy_domain_allow: "%{name} ได้ไม่อนุญาตการติดต่อกับภายนอกกับโดเมน %{target}"
destroy_domain_block: "%{name} ได้เลิกปิดกั้นโดเมน %{target}"
- destroy_email_domain_block: "%{name} ได้ขึ้นบัญชีขาวโดเมนอีเมล %{target}"
+ destroy_email_domain_block: "%{name} ได้เลิกปิดกั้นโดเมนอีเมล %{target}"
destroy_status: "%{name} ได้เอาสถานะโดย %{target} ออก"
disable_2fa_user: "%{name} ได้ปิดใช้งานความต้องการสองปัจจัยสำหรับผู้ใช้ %{target}"
disable_custom_emoji: "%{name} ได้ปิดใช้งานอีโมจิ %{target}"
@@ -327,12 +332,12 @@ th:
week_interactions: การโต้ตอบในสัปดาห์นี้
week_users_active: ใช้งานอยู่ในสัปดาห์นี้
week_users_new: ผู้ใช้ในสัปดาห์นี้
- whitelist_mode: โหมดบัญชีขาว
+ whitelist_mode: โหมดการติดต่อกับภายนอกแบบจำกัด
domain_allows:
- add_new: ขึ้นบัญชีขาวโดเมน
- created_msg: ขึ้นบัญชีขาวโดเมนสำเร็จ
- destroyed_msg: เอาโดเมนออกจากบัญชีขาวแล้ว
- undo: เอาออกจากบัญชีขาว
+ add_new: อนุญาตการติดต่อกับภายนอกกับโดเมน
+ created_msg: อนุญาตการติดต่อกับภายนอกกับโดเมนสำเร็จ
+ destroyed_msg: ไม่อนุญาตการติดต่อกับภายนอกกับโดเมนแล้ว
+ undo: ไม่อนุญาตการติดต่อกับภายนอกกับโดเมน
domain_blocks:
add_new: เพิ่มการปิดกั้นโดเมนใหม่
created_msg: กำลังประมวลผลการปิดกั้นโดเมน
@@ -353,6 +358,8 @@ th:
reject_media: ปฏิเสธไฟล์สื่อ
reject_media_hint: เอาไฟล์สื่อที่จัดเก็บไว้ในเซิร์ฟเวอร์ออกและปฏิเสธที่จะดาวน์โหลดไฟล์ใด ๆ ในอนาคต ไม่เกี่ยวข้องกับการระงับ
reject_reports: ปฏิเสธรายงาน
+ rejecting_media: กำลังปฏิเสธไฟล์สื่อ
+ rejecting_reports: กำลังปฏิเสธรายงาน
severity:
silence: เงียบอยู่
suspend: ระงับอยู่
@@ -368,16 +375,16 @@ th:
view: ดูการปิดกั้นโดเมน
email_domain_blocks:
add_new: เพิ่มใหม่
- created_msg: เพิ่มโดเมนอีเมลเป็นบัญชีดำสำเร็จ
+ created_msg: ปิดกั้นโดเมนอีเมลสำเร็จ
delete: ลบ
- destroyed_msg: ลบโดเมนอีเมลออกจากบัญชีดำสำเร็จ
+ destroyed_msg: เลิกปิดกั้นโดเมนอีเมลสำเร็จ
domain: โดเมน
- empty: ไม่มีโดเมนอีเมลที่ขึ้นบัญชีดำอยู่
+ empty: ไม่มีโดเมนอีเมลที่ปิดกั้นอยู่
from_html: จาก %{domain}
new:
create: เพิ่มโดเมน
- title: รายการบัญชีดำอีเมลใหม่
- title: บัญชีดำอีเมล
+ title: ปิดกั้นโดเมนอีเมลใหม่
+ title: โดเมนอีเมลที่ปิดกั้นอยู่
instances:
by_domain: โดเมน
known_accounts:
@@ -456,6 +463,8 @@ th:
username: ชื่อผู้ใช้ในการติดต่อ
custom_css:
title: CSS ที่กำหนดเอง
+ default_noindex:
+ desc_html: มีผลต่อผู้ใช้ทั้งหมดที่ไม่ได้เปลี่ยนการตั้งค่านี้ด้วยตนเอง
domain_blocks:
all: ให้กับทุกคน
disabled: ให้กับไม่มีใคร
@@ -472,6 +481,8 @@ th:
peers_api_enabled:
desc_html: ชื่อโดเมนที่เซิร์ฟเวอร์นี้ได้พบในเฟดิเวิร์ส
title: เผยแพร่รายการเซิร์ฟเวอร์ที่ค้นพบ
+ preview_sensitive_media:
+ title: แสดงสื่อที่ละเอียดอ่อนในตัวอย่าง OpenGraph
profile_directory:
desc_html: อนุญาตให้ผู้ใช้สามารถค้นพบได้
title: เปิดใช้งานไดเรกทอรีโปรไฟล์
@@ -512,6 +523,8 @@ th:
desc_html: แสดงลิงก์ไปยังเส้นเวลาสาธารณะในหน้าเริ่มต้นและอนุญาตการเข้าถึง API ไปยังเส้นเวลาสาธารณะโดยไม่มีการรับรองความถูกต้อง
title: อนุญาตการเข้าถึงเส้นเวลาสาธารณะที่ไม่ได้รับรองความถูกต้อง
title: การตั้งค่าไซต์
+ trendable_by_default:
+ desc_html: มีผลต่อแฮชแท็กที่ไม่ได้ไม่อนุญาตก่อนหน้านี้
trends:
title: แฮชแท็กที่กำลังนิยม
site_uploads:
@@ -580,6 +593,8 @@ th:
created: สร้างแอปพลิเคชันสำเร็จ
destroyed: ลบแอปพลิเคชันสำเร็จ
invalid_url: URL ที่ระบุไม่ถูกต้อง
+ regenerate_token: สร้างโทเคนการเข้าถึงใหม่
+ token_regenerated: สร้างโทเคนการเข้าถึงใหม่สำเร็จ
your_token: โทเคนการเข้าถึงของคุณ
auth:
apply_for_account: ขอคำเชิญ
@@ -588,6 +603,7 @@ th:
checkbox_agreement_without_rules_html: ฉันยอมรับ เงื่อนไขการให้บริการ
delete_account: ลบบัญชี
description:
+ prefix_invited_by_user: "@%{name} เชิญคุณเข้าร่วมเซิร์ฟเวอร์ Mastodon นี้!"
prefix_sign_up: ลงทะเบียนใน Mastodon วันนี้!
didnt_get_confirmation: ไม่ได้รับคำแนะนำการยืนยัน?
forgot_password: ลืมรหัสผ่านของคุณ?
@@ -603,6 +619,9 @@ th:
reset_password: ตั้งรหัสผ่านใหม่
security: ความปลอดภัย
set_new_password: ตั้งรหัสผ่านใหม่
+ setup:
+ email_below_hint_html: หากที่อยู่อีเมลด้านล่างไม่ถูกต้อง คุณสามารถเปลี่ยนที่อยู่อีเมลที่นี่และรับอีเมลยืนยันใหม่
+ email_settings_hint_html: ส่งอีเมลยืนยันไปยัง %{email} แล้ว หากที่อยู่อีเมลนั้นไม่ถูกต้อง คุณสามารถเปลี่ยนที่อยู่อีเมลในการตั้งค่าบัญชี
status:
account_status: สถานะบัญชี
confirming: กำลังรอการยืนยันอีเมลให้เสร็จสมบูรณ์
@@ -673,6 +692,7 @@ th:
title: การตรวจสอบความปลอดภัยล้มเหลว
'429': คำขอมากเกินไป
'500':
+ content: เราขออภัย แต่มีบางอย่างผิดพลาดในส่วนของเรา
title: หน้านี้ไม่ถูกต้อง
'503': The page could not be served due to a temporary server failure.
existing_username_validator:
@@ -724,12 +744,15 @@ th:
identity_proofs:
active: ใช้งานอยู่
authorize: ใช่ อนุญาต
+ i_am_html: ฉันคือ %{username} ใน %{service}
identity: ตัวตน
inactive: ไม่ได้ใช้งาน
publicize_checkbox: 'และโพสต์สิ่งนี้:'
+ publicize_toot: 'พิสูจน์ตัวตนแล้ว! ฉันคือ %{username} ใน %{service}: %{url}'
remove: เอาการพิสูจน์ออกจากบัญชี
removed: เอาการพิสูจน์ออกจากบัญชีสำเร็จ
status: สถานะการตรวจสอบ
+ view_proof: ดูการพิสูจน์
imports:
modes:
merge: ผสาน
@@ -995,6 +1018,7 @@ th:
enabled_success: เปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยสำเร็จ
generate_recovery_codes: สร้างรหัสกู้คืน
recovery_codes: รหัสกู้คืนข้อมูลสำรอง
+ recovery_codes_regenerated: สร้างรหัสกู้คืนใหม่สำเร็จ
setup: ตั้งค่า
wrong_code: รหัสที่ป้อนไม่ถูกต้อง! เวลาเซิร์ฟเวอร์และเวลาอุปกรณ์ถูกต้องหรือไม่?
user_mailer:
diff --git a/config/locales/vi.yml b/config/locales/vi.yml
index 1b5cfe1d1..d2de33d8b 100644
--- a/config/locales/vi.yml
+++ b/config/locales/vi.yml
@@ -3,14 +3,14 @@ vi:
about:
about_hashtag_html: Đây là các tút công khai được gắn thẻ #%{hashtag}. Chỉ cần bạn có tài khoản ở bất cứ đâu trong mạng liên kết là bạn có thể tương tác với chúng.
about_mastodon_html: 'Mạng xã hội của tương lai: Không quảng cáo, không theo dõi người dùng và phi tập quyền! Làm chủ quyền riêng tư của bạn với Mastodon!'
- about_this: Trong khoảng
+ about_this: Giới thiệu
active_count_after: hoạt động
active_footnote: Người dùng hoạt động hàng tháng
administered_by: 'Quản trị viên:'
api: API
apps: Ứng dụng di động
apps_platforms: Lướt Mastodon trên iOS, Android và các nền tảng khác
- browse_directory: Những ai đã tham gia máy chủ này?
+ browse_directory: Tìm những người có sở thích giống bạn
browse_local_posts: Xem thử những tút công khai gần đây
browse_public_posts: Xem thử những tút công khai trên mạng Mastodon
contact: Liên lạc
@@ -32,15 +32,15 @@ vi:
status_count_before: Nơi lưu giữ
tagline: Mạng xã hội liên hợp lớn nhất thế giới
terms: Điều khoản dịch vụ
- unavailable_content: Máy chủ bị giới hạn
+ unavailable_content: Giới hạn chung
unavailable_content_description:
domain: Máy chủ
reason: Lý do
- rejecting_media: 'Ảnh và video từ những máy chủ sau sẽ không được xử lý, lưu trữ và hiển thị hình thu nhỏ, bắt buộc nhấp thủ công vào tệp gốc để xem:'
+ rejecting_media: 'Ảnh và video từ những máy chủ sau sẽ không được xử lý, lưu trữ và hiển thị hình thu nhỏ. Bắt buộc nhấp thủ công vào tệp gốc để xem:'
rejecting_media_title: Ảnh và các thứ đã lọc
silenced: 'Tút từ những máy chủ sau sẽ bị ẩn trên bảng tin, trong tin nhắn và không có thông báo nào được tạo từ các tương tác của người dùng của họ, trừ khi bạn có theo dõi người dùng của họ:'
- silenced_title: Những máy chủ đã bị tạm ẩn
- suspended: 'Những máy chủ sau sẽ không được xử lý, lưu trữ hoặc trao đổi nội dung. Mọi tương tác hoặc giao tiếp với người dùng từ các máy chủ này cũng bị cấm:'
+ silenced_title: Những máy chủ bị ẩn
+ suspended: 'Những máy chủ sau sẽ không được xử lý, lưu trữ hoặc trao đổi nội dung. Mọi tương tác hoặc giao tiếp với người dùng từ các máy chủ này đều bị cấm:'
suspended_title: Những máy chủ bị vô hiệu hóa
unavailable_content_html: Mastodon cho phép bạn xem nội dung và tương tác với người dùng từ bất kỳ máy chủ nào khác trong mạng liên kết. Còn máy chủ này có những ngoại lệ riêng.
user_count_after:
@@ -56,11 +56,11 @@ vi:
other: Người theo dõi
following: Đang theo dõi
joined: Đã tham gia %{date}
- last_active: hoạt động gần đây
+ last_active: hoạt động cuối
link_verified_on: Liên kết này đã được xác thực quyền sở hữu vào %{date}
media: Bộ sưu tập
moved_html: "%{name} đã dời sang %{new_profile_link}:"
- network_hidden: Thông tin này không còn tồn tại
+ network_hidden: Người dùng đã ẩn thông tin này
never_active: Chưa có
nothing_here: Chưa đăng tút nào cả!
people_followed_by: Những người %{name} theo dõi
@@ -74,7 +74,7 @@ vi:
reserved_username: Tên người dùng đã có rồi
roles:
admin: Quản trị viên
- bot: Người máy
+ bot: Tài khoản Bot
group: Nhóm
moderator: Kiểm duyệt viên
unavailable: Tài khoản không còn nữa
@@ -84,8 +84,8 @@ vi:
action: Thực hiện các hành động
title: Thực hiện kiểm duyệt với %{acct}
account_moderation_notes:
- create: Để lại lời nhắn
- created_msg: Để lại lời nhắn kiểm duyệt thành công!
+ create: Gửi tin nhắn kiểm duyệt
+ created_msg: Gửi tin nhắn kiểm duyệt thành công!
delete: Xóa bỏ
destroyed_msg: Đã ghi chú kiểm duyệt xong!
accounts:
@@ -120,7 +120,7 @@ vi:
followers: Người theo dõi
follows: Đang theo dõi
header: Ảnh bìa
- inbox_url: URL hộp thư đến
+ inbox_url: Hộp thư của người này
invited_by: Được mời bởi
ip: IP
joined: Đã tham gia
@@ -140,7 +140,7 @@ vi:
suspended: Vô hiệu hóa
title: Kiểm duyệt
moderation_notes: Nhật ký kiểm duyệt
- most_recent_activity: Hoạt động gần đây nhất
+ most_recent_activity: Hoạt động lần cuối
most_recent_ip: IP gần đây nhất
no_account_selected: Không có tài khoản nào thay đổi vì không có tài khoản nào được chọn
no_limits_imposed: Không áp đặt giới hạn
@@ -172,7 +172,7 @@ vi:
search: Tìm kiếm
search_same_email_domain: Tìm người dùng có cùng địa chỉ email
search_same_ip: Tìm người dùng có cùng IP
- shared_inbox_url: Chia sẻ URL hộp thư đến
+ shared_inbox_url: Hộp thư của máy chủ người này
show:
created_reports: Xuất báo cáo
targeted_reports: Báo cáo bởi người khác
@@ -268,7 +268,7 @@ vi:
empty: Không tìm thấy bản ghi.
filter_by_action: Lọc theo hành động
filter_by_user: Lọc theo người dùng
- title: Nhật ký đánh giá
+ title: Nhật ký kiểm duyệt
announcements:
destroyed_msg: Xóa thông báo thành công!
edit:
@@ -277,7 +277,7 @@ vi:
live: Trực tiếp
new:
create: Tạo thông báo
- title: Thông báo mới
+ title: Tạo thông báo mới
published_msg: Truyền đi thông báo thành công!
scheduled_for: Đã lên lịch %{time}
scheduled_msg: Thông báo đã lên lịch!
@@ -310,7 +310,7 @@ vi:
overwrite: Ghi đè
shortcode: Viết tắt
shortcode_hint: Ít nhất 2 ký tự, chỉ các ký tự chữ và số và dấu gạch dưới
- title: Tùy chỉnh Emoji
+ title: Emoji
uncategorized: Chưa phân loại
unlist: Bỏ danh sách
unlisted: Chưa niêm yết
@@ -318,11 +318,11 @@ vi:
updated_msg: Cập nhật thành công Emoji!
upload: Tải lên
dashboard:
- authorized_fetch_mode: Chế độ bảo mật
+ authorized_fetch_mode: Xác thực cao cấp
backlog: công việc tồn đọng
config: Thiết lập
feature_deletions: Xóa tài khoản
- feature_invites: Những lời mời
+ feature_invites: Mời đăng ký
feature_profile_directory: Danh sách thành viên
feature_registrations: Đăng ký
feature_relay: Mạng liên hợp
@@ -330,21 +330,21 @@ vi:
feature_timeline_preview: Xem trước bảng tin
features: Tính năng
hidden_service: Mạng liên kết với các dịch vụ ẩn
- open_reports: mở báo cáo
+ open_reports: báo cáo
pending_tags: hashtag đang chờ xem xét
pending_users: người dùng đang chờ xem xét
- recent_users: Người dùng gần đây
+ recent_users: Người dùng mới nhất
search: Tìm kiếm toàn văn
- single_user_mode: Chế độ người dùng bình thường
+ single_user_mode: Máy chủ chỉ có 1 người
software: Phần mềm
space: Dung lượng lưu trữ
- title: Bảng cá nhân
+ title: Thiết lập chung
total_users: tổng số người dùng
trends: Xu hướng
week_interactions: tương tác trong tuần này
week_users_active: hoạt động trong tuần này
- week_users_new: người dùng trong tuần này
- whitelist_mode: Chế độ danh sách trắng
+ week_users_new: đăng ký mới trong tuần
+ whitelist_mode: Giới hạn mạng liên kết
domain_allows:
add_new: Máy chủ thuộc danh sách trắng
created_msg: Máy chủ đã được đưa vào danh sách trắng thành công
@@ -447,30 +447,30 @@ vi:
status: Trạng thái hiện tại
title: Mạng liên hợp
report_notes:
- created_msg: Báo cáo ghi chú được tạo thành công!
- destroyed_msg: Báo cáo đã xóa thành công!
+ created_msg: Báo cáo tổng hợp kiểm duyệt đã tạo xong!
+ destroyed_msg: Đã xóa báo cáo kiểm duyệt!
reports:
account:
notes:
- other: "%{count} ghi chú"
+ other: "%{count} kiểm duyệt"
reports:
other: "%{count} báo cáo"
action_taken_by: Hành động được thực hiện bởi
are_you_sure: Bạn có chắc không?
assign_to_self: Giao cho tôi
assigned: Người điều hành được phân công
- by_target_domain: Máy chủ của tài khoản bị báo xấu
+ by_target_domain: Tên tài khoản bị báo cáo
comment:
none: Không ai
created_at: Báo cáo
mark_as_resolved: Đánh dấu là đã giải quyết
mark_as_unresolved: Đánh dấu là chưa giải quyết
notes:
- create: Thêm ghi chú
- create_and_resolve: Giải quyết với ghi chú
- create_and_unresolve: Mở lại với ghi chú
+ create: Bổ sung ghi chú
+ create_and_resolve: Xử lý kiểm duyệt
+ create_and_unresolve: Mở lại kèm ghi chú mới
delete: Xóa bỏ
- placeholder: Mô tả những hành động đã được thực hiện, hoặc bất kỳ cập nhật liên quan khác...
+ placeholder: Mô tả những hành động sai phạm của người này, mức độ xử lý và những cập nhật liên quan khác...
reopen: Mở lại báo cáo
report: 'Báo cáo #%{id}'
reported_account: Tài khoản bị báo xấu
@@ -478,7 +478,7 @@ vi:
resolved: Đã giải quyết
resolved_msg: Giải quyết báo xấu thành công!
status: Trạng thái
- title: Báo xấu
+ title: Báo cáo
unassign: Bỏ qua
unresolved: Chưa giải quyết
updated_at: Đã cập nhật
@@ -593,9 +593,9 @@ vi:
tags:
accounts_today: Sử dụng hôm nay
accounts_week: Sử dụng trong tuần này
- breakdown: Phân tích dung lượng sử dụng hôm nay
+ breakdown: Phân tích số lượt sử dụng hôm nay
context: Bối cảnh
- directory: Trong phân loại
+ directory: Đã phân loại
in_directory: "%{count} trong phân loại"
last_active: Sử dụng gần đây
most_popular: Phổ biến nhất
@@ -634,14 +634,14 @@ vi:
remove: Bỏ liên kết bí danh
appearance:
advanced_web_interface: Giao diện web nâng cao
- advanced_web_interface_hint: 'Nếu bạn muốn sử dụng toàn bộ chiều rộng màn hình của mình, giao diện web nâng cao cho phép bạn định cấu hình nhiều cột khác nhau để xem nhiều thông tin cùng lúc như bạn muốn: Trang chủ, thông báo, dòng thời gian được liên kết, bất kỳ số lượng danh sách và hashtag nào.'
+ advanced_web_interface_hint: 'Nếu bạn muốn tận dụng toàn bộ chiều rộng màn hình của mình, giao diện web nâng cao cho phép bạn cấu hình thành nhiều cột khác nhau. Bao gồm: Bảng tin, Thông báo, Mạng liên kết, cũng như mọi danh sách và hashtag.'
animations_and_accessibility: Nâng cao
confirmation_dialogs: Hộp thoại xác nhận
discovery: Khám phá
localization:
body: Mastodon được dịch bởi Hồ Nhất Duy.
- guide_link: https://crowdin.com/project/mastodon
- guide_link_text: Tuy nhiên, bạn cũng vẫn có thể đóng góp.
+ guide_link: https://mas.to/@duy
+ guide_link_text: Đây là trang cá nhân của anh ấy.
sensitive_content: Nội dung nhạy cảm
toot_layout: Bố cục Tút
application_mailer:
@@ -662,8 +662,8 @@ vi:
auth:
apply_for_account: Đăng ký
change_password: Mật khẩu
- checkbox_agreement_html: Tôi đồng ý với các quy tắc và điều khoản dịch vụ
- checkbox_agreement_without_rules_html: Tôi đồng ý với điều khoản dịch vụ
+ checkbox_agreement_html: Tôi đồng ý quy tắc và chính sách bảo mật
+ checkbox_agreement_without_rules_html: Tôi đồng ý chính sách bảo mật
delete_account: Xóa tài khoản
delete_account_html: Nếu bạn muốn xóa tài khoản của mình, hãy yêu cầu tại đây. Bạn sẽ được yêu cầu xác nhận.
description:
@@ -743,7 +743,7 @@ vi:
proceed: Xóa tài khoản
success_msg: Tài khoản của bạn đã được xóa thành công
warning:
- before: 'Trước khi tiếp tục, xin vui lòng đọc các lưu ý:'
+ before: 'Trước khi tiếp tục, xin vui lòng xem xét cẩn thận:'
caches: Nội dung đã được lưu trữ bởi các máy chủ khác có thể tồn tại
data_removal: Bài viết của bạn và dữ liệu khác sẽ bị xóa vĩnh viễn
email_change_html: Bạn có thể thay đổi địa chỉ email mà không cần phải xóa tài khoản
@@ -764,7 +764,7 @@ vi:
'403': Bạn không có quyền xem trang này.
'404': Trang này chưa được tạo.
'406': Trang này không thể hiển thị do lỗi định dạng.
- '410': Trang này đã bị xóa trước đó.
+ '410': Trang này đã bị xóa.
'422':
content: Xác minh bảo mật thất bại. Bạn đang chặn cookie?
title: Xác minh bảo mật thất bại
@@ -795,7 +795,7 @@ vi:
add_new: Thêm mới
errors:
limit: Bạn đã đạt tới số lượng hashtag tối đa
- hint_html: "Hashtags thường dùng là gì? Chúng được hiển thị nổi bật trên trang cá nhân của bạn và cho phép mọi người tìm kiếm các bài đăng công khai của bạn có chứa các hashtag đó. Chúng là một công cụ tuyệt vời để theo dõi các tác phẩm sáng tạo hoặc các dự án dài hạn."
+ hint_html: "Hashtags thường dùng là gì? Chúng là những hashtag sẽ được hiển thị nổi bật trên trang cá nhân của bạn, cho phép mọi người tìm kiếm các bài đăng công khai của bạn có chứa các hashtag đó. Tính năng này có thể sử dụng để đánh dấu chuỗi tác phẩm sáng tạo hoặc dự án dài hạn."
filters:
contexts:
account: Trang cá nhân
@@ -817,7 +817,7 @@ vi:
footer:
developers: Nhà phát triển
more: Nhiều hơn
- resources: Đọc
+ resources: Quy tắc
trending_now: Xu hướng
generic:
all: Tất cả
@@ -876,11 +876,11 @@ vi:
'43200': 12 giờ
'604800': 1 tuần
'86400': 1 ngày
- expires_in_prompt: Không bao giờ
+ expires_in_prompt: Không giới hạn
generate: Tạo lời mời
invited_by: 'Bạn đã được mời bởi:'
max_uses:
- other: "%{count} sử dụng"
+ other: "%{count} lần sử dụng"
max_uses_prompt: Không giới hạn
prompt: Tạo và chia sẻ liên kết với những người khác để cấp quyền truy cập vào máy chủ này
table:
@@ -931,7 +931,7 @@ vi:
move_handler:
carry_blocks_over_text: Tài khoản này chuyển từ %{acct}, máy chủ mà bạn đã chặn trước đó.
carry_mutes_over_text: Tài khoản này chuyển từ %{acct}, máy chủ mà bạn đã ẩn trước đó.
- copy_account_note_text: 'Tài khoản này chuyển từ %{acct}, đây là ghi chú về họ trước đó:'
+ copy_account_note_text: 'Tài khoản này chuyển từ %{acct}, đây là lịch sử kiểm duyệt của họ:'
notification_mailer:
digest:
action: Xem toàn bộ thông báo
@@ -943,9 +943,9 @@ vi:
other: "%{count} thông báo mới kể từ lần truy cập trước \U0001F418"
title: Khi bạn offline...
favourite:
- body: Tút của bạn vừa được %{name} tâm đắc
- subject: "%{name} vừa tâm đắc tút của bạn"
- title: Lượt tâm đắc mới
+ body: Tút của bạn vừa được thích bởi %{name}
+ subject: "%{name} vừa thích tút của bạn"
+ title: Lượt thích mới
follow:
body: Bạn vừa mới được %{name} theo dõi
subject: "%{name} vừa mới theo dõi bạn"
@@ -967,7 +967,7 @@ vi:
notifications:
email_events: Email
email_events_hint: 'Chọn những hoạt động sẽ gửi thông báo qua email:'
- other_settings: Cài đặt thông báo khác
+ other_settings: Những thông báo khác
number:
human:
decimal_units:
@@ -1013,23 +1013,23 @@ vi:
most_recent: Gần đây nhất
moved: Dời sang
mutual: Bằng Hữu
- primary: Sơ cấp
+ primary: Tài khoản chính
relationship: Mối quan hệ
remove_selected_domains: Xóa hết người theo dõi từ các máy chủ đã chọn
remove_selected_followers: Xóa những người theo dõi đã chọn
remove_selected_follows: Hủy theo dõi người dùng đã chọn
- status: Tình trạng tài khoản
+ status: Trạng thái tài khoản
remote_follow:
acct: Nhập địa chỉ Mastodon của bạn (tên@máy chủ)
- missing_resource: Không thể tìm thấy URL chuyển hướng cần thiết cho tài khoản của bạn
- no_account_html: Nếu chưa có tài khoản, bạn có thể đăng ký tại đây
- proceed: Tiến hành theo
- prompt: 'Bạn sắp theo dõi:'
+ missing_resource: Không tìm thấy URL chuyển hướng cho tài khoản của bạn
+ no_account_html: Nếu chưa có tài khoản, bạn hãy đăng ký tại đây
+ proceed: Theo dõi
+ prompt: 'Bạn vừa yêu cầu theo dõi:'
reason_html: "Tại sao bước này là cần thiết? %{instance}
có thể không phải là máy chủ nơi bạn đã đăng ký, vì vậy chúng tôi cần chuyển hướng bạn đến máy chủ của bạn trước."
remote_interaction:
favourite:
- proceed: Yêu thích tút này
- prompt: Bạn có muốn tâm đắc tút này?
+ proceed: Thích tút
+ prompt: 'Bạn muốn thích tút này:'
reblog:
proceed: Tiếp tục chia sẻ
prompt: Bạn có muốn chia sẻ tút này?
@@ -1089,7 +1089,7 @@ vi:
authorized_apps: App đã sử dụng
back: Quay lại Mastodon
delete: Xóa tài khoản
- development: Phát triển
+ development: Lập trình
edit_profile: Chỉnh sửa trang cá nhân
export: Xuất dữ liệu
featured_tags: Hashtags thường dùng
@@ -1134,8 +1134,8 @@ vi:
other: "%{count} bình chọn"
vote: Cuộc thăm dò
show_more: Xem thêm
- show_thread: Nguyên văn
- sign_in_to_participate: Đăng nhập để tham gia vào cuộc trò chuyện
+ show_thread: Xem chủ đề thảo luận
+ sign_in_to_participate: Đăng nhập để trả lời chủ đề này
title: '%{name}: "%{quote}"'
visibilities:
private: Đóng
@@ -1151,7 +1151,7 @@ vi:
tags:
does_not_match_previous_name: không khớp với tên trước
terms:
- body_html: "
Bất kỳ thông tin nào chúng tôi thu thập từ bạn có thể được sử dụng theo các cách sau:
Chúng tôi thực hiện nhiều biện pháp bảo mật để duy trì sự an toàn của thông tin cá nhân của bạn khi bạn nhập, gửi hoặc truy cập thông tin cá nhân của bạn. Trong số những thứ khác, phiên trình duyệt của bạn, cũng như lưu lượng giữa các ứng dụng và API của bạn, được bảo mật bằng SSL và mật khẩu của bạn được băm bằng thuật toán một chiều mạnh mẽ. Bạn có thể kích hoạt xác thực hai yếu tố để tiếp tục truy cập an toàn vào tài khoản của mình.
Chúng tôi sẽ thực hiện một nỗ lực đức tin tốt để:
Bạn có thể yêu cầu và tải xuống một kho lưu trữ nội dung của bạn, bao gồm các bài đăng, tệp đính kèm phương tiện, ảnh hồ sơ và hình ảnh tiêu đề.
Bạn có thể xóa tài khoản của mình bất cứ lúc nào.
Đúng. Cookies là các tệp nhỏ mà một trang web hoặc nhà cung cấp dịch vụ của nó chuyển vào ổ cứng máy tính của bạn thông qua trình duyệt Web (nếu bạn cho phép). Những cookie này cho phép trang web nhận ra trình duyệt của bạn và, nếu bạn có tài khoản đã đăng ký, hãy liên kết nó với tài khoản đã đăng ký của bạn.
Chúng tôi sử dụng cookie để hiểu và lưu các tùy chọn của bạn cho các lần truy cập trong tương lai.
Chúng tôi không bán, trao đổi hoặc chuyển nhượng cho các bên ngoài thông tin nhận dạng cá nhân của bạn. Điều này không bao gồm các bên thứ ba đáng tin cậy hỗ trợ chúng tôi điều hành trang web của chúng tôi, tiến hành kinh doanh hoặc phục vụ bạn, miễn là các bên đó đồng ý giữ bí mật thông tin này. Chúng tôi cũng có thể tiết lộ thông tin của bạn khi chúng tôi tin rằng việc phát hành là phù hợp để tuân thủ luật pháp, thực thi chính sách trang web của chúng tôi hoặc bảo vệ quyền, tài sản hoặc an toàn của chúng tôi hoặc của người khác.
Nội dung công khai của bạn có thể được tải xuống bởi các máy chủ khác trong mạng. Các bài đăng công khai và chỉ dành cho người theo dõi của bạn được gửi đến các máy chủ nơi người theo dõi của bạn cư trú và tin nhắn trực tiếp được gửi đến máy chủ của người nhận, cho đến khi những người theo dõi hoặc người nhận đó cư trú trên một máy chủ khác với máy chủ này.
Khi bạn cho phép ứng dụng sử dụng tài khoản của mình, tùy thuộc vào phạm vi quyền bạn phê duyệt, ứng dụng có thể truy cập thông tin hồ sơ công khai, danh sách sau đây, người theo dõi, danh sách của bạn, tất cả bài đăng và mục yêu thích của bạn. Các ứng dụng không bao giờ có thể truy cập địa chỉ e-mail hoặc mật khẩu của bạn.
Nếu máy chủ này ở EU hoặc EEA: Trang web của chúng tôi, các sản phẩm và dịch vụ đều hướng đến những người ít nhất 16 tuổi. Nếu bạn dưới 16 tuổi, theo các yêu cầu của GDPR ( Quy định bảo vệ dữ liệu chung ) không sử dụng trang web này.
Nếu máy chủ này ở Hoa Kỳ: Trang web của chúng tôi, các sản phẩm và dịch vụ đều hướng đến những người ít nhất 13 tuổi. Nếu bạn dưới 13 tuổi, theo các yêu cầu của COPPA ( Đạo luật bảo vệ quyền riêng tư trực tuyến của trẻ em ) không sử dụng trang web này.
Yêu cầu pháp luật có thể khác nhau nếu máy chủ này ở khu vực tài phán khác.
Nếu chúng tôi quyết định thay đổi chính sách bảo mật của mình, chúng tôi sẽ đăng những thay đổi đó trên trang này.
Tài liệu này là CC-BY-SA. Nó được cập nhật lần cuối vào ngày 7 tháng 3 năm 2018.
Ban đầu được điều chỉnh từ chính sách quyền riêng tư của Nghị luận .
\n" + body_html: "Bất kỳ thông tin nào chúng tôi thu thập từ bạn là:
Chúng tôi thực hiện nhiều biện pháp bảo mật để duy trì sự an toàn khi bạn nhập, gửi hoặc truy cập thông tin cá nhân của bạn. Một vài trong số đó như là biện pháp kiểm soát phiên đăng nhập của bạn, lưu lượng giữa các ứng dụng và API của bạn, bảo mật bằng SSL và băm nhỏ mật khẩu nhờ thuật toán một chiều mạnh mẽ. Bạn có thể kích hoạt xác thực hai yếu tố để tiếp tục truy cập an toàn vào tài khoản của mình.
Chúng tôi sẽ thực hiện:
Bạn có thể tải xuống một bản sao nội dung lưu trữ của bạn, bao gồm các tút, tệp đính kèm phương tiện, ảnh đại diện và hảnh bìa.
Bạn có thể xóa tài khoản của mình bất cứ lúc nào.
Có. Cookie là các tệp nhỏ mà một trang web hoặc nhà cung cấp dịch vụ internet chuyển vào ổ cứng máy tính của bạn thông qua trình duyệt Web (nếu bạn cho phép). Những cookie này cho phép trang web nhận ra trình duyệt của bạn và nếu bạn có tài khoản đã đăng ký, nó sẽ liên kết với tài khoản đã đăng ký của bạn.
Chúng tôi sử dụng cookie để hiểu và lưu các tùy chọn của bạn cho các lần truy cập trong tương lai.
Chúng tôi thề danh dự không bán, trao đổi hoặc chuyển nhượng thông tin nhận dạng cá nhân của bạn cho bên thứ ba. Trừ khi bên thứ ba đó đang hỗ trợ chúng tôi điều hành Mastodon, tiến hành kinh doanh hoặc phục vụ bạn, miễn là các bên đó đồng ý giữ bí mật thông tin này. Chúng tôi cũng có thể tiết lộ thông tin của bạn khi chúng tôi tin rằng việc công bố là để tuân thủ luật pháp, thực thi quy tắc máy chủ của chúng tôi hoặc bảo vệ quyền, tài sản hợp pháp hoặc sự an toàn của chúng tôi hoặc của ai đó.
Nội dung công khai của bạn có thể được tải xuống bởi các máy chủ khác trong mạng liên kết. Các tút công khai và chỉ dành cho người theo dõi của bạn được gửi đến các máy chủ nơi người theo dõi của bạn thuộc về và tin nhắn được gửi đến máy chủ của người nhận, cho đến khi những người theo dõi hoặc người nhận đó chuyển sang một máy chủ khác.
Khi bạn cho phép một ứng dụng sử dụng tài khoản của mình, tùy thuộc vào phạm vi quyền bạn phê duyệt, ứng dụng có thể truy cập thông tin trang cá nhân, danh sách người theo dõi, danh sách của bạn, tất cả tút và lượt thích của bạn. Các ứng dụng không bao giờ có thể truy cập địa chỉ e-mail hoặc mật khẩu của bạn.
Nếu máy chủ này ở EU hoặc EEA: Trang web của chúng tôi, các sản phẩm và dịch vụ đều hướng đến những người trên 16 tuổi. Nếu bạn dưới 16 tuổi, theo yêu cầu của GDPR (Quy định bảo vệ dữ liệu chung) thì không được sử dụng trang web này.
Nếu máy chủ này ở Hoa Kỳ: Trang web của chúng tôi, các sản phẩm và dịch vụ đều hướng đến những người trên 13 tuổi. Nếu bạn dưới 13 tuổi, theo yêu cầu của COPPA (Đạo luật bảo vệ quyền riêng tư trực tuyến của trẻ em) thì không được sử dụng trang web này.
Quy định pháp luật có thể khác nhau nếu máy chủ này ở khu vực địa lý khác.
Nếu có thay đổi chính sách bảo mật, chúng tôi sẽ đăng những thay đổi đó ở mục này.
Tài liệu này phát hành dưới hình thức CC-BY-SA. Nó được cập nhật lần cuối vào ngày 7 tháng 3 năm 2018.
Được phát triển từ Nghị luận chính sách bảo mật .
\n" title: "%{instance} Điều khoản dịch vụ và chính sách bảo mật" themes: contrast: Mastodon (Độ tương phản cao) @@ -1159,8 +1159,8 @@ vi: mastodon-light: Mastodon (Sáng) time: formats: - default: lúc %H:%M %b %d năm%_Y - month: "%B %Y" + default: "%b.%d.%y %H:%M" + month: "%b.%y" two_factor_authentication: code_hint: Nhập mã được tạo bởi ứng dụng xác thực của bạn để xác nhận description_html: Nếu bạn kích hoạt xác thực hai bước, mã xác thực đăng nhập sẽ được tạo ra từ điện thoại của bạn. diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 3d62230d8..a67cd0122 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -38,7 +38,7 @@ zh-CN: reason: 原因 rejecting_media: 来自这些服务器的媒体文件将不会被处理或存储,缩略图也不会显示,需要手动点击打开原始文件。 rejecting_media_title: 被过滤的媒体文件 - silenced: 来自这些服务器上的帖子将不会出现在公共时间线和会话中;此外,除非你关注了这些服务器上的用户,否则这些用户的互动不会产生通知。 + silenced: 来自这些服务器上的帖子将不会出现在公共时间轴和会话中,通知功能也不会提醒这些用户的动态;只有你关注了这些用户,才会收到用户互动的通知消息。 silenced_title: 已隐藏的服务器 suspended: 这些服务器的数据将不会被处理、存储或者交换,本站也将无法和来自这些服务器的用户互动或者交流。 suspended_title: 已封禁的服务器 @@ -142,7 +142,7 @@ zh-CN: moderation_notes: 管理员备注 most_recent_activity: 最后一次活跃的时间 most_recent_ip: 最后一次活跃的 IP 地址 - no_account_selected: 因为没有帐号被选择,所以没有更改 + no_account_selected: 没有选中帐号,所以无更改 no_limits_imposed: 无限制 not_subscribed: 未订阅 pending: 待审核 @@ -365,7 +365,7 @@ zh-CN: noop: 无 silence: 自动隐藏 suspend: 自动封禁 - title: 添加域名屏蔽 + title: 新增域名屏蔽 private_comment: 私密评论 private_comment_hint: 给这一域名限制添加备注,供监察员内部使用 public_comment: 公开评论 @@ -391,7 +391,7 @@ zh-CN: view: 查看域名屏蔽 email_domain_blocks: add_new: 添加新条目 - created_msg: 电子邮件域名屏蔽添加成功 + created_msg: 成功屏蔽电子邮件域名 delete: 删除 destroyed_msg: 电子邮件域名屏蔽删除成功 domain: 域名 @@ -408,7 +408,7 @@ zh-CN: other: "%{count} 个已知帐户" moderation: all: 全部 - limited: 受限的 + limited: 部分 title: 运营 private_comment: 私密评论 public_comment: 公开评论 @@ -508,7 +508,7 @@ zh-CN: enable_bootstrap_timeline_accounts: title: 开启新用户默认关注功能 hero: - desc_html: 用于在首页展示。推荐分辨率 600×100px 以上。未指定的情况下将默认使用本站缩略图 + desc_html: 将用于在首页展示。推荐使用分辨率 600×100px 以上的图片。如未设置,将默认使用本站缩略图。 title: 主题图片 mascot: desc_html: 用于在首页展示。推荐分辨率 293×205px 以上。未指定的情况下将使用默认吉祥物。 @@ -517,7 +517,7 @@ zh-CN: desc_html: 截至目前本服务器在联邦宇宙中已发现的域名 title: 公开已知实例的列表 preview_sensitive_media: - desc_html: 始终在站外链接预览中展示缩略图,无论媒体内容是否标记为敏感 + desc_html: 无论媒体文件是否标记为敏感内容,站外链接预览始终呈现为缩略图。 title: 在 OpenGraph 预览中显示敏感媒体内容 profile_directory: desc_html: 允许用户被发现 diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index 2a1783c95..1cff22983 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -17,7 +17,7 @@ module Mastodon end def flags - 'rc1' + '' end def suffix diff --git a/package.json b/package.json index bea3fc6ea..47ce3f421 100644 --- a/package.json +++ b/package.json @@ -60,11 +60,11 @@ }, "private": true, "dependencies": { - "@babel/core": "^7.10.3", + "@babel/core": "^7.10.5", "@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-runtime": "^7.10.4", + "@babel/plugin-transform-runtime": "^7.10.5", "@babel/preset-env": "^7.10.4", "@babel/preset-react": "^7.10.4", "@babel/runtime": "^7.8.4", @@ -74,7 +74,7 @@ "array-includes": "^3.1.1", "atrament": "0.2.4", "arrow-key-navigation": "^1.2.0", - "autoprefixer": "^9.8.0", + "autoprefixer": "^9.8.5", "axios": "^0.19.2", "babel-loader": "^8.1.0", "babel-plugin-lodash": "^3.3.4", @@ -137,14 +137,14 @@ "react-motion": "^0.5.2", "react-notification": "^6.8.5", "react-overlays": "^0.9.1", - "react-redux": "^7.2.0", + "react-redux": "^7.2.1", "react-redux-loading-bar": "^4.0.8", "react-router-dom": "^4.1.1", "react-router-scroll-4": "^1.0.0-beta.1", "react-select": "^3.1.0", "react-sparklines": "^1.7.0", "react-swipeable-views": "^0.13.9", - "react-textarea-autosize": "^8.1.1", + "react-textarea-autosize": "^8.2.0", "react-toggle": "^4.1.1", "redis": "^3.0.2", "redux": "^4.0.5", @@ -154,7 +154,7 @@ "requestidlecallback": "^0.3.0", "reselect": "^4.0.0", "rimraf": "^3.0.2", - "sass": "^1.26.8", + "sass": "^1.26.10", "sass-loader": "^8.0.2", "stacktrace-js": "^2.0.2", "stringz": "^2.1.0", @@ -164,7 +164,7 @@ "throng": "^4.0.0", "tiny-queue": "^0.2.1", "uuid": "^8.2.0", - "webpack": "^4.43.0", + "webpack": "^4.44.0", "webpack-assets-manifest": "^3.1.1", "webpack-bundle-analyzer": "^3.8.0", "webpack-cli": "^3.3.12", @@ -173,21 +173,21 @@ }, "devDependencies": { "@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-jest": "^26.1.0", - "eslint": "^6.8.0", - "eslint-plugin-import": "~2.21.2", + "eslint": "^7.5.0", + "eslint-plugin-import": "~2.22.0", "eslint-plugin-jsx-a11y": "~6.3.1", "eslint-plugin-promise": "~4.2.1", - "eslint-plugin-react": "~7.20.0", + "eslint-plugin-react": "~7.20.4", "jest": "^26.0.1", "raf": "^3.4.1", "react-intl-translations-manager": "^5.0.3", "react-test-renderer": "^16.13.1", "sass-lint": "^1.13.1", "webpack-dev-server": "^3.11.0", - "yargs": "^15.4.0" + "yargs": "^15.4.1" }, "resolutions": { "kind-of": "^6.0.3" diff --git a/spec/lib/activitypub/activity/reject_spec.rb b/spec/lib/activitypub/activity/reject_spec.rb index e7205df8d..fed4cd8cd 100644 --- a/spec/lib/activitypub/activity/reject_spec.rb +++ b/spec/lib/activitypub/activity/reject_spec.rb @@ -3,6 +3,14 @@ require 'rails_helper' RSpec.describe ActivityPub::Activity::Reject do let(:sender) { 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 { @@ -10,29 +18,105 @@ RSpec.describe ActivityPub::Activity::Reject do id: 'foo', type: 'Reject', actor: ActivityPub::TagManager.instance.uri_for(sender), - object: { - id: 'bar', - type: 'Follow', - actor: ActivityPub::TagManager.instance.uri_for(recipient), - object: ActivityPub::TagManager.instance.uri_for(sender), - }, + object: object_json, }.with_indifferent_access end describe '#perform' do subject { described_class.new(json, sender) } - before do - Fabricate(:follow_request, account: recipient, target_account: sender) - subject.perform + context 'rejecting a pending follow request by target' do + before do + Fabricate(:follow_request, account: recipient, target_account: sender) + 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 - it 'does not create a follow relationship' do - expect(recipient.following?(sender)).to be false + 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 - it 'removes the follow request' do - expect(recipient.requested?(sender)).to be false + 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 diff --git a/yarn.lock b/yarn.lock index 2c51161d0..a2d336019 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,13 +9,6 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.3.tgz#324bcfd8d35cd3d47dae18cde63d752086435e9a" - integrity sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg== - dependencies: - "@babel/highlight" "^7.10.3" - "@babel/compat-data@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.10.4.tgz#706a6484ee6f910b719b696a9194f8da7d7ac241" @@ -25,68 +18,35 @@ invariant "^2.2.4" semver "^5.5.0" -"@babel/core@^7.1.0", "@babel/core@^7.7.5": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.4.tgz#780e8b83e496152f8dd7df63892b2e052bf1d51d" - integrity sha512-3A0tS0HWpy4XujGc7QtOIHTeNwUgWaZc/WuS5YQrfhU67jnVmsD6OGPc1AKHH0LJHQICGncy3+YUjIhVlfDdcA== +"@babel/core@^7.1.0", "@babel/core@^7.10.5", "@babel/core@^7.7.2", "@babel/core@^7.7.5": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.5.tgz#1f15e2cca8ad9a1d78a38ddba612f5e7cdbbd330" + integrity sha512-O34LQooYVDXPl7QWCdW9p4NR+QlzOr7xShPPJz8GsuCU3/8ua/wqTr7gmnxXv+WBESiGU/G5s16i6tUvHkNb+w== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.10.4" - "@babel/helper-module-transforms" "^7.10.4" + "@babel/generator" "^7.10.5" + "@babel/helper-module-transforms" "^7.10.5" "@babel/helpers" "^7.10.4" - "@babel/parser" "^7.10.4" + "@babel/parser" "^7.10.5" "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/traverse" "^7.10.5" + "@babel/types" "^7.10.5" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.1" json5 "^2.1.2" - lodash "^4.17.13" + lodash "^4.17.19" resolve "^1.3.2" semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.10.3", "@babel/core@^7.7.2": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.3.tgz#73b0e8ddeec1e3fdd7a2de587a60e17c440ec77e" - integrity sha512-5YqWxYE3pyhIi84L84YcwjeEgS+fa7ZjK6IBVGTjDVfm64njkR2lfDhVR5OudLk8x2GK59YoSyVv+L/03k1q9w== +"@babel/generator@^7.10.5": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.5.tgz#1b903554bc8c583ee8d25f1e8969732e6b829a69" + integrity sha512-3vXxr3FEW7E7lJZiWQ3bM4+v/Vyr9C+hpolQ8BGFr9Y8Ri2tFLWTixmwKBafDujO1WVah4fhZBeU1bieKdghig== dependencies: - "@babel/code-frame" "^7.10.3" - "@babel/generator" "^7.10.3" - "@babel/helper-module-transforms" "^7.10.1" - "@babel/helpers" "^7.10.1" - "@babel/parser" "^7.10.3" - "@babel/template" "^7.10.3" - "@babel/traverse" "^7.10.3" - "@babel/types" "^7.10.3" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.3.tgz#32b9a0d963a71d7a54f5f6c15659c3dbc2a523a5" - integrity sha512-drt8MUHbEqRzNR0xnF8nMehbY11b1SDkRw03PSNH/3Rb2Z35oxkddVSi3rcaak0YJQ86PCuE7Qx1jSFhbLNBMA== - dependencies: - "@babel/types" "^7.10.3" + "@babel/types" "^7.10.5" jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - -"@babel/generator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.4.tgz#e49eeed9fe114b62fa5b181856a43a5e32f5f243" - integrity sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng== - dependencies: - "@babel/types" "^7.10.4" - jsesc "^2.5.1" - lodash "^4.17.13" source-map "^0.5.0" "@babel/helper-annotate-as-pure@^7.10.4": @@ -132,25 +92,13 @@ levenary "^1.1.1" semver "^5.5.0" -"@babel/helper-create-class-features-plugin@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.3.tgz#2783daa6866822e3d5ed119163b50f0fc3ae4b35" - integrity sha512-iRT9VwqtdFmv7UheJWthGc/h2s7MqoweBF9RUj77NFZsg9VfISvBTum3k6coAhJ8RWv2tj3yUjA03HxPd0vfpQ== - dependencies: - "@babel/helper-function-name" "^7.10.3" - "@babel/helper-member-expression-to-functions" "^7.10.3" - "@babel/helper-optimise-call-expression" "^7.10.3" - "@babel/helper-plugin-utils" "^7.10.3" - "@babel/helper-replace-supers" "^7.10.1" - "@babel/helper-split-export-declaration" "^7.10.1" - -"@babel/helper-create-class-features-plugin@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.4.tgz#2d4015d0136bd314103a70d84a7183e4b344a355" - integrity sha512-9raUiOsXPxzzLjCXeosApJItoMnX3uyT4QdM2UldffuGApNrF8e938MwNpDCK9CPoyxrEoCgT+hObJc3mZa6lQ== +"@babel/helper-create-class-features-plugin@^7.10.4", "@babel/helper-create-class-features-plugin@^7.10.5": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d" + integrity sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A== dependencies: "@babel/helper-function-name" "^7.10.4" - "@babel/helper-member-expression-to-functions" "^7.10.4" + "@babel/helper-member-expression-to-functions" "^7.10.5" "@babel/helper-optimise-call-expression" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" "@babel/helper-replace-supers" "^7.10.4" @@ -182,15 +130,6 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-function-name@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz#79316cd75a9fa25ba9787ff54544307ed444f197" - integrity sha512-FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw== - dependencies: - "@babel/helper-get-function-arity" "^7.10.3" - "@babel/template" "^7.10.3" - "@babel/types" "^7.10.3" - "@babel/helper-function-name@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" @@ -200,13 +139,6 @@ "@babel/template" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-get-function-arity@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz#3a28f7b28ccc7719eacd9223b659fdf162e4c45e" - integrity sha512-iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg== - dependencies: - "@babel/types" "^7.10.3" - "@babel/helper-get-function-arity@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" @@ -221,13 +153,6 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-member-expression-to-functions@^7.10.1", "@babel/helper-member-expression-to-functions@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.3.tgz#bc3663ac81ac57c39148fef4c69bf48a77ba8dd6" - integrity sha512-q7+37c4EPLSjNb2NmWOjNwj0+BOyYlssuQ58kHEWk1Z78K5i8vTUsteq78HMieRPQSl/NtpQyJfdjt3qZ5V2vw== - dependencies: - "@babel/types" "^7.10.3" - "@babel/helper-member-expression-to-functions@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz#7cd04b57dfcf82fce9aeae7d4e4452fa31b8c7c4" @@ -235,45 +160,32 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.0.0-beta.49", "@babel/helper-module-imports@^7.10.1", "@babel/helper-module-imports@^7.10.4": +"@babel/helper-member-expression-to-functions@^7.10.5": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.5.tgz#172f56e7a63e78112f3a04055f24365af702e7ee" + integrity sha512-HiqJpYD5+WopCXIAbQDG0zye5XYVvcO9w/DHp5GsaGkRUaamLj2bEtu6i8rnGGprAhHM3qidCMgp71HF4endhA== + dependencies: + "@babel/types" "^7.10.5" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.0.0-beta.49", "@babel/helper-module-imports@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw== dependencies: "@babel/types" "^7.10.4" -"@babel/helper-module-transforms@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz#24e2f08ee6832c60b157bb0936c86bef7210c622" - integrity sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg== - dependencies: - "@babel/helper-module-imports" "^7.10.1" - "@babel/helper-replace-supers" "^7.10.1" - "@babel/helper-simple-access" "^7.10.1" - "@babel/helper-split-export-declaration" "^7.10.1" - "@babel/template" "^7.10.1" - "@babel/types" "^7.10.1" - lodash "^4.17.13" - -"@babel/helper-module-transforms@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz#ca1f01fdb84e48c24d7506bb818c961f1da8805d" - integrity sha512-Er2FQX0oa3nV7eM1o0tNCTx7izmQtwAQsIiaLRWtavAAEcskb0XJ5OjJbVrYXWOTr8om921Scabn4/tzlx7j1Q== +"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.5.tgz#120c271c0b3353673fcdfd8c053db3c544a260d6" + integrity sha512-4P+CWMJ6/j1W915ITJaUkadLObmCRRSC234uctJfn/vHrsLNxsR8dwlcXv9ZhJWzl77awf+mWXSZEKt5t0OnlA== dependencies: "@babel/helper-module-imports" "^7.10.4" "@babel/helper-replace-supers" "^7.10.4" "@babel/helper-simple-access" "^7.10.4" "@babel/helper-split-export-declaration" "^7.10.4" "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - lodash "^4.17.13" - -"@babel/helper-optimise-call-expression@^7.10.1", "@babel/helper-optimise-call-expression@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.3.tgz#f53c4b6783093195b0f69330439908841660c530" - integrity sha512-kT2R3VBH/cnSz+yChKpaKRJQJWxdGoc6SjioRId2wkeV3bK0wLLioFpJROrX0U4xr/NmxSSAWT/9Ih5snwIIzg== - dependencies: - "@babel/types" "^7.10.3" + "@babel/types" "^7.10.5" + lodash "^4.17.19" "@babel/helper-optimise-call-expression@^7.10.4": version "7.10.4" @@ -282,7 +194,7 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.1", "@babel/helper-plugin-utils@^7.10.3", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== @@ -305,16 +217,6 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-replace-supers@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz#ec6859d20c5d8087f6a2dc4e014db7228975f13d" - integrity sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.10.1" - "@babel/helper-optimise-call-expression" "^7.10.1" - "@babel/traverse" "^7.10.1" - "@babel/types" "^7.10.1" - "@babel/helper-replace-supers@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" @@ -325,14 +227,6 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-simple-access@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz#08fb7e22ace9eb8326f7e3920a1c2052f13d851e" - integrity sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw== - dependencies: - "@babel/template" "^7.10.1" - "@babel/types" "^7.10.1" - "@babel/helper-simple-access@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" @@ -341,13 +235,6 @@ "@babel/template" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-split-export-declaration@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz#c6f4be1cbc15e3a868e4c64a17d5d31d754da35f" - integrity sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g== - dependencies: - "@babel/types" "^7.10.1" - "@babel/helper-split-export-declaration@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz#2c70576eaa3b5609b24cb99db2888cc3fc4251d1" @@ -355,11 +242,6 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-validator-identifier@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz#60d9847f98c4cea1b279e005fdb7c28be5412d15" - integrity sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw== - "@babel/helper-validator-identifier@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" @@ -375,15 +257,6 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helpers@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.1.tgz#a6827b7cb975c9d9cef5fd61d919f60d8844a973" - integrity sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw== - dependencies: - "@babel/template" "^7.10.1" - "@babel/traverse" "^7.10.1" - "@babel/types" "^7.10.1" - "@babel/helpers@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" @@ -393,15 +266,6 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/highlight@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.3.tgz#c633bb34adf07c5c13156692f5922c81ec53f28d" - integrity sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw== - dependencies: - "@babel/helper-validator-identifier" "^7.10.3" - chalk "^2.0.0" - js-tokens "^4.0.0" - "@babel/highlight@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" @@ -411,15 +275,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.4.tgz#9eedf27e1998d87739fb5028a5120557c06a1a64" - integrity sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA== - -"@babel/parser@^7.10.3", "@babel/parser@^7.7.0": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.3.tgz#7e71d892b0d6e7d04a1af4c3c79d72c1f10f5315" - integrity sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA== +"@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.10.5", "@babel/parser@^7.7.0": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.5.tgz#e7c6bf5a7deff957cec9f04b551e2762909d826b" + integrity sha512-wfryxy4bE1UivvQKSQDU4/X6dr+i8bctjUjj8Zyt3DQy7NtPizJXT8M52nqpNKL+nq2PW8lxk4ZqLj0fD4B4hQ== "@babel/plugin-proposal-async-generator-functions@^7.10.4": version "7.10.4" @@ -438,14 +297,14 @@ "@babel/helper-create-class-features-plugin" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-decorators@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.3.tgz#2fc6b5696028adccfcd14bc826c184c578b857f8" - integrity sha512-Rzwn5tcYFTdWWK3IrhMZkMDjzFQLIGYqHvv9XuzNnEB91Y6gHr/JjazYV1Yec9g0yMLhy1p/21eiW1P7f5UN4A== +"@babel/plugin-proposal-decorators@^7.10.5": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.5.tgz#42898bba478bc4b1ae242a703a953a7ad350ffb4" + integrity sha512-Sc5TAQSZuLzgY0664mMDn24Vw2P8g/VhyLyGPaWiHahhgLqeZvcGeyBZOrJW0oSKIK2mvQ22a1ENXBIQLhrEiQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.3" - "@babel/helper-plugin-utils" "^7.10.3" - "@babel/plugin-syntax-decorators" "^7.10.1" + "@babel/helper-create-class-features-plugin" "^7.10.5" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-decorators" "^7.10.4" "@babel/plugin-proposal-dynamic-import@^7.10.4": version "7.10.4" @@ -541,12 +400,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-decorators@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.10.1.tgz#16b869c4beafc9a442565147bda7ce0967bd4f13" - integrity sha512-a9OAbQhKOwSle1Vr0NJu/ISg1sPfdEkfRKWpgPuzhnWWzForou2gIeUIIwjAMHRekhhpJ7eulZlYs0H14Cbi+g== +"@babel/plugin-syntax-decorators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.10.4.tgz#6853085b2c429f9d322d02f5a635018cdeb2360c" + integrity sha512-2NaoC6fAk2VMdhY1eerkfHV+lVYC1u8b+jmRJISqANCJlTxYy19HGdIkkQtix2UtkcPuPu+IlDgrVseZnU03bw== dependencies: - "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-dynamic-import@^7.8.0": version "7.8.3" @@ -882,10 +741,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-runtime@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.10.4.tgz#594fb53453ea1b6f0779cceb48ce0718a447feb7" - integrity sha512-8ULlGv8p+Vuxu+kz2Y1dk6MYS2b/Dki+NO6/0ZlfSj5tMalfDL7jI/o/2a+rrWLqSXvnadEqc2WguB4gdQIxZw== +"@babel/plugin-transform-runtime@^7.10.5": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.10.5.tgz#3b39b7b24830e0c2d8ff7a4489fe5cf99fbace86" + integrity sha512-tV4V/FjElJ9lQtyjr5xD2IFFbgY46r7EeVu5a8CpEKT5laheHKSlFeHjpkPppW3PqzGLAuv5k2qZX5LgVZIX5w== dependencies: "@babel/helper-module-imports" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" @@ -1046,14 +905,6 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" -"@babel/runtime-corejs3@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.10.4.tgz#f29fc1990307c4c57b10dbd6ce667b27159d9e0d" - integrity sha512-BFlgP2SoLO9HJX9WBwN67gHWMBhDX/eDz64Jajd6mR/UAUzqrNMm99d4qHnVaKscAElZoFiPv+JpR/Siud5lXw== - dependencies: - core-js-pure "^3.0.0" - regenerator-runtime "^0.13.4" - "@babel/runtime@7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0.tgz#adeb78fedfc855aa05bc041640f3f6f98e85424c" @@ -1062,21 +913,12 @@ regenerator-runtime "^0.12.0" "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.2.0", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.3.tgz#670d002655a7c366540c67f6fd3342cd09500364" - integrity sha512-RzGO0RLSdokm9Ipe/YD+7ww8X2Ro79qiXZF3HU9ljrM+qnJmH1Vqth+hbiQZy761LnMJTMitHDuKVYTk3k4dLw== + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.5.tgz#303d8bd440ecd5a491eae6117fd3367698674c5c" + integrity sha512-otddXKhdNn7d0ptoFRHtMLa8LqDxLYwTjB4nYgM1yy5N6gU/MUf8zqyyLltCH3yAVitBzmwK4us+DD0l/MauAg== dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.10.1", "@babel/template@^7.10.3": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.3.tgz#4d13bc8e30bf95b0ce9d175d30306f42a2c9a7b8" - integrity sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA== - dependencies: - "@babel/code-frame" "^7.10.3" - "@babel/parser" "^7.10.3" - "@babel/types" "^7.10.3" - "@babel/template@^7.10.4", "@babel/template@^7.3.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" @@ -1086,43 +928,28 @@ "@babel/parser" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.4.tgz#e642e5395a3b09cc95c8e74a27432b484b697818" - integrity sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q== +"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.10.5", "@babel/traverse@^7.7.0": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.5.tgz#77ce464f5b258be265af618d8fddf0536f20b564" + integrity sha512-yc/fyv2gUjPqzTz0WHeRJH2pv7jA9kA7mBX2tXl/x5iOE81uaVPuGPtaYk7wmkx4b67mQ7NqI8rmT2pF47KYKQ== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.10.4" + "@babel/generator" "^7.10.5" "@babel/helper-function-name" "^7.10.4" "@babel/helper-split-export-declaration" "^7.10.4" - "@babel/parser" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/parser" "^7.10.5" + "@babel/types" "^7.10.5" debug "^4.1.0" globals "^11.1.0" - lodash "^4.17.13" + lodash "^4.17.19" -"@babel/traverse@^7.10.1", "@babel/traverse@^7.10.3", "@babel/traverse@^7.7.0": - version "7.10.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.3.tgz#0b01731794aa7b77b214bcd96661f18281155d7e" - integrity sha512-qO6623eBFhuPm0TmmrUFMT1FulCmsSeJuVGhiLodk2raUDFhhTECLd9E9jC4LBIWziqt4wgF6KuXE4d+Jz9yug== - dependencies: - "@babel/code-frame" "^7.10.3" - "@babel/generator" "^7.10.3" - "@babel/helper-function-name" "^7.10.3" - "@babel/helper-split-export-declaration" "^7.10.1" - "@babel/parser" "^7.10.3" - "@babel/types" "^7.10.3" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.10.1", "@babel/types@^7.10.3", "@babel/types@^7.10.4", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.4.tgz#369517188352e18219981efd156bfdb199fff1ee" - integrity sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg== +"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.5.tgz#d88ae7e2fde86bfbfe851d4d81afa70a997b5d15" + integrity sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q== dependencies: "@babel/helper-validator-identifier" "^7.10.4" - lodash "^4.17.13" + lodash "^4.17.19" to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": @@ -1507,10 +1334,10 @@ lodash "^4.17.15" redent "^3.0.0" -"@testing-library/react@^10.4.3": - version "10.4.3" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-10.4.3.tgz#c6f356688cffc51f6b35385583d664bb11a161f4" - integrity sha512-A/ydYXcwAcfY7vkPrfUkUTf9HQLL3/GtixTefcu3OyGQtAYQ7XBQj1S9FWbLEhfWa0BLwFwTBFS3Ao1O0tbMJg== +"@testing-library/react@^10.4.7": + version "10.4.7" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-10.4.7.tgz#fc14847fb70a5e93576b8f7f0d1490ead02a9061" + integrity sha512-hUYbum3X2f1ZKusKfPaooKNYqE/GtPiQ+D2HJaJ4pkxeNJQFVUEvAvEh9+3QuLdBeTWkDMNY5NSijc5+pGdM4Q== dependencies: "@babel/runtime" "^7.10.3" "@testing-library/dom" "^7.17.1" @@ -1854,10 +1681,10 @@ acorn-jsx@^3.0.0: dependencies: acorn "^3.0.4" -acorn-jsx@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384" - integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw== +acorn-jsx@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" + integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== acorn-walk@^7.1.1: version "7.2.0" @@ -1879,12 +1706,7 @@ acorn@^6.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== -acorn@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.2.0.tgz#17ea7e40d7c8640ff54a694c889c26f31704effe" - integrity sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ== - -acorn@^7.1.1: +acorn@^7.1.1, acorn@^7.3.1: version "7.3.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd" integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA== @@ -1920,17 +1742,7 @@ ajv@^4.7.0: co "^4.6.0" json-stable-stringify "^1.0.1" -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.9.1: - version "6.12.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" - integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^6.5.5: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.5.5, ajv@^6.9.1: version "6.12.3" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA== @@ -1950,6 +1762,11 @@ ansi-colors@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + ansi-escapes@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" @@ -2115,6 +1932,15 @@ array.prototype.flat@^1.2.3: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" +array.prototype.flatmap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz#1c13f84a178566042dd63de4414440db9222e443" + integrity sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + arrow-key-navigation@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/arrow-key-navigation/-/arrow-key-navigation-1.2.0.tgz#edefc5f8b4fc4e384e7c20ddecf81db7ffc970a9" @@ -2196,17 +2022,17 @@ atrament@0.2.4: resolved "https://registry.yarnpkg.com/atrament/-/atrament-0.2.4.tgz#6f78196edfcd194e568b7c0b9c88201ec371ac66" integrity sha512-hSA9VwW6COMwvRhSEO4uZweZ91YGOdHqwvslNyrJZG+8mzc4qx/qMsDZBuAeXFeWZO/QKtRjIXguOUy1aNMl3A== -autoprefixer@^9.8.0: - version "9.8.0" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.0.tgz#68e2d2bef7ba4c3a65436f662d0a56a741e56511" - integrity sha512-D96ZiIHXbDmU02dBaemyAg53ez+6F5yZmapmgKcjm35yEe1uVDYI8hGW3VYoGRaG290ZFf91YxHrR518vC0u/A== +autoprefixer@^9.8.5: + version "9.8.5" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.5.tgz#2c225de229ddafe1d1424c02791d0c3e10ccccaa" + integrity sha512-C2p5KkumJlsTHoNv9w31NrBRgXhf6eCMteJuHZi2xhkgC+5Vm40MEtCKPhc0qdgAOhox0YPy1SQHTAky05UoKg== dependencies: browserslist "^4.12.0" - caniuse-lite "^1.0.30001061" - chalk "^2.4.2" + caniuse-lite "^1.0.30001097" + colorette "^1.2.0" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^7.0.30" + postcss "^7.0.32" postcss-value-parser "^4.1.0" aws-sign2@~0.7.0: @@ -2471,9 +2297,9 @@ binary-extensions@^1.0.0: integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== binary-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" - integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== + version "2.1.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" + integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== bindings@^1.5.0: version "1.5.0" @@ -2650,14 +2476,14 @@ browserify-zlib@^0.2.0: pako "~1.0.5" browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.8.5: - version "4.12.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.0.tgz#06c6d5715a1ede6c51fc39ff67fd647f740b656d" - integrity sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg== + version "4.13.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.13.0.tgz#42556cba011e1b0a2775b611cba6a8eca18e940d" + integrity sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ== dependencies: - caniuse-lite "^1.0.30001043" - electron-to-chromium "^1.3.413" - node-releases "^1.1.53" - pkg-up "^2.0.0" + caniuse-lite "^1.0.30001093" + electron-to-chromium "^1.3.488" + escalade "^3.0.1" + node-releases "^1.1.58" bser@2.1.1: version "2.1.1" @@ -2825,10 +2651,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001043, caniuse-lite@^1.0.30001061: - version "1.0.30001094" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001094.tgz#0b11d02e1cdc201348dbd8e3e57bd9b6ce82b175" - integrity sha512-ufHZNtMaDEuRBpTbqD93tIQnngmJ+oBknjvr0IbFympSdtFpAUFmNv4mVKbb53qltxFx0nK3iy32S9AqkLzUNA== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001093, caniuse-lite@^1.0.30001097: + version "1.0.30001107" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001107.tgz#809360df7a5b3458f627aa46b0f6ed6d5239da9a" + integrity sha512-86rCH+G8onCmdN4VZzJet5uPELII59cUzDphko3thQFgAQG1RNa+sVLDoALIhRYmflo5iSIzWY3vu1XTWtNMQQ== capture-exit@^2.0.0: version "2.0.0" @@ -2853,7 +2679,7 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0, chalk@^2.0.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2883,11 +2709,6 @@ char-regex@^1.0.2: resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - check-types@^7.4.0: version "7.4.0" resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.4.0.tgz#0378ec1b9616ec71f774931a3c6516fad8c152f4" @@ -2898,7 +2719,7 @@ check-types@^8.0.3: resolved "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" integrity sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ== -"chokidar@>=2.0.0 <4.0.0", chokidar@^3.4.0: +"chokidar@>=2.0.0 <4.0.0": version "3.4.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8" integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ== @@ -2932,6 +2753,21 @@ chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" +chokidar@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.1.tgz#e905bdecf10eaa0a0b1db0c664481cc4cbc22ba1" + integrity sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.4.0" + optionalDependencies: + fsevents "~2.1.2" + chownr@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" @@ -2994,13 +2830,6 @@ cli-cursor@^1.0.1: dependencies: restore-cursor "^1.0.1" -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - cli-width@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" @@ -3105,6 +2934,11 @@ color@^3.0.0: color-convert "^1.9.1" color-string "^1.5.2" +colorette@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== + combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -3275,9 +3109,9 @@ core-js-pure@^3.0.0: integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA== core-js@^2.4.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.1.tgz#87416ae817de957a3f249b3b5ca475d4aaed6042" - integrity sha512-L72mmmEayPJBejKIWe2pYtGis5r0tQ5NaJekdhyXgeMQTpJoBsH0NL4ElY2LfSoV15xeQWKQ+XTTOZdyero5Xg== + version "2.6.11" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" + integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -3354,7 +3188,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0, cross-spawn@^7.0.1: +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -3481,9 +3315,9 @@ css-tree@1.0.0-alpha.39: source-map "^0.6.1" css-what@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.2.1.tgz#f4a8f12421064621b456755e34a03a2c22df5da1" - integrity sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw== + version "3.3.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.3.0.tgz#10fec696a9ece2e591ac772d759aacabac38cd39" + integrity sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg== css.escape@^1.5.1: version "1.5.1" @@ -3669,13 +3503,6 @@ decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= -decamelize@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-3.2.0.tgz#84b8e8f4f8c579f938e35e2cc7024907e0090851" - integrity sha512-4TgkVUsmmu7oCSyGBm5FvfMoACuoh9EOidm7V5/J2X2djAwwt57qb3F2KMP2ITqODTCSwb+YRV+0Zqrv18k/hw== - dependencies: - xregexp "^4.2.4" - decimal.js@^10.2.0: version "10.2.0" resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231" @@ -3703,7 +3530,7 @@ deep-extend@^0.5.1: resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.1.tgz#b894a9dd90d3023fbf1c55a394fb858eb2066f1f" integrity sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w== -deep-is@~0.1.3: +deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= @@ -3885,9 +3712,9 @@ doctrine@^3.0.0: esutils "^2.0.2" dom-accessibility-api@^0.4.5: - version "0.4.5" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.4.5.tgz#d9c1cefa89f509d8cf132ab5d250004d755e76e3" - integrity sha512-HcPDilI95nKztbVikaN2vzwvmv0sE8Y2ZJFODy/m15n7mGXLeOKGiys9qWVbFbh+aq/KYj2lqMLybBOkYAEXqg== + version "0.4.6" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.4.6.tgz#f3f2af68aee01b1c862f37918d41841bb1aaf92a" + integrity sha512-qxFVFR/ymtfamEQT/AsYLe048sitxFCoCHiM+vuOdR3fE94i3so2SCFJxyz/RxV69PZ+9FgToYWOd7eqJqcbYw== dom-helpers@^3.2.1, dom-helpers@^3.4.0: version "3.4.0" @@ -3987,10 +3814,10 @@ ejs@^2.3.4, ejs@^2.6.1: resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== -electron-to-chromium@^1.3.413: - version "1.3.488" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.488.tgz#9226229f5fbc825959210e81e0bb3e63035d1c06" - integrity sha512-NReBdOugu1yl8ly+0VDtiQ6Yw/1sLjnvflWq0gvY1nfUXU2PbA+1XAVuEb7ModnwL/MfUPjby7e4pAFnSHiy6Q== +electron-to-chromium@^1.3.488: + version "1.3.509" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.509.tgz#830fcb89cd66dc2984d18d794973b99e3f00584c" + integrity sha512-cN4lkjNRuTG8rtAqTOVgwpecEC2kbKA04PG6YijcKGHK/kD0xLjiqExcAOmLUwtXZRF8cBeam2I0VZcih919Ug== elliptic@^6.0.0, elliptic@^6.5.2: version "6.5.3" @@ -4046,19 +3873,26 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^4.1.0, enhanced-resolve@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz#5d43bda4a0fd447cb0ebbe71bef8deff8805ad0d" - integrity sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ== +enhanced-resolve@^4.1.1, enhanced-resolve@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" + integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== dependencies: graceful-fs "^4.1.2" memory-fs "^0.5.0" tapable "^1.0.0" +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + entities@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" - integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== + version "2.0.3" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" + integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== errno@^0.1.3, errno@~0.1.7: version "0.1.7" @@ -4174,6 +4008,11 @@ es6-weak-map@^2.0.1: es6-iterator "^2.0.3" es6-symbol "^3.1.1" +escalade@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4" + integrity sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ== + escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -4227,10 +4066,10 @@ eslint-module-utils@^2.6.0: debug "^2.6.9" pkg-dir "^2.0.0" -eslint-plugin-import@~2.21.2: - version "2.21.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.21.2.tgz#8fef77475cc5510801bedc95f84b932f7f334a7c" - integrity sha512-FEmxeGI6yaz+SnEB6YgNHlQK1Bs2DKLM+YF+vuTk5H8J9CLbJLtlPvRFgZZ2+sXiKAlN5dpdlrWOjK8ZoZJpQA== +eslint-plugin-import@~2.22.0: + version "2.22.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz#92f7736fe1fde3e2de77623c838dd992ff5ffb7e" + integrity sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg== dependencies: array-includes "^3.1.1" array.prototype.flat "^1.2.3" @@ -4268,22 +4107,22 @@ eslint-plugin-promise@~4.2.1: resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz#845fd8b2260ad8f82564c1222fce44ad71d9418a" integrity sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw== -eslint-plugin-react@~7.20.0: - version "7.20.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.20.0.tgz#f98712f0a5e57dfd3e5542ef0604b8739cd47be3" - integrity sha512-rqe1abd0vxMjmbPngo4NaYxTcR3Y4Hrmc/jg4T+sYz63yqlmJRknpEQfmWY+eDWPuMmix6iUIK+mv0zExjeLgA== +eslint-plugin-react@~7.20.4: + version "7.20.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.20.4.tgz#c14d2631221ec694ddd84557d7152f44b66e4aa0" + integrity sha512-y4DOQ0LrzuDQFEAnYFGjJMRHQQqfTco02qiWI00eGQYikHTzC15S5aRHGWSffnThv8sBpsmFBLky3K5keniAJg== dependencies: array-includes "^3.1.1" + array.prototype.flatmap "^1.2.3" doctrine "^2.1.0" has "^1.0.3" - jsx-ast-utils "^2.2.3" - object.entries "^1.1.1" + jsx-ast-utils "^2.4.1" + object.entries "^1.1.2" object.fromentries "^2.0.2" object.values "^1.1.1" prop-types "^15.7.2" - resolve "^1.15.1" + resolve "^1.17.0" string.prototype.matchall "^4.0.2" - xregexp "^4.3.0" eslint-scope@^4.0.3: version "4.0.3" @@ -4293,25 +4132,25 @@ eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-scope@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" - integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== +eslint-scope@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" + integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-utils@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" - integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== +eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: eslint-visitor-keys "^1.1.0" -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.2.0.tgz#74415ac884874495f78ec2a97349525344c981fa" - integrity sha512-WFb4ihckKil6hu3Dp798xdzSfddwKKU3+nGniKF6HfeW6OLd2OUDEPP7TcHtB5+QXOKg2s6B2DaMPE1Nn/kxKQ== +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint@^2.7.0: version "2.13.1" @@ -4352,22 +4191,23 @@ eslint@^2.7.0: text-table "~0.2.0" user-home "^2.0.0" -eslint@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" - integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== +eslint@^7.5.0: + version "7.5.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.5.0.tgz#9ecbfad62216d223b82ac9ffea7ef3444671d135" + integrity sha512-vlUP10xse9sWt9SGRtcr1LAC67BENcQMFeV+w5EvLEoFe3xJ8cF1Skd0msziRx/VMC+72B4DxreCE+OR12OA6Q== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.10.0" - chalk "^2.1.0" - cross-spawn "^6.0.5" + chalk "^4.0.0" + cross-spawn "^7.0.2" debug "^4.0.1" doctrine "^3.0.0" - eslint-scope "^5.0.0" - eslint-utils "^1.4.3" - eslint-visitor-keys "^1.1.0" - espree "^6.1.2" - esquery "^1.0.1" + enquirer "^2.3.5" + eslint-scope "^5.1.0" + eslint-utils "^2.1.0" + eslint-visitor-keys "^1.3.0" + espree "^7.2.0" + esquery "^1.2.0" esutils "^2.0.2" file-entry-cache "^5.0.1" functional-red-black-tree "^1.0.1" @@ -4376,21 +4216,19 @@ eslint@^6.8.0: ignore "^4.0.6" import-fresh "^3.0.0" imurmurhash "^0.1.4" - inquirer "^7.0.0" is-glob "^4.0.0" js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.14" + levn "^0.4.1" + lodash "^4.17.19" minimatch "^3.0.4" - mkdirp "^0.5.1" natural-compare "^1.4.0" - optionator "^0.8.3" + optionator "^0.9.1" progress "^2.0.0" - regexpp "^2.0.1" - semver "^6.1.2" - strip-ansi "^5.2.0" - strip-json-comments "^3.0.1" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" table "^5.2.3" text-table "^0.2.0" v8-compile-cache "^2.0.3" @@ -4403,21 +4241,21 @@ espree@^3.1.6: acorn "^5.5.0" acorn-jsx "^3.0.0" -espree@^6.1.2: - version "6.1.2" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.2.tgz#6c272650932b4f91c3714e5e7b5f5e2ecf47262d" - integrity sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA== +espree@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.2.0.tgz#1c263d5b513dbad0ac30c4991b93ac354e948d69" + integrity sha512-H+cQ3+3JYRMEIOl87e7QdHX70ocly5iW4+dttuR8iYSPr/hXKFb+7dBsZ7+u1adC4VrnPlTkv0+OwuPnDop19g== dependencies: - acorn "^7.1.0" - acorn-jsx "^5.1.0" - eslint-visitor-keys "^1.1.0" + acorn "^7.3.1" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.3.0" esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.0.1: +esquery@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== @@ -4627,15 +4465,6 @@ extend@~3.0.2: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -4682,7 +4511,7 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@~2.0.6: +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= @@ -4733,13 +4562,6 @@ figures@^1.3.5: escape-string-regexp "^1.0.5" object-assign "^4.1.0" -figures@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.1.0.tgz#4b198dd07d8d71530642864af2d45dd9e459c4ec" - integrity sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg== - dependencies: - escape-string-regexp "^1.0.5" - file-entry-cache@^1.1.1: version "1.3.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-1.3.1.tgz#44c61ea607ae4be9c1402f41f44270cbfe334ff8" @@ -5206,12 +5028,12 @@ globby@^6.1.0: pinkie-promise "^2.0.0" globule@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.1.tgz#90a25338f22b7fbeb527cee63c629aea754d33b9" - integrity sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g== + version "1.3.2" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4" + integrity sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA== dependencies: glob "~7.1.1" - lodash "~4.17.12" + lodash "~4.17.10" minimatch "~3.0.2" gonzales-pe-sl@^4.2.3: @@ -5537,7 +5359,7 @@ human-signals@^1.1.1: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== -iconv-lite@0.4.24, iconv-lite@^0.4.24: +iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -5707,25 +5529,6 @@ inquirer@^0.12.0: strip-ansi "^3.0.0" through "^2.3.6" -inquirer@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.0.tgz#9e2b032dde77da1db5db804758b8fea3a970519a" - integrity sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ== - dependencies: - ansi-escapes "^4.2.1" - chalk "^2.4.2" - cli-cursor "^3.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.15" - mute-stream "0.0.8" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^4.1.0" - strip-ansi "^5.1.0" - through "^2.3.6" - internal-ip@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" @@ -6004,9 +5807,9 @@ is-my-ip-valid@^1.0.0: integrity sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ== is-my-json-valid@^2.10.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz#1345a6fca3e8daefc10d0fa77067f54cedafd59a" - integrity sha512-XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA== + version "2.20.5" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.20.5.tgz#5eca6a8232a687f68869b7361be1612e7512e5df" + integrity sha512-VTPuvvGQtxvCeghwspQu1rBgjYUT6FGxPlvFKbYuFtgc4ADsX3U5ihZOYN0qyU6u+d4X9xXb0IT5O6QpXKt87A== dependencies: generate-function "^2.0.0" generate-object-property "^1.1.0" @@ -6074,11 +5877,6 @@ is-potential-custom-element-name@^1.0.0: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= -is-promise@^2.1.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" - integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== - is-property@^1.0.0, is-property@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" @@ -6630,7 +6428,7 @@ js-string-escape@1.0.1: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.13.1: +js-yaml@^3.13.1, js-yaml@^3.4.6, js-yaml@^3.5.1, js-yaml@^3.5.4: version "3.14.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== @@ -6638,23 +6436,15 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^3.4.6, js-yaml@^3.5.1, js-yaml@^3.5.4: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= jsdom@^16.2.2: - version "16.2.2" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.2.2.tgz#76f2f7541646beb46a938f5dc476b88705bedf2b" - integrity sha512-pDFQbcYtKBHxRaP55zGXCJWgFHkDAYbKcsXEK/3Icu9nKYZkutUXfLBwbD+09XDutkYSHcgfQLZ0qvpAAm9mvg== + version "16.3.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.3.0.tgz#75690b7dac36c67be49c336dcd7219bbbed0810c" + integrity sha512-zggeX5UuEknpdZzv15+MS1dPYG0J/TftiiNunOeNxSl3qr8Z6cIlQpN0IdJa44z9aFxZRIVqRncvEhQ7X5DtZg== dependencies: abab "^2.0.3" acorn "^7.1.1" @@ -6676,7 +6466,7 @@ jsdom@^16.2.2: tough-cookie "^3.0.1" w3c-hr-time "^1.0.2" w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.0.0" + webidl-conversions "^6.1.0" whatwg-encoding "^1.0.5" whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" @@ -6769,9 +6559,9 @@ jsonify@~0.0.0: integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - integrity sha1-T9kss04OnbPInIYi7PUfm5eMbLk= + version "4.1.0" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.1.0.tgz#501fb89986a2389765ba09e6053299ceb4f2c2cc" + integrity sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg== jsprim@^1.2.2: version "1.4.1" @@ -6783,7 +6573,7 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jsx-ast-utils@^2.2.3, jsx-ast-utils@^2.4.1: +jsx-ast-utils@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz#1114a4c1209481db06c690c2b4f488cc665f657e" integrity sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w== @@ -6853,6 +6643,14 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" @@ -6979,7 +6777,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.3.0, lodash@~4.17.12: +lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.3.0, lodash@~4.17.10: version "4.17.19" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== @@ -7343,11 +7141,6 @@ mute-stream@0.0.5: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" integrity sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA= -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - nan@^2.12.1: version "2.14.1" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" @@ -7381,9 +7174,9 @@ negotiator@0.6.2: integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== neo-async@^2.5.0, neo-async@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== next-tick@~1.0.0: version "1.0.0" @@ -7451,10 +7244,10 @@ node-notifier@^7.0.0: uuid "^7.0.3" which "^2.0.2" -node-releases@^1.1.53: - version "1.1.58" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.58.tgz#8ee20eef30fa60e52755fcc0942def5a734fe935" - integrity sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg== +node-releases@^1.1.58: + version "1.1.60" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084" + integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA== normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" @@ -7608,7 +7401,7 @@ object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" -object.entries@^1.1.1: +object.entries@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add" integrity sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA== @@ -7716,7 +7509,7 @@ opn@^5.5.0: dependencies: is-wsl "^1.1.0" -optionator@^0.8.1, optionator@^0.8.3: +optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== @@ -7728,6 +7521,18 @@ optionator@^0.8.1, optionator@^0.8.3: type-check "~0.3.2" word-wrap "~1.2.3" +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + original@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" @@ -7745,11 +7550,6 @@ os-homedir@^1.0.0: resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - p-each-series@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" @@ -8129,13 +7929,6 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - pluralize@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" @@ -8500,7 +8293,7 @@ postcss@^5.0.16: source-map "^0.5.6" supports-color "^3.2.3" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.27, postcss@^7.0.30, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: version "7.0.32" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== @@ -8531,6 +8324,11 @@ postgres-interval@^1.1.0: dependencies: xtend "^4.0.0" +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -8561,11 +8359,6 @@ pretty-format@^26.1.0: ansi-styles "^4.0.0" react-is "^16.12.0" -private@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -8907,10 +8700,10 @@ react-redux-loading-bar@^4.0.8: prop-types "^15.6.2" react-lifecycles-compat "^3.0.2" -react-redux@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.0.tgz#f970f62192b3981642fec46fd0db18a074fe879d" - integrity sha512-EvCAZYGfOLqwV7gh849xy9/pt55rJXPwmYvI4lilPM5rUT/1NxuuN59ipdBksRVSvz0KInbPnp4IfoXJXCqiDA== +react-redux@^7.2.1: + version "7.2.1" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.1.tgz#8dedf784901014db2feca1ab633864dee68ad985" + integrity sha512-T+VfD/bvgGTUA74iW9d2i5THrDQWbweXP0AVNI8tNd1Rk5ch1rnMiJkDD67ejw7YBKM4+REvcvqRuWJb7BLuEg== dependencies: "@babel/runtime" "^7.5.5" hoist-non-react-statics "^3.3.0" @@ -9013,10 +8806,10 @@ react-test-renderer@^16.13.1: react-is "^16.8.6" scheduler "^0.19.1" -react-textarea-autosize@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.1.1.tgz#d31dd1d04235af11161765782c70cb27c2c2832e" - integrity sha512-yJv7CbyXv8hb0xHpii9yQpMK0kwZ3A4TChRc5qGxQlHDR064oqStHbcuvexErRvJipTnDGNkcpGvE3hLnY0KAg== +react-textarea-autosize@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.2.0.tgz#fae38653f5ec172a855fd5fffb39e466d56aebdb" + integrity sha512-grajUlVbkx6VdtSxCgzloUIphIZF5bKr21OYMceWPKkniy7H0mRAT/AXPrRtObAe+zUePnNlBwUc4ivVjUGIjw== dependencies: "@babel/runtime" "^7.10.2" use-composed-ref "^1.0.0" @@ -9150,9 +8943,9 @@ redent@^3.0.0: strip-indent "^3.0.0" redis-commands@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.5.0.tgz#80d2e20698fe688f227127ff9e5164a7dd17e785" - integrity sha512-6KxamqpZ468MeQC3bkWmCB1fp56XL64D4Kf0zJSwDZbVLLm7KFkoIcHrgRvQ+sk8dnhySs7+yBg94yIkAK7aJg== + version "1.6.0" + resolved "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.6.0.tgz#36d4ca42ae9ed29815cdb30ad9f97982eba1ce23" + integrity sha512-2jnZ0IkjZxvguITjFTrGiLyzQZcTvaw8DAaCXxZq/dsHXz7KfMQ3OUJy7Tz9vnRtZRVz6VRCPDvruvU8Ts44wQ== redis-errors@^1.0.0, redis-errors@^1.2.0: version "1.2.0" @@ -9217,17 +9010,16 @@ regenerator-runtime@^0.12.0: integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== regenerator-runtime@^0.13.4: - version "0.13.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" - integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== + version "0.13.7" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== regenerator-transform@^0.14.2: - version "0.14.4" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7" - integrity sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw== + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== dependencies: "@babel/runtime" "^7.8.4" - private "^0.1.8" regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" @@ -9245,10 +9037,10 @@ regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" -regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== +regexpp@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== regexpu-core@^4.7.0: version "4.7.0" @@ -9294,19 +9086,19 @@ repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -request-promise-core@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" - integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== dependencies: - lodash "^4.17.15" + lodash "^4.17.19" request-promise-native@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" - integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== dependencies: - request-promise-core "1.1.3" + request-promise-core "1.1.4" stealthy-require "^1.1.1" tough-cookie "^2.3.3" @@ -9436,7 +9228,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: +resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== @@ -9451,14 +9243,6 @@ restore-cursor@^1.0.1: exit-hook "^1.0.0" onetime "^1.0.0" -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -9525,13 +9309,6 @@ run-async@^0.1.0: dependencies: once "^1.3.0" -run-async@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" - integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= - dependencies: - is-promise "^2.1.0" - run-parallel@^1.1.9: version "1.1.9" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" @@ -9549,13 +9326,6 @@ rx-lite@^3.1.2: resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" integrity sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI= -rxjs@^6.4.0: - version "6.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" - integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== - dependencies: - tslib "^1.9.0" - safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -9624,10 +9394,10 @@ sass-loader@^8.0.2: schema-utils "^2.6.1" semver "^6.3.0" -sass@^1.26.8: - version "1.26.8" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.26.8.tgz#312652530721f9568d4c4000b0db07ec6eb23325" - integrity sha512-yvtzyrKLGiXQu7H12ekXqsfoGT/aTKeMDyVzCB675k1HYuaj0py63i8Uf4SI9CHXj6apDhpfwbUr3gGOjdpu2Q== +sass@^1.26.10: + version "1.26.10" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.26.10.tgz#851d126021cdc93decbf201d1eca2a20ee434760" + integrity sha512-bzN0uvmzfsTvjz0qwccN1sPm2HxxpNI/Xa+7PlUEMS+nQvbyuEK7Y0qFqxlPHhiNHb1Ze8WQJtU31olMObkAMw== dependencies: chokidar ">=2.0.0 <4.0.0" @@ -9704,7 +9474,7 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@^6.0.0, semver@^6.1.2, semver@^6.3.0: +semver@^6.0.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -10355,10 +10125,10 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" - integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== +strip-json-comments@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== strip-json-comments@~1.0.1: version "1.0.4" @@ -10641,13 +10411,6 @@ tiny-warning@^1.0.0: resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - tmpl@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" @@ -10766,6 +10529,13 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -11114,15 +10884,15 @@ watchpack-chokidar2@^2.0.0: dependencies: chokidar "^2.1.8" -watchpack@^1.6.1: - version "1.7.2" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.2.tgz#c02e4d4d49913c3e7e122c3325365af9d331e9aa" - integrity sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g== +watchpack@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" + integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== dependencies: graceful-fs "^4.1.2" neo-async "^2.5.0" optionalDependencies: - chokidar "^3.4.0" + chokidar "^3.4.1" watchpack-chokidar2 "^2.0.0" wbuf@^1.1.0, wbuf@^1.7.3: @@ -11137,7 +10907,7 @@ webidl-conversions@^5.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== -webidl-conversions@^6.0.0: +webidl-conversions@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== @@ -11264,10 +11034,10 @@ webpack-sources@^1.0.0, webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack- source-list-map "^2.0.0" source-map "~0.6.1" -webpack@^4.43.0: - version "4.43.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6" - integrity sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g== +webpack@^4.44.0: + version "4.44.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.0.tgz#3b08f88a89470175f036f4a9496b8a0428668802" + integrity sha512-wAuJxK123sqAw31SpkPiPW3iKHgFUiKvO7E7UZjtdExcsRe3fgav4mvoMM7vvpjLHVoJ6a0Mtp2fzkoA13e0Zw== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-module-context" "1.9.0" @@ -11277,7 +11047,7 @@ webpack@^4.43.0: ajv "^6.10.2" ajv-keywords "^3.4.1" chrome-trace-event "^1.0.2" - enhanced-resolve "^4.1.0" + enhanced-resolve "^4.3.0" eslint-scope "^4.0.3" json-parse-better-errors "^1.0.2" loader-runner "^2.4.0" @@ -11290,7 +11060,7 @@ webpack@^4.43.0: schema-utils "^1.0.0" tapable "^1.1.3" terser-webpack-plugin "^1.4.3" - watchpack "^1.6.1" + watchpack "^1.7.4" webpack-sources "^1.4.1" websocket-driver@0.6.5: @@ -11366,7 +11136,7 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" -word-wrap@~1.2.3: +word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== @@ -11447,13 +11217,6 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xregexp@^4.2.4, xregexp@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.3.0.tgz#7e92e73d9174a99a59743f67a4ce879a04b5ae50" - integrity sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g== - dependencies: - "@babel/runtime-corejs3" "^7.8.3" - xtend@^4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" @@ -11511,13 +11274,13 @@ yargs@^13.3.2: y18n "^4.0.0" yargs-parser "^13.1.2" -yargs@^15.3.1, yargs@^15.4.0: - version "15.4.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.0.tgz#53949fb768309bac1843de9b17b80051e9805ec2" - integrity sha512-D3fRFnZwLWp8jVAAhPZBsmeIHY8tTsb8ItV9KaAaopmC6wde2u6Yw29JBIZHXw14kgkRnYmDgmQU4FVMDlIsWw== +yargs@^15.3.1, yargs@^15.4.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== dependencies: cliui "^6.0.0" - decamelize "^3.2.0" + decamelize "^1.2.0" find-up "^4.1.0" get-caller-file "^2.0.1" require-directory "^2.1.1"