diff --git a/.erb-lint.yml b/.erb-lint.yml index a85300d2d2..bb8917a318 100644 --- a/.erb-lint.yml +++ b/.erb-lint.yml @@ -1,4 +1,8 @@ --- +glob: "**/*.{html,text,js}{+*,}.erb" +exclude: + - '**/vendor/**/*' + - '**/node_modules/**/*' linters: ErbSafety: enabled: true @@ -11,3 +15,7 @@ linters: Enabled: false Metrics/LineLength: Enabled: false + Layout/TrailingEmptyLines: + Enabled: false + Layout/InitialIndentation: + Enabled: false diff --git a/Dockerfile b/Dockerfile index b996882dbc..5f45731209 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:3.2.0 +FROM ruby:3.2.1 # set up workdir RUN mkdir /circuitverse diff --git a/Dockerfile.production b/Dockerfile.production index efb85dde13..1140ab1ad7 100644 --- a/Dockerfile.production +++ b/Dockerfile.production @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM ruby:3.2.0 as builder +FROM --platform=$BUILDPLATFORM ruby:3.2.1 as builder ARG BUILDPLATFORM ENV NODE_ENV=production @@ -34,7 +34,7 @@ RUN rm -rf node_modules spec RUN bundle exec bootsnap precompile --gemfile app/ lib/ -FROM --platform=$BUILDPLATFORM ruby:3.2.0-slim as app +FROM --platform=$BUILDPLATFORM ruby:3.2.1-slim as app COPY --from=builder /usr/src/app /usr/src/app diff --git a/Gemfile b/Gemfile index 1135f4f919..71a85467ad 100644 --- a/Gemfile +++ b/Gemfile @@ -24,7 +24,7 @@ gem "view_component" # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem "rails", "~> 7.0" # Use Puma as the app server -gem "puma", "~> 5.6" +gem "puma", "~> 6.1" # Use SCSS for stylesheets gem "sass-rails", "~> 6.0" gem "terser" diff --git a/Gemfile.lock b/Gemfile.lock index 54bbe7f0aa..50d485b2c1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,6 +1,6 @@ GIT remote: https://github.com/CircuitVerse/disposable_email.git - revision: b47303bcd6c51726d5027e9aa816b3ca1e0b3a3a + revision: e90182d085c720bc9361246177fbada38f79179f specs: disposable_mail (0.1.7) @@ -17,71 +17,71 @@ GIT GEM remote: https://rubygems.org/ specs: - actioncable (7.0.4.1) - actionpack (= 7.0.4.1) - activesupport (= 7.0.4.1) + actioncable (7.0.4.3) + actionpack (= 7.0.4.3) + activesupport (= 7.0.4.3) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.4.1) - actionpack (= 7.0.4.1) - activejob (= 7.0.4.1) - activerecord (= 7.0.4.1) - activestorage (= 7.0.4.1) - activesupport (= 7.0.4.1) + actionmailbox (7.0.4.3) + actionpack (= 7.0.4.3) + activejob (= 7.0.4.3) + activerecord (= 7.0.4.3) + activestorage (= 7.0.4.3) + activesupport (= 7.0.4.3) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.4.1) - actionpack (= 7.0.4.1) - actionview (= 7.0.4.1) - activejob (= 7.0.4.1) - activesupport (= 7.0.4.1) + actionmailer (7.0.4.3) + actionpack (= 7.0.4.3) + actionview (= 7.0.4.3) + activejob (= 7.0.4.3) + activesupport (= 7.0.4.3) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.4.1) - actionview (= 7.0.4.1) - activesupport (= 7.0.4.1) + actionpack (7.0.4.3) + actionview (= 7.0.4.3) + activesupport (= 7.0.4.3) rack (~> 2.0, >= 2.2.0) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.4.1) - actionpack (= 7.0.4.1) - activerecord (= 7.0.4.1) - activestorage (= 7.0.4.1) - activesupport (= 7.0.4.1) + actiontext (7.0.4.3) + actionpack (= 7.0.4.3) + activerecord (= 7.0.4.3) + activestorage (= 7.0.4.3) + activesupport (= 7.0.4.3) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.4.1) - activesupport (= 7.0.4.1) + actionview (7.0.4.3) + activesupport (= 7.0.4.3) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.4.1) - activesupport (= 7.0.4.1) + activejob (7.0.4.3) + activesupport (= 7.0.4.3) globalid (>= 0.3.6) - activemodel (7.0.4.1) - activesupport (= 7.0.4.1) + activemodel (7.0.4.3) + activesupport (= 7.0.4.3) activemodel-serializers-xml (1.0.2) activemodel (> 5.x) activesupport (> 5.x) builder (~> 3.1) - activerecord (7.0.4.1) - activemodel (= 7.0.4.1) - activesupport (= 7.0.4.1) - activestorage (7.0.4.1) - actionpack (= 7.0.4.1) - activejob (= 7.0.4.1) - activerecord (= 7.0.4.1) - activesupport (= 7.0.4.1) + activerecord (7.0.4.3) + activemodel (= 7.0.4.3) + activesupport (= 7.0.4.3) + activestorage (7.0.4.3) + actionpack (= 7.0.4.3) + activejob (= 7.0.4.3) + activerecord (= 7.0.4.3) + activesupport (= 7.0.4.3) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (7.0.4.1) + activesupport (7.0.4.3) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -125,12 +125,11 @@ GEM aws-sigv4 (1.5.1) aws-eventstream (~> 1, >= 1.0.2) bcrypt (3.1.16) - better_html (1.0.16) - actionview (>= 4.0) - activesupport (>= 4.0) + better_html (2.0.1) + actionview (>= 6.0) + activesupport (>= 6.0) ast (~> 2.0) erubi (~> 1.4) - html_tokenizer (~> 0.0.6) parser (>= 2.4) smart_properties bindex (0.8.1) @@ -174,7 +173,7 @@ GEM rails (>= 6.0) sprockets-rails will_paginate - concurrent-ruby (1.2.0) + concurrent-ruby (1.2.2) connection_pool (2.2.5) countries (5.3.0) unaccent (~> 0.3) @@ -209,10 +208,9 @@ GEM dotenv-rails (2.7.6) dotenv (= 2.7.6) railties (>= 3.2) - erb_lint (0.1.1) + erb_lint (0.4.0) activesupport - better_html (~> 1.0.7) - html_tokenizer + better_html (>= 2.0.1) parser (>= 2.7.1.4) rainbow rubocop @@ -236,22 +234,23 @@ GEM ffi-compiler (1.0.1) ffi (>= 1.0.0) rake - flipper (0.24.1) - flipper-redis (0.24.0) - flipper (~> 0.24.0) - redis (>= 3.0, < 5) - flipper-ui (0.24.1) + flipper (0.28.0) + concurrent-ruby (< 2) + flipper-redis (0.28.0) + flipper (~> 0.28.0) + redis (>= 3.0, < 6) + flipper-ui (0.28.0) erubi (>= 1.0.0, < 2.0.0) - flipper (~> 0.24.1) + flipper (~> 0.28.0) rack (>= 1.4, < 3) - rack-protection (>= 1.5.3, <= 2.2.0) + rack-protection (>= 1.5.3, <= 4.0.0) sanitize (< 7) font-awesome-sass (5.13.1) sassc (>= 1.11) friendly_id (5.4.2) activerecord (>= 4.0.0) geocoder (1.7.3) - globalid (1.0.1) + globalid (1.1.0) activesupport (>= 5.0) hairtrigger (0.2.25) activerecord (>= 5.0, < 8) @@ -262,7 +261,6 @@ GEM hirb (0.7.3) hiredis (0.6.3) hkdf (0.3.0) - html_tokenizer (0.0.7) htmlentities (4.3.4) http (4.4.0) addressable (~> 2.3) @@ -327,10 +325,10 @@ GEM listen (3.7.1) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) - loofah (2.19.1) + loofah (2.20.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) - mail (2.8.0.1) + mail (2.8.1) mini_mime (>= 0.1.1) net-imap net-pop @@ -347,8 +345,8 @@ GEM mime-types-data (3.2022.0105) mini_magick (4.11.0) mini_mime (1.1.2) - mini_portile2 (2.8.1) - minitest (5.17.0) + mini_portile2 (2.8.2) + minitest (5.18.0) msgpack (1.6.0) multi_xml (0.6.0) nested_form (0.3.2) @@ -363,10 +361,8 @@ GEM net-protocol newrelic_rpm (8.14.0) nio4r (2.5.8) - nokogiri (1.14.2) - mini_portile2 (~> 2.8.0) - racc (~> 1.4) - nokogiri (1.14.2-x64-mingw32) + nokogiri (1.15.2) + mini_portile2 (~> 2.8.2) racc (~> 1.4) noticed (1.6.0) http (>= 4.0.0) @@ -408,7 +404,7 @@ GEM omniauth (~> 2.0) orm_adapter (0.5.0) parallel (1.22.1) - parser (3.2.0.0) + parser (3.2.2.0) ast (~> 2.4.1) pg (1.4.5) pg (1.4.5-x64-mingw32) @@ -429,32 +425,32 @@ GEM pry-rails (0.3.9) pry (>= 0.10.4) public_suffix (5.0.1) - puma (5.6.4) + puma (6.1.1) nio4r (~> 2.0) pundit (2.3.0) activesupport (>= 3.0.0) racc (1.6.2) - rack (2.2.6.3) + rack (2.2.6.4) rack-attack (6.6.1) rack (>= 1.0, < 3) - rack-protection (2.2.0) + rack-protection (3.0.5) rack - rack-test (2.0.2) + rack-test (2.1.0) rack (>= 1.3) - rails (7.0.4.1) - actioncable (= 7.0.4.1) - actionmailbox (= 7.0.4.1) - actionmailer (= 7.0.4.1) - actionpack (= 7.0.4.1) - actiontext (= 7.0.4.1) - actionview (= 7.0.4.1) - activejob (= 7.0.4.1) - activemodel (= 7.0.4.1) - activerecord (= 7.0.4.1) - activestorage (= 7.0.4.1) - activesupport (= 7.0.4.1) + rails (7.0.4.3) + actioncable (= 7.0.4.3) + actionmailbox (= 7.0.4.3) + actionmailer (= 7.0.4.3) + actionpack (= 7.0.4.3) + actiontext (= 7.0.4.3) + actionview (= 7.0.4.3) + activejob (= 7.0.4.3) + activemodel (= 7.0.4.3) + activerecord (= 7.0.4.3) + activestorage (= 7.0.4.3) + activesupport (= 7.0.4.3) bundler (>= 1.15.0) - railties (= 7.0.4.1) + railties (= 7.0.4.3) rails-data-migrations (1.2.0) rails (>= 4.0.0) rails-dom-testing (2.0.3) @@ -465,7 +461,7 @@ GEM activesupport (>= 4.2) choice (~> 0.2.0) ruby-graphviz (~> 1.2) - rails-html-sanitizer (1.4.4) + rails-html-sanitizer (1.5.0) loofah (~> 2.19, >= 2.19.1) rails-i18n (7.0.3) i18n (>= 0.7, < 2) @@ -476,9 +472,9 @@ GEM nested_form (~> 0.3) rails (>= 6.0, < 8) turbo-rails (~> 1.0) - railties (7.0.4.1) - actionpack (= 7.0.4.1) - activesupport (= 7.0.4.1) + railties (7.0.4.3) + actionpack (= 7.0.4.3) + activesupport (= 7.0.4.3) method_source rake (>= 12.2) thor (~> 1.0) @@ -492,7 +488,7 @@ GEM json redcarpet (3.5.1) redis (4.6.0) - regexp_parser (2.6.2) + regexp_parser (2.7.0) responders (3.0.1) actionpack (>= 5.0) railties (>= 5.0) @@ -519,18 +515,18 @@ GEM rspec-support (3.11.0) rspec_junit_formatter (0.5.1) rspec-core (>= 2, < 4, != 2.12.0) - rubocop (1.43.0) + rubocop (1.49.0) json (~> 2.3) parallel (~> 1.10) parser (>= 3.2.0.0) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.24.1, < 2.0) + rubocop-ast (>= 1.28.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.24.1) - parser (>= 3.1.1.0) + rubocop-ast (1.28.0) + parser (>= 3.2.1.0) rubocop-performance (1.14.2) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) @@ -542,7 +538,7 @@ GEM rubocop (~> 1.19) ruby-graphviz (1.2.5) rexml - ruby-progressbar (1.11.0) + ruby-progressbar (1.13.0) ruby-saml (1.14.0) nokogiri (>= 1.10.5) rexml @@ -592,7 +588,7 @@ GEM simplecov_json_formatter (0.1.4) sitemap_generator (6.2.1) builder (~> 3.0) - smart_properties (1.15.0) + smart_properties (1.17.0) snaky_hash (2.0.1) hashie version_gem (~> 1.1, >= 1.1.1) @@ -625,7 +621,7 @@ GEM execjs (>= 0.3.0, < 3) thor (1.2.1) tilt (2.0.10) - timeout (0.3.1) + timeout (0.3.2) tins (1.32.1) sync turbo-rails (1.3.2) @@ -676,7 +672,7 @@ GEM will_paginate (>= 3.0.3) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.6) + zeitwerk (2.6.7) PLATFORMS ruby @@ -741,7 +737,7 @@ DEPENDENCIES pg_search premailer-rails (~> 1.11, >= 1.11.1) pry-rails - puma (~> 5.6) + puma (~> 6.1) pundit rack-attack rails (~> 7.0) diff --git a/app/assets/stylesheets/announcements.scss b/app/assets/stylesheets/announcements.scss index 296dfc006c..38022f93a5 100644 --- a/app/assets/stylesheets/announcements.scss +++ b/app/assets/stylesheets/announcements.scss @@ -1,36 +1,35 @@ .announcements-content-wrapper { align-items: center; background: $primary-green; + border-radius: .3rem; color: $white; display: flex; flex-wrap: wrap; - font-size: 13px; + font-size: 1.2rem; justify-content: center; - min-height: 35px; - min-width: 100vw; + margin-top: .3rem; overflow-wrap: break-word; - position: fixed; - top: 0; - z-index: 1; - p { - margin-bottom: 0; + span { + display: inline-block; + flex: 50%; + margin-right: 1rem; + margin-top: 1rem; + text-align: center; } a { - border-bottom: 1px dotted $white; - color: $white; - font-weight: bold; - margin-left: 10px; - - &:hover { - text-decoration: none; - } + background: $secondary-red; } } @media(max-width: 992px) { .announcements-content-wrapper { - font-size: 9px; + font-size: 1rem; + padding-bottom: .6rem; + + span { + flex: 100%; + } } } diff --git a/app/assets/stylesheets/commontator.scss b/app/assets/stylesheets/commontator.scss index 94e23a5194..2d7d206573 100644 --- a/app/assets/stylesheets/commontator.scss +++ b/app/assets/stylesheets/commontator.scss @@ -18,6 +18,14 @@ background-color: $card-green; margin-top: 15px; padding: 10px 20px; + + .body { + margin-bottom: 16px; + + p { + margin-bottom: 0; + } + } } .avatar { diff --git a/app/assets/stylesheets/components.scss b/app/assets/stylesheets/components.scss index e412a96eea..23260a5bb9 100644 --- a/app/assets/stylesheets/components.scss +++ b/app/assets/stylesheets/components.scss @@ -267,12 +267,12 @@ .alert-success { margin-top: 10px; + padding-top: 1rem; // aligns the alert text } //checkpoints .primary-checkpoint { background-color: $shadow-grey; - bottom: 0; display: inline-block; height: 25px; margin-top: 15px; @@ -313,11 +313,11 @@ border: solid $white; border-width: 0 3px 3px 0; display: block; - height: 12px; - left: 9px; - top: 5px; + height: 14px; + left: 7px; + top: 2px; transform: rotate(45deg); - width: 8px; + width: 9px; } } } diff --git a/app/assets/stylesheets/groups.scss b/app/assets/stylesheets/groups.scss index 0ec1d5fc31..88dc6b1f19 100644 --- a/app/assets/stylesheets/groups.scss +++ b/app/assets/stylesheets/groups.scss @@ -174,8 +174,9 @@ background-color: $card-green; border: 1px solid $secondary-green; display: inline-block; - height: 70px; + height: 90px; margin: 10px; + margin-bottom: 20px; padding: 15px; width: 200px; white-space: nowrap; @@ -183,13 +184,13 @@ .groups-members-card-details { padding-right: 0; - padding-top: 20px; + padding-top: 5px; text-align: left; i { - margin-right: 3px; - margin-top: 0; - padding-bottom: 5px; + margin-right: 10px; + margin-top: 20px; + padding-bottom: 20px; } } @@ -200,7 +201,7 @@ i { margin-right: 15px; - padding-bottom: 0; + padding-bottom: 15px; } .groups-members-card-name-container { @@ -218,13 +219,30 @@ } } +.groups-members-card-avatar { + img { + border-radius: 50%; + height: 50px; + margin-bottom: 10px; + transform: translate(-5px, 5px); + transition: all .5s; + width: 50px; + + &:hover { + transform: scale(2); + } + } +} + .groups-members-card-name-container { display: inline-block; - height: 25px; - max-width: 110px; + height: 30px; + max-width: 92px; overflow: hidden; padding-top: 1px; text-overflow: ellipsis; + vertical-align: middle; + white-space: nowrap; } .groups-members-card-name { @@ -265,17 +283,17 @@ //breakpoints @media (max-width: 1200px) { .groups-members-scroll-row { - max-width: 920px; + max-width: 930px; } .groups-members-card { - width: 350px; + width: 320px; } } @media (max-width: 992px) { .groups-members-scroll-row { - max-width: 610px; + max-width: 680px; } } diff --git a/app/assets/stylesheets/navbar.scss b/app/assets/stylesheets/navbar.scss index 5a7123ad55..24cbcbbbdd 100644 --- a/app/assets/stylesheets/navbar.scss +++ b/app/assets/stylesheets/navbar.scss @@ -234,7 +234,3 @@ padding-top: 10px; } } - -.navbar-announcement { - top: 35px; -} diff --git a/app/controllers/api/v1/comments_controller.rb b/app/controllers/api/v1/comments_controller.rb index 9d6d092784..8b4a66b28b 100644 --- a/app/controllers/api/v1/comments_controller.rb +++ b/app/controllers/api/v1/comments_controller.rb @@ -71,7 +71,7 @@ def upvote # PUT /api/v1/comments/:id/downvote def downvote - security_transgression_unless @comment.can_be_voted_on_by?(current_user) && \ + security_transgression_unless @comment.can_be_voted_on_by?(current_user) && @comment.thread.config.comment_voting.to_sym == :ld @comment.downvote_from current_user diff --git a/app/policies/project_policy.rb b/app/policies/project_policy.rb index 66b8be04b3..bfa343a5f8 100644 --- a/app/policies/project_policy.rb +++ b/app/policies/project_policy.rb @@ -22,25 +22,25 @@ def user_access? def check_edit_access? return false if user.nil? || project.project_submission - project.author_id == user.id || \ + project.author_id == user.id || Collaboration.exists?(project_id: project.id, user_id: user.id) end def check_view_access? - (project.project_access_type != "Private" \ - || (!user.nil? && project.author_id == user.id) \ - || (!user.nil? && !project.assignment_id.nil? \ - && ((project.assignment.group.primary_mentor_id == user.id) \ - || project.assignment.group.group_members.exists?(user_id: user.id, mentor: true))) \ - || (!user.nil? && Collaboration.exists?(project_id: project.id, user_id: user.id)) \ - || (!user.nil? && user.admin)) + (project.project_access_type != "Private" || + (!user.nil? && project.author_id == user.id) || + (!user.nil? && !project.assignment_id.nil? && + ((project.assignment.group.primary_mentor_id == user.id) || + project.assignment.group.group_members.exists?(user_id: user.id, mentor: true))) || + (!user.nil? && Collaboration.exists?(project_id: project.id, user_id: user.id)) || + (!user.nil? && user.admin)) end def check_direct_view_access? - (project.project_access_type == "Public" \ - || (project.project_submission == false && !user.nil? && project.author_id == user.id) \ - || (!user.nil? && Collaboration.exists?(project_id: project.id, user_id: user.id)) \ - || (!user.nil? && user.admin)) + (project.project_access_type == "Public" || + (project.project_submission == false && !user.nil? && project.author_id == user.id) || + (!user.nil? && Collaboration.exists?(project_id: project.id, user_id: user.id)) || + (!user.nil? && user.admin)) end def edit_access? diff --git a/app/services/i18n_support.rb b/app/services/i18n_support.rb index 1973fd6e34..615b72093f 100644 --- a/app/services/i18n_support.rb +++ b/app/services/i18n_support.rb @@ -5,7 +5,8 @@ def self.locale_names [ %w[English en], %w[Hindi hi], - %w[Bengali bn] + %w[Bengali bn], + %w[Marathi mr] ] end end diff --git a/app/views/about/index.html.erb b/app/views/about/index.html.erb index 1d453f6d4e..27dc5ea670 100644 --- a/app/views/about/index.html.erb +++ b/app/views/about/index.html.erb @@ -42,7 +42,7 @@ <% @cores.each do |member| %> <% end %> @@ -62,7 +62,7 @@ <% @mentors.each do |member| %> <% end %> @@ -82,7 +82,7 @@ <% @alumni.each do |member| %> <% end %> diff --git a/app/views/announcements/_announcement.html.erb b/app/views/announcements/_announcement.html.erb index 61fb1848c6..670e03032a 100644 --- a/app/views/announcements/_announcement.html.erb +++ b/app/views/announcements/_announcement.html.erb @@ -1,9 +1,9 @@ <% if current_announcement %> <% if current_announcement.start_date <= Date.current && current_announcement.end_date >= Date.current %>
- <%== current_announcement.body %> + <%== current_announcement.body %> <% if current_announcement.link? %> - <%= link_to t("announcements.learn_more"), current_announcement.link, target: :_blank %> + <%= link_to t("announcements.learn_more"), current_announcement.link, target: :_blank, class: "btn primary-delete-button", rel: :noopener %> <% end %>
<% end %> diff --git a/app/views/announcements/_form.html.erb b/app/views/announcements/_form.html.erb index b3d3f819e3..1655f90efc 100644 --- a/app/views/announcements/_form.html.erb +++ b/app/views/announcements/_form.html.erb @@ -1,8 +1,8 @@ -<%= form_with(model: announcement, local: true, id:"AnnouncementForm") do |form| %> +<%= form_with(model: announcement, local: true, id: "AnnouncementForm") do |form| %>
<%= form.label :body %>
- <%= render partial: 'editor/index', locals: {content: announcement.body} %> + <%= render partial: "editor/index", locals: { content: announcement.body } %>
diff --git a/app/views/announcements/edit.html.erb b/app/views/announcements/edit.html.erb index c5eed4cec4..8b1a7f0ec4 100644 --- a/app/views/announcements/edit.html.erb +++ b/app/views/announcements/edit.html.erb @@ -3,7 +3,7 @@

<%= t("announcements.edit_announcement_heading") %>


- <%= render 'form',announcement: @announcement %> + <%= render "form", announcement: @announcement %>
diff --git a/app/views/announcements/index.html.erb b/app/views/announcements/index.html.erb index e13b8b5021..0984c83785 100644 --- a/app/views/announcements/index.html.erb +++ b/app/views/announcements/index.html.erb @@ -8,7 +8,7 @@
<%== announcement.body %> <%= link_to t("edit"), edit_announcement_url(announcement), class: "anchor-text" %> - <%= link_to t("delete"), announcement_url(announcement),method: :delete, data: {confirm:'Are you sure?'},class: "anchor-text" %> + <%= link_to t("delete"), announcement_url(announcement), method: :delete, data: { confirm: "Are you sure?" }, class: "anchor-text" %>
<% end %> <% else %> diff --git a/app/views/announcements/new.html.erb b/app/views/announcements/new.html.erb index 45876d7c66..bf9fa1dd42 100644 --- a/app/views/announcements/new.html.erb +++ b/app/views/announcements/new.html.erb @@ -3,7 +3,7 @@

<%= t("announcements.new_announcement") %>


- <%= render 'form',announcement: Announcement.new %> + <%= render "form", announcement: Announcement.new %>
diff --git a/app/views/assignment_mailer/new_assignment_email.html.erb b/app/views/assignment_mailer/new_assignment_email.html.erb index 5ec638d6a7..45fee1b872 100644 --- a/app/views/assignment_mailer/new_assignment_email.html.erb +++ b/app/views/assignment_mailer/new_assignment_email.html.erb @@ -2,9 +2,9 @@

Welcome to CircuitVerse, <%= @user.name %>

<%= inline_svg_tag "SVGs/newAssignment.svg", alt: "New Assignment", class: "mailer-assignment-image" %>

- A new assignment named <%= @assignment.name %> (<%= @assignment.deadline %>) has been assigned in <%= Group.find_by(id:@assignment.group_id).name %>.
- Assignment is mentored by <%= User.find_by(id:Group.find_by(id:@assignment.group_id).primary_mentor_id).name %> + A new assignment named <%= @assignment.name %> (<%= @assignment.deadline %>) has been assigned in <%= Group.find_by(id: @assignment.group_id).name %>.
+ Assignment is mentored by <%= User.find_by(id: Group.find_by(id: @assignment.group_id).primary_mentor_id).name %>

- View Assignment + View Assignment

Keep building!

diff --git a/app/views/assignments/_form.html.erb b/app/views/assignments/_form.html.erb index 839700838f..643710ad65 100644 --- a/app/views/assignments/_form.html.erb +++ b/app/views/assignments/_form.html.erb @@ -1,7 +1,7 @@ -<%= form_with(model: [group,@assignment], local: true, html: {onsubmit:"beforeSubmit()"}, multipart: true ,id:"assignmentForm", 'data-controller': "assignment") do |form| %> +<%= form_with(model: [group, @assignment], local: true, html: { onsubmit: "beforeSubmit()" }, multipart: true, id: "assignmentForm", "data-controller": "assignment") do |form| %> <% if @assignment.errors.any? %>
<% end %>
<%= form.label :name %>
- <%= form.text_field :name, id: :assignment_name, class: 'form-control form-input' %> + <%= form.text_field :name, id: :assignment_name, class: "form-control form-input" %>
<%= form.label :description %>
- <%= render :partial => 'editor/index', :locals => {:content => @assignment.description} %> + <%= render partial: "editor/index", locals: { content: @assignment.description } %>
(<%= t("assignments.remaining_time_error") %>) @@ -45,7 +45,7 @@

Grading Scale needs to be fixed at 1-100 for passing the grade back to LMS

<% end %> - <%= form.select :grading_scale, [[t("assignments.form.no_grade"), :no_scale], [t("assignments.form.letter"), :letter], [t("assignments.form.percent"), :percent], [t("assignments.form.custom"), :custom]], {}, class: 'form-control form-input' %> + <%= form.select :grading_scale, [[t("assignments.form.no_grade"), :no_scale], [t("assignments.form.letter"), :letter], [t("assignments.form.percent"), :percent], [t("assignments.form.custom"), :custom]], {}, class: "form-control form-input" %> <% else %>

<%= t("assignments.form.cannot_be_edited", graded: AssignmentDecorator.new(@assignment).graded) %>

@@ -70,8 +70,8 @@
- <%= form.submit class: 'btn primary-button' %>   - <%= link_to t("back"), :back, class: 'anchor-text' %> + <%= form.submit class: "btn primary-button" %>   + <%= link_to t("back"), :back, class: "anchor-text" %>
<% end %> diff --git a/app/views/assignments/edit.html.erb b/app/views/assignments/edit.html.erb index ff4715f7ec..f26a014dcd 100644 --- a/app/views/assignments/edit.html.erb +++ b/app/views/assignments/edit.html.erb @@ -5,13 +5,13 @@

<%= t("assignments.edit.edit_assignment") %>

-

<%= t("assignments.group_name",name: @group.name) %>


