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đ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ắcchí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: "

Chính sách bảo mật

Chúng ta đã thu thập được thông tin gì rồi?


Chúng tôi sử dụng thông tin của bạn để làm gì?

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:


Làm thế nào để chúng tôi bảo vệ thông tin của bạn?

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ính sách lưu giữ dữ liệu của chúng tôi là gì?

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.


Chúng ta có sử dụng cookie không?

Đú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 có được công bố bất cứ thông tin nào ra bên ngoài không?

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.


Sử dụng trang web của trẻ em

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.


Thay đổi chính sách bảo mật của chúng tôi

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: "

Chính sách bảo mật

Chúng tôi thu thập những thông tin gì?


Chúng tôi sử dụng thông tin của bạn để làm gì?

Bất kỳ thông tin nào chúng tôi thu thập từ bạn là:


Chúng tôi bảo vệ thông tin của bạn như thế nào?

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ính sách lưu giữ dữ liệu của chúng tôi thì thế nào?

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.


Chúng tôi có sử dụng cookie không?

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 có để lộ bất cứ thông tin nào ra bên ngoài không?

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.


Giới hạn trẻ em sử dụng

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.


Cập nhật thay đổi

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"