+

<%= t("assignments.group_name", name: @group.name) %>


- <%= render 'form', assignment: @assignment , group:@group %> + <%= render "form", assignment: @assignment, group: @group %>
diff --git a/app/views/assignments/new.html.erb b/app/views/assignments/new.html.erb index 68eb4a17a3..9eb33df77e 100644 --- a/app/views/assignments/new.html.erb +++ b/app/views/assignments/new.html.erb @@ -5,13 +5,13 @@

<%= t("assignments.new.new_assignment_heading") %>

-

<%= t("assignments.group_name",name: @group.name) %>


+

<%= t("assignments.group_name", name: @group.name) %>


- <%= render 'form', assignment: @assignment , group:@group %> + <%= render "form", assignment: @assignment, group: @group %>
diff --git a/app/views/assignments/show.html.erb b/app/views/assignments/show.html.erb index 758e7aef4b..1c46e8c525 100644 --- a/app/views/assignments/show.html.erb +++ b/app/views/assignments/show.html.erb @@ -43,7 +43,7 @@ <% end %> <% if policy(@assignment).admin_access? && @assignment.status!="closed" %>
- <%= link_to edit_group_assignment_path(@group, @assignment), class:"mini-button groups-reopen-mini-button" do %> + <%= link_to edit_group_assignment_path(@group, @assignment), class: "mini-button groups-reopen-mini-button" do %> <%= image_tag("SVGs/editGroup.svg", alt: "Edit Assignment") %> <%= t("edit") %> <% end %> @@ -105,21 +105,21 @@
<%= t("assignments.assignment_data.grades_and_remarks") %>
- <%= form_with(model: Grade.new, multipart: true,id:"assignment-grade-form",url: "/grades") do |form| %> + <%= form_with(model: Grade.new, multipart: true, id: "assignment-grade-form", url: "/grades") do |form| %> <%= form.hidden_field :project_id, id: "assignment-project-id" %> <%= form.hidden_field :assignment_id, value: @assignment.id %>
<%= t("assignments.assignment_data.grade") %>
<% if @assignment.grading_scale == "percent" %> - <%= form.number_field :grade,id: "assignment-grade-grade", min: 0, max: 100, class: "form-control form-input" %> + <%= form.number_field :grade, id: "assignment-grade-grade", min: 0, max: 100, class: "form-control form-input" %> <% elsif @assignment.grading_scale == "letter" || @assignment.grading_scale == "custom" %> - <%= form.text_field :grade,id: "assignment-grade-grade", class: "form-control form-input" %> + <%= form.text_field :grade, id: "assignment-grade-grade", class: "form-control form-input" %> <% end %>
<%= t("assignments.assignment_data.remarks") %>
- <%= form.text_field :remarks,id: "assignment-grade-remarks", class: "form-control form-input" %> + <%= form.text_field :remarks, id: "assignment-grade-remarks", class: "form-control form-input" %>
diff --git a/app/views/circuitverse/contribute.html.erb b/app/views/circuitverse/contribute.html.erb index 099abf4c7d..f5c875457b 100644 --- a/app/views/circuitverse/contribute.html.erb +++ b/app/views/circuitverse/contribute.html.erb @@ -43,7 +43,7 @@
- <%= image_tag "SVGs/student.svg", alt: "Student Icon", :class => "card-img-top contribute-card-image" %> + <%= image_tag "SVGs/student.svg", alt: "Student Icon", class: "card-img-top contribute-card-image" %>

<%= t("circuitverse.contribute.student_card.main_heading") %>

    @@ -56,7 +56,7 @@
- <%= image_tag "SVGs/professor.svg", alt: "Professor Icon", :class => "card-img-top contribute-card-image" %> + <%= image_tag "SVGs/professor.svg", alt: "Professor Icon", class: "card-img-top contribute-card-image" %>

<%= t("circuitverse.contribute.teacher_card.main_heading") %>

    @@ -69,7 +69,7 @@
- <%= image_tag "SVGs/coder.svg", alt: "Developer Icon", :class => "card-img-top contribute-card-image" %> + <%= image_tag "SVGs/coder.svg", alt: "Developer Icon", class: "card-img-top contribute-card-image" %>

<%= t("circuitverse.contribute.developer_card.main_heading") %>

    diff --git a/app/views/circuitverse/examples.html.erb b/app/views/circuitverse/examples.html.erb index b7d8642a63..2b391ef689 100644 --- a/app/views/circuitverse/examples.html.erb +++ b/app/views/circuitverse/examples.html.erb @@ -10,7 +10,7 @@ <% @examples.each do |example| %>
    - <%= image_tag example[:img], alt: example[:name], :class => "card-img-top circuit-card-image examples-circuit-card-image" %> + <%= image_tag example[:img], alt: example[:name], class: "card-img-top circuit-card-image examples-circuit-card-image" %>
diff --git a/app/views/layouts/_notifications.html.erb b/app/views/layouts/_notifications.html.erb index 697d72444b..76a813840d 100644 --- a/app/views/layouts/_notifications.html.erb +++ b/app/views/layouts/_notifications.html.erb @@ -39,10 +39,10 @@ <% end %>
<% if @unread.count.positive? %> - <%= link_to t("users.notifications.mark_as_read_button"), read_all_notifications_url(current_user), :method=> :patch, class: "anchor-text-left" %> - <%= link_to t("users.notifications.see_all"), notifications_path(current_user), :class=>"anchor-text-right" %> + <%= link_to t("users.notifications.mark_as_read_button"), read_all_notifications_url(current_user), method: :patch, class: "anchor-text-left" %> + <%= link_to t("users.notifications.see_all"), notifications_path(current_user), class: "anchor-text-right" %> <% else %> - <%= link_to t("users.notifications.see_all"), notifications_path(current_user), :class=>"anchor-text" %> + <%= link_to t("users.notifications.see_all"), notifications_path(current_user), class: "anchor-text" %> <% end %>
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 1177449f87..36c81af4d6 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -3,19 +3,19 @@ - <%= display_meta_tags description: yield(:description).presence || Rails.configuration.site_description, - title: yield(:title).presence || 'CircuitVerse - Digital Circuit Simulator' %> + <%= display_meta_tags description: yield(:description).presence || Rails.configuration.site_description, + title: yield(:title).presence || "CircuitVerse - Digital Circuit Simulator" %> - <%= favicon_link_tag 'favicon.ico' %> + <%= favicon_link_tag "favicon.ico" %> - <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> + <%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track": "reload" %> <%= csrf_meta_tags %> - <%= javascript_include_tag 'application_sprockets', 'data-turbolinks-track': 'reload' %> - <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload', defer: true %> + <%= javascript_include_tag "application_sprockets", "data-turbolinks-track": "reload" %> + <%= javascript_include_tag "application", "data-turbolinks-track": "reload", defer: true %> <%= render partial: "layouts/google_analytics" if Rails.env.production? %> @@ -23,7 +23,6 @@ - <%= render "announcements/announcement" %> <%= render "layouts/header" %> <%= yield %> <%= render "layouts/footer" %> diff --git a/app/views/layouts/mailer.html.erb b/app/views/layouts/mailer.html.erb index 5eeded01bf..eac0d08a5e 100644 --- a/app/views/layouts/mailer.html.erb +++ b/app/views/layouts/mailer.html.erb @@ -27,7 +27,7 @@ <%= inline_svg_tag "SVGs/github.svg", alt: "Github Logo", class: "mailer-social-image" %>
- + <% unless @is_preview %>
<%= link_to t("layout.mailer.unsubscribe_email_notifications"), mailkick_unsubscribe_url %>
<% end %> diff --git a/app/views/layouts/simulator.html.erb b/app/views/layouts/simulator.html.erb index f7c162ae06..227b2ed508 100644 --- a/app/views/layouts/simulator.html.erb +++ b/app/views/layouts/simulator.html.erb @@ -4,9 +4,9 @@ <%= csrf_meta_tags %> - <%= stylesheet_link_tag 'simulator', media: 'all', 'data-turbolinks-track': 'reload' %> - <%= javascript_include_tag 'simulator', 'data-turbolinks-track': 'reload' %> - <%= favicon_link_tag 'favicon.ico' %> + <%= stylesheet_link_tag "simulator", media: "all", "data-turbolinks-track": "reload" %> + <%= javascript_include_tag "simulator", "data-turbolinks-track": "reload" %> + <%= favicon_link_tag "favicon.ico" %> <%= render "layouts/google_analytics" %> diff --git a/app/views/layouts/simulator_old.html.erb b/app/views/layouts/simulator_old.html.erb index b257526bb9..baa4c6a04c 100644 --- a/app/views/layouts/simulator_old.html.erb +++ b/app/views/layouts/simulator_old.html.erb @@ -4,9 +4,9 @@ <%= t("layout.simulator.title") %> <%= csrf_meta_tags %> - <%= stylesheet_link_tag 'simulator', media: 'all', 'data-turbolinks-track': 'reload' %> - <%= javascript_include_tag 'simulator', 'data-turbolinks-track': 'reload' %> - <%= favicon_link_tag 'favicon.ico' %> + <%= stylesheet_link_tag "simulator", media: "all", "data-turbolinks-track": "reload" %> + <%= javascript_include_tag "simulator", "data-turbolinks-track": "reload" %> + <%= favicon_link_tag "favicon.ico" %> <%= render "layouts/google_analytics" %> diff --git a/app/views/layouts/testbench.html.erb b/app/views/layouts/testbench.html.erb index 8ee2e732a8..d542dd6d37 100644 --- a/app/views/layouts/testbench.html.erb +++ b/app/views/layouts/testbench.html.erb @@ -4,10 +4,10 @@ <%= csrf_meta_tags %> - <%= javascript_include_tag 'testbench', 'data-turbolinks-track': 'reload' %> - <%= stylesheet_link_tag 'simulator', media: 'all', 'data-turbolinks-track': 'reload' %> - <%= stylesheet_link_tag 'testbench', media: 'all', 'data-turbolinks-track': 'reload' %> - <%= favicon_link_tag 'favicon.ico' %> + <%= javascript_include_tag "testbench", "data-turbolinks-track": "reload" %> + <%= stylesheet_link_tag "simulator", media: "all", "data-turbolinks-track": "reload" %> + <%= stylesheet_link_tag "testbench", media: "all", "data-turbolinks-track": "reload" %> + <%= favicon_link_tag "favicon.ico" %> <%= render partial: "layouts/google_analytics" if Rails.env.production? %> diff --git a/app/views/pending_invitation_mailer/new_pending_email.html.erb b/app/views/pending_invitation_mailer/new_pending_email.html.erb index 8e98819773..066b30fd1b 100644 --- a/app/views/pending_invitation_mailer/new_pending_email.html.erb +++ b/app/views/pending_invitation_mailer/new_pending_email.html.erb @@ -1,12 +1,12 @@ - +

Welcome to CircuitVerse>

- You have been added to a new group named <%= @group.name %> by <%= User.find_by(id:@group.primary_mentor_id).name%>.

+ You have been added to a new group named <%= @group.name %> by <%= User.find_by(id: @group.primary_mentor_id).name %>.

Sign up with CircuitVerse to explore the digital world. You can use the group once you have signed up with CircuitVerse.


diff --git a/app/views/projects/_add_collaborator_modal.html.erb b/app/views/projects/_add_collaborator_modal.html.erb index 9ba3007026..16071c3c78 100644 --- a/app/views/projects/_add_collaborator_modal.html.erb +++ b/app/views/projects/_add_collaborator_modal.html.erb @@ -23,10 +23,10 @@
<%= form.label :emails %> - <%= form.select :emails,[ ],{},{ class:'form-select', multiple: true } %> + <%= form.select :emails, [], {}, { class: "form-select", multiple: true } %>
<% end %>
@@ -41,7 +41,7 @@ $(document).ready(() => { multiple: true, tokenSeparators: [',', ' '], }); - + $('.select2-selection input').attr('maxlength', '30'); // to limit the no. of chars entered in input box to avoid the overflow $('.add-collaborators-button').attr('disabled', true); // setting submit button to disabled initially @@ -94,4 +94,4 @@ $(document).ready(() => { }); }); - \ No newline at end of file + diff --git a/app/views/projects/_delete_collaboration_confirmation_modal.html.erb b/app/views/projects/_delete_collaboration_confirmation_modal.html.erb index d998254a7b..9584659c80 100644 --- a/app/views/projects/_delete_collaboration_confirmation_modal.html.erb +++ b/app/views/projects/_delete_collaboration_confirmation_modal.html.erb @@ -9,7 +9,7 @@

<%= t("projects.remove_collaborator_message") %>

diff --git a/app/views/projects/_delete_project_confirmation_modal.html.erb b/app/views/projects/_delete_project_confirmation_modal.html.erb index 8ecdb77598..1cd0eb9b21 100644 --- a/app/views/projects/_delete_project_confirmation_modal.html.erb +++ b/app/views/projects/_delete_project_confirmation_modal.html.erb @@ -9,7 +9,7 @@

<%= t("projects.delete_project_message") %>

diff --git a/app/views/projects/_form.html.erb b/app/views/projects/_form.html.erb index 2aa558e1b8..82a22f7f57 100644 --- a/app/views/projects/_form.html.erb +++ b/app/views/projects/_form.html.erb @@ -1,6 +1,6 @@ <% if policy(@project).can_feature? %> - <%= form_with(model: FeaturedCircuit.new, url: '/featured_circuits', multipart: true, id:"featuredCircuit") do |form| %> + <%= form_with(model: FeaturedCircuit.new, url: "/featured_circuits", multipart: true, id: "featuredCircuit") do |form| %> <%= form.hidden_field :project_id, value: @project.id %>
@@ -497,16 +497,14 @@ Width
@@ -514,16 +512,14 @@ Height
@@ -531,8 +527,7 @@ Reset all nodes:
@@ -541,52 +536,48 @@
@@ -597,100 +588,74 @@ + id="toggleLayoutTitle">
- + title="Import as file"> + title="BooleanLogicTable"> + title="Create Test"> + title="Testbench Validation">
+ title="Insert SubCircuit">

Looks like there are no other circuits which doesn't have this circuit as a dependency. Create a new one!

New Circuit +
@@ -814,10 +769,8 @@ type="button" class="btn btn-primary text-light" data-toggle="modal" - data-target=".issue" - > -   Report an issue + data-target=".issue"> +   Report an issue
@@ -826,8 +779,7 @@ tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" - aria-hidden="true" -> + aria-hidden="true"> diff --git a/app/views/users/circuitverse/edit.html.erb b/app/views/users/circuitverse/edit.html.erb index 0220c29a8f..f330b6cc88 100644 --- a/app/views/users/circuitverse/edit.html.erb +++ b/app/views/users/circuitverse/edit.html.erb @@ -1,5 +1,5 @@ -<% content_for :title, t("users.circuitverse.edit_profile.title", name: @profile.name ) %> +<% content_for :title, t("users.circuitverse.edit_profile.title", name: @profile.name) %>
@@ -14,27 +14,27 @@ <%= form_with model: @profile, multipart: true, url: { action: "update" }, local: true do |f| %>
<%= f.label :name %>
- <%= f.text_field :name, required: true, class:"form-control form-input", autofocus: true %> + <%= f.text_field :name, required: true, class: "form-control form-input", autofocus: true %>
<%= t("users.circuitverse.edit_profile.profile_picture") %>
-

<%= image_tag @profile.profile_picture.url(:thumb), id:'imgedit', class:"users-edit-image", alt:'User Profile Image' %>

+

<%= image_tag @profile.profile_picture.url(:thumb), id: "imgedit", class: "users-edit-image", alt: "User Profile Image" %>

- <%= f.check_box :remove_picture, id: "remove_pic", class:"remove-pic" %> + <%= f.check_box :remove_picture, id: "remove_pic", class: "remove-pic" %>
<%= f.label :country %>
- <%= f.country_select :country, { include_blank: t("users.circuitverse.edit_profile.country_select_placeholder"), priority_countries: get_priority_countries() }, class: "form-control form-input" %> + <%= f.country_select :country, { include_blank: t("users.circuitverse.edit_profile.country_select_placeholder"), priority_countries: get_priority_countries }, class: "form-control form-input" %>
<%= f.label :educational_institute %>
- <%= f.text_field :educational_institute, { class: "autocomplete form-control form-input", autocomplete:"off" } %> + <%= f.text_field :educational_institute, { class: "autocomplete form-control form-input", autocomplete: "off" } %>
<%= f.label :locale %>
- <%= f.select :locale, options_for_select(I18nSupport.locale_names, f.object.locale), { prompt: t("users.circuitverse.edit_profile.select_locale_prompt") }, { class: 'form-control form-input' } %> + <%= f.select :locale, options_for_select(I18nSupport.locale_names, f.object.locale), { prompt: t("users.circuitverse.edit_profile.select_locale_prompt") }, { class: "form-control form-input" } %>
- <%= link_to t("users.circuitverse.edit_profile.delete_account"), "#", class: "btn primary-delete-button", data: {toggle: "modal", target: "#deleteuserModal", currentuser: @profile.id} %> + <%= link_to t("users.circuitverse.edit_profile.delete_account"), "#", class: "btn primary-delete-button", data: { toggle: "modal", target: "#deleteuserModal", currentuser: @profile.id } %>
diff --git a/app/views/users/circuitverse/groups.html.erb b/app/views/users/circuitverse/groups.html.erb index e43e1f56eb..3f1cf5cd37 100644 --- a/app/views/users/circuitverse/groups.html.erb +++ b/app/views/users/circuitverse/groups.html.erb @@ -4,7 +4,6 @@ <% content_for :title, t("users.circuitverse.groups.alt_title") %> <% end %> -
<% if notice %>
@@ -29,7 +28,7 @@
<%= group.name %>
-

<%= t("users.circuitverse.groups.total_members",group_member_count: group.group_member_count ) %>

+

<%= t("users.circuitverse.groups.total_members", group_member_count: group.group_member_count) %>

<%= link_to group, class: "mini-button groups-mentor-card-view-mini-button" do %> @@ -40,7 +39,7 @@ <%= image_tag("SVGs/editGroup.svg", alt: "Edit Group") %> <%= t("edit") %> <% end %> - <%= link_to '#', class: "mini-button groups-mentor-card-delete-mini-button", data: {toggle: "modal", target: "#deletegroupModal", currentgroup: group.id} do %> + <%= link_to "#", class: "mini-button groups-mentor-card-delete-mini-button", data: { toggle: "modal", target: "#deletegroupModal", currentgroup: group.id } do %> <%= image_tag("SVGs/deleteGroup.svg", alt: "Delete Group") %> <%= t("delete") %> <% end %> diff --git a/app/views/users/circuitverse/index.html.erb b/app/views/users/circuitverse/index.html.erb index 507f88b414..ded4a73e22 100644 --- a/app/views/users/circuitverse/index.html.erb +++ b/app/views/users/circuitverse/index.html.erb @@ -7,19 +7,19 @@ <% end %> <% set_meta_tags twitter: { - card: "summary_large_image", - title: yield(:title), - image: { - src: "#{Rails.configuration.site_url}img/circuitverseBanner2.png" - } -} %> + card: "summary_large_image", + title: yield(:title), + image: { + src: "#{Rails.configuration.site_url}img/circuitverseBanner2.png" + } + } %> <% set_meta_tags og: { - title: yield(:title), - image: "#{Rails.configuration.site_url}img/circuitverseBanner2.png", - type: "article", - site_name: Rails.configuration.site_name -} %> + title: yield(:title), + image: "#{Rails.configuration.site_url}img/circuitverseBanner2.png", + type: "article", + site_name: Rails.configuration.site_name + } %>
<% if notice %> @@ -41,7 +41,7 @@

<%= @profile.name %>

<%= t("users.circuitverse.member_since_html", member_since: @profile.member_since) %>

-

<%= t("users.circuitverse.educational_institutes_html",educational_institute: @profile.educational_institute) %>

+

<%= t("users.circuitverse.educational_institutes_html", educational_institute: @profile.educational_institute) %>

<%= t("users.circuitverse.country_html", country_name: @profile.country_name) %>

<% if policy(@user).edit? %> <%= t("users.circuitverse.index.edit_details") %> @@ -69,14 +69,14 @@
<%= image_tag "SVGs/noProject.svg", alt: "No result image" %> <% if current_user == @user %> -
<%= t("users.circuitverse.index.no_projects_heading_html", simulator_new_url: link_to(t("users.circuitverse.index.create_here"), simulator_new_url, class: 'anchor-text')) %>
+
<%= t("users.circuitverse.index.no_projects_heading_html", simulator_new_url: link_to(t("users.circuitverse.index.create_here"), simulator_new_url, class: "anchor-text")) %>
<% else %> -
<%= t("users.circuitverse.index.no_user_projects", name: @user.name ) %>
+
<%= t("users.circuitverse.index.no_user_projects", name: @user.name) %>
<% end %>
<% else %> - <%= render partial: "dashboard" , locals: {projects: @user.projects} %> + <%= render partial: "dashboard", locals: { projects: @user.projects } %> <% end %>
@@ -85,14 +85,14 @@
<%= image_tag "SVGs/noProject.svg", alt: "No result image" %> <% if current_user == @user %> -
<%= t("users.circuitverse.index.no_favourites_heading_html", simulator_new_url: link_to(t("users.circuitverse.index.create_here"), simulator_new_url, class: 'anchor-text')) %>
+
<%= t("users.circuitverse.index.no_favourites_heading_html", simulator_new_url: link_to(t("users.circuitverse.index.create_here"), simulator_new_url, class: "anchor-text")) %>
<% else %> -
<%= t("users.circuitverse.index.no_user_favourites", name: @user.name ) %>
+
<%= t("users.circuitverse.index.no_user_favourites", name: @user.name) %>
<% end %>
<% else %> - <%= render partial: "dashboard" , locals: {projects: @projects} %> + <%= render partial: "dashboard", locals: { projects: @projects } %> <% end %>
@@ -104,12 +104,12 @@ <% if current_user == @user %>
<%= t("users.circuitverse.index.not_a_collaborator") %>
<% else %> -
<%= t("users.circuitverse.index.user_not_a_collaborator", name: @user.name ) %>
+
<%= t("users.circuitverse.index.user_not_a_collaborator", name: @user.name) %>
<% end %>
<% else %> - <%= render partial: "dashboard" , locals: {projects: collaborated_projects} %> + <%= render partial: "dashboard", locals: { projects: collaborated_projects } %> <% end %>
@@ -159,7 +159,7 @@ }; const fuse = new Fuse(projectList, options); - + // on key up $('.users-circuits-search').keyup(() => { const searchQuery = $('.users-circuits-search').val().toLowerCase().trim(); diff --git a/app/views/users/circuitverse/search.html.erb b/app/views/users/circuitverse/search.html.erb index 4694308e26..3539b0d802 100644 --- a/app/views/users/circuitverse/search.html.erb +++ b/app/views/users/circuitverse/search.html.erb @@ -21,7 +21,7 @@

<%= t("users.circuitverse.member_since_html", member_since: profile.member_since) %>

-

<%= t("users.circuitverse.educational_institutes_html",educational_institute: profile.educational_institute) %>

+

<%= t("users.circuitverse.educational_institutes_html", educational_institute: profile.educational_institute) %>

<%= t("users.circuitverse.country_html", country_name: profile.country_name) %>

<%= t("users.circuitverse.total_circuits_made_html", total_circuits: profile.total_circuits) %>

<%= t("view") %> diff --git a/app/views/users/confirmations/new.html.erb b/app/views/users/confirmations/new.html.erb index 2f73e84828..97e243ae01 100644 --- a/app/views/users/confirmations/new.html.erb +++ b/app/views/users/confirmations/new.html.erb @@ -1,7 +1,7 @@
- <%= image_tag "SVGs/login.svg", alt: "Login Logo", :class => "users-image" %> + <%= image_tag "SVGs/login.svg", alt: "Login Logo", class: "users-image" %>
<%= t("welcome_back_text") %>
@@ -12,7 +12,7 @@
<%= f.label :email %>
- <%= f.email_field :email, autofocus: true, value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email), class:"form-control form-input" %> + <%= f.email_field :email, autofocus: true, value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email), class: "form-control form-input" %>
diff --git a/app/views/users/noticed_notifications/index.html.erb b/app/views/users/noticed_notifications/index.html.erb index 7d613565ac..93edb838cc 100644 --- a/app/views/users/noticed_notifications/index.html.erb +++ b/app/views/users/noticed_notifications/index.html.erb @@ -13,13 +13,13 @@
<% if @unread.count.positive? %>
- <%= link_to t("users.notifications.mark_as_read_button"), mark_all_as_read_url(current_user), :method=> :patch, class: "anchor-text" %> + <%= link_to t("users.notifications.mark_as_read_button"), mark_all_as_read_url(current_user), method: :patch, class: "anchor-text" %>
<% end %>
<% @notifications.each do |notification| %> - <%= link_to mark_as_read_path(id: current_user, notification_id: notification.id), method: :post, class: 'mb-2 mt-2 notification' do %> + <%= link_to mark_as_read_path(id: current_user, notification_id: notification.id), method: :post, class: "mb-2 mt-2 notification" do %>
@@ -49,7 +49,7 @@
<% @unread.each do |notification| %> <% if notification.unread? %> - <%= link_to mark_as_read_path(id: current_user, notification_id: notification.id), method: :post, class: 'mb-2 mt-2 notification' do %> + <%= link_to mark_as_read_path(id: current_user, notification_id: notification.id), method: :post, class: "mb-2 mt-2 notification" do %>
diff --git a/app/views/users/passwords/edit.html.erb b/app/views/users/passwords/edit.html.erb index 66c4eed25e..caa26f27ec 100644 --- a/app/views/users/passwords/edit.html.erb +++ b/app/views/users/passwords/edit.html.erb @@ -1,7 +1,7 @@
- <%= image_tag "SVGs/login.svg", alt: "Login Sketch", :class => "users-image" %> + <%= image_tag "SVGs/login.svg", alt: "Login Sketch", class: "users-image" %>
<%= t("welcome_back_text") %>
@@ -23,29 +23,29 @@
<%= f.label :password %> <% if @minimum_password_length %> - <%= t("users.minimum_password_length", minimum_password_length: @minimum_password_length ) %> + <%= t("users.minimum_password_length", minimum_password_length: @minimum_password_length) %> <% end %>
- <%= f.password_field :password, autofocus: true, autocomplete: "off", class:"form-control form-input" %> + <%= f.password_field :password, autofocus: true, autocomplete: "off", class: "form-control form-input" %>
<%= f.label :password_confirmation %>
- <%= f.password_field :password_confirmation, autocomplete: "off", class:"form-control form-input" %> + <%= f.password_field :password_confirmation, autocomplete: "off", class: "form-control form-input" %>
- <%= f.submit t("users.passwords.change_password") ,class:"btn primary-button users-primary-button" %> + <%= f.submit t("users.passwords.change_password"), class: "btn primary-button users-primary-button" %> <%= link_to t("users.passwords.link_to_login_page"), new_user_session_path, class: "anchor-text mt-2" %>
<%= t("users.ask_new_user") %> - <%= link_to t("sign_up"), new_user_registration_path, class:"anchor-text" %> + <%= link_to t("sign_up"), new_user_registration_path, class: "anchor-text" %>
<%= render "users/shared/links" %> diff --git a/app/views/users/passwords/new.html.erb b/app/views/users/passwords/new.html.erb index 2331cd9103..6fe805a28e 100644 --- a/app/views/users/passwords/new.html.erb +++ b/app/views/users/passwords/new.html.erb @@ -1,7 +1,7 @@
- <%= image_tag "SVGs/login.svg", alt: "Login Sketch", :class => "users-image" %> + <%= image_tag "SVGs/login.svg", alt: "Login Sketch", class: "users-image" %>
<%= t("welcome_back_text") %>
@@ -21,12 +21,12 @@
<%= f.label :email %>
- <%= f.email_field :email, autofocus: true, class:"form-control form-input user-email-input" %> + <%= f.email_field :email, autofocus: true, class: "form-control form-input user-email-input" %>
- <%= f.submit t("users.passwords.send_reset_link"), class:"btn primary-button users-primary-button" %> + <%= f.submit t("users.passwords.send_reset_link"), class: "btn primary-button users-primary-button" %> <%= link_to t("users.passwords.link_to_login_page"), new_user_session_path, class: "anchor-text mt-2" %>
diff --git a/app/views/users/registrations/new.html.erb b/app/views/users/registrations/new.html.erb index a55508624c..176fec7736 100644 --- a/app/views/users/registrations/new.html.erb +++ b/app/views/users/registrations/new.html.erb @@ -1,7 +1,7 @@
- <%= image_tag "SVGs/signup.svg", alt: "Signup Sketch", :class => "users-image" %> + <%= image_tag "SVGs/signup.svg", alt: "Signup Sketch", class: "users-image" %>
<%= t("users.registrations.get_started") %>
@@ -22,13 +22,13 @@
<%= f.label :name %>
- <%= f.text_field :name, autofocus: true ,class:"form-control form-input" %> + <%= f.text_field :name, autofocus: true, class: "form-control form-input" %>
<%= f.label :email %>
- <%= f.email_field :email, class:"form-control form-input" %> + <%= f.email_field :email, class: "form-control form-input" %>
@@ -39,7 +39,7 @@ <% end %>
- <%= f.password_field :password, autocomplete: "off" ,class:"form-control users-password-input" %> + <%= f.password_field :password, autocomplete: "off", class: "form-control users-password-input" %>
@@ -52,10 +52,10 @@ <%= flash[:recaptcha_error] %> <%= recaptcha_tags %> <% end %> - <%= f.submit t("sign_up"), class:"btn primary-button users-login-primary-button" %> + <%= f.submit t("sign_up"), class: "btn primary-button users-login-primary-button" %>
<%= t("users.registrations.ask_already_registered") %> - <%= link_to t("login"), new_user_session_path ,class:"anchor-text" %> + <%= link_to t("login"), new_user_session_path, class: "anchor-text" %>
diff --git a/app/views/users/sessions/new.html.erb b/app/views/users/sessions/new.html.erb index 6621f17761..2d68991530 100644 --- a/app/views/users/sessions/new.html.erb +++ b/app/views/users/sessions/new.html.erb @@ -1,7 +1,7 @@
- <%= image_tag "SVGs/login.svg", alt: "Login Sketch", :class => "users-image" %> + <%= image_tag "SVGs/login.svg", alt: "Login Sketch", class: "users-image" %>
<%= t("welcome_back_text") %>
@@ -15,13 +15,13 @@
<%= f.label :email %>
- <%= f.email_field :email, autofocus: true, class:"form-control form-input user-email-input" %> + <%= f.email_field :email, autofocus: true, class: "form-control form-input user-email-input" %>
<%= f.label :password %>
- <%= f.password_field :password, autocomplete: "off" ,class:"form-control users-password-input" %> + <%= f.password_field :password, autocomplete: "off", class: "form-control users-password-input" %>
@@ -30,7 +30,7 @@
<%- if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations' %> - <%= link_to t("users.sessions.forgot_password"), new_password_path(resource_name), class:"anchor-text users-forgot-password-text" %> + <%= link_to t("users.sessions.forgot_password"), new_password_path(resource_name), class: "anchor-text users-forgot-password-text" %> <% end -%>
@@ -47,10 +47,10 @@ <% if Flipper.enabled?(:recaptcha) %> <%= recaptcha_tags %> <% end %> - <%= f.submit t('login') ,class:"btn primary-button users-login-primary-button" %> + <%= f.submit t("login"), class: "btn primary-button users-login-primary-button" %>
<%= t("users.ask_new_user") %> - <%= link_to t("sign_up"), new_registration_path(resource_name) ,class:"anchor-text" %> + <%= link_to t("sign_up"), new_registration_path(resource_name), class: "anchor-text" %>
diff --git a/app/views/users/shared/_links.html.erb b/app/views/users/shared/_links.html.erb index 14dab3fa54..87941d9052 100644 --- a/app/views/users/shared/_links.html.erb +++ b/app/views/users/shared/_links.html.erb @@ -4,11 +4,11 @@
<%= t("users.shared.login_with") %>
- <%= link_to image_tag("SVGs/google-plus.svg", :alt=>"Google Icon", :class=>"users-social-links"), user_google_oauth2_omniauth_authorize_path, method: :post %> - <%= link_to image_tag("SVGs/facebook.svg", :alt=>"Facebook Icon", :class=>"users-social-links"), user_facebook_omniauth_authorize_path, method: :post %> - <%= link_to image_tag("SVGs/github.svg", :alt=>"Github Icon", :class=>"users-social-links"), user_github_omniauth_authorize_path, method: :post %> + <%= link_to image_tag("SVGs/google-plus.svg", alt: "Google Icon", class: "users-social-links"), user_google_oauth2_omniauth_authorize_path, method: :post %> + <%= link_to image_tag("SVGs/facebook.svg", alt: "Facebook Icon", class: "users-social-links"), user_facebook_omniauth_authorize_path, method: :post %> + <%= link_to image_tag("SVGs/github.svg", alt: "Github Icon", class: "users-social-links"), user_github_omniauth_authorize_path, method: :post %> <% if Flipper.enabled?(:gitlab_integration) %> - <%= link_to image_tag("SVGs/gitlab.svg", :alt=>"Gitlab Icon", :class=>"users-social-links"), user_gitlab_omniauth_authorize_path, method: :post %> + <%= link_to image_tag("SVGs/gitlab.svg", alt: "Gitlab Icon", class: "users-social-links"), user_gitlab_omniauth_authorize_path, method: :post %> <% end %>
<% if Flipper.enabled?(:sso_integration) %> diff --git a/app/views/users/unlocks/new.html.erb b/app/views/users/unlocks/new.html.erb index a7904d10c9..c41228c4e1 100644 --- a/app/views/users/unlocks/new.html.erb +++ b/app/views/users/unlocks/new.html.erb @@ -1,7 +1,7 @@
- <%= image_tag "SVGs/login.svg", alt: "Login Sketch", :class => "users-image" %> + <%= image_tag "SVGs/login.svg", alt: "Login Sketch", class: "users-image" %>
<%= t("welcome_back_text") %>
@@ -20,12 +20,12 @@
<%= f.label :email %>
- <%= f.email_field :email, autofocus: true, class:"form-control form-input" %> + <%= f.email_field :email, autofocus: true, class: "form-control form-input" %>
- <%= f.submit t("users.unlock.resend_unlock_instructions") ,class:"btn primary-button users-primary-button" %> + <%= f.submit t("users.unlock.resend_unlock_instructions"), class: "btn primary-button users-primary-button" %>
<%= render "users/shared/links" %> diff --git a/config/application.rb b/config/application.rb index ab1dcf4743..da8d1df16c 100644 --- a/config/application.rb +++ b/config/application.rb @@ -18,7 +18,7 @@ class Application < Rails::Application # configuring mailer previews directory config.action_mailer.preview_path = "#{Rails.root}/lib/mailer_previews" config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')] - config.i18n.available_locales = [:en, :hi, :bn] + config.i18n.available_locales = [:en, :hi, :bn, :mr] config.i18n.default_locale = :en config.i18n.fallbacks = true diff --git a/config/locales/forms/announcements/mr.yml b/config/locales/forms/announcements/mr.yml new file mode 100644 index 0000000000..02cef9c38c --- /dev/null +++ b/config/locales/forms/announcements/mr.yml @@ -0,0 +1,12 @@ +mr: + helpers: + label: + announcement: + body: "рдШреЛрд╖рдгрд╛ рд╕рдВрд╕реНрдерд╛" + link: "рдЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреНрдпрд╛" + start_date: "рдкреНрд░рд╛рд░рдВрдн рджрд┐рд╡рд╕" + end_date: "рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рджрд┐рд╡рд╕" + submit: + announcement: + create: "рдирд╡реАрди рдШреЛрд╖рдгрд╛ рддрдпрд╛рд░ рдХрд░рд╛" + update: "рдЕрджреНрдпрддрди рдШреЛрд╖рдгрд╛" diff --git a/config/locales/forms/assignments/mr.yml b/config/locales/forms/assignments/mr.yml new file mode 100644 index 0000000000..26692c74fa --- /dev/null +++ b/config/locales/forms/assignments/mr.yml @@ -0,0 +1,11 @@ +mr: + helpers: + label: + assignment: + name: "рдирд╛рд╡" + description: "рд╡рд░реНрдгрди" + grading_scale: "рдЧреНрд░реЗрдбрд┐рдВрдЧ рд╕реНрдХреЗрд▓" + submit: + assignment: + create: "рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рддрдпрд╛рд░ рдХрд░рд╛" + update: "рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рд╛" diff --git a/config/locales/forms/groups/mr.yml b/config/locales/forms/groups/mr.yml new file mode 100644 index 0000000000..b82ccab189 --- /dev/null +++ b/config/locales/forms/groups/mr.yml @@ -0,0 +1,13 @@ +mr: + helpers: + label: + group_member: + emails: "рдИ-рдореЗрд▓ рдЖрдпрдбреА:" + group: + name: "рдЧрдЯрд╛рдЪреЗ рдирд╛рд╡:" + submit: + group_member: + create: "рд╕рджрд╕реНрдп рдЬреЛрдбрд╛" + group: + create: "рддреЗ рдЬрддрди рдХрд░рд╛" + update: "рд╕реЗрд╡ рдХрд░рд╛" diff --git a/config/locales/forms/projects/mr.yml b/config/locales/forms/projects/mr.yml new file mode 100644 index 0000000000..974ea5e484 --- /dev/null +++ b/config/locales/forms/projects/mr.yml @@ -0,0 +1,16 @@ +mr: + helpers: + label: + collaboration: + emails: "рдИ-рдореЗрд▓ рдЖрдИрдбреА:" + project: + name: "рдирд╛рд╡" + tag_list: "рдЯреЕрдЧ рдпрд╛рджреА" + project_access_type: "рдкреНрд░рдХрд▓реНрдк рдкреНрд░рд╡реЗрд╢ рдкреНрд░рдХрд╛рд░" + description: "рд╡рд░реНрдгрди" + submit: + collaboration: + create: "рд╕рд╣рдпреЛрдЧреА рдЬреЛрдбрд╛" + project: + create: "рдкреНрд░рдХрд▓реНрдк рддрдпрд╛рд░ рдХрд░рд╛" + update: "рдкреНрд░рдХрд▓реНрдк рдЕрджреНрдпрддрдирд┐рдд рдХрд░рд╛" diff --git a/config/locales/forms/users/mr.yml b/config/locales/forms/users/mr.yml new file mode 100644 index 0000000000..b37aafeef9 --- /dev/null +++ b/config/locales/forms/users/mr.yml @@ -0,0 +1,11 @@ +mr: + helpers: + label: + user: + email: "рдИ-рдореЗрд▓" + name: "рдирд╛рд╡" + country: "рджреЗрд╢" + educational_institute: "рд╢реИрдХреНрд╖рдгрд┐рдХ рд╕рдВрд╕реНрдерд╛" + locale: "рднрд╛рд╖рд╛" + password: "рдкрд╛рд╕рд╡рд░реНрдб" + password_confirmation: "рдкрд╛рд╕рд╡рд░реНрдб рдкреБрд╖реНрдЯреА рдХрд░рд╛" diff --git a/config/locales/mr.yml b/config/locales/mr.yml new file mode 100644 index 0000000000..96eb3a2c94 --- /dev/null +++ b/config/locales/mr.yml @@ -0,0 +1,65 @@ +mr: + edit: "рдПрдбрд┐рдЯ рдХрд░рд╛" + show: "рджрд╛рдЦрд╡рд╛" + delete: "рддреЗ рд╣рдЯрд╡рд╛" + view: "рдпреЗрдереЗ рдкрд╣рд╛" + launch_simulator: "рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рд▓рд╛рдБрдЪ рдХрд░рд╛" + email_us_heading: "рдЖрдореНрд╣рд╛рд▓рд╛ рдИрдореЗрд▓ рдХрд░рд╛" + join_at_slack_heading: "рдЖрдордЪреНрдпрд╛рд╢реА рдХрдиреЗрдХреНрдЯ рд╡реНрд╣рд╛ рдЖрдгрд┐ рдЧрдкреНрдкрд╛ рдорд╛рд░рд╛" + join_at_slack_description: "рд╕реБрд╕реНрдд рдЪреЕрдиреЗрд▓" + welcome_back_text: "рдбрд┐рдЬрд┐рдЯрд▓ рд╕рд░реНрдХрд┐рдЯреНрд╕ рдпреБрдирд┐рд╡реНрд╣рд░реНрд╕рдордзреНрдпреЗ рдЖрдкрд▓реЗ рд╕реНрд╡рд╛рдЧрдд рдЖрд╣реЗ!" + save: "рд╕реЗрд╡ рдХрд░рд╛" + back: "рдкрд░рдд рдЬрд╛" + login: "рд▓реЙрдЧ рдЗрди рдХрд░рд╛" + sign_up: "рд╕рд╛рдЗрди рдЕрдк рдХрд░рд╛" + sign_out: "рд╕рд╛рдЗрди рдЖрдЙрдЯ рдХрд░рд╛" + assignment: "рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ" + launch: "рд▓рд╛рдБрдЪ рдХрд░рд╛" + fork: "рдлрд╝реЛрд░реНрдХ рдХрд░рд╛" + more: "рдЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреНрдпрд╛" + submit: "рдкреНрд░рд╕реНрддреБрдд рдХрд░рдгреЗ" + features_heading: "рдЧреБрдгрдзрд░реНрдо" + features_description: "рдбреНрд░реЕрдЧ-рдЕрдБрдб-рдбреНрд░реЙрдк, рдХреЙрдкреА/рдкреЗрд╕реНрдЯ, рдЭреВрдо рдЖрдгрд┐ рдЕрдзрд┐рдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рд╡рд╛рдкрд░реВрди рдЖрдзреБрдирд┐рдХ рдЖрдгрд┐ рдЕрдВрддрд░реНрдЬреНрдЮрд╛рдиреА рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕рд╕рд╣ рджреНрд░реБрдд рдЖрдгрд┐ рд╕рд╣рдЬ рдбрд┐рдЬрд┐рдЯрд▓ рд╕рд░реНрдХрд┐рдЯ рддрдпрд╛рд░ рдХрд░рд╛." + add_members: "рд╕рджрд╕реНрдп рдЬреЛрдбрд╛" + add_mentors: "рдПрдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рдЬреЛрдбрд╛" + remove: "рдХрд╛рдврд╛" + reopen: "рдкреБрдиреНрд╣рд╛ рдЙрдШрдбрд╛" + close: "рдмрдВрдж рдХрд░рд╛" + not_available: "рдЙрдкрд▓рдмреНрдз рдирд╛рд╣реА" + # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words() + datetime: + distance_in_words: + half_a_minute: "рдЕрд░реНрдзрд╛ рдорд┐рдирд┐рдЯ" + less_than_x_seconds: + one: "1 рд╕реЗрдХрдВрдж" # default was: "less than 1 second" + other: "%{count} рд╕реЗрдХрдВрдж" # default was: "less than %{count} seconds" + x_seconds: + one: "1 рд╕реЗрдХрдВрдж" + other: "%{count} рд╕реЗрдХрдВрдж" + less_than_x_minutes: + one: "рдПрдХ рдорд┐рдирд┐рдЯ" # default was: "less than a minute" + other: "%{count} рдорд┐рдирд┐рдЯ" # default was: "less than %{count} minutes" + x_minutes: + one: "рдПрдХ рдорд┐рдирд┐рдЯ" + other: "%{count} рдорд┐рдирд┐рдЯ" + about_x_hours: + one: "1 рддрд╛рд╕" # default was: "about 1 hour" + other: "%{count} рддрд╛рд╕" # default was: "about %{count} hours" + x_days: + one: "1 рджрд┐рд╡рд╕" + other: "%{count} рджрд┐рд╡рд╕" + about_x_months: + one: "1 рдорд╣рд┐рдирд╛" # default was: "about 1 month" + other: "%{count} рдорд╣рд┐рдирд╛" # default was: "about %{count} months" + x_months: + one: "1 рдорд╣рд┐рдирд╛" + other: "%{count} рдорд╣реАрдиреЗ" + about_x_years: + one: "1 рд╡рд░реНрд╖" # default was: "about 1 year" + other: "%{count} рд╡рд░реНрд╖" # default was: "about %{count} years" + over_x_years: + one: "1 рд╡рд░реНрд╖" # default was: "over 1 year" + other: "%{count} рд╡рд░реНрд╖" # default was: "over %{count} years" + almost_x_years: + one: "1 рд╡рд░реНрд╖" # default was: "almost 1 year" + other: "%{count} рд╡рд░реНрд╖" # default was: "almost %{count} years" diff --git a/config/locales/views/about/mr.yml b/config/locales/views/about/mr.yml new file mode 100644 index 0000000000..aa8fb80d94 --- /dev/null +++ b/config/locales/views/about/mr.yml @@ -0,0 +1,20 @@ +mr: + about: + title: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ - рдЖрдордЪреНрдпрд╛рдмрджреНрджрд▓" + main_heading: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдмрджреНрджрд▓ рдЬрд╛рдгреВрди рдШреНрдпрд╛" + main_description: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЪреНрдпрд╛ рдорд╛рдЧреЗ рдпреЛрдЧрджрд╛рдирдХрд░реНрддреНрдпрд╛рдВрдмрджреНрджрд▓ рдЬрд╛рдгреВрди рдШреНрдпрд╛" + product_details: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╣реЗ рдЖрдпрдЖрдпрдЖрдпрдЯреА-рдмрдВрдЧрд▓реЛрд░рдЪреНрдпрд╛ рд╡рд┐рджреНрдпрд╛рд░реНрдереНрдпрд╛рдВрдиреА рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реЗ рдЙрддреНрдкрд╛рджрди рдЖрд╣реЗ. + рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рд╡рд╛рдкрд░реВрди рд╕рд░реНрдХрд┐рдЯ рдбрд┐рдЭрд╛рдЗрди рдЖрдгрд┐ рд╕рд┐рдореНрдпреБрд▓реЗрд╢рди рдХрд░рддрд╛ рдпреЗрдИрд▓ рдЕрд╕реЗ рд╡реНрдпрд╛рд╕рдкреАрда рдкреНрд░рджрд╛рди рдХрд░рдгреЗ рд╣реЗ рддреНрдпрд╛рдЪреЗ рдЙрджреНрджрд┐рд╖реНрдЯ рдЖрд╣реЗ. + рд╡рд╛рдкрд░рдХрд░реНрддреЗ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░рджреНрд╡рд╛рд░реЗ рд╕рдВрдкреВрд░реНрдг рд╕реАрдкреАрдпреВ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛рдд, рдкрд░рдВрддреБ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдкреНрд░рд╛рдореБрдЦреНрдпрд╛рдиреЗ рд╢реИрдХреНрд╖рдгрд┐рдХ рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ. + рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╣рд╛ рд╕рдХреНрд░рд┐рдп рд╕рдореБрджрд╛рдпрд╛рд╕рд╣ рдореБрдХреНрдд-рд╕реНрд░реЛрдд рдкреНрд░рдХрд▓реНрдк рдЖрд╣реЗ. рдЕрдзрд┐рдХ рдорд╛рд╣рд┐рддреАрд╕рд╛рдареА рдпреЛрдЧрджрд╛рди рдкреГрд╖реНрда рдкрд╣рд╛." + terms_of_service: "рд╕реЗрд╡рд╛ рдЕрдЯреА" + privacy_policy: "рдЧреЛрдкрдиреАрдпрддрд╛ рдзреЛрд░рдг" + core_team_heading: "рд╕рд░реНрдХрд┐рдЯрд╡рд░ рдХреЛрд░ рдЯреАрдо" + core_team_description: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЪреЗ рдиреЗрддреГрддреНрд╡ рдирд╡реЛрдиреНрдореЗрд╖ рдЖрдгрд┐ рдЙрддреНрдХреГрд╖реНрдЯрддреЗрд╕рд╛рдареА рд╕рдорд░реНрдкрд┐рдд рдЕрдиреБрднрд╡реА рдЯреАрдо рдХрд░рдд рдЖрд╣реЗ." + mentors_team_heading: "рд╕рд░реНрдХрд┐рдЯрд╡рд░рдЪреЗ рд╕рджрд╕реНрдп" + mentors_team_description: "рдЖрдордЪреЗ рдлреЗрд▓реЛ рдирд╡реАрди рдпреЛрдЧрджрд╛рдирдХрд░реНрддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╡рд┐рдХрд╛рд╕рд╛рд╕ рд╕рдорд░реНрдерди рджреЗрддрд╛рдд рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рдорджрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдХреНрд░рд┐рдп рдорд╛рд░реНрдЧрджрд░реНрд╢рди рджреЗрдЦреАрд▓ рджреЗрддрд╛рдд." + alumni_team_heading: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЪреЗ рдорд╛рдЬреА рд╕рджрд╕реНрдп" + alumni_team_description: "рдЖрдореНрд╣реА рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЪреНрдпрд╛ рд╕рд░реНрд╡ рдорд╛рдЬреА рд╕рджрд╕реНрдпрд╛рдВрдЪреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЕрдореВрд▓реНрдп рдпреЛрдЧрджрд╛рдирд╛рдмрджреНрджрд▓ рдЖрднрд╛рд░ рдорд╛рдиреВ рдЗрдЪреНрдЫрд┐рддреЛ." + contributors_heading: "рдпреЛрдЧрджрд╛рдирдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА" + contributors_description: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╕рдореБрджрд╛рдпрд╛рддреАрд▓ рдпреЛрдЧрджрд╛рдирдХрд░реНрддреНрдпрд╛рдВрдирд╛ рднреЗрдЯрд╛ рдЬреЗ рд╣реЗ рд╡реНрдпрд╛рд╕рдкреАрда рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реЗ рдмрдирд╡рддрд╛рдд." + become_contributor: "рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рд╡реНрд╣рд╛" diff --git a/config/locales/views/announcements/mr.yml b/config/locales/views/announcements/mr.yml new file mode 100644 index 0000000000..670c19ea89 --- /dev/null +++ b/config/locales/views/announcements/mr.yml @@ -0,0 +1,7 @@ +mr: + announcements: + learn_more: "рдЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреНрдпрд╛" + edit_announcement_heading: "рдШреЛрд╖рдгрд╛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рд╛" + recent_announcement_heading: "рдЕрд▓реАрдХрдбреАрд▓ рдШреЛрд╖рдгрд╛" + new_announcement: "рдирд╡реАрди рдШреЛрд╖рдгрд╛" + no_announcement_heading: "рдЕрджреНрдпрд╛рдк рдХреЛрдгрддреАрд╣реА рдШреЛрд╖рдгрд╛ рдирд╛рд╣реА." diff --git a/config/locales/views/assignments/mr.yml b/config/locales/views/assignments/mr.yml new file mode 100644 index 0000000000..07d1549203 --- /dev/null +++ b/config/locales/views/assignments/mr.yml @@ -0,0 +1,40 @@ +mr: + assignments: + group_name: "рдЧрдЯ: %{name}" + deadline: "рд╡реЗрд│реЗрдЪреА рдорд░реНрдпрд╛рджрд╛:" + remaining_time_error: "(рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЛрдб рдХрд░рддрд╛рдирд╛ рдПрдХ рддреНрд░реБрдЯреА рдЖрд▓реА)" + form: + grade_scale_cant_change: "(рдПрдХрджрд╛ рд╕реЗрдЯ рдмрджрд▓рддрд╛ рдпреЗрдд рдирд╛рд╣реА)" + cannot_be_edited: "%{graded} - рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА" + enable_element_restriction: "рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА" + enable_feature_restriction: "рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдирд┐рд░реНрдмрдВрдз рд╕рдХреНрд╖рдо рдХрд░рд╛:" + time_remaining: "рдмрд╛рдХреА рд╡реЗрд│: %{time}" + no_grade: "рдЧреНрд░реЗрдб рдирд╛рд╣реА" + letter: "рд▓реЗрдЯрд░(A-F)" + percent: "рдЯрдХреНрдХреЗ(1-100)" + custom: "рдХрд╕реНрдЯрдо" + edit: + edit_assignment: "рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рд╛" + new: + title: "%{name} - рдирд╡реАрди рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ" + new_assignment_heading: "рдирд╡реАрди рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ" + show: + title: "%{name} - рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рд╡рд░реНрдгрди" + assignment_details_heading: "рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рд╡рд░реНрдгрди" + assignment_data: + name_html: "рдирд╛рд╡: %{name}" + group_html: "рдЧрдЯ: %{group_name}" + time_remaining_html: "рдмрд╛рдХреА рд╡реЗрд│: %{time_remaining}" + graded_html: "рд╢реНрд░реЗрдгреАрдмрджреНрдз: %{graded}" + description: "рд╡рд░реНрдгрди:" + restricted_elements_html: "рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рд╕рд░реНрдХрд┐рдЯ рдШрдЯрдХ %{restricted_circuit_elements}" + export_grades: "рдирд┐рд░реНрдпрд╛рдд рдЧреНрд░реЗрдб" + submissions: "рд╕рдмрдорд┐рд╢рди:" + restricted_features_html: "рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдлреАрдЪрд░: %{restricted_features}" + no_submissions: "рдЕрджреНрдпрд╛рдк рдХреЛрдгрддреЗрд╣реА рд╕рдмрдорд┐рд╢рди рдирд╛рд╣реАрдд!" + grades_and_remarks: "рдЧреНрд░реЗрдб рдФрд░ рд░рд┐рдорд╛рд░реНрдХреНрд╕" + grade: "рдЧреНрд░реЗрдб" + remarks: "рд░рд┐рдорд╛рд░реНрдХреНрд╕" + grading_scale_percent: "рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯрдЪреА рдЯрдХреНрдХреЗрд╡рд╛рд░реА (1-100) рдордзреНрдпреЗ рд╢реНрд░реЗрдгреАрдмрджреНрдз рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ" + grading_scale_letter: "рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЕрдХреНрд╖рд░рд╛рдиреЗ A/B/C/D/E/F рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХрд░реВ рджреНрдпрд╛. рд╢реНрд░реЗрдгреАрдмрджреНрдз рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ" + remove: "рдХрд╛рдврд╛" diff --git a/config/locales/views/circuitverse/mr.yml b/config/locales/views/circuitverse/mr.yml new file mode 100644 index 0000000000..b6bd054f06 --- /dev/null +++ b/config/locales/views/circuitverse/mr.yml @@ -0,0 +1,151 @@ +mr: + circuitverse: + contribute: + title: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ - рдпреЛрдЧрджрд╛рди рджреНрдпрд╛" + main_heading: "рдпреЛрдЧрджрд╛рди рджреНрдпрд╛" + main_description: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЪреНрдпрд╛ рдПрд▓рд┐рдЯ рд╕рджрд╕реНрдпрд╛рдВрдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреНрдпрд╛" + submain_description: "рд╕рд░реНрдХрд┐рдЯрд╡рд░ рдХрд╛рдпрдорд╕реНрд╡рд░реВрдкреА рд╡рд┐рдирд╛рдореВрд▓реНрдп рд░рд╛рд╣рдгреНрдпрд╛рдЪреЗ рдЙрджреНрджрд┐рд╖реНрдЯ рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдореНрд╣реА рд╡рдЪрди рджреЗрддреЛ рдХреА рдЖрдореНрд╣реА рдЬрд╛рд╣рд┐рд░рд╛рддреА рдЪрд╛рд▓рд╡рдгрд╛рд░ рдирд╛рд╣реА! + рд╣рд╛ рдкреНрд░рдХрд▓реНрдк рдУрдкрди рд╕реЛрд░реНрд╕ рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪрд╛ рд╕рддрдд рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рджреЗрдЦрднрд╛рд▓ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪреНрдпрд╛ рдкрд╛рдард┐рдВрдмреНрдпрд╛рдЪреА рдЧрд░рдЬ рдЖрд╣реЗ." + contribute_at_github_heading: "рдУрдкрди рд╕реЛрд░реНрд╕ рдордзреНрдпреЗ рдпреЛрдЧрджрд╛рди рджреНрдпрд╛" + contribute_at_github_description: "рдЧрд┐рдЯрд╣рдм" + how_to_support_heading: "рд╕рдорд░реНрдерди рдХрд╕реЗ рдХрд░рд╛рдпрдЪреЗ?" + student_card: + main_heading: "рдореА рд╡рд┐рджреНрдпрд╛рд░реНрдереА рдЖрд╣реЗ" + item1_text: "рдЕрдкреНрд░рддрд┐рдо рд╕рд░реНрдХрд┐рдЯ рддрдпрд╛рд░ рдХрд░рд╛ рдЖрдгрд┐ рдлреЛрд░рдорд╡рд░ рд╢реЗрдЕрд░ рдХрд░рд╛" + item2_text_html: "рдЖрдордЪреНрдпрд╛ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА рдкреБрд╕реНрддрдХ рд╕рд╣ рд▓реЙрдЬрд┐рдХ рдбрд┐рдЭрд╛рдЗрдирдЪреНрдпрд╛ рдЬрдЧрд╛рдд рдЬрд╛" + item3_text: "рддреБрдордЪреНрдпрд╛ рдорд┐рддреНрд░рд╛рдВрдирд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪреА рдУрд│рдЦ рдХрд░реВрди рджреНрдпрд╛, рд╕рд░реНрдХрд┐рдЯ рддрдпрд╛рд░ рдХрд░рд╛ рдЖрдгрд┐ рд╕рд░реНрдХрд┐рдЯреНрд╕ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреАрдХреГрдд рдХрд░рд╛!" + teacher_card: + main_heading: "рдореА рд╢рд┐рдХреНрд╖рдХ рдЖрд╣реЗ" + item1_text: "рддреБрдордЪреНрдпрд╛ рд╡рд┐рджреНрдпрд╛рд░реНрдереНрдпрд╛рдВрдирд╛ рд╡реНрдпрд╛рд╕рдкреАрдард╛рдЪреА рдУрд│рдЦ рдХрд░реВрди рджреНрдпрд╛" + item2_text: "рддреБрдордЪреНрдпрд╛ рдордВрдбрд│рд╛рдВрдордзреНрдпреЗ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪрд╛ рдкреНрд░рдЪрд╛рд░ рдХрд░рд╛" + item3_text: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╡рд╛рдкрд░реВрди рд░реЛрдорд╛рдВрдЪрдХ рд╢реИрдХреНрд╖рдгрд┐рдХ рд╕рд╛рдордЧреНрд░реА рддрдпрд╛рд░ рдХрд░рд╛" + developer_card: + main_heading: "рдореА рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдЖрд╣реЗ" + item1_text: "рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рдпреЛрдЧрджрд╛рди рджреНрдпрд╛" + item2_text: "рд╕рд░реНрдХрд┐рдЯрд╡рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдордзреНрдпреЗ рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЬреЛрдбрд╛" + item3_text: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдкреНрд░рдХрд▓реНрдкрд╛рддреАрд▓ рдмрдЧ рд╢реЛрдзрд╛ рдЖрдгрд┐ рддреНрдпрд╛рдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рд╛" + become_patreon: "рдкреИрдЯреНрд░рд┐рдпрди рд╡реНрд╣рд╛" + donate_via_paypal: "рдкреЗрдкрд▓ рджреНрд╡рд╛рд░реЗ рджреЗрдгрдЧреА рджреНрдпрд╛" + examples: + title: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ - рд╕рд░реНрдХрд┐рдЯрдЪреА рдЙрджрд╛рд╣рд░рдгреЗ" + main_heading: "рд╕рд░реНрдХрд┐рдЯреНрд╕рдЪреА рдЙрджрд╛рд╣рд░рдгреЗ" + main_description: "рдЬрд╛рдгреВрди рдШреНрдпрд╛ рдЖрдгрд┐ рд╕рд░реНрд╡реЛрддреНрддрдо рдЙрджрд╛рд╣рд░рдгреЗ рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрджреНрд╡рд╛рд░реЗ рдкреНрд░реЗрд░рд┐рдд рд╡реНрд╣рд╛" + index: + title: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ - рдСрдирд▓рд╛рдЗрди рдбрд┐рдЬрд┐рдЯрд▓ рд▓реЙрдЬрд┐рдХ рд╕рд░реНрдХрд┐рдЯ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░" + main_heading: "рд▓реЙрдЬрд┐рдХ рд╕рд░реНрдХрд┐рдЯреНрд╕рдЪреНрдпрд╛ рдЬрдЧрд╛рдд рд╡рд┐рдирд╛рдореВрд▓реНрдп рдЬрд╛!" + main_description: "рдорд╛рдирдХ рдЖрдИрд╕реА рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреНрдпрд╛, рд╕рд╛рдзреНрдпрд╛ рдЧреЗрдЯреНрд╕рдкрд╛рд╕реВрди рдЬрдЯрд┐рд▓ рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╕рд░реНрдХрд┐рдЯреНрд╕, рдкреНрд▓реЙрдЯ рдЯрд╛рдпрдорд┐рдВрдЧ рдбрд╛рдпрдЧреНрд░рд╛рдо, рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рд╕рд░реНрдХрд┐рдЯ рдЬрдирд░реЗрд╢рди рдЖрдгрд┐ рдмрд░реЗрдЪ рдХрд╛рд╣реА" + learn_logic_design: "рд▓реЙрдЬрд┐рдХ рдбрд┐рдЭрд╛рдЗрди рд╢рд┐рдХрд╛" + for_teachers: "рд╢рд┐рдХреНрд╖рдХрд╛рдВрд╕рд╛рдареА" + for_contributors: "рдпреЛрдЧрджрд╛рдирдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА" + explore_more: "рддреЗ рдЕрдзрд┐рдХ рдПрдХреНрд╕рдкреНрд▓реЛрд░ рдХрд░рд╛" + features: + main_heading: "рдЧреБрдгрдзрд░реНрдо" + main_description: "рдбреНрд░реЕрдЧ-рдЕрдБрдб-рдбреНрд░реЙрдк, рдХреЙрдкреА/рдкреЗрд╕реНрдЯ, рдЭреВрдо рдЖрдгрд┐ рдЕрдзрд┐рдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рд╡рд╛рдкрд░реВрди рдЖрдзреБрдирд┐рдХ рдЖрдгрд┐ рдЕрдВрддрд░реНрдЬреНрдЮрд╛рдиреА рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕рд╕рд╣ рджреНрд░реБрдд рдЖрдгрд┐ рд╕рд╣рдЬ рдбрд┐рдЬрд┐рдЯрд▓ рд╕рд░реНрдХрд┐рдЯ рддрдпрд╛рд░ рдХрд░рд╛." + item1_heading: "рдЙрдЪреНрдЪ-рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рди рдкреНрд░рддрд┐рдорд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рд╛" + item1_text: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдПрд╕рд╡реАрдЬреА рд╕рд╣ рдЕрдиреЗрдХ рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рдЙрдЪреНрдЪ-рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рди рдкреНрд░рддрд┐рдорд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реВ рд╢рдХрддреЗ." + item2_heading: "рд╕рдВрдпреЛрдЬрди рд╡рд┐рд╢реНрд▓реЗрд╖рдг" + item2_text: "рд╕рддреНрдп рд╕рд╛рд░рдгреА рдбреЗрдЯрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╕рд░реНрдХрд┐рдЯреНрд╕ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рд╛. рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕ рд▓реЙрдЬрд┐рдХ рд╕рд░реНрдХрд┐рдЯреНрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рдЙрддреНрддрдо рдЖрд╣реЗ рдЖрдгрд┐ рдПрдХрд╛ рд╕рдмрд╕рд░реНрдХрд┐рдЯрдордзреНрдпреЗ рд╕рд╣рдЬрдкрдгреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ." + item3_heading: "рдмреНрд▓реЙрдЧрдордзреНрдпреЗ рдПрдореНрдмреЗрдб рдХрд░рд╛" + item3_text: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╣реЗ HTML5 рдордзреНрдпреЗ рдмрдирд╡рд▓реЗрд▓реЗ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯрд╕рд╛рдареА рдПрдХ iframe рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рдЬреЗ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рдЬрд╡рд│рдЬрд╡рд│ рдХреБрдареЗрд╣реА рдПрдореНрдмреЗрдб рдХрд░реВ рджреЗрддреЗ." + item4_heading: "рд╕рдмрд╕рд░реНрдХрд┐рдЯ рд╡рд╛рдкрд░рд╛" + item4_text: "рдПрдХрджрд╛ рд╕рдмрд╕рд░реНрдХрд┐рдЯ рддрдпрд╛рд░ рдХрд░рд╛ рдЖрдгрд┐ рддреЗ рдкреБрдиреНрд╣рд╛ рдкреБрдиреНрд╣рд╛ рд╡рд╛рдкрд░рд╛. рд╣реЗ рд╕реЛрдкреЗ рдЖрдгрд┐ рдЕрдзрд┐рдХ рд╕рдВрд░рдЪрд┐рдд рдбрд┐рдЭрд╛рдЗрдирд▓рд╛ рдЕрдиреБрдорддреА рджреЗрддреЗ." + item5_heading: "рдорд▓реНрдЯреА рдмрд┐рдЯ рдмрд╕реЗрд╕ рдЖрдгрд┐ рдШрдЯрдХ" + item5_text: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдорд▓реНрдЯреА-рдмрд┐рдЯ-рд╡рд╛рдпрд░рд▓рд╛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддреЗ, рдпрд╛рдЪрд╛ рдЕрд░реНрде рд╕рд░реНрдХрд┐рдЯ рдмрдирд╡рдгреЗ рд╕реЛрдкреЗ, рдЬрд▓рдж рдЖрдгрд┐ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЖрд╣реЗ." + featured_examples: + main_heading: "рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреАрдХреГрдд рдЙрджрд╛рд╣рд░рдг" + main_description: "рдЬрд╛рдгреВрди рдШреНрдпрд╛ рдЖрдгрд┐ рд╕рд░реНрд╡реЛрддреНрддрдо рдЙрджрд╛рд╣рд░рдгрд╛рдВрджреНрд╡рд╛рд░реЗ рдкреНрд░реЗрд░рд┐рдд рд╡реНрд╣рд╛" + circuit1_text: "16-рдмрд┐рдЯ рд░рд┐рдкрд▓ рдХреИрд░реА рдПрдбрд░" + circuit2_text: "рд╕реИрдк-1" + circuit3_text: "2 рд╣рд╛рдл рдНрдбрд░ рддреЗ рдкреВрд░реНрдг рдНрдбрд░" + editor_picks: + main_heading: "рд╕рдВрдкрд╛рджрдХрд╛рдЪреА рдирд┐рд╡рдб" + main_description: "рд╣реЗ рд╕рд░реНрдХрд┐рдЯ рдЖрдордЪреНрдпрд╛ рд▓реЗрдЦрдХрд╛рдВрдиреА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЙрддреНрдХреГрд╖реНрдЯрддреЗрд╕рд╛рдареА рдирд┐рд╡рдбрд▓реЗ рдЖрд╣реЗрдд" + recent_circuits: + main_heading: "рд╣реЗ рд╕рд░реНрдХрд┐рдЯ рдЖрдордЪреНрдпрд╛ рд▓реЗрдЦрдХрд╛рдВрдиреА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЙрддреНрдХреГрд╖реНрдЯрддреЗрд╕рд╛рдареА рдирд┐рд╡рдбрд▓реЗ рдЖрд╣реЗрдд" + main_description: "рдЖрдордЪреНрдпрд╛ рд╢реАрд░реНрд╖ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдХрдбреВрди рдирд╡реАрдирддрдо рд╕рд░реНрдХрд┐рдЯреНрд╕рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреНрдпрд╛" + teachers: + title: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕рдЪреЗ рд╢рд┐рдХреНрд╖рдХ" + main_heading: "рд╢рд┐рдХреНрд╖рдХрд╛рдВрд╕рд╛рдареА" + main_description: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╣реЗ рд╡рд░реНрдЧрд╛рдд рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рдЕрддрд┐рд╢рдп рд╕реЛрдкреЗ рдЕрд╕рд╛рд╡реЗ рдореНрд╣рдгреВрди рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗ рдЖрд╣реЗ. рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордордзреНрдпреЗ рд╢рд┐рдХреНрд╖рдХрд╛рдВрдирд╛ рд╡рд░реНрдЧ рдЖрдгрд┐ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯрдордзреНрдпреЗ рдорджрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЖрд╣реЗрдд." + benefits: "рд╢рд┐рдХреНрд╖рдХрд╛рдВрд╕рд╛рдареА рдлрд╛рдпрджреЗ" + create_group_heading: "рдЧрдЯ рддрдпрд╛рд░ рдХрд░рд╛ рдЖрдгрд┐ рддреБрдордЪреЗ рд╡рд┐рджреНрдпрд╛рд░реНрдереА рдЬреЛрдбрд╛" + post_assignment_heading: "рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рддрдпрд╛рд░ рдХрд░рд╛" + grade_assignment_heading: "рдЧреНрд░реЗрдбрд┐рдВрдЧрдЪреЗ рдХрд╛рд░реНрдп" + use_interactive_circuit_heading: "рддреБрдордЪреНрдпрд╛ рдмреНрд▓реЙрдЧ, рдЕрднреНрдпрд╛рд╕ рд╕рд╛рд╣рд┐рддреНрдп рдХрд┐рдВрд╡рд╛ рдкрд╛рд╡рд░ рдкреНрд╡рд╛рдЗрдВрдЯ рд╕рд╛рджрд░реАрдХрд░рдгрд╛рдВрдордзреНрдпреЗ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА рд╕рд░реНрдХрд┐рдЯ рд╡рд╛рдкрд░рд╛" + create_group_description: "рддреБрдореНрд╣реА рдЧрдЯ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рддреНрдпрд╛рдд рддреБрдордЪреЗ рд╡рд┐рджреНрдпрд╛рд░реНрдереА рдЬреЛрдбреВ рд╢рдХрддрд╛! рдЬрд░ рд╡рд┐рджреНрдпрд╛рд░реНрдереА рдЖрдзреАрдЪ рд╕рд░реНрдХрд┐рдЯрд╡рд┐рд╡реНрд╣рд░реНрд╕рд╕рд╣ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЕрд╕рддреАрд▓ рддрд░ рддреЗ рдЖрдкреЛрдЖрдк рдЬреЛрдбрд▓реЗ рдЬрд╛рддреАрд▓. рдЬрд░ рддреЗ рдЕрджреНрдпрд╛рдк рд╕рд░реНрдХрд┐рдЯрд╡рд░ рд╕рд╛рдореАрд▓ рдЭрд╛рд▓реЗ рдирд╛рд╣реАрдд, рддрд░ рд╕рд╛рдореАрд▓ рд╣реЛрдгреНрдпрд╛рдЪреЗ рдЖрдордВрддреНрд░рдг рдкрд╛рдард╡рд▓реЗ рдЬрд╛рдИрд▓. рдПрдХрджрд╛ рддреНрдпрд╛рдВрдиреА рдиреЛрдВрджрдгреА рдХреЗрд▓реА рдХреА рддреЗ рдЖрдкреЛрдЖрдк рдЬреЛрдбрд▓реЗ рдЬрд╛рддреАрд▓." + post_assignment_description: "рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдлрдХреНрдд рдирд╡реАрди рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдмрдЯрдгрд╛рд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░рд╛. рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдЖрдгрд┐ рдЕрдВрддрд┐рдо рдореБрджрдд рддрдкрд╢реАрд▓рд╡рд╛рд░. рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдЕрдВрддрд┐рдо рдореБрджрддреАрд╡рд░ рдЖрдкреЛрдЖрдк рдмрдВрдж рд╣реЛрдИрд▓. рд╢рд┐рдХреНрд╖рдХ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдкреБрдиреНрд╣рд╛ рдЙрдШрдбреЗрдкрд░реНрдпрдВрдд рд╡рд┐рджреНрдпрд╛рд░реНрдереА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдЪрд╛рд▓реВ рдареЗрд╡реВ рд╢рдХрдд рдирд╛рд╣реАрдд." + grade_assignment_description: "рдмрд┐рд▓реНрдб рдкреНрд░рд┐рд╡реНрд╣реНрдпреВрд╕рд╣ рдЕрддрд┐рд╢рдп рд╕рд╣рдЬрдкрдгреЗ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдЧреНрд░реЗрдб рдХрд░рд╛. рдлрдХреНрдд, рд╡рд┐рджреНрдпрд╛рд░реНрдереНрдпрд╛рд▓рд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯрд╕рд╛рдареА рдирд┐рд╡рдбрд╛." + use_interactive_circuit_description: "рдкреНрд░рдХрд▓реНрдк рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЕрд╕рд▓реНрдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рд╛. рдПрдореНрдмреЗрдб HTML5 рдХреЛрдб рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдПрдореНрдмреЗрдб рдХреНрд▓рд┐рдХ рдХрд░рд╛, рддреНрдпрд╛рдирдВрддрд░ рдлрдХреНрдд рд╕рд░реНрдХрд┐рдЯ рдПрдореНрдмреЗрдб рдХрд░рд╛. рд▓рд╛рдЗрд╡реНрд╣ рд╕рд░реНрдХрд┐рдЯ рдПрдореНрдмреЗрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣рд╛рд▓рд╛ рд▓рд╛рдЗрд╡реНрд╣ рд╕реНрд▓рд╛рдЗрдбреНрд╕ рд╕рд╛рд░рдЦреЗ рдкреЙрд╡рд░рдкреЙрдИрдВрдЯ рдкреНрд▓рдЧрдЗрди рд╡рд╛рдкрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓." + tos: + title: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ - рд╕реЗрд╡рд╛ рдЕрдЯреА" + main_heading: "рд╕реЗрд╡рд╛ рдЕрдЯреА" + user_agreement: + main_heading: "1. рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдХрд░рд╛рд░" + description1_html: "1.1 рдпрд╛ рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдЕрдЯреА рддреБрдореНрд╣реА рдЖрдгрд┐ рддреБрдордЪреНрдпрд╛рд╡рд░ рдирд┐рдпрдВрддреНрд░рдг рдареЗрд╡рдгрд╛рд░реНтАНрдпрд╛ рд╕рд░реНрдХрд┐рдЯрд╡реНрд╣рд░реНрд╕ рдЯреАрдо рдпрд╛рдВрдЪреНрдпрд╛рдд рдПрдХ рдХрд░рд╛рд░ рддрдпрд╛рд░ рдХрд░рддрд╛рдд CircuitVerse.org рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреА рд╣реИред рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЯреАрдо рдореЗрдВ рдЗрдВрдЯрд░рдиреЗрд╢рдирд▓ рдЗрдВрд╕реНрдЯрд┐рдЯреНрдпреВрдЯ рдСреЮ рдЗрдирдлрд╛рд░реНрдореЗрд╢рди рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреА, рдмреИрдВрдЧрд▓реЛрд░ ("рдЖрдИрдЖрдИрдЖрдИрдЯреА-рдмреИрдВрдЧрд▓реЛрд░") рдЪреНрдпрд╛ рдкреНрд░рд╛рдзреНрдпрд╛рдкрдХ рдЖрдгрд┐ рд╡рд┐рджреНрдпрд╛рд░реНрдереА рдХреГрдкрдпрд╛ рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдЕрдЯреА рдХрд╛рд│рдЬреАрдкреВрд░реНрд╡рдХ рд╡рд╛рдЪрд╛. Circuitverse рд╡рд╛рдкрд░реВрди рддреБрдореНрд╣реА рдкреБрд╖реНрдЯреА рдХрд░рддрд╛ рдХреА рддреБрдореНрд╣реА рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдЕрдЯреАрдВрдордзреАрд▓ рдЕрдЯреА рд╡ рд╢рд░реНрддреА рд╡рд╛рдЪрд▓реНрдпрд╛, рд╕рдордЬрд▓реНрдпрд╛ рдЖрдгрд┐ рд╕реНрд╡реАрдХрд╛рд░рд▓реНрдпрд╛ рдЖрд╣реЗрдд. рддреБрдореНрд╣реА рдпрд╛рдкреИрдХреА рдХреЛрдгрддреНрдпрд╛рд╣реА рдЕрдЯреАрдВрд╢реА рд╕рд╣рдордд рдирд╕рд▓реНрдпрд╛рд╕, рдХреГрдкрдпрд╛ рд╕рд░реНрдХрд┐рдЯрд╡реНрд╣рд░реНрд╕ рд╡рд╛рдкрд░реВ рдирдХрд╛." + description2_html: "1.2 рддреБрдордЪреА рдЧреЛрдкрдиреАрдпрддрд╛ рдЖрдордЪреНрдпрд╛рд╕рд╛рдареА рдЕрддреНрдпрдВрдд рдорд╣рддреНрддреНрд╡рд╛рдЪреА рдЖрд╣реЗ. рдХреГрдкрдпрд╛ рдЖрдордЪреЗ рдЧреЛрдкрдиреАрдпрддрд╛ рдзреЛрд░рдг рд╡рд╛рдЪрд╛, рдЬреЗ рд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕рджреНрд╡рд╛рд░реЗ рдЧреЛрд│рд╛ рдХреЗрд▓реЗрд▓реА рдорд╛рд╣рд┐рддреА Circuitverse рдЯреАрдо рдХрд╢реА рд╡рд╛рдкрд░рддреЗ рдЖрдгрд┐ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ рд╣реЗ рдУрд│рдЦрддреЗ. Circuitverse рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди, рддреБрдореНрд╣реА рджреЗрдЦреАрд▓ рд╕рд╣рдордд рдЖрд╣рд╛рдд рдХреА рддреБрдореНрд╣реА Circuitverse рдЪреНрдпрд╛ рдЧреЛрдкрдиреАрдпрддрд╛ рдзреЛрд░рдгрд╛рд╕ рдЕрдиреБрдХреВрд▓ рдЖрд╣рд╛рдд." + description3: "1.3 рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╣реЗ рд╕рд░реНрд╡ рд╡рдпреЛрдЧрдЯрд╛рддреАрд▓ рдореБрд▓рд╛рдВрд╕рд╛рдареА рдЖрдгрд┐ рдкреНрд░реМрдврд╛рдВрд╕рд╛рдареА рдЦреБрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╕реЗрд╡рд╛ рд╡рд╛рдкрд░рддрд╛рдирд╛ рддреБрдореНрд╣реА рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛рд╡реЗ рдЕрд╕реЗ рдЖрдореНрд╣реА рд╕рд╛рдВрдЧрддреЛ." + description4_html: "1.4 рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЯреАрдо рд╡реЗрд│реЛрд╡реЗрд│реА рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдЕрдЯреА рдмрджрд▓реВ рд╢рдХрддреЗ. рддреБрдореНрд╣реА рдиреЗрд╣рдореА https://CircuitVerse.org/tos рдпреЗрдереЗ рд╡рд╛рдкрд░ рдЕрдЯреАрдВрдЪреА рдирд╡реАрдирддрдо рдЖрд╡реГрддреНрддреА рд╢реЛрдзреВ рд╢рдХрддрд╛. рддреБрдордЪрд╛ рд╕реЗрд╡рд╛рдВрдЪрд╛ рд╕рддрдд рд╡рд╛рдкрд░ рдпрд╛ рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдЕрдЯреАрдВрдордзреАрд▓ рдХреЛрдгрддреЗрд╣реА рдмрджрд▓ рдХрд┐рдВрд╡рд╛ рдмрджрд▓ рддреБрдордЪреА рд╕реНрд╡реАрдХреГрддреА рдЖрд╣реЗ." + account_creation: + main_heading: "2. рдЦрд╛рддреЗ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрдгрд┐ рджреЗрдЦрднрд╛рд▓ рдХрд░рдгреЗ" + description1_html: "2.1 рд╕реЗрд╡рд╛рдВрдЪреА рдХрд╛рд╣реА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░реВрди рдЦрд╛рддреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ. рдЦрд╛рддреЗ рддрдпрд╛рд░ рдХрд░рдгреЗ рдРрдЪреНрдЫрд┐рдХ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдЦрд╛рддреНрдпрд╛рд╢рд┐рд╡рд╛рдп, рддреБрдореНрд╣реА рд╕рд░реНрдХрд┐рдЯрд╡рд░ рдкреНрд░рдХрд▓реНрдк рдХрд┐рдВрд╡рд╛ рдЯрд┐рдкреНрдкрдгреНрдпрд╛ рдЬрддрди рдХрд┐рдВрд╡рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реВ рд╢рдХрдгрд╛рд░ рдирд╛рд╣реА. рд╡реИрдпрдХреНрддрд┐рдХ рдЦрд╛рддреНрдпрд╛рд╕рд╛рдареА рдиреЛрдВрджрдгреА рдХрд░рддрд╛рдирд╛, рддреБрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪрд╛ рдИрдореЗрд▓ рдкрддреНрддрд╛, рд▓рд┐рдВрдЧ, рдорд╣рд┐рдирд╛ рдЖрдгрд┐ рд╡рд░реНрд╖ рдЖрдгрд┐ рдЬрдиреНрдорд╛рдЪрд╛ рджреЗрд╢ рдпрд╛рд╕рд╛рд░рдЦреА рдХрд╛рд╣реА рд╡реИрдпрдХреНрддрд┐рдХ рдорд╛рд╣рд┐рддреА рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕ рд╕рд╛рдВрдЧрд┐рддрд▓реЗ рдЬрд╛рдИрд▓. рдХреГрдкрдпрд╛ рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЪреНрдпрд╛ рдбреЗрдЯрд╛ рдзрд╛рд░рдг рдЖрдгрд┐ рд╡рд╛рдкрд░ рдзреЛрд░рдгрд╛рдВрд╕рд╛рдареА CircuitVerse рдЪреЗ рдЧреЛрдкрдиреАрдпрддрд╛ рдзреЛрд░рдг рдкрд╣рд╛." + description2: "2.2 рддреБрдордЪрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдЧреБрдкреНрдд рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рддреБрдордЪреЗ рдЦрд╛рддреЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣рд╛рдд. рддреБрдордЪреНрдпрд╛ рдЦрд╛рддреНрдпрд╛рдЪреНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рдкреВрд░реНрдгрдкрдгреЗ рдЬрдмрд╛рдмрджрд╛рд░ рдЕрд╕рд╛рд▓, рдЬрд░реА рддреБрдордЪреЗ рдЦрд╛рддреЗ рджреБрд╕рд░реНтАНрдпрд╛ рд╡реНрдпрдХреНрддреАрдиреЗ рд╡рд╛рдкрд░рд▓реЗ рдЕрд╕рд▓реЗ рддрд░реАрд╣реА. рддреБрдордЪреНрдпрд╛ рдЦрд╛рддреНрдпрд╛рдЪрд╛ рдХреЛрдгрддрд╛рд╣реА рд╡рд╛рдкрд░ рдпрд╛ рд╕реЗрд╡рд╛ рдЕрдЯреАрдВрдЪреЗ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рдд рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдордЪреЗ рдЦрд╛рддреЗ рдирд┐рд▓рдВрдмрд┐рдд рдХрд┐рдВрд╡рд╛ рд╣рдЯрд╡рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ." + description3: "2.3 рддреБрдореНрд╣реА рдкрд░рд╡рд╛рдирдЧреАрд╢рд┐рд╡рд╛рдп рджреБрд╕рд▒реНрдпрд╛ рд╡реНрдпрдХреНрддреАрдЪреЗ рд╕рд░реНрдХрд┐рдЯрд╡рд░ рдЦрд╛рддреЗ рд╡рд╛рдкрд░реВ рд╢рдХрдд рдирд╛рд╣реА." + description4_html: "2.4 рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣ рдорд╛рдирдиреЗ рдХрд╛ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдЦрд╛рддрд╛ рдЕрдм рд╕реБрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдЦреЛрдиреЗ, рдЪреЛрд░реА рд╣реЛрдиреЗ рдпрд╛ рдЕрдирдзрд┐рдХреГрдд рдкреНрд░рдХрдЯреАрдХрд░рдг рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ), рддреЛ рддреБрд░рдВрдд рдЕрдкрдирд╛ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓реЗрдВред рдпрджрд┐ рдЖрдк рдЕрдкрдирд╛ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЦрд╛рддреЗ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдпрд╣рд╛рдВ support@CircuitVerse.org рд╕реВрдЪрд┐рдд рдХрд░реЗрдВ|" + usage_rule: + main_heading: "3. рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЕрдЯреА" + description1: "3.1 рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЯреАрдо рдЕрднрд┐рд╡реНрдпрдХреНрддреА рд╕реНрд╡рд╛рддрдВрддреНрд░реНрдпрд╛рдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ. рддрдерд╛рдкрд┐, рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╣реЗ рд╡рд┐рд╕реНрддреГрдд рдкреНрд░реЗрдХреНрд╖рдХрд╛рдВрд╕рд╛рдареА рдЖрд╣реЗ рдЖрдгрд┐ рдХрд╛рд╣реА рд╕рд╛рдордЧреНрд░реА рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╕рдореБрджрд╛рдпрд╛рд╕рд╛рдареА рдЕрдиреБрдЪрд┐рдд рдЕрд╕реВ рд╢рдХрддреЗ. рддреБрдореНрд╣реА рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд╛рд░реЗ рд╕рд░реНрдХрд┐рдЯрд╡рд░ рд╕реЗрд╡рд╛ рд╡рд╛рдкрд░реВ рд╢рдХрдд рдирд╛рд╣реА, рдЬрд░:" + list1_item1: "рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡реНрдпрдХреНрддреА рдХрд┐рдВрд╡рд╛ рд╕рдореВрд╣рд╛рд╡рд┐рд░реБрджреНрдз рдзрд░реНрдорд╛рдВрдзрддрд╛, рднреЗрджрднрд╛рд╡, рджреНрд╡реЗрд╖ рдХрд┐рдВрд╡рд╛ рд╣рд┐рдВрд╕реЗрд▓рд╛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рджреЗрддреЗ;" + list1_item2: "рдЗрддрд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡реНрдпрдХреНрддреАрд▓рд╛ рдзрдордХрд╛рд╡рдгреЗ, рддреНрд░рд╛рд╕ рджреЗрдгреЗ рдХрд┐рдВрд╡рд╛ рдзрдордХрд╛рд╡рдгреЗ, рдордЧ рддреА рд╡реНрдпрдХреНрддреА рд╕рд░реНрдХрд┐рдЯрд╡рд░ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЕрд╕реЛ рдХрд┐рдВрд╡рд╛ рдирд╕реЛ;" + list1_item3: "рджреНрд╡реЗрд╖рдпреБрдХреНрдд рднрд╛рд╖рдг рдХрд┐рдВрд╡рд╛ рд╡реИрдпрдХреНрддрд┐рдХ рд╣рд▓реНрд▓реЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд;" + list1_item4: "рд▓реИрдВрдЧрд┐рдХрджреГрд╖реНрдЯреНрдпрд╛ рд╕реБрд╕реНрдкрд╖реНрдЯ рдХрд┐рдВрд╡рд╛ рдЧреНрд░рд╛рдлрд┐рдХрд▓реА рд╣рд┐рдВрд╕рдХ рд╕рд╛рдордЧреНрд░реА рдЖрд╣реЗ;" + list1_item5: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдорд╛рдВрдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд, рджреБрд╕рд░реНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд╕ рд╡реИрдпрдХреНрддрд┐рдХрд░рд┐рддреНрдпрд╛ рдУрд│рдЦрдгрд╛рд░реА рдорд╛рд╣рд┐рддреА, рд╕рдВрдкрд░реНрдХ рдорд╛рд╣рд┐рддреА рдХрд┐рдВрд╡рд╛ рд╕рдВрдХреЗрддрд╢рдмреНрдж рд╡рд┐рдЪрд╛рд░рддреЛ; рдХрд┐рдВрд╡рд╛" + list1_item6: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЗрд╡реНрд╣реЗрдВрдЯрдЪреНрдпрд╛ рдЖрдЪрд░рдгрд╛рдЪреНрдпрд╛ рд╕рдВрдмрдВрдзрд╛рдд, рджреБрд╕рд░реНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд╕ рд╡реИрдпрдХреНрддрд┐рдХрд░рд┐рддреНрдпрд╛ рдУрд│рдЦрдгрд╛рд░реА рдорд╛рд╣рд┐рддреА, рд╕рдВрдкрд░реНрдХ рдорд╛рд╣рд┐рддреА рдХрд┐рдВрд╡рд╛ рд╕рдВрдХреЗрддрд╢рдмреНрдж рд╡рд┐рдЪрд╛рд░рддреЛ; рдХрд┐рдВрд╡рд╛" + list1_item7: "рддреНрдпрд╛ рд╡реНрдпрдХреНрддреАрдЪреНрдпрд╛ рдкрд░рд╡рд╛рдирдЧреАрд╢рд┐рд╡рд╛рдп рдЗрддрд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡реНрдпрдХреНрддреАрдЪреА рд╡реИрдпрдХреНрддрд┐рдХрд░рд┐рддреНрдпрд╛ рдУрд│рдЦрдгрд╛рд░реА рдорд╛рд╣рд┐рддреА, рд╕рдВрдкрд░реНрдХ рдорд╛рд╣рд┐рддреА рдХрд┐рдВрд╡рд╛ рдкрд╛рд╕рд╡рд░реНрдб рдЙрдШрдб рдХрд░рддреЗ." + description2: "3.2 рддреБрдореНрд╣реА рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╡рд╛рдкрд░рддрд╛ рддреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рд╕рд░реНрд╡ рд▓рд╛рдЧреВ рдХрд╛рдпрджреЗ рдЖрдгрд┐ рдирд┐рдпрдорд╛рдВрдЪреЗ рдкрд╛рд▓рди рдХрд░рдгреНрдпрд╛рд╕ рд╕рд╣рдорддреА рджреЗрддрд╛. рддреБрдореНрд╣реА Circuitverse рдЪрд╛ рд╡рд╛рдкрд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рдмреЗрдХрд╛рдпрджреЗрд╢реАрд░ рд░реАрддреАрдиреЗ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА, рдЬреНрдпрд╛рдордзреНрдпреЗ рджреБрд╕рд░реНтАНрдпрд╛ рд╡реНрдпрдХреНрддреАрдЪрд╛ рдЫрд│ рдХрд░рдгреЗ, рджрд╛рдВрдбреА рдорд╛рд░рдгреЗ рдХрд┐рдВрд╡рд╛ рдмрджрдирд╛рдореА рдХрд░рдгреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ." + description3: "3.3 рд╕реЗрд╡рд╛ рд╡рд╛рдкрд░рддрд╛рдирд╛ рддреБрдореНрд╣реА рддреЛрддрдпрд╛рдЧрд┐рд░реА, рддреЛрддрдпрд╛рдЧрд┐рд░реА рдХрд┐рдВрд╡рд╛ рддреЛрддрдпрд╛рдЧрд┐рд░реА рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА." + description4: "3.4 рд╕реЗрд╡реЗрдордзреНрдпреЗ рд╡реНрдпрддреНрдпрдп рдЖрдгрдгреНрдпрд╛рд╕рд╛рдареА, рд╕реЗрд╡реЗрдордзреНрдпреЗ рдЕрдирдзрд┐рдХреГрдд рдкреНрд░рд╡реЗрд╢ рдорд┐рд│рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдХрд┐рдВрд╡рд╛ рд╕реЗрд╡рд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЗрддрд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд╖рдорддреЗрдордзреНрдпреЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд╛рд░реЗ рд╕рд░реНрдХрд┐рдЯрд╡реЙрд░реНрд╕рдЪрд╛ рд╡рд╛рдкрд░ рди рдХрд░рдгреНрдпрд╛рдмрджреНрджрд▓ рддреБрдореНрд╣реА рд╕рд╣рдордд рдЖрд╣рд╛рдд. рдЬрд░ рдЧреНрд░рд╛рд╣рдХ рдирд┐рд╖рд┐рджреНрдз рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдкрд╛рдВрдордзреНрдпреЗ рдЧреБрдВрддрд▓реЗ рддрд░ рдпрд╛рд╕рд╣, рдкрд░рдВрддреБ рдЗрддрдХреЗрдЪ рдорд░реНрдпрд╛рджрд┐рдд рдирд╛рд╣реА:" + list2_item1: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХрд┐рдВрд╡рд╛ рд╕рдВрдкрд╛рджрдХ рдХреНрд░реЕрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗрддреБрдкреБрд░рд╕реНрд╕рд░ рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реА рд╕рд╛рдордЧреНрд░реА рдкреЛрд╕реНрдЯ рдХрд░рдгреЗ;" + list2_item2: "рд╡реНрд╣рд╛рдпрд░рд╕ рдХрд┐рдВрд╡рд╛ рдорд╛рд▓рд╡реЗрдЕрд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдкреГрд╖реНрдард╛рдВрд╢реА рд▓рд┐рдВрдХ рдХрд░рдгреЗ;" + list2_item3: "рдкреНрд░рд╢рд╛рд╕рдХ рдкрд╛рд╕рд╡рд░реНрдб рд╡рд╛рдкрд░рдгреЗ рдХрд┐рдВрд╡рд╛ рдкреНрд░рд╢рд╛рд╕рдХрд╛рдЪреА рддреЛрддрдпрд╛рдЧрд┐рд░реА рдХрд░рдгреЗ;" + list2_item4: "рд╕рдорд╛рди рд╕рд╛рдордЧреНрд░реА рд╡рд╛рд░рдВрд╡рд╛рд░ рдкреЛрд╕реНрдЯ рдХрд░рдгреЗ рдХрд┐рдВрд╡рд╛ \"рд╕реНрдкреЕрдорд┐рдВрдЧ\"" + list2_item5: "рдкрд░реНрдпрд╛рдпреА рдЦрд╛рддреА рд╡рд╛рдкрд░рдгреЗ рдХрд┐рдВрд╡рд╛ рд╕рд╛рдЗрдЯ рдЖрдХрдбреЗрд╡рд╛рд░реА рд╣рд╛рддрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рдорддрджрд╛рди рдЧрдЯ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреЗ, рдЬрд╕реЗ рдХреА рд╣реЗрддреБрдкреБрд░рд╕реНрд╕рд░ \"рд╕рдореБрджрд╛рдп рдХрд╛рдп рдЖрд╡рдбрддреЗ/рд░рд┐рдорд┐рдХреНрд╕ рдХрд░рдд рдЖрд╣реЗ\" рдкрд╣рд┐рд▓реНрдпрд╛ рдкрд╛рдирд╛рдЪреНрдпрд╛ рдУрд│реА." + user_content_licensing: + main_heading: "4. рд╡рд╛рдкрд░рдХрд░реНрддрд╛-рд╡реНрдпреБрддреНрдкрдиреНрди рд╕рд╛рдордЧреНрд░реА рдЖрдгрд┐ рдкрд░рд╡рд╛рдирд╛" + description1: "4.1 рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдЕрдЯреАрдВрдЪреНрдпрд╛ рдЙрджреНрджреЗрд╢рд╛рдВрд╕рд╛рдареА, \"рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╡реНрдпреБрддреНрдкрдиреНрди рд╕рд╛рдордЧреНрд░реА\" рдордзреНрдпреЗ рдХреЛрдгрддреЗрд╣реА рдкреНрд░рдХрд▓реНрдк, рдЯрд┐рдкреНрдкрдгреНрдпрд╛, рдлреЛрд░рдо рдкреЛрд╕реНрдЯреНрд╕ рдХрд┐рдВрд╡рд╛ рддреГрддреАрдп рдкрдХреНрд╖рд╛рдЪреНрдпрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯреНрд╕рдЪреНрдпрд╛ рд▓рд┐рдВрдХреНрд╕рдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ рдЬреЗ рд╡рд╛рдкрд░рдХрд░реНрддреЗ Circuitverse рд▓рд╛ рд╕рдмрдорд┐рдЯ рдХрд░рддрд╛рдд." + description2: "4.2 рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЯреАрдо рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕реНрд╡рд░реВрдкрд╛рдд рдЬреНрдЮрд╛рди рдореБрдХреНрддрдкрдгреЗ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░реВрди рд╕рд░реНрдЬрдирд╢реАрд▓рддреЗрд▓рд╛ рдЪрд╛рд▓рдирд╛ рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреЗ. рддрдерд╛рдкрд┐, рдЖрдореНрд╣реА рд╡реНрдпрдХреНрддреА рдЖрдгрд┐ рдХрдВрдкрдиреНрдпрд╛рдВрдирд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдмреМрджреНрдзрд┐рдХ рд╕рдВрдкрджрд╛ рдЕрдзрд┐рдХрд╛рд░рд╛рдВрдЪреЗ рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рджреЗрдЦреАрд▓ рд╕рдордЬрддреЛ. рддреБрдореНрд╣реА Circuitverse рд▓рд╛ рд╕рдмрдорд┐рдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд╛рдкрд░рдХрд░реНрддрд╛-рд╡реНрдпреБрддреНрдкрдиреНрди рд╕рд╛рдордЧреНрд░реАрд╕рд╛рдареА рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрдзрд┐рдХрд╛рд░, рдкрд░рд╡рд╛рдиреЗ рдХрд┐рдВрд╡рд╛ рдкрд░рд╡рд╛рдирдЧреНрдпрд╛ рдЖрд╣реЗрдд рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣рд╛рдд." + description3_html: "4.3 рддреБрдореНрд╣реА рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд▓рд╛ рд╕рдмрдорд┐рдЯ рдХреЗрд▓реЗрд▓реА рд╕рд░реНрд╡ рд╡рд╛рдкрд░рдХрд░реНрддрд╛-рд╡реНрдпреБрддреНрдкрдиреНрди рд╕рд╛рдордЧреНрд░реА Creative Commons Attribution-ShareAlike 2.0 рд▓рд╛рдпрд╕рдиреНрд╕ рдЕрдВрддрд░реНрдЧрдд рдкрд░рд╡рд╛рдирд╛рдХреГрдд рдЖрд╣реЗ рдЖрдгрд┐ рдЖрд╣реЗ рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рджреНрд╡рд╛рд░реЗ рдкрд░рд╡рд╛рдирд╛рдХреГрдд. рд╣реЗ рдЗрддрд░рд╛рдВрдирд╛ рддреБрдордЪреА рд╕рд╛рдордЧреНрд░реА рдкрд╛рд╣рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рдлреЛрд░реНрдХ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рд╣рд╛ рдкрд░рд╡рд╛рдирд╛ рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЯреАрдорд▓рд╛ рддреБрдордЪреА рд╕рд╛рдордЧреНрд░реА рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╡реЗрдмрд╕рд╛рдЗрдЯрд╡рд░, рд╕реЛрд╢рд▓ рдореАрдбрд┐рдпрд╛ рдЪреЕрдиреЗрд▓рд╡рд░ рдЖрдгрд┐ рдЗрддрд░рддреНрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд, рд╡рд┐рддрд░рдг рдЖрдгрд┐ рдкреБрдирд░реБрддреНрдкрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ. рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдпрд╛ рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рддреБрдордЪреНрдпрд╛ рд╕рд╛рд╣рд┐рддреНрдпрд╛рдЪрд╛ рдкрд░рд╡рд╛рдирд╛ рджреНрдпрд╛рдпрдЪрд╛ рдирд╕реЗрд▓, рддрд░ рддреЛ рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╡рд░ рд╢реЗрдЕрд░ рдХрд░реВ рдирдХрд╛." + description4: "4.4 рдЕрд╣рд╡рд╛рд▓ рджрд┐рд▓реЗрд▓реНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдордЧреНрд░реАрдЪреЗ рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди рдХрд░рдгреНрдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЯреАрдордиреЗ рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╕реЗрд╡рд╛рдВрдЪреНрдпрд╛ рд╕рд░реНрд╡ рд╡рд╛рдкрд░рд╛рд╡рд░ рд▓рдХреНрд╖ рдареЗрд╡рдгреНрдпрд╛рдЪрд╛ рдЕрдзрд┐рдХрд╛рд░ рд░рд╛рдЦреВрди рдареЗрд╡рд▓рд╛ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдХреЛрдгрддреЗрд╣реА рдмрдВрдзрди рдирд╛рд╣реА. рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЯреАрдо рдпрд╛ рд╡рд╛рдкрд░ рдЕрдЯреА рдХрд┐рдВрд╡рд╛ рд╕рдореБрджрд╛рдп рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рддрддреНрддреНрд╡рд╛рдВрдЪреЗ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рдгрд╛рд░реА рдХреЛрдгрддреАрд╣реА рд╕рд╛рдордЧреНрд░реА рд╕реВрдЪрдирд╛ рди рджреЗрддрд╛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реВ рд╢рдХрддреЗ, рд╣рд▓рд╡реВ рд╢рдХрддреЗ рдХрд┐рдВрд╡рд╛ рдХрд╛рдвреВрди рдЯрд╛рдХреВ рд╢рдХрддреЗ." + description5: "4.6 рд╕рд░реНрд╡ рд╡рд╛рдкрд░рдХрд░реНрддрд╛-рд╡реНрдпреБрддреНрдкрдиреНрди рд╕рд╛рдордЧреНрд░реА рдЖрд╣реЗ рддрд╢реА рдкреНрд░рджрд╛рди рдХреЗрд▓реА рдЖрд╣реЗ. рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЯреАрдо рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рджреНрд╡рд╛рд░реЗ рдЙрдкрд▓рдмреНрдз рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд╛рдкрд░рдХрд░реНрддрд╛-рд╡реНрдпреБрддреНрдкрдиреНрди рд╕рд╛рдордЧреНрд░реАрдЪреНрдпрд╛ рдЕрдЪреВрдХрддреЗрдмрджреНрджрд▓ рдХрд┐рдВрд╡рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддреЗрдмрджреНрджрд▓ рдХреЛрдгрддреАрд╣реА рд╣рдореА рджреЗрдд тАЛтАЛрдирд╛рд╣реА рдЖрдгрд┐ рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдбреЗ рдЗрд╡реНрд╣реЗрдВрдЯрд▓рд╛ рдорд╛рдиреНрдпрддрд╛ рджреЗрдд рдирд╛рд╣реА рдХрд┐рдВрд╡рд╛ рд╕рд╛рдВрдЧрд┐рддрд▓реЗрд▓реНрдпрд╛ рдЗрд╡реНрд╣реЗрдВрдЯрдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рдкреЛрд╕реНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдорд╛рд╣рд┐рддреАрдЪреА рдкрдбрддрд╛рд│рдгреА рдХрд┐рдВрд╡рд╛ рдкрдбрддрд╛рд│рдгреА рдХрд░рдд рдирд╛рд╣реА. рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЯреАрдо рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдордЧреНрд░реАрдордзреНрдпреЗ рд╡реНрдпрдХреНрдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рджреГрд╢реНрдпреЗ, рдорддреЗ рдХрд┐рдВрд╡рд╛ рд╕рд▓реНрд▓реНрдпрд╛рдЪреЗ рд╕рдорд░реНрдерди рдХрд░рдд рдирд╛рд╣реА. рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХрдВрдЯреЗрдВрдЯрдордзреВрди рдЖрдгрд┐ рддреБрдореНрд╣реА рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдВрд╡рд╛ рд╣реЛрд╕реНрдЯ рдХрд░реВ рд╢рдХрддрд╛ рдЕрд╢рд╛ рд╕рд░реНрдХрд┐рдЯрд╡реНрд╣рд░реНрд╕ рдбреЗ рдЗрд╡реНрд╣реЗрдВрдЯрдордзреВрди рдЙрджреНрднрд╡рдгрд╛рд▒реНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЖрдгрд┐ рд╕рд░реНрд╡ рджрд╛рдпрд┐рддреНрд╡рд╛рдВрдкрд╛рд╕реВрди рд╕рд░реНрдХрд┐рдЯрд╡реНрд╣рд░реНрд╕ рдЯреАрдорд▓рд╛ рдореБрдХреНрдд рдХрд░рдгреНрдпрд╛рд╕ рд╕рд╣рдордд рдЖрд╣рд╛рдд." + site_content_licensing: + main_heading: "5. рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╕рд╛рдордЧреНрд░реА рдЖрдгрд┐ рдкрд░рд╡рд╛рдирд╛" + description1: "5.1 рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓реА рд╕рд╛рдордЧреНрд░реА, рд╕рд░реНрдХрд┐рдЯрд╡реНрд╣рд░реНрд╕ рдЯреАрдо, рд╕рд░реНрдХрд┐рдЯрд╡реНрд╣рд░реНрд╕ рдХреЛрдб, рд╕рд░реНрдХрд┐рдЯрд╡реНрд╣рд░реНрд╕рдЪреА рд░рдЪрдирд╛, рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЖрдгрд┐ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЖрдгрд┐ рд╕рд░реНрдХрд┐рдЯрд╡реНрд╣рд░реНрд╕ (рдПрдХрддреНрд░рд┐рддрдкрдгреЗ \"рд╕рд░реНрдХрд┐рдЯрд╡реНрд╣рд░реНрд╕ IP\") рд╡рдЧрд│рддрд╛. рдЬрд░ рддреБрдореНрд╣реА рдпрд╛ рд╡рд╛рдкрд░ рдЕрдЯреАрдВрджреНрд╡рд╛рд░реЗ рдкрд░рд╡рд╛рдирдЧреА рдирд╕рд▓реЗрд▓реНрдпрд╛ рдорд╛рд░реНрдЧрд╛рдиреЗ рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВ рдЗрдЪреНрдЫрд┐рдд рдЕрд╕рд╛рд▓, рддрд░ рддреБрдореНрд╣реА рдкреНрд░рдердо рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЯреАрдорд╢реА рд╕рдВрдкрд░реНрдХ рд╕рд╛рдзрд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ. рдпрд╛ рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдЕрдЯреАрдВрдиреБрд╕рд╛рд░ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдордВрдЬреВрд░ рдХреЗрд▓реЗрд▓реЗ рдХреЛрдгрддреЗрд╣реА рдЕрдзрд┐рдХрд╛рд░ рд╡рдЧрд│рддрд╛, рддреБрдореНрд╣рд╛рд▓рд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕рд░реНрдХрд┐рдЯрд╡рд░ рдЖрдпрдкреАрдордзреНрдпреЗ рдЖрдгрд┐ рдХреЛрдгрддреЗрд╣реА рдЕрдзрд┐рдХрд╛рд░ рджрд┐рд▓реЗ рдЬрд╛рдд рдирд╛рд╣реАрдд." + dmca: + main_heading: "6. рдбрд┐рдЬрд┐рдЯрд▓ рдорд┐рд▓реЗрдирд┐рдпрдо рдХреЙрдкреАрд░рд╛рдЗрдЯ рдХрд╛рдпрджрд╛ (рдбреАрдПрдорд╕реАрдП)" + description1_html: "6.1 рддреБрдореНрд╣реА рдХреЙрдкреАрд░рд╛рдЗрдЯ рдзрд╛рд░рдХ рдЕрд╕рд▓реНрдпрд╛рд╕ рдЖрдгрд┐ рд╕рд░реНрдХрд┐рдЯрд╡реНрд╣рд░реНрд╕ рд╡рд░реАрд▓ рд╕рд╛рдордЧреНрд░реА рддреБрдордЪреНрдпрд╛ рдЕрдзрд┐рдХрд╛рд░рд╛рдВрдЪреЗ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рдд рдЕрд╕рд▓реНрдпрд╛рдЪрд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣реА support@CircuitVerse.org рд╢реА рд╕рдВрдкрд░реНрдХ рд╕рд╛рдзреВ рд╢рдХрддрд╛.  рд╡рд░ рдореЗрд▓ рдкрд╛рдард╡реВ рд╢рдХрддрд╛" + description2_html: "6.2 рдЬрд░ рддреБрдореНрд╣реА рд╕рд░реНрдХрд┐рдЯрд╡реНрд╣рд░реНрд╕ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЕрд╕рд╛рд▓ рдЖрдгрд┐ рддреБрдордЪрд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЖрд╣реЗ рдХреА рддреБрдордЪреА рд╕рд╛рдордЧреНрд░реА рдХреЙрдкреАрд░рд╛рдЗрдЯ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рдд рдирд╛рд╣реА рдЖрдгрд┐ рддреА рдЪреБрдХреВрди рдХрд╛рдврд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ, рддрд░ рддреБрдореНрд╣реА support@CircuitVerse.org рд╢реА рд╕рдВрдкрд░реНрдХ рд╕рд╛рдзреВ рд╢рдХрддрд╛. рд╡рд░ рд╕реВрдЪрдирд╛ рдкрд╛рдард╡реВ рд╢рдХрддрд╛рдд. рдХреГрдкрдпрд╛ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рд╛:" + list_item1: "рддреБрдордЪреЗ рд╕рд░реНрдХрд┐рдЯрд╡рд░ рд╡рд╛рдкрд░рдХрд░реНрддрд╛рдирд╛рд╡ рдЖрдгрд┐ рдИрдореЗрд▓ рдкрддреНрддрд╛;" + list_item2: "рддреБрдордЪрд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЖрд╣реЗ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд╛рдордЧреНрд░реА рдЪреБрдХреВрди рдХрд╛рдврд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ; рдЖрдгрд┐" + list_item3: "рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрд╕реЗ рд╡рд╛рдЯрддреЗ рдХреА рдХреЛрдгрддреЗрд╣реА рдХреЙрдкреАрд░рд╛рдЗрдЯ рдЙрд▓реНрд▓рдВрдШрди рдХрд╛ рдЭрд╛рд▓реЗ рдирд╛рд╣реА рдпрд╛рдЪреЗ рдереЛрдбрдХреНрдпрд╛рдд рд╡рд░реНрдгрди (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рд╛рдордЧреНрд░реА рдХреЙрдкреАрд░рд╛рдЗрдЯ рдХреЗрд▓реЗрд▓реА рдирд╡реНрд╣рддреА, рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рдордЧреНрд░реА рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рд╣реЛрддреА, рдХрд┐рдВрд╡рд╛ рд╕рд╛рдордЧреНрд░реАрдЪрд╛ рддреБрдордЪрд╛ рд╡рд╛рдкрд░ рд╣рд╛ \"рд╡рд╛рдЬрд╡реА рд╡рд╛рдкрд░\" рд╣реЛрддрд╛)." + account_related: + main_heading: "7. рдЦрд╛рддреЗ рдирд┐рд▓рдВрдмрди рдЖрдгрд┐ рд╕рдорд╛рдкреНрддреА" + description1: "7.1 рд╡рд╛рдкрд░ рдЕрдЯреА рдХрд┐рдВрд╡рд╛ рд╕рдореБрджрд╛рдп рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рддрддреНрддреНрд╡рд╛рдВрдЪреЗ рдЙрд▓реНрд▓рдВрдШрди рдХреЗрд▓реНрдпрд╛рдмрджреНрджрд▓ рддреБрдордЪреЗ рдЦрд╛рддреЗ рдирд┐рд▓рдВрдмрд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд░рд╛рдЦреВрди рдареЗрд╡рддреЗ. рд╡рд╛рд░рдВрд╡рд╛рд░ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рдгрд╛рд▒реНрдпрд╛рдВрдЪреА рдЦрд╛рддреА рд╣рдЯрд╡рд▓реА рдЬрд╛рдК рд╢рдХрддрд╛рдд. рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдЕрдЯреА рдХрд┐рдВрд╡рд╛ рд╕рдореБрджрд╛рдп рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рддрддреНрддреНрд╡рд╛рдВрдЪреЗ рдЙрд▓реНрд▓рдВрдШрди рдХрд╛рдп рдЖрд╣реЗ рд╣реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдПрдХрдореЗрд╡ рдЕрдзрд┐рдХрд╛рд░ рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╕рдВрдШ рд░рд╛рдЦреВрди рдареЗрд╡рддреЛ. рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдХрд╛рд░реНрдпрд╕рдВрдШ рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдЕрдЯреАрдВрдЪреА рдкреВрд░реНрд╡реАрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗрд▓реЗ рдХреЛрдгрддреЗрд╣реА рдЦрд╛рддреЗ рд╕рдорд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдЕрдзрд┐рдХрд╛рд░ рд░рд╛рдЦреВрди рдареЗрд╡рддреЛ." + description2_html: "7.2 рддреБрдореНрд╣реА рддреБрдордЪреЗ рдЦрд╛рддреЗ рд╣рдЯрд╡реВ рдХрд┐рдВрд╡рд╛ рддрд╛рддреНрдкреБрд░рддреЗ рдЕрдХреНрд╖рдо рдХрд░реВ рдЗрдЪреНрдЫрд┐рдд рдЕрд╕рд▓реНрдпрд╛рд╕, рдХреГрдкрдпрд╛ support@CircuitVerse.org рд╡рд░ рдИрдореЗрд▓ рдХрд░рд╛." + third_party_website: + main_heading: "8. рддреГрддреАрдп рдкрдХреНрд╖ рд╡реЗрдмрд╕рд╛рдЗрдЯреНрд╕" + description1: "8.1 рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рд╡рд░реАрд▓ рд╕рд╛рдордЧреНрд░реА, рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдордЧреНрд░реАрд╕рд╣, рддреГрддреАрдп рдкрдХреНрд╖рд╛рдЪреНрдпрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯреНрд╕рдЪреНрдпрд╛ рд▓рд┐рдВрдХреНрд╕рдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЕрд╕реВ рд╢рдХрддреЛ. Circuitverse рдЯреАрдо рддреГрддреАрдп рдкрдХреНрд╖рд╛рдЪреНрдпрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯрдЪреЗ рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди рдХрд┐рдВрд╡рд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдирд╛рд╣реА рдЖрдгрд┐ рддреГрддреАрдп рдкрдХреНрд╖ рд╡реЗрдмрд╕рд╛рдЗрдЯреНрд╕рдЪреНрдпрд╛ рдЧреЛрдкрдиреАрдпрддрд╛ рдкрджреНрдзрддреА, рд╕рд╛рдордЧреНрд░реА рдХрд┐рдВрд╡рд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд╕рд╛рдареА рдХреЛрдгрддреАрд╣реА рдЬрдмрд╛рдмрджрд╛рд░реА рдШреЗрдд рдирд╛рд╣реА. рддреБрдореНрд╣реА рд╕рд░реНрдХреАрдЯрд╡реНрд╣рд░реНрд╕ рдЯреАрдорд▓рд╛ рддреГрддреАрдп-рдкрдХреНрд╖рд╛рдЪреНрдпрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯреНрд╕рд╡рд░реВрди рдЙрджреНрднрд╡рдгрд╛рд▒реНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЖрдгрд┐ рд╕рд░реНрд╡ рджрд╛рдпрд┐рддреНрд╡рд╛рдВрдкрд╛рд╕реВрди рдореБрдХреНрдд рдХрд░рдгреНрдпрд╛рд╕ рд╕рд╣рдордд рдЖрд╣рд╛рдд." + indemnification: + main_heading: "9. рдкреНрд░реАрдорд┐рдпрдо" + description1: "рддреБрдореНрд╣реА рдЖрдпрдЖрдпрдЖрдпрдЯреА-рдмрдВрдЧрд▓реЛрд░, рд╕рд░реНрдХрд┐рдЯрд╡реНрд╣рд░реНрд╕ рдЯреАрдо, рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдлрд╛рдЙрдВрдбреЗрд╢рди рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреЗ рд╕рд░реНрд╡ рд╕рд╣рдпреЛрдЧреА, рдХрд░реНрдордЪрд╛рд░реА, рдкреНрд░рд╛рдзреНрдпрд╛рдкрдХ рд╕рджрд╕реНрдп, рд╕рд╣рдпреЛрдЧреА, рд╡рд┐рджреНрдпрд╛рд░реНрдереА, рдПрдЬрдВрдЯ, рдкреНрд░рддрд┐рдирд┐рдзреА, рддреГрддреАрдп рдкрдХреНрд╖ рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЧрд╡реНрд╣рд░реНрдирд┐рдВрдЧ рдмреЛрд░реНрдбрдЪреЗ рд╕рджрд╕реНрдп (рдпрд╛ рд╕рд░реНрд╡рд╛рдВрдЪреА) рдиреБрдХрд╕рд╛рдирднрд░рдкрд╛рдИ рджреЗрдгреНрдпрд╛рд╕ рд╕рд╣рдордд рдЖрд╣рд╛рдд ) рд╕рд╣рдордд рдЖрд╣реЗ. \"Circuitverse Entities\"), рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдкреИрдХреА рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ рддреБрдордЪреНрдпрд╛ рд╕реЗрд╡реЗрдЪреНрдпрд╛ рдЕрдЯреАрдВрдордзреВрди рдХрд┐рдВрд╡рд╛ рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рддреВрди рдХрд┐рдВрд╡рд╛ рдЕрдВрддрд░реНрдЧрдд рдЙрджреНрднрд╡рд▓реЗрд▓реНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЖрдгрд┐ рд╕рд░реНрд╡ рджрд╛рд╡реЗ рдЖрдгрд┐ рджрд╛рдпрд┐рддреНрд╡реЗ (рд╡рдХреАрд▓рд╛рдВрдЪреНрдпрд╛ рд╢реБрд▓реНрдХрд╛рд╕рд╣) рдиреБрдХрд╕рд╛рдирднрд░рдкрд╛рдИ рдХреЗрд▓реА рдЬрд╛рдИрд▓." + description2: "рдлреЗрдбрд░рд▓ рд╕рд░рдХрд╛рд░реА рд╕рдВрд╕реНрдерд╛рдВрд╕рд╛рдареА, рдлреЗрдбрд░рд▓ рдХрд╛рдпрджреНрдпрд╛рджреНрд╡рд╛рд░реЗ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдЕрдзрд┐рдХреГрдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдорд░реНрдпрд╛рджреЗрд╢рд┐рд╡рд╛рдп, рдиреБрдХрд╕рд╛рдирднрд░рдкрд╛рдИрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдЕрдЯреАрдВрдЪреНрдпрд╛ рддрд░рддреБрджреА рддреБрдордЪреНрдпрд╛ рдЕрдзрд┐рдХреГрдд рд╡рд╛рдкрд░рд╛рд╡рд░ рд▓рд╛рдЧреВ рд╣реЛрдгрд╛рд░ рдирд╛рд╣реАрдд. рдпреБрдирд╛рдпрдЯреЗрдб рд╕реНрдЯреЗрдЯреНрд╕рдордзреАрд▓ рд░рд╛рдЬреНрдп рдЖрдгрд┐ рд╕реНрдерд╛рдирд┐рдХ рд╕рд░рдХрд╛рд░реА рд╕рдВрд╕реНрдерд╛рдВрд╕рд╛рдареА, рдиреБрдХрд╕рд╛рдирднрд░рдкрд╛рдИрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдЕрдЯреА рддреБрдордЪреНрдпрд╛ рдЕрдзрд┐рдХрд╛рд░рдХреНрд╖реЗрддреНрд░рд╛рддреАрд▓ рдХрд╛рдпрджреНрдпрд╛рдВрджреНрд╡рд╛рд░реЗ рдЕрдзрд┐рдХреГрдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдорд░реНрдпрд╛рджреЗрдкрд░реНрдпрдВрддрдЪ рддреБрдордЪреНрдпрд╛ рдЕрдзрд┐рдХреГрдд рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рд▓рд╛рдЧреВ рд╣реЛрддреАрд▓." + warranty_related: + main_heading: "10. рд╡реЙрд░рдВрдЯреАрдЪрд╛ рдЕрд╕реНрд╡реАрдХрд░рдг" + description1: "рддреБрдореНрд╣реА рдХрдмреВрд▓ рдХрд░рддрд╛ рдХреА рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рд╕реНрд╡рдд:рдЪреНрдпрд╛ рдЬреЛрдЦрдореАрд╡рд░ рд╕рд░реНрдХрд┐рдЯрд╡рд░ рд╡рд╛рдкрд░рдд рдЖрд╣рд╛рдд. CircuitVerse \"рдЬрд╕реЗ рдЖрд╣реЗ рддрд╕реЗ\" рдЖрд╣реЗ рдЖрдгрд┐ CircuitVerse рд╕рдВрд╕реНрдерд╛ рдпрд╛рджреНрд╡рд╛рд░реЗ рдЕрдЪреВрдХрддрд╛, рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддрд╛, рд╢реАрд░реНрд╖рдХ, рд╡реНрдпрд╛рдкрд╛рд░рдХреНрд╖рдорддрд╛, рдЧреИрд░-рдЙрд▓реНрд▓рдВрдШрди, рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реЗрддреВрд╕рд╛рдареА рдлрд┐рдЯрдиреЗрд╕ рдпрд╛рд╕рд╣ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЖрдгрд┐ рд╕рд░реНрд╡ рд╡реЙрд░рдВрдЯреА рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдЕрд╕реНрд╡реАрдХреГрдд рдХрд░рддрд╛рдд, рд╕реНрдкрд╖реНрдЯ рдЖрдгрд┐ рдирд┐рд╣рд┐рдд. рдЗрддрд░ рд╣рдореА, рд╕реНрдерд┐рддреА, рд╣рдореА рдХрд┐рдВрд╡рд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреА рд╣рдореА. рдкреНрд░рд╕реНрддреБрддреАрдХрд░рдг, рддреЛрдВрдбреА рдЕрд╕реЛ, рд▓рд┐рдЦрд┐рдд рд╕реНрд╡рд░реВрдкрд╛рдд рдЕрд╕реЛ рдХрд┐рдВрд╡рд╛ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╕реНрд╡рд░реВрдкрд╛рдд, рдпреЗрдереЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХрд┐рдВрд╡рд╛ рд╕рд░реНрдХрд┐рдЯрд╡реНрд╣рд░реНрд╕рджреНрд╡рд╛рд░реЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдорд╛рд╣рд┐рддреАрдЪреА рдЕрдЪреВрдХрддрд╛ рдХрд┐рдВрд╡рд╛ рдкреВрд░реНрдгрддрд╛ рдпрд╛рд╕рд╣ рдкрд░рдВрддреБ рдорд░реНрдпрд╛рджрд┐рдд рдирд╛рд╣реА. рдЕрдЧреЛрджрд░ рдирд┐рд░реНрджреЗрд╢ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдмрд╛рдмреАрд╕рдВрдмрдВрдзреА рдмреЛрд▓рддрд╛рдирд╛ Circuitverse Entities рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓реА рд╕рд╛рдордЧреНрд░реА рдЖрдгрд┐ рд╕рд░реНрдХрд┐рдЯрд╡рд░ рдбреЗ рдЗрд╡реНрд╣реЗрдВрдЯреНрд╕рдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рд╡реНрдпрдХреНрдд рдЖрдгрд┐ рдирд┐рд╣рд┐рдд рдХреЛрдгрддреНрдпрд╛рд╣реА рдЖрдгрд┐ рд╕рд░реНрд╡ рд╡реЙрд░рдВрдЯреА рдирд╛рдХрд╛рд░рддрд╛рдд. Circuitverse Entities рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреЗ рддреГрддреАрдп рдкрдХреНрд╖ рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рддреЗ Circuitverse рдордзреАрд▓ рдкреНрд░рд╡реЗрд╢ рдЕрдЦрдВрдбрд┐рдд рдЕрд╕реЗрд▓ рдХрд┐рдВрд╡рд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдорд╛рд╣рд┐рддреАрдЪреЗ рдХреЛрдгрддреЗрд╣реА рдЕрдкрдпрд╢, рддреНрд░реБрдЯреА рдХрд┐рдВрд╡рд╛ рдЪреБрдХ рдХрд┐рдВрд╡рд╛ рдиреБрдХрд╕рд╛рди рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА рдХрд┐рдВрд╡рд╛ Circuitverse рд╕реЗрд╡рд╛рдВрджреНрд╡рд╛рд░реЗ рдХреЛрдгрддреЗрд╣реА рд╡реНрд╣рд╛рдпрд░рд╕ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реАрдд рдЕрд╕реЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд┐рдВрд╡рд╛ рд╣рдореА рджреЗрдд тАЛтАЛрдирд╛рд╣реАрдд. рдЬрд╛" + liability_related: + main_heading: "11. рджрд╛рдпрд┐рддреНрд╡рд╛рдЪреА рдорд░реНрдпрд╛рджрд╛" + description1: "рдЕрд╢рд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рджрд╛рд╡реНрдпрд╛рдЪреЗ рд╕реНрд╡рд░реВрдк рдХрд┐рдВрд╡рд╛ рдХрд╛рд░рд╡рд╛рдИрдЪреЗ рдХрд╛рд░рдг рд╡рд┐рдЪрд╛рд░рд╛рдд рди рдШреЗрддрд╛, рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рддреНрдпрдХреНрд╖, рдЕрдкреНрд░рддреНрдпрдХреНрд╖, рд╡рд┐рд╢реЗрд╖, рдкрд░рд┐рдгрд╛рдореА рдХрд┐рдВрд╡рд╛ рджрдВрдбрд╛рддреНрдордХ рдиреБрдХрд╕рд╛рдиреАрд╕рд╛рдареА рд╕рд░реНрдХрд┐рдЯрд╡реНрд╣рд░реНрд╕ рдПрдВрдЯрд┐рдЯреАрдЬ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд┐рдВрд╡рд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рддреГрддреАрдп рдкрдХреНрд╖рд╛рд╕ рдЬрдмрд╛рдмрджрд╛рд░ рд░рд╛рд╣рдгрд╛рд░ рдирд╛рд╣реАрдд, рддрд░реАрд╣реА рд╕рд░реНрдХрд┐рдЯрд╡рд░ рдЯреАрдорд▓рд╛ рдиреБрдХрд╕рд╛рди рд╣реЛрдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдЖрд╣реЗ. рд╕рд▓реНрд▓рд╛ рджрд┐рд▓рд╛ рдЖрд╣реЗ. рдЕрдЧреЛрджрд░ рдирд┐рд░реНрджреЗрд╢ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдмрд╛рдмреАрд╕рдВрдмрдВрдзреА рдмреЛрд▓рддрд╛рдирд╛, Circuitverse рд╕рдВрд╕реНрдерд╛рдВрдирд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдордЧреНрд░реА рдХрд┐рдВрд╡рд╛ рд╕рд░реНрдХрд┐рдЯрд╡рд░ рджрд┐рд╡рд╕рд╛рдЪреНрдпрд╛ рдЗрд╡реНрд╣реЗрдВрдЯреНрд╕рдореБрд│реЗ рд╣реЛрдгрд╛рд░реНтАНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╣рд╛рдиреА рдХрд┐рдВрд╡рд╛ рдиреБрдХрд╕рд╛рдирд╛рд╕рд╛рдареА рддреБрдордЪреЗ рдХрд┐рдВрд╡рд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рддреГрддреАрдп рдкрдХреНрд╖рд╛рдЪреЗ рдХреЛрдгрддреЗрд╣реА рдЙрддреНрддрд░рджрд╛рдпрд┐рддреНрд╡ рдЕрд╕рдгрд╛рд░ рдирд╛рд╣реА." + choice_of_language: + main_heading: "14. рднрд╛рд╖рд╛ рдХрд╛ рдЪреБрдирд╛рд╡" + description1: "рдЬрд░ Circuitverse рдЯреАрдо рддреБрдореНрд╣рд╛рд▓рд╛ рдпрд╛ рд╡рд╛рдкрд░ рдЕрдЯреА, рдЧреЛрдкрдиреАрдпрддрд╛ рдзреЛрд░рдг рдХрд┐рдВрд╡рд╛ рдЗрддрд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рдзреЛрд░рдгрд╛рдЪреНрдпрд╛ рдЗрдВрдЧреНрд░рдЬреА рднрд╛рд╖реЗрддреАрд▓ рдЖрд╡реГрддреНрддреАрдЪреЗ рднрд╛рд╖рд╛рдВрддрд░ рдкреНрд░рджрд╛рди рдХрд░рдд рдЕрд╕реЗрд▓, рддрд░ рддреБрдореНрд╣реА рд╕рд╣рдордд рдЖрд╣рд╛рдд рдХреА рднрд╛рд╖рд╛рдВрддрд░ рдХреЗрд╡рд│ рдорд╛рд╣рд┐рддреАрдЪреНрдпрд╛ рдЙрджреНрджреЗрд╢рд╛рдиреЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдЗрдВрдЧреНрд░рдЬреА рднрд╛рд╖реЗрдЪреНрдпрд╛ рдЖрд╡реГрддреНрддреАрдд рдмрджрд▓ рдХрд░рдд рдирд╛рд╣реА. рднрд╛рд╖рд╛рдВрддрд░ рдЖрдгрд┐ рдЗрдВрдЧреНрд░рдЬреА рдЖрд╡реГрддреНрддреА рдпрд╛рдВрдЪреНрдпрд╛рдд рд╕рдВрдШрд░реНрд╖ рдЭрд╛рд▓реНрдпрд╛рд╕, рдЗрдВрдЧреНрд░рдЬреА рдЖрд╡реГрддреНрддреА рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрд▓." + no_waiver: + main_heading: "15. рдорд╛рдлреА рдирд╛рд╣реА" + description1: "рдпрд╛ рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдЕрдЯреАрдВрдЪреНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЕрдЯреАрдВрдЪреА рдХреЛрдгрддреАрд╣реА рдорд╛рдлреА рд╣реА рдЕрд╢рд╛ рдореБрджрддреАрдЪреА рдХрд┐рдВрд╡рд╛ рдЗрддрд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рдореБрджрддреАрдЪреА рдкреБрдвреАрд▓ рдХрд┐рдВрд╡рд╛ рдЪрд╛рд▓реВ рдЕрд╕рд▓реЗрд▓реА рдорд╛рдлреА рдорд╛рдирд▓реА рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА рдЖрдгрд┐ рдпрд╛ рд╡рд╛рдкрд░ рдЕрдЯреАрдВрдЦрд╛рд▓реАрд▓ рдХреЛрдгрддрд╛рд╣реА рдЕрдзрд┐рдХрд╛рд░ рдХрд┐рдВрд╡рд╛ рддрд░рддреБрджреА рд╕рд╛рдВрдЧрдгреНрдпрд╛рдд рд╕рд░реНрдХрд┐рдЯрд╡реНрд╣рд░реНрд╕ рдЯреАрдордЪреЗ рдЕрдпрд╢рд╕реНрд╡реА рд╣реЗ рдЕрд╢рд╛ рдЕрдзрд┐рдХрд╛рд░рд╛рдЪреА рдорд╛рдлреА рдорд╛рдирдгрд╛рд░ рдирд╛рд╣реА. рдХрд┐рдВрд╡рд╛ рддрд░рддреВрдж." diff --git a/config/locales/views/featured_circuits/mr.yml b/config/locales/views/featured_circuits/mr.yml new file mode 100644 index 0000000000..5d0d10eafd --- /dev/null +++ b/config/locales/views/featured_circuits/mr.yml @@ -0,0 +1,5 @@ +mr: + featured_circuits: + title: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ - рд╕рдВрдкрд╛рджрдХрд╛рдЪреА рдирд┐рд╡рдб" + main_heading: "рд╕рдВрдкрд╛рджрдХрд╛рдЪреА рдирд┐рд╡рдб" + main_description: "рд╣реЗ рд╕рд░реНрдХрд┐рдЯ рдЖрдордЪреНрдпрд╛ рд▓реЗрдЦрдХрд╛рдВрдиреА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЙрддреНрдХреГрд╖реНрдЯрддреЗрд╕рд╛рдареА рдирд┐рд╡рдбрд▓реЗ рдЖрд╣реЗрдд" diff --git a/config/locales/views/groups/mr.yml b/config/locales/views/groups/mr.yml new file mode 100644 index 0000000000..6dee4d2e98 --- /dev/null +++ b/config/locales/views/groups/mr.yml @@ -0,0 +1,44 @@ +mr: + groups: + add_member_description: "рд╕реНрд╡рд▓реНрдкрд╡рд┐рд░рд╛рдо/рд╕реНрдкреЗрд╕реЗрд╕ рдХрд┐рдВрд╡рд╛ рд╡реЗрдЧрд│реНрдпрд╛ рдУрд│реАрдВрдиреА рд╡рд┐рднрдХреНрдд рдХреЗрд▓реЗрд▓реЗ рдИрдореЗрд▓ рдЖрдпрдбреА рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рд╛. рдЬрд░ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рдкреНрд░рд╡реЗрд╢ рдХреЗрд▓рд╛ рдирд╕реЗрд▓, рддрд░ рддреНрдпрд╛рдВрдирд╛ рдПрдХ рдИрдореЗрд▓ рдЖрдпрдбреА рдкрд╛рдард╡рд▓рд╛ рдЬрд╛рдИрд▓ рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рд╕рд╛рдЗрди рдЕрдк рдХрд░рдгреНрдпрд╛рдЪреА рд╡рд┐рдирдВрддреА рдХреЗрд▓реА рдЬрд╛рдИрд▓." + add_mentor_description_html: "

рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рд╣реЗ рдХрд░реВ рд╢рдХрддрд╛рдд:

  • рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рддрдпрд╛рд░ рдЖрдгрд┐ рд╣рдЯрд╡реВ рд╢рдХрддрд╛рдд
  • рдЧреНрд░реЗрдб рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ
  • рдмрдВрдж рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдкреБрдиреНрд╣рд╛ рдЙрдШрдбреВ рд╢рдХрддрд╛рдд
" + promote_member_confirmation: "рддреБрдореНтАНрд╣рд╛рд▓рд╛ рдЦрд╛рддреНрд░реА рдЖрд╣реЗ рдХреА рддреБрдореНтАНрд╣реА рдпрд╛ рд╕рджрд╕реНтАНрдпрд╛рд▓рд╛ рдореЗрдВрдЯреЙрд░ рдореНтАНрд╣рдгреВрди рдкреНрд░рдореЛрдЯ рдХрд░реВ рдЗрдЪреНрдЫрд┐рддрд╛?" + demote_mentor_confirmation: "рддреБрдордЪреА рдЦрд╛рддреНрд░реА рдЖрд╣реЗ рдХреА рддреБрдореНрд╣реА рдпрд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХрд╛рдЪреА рд╕рджрд╕реНрдп рдореНрд╣рдгреВрди рдЕрд╡рдирдд рдХрд░реВ рдЗрдЪреНрдЫрд┐рддрд╛?" + use_alternative: "рдХрд┐рдВрд╡рд╛ рд╡рд╛рдкрд░рд╛" + invite_link_btn: "рджреБрд╡реНрдпрд╛рджреНрд╡рд╛рд░реЗ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рд╛" + remove_assignment_message: "рддреБрдордЪреА рдЦрд╛рддреНрд░реА рдЖрд╣реЗ рдХреА рддреБрдореНрд╣реА рд╣реА рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рд╣рдЯрд╡реВ рдЗрдЪреНрдЫрд┐рддрд╛?" + remove_member_message: "рддреБрдордЪреА рдЦрд╛рддреНрд░реА рдЖрд╣реЗ рдХреА рддреБрдореНрд╣реА рд╣рд╛ рд╕рджрд╕реНрдп рдХрд╛рдвреВ рдЗрдЪреНрдЫрд┐рддрд╛?" + make_member: "рд╕рджрд╕реНрдп рддрдпрд╛рд░ рдХрд░рд╛" + make_mentor: "рдПрдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рддрдпрд╛рд░ рдХрд░рд╛" + edit: + title: "%{name} - рдЧрдЯрд╛рдЪреЗ рдирд╛рд╡ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рд╛" + main_heading: "рдЧрдЯрд╛рдЪреЗ рдирд╛рд╡ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рд╛" + new: + title: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ - рдирд╡реАрди рдЧрдЯ" + main_heading: "рдирд╡реАрди рдЧрдЯ" + main_description_html: "рд╡рд┐рджреНрдпрд╛рд░реНрдереНтАНрдпрд╛рдВрд╕рд╛рдареА рдкреНрд░реЛрдЬреЗрдХреНтАНрдЯ рд╕реЗрдЯ рдХрд░рдгреНтАНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЧреНрд░реЗрдб рджреЗрдгреНтАНрдпрд╛рд╕рд╛рдареА рдорд╛рд░реНрдЧрджрд░реНрд╢рдХрд╛рдВрджреНрд╡рд╛рд░реЗ рдЧрдЯрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. + рддреБрдореНрд╣реА рдпреЗрдереЗ рджрд╕реНрддрдРрд╡рдЬ рд╡рд╛рдЪреВ рд╢рдХрддрд╛." + show: + edit_name_btn: "рдирд╛рд╡ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рд╛" + primary_mentor_heading: "рдкреНрд░рд╛рдердорд┐рдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ:" + mentor_name_heading: "рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ:" + group_members_heading: "рд╕рджрд╕реНрдп" + add_members_btn: "+ рд╕рджрд╕реНрдп рдЬреЛрдбрд╛" + add_mentors_btn: "+ рдореЗрдВрдЯрдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рдЬреЛрдбрд╛" + no_mentors_html: "рдпрд╛ рдЧрдЯрд╛рдордзреНрдпреЗ рдХреЛрдгрддреЗрд╣реА рд╕рдВрд░рдХреНрд╖рдХ рдирд╛рд╣реАрдд, рд╕рджрд╕реНрдп рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА + рд╕рджрд╕реНрдп рдЬреЛрдбрд╛ рдмрдЯрдгрд╛рд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░рд╛." + no_members_html: "рдЧрдЯрд╛рдд рдПрдХрд╣реА рд╕рджрд╕реНрдп рдирд╛рд╣реА, рд╕рджрд╕реНрдп рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА + Mentor рдЬреЛрдбрд╛ рдмрдЯрдгрд╛рд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░рд╛." + no_assignments_html: "рдЧрдЯрд╛рдордзреНрдпреЗ рдХреЛрдгрддреЗрд╣реА рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдирд╛рд╣реА, рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА + рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдЬреЛрдбрд╛ рдмрдЯрдгрд╛рд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░рд╛." + assignment: + heading: "рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ" + add_assignment_btn: "+ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдЬреЛрдбрд╛" + assignment_table_head: + name: "рдирд╛рд╡" + deadline: "рд╡реЗрд│реЗрдЪреА рдорд░реНрдпрд╛рджрд╛" + grading: "рдкреНрд░рддрд╡рд╛рд░реА" + actions: "рдХреНрд░рд┐рдпрд╛" + grade: "рдЧреНрд░реЗрдб" + time_remaining_html: "рдЙрд░реНрд╡рд░рд┐рдд рд╡реЗрд│: %{time_remaining}" + start_working_btn: "рдХрд╛рдо рдЪрд╛рд▓реВ рдХрд░рд╛" + see_work_done: "рддреБрдордЪреЗ рдХрд╛рдо рдкрд╣рд╛" + not_submitted: "рд╕рд╛рджрд░ рдХреЗрд▓реЗ рдирд╛рд╣реА" + show_submission: "рд╕рдмрдорд┐рд╢рди рдкрд╣рд╛" diff --git a/config/locales/views/layouts/mr.yml b/config/locales/views/layouts/mr.yml new file mode 100644 index 0000000000..956bd3ce11 --- /dev/null +++ b/config/locales/views/layouts/mr.yml @@ -0,0 +1,33 @@ +mr: + layout: + link_to_simulator: "рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░" + getting_started_dropdown: "рд╕реБрд░реБрд╡рд╛рдд рдХрд╢реА рдХрд░рд╛рд╡реА" + link_to_learn_more: "рдпреЗрдереЗ рд╢рд┐рдХрд╛" + link_to_docs: "рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди" + link_to_features: "рдЧреБрдгрдзрд░реНрдо" + link_to_teachers: "рд╢рд┐рдХреНрд╖рдХрд╛рдВрд╕рд╛рдареА" + link_to_blog: "рдмреНрд▓реЙрдЧ" + link_to_about: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ рдмрджреНрджрд▓" + footer: + social_icon_text: "рдЖрдореНрд╣рд╛рд▓рд╛ рдпреЗрдереЗ рдЕрдиреБрд╕рд░рдг рдлреЙрд▓реЛ рдХрд░рд╛" + link_to_examples: "рдЙрджрд╛рд╣рд░рдг" + my_circuits: "рдорд╛рдЭреЗ рд╕рд░реНрдХрд┐рдЯ" + link_to_contribute: "рдпреЛрдЧрджрд╛рди" + link_to_forum: "рдлреЛрд░рдо" + sponsor_logo_text: + brought_by: "рджреНрд╡рд╛рд░реЗ рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд▓реЗ:" + hosting_sponsor: "рдкреНрд░рд╛рдпреЛрдЬрдХ:" + marketed_by: "рджреНрд╡рд╛рд░реЗ рд╡рд┐рдкрдгрди:" + developed_by: "рджреНрд╡рд╛рд░реЗ рд╡рд┐рдХрд╕рд┐рдд:" + copyright_text: "рдХреЙрдкреАрд░рд╛рдЗрдЯ ┬й %{time_current_year} Circuitverse, рд╕рд░реНрд╡ рд╣рдХреНрдХ рд░рд╛рдЦреАрд╡." + header: + dashboard: "рдбреИрд╢рдмреЛрд░реНрдб" + my_groups: "рдорд╛рдЭрд╛ рдЧрдЯ" + notifications: "рдЕрдзрд┐рд╕реВрдЪрдирд╛" + language: "рднрд╛рд╖рд╛ рдирд┐рд╡рдбрд╛" + mailer: + join_us: "рдЖрдордЪреНрдпрд╛рдд рд╕рд╛рдореАрд▓ рд╡реНрд╣рд╛" + copyright_text: "рдХреЙрдкреАрд░рд╛рдЗрдЯ ┬й %{time_current_year} рд╕рд░реНрдХрд┐рдЯрд╡рд░. рд╕рд░реНрд╡ рд╣рдХреНрдХ рд░рд╛рдЦреАрд╡. рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕рдорд╕реНрдпрд╛рдВрд╕рд╛рдареА, support@circuitverse.org рд╡рд░ рдЖрдордЪреНрдпрд╛рд╢реА рд╕рдВрдкрд░реНрдХ рд╕рд╛рдзрд╛" + unsubscribe_email_notifications: "рдИрдореЗрд▓ рд╕реВрдЪрдирд╛рдВрдордзреВрди рд╕рджрд╕реНрдпрддреНрд╡ рд░рджреНрдж рдХрд░рд╛" + simulator: + title: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ - рдбрд┐рдЬрд┐рдЯрд▓ рд╕рд░реНрдХрд┐рдЯ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдСрдирд▓рд╛рдЗрди" diff --git a/config/locales/views/lti/mr.yml b/config/locales/views/lti/mr.yml new file mode 100644 index 0000000000..086c940e18 --- /dev/null +++ b/config/locales/views/lti/mr.yml @@ -0,0 +1,9 @@ +mr: + launch_error: + title: "рд╕рд░реНрдХрд┐рдЯрд╡рд░реНрд╕ - рдПрд▓рдЯреАрдЖрдИ рддреНрд░реБрдЯрд┐" + main-heading: "рд╕рд╛рдордЧреНрд░реА рдЙрдкрд▓рдмреНрдз рдирд╛рд╣реА" + main-description: "рддреБрдореНрд╣реА рд╡рд┐рдирдВрддреА рдХрд░рдд рдЕрд╕рд▓реЗрд▓реА рд╕рд╛рдордЧреНрд░реА рдпрд╛рд╡реЗрд│реА рдЙрдкрд▓рдмреНрдз рдирд╛рд╣реА рдХрд┐рдВрд╡рд╛ рддреБрдореНрд╣реА рд╕рд╛рдордЧреНрд░реАрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдзрд┐рдХреГрдд рдирд╛рд╣реА." + open_incv: + notice_wait_in_open_incv: "рдХреГрдкрдпрд╛ рдЖрдореНрд╣реА рд╣реА рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ Circuitverse рдордзреНрдпреЗ рдЙрдШрдбреЗрдкрд░реНрдпрдВрдд рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рд╛..." + notice_redirection_error: "рд╣реЗ рдХрд╛рдо рдХрд░рдд рдирд╕рд▓реНрдпрд╛рд╕, рдХреГрдкрдпрд╛ рдЦрд╛рд▓реАрд▓ рдмрдЯрдгрд╛рд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░рд╛." + open_assignment: "рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдЙрдШрдбрд╛" diff --git a/config/locales/views/paginator/mr.yml b/config/locales/views/paginator/mr.yml new file mode 100644 index 0000000000..91cef14228 --- /dev/null +++ b/config/locales/views/paginator/mr.yml @@ -0,0 +1,4 @@ +mr: + will_paginate: + previous_label: "← рдорд╛рдЧреАрд▓" + next_label: "рдкреБрдвреАрд▓ →" diff --git a/config/locales/views/projects/mr.yml b/config/locales/views/projects/mr.yml new file mode 100644 index 0000000000..3bb0c51cfa --- /dev/null +++ b/config/locales/views/projects/mr.yml @@ -0,0 +1,51 @@ +mr: + projects: + add_collaborator_description: "рд╕реНрд╡рд▓реНрдкрд╡рд┐рд░рд╛рдо, рд╕реНрдкреЗрд╕ рдХрд┐рдВрд╡рд╛ рдПрдВрдЯрд░рдиреЗ рд╡рд┐рднрдХреНрдд рдХреЗрд▓реЗрд▓рд╛ рдИрдореЗрд▓ рдЖрдпрдбреА рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рд╛. рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдиреА рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рдиреЛрдВрджрдгреА рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. + рд▓рдХреНрд╖рд╛рдд рдШреНрдпрд╛ рдХреА рд╕рд╣рдпреЛрдЧ рдЕрджреНрдпрд╛рдк рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реЗрд│ рдирд╛рд╣реА. рдкреНрд░рддреНрдпреЗрдХ рдмрдЪрдд рдорд╛рдЧреАрд▓ рдбреЗрдЯрд╛ рдЕрдзрд┐рд▓рд┐рдЦрд┐рдд рдХрд░рддреЗ." + remove_collaborator_message: "рддреБрдордЪреА рдЦрд╛рддреНрд░реА рдЖрд╣реЗ рдХреА рддреБрдореНрд╣реА рд╣рд╛ рд╕рд╣рдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рдвреВ рдЗрдЪреНрдЫрд┐рддрд╛?" + delete_project_message: "рддреБрдореНрд╣рд╛рд▓рд╛ рдирдХреНрдХреА рд╣рд╛ рдкреНрд░рдХрд▓реНрдк рд╣рдЯрд╡рд╛рдпрдЪрд╛ рдЖрд╣реЗ рдХрд╛?" + form: + feature_circuit_checkpoint: "рдкреНрд░рджрд░реНрд╢рд┐рдд рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреАрдХреГрдд (рдХреЗрд╡рд│ рдкреНрд░рд╢рд╛рд╕рдХ)" + tag_list_description: "(рддреБрдордЪреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреЕрдЧ рд╕реНрд╡рд▓реНрдкрд╡рд┐рд░рд╛рдорд╛рдиреЗ рд╡реЗрдЧрд│реЗ рдХрд░рд╛ [,])" + project_is_featured_message: "(рд╣рд╛ рдкреНрд░рдХрд▓реНрдк рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреАрдХреГрдд рдЖрд╣реЗ. рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкреНрд░рд╡реЗрд╢ рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реНрдпрд╛рд╕ рддреЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреАрдХреГрдд рдХреЗрд▓реЗ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА.)" + public: "рдкрдмреНрд▓рд┐рдХ" + private: "рдкреНрд░рд╛рдЗрд╡реЗрдЯ" + limited_access: "рд▓рд┐рдорд┐рдЯреЗрдб рдПрдХреНрд╕реЗрд╕" + edit: + title: "%{name} - рдкреНрд░рдХрд▓реНрдк рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рд╛" + main_heading: "рдкреНрд░рдХрд▓реНрдк рдПрдбрд┐рдЯ рдХрд░рд╛" + get_projects: + searched_projects_heading: "рдкреНрд░рдХрд▓реНрдк рд╢реЛрдзрд▓рд╛" + searched_tags_heading: "рдЯреИрдЧ:" + stars_count: "рд╕реНрдЯрд╛рд░" + views_count: "рд╡реНрдпреВрдЬ" + project_user: "рд╡рд╛рдкрд░рдХрд░реНрддрд╛:" + show: + project_author: "рд▓реЗрдЦрдХ" + project_forked_from: "рдпреЗрдереВрди рдлреЛрд░реНрдХ рдХреЗрд▓реЗ" + project_access_type: "рдкреНрд░рдХрд▓реНрдк рдкреНрд░рд╡реЗрд╢ рдкреНрд░рдХрд╛рд░" + project_description: "рд╡рд░реНрдгрди:" + project_created_at: "рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛рд╡рд░:" + project_updated_at: "рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реНрдпрд╛рд╡рд░" + project_embed: "рдПрдореНрдмреЗрдб" + project_copy: "рдХреЙрдкреА рдкреНрд░рдХрд▓реНрдк" + project_collaborator_add: "+ рдПрдХ рд╕рд╣рдХрд╛рд░реА рдЬреЛрдбрд╛" + copied_to_clipboard: "рдХреНрд▓рд┐рдкрдмреЛрд░реНрдбрд╡рд░ рдХреЙрдкреА рдХреЗрд▓реЗ!" + collaborators: "рд╕рд╣рдпреЛрдЧреА" + search: + no_result_found: "рдХреЛрдгрддрд╛рд╣реА рдкрд░рд┐рдгрд╛рдо рдЖрдврд│рд▓рд╛ рдирд╛рд╣реА" + modal: + embed_circuit_heading: "рдЖрдкрд▓реЗ рд╕рд░реНрдХрд┐рдЯ рдПрдореНрдмреЗрдб рдХрд░рд╛" + height: "рдЙрдВрдЪреА" + width: "рд░реБрдВрджреА" + url: "рдпреВрдЖрд░рдПрд▓" + border: "рдорд░реНрдпрд╛рджрд╛" + border_style: "рд╕реАрдорд╛ рд╢реИрд▓реА" + publish_button: "рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рд╛" + advance: + advance_option: "рдкреНрд░рдЧрдд рдкрд░реНрдпрд╛рдп" + clock_time: "рдШрдбреНрдпрд╛рд│/рд╡реЗрд│" + display_title: "рд╢реАрд░реНрд╖рдХ рдкреНрд░рджрд░реНрд╢рди" + fullscreen: "рдкреВрд░реНрдг рд╕реНрдХреНрд░реАрди" + zoom_in_out: "рдЭреВрдо рдЗрди/рдЖрдЙрдЯ рдХрд░рд╛" + theme: "рдереАрдо" diff --git a/config/locales/views/simulator/navigation/mr.yml b/config/locales/views/simulator/navigation/mr.yml new file mode 100644 index 0000000000..075c8e6da5 --- /dev/null +++ b/config/locales/views/simulator/navigation/mr.yml @@ -0,0 +1,8 @@ +mr: + simulator: + nav_item: + project: "рдкреНрд░рдХрд▓реНрдк" + circuit: "рд╕рд░реНрдХрд┐рдЯ" + tools: "рдбрд┐рд╡реНрд╣рд╛рдЗрд╕" + help: "рдорджрдд" + insert_Subcircuitcontent: "рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдореНрд╣рдгреВрди рд╣реЗ рд╕рд░реНрдХрд┐рдЯ рдирд╕рд▓реЗрд▓реЗ рджреБрд╕рд░реЗ рдХреЛрдгрддреЗрд╣реА рд╕рд░реНрдХрд┐рдЯ рджрд┐рд╕рдд рдирд╛рд╣реА. рдПрдХ рдирд╡реАрди рддрдпрд╛рд░ рдХрд░рд╛!" diff --git a/config/locales/views/users/mr.yml b/config/locales/views/users/mr.yml new file mode 100644 index 0000000000..265125e783 --- /dev/null +++ b/config/locales/views/users/mr.yml @@ -0,0 +1,96 @@ +mr: + users: + minimum_password_length: "(рдХрд┐рдорд╛рди %{minimum_password_length} рд╡рд░реНрдг)" + ask_new_user: "рддреБрдореНрд╣реА рдирд╡реАрди рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЖрд╣рд╛рдд рдХрд╛?" + confirmations: + resend_confirmation_instructions: "рдкреБрд╖реНрдЯреАрдХрд░рдг рд╕реВрдЪрдирд╛ рдкреБрдиреНрд╣рд╛ рдкрд╛рдард╡рд╛" + circuitverse: + delete_group_confirmation: "рддреБрдордЪреА рдЦрд╛рддреНрд░реА рдЖрд╣реЗ рдХреА рддреБрдореНрд╣реА рд╣рд╛ рдЧрдЯ рд╣рдЯрд╡реВ рдЗрдЪреНрдЫрд┐рддрд╛?" + delete_user_confirmation: "" + preview_project: "рдкреНрд░рдХрд▓реНрдк рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди" + member_since_html: "рдкрд╛рд╕реВрди рд╕рджрд╕реНрдп: %{member_since} рджрд┐рд╡рд╕" + educational_institutes_html: "рд╢реИрдХреНрд╖рдгрд┐рдХ рд╕рдВрд╕реНрдерд╛: %{educational_institute}" + country_html: "рджреЗрд╢: %{country_name}" + total_circuits_made_html: "рдПрдХреВрдг рд╕рд░реНрдХрд┐рдЯ рдмрд╛рдВрдзрд▓реЗ: %{total_circuits}" + edit_profile: + title: "%{name} - рдкреНрд░реЛрдлрд╛рдЗрд▓ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рд╛" + heading: "рдкреНрд░реЛрдлрд╛рдИрд▓ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рд╛" + description_html: " рд╕рд╣ рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдлреАрд▓реНрдб рдЕрдирд┐рд╡рд╛рд░реНрдп рдЖрд╣реЗрдд" + profile_picture: "рдкрд░рд┐рдЪрдп рдЪрд┐рддреНрд░" + choose_file: "рдлрд╛рдИрд▓ рдирд┐рд╡рдбрд╛" + remove_picture: "рдлреЛрдЯреЛ рд╣рдЯрд╡рд╛" + country_select_placeholder: "рдкреНрд░рд╡реЗрд╢ рди рдХрд░рдгреЗ рдкрд╕рдВрдд рдХрд░рд╛" + select_locale_prompt: "рд▓реЛрдХреЕрд▓ рдирд┐рд╡рдбрд╛" + subscribe_mail_checkpoint: "рддреБрдореНрд╣реА рдИрдореЗрд▓рдЪреА рд╕рджрд╕реНрдпрддрд╛ рдШреЗрддрд▓реА рдЖрд╣реЗ рдХрд╛?" + delete_account_heading: "рддреБрдордЪреЗ рдЦрд╛рддреЗ рд╣рдЯрд╡рд╛" + delete_account_notice: "рд╕рд╛рд╡рдзрд╛рдирдкреВрд░реНрд╡рдХ рдкреБрдвреЗ рдЬрд╛! рд╣реА рдХреНрд░рд┐рдпрд╛ рдкреВрд░реНрд╡рд╡рдд рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реА." + delete_account: "рдЦрд╛рддреЗ рдХрд╛рдврд╛" + groups: + title: "%{name} - рддреБрдордЪрд╛ рдЧрдЯ" + alt_title: "рд╢реВрдиреНрдп - рддреБрдордЪрд╛ рдЧрдЯ" + main_heading: "рддреБрдордЪрд╛ рдЧрдЯ" + make_new_group: "+ рдирд╡реАрди рдЧрдЯ рддрдпрд╛рд░ рдХрд░рд╛" + groups_user_mentor_to: "рддреБрдореНрд╣реА рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХреЗрд▓реЗрд▓реЗ рдЧрдЯ:" + total_members: "рдПрдХреВрдг рд╕рджрд╕реНрдп: %{group_member_count}" + groups_user_belong_to: "рддреБрдореНрд╣реА рдЬреНрдпрд╛ рдЧрдЯрд╛рдВрдордзреНрдпреЗ рдЖрд╣рд╛рдд:" + groups_user_owns: "рддреБрдордЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рдЧрдЯ:" + index: + title: "%{name} - рддреБрдордЪреЗ рд╕рд░реНрдХрд┐рдЯ" + alt_title: "рд╢реВрдиреНрдп - рдЖрдкрд▓реЗ рд╕рд░реНрдХрд┐рдЯ" + edit_details: "рдкреНрд░реЛрдлрд╛рдИрд▓ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рд╛" + my_circuits: "рдореА рдмрдирд╡рд▓реЗрд▓реЗ рд╕рд░реНрдХрд┐рдЯ" + favourite_circuits: "рдкрд╕рдВрддреАрдЪреЗ рд╕рд░реНрдХрд┐рдЯ" + collaborated_circuits: "рд╕рд╣рд╛рдпреНрдпрдХ рд╕рд░реНрдХрд┐рдЯреНрд╕" + search_circuits: "рд╕рд░реНрдХрд┐рдЯ рд╢реЛрдзрд╛..." + no_projects_heading_html: "рддреБрдореНрд╣реА рдХреЛрдгрддреЗрд╣реА рдкреНрд░рдХрд▓реНрдк рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╣реАрдд. %{simulator_new_url} рдкреНрд░рдХрд▓реНрдк рддрдпрд╛рд░ рдХрд░рд╛" + create_here: "рдпреЗрдереЗ" + no_user_projects: "%{name} рдиреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓рд╛ рдХреЛрдгрддрд╛рд╣реА рдкреНрд░рдХрд▓реНрдк рдирд╛рд╣реА." + no_favourites_heading_html: "рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрд╡рдбрдгрд╛рд░реЗ рдХреЛрдгрддреЗрд╣реА рдкреНрд░рдХрд▓реНрдк рдирд╛рд╣реАрдд. %{simulator_new_url} рдкреНрд░рдХрд▓реНрдк рддрдпрд╛рд░ рдХрд░рд╛" + no_user_favourites: "%{name} рд▓рд╛ рдЖрд╡рдбрд▓реЗрд▓реЗ рдХреЛрдгрддреЗрд╣реА рдкреНрд░рдХрд▓реНрдк рдирд╛рд╣реАрдд." + not_a_collaborator: "рддреБрдореНрд╣реА рдкреНрд░рдХрд▓реНрдк рд╕рд╣рдпреЛрдЧреА рдирд╛рд╣реА." + user_not_a_collaborator: "%{name} рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд▓реНрдкрд╛рд╕рд╛рдареА рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рдирд╛рд╣реА." + search: + no_results: "рдХреЛрдгрддрд╛рд╣реА рдкрд░рд┐рдгрд╛рдо рдЖрдврд│рд▓рд╛ рдирд╛рд╣реА" + mailer: + user_welcome_msg: "%{email} рдордзреНрдпреЗ рдЖрдкрд▓реЗ рд╕реНрд╡рд╛рдЧрдд рдЖрд╣реЗ!" + confirm_account_description: "рддреБрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рд▓рд┐рдВрдХрджреНрд╡рд╛рд░реЗ рддреБрдордЪреЗ рдЦрд╛рддреЗ рдИрдореЗрд▓ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реВ рд╢рдХрддрд╛:" + link_to_confirm_account: "рдорд╛рдЭреЗ рдЦрд╛рддреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рд╛" + email_changed_msg: "рддреБрдордЪрд╛ рдИрдореЗрд▓ %{email} рдордзреНрдпреЗ рдмрджрд▓рд▓рд╛ рдЬрд╛рдд рдЕрд╕рд▓реНрдпрд╛рдЪреА рдорд╛рд╣рд┐рддреА рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рддреБрдордЪреНрдпрд╛рд╢реА рд╕рдВрдкрд░реНрдХ рд╕рд╛рдзрдд рдЖрд╣реЛрдд." + password_changed_msg: "рддреБрдордЪрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓рд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ рд╣реЗ рдХрд│рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рддреБрдордЪреНрдпрд╛рд╢реА рд╕рдВрдкрд░реНрдХ рд╕рд╛рдзрдд рдЖрд╣реЛрдд." + reset_password_request_msg: "рдХреЛрдгреАрддрд░реА рддреБрдордЪрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА рд▓рд┐рдВрдХрдЪреА рд╡рд┐рдирдВрддреА рдХреЗрд▓реА рдЖрд╣реЗ. рддреБрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рд▓рд┐рдВрдХрджреНрд╡рд╛рд░реЗ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓реВ рд╢рдХрддрд╛." + link_to_reset_password: "рдорд╛рдЭрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓рд╛" + reset_password_description1: "рддреБрдореНрд╣реА рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓рдгреНрдпрд╛рдЪреА рд╡рд┐рдирдВрддреА рдХреЗрд▓реА рдирд╕рд▓реНрдпрд╛рд╕, рдХреГрдкрдпрд╛ рдпрд╛ рдИрдореЗрд▓рдХрдбреЗ рджреБрд░реНрд▓рдХреНрд╖ рдХрд░рд╛." + reset_password_description2: "рдЬреЛрдкрд░реНрдпрдВрдд рддреБрдореНрд╣реА рд╡рд░реАрд▓ рд▓рд┐рдВрдХрд╡рд░ рдкреНрд░рд╡реЗрд╢ рдХрд░рдд рдирд╛рд╣реА рдЖрдгрд┐ рдирд╡реАрди рдкрд╛рд╕рд╡рд░реНрдб рддрдпрд╛рд░ рдХрд░рдд рдирд╛рд╣реА рддреЛрдкрд░реНрдпрдВрдд рддреБрдордЪрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓рдгрд╛рд░ рдирд╛рд╣реА." + unlock_account_description1: "рдЕрдиреЗрдХ рдЕрдпрд╢рд╕реНрд╡реА рд╕рд╛рдЗрди-рдЗрди рдкреНрд░рдпрддреНрдирд╛рдВрдореБрд│реЗ рддреБрдордЪреЗ рдЦрд╛рддреЗ рд▓реЙрдХ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ." + unlock_account_description2: "рддреБрдордЪреЗ рдЦрд╛рддреЗ рдЕрдирд▓реЙрдХ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЦрд╛рд▓реАрд▓ рд▓рд┐рдВрдХрд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░рд╛:" + link_to_unlock_account: "рдорд╛рдЭреЗ рдЦрд╛рддреЗ рдЕрдирд▓реЙрдХ рдХрд░рд╛" + passwords: + change_password_heading: "рдЖрдкрд▓рд╛ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓рд╛" + change_password: "рдорд╛рдЭрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓рд╛" + link_to_login_page: "рд▓реЙрдЧрд┐рди рдкреГрд╖реНрдард╛рд╡рд░ рдЬрд╛" + forgot_password_heading: "рддреБрдордЪрд╛ рдкрд╛рд╕рд╡рд░реНрдб рд╡рд┐рд╕рд░рд▓рд╛рдд?" + send_reset_link: "рдкрд╛рд╕рд╡рд░реНрдб рд░реАрд╕реЗрдЯ рд▓рд┐рдВрдХ рдкрд╛рдард╡рд╛" + registrations: + get_started: "рд╕рд░реНрдХрд┐рдЯ рдЬрддрди рдХрд░рдгреЗ, рдЧрдЯ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрдгрд┐ рдмрд░реЗрдЪ рдХрд╛рд╣реА рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдпреЗрдереЗ рдиреЛрдВрджрдгреА рдХрд░рд╛!" + ask_already_registered: "рдЖрдзреАрдЪ рдиреЛрдВрджрдгреА рдЭрд╛рд▓реА рдЖрд╣реЗ?" + sessions: + forgot_password: "рддреБрдордЪрд╛ рдкрд╛рд╕рд╡рд░реНрдб рд╡рд┐рд╕рд░рд▓рд╛рдд?" + remember_me: "рдорд╛рдЭреЗ рд▓реЙрдЧрд┐рди рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛" + shared: + login_with: "рд╡рд╛рдкрд░реВрди рд▓реЙрдЧ рдЗрди рдХрд░рд╛" + login_with_sso: "рдПрдХрд▓ рдЪрд┐рдиреНрд╣ рдЪрд╛рд▓реВ" + unlocks: + resend_unlock_instructions: "рдЕрдирд▓реЙрдХ рд╕реВрдЪрдирд╛ рдкреБрдиреНрд╣рд╛ рдкрд╛рдард╡рд╛" + notifications: + heading: "рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рдиреНрд╕" + all: "рд╕рд░реНрд╡" + unread: "рди рд╡рд╛рдЪрд▓реЗрд▓реЗ" + mark_as_read_button: "рд╕рд░реНрд╡ рд╡рд╛рдЪрд▓реЗрд▓реЗ рдореНрд╣рдгреВрди рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХрд░рд╛" + no_notifications: "рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕реВрдЪрдирд╛ рдирд╛рд╣реАрдд!" + no_unread_notifications: "рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдХреЛрдгрддреНрдпрд╛рд╣реА рди рд╡рд╛рдЪрд▓реЗрд▓реНрдпрд╛ рд╕реВрдЪрдирд╛ рдирд╛рд╣реАрдд!" + see_all : "рд╕рднреА рджреЗрдЦреЗрдВ" + fork_notification: "%{user} рдиреЗ рддреБрдордЪрд╛ рдкреНрд░рдХрд▓реНрдк рдлреЛрд░реНрдХ рдХреЗрд▓рд╛ %{project}" + star_notification: "%{user} рдиреЗ рддреБрдордЪреНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рд▓рд╛ рддрд╛рд░рд╛рдВрдХрд┐рдд рдХреЗрд▓реЗ %{project}" + new_assignment_notification: "рддреБрдореНрд╣рд╛рд▓рд╛ рдПрдХ рдирд╡реАрди рдХрд╛рд░реНрдп рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ! - '%{assignment_name}'" + forum_thread_notification: "%{user} рдиреЗ рдирд╡реАрди рдзрд╛рдЧрд╛ '%{thread}' рдкреЛрд╕реНрдЯ рдХреЗрд▓рд╛" + comment_notif: "%{user} рдиреЗ '%{thread}' рд╡рд░ тАЛтАЛрдЯрд┐рдкреНрдкрдгреА рдХреЗрд▓реА" \ No newline at end of file diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock index de66d0f083..803224f5dd 100644 --- a/docs/Gemfile.lock +++ b/docs/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - activesupport (6.1.7.1) + activesupport (6.1.7.3) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -16,7 +16,7 @@ GEM coffee-script-source execjs coffee-script-source (1.12.2) - concurrent-ruby (1.1.10) + concurrent-ruby (1.2.2) contracts (0.13.0) dotenv (2.8.1) erubis (2.7.0) @@ -81,7 +81,7 @@ GEM middleman-core (>= 3.2) rouge (~> 2.0) mini_portile2 (2.8.0) - minitest (5.17.0) + minitest (5.18.0) nokogiri (1.13.10) mini_portile2 (~> 2.8.0) racc (~> 1.4) @@ -117,12 +117,12 @@ GEM tilt (2.0.11) toml (0.3.0) parslet (>= 1.8.0, < 3.0.0) - tzinfo (2.0.5) + tzinfo (2.0.6) concurrent-ruby (~> 1.0) uglifier (3.2.0) execjs (>= 0.3.0, < 3) webrick (1.7.0) - zeitwerk (2.6.6) + zeitwerk (2.6.7) PLATFORMS ruby diff --git a/package.json b/package.json index efa6489d3e..4859ea47e8 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ }, "devDependencies": { "@babel/preset-env": "^7.18.2", - "@commitlint/cli": "^17.0.2", + "@commitlint/cli": "^17.5.0", "@commitlint/config-conventional": "^17.4.4", "canvas": "^2.9.1", "chokidar": "^3.5.3", diff --git a/simulator/src/css/main.stylesheet.css b/simulator/src/css/main.stylesheet.css index 57197c631f..5510818cee 100644 --- a/simulator/src/css/main.stylesheet.css +++ b/simulator/src/css/main.stylesheet.css @@ -169,14 +169,14 @@ input[type="text"]:focus { } .projectName { - position: relative; - left: 0.5rem; font-size: 1em; text-align: center; display: inline-block; width: 35vw; + height: 1.2rem; overflow: hidden; text-overflow: ellipsis; + margin-right: 22rem; } @media (max-width: 991px) { @@ -186,8 +186,6 @@ input[type="text"]:focus { } .account-btn { - position: absolute; - right: 13px; padding: 4px 10px; border: 1px solid transparent; border-radius: 1px; @@ -201,6 +199,7 @@ input[type="text"]:focus { .user-field { display: inline-block; max-width: 11rem; + height: 1.2rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; diff --git a/simulator/src/data/backupCircuit.js b/simulator/src/data/backupCircuit.js index 66adf80aaf..1e029c2bb7 100755 --- a/simulator/src/data/backupCircuit.js +++ b/simulator/src/data/backupCircuit.js @@ -1,4 +1,5 @@ import { projectSavedSet } from './project'; +import { autosave } from './save'; /* eslint-disable no-param-reassign */ function extract(obj) { return obj.saveObject(); @@ -63,6 +64,11 @@ export function scheduleBackup(scope = globalScope) { scope.backups.push(backup); scope.history = []; scope.timeStamp = new Date().getTime(); + + //Calling the autosave() function after a delay of 0.1 second, to allow scheduleBackup() function to complete its execution first + setTimeout(() => { + autosave(); + }, 100); projectSavedSet(false); } diff --git a/simulator/src/data/project.js b/simulator/src/data/project.js index 56331b0eb1..eacfef1435 100755 --- a/simulator/src/data/project.js +++ b/simulator/src/data/project.js @@ -20,6 +20,12 @@ export function recoverProject() { load(data); } localStorage.removeItem('recover'); + } else if (localStorage.getItem('autosave')) { + var data = JSON.parse(localStorage.getItem('autosave')); + if (confirm(`Would you like to recover: ${data.name}`)) { + load(data); + } + localStorage.removeItem('autosave'); } else { showError('No recover project found'); } @@ -100,17 +106,18 @@ function checkToSave() { * Prompt user to save data if unsaved * @category data */ -window.onbeforeunload = function () { +window.addEventListener('beforeunload', function (event) { if (projectSaved || embed) return; if (!checkToSave()) return; - alert('You have unsaved changes on this page. Do you want to leave this page and discard your changes or stay on this page?'); + event.preventDefault(); + event.returnValue = ''; const data = generateSaveData('Untitled'); localStorage.setItem('recover', data); - // eslint-disable-next-line consistent-return - return 'Are u sure u want to leave? Any unsaved changes may not be recoverable'; -}; + const confirmationMessage = 'You have unsaved changes on this page. Do you want to leave this page and discard your changes or stay on this page?'; + return confirmationMessage; + }); /** * Function to clear project diff --git a/simulator/src/data/save.js b/simulator/src/data/save.js index ea7fe50855..e08a2d5c64 100755 --- a/simulator/src/data/save.js +++ b/simulator/src/data/save.js @@ -14,6 +14,7 @@ import domtoimage from 'dom-to-image'; import C2S from '../../vendor/canvas2svg'; var projectName = undefined; +var autosave_array = []; /** * Function to set the name of project. @@ -407,3 +408,17 @@ export default async function save() { // Restore everything resetup(); } + +/** + * Function to autosave the data of circuit + * @category data + * @exports save + */ +export function autosave() { + var data = generateSaveData('Untitled'); + autosave_array.push(data); + if (autosave_array.length > 2) { + autosave_array.shift(); + } + localStorage.setItem('autosave', autosave_array[0]); +} diff --git a/simulator/src/setup.js b/simulator/src/setup.js index 6bee1834a3..32209d3334 100755 --- a/simulator/src/setup.js +++ b/simulator/src/setup.js @@ -184,6 +184,9 @@ export function setup() { } else if (localStorage.getItem('recover')) { // Restore unsaved data which didn't get saved due to error showMessage("We have detected that you did not save your last work. Don't worry we have recovered them. Access them using Project->Recover"); + } else if (localStorage.getItem('autosave')) { + // Restore unsaved data which didn't get saved due to simulator crash. + showMessage("We have detected an unexpected simulator crash. Don't worry we have recovered your project. Access them using Project->Recover"); } }, 1000); diff --git a/spec/controllers/featured_circuit_controller_spec.rb b/spec/controllers/featured_circuit_controller_spec.rb index 7953f855c6..d2ed0261f7 100644 --- a/spec/controllers/featured_circuit_controller_spec.rb +++ b/spec/controllers/featured_circuit_controller_spec.rb @@ -4,7 +4,7 @@ describe FeaturedCircuitsController, type: :request do before do - @project = FactoryBot.create(:project, author: FactoryBot.create(:user), \ + @project = FactoryBot.create(:project, author: FactoryBot.create(:user), project_access_type: "Public") end @@ -35,7 +35,7 @@ it "creates featured_circuit" do expect do - post featured_circuits_path, params: { featured_circuit: \ + post featured_circuits_path, params: { featured_circuit: { featured: "1", project_id: @project.id } } end.to change(FeaturedCircuit, :count).by(1) end @@ -44,7 +44,7 @@ FactoryBot.create(:featured_circuit, project: @project) expect do - delete featured_circuits_path, params: { featured_circuit: \ + delete featured_circuits_path, params: { featured_circuit: { featured: "0", project_id: @project.id } } end.to change(FeaturedCircuit, :count).by(-1) end diff --git a/spec/requests/api/v1/grades_controller/create_spec.rb b/spec/requests/api/v1/grades_controller/create_spec.rb index 4ae36176a3..4945505935 100644 --- a/spec/requests/api/v1/grades_controller/create_spec.rb +++ b/spec/requests/api/v1/grades_controller/create_spec.rb @@ -51,7 +51,7 @@ context "when authorized but tries to create duplicate grade" do before do FactoryBot.create( - :grade, project: project, assignment: assignment, \ + :grade, project: project, assignment: assignment, user_id: primary_mentor.id, grade: "A", remarks: "Good" ) token = get_auth_token(primary_mentor) diff --git a/spec/requests/api/v1/grades_controller/destroy_spec.rb b/spec/requests/api/v1/grades_controller/destroy_spec.rb index 70e5ab2d53..9af923a402 100644 --- a/spec/requests/api/v1/grades_controller/destroy_spec.rb +++ b/spec/requests/api/v1/grades_controller/destroy_spec.rb @@ -10,7 +10,7 @@ let!(:project) { FactoryBot.create(:project, assignment: assignment) } let!(:grade) do FactoryBot.create( - :grade, project: project, assignment: assignment, \ + :grade, project: project, assignment: assignment, user_id: primary_mentor.id, grade: "A", remarks: "Good" ) end diff --git a/spec/requests/api/v1/grades_controller/update_spec.rb b/spec/requests/api/v1/grades_controller/update_spec.rb index 47e8ef2fa5..6fa7ebd778 100644 --- a/spec/requests/api/v1/grades_controller/update_spec.rb +++ b/spec/requests/api/v1/grades_controller/update_spec.rb @@ -10,7 +10,7 @@ let!(:project) { FactoryBot.create(:project, assignment: assignment) } let!(:grade) do FactoryBot.create( - :grade, project: project, assignment: assignment, \ + :grade, project: project, assignment: assignment, user_id: primary_mentor.id, grade: "A", remarks: "Good" ) end diff --git a/yarn.lock b/yarn.lock index 9fb1442ba6..3874bfa173 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1204,18 +1204,18 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@commitlint/cli@^17.0.2": - version "17.0.2" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.0.2.tgz#57c925fb5f09b8e4a83448d94db291ddf7aa58ee" - integrity sha512-Axe89Js0YzGGd4gxo3JLlF7yIdjOVpG1LbOorGc6PfYF+drBh14PvarSDLzyd2TNqdylUCq9wb9/A88ZjIdyhA== - dependencies: - "@commitlint/format" "^17.0.0" - "@commitlint/lint" "^17.0.0" - "@commitlint/load" "^17.0.0" - "@commitlint/read" "^17.0.0" - "@commitlint/types" "^17.0.0" +"@commitlint/cli@^17.5.0": + version "17.5.0" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.5.0.tgz#045bf46fc38bb4246da30b462d8db66f48c28f9a" + integrity sha512-yNW3+M7UM1ioK28LKTrryIVB5qGpXlEv8+rJQiWPMZNayy9/1XR5+lL8qBTNlgopYtZWWnIm5RETcAN29ZTL/A== + dependencies: + "@commitlint/format" "^17.4.4" + "@commitlint/lint" "^17.4.4" + "@commitlint/load" "^17.5.0" + "@commitlint/read" "^17.4.4" + "@commitlint/types" "^17.4.4" execa "^5.0.0" - lodash "^4.17.19" + lodash.isfunction "^3.0.9" resolve-from "5.0.0" resolve-global "1.0.0" yargs "^17.0.0" @@ -1227,133 +1227,141 @@ dependencies: conventional-changelog-conventionalcommits "^5.0.0" -"@commitlint/config-validator@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-17.0.0.tgz#49ab09f3ca0ac3449e79ea389cb4942423162ac0" - integrity sha512-78IQjoZWR4kDHp/U5y17euEWzswJpPkA9TDL5F6oZZZaLIEreWzrDZD5PWtM8MsSRl/K2LDU/UrzYju2bKLMpA== +"@commitlint/config-validator@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-17.4.4.tgz#d0742705719559a101d2ee49c0c514044af6d64d" + integrity sha512-bi0+TstqMiqoBAQDvdEP4AFh0GaKyLFlPPEObgI29utoKEYoPQTvF0EYqIwYYLEoJYhj5GfMIhPHJkTJhagfeg== dependencies: - "@commitlint/types" "^17.0.0" - ajv "^6.12.6" + "@commitlint/types" "^17.4.4" + ajv "^8.11.0" -"@commitlint/ensure@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-17.0.0.tgz#781ff5f8870cb98ce4496d5c71649a4cd122a0e0" - integrity sha512-M2hkJnNXvEni59S0QPOnqCKIK52G1XyXBGw51mvh7OXDudCmZ9tZiIPpU882p475Mhx48Ien1MbWjCP1zlyC0A== +"@commitlint/ensure@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-17.4.4.tgz#a36e7719bdb9c2b86c8b8c2e852b463a7bfda5fa" + integrity sha512-AHsFCNh8hbhJiuZ2qHv/m59W/GRE9UeOXbkOqxYMNNg9pJ7qELnFcwj5oYpa6vzTSHtPGKf3C2yUFNy1GGHq6g== + dependencies: + "@commitlint/types" "^17.4.4" + lodash.camelcase "^4.3.0" + lodash.kebabcase "^4.1.1" + lodash.snakecase "^4.1.1" + lodash.startcase "^4.4.0" + lodash.upperfirst "^4.3.1" + +"@commitlint/execute-rule@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-17.4.0.tgz#4518e77958893d0a5835babe65bf87e2638f6939" + integrity sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA== + +"@commitlint/format@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-17.4.4.tgz#0f6e1b4d7a301c7b1dfd4b6334edd97fc050b9f5" + integrity sha512-+IS7vpC4Gd/x+uyQPTAt3hXs5NxnkqAZ3aqrHd5Bx/R9skyCAWusNlNbw3InDbAK6j166D9asQM8fnmYIa+CXQ== dependencies: - "@commitlint/types" "^17.0.0" - lodash "^4.17.19" - -"@commitlint/execute-rule@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-17.0.0.tgz#186e9261fd36733922ae617497888c4bdb6e5c92" - integrity sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ== + "@commitlint/types" "^17.4.4" + chalk "^4.1.0" -"@commitlint/format@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-17.0.0.tgz#2c991ac0df3955fe5d7d4d733967bd17e6cfd9e0" - integrity sha512-MZzJv7rBp/r6ZQJDEodoZvdRM0vXu1PfQvMTNWFb8jFraxnISMTnPBWMMjr2G/puoMashwaNM//fl7j8gGV5lA== +"@commitlint/is-ignored@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.4.4.tgz#82e03f1abe2de2c0c8c162a250b8d466225e922b" + integrity sha512-Y3eo1SFJ2JQDik4rWkBC4tlRIxlXEFrRWxcyrzb1PUT2k3kZ/XGNuCDfk/u0bU2/yS0tOA/mTjFsV+C4qyACHw== dependencies: - "@commitlint/types" "^17.0.0" - chalk "^4.1.0" + "@commitlint/types" "^17.4.4" + semver "7.3.8" -"@commitlint/is-ignored@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.0.0.tgz#64f53517b390689e58aa3c29fbf1e05b7d4fbd65" - integrity sha512-UmacD0XM/wWykgdXn5CEWVS4XGuqzU+ZGvM2hwv85+SXGnIOaG88XHrt81u37ZeVt1riWW+YdOxcJW6+nd5v5w== - dependencies: - "@commitlint/types" "^17.0.0" - semver "7.3.7" - -"@commitlint/lint@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.0.0.tgz#38ef61e0e977d738f738233fbcdf33a5fc04cf96" - integrity sha512-5FL7VLvGJQby24q0pd4UdM8FNFcL+ER1T/UBf8A9KRL5+QXV1Rkl6Zhcl7+SGpGlVo6Yo0pm6aLW716LVKWLGg== - dependencies: - "@commitlint/is-ignored" "^17.0.0" - "@commitlint/parse" "^17.0.0" - "@commitlint/rules" "^17.0.0" - "@commitlint/types" "^17.0.0" - -"@commitlint/load@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.0.0.tgz#0bbefe6d8b99276714c5ea8ef32de2bd2f082698" - integrity sha512-XaiHF4yWQOPAI0O6wXvk+NYLtJn/Xb7jgZEeKd4C1ZWd7vR7u8z5h0PkWxSr0uLZGQsElGxv3fiZ32C5+q6M8w== - dependencies: - "@commitlint/config-validator" "^17.0.0" - "@commitlint/execute-rule" "^17.0.0" - "@commitlint/resolve-extends" "^17.0.0" - "@commitlint/types" "^17.0.0" - "@types/node" ">=12" +"@commitlint/lint@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.4.4.tgz#0ecd70b44ec5f4823c2e00e0c4b04ebd41d42856" + integrity sha512-qgkCRRFjyhbMDWsti/5jRYVJkgYZj4r+ZmweZObnbYqPUl5UKLWMf9a/ZZisOI4JfiPmRktYRZ2JmqlSvg+ccw== + dependencies: + "@commitlint/is-ignored" "^17.4.4" + "@commitlint/parse" "^17.4.4" + "@commitlint/rules" "^17.4.4" + "@commitlint/types" "^17.4.4" + +"@commitlint/load@^17.5.0": + version "17.5.0" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.5.0.tgz#be45dbbb50aaf5eb7e8e940e1e0d6171d1426bab" + integrity sha512-l+4W8Sx4CD5rYFsrhHH8HP01/8jEP7kKf33Xlx2Uk2out/UKoKPYMOIRcDH5ppT8UXLMV+x6Wm5osdRKKgaD1Q== + dependencies: + "@commitlint/config-validator" "^17.4.4" + "@commitlint/execute-rule" "^17.4.0" + "@commitlint/resolve-extends" "^17.4.4" + "@commitlint/types" "^17.4.4" + "@types/node" "*" chalk "^4.1.0" - cosmiconfig "^7.0.0" - cosmiconfig-typescript-loader "^2.0.0" - lodash "^4.17.19" + cosmiconfig "^8.0.0" + cosmiconfig-typescript-loader "^4.0.0" + lodash.isplainobject "^4.0.6" + lodash.merge "^4.6.2" + lodash.uniq "^4.5.0" resolve-from "^5.0.0" - typescript "^4.6.4" + ts-node "^10.8.1" + typescript "^4.6.4 || ^5.0.0" -"@commitlint/message@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-17.0.0.tgz#ae0f8ec6a3e5c8d369792a2c391952c7596cca73" - integrity sha512-LpcwYtN+lBlfZijHUdVr8aNFTVpHjuHI52BnfoV01TF7iSLnia0jttzpLkrLmI8HNQz6Vhr9UrxDWtKZiMGsBw== +"@commitlint/message@^17.4.2": + version "17.4.2" + resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-17.4.2.tgz#f4753a79701ad6db6db21f69076e34de6580e22c" + integrity sha512-3XMNbzB+3bhKA1hSAWPCQA3lNxR4zaeQAQcHj0Hx5sVdO6ryXtgUBGGv+1ZCLMgAPRixuc6en+iNAzZ4NzAa8Q== -"@commitlint/parse@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-17.0.0.tgz#6d508a1e2aec76f348a447994f26e9b749c02091" - integrity sha512-cKcpfTIQYDG1ywTIr5AG0RAiLBr1gudqEsmAGCTtj8ffDChbBRxm6xXs2nv7GvmJN7msOt7vOKleLvcMmRa1+A== +"@commitlint/parse@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-17.4.4.tgz#8311b12f2b730de6ea0679ae2a37b386bcc5b04b" + integrity sha512-EKzz4f49d3/OU0Fplog7nwz/lAfXMaDxtriidyGF9PtR+SRbgv4FhsfF310tKxs6EPj8Y+aWWuX3beN5s+yqGg== dependencies: - "@commitlint/types" "^17.0.0" + "@commitlint/types" "^17.4.4" conventional-changelog-angular "^5.0.11" conventional-commits-parser "^3.2.2" -"@commitlint/read@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-17.0.0.tgz#8ab01cf2f27350d8f81f21690962679a7cae5abf" - integrity sha512-zkuOdZayKX3J6F6mPnVMzohK3OBrsEdOByIqp4zQjA9VLw1hMsDEFQ18rKgUc2adkZar+4S01QrFreDCfZgbxA== +"@commitlint/read@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-17.4.4.tgz#de6ec00aad827764153009aa54517e3df2154555" + integrity sha512-B2TvUMJKK+Svzs6eji23WXsRJ8PAD+orI44lVuVNsm5zmI7O8RSGJMvdEZEikiA4Vohfb+HevaPoWZ7PiFZ3zA== dependencies: - "@commitlint/top-level" "^17.0.0" - "@commitlint/types" "^17.0.0" - fs-extra "^10.0.0" + "@commitlint/top-level" "^17.4.0" + "@commitlint/types" "^17.4.4" + fs-extra "^11.0.0" git-raw-commits "^2.0.0" + minimist "^1.2.6" -"@commitlint/resolve-extends@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-17.0.0.tgz#3a40ee08184b984acf475ebc962641f435e3a639" - integrity sha512-wi60WiJmwaQ7lzMXK8Vbc18Hq9tE2j/6iv2AFfPUGV7fvfY6Sf1iNKuUHirSqR0fquUyufIXe4y/K9A6LVIIvw== +"@commitlint/resolve-extends@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-17.4.4.tgz#8f931467dea8c43b9fe38373e303f7c220de6fdc" + integrity sha512-znXr1S0Rr8adInptHw0JeLgumS11lWbk5xAWFVno+HUFVN45875kUtqjrI6AppmD3JI+4s0uZlqqlkepjJd99A== dependencies: - "@commitlint/config-validator" "^17.0.0" - "@commitlint/types" "^17.0.0" + "@commitlint/config-validator" "^17.4.4" + "@commitlint/types" "^17.4.4" import-fresh "^3.0.0" - lodash "^4.17.19" + lodash.mergewith "^4.6.2" resolve-from "^5.0.0" resolve-global "^1.0.0" -"@commitlint/rules@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.0.0.tgz#4eecc5d28cabbc5f3f73838fb02592b551f9bf62" - integrity sha512-45nIy3dERKXWpnwX9HeBzK5SepHwlDxdGBfmedXhL30fmFCkJOdxHyOJsh0+B0RaVsLGT01NELpfzJUmtpDwdQ== +"@commitlint/rules@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.4.4.tgz#9b33f41e5eb529f916396bac7c62e61f0edd6791" + integrity sha512-0tgvXnHi/mVcyR8Y8mjTFZIa/FEQXA4uEutXS/imH2v1UNkYDSEMsK/68wiXRpfW1euSgEdwRkvE1z23+yhNrQ== dependencies: - "@commitlint/ensure" "^17.0.0" - "@commitlint/message" "^17.0.0" - "@commitlint/to-lines" "^17.0.0" - "@commitlint/types" "^17.0.0" + "@commitlint/ensure" "^17.4.4" + "@commitlint/message" "^17.4.2" + "@commitlint/to-lines" "^17.4.0" + "@commitlint/types" "^17.4.4" execa "^5.0.0" -"@commitlint/to-lines@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-17.0.0.tgz#5766895836b8085b099a098482f88a03f070b411" - integrity sha512-nEi4YEz04Rf2upFbpnEorG8iymyH7o9jYIVFBG1QdzebbIFET3ir+8kQvCZuBE5pKCtViE4XBUsRZz139uFrRQ== +"@commitlint/to-lines@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-17.4.0.tgz#9bd02e911e7d4eab3fb4a50376c4c6d331e10d8d" + integrity sha512-LcIy/6ZZolsfwDUWfN1mJ+co09soSuNASfKEU5sCmgFCvX5iHwRYLiIuoqXzOVDYOy7E7IcHilr/KS0e5T+0Hg== -"@commitlint/top-level@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-17.0.0.tgz#ebd0df4c703c026c2fbdc20fa746836334f4ed15" - integrity sha512-dZrEP1PBJvodNWYPOYiLWf6XZergdksKQaT6i1KSROLdjf5Ai0brLOv5/P+CPxBeoj3vBxK4Ax8H1Pg9t7sHIQ== +"@commitlint/top-level@^17.4.0": + version "17.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-17.4.0.tgz#540cac8290044cf846fbdd99f5cc51e8ac5f27d6" + integrity sha512-/1loE/g+dTTQgHnjoCy0AexKAEFyHsR2zRB4NWrZ6lZSMIxAhBJnmCqwao7b4H8888PsfoTBCLBYIw8vGnej8g== dependencies: find-up "^5.0.0" -"@commitlint/types@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-17.0.0.tgz#3b4604c1a0f06c340ce976e6c6903d4f56e3e690" - integrity sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ== +"@commitlint/types@^17.4.4": + version "17.4.4" + resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-17.4.4.tgz#1416df936e9aad0d6a7bbc979ecc31e55dade662" + integrity sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ== dependencies: chalk "^4.1.0" @@ -1976,7 +1984,7 @@ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== -"@types/node@*", "@types/node@>=12": +"@types/node@*": version "18.14.0" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.0.tgz#94c47b9217bbac49d4a67a967fdcdeed89ebb7d0" integrity sha512-5EWrvLmglK+imbCJY0+INViFWUHg1AHel1sq4ZVSfdcNqGy9Edv3UB9IIzzg+xPaUcAgZYcfVs2fBcwDeZzU0A== @@ -1986,11 +1994,6 @@ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - "@types/prettier@^2.1.5": version "2.6.3" resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.3.tgz#68ada76827b0010d0db071f739314fa429943d0a" @@ -2106,7 +2109,7 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.6: +ajv@^6.10.0, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -2126,6 +2129,16 @@ ajv@^8.0.1: require-from-string "^2.0.2" uri-js "^4.2.2" +ajv@^8.11.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" @@ -2854,24 +2867,20 @@ core-js@^2.4.0: resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== -cosmiconfig-typescript-loader@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-2.0.1.tgz#5622bb1eb87d293570bcc3a57f406940e0960113" - integrity sha512-B9s6sX/omXq7I6gC6+YgLmrBFMJhPWew7ty/X5Tuwtd2zOSgWaUdXjkuVwbe3qqcdETo60+1nSVMekq//LIXVA== - dependencies: - cosmiconfig "^7" - ts-node "^10.8.0" +cosmiconfig-typescript-loader@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz#c4259ce474c9df0f32274ed162c0447c951ef073" + integrity sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q== -cosmiconfig@^7, cosmiconfig@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== +cosmiconfig@^8.0.0: + version "8.1.3" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.1.3.tgz#0e614a118fcc2d9e5afc2f87d53cd09931015689" + integrity sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw== dependencies: - "@types/parse-json" "^4.0.0" import-fresh "^3.2.1" + js-yaml "^4.1.0" parse-json "^5.0.0" path-type "^4.0.0" - yaml "^1.10.0" create-require@^1.1.0: version "1.1.1" @@ -3612,7 +3621,7 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -fs-extra@10.0.0, fs-extra@^10.0.0: +fs-extra@10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== @@ -3621,6 +3630,15 @@ fs-extra@10.0.0, fs-extra@^10.0.0: jsonfile "^6.0.1" universalify "^2.0.0" +fs-extra@^11.0.0: + version "11.1.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" + integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-minipass@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" @@ -4740,6 +4758,13 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + js2xmlparser@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-4.0.2.tgz#2a1fdf01e90585ef2ae872a01bc169c6a8d5e60a" @@ -5007,6 +5032,11 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -5022,16 +5052,56 @@ lodash.isequal@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= +lodash.isfunction@^3.0.9: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" + integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" + integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== + lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash.mergewith@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" + integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== + +lodash.snakecase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" + integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== + +lodash.startcase@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" + integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== + lodash.truncate@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash.upperfirst@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" + integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== + lodash@^4.0.1, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.4: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -6174,10 +6244,10 @@ semver@7.0.0, semver@~7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.3.7: - version "7.3.7" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== +semver@7.3.8, semver@^7.2.1, semver@^7.3.4, semver@^7.3.5: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== dependencies: lru-cache "^6.0.0" @@ -6186,13 +6256,6 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.4, semver@^7.3.5: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== - dependencies: - lru-cache "^6.0.0" - set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -6667,10 +6730,10 @@ ts-map@^1.0.3: resolved "https://registry.yarnpkg.com/ts-map/-/ts-map-1.0.3.tgz#1c4d218dec813d2103b7e04e4bcf348e1471c1ff" integrity sha512-vDWbsl26LIcPGmDpoVzjEP6+hvHZkBkLW7JpvwbCv/5IYPJlsbzCVXY3wsCeAxAUeTclNOUZxnLdGh3VBD/J6w== -ts-node@^10.8.0: - version "10.8.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.8.1.tgz#ea2bd3459011b52699d7e88daa55a45a1af4f066" - integrity sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g== +ts-node@^10.8.1: + version "10.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== dependencies: "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" @@ -6774,10 +6837,10 @@ typescript@^4.5.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== -typescript@^4.6.4: - version "4.7.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.3.tgz#8364b502d5257b540f9de4c40be84c98e23a129d" - integrity sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA== +"typescript@^4.6.4 || ^5.0.0": + version "5.0.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.2.tgz#891e1a90c5189d8506af64b9ef929fca99ba1ee5" + integrity sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw== uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" @@ -7137,11 +7200,6 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - yaml@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.1.3.tgz#9b3a4c8aff9821b696275c79a8bee8399d945207"